@opengeni/react 4.4.1 → 4.5.1-canary.39832248373001
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/app-state.js +15 -15
- package/dist/app/components/Composer.js +19 -19
- package/dist/app/components/artifacts/artifact-browse-controls.js +3 -3
- package/dist/app/components/artifacts/artifact-library.js +9 -9
- package/dist/app/components/artifacts/artifact-page-chrome.js +2 -2
- package/dist/app/components/artifacts/chat-interactive-block.js +14 -14
- package/dist/app/components/artifacts/inline-chat-image.js +22 -21
- package/dist/app/components/artifacts/retained-file-preview.js +24 -23
- package/dist/app/components/artifacts/retained-text-preview.js +2 -2
- package/dist/app/components/artifacts/site-audience.js +2 -2
- package/dist/app/components/artifacts/site-conversations.js +14 -13
- package/dist/app/components/artifacts/site-data.js +4 -4
- package/dist/app/components/artifacts/site-publishing.js +20 -20
- package/dist/app/components/artifacts/site-settings.js +25 -25
- package/dist/app/components/billing-class-mark.js +3 -3
- package/dist/app/components/capabilities/capability-detail-sheet.js +6 -6
- package/dist/app/components/capabilities/capability-logo-source.js +8 -8
- package/dist/app/components/capabilities/connector-tool-permissions.js +3 -3
- package/dist/app/components/capabilities/native-connect-setup.js +8 -8
- package/dist/app/components/capabilities/prepared-mcp-setup-card.js +10 -10
- package/dist/app/components/capabilities/session-capability-card.js +43 -41
- package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
- package/dist/app/components/capabilities/session-chrome-card.js +20 -18
- package/dist/app/components/capabilities/session-custom-mcp-card.js +11 -11
- package/dist/app/components/capabilities/session-github-card.js +13 -13
- package/dist/app/components/capabilities/session-machine-card.js +19 -17
- package/dist/app/components/command-menu/chat-status.js +16 -15
- 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 +29 -107
- package/dist/app/components/command-menu/command-menu.js.map +1 -1
- package/dist/app/components/command-menu/shortcut-sheet.js +9 -9
- package/dist/app/components/composer-mobile-plus-panel.js +9 -9
- 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 +5 -5
- 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 +3 -3
- package/dist/app/components/follow-up-repository-menu-body.js +2 -2
- 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/machines/connect-machine-dialog.js +3 -3
- package/dist/app/components/markdown.js +5 -5
- package/dist/app/components/models/models-ui.js +3 -3
- package/dist/app/components/new-session-starters.js +2 -2
- package/dist/app/components/pickers.js +6 -6
- package/dist/app/components/rail/rail-context.js +3 -3
- package/dist/app/components/rail/rail-sections.js +51 -48
- package/dist/app/components/rail/session-header.js +29 -28
- package/dist/app/components/rail/session-list.js +50 -47
- 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 +17 -16
- package/dist/app/components/rail/session-shell.js +78 -75
- 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 +2 -2
- package/dist/app/components/session/agent-configuration-panel.js +18 -18
- package/dist/app/components/session/artifact-link-boundary.js +2 -2
- package/dist/app/components/session/artifact-session-page.js +5 -5
- package/dist/app/components/session/banners.js +7 -7
- package/dist/app/components/session/codex-account-indicator.js +10 -10
- package/dist/app/components/session/editable-artifacts-workspace.js +24 -24
- package/dist/app/components/session/failed-session-banner.js +6 -6
- package/dist/app/components/session/human-input.js +41 -37
- package/dist/app/components/session/inspector.js +61 -57
- package/dist/app/components/session/inspector.js.map +1 -1
- package/dist/app/components/session/message-actions.js +3 -3
- package/dist/app/components/session/message-resource-attachments.js +12 -11
- package/dist/app/components/session/message-resource-attachments.js.map +1 -1
- package/dist/app/components/session/model-account-indicator.js +9 -9
- package/dist/app/components/session/model-recovery-notice.js +3 -3
- package/dist/app/components/session/new-session-settings-menu.js +8 -8
- package/dist/app/components/session/sandbox-switcher.js +12 -12
- package/dist/app/components/session/sandbox-workspace.js +58 -54
- package/dist/app/components/session/search-markdown-highlight.js +6 -6
- package/dist/app/components/session/search-results-view.js +7 -7
- package/dist/app/components/session/session-admin-access.js +3 -3
- package/dist/app/components/session/session-admission-notice.js +5 -5
- package/dist/app/components/session/session-machine-access-notice.js +5 -5
- package/dist/app/components/session/session-search-dialog.js +8 -8
- package/dist/app/components/session/session-tenancy-control.d.ts +2 -0
- package/dist/app/components/session/session-tenancy-control.js +26 -11
- package/dist/app/components/session/session-tenancy-control.js.map +1 -1
- package/dist/app/components/session/session-usage-limit-section.js +4 -4
- package/dist/app/components/session/session-wait-status.js +8 -7
- 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 +13 -12
- package/dist/app/components/settings/row-select.js +3 -3
- package/dist/app/components/transcription-settings.js +4 -4
- package/dist/app/components/usage/usage-entry.js +5 -5
- package/dist/app/components/workspace-composer-plus.js +12 -12
- package/dist/app/embed/memory-navigation.js +2 -2
- package/dist/app/embed/session-app.js +196 -190
- package/dist/app/lib/actions/actions-provider.js +9 -9
- 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 +9 -9
- 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 +13 -12
- 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 +12 -11
- 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 +12 -11
- package/dist/app/lib/session-hover-facts.js +12 -11
- package/dist/app/lib/session-model.js +2 -2
- package/dist/app/lib/session-rail.js +8 -7
- package/dist/app/lib/session-rename.js +2 -2
- 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 +19 -12
- 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 +2 -2
- package/dist/app/lib/use-follow-up-repositories.js +2 -2
- 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 +5 -5
- package/dist/app/lib/use-workspace-model-catalog.js +7 -7
- package/dist/app/lib/use-workspace-rigs.js +7 -7
- package/dist/app/lib/workspace-navigation-preference.js +4 -4
- package/dist/app/lib/workspace-scope-context.js +3 -3
- package/dist/app/routes/artifacts.js +70 -87
- package/dist/app/routes/artifacts.js.map +1 -1
- package/dist/app/routes/retained-artifact.js +36 -35
- package/dist/app/routes/retained-artifact.js.map +1 -1
- package/dist/app/routes/session-unavailable.js +6 -4
- package/dist/app/routes/session.js +127 -123
- package/dist/app/routes/sessions-index-hydration.js +3 -3
- package/dist/app/routes/sessions-index.js +96 -94
- 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 +13 -13
- package/dist/{browser-viewer-RYYQSRTC.js → browser-viewer-VPK3CV2H.js} +7 -5
- package/dist/{chat-interactive-block-ABCRKXJ4.js → chat-interactive-block-AMDSW656.js} +5 -5
- package/dist/chunk-22GTC4MZ.js +15 -0
- package/dist/chunk-22GTC4MZ.js.map +1 -0
- package/dist/{chunk-RQDFYQHA.js → chunk-25LWDG5D.js} +6 -6
- package/dist/{chunk-U3HSFCON.js → chunk-2CKVVAGP.js} +15 -15
- package/dist/{chunk-F6LBGYS6.js → chunk-2DL6NJP5.js} +15 -15
- 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-TWXIFWBD.js → chunk-34EU25RL.js} +2 -2
- package/dist/{chunk-PTGRFAMH.js → chunk-3ABPIUCK.js} +2 -2
- package/dist/{chunk-722UO6YQ.js → chunk-3PEXVG4D.js} +2 -2
- package/dist/{chunk-N3ZP4IDU.js → chunk-45WYYFP6.js} +2 -2
- package/dist/{chunk-HOJGAJAB.js → chunk-4MQLGMV2.js} +5 -5
- package/dist/{chunk-L7YURQI2.js → chunk-4U4GXWXS.js} +3 -3
- package/dist/{chunk-63VGE4OH.js → chunk-5HIOVXOX.js} +3 -3
- package/dist/{chunk-GFUUFM2O.js → chunk-5M23GZA2.js} +3 -3
- 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-6W3LF3DB.js → chunk-5YFY4SFC.js} +2 -12
- package/dist/chunk-5YFY4SFC.js.map +1 -0
- package/dist/{chunk-I6VUUEXH.js → chunk-6AFSZKZA.js} +3 -3
- package/dist/{chunk-FBMU3VK5.js → chunk-6DCEDIF6.js} +2 -2
- package/dist/{chunk-5MZTJMZ3.js → chunk-6MRY2RUZ.js} +13 -7
- package/dist/chunk-6MRY2RUZ.js.map +1 -0
- package/dist/{chunk-4EONHNJU.js → chunk-6O4VWKSO.js} +2 -2
- package/dist/chunk-756MKA2J.js +45 -0
- package/dist/chunk-756MKA2J.js.map +1 -0
- package/dist/{chunk-BSX2R4CW.js → chunk-767WCGAX.js} +6 -6
- package/dist/{chunk-7KGKDWWR.js → chunk-7HFLYNWN.js} +2 -2
- package/dist/{chunk-OSVHU2WU.js → chunk-7IYAHFPE.js} +2 -2
- package/dist/{chunk-4EAF3HSD.js → chunk-7J7PZB4S.js} +2 -2
- package/dist/{chunk-ADJJQSYC.js → chunk-7PUFAH4I.js} +34 -32
- package/dist/chunk-7PUFAH4I.js.map +1 -0
- package/dist/{chunk-OR37STQZ.js → chunk-7R2JQHBX.js} +3 -3
- package/dist/{chunk-QM5H4FPT.js → chunk-7VN6VC3D.js} +3 -3
- package/dist/{chunk-HWDGJFM4.js → chunk-A2E3ZF6N.js} +4 -4
- package/dist/{chunk-RGW24ZZM.js → chunk-A6CK4ENG.js} +19 -17
- package/dist/chunk-A6CK4ENG.js.map +1 -0
- package/dist/{chunk-4432A3HQ.js → chunk-A6T4FGE7.js} +4 -4
- package/dist/{chunk-73SOCVLS.js → chunk-AIEXYO2X.js} +3 -3
- package/dist/{chunk-U7TC2XJQ.js → chunk-AJPW3SV4.js} +3 -3
- package/dist/{chunk-46VBQG2D.js → chunk-AOUCHCSB.js} +5 -5
- package/dist/{chunk-HDHK3SXK.js → chunk-AT4K4F6S.js} +2 -2
- package/dist/{chunk-TQGJN5UZ.js → chunk-AW3QEFOF.js} +140 -522
- package/dist/chunk-AW3QEFOF.js.map +1 -0
- package/dist/{chunk-HRJQAFKR.js → chunk-AX6YJA5U.js} +2 -2
- package/dist/{chunk-HO5Y2OOX.js → chunk-BLPXOHG6.js} +6 -6
- package/dist/{chunk-DT7BORXG.js → chunk-BMJTNPWK.js} +2 -2
- package/dist/{chunk-HIHO2QE7.js → chunk-BT2MVGHT.js} +2 -2
- package/dist/{chunk-AOLE4IRZ.js → chunk-C535KSTY.js} +2 -2
- package/dist/{chunk-IVOA3DXA.js → chunk-CB574ERL.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-NYZQ7LO7.js → chunk-CDUDKETD.js} +2 -2
- package/dist/{chunk-JTN3T4QN.js → chunk-D3RK3NGM.js} +4 -4
- package/dist/{chunk-IOKSNX74.js → chunk-D5OWJZQR.js} +2 -2
- package/dist/{chunk-BJIZ7PL7.js → chunk-D64Z4V26.js} +145 -29
- package/dist/chunk-D64Z4V26.js.map +1 -0
- package/dist/{chunk-XWWXIZFP.js → chunk-DFXZYNTX.js} +7 -7
- package/dist/{chunk-SQGXMHJO.js → chunk-DGLRZMXL.js} +3 -3
- package/dist/{chunk-GNEHAPKV.js → chunk-DJFTH2DI.js} +3 -3
- package/dist/{chunk-KWKGBGAF.js → chunk-DKCX643S.js} +11 -11
- package/dist/{chunk-HQG4SLTE.js → chunk-DYJGYGPB.js} +2 -2
- package/dist/{chunk-GTQ3SNEI.js → chunk-E36IC3LU.js} +2 -2
- package/dist/{chunk-CVG4FILQ.js → chunk-ECHYJP63.js} +253 -1008
- package/dist/chunk-ECHYJP63.js.map +1 -0
- package/dist/{chunk-Q35DT6I6.js → chunk-EH7TTYE6.js} +179 -170
- package/dist/chunk-EH7TTYE6.js.map +1 -0
- package/dist/{chunk-72J6C2AJ.js → chunk-EMCB6XKU.js} +2 -2
- package/dist/{chunk-3AA6RNGE.js → chunk-ENS6E4RZ.js} +2 -2
- package/dist/{chunk-AG7VGUIW.js → chunk-ERG355NM.js} +3 -3
- package/dist/{chunk-TSBE4KOQ.js → chunk-EWL6NDOO.js} +3 -3
- package/dist/{chunk-Z5WMLJKI.js → chunk-F2RMKGDQ.js} +89 -1
- package/dist/chunk-F2RMKGDQ.js.map +1 -0
- package/dist/{chunk-X7L4H4VG.js → chunk-F33EDYS7.js} +524 -426
- package/dist/chunk-F33EDYS7.js.map +1 -0
- package/dist/{chunk-HTT3FB7T.js → chunk-F3FN6DO6.js} +2 -2
- package/dist/{chunk-ST22GONV.js → chunk-FB3B45FP.js} +11 -11
- package/dist/{chunk-P5T36BA3.js → chunk-FRP64DEK.js} +2 -2
- package/dist/{chunk-KBF3SE7G.js → chunk-FSP334UU.js} +2 -2
- package/dist/{chunk-4VKA5O7T.js → chunk-FVL4B552.js} +9 -9
- package/dist/{chunk-VP62LPLW.js → chunk-G2BX56CN.js} +5 -5
- package/dist/{chunk-CSHBR2IZ.js → chunk-GDLDBR6B.js} +2 -2
- package/dist/{chunk-PN66T6JA.js → chunk-GFSOXB2K.js} +2 -2
- package/dist/{chunk-S4EZ3JUB.js → chunk-GZGQHQI7.js} +29 -29
- package/dist/chunk-H4IE2PYF.js +792 -0
- package/dist/chunk-H4IE2PYF.js.map +1 -0
- package/dist/{chunk-XFNLU7EW.js → chunk-H5M33DAL.js} +15 -6
- package/dist/chunk-H5M33DAL.js.map +1 -0
- package/dist/{chunk-BXRIQZAH.js → chunk-HNNM2GDN.js} +3 -3
- package/dist/{chunk-EU6XSQFM.js → chunk-HPB4KSV3.js} +2 -2
- package/dist/{chunk-QCD5Y7K5.js → chunk-HSQRYJ4P.js} +5 -5
- package/dist/{chunk-YXOKAG66.js → chunk-HUXDGWAN.js} +2 -2
- package/dist/{chunk-VUHPA3XQ.js → chunk-I66ZB6KD.js} +3 -3
- package/dist/{chunk-7CZTKBTI.js → chunk-IC7KNOBB.js} +5 -5
- package/dist/{chunk-KF3MF6FP.js → chunk-IECRGM6K.js} +3 -2
- package/dist/chunk-IECRGM6K.js.map +1 -0
- package/dist/{chunk-HGMWMK5K.js → chunk-IIO2MR3B.js} +2 -2
- 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-O756O2I7.js → chunk-IPPVX5GF.js} +1 -1
- package/dist/{chunk-X7ASQHR6.js → chunk-IUK5QGP5.js} +2 -2
- package/dist/{chunk-5JZYPZ72.js → chunk-JFK7NTEA.js} +4 -4
- package/dist/chunk-JFK7NTEA.js.map +1 -0
- package/dist/{chunk-PIVGX42P.js → chunk-JNY5MT3I.js} +2 -2
- package/dist/chunk-JRSNCSZN.js +37 -0
- package/dist/chunk-JRSNCSZN.js.map +1 -0
- package/dist/{chunk-DDK4WFJ3.js → chunk-JWN7SLTO.js} +9 -9
- package/dist/{chunk-Q35YZVDZ.js → chunk-KFWVBTUH.js} +3 -3
- package/dist/{chunk-JXT5QDJC.js → chunk-KNFDWNCH.js} +5 -5
- 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-RSNYGEVZ.js → chunk-LKJ2C7PH.js} +8 -8
- package/dist/{chunk-RIMKJBCD.js → chunk-LMPTC4CX.js} +2 -2
- package/dist/{chunk-3KVWXKD6.js → chunk-LQ47YL6E.js} +2 -2
- package/dist/{chunk-GAIM5RNE.js → chunk-MJQBC7C5.js} +3 -3
- package/dist/{chunk-NWZW2WHN.js → chunk-MM7OKOTE.js} +6 -6
- 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-XRRSFQEV.js → chunk-NAZZLAWX.js} +2 -2
- package/dist/{chunk-XOFUXMPP.js → chunk-ND2WCWXI.js} +4 -4
- package/dist/{chunk-6L7U46Y2.js → chunk-NKNVIO66.js} +2 -2
- package/dist/{chunk-JKUICTLM.js → chunk-NLAFNMPK.js} +2 -2
- package/dist/{chunk-OO2T63BY.js → chunk-NML44AW2.js} +2 -2
- package/dist/chunk-NQQKOJDI.js +89 -0
- package/dist/chunk-NQQKOJDI.js.map +1 -0
- package/dist/{chunk-4LKNIGHB.js → chunk-O2SBHS2N.js} +2 -2
- package/dist/{chunk-RA3FNMWF.js → chunk-O4DYOSOL.js} +5 -5
- package/dist/{chunk-ZKYYZH6L.js → chunk-OFB6TUDC.js} +4 -4
- package/dist/{chunk-DWPOQ3S5.js → chunk-OTMWHZBY.js} +2 -2
- package/dist/{chunk-VVCDB2T7.js → chunk-PCJLH45G.js} +3 -3
- package/dist/{chunk-WSMYOLHG.js → chunk-PEKPWK5M.js} +2 -2
- package/dist/{chunk-PZ24CYDO.js → chunk-PFAUGEV5.js} +2 -2
- package/dist/{chunk-KTRKZRID.js → chunk-PKEKZ2VA.js} +5 -5
- package/dist/{chunk-6JKZILLF.js → chunk-PMD7V4N7.js} +3 -3
- package/dist/{chunk-B74GSYR6.js → chunk-PUTS4DYW.js} +2 -2
- package/dist/{chunk-ZRJCGBVV.js → chunk-PVR5EELP.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-FLGUVRR7.js → chunk-QBADR2FO.js} +6 -6
- package/dist/{chunk-TGVVEGZG.js → chunk-QLIDZGPV.js} +6 -6
- 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-6PQNLL4E.js → chunk-R7XCJWCD.js} +11 -11
- package/dist/{chunk-4R3JCVID.js → chunk-RAMZTZOB.js} +360 -103
- package/dist/chunk-RAMZTZOB.js.map +1 -0
- package/dist/{chunk-QRVNI5V6.js → chunk-SCNEQFIW.js} +3 -3
- package/dist/{chunk-BNUPYHHZ.js → chunk-SD4PPZFB.js} +4 -4
- package/dist/{chunk-ROQOVH4N.js → chunk-SFAU5R5S.js} +3 -3
- package/dist/{chunk-R63QEVPK.js → chunk-SJORXXLV.js} +6 -6
- package/dist/{chunk-FBE6AIIW.js → chunk-SOKNCW5U.js} +2 -2
- package/dist/{chunk-JRXHSVD5.js → chunk-SOXZ4LGS.js} +68 -11
- package/dist/chunk-SOXZ4LGS.js.map +1 -0
- package/dist/{chunk-EF5SYXAY.js → chunk-SQDPHCK2.js} +22 -14
- package/dist/chunk-SQDPHCK2.js.map +1 -0
- package/dist/{chunk-NDF3SH3X.js → chunk-TDIOBPLA.js} +5 -5
- package/dist/{chunk-EHCUFCXM.js → chunk-TEPPPAJI.js} +17 -7
- package/dist/chunk-TEPPPAJI.js.map +1 -0
- package/dist/{chunk-33TPANCR.js → chunk-TFK4KFKA.js} +4 -4
- package/dist/{chunk-6NIB2KGJ.js → chunk-THVIT3PW.js} +22 -22
- package/dist/{chunk-HPPKLBTJ.js → chunk-TJQDL3JH.js} +2 -2
- package/dist/{chunk-FD4Q5KFL.js → chunk-TLL22FFO.js} +2 -2
- package/dist/{chunk-7DU35P5J.js → chunk-TN5T5HRZ.js} +7 -7
- package/dist/{chunk-JK7C5A4I.js → chunk-TR4HIKJ2.js} +8 -8
- package/dist/{chunk-HNYJEAES.js → chunk-UGEWCWVV.js} +3 -3
- 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-AD22P5X3.js → chunk-UUSAOIJR.js} +3 -3
- package/dist/{chunk-Z6DKXQG7.js → chunk-UXXFMF4X.js} +2 -2
- package/dist/{chunk-RGPYMHKI.js → chunk-V3K4RQO7.js} +9 -3
- package/dist/chunk-V3K4RQO7.js.map +1 -0
- package/dist/{chunk-UP4BE32Y.js → chunk-VO6RVVP7.js} +5 -5
- package/dist/{chunk-S4SC5SSV.js → chunk-VPNXQUUS.js} +11 -11
- package/dist/{chunk-7BST7BA6.js → chunk-VW3BBTMA.js} +1 -1
- package/dist/{chunk-CBY5CXBD.js → chunk-VWSFA4LJ.js} +2 -2
- 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-5JEIDFPD.js → chunk-WBPQ7OPC.js} +1 -1
- package/dist/{chunk-GZLLDA6P.js → chunk-WEFN327U.js} +2 -2
- package/dist/{chunk-ANHUMDJX.js → chunk-WNDTLK44.js} +2 -2
- package/dist/{chunk-DLOYMWUQ.js → chunk-WSLPZ43N.js} +7 -7
- package/dist/{chunk-2DS4UOYQ.js → chunk-WSZQNTVN.js} +2 -2
- package/dist/{chunk-LE2EDBXU.js → chunk-WUHB422G.js} +5 -5
- package/dist/{chunk-BJW7G6EF.js → chunk-WVX5AQXS.js} +3 -3
- package/dist/{chunk-5POTDNQT.js → chunk-WWOHORRO.js} +3 -3
- package/dist/{chunk-4W7VISE7.js → chunk-WYDZP5F2.js} +93 -94
- package/dist/chunk-WYDZP5F2.js.map +1 -0
- package/dist/{chunk-KZHW27BV.js → chunk-WYEPUXGL.js} +2 -2
- package/dist/{chunk-GALB2G3W.js → chunk-X2AH4DRF.js} +2 -2
- package/dist/{chunk-NCX5SAQY.js → chunk-XN6CALYY.js} +9 -9
- package/dist/{chunk-SUVEDKE2.js → chunk-XNACICAB.js} +3 -3
- package/dist/{chunk-FDNJVZRE.js → chunk-XU4I47IP.js} +4 -4
- package/dist/chunk-XV6ZYRHK.js +59 -0
- package/dist/chunk-XV6ZYRHK.js.map +1 -0
- 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-U36PO27Q.js → chunk-YG3IJCM2.js} +3 -3
- package/dist/{chunk-UWJ5P5CU.js → chunk-YGSJWWT3.js} +3 -3
- package/dist/{chunk-APU42QDI.js → chunk-YO64YVYL.js} +105 -101
- package/dist/chunk-YO64YVYL.js.map +1 -0
- package/dist/{chunk-P5WABK2H.js → chunk-Z4GJB24B.js} +2 -2
- package/dist/{chunk-NLMTNEWW.js → chunk-Z6E6TUAE.js} +2 -2
- package/dist/{chunk-OBQVTCTW.js → chunk-ZX5H7LWD.js} +2 -2
- package/dist/components/browser-viewer.d.ts +1 -1
- package/dist/composer.js +8 -8
- package/dist/{computer-viewer-KEDVLD42.js → computer-viewer-VA5JONUH.js} +6 -6
- package/dist/connect.js +7 -7
- package/dist/desktop.js +2 -2
- package/dist/editor.js +2 -2
- package/dist/{embedded-new-voice-LFHWWYD2.js → embedded-new-voice-6BILAOUG.js} +6 -6
- package/dist/{embedded-voice-6QS4ANNX.js → embedded-voice-UDE4JRKB.js} +6 -6
- 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 +86 -80
- package/dist/interaction.js +8 -6
- package/dist/interaction.js.map +1 -1
- package/dist/{latest-question-AW3PPDUM.js → latest-question-4WDBECXB.js} +4 -3
- package/dist/{latest-question-AW3PPDUM.js.map → latest-question-4WDBECXB.js.map} +1 -1
- package/dist/machines.js +4 -4
- 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-NRTO6FRP.js} +4 -4
- package/dist/{platform-activity-row-BMXXNZKX.js → platform-activity-row-ENQVIFTL.js} +2 -2
- package/dist/{queue-surface-implementation-2X5AXB6I.js → queue-surface-implementation-H4XSNHZE.js} +8 -6
- package/dist/{queue-surface-implementation-2X5AXB6I.js.map → queue-surface-implementation-H4XSNHZE.js.map} +1 -1
- package/dist/realtime.js +5 -5
- package/dist/{sandbox-files-4FBG3GS2.js → sandbox-files-IEHODU35.js} +9 -9
- package/dist/sandbox-files-IEHODU35.js.map +1 -0
- package/dist/session-app.js +198 -192
- package/dist/session-list-model.d.ts +1 -0
- package/dist/session-list-model.js +7 -1
- 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 +48 -43
- package/dist/session.js +20 -18
- 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-annotation-markers-X4K2IEOO.js → timeline-annotation-markers-ZSOFW7PG.js} +2 -2
- package/dist/{timeline-annotation-selection-MEHBW676.js → timeline-annotation-selection-YWV2UC34.js} +2 -2
- package/dist/{timeline-annotations-dialog-U2FPQ3UY.js → timeline-annotations-dialog-ZWQVX2HI.js} +3 -3
- package/dist/timeline-model.js +16 -14
- package/dist/ui/access-list.js +7 -7
- package/dist/ui/cadence-picker.js +2 -2
- package/dist/ui/list-row.js +3 -3
- package/dist/ui/revision-history.js +2 -2
- package/dist/ui/role-select.js +3 -3
- package/dist/ui/select-menu.js +2 -2
- package/dist/usage.js +3 -3
- package/dist/workbench.js +4 -4
- package/package.json +4 -4
- package/src/app/app-state.tsx +3 -1
- package/src/app/components/capabilities/session-machine-card.tsx +9 -2
- 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 +11 -6
- 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/styles/compiled.css +38 -0
- package/dist/chunk-22ZBT6CN.js +0 -50
- package/dist/chunk-22ZBT6CN.js.map +0 -1
- package/dist/chunk-4R3JCVID.js.map +0 -1
- package/dist/chunk-4W7VISE7.js.map +0 -1
- package/dist/chunk-5JZYPZ72.js.map +0 -1
- package/dist/chunk-5MZTJMZ3.js.map +0 -1
- package/dist/chunk-6W3LF3DB.js.map +0 -1
- package/dist/chunk-ADJJQSYC.js.map +0 -1
- package/dist/chunk-APU42QDI.js.map +0 -1
- package/dist/chunk-BJIZ7PL7.js.map +0 -1
- package/dist/chunk-CVG4FILQ.js.map +0 -1
- package/dist/chunk-EF5SYXAY.js.map +0 -1
- package/dist/chunk-EHCUFCXM.js.map +0 -1
- package/dist/chunk-GZ64CASI.js.map +0 -1
- package/dist/chunk-JRXHSVD5.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-PM3OSANE.js.map +0 -1
- package/dist/chunk-Q35DT6I6.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-RGW24ZZM.js.map +0 -1
- package/dist/chunk-TQGJN5UZ.js.map +0 -1
- package/dist/chunk-X7L4H4VG.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/lib/console-site.js.map} +0 -0
- /package/dist/{chat-interactive-block-ABCRKXJ4.js.map → app/lib/site-opened.js.map} +0 -0
- /package/dist/{computer-viewer-KEDVLD42.js.map → browser-viewer-VPK3CV2H.js.map} +0 -0
- /package/dist/{embedded-new-voice-LFHWWYD2.js.map → chat-interactive-block-AMDSW656.js.map} +0 -0
- /package/dist/{chunk-RQDFYQHA.js.map → chunk-25LWDG5D.js.map} +0 -0
- /package/dist/{chunk-U3HSFCON.js.map → chunk-2CKVVAGP.js.map} +0 -0
- /package/dist/{chunk-F6LBGYS6.js.map → chunk-2DL6NJP5.js.map} +0 -0
- /package/dist/{chunk-UHFWF6ZU.js.map → chunk-2FPS5H2D.js.map} +0 -0
- /package/dist/{chunk-TWXIFWBD.js.map → chunk-34EU25RL.js.map} +0 -0
- /package/dist/{chunk-PTGRFAMH.js.map → chunk-3ABPIUCK.js.map} +0 -0
- /package/dist/{chunk-722UO6YQ.js.map → chunk-3PEXVG4D.js.map} +0 -0
- /package/dist/{chunk-N3ZP4IDU.js.map → chunk-45WYYFP6.js.map} +0 -0
- /package/dist/{chunk-HOJGAJAB.js.map → chunk-4MQLGMV2.js.map} +0 -0
- /package/dist/{chunk-L7YURQI2.js.map → chunk-4U4GXWXS.js.map} +0 -0
- /package/dist/{chunk-63VGE4OH.js.map → chunk-5HIOVXOX.js.map} +0 -0
- /package/dist/{chunk-GFUUFM2O.js.map → chunk-5M23GZA2.js.map} +0 -0
- /package/dist/{chunk-RKB2Z457.js.map → chunk-5VGJXWQ2.js.map} +0 -0
- /package/dist/{chunk-I6VUUEXH.js.map → chunk-6AFSZKZA.js.map} +0 -0
- /package/dist/{chunk-FBMU3VK5.js.map → chunk-6DCEDIF6.js.map} +0 -0
- /package/dist/{chunk-4EONHNJU.js.map → chunk-6O4VWKSO.js.map} +0 -0
- /package/dist/{chunk-BSX2R4CW.js.map → chunk-767WCGAX.js.map} +0 -0
- /package/dist/{chunk-7KGKDWWR.js.map → chunk-7HFLYNWN.js.map} +0 -0
- /package/dist/{chunk-OSVHU2WU.js.map → chunk-7IYAHFPE.js.map} +0 -0
- /package/dist/{chunk-4EAF3HSD.js.map → chunk-7J7PZB4S.js.map} +0 -0
- /package/dist/{chunk-OR37STQZ.js.map → chunk-7R2JQHBX.js.map} +0 -0
- /package/dist/{chunk-QM5H4FPT.js.map → chunk-7VN6VC3D.js.map} +0 -0
- /package/dist/{chunk-HWDGJFM4.js.map → chunk-A2E3ZF6N.js.map} +0 -0
- /package/dist/{chunk-4432A3HQ.js.map → chunk-A6T4FGE7.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-46VBQG2D.js.map → chunk-AOUCHCSB.js.map} +0 -0
- /package/dist/{chunk-HDHK3SXK.js.map → chunk-AT4K4F6S.js.map} +0 -0
- /package/dist/{chunk-HRJQAFKR.js.map → chunk-AX6YJA5U.js.map} +0 -0
- /package/dist/{chunk-HO5Y2OOX.js.map → chunk-BLPXOHG6.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-AOLE4IRZ.js.map → chunk-C535KSTY.js.map} +0 -0
- /package/dist/{chunk-IVOA3DXA.js.map → chunk-CB574ERL.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-NYZQ7LO7.js.map → chunk-CDUDKETD.js.map} +0 -0
- /package/dist/{chunk-JTN3T4QN.js.map → chunk-D3RK3NGM.js.map} +0 -0
- /package/dist/{chunk-IOKSNX74.js.map → chunk-D5OWJZQR.js.map} +0 -0
- /package/dist/{chunk-XWWXIZFP.js.map → chunk-DFXZYNTX.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-KWKGBGAF.js.map → chunk-DKCX643S.js.map} +0 -0
- /package/dist/{chunk-HQG4SLTE.js.map → chunk-DYJGYGPB.js.map} +0 -0
- /package/dist/{chunk-GTQ3SNEI.js.map → chunk-E36IC3LU.js.map} +0 -0
- /package/dist/{chunk-72J6C2AJ.js.map → chunk-EMCB6XKU.js.map} +0 -0
- /package/dist/{chunk-3AA6RNGE.js.map → chunk-ENS6E4RZ.js.map} +0 -0
- /package/dist/{chunk-AG7VGUIW.js.map → chunk-ERG355NM.js.map} +0 -0
- /package/dist/{chunk-TSBE4KOQ.js.map → chunk-EWL6NDOO.js.map} +0 -0
- /package/dist/{chunk-HTT3FB7T.js.map → chunk-F3FN6DO6.js.map} +0 -0
- /package/dist/{chunk-ST22GONV.js.map → chunk-FB3B45FP.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-4VKA5O7T.js.map → chunk-FVL4B552.js.map} +0 -0
- /package/dist/{chunk-VP62LPLW.js.map → chunk-G2BX56CN.js.map} +0 -0
- /package/dist/{chunk-CSHBR2IZ.js.map → chunk-GDLDBR6B.js.map} +0 -0
- /package/dist/{chunk-PN66T6JA.js.map → chunk-GFSOXB2K.js.map} +0 -0
- /package/dist/{chunk-S4EZ3JUB.js.map → chunk-GZGQHQI7.js.map} +0 -0
- /package/dist/{chunk-BXRIQZAH.js.map → chunk-HNNM2GDN.js.map} +0 -0
- /package/dist/{chunk-EU6XSQFM.js.map → chunk-HPB4KSV3.js.map} +0 -0
- /package/dist/{chunk-QCD5Y7K5.js.map → chunk-HSQRYJ4P.js.map} +0 -0
- /package/dist/{chunk-YXOKAG66.js.map → chunk-HUXDGWAN.js.map} +0 -0
- /package/dist/{chunk-VUHPA3XQ.js.map → chunk-I66ZB6KD.js.map} +0 -0
- /package/dist/{chunk-7CZTKBTI.js.map → chunk-IC7KNOBB.js.map} +0 -0
- /package/dist/{chunk-HGMWMK5K.js.map → chunk-IIO2MR3B.js.map} +0 -0
- /package/dist/{chunk-L6RXRRN3.js.map → chunk-ILDOW2IQ.js.map} +0 -0
- /package/dist/{chunk-O756O2I7.js.map → chunk-IPPVX5GF.js.map} +0 -0
- /package/dist/{chunk-X7ASQHR6.js.map → chunk-IUK5QGP5.js.map} +0 -0
- /package/dist/{chunk-PIVGX42P.js.map → chunk-JNY5MT3I.js.map} +0 -0
- /package/dist/{chunk-DDK4WFJ3.js.map → chunk-JWN7SLTO.js.map} +0 -0
- /package/dist/{chunk-Q35YZVDZ.js.map → chunk-KFWVBTUH.js.map} +0 -0
- /package/dist/{chunk-JXT5QDJC.js.map → chunk-KNFDWNCH.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-RSNYGEVZ.js.map → chunk-LKJ2C7PH.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-GAIM5RNE.js.map → chunk-MJQBC7C5.js.map} +0 -0
- /package/dist/{chunk-NWZW2WHN.js.map → chunk-MM7OKOTE.js.map} +0 -0
- /package/dist/{chunk-FM4OUCC2.js.map → chunk-MOKYT3X3.js.map} +0 -0
- /package/dist/{chunk-XRRSFQEV.js.map → chunk-NAZZLAWX.js.map} +0 -0
- /package/dist/{chunk-XOFUXMPP.js.map → chunk-ND2WCWXI.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-OO2T63BY.js.map → chunk-NML44AW2.js.map} +0 -0
- /package/dist/{chunk-4LKNIGHB.js.map → chunk-O2SBHS2N.js.map} +0 -0
- /package/dist/{chunk-RA3FNMWF.js.map → chunk-O4DYOSOL.js.map} +0 -0
- /package/dist/{chunk-ZKYYZH6L.js.map → chunk-OFB6TUDC.js.map} +0 -0
- /package/dist/{chunk-DWPOQ3S5.js.map → chunk-OTMWHZBY.js.map} +0 -0
- /package/dist/{chunk-VVCDB2T7.js.map → chunk-PCJLH45G.js.map} +0 -0
- /package/dist/{chunk-WSMYOLHG.js.map → chunk-PEKPWK5M.js.map} +0 -0
- /package/dist/{chunk-PZ24CYDO.js.map → chunk-PFAUGEV5.js.map} +0 -0
- /package/dist/{chunk-KTRKZRID.js.map → chunk-PKEKZ2VA.js.map} +0 -0
- /package/dist/{chunk-6JKZILLF.js.map → chunk-PMD7V4N7.js.map} +0 -0
- /package/dist/{chunk-B74GSYR6.js.map → chunk-PUTS4DYW.js.map} +0 -0
- /package/dist/{chunk-ZRJCGBVV.js.map → chunk-PVR5EELP.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-FLGUVRR7.js.map → chunk-QBADR2FO.js.map} +0 -0
- /package/dist/{chunk-TGVVEGZG.js.map → chunk-QLIDZGPV.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-6PQNLL4E.js.map → chunk-R7XCJWCD.js.map} +0 -0
- /package/dist/{chunk-QRVNI5V6.js.map → chunk-SCNEQFIW.js.map} +0 -0
- /package/dist/{chunk-BNUPYHHZ.js.map → chunk-SD4PPZFB.js.map} +0 -0
- /package/dist/{chunk-ROQOVH4N.js.map → chunk-SFAU5R5S.js.map} +0 -0
- /package/dist/{chunk-R63QEVPK.js.map → chunk-SJORXXLV.js.map} +0 -0
- /package/dist/{chunk-FBE6AIIW.js.map → chunk-SOKNCW5U.js.map} +0 -0
- /package/dist/{chunk-NDF3SH3X.js.map → chunk-TDIOBPLA.js.map} +0 -0
- /package/dist/{chunk-33TPANCR.js.map → chunk-TFK4KFKA.js.map} +0 -0
- /package/dist/{chunk-6NIB2KGJ.js.map → chunk-THVIT3PW.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-7DU35P5J.js.map → chunk-TN5T5HRZ.js.map} +0 -0
- /package/dist/{chunk-JK7C5A4I.js.map → chunk-TR4HIKJ2.js.map} +0 -0
- /package/dist/{chunk-HNYJEAES.js.map → chunk-UGEWCWVV.js.map} +0 -0
- /package/dist/{chunk-H5EVWF6L.js.map → chunk-UNNJUJVD.js.map} +0 -0
- /package/dist/{chunk-AD22P5X3.js.map → chunk-UUSAOIJR.js.map} +0 -0
- /package/dist/{chunk-Z6DKXQG7.js.map → chunk-UXXFMF4X.js.map} +0 -0
- /package/dist/{chunk-UP4BE32Y.js.map → chunk-VO6RVVP7.js.map} +0 -0
- /package/dist/{chunk-S4SC5SSV.js.map → chunk-VPNXQUUS.js.map} +0 -0
- /package/dist/{chunk-7BST7BA6.js.map → chunk-VW3BBTMA.js.map} +0 -0
- /package/dist/{chunk-CBY5CXBD.js.map → chunk-VWSFA4LJ.js.map} +0 -0
- /package/dist/{chunk-QEJTQTF5.js.map → chunk-W6T5HR3Z.js.map} +0 -0
- /package/dist/{chunk-5JEIDFPD.js.map → chunk-WBPQ7OPC.js.map} +0 -0
- /package/dist/{chunk-GZLLDA6P.js.map → chunk-WEFN327U.js.map} +0 -0
- /package/dist/{chunk-ANHUMDJX.js.map → chunk-WNDTLK44.js.map} +0 -0
- /package/dist/{chunk-DLOYMWUQ.js.map → chunk-WSLPZ43N.js.map} +0 -0
- /package/dist/{chunk-2DS4UOYQ.js.map → chunk-WSZQNTVN.js.map} +0 -0
- /package/dist/{chunk-LE2EDBXU.js.map → chunk-WUHB422G.js.map} +0 -0
- /package/dist/{chunk-BJW7G6EF.js.map → chunk-WVX5AQXS.js.map} +0 -0
- /package/dist/{chunk-5POTDNQT.js.map → chunk-WWOHORRO.js.map} +0 -0
- /package/dist/{chunk-KZHW27BV.js.map → chunk-WYEPUXGL.js.map} +0 -0
- /package/dist/{chunk-GALB2G3W.js.map → chunk-X2AH4DRF.js.map} +0 -0
- /package/dist/{chunk-NCX5SAQY.js.map → chunk-XN6CALYY.js.map} +0 -0
- /package/dist/{chunk-SUVEDKE2.js.map → chunk-XNACICAB.js.map} +0 -0
- /package/dist/{chunk-FDNJVZRE.js.map → chunk-XU4I47IP.js.map} +0 -0
- /package/dist/{chunk-U36PO27Q.js.map → chunk-YG3IJCM2.js.map} +0 -0
- /package/dist/{chunk-UWJ5P5CU.js.map → chunk-YGSJWWT3.js.map} +0 -0
- /package/dist/{chunk-P5WABK2H.js.map → chunk-Z4GJB24B.js.map} +0 -0
- /package/dist/{chunk-NLMTNEWW.js.map → chunk-Z6E6TUAE.js.map} +0 -0
- /package/dist/{chunk-OBQVTCTW.js.map → chunk-ZX5H7LWD.js.map} +0 -0
- /package/dist/{embedded-voice-6QS4ANNX.js.map → computer-viewer-VA5JONUH.js.map} +0 -0
- /package/dist/{model-policy-picker-menu-CURJ247L.js.map → embedded-new-voice-6BILAOUG.js.map} +0 -0
- /package/dist/{sandbox-files-4FBG3GS2.js.map → embedded-voice-UDE4JRKB.js.map} +0 -0
- /package/dist/{fleet-decision-row-QNSTP3VX.js.map → fleet-decision-row-NN2HXDX3.js.map} +0 -0
- /package/dist/{session-realtime-2XIB254N.js.map → model-policy-picker-menu-NRTO6FRP.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-ZSOFW7PG.js.map} +0 -0
- /package/dist/{timeline-annotation-selection-MEHBW676.js.map → timeline-annotation-selection-YWV2UC34.js.map} +0 -0
- /package/dist/{timeline-annotations-dialog-U2FPQ3UY.js.map → timeline-annotations-dialog-ZWQVX2HI.js.map} +0 -0
|
@@ -1,39 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
|
-
EmptyQueueStateSurface,
|
|
4
3
|
requestQueueDraftEdit
|
|
5
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-22GTC4MZ.js";
|
|
5
|
+
import {
|
|
6
|
+
SESSION_STATUS_META,
|
|
7
|
+
StatusDot
|
|
8
|
+
} from "./chunk-ENS6E4RZ.js";
|
|
6
9
|
import {
|
|
7
10
|
ProviderRecoveryNotice
|
|
8
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-FRP64DEK.js";
|
|
9
12
|
import {
|
|
10
13
|
UserMessageBody,
|
|
11
14
|
UserMessageDisclosureProvider
|
|
12
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-4U4GXWXS.js";
|
|
13
16
|
import {
|
|
14
17
|
MessageSenderContext,
|
|
15
18
|
MessageSenderSlot
|
|
16
19
|
} from "./chunk-KDQAWRYZ.js";
|
|
17
|
-
import {
|
|
18
|
-
SESSION_STATUS_META,
|
|
19
|
-
StatusDot
|
|
20
|
-
} from "./chunk-3AA6RNGE.js";
|
|
21
|
-
import {
|
|
22
|
-
useWorkspaceSessions
|
|
23
|
-
} from "./chunk-RGPYMHKI.js";
|
|
24
|
-
import {
|
|
25
|
-
ChatComposer
|
|
26
|
-
} from "./chunk-AD22P5X3.js";
|
|
27
|
-
import {
|
|
28
|
-
TimelineAnnotationCards,
|
|
29
|
-
TimelineAnnotationsChip
|
|
30
|
-
} from "./chunk-BNUPYHHZ.js";
|
|
31
|
-
import {
|
|
32
|
-
TimelineAnnotationSourceRootContext
|
|
33
|
-
} from "./chunk-RIMKJBCD.js";
|
|
34
20
|
import {
|
|
35
21
|
OpenGeniProvider
|
|
36
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-DFXZYNTX.js";
|
|
37
23
|
import {
|
|
38
24
|
ActivityNoteTextContext,
|
|
39
25
|
ActivityRail,
|
|
@@ -52,6 +38,7 @@ import {
|
|
|
52
38
|
TimelineComputeLabelProvider,
|
|
53
39
|
ToolActionReviewCard,
|
|
54
40
|
ToolActionReviewDetails,
|
|
41
|
+
ToolKindIcon,
|
|
55
42
|
ToolReviewFrame,
|
|
56
43
|
TurnSummary,
|
|
57
44
|
UNRECOVERABLE_TEXT,
|
|
@@ -67,30 +54,36 @@ import {
|
|
|
67
54
|
useFoldMemory,
|
|
68
55
|
useStartupDetails,
|
|
69
56
|
useTurnSettleOpen
|
|
70
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-F33EDYS7.js";
|
|
58
|
+
import {
|
|
59
|
+
ChatComposer
|
|
60
|
+
} from "./chunk-UUSAOIJR.js";
|
|
61
|
+
import {
|
|
62
|
+
TimelineAnnotationCards,
|
|
63
|
+
TimelineAnnotationsChip
|
|
64
|
+
} from "./chunk-SD4PPZFB.js";
|
|
65
|
+
import {
|
|
66
|
+
TimelineAnnotationSourceRootContext
|
|
67
|
+
} from "./chunk-LMPTC4CX.js";
|
|
71
68
|
import {
|
|
72
69
|
invokeOlderHistoryLoaderWithReceiptCapture,
|
|
73
|
-
useClientConfigFlags,
|
|
74
70
|
useGoal,
|
|
75
71
|
useNewConversation,
|
|
76
72
|
useSessionConversation,
|
|
77
73
|
useSessionReadAcknowledgement
|
|
78
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-WYDZP5F2.js";
|
|
79
75
|
import {
|
|
80
76
|
buildTimeline,
|
|
81
77
|
compactionFailureDetails,
|
|
82
78
|
compactionSkipSubtitle,
|
|
83
79
|
compactionSkipTitle,
|
|
84
80
|
groupTimeline
|
|
85
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-6MRY2RUZ.js";
|
|
86
82
|
import {
|
|
87
83
|
forgetHumanInputDraft,
|
|
88
84
|
readHumanInputDraft,
|
|
89
85
|
writeHumanInputDraft
|
|
90
86
|
} from "./chunk-ZOARMQY2.js";
|
|
91
|
-
import {
|
|
92
|
-
joinClientConfigRead
|
|
93
|
-
} from "./chunk-IGVL3ELX.js";
|
|
94
87
|
import {
|
|
95
88
|
markClassicScrollbars
|
|
96
89
|
} from "./chunk-MK2TQO4Y.js";
|
|
@@ -104,7 +97,7 @@ import {
|
|
|
104
97
|
isTimelineSearchTarget,
|
|
105
98
|
useSecretsUi,
|
|
106
99
|
useTimelineSearchNavigation
|
|
107
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-SJORXXLV.js";
|
|
108
101
|
import {
|
|
109
102
|
prefersReducedMotion
|
|
110
103
|
} from "./chunk-OYQQJL3J.js";
|
|
@@ -132,7 +125,7 @@ import {
|
|
|
132
125
|
} from "./chunk-4U7SHFQ2.js";
|
|
133
126
|
import {
|
|
134
127
|
ThisComputerCard
|
|
135
|
-
} from "./chunk-
|
|
128
|
+
} from "./chunk-O2SBHS2N.js";
|
|
136
129
|
import {
|
|
137
130
|
QUESTION_NAV_MARGIN_PX,
|
|
138
131
|
answersFromDrafts,
|
|
@@ -164,16 +157,17 @@ import {
|
|
|
164
157
|
secretPatternMismatch,
|
|
165
158
|
secretVaultForTarget,
|
|
166
159
|
timelineGroupIndexAtSequence
|
|
167
|
-
} from "./chunk-
|
|
160
|
+
} from "./chunk-6AFSZKZA.js";
|
|
168
161
|
import {
|
|
169
|
-
formatElapsed
|
|
170
|
-
|
|
162
|
+
formatElapsed,
|
|
163
|
+
genericToolIconKind
|
|
164
|
+
} from "./chunk-AW3QEFOF.js";
|
|
171
165
|
import {
|
|
172
166
|
namedAgentTitle
|
|
173
167
|
} from "./chunk-HEVQKE27.js";
|
|
174
168
|
import {
|
|
175
169
|
timelineGroupContainsPresentedImage
|
|
176
|
-
} from "./chunk-
|
|
170
|
+
} from "./chunk-WNDTLK44.js";
|
|
177
171
|
import {
|
|
178
172
|
isActionableHumanInputRequest
|
|
179
173
|
} from "./chunk-IZV5FTJC.js";
|
|
@@ -181,13 +175,13 @@ import {
|
|
|
181
175
|
builtInToolStep,
|
|
182
176
|
toolDisplayName,
|
|
183
177
|
toolStepPhase
|
|
184
|
-
} from "./chunk-
|
|
178
|
+
} from "./chunk-LEKBNKLD.js";
|
|
185
179
|
import {
|
|
186
|
-
|
|
187
|
-
} from "./chunk-
|
|
180
|
+
joinClientConfigRead
|
|
181
|
+
} from "./chunk-IGVL3ELX.js";
|
|
188
182
|
import {
|
|
189
183
|
ModelPolicyPicker
|
|
190
|
-
} from "./chunk-
|
|
184
|
+
} from "./chunk-ERG355NM.js";
|
|
191
185
|
import {
|
|
192
186
|
LightboxProvider,
|
|
193
187
|
ShimmerText,
|
|
@@ -195,16 +189,10 @@ import {
|
|
|
195
189
|
TooltipContent,
|
|
196
190
|
TooltipProvider,
|
|
197
191
|
TooltipTrigger
|
|
198
|
-
} from "./chunk-
|
|
199
|
-
import {
|
|
200
|
-
usePolledValue
|
|
201
|
-
} from "./chunk-NAWXARTY.js";
|
|
192
|
+
} from "./chunk-ZX5H7LWD.js";
|
|
202
193
|
import {
|
|
203
194
|
useErrorMessage
|
|
204
195
|
} from "./chunk-CM7LVUKC.js";
|
|
205
|
-
import {
|
|
206
|
-
useOpenGeni
|
|
207
|
-
} from "./chunk-TVQCDDSZ.js";
|
|
208
196
|
import {
|
|
209
197
|
formatClockTime,
|
|
210
198
|
formatRelativeTime,
|
|
@@ -219,7 +207,7 @@ import {
|
|
|
219
207
|
import {
|
|
220
208
|
SingleSendWording,
|
|
221
209
|
useOpenGeniText
|
|
222
|
-
} from "./chunk-
|
|
210
|
+
} from "./chunk-JFK7NTEA.js";
|
|
223
211
|
|
|
224
212
|
// src/components/human-input-form.tsx
|
|
225
213
|
import { ChevronDownIcon, ChevronUpIcon, MessageCircleQuestionIcon } from "lucide-react";
|
|
@@ -1884,7 +1872,6 @@ function GeneratedVideoPlayer({
|
|
|
1884
1872
|
|
|
1885
1873
|
// src/timeline/rolling-activity.tsx
|
|
1886
1874
|
import { AnimatePresence, motion, useReducedMotion } from "motion/react";
|
|
1887
|
-
import { WrenchIcon } from "lucide-react";
|
|
1888
1875
|
import { Suspense, useEffect as useEffect6, useState as useState5 } from "react";
|
|
1889
1876
|
import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1890
1877
|
function RollingActivity({
|
|
@@ -1901,7 +1888,13 @@ function RollingActivity({
|
|
|
1901
1888
|
if (!selected) return null;
|
|
1902
1889
|
const { item, earlierCount } = selected;
|
|
1903
1890
|
const fallback = /* @__PURE__ */ jsxs4("span", { className: "og-rolling-label", children: [
|
|
1904
|
-
/* @__PURE__ */ jsx7(
|
|
1891
|
+
/* @__PURE__ */ jsx7(
|
|
1892
|
+
ToolKindIcon,
|
|
1893
|
+
{
|
|
1894
|
+
kind: item.kind === "tool-call" ? genericToolIconKind(item.name) : "wrench",
|
|
1895
|
+
className: "size-3.5"
|
|
1896
|
+
}
|
|
1897
|
+
),
|
|
1905
1898
|
/* @__PURE__ */ jsx7("span", { children: item.kind === "tool-call" ? toolDisplayName(t, item.name, item.display, toolStepPhase(item.status)) : t("timeline.rollingActivity.working") })
|
|
1906
1899
|
] });
|
|
1907
1900
|
return /* @__PURE__ */ jsxs4("span", { className: "og-rolling-status", "data-running": selected.running ? "true" : void 0, children: [
|
|
@@ -2866,8 +2859,8 @@ function SessionUsageLimitRow({ stop }) {
|
|
|
2866
2859
|
|
|
2867
2860
|
// src/components/message-timeline.tsx
|
|
2868
2861
|
import { Fragment as Fragment5, jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
2869
|
-
var TimelineAnnotationSelection = lazy(() => import("./timeline-annotation-selection-
|
|
2870
|
-
var TimelineAnnotationMarkers = lazy(() => import("./timeline-annotation-markers-
|
|
2862
|
+
var TimelineAnnotationSelection = lazy(() => import("./timeline-annotation-selection-YWV2UC34.js"));
|
|
2863
|
+
var TimelineAnnotationMarkers = lazy(() => import("./timeline-annotation-markers-ZSOFW7PG.js"));
|
|
2871
2864
|
var PIN_THRESHOLD_PX = 48;
|
|
2872
2865
|
var JUMP_TO_LATEST_CATCHUP_DEBT_PX = 240;
|
|
2873
2866
|
var NAV_BUTTON_CLASS = "pointer-events-auto relative inline-flex size-8 items-center justify-center rounded-full border border-og-border bg-og-surface-3/90 text-og-fg-muted shadow-og-md backdrop-blur hover:border-og-border-strong hover:text-og-fg focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-og-accent pointer-coarse:before:absolute pointer-coarse:before:-inset-1.5 pointer-coarse:before:content-['']";
|
|
@@ -6491,48 +6484,6 @@ function authReasonLine(t, reason) {
|
|
|
6491
6484
|
}
|
|
6492
6485
|
}
|
|
6493
6486
|
|
|
6494
|
-
// src/components/queue-surface.tsx
|
|
6495
|
-
import { Loader2Icon } from "lucide-react";
|
|
6496
|
-
import { lazy as lazy2, Suspense as Suspense3 } from "react";
|
|
6497
|
-
import { jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
6498
|
-
var loadQueueSurface = () => import("./queue-surface-implementation-2X5AXB6I.js");
|
|
6499
|
-
var QueueSurface = createQueueSurface(loadQueueSurface);
|
|
6500
|
-
function createQueueSurface(loadImplementation) {
|
|
6501
|
-
const LazyQueueSurface = lazy2(async () => ({
|
|
6502
|
-
default: (await loadImplementation()).QueueSurface
|
|
6503
|
-
}));
|
|
6504
|
-
return function QueueSurfaceBoundary(props) {
|
|
6505
|
-
const { queue } = props;
|
|
6506
|
-
if (queue.queue.length + queue.pendingInputs.length === 0) {
|
|
6507
|
-
if (!queue.stoppingPreviousAttempt && !queue.error && !queue.mutationError) return null;
|
|
6508
|
-
return /* @__PURE__ */ jsx13(EmptyQueueStateSurface, { queue });
|
|
6509
|
-
}
|
|
6510
|
-
return /* @__PURE__ */ jsx13(Suspense3, { fallback: /* @__PURE__ */ jsx13(QueueSurfaceFallback, {}), children: /* @__PURE__ */ jsx13(LazyQueueSurface, { ...props }) });
|
|
6511
|
-
};
|
|
6512
|
-
}
|
|
6513
|
-
function QueueSurfaceFallback() {
|
|
6514
|
-
const t = useOpenGeniText();
|
|
6515
|
-
return /* @__PURE__ */ jsx13(
|
|
6516
|
-
"div",
|
|
6517
|
-
{
|
|
6518
|
-
"aria-live": "polite",
|
|
6519
|
-
className: "og-root mx-auto mb-2 w-full max-w-3xl shrink-0 px-4 sm:px-6",
|
|
6520
|
-
"data-testid": "queue-surface-loading",
|
|
6521
|
-
role: "status",
|
|
6522
|
-
children: /* @__PURE__ */ jsx13("div", { className: "overflow-hidden rounded-lg border border-border bg-surface/80 shadow-sm", children: /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-2 px-3 py-2 text-og-control text-fg-muted pointer-coarse:min-h-[44px]", children: [
|
|
6523
|
-
/* @__PURE__ */ jsx13(
|
|
6524
|
-
Loader2Icon,
|
|
6525
|
-
{
|
|
6526
|
-
"aria-hidden": "true",
|
|
6527
|
-
className: "size-3.5 shrink-0 animate-spin motion-reduce:animate-none"
|
|
6528
|
-
}
|
|
6529
|
-
),
|
|
6530
|
-
t("queueSurface.loadingInputs")
|
|
6531
|
-
] }) })
|
|
6532
|
-
}
|
|
6533
|
-
);
|
|
6534
|
-
}
|
|
6535
|
-
|
|
6536
6487
|
// src/components/session-chrome.tsx
|
|
6537
6488
|
import {
|
|
6538
6489
|
ActivityIcon,
|
|
@@ -6543,7 +6494,7 @@ import {
|
|
|
6543
6494
|
CheckIcon as CheckIcon2,
|
|
6544
6495
|
InboxIcon,
|
|
6545
6496
|
ListOrderedIcon,
|
|
6546
|
-
Loader2Icon
|
|
6497
|
+
Loader2Icon,
|
|
6547
6498
|
PauseIcon as PauseIcon2,
|
|
6548
6499
|
PencilIcon,
|
|
6549
6500
|
PlayIcon as PlayIcon2,
|
|
@@ -6556,7 +6507,7 @@ import {
|
|
|
6556
6507
|
} from "lucide-react";
|
|
6557
6508
|
import { AnimatePresence as AnimatePresence3, motion as motion3, useReducedMotion as useReducedMotion3 } from "motion/react";
|
|
6558
6509
|
import { useEffect as useEffect9, useId as useId3, useMemo as useMemo7, useRef as useRef8, useState as useState9 } from "react";
|
|
6559
|
-
import { Fragment as Fragment6, jsx as
|
|
6510
|
+
import { Fragment as Fragment6, jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
6560
6511
|
var GOAL_LABEL = (t) => ({
|
|
6561
6512
|
pursuing: t("sessionChrome.pursuing"),
|
|
6562
6513
|
waiting: t("sessionChrome.waiting"),
|
|
@@ -6731,7 +6682,7 @@ function toneClass(tone, selected) {
|
|
|
6731
6682
|
}
|
|
6732
6683
|
}
|
|
6733
6684
|
function SessionChrome(props) {
|
|
6734
|
-
return /* @__PURE__ */
|
|
6685
|
+
return /* @__PURE__ */ jsx13(SingleSendWording, { enabled: props.composer?.singleSend === true, children: /* @__PURE__ */ jsx13(SessionChromeView, { ...props }) });
|
|
6735
6686
|
}
|
|
6736
6687
|
function SessionChromeView({
|
|
6737
6688
|
sessionStatus,
|
|
@@ -6855,7 +6806,7 @@ function SessionChromeView({
|
|
|
6855
6806
|
tone: incoming.some(
|
|
6856
6807
|
(item) => item.classification === "action_required" || item.classification === "failure"
|
|
6857
6808
|
) ? "waiting" : "neutral",
|
|
6858
|
-
icon: /* @__PURE__ */
|
|
6809
|
+
icon: /* @__PURE__ */ jsx13(InboxIcon, { className: "size-3" })
|
|
6859
6810
|
});
|
|
6860
6811
|
}
|
|
6861
6812
|
const queuedCount = queuedTurns.length + optimisticQueued.length;
|
|
@@ -6872,7 +6823,7 @@ function SessionChromeView({
|
|
|
6872
6823
|
label: queueProblem ? queuedCount > 0 ? t("sessionChrome.queuedcountQueuedNeedsAttention", { queuedCount }) : t("sessionChrome.queueNeedsAttention") : allVoiceRequests ? queuedCount === 1 ? t("sessionChrome.voiceRequestQueued") : t("sessionChrome.queuedcountVoiceRequestsQueued", { queuedCount }) : onlyVoiceHandoff ? t("sessionChrome.voiceHandoffQueued") : t("sessionChrome.queuedPromptCount", { count: queuedCount }),
|
|
6873
6824
|
...detail ? { detail } : {},
|
|
6874
6825
|
tone: queueProblem ? "waiting" : "neutral",
|
|
6875
|
-
icon: queueProblem ? /* @__PURE__ */
|
|
6826
|
+
icon: queueProblem ? /* @__PURE__ */ jsx13(TriangleAlertIcon3, { className: "size-3" }) : voiceOnly ? /* @__PURE__ */ jsx13(AudioLinesIcon, { className: "size-3" }) : /* @__PURE__ */ jsx13(ListOrderedIcon, { className: "size-3" })
|
|
6876
6827
|
});
|
|
6877
6828
|
}
|
|
6878
6829
|
if (record && goalState) {
|
|
@@ -6884,7 +6835,7 @@ function SessionChromeView({
|
|
|
6884
6835
|
detail: elapsed ? `${elapsed} \xB7 ${record.text}` : record.text,
|
|
6885
6836
|
...explanation ? { title: explanation } : {},
|
|
6886
6837
|
tone: waiting ? "waiting" : goalState === "pursuing" || goalState === "scheduled" ? "accent" : "neutral",
|
|
6887
|
-
icon: /* @__PURE__ */
|
|
6838
|
+
icon: /* @__PURE__ */ jsx13(TargetIcon2, { className: "size-3" })
|
|
6888
6839
|
});
|
|
6889
6840
|
}
|
|
6890
6841
|
if (agentsSignal && agentsSignal.count > 0) {
|
|
@@ -6894,7 +6845,7 @@ function SessionChromeView({
|
|
|
6894
6845
|
label: t("counts.agents", { count: agentsSignal.count }),
|
|
6895
6846
|
...detail ? { detail } : {},
|
|
6896
6847
|
tone: agentsSignal.tone ?? "neutral",
|
|
6897
|
-
icon: /* @__PURE__ */
|
|
6848
|
+
icon: /* @__PURE__ */ jsx13(BotIcon2, { className: "size-3" })
|
|
6898
6849
|
});
|
|
6899
6850
|
}
|
|
6900
6851
|
if (commandsCount > 0 || active === "commands" && hasCommandsPanel) {
|
|
@@ -6902,7 +6853,7 @@ function SessionChromeView({
|
|
|
6902
6853
|
id: "commands",
|
|
6903
6854
|
label: commandsCount > 0 ? t("counts.commands", { count: commandsCount }) : t("sessionChrome.commands2"),
|
|
6904
6855
|
tone: commandsCount > 0 ? "running" : "neutral",
|
|
6905
|
-
icon: /* @__PURE__ */
|
|
6856
|
+
icon: /* @__PURE__ */ jsx13(TerminalIcon, { className: "size-3" })
|
|
6906
6857
|
});
|
|
6907
6858
|
}
|
|
6908
6859
|
return rows;
|
|
@@ -7029,14 +6980,14 @@ function SessionChromeView({
|
|
|
7029
6980
|
const shellDuration = reduceMotion ? 0 : 0.22;
|
|
7030
6981
|
const crossfadeDuration = reduceMotion ? 0 : 0.18;
|
|
7031
6982
|
const ease = [0.22, 1, 0.36, 1];
|
|
7032
|
-
const panelBody = active === "incoming" ? /* @__PURE__ */
|
|
6983
|
+
const panelBody = active === "incoming" ? /* @__PURE__ */ jsx13(
|
|
7033
6984
|
IncomingPanel,
|
|
7034
6985
|
{
|
|
7035
6986
|
inputs: incoming,
|
|
7036
6987
|
onDismiss: onDismissIncoming,
|
|
7037
6988
|
onOpenSession
|
|
7038
6989
|
}
|
|
7039
|
-
) : active === "queue" ? /* @__PURE__ */
|
|
6990
|
+
) : active === "queue" ? /* @__PURE__ */ jsx13(
|
|
7040
6991
|
QueuePanel,
|
|
7041
6992
|
{
|
|
7042
6993
|
turns: queuedTurns,
|
|
@@ -7094,8 +7045,8 @@ function SessionChromeView({
|
|
|
7094
7045
|
void queue.moveTurn(turnId, beforeTurnId);
|
|
7095
7046
|
} : void 0
|
|
7096
7047
|
}
|
|
7097
|
-
) : active === "goal" && record && goalState && goal ? /* @__PURE__ */
|
|
7098
|
-
return /* @__PURE__ */
|
|
7048
|
+
) : active === "goal" && record && goalState && goal ? /* @__PURE__ */ jsx13(GoalPanel, { goal, state: goalState, elapsed, readOnly }) : active === "commands" ? /* @__PURE__ */ jsx13("div", { "data-og-session-chrome-panel": "commands", children: commandsPanel }) : active === "agents" ? /* @__PURE__ */ jsx13("div", { "data-og-session-chrome-panel": "agents", children: agentsPanel ?? /* @__PURE__ */ jsx13("p", { className: "text-og-xs text-og-fg-muted", children: t("sessionChrome.noAgentDetails") }) }) : null;
|
|
7049
|
+
return /* @__PURE__ */ jsx13(TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ jsx13(
|
|
7099
7050
|
"div",
|
|
7100
7051
|
{
|
|
7101
7052
|
className: cn("og-session-chrome og-root w-full", className),
|
|
@@ -7103,7 +7054,7 @@ function SessionChromeView({
|
|
|
7103
7054
|
ref: rootRef,
|
|
7104
7055
|
"data-og-session-chrome": "",
|
|
7105
7056
|
"data-og-session-chrome-open": open ? "true" : "false",
|
|
7106
|
-
children: /* @__PURE__ */
|
|
7057
|
+
children: /* @__PURE__ */ jsxs9(
|
|
7107
7058
|
"div",
|
|
7108
7059
|
{
|
|
7109
7060
|
className: cn(
|
|
@@ -7119,7 +7070,7 @@ function SessionChromeView({
|
|
|
7119
7070
|
transitionTimingFunction: "var(--_og-session-chrome-ease)"
|
|
7120
7071
|
},
|
|
7121
7072
|
children: [
|
|
7122
|
-
/* @__PURE__ */
|
|
7073
|
+
/* @__PURE__ */ jsx13(
|
|
7123
7074
|
"div",
|
|
7124
7075
|
{
|
|
7125
7076
|
className: "relative",
|
|
@@ -7129,7 +7080,7 @@ function SessionChromeView({
|
|
|
7129
7080
|
paddingLeft: "var(--og-session-chrome-rail-pad)",
|
|
7130
7081
|
paddingRight: "var(--og-session-chrome-rail-pad)"
|
|
7131
7082
|
},
|
|
7132
|
-
children: /* @__PURE__ */
|
|
7083
|
+
children: /* @__PURE__ */ jsxs9(
|
|
7133
7084
|
"div",
|
|
7134
7085
|
{
|
|
7135
7086
|
ref: railRef,
|
|
@@ -7138,7 +7089,7 @@ function SessionChromeView({
|
|
|
7138
7089
|
gap: "10px"
|
|
7139
7090
|
},
|
|
7140
7091
|
children: [
|
|
7141
|
-
/* @__PURE__ */
|
|
7092
|
+
/* @__PURE__ */ jsx13(
|
|
7142
7093
|
motion3.div,
|
|
7143
7094
|
{
|
|
7144
7095
|
"aria-hidden": true,
|
|
@@ -7160,7 +7111,7 @@ function SessionChromeView({
|
|
|
7160
7111
|
),
|
|
7161
7112
|
signals.filter((signal) => !["incoming", "agents", "commands"].includes(signal.id)).map((signal) => {
|
|
7162
7113
|
const selected = active === signal.id;
|
|
7163
|
-
return /* @__PURE__ */
|
|
7114
|
+
return /* @__PURE__ */ jsxs9(
|
|
7164
7115
|
"div",
|
|
7165
7116
|
{
|
|
7166
7117
|
role: "group",
|
|
@@ -7171,7 +7122,7 @@ function SessionChromeView({
|
|
|
7171
7122
|
selected && "bg-og-surface-3"
|
|
7172
7123
|
),
|
|
7173
7124
|
children: [
|
|
7174
|
-
/* @__PURE__ */
|
|
7125
|
+
/* @__PURE__ */ jsxs9(
|
|
7175
7126
|
"button",
|
|
7176
7127
|
{
|
|
7177
7128
|
type: "button",
|
|
@@ -7202,7 +7153,7 @@ function SessionChromeView({
|
|
|
7202
7153
|
paddingInline: "var(--og-session-chrome-chip-pad-x)"
|
|
7203
7154
|
},
|
|
7204
7155
|
children: [
|
|
7205
|
-
signal.id === "queue" && queueArrivalNonce > 0 && !reduceMotion ? /* @__PURE__ */
|
|
7156
|
+
signal.id === "queue" && queueArrivalNonce > 0 && !reduceMotion ? /* @__PURE__ */ jsx13(
|
|
7206
7157
|
motion3.span,
|
|
7207
7158
|
{
|
|
7208
7159
|
"aria-hidden": "true",
|
|
@@ -7214,8 +7165,8 @@ function SessionChromeView({
|
|
|
7214
7165
|
},
|
|
7215
7166
|
queueArrivalNonce
|
|
7216
7167
|
) : null,
|
|
7217
|
-
/* @__PURE__ */
|
|
7218
|
-
/* @__PURE__ */
|
|
7168
|
+
/* @__PURE__ */ jsx13("span", { className: cn("shrink-0", toneClass(signal.tone, selected)), children: signal.icon }),
|
|
7169
|
+
/* @__PURE__ */ jsxs9(
|
|
7219
7170
|
"span",
|
|
7220
7171
|
{
|
|
7221
7172
|
className: cn(
|
|
@@ -7230,7 +7181,7 @@ function SessionChromeView({
|
|
|
7230
7181
|
]
|
|
7231
7182
|
}
|
|
7232
7183
|
),
|
|
7233
|
-
signal.id === "queue" && queuePeek?.text && !selected ? /* @__PURE__ */
|
|
7184
|
+
signal.id === "queue" && queuePeek?.text && !selected ? /* @__PURE__ */ jsx13(AnimatePresence3, { initial: false, mode: "popLayout", children: /* @__PURE__ */ jsx13(
|
|
7234
7185
|
motion3.span,
|
|
7235
7186
|
{
|
|
7236
7187
|
"data-testid": "session-chrome-queue-peek",
|
|
@@ -7246,18 +7197,18 @@ function SessionChromeView({
|
|
|
7246
7197
|
]
|
|
7247
7198
|
}
|
|
7248
7199
|
),
|
|
7249
|
-
signal.id === "goal" && goal && record && !readOnly ? /* @__PURE__ */
|
|
7250
|
-
record.status === "active" || record.status === "paused" ? /* @__PURE__ */
|
|
7200
|
+
signal.id === "goal" && goal && record && !readOnly ? /* @__PURE__ */ jsxs9("div", { className: "flex shrink-0 items-center pr-1 pl-0.5", children: [
|
|
7201
|
+
record.status === "active" || record.status === "paused" ? /* @__PURE__ */ jsx13(
|
|
7251
7202
|
IconAction,
|
|
7252
7203
|
{
|
|
7253
7204
|
label: record.status === "paused" ? t("sessionChrome.resumeGoal") : t("sessionChrome.pauseGoal"),
|
|
7254
7205
|
tip: record.status === "paused" ? t("sessionChrome.resumeGoal") : t("sessionChrome.pauseGoal"),
|
|
7255
7206
|
disabled: goal.updating,
|
|
7256
7207
|
onClick: () => void (record.status === "paused" ? goal.resume() : goal.pause("Paused from session chrome")),
|
|
7257
|
-
children: goal.updating ? /* @__PURE__ */
|
|
7208
|
+
children: goal.updating ? /* @__PURE__ */ jsx13(Loader2Icon, { className: "size-3 animate-og-spin" }) : record.status === "paused" ? /* @__PURE__ */ jsx13(PlayIcon2, { className: "size-3" }) : /* @__PURE__ */ jsx13(PauseIcon2, { className: "size-3" })
|
|
7258
7209
|
}
|
|
7259
7210
|
) : null,
|
|
7260
|
-
/* @__PURE__ */
|
|
7211
|
+
/* @__PURE__ */ jsx13(
|
|
7261
7212
|
IconAction,
|
|
7262
7213
|
{
|
|
7263
7214
|
label: t("sessionChrome.clearGoal"),
|
|
@@ -7265,21 +7216,21 @@ function SessionChromeView({
|
|
|
7265
7216
|
danger: true,
|
|
7266
7217
|
disabled: goal.updating,
|
|
7267
7218
|
onClick: () => void goal.deleteGoal(),
|
|
7268
|
-
children: /* @__PURE__ */
|
|
7219
|
+
children: /* @__PURE__ */ jsx13(Trash2Icon2, { className: "size-3" })
|
|
7269
7220
|
}
|
|
7270
7221
|
)
|
|
7271
|
-
] }) : signal.id === "queue" && canSteerQueued && queuePeek && !selected ? /* @__PURE__ */
|
|
7222
|
+
] }) : signal.id === "queue" && canSteerQueued && queuePeek && !selected ? /* @__PURE__ */ jsx13("div", { className: "flex shrink-0 items-center pr-1 pl-0.5", children: /* @__PURE__ */ jsx13(
|
|
7272
7223
|
IconAction,
|
|
7273
7224
|
{
|
|
7274
7225
|
label: t("sessionChrome.steerLatestQueuedMessage"),
|
|
7275
7226
|
analyticsAction: "steer",
|
|
7276
7227
|
text: t("sessionChrome.steer"),
|
|
7277
|
-
tip: /* @__PURE__ */
|
|
7228
|
+
tip: /* @__PURE__ */ jsx13(QueueSteerTip, {}),
|
|
7278
7229
|
disabled: !queuePeek.turnId || queue.mutating || Boolean(queue.mutationFor(queuePeek.turnId)),
|
|
7279
7230
|
onClick: () => {
|
|
7280
7231
|
if (queuePeek.turnId) void queue.steerTurn(queuePeek.turnId);
|
|
7281
7232
|
},
|
|
7282
|
-
children: queuePeek.turnId && queue.mutationFor(queuePeek.turnId) === "steer" ? /* @__PURE__ */
|
|
7233
|
+
children: queuePeek.turnId && queue.mutationFor(queuePeek.turnId) === "steer" ? /* @__PURE__ */ jsx13(Loader2Icon, { className: "size-3 animate-og-spin" }) : /* @__PURE__ */ jsx13(CornerDownRightIcon2, { className: "size-3" })
|
|
7283
7234
|
}
|
|
7284
7235
|
) }) : null
|
|
7285
7236
|
]
|
|
@@ -7287,7 +7238,7 @@ function SessionChromeView({
|
|
|
7287
7238
|
signal.id
|
|
7288
7239
|
);
|
|
7289
7240
|
}),
|
|
7290
|
-
signals.some((signal) => ["incoming", "agents", "commands"].includes(signal.id)) ? /* @__PURE__ */
|
|
7241
|
+
signals.some((signal) => ["incoming", "agents", "commands"].includes(signal.id)) ? /* @__PURE__ */ jsxs9(
|
|
7291
7242
|
"button",
|
|
7292
7243
|
{
|
|
7293
7244
|
type: "button",
|
|
@@ -7309,23 +7260,23 @@ function SessionChromeView({
|
|
|
7309
7260
|
activityOpen ? "bg-og-surface-3 text-og-fg" : "text-og-fg-muted hover:bg-og-surface-2 hover:text-og-fg"
|
|
7310
7261
|
),
|
|
7311
7262
|
children: [
|
|
7312
|
-
/* @__PURE__ */
|
|
7313
|
-
/* @__PURE__ */
|
|
7314
|
-
commandsCount > 0 ? /* @__PURE__ */
|
|
7315
|
-
/* @__PURE__ */
|
|
7263
|
+
/* @__PURE__ */ jsx13(ActivityIcon, { className: "size-3.5" }),
|
|
7264
|
+
/* @__PURE__ */ jsx13("span", { className: "sr-only", children: t("sessionChrome.activity") }),
|
|
7265
|
+
commandsCount > 0 ? /* @__PURE__ */ jsxs9(Fragment6, { children: [
|
|
7266
|
+
/* @__PURE__ */ jsx13(
|
|
7316
7267
|
"span",
|
|
7317
7268
|
{
|
|
7318
7269
|
"aria-hidden": "true",
|
|
7319
7270
|
className: "size-1.5 shrink-0 animate-og-pulse rounded-full bg-og-fg-muted motion-reduce:animate-none"
|
|
7320
7271
|
}
|
|
7321
7272
|
),
|
|
7322
|
-
/* @__PURE__ */
|
|
7273
|
+
/* @__PURE__ */ jsx13("span", { id: `${panelId}-commands-count`, children: t("sessionChrome.commands", { count: commandsCount }) })
|
|
7323
7274
|
] }) : null,
|
|
7324
|
-
incoming.length > 0 ? /* @__PURE__ */
|
|
7275
|
+
incoming.length > 0 ? /* @__PURE__ */ jsx13("span", { className: "size-1.5 rounded-full bg-og-accent" }) : null
|
|
7325
7276
|
]
|
|
7326
7277
|
}
|
|
7327
7278
|
) : null,
|
|
7328
|
-
stopping ? /* @__PURE__ */
|
|
7279
|
+
stopping ? /* @__PURE__ */ jsxs9(
|
|
7329
7280
|
"span",
|
|
7330
7281
|
{
|
|
7331
7282
|
role: "status",
|
|
@@ -7333,8 +7284,8 @@ function SessionChromeView({
|
|
|
7333
7284
|
className: "inline-flex min-h-[var(--og-session-chrome-chip-min-height)] items-center gap-1.5 px-1.5 text-og-xs text-og-fg-muted",
|
|
7334
7285
|
"data-testid": "session-chrome-stopping",
|
|
7335
7286
|
children: [
|
|
7336
|
-
/* @__PURE__ */
|
|
7337
|
-
|
|
7287
|
+
/* @__PURE__ */ jsx13(
|
|
7288
|
+
Loader2Icon,
|
|
7338
7289
|
{
|
|
7339
7290
|
"aria-hidden": "true",
|
|
7340
7291
|
className: "size-3 animate-og-spin motion-reduce:animate-none"
|
|
@@ -7349,7 +7300,7 @@ function SessionChromeView({
|
|
|
7349
7300
|
)
|
|
7350
7301
|
}
|
|
7351
7302
|
),
|
|
7352
|
-
/* @__PURE__ */
|
|
7303
|
+
/* @__PURE__ */ jsx13(AnimatePresence3, { initial: false, children: activityOpen ? /* @__PURE__ */ jsx13(
|
|
7353
7304
|
motion3.div,
|
|
7354
7305
|
{
|
|
7355
7306
|
initial: { height: 0, opacity: 0 },
|
|
@@ -7357,7 +7308,7 @@ function SessionChromeView({
|
|
|
7357
7308
|
exit: { height: 0, opacity: 0 },
|
|
7358
7309
|
transition: { duration: shellDuration, ease },
|
|
7359
7310
|
style: { overflow: "hidden" },
|
|
7360
|
-
children: /* @__PURE__ */
|
|
7311
|
+
children: /* @__PURE__ */ jsx13("div", { className: "mt-1 flex items-center gap-1 rounded-t-og-lg bg-og-surface-2/50 px-2 py-1", children: signals.filter((signal) => ["incoming", "agents", "commands"].includes(signal.id)).map((signal) => /* @__PURE__ */ jsxs9(
|
|
7361
7312
|
"button",
|
|
7362
7313
|
{
|
|
7363
7314
|
type: "button",
|
|
@@ -7379,10 +7330,10 @@ function SessionChromeView({
|
|
|
7379
7330
|
},
|
|
7380
7331
|
"activity-tabs"
|
|
7381
7332
|
) : null }),
|
|
7382
|
-
goal?.mutationError ? /* @__PURE__ */
|
|
7333
|
+
goal?.mutationError ? /* @__PURE__ */ jsx13("p", { role: "alert", className: "px-3 pb-2 text-og-xs text-og-danger", children: t("sessionChrome.goalActionNotConfirmedError", {
|
|
7383
7334
|
error: formatError(goal.mutationError)
|
|
7384
7335
|
}) }) : null,
|
|
7385
|
-
/* @__PURE__ */
|
|
7336
|
+
/* @__PURE__ */ jsx13(
|
|
7386
7337
|
"div",
|
|
7387
7338
|
{
|
|
7388
7339
|
id: panelId,
|
|
@@ -7398,7 +7349,7 @@ function SessionChromeView({
|
|
|
7398
7349
|
transitionDuration: "var(--og-session-chrome-duration)",
|
|
7399
7350
|
transitionTimingFunction: "var(--_og-session-chrome-ease)"
|
|
7400
7351
|
},
|
|
7401
|
-
children: /* @__PURE__ */
|
|
7352
|
+
children: /* @__PURE__ */ jsx13("div", { className: "min-h-0 overflow-hidden", children: /* @__PURE__ */ jsxs9(
|
|
7402
7353
|
"div",
|
|
7403
7354
|
{
|
|
7404
7355
|
className: cn(
|
|
@@ -7411,7 +7362,7 @@ function SessionChromeView({
|
|
|
7411
7362
|
paddingBlock: "var(--og-session-chrome-panel-pad-y)"
|
|
7412
7363
|
},
|
|
7413
7364
|
children: [
|
|
7414
|
-
/* @__PURE__ */
|
|
7365
|
+
/* @__PURE__ */ jsx13(AnimatePresence3, { initial: false, children: active && active !== "commands" && panelBody ? /* @__PURE__ */ jsx13(
|
|
7415
7366
|
motion3.div,
|
|
7416
7367
|
{
|
|
7417
7368
|
"data-og-session-chrome-panel-frame": active,
|
|
@@ -7429,7 +7380,7 @@ function SessionChromeView({
|
|
|
7429
7380
|
},
|
|
7430
7381
|
active
|
|
7431
7382
|
) : null }),
|
|
7432
|
-
active === "commands" ? /* @__PURE__ */
|
|
7383
|
+
active === "commands" ? /* @__PURE__ */ jsx13(
|
|
7433
7384
|
motion3.div,
|
|
7434
7385
|
{
|
|
7435
7386
|
initial: reduceMotion ? false : { opacity: 0 },
|
|
@@ -7461,21 +7412,21 @@ function IncomingPanel({
|
|
|
7461
7412
|
lostWithSandbox.length >= 2 ? lostWithSandbox.map((input) => input.id) : []
|
|
7462
7413
|
);
|
|
7463
7414
|
const firstGrouped = lostWithSandbox.length >= 2 ? lostWithSandbox[0].id : null;
|
|
7464
|
-
return /* @__PURE__ */
|
|
7465
|
-
/* @__PURE__ */
|
|
7466
|
-
/* @__PURE__ */
|
|
7415
|
+
return /* @__PURE__ */ jsxs9("div", { children: [
|
|
7416
|
+
/* @__PURE__ */ jsx13("p", { className: "mb-2 text-og-xs text-og-fg-subtle", children: t("sessionChrome.waitingToBeIncludedIn") }),
|
|
7417
|
+
/* @__PURE__ */ jsx13(
|
|
7467
7418
|
"ul",
|
|
7468
7419
|
{
|
|
7469
7420
|
className: "flex flex-col gap-0.5",
|
|
7470
7421
|
"aria-label": t("sessionChrome.incomingUpdates"),
|
|
7471
7422
|
"data-og-session-chrome-panel": "incoming",
|
|
7472
7423
|
children: inputs.map(
|
|
7473
|
-
(input) => grouped.has(input.id) ? input.id === firstGrouped ? /* @__PURE__ */
|
|
7424
|
+
(input) => grouped.has(input.id) ? input.id === firstGrouped ? /* @__PURE__ */ jsx13(CommandResultsRow, { inputs: lostWithSandbox, onDismiss }, input.id) : null : /* @__PURE__ */ jsxs9(
|
|
7474
7425
|
"li",
|
|
7475
7426
|
{
|
|
7476
7427
|
className: "group flex items-start gap-1.5 rounded-og-sm px-1.5 py-1 transition-colors hover:bg-[var(--_og-session-chrome-row-hover)]",
|
|
7477
7428
|
children: [
|
|
7478
|
-
/* @__PURE__ */
|
|
7429
|
+
/* @__PURE__ */ jsx13(
|
|
7479
7430
|
"span",
|
|
7480
7431
|
{
|
|
7481
7432
|
className: cn(
|
|
@@ -7485,9 +7436,9 @@ function IncomingPanel({
|
|
|
7485
7436
|
children: pendingKindLabel(t, input.kind)
|
|
7486
7437
|
}
|
|
7487
7438
|
),
|
|
7488
|
-
/* @__PURE__ */
|
|
7489
|
-
/* @__PURE__ */
|
|
7490
|
-
/* @__PURE__ */
|
|
7439
|
+
/* @__PURE__ */ jsxs9("div", { className: "min-w-0 flex-1", children: [
|
|
7440
|
+
/* @__PURE__ */ jsx13("p", { className: "break-words text-og-xs leading-4 text-og-fg", children: input.summary }),
|
|
7441
|
+
/* @__PURE__ */ jsx13(
|
|
7491
7442
|
ChildSessionLink,
|
|
7492
7443
|
{
|
|
7493
7444
|
kind: input.kind,
|
|
@@ -7496,7 +7447,7 @@ function IncomingPanel({
|
|
|
7496
7447
|
}
|
|
7497
7448
|
)
|
|
7498
7449
|
] }),
|
|
7499
|
-
onDismiss ? /* @__PURE__ */
|
|
7450
|
+
onDismiss ? /* @__PURE__ */ jsx13("div", { className: "flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100 max-sm:opacity-100", children: /* @__PURE__ */ jsx13(
|
|
7500
7451
|
IconAction,
|
|
7501
7452
|
{
|
|
7502
7453
|
label: t("sessionChrome.dismissIncomingPendingkindlabel", {
|
|
@@ -7505,7 +7456,7 @@ function IncomingPanel({
|
|
|
7505
7456
|
tip: "Dismiss",
|
|
7506
7457
|
onClick: () => onDismiss(input.id),
|
|
7507
7458
|
danger: true,
|
|
7508
|
-
children: /* @__PURE__ */
|
|
7459
|
+
children: /* @__PURE__ */ jsx13(Trash2Icon2, { className: "size-3" })
|
|
7509
7460
|
}
|
|
7510
7461
|
) }) : null
|
|
7511
7462
|
]
|
|
@@ -7528,15 +7479,15 @@ function CommandResultsRow({
|
|
|
7528
7479
|
onDismiss
|
|
7529
7480
|
}) {
|
|
7530
7481
|
const t = useOpenGeniText();
|
|
7531
|
-
return /* @__PURE__ */
|
|
7482
|
+
return /* @__PURE__ */ jsxs9(
|
|
7532
7483
|
"li",
|
|
7533
7484
|
{
|
|
7534
7485
|
className: "group flex items-start gap-1.5 rounded-og-sm px-1.5 py-1 transition-colors hover:bg-[var(--_og-session-chrome-row-hover)]",
|
|
7535
7486
|
"data-og-session-chrome-command-results": inputs.length,
|
|
7536
7487
|
children: [
|
|
7537
|
-
/* @__PURE__ */
|
|
7538
|
-
/* @__PURE__ */
|
|
7539
|
-
onDismiss ? /* @__PURE__ */
|
|
7488
|
+
/* @__PURE__ */ jsx13("span", { className: "mt-px shrink-0 rounded bg-og-status-waiting/12 px-1 py-px text-[10px] font-medium leading-4 text-og-status-waiting", children: t("sessionChrome.commandResults") }),
|
|
7489
|
+
/* @__PURE__ */ jsx13("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsx13("p", { className: "break-words text-og-xs leading-4 text-og-fg", children: commandResultsSummary(t, inputs) }) }),
|
|
7490
|
+
onDismiss ? /* @__PURE__ */ jsx13("div", { className: "flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100 max-sm:opacity-100", children: /* @__PURE__ */ jsx13(
|
|
7540
7491
|
IconAction,
|
|
7541
7492
|
{
|
|
7542
7493
|
label: t("sessionChrome.dismissIncomingCommandResults"),
|
|
@@ -7545,7 +7496,7 @@ function CommandResultsRow({
|
|
|
7545
7496
|
for (const input of inputs) onDismiss(input.id);
|
|
7546
7497
|
},
|
|
7547
7498
|
danger: true,
|
|
7548
|
-
children: /* @__PURE__ */
|
|
7499
|
+
children: /* @__PURE__ */ jsx13(Trash2Icon2, { className: "size-3" })
|
|
7549
7500
|
}
|
|
7550
7501
|
) }) : null
|
|
7551
7502
|
]
|
|
@@ -7591,7 +7542,7 @@ function QueuePanel({
|
|
|
7591
7542
|
);
|
|
7592
7543
|
return () => clearTimeout(timer);
|
|
7593
7544
|
}, [reduceMotion, turnIdsKey]);
|
|
7594
|
-
return /* @__PURE__ */
|
|
7545
|
+
return /* @__PURE__ */ jsxs9(
|
|
7595
7546
|
"ol",
|
|
7596
7547
|
{
|
|
7597
7548
|
className: "flex flex-col gap-0.5",
|
|
@@ -7606,63 +7557,63 @@ function QueuePanel({
|
|
|
7606
7557
|
const { beforeUp, beforeDown } = queueNeighborAnchors(turns, index);
|
|
7607
7558
|
const showActions = !readOnly && (onEdit || onSteer || onRemove || onMove);
|
|
7608
7559
|
const confirmingReplace = replaceDraftFor === turn.id;
|
|
7609
|
-
return /* @__PURE__ */
|
|
7560
|
+
return /* @__PURE__ */ jsxs9(
|
|
7610
7561
|
"li",
|
|
7611
7562
|
{
|
|
7612
7563
|
"data-queue-turn-id": turn.id,
|
|
7613
7564
|
tabIndex: -1,
|
|
7614
7565
|
className: "group flex flex-col gap-1 rounded-og-sm px-1.5 py-1 transition-colors hover:bg-[var(--_og-session-chrome-row-hover)]",
|
|
7615
7566
|
children: [
|
|
7616
|
-
/* @__PURE__ */
|
|
7617
|
-
voice ? /* @__PURE__ */
|
|
7567
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex items-start gap-1.5", children: [
|
|
7568
|
+
voice ? /* @__PURE__ */ jsx13(
|
|
7618
7569
|
AudioLinesIcon,
|
|
7619
7570
|
{
|
|
7620
7571
|
"aria-hidden": "true",
|
|
7621
7572
|
className: "mt-0.5 size-3 shrink-0 text-og-accent"
|
|
7622
7573
|
}
|
|
7623
|
-
) : /* @__PURE__ */
|
|
7624
|
-
/* @__PURE__ */
|
|
7574
|
+
) : /* @__PURE__ */ jsx13("span", { className: "mt-px shrink-0 font-og-mono text-[10px] leading-4 text-og-fg-subtle", children: index + 1 }),
|
|
7575
|
+
/* @__PURE__ */ jsx13(
|
|
7625
7576
|
CompactQueueItemContent,
|
|
7626
7577
|
{
|
|
7627
7578
|
text: presentation.text,
|
|
7628
7579
|
annotations: turn.annotations ?? []
|
|
7629
7580
|
}
|
|
7630
7581
|
),
|
|
7631
|
-
showActions ? /* @__PURE__ */
|
|
7632
|
-
/* @__PURE__ */
|
|
7633
|
-
onMove && turns.length > 1 ? /* @__PURE__ */
|
|
7634
|
-
/* @__PURE__ */
|
|
7582
|
+
showActions ? /* @__PURE__ */ jsxs9("div", { className: "flex shrink-0 items-center gap-0.5", children: [
|
|
7583
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100 max-sm:opacity-100", children: [
|
|
7584
|
+
onMove && turns.length > 1 ? /* @__PURE__ */ jsxs9(Fragment6, { children: [
|
|
7585
|
+
/* @__PURE__ */ jsx13(
|
|
7635
7586
|
IconAction,
|
|
7636
7587
|
{
|
|
7637
7588
|
label: t("sessionChrome.moveQueuedPromptIndexUp", { index: index + 1 }),
|
|
7638
7589
|
tip: t("sessionChrome.moveUp"),
|
|
7639
7590
|
disabled: settling || pending !== null || index === 0,
|
|
7640
7591
|
onClick: () => onMove(turn.id, beforeUp),
|
|
7641
|
-
children: /* @__PURE__ */
|
|
7592
|
+
children: /* @__PURE__ */ jsx13(ArrowUpIcon2, { className: "size-3" })
|
|
7642
7593
|
}
|
|
7643
7594
|
),
|
|
7644
|
-
/* @__PURE__ */
|
|
7595
|
+
/* @__PURE__ */ jsx13(
|
|
7645
7596
|
IconAction,
|
|
7646
7597
|
{
|
|
7647
7598
|
label: t("sessionChrome.moveQueuedPromptIndexDown", { index: index + 1 }),
|
|
7648
7599
|
tip: t("sessionChrome.moveDown"),
|
|
7649
7600
|
disabled: settling || pending !== null || index >= turns.length - 1,
|
|
7650
7601
|
onClick: () => onMove(turn.id, beforeDown),
|
|
7651
|
-
children: /* @__PURE__ */
|
|
7602
|
+
children: /* @__PURE__ */ jsx13(ArrowDownIcon2, { className: "size-3" })
|
|
7652
7603
|
}
|
|
7653
7604
|
)
|
|
7654
7605
|
] }) : null,
|
|
7655
|
-
onEdit ? /* @__PURE__ */
|
|
7606
|
+
onEdit ? /* @__PURE__ */ jsx13(
|
|
7656
7607
|
IconAction,
|
|
7657
7608
|
{
|
|
7658
7609
|
label: t("sessionChrome.editQueuedPromptIndex", { index: index + 1 }),
|
|
7659
7610
|
tip: QUEUE_EDIT_TIP(t),
|
|
7660
7611
|
disabled: settling || pending !== null,
|
|
7661
7612
|
onClick: () => onEdit(turn),
|
|
7662
|
-
children: pending === "edit" ? /* @__PURE__ */
|
|
7613
|
+
children: pending === "edit" ? /* @__PURE__ */ jsx13(Loader2Icon, { className: "size-3 animate-og-spin" }) : /* @__PURE__ */ jsx13(PencilIcon, { className: "size-3" })
|
|
7663
7614
|
}
|
|
7664
7615
|
) : null,
|
|
7665
|
-
onRemove ? /* @__PURE__ */
|
|
7616
|
+
onRemove ? /* @__PURE__ */ jsx13(
|
|
7666
7617
|
IconAction,
|
|
7667
7618
|
{
|
|
7668
7619
|
label: t("sessionChrome.removeQueuedPromptIndex", { index: index + 1 }),
|
|
@@ -7670,29 +7621,29 @@ function QueuePanel({
|
|
|
7670
7621
|
disabled: settling || pending !== null,
|
|
7671
7622
|
onClick: () => onRemove(turn.id),
|
|
7672
7623
|
danger: true,
|
|
7673
|
-
children: pending === "delete" ? /* @__PURE__ */
|
|
7624
|
+
children: pending === "delete" ? /* @__PURE__ */ jsx13(Loader2Icon, { className: "size-3 animate-og-spin" }) : /* @__PURE__ */ jsx13(Trash2Icon2, { className: "size-3" })
|
|
7674
7625
|
}
|
|
7675
7626
|
) : null
|
|
7676
7627
|
] }),
|
|
7677
|
-
onSteer ? /* @__PURE__ */
|
|
7628
|
+
onSteer ? /* @__PURE__ */ jsx13(
|
|
7678
7629
|
IconAction,
|
|
7679
7630
|
{
|
|
7680
7631
|
label: t("sessionChrome.steerQueuedPromptIndex", { index: index + 1 }),
|
|
7681
7632
|
analyticsAction: "steer",
|
|
7682
7633
|
text: t("sessionChrome.steer"),
|
|
7683
|
-
tip: /* @__PURE__ */
|
|
7634
|
+
tip: /* @__PURE__ */ jsx13(QueueSteerTip, {}),
|
|
7684
7635
|
disabled: settling || pending !== null,
|
|
7685
7636
|
onClick: () => onSteer(turn.id),
|
|
7686
|
-
children: pending === "steer" ? /* @__PURE__ */
|
|
7637
|
+
children: pending === "steer" ? /* @__PURE__ */ jsx13(Loader2Icon, { className: "size-3 animate-og-spin" }) : /* @__PURE__ */ jsx13(CornerDownRightIcon2, { className: "size-3" })
|
|
7687
7638
|
}
|
|
7688
7639
|
) : null
|
|
7689
7640
|
] }) : null
|
|
7690
7641
|
] }),
|
|
7691
|
-
confirmingReplace ? /* @__PURE__ */
|
|
7692
|
-
/* @__PURE__ */
|
|
7693
|
-
/* @__PURE__ */
|
|
7694
|
-
/* @__PURE__ */
|
|
7695
|
-
/* @__PURE__ */
|
|
7642
|
+
confirmingReplace ? /* @__PURE__ */ jsxs9("div", { className: "rounded-og-sm border border-og-status-waiting/30 bg-og-status-waiting/10 p-2 text-og-xs text-og-fg", children: [
|
|
7643
|
+
/* @__PURE__ */ jsx13("p", { children: QUEUE_REPLACE_DRAFT_COPY(t).title }),
|
|
7644
|
+
/* @__PURE__ */ jsx13("p", { className: "mt-0.5 text-og-fg-muted", children: QUEUE_REPLACE_DRAFT_COPY(t).detail }),
|
|
7645
|
+
/* @__PURE__ */ jsxs9("div", { className: "mt-2 flex justify-end gap-1.5", children: [
|
|
7646
|
+
/* @__PURE__ */ jsx13(
|
|
7696
7647
|
"button",
|
|
7697
7648
|
{
|
|
7698
7649
|
type: "button",
|
|
@@ -7701,7 +7652,7 @@ function QueuePanel({
|
|
|
7701
7652
|
children: QUEUE_REPLACE_DRAFT_COPY(t).keep
|
|
7702
7653
|
}
|
|
7703
7654
|
),
|
|
7704
|
-
/* @__PURE__ */
|
|
7655
|
+
/* @__PURE__ */ jsx13(
|
|
7705
7656
|
"button",
|
|
7706
7657
|
{
|
|
7707
7658
|
type: "button",
|
|
@@ -7717,7 +7668,7 @@ function QueuePanel({
|
|
|
7717
7668
|
turn.id
|
|
7718
7669
|
);
|
|
7719
7670
|
}),
|
|
7720
|
-
/* @__PURE__ */
|
|
7671
|
+
/* @__PURE__ */ jsx13(AnimatePresence3, { initial: false, children: optimistic.map((message, index) => /* @__PURE__ */ jsxs9(
|
|
7721
7672
|
motion3.li,
|
|
7722
7673
|
{
|
|
7723
7674
|
"aria-live": "polite",
|
|
@@ -7730,14 +7681,14 @@ function QueuePanel({
|
|
|
7730
7681
|
message.state === "failed" ? "bg-og-danger/8 text-og-danger" : "bg-og-accent-soft/45"
|
|
7731
7682
|
),
|
|
7732
7683
|
children: [
|
|
7733
|
-
/* @__PURE__ */
|
|
7734
|
-
/* @__PURE__ */
|
|
7735
|
-
/* @__PURE__ */
|
|
7736
|
-
message.state === "failed" && message.error ? /* @__PURE__ */
|
|
7684
|
+
/* @__PURE__ */ jsx13("span", { className: "shrink-0 font-og-mono text-[10px] leading-4 text-og-fg-subtle", children: turns.length + index + 1 }),
|
|
7685
|
+
/* @__PURE__ */ jsxs9("div", { className: "min-w-0 flex-1", children: [
|
|
7686
|
+
/* @__PURE__ */ jsx13(CompactQueueItemContent, { text: message.text, annotations: message.annotations }),
|
|
7687
|
+
message.state === "failed" && message.error ? /* @__PURE__ */ jsx13("p", { className: "break-words text-og-xs", children: message.error }) : null
|
|
7737
7688
|
] }),
|
|
7738
|
-
/* @__PURE__ */
|
|
7739
|
-
message.state === "failed" ? /* @__PURE__ */
|
|
7740
|
-
message.retryable !== false && onRetryOptimistic ? /* @__PURE__ */
|
|
7689
|
+
/* @__PURE__ */ jsx13("span", { className: "sr-only", children: message.state === "failed" ? message.outcomeUnknown ? t("sessionChrome.notConfirmed") : t("sessionChrome.messageNotSent") : message.state === "sending" ? t("sessionChrome.placingInQueue") : t("sessionChrome.queued") }),
|
|
7690
|
+
message.state === "failed" ? /* @__PURE__ */ jsxs9("div", { className: "flex shrink-0 items-center gap-1 text-[10px]", children: [
|
|
7691
|
+
message.retryable !== false && onRetryOptimistic ? /* @__PURE__ */ jsx13(
|
|
7741
7692
|
"button",
|
|
7742
7693
|
{
|
|
7743
7694
|
type: "button",
|
|
@@ -7746,7 +7697,7 @@ function QueuePanel({
|
|
|
7746
7697
|
children: t("sessionChrome.retry")
|
|
7747
7698
|
}
|
|
7748
7699
|
) : null,
|
|
7749
|
-
message.retryable === false && onRestoreOptimistic ? /* @__PURE__ */
|
|
7700
|
+
message.retryable === false && onRestoreOptimistic ? /* @__PURE__ */ jsx13(
|
|
7750
7701
|
"button",
|
|
7751
7702
|
{
|
|
7752
7703
|
type: "button",
|
|
@@ -7755,36 +7706,36 @@ function QueuePanel({
|
|
|
7755
7706
|
children: t("sessionChrome.editMessage")
|
|
7756
7707
|
}
|
|
7757
7708
|
) : null,
|
|
7758
|
-
onRemoveOptimistic ? /* @__PURE__ */
|
|
7709
|
+
onRemoveOptimistic ? /* @__PURE__ */ jsx13(
|
|
7759
7710
|
"button",
|
|
7760
7711
|
{
|
|
7761
7712
|
type: "button",
|
|
7762
7713
|
"aria-label": t("sessionChrome.dismissUnconfirmedQueuedPrompt"),
|
|
7763
7714
|
className: "rounded-og-sm p-1 text-og-fg-muted hover:bg-og-surface-2 hover:text-og-fg pointer-coarse:min-h-11 pointer-coarse:min-w-11",
|
|
7764
7715
|
onClick: () => onRemoveOptimistic(message.clientEventId),
|
|
7765
|
-
children: /* @__PURE__ */
|
|
7716
|
+
children: /* @__PURE__ */ jsx13(XIcon, { className: "size-3" })
|
|
7766
7717
|
}
|
|
7767
7718
|
) : null
|
|
7768
|
-
] }) : message.state === "sending" ? /* @__PURE__ */
|
|
7769
|
-
|
|
7719
|
+
] }) : message.state === "sending" ? /* @__PURE__ */ jsx13(
|
|
7720
|
+
Loader2Icon,
|
|
7770
7721
|
{
|
|
7771
7722
|
"aria-hidden": "true",
|
|
7772
7723
|
className: "size-3 shrink-0 animate-og-spin text-og-accent motion-reduce:animate-none"
|
|
7773
7724
|
}
|
|
7774
|
-
) : /* @__PURE__ */
|
|
7725
|
+
) : /* @__PURE__ */ jsx13(CheckIcon2, { "aria-hidden": "true", className: "size-3 shrink-0 text-og-accent" })
|
|
7775
7726
|
]
|
|
7776
7727
|
},
|
|
7777
7728
|
message.clientEventId
|
|
7778
7729
|
)) }),
|
|
7779
|
-
loadError ? /* @__PURE__ */
|
|
7730
|
+
loadError ? /* @__PURE__ */ jsxs9(
|
|
7780
7731
|
"li",
|
|
7781
7732
|
{
|
|
7782
7733
|
role: "alert",
|
|
7783
7734
|
className: "flex items-center gap-1.5 rounded-og-sm bg-og-danger/8 px-1.5 py-1 text-og-xs text-og-danger",
|
|
7784
7735
|
children: [
|
|
7785
|
-
/* @__PURE__ */
|
|
7786
|
-
/* @__PURE__ */
|
|
7787
|
-
/* @__PURE__ */
|
|
7736
|
+
/* @__PURE__ */ jsx13(TriangleAlertIcon3, { className: "size-3 shrink-0" }),
|
|
7737
|
+
/* @__PURE__ */ jsx13("span", { className: "min-w-0 flex-1", children: t("sessionChrome.queueUnavailable") }),
|
|
7738
|
+
/* @__PURE__ */ jsx13(
|
|
7788
7739
|
"button",
|
|
7789
7740
|
{
|
|
7790
7741
|
type: "button",
|
|
@@ -7796,15 +7747,15 @@ function QueuePanel({
|
|
|
7796
7747
|
]
|
|
7797
7748
|
}
|
|
7798
7749
|
) : null,
|
|
7799
|
-
mutationError ? /* @__PURE__ */
|
|
7750
|
+
mutationError ? /* @__PURE__ */ jsxs9(
|
|
7800
7751
|
"li",
|
|
7801
7752
|
{
|
|
7802
7753
|
role: "alert",
|
|
7803
7754
|
className: "flex items-center gap-1.5 rounded-og-sm bg-og-danger/8 px-1.5 py-1 text-og-xs text-og-danger",
|
|
7804
7755
|
children: [
|
|
7805
|
-
/* @__PURE__ */
|
|
7806
|
-
/* @__PURE__ */
|
|
7807
|
-
/* @__PURE__ */
|
|
7756
|
+
/* @__PURE__ */ jsx13(TriangleAlertIcon3, { className: "size-3 shrink-0" }),
|
|
7757
|
+
/* @__PURE__ */ jsx13("span", { className: "min-w-0 flex-1", children: t("sessionChrome.notConfirmedCheckTheQueue") }),
|
|
7758
|
+
/* @__PURE__ */ jsx13(
|
|
7808
7759
|
"button",
|
|
7809
7760
|
{
|
|
7810
7761
|
type: "button",
|
|
@@ -7826,9 +7777,9 @@ function CompactQueueItemContent({
|
|
|
7826
7777
|
}) {
|
|
7827
7778
|
const t = useOpenGeniText();
|
|
7828
7779
|
const content = queueItemContent(text, annotations.length);
|
|
7829
|
-
return /* @__PURE__ */
|
|
7830
|
-
content === "text" ? /* @__PURE__ */
|
|
7831
|
-
annotations.length > 0 ? /* @__PURE__ */
|
|
7780
|
+
return /* @__PURE__ */ jsxs9("div", { className: "flex min-w-0 flex-1 items-center gap-1.5", children: [
|
|
7781
|
+
content === "text" ? /* @__PURE__ */ jsx13("p", { className: "min-w-0 flex-1 truncate text-og-xs leading-4 text-og-fg", children: text }) : content === "unavailable" ? /* @__PURE__ */ jsx13("p", { className: "min-w-0 flex-1 truncate text-og-xs leading-4 text-og-fg-muted italic", children: QUEUE_ITEM_CONTENT_UNAVAILABLE(t) }) : null,
|
|
7782
|
+
annotations.length > 0 ? /* @__PURE__ */ jsx13(TimelineAnnotationsChip, { annotations, className: "shrink-0", compact: true }) : null
|
|
7832
7783
|
] });
|
|
7833
7784
|
}
|
|
7834
7785
|
function GoalPanel({
|
|
@@ -7843,22 +7794,22 @@ function GoalPanel({
|
|
|
7843
7794
|
if (!record) return null;
|
|
7844
7795
|
const canToggle = !readOnly && (record.status === "active" || record.status === "paused");
|
|
7845
7796
|
const explanation = sessionChromeGoalPillExplanation(t, state, record);
|
|
7846
|
-
return /* @__PURE__ */
|
|
7847
|
-
/* @__PURE__ */
|
|
7848
|
-
/* @__PURE__ */
|
|
7849
|
-
elapsed ? /* @__PURE__ */
|
|
7850
|
-
/* @__PURE__ */
|
|
7797
|
+
return /* @__PURE__ */ jsxs9("div", { className: "space-y-1.5", "data-og-session-chrome-panel": "goal", children: [
|
|
7798
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex flex-wrap items-center gap-1.5 text-[10px] font-medium uppercase tracking-wider text-og-fg-subtle", children: [
|
|
7799
|
+
/* @__PURE__ */ jsx13("span", { children: sessionChromeGoalPillLabel(t, state, record) }),
|
|
7800
|
+
elapsed ? /* @__PURE__ */ jsx13("span", { className: "tabular-nums normal-case tracking-normal text-og-fg-muted", children: t("sessionChrome.createdElapsedAgo", { elapsed }) }) : null,
|
|
7801
|
+
/* @__PURE__ */ jsxs9("span", { className: "normal-case tracking-normal text-og-fg-muted", children: [
|
|
7851
7802
|
"\xB7 v",
|
|
7852
7803
|
record.version
|
|
7853
7804
|
] })
|
|
7854
7805
|
] }),
|
|
7855
|
-
/* @__PURE__ */
|
|
7856
|
-
record.successCriteria ? /* @__PURE__ */
|
|
7857
|
-
/* @__PURE__ */
|
|
7806
|
+
/* @__PURE__ */ jsx13("p", { className: "text-og-sm leading-5 text-og-fg", children: record.text }),
|
|
7807
|
+
record.successCriteria ? /* @__PURE__ */ jsxs9("p", { className: "text-og-xs leading-4 text-og-fg-muted", children: [
|
|
7808
|
+
/* @__PURE__ */ jsx13("span", { className: "font-medium text-og-fg", children: t("sessionChrome.doneWhen") }),
|
|
7858
7809
|
" ",
|
|
7859
7810
|
record.successCriteria
|
|
7860
7811
|
] }) : null,
|
|
7861
|
-
explanation ? /* @__PURE__ */
|
|
7812
|
+
explanation ? /* @__PURE__ */ jsx13(
|
|
7862
7813
|
"p",
|
|
7863
7814
|
{
|
|
7864
7815
|
"data-og-session-chrome-goal-explanation": true,
|
|
@@ -7866,18 +7817,18 @@ function GoalPanel({
|
|
|
7866
7817
|
children: explanation
|
|
7867
7818
|
}
|
|
7868
7819
|
) : null,
|
|
7869
|
-
record.continuation?.lastError ? /* @__PURE__ */
|
|
7870
|
-
/* @__PURE__ */
|
|
7871
|
-
/* @__PURE__ */
|
|
7872
|
-
/* @__PURE__ */
|
|
7820
|
+
record.continuation?.lastError ? /* @__PURE__ */ jsx13("p", { className: "rounded-og-sm bg-og-status-waiting/10 px-1.5 py-1 text-og-xs leading-4 text-og-status-waiting", children: formatError(record.continuation.lastError) }) : null,
|
|
7821
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex flex-wrap items-center justify-between gap-1.5 pt-0.5", children: [
|
|
7822
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex flex-wrap gap-1 text-[10px] text-og-fg-muted", children: [
|
|
7823
|
+
/* @__PURE__ */ jsx13("span", { className: "rounded bg-og-surface-3/70 px-1 py-px", children: t("sessionChrome.autocontinuationsConsecutiveUnattendedContinues", {
|
|
7873
7824
|
autoContinuations: record.autoContinuations
|
|
7874
7825
|
}) }),
|
|
7875
|
-
/* @__PURE__ */
|
|
7826
|
+
/* @__PURE__ */ jsx13("span", { className: "rounded bg-og-surface-3/70 px-1 py-px", children: t("sessionChrome.noprogressstreakStalled", {
|
|
7876
7827
|
noProgressStreak: record.noProgressStreak
|
|
7877
7828
|
}) })
|
|
7878
7829
|
] }),
|
|
7879
|
-
!readOnly ? /* @__PURE__ */
|
|
7880
|
-
canToggle ? /* @__PURE__ */
|
|
7830
|
+
!readOnly ? /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-0.5", children: [
|
|
7831
|
+
canToggle ? /* @__PURE__ */ jsxs9(
|
|
7881
7832
|
"button",
|
|
7882
7833
|
{
|
|
7883
7834
|
type: "button",
|
|
@@ -7885,12 +7836,12 @@ function GoalPanel({
|
|
|
7885
7836
|
onClick: () => void (record.status === "paused" ? goal.resume() : goal.pause("Paused from session chrome")),
|
|
7886
7837
|
className: "inline-flex h-6 items-center gap-1 rounded-og-sm px-1.5 text-og-xs font-medium text-og-fg-muted outline-hidden transition-colors hover:bg-og-surface-3/70 hover:text-og-fg focus-visible:ring-2 focus-visible:ring-og-accent/40 disabled:opacity-50",
|
|
7887
7838
|
children: [
|
|
7888
|
-
goal.updating ? /* @__PURE__ */
|
|
7839
|
+
goal.updating ? /* @__PURE__ */ jsx13(Loader2Icon, { className: "size-3 animate-og-spin" }) : record.status === "paused" ? /* @__PURE__ */ jsx13(PlayIcon2, { className: "size-3" }) : /* @__PURE__ */ jsx13(PauseIcon2, { className: "size-3" }),
|
|
7889
7840
|
record.status === "paused" ? t("sessionChrome.resume") : t("sessionChrome.pause")
|
|
7890
7841
|
]
|
|
7891
7842
|
}
|
|
7892
7843
|
) : null,
|
|
7893
|
-
/* @__PURE__ */
|
|
7844
|
+
/* @__PURE__ */ jsxs9(
|
|
7894
7845
|
"button",
|
|
7895
7846
|
{
|
|
7896
7847
|
type: "button",
|
|
@@ -7898,7 +7849,7 @@ function GoalPanel({
|
|
|
7898
7849
|
onClick: () => void goal.deleteGoal(),
|
|
7899
7850
|
className: "inline-flex h-6 items-center gap-1 rounded-og-sm px-1.5 text-og-xs font-medium text-og-fg-subtle outline-hidden transition-colors hover:bg-og-surface-3/70 hover:text-og-danger focus-visible:ring-2 focus-visible:ring-og-accent/40 disabled:opacity-50",
|
|
7900
7851
|
children: [
|
|
7901
|
-
/* @__PURE__ */
|
|
7852
|
+
/* @__PURE__ */ jsx13(Trash2Icon2, { className: "size-3" }),
|
|
7902
7853
|
t("sessionChrome.clear")
|
|
7903
7854
|
]
|
|
7904
7855
|
}
|
|
@@ -7909,9 +7860,9 @@ function GoalPanel({
|
|
|
7909
7860
|
}
|
|
7910
7861
|
function QueueSteerTip() {
|
|
7911
7862
|
const t = useOpenGeniText();
|
|
7912
|
-
return /* @__PURE__ */
|
|
7913
|
-
/* @__PURE__ */
|
|
7914
|
-
/* @__PURE__ */
|
|
7863
|
+
return /* @__PURE__ */ jsxs9("span", { className: "flex flex-col gap-0.5 text-left", children: [
|
|
7864
|
+
/* @__PURE__ */ jsx13("span", { className: "font-medium", children: t("sessionChrome.steer") }),
|
|
7865
|
+
/* @__PURE__ */ jsx13("span", { className: "opacity-80", children: t("sessionChrome.steerTip") })
|
|
7915
7866
|
] });
|
|
7916
7867
|
}
|
|
7917
7868
|
var QUEUE_EDIT_TIP = (t) => t("sessionChrome.editInComposer");
|
|
@@ -7926,8 +7877,8 @@ function IconAction({
|
|
|
7926
7877
|
danger,
|
|
7927
7878
|
children
|
|
7928
7879
|
}) {
|
|
7929
|
-
return /* @__PURE__ */
|
|
7930
|
-
/* @__PURE__ */
|
|
7880
|
+
return /* @__PURE__ */ jsxs9(Tooltip, { children: [
|
|
7881
|
+
/* @__PURE__ */ jsx13(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs9(
|
|
7931
7882
|
"button",
|
|
7932
7883
|
{
|
|
7933
7884
|
type: "button",
|
|
@@ -7949,7 +7900,7 @@ function IconAction({
|
|
|
7949
7900
|
]
|
|
7950
7901
|
}
|
|
7951
7902
|
) }),
|
|
7952
|
-
/* @__PURE__ */
|
|
7903
|
+
/* @__PURE__ */ jsx13(TooltipContent, { side: "top", children: tip })
|
|
7953
7904
|
] });
|
|
7954
7905
|
}
|
|
7955
7906
|
|
|
@@ -7959,8 +7910,8 @@ import {
|
|
|
7959
7910
|
SESSION_SCOPE_HEADER
|
|
7960
7911
|
} from "@opengeni/sdk";
|
|
7961
7912
|
import {
|
|
7962
|
-
lazy as
|
|
7963
|
-
Suspense as
|
|
7913
|
+
lazy as lazy2,
|
|
7914
|
+
Suspense as Suspense3,
|
|
7964
7915
|
useCallback as useCallback6,
|
|
7965
7916
|
useEffect as useEffect14,
|
|
7966
7917
|
useMemo as useMemo9,
|
|
@@ -7970,13 +7921,13 @@ import {
|
|
|
7970
7921
|
|
|
7971
7922
|
// src/components/conversation-render-boundary.tsx
|
|
7972
7923
|
import { Component as Component3, useState as useState10 } from "react";
|
|
7973
|
-
import { jsx as
|
|
7924
|
+
import { jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
7974
7925
|
function ConversationRenderBoundary({
|
|
7975
7926
|
resetKey,
|
|
7976
7927
|
children
|
|
7977
7928
|
}) {
|
|
7978
7929
|
const [attempt, setAttempt] = useState10(0);
|
|
7979
|
-
return /* @__PURE__ */
|
|
7930
|
+
return /* @__PURE__ */ jsx14(Boundary, { resetKey: `${resetKey}:${attempt}`, onRetry: () => setAttempt((value) => value + 1), children });
|
|
7980
7931
|
}
|
|
7981
7932
|
var Boundary = class extends Component3 {
|
|
7982
7933
|
state = { failed: false, resetKey: this.props.resetKey };
|
|
@@ -7990,20 +7941,20 @@ var Boundary = class extends Component3 {
|
|
|
7990
7941
|
console.error("Opengeni chat failed to render", error, info.componentStack);
|
|
7991
7942
|
}
|
|
7992
7943
|
render() {
|
|
7993
|
-
return this.state.failed ? /* @__PURE__ */
|
|
7944
|
+
return this.state.failed ? /* @__PURE__ */ jsx14(ConversationRenderError, { onRetry: this.props.onRetry }) : this.props.children;
|
|
7994
7945
|
}
|
|
7995
7946
|
};
|
|
7996
7947
|
function ConversationRenderError({ onRetry }) {
|
|
7997
7948
|
const t = useOpenGeniText();
|
|
7998
|
-
return /* @__PURE__ */
|
|
7949
|
+
return /* @__PURE__ */ jsxs10(
|
|
7999
7950
|
"div",
|
|
8000
7951
|
{
|
|
8001
7952
|
role: "alert",
|
|
8002
7953
|
"data-og-conversation-render-error": "",
|
|
8003
7954
|
className: "flex min-h-0 flex-1 flex-col items-center justify-center gap-3 px-6 py-8 text-center",
|
|
8004
7955
|
children: [
|
|
8005
|
-
/* @__PURE__ */
|
|
8006
|
-
/* @__PURE__ */
|
|
7956
|
+
/* @__PURE__ */ jsx14("p", { className: "max-w-sm text-og-base text-og-fg-muted", children: t("conversationRenderBoundary.chatUnavailable") }),
|
|
7957
|
+
/* @__PURE__ */ jsx14(
|
|
8007
7958
|
"button",
|
|
8008
7959
|
{
|
|
8009
7960
|
type: "button",
|
|
@@ -8077,7 +8028,7 @@ function useRealtimeVoiceModels(client, workspaceId, enabled) {
|
|
|
8077
8028
|
useEffect11(() => {
|
|
8078
8029
|
if (!enabled || !workspaceId) return;
|
|
8079
8030
|
const controller = new AbortController();
|
|
8080
|
-
void import("./session-realtime-
|
|
8031
|
+
void import("./session-realtime-JNKDSGH7.js").then(async ({ loadRealtimeModelCatalog }) => {
|
|
8081
8032
|
const models = await loadRealtimeModelCatalog(
|
|
8082
8033
|
client,
|
|
8083
8034
|
workspaceId,
|
|
@@ -8103,7 +8054,7 @@ import {
|
|
|
8103
8054
|
OpenGeniBrowserClient
|
|
8104
8055
|
} from "@opengeni/sdk/browser";
|
|
8105
8056
|
import { useEffect as useEffect12, useMemo as useMemo8, useRef as useRef10, useState as useState13 } from "react";
|
|
8106
|
-
import { jsx as
|
|
8057
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
8107
8058
|
function proxyLoadErrorMessage(t, error) {
|
|
8108
8059
|
if (error instanceof OpenGeniApiError2 && error.status === 401 && error.code === "unauthenticated") {
|
|
8109
8060
|
const message = t("sessionProxyScope.chatIsUnavailableRightNow");
|
|
@@ -8176,12 +8127,12 @@ function SessionProxyScope({
|
|
|
8176
8127
|
};
|
|
8177
8128
|
}, [client, workspaceId, t]);
|
|
8178
8129
|
if (state.status === "error") {
|
|
8179
|
-
return /* @__PURE__ */
|
|
8130
|
+
return /* @__PURE__ */ jsx15("div", { role: "alert", className: "og-root p-3 text-og-sm text-og-danger", "data-og-proxy-error": "", children: state.message });
|
|
8180
8131
|
}
|
|
8181
8132
|
if (state.status === "loading") {
|
|
8182
|
-
return /* @__PURE__ */
|
|
8133
|
+
return /* @__PURE__ */ jsx15("div", { className: "og-root", "aria-busy": "true", "data-og-proxy-loading": "" });
|
|
8183
8134
|
}
|
|
8184
|
-
return /* @__PURE__ */
|
|
8135
|
+
return /* @__PURE__ */ jsx15(OpenGeniProvider, { client, workspaceId: state.workspaceId, children });
|
|
8185
8136
|
}
|
|
8186
8137
|
|
|
8187
8138
|
// src/lib/host-theme.ts
|
|
@@ -8528,7 +8479,7 @@ function useHostTheme(ref, options) {
|
|
|
8528
8479
|
}
|
|
8529
8480
|
|
|
8530
8481
|
// src/components/session-conversation.tsx
|
|
8531
|
-
import { Fragment as Fragment7, jsx as
|
|
8482
|
+
import { Fragment as Fragment7, jsx as jsx16, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
8532
8483
|
var DEFAULT_CONVERSATION_LABELS = (t) => ({
|
|
8533
8484
|
retry: t("sessionConversation.retry"),
|
|
8534
8485
|
tryAgain: t("sessionConversation.tryAgain"),
|
|
@@ -8552,9 +8503,9 @@ function SessionConversation({
|
|
|
8552
8503
|
}) {
|
|
8553
8504
|
const resetKey = useConversationIdentity(props.workspaceId, props.sessionId);
|
|
8554
8505
|
if (baseUrl === void 0)
|
|
8555
|
-
return /* @__PURE__ */
|
|
8506
|
+
return /* @__PURE__ */ jsx16(ConversationRenderBoundary, { resetKey, children: /* @__PURE__ */ jsx16(RetryingConversation, { ...props }) });
|
|
8556
8507
|
const { client, workspaceId, ...rest } = props;
|
|
8557
|
-
return /* @__PURE__ */
|
|
8508
|
+
return /* @__PURE__ */ jsx16(ConversationRenderBoundary, { resetKey, children: /* @__PURE__ */ jsx16(
|
|
8558
8509
|
SessionProxyScope,
|
|
8559
8510
|
{
|
|
8560
8511
|
baseUrl,
|
|
@@ -8562,14 +8513,14 @@ function SessionConversation({
|
|
|
8562
8513
|
client,
|
|
8563
8514
|
headers,
|
|
8564
8515
|
fetch,
|
|
8565
|
-
children: /* @__PURE__ */
|
|
8516
|
+
children: /* @__PURE__ */ jsx16(RetryingConversation, { ...rest })
|
|
8566
8517
|
}
|
|
8567
8518
|
) });
|
|
8568
8519
|
}
|
|
8569
8520
|
function RetryingConversation(props) {
|
|
8570
8521
|
const [attempt, setAttempt] = useState15(0);
|
|
8571
8522
|
const identity = useConversationIdentity(props.workspaceId, props.sessionId);
|
|
8572
|
-
return /* @__PURE__ */
|
|
8523
|
+
return /* @__PURE__ */ jsx16(
|
|
8573
8524
|
Conversation,
|
|
8574
8525
|
{
|
|
8575
8526
|
...props,
|
|
@@ -8580,14 +8531,14 @@ function RetryingConversation(props) {
|
|
|
8580
8531
|
}
|
|
8581
8532
|
function Conversation(props) {
|
|
8582
8533
|
const conversation = useSessionConversation(props.sessionId, props);
|
|
8583
|
-
return /* @__PURE__ */
|
|
8534
|
+
return /* @__PURE__ */ jsx16(ConversationView, { ...props, conversation });
|
|
8584
8535
|
}
|
|
8585
8536
|
function SessionConversationView(props) {
|
|
8586
8537
|
const identity = useConversationIdentity(
|
|
8587
8538
|
props.conversation.workspaceId,
|
|
8588
8539
|
props.conversation.sessionId
|
|
8589
8540
|
);
|
|
8590
|
-
return /* @__PURE__ */
|
|
8541
|
+
return /* @__PURE__ */ jsx16(ConversationView, { ...props, onRetry: () => void props.conversation.retry() }, identity);
|
|
8591
8542
|
}
|
|
8592
8543
|
function ConversationView({
|
|
8593
8544
|
conversation,
|
|
@@ -8728,7 +8679,7 @@ function ConversationView({
|
|
|
8728
8679
|
[notifyVoiceActive]
|
|
8729
8680
|
);
|
|
8730
8681
|
const voiceControl = composer.effectiveControl ?? queue.effectiveControl ?? detail.session?.effectiveControl;
|
|
8731
|
-
const voice = sessionId && voiceModels.length > 0 && status && !terminal && voiceControl ? /* @__PURE__ */
|
|
8682
|
+
const voice = sessionId && voiceModels.length > 0 && status && !terminal && voiceControl ? /* @__PURE__ */ jsx16(Suspense3, { fallback: null, children: /* @__PURE__ */ jsx16(
|
|
8732
8683
|
LazyEmbeddedRealtimeVoice,
|
|
8733
8684
|
{
|
|
8734
8685
|
...realtimeVoiceProps,
|
|
@@ -8744,7 +8695,7 @@ function ConversationView({
|
|
|
8744
8695
|
onVoiceActiveChange
|
|
8745
8696
|
}
|
|
8746
8697
|
) }) : null;
|
|
8747
|
-
return /* @__PURE__ */
|
|
8698
|
+
return /* @__PURE__ */ jsx16(SingleSendWording, { enabled: composer.singleSend === true, children: /* @__PURE__ */ jsxs11(
|
|
8748
8699
|
"div",
|
|
8749
8700
|
{
|
|
8750
8701
|
className: cn(
|
|
@@ -8757,15 +8708,15 @@ function ConversationView({
|
|
|
8757
8708
|
"data-og-host-theme": "",
|
|
8758
8709
|
"data-og-conversation": "",
|
|
8759
8710
|
children: [
|
|
8760
|
-
error && !loadFailed ? /* @__PURE__ */
|
|
8711
|
+
error && !loadFailed ? /* @__PURE__ */ jsxs11(
|
|
8761
8712
|
"div",
|
|
8762
8713
|
{
|
|
8763
8714
|
role: "alert",
|
|
8764
8715
|
className: "mx-auto flex w-full max-w-3xl shrink-0 items-center gap-3 rounded-og-md border border-og-status-failed/30 bg-og-status-failed/10 px-3 py-2 text-og-sm text-og-fg",
|
|
8765
8716
|
"data-og-conversation-error": "",
|
|
8766
8717
|
children: [
|
|
8767
|
-
/* @__PURE__ */
|
|
8768
|
-
/* @__PURE__ */
|
|
8718
|
+
/* @__PURE__ */ jsx16("span", { className: "min-w-0 flex-1", children: formatError(error) }),
|
|
8719
|
+
/* @__PURE__ */ jsx16(
|
|
8769
8720
|
"button",
|
|
8770
8721
|
{
|
|
8771
8722
|
type: "button",
|
|
@@ -8777,15 +8728,15 @@ function ConversationView({
|
|
|
8777
8728
|
]
|
|
8778
8729
|
}
|
|
8779
8730
|
) : null,
|
|
8780
|
-
loadFailed ? /* @__PURE__ */
|
|
8731
|
+
loadFailed ? /* @__PURE__ */ jsxs11(
|
|
8781
8732
|
"div",
|
|
8782
8733
|
{
|
|
8783
8734
|
role: "alert",
|
|
8784
8735
|
className: "flex min-h-0 flex-1 flex-col items-center justify-center gap-3 px-6 text-center",
|
|
8785
8736
|
"data-og-conversation-error": "",
|
|
8786
8737
|
children: [
|
|
8787
|
-
/* @__PURE__ */
|
|
8788
|
-
/* @__PURE__ */
|
|
8738
|
+
/* @__PURE__ */ jsx16("p", { className: "max-w-sm text-og-base text-og-fg-muted", children: formatError(feed.error) }),
|
|
8739
|
+
/* @__PURE__ */ jsx16(
|
|
8789
8740
|
"button",
|
|
8790
8741
|
{
|
|
8791
8742
|
type: "button",
|
|
@@ -8796,7 +8747,7 @@ function ConversationView({
|
|
|
8796
8747
|
)
|
|
8797
8748
|
]
|
|
8798
8749
|
}
|
|
8799
|
-
) : /* @__PURE__ */
|
|
8750
|
+
) : /* @__PURE__ */ jsx16(
|
|
8800
8751
|
MessageTimeline,
|
|
8801
8752
|
{
|
|
8802
8753
|
renderMessageText,
|
|
@@ -8814,7 +8765,7 @@ function ConversationView({
|
|
|
8814
8765
|
events: feed.events,
|
|
8815
8766
|
items: conversation.timeline,
|
|
8816
8767
|
turnSummary: timelineProps?.turnSummary ?? { rolling: true },
|
|
8817
|
-
renderAuthNeeded: (item) => timelineProps?.renderAuthNeeded?.(item) ?? (item.capability?.id === "api:connected-machine" && computerConnection ? /* @__PURE__ */
|
|
8768
|
+
renderAuthNeeded: (item) => timelineProps?.renderAuthNeeded?.(item) ?? (item.capability?.id === "api:connected-machine" && computerConnection ? /* @__PURE__ */ jsx16(ThisComputerCard, { ...computerConnection, rationale: item.capability.rationale }) : void 0),
|
|
8818
8769
|
emptyState: timelineProps?.emptyState,
|
|
8819
8770
|
renderMessageSender: timelineProps?.renderMessageSender,
|
|
8820
8771
|
status,
|
|
@@ -8833,14 +8784,14 @@ function ConversationView({
|
|
|
8833
8784
|
questionNavMinViewportHeight: 320
|
|
8834
8785
|
}
|
|
8835
8786
|
),
|
|
8836
|
-
importedArchive ? /* @__PURE__ */
|
|
8837
|
-
/* @__PURE__ */
|
|
8787
|
+
importedArchive ? /* @__PURE__ */ jsx16("p", { className: "shrink-0 px-4 py-2 text-center text-sm text-og-muted", role: "status", children: t("sessionConversation.archivedConversationReadOnly") }) : /* @__PURE__ */ jsxs11(Fragment7, { children: [
|
|
8788
|
+
/* @__PURE__ */ jsxs11(
|
|
8838
8789
|
"div",
|
|
8839
8790
|
{
|
|
8840
8791
|
className: "relative z-20 min-h-0 max-h-[40%] shrink-0 overflow-y-auto empty:hidden",
|
|
8841
8792
|
"data-og-conversation-inputs": "",
|
|
8842
8793
|
children: [
|
|
8843
|
-
approvals.length > 0 && !terminal ? /* @__PURE__ */
|
|
8794
|
+
approvals.length > 0 && !terminal ? /* @__PURE__ */ jsx16(
|
|
8844
8795
|
ApprovalSurface,
|
|
8845
8796
|
{
|
|
8846
8797
|
className: "mx-auto max-w-3xl",
|
|
@@ -8856,14 +8807,14 @@ function ConversationView({
|
|
|
8856
8807
|
error: control.error
|
|
8857
8808
|
}
|
|
8858
8809
|
) : null,
|
|
8859
|
-
/* @__PURE__ */
|
|
8810
|
+
/* @__PURE__ */ jsx16(
|
|
8860
8811
|
ProviderRecoveryNotice,
|
|
8861
8812
|
{
|
|
8862
8813
|
className: "mx-auto max-w-3xl px-1",
|
|
8863
8814
|
recovery: providerRecovery
|
|
8864
8815
|
}
|
|
8865
8816
|
),
|
|
8866
|
-
/* @__PURE__ */
|
|
8817
|
+
/* @__PURE__ */ jsx16(
|
|
8867
8818
|
HumanInputSurface,
|
|
8868
8819
|
{
|
|
8869
8820
|
className: "mx-auto max-w-3xl",
|
|
@@ -8881,7 +8832,7 @@ function ConversationView({
|
|
|
8881
8832
|
error: human.mutationError ? formatError(human.mutationError) : null
|
|
8882
8833
|
}
|
|
8883
8834
|
),
|
|
8884
|
-
/* @__PURE__ */
|
|
8835
|
+
/* @__PURE__ */ jsx16(
|
|
8885
8836
|
ConversationChrome,
|
|
8886
8837
|
{
|
|
8887
8838
|
sessionId,
|
|
@@ -8907,19 +8858,19 @@ function ConversationView({
|
|
|
8907
8858
|
]
|
|
8908
8859
|
}
|
|
8909
8860
|
),
|
|
8910
|
-
/* @__PURE__ */
|
|
8861
|
+
/* @__PURE__ */ jsx16(
|
|
8911
8862
|
"div",
|
|
8912
8863
|
{
|
|
8913
8864
|
className: "relative z-20 mx-auto w-full max-w-3xl shrink-0",
|
|
8914
8865
|
"data-og-conversation-composer": "",
|
|
8915
|
-
children: /* @__PURE__ */
|
|
8866
|
+
children: /* @__PURE__ */ jsx16(
|
|
8916
8867
|
ChatComposer,
|
|
8917
8868
|
{
|
|
8918
8869
|
runControl: "stop",
|
|
8919
8870
|
running,
|
|
8920
8871
|
...composerProps,
|
|
8921
8872
|
...transcription && composerProps?.transcription === void 0 ? { transcription } : {},
|
|
8922
|
-
actionsStart: voice ? /* @__PURE__ */
|
|
8873
|
+
actionsStart: voice ? /* @__PURE__ */ jsxs11(Fragment7, { children: [
|
|
8923
8874
|
composerProps?.actionsStart,
|
|
8924
8875
|
voice
|
|
8925
8876
|
] }) : composerProps?.actionsStart,
|
|
@@ -8927,7 +8878,7 @@ function ConversationView({
|
|
|
8927
8878
|
composer,
|
|
8928
8879
|
attachments: uploadsEnabled ? files : void 0,
|
|
8929
8880
|
disabled: sessionId === null || terminal || composerProps?.disabled,
|
|
8930
|
-
controlsStart: composerProps?.controlsStart ?? (showModelPicker && composer.policy && /* @__PURE__ */
|
|
8881
|
+
controlsStart: composerProps?.controlsStart ?? (showModelPicker && composer.policy && /* @__PURE__ */ jsx16(
|
|
8931
8882
|
ModelPolicyPicker,
|
|
8932
8883
|
{
|
|
8933
8884
|
groupPresentation: modelPickerProps?.groupPresentation,
|
|
@@ -8973,7 +8924,7 @@ function embeddedGenieLoading(t, options) {
|
|
|
8973
8924
|
function ConversationChrome(props) {
|
|
8974
8925
|
const goals = props.client;
|
|
8975
8926
|
const canReachGoals = typeof goals.getGoal === "function" && typeof goals.updateGoal === "function" && typeof goals.deleteGoal === "function";
|
|
8976
|
-
return canReachGoals && props.sessionId ? /* @__PURE__ */
|
|
8927
|
+
return canReachGoals && props.sessionId ? /* @__PURE__ */ jsx16(GoalChrome, { ...props, sessionId: props.sessionId }) : /* @__PURE__ */ jsx16(SessionChrome, { ...props.chrome });
|
|
8977
8928
|
}
|
|
8978
8929
|
function GoalChrome({
|
|
8979
8930
|
sessionId,
|
|
@@ -8987,11 +8938,11 @@ function GoalChrome({
|
|
|
8987
8938
|
workspaceId,
|
|
8988
8939
|
events
|
|
8989
8940
|
});
|
|
8990
|
-
return /* @__PURE__ */
|
|
8941
|
+
return /* @__PURE__ */ jsx16(SessionChrome, { ...chrome, goal });
|
|
8991
8942
|
}
|
|
8992
|
-
var LazyEmbeddedRealtimeVoice =
|
|
8993
|
-
var LazyChatInteractiveBlock =
|
|
8994
|
-
() => import("./chat-interactive-block-
|
|
8943
|
+
var LazyEmbeddedRealtimeVoice = lazy2(() => import("./embedded-voice-UDE4JRKB.js"));
|
|
8944
|
+
var LazyChatInteractiveBlock = lazy2(
|
|
8945
|
+
() => import("./chat-interactive-block-AMDSW656.js").then((module) => ({
|
|
8995
8946
|
default: module.ChatInteractiveBlock
|
|
8996
8947
|
}))
|
|
8997
8948
|
);
|
|
@@ -9018,7 +8969,7 @@ function useDefaultInteractiveBlock(client, workspaceId, sessionId, sitesAvailab
|
|
|
9018
8969
|
(block) => block.kind === "site" && !sitesAvailable ? (
|
|
9019
8970
|
// The proxy does not serve Sites: say so instead of offering a load
|
|
9020
8971
|
// that can only fail.
|
|
9021
|
-
/* @__PURE__ */
|
|
8972
|
+
/* @__PURE__ */ jsx16(
|
|
9022
8973
|
"div",
|
|
9023
8974
|
{
|
|
9024
8975
|
className: "rounded-og-md border border-og-border bg-og-surface-1 px-3 py-2 text-og-sm text-og-fg-muted",
|
|
@@ -9026,7 +8977,7 @@ function useDefaultInteractiveBlock(client, workspaceId, sessionId, sitesAvailab
|
|
|
9026
8977
|
children: sitePreviewUnavailable
|
|
9027
8978
|
}
|
|
9028
8979
|
)
|
|
9029
|
-
) : /* @__PURE__ */
|
|
8980
|
+
) : /* @__PURE__ */ jsx16(Suspense3, { fallback: /* @__PURE__ */ jsx16("span", { role: "status", children: t("sessionConversation.loadingPreview") }), children: /* @__PURE__ */ jsx16(LazyChatInteractiveBlock, { workspaceId, client: scoped, ...block }) }),
|
|
9030
8981
|
[scoped, workspaceId, sitesAvailable, sitePreviewUnavailable, t]
|
|
9031
8982
|
);
|
|
9032
8983
|
}
|
|
@@ -9099,9 +9050,9 @@ function useComposerTranscription(client, workspaceId, capability) {
|
|
|
9099
9050
|
|
|
9100
9051
|
// src/components/new-conversation.tsx
|
|
9101
9052
|
import { OpenGeniApiError as OpenGeniApiError3 } from "@opengeni/sdk";
|
|
9102
|
-
import { lazy as
|
|
9103
|
-
import { Fragment as Fragment8, jsx as
|
|
9104
|
-
var LazyNewVoice =
|
|
9053
|
+
import { lazy as lazy3, Suspense as Suspense4, useRef as useRef12 } from "react";
|
|
9054
|
+
import { Fragment as Fragment8, jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
9055
|
+
var LazyNewVoice = lazy3(() => import("./embedded-new-voice-6BILAOUG.js"));
|
|
9105
9056
|
var DEFAULT_LABELS = (t) => ({
|
|
9106
9057
|
title: t("newConversation.howCanIHelp"),
|
|
9107
9058
|
placeholder: t("newConversation.askAnything"),
|
|
@@ -9114,9 +9065,9 @@ var DEFAULT_LABELS = (t) => ({
|
|
|
9114
9065
|
function NewConversation({ baseUrl, headers, fetch, ...props }) {
|
|
9115
9066
|
const resetKey = props.workspaceId ?? "";
|
|
9116
9067
|
if (baseUrl === void 0)
|
|
9117
|
-
return /* @__PURE__ */
|
|
9068
|
+
return /* @__PURE__ */ jsx17(ConversationRenderBoundary, { resetKey, children: /* @__PURE__ */ jsx17(NewConversationRuntime, { ...props }) });
|
|
9118
9069
|
const { client, workspaceId, ...rest } = props;
|
|
9119
|
-
return /* @__PURE__ */
|
|
9070
|
+
return /* @__PURE__ */ jsx17(ConversationRenderBoundary, { resetKey, children: /* @__PURE__ */ jsx17(
|
|
9120
9071
|
SessionProxyScope,
|
|
9121
9072
|
{
|
|
9122
9073
|
baseUrl,
|
|
@@ -9124,13 +9075,13 @@ function NewConversation({ baseUrl, headers, fetch, ...props }) {
|
|
|
9124
9075
|
fetch,
|
|
9125
9076
|
client,
|
|
9126
9077
|
workspaceId,
|
|
9127
|
-
children: /* @__PURE__ */
|
|
9078
|
+
children: /* @__PURE__ */ jsx17(NewConversationRuntime, { ...rest })
|
|
9128
9079
|
}
|
|
9129
9080
|
) });
|
|
9130
9081
|
}
|
|
9131
9082
|
function NewConversationRuntime(props) {
|
|
9132
9083
|
const creation = useNewConversation(props);
|
|
9133
|
-
return /* @__PURE__ */
|
|
9084
|
+
return /* @__PURE__ */ jsx17(NewConversationView, { ...props, creation });
|
|
9134
9085
|
}
|
|
9135
9086
|
function NewConversationView({
|
|
9136
9087
|
creation,
|
|
@@ -9160,7 +9111,7 @@ function NewConversationView({
|
|
|
9160
9111
|
creation.workspaceId,
|
|
9161
9112
|
creation.realtimeVoiceEnabled && available
|
|
9162
9113
|
);
|
|
9163
|
-
const voice = models.length ? /* @__PURE__ */
|
|
9114
|
+
const voice = models.length ? /* @__PURE__ */ jsx17(Suspense4, { fallback: null, children: /* @__PURE__ */ jsx17(
|
|
9164
9115
|
LazyNewVoice,
|
|
9165
9116
|
{
|
|
9166
9117
|
client: creation.client,
|
|
@@ -9171,7 +9122,7 @@ function NewConversationView({
|
|
|
9171
9122
|
onStart: creation.startRealtime
|
|
9172
9123
|
}
|
|
9173
9124
|
) }) : null;
|
|
9174
|
-
return /* @__PURE__ */
|
|
9125
|
+
return /* @__PURE__ */ jsxs12(
|
|
9175
9126
|
"form",
|
|
9176
9127
|
{
|
|
9177
9128
|
onSubmit: (event) => {
|
|
@@ -9188,9 +9139,9 @@ function NewConversationView({
|
|
|
9188
9139
|
"data-og-host-theme": "",
|
|
9189
9140
|
"data-og-new-chat-composer": "",
|
|
9190
9141
|
children: [
|
|
9191
|
-
/* @__PURE__ */
|
|
9192
|
-
labels.title ? /* @__PURE__ */
|
|
9193
|
-
/* @__PURE__ */
|
|
9142
|
+
/* @__PURE__ */ jsx17("div", { "aria-hidden": true, className: "min-h-0 flex-[2]" }),
|
|
9143
|
+
labels.title ? /* @__PURE__ */ jsx17("p", { className: "text-center text-og-md font-medium text-og-fg", children: labels.title }) : null,
|
|
9144
|
+
/* @__PURE__ */ jsx17(
|
|
9194
9145
|
ChatComposer,
|
|
9195
9146
|
{
|
|
9196
9147
|
...composerProps,
|
|
@@ -9203,11 +9154,11 @@ function NewConversationView({
|
|
|
9203
9154
|
placeholder: overrides?.placeholder ?? composerProps?.placeholder ?? labels.placeholder,
|
|
9204
9155
|
inputProps: { "aria-label": labels.placeholder, ...composerProps?.inputProps },
|
|
9205
9156
|
messages: { sendMessageAriaLabel: labels.send, ...composerProps?.messages },
|
|
9206
|
-
actionsStart: voice ? /* @__PURE__ */
|
|
9157
|
+
actionsStart: voice ? /* @__PURE__ */ jsxs12(Fragment8, { children: [
|
|
9207
9158
|
composerProps?.actionsStart,
|
|
9208
9159
|
voice
|
|
9209
9160
|
] }) : composerProps?.actionsStart,
|
|
9210
|
-
controlsStart: composerProps?.controlsStart ?? (composer.policy ? /* @__PURE__ */
|
|
9161
|
+
controlsStart: composerProps?.controlsStart ?? (composer.policy ? /* @__PURE__ */ jsx17(
|
|
9211
9162
|
ModelPolicyPicker,
|
|
9212
9163
|
{
|
|
9213
9164
|
groupPresentation: modelPickerProps?.groupPresentation,
|
|
@@ -9231,13 +9182,13 @@ function NewConversationView({
|
|
|
9231
9182
|
responsiveBasis: composerProps?.responsiveBasis ?? "container"
|
|
9232
9183
|
}
|
|
9233
9184
|
),
|
|
9234
|
-
!available ? /* @__PURE__ */
|
|
9185
|
+
!available ? /* @__PURE__ */ jsx17("p", { className: "text-center text-og-sm text-og-fg-muted", "data-og-new-chat-unavailable": "", children: labels.unavailable }) : error ? /* @__PURE__ */ jsx17("p", { role: "alert", className: "text-center text-og-sm text-og-status-failed", children: formatError(
|
|
9235
9186
|
error.cause,
|
|
9236
9187
|
error.cause instanceof OpenGeniApiError3 && error.cause.code === "route_not_allowed" ? labels.unavailable : void 0
|
|
9237
9188
|
) }) : null,
|
|
9238
|
-
pending ? /* @__PURE__ */
|
|
9239
|
-
/* @__PURE__ */
|
|
9240
|
-
/* @__PURE__ */
|
|
9189
|
+
pending ? /* @__PURE__ */ jsxs12("div", { className: "text-center text-og-sm text-og-fg-muted", children: [
|
|
9190
|
+
/* @__PURE__ */ jsx17("p", { role: "status", children: labels.pending }),
|
|
9191
|
+
/* @__PURE__ */ jsx17(
|
|
9241
9192
|
"button",
|
|
9242
9193
|
{
|
|
9243
9194
|
type: "button",
|
|
@@ -9250,714 +9201,13 @@ function NewConversationView({
|
|
|
9250
9201
|
}
|
|
9251
9202
|
)
|
|
9252
9203
|
] }) : null,
|
|
9253
|
-
creation.finishingUploads ? /* @__PURE__ */
|
|
9254
|
-
/* @__PURE__ */
|
|
9255
|
-
]
|
|
9256
|
-
}
|
|
9257
|
-
);
|
|
9258
|
-
}
|
|
9259
|
-
|
|
9260
|
-
// src/components/session-list.tsx
|
|
9261
|
-
import { deriveSessionDisplayTitle } from "@opengeni/sdk";
|
|
9262
|
-
import { ArchiveIcon, PencilIcon as PencilIcon2, PlusIcon } from "lucide-react";
|
|
9263
|
-
import { useEffect as useEffect15, useRef as useRef13, useState as useState16 } from "react";
|
|
9264
|
-
import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
9265
|
-
var DEFAULT_LABELS2 = (t) => ({
|
|
9266
|
-
heading: t("sessionList.chats"),
|
|
9267
|
-
newChat: t("sessionList.newChat"),
|
|
9268
|
-
empty: t("sessionList.noChatsYet"),
|
|
9269
|
-
loading: t("sessionList.loadingChats"),
|
|
9270
|
-
loadMore: t("sessionList.showMore"),
|
|
9271
|
-
rename: t("sessionList.rename"),
|
|
9272
|
-
archive: t("sessionList.archive"),
|
|
9273
|
-
save: t("sessionList.save"),
|
|
9274
|
-
cancel: t("sessionList.cancel")
|
|
9275
|
-
});
|
|
9276
|
-
function SessionList({
|
|
9277
|
-
client,
|
|
9278
|
-
workspaceId,
|
|
9279
|
-
selectedSessionId,
|
|
9280
|
-
onSelect,
|
|
9281
|
-
onNewChat,
|
|
9282
|
-
rename = true,
|
|
9283
|
-
archive = true,
|
|
9284
|
-
onArchived,
|
|
9285
|
-
pageSize = 30,
|
|
9286
|
-
refreshKey,
|
|
9287
|
-
labels: labelOverrides,
|
|
9288
|
-
className
|
|
9289
|
-
}) {
|
|
9290
|
-
const t = useOpenGeniText();
|
|
9291
|
-
const labels = { ...DEFAULT_LABELS2(t), ...labelOverrides };
|
|
9292
|
-
const scope = { client, workspaceId };
|
|
9293
|
-
const context = useOpenGeni(scope);
|
|
9294
|
-
const [limit, setLimit] = useState16(pageSize);
|
|
9295
|
-
const list = useWorkspaceSessions({
|
|
9296
|
-
...scope,
|
|
9297
|
-
parentSessionId: null,
|
|
9298
|
-
archiveStatus: "active",
|
|
9299
|
-
sortBy: "updatedAt",
|
|
9300
|
-
limit
|
|
9301
|
-
});
|
|
9302
|
-
const refresh = list.refresh;
|
|
9303
|
-
const firstRefreshKey = useRef13(refreshKey);
|
|
9304
|
-
useEffect15(() => {
|
|
9305
|
-
if (Object.is(refreshKey, firstRefreshKey.current)) return;
|
|
9306
|
-
firstRefreshKey.current = refreshKey;
|
|
9307
|
-
void refresh();
|
|
9308
|
-
}, [refresh, refreshKey]);
|
|
9309
|
-
const [editing, setEditing] = useState16(null);
|
|
9310
|
-
const [busy, setBusy] = useState16(null);
|
|
9311
|
-
const [error, setError] = useState16(null);
|
|
9312
|
-
const formatError = useErrorMessage();
|
|
9313
|
-
const archiveClient = context.client;
|
|
9314
|
-
const config = useClientConfigFlags(context.client);
|
|
9315
|
-
const canArchive = archive && config.archive && typeof archiveClient.updateSessionArchive === "function";
|
|
9316
|
-
const run = async (id, action) => {
|
|
9317
|
-
setBusy(id);
|
|
9318
|
-
setError(null);
|
|
9319
|
-
try {
|
|
9320
|
-
await action();
|
|
9321
|
-
await list.refresh();
|
|
9322
|
-
} catch (cause) {
|
|
9323
|
-
setError({ cause });
|
|
9324
|
-
} finally {
|
|
9325
|
-
setBusy(null);
|
|
9326
|
-
}
|
|
9327
|
-
};
|
|
9328
|
-
const saveTitle = (event) => {
|
|
9329
|
-
event.preventDefault();
|
|
9330
|
-
const current = editing;
|
|
9331
|
-
if (!current) return;
|
|
9332
|
-
const title = current.title.trim();
|
|
9333
|
-
setEditing(null);
|
|
9334
|
-
if (!title) return;
|
|
9335
|
-
void run(
|
|
9336
|
-
current.id,
|
|
9337
|
-
() => context.client.updateSession(context.workspaceId, current.id, { title })
|
|
9338
|
-
);
|
|
9339
|
-
};
|
|
9340
|
-
const archiveSession = (session) => void run(session.id, async () => {
|
|
9341
|
-
await archiveClient.updateSessionArchive(context.workspaceId, session.id, {
|
|
9342
|
-
archived: true
|
|
9343
|
-
});
|
|
9344
|
-
onArchived?.(session.id);
|
|
9345
|
-
});
|
|
9346
|
-
const sessions = list.sessions;
|
|
9347
|
-
return /* @__PURE__ */ jsxs14(
|
|
9348
|
-
"nav",
|
|
9349
|
-
{
|
|
9350
|
-
className: cn("flex min-h-0 min-w-0 flex-col gap-1 text-og-fg", className),
|
|
9351
|
-
"aria-label": labels.heading,
|
|
9352
|
-
"data-og-session-list": "",
|
|
9353
|
-
children: [
|
|
9354
|
-
/* @__PURE__ */ jsxs14("div", { className: "flex items-center justify-between gap-2 px-2 pb-1 pt-2", children: [
|
|
9355
|
-
/* @__PURE__ */ jsx19("h2", { className: "text-og-sm font-semibold text-og-fg-muted", children: labels.heading }),
|
|
9356
|
-
onNewChat ? /* @__PURE__ */ jsxs14(
|
|
9357
|
-
"button",
|
|
9358
|
-
{
|
|
9359
|
-
type: "button",
|
|
9360
|
-
onClick: onNewChat,
|
|
9361
|
-
className: "inline-flex items-center gap-1 rounded-md px-2 py-1 text-og-control text-og-fg hover:bg-og-surface-2",
|
|
9362
|
-
"data-og-new-chat": "",
|
|
9363
|
-
children: [
|
|
9364
|
-
/* @__PURE__ */ jsx19(PlusIcon, { className: "size-3.5", "aria-hidden": true }),
|
|
9365
|
-
labels.newChat
|
|
9366
|
-
]
|
|
9367
|
-
}
|
|
9368
|
-
) : null
|
|
9369
|
-
] }),
|
|
9370
|
-
error || list.error ? /* @__PURE__ */ jsx19("p", { role: "alert", className: "px-2 text-og-xs text-og-status-failed", children: formatError(error ? error.cause : list.error) }) : null,
|
|
9371
|
-
/* @__PURE__ */ jsxs14("ul", { className: "flex min-h-0 flex-1 flex-col gap-0.5 overflow-y-auto px-1 pb-2", children: [
|
|
9372
|
-
list.loading && sessions.length === 0 ? /* @__PURE__ */ jsx19("li", { className: "px-2 py-2 text-og-xs text-og-fg-subtle", children: labels.loading }) : null,
|
|
9373
|
-
!list.loading && !list.error && sessions.length === 0 ? /* @__PURE__ */ jsx19("li", { className: "px-2 py-2 text-og-xs text-og-fg-subtle", children: labels.empty }) : null,
|
|
9374
|
-
sessions.map((session) => {
|
|
9375
|
-
const selected = session.id === selectedSessionId;
|
|
9376
|
-
const title = deriveSessionDisplayTitle(session);
|
|
9377
|
-
if (editing?.id === session.id) {
|
|
9378
|
-
return /* @__PURE__ */ jsx19("li", { children: /* @__PURE__ */ jsxs14("form", { onSubmit: saveTitle, className: "flex items-center gap-1 px-1 py-1", children: [
|
|
9379
|
-
/* @__PURE__ */ jsx19(
|
|
9380
|
-
"input",
|
|
9381
|
-
{
|
|
9382
|
-
"aria-label": labels.rename,
|
|
9383
|
-
value: editing.title,
|
|
9384
|
-
maxLength: 200,
|
|
9385
|
-
autoFocus: true,
|
|
9386
|
-
onChange: (event) => setEditing({ id: session.id, title: event.target.value }),
|
|
9387
|
-
onKeyDown: (event) => {
|
|
9388
|
-
if (event.key === "Escape") setEditing(null);
|
|
9389
|
-
},
|
|
9390
|
-
className: "min-w-0 flex-1 rounded-md border border-og-border bg-og-bg px-2 py-1 text-og-sm text-og-fg"
|
|
9391
|
-
}
|
|
9392
|
-
),
|
|
9393
|
-
/* @__PURE__ */ jsx19(
|
|
9394
|
-
"button",
|
|
9395
|
-
{
|
|
9396
|
-
type: "submit",
|
|
9397
|
-
className: "rounded-md px-2 py-1 text-og-xs text-og-fg hover:bg-og-surface-2",
|
|
9398
|
-
children: labels.save
|
|
9399
|
-
}
|
|
9400
|
-
)
|
|
9401
|
-
] }) }, session.id);
|
|
9402
|
-
}
|
|
9403
|
-
return /* @__PURE__ */ jsxs14("li", { className: "group relative", children: [
|
|
9404
|
-
/* @__PURE__ */ jsxs14(
|
|
9405
|
-
"button",
|
|
9406
|
-
{
|
|
9407
|
-
type: "button",
|
|
9408
|
-
onClick: () => onSelect(session.id),
|
|
9409
|
-
"aria-current": selected ? "true" : void 0,
|
|
9410
|
-
disabled: busy === session.id,
|
|
9411
|
-
className: cn(
|
|
9412
|
-
"flex w-full min-w-0 flex-col items-start rounded-md px-2 py-1.5 text-left",
|
|
9413
|
-
selected ? "bg-og-surface-2" : "hover:bg-og-surface-1"
|
|
9414
|
-
),
|
|
9415
|
-
"data-og-session-row": "",
|
|
9416
|
-
children: [
|
|
9417
|
-
/* @__PURE__ */ jsx19("span", { className: "w-full truncate pr-12 text-og-sm text-og-fg", children: title }),
|
|
9418
|
-
/* @__PURE__ */ jsx19("span", { className: "text-og-xs text-og-fg-subtle", children: formatRelativeTime(t, session.updatedAt) })
|
|
9419
|
-
]
|
|
9420
|
-
}
|
|
9421
|
-
),
|
|
9422
|
-
/* @__PURE__ */ jsxs14("span", { className: "absolute right-1 top-1.5 hidden gap-0.5 group-focus-within:flex group-hover:flex pointer-coarse:flex", children: [
|
|
9423
|
-
rename ? /* @__PURE__ */ jsx19(
|
|
9424
|
-
"button",
|
|
9425
|
-
{
|
|
9426
|
-
type: "button",
|
|
9427
|
-
"aria-label": `${labels.rename}: ${title}`,
|
|
9428
|
-
onClick: () => setEditing({ id: session.id, title: session.title ?? title }),
|
|
9429
|
-
className: "rounded p-1 text-og-fg-subtle hover:bg-og-surface-3 hover:text-og-fg",
|
|
9430
|
-
children: /* @__PURE__ */ jsx19(PencilIcon2, { className: "size-3.5", "aria-hidden": true })
|
|
9431
|
-
}
|
|
9432
|
-
) : null,
|
|
9433
|
-
canArchive ? /* @__PURE__ */ jsx19(
|
|
9434
|
-
"button",
|
|
9435
|
-
{
|
|
9436
|
-
type: "button",
|
|
9437
|
-
"aria-label": `${labels.archive}: ${title}`,
|
|
9438
|
-
onClick: () => archiveSession(session),
|
|
9439
|
-
className: "rounded p-1 text-og-fg-subtle hover:bg-og-surface-3 hover:text-og-fg",
|
|
9440
|
-
children: /* @__PURE__ */ jsx19(ArchiveIcon, { className: "size-3.5", "aria-hidden": true })
|
|
9441
|
-
}
|
|
9442
|
-
) : null
|
|
9443
|
-
] })
|
|
9444
|
-
] }, session.id);
|
|
9445
|
-
}),
|
|
9446
|
-
list.nextCursor ? /* @__PURE__ */ jsx19("li", { children: /* @__PURE__ */ jsx19(
|
|
9447
|
-
"button",
|
|
9448
|
-
{
|
|
9449
|
-
type: "button",
|
|
9450
|
-
onClick: () => setLimit((current) => current + pageSize),
|
|
9451
|
-
className: "w-full rounded-md px-2 py-1.5 text-left text-og-xs text-og-fg-muted hover:bg-og-surface-1",
|
|
9452
|
-
children: labels.loadMore
|
|
9453
|
-
}
|
|
9454
|
-
) }) : null
|
|
9455
|
-
] })
|
|
9456
|
-
]
|
|
9457
|
-
}
|
|
9458
|
-
);
|
|
9459
|
-
}
|
|
9460
|
-
|
|
9461
|
-
// src/components/open-geni-chat.tsx
|
|
9462
|
-
import { MenuIcon, XIcon as XIcon2 } from "lucide-react";
|
|
9463
|
-
import { useCallback as useCallback7, useEffect as useEffect16, useRef as useRef14, useState as useState17 } from "react";
|
|
9464
|
-
import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
9465
|
-
var DEFAULT_LABELS3 = (t) => ({
|
|
9466
|
-
openChats: t("openGeniChat.openChats"),
|
|
9467
|
-
closeChats: t("openGeniChat.closeChats"),
|
|
9468
|
-
newChatPlaceholder: t("openGeniChat.askAnything"),
|
|
9469
|
-
newChatTitle: t("openGeniChat.howCanIHelp"),
|
|
9470
|
-
send: t("openGeniChat.send"),
|
|
9471
|
-
newChatUnavailable: t("openGeniChat.newChatsAreNotEnabled")
|
|
9472
|
-
});
|
|
9473
|
-
function OpenGeniChat({ baseUrl, headers, fetch, ...props }) {
|
|
9474
|
-
if (baseUrl === void 0) return /* @__PURE__ */ jsx20(Chat, { ...props });
|
|
9475
|
-
const { client, workspaceId, ...rest } = props;
|
|
9476
|
-
return /* @__PURE__ */ jsx20(
|
|
9477
|
-
SessionProxyScope,
|
|
9478
|
-
{
|
|
9479
|
-
baseUrl,
|
|
9480
|
-
workspaceId,
|
|
9481
|
-
client,
|
|
9482
|
-
headers,
|
|
9483
|
-
fetch,
|
|
9484
|
-
children: /* @__PURE__ */ jsx20(Chat, { ...rest })
|
|
9485
|
-
}
|
|
9486
|
-
);
|
|
9487
|
-
}
|
|
9488
|
-
function Chat({
|
|
9489
|
-
client,
|
|
9490
|
-
workspaceId,
|
|
9491
|
-
sessionId: controlledSessionId,
|
|
9492
|
-
defaultSessionId = null,
|
|
9493
|
-
onSessionChange,
|
|
9494
|
-
createSession,
|
|
9495
|
-
newChat = true,
|
|
9496
|
-
conversationProps,
|
|
9497
|
-
listProps,
|
|
9498
|
-
labels: labelOverrides,
|
|
9499
|
-
className,
|
|
9500
|
-
height = "100%",
|
|
9501
|
-
theme,
|
|
9502
|
-
surface
|
|
9503
|
-
}) {
|
|
9504
|
-
const t = useOpenGeniText();
|
|
9505
|
-
const labels = { ...DEFAULT_LABELS3(t), ...labelOverrides };
|
|
9506
|
-
const scope = { client, workspaceId };
|
|
9507
|
-
const context = useOpenGeni(scope);
|
|
9508
|
-
const [uncontrolled, setUncontrolled] = useState17(defaultSessionId);
|
|
9509
|
-
const selected = controlledSessionId !== void 0 ? controlledSessionId : uncontrolled;
|
|
9510
|
-
const [drawerOpen, setDrawerOpen] = useState17(false);
|
|
9511
|
-
const [listRevision, setListRevision] = useState17(0);
|
|
9512
|
-
const [handoff, setHandoff] = useState17(null);
|
|
9513
|
-
const root = useRef14(null);
|
|
9514
|
-
const hostTheme = useHostTheme(root, { theme, surface });
|
|
9515
|
-
const config = useClientConfigFlags(context.client);
|
|
9516
|
-
const canCreate = createSession !== void 0 || config.sessionCreation;
|
|
9517
|
-
const select = useCallback7(
|
|
9518
|
-
(next) => {
|
|
9519
|
-
setHandoff(null);
|
|
9520
|
-
if (controlledSessionId === void 0) setUncontrolled(next);
|
|
9521
|
-
notifyObserver(onSessionChange, next);
|
|
9522
|
-
setDrawerOpen(false);
|
|
9523
|
-
},
|
|
9524
|
-
[controlledSessionId, onSessionChange]
|
|
9525
|
-
);
|
|
9526
|
-
useEffect16(() => {
|
|
9527
|
-
if (!handoff) return;
|
|
9528
|
-
if (selected === handoff.sessionId && !handoff.realtimeModel) setHandoff(null);
|
|
9529
|
-
else if (selected !== null && selected !== handoff.sessionId) setHandoff(null);
|
|
9530
|
-
}, [handoff, selected]);
|
|
9531
|
-
const list = /* @__PURE__ */ jsx20(
|
|
9532
|
-
SessionList,
|
|
9533
|
-
{
|
|
9534
|
-
...scope,
|
|
9535
|
-
...listProps,
|
|
9536
|
-
labels,
|
|
9537
|
-
selectedSessionId: selected,
|
|
9538
|
-
onSelect: select,
|
|
9539
|
-
onNewChat: newChat && canCreate ? () => select(null) : void 0,
|
|
9540
|
-
onArchived: (archivedId) => {
|
|
9541
|
-
if (archivedId === selected) select(null);
|
|
9542
|
-
},
|
|
9543
|
-
refreshKey: listRevision,
|
|
9544
|
-
className: "h-full"
|
|
9545
|
-
}
|
|
9546
|
-
);
|
|
9547
|
-
return /* @__PURE__ */ jsxs15(
|
|
9548
|
-
"div",
|
|
9549
|
-
{
|
|
9550
|
-
ref: root,
|
|
9551
|
-
className: cn(
|
|
9552
|
-
"og-root og-chat relative flex min-h-0 min-w-0 bg-og-bg text-og-base text-og-fg",
|
|
9553
|
-
className
|
|
9554
|
-
),
|
|
9555
|
-
style: { ...hostTheme.style, height },
|
|
9556
|
-
"data-og-theme": hostTheme.attribute,
|
|
9557
|
-
"data-og-host-theme": "",
|
|
9558
|
-
"data-og-chat": "",
|
|
9559
|
-
children: [
|
|
9560
|
-
/* @__PURE__ */ jsx20(
|
|
9561
|
-
"aside",
|
|
9562
|
-
{
|
|
9563
|
-
className: "og-chat-sidebar min-h-0 w-64 shrink-0 flex-col border-r border-og-border",
|
|
9564
|
-
"data-og-chat-sidebar": "",
|
|
9565
|
-
children: list
|
|
9566
|
-
}
|
|
9567
|
-
),
|
|
9568
|
-
drawerOpen ? /* @__PURE__ */ jsxs15("div", { className: "og-chat-drawer absolute inset-0 z-30 flex", "data-og-chat-drawer": "", children: [
|
|
9569
|
-
/* @__PURE__ */ jsxs15("div", { className: "flex h-full w-[min(20rem,85%)] flex-col border-r border-og-border bg-og-bg shadow-og-lg", children: [
|
|
9570
|
-
/* @__PURE__ */ jsx20("div", { className: "flex justify-end p-1", children: /* @__PURE__ */ jsx20(
|
|
9571
|
-
"button",
|
|
9572
|
-
{
|
|
9573
|
-
type: "button",
|
|
9574
|
-
"aria-label": labels.closeChats,
|
|
9575
|
-
onClick: () => setDrawerOpen(false),
|
|
9576
|
-
className: "rounded p-1.5 text-og-fg-muted hover:bg-og-surface-2",
|
|
9577
|
-
children: /* @__PURE__ */ jsx20(XIcon2, { className: "size-4", "aria-hidden": true })
|
|
9578
|
-
}
|
|
9579
|
-
) }),
|
|
9580
|
-
/* @__PURE__ */ jsx20("div", { className: "min-h-0 flex-1", children: list })
|
|
9581
|
-
] }),
|
|
9582
|
-
/* @__PURE__ */ jsx20(
|
|
9583
|
-
"button",
|
|
9584
|
-
{
|
|
9585
|
-
type: "button",
|
|
9586
|
-
"aria-label": labels.closeChats,
|
|
9587
|
-
className: "flex-1 bg-black/25",
|
|
9588
|
-
onClick: () => setDrawerOpen(false)
|
|
9589
|
-
}
|
|
9590
|
-
)
|
|
9591
|
-
] }) : null,
|
|
9592
|
-
/* @__PURE__ */ jsxs15("main", { className: "flex min-h-0 min-w-0 flex-1 flex-col", children: [
|
|
9593
|
-
/* @__PURE__ */ jsxs15("div", { className: "og-chat-menu flex items-center gap-2 px-2 py-1", children: [
|
|
9594
|
-
/* @__PURE__ */ jsx20(
|
|
9595
|
-
"button",
|
|
9596
|
-
{
|
|
9597
|
-
type: "button",
|
|
9598
|
-
"aria-label": labels.openChats,
|
|
9599
|
-
"aria-expanded": drawerOpen,
|
|
9600
|
-
onClick: () => setDrawerOpen(true),
|
|
9601
|
-
className: "rounded p-1.5 text-og-fg-muted hover:bg-og-surface-2",
|
|
9602
|
-
"data-og-chat-menu": "",
|
|
9603
|
-
children: /* @__PURE__ */ jsx20(MenuIcon, { className: "size-4", "aria-hidden": true })
|
|
9604
|
-
}
|
|
9605
|
-
),
|
|
9606
|
-
/* @__PURE__ */ jsx20("span", { className: "text-og-sm font-semibold text-og-fg-muted", children: labels.heading })
|
|
9607
|
-
] }),
|
|
9608
|
-
/* @__PURE__ */ jsx20("div", { className: "og-chat-main min-h-0 flex-1 px-3 pb-3 pt-1", children: selected ? /* @__PURE__ */ jsx20(
|
|
9609
|
-
SessionConversation,
|
|
9610
|
-
{
|
|
9611
|
-
...conversationProps,
|
|
9612
|
-
...handoff?.sessionId === selected && handoff.initialMessage ? { pendingPrompt: { text: handoff.initialMessage, sentAt: handoff.sentAt } } : {},
|
|
9613
|
-
composerOptions: {
|
|
9614
|
-
...conversationProps?.composerOptions,
|
|
9615
|
-
...handoff?.sessionId === selected ? { initialDraft: handoff.draft } : {}
|
|
9616
|
-
},
|
|
9617
|
-
realtimeVoiceProps: {
|
|
9618
|
-
...conversationProps?.realtimeVoiceProps,
|
|
9619
|
-
...handoff?.sessionId === selected && handoff.realtimeModel ? {
|
|
9620
|
-
realtimeAutostartModel: handoff.realtimeModel,
|
|
9621
|
-
onRealtimeAutostartConsumed: () => {
|
|
9622
|
-
setHandoff(null);
|
|
9623
|
-
notifyObserver(
|
|
9624
|
-
conversationProps?.realtimeVoiceProps?.onRealtimeAutostartConsumed
|
|
9625
|
-
);
|
|
9626
|
-
}
|
|
9627
|
-
} : {}
|
|
9628
|
-
},
|
|
9629
|
-
onOpenSession: conversationProps?.onOpenSession ?? select,
|
|
9630
|
-
...scope,
|
|
9631
|
-
sessionId: selected,
|
|
9632
|
-
height: "100%"
|
|
9633
|
-
}
|
|
9634
|
-
) : /* @__PURE__ */ jsx20(
|
|
9635
|
-
NewConversation,
|
|
9636
|
-
{
|
|
9637
|
-
...scope,
|
|
9638
|
-
attachments: conversationProps?.attachments,
|
|
9639
|
-
modelPicker: conversationProps?.modelPicker,
|
|
9640
|
-
modelPickerProps: conversationProps?.modelPickerProps,
|
|
9641
|
-
composerProps: conversationProps?.composerProps,
|
|
9642
|
-
voiceInput: conversationProps?.voiceInput,
|
|
9643
|
-
realtimeVoice: conversationProps?.realtimeVoice,
|
|
9644
|
-
realtimeVoiceProps: conversationProps?.realtimeVoiceProps,
|
|
9645
|
-
labels: {
|
|
9646
|
-
...labels.newChatRetry ? { retry: labels.newChatRetry } : {},
|
|
9647
|
-
...labels.newChatPending ? { pending: labels.newChatPending } : {},
|
|
9648
|
-
...labels.newChatFinishingUploads ? { finishingUploads: labels.newChatFinishingUploads } : {},
|
|
9649
|
-
title: labels.newChatTitle,
|
|
9650
|
-
send: labels.send,
|
|
9651
|
-
unavailable: labels.newChatUnavailable,
|
|
9652
|
-
placeholder: labelOverrides?.newChatPlaceholder ?? conversationProps?.composerProps?.placeholder ?? labels.newChatPlaceholder
|
|
9653
|
-
},
|
|
9654
|
-
enabled: canCreate,
|
|
9655
|
-
createSession,
|
|
9656
|
-
onCreated: (created) => {
|
|
9657
|
-
setListRevision((revision) => revision + 1);
|
|
9658
|
-
select(created.sessionId);
|
|
9659
|
-
setHandoff(created);
|
|
9660
|
-
}
|
|
9661
|
-
}
|
|
9662
|
-
) })
|
|
9663
|
-
] })
|
|
9204
|
+
creation.finishingUploads ? /* @__PURE__ */ jsx17("p", { role: "status", className: "text-center text-og-sm text-og-fg-muted", children: labels.finishingUploads }) : null,
|
|
9205
|
+
/* @__PURE__ */ jsx17("div", { "aria-hidden": true, className: "min-h-0 flex-[3]" })
|
|
9664
9206
|
]
|
|
9665
9207
|
}
|
|
9666
9208
|
);
|
|
9667
9209
|
}
|
|
9668
9210
|
|
|
9669
|
-
// src/components/session-commands-panel.tsx
|
|
9670
|
-
import { ChevronRightIcon as ChevronRightIcon3, Loader2Icon as Loader2Icon3, SquareIcon } from "lucide-react";
|
|
9671
|
-
import { useState as useState18 } from "react";
|
|
9672
|
-
import { jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
9673
|
-
function SessionCommandsPanel({
|
|
9674
|
-
commands: state,
|
|
9675
|
-
readOnly = false,
|
|
9676
|
-
renderMetadata,
|
|
9677
|
-
compact = true
|
|
9678
|
-
}) {
|
|
9679
|
-
const t = useOpenGeniText();
|
|
9680
|
-
const formatError = useErrorMessage();
|
|
9681
|
-
const [pending, setPending] = useState18(null);
|
|
9682
|
-
const [error, setError] = useState18(null);
|
|
9683
|
-
const active = state.commands.filter(
|
|
9684
|
-
(command) => command.state === "running" || command.state === "stopping"
|
|
9685
|
-
);
|
|
9686
|
-
const stop = async (id) => {
|
|
9687
|
-
setPending(id);
|
|
9688
|
-
setError(null);
|
|
9689
|
-
try {
|
|
9690
|
-
await state.cancel(id);
|
|
9691
|
-
} catch (cause) {
|
|
9692
|
-
setError(formatError(cause));
|
|
9693
|
-
} finally {
|
|
9694
|
-
setPending(null);
|
|
9695
|
-
}
|
|
9696
|
-
};
|
|
9697
|
-
return /* @__PURE__ */ jsxs16(
|
|
9698
|
-
"div",
|
|
9699
|
-
{
|
|
9700
|
-
className: `space-y-2 ${compact ? "text-og-xs" : "text-og-sm"}`,
|
|
9701
|
-
"data-og-session-commands": "",
|
|
9702
|
-
children: [
|
|
9703
|
-
state.loading && active.length === 0 ? /* @__PURE__ */ jsx21("p", { role: "status", className: "text-og-fg-muted", children: t("sessionCommandsPanel.loadingCommands") }) : null,
|
|
9704
|
-
state.error ? /* @__PURE__ */ jsxs16("div", { role: "alert", className: "flex items-center justify-between gap-2 text-og-danger", children: [
|
|
9705
|
-
/* @__PURE__ */ jsx21("span", { children: t("sessionCommandsPanel.commandsUnavailable") }),
|
|
9706
|
-
/* @__PURE__ */ jsx21(
|
|
9707
|
-
"button",
|
|
9708
|
-
{
|
|
9709
|
-
type: "button",
|
|
9710
|
-
className: "underline outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40",
|
|
9711
|
-
onClick: () => void state.refresh(),
|
|
9712
|
-
children: t("sessionCommandsPanel.retry")
|
|
9713
|
-
}
|
|
9714
|
-
)
|
|
9715
|
-
] }) : null,
|
|
9716
|
-
!state.loading && !state.error && active.length === 0 ? /* @__PURE__ */ jsx21("p", { role: "status", className: "text-og-fg-muted", children: t("sessionCommandsPanel.noBackgroundCommandsRunning") }) : null,
|
|
9717
|
-
active.length > 0 ? /* @__PURE__ */ jsx21(
|
|
9718
|
-
"ul",
|
|
9719
|
-
{
|
|
9720
|
-
className: `${compact ? "max-h-64 overflow-y-auto overscroll-contain" : ""} divide-y divide-og-border/40`,
|
|
9721
|
-
children: active.map((command) => /* @__PURE__ */ jsxs16("li", { className: "flex items-start gap-3 py-2 first:pt-0 last:pb-0", children: [
|
|
9722
|
-
/* @__PURE__ */ jsxs16("div", { className: "min-w-0 flex-1", children: [
|
|
9723
|
-
renderMetadata?.(command),
|
|
9724
|
-
/* @__PURE__ */ jsxs16("details", { className: "group/command", children: [
|
|
9725
|
-
/* @__PURE__ */ jsxs16(
|
|
9726
|
-
"summary",
|
|
9727
|
-
{
|
|
9728
|
-
className: "flex cursor-pointer list-none items-center gap-1.5 rounded-og-sm font-mono text-og-fg outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40",
|
|
9729
|
-
title: t("sessionCommandsPanel.expandCommand"),
|
|
9730
|
-
children: [
|
|
9731
|
-
/* @__PURE__ */ jsx21(ChevronRightIcon3, { className: "size-3 shrink-0 text-og-fg-subtle transition-transform group-open/command:rotate-90" }),
|
|
9732
|
-
/* @__PURE__ */ jsx21(
|
|
9733
|
-
"span",
|
|
9734
|
-
{
|
|
9735
|
-
className: "min-w-0 truncate",
|
|
9736
|
-
title: command.commandText ?? (command.commandPreview || t("sessionCommandsPanel.backgroundCommand")),
|
|
9737
|
-
children: command.commandText ?? (command.commandPreview || t("sessionCommandsPanel.backgroundCommand"))
|
|
9738
|
-
}
|
|
9739
|
-
)
|
|
9740
|
-
]
|
|
9741
|
-
}
|
|
9742
|
-
),
|
|
9743
|
-
/* @__PURE__ */ jsxs16("div", { className: "mt-2 space-y-1", children: [
|
|
9744
|
-
/* @__PURE__ */ jsx21("p", { className: "whitespace-pre-wrap break-all font-mono text-og-fg-muted", children: command.commandText ?? (command.commandPreview || t("sessionCommandsPanel.backgroundCommand")) }),
|
|
9745
|
-
/* @__PURE__ */ jsx21(
|
|
9746
|
-
"time",
|
|
9747
|
-
{
|
|
9748
|
-
className: "block text-og-fg-subtle",
|
|
9749
|
-
dateTime: command.startedAt,
|
|
9750
|
-
title: new Date(command.startedAt).toLocaleString(t.locale),
|
|
9751
|
-
children: t("sessionCommandsPanel.startedClocktime", {
|
|
9752
|
-
clockTime: formatClockTime(t, command.startedAt)
|
|
9753
|
-
})
|
|
9754
|
-
}
|
|
9755
|
-
)
|
|
9756
|
-
] })
|
|
9757
|
-
] }),
|
|
9758
|
-
/* @__PURE__ */ jsx21("p", { className: "mt-1 text-og-fg-subtle", children: command.observationStatus === "unavailable" ? command.state === "stopping" ? t("sessionCommandsPanel.stopRequestedStatusUnavailable") : t("sessionCommandsPanel.commandStatusUnavailable") : command.state === "stopping" ? t("sessionCommandsPanel.stopping") : t("sessionCommandsPanel.running") })
|
|
9759
|
-
] }),
|
|
9760
|
-
!readOnly ? /* @__PURE__ */ jsxs16(
|
|
9761
|
-
"button",
|
|
9762
|
-
{
|
|
9763
|
-
type: "button",
|
|
9764
|
-
"aria-label": t("sessionCommandsPanel.stopCommandpreview", {
|
|
9765
|
-
commandPreview: command.commandPreview || t("sessionCommandsPanel.backgroundCommand2")
|
|
9766
|
-
}),
|
|
9767
|
-
disabled: pending !== null || command.state === "stopping",
|
|
9768
|
-
onClick: () => void stop(command.id),
|
|
9769
|
-
className: "inline-flex min-h-7 shrink-0 items-center gap-1 rounded-og-sm px-2 text-og-fg-muted outline-hidden hover:bg-og-surface-3/70 hover:text-og-fg focus-visible:ring-2 focus-visible:ring-og-accent/40 disabled:opacity-50 pointer-coarse:min-h-11",
|
|
9770
|
-
children: [
|
|
9771
|
-
pending === command.id || command.state === "stopping" ? /* @__PURE__ */ jsx21(Loader2Icon3, { className: "size-3 animate-og-spin motion-reduce:animate-none" }) : /* @__PURE__ */ jsx21(SquareIcon, { className: "size-3" }),
|
|
9772
|
-
t("sessionCommandsPanel.stop")
|
|
9773
|
-
]
|
|
9774
|
-
}
|
|
9775
|
-
) : null
|
|
9776
|
-
] }, command.id))
|
|
9777
|
-
}
|
|
9778
|
-
) : null,
|
|
9779
|
-
error ? /* @__PURE__ */ jsx21("p", { role: "alert", className: "text-og-danger", children: error }) : null
|
|
9780
|
-
]
|
|
9781
|
-
}
|
|
9782
|
-
);
|
|
9783
|
-
}
|
|
9784
|
-
|
|
9785
|
-
// src/hooks/use-session-background-commands.ts
|
|
9786
|
-
import { useCallback as useCallback8, useEffect as useEffect17, useRef as useRef15 } from "react";
|
|
9787
|
-
function useSessionBackgroundCommands(sessionId, options = {}) {
|
|
9788
|
-
const { client, workspaceId } = useOpenGeni(options);
|
|
9789
|
-
const enabled = (options.enabled ?? true) && Boolean(sessionId);
|
|
9790
|
-
const load = useCallback8(
|
|
9791
|
-
async (signal) => {
|
|
9792
|
-
if (!sessionId) return { commands: [] };
|
|
9793
|
-
if (!client.listSessionBackgroundCommands) {
|
|
9794
|
-
throw new Error("The configured Opengeni client does not support background commands");
|
|
9795
|
-
}
|
|
9796
|
-
return await client.listSessionBackgroundCommands(workspaceId, sessionId, { signal });
|
|
9797
|
-
},
|
|
9798
|
-
[client, workspaceId, sessionId]
|
|
9799
|
-
);
|
|
9800
|
-
const state = usePolledValue(load, {
|
|
9801
|
-
enabled,
|
|
9802
|
-
pollIntervalMs: options.pollIntervalMs
|
|
9803
|
-
});
|
|
9804
|
-
const refresh = state.refresh;
|
|
9805
|
-
const generation = useRef15(0);
|
|
9806
|
-
useEffect17(() => {
|
|
9807
|
-
generation.current += 1;
|
|
9808
|
-
return () => {
|
|
9809
|
-
generation.current += 1;
|
|
9810
|
-
};
|
|
9811
|
-
}, [client, workspaceId, sessionId, enabled]);
|
|
9812
|
-
const cancel = useCallback8(
|
|
9813
|
-
async (commandId) => {
|
|
9814
|
-
if (!sessionId) return;
|
|
9815
|
-
if (!client.cancelSessionBackgroundCommand) {
|
|
9816
|
-
throw new Error("The configured Opengeni client does not support background commands");
|
|
9817
|
-
}
|
|
9818
|
-
const ticket = generation.current;
|
|
9819
|
-
await client.cancelSessionBackgroundCommand(workspaceId, sessionId, commandId);
|
|
9820
|
-
if (enabled && ticket === generation.current) await refresh();
|
|
9821
|
-
},
|
|
9822
|
-
[client, workspaceId, sessionId, refresh, enabled]
|
|
9823
|
-
);
|
|
9824
|
-
return {
|
|
9825
|
-
commands: state.data?.commands ?? [],
|
|
9826
|
-
loading: state.loading,
|
|
9827
|
-
error: state.error,
|
|
9828
|
-
refresh,
|
|
9829
|
-
cancel
|
|
9830
|
-
};
|
|
9831
|
-
}
|
|
9832
|
-
|
|
9833
|
-
// src/components/session-commands.tsx
|
|
9834
|
-
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
9835
|
-
function SessionCommands({
|
|
9836
|
-
sessionId,
|
|
9837
|
-
readOnly = false,
|
|
9838
|
-
...options
|
|
9839
|
-
}) {
|
|
9840
|
-
const commands = useSessionBackgroundCommands(sessionId, {
|
|
9841
|
-
pollIntervalMs: 3e3,
|
|
9842
|
-
...options
|
|
9843
|
-
});
|
|
9844
|
-
return /* @__PURE__ */ jsx22(SessionCommandsPanel, { commands, readOnly });
|
|
9845
|
-
}
|
|
9846
|
-
|
|
9847
|
-
// src/timeline/startup-timings.tsx
|
|
9848
|
-
import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
9849
|
-
var LABELS = (t) => ({
|
|
9850
|
-
queue: t("timeline.startupTimings.workerQueue"),
|
|
9851
|
-
sandbox: t("timeline.startupTimings.sandbox"),
|
|
9852
|
-
rig: t("timeline.startupTimings.sandboxEnvironment"),
|
|
9853
|
-
repository: t("timeline.startupTimings.repository"),
|
|
9854
|
-
files: t("timeline.startupTimings.files"),
|
|
9855
|
-
tools: t("timeline.startupTimings.tools"),
|
|
9856
|
-
model_preparation: t("timeline.startupTimings.runtimeModelRequest"),
|
|
9857
|
-
provider_first_byte: t("timeline.startupTimings.firstModelResponse")
|
|
9858
|
-
});
|
|
9859
|
-
function StartupTimings({ phases }) {
|
|
9860
|
-
const t = useOpenGeniText();
|
|
9861
|
-
if (!phases.length)
|
|
9862
|
-
return /* @__PURE__ */ jsx23("p", { className: "text-og-sm text-og-fg-subtle", children: t("timeline.startupTimings.noStartupTimingsRecordedYet") });
|
|
9863
|
-
const byTurn = /* @__PURE__ */ new Map();
|
|
9864
|
-
for (const phase of phases) {
|
|
9865
|
-
const group = byTurn.get(phase.turnId) ?? [];
|
|
9866
|
-
group.push(phase);
|
|
9867
|
-
byTurn.set(phase.turnId, group);
|
|
9868
|
-
}
|
|
9869
|
-
const turns = [...byTurn.entries()].map(([turnId, turnPhases]) => ({
|
|
9870
|
-
turnId,
|
|
9871
|
-
phases: turnPhases,
|
|
9872
|
-
startedAt: turnPhases.reduce(
|
|
9873
|
-
(earliest, phase) => phase.startedAt < earliest ? phase.startedAt : earliest,
|
|
9874
|
-
turnPhases[0].startedAt
|
|
9875
|
-
)
|
|
9876
|
-
})).sort((a, b) => b.startedAt.localeCompare(a.startedAt));
|
|
9877
|
-
return /* @__PURE__ */ jsxs17("div", { className: "space-y-3", children: [
|
|
9878
|
-
/* @__PURE__ */ jsx23("p", { className: "text-og-xs text-og-fg-subtle", children: t("timeline.startupTimings.eachTurnHasItsOwn") }),
|
|
9879
|
-
turns.map((turn, index) => /* @__PURE__ */ jsx23(
|
|
9880
|
-
StartupTurn,
|
|
9881
|
-
{
|
|
9882
|
-
...turn,
|
|
9883
|
-
latest: index === 0 && turn.turnId !== null
|
|
9884
|
-
},
|
|
9885
|
-
turn.turnId ?? "unassigned"
|
|
9886
|
-
))
|
|
9887
|
-
] });
|
|
9888
|
-
}
|
|
9889
|
-
function StartupTurn({
|
|
9890
|
-
turnId,
|
|
9891
|
-
phases,
|
|
9892
|
-
startedAt,
|
|
9893
|
-
latest
|
|
9894
|
-
}) {
|
|
9895
|
-
const t = useOpenGeniText();
|
|
9896
|
-
const failed = phases.some((phase) => phase.status === "failed");
|
|
9897
|
-
const status = failed ? t("timeline.startupTimings.failed") : phases.some((phase) => phase.status === "running") ? t("timeline.startupTimings.inProgress") : phases.some((phase) => phase.status === "cancelled") ? t("timeline.startupTimings.interrupted") : t("timeline.startupTimings.ready");
|
|
9898
|
-
return /* @__PURE__ */ jsxs17("details", { open: latest, className: "group border-b border-og-border pb-3", children: [
|
|
9899
|
-
/* @__PURE__ */ jsxs17("summary", { className: "cursor-pointer rounded py-3 text-og-sm text-og-fg-muted focus-visible:outline-2 focus-visible:outline-og-accent", children: [
|
|
9900
|
-
/* @__PURE__ */ jsx23("span", { className: "font-medium", children: turnId === null ? t("timeline.startupTimings.unassignedEvents") : latest ? t("timeline.startupTimings.latestTurn") : t("timeline.startupTimings.earlierTurn") }),
|
|
9901
|
-
/* @__PURE__ */ jsx23("span", { className: "ml-2 text-og-xs text-og-fg-subtle", children: new Date(startedAt).toLocaleTimeString(t.locale, {
|
|
9902
|
-
hour: "2-digit",
|
|
9903
|
-
minute: "2-digit",
|
|
9904
|
-
second: "2-digit"
|
|
9905
|
-
}) }),
|
|
9906
|
-
/* @__PURE__ */ jsx23(
|
|
9907
|
-
"span",
|
|
9908
|
-
{
|
|
9909
|
-
className: failed ? "ml-2 text-og-xs text-og-status-failed" : "ml-2 text-og-xs text-og-fg-subtle",
|
|
9910
|
-
children: status
|
|
9911
|
-
}
|
|
9912
|
-
),
|
|
9913
|
-
/* @__PURE__ */ jsx23("span", { className: "mt-1 block break-all pl-4 font-og-mono text-og-xs text-og-fg-subtle", children: turnId ?? t("timeline.startupTimings.noTurnIdRecorded") })
|
|
9914
|
-
] }),
|
|
9915
|
-
/* @__PURE__ */ jsxs17("div", { className: "pb-2", children: [
|
|
9916
|
-
/* @__PURE__ */ jsxs17("p", { className: "text-og-xs text-og-fg-subtle", children: [
|
|
9917
|
-
t("timeline.startupTimings.started"),
|
|
9918
|
-
" ",
|
|
9919
|
-
/* @__PURE__ */ jsx23("time", { dateTime: startedAt, children: new Date(startedAt).toLocaleString(t.locale) })
|
|
9920
|
-
] }),
|
|
9921
|
-
/* @__PURE__ */ jsx23("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs17("table", { className: "w-full text-left text-og-xs", children: [
|
|
9922
|
-
/* @__PURE__ */ jsxs17("caption", { className: "sr-only", children: [
|
|
9923
|
-
t("timeline.startupTimings.startupPhasesFor"),
|
|
9924
|
-
" ",
|
|
9925
|
-
turnId ?? t("timeline.startupTimings.unassignedEvents2")
|
|
9926
|
-
] }),
|
|
9927
|
-
/* @__PURE__ */ jsx23("thead", { children: /* @__PURE__ */ jsxs17("tr", { className: "border-b border-og-border text-og-fg-subtle", children: [
|
|
9928
|
-
/* @__PURE__ */ jsx23("th", { scope: "col", className: "py-2 font-medium", children: t("timeline.startupTimings.phase") }),
|
|
9929
|
-
/* @__PURE__ */ jsx23("th", { scope: "col", className: "px-3 py-2 font-medium", children: t("timeline.startupTimings.status") }),
|
|
9930
|
-
/* @__PURE__ */ jsx23("th", { scope: "col", className: "py-2 text-right font-medium", children: t("timeline.startupTimings.duration") })
|
|
9931
|
-
] }) }),
|
|
9932
|
-
/* @__PURE__ */ jsx23("tbody", { children: phases.map((phase) => /* @__PURE__ */ jsxs17(
|
|
9933
|
-
"tr",
|
|
9934
|
-
{
|
|
9935
|
-
className: "border-b border-og-border/40",
|
|
9936
|
-
title: t("timeline.startupTimings.turnTurnidStartedStartedat", {
|
|
9937
|
-
turnId: phase.turnId ?? t("timeline.startupTimings.unknownTurn"),
|
|
9938
|
-
startedAt: phase.startedAt
|
|
9939
|
-
}),
|
|
9940
|
-
children: [
|
|
9941
|
-
/* @__PURE__ */ jsx23("th", { scope: "row", className: "py-2.5 font-normal text-og-fg-muted", children: LABELS(t)[phase.phase] }),
|
|
9942
|
-
/* @__PURE__ */ jsx23(
|
|
9943
|
-
"td",
|
|
9944
|
-
{
|
|
9945
|
-
className: `px-3 py-2.5 ${phase.status === "failed" ? "text-og-status-failed" : "text-og-fg-subtle"}`,
|
|
9946
|
-
children: phase.status === "running" ? t("timeline.startupTimings.inProgress") : phase.status
|
|
9947
|
-
}
|
|
9948
|
-
),
|
|
9949
|
-
/* @__PURE__ */ jsx23("td", { className: "py-2.5 text-right font-og-mono tabular-nums text-og-fg-muted", children: phase.durationMs === null ? "\u2014" : phase.durationMs < 1e3 ? t("timeline.startupTimings.roundMs", {
|
|
9950
|
-
round: Math.round(phase.durationMs)
|
|
9951
|
-
}) : `${(phase.durationMs / 1e3).toFixed(1)} s` })
|
|
9952
|
-
]
|
|
9953
|
-
},
|
|
9954
|
-
phase.id
|
|
9955
|
-
)) })
|
|
9956
|
-
] }) })
|
|
9957
|
-
] })
|
|
9958
|
-
] });
|
|
9959
|
-
}
|
|
9960
|
-
|
|
9961
9211
|
export {
|
|
9962
9212
|
HumanInputForm,
|
|
9963
9213
|
HumanInputSurface,
|
|
@@ -9966,20 +9216,15 @@ export {
|
|
|
9966
9216
|
GeneratedVideoPlayer,
|
|
9967
9217
|
MessageTimeline,
|
|
9968
9218
|
TimelineRow,
|
|
9969
|
-
QueueSurface,
|
|
9970
9219
|
sessionChromeGoalPillLabel,
|
|
9971
9220
|
sessionChromeGoalPillExplanation,
|
|
9972
9221
|
sessionChromeGoalPillState,
|
|
9973
9222
|
SessionChrome,
|
|
9223
|
+
SessionProxyScope,
|
|
9224
|
+
useHostTheme,
|
|
9974
9225
|
SessionConversation,
|
|
9975
9226
|
SessionConversationView,
|
|
9976
9227
|
NewConversation,
|
|
9977
|
-
NewConversationView
|
|
9978
|
-
SessionList,
|
|
9979
|
-
OpenGeniChat,
|
|
9980
|
-
SessionCommandsPanel,
|
|
9981
|
-
useSessionBackgroundCommands,
|
|
9982
|
-
SessionCommands,
|
|
9983
|
-
StartupTimings
|
|
9228
|
+
NewConversationView
|
|
9984
9229
|
};
|
|
9985
|
-
//# sourceMappingURL=chunk-
|
|
9230
|
+
//# sourceMappingURL=chunk-ECHYJP63.js.map
|