@opengeni/react 4.3.3-canary.39786771332001 → 4.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/app-state.js +29 -29
- package/dist/app/components/Composer.js +27 -27
- package/dist/app/components/agent/agent-capability-picker.js +4 -4
- package/dist/app/components/artifacts/artifact-browse-controls.js +2 -2
- package/dist/app/components/artifacts/artifact-library.js +19 -19
- package/dist/app/components/artifacts/artifact-page-chrome.js +2 -2
- package/dist/app/components/artifacts/chat-interactive-block.js +16 -16
- package/dist/app/components/artifacts/inline-chat-image.js +31 -30
- package/dist/app/components/artifacts/retained-file-preview.js +35 -34
- package/dist/app/components/artifacts/retained-text-preview.js +5 -5
- package/dist/app/components/artifacts/site-audience.js +4 -4
- package/dist/app/components/artifacts/site-conversations.js +22 -21
- package/dist/app/components/artifacts/site-data.js +19 -19
- package/dist/app/components/artifacts/site-publishing.js +41 -41
- package/dist/app/components/artifacts/site-settings.js +50 -50
- package/dist/app/components/billing-class-mark.js +5 -5
- package/dist/app/components/capabilities/capability-detail-sheet.js +9 -9
- package/dist/app/components/capabilities/capability-logo-source.js +12 -12
- package/dist/app/components/capabilities/connector-tool-permissions.js +3 -3
- package/dist/app/components/capabilities/native-connect-setup.js +14 -14
- package/dist/app/components/capabilities/perform-capability-action.js +1 -1
- package/dist/app/components/capabilities/prepared-mcp-setup-card.js +16 -16
- package/dist/app/components/capabilities/session-capability-card.js +94 -76
- package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
- package/dist/app/components/capabilities/session-chrome-card.css +1023 -0
- package/dist/app/components/capabilities/session-chrome-card.css.map +1 -0
- package/dist/app/components/capabilities/session-chrome-card.d.ts +18 -0
- package/dist/app/components/capabilities/session-chrome-card.js +72 -0
- package/dist/app/components/capabilities/session-custom-mcp-card.js +20 -20
- package/dist/app/components/capabilities/session-github-card.js +24 -24
- package/dist/app/components/capabilities/session-machine-card.d.ts +27 -1
- package/dist/app/components/capabilities/session-machine-card.js +40 -36
- package/dist/app/components/capabilities/use-capabilities-catalog.js +3 -3
- package/dist/app/components/capabilities/use-connection-accounts.js +1 -1
- package/dist/app/components/command-menu/chat-status.js +18 -17
- package/dist/app/components/command-menu/chat-switcher.js +19 -18
- package/dist/app/components/command-menu/chat-switcher.js.map +1 -1
- package/dist/app/components/command-menu/command-menu.js +36 -114
- package/dist/app/components/command-menu/command-menu.js.map +1 -1
- package/dist/app/components/command-menu/shortcut-sheet.js +17 -17
- package/dist/app/components/composer-capabilities-menu-body.js +3 -3
- package/dist/app/components/composer-mobile-plus-panel.js +20 -20
- package/dist/app/components/composer-mobile-plus.js +1 -1
- package/dist/app/components/credit-required-gate.js +1 -1
- package/dist/app/components/credit-required-prompt.js +12 -12
- package/dist/app/components/credits/coupon-redeem.js +2 -2
- package/dist/app/components/credits/credit-refusal-notice.js +2 -2
- package/dist/app/components/desktop/app-shots.js +7 -7
- package/dist/app/components/desktop/this-computer.js +4 -4
- package/dist/app/components/feedback.js +4 -4
- package/dist/app/components/follow-up-repository-menu-body.js +5 -5
- package/dist/app/components/follow-up-repository-picker.js +1 -1
- package/dist/app/components/github-app-connect-launcher.js +2 -2
- package/dist/app/components/in-app-help-link.js +2 -2
- package/dist/app/components/knowledge/agent-learning-settings.js +3 -3
- package/dist/app/components/machines/connect-machine-dialog.js +18 -18
- package/dist/app/components/markdown.js +9 -9
- package/dist/app/components/message-context-pills.js +2 -2
- package/dist/app/components/models/models-ui.js +8 -8
- package/dist/app/components/new-session-starters.js +2 -2
- package/dist/app/components/pickers.js +9 -9
- package/dist/app/components/rail/rail-context.js +2 -2
- package/dist/app/components/rail/rail-sections.js +69 -66
- package/dist/app/components/rail/session-header.js +49 -48
- package/dist/app/components/rail/session-list.js +68 -65
- package/dist/app/components/rail/session-row-content.d.ts +6 -2
- package/dist/app/components/rail/session-row-content.js +1 -1
- package/dist/app/components/rail/session-row-hover-details.js +24 -23
- package/dist/app/components/rail/session-shell.js +107 -104
- package/dist/app/components/rail/site-session-group-heading.d.ts +7 -1
- package/dist/app/components/rail/site-session-group-heading.js +20 -3
- package/dist/app/components/repository-picker.js +5 -5
- package/dist/app/components/secrets/session-secrets-panel.js +3 -3
- package/dist/app/components/session/agent-configuration-panel.js +38 -38
- package/dist/app/components/session/artifact-link-boundary.js +2 -2
- package/dist/app/components/session/artifact-session-page.js +4 -4
- package/dist/app/components/session/banners.js +11 -11
- package/dist/app/components/session/codex-account-indicator.js +12 -12
- package/dist/app/components/session/editable-artifacts-workspace.js +45 -45
- package/dist/app/components/session/failed-session-banner.js +11 -11
- package/dist/app/components/session/human-input.js +59 -55
- package/dist/app/components/session/inspector.js +91 -87
- package/dist/app/components/session/inspector.js.map +1 -1
- package/dist/app/components/session/message-actions.js +4 -4
- package/dist/app/components/session/message-resource-attachments.js +21 -20
- package/dist/app/components/session/message-resource-attachments.js.map +1 -1
- package/dist/app/components/session/model-account-indicator.js +11 -11
- package/dist/app/components/session/model-context-inspector.js +2 -2
- package/dist/app/components/session/model-recovery-notice.js +3 -3
- package/dist/app/components/session/new-session-settings-menu.js +12 -12
- package/dist/app/components/session/sandbox-switcher.js +16 -16
- package/dist/app/components/session/sandbox-workspace.js +83 -79
- package/dist/app/components/session/search-markdown-highlight.js +10 -10
- package/dist/app/components/session/search-results-view.js +11 -11
- package/dist/app/components/session/session-admin-access.js +9 -9
- package/dist/app/components/session/session-admission-notice.js +6 -6
- package/dist/app/components/session/session-machine-access-notice.js +6 -6
- package/dist/app/components/session/session-retention.js +4 -4
- package/dist/app/components/session/session-search-dialog.js +12 -12
- package/dist/app/components/session/session-skill-reviews.js +1 -1
- package/dist/app/components/session/session-tenancy-control.d.ts +2 -0
- package/dist/app/components/session/session-tenancy-control.js +41 -26
- package/dist/app/components/session/session-tenancy-control.js.map +1 -1
- package/dist/app/components/session/session-usage-limit-section.js +11 -11
- package/dist/app/components/session/session-wait-status.js +10 -9
- package/dist/app/components/session/session-wait-status.js.map +1 -1
- package/dist/app/components/session/site-origin-link.d.ts +1 -0
- package/dist/app/components/session/site-origin-link.js +2 -2
- package/dist/app/components/session/subagents.js +17 -16
- package/dist/app/components/session-connectors-menu-body.js +5 -5
- package/dist/app/components/settings/row-select.js +1 -1
- package/dist/app/components/transcription-settings.js +2 -2
- package/dist/app/components/ui/destructive-confirm.js +6 -6
- package/dist/app/components/usage/usage-entry.js +8 -8
- package/dist/app/components/workspace-composer-plus.js +22 -22
- package/dist/app/embed/memory-navigation.js +2 -2
- package/dist/app/embed/session-app.js +275 -269
- package/dist/app/lib/actions/actions-provider.js +14 -14
- package/dist/app/lib/actions/held-modifier.d.ts +11 -0
- package/dist/app/lib/app-surfaces.js +2 -2
- package/dist/app/lib/codex-usage-query.js +6 -6
- package/dist/app/lib/composer-connectors.js +13 -13
- package/dist/app/lib/console-site.d.ts +6 -0
- package/dist/app/lib/console-site.js +14 -0
- package/dist/app/lib/console-text.js +2 -2
- package/dist/app/lib/events.js +18 -17
- package/dist/app/lib/failed-session-copy.js +3 -3
- package/dist/app/lib/model-access-onboarding.js +3 -3
- package/dist/app/lib/move-chat-to-machine.js +3 -3
- package/dist/app/lib/navigation.d.ts +5 -0
- package/dist/app/lib/navigation.js +1 -1
- package/dist/app/lib/routes.d.ts +17 -0
- package/dist/app/lib/routes.js +9 -3
- package/dist/app/lib/session-branch-cache.js +14 -13
- package/dist/app/lib/session-create.js +2 -2
- package/dist/app/lib/session-deep-link.js +2 -2
- package/dist/app/lib/session-failure-toasts.d.ts +8 -0
- package/dist/app/lib/session-group-pagination.js +14 -13
- package/dist/app/lib/session-hover-facts.js +15 -14
- package/dist/app/lib/session-model.js +3 -3
- package/dist/app/lib/session-rail.js +10 -9
- package/dist/app/lib/session-rename.js +3 -3
- package/dist/app/lib/session-ui-features.d.ts +6 -1
- package/dist/app/lib/session-ui-features.js +1 -1
- package/dist/app/lib/sessions-group.d.ts +43 -3
- package/dist/app/lib/sessions-group.js +22 -15
- package/dist/app/lib/shared-query.js +3 -3
- package/dist/app/lib/site-opened.d.ts +6 -0
- package/dist/app/lib/site-opened.js +10 -0
- package/dist/app/lib/turn-failure-analytics.js +5 -5
- package/dist/app/lib/use-duplicate-site.js +3 -3
- package/dist/app/lib/use-follow-up-repositories.js +4 -4
- package/dist/app/lib/use-session-list-hint-refresh.d.ts +20 -2
- package/dist/app/lib/use-session-list-hint-refresh.js +5 -1
- package/dist/app/lib/use-workspace-machines.js +6 -6
- package/dist/app/lib/use-workspace-model-catalog.js +8 -8
- package/dist/app/lib/use-workspace-rigs.js +8 -8
- package/dist/app/lib/workspace-navigation-preference.js +5 -5
- package/dist/app/lib/workspace-scope-context.js +4 -4
- package/dist/app/routes/artifacts.js +136 -153
- package/dist/app/routes/artifacts.js.map +1 -1
- package/dist/app/routes/retained-artifact.js +63 -62
- package/dist/app/routes/retained-artifact.js.map +1 -1
- package/dist/app/routes/session-unavailable.js +7 -5
- package/dist/app/routes/session.js +177 -173
- package/dist/app/routes/sessions-index-hydration.js +3 -3
- package/dist/app/routes/sessions-index.js +123 -121
- package/dist/app/routes/site-view.d.ts +11 -0
- package/dist/app/routes/site-view.js +597 -0
- package/dist/app/routes/site-view.js.map +1 -0
- package/dist/artifacts-document.js +4 -4
- package/dist/artifacts-presentation.js +4 -4
- package/dist/artifacts-spreadsheet.js +4 -4
- package/dist/artifacts.js +39 -39
- package/dist/{browser-viewer-RYYQSRTC.js → browser-viewer-QMCNV4RI.js} +9 -7
- package/dist/{chat-interactive-block-ABCRKXJ4.js → chat-interactive-block-PMIAUXSO.js} +6 -6
- package/dist/{chunk-GIZGNFIX.js → chunk-22FFOHPT.js} +11 -11
- package/dist/chunk-22GTC4MZ.js +15 -0
- package/dist/chunk-22GTC4MZ.js.map +1 -0
- package/dist/{chunk-Z5WMLJKI.js → chunk-22JFMNMF.js} +92 -4
- package/dist/chunk-22JFMNMF.js.map +1 -0
- package/dist/{chunk-UHFWF6ZU.js → chunk-2FPS5H2D.js} +2 -2
- package/dist/{chunk-NAWXARTY.js → chunk-2KO2G3RI.js} +72 -6
- package/dist/chunk-2KO2G3RI.js.map +1 -0
- package/dist/{chunk-5POTDNQT.js → chunk-2NC7NZCE.js} +6 -6
- package/dist/{chunk-ZKYYZH6L.js → chunk-2QBYDGWO.js} +9 -9
- package/dist/{chunk-TWXIFWBD.js → chunk-34EU25RL.js} +2 -2
- package/dist/{chunk-LQKKSUCR.js → chunk-35BC2FU2.js} +19 -19
- package/dist/{chunk-PTGRFAMH.js → chunk-3ABPIUCK.js} +2 -2
- package/dist/{chunk-S4SC5SSV.js → chunk-3GU7AWG7.js} +18 -18
- package/dist/{chunk-722UO6YQ.js → chunk-3PEXVG4D.js} +2 -2
- package/dist/{chunk-OQAAI33Y.js → chunk-3RMKPHBL.js} +3 -3
- package/dist/{chunk-6JKZILLF.js → chunk-3RQUWFZT.js} +67 -67
- package/dist/{chunk-6JKZILLF.js.map → chunk-3RQUWFZT.js.map} +1 -1
- package/dist/{chunk-GCGTYXJJ.js → chunk-3STBLX4O.js} +9 -9
- package/dist/{chunk-YXIW7H4N.js → chunk-3X5FKDYQ.js} +28 -28
- package/dist/{chunk-KTRKZRID.js → chunk-4GLLWX33.js} +11 -11
- package/dist/{chunk-ROQOVH4N.js → chunk-4HEXNAFI.js} +20 -20
- package/dist/chunk-4HEXNAFI.js.map +1 -0
- package/dist/{chunk-SD2K5ZN5.js → chunk-4LPA25NQ.js} +4 -4
- package/dist/{chunk-DKCX643S.js → chunk-4RMN4E2Y.js} +13 -13
- package/dist/{chunk-E5FCEDMU.js → chunk-4SAGYEVB.js} +2 -2
- package/dist/{chunk-HTT3FB7T.js → chunk-4VK2R5QC.js} +3 -3
- package/dist/{chunk-CKG2EG62.js → chunk-4XQC7VLT.js} +14 -14
- package/dist/{chunk-IVOA3DXA.js → chunk-4YXAQMTD.js} +12 -12
- package/dist/{chunk-HOJGAJAB.js → chunk-52WK2GGK.js} +8 -8
- package/dist/{chunk-NYZQ7LO7.js → chunk-552UYIQ7.js} +20 -20
- package/dist/{chunk-LEXPBQ56.js → chunk-5DSKMG2I.js} +4 -4
- package/dist/{chunk-WNG757ID.js → chunk-5FA455GR.js} +4 -4
- package/dist/{chunk-MNWQAYY3.js → chunk-5FEN3KYH.js} +11 -11
- package/dist/{chunk-OSVHU2WU.js → chunk-5JHRMUAZ.js} +12 -12
- package/dist/{chunk-PM3OSANE.js → chunk-5MJHH72T.js} +14 -3
- package/dist/chunk-5MJHH72T.js.map +1 -0
- package/dist/{chunk-RKB2Z457.js → chunk-5VGJXWQ2.js} +2 -2
- package/dist/{chunk-GFUUFM2O.js → chunk-5W6ZDKRR.js} +6 -6
- package/dist/{chunk-NDETTZQA.js → chunk-5W7KJ5NQ.js} +37 -37
- package/dist/{chunk-Q35YZVDZ.js → chunk-5Y2FPLZE.js} +9 -9
- package/dist/{chunk-6W3LF3DB.js → chunk-5YFY4SFC.js} +2 -12
- package/dist/chunk-5YFY4SFC.js.map +1 -0
- package/dist/{chunk-F3NERYBQ.js → chunk-62VER7O4.js} +6 -6
- package/dist/{chunk-FBMU3VK5.js → chunk-6DCEDIF6.js} +2 -2
- package/dist/{chunk-WUHB422G.js → chunk-73WI7FL2.js} +18 -18
- package/dist/chunk-756MKA2J.js +45 -0
- package/dist/chunk-756MKA2J.js.map +1 -0
- package/dist/{chunk-QECZVL7S.js → chunk-7FJMRJDG.js} +2 -2
- package/dist/{chunk-7KGKDWWR.js → chunk-7HFLYNWN.js} +2 -2
- package/dist/{chunk-XVM566II.js → chunk-7KIENXRE.js} +2 -2
- package/dist/{chunk-CBY5CXBD.js → chunk-7NPCEBZE.js} +5 -5
- package/dist/{chunk-46VBQG2D.js → chunk-7P4AQMGA.js} +13 -13
- package/dist/{chunk-CKZW7A5S.js → chunk-7TCT7KPQ.js} +742 -644
- package/dist/chunk-7TCT7KPQ.js.map +1 -0
- package/dist/{chunk-O77Q4NG2.js → chunk-7XO7YKPC.js} +283 -1038
- package/dist/chunk-7XO7YKPC.js.map +1 -0
- package/dist/{chunk-S7PVL7XH.js → chunk-A4BD4ZVB.js} +4 -4
- package/dist/{chunk-VSQHDBHU.js → chunk-ACL2V2KE.js} +68 -35
- package/dist/chunk-ACL2V2KE.js.map +1 -0
- package/dist/{chunk-73SOCVLS.js → chunk-AIEXYO2X.js} +3 -3
- package/dist/{chunk-U7TC2XJQ.js → chunk-AJPW3SV4.js} +3 -3
- package/dist/{chunk-HRJQAFKR.js → chunk-AX6YJA5U.js} +2 -2
- package/dist/{chunk-P5WABK2H.js → chunk-BCM7C3MJ.js} +9 -9
- package/dist/{chunk-DT7BORXG.js → chunk-BMJTNPWK.js} +2 -2
- package/dist/{chunk-HIHO2QE7.js → chunk-BT2MVGHT.js} +2 -2
- package/dist/{chunk-3XOISKZC.js → chunk-BXQYAAVE.js} +4 -4
- package/dist/{chunk-IBTXYLBW.js → chunk-CCFWY4GF.js} +2 -2
- package/dist/{chunk-ZOC3OP6F.js → chunk-CCR33J7L.js} +2 -2
- package/dist/{chunk-GTQ3SNEI.js → chunk-CD3MO3IC.js} +2 -2
- package/dist/{chunk-WSMYOLHG.js → chunk-CDEXRJB6.js} +5 -5
- package/dist/{chunk-3GLAPCVI.js → chunk-CFFNT2OY.js} +8 -8
- package/dist/{chunk-FUSFVUIJ.js → chunk-CMLJSF2F.js} +12 -12
- package/dist/{chunk-O4DYOSOL.js → chunk-CP7ZQHBW.js} +13 -13
- package/dist/{chunk-IOKSNX74.js → chunk-D5OWJZQR.js} +2 -2
- package/dist/{chunk-SQGXMHJO.js → chunk-DGLRZMXL.js} +3 -3
- package/dist/{chunk-GNEHAPKV.js → chunk-DJFTH2DI.js} +3 -3
- package/dist/{chunk-HQG4SLTE.js → chunk-DYJGYGPB.js} +2 -2
- package/dist/{chunk-4EAF3HSD.js → chunk-EJ7WARW7.js} +2 -2
- package/dist/{chunk-3AA6RNGE.js → chunk-ENS6E4RZ.js} +2 -2
- package/dist/{chunk-OOEO4MKY.js → chunk-EPWD4KRA.js} +2 -2
- package/dist/{chunk-V5RJAWRP.js → chunk-EQE3MNQN.js} +5 -5
- package/dist/{chunk-TSBE4KOQ.js → chunk-EWL6NDOO.js} +3 -3
- package/dist/{chunk-OO2T63BY.js → chunk-EYS4ZOF5.js} +2 -2
- package/dist/{chunk-IC7KNOBB.js → chunk-FDAV72IX.js} +7 -7
- package/dist/{chunk-AG7VGUIW.js → chunk-FFNPUSVO.js} +7 -7
- package/dist/{chunk-P5T36BA3.js → chunk-FRP64DEK.js} +2 -2
- package/dist/{chunk-KBF3SE7G.js → chunk-FSP334UU.js} +2 -2
- package/dist/{chunk-ZHFKMMOT.js → chunk-FTX5CNHA.js} +6 -6
- package/dist/{chunk-KYBALSWW.js → chunk-FWOBNL2A.js} +1 -1
- package/dist/{chunk-HJ5XWW62.js → chunk-FWYEZ3LE.js} +34 -34
- package/dist/{chunk-WSLPZ43N.js → chunk-G4HQUBO4.js} +12 -12
- package/dist/{chunk-CSHBR2IZ.js → chunk-GDLDBR6B.js} +2 -2
- package/dist/chunk-GGV4NSG3.js +792 -0
- package/dist/chunk-GGV4NSG3.js.map +1 -0
- package/dist/{chunk-G3S2F35T.js → chunk-GHHM6WN4.js} +3 -3
- package/dist/{chunk-OANSIX34.js → chunk-GRSODLVO.js} +4 -4
- package/dist/{chunk-DDIBZA4X.js → chunk-GT7JFQ4E.js} +405 -148
- package/dist/chunk-GT7JFQ4E.js.map +1 -0
- package/dist/{chunk-EU6XSQFM.js → chunk-GXW2I2M2.js} +2 -2
- package/dist/{chunk-4246UYVG.js → chunk-GZS37O3G.js} +1 -1
- package/dist/{chunk-XFNLU7EW.js → chunk-H5M33DAL.js} +15 -6
- package/dist/chunk-H5M33DAL.js.map +1 -0
- package/dist/{chunk-Y7WMW74G.js → chunk-HQWVDQXW.js} +7 -7
- package/dist/{chunk-YTZQV2DD.js → chunk-HU6JTNWF.js} +2 -2
- package/dist/{chunk-QRVNI5V6.js → chunk-I6KIQKU6.js} +3 -3
- package/dist/{chunk-Q262Y2YX.js → chunk-IBA5FMRE.js} +141 -137
- package/dist/chunk-IBA5FMRE.js.map +1 -0
- package/dist/{chunk-BNUPYHHZ.js → chunk-IDXTASGN.js} +4 -4
- package/dist/{chunk-KF3MF6FP.js → chunk-IECRGM6K.js} +3 -2
- package/dist/chunk-IECRGM6K.js.map +1 -0
- package/dist/chunk-IJYL5BZM.js +38 -0
- package/dist/chunk-IJYL5BZM.js.map +1 -0
- package/dist/{chunk-L6RXRRN3.js → chunk-ILDOW2IQ.js} +3 -3
- package/dist/{chunk-VUHPA3XQ.js → chunk-ITX2TB4K.js} +6 -6
- package/dist/{chunk-ETCB6SUJ.js → chunk-J22HD2PB.js} +6 -6
- package/dist/{chunk-U47YDYLQ.js → chunk-J5MEDX7C.js} +8 -8
- package/dist/{chunk-6VQTHC4W.js → chunk-J7FBBLHF.js} +36 -36
- package/dist/{chunk-5JZYPZ72.js → chunk-JFK7NTEA.js} +4 -4
- package/dist/chunk-JFK7NTEA.js.map +1 -0
- package/dist/{chunk-QZRDCFHI.js → chunk-JM4HQPAI.js} +5 -5
- package/dist/{chunk-PIVGX42P.js → chunk-JNY5MT3I.js} +2 -2
- package/dist/{chunk-XWWXIZFP.js → chunk-JO6R5EXF.js} +7 -7
- package/dist/{chunk-MM7OKOTE.js → chunk-JQCGPTZ6.js} +9 -9
- package/dist/chunk-JRSNCSZN.js +37 -0
- package/dist/chunk-JRSNCSZN.js.map +1 -0
- package/dist/{chunk-KNFDWNCH.js → chunk-JXT5QDJC.js} +5 -5
- package/dist/{chunk-OR37STQZ.js → chunk-KEXYBG7Q.js} +3 -3
- package/dist/{chunk-AZVANYMB.js → chunk-KUNFUSZ7.js} +2 -2
- package/dist/{chunk-DXZNDKQD.js → chunk-LEEJBZ5B.js} +2 -2
- package/dist/{chunk-STUCI6QA.js → chunk-LEKBNKLD.js} +1 -1
- package/dist/{chunk-STUCI6QA.js.map → chunk-LEKBNKLD.js.map} +1 -1
- package/dist/{chunk-C535KSTY.js → chunk-LF5CBAOS.js} +4 -4
- package/dist/{chunk-BJIZ7PL7.js → chunk-LHLK7FUA.js} +145 -29
- package/dist/chunk-LHLK7FUA.js.map +1 -0
- package/dist/{chunk-RIMKJBCD.js → chunk-LMPTC4CX.js} +2 -2
- package/dist/{chunk-3KVWXKD6.js → chunk-LQ47YL6E.js} +2 -2
- package/dist/{chunk-H5WGWAYX.js → chunk-LT4J7RHI.js} +13 -13
- package/dist/{chunk-DSGMYES6.js → chunk-MCTTONOW.js} +28 -28
- package/dist/{chunk-IGHELZI7.js → chunk-MIECLOQC.js} +9 -9
- package/dist/{chunk-FM4OUCC2.js → chunk-MOKYT3X3.js} +3 -3
- package/dist/{chunk-GZ64CASI.js → chunk-MVZYNZXE.js} +5 -4
- package/dist/chunk-MVZYNZXE.js.map +1 -0
- package/dist/{chunk-RKILMLA7.js → chunk-MXLKI7BI.js} +3 -3
- package/dist/{chunk-45WYYFP6.js → chunk-N3ZP4IDU.js} +2 -2
- package/dist/{chunk-XRRSFQEV.js → chunk-NAZZLAWX.js} +2 -2
- package/dist/{chunk-UWJ5P5CU.js → chunk-NEK4WB5P.js} +3 -3
- package/dist/{chunk-6L7U46Y2.js → chunk-NKNVIO66.js} +2 -2
- package/dist/{chunk-JKUICTLM.js → chunk-NLAFNMPK.js} +2 -2
- package/dist/{chunk-4LKNIGHB.js → chunk-O2SBHS2N.js} +2 -2
- package/dist/{chunk-D3RK3NGM.js → chunk-PCFK7HKD.js} +17 -17
- package/dist/{chunk-VVCDB2T7.js → chunk-PCJLH45G.js} +3 -3
- package/dist/{chunk-PZ24CYDO.js → chunk-PFAUGEV5.js} +2 -2
- package/dist/{chunk-HGMWMK5K.js → chunk-PO3BH3KQ.js} +2 -2
- package/dist/{chunk-B74GSYR6.js → chunk-PUTS4DYW.js} +2 -2
- package/dist/{chunk-JSIDLTTG.js → chunk-PZ2V2XIK.js} +2 -2
- package/dist/{chunk-TMEQPODK.js → chunk-PZ37VDB5.js} +2 -2
- package/dist/{chunk-QIYBOFUV.js → chunk-QFMLAT7L.js} +246 -237
- package/dist/chunk-QFMLAT7L.js.map +1 -0
- package/dist/{chunk-LVONK3YQ.js → chunk-QRKTESVE.js} +2 -2
- package/dist/{chunk-HT5WSUC7.js → chunk-QXEDIDBZ.js} +3 -3
- package/dist/{chunk-WURSS6MP.js → chunk-R66YMYJU.js} +2 -2
- package/dist/{chunk-HDHK3SXK.js → chunk-RFLYID6H.js} +5 -5
- package/dist/{chunk-V77JK73U.js → chunk-RIYZFKIM.js} +37 -35
- package/dist/chunk-RIYZFKIM.js.map +1 -0
- package/dist/{chunk-VMFID36H.js → chunk-RQNZDTKT.js} +19 -19
- package/dist/{chunk-EHCUFCXM.js → chunk-RYSRFAHN.js} +32 -22
- package/dist/chunk-RYSRFAHN.js.map +1 -0
- package/dist/{chunk-I6VUUEXH.js → chunk-S2U4CDAC.js} +150 -150
- package/dist/chunk-S2U4CDAC.js.map +1 -0
- package/dist/chunk-S37GP7LX.js +204 -0
- package/dist/chunk-S37GP7LX.js.map +1 -0
- package/dist/{chunk-A2EWJQXX.js → chunk-SM5QX6UK.js} +4 -4
- package/dist/{chunk-FBE6AIIW.js → chunk-SOKNCW5U.js} +2 -2
- package/dist/{chunk-Q4NM77K7.js → chunk-SSOO4GWN.js} +193 -194
- package/dist/chunk-SSOO4GWN.js.map +1 -0
- package/dist/{chunk-PFKTGZKE.js → chunk-SY2AAZNB.js} +2 -2
- package/dist/{chunk-DFZMKCVP.js → chunk-TIQPKOFW.js} +4 -4
- package/dist/{chunk-HPPKLBTJ.js → chunk-TJQDL3JH.js} +2 -2
- package/dist/chunk-TL7BOFFL.js +89 -0
- package/dist/chunk-TL7BOFFL.js.map +1 -0
- package/dist/{chunk-FD4Q5KFL.js → chunk-TLL22FFO.js} +2 -2
- package/dist/{chunk-QM5H4FPT.js → chunk-TV6BWONY.js} +3 -3
- package/dist/{chunk-EDFJBX3V.js → chunk-U6MPB3K6.js} +9 -9
- package/dist/{chunk-TZD3U2S5.js → chunk-ULJAOMJA.js} +4 -4
- package/dist/chunk-ULYQEFNH.js +529 -0
- package/dist/chunk-ULYQEFNH.js.map +1 -0
- package/dist/{chunk-H5EVWF6L.js → chunk-UNNJUJVD.js} +2 -2
- package/dist/{chunk-324X6T6G.js → chunk-UP7I3W6O.js} +57 -55
- package/dist/chunk-UP7I3W6O.js.map +1 -0
- package/dist/{chunk-VU2EWALC.js → chunk-UUGR3X5I.js} +19 -12
- package/dist/chunk-UUGR3X5I.js.map +1 -0
- package/dist/{chunk-Z6DKXQG7.js → chunk-UXXFMF4X.js} +2 -2
- package/dist/{chunk-OBQVTCTW.js → chunk-UYNCMZX5.js} +4 -4
- package/dist/{chunk-RGPYMHKI.js → chunk-V3K4RQO7.js} +9 -3
- package/dist/chunk-V3K4RQO7.js.map +1 -0
- package/dist/{chunk-KZHW27BV.js → chunk-V4QZ7UBK.js} +2 -2
- package/dist/{chunk-NEVRLD77.js → chunk-VH5EGTH2.js} +3 -3
- package/dist/{chunk-MYNUBDU7.js → chunk-VYKW6TB2.js} +1 -1
- package/dist/chunk-VYKW6TB2.js.map +1 -0
- package/dist/{chunk-QEJTQTF5.js → chunk-W6T5HR3Z.js} +3 -3
- package/dist/{chunk-H6WWEKEV.js → chunk-WCMG4HYI.js} +10 -10
- package/dist/{chunk-GZLLDA6P.js → chunk-WEFN327U.js} +2 -2
- package/dist/{chunk-VW3BBTMA.js → chunk-WKHUZIOW.js} +1 -1
- package/dist/{chunk-ANHUMDJX.js → chunk-WNDTLK44.js} +2 -2
- package/dist/{chunk-2DS4UOYQ.js → chunk-WSZQNTVN.js} +2 -2
- package/dist/{chunk-Z2DAWUO3.js → chunk-XMNUZUUA.js} +6 -6
- package/dist/{chunk-GAIM5RNE.js → chunk-XN7NSPE6.js} +3 -3
- package/dist/chunk-XV6ZYRHK.js +59 -0
- package/dist/chunk-XV6ZYRHK.js.map +1 -0
- package/dist/{chunk-FLGUVRR7.js → chunk-Y5BSA3I7.js} +5 -5
- package/dist/{chunk-WRLWLGEF.js → chunk-Y5E3XQ2S.js} +25 -2
- package/dist/{chunk-WRLWLGEF.js.map → chunk-Y5E3XQ2S.js.map} +1 -1
- package/dist/{chunk-QILLL4JE.js → chunk-YEROLKOA.js} +16 -16
- package/dist/{chunk-NDF3SH3X.js → chunk-YJPKDRI2.js} +15 -15
- package/dist/{chunk-TQGJN5UZ.js → chunk-YV56F4UP.js} +318 -700
- package/dist/chunk-YV56F4UP.js.map +1 -0
- package/dist/{chunk-VAIESMPY.js → chunk-YVBHGMKC.js} +4 -4
- package/dist/{chunk-AD22P5X3.js → chunk-YXA2EKV3.js} +3 -3
- package/dist/{chunk-FDNJVZRE.js → chunk-YYCOSTUU.js} +17 -17
- package/dist/{chunk-NLMTNEWW.js → chunk-Z6E6TUAE.js} +2 -2
- package/dist/{chunk-BJW7G6EF.js → chunk-Z7IGO5EA.js} +3 -3
- package/dist/{chunk-N7JKT4ZU.js → chunk-ZEIFJ6PX.js} +7 -7
- package/dist/{chunk-Q4OHNGGB.js → chunk-ZS2UQ3DV.js} +68 -11
- package/dist/chunk-ZS2UQ3DV.js.map +1 -0
- package/dist/{chunk-VRGOOVDB.js → chunk-ZVVT72MT.js} +2 -2
- package/dist/components/browser-viewer.d.ts +1 -1
- package/dist/composer.js +14 -14
- package/dist/{computer-viewer-KEDVLD42.js → computer-viewer-25AJIDYA.js} +9 -9
- package/dist/connect.js +11 -11
- package/dist/desktop.js +2 -2
- package/dist/editor.js +2 -2
- package/dist/{embedded-new-voice-5PYRDZ6T.js → embedded-new-voice-RZZEJT6M.js} +8 -8
- package/dist/{embedded-voice-PABC5NBD.js → embedded-voice-6OKSSPLW.js} +8 -8
- package/dist/{fleet-decision-row-QNSTP3VX.js → fleet-decision-row-NN2HXDX3.js} +2 -2
- package/dist/hooks/internal.d.ts +38 -0
- package/dist/hooks/use-client-config-flags.d.ts +12 -0
- package/dist/hooks/use-workspace-sessions.d.ts +10 -1
- package/dist/index.js +233 -227
- package/dist/interaction.js +11 -9
- package/dist/interaction.js.map +1 -1
- package/dist/{latest-question-5LIRVG4G.js → latest-question-2PFWQSSG.js} +4 -3
- package/dist/{latest-question-5LIRVG4G.js.map → latest-question-2PFWQSSG.js.map} +1 -1
- package/dist/machines.js +5 -5
- package/dist/messages/en.d.ts +3 -3
- package/dist/messages.js +1 -1
- package/dist/{model-policy-picker-menu-CURJ247L.js → model-policy-picker-menu-VVFGGAI6.js} +6 -6
- package/dist/model-policy-picker-menu-VVFGGAI6.js.map +1 -0
- package/dist/native-previews.js +3 -3
- package/dist/{platform-activity-row-BMXXNZKX.js → platform-activity-row-ENQVIFTL.js} +2 -2
- package/dist/{queue-surface-implementation-2X5AXB6I.js → queue-surface-implementation-4SHOQPQQ.js} +10 -8
- package/dist/{queue-surface-implementation-2X5AXB6I.js.map → queue-surface-implementation-4SHOQPQQ.js.map} +1 -1
- package/dist/realtime.js +7 -7
- package/dist/{sandbox-files-4FBG3GS2.js → sandbox-files-CCOTGXXA.js} +11 -11
- package/dist/sandbox-files-CCOTGXXA.js.map +1 -0
- package/dist/session-app.js +277 -271
- package/dist/session-list-model.d.ts +1 -0
- package/dist/session-list-model.js +8 -2
- package/dist/{session-realtime-2XIB254N.js → session-realtime-JNKDSGH7.js} +3 -3
- package/dist/session-realtime-JNKDSGH7.js.map +1 -0
- package/dist/session-realtime.js +2 -2
- package/dist/session-ui.js +77 -72
- package/dist/session.js +27 -25
- package/dist/sites.js +2 -2
- package/dist/terminal.js +2 -2
- package/dist/this-computer.js +3 -3
- package/dist/timeline/invoked-tool.d.ts +5 -0
- package/dist/timeline/tool-display-name.d.ts +2 -2
- package/dist/timeline/tool-icon.d.ts +14 -0
- package/dist/timeline/tool-presentation.d.ts +8 -3
- package/dist/timeline/types.d.ts +2 -0
- package/dist/{timeline-annotation-markers-X4K2IEOO.js → timeline-annotation-markers-KHNYNY2J.js} +5 -5
- package/dist/{timeline-annotation-selection-MEHBW676.js → timeline-annotation-selection-AXEDJHBP.js} +7 -7
- package/dist/{timeline-annotations-dialog-U2FPQ3UY.js → timeline-annotations-dialog-AV4ZBXRC.js} +9 -9
- package/dist/timeline-model.js +28 -26
- package/dist/ui/access-list.js +20 -20
- package/dist/ui/choice-cards.js +2 -2
- package/dist/ui/detail-page.js +2 -2
- package/dist/ui/detail-sheet.js +2 -2
- package/dist/ui/diff-view.js +2 -2
- package/dist/ui/disclosure.js +4 -4
- package/dist/ui/flush-form-page.js +3 -3
- package/dist/ui/form-dialog.js +2 -2
- package/dist/ui/list-row.js +5 -5
- package/dist/ui/revision-history.js +11 -11
- package/dist/ui/role-select.js +6 -6
- package/dist/ui/settings-nav.js +3 -3
- package/dist/usage.js +3 -3
- package/dist/workbench.js +11 -11
- package/package.json +4 -4
- package/src/app/app-state.tsx +3 -1
- package/src/app/components/capabilities/session-capability-card.tsx +14 -1
- package/src/app/components/capabilities/session-chrome-card.dom-fixture.tsx +377 -0
- package/src/app/components/capabilities/session-chrome-card.test.tsx +18 -0
- package/src/app/components/capabilities/session-chrome-card.tsx +243 -0
- package/src/app/components/capabilities/session-machine-card.dom-fixture.tsx +2 -0
- package/src/app/components/capabilities/session-machine-card.tsx +74 -16
- package/src/app/components/rail/session-list.tsx +254 -44
- package/src/app/components/rail/session-row-content.tsx +24 -2
- package/src/app/components/rail/session-shell.tsx +14 -9
- package/src/app/components/rail/site-session-group-heading.tsx +59 -20
- package/src/app/components/session/session-tenancy-control.tsx +18 -0
- package/src/app/components/session/site-origin-link.test.tsx +73 -0
- package/src/app/components/session/site-origin-link.tsx +4 -2
- package/src/app/embed/memory-navigation.tsx +1 -0
- package/src/app/lib/actions/held-modifier.test.ts +101 -0
- package/src/app/lib/actions/held-modifier.ts +108 -0
- package/src/app/lib/console-site.tsx +38 -0
- package/src/app/lib/navigation.tsx +4 -0
- package/src/app/lib/routes.tsx +42 -0
- package/src/app/lib/session-failure-toasts.ts +26 -0
- package/src/app/lib/session-ui-features.tsx +18 -4
- package/src/app/lib/sessions-group.tsx +219 -30
- package/src/app/lib/site-opened.tsx +48 -0
- package/src/app/lib/site-session-groups.test.ts +173 -6
- package/src/app/lib/site-view-routes.test.ts +55 -0
- package/src/app/lib/use-session-list-hint-refresh.tsx +44 -4
- package/src/app/routes/artifacts.tsx +2 -29
- package/src/app/routes/session-transient-failures.test.tsx +343 -0
- package/src/app/routes/session-unavailable.tsx +74 -3
- package/src/app/routes/session.tsx +4 -13
- package/src/app/routes/sessions-index.tsx +13 -9
- package/src/app/routes/site-view.test.tsx +476 -0
- package/src/app/routes/site-view.tsx +583 -0
- package/src/components/browser-viewer.tsx +16 -2
- package/src/hooks/internal.ts +129 -6
- package/src/hooks/use-client-config-flags.ts +8 -0
- package/src/hooks/use-session-events.ts +83 -9
- package/src/hooks/use-workspace-sessions.ts +21 -1
- package/src/messages/en.ts +3 -3
- package/src/session-list-model.ts +4 -0
- package/src/timeline/activity-rail.tsx +3 -2
- package/src/timeline/invoked-tool.ts +14 -4
- package/src/timeline/projection.ts +15 -8
- package/src/timeline/rolling-activity.tsx +6 -2
- package/src/timeline/tool-display-name.ts +2 -2
- package/src/timeline/tool-icon.tsx +165 -0
- package/src/timeline/tool-presentation.ts +207 -48
- package/src/timeline/tool-renderers.tsx +1 -70
- package/src/timeline/types.ts +2 -0
- package/styles/compiled.css +38 -0
- package/dist/chunk-22ZBT6CN.js +0 -50
- package/dist/chunk-22ZBT6CN.js.map +0 -1
- package/dist/chunk-324X6T6G.js.map +0 -1
- package/dist/chunk-5JZYPZ72.js.map +0 -1
- package/dist/chunk-6W3LF3DB.js.map +0 -1
- package/dist/chunk-BJIZ7PL7.js.map +0 -1
- package/dist/chunk-CKZW7A5S.js.map +0 -1
- package/dist/chunk-DDIBZA4X.js.map +0 -1
- package/dist/chunk-EHCUFCXM.js.map +0 -1
- package/dist/chunk-GZ64CASI.js.map +0 -1
- package/dist/chunk-I6VUUEXH.js.map +0 -1
- package/dist/chunk-KF3MF6FP.js.map +0 -1
- package/dist/chunk-MYNUBDU7.js.map +0 -1
- package/dist/chunk-NAWXARTY.js.map +0 -1
- package/dist/chunk-O77Q4NG2.js.map +0 -1
- package/dist/chunk-PM3OSANE.js.map +0 -1
- package/dist/chunk-Q262Y2YX.js.map +0 -1
- package/dist/chunk-Q4NM77K7.js.map +0 -1
- package/dist/chunk-Q4OHNGGB.js.map +0 -1
- package/dist/chunk-QIYBOFUV.js.map +0 -1
- package/dist/chunk-R25ZKOZR.js +0 -24
- package/dist/chunk-R25ZKOZR.js.map +0 -1
- package/dist/chunk-RGPYMHKI.js.map +0 -1
- package/dist/chunk-ROQOVH4N.js.map +0 -1
- package/dist/chunk-TQGJN5UZ.js.map +0 -1
- package/dist/chunk-V77JK73U.js.map +0 -1
- package/dist/chunk-VSQHDBHU.js.map +0 -1
- package/dist/chunk-VU2EWALC.js.map +0 -1
- package/dist/chunk-XFNLU7EW.js.map +0 -1
- package/dist/chunk-Z5WMLJKI.js.map +0 -1
- /package/dist/{browser-viewer-RYYQSRTC.js.map → app/components/capabilities/session-chrome-card.js.map} +0 -0
- /package/dist/{chat-interactive-block-ABCRKXJ4.js.map → app/lib/console-site.js.map} +0 -0
- /package/dist/{computer-viewer-KEDVLD42.js.map → app/lib/site-opened.js.map} +0 -0
- /package/dist/{embedded-new-voice-5PYRDZ6T.js.map → browser-viewer-QMCNV4RI.js.map} +0 -0
- /package/dist/{embedded-voice-PABC5NBD.js.map → chat-interactive-block-PMIAUXSO.js.map} +0 -0
- /package/dist/{chunk-GIZGNFIX.js.map → chunk-22FFOHPT.js.map} +0 -0
- /package/dist/{chunk-UHFWF6ZU.js.map → chunk-2FPS5H2D.js.map} +0 -0
- /package/dist/{chunk-5POTDNQT.js.map → chunk-2NC7NZCE.js.map} +0 -0
- /package/dist/{chunk-ZKYYZH6L.js.map → chunk-2QBYDGWO.js.map} +0 -0
- /package/dist/{chunk-TWXIFWBD.js.map → chunk-34EU25RL.js.map} +0 -0
- /package/dist/{chunk-LQKKSUCR.js.map → chunk-35BC2FU2.js.map} +0 -0
- /package/dist/{chunk-PTGRFAMH.js.map → chunk-3ABPIUCK.js.map} +0 -0
- /package/dist/{chunk-S4SC5SSV.js.map → chunk-3GU7AWG7.js.map} +0 -0
- /package/dist/{chunk-722UO6YQ.js.map → chunk-3PEXVG4D.js.map} +0 -0
- /package/dist/{chunk-OQAAI33Y.js.map → chunk-3RMKPHBL.js.map} +0 -0
- /package/dist/{chunk-GCGTYXJJ.js.map → chunk-3STBLX4O.js.map} +0 -0
- /package/dist/{chunk-YXIW7H4N.js.map → chunk-3X5FKDYQ.js.map} +0 -0
- /package/dist/{chunk-KTRKZRID.js.map → chunk-4GLLWX33.js.map} +0 -0
- /package/dist/{chunk-SD2K5ZN5.js.map → chunk-4LPA25NQ.js.map} +0 -0
- /package/dist/{chunk-DKCX643S.js.map → chunk-4RMN4E2Y.js.map} +0 -0
- /package/dist/{chunk-E5FCEDMU.js.map → chunk-4SAGYEVB.js.map} +0 -0
- /package/dist/{chunk-HTT3FB7T.js.map → chunk-4VK2R5QC.js.map} +0 -0
- /package/dist/{chunk-CKG2EG62.js.map → chunk-4XQC7VLT.js.map} +0 -0
- /package/dist/{chunk-IVOA3DXA.js.map → chunk-4YXAQMTD.js.map} +0 -0
- /package/dist/{chunk-HOJGAJAB.js.map → chunk-52WK2GGK.js.map} +0 -0
- /package/dist/{chunk-NYZQ7LO7.js.map → chunk-552UYIQ7.js.map} +0 -0
- /package/dist/{chunk-LEXPBQ56.js.map → chunk-5DSKMG2I.js.map} +0 -0
- /package/dist/{chunk-WNG757ID.js.map → chunk-5FA455GR.js.map} +0 -0
- /package/dist/{chunk-MNWQAYY3.js.map → chunk-5FEN3KYH.js.map} +0 -0
- /package/dist/{chunk-OSVHU2WU.js.map → chunk-5JHRMUAZ.js.map} +0 -0
- /package/dist/{chunk-RKB2Z457.js.map → chunk-5VGJXWQ2.js.map} +0 -0
- /package/dist/{chunk-GFUUFM2O.js.map → chunk-5W6ZDKRR.js.map} +0 -0
- /package/dist/{chunk-NDETTZQA.js.map → chunk-5W7KJ5NQ.js.map} +0 -0
- /package/dist/{chunk-Q35YZVDZ.js.map → chunk-5Y2FPLZE.js.map} +0 -0
- /package/dist/{chunk-F3NERYBQ.js.map → chunk-62VER7O4.js.map} +0 -0
- /package/dist/{chunk-FBMU3VK5.js.map → chunk-6DCEDIF6.js.map} +0 -0
- /package/dist/{chunk-WUHB422G.js.map → chunk-73WI7FL2.js.map} +0 -0
- /package/dist/{chunk-QECZVL7S.js.map → chunk-7FJMRJDG.js.map} +0 -0
- /package/dist/{chunk-7KGKDWWR.js.map → chunk-7HFLYNWN.js.map} +0 -0
- /package/dist/{chunk-XVM566II.js.map → chunk-7KIENXRE.js.map} +0 -0
- /package/dist/{chunk-CBY5CXBD.js.map → chunk-7NPCEBZE.js.map} +0 -0
- /package/dist/{chunk-46VBQG2D.js.map → chunk-7P4AQMGA.js.map} +0 -0
- /package/dist/{chunk-S7PVL7XH.js.map → chunk-A4BD4ZVB.js.map} +0 -0
- /package/dist/{chunk-73SOCVLS.js.map → chunk-AIEXYO2X.js.map} +0 -0
- /package/dist/{chunk-U7TC2XJQ.js.map → chunk-AJPW3SV4.js.map} +0 -0
- /package/dist/{chunk-HRJQAFKR.js.map → chunk-AX6YJA5U.js.map} +0 -0
- /package/dist/{chunk-P5WABK2H.js.map → chunk-BCM7C3MJ.js.map} +0 -0
- /package/dist/{chunk-DT7BORXG.js.map → chunk-BMJTNPWK.js.map} +0 -0
- /package/dist/{chunk-HIHO2QE7.js.map → chunk-BT2MVGHT.js.map} +0 -0
- /package/dist/{chunk-3XOISKZC.js.map → chunk-BXQYAAVE.js.map} +0 -0
- /package/dist/{chunk-IBTXYLBW.js.map → chunk-CCFWY4GF.js.map} +0 -0
- /package/dist/{chunk-ZOC3OP6F.js.map → chunk-CCR33J7L.js.map} +0 -0
- /package/dist/{chunk-GTQ3SNEI.js.map → chunk-CD3MO3IC.js.map} +0 -0
- /package/dist/{chunk-WSMYOLHG.js.map → chunk-CDEXRJB6.js.map} +0 -0
- /package/dist/{chunk-3GLAPCVI.js.map → chunk-CFFNT2OY.js.map} +0 -0
- /package/dist/{chunk-FUSFVUIJ.js.map → chunk-CMLJSF2F.js.map} +0 -0
- /package/dist/{chunk-O4DYOSOL.js.map → chunk-CP7ZQHBW.js.map} +0 -0
- /package/dist/{chunk-IOKSNX74.js.map → chunk-D5OWJZQR.js.map} +0 -0
- /package/dist/{chunk-SQGXMHJO.js.map → chunk-DGLRZMXL.js.map} +0 -0
- /package/dist/{chunk-GNEHAPKV.js.map → chunk-DJFTH2DI.js.map} +0 -0
- /package/dist/{chunk-HQG4SLTE.js.map → chunk-DYJGYGPB.js.map} +0 -0
- /package/dist/{chunk-4EAF3HSD.js.map → chunk-EJ7WARW7.js.map} +0 -0
- /package/dist/{chunk-3AA6RNGE.js.map → chunk-ENS6E4RZ.js.map} +0 -0
- /package/dist/{chunk-OOEO4MKY.js.map → chunk-EPWD4KRA.js.map} +0 -0
- /package/dist/{chunk-V5RJAWRP.js.map → chunk-EQE3MNQN.js.map} +0 -0
- /package/dist/{chunk-TSBE4KOQ.js.map → chunk-EWL6NDOO.js.map} +0 -0
- /package/dist/{chunk-OO2T63BY.js.map → chunk-EYS4ZOF5.js.map} +0 -0
- /package/dist/{chunk-IC7KNOBB.js.map → chunk-FDAV72IX.js.map} +0 -0
- /package/dist/{chunk-AG7VGUIW.js.map → chunk-FFNPUSVO.js.map} +0 -0
- /package/dist/{chunk-P5T36BA3.js.map → chunk-FRP64DEK.js.map} +0 -0
- /package/dist/{chunk-KBF3SE7G.js.map → chunk-FSP334UU.js.map} +0 -0
- /package/dist/{chunk-ZHFKMMOT.js.map → chunk-FTX5CNHA.js.map} +0 -0
- /package/dist/{chunk-KYBALSWW.js.map → chunk-FWOBNL2A.js.map} +0 -0
- /package/dist/{chunk-HJ5XWW62.js.map → chunk-FWYEZ3LE.js.map} +0 -0
- /package/dist/{chunk-WSLPZ43N.js.map → chunk-G4HQUBO4.js.map} +0 -0
- /package/dist/{chunk-CSHBR2IZ.js.map → chunk-GDLDBR6B.js.map} +0 -0
- /package/dist/{chunk-G3S2F35T.js.map → chunk-GHHM6WN4.js.map} +0 -0
- /package/dist/{chunk-OANSIX34.js.map → chunk-GRSODLVO.js.map} +0 -0
- /package/dist/{chunk-EU6XSQFM.js.map → chunk-GXW2I2M2.js.map} +0 -0
- /package/dist/{chunk-4246UYVG.js.map → chunk-GZS37O3G.js.map} +0 -0
- /package/dist/{chunk-Y7WMW74G.js.map → chunk-HQWVDQXW.js.map} +0 -0
- /package/dist/{chunk-YTZQV2DD.js.map → chunk-HU6JTNWF.js.map} +0 -0
- /package/dist/{chunk-QRVNI5V6.js.map → chunk-I6KIQKU6.js.map} +0 -0
- /package/dist/{chunk-BNUPYHHZ.js.map → chunk-IDXTASGN.js.map} +0 -0
- /package/dist/{chunk-L6RXRRN3.js.map → chunk-ILDOW2IQ.js.map} +0 -0
- /package/dist/{chunk-VUHPA3XQ.js.map → chunk-ITX2TB4K.js.map} +0 -0
- /package/dist/{chunk-ETCB6SUJ.js.map → chunk-J22HD2PB.js.map} +0 -0
- /package/dist/{chunk-U47YDYLQ.js.map → chunk-J5MEDX7C.js.map} +0 -0
- /package/dist/{chunk-6VQTHC4W.js.map → chunk-J7FBBLHF.js.map} +0 -0
- /package/dist/{chunk-QZRDCFHI.js.map → chunk-JM4HQPAI.js.map} +0 -0
- /package/dist/{chunk-PIVGX42P.js.map → chunk-JNY5MT3I.js.map} +0 -0
- /package/dist/{chunk-XWWXIZFP.js.map → chunk-JO6R5EXF.js.map} +0 -0
- /package/dist/{chunk-MM7OKOTE.js.map → chunk-JQCGPTZ6.js.map} +0 -0
- /package/dist/{chunk-KNFDWNCH.js.map → chunk-JXT5QDJC.js.map} +0 -0
- /package/dist/{chunk-OR37STQZ.js.map → chunk-KEXYBG7Q.js.map} +0 -0
- /package/dist/{chunk-AZVANYMB.js.map → chunk-KUNFUSZ7.js.map} +0 -0
- /package/dist/{chunk-DXZNDKQD.js.map → chunk-LEEJBZ5B.js.map} +0 -0
- /package/dist/{chunk-C535KSTY.js.map → chunk-LF5CBAOS.js.map} +0 -0
- /package/dist/{chunk-RIMKJBCD.js.map → chunk-LMPTC4CX.js.map} +0 -0
- /package/dist/{chunk-3KVWXKD6.js.map → chunk-LQ47YL6E.js.map} +0 -0
- /package/dist/{chunk-H5WGWAYX.js.map → chunk-LT4J7RHI.js.map} +0 -0
- /package/dist/{chunk-DSGMYES6.js.map → chunk-MCTTONOW.js.map} +0 -0
- /package/dist/{chunk-IGHELZI7.js.map → chunk-MIECLOQC.js.map} +0 -0
- /package/dist/{chunk-FM4OUCC2.js.map → chunk-MOKYT3X3.js.map} +0 -0
- /package/dist/{chunk-RKILMLA7.js.map → chunk-MXLKI7BI.js.map} +0 -0
- /package/dist/{chunk-45WYYFP6.js.map → chunk-N3ZP4IDU.js.map} +0 -0
- /package/dist/{chunk-XRRSFQEV.js.map → chunk-NAZZLAWX.js.map} +0 -0
- /package/dist/{chunk-UWJ5P5CU.js.map → chunk-NEK4WB5P.js.map} +0 -0
- /package/dist/{chunk-6L7U46Y2.js.map → chunk-NKNVIO66.js.map} +0 -0
- /package/dist/{chunk-JKUICTLM.js.map → chunk-NLAFNMPK.js.map} +0 -0
- /package/dist/{chunk-4LKNIGHB.js.map → chunk-O2SBHS2N.js.map} +0 -0
- /package/dist/{chunk-D3RK3NGM.js.map → chunk-PCFK7HKD.js.map} +0 -0
- /package/dist/{chunk-VVCDB2T7.js.map → chunk-PCJLH45G.js.map} +0 -0
- /package/dist/{chunk-PZ24CYDO.js.map → chunk-PFAUGEV5.js.map} +0 -0
- /package/dist/{chunk-HGMWMK5K.js.map → chunk-PO3BH3KQ.js.map} +0 -0
- /package/dist/{chunk-B74GSYR6.js.map → chunk-PUTS4DYW.js.map} +0 -0
- /package/dist/{chunk-JSIDLTTG.js.map → chunk-PZ2V2XIK.js.map} +0 -0
- /package/dist/{chunk-TMEQPODK.js.map → chunk-PZ37VDB5.js.map} +0 -0
- /package/dist/{chunk-LVONK3YQ.js.map → chunk-QRKTESVE.js.map} +0 -0
- /package/dist/{chunk-HT5WSUC7.js.map → chunk-QXEDIDBZ.js.map} +0 -0
- /package/dist/{chunk-WURSS6MP.js.map → chunk-R66YMYJU.js.map} +0 -0
- /package/dist/{chunk-HDHK3SXK.js.map → chunk-RFLYID6H.js.map} +0 -0
- /package/dist/{chunk-VMFID36H.js.map → chunk-RQNZDTKT.js.map} +0 -0
- /package/dist/{chunk-A2EWJQXX.js.map → chunk-SM5QX6UK.js.map} +0 -0
- /package/dist/{chunk-FBE6AIIW.js.map → chunk-SOKNCW5U.js.map} +0 -0
- /package/dist/{chunk-PFKTGZKE.js.map → chunk-SY2AAZNB.js.map} +0 -0
- /package/dist/{chunk-DFZMKCVP.js.map → chunk-TIQPKOFW.js.map} +0 -0
- /package/dist/{chunk-HPPKLBTJ.js.map → chunk-TJQDL3JH.js.map} +0 -0
- /package/dist/{chunk-FD4Q5KFL.js.map → chunk-TLL22FFO.js.map} +0 -0
- /package/dist/{chunk-QM5H4FPT.js.map → chunk-TV6BWONY.js.map} +0 -0
- /package/dist/{chunk-EDFJBX3V.js.map → chunk-U6MPB3K6.js.map} +0 -0
- /package/dist/{chunk-TZD3U2S5.js.map → chunk-ULJAOMJA.js.map} +0 -0
- /package/dist/{chunk-H5EVWF6L.js.map → chunk-UNNJUJVD.js.map} +0 -0
- /package/dist/{chunk-Z6DKXQG7.js.map → chunk-UXXFMF4X.js.map} +0 -0
- /package/dist/{chunk-OBQVTCTW.js.map → chunk-UYNCMZX5.js.map} +0 -0
- /package/dist/{chunk-KZHW27BV.js.map → chunk-V4QZ7UBK.js.map} +0 -0
- /package/dist/{chunk-NEVRLD77.js.map → chunk-VH5EGTH2.js.map} +0 -0
- /package/dist/{chunk-QEJTQTF5.js.map → chunk-W6T5HR3Z.js.map} +0 -0
- /package/dist/{chunk-H6WWEKEV.js.map → chunk-WCMG4HYI.js.map} +0 -0
- /package/dist/{chunk-GZLLDA6P.js.map → chunk-WEFN327U.js.map} +0 -0
- /package/dist/{chunk-VW3BBTMA.js.map → chunk-WKHUZIOW.js.map} +0 -0
- /package/dist/{chunk-ANHUMDJX.js.map → chunk-WNDTLK44.js.map} +0 -0
- /package/dist/{chunk-2DS4UOYQ.js.map → chunk-WSZQNTVN.js.map} +0 -0
- /package/dist/{chunk-Z2DAWUO3.js.map → chunk-XMNUZUUA.js.map} +0 -0
- /package/dist/{chunk-GAIM5RNE.js.map → chunk-XN7NSPE6.js.map} +0 -0
- /package/dist/{chunk-FLGUVRR7.js.map → chunk-Y5BSA3I7.js.map} +0 -0
- /package/dist/{chunk-QILLL4JE.js.map → chunk-YEROLKOA.js.map} +0 -0
- /package/dist/{chunk-NDF3SH3X.js.map → chunk-YJPKDRI2.js.map} +0 -0
- /package/dist/{chunk-VAIESMPY.js.map → chunk-YVBHGMKC.js.map} +0 -0
- /package/dist/{chunk-AD22P5X3.js.map → chunk-YXA2EKV3.js.map} +0 -0
- /package/dist/{chunk-FDNJVZRE.js.map → chunk-YYCOSTUU.js.map} +0 -0
- /package/dist/{chunk-NLMTNEWW.js.map → chunk-Z6E6TUAE.js.map} +0 -0
- /package/dist/{chunk-BJW7G6EF.js.map → chunk-Z7IGO5EA.js.map} +0 -0
- /package/dist/{chunk-N7JKT4ZU.js.map → chunk-ZEIFJ6PX.js.map} +0 -0
- /package/dist/{chunk-VRGOOVDB.js.map → chunk-ZVVT72MT.js.map} +0 -0
- /package/dist/{model-policy-picker-menu-CURJ247L.js.map → computer-viewer-25AJIDYA.js.map} +0 -0
- /package/dist/{sandbox-files-4FBG3GS2.js.map → embedded-new-voice-RZZEJT6M.js.map} +0 -0
- /package/dist/{session-realtime-2XIB254N.js.map → embedded-voice-6OKSSPLW.js.map} +0 -0
- /package/dist/{fleet-decision-row-QNSTP3VX.js.map → fleet-decision-row-NN2HXDX3.js.map} +0 -0
- /package/dist/{platform-activity-row-BMXXNZKX.js.map → platform-activity-row-ENQVIFTL.js.map} +0 -0
- /package/dist/{timeline-annotation-markers-X4K2IEOO.js.map → timeline-annotation-markers-KHNYNY2J.js.map} +0 -0
- /package/dist/{timeline-annotation-selection-MEHBW676.js.map → timeline-annotation-selection-AXEDJHBP.js.map} +0 -0
- /package/dist/{timeline-annotations-dialog-U2FPQ3UY.js.map → timeline-annotations-dialog-AV4ZBXRC.js.map} +0 -0
|
@@ -5,17 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
PatchApplyCommand,
|
|
7
7
|
useRetainedImageObjectUrl
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import {
|
|
10
|
-
approvalsFromRequiresAction
|
|
11
|
-
} from "./chunk-UD2PSIIX.js";
|
|
12
|
-
import {
|
|
13
|
-
learningRefusalBody,
|
|
14
|
-
learningRefusalPlace,
|
|
15
|
-
learningRefusalPlaceLabel,
|
|
16
|
-
learningRefusalTitle,
|
|
17
|
-
presentTurnFailureText
|
|
18
|
-
} from "./chunk-VU2EWALC.js";
|
|
8
|
+
} from "./chunk-LQ47YL6E.js";
|
|
19
9
|
import {
|
|
20
10
|
ActivityDisclosure,
|
|
21
11
|
BodyNote,
|
|
@@ -34,7 +24,7 @@ import {
|
|
|
34
24
|
ToolOutputPreviewProvider,
|
|
35
25
|
useForcedDefaultOpen,
|
|
36
26
|
useTimelineSearchReveal
|
|
37
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-35BC2FU2.js";
|
|
38
28
|
import {
|
|
39
29
|
useToolDetails
|
|
40
30
|
} from "./chunk-RZLBICR5.js";
|
|
@@ -46,6 +36,19 @@ import {
|
|
|
46
36
|
pierreDiffsRevision,
|
|
47
37
|
subscribePierreDiffs
|
|
48
38
|
} from "./chunk-YSRBFJMQ.js";
|
|
39
|
+
import {
|
|
40
|
+
ShimmerText
|
|
41
|
+
} from "./chunk-UYNCMZX5.js";
|
|
42
|
+
import {
|
|
43
|
+
approvalsFromRequiresAction
|
|
44
|
+
} from "./chunk-UD2PSIIX.js";
|
|
45
|
+
import {
|
|
46
|
+
learningRefusalBody,
|
|
47
|
+
learningRefusalPlace,
|
|
48
|
+
learningRefusalPlaceLabel,
|
|
49
|
+
learningRefusalTitle,
|
|
50
|
+
presentTurnFailureText
|
|
51
|
+
} from "./chunk-UUGR3X5I.js";
|
|
49
52
|
import {
|
|
50
53
|
GENIE_PREPARING_PHRASES,
|
|
51
54
|
GENIE_WAITING_PHRASES,
|
|
@@ -55,48 +58,47 @@ import {
|
|
|
55
58
|
createTurnSummaryContext,
|
|
56
59
|
execPresentation,
|
|
57
60
|
formatElapsed,
|
|
58
|
-
generatedImageReceipt,
|
|
59
61
|
genericToolIconKind,
|
|
60
|
-
invokedToolCall,
|
|
61
62
|
machinePresentation,
|
|
62
|
-
mediaPreviewFact,
|
|
63
63
|
parseDisclosedTools,
|
|
64
64
|
parseSearchHits,
|
|
65
|
-
parseToolArgs,
|
|
66
65
|
pathBasename,
|
|
67
66
|
pathDirname,
|
|
68
67
|
plainToolRow,
|
|
69
68
|
presentedToolKind,
|
|
70
69
|
presentsToolOutputPreview,
|
|
71
70
|
resolveTurnSummaryFacets,
|
|
72
|
-
retainedScreenshotMetadata,
|
|
73
|
-
retainedToolResultImages,
|
|
74
71
|
runOnPresentation,
|
|
75
|
-
screenshotDataUrl,
|
|
76
72
|
selectTurnSummaryFacets,
|
|
77
73
|
toolRowPresentation,
|
|
78
74
|
toolSearchPreview,
|
|
79
75
|
toolSearchQuery,
|
|
80
76
|
truncatePreview,
|
|
81
77
|
turnSummaryFallbackLabel,
|
|
82
|
-
unwrapMcpOutput,
|
|
83
78
|
webSearchPresentation,
|
|
84
79
|
writeStdinPresentation
|
|
85
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-YV56F4UP.js";
|
|
86
81
|
import {
|
|
87
82
|
workerRowTitleParts
|
|
88
83
|
} from "./chunk-HEVQKE27.js";
|
|
89
84
|
import {
|
|
90
85
|
isPatchFilename,
|
|
91
86
|
isRetainedImageContentType
|
|
92
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-WNDTLK44.js";
|
|
88
|
+
import {
|
|
89
|
+
generatedImageReceipt,
|
|
90
|
+
invokedToolCall,
|
|
91
|
+
mediaPreviewFact,
|
|
92
|
+
parseToolArgs,
|
|
93
|
+
retainedScreenshotMetadata,
|
|
94
|
+
retainedToolResultImages,
|
|
95
|
+
screenshotDataUrl,
|
|
96
|
+
unwrapMcpOutput
|
|
97
|
+
} from "./chunk-ULYQEFNH.js";
|
|
93
98
|
import {
|
|
94
99
|
mcpToolLeaf,
|
|
95
100
|
toolDisplayName
|
|
96
|
-
} from "./chunk-
|
|
97
|
-
import {
|
|
98
|
-
ShimmerText
|
|
99
|
-
} from "./chunk-OBQVTCTW.js";
|
|
101
|
+
} from "./chunk-LEKBNKLD.js";
|
|
100
102
|
import {
|
|
101
103
|
formatBytes,
|
|
102
104
|
truncate,
|
|
@@ -107,95 +109,7 @@ import {
|
|
|
107
109
|
} from "./chunk-TXS65BB2.js";
|
|
108
110
|
import {
|
|
109
111
|
useOpenGeniText
|
|
110
|
-
} from "./chunk-
|
|
111
|
-
|
|
112
|
-
// src/timeline/retained-loaders.ts
|
|
113
|
-
function createWorkspaceRetainedArtifactLoader(client, workspaceId) {
|
|
114
|
-
return async (artifact, signal, options) => {
|
|
115
|
-
if (artifact.kind === "file" && options?.prefer !== "url") {
|
|
116
|
-
const download2 = await client.downloadRetainedArtifact(workspaceId, artifact, { signal });
|
|
117
|
-
return download2.bytes;
|
|
118
|
-
}
|
|
119
|
-
const download = await client.createRetainedArtifactDownloadUrl(workspaceId, artifact, {
|
|
120
|
-
signal
|
|
121
|
-
});
|
|
122
|
-
return { url: download.url, expiresAt: download.expiresAt };
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
function createSessionRetainedScreenshotLoader(client, workspaceId, sessionId) {
|
|
126
|
-
return async (artifact, signal) => {
|
|
127
|
-
const download = await client.downloadRetainedScreenshot(
|
|
128
|
-
workspaceId,
|
|
129
|
-
sessionId,
|
|
130
|
-
artifact.artifactId,
|
|
131
|
-
{ signal }
|
|
132
|
-
);
|
|
133
|
-
if (!download.metadata.available || !download.bytes) return null;
|
|
134
|
-
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) {
|
|
135
|
-
throw new Error("Retained screenshot receipt verification failed");
|
|
136
|
-
}
|
|
137
|
-
return download.bytes;
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
function createWorkspaceRetainedVideoLoader(client, workspaceId) {
|
|
141
|
-
return async (artifactId, signal) => await client.createVideoArtifactPlaybackSource(workspaceId, artifactId, { signal });
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// src/components/tool-review-history.tsx
|
|
145
|
-
import { createContext, useContext, useEffect, useMemo, useState } from "react";
|
|
146
|
-
import { jsx } from "react/jsx-runtime";
|
|
147
|
-
var History = createContext(null);
|
|
148
|
-
function ToolReviewHistoryProvider({
|
|
149
|
-
events,
|
|
150
|
-
load,
|
|
151
|
-
onViewDetails,
|
|
152
|
-
children
|
|
153
|
-
}) {
|
|
154
|
-
const value = useMemo(
|
|
155
|
-
() => ({
|
|
156
|
-
approvalIds: new Set(
|
|
157
|
-
events.flatMap(
|
|
158
|
-
(event) => event.type === "session.requiresAction" ? approvalsFromRequiresAction(event.payload).map((approval) => approval.id) : []
|
|
159
|
-
)
|
|
160
|
-
),
|
|
161
|
-
revision: [...events].reverse().find(
|
|
162
|
-
(event) => event.type === "session.requiresAction" || event.type === "agent.toolCall.output" || event.type.startsWith("turn.") || event.type === "user.approvalDecision" || event.type.startsWith("session.control.")
|
|
163
|
-
)?.sequence ?? 0,
|
|
164
|
-
load,
|
|
165
|
-
onViewDetails
|
|
166
|
-
}),
|
|
167
|
-
[events, load, onViewDetails]
|
|
168
|
-
);
|
|
169
|
-
return /* @__PURE__ */ jsx(History.Provider, { value, children });
|
|
170
|
-
}
|
|
171
|
-
function useHasToolReview(approvalId) {
|
|
172
|
-
const history = useContext(History);
|
|
173
|
-
return Boolean(approvalId && history?.approvalIds.has(approvalId));
|
|
174
|
-
}
|
|
175
|
-
function useRecordedToolReview(approvalId) {
|
|
176
|
-
const history = useContext(History);
|
|
177
|
-
const [review, setReview] = useState(null);
|
|
178
|
-
const load = history?.load;
|
|
179
|
-
const revision = history?.revision;
|
|
180
|
-
useEffect(() => {
|
|
181
|
-
if (!load || !approvalId) return;
|
|
182
|
-
let active = true;
|
|
183
|
-
void load(approvalId).then(
|
|
184
|
-
(value) => {
|
|
185
|
-
if (active && value.id === approvalId) setReview(value);
|
|
186
|
-
},
|
|
187
|
-
() => void 0
|
|
188
|
-
);
|
|
189
|
-
return () => {
|
|
190
|
-
active = false;
|
|
191
|
-
};
|
|
192
|
-
}, [approvalId, load, revision]);
|
|
193
|
-
const onViewDetails = history?.onViewDetails;
|
|
194
|
-
return {
|
|
195
|
-
review: review && review.id === approvalId ? review : null,
|
|
196
|
-
onViewDetails: review && onViewDetails ? (path) => onViewDetails(review, path) : void 0
|
|
197
|
-
};
|
|
198
|
-
}
|
|
112
|
+
} from "./chunk-JFK7NTEA.js";
|
|
199
113
|
|
|
200
114
|
// src/components/tool-action-review.tsx
|
|
201
115
|
import {
|
|
@@ -207,8 +121,8 @@ import {
|
|
|
207
121
|
LoaderCircleIcon,
|
|
208
122
|
ShieldCheckIcon
|
|
209
123
|
} from "lucide-react";
|
|
210
|
-
import { useEffect
|
|
211
|
-
import { Fragment, jsx
|
|
124
|
+
import { useEffect, useId, useRef, useState } from "react";
|
|
125
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
212
126
|
var statusText = (t) => ({
|
|
213
127
|
pending: t("toolActionReview.approvalNeeded"),
|
|
214
128
|
approved: t("toolActionReview.approved"),
|
|
@@ -270,12 +184,12 @@ var VISIBLE_FIELDS = 6;
|
|
|
270
184
|
function StatusIcon({ status, busy }) {
|
|
271
185
|
const className = "size-4";
|
|
272
186
|
if (busy || status === "executing" || status === "approved")
|
|
273
|
-
return /* @__PURE__ */
|
|
274
|
-
if (status === "pending") return /* @__PURE__ */
|
|
275
|
-
if (status === "completed") return /* @__PURE__ */
|
|
187
|
+
return /* @__PURE__ */ jsx(LoaderCircleIcon, { "aria-hidden": "true", className: cn(className, "animate-spin") });
|
|
188
|
+
if (status === "pending") return /* @__PURE__ */ jsx(ShieldCheckIcon, { "aria-hidden": "true", className });
|
|
189
|
+
if (status === "completed") return /* @__PURE__ */ jsx(CheckIcon, { "aria-hidden": "true", className });
|
|
276
190
|
if (statusTone[status] === "failed")
|
|
277
|
-
return /* @__PURE__ */
|
|
278
|
-
return /* @__PURE__ */
|
|
191
|
+
return /* @__PURE__ */ jsx(CircleAlertIcon, { "aria-hidden": "true", className });
|
|
192
|
+
return /* @__PURE__ */ jsx(CircleSlashIcon, { "aria-hidden": "true", className });
|
|
279
193
|
}
|
|
280
194
|
function ToolReviewFrame({
|
|
281
195
|
tone,
|
|
@@ -302,7 +216,7 @@ function ToolReviewFrame({
|
|
|
302
216
|
),
|
|
303
217
|
children: [
|
|
304
218
|
/* @__PURE__ */ jsxs("header", { className: cn("flex min-w-0 items-start gap-3", bare ? "pb-1" : "px-4 py-3"), children: [
|
|
305
|
-
/* @__PURE__ */
|
|
219
|
+
/* @__PURE__ */ jsx(
|
|
306
220
|
"span",
|
|
307
221
|
{
|
|
308
222
|
className: cn(
|
|
@@ -313,7 +227,7 @@ function ToolReviewFrame({
|
|
|
313
227
|
}
|
|
314
228
|
),
|
|
315
229
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
316
|
-
/* @__PURE__ */
|
|
230
|
+
/* @__PURE__ */ jsx(
|
|
317
231
|
"p",
|
|
318
232
|
{
|
|
319
233
|
className: cn("m-0 text-og-xs font-medium", toneText[tone]),
|
|
@@ -322,7 +236,7 @@ function ToolReviewFrame({
|
|
|
322
236
|
children: eyebrow
|
|
323
237
|
}
|
|
324
238
|
),
|
|
325
|
-
/* @__PURE__ */
|
|
239
|
+
/* @__PURE__ */ jsx(
|
|
326
240
|
"h3",
|
|
327
241
|
{
|
|
328
242
|
tabIndex: -1,
|
|
@@ -331,10 +245,10 @@ function ToolReviewFrame({
|
|
|
331
245
|
children: title
|
|
332
246
|
}
|
|
333
247
|
),
|
|
334
|
-
subtitle ? /* @__PURE__ */
|
|
248
|
+
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
|
|
335
249
|
] })
|
|
336
250
|
] }),
|
|
337
|
-
children ? /* @__PURE__ */
|
|
251
|
+
children ? /* @__PURE__ */ jsx(
|
|
338
252
|
"div",
|
|
339
253
|
{
|
|
340
254
|
className: cn(
|
|
@@ -346,7 +260,7 @@ function ToolReviewFrame({
|
|
|
346
260
|
children
|
|
347
261
|
}
|
|
348
262
|
) : null,
|
|
349
|
-
footer ? /* @__PURE__ */
|
|
263
|
+
footer ? /* @__PURE__ */ jsx(
|
|
350
264
|
"footer",
|
|
351
265
|
{
|
|
352
266
|
className: cn(
|
|
@@ -386,24 +300,24 @@ function ReviewFacts({
|
|
|
386
300
|
const hasContent = note || effects.length || selection || shown.length || hiddenFields > 0 || samples.length;
|
|
387
301
|
if (!hasContent) return null;
|
|
388
302
|
return /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-3 text-og-sm", children: [
|
|
389
|
-
note ? /* @__PURE__ */
|
|
390
|
-
effects.length > 0 ? /* @__PURE__ */
|
|
391
|
-
/* @__PURE__ */
|
|
303
|
+
note ? /* @__PURE__ */ jsx("p", { className: "m-0 leading-relaxed text-og-fg-muted", children: note }) : null,
|
|
304
|
+
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: [
|
|
305
|
+
/* @__PURE__ */ jsx(
|
|
392
306
|
"span",
|
|
393
307
|
{
|
|
394
308
|
"aria-hidden": "true",
|
|
395
309
|
className: "mt-[0.55em] size-1 shrink-0 rounded-full bg-og-fg-muted"
|
|
396
310
|
}
|
|
397
311
|
),
|
|
398
|
-
/* @__PURE__ */
|
|
312
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 break-words", children: effect })
|
|
399
313
|
] }, effect)) }) : null,
|
|
400
314
|
selection ? /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
401
315
|
samples.length > 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
402
|
-
/* @__PURE__ */
|
|
316
|
+
/* @__PURE__ */ jsx("p", { className: "m-0 mb-1 text-og-xs text-og-fg-muted", children: t("toolActionReview.includes") }),
|
|
403
317
|
/* @__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: [
|
|
404
318
|
samples.map((sample) => /* @__PURE__ */ jsxs("li", { className: "min-w-0 px-3 py-2", children: [
|
|
405
|
-
/* @__PURE__ */
|
|
406
|
-
sample.subtitle ? /* @__PURE__ */
|
|
319
|
+
/* @__PURE__ */ jsx("p", { className: "m-0 truncate text-og-sm text-og-fg", children: sample.title }),
|
|
320
|
+
sample.subtitle ? /* @__PURE__ */ jsx("p", { className: "m-0 mt-0.5 truncate text-og-xs text-og-fg-muted", children: sample.subtitle }) : null
|
|
407
321
|
] }, sample.id)),
|
|
408
322
|
count > samples.length ? /* @__PURE__ */ jsxs("li", { className: "px-3 py-2 text-og-xs text-og-fg-muted", children: [
|
|
409
323
|
t("toolActionReview.and"),
|
|
@@ -426,18 +340,18 @@ function ReviewFacts({
|
|
|
426
340
|
localeString: count.toLocaleString(t.locale),
|
|
427
341
|
noun
|
|
428
342
|
}),
|
|
429
|
-
/* @__PURE__ */
|
|
343
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
|
|
430
344
|
]
|
|
431
345
|
}
|
|
432
346
|
) : null
|
|
433
347
|
] }) : null,
|
|
434
|
-
shown.length > 0 ? /* @__PURE__ */
|
|
348
|
+
shown.length > 0 ? /* @__PURE__ */ jsx("dl", { className: "m-0 min-w-0 space-y-2", children: shown.map((field) => /* @__PURE__ */ jsxs(
|
|
435
349
|
"div",
|
|
436
350
|
{
|
|
437
351
|
className: "grid min-w-0 gap-x-4 gap-y-0.5 sm:grid-cols-[minmax(0,9rem)_minmax(0,1fr)]",
|
|
438
352
|
children: [
|
|
439
|
-
/* @__PURE__ */
|
|
440
|
-
/* @__PURE__ */
|
|
353
|
+
/* @__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 }),
|
|
354
|
+
/* @__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(
|
|
441
355
|
"button",
|
|
442
356
|
{
|
|
443
357
|
type: "button",
|
|
@@ -449,11 +363,11 @@ function ReviewFacts({
|
|
|
449
363
|
onClick: () => onViewDetails(field.path),
|
|
450
364
|
className: cn(linkButton, "max-w-full"),
|
|
451
365
|
children: [
|
|
452
|
-
/* @__PURE__ */
|
|
453
|
-
/* @__PURE__ */
|
|
366
|
+
/* @__PURE__ */ jsx("span", { className: "line-clamp-4 min-w-0 break-words [overflow-wrap:anywhere]", children: /* @__PURE__ */ jsx(SecretRefText, { text: field.preview, linkable: false }) }),
|
|
367
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
|
|
454
368
|
]
|
|
455
369
|
}
|
|
456
|
-
) : /* @__PURE__ */
|
|
370
|
+
) : /* @__PURE__ */ jsx(SecretRefText, { text: field.preview }) })
|
|
457
371
|
]
|
|
458
372
|
},
|
|
459
373
|
field.path
|
|
@@ -472,7 +386,7 @@ function DeclineButton({
|
|
|
472
386
|
onClick
|
|
473
387
|
}) {
|
|
474
388
|
const t = useOpenGeniText();
|
|
475
|
-
return /* @__PURE__ */
|
|
389
|
+
return /* @__PURE__ */ jsx(
|
|
476
390
|
"button",
|
|
477
391
|
{
|
|
478
392
|
type: "button",
|
|
@@ -502,7 +416,7 @@ function ToolActionReviewCard({
|
|
|
502
416
|
const busy = Boolean(disabled || submitting);
|
|
503
417
|
const tone = statusTone[review.status];
|
|
504
418
|
const eyebrow = submitting ? submitting === "approve" ? t("toolActionReview.approving") : t("toolActionReview.declining") : review.status === "pending" ? pendingLabel ?? statusText(t).pending : statusText(t)[review.status];
|
|
505
|
-
const detailsLink = review.detailsAvailable && onViewDetails ? /* @__PURE__ */
|
|
419
|
+
const detailsLink = review.detailsAvailable && onViewDetails ? /* @__PURE__ */ jsx(
|
|
506
420
|
"button",
|
|
507
421
|
{
|
|
508
422
|
type: "button",
|
|
@@ -517,7 +431,7 @@ function ToolActionReviewCard({
|
|
|
517
431
|
ToolReviewFrame,
|
|
518
432
|
{
|
|
519
433
|
tone,
|
|
520
|
-
icon: /* @__PURE__ */
|
|
434
|
+
icon: /* @__PURE__ */ jsx(StatusIcon, { status: review.status, busy: Boolean(submitting) }),
|
|
521
435
|
eyebrow,
|
|
522
436
|
title: review.title,
|
|
523
437
|
titleId,
|
|
@@ -529,10 +443,10 @@ function ToolActionReviewCard({
|
|
|
529
443
|
footer: actionable ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
530
444
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 basis-48 flex-wrap items-center gap-x-3 gap-y-1", children: [
|
|
531
445
|
detailsLink,
|
|
532
|
-
reason ? /* @__PURE__ */
|
|
446
|
+
reason ? /* @__PURE__ */ jsx("span", { className: "min-w-0 text-og-xs leading-relaxed text-og-fg-subtle", children: reason }) : null
|
|
533
447
|
] }),
|
|
534
448
|
/* @__PURE__ */ jsxs("div", { className: "ml-auto flex shrink-0 flex-wrap items-center justify-end gap-2", children: [
|
|
535
|
-
canReject ? /* @__PURE__ */
|
|
449
|
+
canReject ? /* @__PURE__ */ jsx(
|
|
536
450
|
DeclineButton,
|
|
537
451
|
{
|
|
538
452
|
busy,
|
|
@@ -549,7 +463,7 @@ function ToolActionReviewCard({
|
|
|
549
463
|
onClick: onApprove,
|
|
550
464
|
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",
|
|
551
465
|
children: [
|
|
552
|
-
submitting === "approve" ? /* @__PURE__ */
|
|
466
|
+
submitting === "approve" ? /* @__PURE__ */ jsx(LoaderCircleIcon, { className: "size-3.5 animate-spin", "aria-hidden": "true" }) : null,
|
|
553
467
|
submitting === "approve" ? t("toolActionReview.approving") : review.approveLabel
|
|
554
468
|
]
|
|
555
469
|
}
|
|
@@ -557,8 +471,8 @@ function ToolActionReviewCard({
|
|
|
557
471
|
] })
|
|
558
472
|
] }) : void 0,
|
|
559
473
|
children: [
|
|
560
|
-
actionable && !canApprove ? /* @__PURE__ */
|
|
561
|
-
/* @__PURE__ */
|
|
474
|
+
actionable && !canApprove ? /* @__PURE__ */ jsx("p", { className: "m-0 mb-3 text-og-sm leading-relaxed text-og-fg", children: UNRECOVERABLE_TEXT(t) }) : null,
|
|
475
|
+
/* @__PURE__ */ jsx(
|
|
562
476
|
ReviewFacts,
|
|
563
477
|
{
|
|
564
478
|
review,
|
|
@@ -566,7 +480,7 @@ function ToolActionReviewCard({
|
|
|
566
480
|
showStatusDetail: review.status !== "pending"
|
|
567
481
|
}
|
|
568
482
|
),
|
|
569
|
-
!actionable && detailsLink ? /* @__PURE__ */
|
|
483
|
+
!actionable && detailsLink ? /* @__PURE__ */ jsx("div", { className: "mt-2", children: detailsLink }) : null
|
|
570
484
|
]
|
|
571
485
|
}
|
|
572
486
|
);
|
|
@@ -579,22 +493,22 @@ function ToolActionReviewDetails({
|
|
|
579
493
|
manageFocus = true
|
|
580
494
|
}) {
|
|
581
495
|
const t = useOpenGeniText();
|
|
582
|
-
const [path, setPath] =
|
|
583
|
-
const [trail, setTrail] =
|
|
584
|
-
const [offset, setOffset] =
|
|
585
|
-
const [page, setPage] =
|
|
586
|
-
const [error, setError] =
|
|
587
|
-
const [retry, setRetry] =
|
|
496
|
+
const [path, setPath] = useState(initialPath);
|
|
497
|
+
const [trail, setTrail] = useState([]);
|
|
498
|
+
const [offset, setOffset] = useState(0);
|
|
499
|
+
const [page, setPage] = useState(null);
|
|
500
|
+
const [error, setError] = useState(false);
|
|
501
|
+
const [retry, setRetry] = useState(0);
|
|
588
502
|
const heading = useRef(null);
|
|
589
503
|
const focusedOnce = useRef(false);
|
|
590
|
-
|
|
504
|
+
useEffect(() => {
|
|
591
505
|
if (page && manageFocus && !focusedOnce.current) {
|
|
592
506
|
focusedOnce.current = true;
|
|
593
507
|
heading.current?.focus({ preventScroll: true });
|
|
594
508
|
heading.current?.scrollIntoView({ block: "start" });
|
|
595
509
|
}
|
|
596
510
|
}, [page, manageFocus]);
|
|
597
|
-
|
|
511
|
+
useEffect(() => {
|
|
598
512
|
let active = true;
|
|
599
513
|
setPage(null);
|
|
600
514
|
setError(false);
|
|
@@ -639,12 +553,12 @@ function ToolActionReviewDetails({
|
|
|
639
553
|
onClick: onBack,
|
|
640
554
|
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",
|
|
641
555
|
children: [
|
|
642
|
-
/* @__PURE__ */
|
|
556
|
+
/* @__PURE__ */ jsx(ArrowLeftIcon, { className: "size-4", "aria-hidden": "true" }),
|
|
643
557
|
t("toolActionReview.backToReview")
|
|
644
558
|
]
|
|
645
559
|
}
|
|
646
560
|
),
|
|
647
|
-
/* @__PURE__ */
|
|
561
|
+
/* @__PURE__ */ jsx(
|
|
648
562
|
"h2",
|
|
649
563
|
{
|
|
650
564
|
ref: heading,
|
|
@@ -653,8 +567,8 @@ function ToolActionReviewDetails({
|
|
|
653
567
|
children: review.title
|
|
654
568
|
}
|
|
655
569
|
),
|
|
656
|
-
review.accountLabel ? /* @__PURE__ */
|
|
657
|
-
/* @__PURE__ */
|
|
570
|
+
review.accountLabel ? /* @__PURE__ */ jsx("p", { className: "m-0 mt-1 text-og-sm text-og-fg-muted", children: review.accountLabel }) : null,
|
|
571
|
+
/* @__PURE__ */ jsx("p", { className: "m-0 mt-2 text-og-xs text-og-fg-subtle", children: t("toolActionReview.theExactValuesSavedFor") }),
|
|
658
572
|
trail.length > 0 ? /* @__PURE__ */ jsxs(
|
|
659
573
|
"button",
|
|
660
574
|
{
|
|
@@ -662,7 +576,7 @@ function ToolActionReviewDetails({
|
|
|
662
576
|
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",
|
|
663
577
|
onClick: up,
|
|
664
578
|
children: [
|
|
665
|
-
/* @__PURE__ */
|
|
579
|
+
/* @__PURE__ */ jsx(ArrowLeftIcon, { className: "size-3.5", "aria-hidden": "true" }),
|
|
666
580
|
t("toolActionReview.backTo"),
|
|
667
581
|
" ",
|
|
668
582
|
trail.at(-1)?.label ?? t("toolActionReview.allValues")
|
|
@@ -672,7 +586,7 @@ function ToolActionReviewDetails({
|
|
|
672
586
|
error ? /* @__PURE__ */ jsxs("div", { role: "alert", className: "mt-4 py-4 text-og-sm", children: [
|
|
673
587
|
t("toolActionReview.couldnTLoadTheseDetails"),
|
|
674
588
|
" ",
|
|
675
|
-
/* @__PURE__ */
|
|
589
|
+
/* @__PURE__ */ jsx(
|
|
676
590
|
"button",
|
|
677
591
|
{
|
|
678
592
|
type: "button",
|
|
@@ -681,9 +595,9 @@ function ToolActionReviewDetails({
|
|
|
681
595
|
children: t("toolActionReview.tryAgain")
|
|
682
596
|
}
|
|
683
597
|
)
|
|
684
|
-
] }) : !page ? /* @__PURE__ */
|
|
685
|
-
/* @__PURE__ */
|
|
686
|
-
/* @__PURE__ */
|
|
598
|
+
] }) : !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: [
|
|
599
|
+
/* @__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: [
|
|
600
|
+
/* @__PURE__ */ jsx("dt", { className: "m-0 text-og-xs text-og-fg-muted", children: item.label }),
|
|
687
601
|
/* @__PURE__ */ jsxs("dd", { className: "m-0 mt-1 whitespace-pre-wrap break-words text-og-sm leading-relaxed [overflow-wrap:anywhere]", children: [
|
|
688
602
|
item.truncated && item.path ? /* @__PURE__ */ jsxs(
|
|
689
603
|
"button",
|
|
@@ -693,12 +607,12 @@ function ToolActionReviewDetails({
|
|
|
693
607
|
className: cn(linkButton, "max-w-full"),
|
|
694
608
|
onClick: () => open(item.path, item.label),
|
|
695
609
|
children: [
|
|
696
|
-
/* @__PURE__ */
|
|
697
|
-
/* @__PURE__ */
|
|
610
|
+
/* @__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 }) }),
|
|
611
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
|
|
698
612
|
]
|
|
699
613
|
}
|
|
700
|
-
) : /* @__PURE__ */
|
|
701
|
-
item.detail ? /* @__PURE__ */
|
|
614
|
+
) : /* @__PURE__ */ jsx(SecretRefText, { text: item.value }),
|
|
615
|
+
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
|
|
702
616
|
] })
|
|
703
617
|
] }, `${page.path}:${item.label}`)) }),
|
|
704
618
|
page.total > page.items.length || offset > 0 ? /* @__PURE__ */ jsxs(
|
|
@@ -707,7 +621,7 @@ function ToolActionReviewDetails({
|
|
|
707
621
|
"aria-label": t("toolActionReview.detailPages"),
|
|
708
622
|
className: "mt-4 flex flex-wrap items-center justify-between gap-3 text-og-sm",
|
|
709
623
|
children: [
|
|
710
|
-
/* @__PURE__ */
|
|
624
|
+
/* @__PURE__ */ jsx(
|
|
711
625
|
"button",
|
|
712
626
|
{
|
|
713
627
|
type: "button",
|
|
@@ -717,8 +631,8 @@ function ToolActionReviewDetails({
|
|
|
717
631
|
children: t("toolActionReview.previous")
|
|
718
632
|
}
|
|
719
633
|
),
|
|
720
|
-
/* @__PURE__ */
|
|
721
|
-
/* @__PURE__ */
|
|
634
|
+
/* @__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)}` }),
|
|
635
|
+
/* @__PURE__ */ jsx(
|
|
722
636
|
"button",
|
|
723
637
|
{
|
|
724
638
|
type: "button",
|
|
@@ -738,36 +652,36 @@ function ToolActionReviewDetails({
|
|
|
738
652
|
}
|
|
739
653
|
|
|
740
654
|
// src/timeline/knowledge-receipt.tsx
|
|
741
|
-
import { createContext
|
|
655
|
+
import { createContext, useContext, useState as useState2 } from "react";
|
|
742
656
|
import { BrainCircuitIcon } from "lucide-react";
|
|
743
|
-
import { jsx as
|
|
744
|
-
var KnowledgeActions =
|
|
657
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
658
|
+
var KnowledgeActions = createContext({});
|
|
745
659
|
function KnowledgeActivityProvider({
|
|
746
660
|
children,
|
|
747
661
|
...actions
|
|
748
662
|
}) {
|
|
749
|
-
return /* @__PURE__ */
|
|
663
|
+
return /* @__PURE__ */ jsx2(KnowledgeActions.Provider, { value: actions, children });
|
|
750
664
|
}
|
|
751
665
|
function KnowledgeReceiptRow(props) {
|
|
752
666
|
const t = useOpenGeniText();
|
|
753
|
-
const actions =
|
|
754
|
-
const [retrying, setRetrying] =
|
|
755
|
-
const [retrySent, setRetrySent] =
|
|
756
|
-
const [error, setError] =
|
|
667
|
+
const actions = useContext(KnowledgeActions);
|
|
668
|
+
const [retrying, setRetrying] = useState2(false);
|
|
669
|
+
const [retrySent, setRetrySent] = useState2(false);
|
|
670
|
+
const [error, setError] = useState2(null);
|
|
757
671
|
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");
|
|
758
672
|
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";
|
|
759
673
|
return /* @__PURE__ */ jsxs2(
|
|
760
674
|
ActivityDisclosure,
|
|
761
675
|
{
|
|
762
|
-
icon: /* @__PURE__ */
|
|
676
|
+
icon: /* @__PURE__ */ jsx2(BrainCircuitIcon, { className: "size-3.5" }),
|
|
763
677
|
iconTone: "muted",
|
|
764
678
|
title: label,
|
|
765
679
|
preview: props.title,
|
|
766
680
|
children: [
|
|
767
|
-
props.outcome === "pending" ? /* @__PURE__ */
|
|
768
|
-
props.outcome === "failed" ? /* @__PURE__ */
|
|
769
|
-
props.outcome === "rejected" ? /* @__PURE__ */
|
|
770
|
-
props.entryId && actions.onInspect ? /* @__PURE__ */
|
|
681
|
+
props.outcome === "pending" ? /* @__PURE__ */ jsx2(BodyNote, { children: t("timeline.knowledgeReceipt.savedInNeedsReviewThis") }) : null,
|
|
682
|
+
props.outcome === "failed" ? /* @__PURE__ */ jsx2(BodyNote, { children: t("timeline.knowledgeReceipt.theOriginalFileRemainsAttached") }) : null,
|
|
683
|
+
props.outcome === "rejected" ? /* @__PURE__ */ jsx2(BodyNote, { children: t("timeline.knowledgeReceipt.processingTheFileAgainLeaves") }) : null,
|
|
684
|
+
props.entryId && actions.onInspect ? /* @__PURE__ */ jsx2(
|
|
771
685
|
"button",
|
|
772
686
|
{
|
|
773
687
|
className: actionClass,
|
|
@@ -776,7 +690,7 @@ function KnowledgeReceiptRow(props) {
|
|
|
776
690
|
children: props.outcome === "pending" ? t("timeline.knowledgeReceipt.reviewInKnowledge") : t("timeline.knowledgeReceipt.viewInKnowledge")
|
|
777
691
|
}
|
|
778
692
|
) : null,
|
|
779
|
-
props.outcome === "failed" && props.fileId && actions.onRetryFile ? /* @__PURE__ */
|
|
693
|
+
props.outcome === "failed" && props.fileId && actions.onRetryFile ? /* @__PURE__ */ jsx2(
|
|
780
694
|
"button",
|
|
781
695
|
{
|
|
782
696
|
className: actionClass,
|
|
@@ -793,12 +707,100 @@ function KnowledgeReceiptRow(props) {
|
|
|
793
707
|
children: retrying ? t("timeline.knowledgeReceipt.startingRetry") : retrySent ? t("timeline.knowledgeReceipt.retryRequested") : t("timeline.knowledgeReceipt.retryPreparation")
|
|
794
708
|
}
|
|
795
709
|
) : null,
|
|
796
|
-
error ? /* @__PURE__ */
|
|
710
|
+
error ? /* @__PURE__ */ jsx2("p", { role: "alert", className: "text-og-sm", children: error }) : null
|
|
797
711
|
]
|
|
798
712
|
}
|
|
799
713
|
);
|
|
800
714
|
}
|
|
801
715
|
|
|
716
|
+
// src/timeline/startup-preference.ts
|
|
717
|
+
import { useSyncExternalStore } from "react";
|
|
718
|
+
var KEY = "opengeni:startup-details:v1";
|
|
719
|
+
var EVENT = "opengeni:startup-details-changed";
|
|
720
|
+
var fallback = false;
|
|
721
|
+
function snapshot() {
|
|
722
|
+
try {
|
|
723
|
+
return window.localStorage.getItem(KEY) === "true";
|
|
724
|
+
} catch {
|
|
725
|
+
return fallback;
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
function subscribe(listener) {
|
|
729
|
+
window.addEventListener(EVENT, listener);
|
|
730
|
+
window.addEventListener("storage", listener);
|
|
731
|
+
return () => {
|
|
732
|
+
window.removeEventListener(EVENT, listener);
|
|
733
|
+
window.removeEventListener("storage", listener);
|
|
734
|
+
};
|
|
735
|
+
}
|
|
736
|
+
function setStartupDetails(value) {
|
|
737
|
+
fallback = value;
|
|
738
|
+
try {
|
|
739
|
+
window.localStorage.setItem(KEY, String(value));
|
|
740
|
+
} catch {
|
|
741
|
+
}
|
|
742
|
+
window.dispatchEvent(new Event(EVENT));
|
|
743
|
+
}
|
|
744
|
+
function useStartupDetails() {
|
|
745
|
+
return useSyncExternalStore(subscribe, snapshot, () => false);
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
// src/components/tool-review-history.tsx
|
|
749
|
+
import { createContext as createContext2, useContext as useContext2, useEffect as useEffect2, useMemo, useState as useState3 } from "react";
|
|
750
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
751
|
+
var History = createContext2(null);
|
|
752
|
+
function ToolReviewHistoryProvider({
|
|
753
|
+
events,
|
|
754
|
+
load,
|
|
755
|
+
onViewDetails,
|
|
756
|
+
children
|
|
757
|
+
}) {
|
|
758
|
+
const value = useMemo(
|
|
759
|
+
() => ({
|
|
760
|
+
approvalIds: new Set(
|
|
761
|
+
events.flatMap(
|
|
762
|
+
(event) => event.type === "session.requiresAction" ? approvalsFromRequiresAction(event.payload).map((approval) => approval.id) : []
|
|
763
|
+
)
|
|
764
|
+
),
|
|
765
|
+
revision: [...events].reverse().find(
|
|
766
|
+
(event) => event.type === "session.requiresAction" || event.type === "agent.toolCall.output" || event.type.startsWith("turn.") || event.type === "user.approvalDecision" || event.type.startsWith("session.control.")
|
|
767
|
+
)?.sequence ?? 0,
|
|
768
|
+
load,
|
|
769
|
+
onViewDetails
|
|
770
|
+
}),
|
|
771
|
+
[events, load, onViewDetails]
|
|
772
|
+
);
|
|
773
|
+
return /* @__PURE__ */ jsx3(History.Provider, { value, children });
|
|
774
|
+
}
|
|
775
|
+
function useHasToolReview(approvalId) {
|
|
776
|
+
const history = useContext2(History);
|
|
777
|
+
return Boolean(approvalId && history?.approvalIds.has(approvalId));
|
|
778
|
+
}
|
|
779
|
+
function useRecordedToolReview(approvalId) {
|
|
780
|
+
const history = useContext2(History);
|
|
781
|
+
const [review, setReview] = useState3(null);
|
|
782
|
+
const load = history?.load;
|
|
783
|
+
const revision = history?.revision;
|
|
784
|
+
useEffect2(() => {
|
|
785
|
+
if (!load || !approvalId) return;
|
|
786
|
+
let active = true;
|
|
787
|
+
void load(approvalId).then(
|
|
788
|
+
(value) => {
|
|
789
|
+
if (active && value.id === approvalId) setReview(value);
|
|
790
|
+
},
|
|
791
|
+
() => void 0
|
|
792
|
+
);
|
|
793
|
+
return () => {
|
|
794
|
+
active = false;
|
|
795
|
+
};
|
|
796
|
+
}, [approvalId, load, revision]);
|
|
797
|
+
const onViewDetails = history?.onViewDetails;
|
|
798
|
+
return {
|
|
799
|
+
review: review && review.id === approvalId ? review : null,
|
|
800
|
+
onViewDetails: review && onViewDetails ? (path) => onViewDetails(review, path) : void 0
|
|
801
|
+
};
|
|
802
|
+
}
|
|
803
|
+
|
|
802
804
|
// src/lib/git-patch.ts
|
|
803
805
|
function gitFileDiffToPatch(file) {
|
|
804
806
|
const oldPath = file.oldPath ?? file.path;
|
|
@@ -834,7 +836,7 @@ import {
|
|
|
834
836
|
Suspense,
|
|
835
837
|
useEffect as useEffect3,
|
|
836
838
|
useState as useState4,
|
|
837
|
-
useSyncExternalStore
|
|
839
|
+
useSyncExternalStore as useSyncExternalStore2
|
|
838
840
|
} from "react";
|
|
839
841
|
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
840
842
|
var LazyPatchDiff = lazy(async () => {
|
|
@@ -864,7 +866,7 @@ function PierreDiff({
|
|
|
864
866
|
query.addEventListener?.("change", update);
|
|
865
867
|
return () => query.removeEventListener?.("change", update);
|
|
866
868
|
}, []);
|
|
867
|
-
const loaderRevision =
|
|
869
|
+
const loaderRevision = useSyncExternalStore2(
|
|
868
870
|
subscribePierreDiffs,
|
|
869
871
|
pierreDiffsRevision,
|
|
870
872
|
pierreDiffsRevision
|
|
@@ -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
|
-
|
|
977
|
-
BrainCircuitIcon as BrainCircuitIcon2,
|
|
978
|
-
CalendarClockIcon,
|
|
978
|
+
BrainCircuitIcon as BrainCircuitIcon3,
|
|
979
979
|
CameraIcon,
|
|
980
980
|
CameraOffIcon,
|
|
981
|
-
DownloadIcon,
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
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
|
-
|
|
991
|
-
MessagesSquareIcon,
|
|
992
|
-
MessageSquareIcon,
|
|
987
|
+
MessagesSquareIcon as MessagesSquareIcon2,
|
|
993
988
|
MousePointer2Icon,
|
|
994
|
-
PackageSearchIcon,
|
|
995
|
-
PanelsTopLeftIcon,
|
|
996
|
-
|
|
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
|
|
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__ */
|
|
1057
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1088
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1109
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1120
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1276
|
+
return preview.running ? /* @__PURE__ */ jsx8(RunningPreview, { children: preview.text }) : preview.text;
|
|
1179
1277
|
case "path":
|
|
1180
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1194
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1310
|
+
body.note ? /* @__PURE__ */ jsx8(BodyNote, { children: body.note }) : null
|
|
1213
1311
|
] });
|
|
1214
1312
|
case "note":
|
|
1215
|
-
return body.tone ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1323
|
+
return /* @__PURE__ */ jsx8(RawPatch, { diff: body.files[0]?.diff ?? "" });
|
|
1226
1324
|
}
|
|
1227
|
-
return /* @__PURE__ */
|
|
1228
|
-
(entry) => entry.file ? /* @__PURE__ */
|
|
1229
|
-
/* @__PURE__ */
|
|
1230
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1347
|
+
return /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.resultsFoldedIntoModelContext") });
|
|
1250
1348
|
}
|
|
1251
|
-
return /* @__PURE__ */
|
|
1252
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1355
|
+
/* @__PURE__ */ jsx8("span", { className: "text-og-fg-subtle", children: result.domain })
|
|
1258
1356
|
] }),
|
|
1259
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1370
|
+
return /* @__PURE__ */ jsx8(
|
|
1273
1371
|
ActivityDisclosure,
|
|
1274
1372
|
{
|
|
1275
|
-
icon: /* @__PURE__ */
|
|
1373
|
+
icon: /* @__PURE__ */ jsx8(ConnectorLogoIcon, { src: logo, fallback: /* @__PURE__ */ jsx8(Icon, { className: ICON_SIZE }) }),
|
|
1276
1374
|
iconTone: p.iconTone,
|
|
1277
|
-
title: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1320
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1362
|
-
rest.map((image, index) => /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1551
|
+
return /* @__PURE__ */ jsx8(
|
|
1454
1552
|
ActivityDisclosure,
|
|
1455
1553
|
{
|
|
1456
|
-
icon: isShot ? /* @__PURE__ */
|
|
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__ */
|
|
1461
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
1564
|
+
return /* @__PURE__ */ jsx8(
|
|
1467
1565
|
ActivityDisclosure,
|
|
1468
1566
|
{
|
|
1469
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1577
|
+
return /* @__PURE__ */ jsx8(
|
|
1480
1578
|
ActivityDisclosure,
|
|
1481
1579
|
{
|
|
1482
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1593
|
+
return /* @__PURE__ */ jsx8(
|
|
1496
1594
|
ActivityDisclosure,
|
|
1497
1595
|
{
|
|
1498
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
1505
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1636
|
+
media: /* @__PURE__ */ jsx8(Thumbnail, { src: shotUrl, caption }),
|
|
1539
1637
|
children: [
|
|
1540
|
-
/* @__PURE__ */
|
|
1541
|
-
batched ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1654
|
+
media: /* @__PURE__ */ jsx8(MediaEmpty, {}),
|
|
1557
1655
|
children: [
|
|
1558
|
-
/* @__PURE__ */
|
|
1656
|
+
/* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.theInlineMediatypeOutputWas", {
|
|
1559
1657
|
mediaType: omittedMedia.mediaType
|
|
1560
1658
|
}) }),
|
|
1561
|
-
batched ? /* @__PURE__ */
|
|
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__ */
|
|
1665
|
+
return /* @__PURE__ */ jsx8(
|
|
1568
1666
|
ActivityDisclosure,
|
|
1569
1667
|
{
|
|
1570
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
1576
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
1678
|
+
return /* @__PURE__ */ jsx8(
|
|
1581
1679
|
ActivityDisclosure,
|
|
1582
1680
|
{
|
|
1583
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1701
|
+
return /* @__PURE__ */ jsx8(
|
|
1604
1702
|
ActivityDisclosure,
|
|
1605
1703
|
{
|
|
1606
|
-
icon: /* @__PURE__ */
|
|
1704
|
+
icon: /* @__PURE__ */ jsx8(CameraIcon, { className: ICON_SIZE }),
|
|
1607
1705
|
iconTone: "running",
|
|
1608
1706
|
title,
|
|
1609
1707
|
running: true,
|
|
1610
|
-
media: /* @__PURE__ */
|
|
1611
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1716
|
+
return /* @__PURE__ */ jsx8(
|
|
1619
1717
|
ActivityDisclosure,
|
|
1620
1718
|
{
|
|
1621
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
1628
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1711
|
-
batched ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1841
|
+
return /* @__PURE__ */ jsx8(
|
|
1744
1842
|
ActivityDisclosure,
|
|
1745
1843
|
{
|
|
1746
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
1751
|
-
media: /* @__PURE__ */
|
|
1752
|
-
children: prompt ? /* @__PURE__ */
|
|
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__ */
|
|
1757
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1789
|
-
accepted ? /* @__PURE__ */
|
|
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__ */
|
|
1899
|
+
return /* @__PURE__ */ jsx8(
|
|
1802
1900
|
ActivityDisclosure,
|
|
1803
1901
|
{
|
|
1804
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2092
|
+
return /* @__PURE__ */ jsx8(
|
|
1995
2093
|
ActivityDisclosure,
|
|
1996
2094
|
{
|
|
1997
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2007
|
-
return /* @__PURE__ */
|
|
2104
|
+
if (!receipt || item.status === "failed") return /* @__PURE__ */ jsx8(GenericRenderer, { item });
|
|
2105
|
+
return /* @__PURE__ */ jsx8(
|
|
2008
2106
|
ActivityDisclosure,
|
|
2009
2107
|
{
|
|
2010
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2153
|
+
) : state.kind === "loading" ? /* @__PURE__ */ jsx8(MediaSkeleton, {}) : /* @__PURE__ */ jsx8(MediaEmpty, {}),
|
|
2056
2154
|
children: [
|
|
2057
|
-
state.kind === "ready" ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2196
|
+
return /* @__PURE__ */ jsx8(
|
|
2099
2197
|
ActivityDisclosure,
|
|
2100
2198
|
{
|
|
2101
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
2106
|
-
media: /* @__PURE__ */
|
|
2107
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
2217
|
+
return /* @__PURE__ */ jsx8(
|
|
2120
2218
|
ActivityDisclosure,
|
|
2121
2219
|
{
|
|
2122
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
2129
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2253
|
+
return /* @__PURE__ */ jsx8(
|
|
2156
2254
|
ActivityDisclosure,
|
|
2157
2255
|
{
|
|
2158
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2269
|
+
return /* @__PURE__ */ jsx8(
|
|
2172
2270
|
ActivityDisclosure,
|
|
2173
2271
|
{
|
|
2174
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
2280
|
+
children: /* @__PURE__ */ jsx8(BodyNote, { children: text })
|
|
2183
2281
|
}
|
|
2184
2282
|
);
|
|
2185
2283
|
}
|
|
2186
2284
|
if (omittedMedia) {
|
|
2187
|
-
return /* @__PURE__ */
|
|
2285
|
+
return /* @__PURE__ */ jsx8(
|
|
2188
2286
|
ActivityDisclosure,
|
|
2189
2287
|
{
|
|
2190
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
2199
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
2304
|
+
return /* @__PURE__ */ jsx8(
|
|
2207
2305
|
ActivityDisclosure,
|
|
2208
2306
|
{
|
|
2209
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2320
|
+
return /* @__PURE__ */ jsx8(
|
|
2223
2321
|
ActivityDisclosure,
|
|
2224
2322
|
{
|
|
2225
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
2233
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
2335
|
+
return /* @__PURE__ */ jsx8(GenericRenderer, { item });
|
|
2238
2336
|
}
|
|
2239
2337
|
function SecretSetRenderer(props) {
|
|
2240
|
-
return useToolDetails() === "plain" ? /* @__PURE__ */
|
|
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__ */
|
|
2345
|
+
return /* @__PURE__ */ jsx8(
|
|
2248
2346
|
ActivityDisclosure,
|
|
2249
2347
|
{
|
|
2250
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
2255
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2271
|
-
errorText ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2286
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2406
|
+
preview: queryPreview ? /* @__PURE__ */ jsx8(RunningPreview, { children: queryPreview }) : /* @__PURE__ */ jsx8(RunningPreview, { children: msg("timeline.toolRenderers.matchingCapabilities") }),
|
|
2309
2407
|
children: [
|
|
2310
|
-
query ? /* @__PURE__ */
|
|
2311
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2334
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2361
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2370
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2492
|
+
return /* @__PURE__ */ jsx8(
|
|
2395
2493
|
ActivityDisclosure,
|
|
2396
2494
|
{
|
|
2397
|
-
icon: /* @__PURE__ */
|
|
2495
|
+
icon: /* @__PURE__ */ jsx8(FileSearchIcon2, { className: ICON_SIZE }),
|
|
2398
2496
|
iconTone: "running",
|
|
2399
2497
|
title,
|
|
2400
2498
|
running: true,
|
|
2401
|
-
preview: /* @__PURE__ */
|
|
2402
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2418
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2435
|
-
/* @__PURE__ */
|
|
2436
|
-
hit.snippet ? /* @__PURE__ */
|
|
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__ */
|
|
2439
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2551
|
+
const icon = /* @__PURE__ */ jsx8(MessagesSquareIcon2, { className: ICON_SIZE });
|
|
2454
2552
|
if (item.status === "running") {
|
|
2455
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
2463
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
2479
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2504
|
-
outText ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2617
|
+
return /* @__PURE__ */ jsx8(
|
|
2520
2618
|
ActivityDisclosure,
|
|
2521
2619
|
{
|
|
2522
|
-
icon: /* @__PURE__ */
|
|
2620
|
+
icon: /* @__PURE__ */ jsx8(BrainCircuitIcon3, { className: ICON_SIZE }),
|
|
2523
2621
|
iconTone: "running",
|
|
2524
2622
|
title,
|
|
2525
2623
|
running: true,
|
|
2526
|
-
preview: /* @__PURE__ */
|
|
2527
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2543
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2558
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2566
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
2682
|
+
if (!review) return /* @__PURE__ */ jsx8(UnreviewedGenericRenderer, { ...props });
|
|
2585
2683
|
const ReviewIcon = toolIcon(genericToolIconKind(item.name));
|
|
2586
|
-
const icon = /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2730
|
+
return /* @__PURE__ */ jsx8(GenericRenderer, { item });
|
|
2633
2731
|
const args = parseToolArgs(item.arguments);
|
|
2634
2732
|
const entry = args.entry;
|
|
2635
|
-
return /* @__PURE__ */
|
|
2733
|
+
return /* @__PURE__ */ jsx8(
|
|
2636
2734
|
KnowledgeReceiptRow,
|
|
2637
2735
|
{
|
|
2638
2736
|
outcome: receipt.outcome,
|
|
@@ -2769,42 +2867,10 @@ function createDefaultToolRegistry(options = {}) {
|
|
|
2769
2867
|
return createToolRegistry(BASE_ENTRIES, GenericRenderer, options);
|
|
2770
2868
|
}
|
|
2771
2869
|
|
|
2772
|
-
// src/timeline/startup-preference.ts
|
|
2773
|
-
import { useSyncExternalStore as useSyncExternalStore2 } from "react";
|
|
2774
|
-
var KEY = "opengeni:startup-details:v1";
|
|
2775
|
-
var EVENT = "opengeni:startup-details-changed";
|
|
2776
|
-
var fallback = false;
|
|
2777
|
-
function snapshot() {
|
|
2778
|
-
try {
|
|
2779
|
-
return window.localStorage.getItem(KEY) === "true";
|
|
2780
|
-
} catch {
|
|
2781
|
-
return fallback;
|
|
2782
|
-
}
|
|
2783
|
-
}
|
|
2784
|
-
function subscribe(listener) {
|
|
2785
|
-
window.addEventListener(EVENT, listener);
|
|
2786
|
-
window.addEventListener("storage", listener);
|
|
2787
|
-
return () => {
|
|
2788
|
-
window.removeEventListener(EVENT, listener);
|
|
2789
|
-
window.removeEventListener("storage", listener);
|
|
2790
|
-
};
|
|
2791
|
-
}
|
|
2792
|
-
function setStartupDetails(value) {
|
|
2793
|
-
fallback = value;
|
|
2794
|
-
try {
|
|
2795
|
-
window.localStorage.setItem(KEY, String(value));
|
|
2796
|
-
} catch {
|
|
2797
|
-
}
|
|
2798
|
-
window.dispatchEvent(new Event(EVENT));
|
|
2799
|
-
}
|
|
2800
|
-
function useStartupDetails() {
|
|
2801
|
-
return useSyncExternalStore2(subscribe, snapshot, () => false);
|
|
2802
|
-
}
|
|
2803
|
-
|
|
2804
2870
|
// src/timeline/agent-row.tsx
|
|
2805
2871
|
import { ArrowUpRightIcon, ChevronRightIcon as ChevronRightIcon2 } from "lucide-react";
|
|
2806
2872
|
import { useContext as useContext6, useState as useState8 } from "react";
|
|
2807
|
-
import { Fragment as Fragment4, jsx as
|
|
2873
|
+
import { Fragment as Fragment4, jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
2808
2874
|
function AgentRow({
|
|
2809
2875
|
icon,
|
|
2810
2876
|
title,
|
|
@@ -2823,7 +2889,7 @@ function AgentRow({
|
|
|
2823
2889
|
const forcedDefaultOpen = useForcedDefaultOpen();
|
|
2824
2890
|
const [open, setOpen] = useState8(forcedDefaultOpen ?? false);
|
|
2825
2891
|
if (compact) {
|
|
2826
|
-
return /* @__PURE__ */
|
|
2892
|
+
return /* @__PURE__ */ jsx9(
|
|
2827
2893
|
ActivityDisclosure,
|
|
2828
2894
|
{
|
|
2829
2895
|
icon,
|
|
@@ -2840,14 +2906,14 @@ function AgentRow({
|
|
|
2840
2906
|
const openLabel = title.name ? t("timeline.agentRow.openName", { name: title.name }) : t("timeline.agentRow.openAgentSession");
|
|
2841
2907
|
const status = failed ? "failed" : cancelled ? "cancelled" : running ? "running" : void 0;
|
|
2842
2908
|
const inner = /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
|
2843
|
-
hasBody ? /* @__PURE__ */
|
|
2909
|
+
hasBody ? /* @__PURE__ */ jsx9(
|
|
2844
2910
|
ChevronRightIcon2,
|
|
2845
2911
|
{
|
|
2846
2912
|
"aria-hidden": true,
|
|
2847
2913
|
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
2914
|
}
|
|
2849
|
-
) : /* @__PURE__ */
|
|
2850
|
-
/* @__PURE__ */
|
|
2915
|
+
) : /* @__PURE__ */ jsx9("span", { className: "size-3.5 shrink-0", "aria-hidden": true }),
|
|
2916
|
+
/* @__PURE__ */ jsx9(
|
|
2851
2917
|
"span",
|
|
2852
2918
|
{
|
|
2853
2919
|
"aria-hidden": true,
|
|
@@ -2860,7 +2926,7 @@ function AgentRow({
|
|
|
2860
2926
|
),
|
|
2861
2927
|
/* @__PURE__ */ jsxs5("span", { className: "min-w-0 flex-1", children: [
|
|
2862
2928
|
/* @__PURE__ */ jsxs5("span", { className: "flex min-w-0 items-baseline gap-2", children: [
|
|
2863
|
-
/* @__PURE__ */
|
|
2929
|
+
/* @__PURE__ */ jsx9(
|
|
2864
2930
|
ShimmerText,
|
|
2865
2931
|
{
|
|
2866
2932
|
active: Boolean(running),
|
|
@@ -2869,15 +2935,15 @@ function AgentRow({
|
|
|
2869
2935
|
failed && "text-og-status-failed"
|
|
2870
2936
|
),
|
|
2871
2937
|
children: title.name ? /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
|
2872
|
-
title.before ? /* @__PURE__ */
|
|
2873
|
-
/* @__PURE__ */
|
|
2874
|
-
title.after ? /* @__PURE__ */
|
|
2875
|
-
] }) : /* @__PURE__ */
|
|
2938
|
+
title.before ? /* @__PURE__ */ jsx9("span", { className: "text-og-fg-muted", children: title.before }) : null,
|
|
2939
|
+
/* @__PURE__ */ jsx9("span", { className: cn("font-medium", failed ? void 0 : "text-og-fg"), children: title.name }),
|
|
2940
|
+
title.after ? /* @__PURE__ */ jsx9("span", { className: "text-og-fg-muted", children: title.after }) : null
|
|
2941
|
+
] }) : /* @__PURE__ */ jsx9("span", { className: cn("font-medium", failed ? void 0 : "text-og-fg"), children: title.text })
|
|
2876
2942
|
}
|
|
2877
2943
|
),
|
|
2878
|
-
meta ? /* @__PURE__ */
|
|
2944
|
+
meta ? /* @__PURE__ */ jsx9("span", { className: "shrink-0 text-og-xs text-og-fg-subtle tabular-nums", children: meta }) : null
|
|
2879
2945
|
] }),
|
|
2880
|
-
preview && !open ? /* @__PURE__ */
|
|
2946
|
+
preview && !open ? /* @__PURE__ */ jsx9(
|
|
2881
2947
|
"span",
|
|
2882
2948
|
{
|
|
2883
2949
|
"data-og-agent-preview": "",
|
|
@@ -2890,10 +2956,10 @@ function AgentRow({
|
|
|
2890
2956
|
) : null
|
|
2891
2957
|
] }),
|
|
2892
2958
|
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__ */
|
|
2959
|
+
/* @__PURE__ */ jsx9("span", { className: "size-1.5 rounded-full bg-og-status-failed" }),
|
|
2894
2960
|
t("timeline.agentRow.failed")
|
|
2895
|
-
] }) : cancelled ? /* @__PURE__ */
|
|
2896
|
-
canOpen && sessionId && onOpenSession ? /* @__PURE__ */
|
|
2961
|
+
] }) : 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,
|
|
2962
|
+
canOpen && sessionId && onOpenSession ? /* @__PURE__ */ jsx9(
|
|
2897
2963
|
"button",
|
|
2898
2964
|
{
|
|
2899
2965
|
type: "button",
|
|
@@ -2909,7 +2975,7 @@ function AgentRow({
|
|
|
2909
2975
|
"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
2976
|
"pointer-coarse:size-10"
|
|
2911
2977
|
),
|
|
2912
|
-
children: /* @__PURE__ */
|
|
2978
|
+
children: /* @__PURE__ */ jsx9(ArrowUpRightIcon, { "aria-hidden": true, className: "size-3.5" })
|
|
2913
2979
|
}
|
|
2914
2980
|
) : null
|
|
2915
2981
|
] });
|
|
@@ -2918,10 +2984,10 @@ function AgentRow({
|
|
|
2918
2984
|
"pointer-coarse:min-h-11 pointer-coarse:py-2.5"
|
|
2919
2985
|
);
|
|
2920
2986
|
if (!hasBody) {
|
|
2921
|
-
return /* @__PURE__ */
|
|
2987
|
+
return /* @__PURE__ */ jsx9("div", { "data-og-agent-row": "", "data-status": status, className: rowClass, children: inner });
|
|
2922
2988
|
}
|
|
2923
2989
|
return /* @__PURE__ */ jsxs5("div", { "data-og-agent-row": "", "data-status": status, children: [
|
|
2924
|
-
/* @__PURE__ */
|
|
2990
|
+
/* @__PURE__ */ jsx9(
|
|
2925
2991
|
"div",
|
|
2926
2992
|
{
|
|
2927
2993
|
role: "button",
|
|
@@ -2943,11 +3009,11 @@ function AgentRow({
|
|
|
2943
3009
|
children: inner
|
|
2944
3010
|
}
|
|
2945
3011
|
),
|
|
2946
|
-
open ? /* @__PURE__ */
|
|
3012
|
+
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
3013
|
] });
|
|
2948
3014
|
}
|
|
2949
3015
|
function AgentRowText({ children }) {
|
|
2950
|
-
return /* @__PURE__ */
|
|
3016
|
+
return /* @__PURE__ */ jsx9("p", { className: "whitespace-pre-wrap break-words", children });
|
|
2951
3017
|
}
|
|
2952
3018
|
function AgentRowSection({
|
|
2953
3019
|
label,
|
|
@@ -2955,8 +3021,8 @@ function AgentRowSection({
|
|
|
2955
3021
|
muted
|
|
2956
3022
|
}) {
|
|
2957
3023
|
return /* @__PURE__ */ jsxs5("div", { className: "min-w-0", children: [
|
|
2958
|
-
/* @__PURE__ */
|
|
2959
|
-
/* @__PURE__ */
|
|
3024
|
+
/* @__PURE__ */ jsx9("p", { className: "text-og-xs font-medium text-og-fg-subtle", children: label }),
|
|
3025
|
+
/* @__PURE__ */ jsx9(
|
|
2960
3026
|
"p",
|
|
2961
3027
|
{
|
|
2962
3028
|
className: cn("whitespace-pre-wrap break-words", muted ? "text-og-fg-muted" : "text-og-fg"),
|
|
@@ -2968,7 +3034,7 @@ function AgentRowSection({
|
|
|
2968
3034
|
|
|
2969
3035
|
// src/timeline/agent-identity.tsx
|
|
2970
3036
|
import { createContext as createContext5, useContext as useContext7, useMemo as useMemo2 } from "react";
|
|
2971
|
-
import { jsx as
|
|
3037
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
2972
3038
|
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
3039
|
var AGENT_TITLE_MAX_LENGTH = 80;
|
|
2974
3040
|
function isSessionId(value) {
|
|
@@ -3005,7 +3071,7 @@ function AgentIdentityProvider({
|
|
|
3005
3071
|
onOpenSession
|
|
3006
3072
|
};
|
|
3007
3073
|
}, [spawnTitleKey, resolveSessionTitle, onOpenSession]);
|
|
3008
|
-
return /* @__PURE__ */
|
|
3074
|
+
return /* @__PURE__ */ jsx10(AgentIdentityContext.Provider, { value, children });
|
|
3009
3075
|
}
|
|
3010
3076
|
|
|
3011
3077
|
// src/timeline/activity-rail.tsx
|
|
@@ -3014,7 +3080,7 @@ import { AnimatePresence, motion, useReducedMotion } from "motion/react";
|
|
|
3014
3080
|
// src/timeline/genie-loading.tsx
|
|
3015
3081
|
import { ThinkingOrb } from "thinking-orbs";
|
|
3016
3082
|
import { createContext as createContext6, useContext as useContext8, useEffect as useEffect5, useState as useState9 } from "react";
|
|
3017
|
-
import { jsx as
|
|
3083
|
+
import { jsx as jsx11, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
3018
3084
|
var GenieLoadingOptionsContext = createContext6(void 0);
|
|
3019
3085
|
var EMBEDDED_GENIE_LOADING = (t) => ({
|
|
3020
3086
|
phrases: [t("timeline.genieLoading.thinking")],
|
|
@@ -3049,7 +3115,7 @@ function GenieLoading({
|
|
|
3049
3115
|
if (options?.render && !notice)
|
|
3050
3116
|
return options.render({ startedAt, phase, detailsOpen, onShowDetails });
|
|
3051
3117
|
return /* @__PURE__ */ jsxs6("div", { className: "og-genie-loading", children: [
|
|
3052
|
-
/* @__PURE__ */
|
|
3118
|
+
/* @__PURE__ */ jsx11(
|
|
3053
3119
|
"div",
|
|
3054
3120
|
{
|
|
3055
3121
|
className: "og-genie-orb",
|
|
@@ -3059,12 +3125,12 @@ function GenieLoading({
|
|
|
3059
3125
|
height: options?.orb?.size ?? 64,
|
|
3060
3126
|
flexBasis: options?.orb?.size ?? 64
|
|
3061
3127
|
},
|
|
3062
|
-
children: /* @__PURE__ */
|
|
3128
|
+
children: /* @__PURE__ */ jsx11(ThinkingOrb, { state: "searching", size: 64, theme, speed: 0.8, ...options?.orb })
|
|
3063
3129
|
}
|
|
3064
3130
|
),
|
|
3065
3131
|
/* @__PURE__ */ jsxs6("div", { className: "og-genie-copy", children: [
|
|
3066
|
-
/* @__PURE__ */
|
|
3067
|
-
/* @__PURE__ */
|
|
3132
|
+
/* @__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"))) }),
|
|
3133
|
+
/* @__PURE__ */ jsx11(
|
|
3068
3134
|
"span",
|
|
3069
3135
|
{
|
|
3070
3136
|
className: "og-genie-phrase",
|
|
@@ -3083,7 +3149,7 @@ function GenieLoading({
|
|
|
3083
3149
|
onClick: onShowDetails,
|
|
3084
3150
|
children: [
|
|
3085
3151
|
detailsOpen ? options?.messages?.hideDetails ?? t("timeline.genieLoading.hideDetails") : options?.messages?.showDetails ?? (waiting ? t("timeline.genieLoading.showDetails") : t("timeline.genieLoading.behindTheMagic")),
|
|
3086
|
-
/* @__PURE__ */
|
|
3152
|
+
/* @__PURE__ */ jsx11("span", { "aria-hidden": "true", children: " \u2197" })
|
|
3087
3153
|
]
|
|
3088
3154
|
}
|
|
3089
3155
|
) : null
|
|
@@ -3093,7 +3159,7 @@ function GenieLoading({
|
|
|
3093
3159
|
|
|
3094
3160
|
// src/timeline/startup-dispatch-details.tsx
|
|
3095
3161
|
import { useEffect as useEffect6, useState as useState10 } from "react";
|
|
3096
|
-
import { jsx as
|
|
3162
|
+
import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
3097
3163
|
function StartupDispatchDetails({ wait }) {
|
|
3098
3164
|
const t = useOpenGeniText();
|
|
3099
3165
|
const [now, setNow] = useState10(Date.now);
|
|
@@ -3103,15 +3169,15 @@ function StartupDispatchDetails({ wait }) {
|
|
|
3103
3169
|
}, []);
|
|
3104
3170
|
const next = wait?.nextAttemptAt ? new Date(wait.nextAttemptAt) : null;
|
|
3105
3171
|
return /* @__PURE__ */ jsxs7("div", { className: "text-og-xs text-og-fg-muted", "data-og-startup-dispatch-details": "", children: [
|
|
3106
|
-
/* @__PURE__ */
|
|
3107
|
-
/* @__PURE__ */
|
|
3172
|
+
/* @__PURE__ */ jsx12("p", { children: t("timeline.startupDispatchDetails.yourMessagesAreSavedNo") }),
|
|
3173
|
+
/* @__PURE__ */ jsx12("p", { children: wait?.state === "pending" && next ? next.getTime() <= now ? t("timeline.startupDispatchDetails.automaticStartRetryIsDue") : t("timeline.startupDispatchDetails.automaticStartRetryAtLocaletimestring", {
|
|
3108
3174
|
localeTimeString: next.toLocaleTimeString(t.locale, {
|
|
3109
3175
|
hour: "2-digit",
|
|
3110
3176
|
minute: "2-digit"
|
|
3111
3177
|
})
|
|
3112
3178
|
}) : wait?.state === "acknowledged" ? t("timeline.startupDispatchDetails.theStartRequestWasAccepted") : t("timeline.startupDispatchDetails.startConfirmationIsUnavailable") }),
|
|
3113
|
-
wait && wait.attempts > 0 ? /* @__PURE__ */
|
|
3114
|
-
wait?.lastError ? /* @__PURE__ */
|
|
3179
|
+
wait && wait.attempts > 0 ? /* @__PURE__ */ jsx12("p", { children: t("timeline.startupDispatchDetails.dispatchAttempts", { count: wait.attempts }) }) : null,
|
|
3180
|
+
wait?.lastError ? /* @__PURE__ */ jsx12("p", { className: "max-h-32 overflow-y-auto whitespace-pre-wrap break-words", children: t("timeline.startupDispatchDetails.lastRecordedDispatchErrorLasterror", {
|
|
3115
3181
|
lastError: wait.lastError
|
|
3116
3182
|
}) }) : null
|
|
3117
3183
|
] });
|
|
@@ -3120,11 +3186,10 @@ function StartupDispatchDetails({ wait }) {
|
|
|
3120
3186
|
// src/timeline/activity-rail.tsx
|
|
3121
3187
|
import {
|
|
3122
3188
|
ArrowRightIcon,
|
|
3123
|
-
BotIcon,
|
|
3124
|
-
BrainCircuitIcon as
|
|
3189
|
+
BotIcon as BotIcon2,
|
|
3190
|
+
BrainCircuitIcon as BrainCircuitIcon4,
|
|
3125
3191
|
MessageSquareTextIcon,
|
|
3126
|
-
SendIcon
|
|
3127
|
-
WrenchIcon as WrenchIcon2
|
|
3192
|
+
SendIcon
|
|
3128
3193
|
} from "lucide-react";
|
|
3129
3194
|
import {
|
|
3130
3195
|
Component,
|
|
@@ -3141,7 +3206,7 @@ import { jsx as rowJsx, jsxs as rowJsxs } from "react/jsx-runtime";
|
|
|
3141
3206
|
|
|
3142
3207
|
// src/timeline/entrance.tsx
|
|
3143
3208
|
import { createContext as createContext7, useContext as useContext9, useRef as useRef2 } from "react";
|
|
3144
|
-
import { jsx as
|
|
3209
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
3145
3210
|
var EntranceAnimationContext = createContext7(true);
|
|
3146
3211
|
var EntranceAnimationLiveContext = createContext7(true);
|
|
3147
3212
|
function EntranceAnimationProvider({
|
|
@@ -3150,7 +3215,7 @@ function EntranceAnimationProvider({
|
|
|
3150
3215
|
children
|
|
3151
3216
|
}) {
|
|
3152
3217
|
const mountedValue = useRef2(value).current;
|
|
3153
|
-
return /* @__PURE__ */
|
|
3218
|
+
return /* @__PURE__ */ jsx13(EntranceAnimationContext.Provider, { value: mountedValue, children: /* @__PURE__ */ jsx13(EntranceAnimationLiveContext.Provider, { value: liveValue, children }) });
|
|
3154
3219
|
}
|
|
3155
3220
|
function useEntranceAnimationLive() {
|
|
3156
3221
|
return useContext9(EntranceAnimationLiveContext);
|
|
@@ -3170,9 +3235,9 @@ function useSeenActivityIds() {
|
|
|
3170
3235
|
}
|
|
3171
3236
|
|
|
3172
3237
|
// src/timeline/activity-rail.tsx
|
|
3173
|
-
import { Fragment as Fragment5, jsx as
|
|
3174
|
-
var LazyFleetDecisionRow = lazy2(() => import("./fleet-decision-row-
|
|
3175
|
-
var LazyPlatformActivityRow = lazy2(() => import("./platform-activity-row-
|
|
3238
|
+
import { Fragment as Fragment5, jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
3239
|
+
var LazyFleetDecisionRow = lazy2(() => import("./fleet-decision-row-NN2HXDX3.js"));
|
|
3240
|
+
var LazyPlatformActivityRow = lazy2(() => import("./platform-activity-row-ENQVIFTL.js"));
|
|
3176
3241
|
function familyOf(item) {
|
|
3177
3242
|
if (item.kind === "tool-call") {
|
|
3178
3243
|
return item.name === "exec_command" || item.name === "write_stdin" ? "terminal" : item.name;
|
|
@@ -3254,7 +3319,7 @@ function ActivityRail({
|
|
|
3254
3319
|
className
|
|
3255
3320
|
),
|
|
3256
3321
|
children: [
|
|
3257
|
-
/* @__PURE__ */
|
|
3322
|
+
/* @__PURE__ */ jsx14(AnimatePresence, { initial: false, children: loading && !debug ? /* @__PURE__ */ jsx14(
|
|
3258
3323
|
motion.div,
|
|
3259
3324
|
{
|
|
3260
3325
|
initial: { opacity: 0 },
|
|
@@ -3269,7 +3334,7 @@ function ActivityRail({
|
|
|
3269
3334
|
opacity: { duration: reducedMotion ? 0 : 0.16 }
|
|
3270
3335
|
},
|
|
3271
3336
|
style: { overflow: "hidden" },
|
|
3272
|
-
children: /* @__PURE__ */
|
|
3337
|
+
children: /* @__PURE__ */ jsx14(
|
|
3273
3338
|
GenieLoading,
|
|
3274
3339
|
{
|
|
3275
3340
|
startedAt,
|
|
@@ -3282,7 +3347,7 @@ function ActivityRail({
|
|
|
3282
3347
|
},
|
|
3283
3348
|
"startup"
|
|
3284
3349
|
) : null }),
|
|
3285
|
-
detailsOpen && !debug && !loading ? /* @__PURE__ */
|
|
3350
|
+
detailsOpen && !debug && !loading ? /* @__PURE__ */ jsx14(
|
|
3286
3351
|
"button",
|
|
3287
3352
|
{
|
|
3288
3353
|
type: "button",
|
|
@@ -3291,7 +3356,7 @@ function ActivityRail({
|
|
|
3291
3356
|
children: msg("timeline.activityRail.hideStartupDetails")
|
|
3292
3357
|
}
|
|
3293
3358
|
) : null,
|
|
3294
|
-
dispatch && (detailsOpen || debug) ? /* @__PURE__ */
|
|
3359
|
+
dispatch && (detailsOpen || debug) ? /* @__PURE__ */ jsx14(StartupDispatchDetails, { wait: dispatch.dispatchWait ?? null }) : null,
|
|
3295
3360
|
visibleItems.map((item, index) => {
|
|
3296
3361
|
const newFamily = index > 0 && familyOf(item) !== familyOf(visibleItems[index - 1]);
|
|
3297
3362
|
const row = renderActivity(
|
|
@@ -3303,7 +3368,7 @@ function ActivityRail({
|
|
|
3303
3368
|
loadRetainedScreenshot,
|
|
3304
3369
|
loadRetainedArtifact
|
|
3305
3370
|
);
|
|
3306
|
-
return /* @__PURE__ */
|
|
3371
|
+
return /* @__PURE__ */ jsx14(
|
|
3307
3372
|
"div",
|
|
3308
3373
|
{
|
|
3309
3374
|
"data-og-timeline-row-anchor": "",
|
|
@@ -3324,15 +3389,15 @@ function ActivityNoteRow({ item }) {
|
|
|
3324
3389
|
const renderText = useContext11(ActivityNoteTextContext);
|
|
3325
3390
|
if (!item.text.trim()) return null;
|
|
3326
3391
|
return /* @__PURE__ */ jsxs8("div", { className: "flex items-start gap-2 px-1.5 py-1.5", "data-og-activity-note": "", children: [
|
|
3327
|
-
/* @__PURE__ */
|
|
3328
|
-
/* @__PURE__ */
|
|
3329
|
-
/* @__PURE__ */
|
|
3392
|
+
/* @__PURE__ */ jsx14("span", { className: "size-3.5 shrink-0", "aria-hidden": true }),
|
|
3393
|
+
/* @__PURE__ */ jsx14(MessageSquareTextIcon, { "aria-hidden": true, className: "mt-1 size-3.5 shrink-0 text-og-fg-subtle" }),
|
|
3394
|
+
/* @__PURE__ */ jsx14(
|
|
3330
3395
|
"div",
|
|
3331
3396
|
{
|
|
3332
3397
|
className: "min-w-0 flex-1 text-og-sm text-og-fg-muted",
|
|
3333
3398
|
"data-og-search-item": item.id,
|
|
3334
3399
|
"data-og-annotation-source-key": item.annotationSource?.eventId,
|
|
3335
|
-
children: renderText ? renderText(item.text, item) : /* @__PURE__ */
|
|
3400
|
+
children: renderText ? renderText(item.text, item) : /* @__PURE__ */ jsx14(Markdown, { softLineBreaks: true, streaming: item.streaming, children: item.text })
|
|
3336
3401
|
}
|
|
3337
3402
|
)
|
|
3338
3403
|
] });
|
|
@@ -3345,14 +3410,14 @@ function renderActivity(msg, item, toolRegistry, onOpenSession, onMemoryClick, l
|
|
|
3345
3410
|
case "reasoning":
|
|
3346
3411
|
case "sandbox":
|
|
3347
3412
|
case "startup-phase":
|
|
3348
|
-
return /* @__PURE__ */
|
|
3413
|
+
return /* @__PURE__ */ jsx14(Suspense2, { fallback: null, children: /* @__PURE__ */ jsx14(
|
|
3349
3414
|
LazyPlatformActivityRow,
|
|
3350
3415
|
{
|
|
3351
3416
|
item,
|
|
3352
3417
|
d: ActivityDisclosure,
|
|
3353
3418
|
p: PayloadBlock,
|
|
3354
3419
|
t: (name) => toolDisplayName(msg, name),
|
|
3355
|
-
b:
|
|
3420
|
+
b: BotIcon2,
|
|
3356
3421
|
m: Markdown,
|
|
3357
3422
|
j: rowJsx,
|
|
3358
3423
|
s: rowJsxs
|
|
@@ -3364,7 +3429,7 @@ function renderActivity(msg, item, toolRegistry, onOpenSession, onMemoryClick, l
|
|
|
3364
3429
|
const outputPreview = item.outputPreview ?? null;
|
|
3365
3430
|
const exactFirst = outputPreview !== null && !rendersToolOutputPreview(Renderer, shown);
|
|
3366
3431
|
const Shown = exactFirst && (outputPreview.state === "error" || !outputPreview.load) ? toolRegistry.fallback : Renderer;
|
|
3367
|
-
return /* @__PURE__ */
|
|
3432
|
+
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
3433
|
Shown,
|
|
3369
3434
|
{
|
|
3370
3435
|
item: shown,
|
|
@@ -3374,9 +3439,9 @@ function renderActivity(msg, item, toolRegistry, onOpenSession, onMemoryClick, l
|
|
|
3374
3439
|
) }) }) });
|
|
3375
3440
|
}
|
|
3376
3441
|
case "worker":
|
|
3377
|
-
return /* @__PURE__ */
|
|
3442
|
+
return /* @__PURE__ */ jsx14(WorkerRow, { item, onOpenSession });
|
|
3378
3443
|
case "knowledge":
|
|
3379
|
-
return /* @__PURE__ */
|
|
3444
|
+
return /* @__PURE__ */ jsx14(
|
|
3380
3445
|
KnowledgeReceiptRow,
|
|
3381
3446
|
{
|
|
3382
3447
|
outcome: item.outcome,
|
|
@@ -3387,11 +3452,11 @@ function renderActivity(msg, item, toolRegistry, onOpenSession, onMemoryClick, l
|
|
|
3387
3452
|
}
|
|
3388
3453
|
);
|
|
3389
3454
|
case "memory":
|
|
3390
|
-
return /* @__PURE__ */
|
|
3455
|
+
return /* @__PURE__ */ jsx14(MemoryRow, { item, onMemoryClick });
|
|
3391
3456
|
case "agent-message":
|
|
3392
|
-
return /* @__PURE__ */
|
|
3457
|
+
return /* @__PURE__ */ jsx14(ActivityNoteRow, { item });
|
|
3393
3458
|
case "fleet-decision":
|
|
3394
|
-
return /* @__PURE__ */
|
|
3459
|
+
return /* @__PURE__ */ jsx14(Suspense2, { fallback: null, children: /* @__PURE__ */ jsx14(
|
|
3395
3460
|
LazyFleetDecisionRow,
|
|
3396
3461
|
{
|
|
3397
3462
|
item,
|
|
@@ -3415,10 +3480,10 @@ function ToolOutputExactRow({
|
|
|
3415
3480
|
useEffect7(() => {
|
|
3416
3481
|
if (pending) load?.();
|
|
3417
3482
|
}, [pending, load]);
|
|
3418
|
-
return /* @__PURE__ */
|
|
3483
|
+
return /* @__PURE__ */ jsx14("div", { "data-og-tool-output-loading": "", "aria-busy": "true", children: /* @__PURE__ */ jsx14(
|
|
3419
3484
|
ActivityDisclosure,
|
|
3420
3485
|
{
|
|
3421
|
-
icon: /* @__PURE__ */
|
|
3486
|
+
icon: /* @__PURE__ */ jsx14(ToolKindIcon, { kind: genericToolIconKind(item.name), className: "size-3.5" }),
|
|
3422
3487
|
title: toolDisplayName(msg, item.name, item.display),
|
|
3423
3488
|
preview: msg("timeline.toolRenderers.loadingOutput"),
|
|
3424
3489
|
expandable: false
|
|
@@ -3445,11 +3510,11 @@ function MemoryRow({
|
|
|
3445
3510
|
return /* @__PURE__ */ jsxs8(
|
|
3446
3511
|
ActivityDisclosure,
|
|
3447
3512
|
{
|
|
3448
|
-
icon: /* @__PURE__ */
|
|
3513
|
+
icon: /* @__PURE__ */ jsx14(BrainCircuitIcon4, { className: "size-3.5" }),
|
|
3449
3514
|
iconTone: "muted",
|
|
3450
3515
|
title: /* @__PURE__ */ jsxs8("span", { className: "inline-flex min-w-0 items-center gap-2", children: [
|
|
3451
|
-
/* @__PURE__ */
|
|
3452
|
-
kindLabel ? /* @__PURE__ */
|
|
3516
|
+
/* @__PURE__ */ jsx14("span", { className: "shrink-0", children: corrected ? msg("timeline.activityRail.updatedMemory") : msg("timeline.activityRail.savedToMemory") }),
|
|
3517
|
+
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
3518
|
] }),
|
|
3454
3519
|
preview: superseded ? item.replacementPreview : item.preview,
|
|
3455
3520
|
children: [
|
|
@@ -3457,21 +3522,21 @@ function MemoryRow({
|
|
|
3457
3522
|
// The correction as a before → after: the old memory struck through and
|
|
3458
3523
|
// dimmed, the new text in the ordinary body weight below it.
|
|
3459
3524
|
/* @__PURE__ */ jsxs8("div", { className: "flex flex-col gap-1.5", children: [
|
|
3460
|
-
/* @__PURE__ */
|
|
3461
|
-
/* @__PURE__ */
|
|
3525
|
+
/* @__PURE__ */ jsx14("p", { className: "whitespace-pre-wrap text-og-sm leading-6 text-og-fg-subtle line-through", children: item.preview }),
|
|
3526
|
+
/* @__PURE__ */ jsx14("p", { className: "whitespace-pre-wrap text-og-base leading-6 text-og-fg-muted", children: item.replacementPreview })
|
|
3462
3527
|
] })
|
|
3463
3528
|
) : corrected && item.action === "updated" ? (
|
|
3464
3529
|
// Edited in place, no replacement record: the memory is still live, so
|
|
3465
3530
|
// show its current text — NOT the archived treatment.
|
|
3466
3531
|
/* @__PURE__ */ jsxs8(Fragment5, { children: [
|
|
3467
|
-
/* @__PURE__ */
|
|
3468
|
-
/* @__PURE__ */
|
|
3532
|
+
/* @__PURE__ */ jsx14("p", { className: "whitespace-pre-wrap text-og-base leading-6 text-og-fg-muted", children: item.preview }),
|
|
3533
|
+
/* @__PURE__ */ jsx14(BodyNote, { tone: "muted", children: msg("timeline.activityRail.updatedInPlace") })
|
|
3469
3534
|
] })
|
|
3470
3535
|
) : corrected ? (
|
|
3471
3536
|
// A correction with no replacement (and not an in-place update) archived the record.
|
|
3472
|
-
/* @__PURE__ */
|
|
3473
|
-
) : /* @__PURE__ */
|
|
3474
|
-
item.deduped ? /* @__PURE__ */
|
|
3537
|
+
/* @__PURE__ */ jsx14(BodyNote, { tone: "muted", children: msg("timeline.activityRail.archived") })
|
|
3538
|
+
) : /* @__PURE__ */ jsx14("p", { className: "whitespace-pre-wrap text-og-base leading-6 text-og-fg-muted", children: item.preview }),
|
|
3539
|
+
item.deduped ? /* @__PURE__ */ jsx14(BodyNote, { tone: "muted", children: msg("timeline.activityRail.mergedIntoAnExistingMemory") }) : null,
|
|
3475
3540
|
deepLink ? /* @__PURE__ */ jsxs8(
|
|
3476
3541
|
"button",
|
|
3477
3542
|
{
|
|
@@ -3483,7 +3548,7 @@ function MemoryRow({
|
|
|
3483
3548
|
),
|
|
3484
3549
|
children: [
|
|
3485
3550
|
msg("timeline.activityRail.viewInMemory"),
|
|
3486
|
-
/* @__PURE__ */
|
|
3551
|
+
/* @__PURE__ */ jsx14(ArrowRightIcon, { className: "size-3.5 transition-transform duration-150 group-hover/memlink:translate-x-0.5" })
|
|
3487
3552
|
]
|
|
3488
3553
|
}
|
|
3489
3554
|
) : null
|
|
@@ -3506,10 +3571,10 @@ function WorkerRow({
|
|
|
3506
3571
|
const prompt = item.prompt?.trim() ? item.prompt.trim() : null;
|
|
3507
3572
|
const failure = failed ? item.failure : null;
|
|
3508
3573
|
const hasBody = Boolean(prompt) || Boolean(failure);
|
|
3509
|
-
return /* @__PURE__ */
|
|
3574
|
+
return /* @__PURE__ */ jsx14(
|
|
3510
3575
|
AgentRow,
|
|
3511
3576
|
{
|
|
3512
|
-
icon: item.action === "spawn" ? /* @__PURE__ */
|
|
3577
|
+
icon: item.action === "spawn" ? /* @__PURE__ */ jsx14(BotIcon2, {}) : /* @__PURE__ */ jsx14(SendIcon, {}),
|
|
3513
3578
|
title,
|
|
3514
3579
|
preview: failure ? failure.message : prompt ? truncate(prompt.replace(/\s+/g, " "), 240) : null,
|
|
3515
3580
|
sessionId: cancelled ? null : sessionId,
|
|
@@ -3518,21 +3583,21 @@ function WorkerRow({
|
|
|
3518
3583
|
failed,
|
|
3519
3584
|
cancelled,
|
|
3520
3585
|
children: hasBody ? /* @__PURE__ */ jsxs8(Fragment5, { children: [
|
|
3521
|
-
prompt ? /* @__PURE__ */
|
|
3586
|
+
prompt ? /* @__PURE__ */ jsx14(
|
|
3522
3587
|
AgentRowSection,
|
|
3523
3588
|
{
|
|
3524
3589
|
label: item.action === "spawn" ? msg("timeline.activityRail.brief") : msg("timeline.activityRail.message"),
|
|
3525
3590
|
children: prompt
|
|
3526
3591
|
}
|
|
3527
3592
|
) : null,
|
|
3528
|
-
failure ? /* @__PURE__ */
|
|
3593
|
+
failure ? /* @__PURE__ */ jsx14(AgentRowSection, { label: failure.code, muted: true, children: failure.message }) : null
|
|
3529
3594
|
] }) : void 0
|
|
3530
3595
|
}
|
|
3531
3596
|
);
|
|
3532
3597
|
}
|
|
3533
3598
|
function ToolRowRenderError({ name }) {
|
|
3534
3599
|
const t = useOpenGeniText();
|
|
3535
|
-
return /* @__PURE__ */
|
|
3600
|
+
return /* @__PURE__ */ jsx14(
|
|
3536
3601
|
"div",
|
|
3537
3602
|
{
|
|
3538
3603
|
"data-testid": "tool-row-render-error",
|
|
@@ -3554,7 +3619,7 @@ var ToolRowBoundary = class extends Component {
|
|
|
3554
3619
|
}
|
|
3555
3620
|
render() {
|
|
3556
3621
|
if (!this.state.failed) return this.props.children;
|
|
3557
|
-
return /* @__PURE__ */
|
|
3622
|
+
return /* @__PURE__ */ jsx14(ToolRowRenderError, { name: this.props.name });
|
|
3558
3623
|
}
|
|
3559
3624
|
};
|
|
3560
3625
|
|
|
@@ -3590,7 +3655,7 @@ function inheritFoldRestingState(memory, targetKey, sourceKeys) {
|
|
|
3590
3655
|
}
|
|
3591
3656
|
|
|
3592
3657
|
// src/timeline/turn-summary.tsx
|
|
3593
|
-
import { Fragment as Fragment6, jsx as
|
|
3658
|
+
import { Fragment as Fragment6, jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
3594
3659
|
var TurnSettleChromeContext = createContext11(false);
|
|
3595
3660
|
function useTurnSettleOpen() {
|
|
3596
3661
|
return useContext13(TurnSettleChromeContext);
|
|
@@ -3804,7 +3869,7 @@ function TurnSummary({
|
|
|
3804
3869
|
status && copyable && "max-sm:pr-10"
|
|
3805
3870
|
);
|
|
3806
3871
|
const headerContent = /* @__PURE__ */ jsxs9(Fragment6, { children: [
|
|
3807
|
-
expandable ? /* @__PURE__ */
|
|
3872
|
+
expandable ? /* @__PURE__ */ jsx15(
|
|
3808
3873
|
ChevronRightIcon3,
|
|
3809
3874
|
{
|
|
3810
3875
|
className: cn(
|
|
@@ -3812,8 +3877,8 @@ function TurnSummary({
|
|
|
3812
3877
|
settlePhase ? "duration-[var(--_og-duration-disclose-settle)]" : "duration-[var(--_og-duration-disclose)]"
|
|
3813
3878
|
)
|
|
3814
3879
|
}
|
|
3815
|
-
) : /* @__PURE__ */
|
|
3816
|
-
status || outcome === "complete" || !outcome && (liveHeader || context.settled) ? null : /* @__PURE__ */
|
|
3880
|
+
) : /* @__PURE__ */ jsx15("span", { "aria-hidden": true, className: "size-3.5 shrink-0" }),
|
|
3881
|
+
status || outcome === "complete" || !outcome && (liveHeader || context.settled) ? null : /* @__PURE__ */ jsx15(
|
|
3817
3882
|
"span",
|
|
3818
3883
|
{
|
|
3819
3884
|
className: cn(
|
|
@@ -3821,7 +3886,7 @@ function TurnSummary({
|
|
|
3821
3886
|
bare ? "size-3.5" : "size-5",
|
|
3822
3887
|
outcome === "failed" ? "text-og-status-failed" : "text-og-fg-subtle"
|
|
3823
3888
|
),
|
|
3824
|
-
children: outcome === "failed" ? /* @__PURE__ */
|
|
3889
|
+
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
3890
|
}
|
|
3826
3891
|
),
|
|
3827
3892
|
/* @__PURE__ */ jsxs9(
|
|
@@ -3834,10 +3899,10 @@ function TurnSummary({
|
|
|
3834
3899
|
),
|
|
3835
3900
|
children: [
|
|
3836
3901
|
statusLine,
|
|
3837
|
-
liveHeader && !open && !status ? liveHeader : !statusLine && facets.length === 0 && !failure && outcome !== "cancelled" ? turnSummaryFallbackLabel(t, context.items, unloadedSteps) : facets.map(({ facet, result }, index) => /* @__PURE__ */
|
|
3902
|
+
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
3903
|
index > 0 || statusLine ? " \xB7 " : null,
|
|
3839
3904
|
/* @__PURE__ */ jsxs9("span", { "aria-label": result.ariaLabel, title: result.title, children: [
|
|
3840
|
-
result.icon ? /* @__PURE__ */
|
|
3905
|
+
result.icon ? /* @__PURE__ */ jsx15("span", { "aria-hidden": true, className: "mr-1 inline-flex align-[-0.125em]", children: result.icon }) : null,
|
|
3841
3906
|
result.content
|
|
3842
3907
|
] })
|
|
3843
3908
|
] }) }, facet.id)),
|
|
@@ -3853,8 +3918,8 @@ function TurnSummary({
|
|
|
3853
3918
|
]
|
|
3854
3919
|
}
|
|
3855
3920
|
),
|
|
3856
|
-
status?.kind === "worked" ? /* @__PURE__ */
|
|
3857
|
-
status && status.kind !== "worked" && (contextCompactionCount ?? 0) > 0 ? /* @__PURE__ */
|
|
3921
|
+
status?.kind === "worked" ? /* @__PURE__ */ jsx15("span", { "aria-hidden": true, className: "ml-1 h-px min-w-0 flex-1 bg-og-border" }) : null,
|
|
3922
|
+
status && status.kind !== "worked" && (contextCompactionCount ?? 0) > 0 ? /* @__PURE__ */ jsx15(
|
|
3858
3923
|
ShrinkIcon,
|
|
3859
3924
|
{
|
|
3860
3925
|
className: "size-3.5 shrink-0",
|
|
@@ -3862,7 +3927,7 @@ function TurnSummary({
|
|
|
3862
3927
|
}
|
|
3863
3928
|
) : null
|
|
3864
3929
|
] });
|
|
3865
|
-
return /* @__PURE__ */
|
|
3930
|
+
return /* @__PURE__ */ jsx15(TurnSettleChromeContext.Provider, { value: settleChrome, children: /* @__PURE__ */ jsxs9("div", { className: cn(copyable && "group/copy relative"), children: [
|
|
3866
3931
|
/* @__PURE__ */ jsxs9(
|
|
3867
3932
|
Collapsible.Root,
|
|
3868
3933
|
{
|
|
@@ -3871,7 +3936,7 @@ function TurnSummary({
|
|
|
3871
3936
|
onOpenChange,
|
|
3872
3937
|
className: allowEnterAnimation && !liveShell ? "animate-og-enter" : void 0,
|
|
3873
3938
|
children: [
|
|
3874
|
-
expandable ? /* @__PURE__ */
|
|
3939
|
+
expandable ? /* @__PURE__ */ jsx15(
|
|
3875
3940
|
Collapsible.Trigger,
|
|
3876
3941
|
{
|
|
3877
3942
|
"data-og-work-header": bare ? "nested" : "outer",
|
|
@@ -3880,16 +3945,16 @@ function TurnSummary({
|
|
|
3880
3945
|
}
|
|
3881
3946
|
) : (
|
|
3882
3947
|
// Nothing to reveal: a plain status row, not a disclosure control.
|
|
3883
|
-
/* @__PURE__ */
|
|
3948
|
+
/* @__PURE__ */ jsx15("div", { "data-og-work-header": bare ? "nested" : "outer", className: headerClassName, children: headerContent })
|
|
3884
3949
|
),
|
|
3885
3950
|
status?.guidance ? (
|
|
3886
3951
|
// Guidance the reader needs stays visible in both fold states.
|
|
3887
|
-
/* @__PURE__ */
|
|
3952
|
+
/* @__PURE__ */ jsx15("div", { "data-og-exchange-guidance": "", className: "min-w-0 pb-1 pl-6", children: status.guidance })
|
|
3888
3953
|
) : null,
|
|
3889
3954
|
status && !open && status.preview ? (
|
|
3890
3955
|
// Readable progress under the status line; the line above stays
|
|
3891
3956
|
// the one disclosure control, so a click here is a mouse shortcut.
|
|
3892
|
-
/* @__PURE__ */
|
|
3957
|
+
/* @__PURE__ */ jsx15(
|
|
3893
3958
|
"div",
|
|
3894
3959
|
{
|
|
3895
3960
|
"data-og-exchange-preview": "",
|
|
@@ -3898,11 +3963,11 @@ function TurnSummary({
|
|
|
3898
3963
|
expandable && "cursor-pointer"
|
|
3899
3964
|
),
|
|
3900
3965
|
onClick: expandable ? () => onOpenChange(true) : void 0,
|
|
3901
|
-
children: status.preview ? /* @__PURE__ */
|
|
3966
|
+
children: status.preview ? /* @__PURE__ */ jsx15("div", { className: "min-w-0", children: status.preview }) : null
|
|
3902
3967
|
}
|
|
3903
3968
|
)
|
|
3904
3969
|
) : null,
|
|
3905
|
-
expandable ? /* @__PURE__ */
|
|
3970
|
+
expandable ? /* @__PURE__ */ jsx15(
|
|
3906
3971
|
Collapsible.Content,
|
|
3907
3972
|
{
|
|
3908
3973
|
...nestSuppressLatch ? { forceMount: true } : {},
|
|
@@ -3913,13 +3978,13 @@ function TurnSummary({
|
|
|
3913
3978
|
// Auto-close: slow settle. Manual close (settlePhase cleared): fast.
|
|
3914
3979
|
settlePhase ? "data-[state=closed]:animate-og-settle-collapse" : "data-[state=closed]:animate-og-collapse"
|
|
3915
3980
|
),
|
|
3916
|
-
children: /* @__PURE__ */
|
|
3981
|
+
children: /* @__PURE__ */ jsx15("div", { className: bare ? "pt-1 pl-5" : "pt-2", children })
|
|
3917
3982
|
}
|
|
3918
3983
|
) : null
|
|
3919
3984
|
]
|
|
3920
3985
|
}
|
|
3921
3986
|
),
|
|
3922
|
-
copyable ? /* @__PURE__ */
|
|
3987
|
+
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
3988
|
CopyButton,
|
|
3924
3989
|
{
|
|
3925
3990
|
text: copyText,
|
|
@@ -3939,8 +4004,8 @@ function turnSummaryStatusLine(t, status) {
|
|
|
3939
4004
|
}
|
|
3940
4005
|
const label = status.label ?? (status.kind === "working" ? t("timeline.turnSummary.working") : t("timeline.turnSummary.waiting"));
|
|
3941
4006
|
return /* @__PURE__ */ jsxs9("span", { "data-og-exchange-status": status.kind, children: [
|
|
3942
|
-
status.kind === "working" ? /* @__PURE__ */
|
|
3943
|
-
status.since ? /* @__PURE__ */
|
|
4007
|
+
status.kind === "working" ? /* @__PURE__ */ jsx15(ShimmerText, { children: label }) : /* @__PURE__ */ jsx15("span", { children: label }),
|
|
4008
|
+
status.since ? /* @__PURE__ */ jsx15(LiveElapsed, { since: status.since }) : null
|
|
3944
4009
|
] });
|
|
3945
4010
|
}
|
|
3946
4011
|
function LiveElapsed({ since }) {
|
|
@@ -3952,7 +4017,7 @@ function LiveElapsed({ since }) {
|
|
|
3952
4017
|
return () => clearInterval(timer);
|
|
3953
4018
|
}, []);
|
|
3954
4019
|
if (!Number.isFinite(startedAt)) return null;
|
|
3955
|
-
return /* @__PURE__ */
|
|
4020
|
+
return /* @__PURE__ */ jsx15("span", { className: "tabular-nums", children: ` \xB7 ${formatElapsed(t, Math.max(0, now - startedAt))}` });
|
|
3956
4021
|
}
|
|
3957
4022
|
var FacetRenderBoundary = class extends Component2 {
|
|
3958
4023
|
state = { failed: false };
|
|
@@ -3964,16 +4029,48 @@ var FacetRenderBoundary = class extends Component2 {
|
|
|
3964
4029
|
}
|
|
3965
4030
|
};
|
|
3966
4031
|
|
|
4032
|
+
// src/timeline/retained-loaders.ts
|
|
4033
|
+
function createWorkspaceRetainedArtifactLoader(client, workspaceId) {
|
|
4034
|
+
return async (artifact, signal, options) => {
|
|
4035
|
+
if (artifact.kind === "file" && options?.prefer !== "url") {
|
|
4036
|
+
const download2 = await client.downloadRetainedArtifact(workspaceId, artifact, { signal });
|
|
4037
|
+
return download2.bytes;
|
|
4038
|
+
}
|
|
4039
|
+
const download = await client.createRetainedArtifactDownloadUrl(workspaceId, artifact, {
|
|
4040
|
+
signal
|
|
4041
|
+
});
|
|
4042
|
+
return { url: download.url, expiresAt: download.expiresAt };
|
|
4043
|
+
};
|
|
4044
|
+
}
|
|
4045
|
+
function createSessionRetainedScreenshotLoader(client, workspaceId, sessionId) {
|
|
4046
|
+
return async (artifact, signal) => {
|
|
4047
|
+
const download = await client.downloadRetainedScreenshot(
|
|
4048
|
+
workspaceId,
|
|
4049
|
+
sessionId,
|
|
4050
|
+
artifact.artifactId,
|
|
4051
|
+
{ signal }
|
|
4052
|
+
);
|
|
4053
|
+
if (!download.metadata.available || !download.bytes) return null;
|
|
4054
|
+
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) {
|
|
4055
|
+
throw new Error("Retained screenshot receipt verification failed");
|
|
4056
|
+
}
|
|
4057
|
+
return download.bytes;
|
|
4058
|
+
};
|
|
4059
|
+
}
|
|
4060
|
+
function createWorkspaceRetainedVideoLoader(client, workspaceId) {
|
|
4061
|
+
return async (artifactId, signal) => await client.createVideoArtifactPlaybackSource(workspaceId, artifactId, { signal });
|
|
4062
|
+
}
|
|
4063
|
+
|
|
3967
4064
|
// src/timeline/learning-refusal-row.tsx
|
|
3968
|
-
import { BrainCircuitIcon as
|
|
4065
|
+
import { BrainCircuitIcon as BrainCircuitIcon5 } from "lucide-react";
|
|
3969
4066
|
import { createContext as createContext12, useContext as useContext14 } from "react";
|
|
3970
|
-
import { jsx as
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
3996
|
-
/* @__PURE__ */
|
|
3997
|
-
place && onOpen ? /* @__PURE__ */
|
|
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",
|
|
@@ -4010,22 +4107,12 @@ function LearningRefusalRow({ refusal }) {
|
|
|
4010
4107
|
}
|
|
4011
4108
|
|
|
4012
4109
|
export {
|
|
4013
|
-
createWorkspaceRetainedArtifactLoader,
|
|
4014
|
-
createSessionRetainedScreenshotLoader,
|
|
4015
|
-
createWorkspaceRetainedVideoLoader,
|
|
4016
|
-
ToolReviewHistoryProvider,
|
|
4017
4110
|
UNRECOVERABLE_TEXT,
|
|
4018
4111
|
ToolReviewFrame,
|
|
4019
4112
|
DeclineButton,
|
|
4020
4113
|
ToolActionReviewCard,
|
|
4021
4114
|
ToolActionReviewDetails,
|
|
4022
4115
|
KnowledgeActivityProvider,
|
|
4023
|
-
TimelineComputeLabelProvider,
|
|
4024
|
-
ProviderLogoProvider,
|
|
4025
|
-
gitFileDiffToPatch,
|
|
4026
|
-
PierreDiff,
|
|
4027
|
-
defaultToolRegistry,
|
|
4028
|
-
createDefaultToolRegistry,
|
|
4029
4116
|
AgentRow,
|
|
4030
4117
|
AgentRowText,
|
|
4031
4118
|
AgentRowSection,
|
|
@@ -4036,6 +4123,14 @@ export {
|
|
|
4036
4123
|
EMBEDDED_GENIE_LOADING,
|
|
4037
4124
|
setStartupDetails,
|
|
4038
4125
|
useStartupDetails,
|
|
4126
|
+
ToolReviewHistoryProvider,
|
|
4127
|
+
TimelineComputeLabelProvider,
|
|
4128
|
+
ProviderLogoProvider,
|
|
4129
|
+
ToolKindIcon,
|
|
4130
|
+
gitFileDiffToPatch,
|
|
4131
|
+
PierreDiff,
|
|
4132
|
+
defaultToolRegistry,
|
|
4133
|
+
createDefaultToolRegistry,
|
|
4039
4134
|
EntranceAnimationProvider,
|
|
4040
4135
|
useEntranceAnimation,
|
|
4041
4136
|
SeenActivityIdsProvider,
|
|
@@ -4047,7 +4142,10 @@ export {
|
|
|
4047
4142
|
inheritFoldRestingState,
|
|
4048
4143
|
useTurnSettleOpen,
|
|
4049
4144
|
TurnSummary,
|
|
4145
|
+
createWorkspaceRetainedArtifactLoader,
|
|
4146
|
+
createSessionRetainedScreenshotLoader,
|
|
4147
|
+
createWorkspaceRetainedVideoLoader,
|
|
4050
4148
|
LearningRefusalActionsProvider,
|
|
4051
4149
|
LearningRefusalRow
|
|
4052
4150
|
};
|
|
4053
|
-
//# sourceMappingURL=chunk-
|
|
4151
|
+
//# sourceMappingURL=chunk-7TCT7KPQ.js.map
|