@opengeni/react 4.2.1-canary.39642758903001 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/app-state.js +27 -27
- package/dist/app/components/Composer.js +27 -26
- package/dist/app/components/agent/agent-capability-picker.js +5 -5
- package/dist/app/components/artifacts/artifact-library.js +19 -19
- package/dist/app/components/artifacts/chat-interactive-block.js +16 -16
- package/dist/app/components/artifacts/inline-chat-image.js +31 -30
- package/dist/app/components/artifacts/retained-file-preview.js +35 -34
- package/dist/app/components/artifacts/retained-text-preview.js +5 -5
- package/dist/app/components/artifacts/site-audience.js +5 -5
- package/dist/app/components/artifacts/site-conversations.js +24 -22
- package/dist/app/components/artifacts/site-data.js +20 -20
- package/dist/app/components/artifacts/site-publishing.js +39 -39
- package/dist/app/components/artifacts/site-settings.js +48 -48
- package/dist/app/components/billing-class-mark.js +5 -5
- package/dist/app/components/capabilities/capability-detail-sheet.js +9 -9
- package/dist/app/components/capabilities/capability-logo-source.js +13 -12
- package/dist/app/components/capabilities/connection-account-picker.js +2 -2
- package/dist/app/components/capabilities/connector-tool-permissions.js +5 -5
- package/dist/app/components/capabilities/native-connect-setup.js +14 -13
- package/dist/app/components/capabilities/native-connect-setup.js.map +1 -1
- package/dist/app/components/capabilities/perform-capability-action.js +3 -3
- package/dist/app/components/capabilities/prepared-mcp-setup-card.js +15 -14
- package/dist/app/components/capabilities/session-capability-card.js +78 -77
- package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
- package/dist/app/components/capabilities/session-custom-mcp-card.js +20 -19
- package/dist/app/components/capabilities/session-github-card.js +25 -24
- package/dist/app/components/capabilities/session-machine-card.js +38 -38
- package/dist/app/components/capabilities/use-capabilities-catalog.js +3 -3
- package/dist/app/components/capabilities/use-connection-accounts.js +1 -1
- package/dist/app/components/command-menu/chat-switcher.d.ts +12 -0
- package/dist/app/components/command-menu/chat-switcher.js +142 -0
- package/dist/app/components/command-menu/chat-switcher.js.map +1 -0
- package/dist/app/components/command-menu/command-menu.d.ts +15 -0
- package/dist/app/components/command-menu/command-menu.js +812 -0
- package/dist/app/components/command-menu/command-menu.js.map +1 -0
- package/dist/app/components/command-menu/keycaps.d.ts +21 -0
- package/dist/app/components/command-menu/keycaps.js +12 -0
- package/dist/app/components/command-menu/shortcut-sheet.d.ts +12 -0
- package/dist/app/components/command-menu/shortcut-sheet.js +150 -0
- package/dist/app/components/command-menu/shortcut-sheet.js.map +1 -0
- package/dist/app/components/composer-capabilities-menu-body.js +3 -3
- package/dist/app/components/composer-mobile-plus-panel.js +21 -21
- package/dist/app/components/composer-mobile-plus.js +3 -3
- package/dist/app/components/credit-required-gate.js +1 -1
- package/dist/app/components/credit-required-prompt.js +16 -16
- package/dist/app/components/credits/coupon-redeem.js +2 -2
- package/dist/app/components/credits/credit-refusal-notice.d.ts +18 -0
- package/dist/app/components/credits/credit-refusal-notice.js +17 -0
- package/dist/app/components/cross-slot-deep-link-recovery.js +1 -1
- package/dist/app/components/desktop/app-shots.js +6 -6
- package/dist/app/components/desktop/this-computer.js +4 -4
- package/dist/app/components/feedback.js +5 -5
- package/dist/app/components/follow-up-repository-menu-body.js +7 -7
- package/dist/app/components/follow-up-repository-picker.js +3 -3
- package/dist/app/components/github-app-connect-launcher.js +1 -1
- package/dist/app/components/knowledge/agent-learning-settings.js +6 -6
- package/dist/app/components/machines/connect-machine-dialog.js +18 -18
- package/dist/app/components/manual-repository-editor.js +2 -2
- package/dist/app/components/markdown.js +10 -9
- package/dist/app/components/message-context-pills.js +2 -2
- package/dist/app/components/models/models-ui.js +10 -10
- package/dist/app/components/pickers.js +10 -10
- package/dist/app/components/rail/rail-context.d.ts +6 -0
- package/dist/app/components/rail/rail-context.js +3 -3
- package/dist/app/components/rail/rail-sections.js +61 -55
- package/dist/app/components/rail/session-browse-order-controls.js +2 -2
- package/dist/app/components/rail/session-header.js +50 -36
- package/dist/app/components/rail/session-list.js +59 -52
- package/dist/app/components/rail/session-row-hover-details.js +25 -23
- package/dist/app/components/rail/session-shell.js +96 -91
- package/dist/app/components/repository-picker.js +7 -7
- package/dist/app/components/secrets/session-secrets-panel.js +4 -4
- package/dist/app/components/session/agent-configuration-panel.js +34 -34
- package/dist/app/components/session/banners.js +12 -11
- package/dist/app/components/session/codex-account-indicator.js +12 -12
- package/dist/app/components/session/composer-menu-radio.js +2 -2
- package/dist/app/components/session/conversation-find.js +1 -1
- package/dist/app/components/session/editable-artifacts-workspace.js +45 -45
- package/dist/app/components/session/failed-session-banner.js +12 -12
- package/dist/app/components/session/human-input.js +48 -47
- package/dist/app/components/session/inspector.js +80 -79
- package/dist/app/components/session/inspector.js.map +1 -1
- package/dist/app/components/session/message-actions.js +5 -5
- package/dist/app/components/session/message-resource-attachments.js +21 -20
- package/dist/app/components/session/message-resource-attachments.js.map +1 -1
- package/dist/app/components/session/model-account-indicator.js +11 -11
- package/dist/app/components/session/model-context-inspector.js +2 -2
- package/dist/app/components/session/model-recovery-notice.js +3 -3
- package/dist/app/components/session/new-session-settings-menu.js +13 -13
- package/dist/app/components/session/sandbox-switcher.js +16 -16
- package/dist/app/components/session/sandbox-workspace.js +68 -67
- package/dist/app/components/session/search-markdown-highlight.js +11 -10
- package/dist/app/components/session/search-results-view.js +12 -11
- package/dist/app/components/session/session-admin-access.js +11 -11
- package/dist/app/components/session/session-retention.js +4 -4
- package/dist/app/components/session/session-search-dialog.d.ts +5 -0
- package/dist/app/components/session/session-search-dialog.js +22 -12
- package/dist/app/components/session/session-search-dialog.js.map +1 -1
- package/dist/app/components/session/session-skill-reviews.js +3 -3
- package/dist/app/components/session/session-tenancy-control.js +25 -25
- package/dist/app/components/session/session-usage-limit-section.js +9 -9
- package/dist/app/components/session/session-wait-status.js +11 -9
- package/dist/app/components/session/session-wait-status.js.map +1 -1
- package/dist/app/components/session/subagents.js +17 -15
- package/dist/app/components/session/subscription-account-menu.js +2 -2
- package/dist/app/components/session-connectors-menu-body.js +6 -6
- package/dist/app/components/settings/row-select.js +1 -1
- package/dist/app/components/transcription-settings.js +2 -2
- package/dist/app/components/ui/destructive-confirm.js +8 -8
- package/dist/app/components/usage/usage-entry.js +6 -6
- package/dist/app/components/workspace-composer-plus.js +22 -21
- package/dist/app/embed/session-app.js +264 -258
- package/dist/app/lib/actions/actions-provider.d.ts +30 -0
- package/dist/app/lib/actions/actions-provider.js +32 -0
- package/dist/app/lib/actions/chat-directory.d.ts +30 -0
- package/dist/app/lib/actions/chat-operations.d.ts +11 -0
- package/dist/app/lib/actions/chat-switcher.d.ts +31 -0
- package/dist/app/lib/actions/chords.d.ts +40 -0
- package/dist/app/lib/actions/events.d.ts +6 -0
- package/dist/app/lib/actions/rank.d.ts +17 -0
- package/dist/app/lib/actions/registry.d.ts +71 -0
- package/dist/app/lib/codex-usage-query.js +3 -3
- package/dist/app/lib/composer-connectors.js +14 -13
- package/dist/app/lib/console-text.js +2 -2
- package/dist/app/lib/credit-coverage.d.ts +21 -0
- package/dist/app/lib/credit-coverage.js +15 -0
- package/dist/app/lib/deployment-free-model.js +2 -2
- package/dist/app/lib/events.js +19 -18
- package/dist/app/lib/failed-session-copy.js +5 -5
- package/dist/app/lib/free-credit-gap.d.ts +9 -0
- package/dist/app/lib/free-credit-gap.js +4 -2
- package/dist/app/lib/integration-connect-analytics.d.ts +1 -1
- package/dist/app/lib/integration-connect-analytics.js +1 -1
- package/dist/app/lib/integration-connect-redirect.js +1 -1
- package/dist/app/lib/model-access-onboarding.js +4 -4
- package/dist/app/lib/model-policy.js +1 -1
- package/dist/app/lib/models-route.d.ts +6 -2
- package/dist/app/lib/models-route.js +6 -3
- package/dist/app/lib/models-route.js.map +1 -1
- package/dist/app/lib/move-chat-to-machine.js +3 -3
- package/dist/app/lib/session-branch-cache.js +15 -13
- package/dist/app/lib/session-create.js +2 -2
- package/dist/app/lib/session-group-pagination.js +15 -13
- package/dist/app/lib/session-hover-facts.js +16 -14
- package/dist/app/lib/session-model.js +3 -3
- package/dist/app/lib/session-rail.js +11 -9
- package/dist/app/lib/session-rename.js +3 -3
- package/dist/app/lib/session-search-route.d.ts +1 -1
- package/dist/app/lib/session-search-route.js +1 -1
- package/dist/app/lib/session-ui-features.d.ts +11 -3
- package/dist/app/lib/session-ui-features.js +1 -1
- package/dist/app/lib/sessions-group.js +15 -13
- package/dist/app/lib/turn-failure-analytics.js +7 -7
- package/dist/app/lib/unavailable-session-model.js +2 -2
- package/dist/app/lib/use-duplicate-site.js +2 -2
- package/dist/app/lib/use-follow-up-repositories.js +3 -3
- package/dist/app/lib/use-workspace-machines.js +8 -8
- package/dist/app/lib/use-workspace-model-catalog.js +6 -6
- package/dist/app/lib/use-workspace-rigs.js +4 -4
- package/dist/app/lib/workspace-navigation-preference.js +5 -5
- package/dist/app/lib/workspace-scope-context.js +4 -4
- package/dist/app/routes/artifacts.js +124 -122
- package/dist/app/routes/artifacts.js.map +1 -1
- package/dist/app/routes/retained-artifact.js +69 -68
- package/dist/app/routes/retained-artifact.js.map +1 -1
- package/dist/app/routes/session-unavailable.js +3 -3
- package/dist/app/routes/session.js +168 -166
- package/dist/app/routes/sessions-index-hydration.js +3 -3
- package/dist/app/routes/sessions-index.js +122 -116
- package/dist/artifacts-document.js +4 -4
- package/dist/artifacts-presentation.js +4 -4
- package/dist/artifacts-spreadsheet.js +4 -4
- package/dist/artifacts.js +39 -39
- package/dist/{browser-viewer-ZRFZX3VN.js → browser-viewer-HPUMK7UP.js} +7 -7
- package/dist/{chat-interactive-block-HUMYWVCK.js → chat-interactive-block-22PPECCT.js} +6 -6
- package/dist/{chunk-GVIQ7H62.js → chunk-2LUBBDZV.js} +5 -5
- package/dist/{chunk-SWWYYGQO.js → chunk-325C2TCI.js} +5 -2
- package/dist/chunk-325C2TCI.js.map +1 -0
- package/dist/{chunk-XMMVIY7B.js → chunk-3CCJWHQY.js} +2 -2
- package/dist/{chunk-XS2FZ6DX.js → chunk-3F5ZPIWI.js} +2 -2
- package/dist/{chunk-72US6QNB.js → chunk-3J2YZRY5.js} +2 -2
- package/dist/{chunk-D4YQF4E3.js → chunk-3SMJ2BIQ.js} +2 -2
- package/dist/{chunk-TBJINQXA.js → chunk-3WCYK36X.js} +17 -17
- package/dist/{chunk-WPCF34V6.js → chunk-3WG3CRL7.js} +14 -14
- package/dist/{chunk-JI5BYQKO.js → chunk-3X46PNBX.js} +14 -14
- package/dist/{chunk-UO36FC3S.js → chunk-46I7MMAL.js} +6 -2
- package/dist/chunk-46I7MMAL.js.map +1 -0
- package/dist/{chunk-PBK44WJC.js → chunk-4GJ37O6G.js} +2 -2
- package/dist/chunk-4IWBQUQU.js +152 -0
- package/dist/chunk-4IWBQUQU.js.map +1 -0
- package/dist/{chunk-LEXPBQ56.js → chunk-4SKJX3C4.js} +6 -6
- package/dist/{chunk-ZA6YD2LW.js → chunk-57SYK776.js} +2 -2
- package/dist/{chunk-22LBKJDE.js → chunk-5DIAN5GQ.js} +12 -12
- package/dist/{chunk-LJ3TDK2L.js → chunk-5FA455GR.js} +4 -4
- package/dist/{chunk-N2BEUKXT.js → chunk-5FBZDEHE.js} +228 -228
- package/dist/chunk-5FBZDEHE.js.map +1 -0
- package/dist/{chunk-YPR5INHV.js → chunk-5X3E2Z3D.js} +4 -4
- package/dist/{chunk-OXNWZTEU.js → chunk-5ZJCL6X4.js} +5 -5
- package/dist/{chunk-62OAZ4LO.js → chunk-6C5GQQMC.js} +12 -12
- package/dist/{chunk-VGITH57T.js → chunk-6ERTXDZM.js} +4 -4
- package/dist/{chunk-ZQ7XQZCF.js → chunk-6FX73Y4I.js} +8 -8
- package/dist/{chunk-QZO2KK2F.js → chunk-6P44NG6Y.js} +2 -2
- package/dist/{chunk-N2DDJLTM.js → chunk-6T7Y33JA.js} +3 -3
- package/dist/{chunk-RBAGC2MJ.js → chunk-75VE5QUS.js} +22 -22
- package/dist/{chunk-MRXOGI3O.js → chunk-77CUDSHG.js} +9 -9
- package/dist/{chunk-F2GXK2Z6.js → chunk-7G446JFO.js} +431 -348
- package/dist/chunk-7G446JFO.js.map +1 -0
- package/dist/{chunk-GZ65XQR5.js → chunk-7T7FHSGS.js} +3 -3
- package/dist/{chunk-YGAH34CD.js → chunk-A3S26JSP.js} +8 -8
- package/dist/{chunk-GYPAO6RS.js → chunk-A664GSDM.js} +8 -8
- package/dist/{chunk-JSZSNMDR.js → chunk-ASUYLXKO.js} +2 -2
- package/dist/{chunk-RTK7SUPL.js → chunk-AUUJLVA3.js} +7 -7
- package/dist/{chunk-OOTBYSCA.js → chunk-BBWKPNJB.js} +5 -5
- package/dist/{chunk-BGZIMIUU.js → chunk-BCUYWOQU.js} +2 -2
- package/dist/{chunk-EKN4N4LS.js → chunk-BDFMNJZJ.js} +2 -2
- package/dist/{chunk-YZKGOWCC.js → chunk-BIDXQAGO.js} +2 -2
- package/dist/{chunk-Q2UUANHF.js → chunk-BIKAJ4DY.js} +5 -5
- package/dist/{chunk-5IQBF2X3.js → chunk-BJPJ2OUX.js} +3 -3
- package/dist/{chunk-EY2EMHZW.js → chunk-BPM2OTYK.js} +8 -8
- package/dist/{chunk-MT4TBRQB.js → chunk-BSWS2RUZ.js} +2 -2
- package/dist/{chunk-T7YD3VGK.js → chunk-C52MNKXU.js} +12 -12
- package/dist/{chunk-THNW33K7.js → chunk-CEUDV4OA.js} +18 -18
- package/dist/{chunk-GRLPRM56.js → chunk-CFEFYPNR.js} +8 -2
- package/dist/chunk-CFEFYPNR.js.map +1 -0
- package/dist/{chunk-LHGIS6SZ.js → chunk-CVK74BH7.js} +2 -2
- package/dist/{chunk-DFO2UCYG.js → chunk-CW5I65ZX.js} +11 -11
- package/dist/chunk-DKNTQDVL.js +86 -0
- package/dist/chunk-DKNTQDVL.js.map +1 -0
- package/dist/{chunk-SKRLKQEG.js → chunk-DOSC2HRQ.js} +79 -79
- package/dist/{chunk-KVB6XDLP.js → chunk-DPJ2CWVN.js} +2 -2
- package/dist/{chunk-4J6V4DH7.js → chunk-DXMRO2MU.js} +3 -3
- package/dist/{chunk-42I4O4WQ.js → chunk-EE55IDDR.js} +26 -26
- package/dist/{chunk-2RA6XABP.js → chunk-EEERTLFF.js} +12 -12
- package/dist/{chunk-PTOTKUKO.js → chunk-EEO744XR.js} +8 -8
- package/dist/{chunk-LD3HVI2J.js → chunk-EMFGBAQL.js} +6 -6
- package/dist/{chunk-FQGUK4ST.js → chunk-ENPJKVMN.js} +38 -38
- package/dist/{chunk-HDHK3SXK.js → chunk-EU6RLHMP.js} +4 -4
- package/dist/{chunk-G7VLL3PG.js → chunk-F2YABPRJ.js} +13 -4
- package/dist/chunk-F2YABPRJ.js.map +1 -0
- package/dist/{chunk-MRUWRQBX.js → chunk-FET6XHGS.js} +2 -2
- package/dist/{chunk-M6KUY3YH.js → chunk-FIICQA55.js} +2 -2
- package/dist/{chunk-NLWLCYCT.js → chunk-FTZXCPE3.js} +19 -19
- package/dist/{chunk-FN2KA3MJ.js → chunk-FUS76DO4.js} +3 -3
- package/dist/{chunk-AM4IIPWI.js → chunk-G7N5NPRJ.js} +2 -2
- package/dist/{chunk-CCQ7YKOD.js → chunk-GBYZ6653.js} +2 -2
- package/dist/{chunk-SOOWLNC5.js → chunk-GJUPLSC5.js} +330 -109
- package/dist/chunk-GJUPLSC5.js.map +1 -0
- package/dist/{chunk-YKKVIJVX.js → chunk-GQDSC6QZ.js} +5 -5
- package/dist/chunk-GQGNRL2L.js +53 -0
- package/dist/chunk-GQGNRL2L.js.map +1 -0
- package/dist/{chunk-5X6JP75Q.js → chunk-GRSODLVO.js} +4 -4
- package/dist/{chunk-73YP3R5X.js → chunk-GSESCQFY.js} +4 -4
- package/dist/{chunk-KWB5U3ZT.js → chunk-GWRW4N3T.js} +199 -137
- package/dist/chunk-GWRW4N3T.js.map +1 -0
- package/dist/{chunk-RTR7RNG4.js → chunk-GYRU4PNM.js} +9 -7
- package/dist/{chunk-RTR7RNG4.js.map → chunk-GYRU4PNM.js.map} +1 -1
- package/dist/{chunk-MZLEBFUZ.js → chunk-GZD6VBIK.js} +3 -3
- package/dist/{chunk-IZR2QRFF.js → chunk-H3HH5AHS.js} +4 -4
- package/dist/{chunk-DN3TKURW.js → chunk-H3LIIAGE.js} +4 -54
- package/dist/chunk-H3LIIAGE.js.map +1 -0
- package/dist/{chunk-NPLEQMNM.js → chunk-H5GWAG4I.js} +7 -5
- package/dist/{chunk-NPLEQMNM.js.map → chunk-H5GWAG4I.js.map} +1 -1
- package/dist/{chunk-OJPUVUB6.js → chunk-HAOZCLLA.js} +3 -3
- package/dist/{chunk-ZBHDGAYL.js → chunk-HEFE4OZJ.js} +2 -2
- package/dist/{chunk-WTG34JVA.js → chunk-HI75UTI6.js} +2 -2
- package/dist/{chunk-OMBIG3NC.js → chunk-HM633ROV.js} +14 -14
- package/dist/{chunk-WDFZWSKD.js → chunk-HRIP4M6H.js} +3 -3
- package/dist/{chunk-A2BCW6CQ.js → chunk-HU2DRFFI.js} +3 -3
- package/dist/{chunk-PO35PBAB.js → chunk-HVH7FFJH.js} +2 -2
- package/dist/{chunk-EG7KNUF7.js → chunk-HYTXTKST.js} +18 -18
- package/dist/{chunk-TFHG75A4.js → chunk-I4XMDFUJ.js} +7 -7
- package/dist/{chunk-IZHVZZQA.js → chunk-ICAUYWSL.js} +9 -9
- package/dist/{chunk-ZSERYHHT.js → chunk-IDMXEPHL.js} +150 -150
- package/dist/chunk-IDMXEPHL.js.map +1 -0
- package/dist/{chunk-DCLPWYP3.js → chunk-IEVPJ3G6.js} +2 -2
- package/dist/{chunk-EVWZHDSF.js → chunk-IKH3VTA4.js} +2 -2
- package/dist/{chunk-L5UCO2UV.js → chunk-ILBSBZGC.js} +13 -4
- package/dist/chunk-ILBSBZGC.js.map +1 -0
- package/dist/{chunk-IO6K6UYJ.js → chunk-IQ64BNAG.js} +4 -2
- package/dist/chunk-IQ64BNAG.js.map +1 -0
- package/dist/{chunk-TYHLEFD2.js → chunk-IZJNMRIR.js} +9 -9
- package/dist/{chunk-D2SR3TEB.js → chunk-J243WGUA.js} +2 -2
- package/dist/{chunk-QGSGIYE3.js → chunk-J2C6LB6W.js} +4 -4
- package/dist/{chunk-MT6TRTXF.js → chunk-J5MEDX7C.js} +9 -9
- package/dist/{chunk-6QHUKBJP.js → chunk-J7SKOO44.js} +2 -2
- package/dist/{chunk-W2QK7PYS.js → chunk-JAAST75A.js} +11 -11
- package/dist/{chunk-NQCMS4AJ.js → chunk-JQCGPTZ6.js} +9 -9
- package/dist/chunk-JRJUSKDY.js +832 -0
- package/dist/chunk-JRJUSKDY.js.map +1 -0
- package/dist/{chunk-CMUXJHGH.js → chunk-JRSCWQMC.js} +9 -9
- package/dist/{chunk-Q4OHNGGB.js → chunk-JRXHSVD5.js} +4 -4
- package/dist/{chunk-SD2K5ZN5.js → chunk-JXYLDT6X.js} +4 -4
- package/dist/{chunk-S3M5WCZW.js → chunk-KA4LV7G6.js} +35 -50
- package/dist/chunk-KA4LV7G6.js.map +1 -0
- package/dist/{chunk-IXX6ZOL2.js → chunk-KGTMHEAP.js} +7 -7
- package/dist/{chunk-22OBGVEJ.js → chunk-KOXVGPW4.js} +3 -3
- package/dist/{chunk-NOZ5CGZE.js → chunk-L5GPPMUB.js} +2 -2
- package/dist/{chunk-KIHYJM5F.js → chunk-LXJT4WAW.js} +58 -58
- package/dist/{chunk-KIHYJM5F.js.map → chunk-LXJT4WAW.js.map} +1 -1
- package/dist/{chunk-4FOOHMTU.js → chunk-LY6727IF.js} +1 -1
- package/dist/{chunk-PT7MTXRE.js → chunk-MAOCN7J6.js} +2 -2
- package/dist/{chunk-4K2JSJNX.js → chunk-MB5LZVDO.js} +2 -2
- package/dist/chunk-MF464AKA.js +139 -0
- package/dist/chunk-MF464AKA.js.map +1 -0
- package/dist/{chunk-UYSZKDQY.js → chunk-MK54JLE4.js} +1 -1
- package/dist/chunk-MK54JLE4.js.map +1 -0
- package/dist/{chunk-5LES64PP.js → chunk-MKOQAVOE.js} +21 -21
- package/dist/{chunk-BMV2SNYX.js → chunk-MUPWNSEJ.js} +18 -18
- package/dist/{chunk-Y5TRG22C.js → chunk-NRXIECWC.js} +2 -2
- package/dist/{chunk-GOE7G5JX.js → chunk-NWSAF6P5.js} +2 -2
- package/dist/chunk-OB3YGXHQ.js +158 -0
- package/dist/chunk-OB3YGXHQ.js.map +1 -0
- package/dist/{chunk-DUM363VS.js → chunk-OFZQJNF6.js} +5 -5
- package/dist/{chunk-CKN5QPEL.js → chunk-OMF7POEY.js} +2 -2
- package/dist/{chunk-MVXKO2BD.js → chunk-OXD6ET34.js} +1 -1
- package/dist/{chunk-47JUEVME.js → chunk-PALX6HWV.js} +21 -21
- package/dist/{chunk-B6OGSG7I.js → chunk-PE3BLBDT.js} +3 -3
- package/dist/{chunk-RVISSNVE.js → chunk-PMZKJOG6.js} +15 -15
- package/dist/{chunk-CESAMXWX.js → chunk-PQUTMG3S.js} +2 -2
- package/dist/{chunk-7VFCOKPG.js → chunk-PWBGODZU.js} +3 -3
- package/dist/{chunk-MOPAXD2H.js → chunk-QCADUTYX.js} +2 -2
- package/dist/{chunk-CT5FBO7E.js → chunk-RPOUJI25.js} +1 -1
- package/dist/{chunk-VE3FKXJ7.js → chunk-RUSXEE7X.js} +35 -32
- package/dist/chunk-RUSXEE7X.js.map +1 -0
- package/dist/{chunk-WKHYOS72.js → chunk-RW4GFE56.js} +3 -3
- package/dist/{chunk-FH4GO7HO.js → chunk-RYLVVDR7.js} +1 -1
- package/dist/{chunk-QZRDCFHI.js → chunk-S66SBBFQ.js} +5 -5
- package/dist/{chunk-CQJFIPAH.js → chunk-S7TNV2I7.js} +14 -14
- package/dist/{chunk-ZBQSIGGR.js → chunk-SC773IMJ.js} +13 -13
- package/dist/{chunk-RZV7SXED.js → chunk-SF3M27AN.js} +37 -12
- package/dist/chunk-SF3M27AN.js.map +1 -0
- package/dist/{chunk-FBJ2HK7A.js → chunk-SGPJ3YS2.js} +20 -20
- package/dist/{chunk-A2EWJQXX.js → chunk-SM5QX6UK.js} +4 -4
- package/dist/chunk-SWCLN6JE.js +40 -0
- package/dist/chunk-SWCLN6JE.js.map +1 -0
- package/dist/{chunk-OS3EQOIS.js → chunk-T4F5TW2X.js} +29 -24
- package/dist/chunk-T4F5TW2X.js.map +1 -0
- package/dist/{chunk-RKZWCTXV.js → chunk-TAEKDMEF.js} +2 -2
- package/dist/{chunk-6AVCAUGL.js → chunk-TASEV25T.js} +3 -3
- package/dist/{chunk-3XOISKZC.js → chunk-TLGDPMUX.js} +6 -6
- package/dist/{chunk-MOF3XSUM.js → chunk-TREHTIBD.js} +3 -2
- package/dist/chunk-TREHTIBD.js.map +1 -0
- package/dist/{chunk-HUQHJSPV.js → chunk-TTPXGD5S.js} +68 -33
- package/dist/chunk-TTPXGD5S.js.map +1 -0
- package/dist/{chunk-NFCYIZHX.js → chunk-TXIIBNCA.js} +7 -3
- package/dist/{chunk-NFCYIZHX.js.map → chunk-TXIIBNCA.js.map} +1 -1
- package/dist/{chunk-5IUW34PG.js → chunk-TY3QYPJ6.js} +7 -7
- package/dist/{chunk-VQFR4EU4.js → chunk-U3JK5VJV.js} +2 -2
- package/dist/{chunk-2AWMJO54.js → chunk-U42P3RMZ.js} +5 -5
- package/dist/{chunk-2RIUMV7S.js → chunk-UBIJBLUK.js} +234 -234
- package/dist/chunk-UBIJBLUK.js.map +1 -0
- package/dist/{chunk-GUU75DES.js → chunk-UEJTOPLW.js} +8 -8
- package/dist/{chunk-QWCTYLMD.js → chunk-URDONAEJ.js} +240 -204
- package/dist/chunk-URDONAEJ.js.map +1 -0
- package/dist/{chunk-OZOEWLGR.js → chunk-UT6JAORE.js} +4 -4
- package/dist/{chunk-5TELOQA6.js → chunk-UTHPUINA.js} +3 -3
- package/dist/{chunk-SOV7DTTU.js → chunk-V6HZ2HJZ.js} +67 -67
- package/dist/{chunk-SOV7DTTU.js.map → chunk-V6HZ2HJZ.js.map} +1 -1
- package/dist/{chunk-26RQ6JBR.js → chunk-VBVCNH6D.js} +5 -5
- package/dist/{chunk-P646DND6.js → chunk-VCMQPCME.js} +2 -2
- package/dist/{chunk-LV7FMIMM.js → chunk-VGUHAHHV.js} +2 -2
- package/dist/{chunk-GYVXARCY.js → chunk-VIBPFVU4.js} +41 -41
- package/dist/{chunk-KHPOKZ6Z.js → chunk-VMAC66JX.js} +6 -6
- package/dist/{chunk-SHKRS6I5.js → chunk-VRPNETPK.js} +3 -3
- package/dist/{chunk-6U4J6RVS.js → chunk-WCHW4XN7.js} +14 -14
- package/dist/{chunk-CJH6QUQJ.js → chunk-WD3UXNJV.js} +3 -3
- package/dist/{chunk-H5EVWF6L.js → chunk-WR67FJMX.js} +4 -4
- package/dist/{chunk-XLIJ36RG.js → chunk-WRMQ7EX4.js} +5 -5
- package/dist/{chunk-VVFWOBAM.js → chunk-WTJUKYB2.js} +15 -16
- package/dist/chunk-WTJUKYB2.js.map +1 -0
- package/dist/{chunk-7KLCFJ5G.js → chunk-X4PPGXQG.js} +2 -2
- package/dist/{chunk-ZE2JTVCQ.js → chunk-X5BMQXFD.js} +11 -11
- package/dist/{chunk-OYJY4Y4A.js → chunk-XFNLU7EW.js} +14 -7
- package/dist/chunk-XFNLU7EW.js.map +1 -0
- package/dist/{chunk-UECU6LZI.js → chunk-XXRBOSWV.js} +3 -3
- package/dist/{chunk-SPKAIDWX.js → chunk-XZEFCPBL.js} +2 -2
- package/dist/{chunk-EZ5NYRHK.js → chunk-YL6N7QLA.js} +5 -5
- package/dist/{chunk-Q2ZJOECN.js → chunk-YMVTIV5L.js} +19 -19
- package/dist/chunk-YMVTIV5L.js.map +1 -0
- package/dist/{chunk-VAIESMPY.js → chunk-YVBHGMKC.js} +4 -4
- package/dist/{chunk-AR62NQXE.js → chunk-Z2S5VQG7.js} +2 -2
- package/dist/{chunk-2MXUB3ZO.js → chunk-Z5OGTWMZ.js} +15 -2
- package/dist/chunk-Z5OGTWMZ.js.map +1 -0
- package/dist/{chunk-7UQJEADK.js → chunk-ZL2O4BYP.js} +2 -2
- package/dist/{chunk-FOOITLHR.js → chunk-ZZHBT5WQ.js} +2 -2
- package/dist/{chunk-X6VJQJYY.js → chunk-ZZWHKC6A.js} +3 -3
- package/dist/components/timeline-annotation-shared.d.ts +1 -9
- package/dist/composer-messages.js +2 -2
- package/dist/composer.js +15 -15
- package/dist/{computer-viewer-D4NHQB5D.js → computer-viewer-S6TE6TN7.js} +8 -8
- package/dist/connect.js +12 -11
- package/dist/desktop.js +2 -2
- package/dist/editor.js +2 -2
- package/dist/{embedded-new-voice-X4ZW6SY4.js → embedded-new-voice-ZDZPGX25.js} +8 -8
- package/dist/{embedded-voice-4OD6Z3HU.js → embedded-voice-FKCUXSJO.js} +8 -8
- package/dist/{fleet-decision-row-5UCJXTDP.js → fleet-decision-row-VCGWYJAV.js} +2 -2
- package/dist/hooks/page-wake.d.ts +21 -0
- package/dist/hooks/use-session-events.d.ts +1 -0
- package/dist/index.js +206 -205
- package/dist/interaction.js +9 -9
- package/dist/{latest-question-VGVNUGAU.js → latest-question-SINEV4U6.js} +3 -3
- package/dist/lib/format.d.ts +3 -2
- package/dist/machines.js +6 -6
- package/dist/messages/en.d.ts +12 -3
- package/dist/messages.js +1 -1
- package/dist/model-picker-model.js +2 -2
- package/dist/{model-policy-picker-menu-XOPYY6YA.js → model-policy-picker-menu-66JPM3G5.js} +6 -6
- package/dist/model-policy-picker-menu-66JPM3G5.js.map +1 -0
- package/dist/model-policy.js +1 -1
- package/dist/native-previews.js +3 -3
- package/dist/{platform-activity-row-56XOVTRA.js → platform-activity-row-LU5WABI2.js} +2 -2
- package/dist/{queue-surface-implementation-OZDOBJ6W.js → queue-surface-implementation-Y4OUVS7N.js} +8 -7
- package/dist/{queue-surface-implementation-OZDOBJ6W.js.map → queue-surface-implementation-Y4OUVS7N.js.map} +1 -1
- package/dist/realtime.js +7 -7
- package/dist/{sandbox-files-LJCR437H.js → sandbox-files-NBIVKVCZ.js} +11 -11
- package/dist/sandbox-files-NBIVKVCZ.js.map +1 -0
- package/dist/session-app.js +266 -260
- package/dist/session-list-model.js +3 -3
- package/dist/{session-realtime-UISLBZ4A.js → session-realtime-3PALSNMJ.js} +3 -3
- package/dist/session-realtime-3PALSNMJ.js.map +1 -0
- package/dist/session-realtime.js +2 -2
- package/dist/session-ui.js +62 -61
- package/dist/session.d.ts +1 -1
- package/dist/session.js +17 -17
- package/dist/sites.js +2 -2
- package/dist/terminal.js +2 -2
- package/dist/this-computer.js +3 -3
- package/dist/timeline/annotation-model.d.ts +48 -0
- package/dist/{timeline-annotation-markers-ACT7XRMW.js → timeline-annotation-markers-6526H2NM.js} +11 -9
- package/dist/{timeline-annotation-markers-ACT7XRMW.js.map → timeline-annotation-markers-6526H2NM.js.map} +1 -1
- package/dist/{timeline-annotation-selection-2IA7T5VR.js → timeline-annotation-selection-KV5SM6TA.js} +16 -62
- package/dist/timeline-annotation-selection-KV5SM6TA.js.map +1 -0
- package/dist/{timeline-annotations-dialog-W5B2HMYY.js → timeline-annotations-dialog-7CDHWC7Y.js} +12 -10
- package/dist/{timeline-annotations-dialog-W5B2HMYY.js.map → timeline-annotations-dialog-7CDHWC7Y.js.map} +1 -1
- package/dist/timeline-model.d.ts +3 -0
- package/dist/timeline-model.js +40 -14
- package/dist/ui/access-list.js +24 -24
- package/dist/ui/choice-cards.js +2 -2
- package/dist/ui/composer-menu-action.js +2 -2
- package/dist/ui/context-menu.d.ts +3 -1
- package/dist/ui/context-menu.js +3 -1
- package/dist/ui/detail-page.js +3 -3
- package/dist/ui/detail-sheet.js +3 -3
- package/dist/ui/diff-view.js +3 -3
- package/dist/ui/disclosure.js +5 -5
- package/dist/ui/dropdown-menu.js +1 -1
- package/dist/ui/flush-form-page.js +5 -5
- package/dist/ui/form-dialog.js +4 -4
- package/dist/ui/list-row.js +5 -5
- package/dist/ui/load-failure.js +3 -3
- package/dist/ui/page-actions.js +3 -3
- package/dist/ui/revision-history.js +11 -11
- package/dist/ui/role-select.js +8 -8
- package/dist/ui/segmented-control.js +1 -1
- package/dist/ui/settings-nav.js +3 -3
- package/dist/ui/toolbar.js +3 -3
- package/dist/usage.js +2 -2
- package/dist/workbench.js +11 -11
- package/package.json +4 -4
- package/src/app/app-state.tsx +2 -1
- package/src/app/components/command-menu/chat-switcher.tsx +135 -0
- package/src/app/components/command-menu/command-menu.tsx +840 -0
- package/src/app/components/command-menu/keycaps.tsx +56 -0
- package/src/app/components/command-menu/shortcut-sheet.tsx +155 -0
- package/src/app/components/credits/credit-refusal-notice.test.tsx +132 -0
- package/src/app/components/credits/credit-refusal-notice.tsx +92 -0
- package/src/app/components/rail/rail-context.tsx +28 -5
- package/src/app/components/rail/rail-sections.tsx +3 -5
- package/src/app/components/rail/session-header-mute.test.tsx +23 -1
- package/src/app/components/rail/session-header.test.tsx +21 -2
- package/src/app/components/rail/session-header.tsx +31 -1
- package/src/app/components/rail/session-list.tsx +89 -16
- package/src/app/components/rail/session-shell.tsx +0 -14
- package/src/app/components/session/session-search-dialog.tsx +12 -1
- package/src/app/embed/session-app.tsx +6 -3
- package/src/app/lib/actions/actions-provider.tsx +486 -0
- package/src/app/lib/actions/actions.test.ts +249 -0
- package/src/app/lib/actions/chat-directory.ts +231 -0
- package/src/app/lib/actions/chat-operations.ts +145 -0
- package/src/app/lib/actions/chat-switcher.ts +62 -0
- package/src/app/lib/actions/chords.ts +185 -0
- package/src/app/lib/actions/events.ts +10 -0
- package/src/app/lib/actions/rank.ts +119 -0
- package/src/app/lib/actions/registry.ts +333 -0
- package/src/app/lib/credit-coverage.test.ts +83 -0
- package/src/app/lib/credit-coverage.tsx +48 -0
- package/src/app/lib/free-credit-gap.test.ts +32 -1
- package/src/app/lib/free-credit-gap.tsx +32 -2
- package/src/app/lib/integration-connect-analytics.test.ts +1 -0
- package/src/app/lib/integration-connect-analytics.tsx +4 -0
- package/src/app/lib/models-route.test.ts +18 -0
- package/src/app/lib/models-route.tsx +26 -4
- package/src/app/lib/session-search-route.tsx +6 -1
- package/src/app/lib/session-ui-features.tsx +28 -9
- package/src/app/routes/session.tsx +74 -16
- package/src/app/routes/sessions-index.tsx +83 -4
- package/src/components/timeline-annotation-selection.tsx +9 -64
- package/src/components/timeline-annotation-shared.ts +9 -57
- package/src/hooks/page-wake.ts +80 -0
- package/src/hooks/use-session-events.ts +309 -81
- package/src/lib/format.ts +3 -2
- package/src/messages/en.ts +13 -3
- package/src/model-picker-model.ts +3 -0
- package/src/model-policy.ts +9 -1
- package/src/session.ts +1 -0
- package/src/timeline/annotation-model.ts +217 -0
- package/src/timeline/projection.ts +27 -21
- package/src/timeline-model.ts +14 -0
- package/src/ui/context-menu.tsx +16 -0
- package/src/ui/dropdown-menu.tsx +4 -1
- package/src/ui/segmented-control.tsx +3 -0
- package/styles/compiled.css +92 -0
- package/dist/app/lib/keyboard-shortcuts.d.ts +0 -51
- package/dist/app/lib/keyboard-shortcuts.js +0 -16
- package/dist/chunk-2MXUB3ZO.js.map +0 -1
- package/dist/chunk-2RIUMV7S.js.map +0 -1
- package/dist/chunk-53IXIUYP.js +0 -39
- package/dist/chunk-53IXIUYP.js.map +0 -1
- package/dist/chunk-DN3TKURW.js.map +0 -1
- package/dist/chunk-F2GXK2Z6.js.map +0 -1
- package/dist/chunk-G7VLL3PG.js.map +0 -1
- package/dist/chunk-GRLPRM56.js.map +0 -1
- package/dist/chunk-HUQHJSPV.js.map +0 -1
- package/dist/chunk-IO6K6UYJ.js.map +0 -1
- package/dist/chunk-KWB5U3ZT.js.map +0 -1
- package/dist/chunk-L5UCO2UV.js.map +0 -1
- package/dist/chunk-MOF3XSUM.js.map +0 -1
- package/dist/chunk-N2BEUKXT.js.map +0 -1
- package/dist/chunk-OS3EQOIS.js.map +0 -1
- package/dist/chunk-OYJY4Y4A.js.map +0 -1
- package/dist/chunk-Q2ZJOECN.js.map +0 -1
- package/dist/chunk-QWCTYLMD.js.map +0 -1
- package/dist/chunk-RZV7SXED.js.map +0 -1
- package/dist/chunk-S3M5WCZW.js.map +0 -1
- package/dist/chunk-SOOWLNC5.js.map +0 -1
- package/dist/chunk-SWWYYGQO.js.map +0 -1
- package/dist/chunk-UO36FC3S.js.map +0 -1
- package/dist/chunk-UYSZKDQY.js.map +0 -1
- package/dist/chunk-VE3FKXJ7.js.map +0 -1
- package/dist/chunk-VVFWOBAM.js.map +0 -1
- package/dist/chunk-ZSERYHHT.js.map +0 -1
- package/dist/timeline-annotation-selection-2IA7T5VR.js.map +0 -1
- package/src/app/lib/keyboard-shortcuts.test.ts +0 -47
- package/src/app/lib/keyboard-shortcuts.tsx +0 -58
- /package/dist/app/{lib/keyboard-shortcuts.js.map → components/command-menu/keycaps.js.map} +0 -0
- /package/dist/{browser-viewer-ZRFZX3VN.js.map → app/components/credits/credit-refusal-notice.js.map} +0 -0
- /package/dist/{chat-interactive-block-HUMYWVCK.js.map → app/lib/actions/actions-provider.js.map} +0 -0
- /package/dist/{computer-viewer-D4NHQB5D.js.map → app/lib/credit-coverage.js.map} +0 -0
- /package/dist/{embedded-new-voice-X4ZW6SY4.js.map → browser-viewer-HPUMK7UP.js.map} +0 -0
- /package/dist/{embedded-voice-4OD6Z3HU.js.map → chat-interactive-block-22PPECCT.js.map} +0 -0
- /package/dist/{chunk-GVIQ7H62.js.map → chunk-2LUBBDZV.js.map} +0 -0
- /package/dist/{chunk-XMMVIY7B.js.map → chunk-3CCJWHQY.js.map} +0 -0
- /package/dist/{chunk-XS2FZ6DX.js.map → chunk-3F5ZPIWI.js.map} +0 -0
- /package/dist/{chunk-72US6QNB.js.map → chunk-3J2YZRY5.js.map} +0 -0
- /package/dist/{chunk-D4YQF4E3.js.map → chunk-3SMJ2BIQ.js.map} +0 -0
- /package/dist/{chunk-TBJINQXA.js.map → chunk-3WCYK36X.js.map} +0 -0
- /package/dist/{chunk-WPCF34V6.js.map → chunk-3WG3CRL7.js.map} +0 -0
- /package/dist/{chunk-JI5BYQKO.js.map → chunk-3X46PNBX.js.map} +0 -0
- /package/dist/{chunk-PBK44WJC.js.map → chunk-4GJ37O6G.js.map} +0 -0
- /package/dist/{chunk-LEXPBQ56.js.map → chunk-4SKJX3C4.js.map} +0 -0
- /package/dist/{chunk-ZA6YD2LW.js.map → chunk-57SYK776.js.map} +0 -0
- /package/dist/{chunk-22LBKJDE.js.map → chunk-5DIAN5GQ.js.map} +0 -0
- /package/dist/{chunk-LJ3TDK2L.js.map → chunk-5FA455GR.js.map} +0 -0
- /package/dist/{chunk-YPR5INHV.js.map → chunk-5X3E2Z3D.js.map} +0 -0
- /package/dist/{chunk-OXNWZTEU.js.map → chunk-5ZJCL6X4.js.map} +0 -0
- /package/dist/{chunk-62OAZ4LO.js.map → chunk-6C5GQQMC.js.map} +0 -0
- /package/dist/{chunk-VGITH57T.js.map → chunk-6ERTXDZM.js.map} +0 -0
- /package/dist/{chunk-ZQ7XQZCF.js.map → chunk-6FX73Y4I.js.map} +0 -0
- /package/dist/{chunk-QZO2KK2F.js.map → chunk-6P44NG6Y.js.map} +0 -0
- /package/dist/{chunk-N2DDJLTM.js.map → chunk-6T7Y33JA.js.map} +0 -0
- /package/dist/{chunk-RBAGC2MJ.js.map → chunk-75VE5QUS.js.map} +0 -0
- /package/dist/{chunk-MRXOGI3O.js.map → chunk-77CUDSHG.js.map} +0 -0
- /package/dist/{chunk-GZ65XQR5.js.map → chunk-7T7FHSGS.js.map} +0 -0
- /package/dist/{chunk-YGAH34CD.js.map → chunk-A3S26JSP.js.map} +0 -0
- /package/dist/{chunk-GYPAO6RS.js.map → chunk-A664GSDM.js.map} +0 -0
- /package/dist/{chunk-JSZSNMDR.js.map → chunk-ASUYLXKO.js.map} +0 -0
- /package/dist/{chunk-RTK7SUPL.js.map → chunk-AUUJLVA3.js.map} +0 -0
- /package/dist/{chunk-OOTBYSCA.js.map → chunk-BBWKPNJB.js.map} +0 -0
- /package/dist/{chunk-BGZIMIUU.js.map → chunk-BCUYWOQU.js.map} +0 -0
- /package/dist/{chunk-EKN4N4LS.js.map → chunk-BDFMNJZJ.js.map} +0 -0
- /package/dist/{chunk-YZKGOWCC.js.map → chunk-BIDXQAGO.js.map} +0 -0
- /package/dist/{chunk-Q2UUANHF.js.map → chunk-BIKAJ4DY.js.map} +0 -0
- /package/dist/{chunk-5IQBF2X3.js.map → chunk-BJPJ2OUX.js.map} +0 -0
- /package/dist/{chunk-EY2EMHZW.js.map → chunk-BPM2OTYK.js.map} +0 -0
- /package/dist/{chunk-MT4TBRQB.js.map → chunk-BSWS2RUZ.js.map} +0 -0
- /package/dist/{chunk-T7YD3VGK.js.map → chunk-C52MNKXU.js.map} +0 -0
- /package/dist/{chunk-THNW33K7.js.map → chunk-CEUDV4OA.js.map} +0 -0
- /package/dist/{chunk-LHGIS6SZ.js.map → chunk-CVK74BH7.js.map} +0 -0
- /package/dist/{chunk-DFO2UCYG.js.map → chunk-CW5I65ZX.js.map} +0 -0
- /package/dist/{chunk-SKRLKQEG.js.map → chunk-DOSC2HRQ.js.map} +0 -0
- /package/dist/{chunk-KVB6XDLP.js.map → chunk-DPJ2CWVN.js.map} +0 -0
- /package/dist/{chunk-4J6V4DH7.js.map → chunk-DXMRO2MU.js.map} +0 -0
- /package/dist/{chunk-42I4O4WQ.js.map → chunk-EE55IDDR.js.map} +0 -0
- /package/dist/{chunk-2RA6XABP.js.map → chunk-EEERTLFF.js.map} +0 -0
- /package/dist/{chunk-PTOTKUKO.js.map → chunk-EEO744XR.js.map} +0 -0
- /package/dist/{chunk-LD3HVI2J.js.map → chunk-EMFGBAQL.js.map} +0 -0
- /package/dist/{chunk-FQGUK4ST.js.map → chunk-ENPJKVMN.js.map} +0 -0
- /package/dist/{chunk-HDHK3SXK.js.map → chunk-EU6RLHMP.js.map} +0 -0
- /package/dist/{chunk-MRUWRQBX.js.map → chunk-FET6XHGS.js.map} +0 -0
- /package/dist/{chunk-M6KUY3YH.js.map → chunk-FIICQA55.js.map} +0 -0
- /package/dist/{chunk-NLWLCYCT.js.map → chunk-FTZXCPE3.js.map} +0 -0
- /package/dist/{chunk-FN2KA3MJ.js.map → chunk-FUS76DO4.js.map} +0 -0
- /package/dist/{chunk-AM4IIPWI.js.map → chunk-G7N5NPRJ.js.map} +0 -0
- /package/dist/{chunk-CCQ7YKOD.js.map → chunk-GBYZ6653.js.map} +0 -0
- /package/dist/{chunk-YKKVIJVX.js.map → chunk-GQDSC6QZ.js.map} +0 -0
- /package/dist/{chunk-5X6JP75Q.js.map → chunk-GRSODLVO.js.map} +0 -0
- /package/dist/{chunk-73YP3R5X.js.map → chunk-GSESCQFY.js.map} +0 -0
- /package/dist/{chunk-MZLEBFUZ.js.map → chunk-GZD6VBIK.js.map} +0 -0
- /package/dist/{chunk-IZR2QRFF.js.map → chunk-H3HH5AHS.js.map} +0 -0
- /package/dist/{chunk-OJPUVUB6.js.map → chunk-HAOZCLLA.js.map} +0 -0
- /package/dist/{chunk-ZBHDGAYL.js.map → chunk-HEFE4OZJ.js.map} +0 -0
- /package/dist/{chunk-WTG34JVA.js.map → chunk-HI75UTI6.js.map} +0 -0
- /package/dist/{chunk-OMBIG3NC.js.map → chunk-HM633ROV.js.map} +0 -0
- /package/dist/{chunk-WDFZWSKD.js.map → chunk-HRIP4M6H.js.map} +0 -0
- /package/dist/{chunk-A2BCW6CQ.js.map → chunk-HU2DRFFI.js.map} +0 -0
- /package/dist/{chunk-PO35PBAB.js.map → chunk-HVH7FFJH.js.map} +0 -0
- /package/dist/{chunk-EG7KNUF7.js.map → chunk-HYTXTKST.js.map} +0 -0
- /package/dist/{chunk-TFHG75A4.js.map → chunk-I4XMDFUJ.js.map} +0 -0
- /package/dist/{chunk-IZHVZZQA.js.map → chunk-ICAUYWSL.js.map} +0 -0
- /package/dist/{chunk-DCLPWYP3.js.map → chunk-IEVPJ3G6.js.map} +0 -0
- /package/dist/{chunk-EVWZHDSF.js.map → chunk-IKH3VTA4.js.map} +0 -0
- /package/dist/{chunk-TYHLEFD2.js.map → chunk-IZJNMRIR.js.map} +0 -0
- /package/dist/{chunk-D2SR3TEB.js.map → chunk-J243WGUA.js.map} +0 -0
- /package/dist/{chunk-QGSGIYE3.js.map → chunk-J2C6LB6W.js.map} +0 -0
- /package/dist/{chunk-MT6TRTXF.js.map → chunk-J5MEDX7C.js.map} +0 -0
- /package/dist/{chunk-6QHUKBJP.js.map → chunk-J7SKOO44.js.map} +0 -0
- /package/dist/{chunk-W2QK7PYS.js.map → chunk-JAAST75A.js.map} +0 -0
- /package/dist/{chunk-NQCMS4AJ.js.map → chunk-JQCGPTZ6.js.map} +0 -0
- /package/dist/{chunk-CMUXJHGH.js.map → chunk-JRSCWQMC.js.map} +0 -0
- /package/dist/{chunk-Q4OHNGGB.js.map → chunk-JRXHSVD5.js.map} +0 -0
- /package/dist/{chunk-SD2K5ZN5.js.map → chunk-JXYLDT6X.js.map} +0 -0
- /package/dist/{chunk-IXX6ZOL2.js.map → chunk-KGTMHEAP.js.map} +0 -0
- /package/dist/{chunk-22OBGVEJ.js.map → chunk-KOXVGPW4.js.map} +0 -0
- /package/dist/{chunk-NOZ5CGZE.js.map → chunk-L5GPPMUB.js.map} +0 -0
- /package/dist/{chunk-4FOOHMTU.js.map → chunk-LY6727IF.js.map} +0 -0
- /package/dist/{chunk-PT7MTXRE.js.map → chunk-MAOCN7J6.js.map} +0 -0
- /package/dist/{chunk-4K2JSJNX.js.map → chunk-MB5LZVDO.js.map} +0 -0
- /package/dist/{chunk-5LES64PP.js.map → chunk-MKOQAVOE.js.map} +0 -0
- /package/dist/{chunk-BMV2SNYX.js.map → chunk-MUPWNSEJ.js.map} +0 -0
- /package/dist/{chunk-Y5TRG22C.js.map → chunk-NRXIECWC.js.map} +0 -0
- /package/dist/{chunk-GOE7G5JX.js.map → chunk-NWSAF6P5.js.map} +0 -0
- /package/dist/{chunk-DUM363VS.js.map → chunk-OFZQJNF6.js.map} +0 -0
- /package/dist/{chunk-CKN5QPEL.js.map → chunk-OMF7POEY.js.map} +0 -0
- /package/dist/{chunk-MVXKO2BD.js.map → chunk-OXD6ET34.js.map} +0 -0
- /package/dist/{chunk-47JUEVME.js.map → chunk-PALX6HWV.js.map} +0 -0
- /package/dist/{chunk-B6OGSG7I.js.map → chunk-PE3BLBDT.js.map} +0 -0
- /package/dist/{chunk-RVISSNVE.js.map → chunk-PMZKJOG6.js.map} +0 -0
- /package/dist/{chunk-CESAMXWX.js.map → chunk-PQUTMG3S.js.map} +0 -0
- /package/dist/{chunk-7VFCOKPG.js.map → chunk-PWBGODZU.js.map} +0 -0
- /package/dist/{chunk-MOPAXD2H.js.map → chunk-QCADUTYX.js.map} +0 -0
- /package/dist/{chunk-CT5FBO7E.js.map → chunk-RPOUJI25.js.map} +0 -0
- /package/dist/{chunk-WKHYOS72.js.map → chunk-RW4GFE56.js.map} +0 -0
- /package/dist/{chunk-FH4GO7HO.js.map → chunk-RYLVVDR7.js.map} +0 -0
- /package/dist/{chunk-QZRDCFHI.js.map → chunk-S66SBBFQ.js.map} +0 -0
- /package/dist/{chunk-CQJFIPAH.js.map → chunk-S7TNV2I7.js.map} +0 -0
- /package/dist/{chunk-ZBQSIGGR.js.map → chunk-SC773IMJ.js.map} +0 -0
- /package/dist/{chunk-FBJ2HK7A.js.map → chunk-SGPJ3YS2.js.map} +0 -0
- /package/dist/{chunk-A2EWJQXX.js.map → chunk-SM5QX6UK.js.map} +0 -0
- /package/dist/{chunk-RKZWCTXV.js.map → chunk-TAEKDMEF.js.map} +0 -0
- /package/dist/{chunk-6AVCAUGL.js.map → chunk-TASEV25T.js.map} +0 -0
- /package/dist/{chunk-3XOISKZC.js.map → chunk-TLGDPMUX.js.map} +0 -0
- /package/dist/{chunk-5IUW34PG.js.map → chunk-TY3QYPJ6.js.map} +0 -0
- /package/dist/{chunk-VQFR4EU4.js.map → chunk-U3JK5VJV.js.map} +0 -0
- /package/dist/{chunk-2AWMJO54.js.map → chunk-U42P3RMZ.js.map} +0 -0
- /package/dist/{chunk-GUU75DES.js.map → chunk-UEJTOPLW.js.map} +0 -0
- /package/dist/{chunk-OZOEWLGR.js.map → chunk-UT6JAORE.js.map} +0 -0
- /package/dist/{chunk-5TELOQA6.js.map → chunk-UTHPUINA.js.map} +0 -0
- /package/dist/{chunk-26RQ6JBR.js.map → chunk-VBVCNH6D.js.map} +0 -0
- /package/dist/{chunk-P646DND6.js.map → chunk-VCMQPCME.js.map} +0 -0
- /package/dist/{chunk-LV7FMIMM.js.map → chunk-VGUHAHHV.js.map} +0 -0
- /package/dist/{chunk-GYVXARCY.js.map → chunk-VIBPFVU4.js.map} +0 -0
- /package/dist/{chunk-KHPOKZ6Z.js.map → chunk-VMAC66JX.js.map} +0 -0
- /package/dist/{chunk-SHKRS6I5.js.map → chunk-VRPNETPK.js.map} +0 -0
- /package/dist/{chunk-6U4J6RVS.js.map → chunk-WCHW4XN7.js.map} +0 -0
- /package/dist/{chunk-CJH6QUQJ.js.map → chunk-WD3UXNJV.js.map} +0 -0
- /package/dist/{chunk-H5EVWF6L.js.map → chunk-WR67FJMX.js.map} +0 -0
- /package/dist/{chunk-XLIJ36RG.js.map → chunk-WRMQ7EX4.js.map} +0 -0
- /package/dist/{chunk-7KLCFJ5G.js.map → chunk-X4PPGXQG.js.map} +0 -0
- /package/dist/{chunk-ZE2JTVCQ.js.map → chunk-X5BMQXFD.js.map} +0 -0
- /package/dist/{chunk-UECU6LZI.js.map → chunk-XXRBOSWV.js.map} +0 -0
- /package/dist/{chunk-SPKAIDWX.js.map → chunk-XZEFCPBL.js.map} +0 -0
- /package/dist/{chunk-EZ5NYRHK.js.map → chunk-YL6N7QLA.js.map} +0 -0
- /package/dist/{chunk-VAIESMPY.js.map → chunk-YVBHGMKC.js.map} +0 -0
- /package/dist/{chunk-AR62NQXE.js.map → chunk-Z2S5VQG7.js.map} +0 -0
- /package/dist/{chunk-7UQJEADK.js.map → chunk-ZL2O4BYP.js.map} +0 -0
- /package/dist/{chunk-FOOITLHR.js.map → chunk-ZZHBT5WQ.js.map} +0 -0
- /package/dist/{chunk-X6VJQJYY.js.map → chunk-ZZWHKC6A.js.map} +0 -0
- /package/dist/{model-policy-picker-menu-XOPYY6YA.js.map → computer-viewer-S6TE6TN7.js.map} +0 -0
- /package/dist/{sandbox-files-LJCR437H.js.map → embedded-new-voice-ZDZPGX25.js.map} +0 -0
- /package/dist/{session-realtime-UISLBZ4A.js.map → embedded-voice-FKCUXSJO.js.map} +0 -0
- /package/dist/{fleet-decision-row-5UCJXTDP.js.map → fleet-decision-row-VCGWYJAV.js.map} +0 -0
- /package/dist/{latest-question-VGVNUGAU.js.map → latest-question-SINEV4U6.js.map} +0 -0
- /package/dist/{platform-activity-row-56XOVTRA.js.map → platform-activity-row-LU5WABI2.js.map} +0 -0
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-A3MTTRCX.js";
|
|
8
8
|
import {
|
|
9
9
|
Markdown
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HYTXTKST.js";
|
|
11
11
|
|
|
12
12
|
// src/app/components/markdown.tsx
|
|
13
13
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -44,4 +44,4 @@ function MarkdownText({
|
|
|
44
44
|
export {
|
|
45
45
|
MarkdownText
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=chunk-
|
|
47
|
+
//# sourceMappingURL=chunk-TAEKDMEF.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./chunk-5TLEWXAB.js";
|
|
11
11
|
import {
|
|
12
12
|
t
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MAOCN7J6.js";
|
|
14
14
|
import {
|
|
15
15
|
SESSION_GROUP_LABELS,
|
|
16
16
|
SESSION_GROUP_ORDER,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
recencyGroupFor,
|
|
22
22
|
sessionActivityTime,
|
|
23
23
|
sessionInputWait
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-J2C6LB6W.js";
|
|
25
25
|
|
|
26
26
|
// src/app/lib/sessions-group.tsx
|
|
27
27
|
function sessionProjectTotals(totals, channelIds) {
|
|
@@ -796,4 +796,4 @@ export {
|
|
|
796
796
|
visibleForestRows,
|
|
797
797
|
channelRailSections
|
|
798
798
|
};
|
|
799
|
-
//# sourceMappingURL=chunk-
|
|
799
|
+
//# sourceMappingURL=chunk-TASEV25T.js.map
|
|
@@ -3,15 +3,15 @@ import {
|
|
|
3
3
|
ErrorMessage
|
|
4
4
|
} from "./chunk-WHWUWN2X.js";
|
|
5
5
|
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
} from "./chunk-L4OF77LE.js";
|
|
6
|
+
Button
|
|
7
|
+
} from "./chunk-HMU5IELG.js";
|
|
9
8
|
import {
|
|
10
9
|
Skeleton
|
|
11
10
|
} from "./chunk-HY7EYWIG.js";
|
|
12
11
|
import {
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
apiErrorTechnicalFacts,
|
|
13
|
+
userErrorTextWithoutReference
|
|
14
|
+
} from "./chunk-L4OF77LE.js";
|
|
15
15
|
import {
|
|
16
16
|
cn
|
|
17
17
|
} from "./chunk-TXS65BB2.js";
|
|
@@ -620,4 +620,4 @@ export {
|
|
|
620
620
|
buildDiffRows,
|
|
621
621
|
DiffView
|
|
622
622
|
};
|
|
623
|
-
//# sourceMappingURL=chunk-
|
|
623
|
+
//# sourceMappingURL=chunk-TLGDPMUX.js.map
|
|
@@ -155,8 +155,9 @@ function DropdownMenuShortcut({ className, ...props }) {
|
|
|
155
155
|
return /* @__PURE__ */ jsx(
|
|
156
156
|
"span",
|
|
157
157
|
{
|
|
158
|
+
"aria-hidden": true,
|
|
158
159
|
"data-slot": "dropdown-menu-shortcut",
|
|
159
|
-
className: cn(MENU_META_CLASS, "tracking-widest", className),
|
|
160
|
+
className: cn(MENU_META_CLASS, "tracking-widest pointer-coarse:hidden", className),
|
|
160
161
|
...props
|
|
161
162
|
}
|
|
162
163
|
);
|
|
@@ -240,4 +241,4 @@ export {
|
|
|
240
241
|
DropdownMenuCheck,
|
|
241
242
|
DropdownMenuNote
|
|
242
243
|
};
|
|
243
|
-
//# sourceMappingURL=chunk-
|
|
244
|
+
//# sourceMappingURL=chunk-TREHTIBD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { CheckIcon, ChevronRightIcon } from \"lucide-react\";\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\";\n\nimport {\n MENU_CHECK_CLASS,\n MENU_CHECK_SLOT_CLASS,\n MENU_CHEVRON_CLASS,\n MENU_ITEM_CLASS,\n MENU_LABEL_CLASS,\n MENU_META_CLASS,\n MENU_NOTE_CLASS,\n MENU_SEPARATOR_CLASS,\n MENU_SURFACE_CLASS,\n} from \"./menu-styles\";\nimport { cn } from \"../lib/cn\";\nimport { containedPortal } from \"./portal-container\";\n\nconst DropdownMenuContainedPortal = containedPortal(DropdownMenuPrimitive.Portal);\n\nconst MENU_MOTION_CLASS =\n \"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\";\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuContainedPortal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuContainedPortal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n \"z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto\",\n MENU_SURFACE_CLASS,\n MENU_MOTION_CLASS,\n className,\n )}\n {...props}\n />\n </DropdownMenuContainedPortal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n disabled,\n ...props\n}: Omit<React.ComponentProps<typeof DropdownMenuPrimitive.Item>, \"disabled\"> & {\n disabled?: boolean | undefined;\n inset?: boolean | undefined;\n variant?: \"default\" | \"destructive\" | undefined;\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(MENU_ITEM_CLASS, \"data-[inset]:pl-9\", className)}\n {...(disabled === undefined ? {} : { disabled })}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(MENU_ITEM_CLASS, className)}\n {...(checked === undefined ? {} : { checked })}\n {...props}\n >\n {children}\n <span data-slot=\"dropdown-menu-item-indicator\" className={MENU_CHECK_SLOT_CLASS}>\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon aria-hidden=\"true\" className={MENU_CHECK_CLASS} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n disabled,\n ...props\n}: Omit<React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>, \"disabled\"> & {\n disabled?: boolean | undefined;\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(MENU_ITEM_CLASS, className)}\n {...(disabled === undefined ? {} : { disabled })}\n {...props}\n >\n {children}\n <span data-slot=\"dropdown-menu-item-indicator\" className={MENU_CHECK_SLOT_CLASS}>\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon aria-hidden=\"true\" className={MENU_CHECK_CLASS} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean | undefined;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(MENU_LABEL_CLASS, \"data-[inset]:pl-9\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(MENU_SEPARATOR_CLASS, className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n // The item carries the key in aria-keyshortcuts; glyphs like \"⇧⌘,\"\n // would only garble its accessible name.\n aria-hidden\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(MENU_META_CLASS, \"tracking-widest pointer-coarse:hidden\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean | undefined;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(MENU_ITEM_CLASS, \"data-[inset]:pl-9\", className)}\n {...props}\n >\n {children}\n <ChevronRightIcon aria-hidden=\"true\" className={cn(MENU_CHEVRON_CLASS, \"ml-auto\")} />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden\",\n MENU_SURFACE_CLASS,\n MENU_MOTION_CLASS,\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Right-side meta on a row: a count or the current value. */\nfunction DropdownMenuMeta({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span data-slot=\"dropdown-menu-meta\" className={cn(MENU_META_CLASS, className)} {...props} />\n );\n}\n\n/**\n * The selected option's check, on the right of its row. Every option of a\n * choice list renders it, so the 16px slot stays reserved and right-side meta\n * lines up whether or not the row is checked.\n */\nfunction DropdownMenuCheck({ checked, className }: { checked: boolean; className?: string }) {\n return (\n <span\n data-slot=\"dropdown-menu-check\"\n aria-hidden=\"true\"\n className={cn(MENU_CHECK_SLOT_CLASS, className)}\n >\n {checked ? <CheckIcon className={MENU_CHECK_CLASS} /> : null}\n </span>\n );\n}\n\n/** A plain sentence in a menu (empty, loading, unavailable): said once, never boxed. */\nfunction DropdownMenuNote({ className, ...props }: React.ComponentProps<\"p\">) {\n return <p data-slot=\"dropdown-menu-note\" className={cn(MENU_NOTE_CLASS, className)} {...props} />;\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheck,\n DropdownMenuMeta,\n DropdownMenuNote,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAGA,SAAS,WAAW,wBAAwB;AAC5C,SAAS,gBAAgB,6BAA6B;AAsB7C,cAuEL,YAvEK;AANT,IAAM,8BAA8B,gBAAgB,sBAAsB,MAAM;AAEhF,IAAM,oBACJ;AAEF,SAAS,aAAa,EAAE,GAAG,MAAM,GAA4D;AAC3F,SAAO,oBAAC,sBAAsB,MAAtB,EAA2B,aAAU,iBAAiB,GAAG,OAAO;AAC1E;AAEA,SAAS,mBAAmB;AAAA,EAC1B,GAAG;AACL,GAA8D;AAC5D,SAAO,oBAAC,+BAA4B,aAAU,wBAAwB,GAAG,OAAO;AAClF;AAEA,SAAS,oBAAoB;AAAA,EAC3B,GAAG;AACL,GAA+D;AAC7D,SAAO,oBAAC,sBAAsB,SAAtB,EAA8B,aAAU,yBAAyB,GAAG,OAAO;AACrF;AAEA,SAAS,oBAAoB;AAAA,EAC3B;AAAA,EACA,aAAa;AAAA,EACb,GAAG;AACL,GAA+D;AAC7D,SACE,oBAAC,+BACC;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN,GACF;AAEJ;AAEA,SAAS,kBAAkB,EAAE,GAAG,MAAM,GAA6D;AACjG,SAAO,oBAAC,sBAAsB,OAAtB,EAA4B,aAAU,uBAAuB,GAAG,OAAO;AACjF;AAEA,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,GAAG;AACL,GAIG;AACD,SACE;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV,cAAY;AAAA,MACZ,gBAAc;AAAA,MACd,WAAW,GAAG,iBAAiB,qBAAqB,SAAS;AAAA,MAC5D,GAAI,aAAa,SAAY,CAAC,IAAI,EAAE,SAAS;AAAA,MAC7C,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,yBAAyB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoE;AAClE,SACE;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iBAAiB,SAAS;AAAA,MACvC,GAAI,YAAY,SAAY,CAAC,IAAI,EAAE,QAAQ;AAAA,MAC3C,GAAG;AAAA,MAEH;AAAA;AAAA,QACD,oBAAC,UAAK,aAAU,gCAA+B,WAAW,uBACxD,8BAAC,sBAAsB,eAAtB,EACC,8BAAC,aAAU,eAAY,QAAO,WAAW,kBAAkB,GAC7D,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,SAAS,uBAAuB;AAAA,EAC9B,GAAG;AACL,GAAkE;AAChE,SAAO,oBAAC,sBAAsB,YAAtB,EAAiC,aAAU,6BAA6B,GAAG,OAAO;AAC5F;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEG;AACD,SACE;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iBAAiB,SAAS;AAAA,MACvC,GAAI,aAAa,SAAY,CAAC,IAAI,EAAE,SAAS;AAAA,MAC7C,GAAG;AAAA,MAEH;AAAA;AAAA,QACD,oBAAC,UAAK,aAAU,gCAA+B,WAAW,uBACxD,8BAAC,sBAAsB,eAAtB,EACC,8BAAC,aAAU,eAAY,QAAO,WAAW,kBAAkB,GAC7D,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,SAAS,kBAAkB;AAAA,EACzB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEG;AACD,SACE;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV,cAAY;AAAA,MACZ,WAAW,GAAG,kBAAkB,qBAAqB,SAAS;AAAA,MAC7D,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA,GAAG;AACL,GAAiE;AAC/D,SACE;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,sBAAsB,SAAS;AAAA,MAC5C,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,qBAAqB,EAAE,WAAW,GAAG,MAAM,GAAiC;AACnF,SACE;AAAA,IAAC;AAAA;AAAA,MAGC,eAAW;AAAA,MACX,aAAU;AAAA,MACV,WAAW,GAAG,iBAAiB,yCAAyC,SAAS;AAAA,MAChF,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,gBAAgB,EAAE,GAAG,MAAM,GAA2D;AAC7F,SAAO,oBAAC,sBAAsB,KAAtB,EAA0B,aAAU,qBAAqB,GAAG,OAAO;AAC7E;AAEA,SAAS,uBAAuB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEG;AACD,SACE;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV,cAAY;AAAA,MACZ,WAAW,GAAG,iBAAiB,qBAAqB,SAAS;AAAA,MAC5D,GAAG;AAAA,MAEH;AAAA;AAAA,QACD,oBAAC,oBAAiB,eAAY,QAAO,WAAW,GAAG,oBAAoB,SAAS,GAAG;AAAA;AAAA;AAAA,EACrF;AAEJ;AAEA,SAAS,uBAAuB;AAAA,EAC9B;AAAA,EACA,GAAG;AACL,GAAkE;AAChE,SACE;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,MAAM,GAAiC;AAC/E,SACE,oBAAC,UAAK,aAAU,sBAAqB,WAAW,GAAG,iBAAiB,SAAS,GAAI,GAAG,OAAO;AAE/F;AAOA,SAAS,kBAAkB,EAAE,SAAS,UAAU,GAA6C;AAC3F,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAY;AAAA,MACZ,WAAW,GAAG,uBAAuB,SAAS;AAAA,MAE7C,oBAAU,oBAAC,aAAU,WAAW,kBAAkB,IAAK;AAAA;AAAA,EAC1D;AAEJ;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,MAAM,GAA8B;AAC5E,SAAO,oBAAC,OAAE,aAAU,sBAAqB,WAAW,GAAG,iBAAiB,SAAS,GAAI,GAAG,OAAO;AACjG;","names":[]}
|
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
import {
|
|
3
3
|
GrantSessionAdminAccessDialog,
|
|
4
4
|
SessionAdminAccessIndicator
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-HM633ROV.js";
|
|
6
6
|
import {
|
|
7
7
|
SessionAncestryBreadcrumb
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-JAAST75A.js";
|
|
9
9
|
import {
|
|
10
10
|
SiteOriginLink
|
|
11
11
|
} from "./chunk-GZ64CASI.js";
|
|
12
|
+
import {
|
|
13
|
+
useActionShortcut,
|
|
14
|
+
useChatOperations
|
|
15
|
+
} from "./chunk-JRJUSKDY.js";
|
|
12
16
|
import {
|
|
13
17
|
pinLiveAnnouncement
|
|
14
18
|
} from "./chunk-GLYJV66C.js";
|
|
@@ -18,68 +22,72 @@ import {
|
|
|
18
22
|
} from "./chunk-IRMNKKSY.js";
|
|
19
23
|
import {
|
|
20
24
|
sessionControlPaused
|
|
21
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-FIICQA55.js";
|
|
22
26
|
import {
|
|
23
|
-
|
|
24
|
-
} from "./chunk-
|
|
27
|
+
RENAME_CURRENT_CHAT_EVENT
|
|
28
|
+
} from "./chunk-SF3M27AN.js";
|
|
25
29
|
import {
|
|
26
30
|
requestConversationFind
|
|
27
31
|
} from "./chunk-7ZEGSUR7.js";
|
|
32
|
+
import {
|
|
33
|
+
useSessionStartup
|
|
34
|
+
} from "./chunk-M6K5AXN2.js";
|
|
28
35
|
import {
|
|
29
36
|
useUiEventTarget
|
|
30
37
|
} from "./chunk-WGPLDFEC.js";
|
|
31
38
|
import {
|
|
32
|
-
|
|
33
|
-
} from "./chunk-
|
|
39
|
+
ConnectionPill
|
|
40
|
+
} from "./chunk-G46333YC.js";
|
|
34
41
|
import {
|
|
35
42
|
BillingClassMark
|
|
36
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-HEFE4OZJ.js";
|
|
37
44
|
import {
|
|
38
|
-
|
|
39
|
-
} from "./chunk-
|
|
45
|
+
useInlineRename
|
|
46
|
+
} from "./chunk-ZL2O4BYP.js";
|
|
47
|
+
import {
|
|
48
|
+
DropdownMenu,
|
|
49
|
+
DropdownMenuContent,
|
|
50
|
+
DropdownMenuItem,
|
|
51
|
+
DropdownMenuMeta,
|
|
52
|
+
DropdownMenuSeparator,
|
|
53
|
+
DropdownMenuShortcut,
|
|
54
|
+
DropdownMenuTrigger
|
|
55
|
+
} from "./chunk-TREHTIBD.js";
|
|
40
56
|
import {
|
|
41
57
|
t
|
|
42
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-MAOCN7J6.js";
|
|
43
59
|
import {
|
|
44
60
|
labelEffort
|
|
45
61
|
} from "./chunk-L6Y4ALSM.js";
|
|
46
62
|
import {
|
|
47
63
|
usePage
|
|
48
64
|
} from "./chunk-MYNUBDU7.js";
|
|
49
|
-
import {
|
|
50
|
-
Skeleton
|
|
51
|
-
} from "./chunk-HY7EYWIG.js";
|
|
52
65
|
import {
|
|
53
66
|
Button
|
|
54
67
|
} from "./chunk-HMU5IELG.js";
|
|
55
68
|
import {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
DropdownMenuItem,
|
|
59
|
-
DropdownMenuMeta,
|
|
60
|
-
DropdownMenuSeparator,
|
|
61
|
-
DropdownMenuTrigger
|
|
62
|
-
} from "./chunk-MOF3XSUM.js";
|
|
63
|
-
import {
|
|
64
|
-
SESSION_STATUS_META,
|
|
65
|
-
SessionStatus,
|
|
66
|
-
StatusDot
|
|
67
|
-
} from "./chunk-JSZSNMDR.js";
|
|
69
|
+
Skeleton
|
|
70
|
+
} from "./chunk-HY7EYWIG.js";
|
|
68
71
|
import {
|
|
69
72
|
SESSION_TITLE_MAX_LENGTH,
|
|
70
73
|
isCodexProductModel,
|
|
71
74
|
sessionDisplayTitle,
|
|
72
75
|
sessionInputWait
|
|
73
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-J2C6LB6W.js";
|
|
74
77
|
import {
|
|
75
|
-
|
|
76
|
-
|
|
78
|
+
SESSION_STATUS_META,
|
|
79
|
+
SessionStatus,
|
|
80
|
+
StatusDot
|
|
81
|
+
} from "./chunk-ASUYLXKO.js";
|
|
77
82
|
import {
|
|
78
83
|
OPEN_WORKSTREAM_CONTROL_EVENT
|
|
79
84
|
} from "./chunk-3IWPC6O3.js";
|
|
80
85
|
import {
|
|
81
86
|
ModelMark
|
|
82
87
|
} from "./chunk-WJPMYXKZ.js";
|
|
88
|
+
import {
|
|
89
|
+
sessionDisplayStatus
|
|
90
|
+
} from "./chunk-DHXKEJBH.js";
|
|
83
91
|
|
|
84
92
|
// src/app/components/rail/session-header.tsx
|
|
85
93
|
import { modelDisplayName } from "@opengeni/sdk/model-display";
|
|
@@ -90,6 +98,7 @@ import {
|
|
|
90
98
|
BellOffIcon,
|
|
91
99
|
CalendarClockIcon,
|
|
92
100
|
GaugeIcon,
|
|
101
|
+
LinkIcon,
|
|
93
102
|
LockIcon,
|
|
94
103
|
MoreHorizontalIcon,
|
|
95
104
|
PanelRightCloseIcon,
|
|
@@ -102,7 +111,7 @@ import {
|
|
|
102
111
|
ShieldOffIcon,
|
|
103
112
|
SmartphoneIcon
|
|
104
113
|
} from "lucide-react";
|
|
105
|
-
import { useCallback, useRef, useState } from "react";
|
|
114
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
106
115
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
107
116
|
function SessionHeader({
|
|
108
117
|
session,
|
|
@@ -159,6 +168,16 @@ function SessionHeader({
|
|
|
159
168
|
const canArchive = Boolean(onArchive) && session.parentSessionId === null;
|
|
160
169
|
const [grantAdminOpen, setGrantAdminOpen] = useState(false);
|
|
161
170
|
const afterMenuClose = useRef(null);
|
|
171
|
+
const chatOps = useChatOperations();
|
|
172
|
+
const findKeys = useActionShortcut("chat.find");
|
|
173
|
+
const copyLinkKeys = useActionShortcut("chat.copyLink");
|
|
174
|
+
const pinKeys = useActionShortcut("chat.pin");
|
|
175
|
+
const startRenaming = rename.startEditing;
|
|
176
|
+
useEffect(() => {
|
|
177
|
+
const start = () => startRenaming();
|
|
178
|
+
uiEvents.addEventListener(RENAME_CURRENT_CHAT_EVENT, start);
|
|
179
|
+
return () => uiEvents.removeEventListener(RENAME_CURRENT_CHAT_EVENT, start);
|
|
180
|
+
}, [uiEvents, startRenaming]);
|
|
162
181
|
const providerControl = isCodexRail ? codexSlot ?? /* @__PURE__ */ jsx(
|
|
163
182
|
BillingClassMark,
|
|
164
183
|
{
|
|
@@ -362,12 +381,14 @@ function SessionHeader({
|
|
|
362
381
|
DropdownMenuItem,
|
|
363
382
|
{
|
|
364
383
|
className: "lg:hidden",
|
|
384
|
+
"aria-keyshortcuts": findKeys?.ariaKeys,
|
|
365
385
|
onSelect: () => {
|
|
366
386
|
afterMenuClose.current = () => requestConversationFind(uiEvents);
|
|
367
387
|
},
|
|
368
388
|
children: [
|
|
369
389
|
/* @__PURE__ */ jsx(SearchIcon, {}),
|
|
370
|
-
"Find"
|
|
390
|
+
"Find",
|
|
391
|
+
findKeys ? /* @__PURE__ */ jsx(DropdownMenuShortcut, { children: findKeys.label }) : null
|
|
371
392
|
]
|
|
372
393
|
}
|
|
373
394
|
),
|
|
@@ -383,15 +404,29 @@ function SessionHeader({
|
|
|
383
404
|
]
|
|
384
405
|
}
|
|
385
406
|
),
|
|
407
|
+
/* @__PURE__ */ jsxs(
|
|
408
|
+
DropdownMenuItem,
|
|
409
|
+
{
|
|
410
|
+
"aria-keyshortcuts": copyLinkKeys?.ariaKeys,
|
|
411
|
+
onSelect: () => void chatOps.copyLink(session),
|
|
412
|
+
children: [
|
|
413
|
+
/* @__PURE__ */ jsx(LinkIcon, {}),
|
|
414
|
+
"Copy link",
|
|
415
|
+
copyLinkKeys ? /* @__PURE__ */ jsx(DropdownMenuShortcut, { children: copyLinkKeys.label }) : null
|
|
416
|
+
]
|
|
417
|
+
}
|
|
418
|
+
),
|
|
386
419
|
/* @__PURE__ */ jsxs(
|
|
387
420
|
DropdownMenuItem,
|
|
388
421
|
{
|
|
389
422
|
className: "lg:hidden",
|
|
423
|
+
"aria-keyshortcuts": pinKeys?.ariaKeys,
|
|
390
424
|
disabled: pin.busy,
|
|
391
425
|
onSelect: () => pin.toggle(),
|
|
392
426
|
children: [
|
|
393
427
|
/* @__PURE__ */ jsx(PinIcon, { className: session.pinned ? "fill-current" : void 0 }),
|
|
394
|
-
session.pinned ? "Unpin" : "Pin"
|
|
428
|
+
session.pinned ? "Unpin" : "Pin",
|
|
429
|
+
pinKeys ? /* @__PURE__ */ jsx(DropdownMenuShortcut, { children: pinKeys.label }) : null
|
|
395
430
|
]
|
|
396
431
|
}
|
|
397
432
|
),
|
|
@@ -630,4 +665,4 @@ function SessionTitleEditor(props) {
|
|
|
630
665
|
export {
|
|
631
666
|
SessionHeader
|
|
632
667
|
};
|
|
633
|
-
//# sourceMappingURL=chunk-
|
|
668
|
+
//# sourceMappingURL=chunk-TTPXGD5S.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/app/components/rail/session-header.tsx"],"sourcesContent":["// The session header bar — the slim canvas top strip's contents on a session\n// route. Split out of the session shell as a PURE, presentational component: it takes\n// plain session data + callbacks and renders the two-line identity block\n// (breadcrumb → title) on the left and the action cluster on the right\n// (provider+model·effort·speed, sandbox, pin, connection, status, panel).\n// The live children that need their own hooks — the sandbox switcher and the\n// codex account indicator — arrive as slots so the whole bar can be rendered\n// (and screenshotted) in isolation. `CanvasTopStrip` in session-shell owns the\n// data wiring and passes the real slots.\nimport { t } from \"../../lib/console-text\";\nimport { OPEN_WORKSTREAM_CONTROL_EVENT } from \"../../../workstream-control-event\";\nimport {\n SessionStatus as SessionStatusBadge,\n SESSION_STATUS_META,\n StatusDot,\n} from \"../../../components/session-status\";\nimport { sessionDisplayStatus, type SessionDisplayStatus } from \"../../../session-status-model\";\nimport { ModelMark } from \"../../../components/model-mark\";\nimport { modelDisplayName } from \"@opengeni/sdk/model-display\";\nimport type { SessionEventsConnectionState } from \"../../../hooks/use-session-events\";\nimport type { SessionSummary } from \"@opengeni/sdk\";\nimport { SiteOriginLink } from \"../session/site-origin-link\";\nimport {\n ArchiveIcon,\n ArchiveRestoreIcon,\n BellIcon,\n BellOffIcon,\n CalendarClockIcon,\n GaugeIcon,\n LinkIcon,\n LockIcon,\n MoreHorizontalIcon,\n PanelRightCloseIcon,\n PanelRightOpenIcon,\n PauseIcon,\n PencilIcon,\n PinIcon,\n SearchIcon,\n ShieldCheckIcon,\n ShieldOffIcon,\n SmartphoneIcon,\n} from \"lucide-react\";\nimport { useCallback, useEffect, useRef, useState, type ReactNode } from \"react\";\n\nimport { BillingClassMark, type BillingClass } from \"../billing-class-mark\";\nimport { ConnectionPill } from \"../common\";\nimport {\n GrantSessionAdminAccessDialog,\n SessionAdminAccessIndicator,\n type SessionAdminAccessControl,\n} from \"../session/session-admin-access\";\nimport { SessionAncestryBreadcrumb } from \"../session/subagents\";\nimport { Button } from \"../../../ui/button\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuMeta,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuTrigger,\n} from \"../../../ui/dropdown-menu\";\nimport { useActionShortcut } from \"../../lib/actions/actions-provider\";\nimport { useChatOperations } from \"../../lib/actions/chat-operations\";\nimport { RENAME_CURRENT_CHAT_EVENT } from \"../../lib/actions/events\";\nimport { Skeleton } from \"../../../ui/skeleton\";\nimport { requestConversationFind } from \"../../lib/conversation-find-event\";\nimport { currentPhoneAppPlatform, openInAppUrl } from \"../../lib/open-in-app\";\nimport { sessionControlPaused, sessionInputWait } from \"../../lib/session-rail\";\nimport { useSessionStartup } from \"../../lib/session-startup\";\nimport { isCodexProductModel } from \"../../lib/session-model\";\nimport {\n SESSION_TITLE_MAX_LENGTH,\n sessionDisplayTitle,\n useInlineRename,\n type InlineRename,\n} from \"../../lib/session-rename\";\nimport { pinLiveAnnouncement } from \"../../lib/pin-live-announcement\";\nimport type { SessionRepliesMute } from \"../../lib/inbox\";\nimport { labelEffort, type IntelligenceEffort } from \"../../lib/session-tools\";\nimport type { LatencyMode, Session } from \"../../types\";\nimport { usePage } from \"../../lib/navigation\";\nimport { useUiEventTarget } from \"../../lib/ui-events\";\n\nexport function SessionHeader({\n session,\n ancestors,\n onOpenSchedule,\n lineageLoading,\n lineageError,\n connectionState,\n status,\n keyAuthRequired,\n onForgetAccessKey,\n inspectorOpen,\n onToggleInspector,\n onRename,\n onPin,\n onArchive,\n repliesMute,\n adminAccess,\n onOpenUsageLimit,\n sandboxSlot,\n codexSlot,\n accessSlot,\n leading,\n lastStartedModel,\n lastStartedReasoningEffort,\n lastStartedLatencyMode,\n billingClass,\n modelLabel,\n modelLogoUrl,\n policyLoading,\n}: {\n session: Session;\n /** Root-to-direct-parent order. */\n ancestors: SessionSummary[];\n /**\n * Present only when a scheduled task started this session. Opens that task on\n * the Schedules page so the reader can see or edit what put this here.\n */\n onOpenSchedule?: ((() => void) | null) | undefined;\n lineageLoading?: boolean | undefined;\n lineageError?: Error | null | undefined;\n connectionState: SessionEventsConnectionState;\n status: Session[\"status\"];\n keyAuthRequired: boolean;\n onForgetAccessKey: () => void;\n inspectorOpen: boolean;\n /** Absent: the surface shows no session panel, so no toggle. */\n onToggleInspector?: (() => void) | undefined;\n onRename: (workspaceId: string, sessionId: string, title: string) => Promise<Session | null>;\n onPin: (session: Session, pinned: boolean) => Promise<Session | null>;\n /** Archives or restores this root session. Absent hides the action. */\n onArchive?: ((session: Session, archived: boolean) => Promise<void>) | undefined;\n /**\n * The signed-in person's mute on this session's replies. Absent hides the\n * action (sub-agents, people without an inbox, servers without it).\n */\n repliesMute?: SessionRepliesMute | null | undefined;\n /**\n * This session's admin access, when the viewer can see it on or give it.\n * Absent hides the shield and the menu action.\n */\n adminAccess?: SessionAdminAccessControl | null | undefined;\n /**\n * Opens this chat's usage limit (Agent tab > Usage). Absent hides the menu\n * item, for servers without usage limits.\n */\n onOpenUsageLimit?: ((() => void) | null) | undefined;\n /** The \"Run on <machine>\" control — a live component in production. */\n sandboxSlot?: ReactNode | undefined;\n /**\n * Replaces the static provider mark when the session is on Codex — same icon,\n * clickable for account status/switch. Absent for host-credit sessions.\n */\n codexSlot?: ReactNode | undefined;\n /** Compact session access state/menu, lazy-mounted by the route shell. */\n accessSlot?: ReactNode | undefined;\n /** Leading control (the mobile hamburger); absent on desktop. */\n leading?: ReactNode | undefined;\n /**\n * Model·effort·latency from the newest turn that durably emitted `turn.started`.\n * Historical — does not follow the composer next-turn picker. Falls back to\n * session creation defaults before any turn has admitted.\n */\n lastStartedModel?: string | undefined;\n lastStartedReasoningEffort?: IntelligenceEffort | undefined;\n lastStartedLatencyMode?: LatencyMode | undefined;\n /** Billing rail: Codex account chip, or the mark for makers without a logo. */\n billingClass?: BillingClass | undefined;\n /** Product model label (e.g. GPT-5.6 Luna). */\n modelLabel?: string | undefined;\n modelLogoUrl?: string | undefined;\n /**\n * True while last-started policy and/or model catalog are still resolving.\n * Avoids flashing session defaults (wrong provider) before admitted truth.\n */\n policyLoading?: boolean | undefined;\n}) {\n const uiEvents = useUiEventTarget(\"document\");\n const page = usePage();\n const waiting = sessionInputWait({ ...session, status });\n // A session the runtime could not start reads as stuck, not \"Waiting on you\".\n const displayStatus = sessionDisplayStatus({\n status,\n admissionBlock: session.admissionBlock,\n });\n const startup = useSessionStartup({ ...session, status });\n const startupLabel =\n startup === \"starting\"\n ? \"Starting\"\n : startup === \"delayed\" || startup === \"retrying\"\n ? \"Waiting to start\"\n : undefined;\n const modelId = lastStartedModel?.trim() || session.model;\n const resolvedBilling: BillingClass =\n billingClass ?? (isCodexProductModel(modelId) ? \"codex_subscription\" : \"opengeni_credits\");\n const resolvedModel = modelLabel?.trim() || modelDisplayName(modelId);\n const displayEffort: IntelligenceEffort = lastStartedReasoningEffort ?? session.reasoningEffort;\n const displayLatency: LatencyMode = lastStartedLatencyMode ?? session.latencyMode;\n // Codex → clickable account chip. Other rails → static provider icon only\n // (never invent a text \"Opengeni\"/\"BYOK\" word). Don't key off `codexSlot != null`.\n const isCodexRail = resolvedBilling === \"codex_subscription\";\n const policyBits = [\n resolvedModel,\n labelEffort(displayEffort),\n displayLatency === \"fast\"\n ? \"Fast\"\n : displayLatency === \"ultrafast\"\n ? \"Ultrafast\"\n : displayLatency === \"priority\"\n ? \"Priority\"\n : null,\n ].filter((bit): bit is string => Boolean(bit));\n const rename = useInlineRename(session, onRename);\n const pin = useSessionPinToggle(session, onPin);\n const canArchive = Boolean(onArchive) && session.parentSessionId === null;\n const [grantAdminOpen, setGrantAdminOpen] = useState(false);\n // Menu actions that move focus (rename input, find field) run after the menu\n // has closed, so its focus restoration cannot steal focus back to the trigger.\n const afterMenuClose = useRef<(() => void) | null>(null);\n const chatOps = useChatOperations();\n const findKeys = useActionShortcut(\"chat.find\");\n const copyLinkKeys = useActionShortcut(\"chat.copyLink\");\n const pinKeys = useActionShortcut(\"chat.pin\");\n // \"Rename\" from the ⌘K menu or the desktop menu bar edits this title.\n const startRenaming = rename.startEditing;\n useEffect(() => {\n const start = () => startRenaming();\n uiEvents.addEventListener(RENAME_CURRENT_CHAT_EVENT, start);\n return () => uiEvents.removeEventListener(RENAME_CURRENT_CHAT_EVENT, start);\n }, [uiEvents, startRenaming]);\n const providerControl = isCodexRail ? (\n (codexSlot ?? (\n <BillingClassMark\n billingClass=\"codex_subscription\"\n className=\"size-3.5 shrink-0 text-fg-muted\"\n aria-label=\"\"\n />\n ))\n ) : (\n // The model maker's logo; the payment rail only when the maker has none.\n <ModelMark\n model={{ id: modelId, logoUrl: modelLogoUrl }}\n className=\"size-3.5 text-fg-muted\"\n fallback={<BillingClassMark billingClass={resolvedBilling} className=\"size-3.5 shrink-0\" />}\n />\n );\n return (\n // An elevated band, not just canvas-with-a-hairline: reading as a real top\n // bar was the light-theme fix — a near-white header on a near-white canvas\n // needs its own surface + a crisp divider to look intentional (and it lifts\n // the dark bar a touch above the canvas too).\n <header\n data-window-drag\n data-titlebar\n className=\"@container/titlebar flex min-h-14 min-w-0 shrink-0 items-center gap-1 border-b border-border bg-canvas/80 pb-1 pl-[max(clamp(0.5rem,2.5vw,1.25rem),env(safe-area-inset-left))] pr-[max(clamp(0.5rem,2.5vw,1.25rem),env(safe-area-inset-right))] pt-[max(0.375rem,env(safe-area-inset-top))] backdrop-blur supports-[backdrop-filter]:bg-canvas/65 flex-wrap\"\n >\n {leading}\n {/* The title takes every pixel the actions leave; it truncates last. */}\n <div className=\"flex min-w-20 flex-[1_1_5rem] flex-col justify-center gap-0.5\">\n {/* Child sessions link back to the manager that spawned them, and a\n session links to its current schedules. */}\n <div className=\"flex min-w-0 items-center gap-1.5\">\n <SessionAncestryBreadcrumb\n workspaceId={session.workspaceId}\n parentSessionId={session.parentSessionId}\n ancestors={ancestors}\n loading={lineageLoading}\n error={lineageError}\n />\n <SiteOriginLink session={session} />\n {onOpenSchedule ? (\n <button\n type=\"button\"\n onClick={onOpenSchedule}\n className=\"inline-flex shrink-0 items-center gap-1 rounded border border-border px-1.5 py-0.5 text-2xs text-fg-muted transition-colors hover:border-border-strong hover:text-fg\"\n title=\"Open schedules for this session\"\n >\n <CalendarClockIcon aria-hidden className=\"size-3\" />\n Schedule\n </button>\n ) : null}\n </div>\n <div className=\"flex min-w-0 items-center gap-1.5\">\n <SessionTitleEditor session={session} rename={rename} />\n {/* Below lg the lifecycle is a dot beside the title; the full badge\n and connection pill take over from lg. */}\n <CompactSessionStatus\n paused={sessionControlPaused(session)}\n waiting={Boolean(waiting)}\n status={displayStatus}\n label={startupLabel}\n />\n {accessSlot}\n {adminAccess ? (\n <SessionAdminAccessIndicator\n control={adminAccess}\n onChangeTimeLimit={() => setGrantAdminOpen(true)}\n />\n ) : null}\n </div>\n </div>\n <div className=\"ml-auto flex shrink-0 items-center justify-end gap-0.5 lg:min-w-0 lg:max-w-full lg:shrink lg:flex-wrap lg:gap-2\">\n {/* Provider + model · effort · speed stay one cluster on the action side. */}\n <div className=\"hidden min-w-0 max-w-[min(100%,18rem)] items-center gap-1.5 overflow-hidden text-2xs leading-4 text-fg-muted lg:flex xl:max-w-[22rem]\">\n {policyLoading ? (\n <span\n className=\"inline-flex items-center gap-1.5\"\n aria-busy=\"true\"\n aria-label=\"Loading model\"\n >\n <Skeleton className=\"h-6 w-11 shrink-0 rounded-full\" />\n <Skeleton className=\"h-3 w-36\" />\n </span>\n ) : (\n <span className=\"inline-flex min-w-0 items-center gap-1.5 truncate font-medium text-fg-muted\">\n {providerControl}\n <span className=\"min-w-0 truncate font-normal\">\n {policyBits.map((bit, index) => (\n <span key={bit}>\n {index > 0 ? \" · \" : null}\n {bit}\n </span>\n ))}\n </span>\n </span>\n )}\n </div>\n {/* Below lg, machine, find and pin live in the \"…\" menu. */}\n <span className=\"hidden min-w-0 lg:contents\">{sandboxSlot}</span>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={() => requestConversationFind(uiEvents)}\n aria-label=\"Find in conversation\"\n data-conversation-find-trigger=\"\"\n title=\"Find in conversation (Ctrl/Cmd+F)\"\n className=\"hidden pointer-coarse:size-11 lg:inline-flex\"\n >\n <SearchIcon className=\"size-4\" />\n </Button>\n <Button\n type=\"button\"\n variant={session.pinned ? \"secondary\" : \"ghost\"}\n size=\"icon-sm\"\n aria-label={session.pinned ? \"Unpin session\" : \"Pin session\"}\n aria-pressed={Boolean(session.pinned)}\n aria-busy={pin.busy}\n disabled={pin.busy}\n className=\"hidden pointer-coarse:size-11 lg:inline-flex\"\n onClick={pin.toggle}\n >\n <PinIcon className={session.pinned ? \"size-4 fill-current\" : \"size-4\"} />\n </Button>\n <span className=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\n {pin.announcement}\n </span>\n <div className=\"hidden items-center gap-2 lg:flex\">\n <ConnectionPill state={connectionState} />\n {/* Admission vs lifecycle are different axes, but showing both when\n control is Active (Running + Active) is redundant noise. When\n paused, admission is the headline — hide lifecycle so we don't\n imply the session is still \"Running\"/\"Idle\" under a pause gate. */}\n {!sessionControlPaused(session) ? (\n waiting ? (\n <span\n className=\"inline-flex shrink-0 items-center gap-1.5 rounded-full border border-border bg-surface px-2 py-0.5 text-control font-medium text-fg-muted\"\n data-session-wait-badge=\"\"\n >\n <span aria-hidden className=\"size-1.5 rounded-full bg-current\" />\n Waiting\n </span>\n ) : (\n <SessionStatusBadge status={displayStatus} label={startupLabel} />\n )\n ) : (\n <WorkstreamControlIndicator session={session} />\n )}\n </div>\n <span className=\"sr-only lg:hidden\">Connection {connectionState}.</span>\n {keyAuthRequired ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onForgetAccessKey}\n aria-label=\"Clear access key\"\n className=\"pointer-coarse:size-11\"\n >\n <LockIcon className=\"size-4\" />\n </Button>\n ) : null}\n {onToggleInspector ? (\n <Button\n type=\"button\"\n variant={inspectorOpen ? \"secondary\" : \"ghost\"}\n size=\"icon-sm\"\n onClick={onToggleInspector}\n aria-label={inspectorOpen ? \"Hide workspace\" : \"Open workspace\"}\n title={inspectorOpen ? \"Hide workspace\" : \"Open workspace\"}\n className=\"pointer-coarse:size-11\"\n >\n {inspectorOpen ? (\n <PanelRightCloseIcon className=\"size-4\" />\n ) : (\n <PanelRightOpenIcon className=\"size-4\" />\n )}\n </Button>\n ) : null}\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label=\"More session actions\"\n title=\"More\"\n className=\"pointer-coarse:size-11\"\n >\n <MoreHorizontalIcon className=\"size-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n className=\"w-56\"\n onCloseAutoFocus={(event) => {\n const action = afterMenuClose.current;\n if (!action) return;\n afterMenuClose.current = null;\n event.preventDefault();\n action();\n }}\n >\n <DropdownMenuItem\n className=\"lg:hidden\"\n aria-keyshortcuts={findKeys?.ariaKeys}\n onSelect={() => {\n afterMenuClose.current = () => requestConversationFind(uiEvents);\n }}\n >\n <SearchIcon />\n Find\n {findKeys ? <DropdownMenuShortcut>{findKeys.label}</DropdownMenuShortcut> : null}\n </DropdownMenuItem>\n <DropdownMenuItem\n onSelect={() => {\n afterMenuClose.current = rename.startEditing;\n }}\n >\n <PencilIcon />\n Rename\n </DropdownMenuItem>\n <DropdownMenuItem\n aria-keyshortcuts={copyLinkKeys?.ariaKeys}\n onSelect={() => void chatOps.copyLink(session)}\n >\n <LinkIcon />\n Copy link\n {copyLinkKeys ? (\n <DropdownMenuShortcut>{copyLinkKeys.label}</DropdownMenuShortcut>\n ) : null}\n </DropdownMenuItem>\n <DropdownMenuItem\n className=\"lg:hidden\"\n aria-keyshortcuts={pinKeys?.ariaKeys}\n disabled={pin.busy}\n onSelect={() => pin.toggle()}\n >\n <PinIcon className={session.pinned ? \"fill-current\" : undefined} />\n {session.pinned ? \"Unpin\" : \"Pin\"}\n {pinKeys ? <DropdownMenuShortcut>{pinKeys.label}</DropdownMenuShortcut> : null}\n </DropdownMenuItem>\n {currentPhoneAppPlatform() ? (\n <DropdownMenuItem\n onSelect={() => {\n page.assign(openInAppUrl(page.href()));\n }}\n >\n <SmartphoneIcon />\n Open in app\n </DropdownMenuItem>\n ) : null}\n {sandboxSlot ? (\n <div className=\"flex min-h-9 items-center px-2 empty:hidden lg:hidden\">\n {sandboxSlot}\n </div>\n ) : null}\n {repliesMute ? (\n <DropdownMenuItem disabled={repliesMute.busy} onSelect={() => repliesMute.toggle()}>\n {repliesMute.muted ? <BellIcon /> : <BellOffIcon />}\n {repliesMute.muted ? \"Unmute replies\" : \"Mute replies\"}\n </DropdownMenuItem>\n ) : null}\n {onOpenUsageLimit ? (\n <DropdownMenuItem\n onSelect={() => {\n afterMenuClose.current = onOpenUsageLimit;\n }}\n >\n <GaugeIcon />\n Usage limit\n </DropdownMenuItem>\n ) : null}\n {adminAccess?.state.active && adminAccess.state.canRevoke ? (\n <DropdownMenuItem disabled={adminAccess.busy} onSelect={() => adminAccess.revoke()}>\n <ShieldOffIcon />\n Turn off admin access\n </DropdownMenuItem>\n ) : adminAccess && !adminAccess.state.active && adminAccess.state.canGrant ? (\n <DropdownMenuItem\n disabled={adminAccess.busy}\n onSelect={() => {\n afterMenuClose.current = () => setGrantAdminOpen(true);\n }}\n >\n <ShieldCheckIcon />\n Give admin access…\n </DropdownMenuItem>\n ) : null}\n {canArchive ? (\n <>\n <DropdownMenuSeparator />\n <DropdownMenuItem onSelect={() => void onArchive?.(session, !session.archived)}>\n {session.archived ? <ArchiveRestoreIcon /> : <ArchiveIcon />}\n {session.archived ? \"Restore\" : \"Archive\"}\n {session.archived ? <DropdownMenuMeta>Archived</DropdownMenuMeta> : null}\n </DropdownMenuItem>\n </>\n ) : null}\n </DropdownMenuContent>\n </DropdownMenu>\n {adminAccess ? (\n <GrantSessionAdminAccessDialog\n control={adminAccess}\n open={grantAdminOpen}\n onOpenChange={setGrantAdminOpen}\n />\n ) : null}\n </div>\n </header>\n );\n}\n\n/** Small-screen status: a dot beside the title, named for assistive tech. */\nfunction CompactSessionStatus({\n paused,\n waiting,\n status,\n label,\n}: {\n paused: boolean;\n waiting: boolean;\n status: SessionDisplayStatus;\n label?: string | undefined;\n}) {\n if (paused) {\n return (\n <span\n data-compact-session-status=\"paused\"\n title=\"Paused\"\n className=\"inline-flex shrink-0 items-center lg:hidden\"\n >\n <PauseIcon aria-hidden className=\"size-2.5 shrink-0 fill-current text-status-waiting\" />\n <span className=\"sr-only\">Paused</span>\n </span>\n );\n }\n if (waiting) {\n return (\n <span\n data-compact-session-status=\"waiting\"\n title=\"Waiting\"\n className=\"inline-flex shrink-0 items-center lg:hidden\"\n >\n <span aria-hidden className=\"size-2 rounded-full bg-status-waiting\" />\n <span className=\"sr-only\">Waiting</span>\n </span>\n );\n }\n const name = label ?? SESSION_STATUS_META(t)[status].label;\n return (\n <span\n data-compact-session-status={status}\n data-status={status}\n title={name}\n className=\"inline-flex shrink-0 items-center lg:hidden\"\n >\n <StatusDot status={status} className=\"size-2\" />\n <span className=\"sr-only\">{name}</span>\n </span>\n );\n}\n\n/** Pause-only header chip (Active is not shown — lifecycle status covers “go”). */\nfunction WorkstreamControlIndicator({ session }: { session: Session }) {\n const control = session.effectiveControl;\n if (control.state !== \"paused\" || session.status === \"cancelled\") {\n return null;\n }\n const blocker = control.primaryBlocker;\n const label =\n blocker?.kind === \"workspace\"\n ? \"Workspace paused\"\n : control.directState === \"paused\" || blocker?.sessionId === session.id\n ? \"Paused here\"\n : `Paused by ${blocker?.displayName ?? \"parent\"}`;\n return (\n <button\n type=\"button\"\n aria-label={`${label}. Open workstream controls`}\n title={`${label} · open workstream controls`}\n onClick={() => {\n document.dispatchEvent(new Event(OPEN_WORKSTREAM_CONTROL_EVENT));\n }}\n className=\"inline-flex min-w-0 max-w-48 items-center gap-1.5 rounded-full border border-status-waiting/35 bg-status-waiting/10 px-2 py-0.5 text-xs font-medium text-fg hover:bg-status-waiting/15\"\n >\n <PauseIcon className=\"size-3 shrink-0 fill-current text-status-waiting\" />\n <span className=\"hidden truncate sm:inline\">{label}</span>\n {control.additionalBlockerCount > 0 ? (\n <span className=\"hidden shrink-0 sm:inline\">+{control.additionalBlockerCount}</span>\n ) : null}\n </button>\n );\n}\n\n/** Pin toggle shared by the desktop pin button and the phone \"…\" menu item. */\nfunction useSessionPinToggle(\n session: Session,\n onPin: (session: Session, pinned: boolean) => Promise<Session | null>,\n) {\n const [busy, setBusy] = useState(false);\n const [announcement, setAnnouncement] = useState(\"\");\n const announcementSequence = useRef(0);\n const announce = useCallback((message: string) => {\n announcementSequence.current += 1;\n setAnnouncement(pinLiveAnnouncement(message, announcementSequence.current));\n }, []);\n const toggle = useCallback(() => {\n if (busy) return;\n const nextPinned = !session.pinned;\n setBusy(true);\n void onPin(session, nextPinned)\n .then((updated) => {\n announce(\n updated\n ? `Session ${nextPinned ? \"pinned\" : \"unpinned\"}.`\n : `Session was not ${nextPinned ? \"pinned\" : \"unpinned\"}.`,\n );\n })\n .catch(() => {\n announce(`Session was not ${nextPinned ? \"pinned\" : \"unpinned\"}.`);\n })\n .finally(() => setBusy(false));\n }, [announce, busy, onPin, session]);\n return { busy, toggle, announcement };\n}\n\n/**\n * The session header title — display by default, click the title (or the\n * hover pencil / \"…\" > Rename) to rename inline. Prefers the durable session.title\n * (agent- or user-set), falling back to the initial message / \"Untitled\n * session\" exactly like the rail list. Enter saves, Esc cancels, blur saves; an\n * empty/unchanged value is a no-op cancel. The live title (context.session)\n * flows in through the session.title_set SSE event the react useSession hook\n * applies, so cross-client renames and agent titling reflect here without a\n * reload. The shared `useInlineRename` hook keeps this behaviour identical to\n * the rail row's rename.\n */\nfunction SessionTitleEditor(props: { session: Session; rename: InlineRename }) {\n const display = sessionDisplayTitle(props.session);\n const rename = props.rename;\n\n if (rename.editing) {\n return (\n // A calm in-place edit: same size and position as the display title, a\n // soft surface tint + hairline instead of a loud focus ring. The global\n // focus-ring rule is what painted the old blue box; opting out here keeps\n // the rename feeling like editing the text, not filling in a form field.\n <input\n ref={rename.inputRef}\n data-session-title-current={display}\n value={rename.draft}\n onChange={(event) => rename.setDraft(event.target.value)}\n onBlur={() => void rename.commit()}\n onKeyDown={(event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n void rename.commit();\n } else if (event.key === \"Escape\") {\n event.preventDefault();\n rename.cancel();\n }\n }}\n maxLength={SESSION_TITLE_MAX_LENGTH}\n aria-label=\"Session title\"\n dir=\"auto\"\n className=\"-mx-1.5 w-full truncate rounded-md bg-surface-2/70 px-1.5 text-[15px] font-semibold leading-6 tracking-[-0.01em] outline-hidden ring-1 ring-border-strong focus:outline-hidden focus-visible:outline-hidden\"\n style={{ outline: \"none\" }}\n />\n );\n }\n\n return (\n <div className=\"group/title flex min-w-0 items-center gap-0.5\">\n <button\n type=\"button\"\n onClick={rename.startEditing}\n title={`${display} · click to rename`}\n dir=\"auto\"\n className=\"min-w-0 shrink truncate rounded-sm text-left text-[15px] font-semibold leading-6 tracking-[-0.01em] text-fg hover:text-fg focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring/40 pointer-coarse:min-h-11 pointer-coarse:px-2\"\n >\n {display}\n </button>\n {/* The pencil earns its pixels only when relevant: hidden at rest and\n revealed on hover/focus. Touch screens rename by tapping the title\n (or \"…\" > Rename), so the title keeps the row's width. */}\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-xs\"\n onClick={rename.startEditing}\n aria-label=\"Rename session\"\n className=\"shrink-0 text-fg-subtle opacity-0 transition-opacity hover:text-fg focus-visible:opacity-100 group-hover/title:opacity-100 pointer-coarse:hidden\"\n >\n <PencilIcon className=\"size-3\" />\n </Button>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -24,10 +24,14 @@ function searchInteger(value) {
|
|
|
24
24
|
return Number.isSafeInteger(number) ? number : null;
|
|
25
25
|
}
|
|
26
26
|
var OPEN_SESSION_SEARCH_EVENT = "opengeni:open-session-search";
|
|
27
|
-
function requestSessionSearch(target, workspaceId, returnFocus) {
|
|
27
|
+
function requestSessionSearch(target, workspaceId, returnFocus, query) {
|
|
28
28
|
target.dispatchEvent(
|
|
29
29
|
new CustomEvent(OPEN_SESSION_SEARCH_EVENT, {
|
|
30
|
-
detail: {
|
|
30
|
+
detail: {
|
|
31
|
+
workspaceId,
|
|
32
|
+
...returnFocus ? { returnFocus } : {},
|
|
33
|
+
...query?.trim() ? { query: query.trim() } : {}
|
|
34
|
+
}
|
|
31
35
|
})
|
|
32
36
|
);
|
|
33
37
|
}
|
|
@@ -37,4 +41,4 @@ export {
|
|
|
37
41
|
OPEN_SESSION_SEARCH_EVENT,
|
|
38
42
|
requestSessionSearch
|
|
39
43
|
};
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
44
|
+
//# sourceMappingURL=chunk-TXIIBNCA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/app/lib/session-search-route.tsx"],"sourcesContent":["/** Shareable search intent; never an authorization or a stored conversation cache. */\nexport type SessionSearchRoute = {\n find?: string | undefined;\n matchSequence?: number | undefined;\n matchOffset?: number | undefined;\n searchOrigin?: \"session-search\" | undefined;\n /** Open on this event's moment (an inbox item or a notification), not the latest message. */\n at?: number | undefined;\n};\n\nexport function parseSessionSearchRoute(search: Record<string, unknown>): SessionSearchRoute {\n const at = searchInteger(search.at);\n const moment: SessionSearchRoute = at !== null && at > 0 ? { at } : {};\n if (typeof search.find !== \"string\" || !search.find.trim() || search.find.length > 200) {\n return moment;\n }\n const result: SessionSearchRoute = { ...moment, find: search.find };\n if (search.searchOrigin === \"session-search\") result.searchOrigin = \"session-search\";\n const sequence = searchInteger(search.matchSequence);\n const offset = searchInteger(search.matchOffset);\n if (sequence !== null && sequence > 0) {\n result.matchSequence = sequence;\n if (offset !== null && offset >= 0) result.matchOffset = offset;\n }\n return result;\n}\n\nfunction searchInteger(value: unknown): number | null {\n if (typeof value !== \"number\" && typeof value !== \"string\") return null;\n if (typeof value === \"string\" && !/^\\d+$/.test(value)) return null;\n const number = Number(value);\n return Number.isSafeInteger(number) ? number : null;\n}\n\n/** Scoped event: the mounted rail owns dialog state across conversation navigation. */\nexport const OPEN_SESSION_SEARCH_EVENT = \"opengeni:open-session-search\";\n\nexport function requestSessionSearch(\n target: EventTarget,\n workspaceId: string,\n returnFocus?: HTMLElement,\n): void {\n target.dispatchEvent(\n new CustomEvent(OPEN_SESSION_SEARCH_EVENT, {\n detail: {
|
|
1
|
+
{"version":3,"sources":["../src/app/lib/session-search-route.tsx"],"sourcesContent":["/** Shareable search intent; never an authorization or a stored conversation cache. */\nexport type SessionSearchRoute = {\n find?: string | undefined;\n matchSequence?: number | undefined;\n matchOffset?: number | undefined;\n searchOrigin?: \"session-search\" | undefined;\n /** Open on this event's moment (an inbox item or a notification), not the latest message. */\n at?: number | undefined;\n};\n\nexport function parseSessionSearchRoute(search: Record<string, unknown>): SessionSearchRoute {\n const at = searchInteger(search.at);\n const moment: SessionSearchRoute = at !== null && at > 0 ? { at } : {};\n if (typeof search.find !== \"string\" || !search.find.trim() || search.find.length > 200) {\n return moment;\n }\n const result: SessionSearchRoute = { ...moment, find: search.find };\n if (search.searchOrigin === \"session-search\") result.searchOrigin = \"session-search\";\n const sequence = searchInteger(search.matchSequence);\n const offset = searchInteger(search.matchOffset);\n if (sequence !== null && sequence > 0) {\n result.matchSequence = sequence;\n if (offset !== null && offset >= 0) result.matchOffset = offset;\n }\n return result;\n}\n\nfunction searchInteger(value: unknown): number | null {\n if (typeof value !== \"number\" && typeof value !== \"string\") return null;\n if (typeof value === \"string\" && !/^\\d+$/.test(value)) return null;\n const number = Number(value);\n return Number.isSafeInteger(number) ? number : null;\n}\n\n/** Scoped event: the mounted rail owns dialog state across conversation navigation. */\nexport const OPEN_SESSION_SEARCH_EVENT = \"opengeni:open-session-search\";\n\nexport function requestSessionSearch(\n target: EventTarget,\n workspaceId: string,\n returnFocus?: HTMLElement,\n query?: string,\n): void {\n target.dispatchEvent(\n new CustomEvent(OPEN_SESSION_SEARCH_EVENT, {\n detail: {\n workspaceId,\n ...(returnFocus ? { returnFocus } : {}),\n ...(query?.trim() ? { query: query.trim() } : {}),\n },\n }),\n );\n}\n"],"mappings":";;;AAUO,SAAS,wBAAwB,QAAqD;AAC3F,QAAM,KAAK,cAAc,OAAO,EAAE;AAClC,QAAM,SAA6B,OAAO,QAAQ,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC;AACrE,MAAI,OAAO,OAAO,SAAS,YAAY,CAAC,OAAO,KAAK,KAAK,KAAK,OAAO,KAAK,SAAS,KAAK;AACtF,WAAO;AAAA,EACT;AACA,QAAM,SAA6B,EAAE,GAAG,QAAQ,MAAM,OAAO,KAAK;AAClE,MAAI,OAAO,iBAAiB,iBAAkB,QAAO,eAAe;AACpE,QAAM,WAAW,cAAc,OAAO,aAAa;AACnD,QAAM,SAAS,cAAc,OAAO,WAAW;AAC/C,MAAI,aAAa,QAAQ,WAAW,GAAG;AACrC,WAAO,gBAAgB;AACvB,QAAI,WAAW,QAAQ,UAAU,EAAG,QAAO,cAAc;AAAA,EAC3D;AACA,SAAO;AACT;AAEA,SAAS,cAAc,OAA+B;AACpD,MAAI,OAAO,UAAU,YAAY,OAAO,UAAU,SAAU,QAAO;AACnE,MAAI,OAAO,UAAU,YAAY,CAAC,QAAQ,KAAK,KAAK,EAAG,QAAO;AAC9D,QAAM,SAAS,OAAO,KAAK;AAC3B,SAAO,OAAO,cAAc,MAAM,IAAI,SAAS;AACjD;AAGO,IAAM,4BAA4B;AAElC,SAAS,qBACd,QACA,aACA,aACA,OACM;AACN,SAAO;AAAA,IACL,IAAI,YAAY,2BAA2B;AAAA,MACzC,QAAQ;AAAA,QACN;AAAA,QACA,GAAI,cAAc,EAAE,YAAY,IAAI,CAAC;AAAA,QACrC,GAAI,OAAO,KAAK,IAAI,EAAE,OAAO,MAAM,KAAK,EAAE,IAAI,CAAC;AAAA,MACjD;AAAA,IACF,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
PreparedMcpSetupCard
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OFZQJNF6.js";
|
|
5
5
|
import {
|
|
6
6
|
Input
|
|
7
7
|
} from "./chunk-ECNX3UOI.js";
|
|
@@ -11,19 +11,19 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
hasWorkspacePermission
|
|
13
13
|
} from "./chunk-OWQBERKV.js";
|
|
14
|
-
import {
|
|
15
|
-
apiErrorFacts,
|
|
16
|
-
userErrorText
|
|
17
|
-
} from "./chunk-L4OF77LE.js";
|
|
18
14
|
import {
|
|
19
15
|
useAppContext
|
|
20
16
|
} from "./chunk-W6KAUGXO.js";
|
|
21
17
|
import {
|
|
22
18
|
Button
|
|
23
19
|
} from "./chunk-HMU5IELG.js";
|
|
20
|
+
import {
|
|
21
|
+
apiErrorFacts,
|
|
22
|
+
userErrorText
|
|
23
|
+
} from "./chunk-L4OF77LE.js";
|
|
24
24
|
import {
|
|
25
25
|
SessionCapabilityFrame
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-57SYK776.js";
|
|
27
27
|
|
|
28
28
|
// src/app/components/capabilities/session-custom-mcp-card.tsx
|
|
29
29
|
import { useEffect, useRef, useState } from "react";
|
|
@@ -203,4 +203,4 @@ function LegacyCustomMcpCard({ item, workspaceId, onRegistered }) {
|
|
|
203
203
|
export {
|
|
204
204
|
SessionCustomMcpCard
|
|
205
205
|
};
|
|
206
|
-
//# sourceMappingURL=chunk-
|
|
206
|
+
//# sourceMappingURL=chunk-TY3QYPJ6.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-W6KAUGXO.js";
|
|
8
8
|
import {
|
|
9
9
|
useMachines
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-DXMRO2MU.js";
|
|
11
11
|
import {
|
|
12
12
|
useOpenGeni
|
|
13
13
|
} from "./chunk-TVQCDDSZ.js";
|
|
@@ -53,4 +53,4 @@ function useWorkspaceMachines(options = {}) {
|
|
|
53
53
|
export {
|
|
54
54
|
useWorkspaceMachines
|
|
55
55
|
};
|
|
56
|
-
//# sourceMappingURL=chunk-
|
|
56
|
+
//# sourceMappingURL=chunk-U3JK5VJV.js.map
|
|
@@ -8,17 +8,17 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
Dialog
|
|
10
10
|
} from "./chunk-HZUL2CUH.js";
|
|
11
|
-
import {
|
|
12
|
-
Button
|
|
13
|
-
} from "./chunk-HMU5IELG.js";
|
|
14
11
|
import {
|
|
15
12
|
DropdownMenu,
|
|
16
13
|
DropdownMenuContent,
|
|
17
14
|
DropdownMenuTrigger
|
|
18
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-TREHTIBD.js";
|
|
19
16
|
import {
|
|
20
17
|
MENU_NOTE_CLASS
|
|
21
18
|
} from "./chunk-5OTQA7CM.js";
|
|
19
|
+
import {
|
|
20
|
+
Button
|
|
21
|
+
} from "./chunk-HMU5IELG.js";
|
|
22
22
|
|
|
23
23
|
// src/app/components/composer-mobile-plus.tsx
|
|
24
24
|
import { PlusIcon } from "lucide-react";
|
|
@@ -133,4 +133,4 @@ function ComposerMobilePlus(props) {
|
|
|
133
133
|
export {
|
|
134
134
|
ComposerMobilePlus
|
|
135
135
|
};
|
|
136
|
-
//# sourceMappingURL=chunk-
|
|
136
|
+
//# sourceMappingURL=chunk-U42P3RMZ.js.map
|