@opengeni/react 6.8.0 → 6.9.1-canary.41937124785001
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 +8 -8
- package/dist/app/components/Composer.js +18 -18
- package/dist/app/components/agent/agent-capability-picker.js +6 -6
- package/dist/app/components/artifacts/artifact-library.js +6 -6
- package/dist/app/components/artifacts/artifact-viewer.js +18 -18
- package/dist/app/components/artifacts/chat-interactive-block.js +11 -11
- package/dist/app/components/artifacts/file-reach-dialog.js +6 -6
- package/dist/app/components/artifacts/inline-chat-image.js +19 -19
- package/dist/app/components/artifacts/retained-file-preview.js +20 -20
- package/dist/app/components/artifacts/retained-text-preview.js +3 -3
- package/dist/app/components/artifacts/site-audience.js +3 -3
- package/dist/app/components/artifacts/site-conversations.js +9 -9
- package/dist/app/components/artifacts/site-data.js +10 -10
- package/dist/app/components/artifacts/site-publishing-page.js +25 -25
- package/dist/app/components/artifacts/site-publishing.js +22 -22
- package/dist/app/components/artifacts/site-settings.js +24 -24
- package/dist/app/components/artifacts/site-version-menu.js +3 -3
- package/dist/app/components/billing-class-mark.js +3 -3
- package/dist/app/components/bots/bot-launch-strip.js +20 -20
- package/dist/app/components/bots/bot-template-dialog.js +26 -26
- package/dist/app/components/bots/bot-template-shortcuts.js +20 -20
- package/dist/app/components/bots/bot-templates-page.js +30 -30
- package/dist/app/components/capabilities/capability-detail-sheet.js +6 -6
- package/dist/app/components/capabilities/capability-logo-source.js +13 -13
- package/dist/app/components/capabilities/connector-tool-permissions.js +4 -4
- package/dist/app/components/capabilities/native-connect-setup.js +13 -13
- package/dist/app/components/capabilities/own-logins-shared-heads-up.js +3 -3
- package/dist/app/components/capabilities/prepared-mcp-setup-card.js +15 -15
- package/dist/app/components/capabilities/session-capability-card.js +52 -52
- package/dist/app/components/capabilities/session-chrome-card.js +20 -20
- package/dist/app/components/capabilities/session-custom-mcp-card.js +16 -16
- package/dist/app/components/capabilities/session-github-card.js +16 -16
- package/dist/app/components/capabilities/session-machine-card.js +19 -19
- package/dist/app/components/capabilities/session-personal-github-card.js +14 -14
- package/dist/app/components/capabilities/session-plugin-card.js +8 -8
- package/dist/app/components/command-menu/chat-status.js +15 -15
- package/dist/app/components/command-menu/chat-switcher.js +35 -35
- package/dist/app/components/command-menu/command-menu.js +39 -39
- package/dist/app/components/command-menu/shortcut-sheet.js +8 -8
- package/dist/app/components/composer-capabilities-menu-body.js +4 -4
- package/dist/app/components/composer-mobile-plus-panel.js +8 -8
- package/dist/app/components/composer-mobile-plus.js +1 -1
- package/dist/app/components/desktop/app-shots.js +6 -6
- package/dist/app/components/desktop/computer-use.js +2 -2
- package/dist/app/components/desktop/this-computer.js +5 -5
- package/dist/app/components/feedback.js +3 -3
- package/dist/app/components/github-app-connect-launcher.js +1 -1
- package/dist/app/components/machines/connect-machine-dialog.js +11 -11
- package/dist/app/components/markdown.js +6 -6
- package/dist/app/components/models/models-ui.js +5 -5
- package/dist/app/components/models/subscription-usage.d.ts +34 -0
- package/dist/app/components/models/subscription-usage.js +24 -0
- package/dist/app/components/my-things.js +4 -4
- package/dist/app/components/own-where-it-works.js +3 -3
- package/dist/app/components/personal-resource-attachment-surface.js +4 -4
- package/dist/app/components/pickers.js +5 -5
- package/dist/app/components/rail/channel-create-dialog.js +3 -3
- package/dist/app/components/rail/project-glyph.js +20 -20
- package/dist/app/components/rail/project-profile.js +27 -27
- package/dist/app/components/rail/rail-context.js +1 -1
- package/dist/app/components/rail/rail-sections.js +55 -55
- package/dist/app/components/rail/session-header.js +47 -47
- package/dist/app/components/rail/session-list.js +53 -53
- package/dist/app/components/rail/session-row-content.js +4 -4
- package/dist/app/components/rail/session-row-hover-details.js +14 -14
- package/dist/app/components/rail/session-shell.js +76 -73
- package/dist/app/components/rail/site-session-group-heading.js +8 -8
- package/dist/app/components/session/agent-configuration-panel.js +12 -12
- package/dist/app/components/session/banners.js +8 -8
- package/dist/app/components/session/console-new-conversation.js +39 -39
- package/dist/app/components/session/descendant-requests.js +36 -36
- package/dist/app/components/session/editable-artifacts-workspace.js +16 -16
- package/dist/app/components/session/failed-session-banner.js +6 -6
- package/dist/app/components/session/failure-recovery-boundary.js +3 -3
- package/dist/app/components/session/human-input-delegation-record.js +2 -2
- package/dist/app/components/session/human-input.js +33 -33
- package/dist/app/components/session/inspector.js +43 -43
- package/dist/app/components/session/message-actions.js +3 -3
- package/dist/app/components/session/message-resource-attachments.js +10 -10
- package/dist/app/components/session/model-recovery-notice.js +3 -3
- package/dist/app/components/session/new-session-settings-menu.js +6 -6
- package/dist/app/components/session/new-session-setup-strip.js +21 -21
- package/dist/app/components/session/sandbox-recovery-actions.js +3 -3
- package/dist/app/components/session/sandbox-switcher.js +7 -7
- package/dist/app/components/session/sandbox-workspace.js +48 -48
- package/dist/app/components/session/search-markdown-highlight.js +7 -7
- package/dist/app/components/session/search-results-view.js +8 -8
- package/dist/app/components/session/session-admin-access.js +4 -4
- package/dist/app/components/session/session-admission-notice.js +4 -4
- package/dist/app/components/session/session-avatar-picker.js +21 -21
- package/dist/app/components/session/session-avatar.js +19 -19
- package/dist/app/components/session/session-machine-access-notice.js +4 -4
- package/dist/app/components/session/session-profile-dialog.js +25 -25
- package/dist/app/components/session/session-profile-editor.js +26 -26
- package/dist/app/components/session/session-retention.js +3 -3
- package/dist/app/components/session/session-search-dialog.js +8 -8
- package/dist/app/components/session/session-tenancy-control.js +2 -2
- package/dist/app/components/session/session-usage-limit-section.js +4 -4
- package/dist/app/components/session/share-chat-dialog.js +5 -5
- package/dist/app/components/session/subagents.js +8 -8
- package/dist/app/components/session/subscription-account-indicator.js +12 -7
- package/dist/app/components/session/subscription-account-menu.d.ts +15 -15
- package/dist/app/components/session/subscription-account-menu.js +6 -1
- package/dist/app/components/session/subscription-account.d.ts +16 -9
- package/dist/app/components/settings/row-select.js +4 -4
- package/dist/app/components/transcription-settings.js +6 -6
- package/dist/app/components/ui/destructive-confirm.js +5 -5
- package/dist/app/components/usage/usage-entry.js +3 -3
- package/dist/app/components/window-bar.js +9 -9
- package/dist/app/components/workspace-composer-plus.js +16 -16
- package/dist/app/components/workspace-reach.js +4 -4
- package/dist/app/embed/session-app.js +160 -157
- package/dist/app/lib/actions/actions-provider.js +8 -8
- package/dist/app/lib/agent-capabilities.d.ts +12 -2
- package/dist/app/lib/agent-capabilities.js +3 -3
- package/dist/app/lib/codex-usage-query.js +2 -2
- package/dist/app/lib/composer-connectors.js +14 -14
- package/dist/app/lib/console-site.js +2 -2
- package/dist/app/lib/console-text.js +2 -2
- package/dist/app/lib/events.js +12 -12
- package/dist/app/lib/failed-session-copy.js +3 -3
- package/dist/app/lib/model-access-onboarding.js +3 -3
- package/dist/app/lib/move-chat-to-machine.js +3 -3
- package/dist/app/lib/session-branch-cache.js +8 -8
- package/dist/app/lib/session-create.js +4 -4
- package/dist/app/lib/session-group-pagination.js +8 -8
- package/dist/app/lib/session-hover-facts.js +13 -13
- package/dist/app/lib/session-model.js +2 -2
- package/dist/app/lib/session-pins.js +1 -1
- package/dist/app/lib/session-rail.js +5 -5
- package/dist/app/lib/session-rename.js +3 -3
- package/dist/app/lib/sessions-group.d.ts +5 -3
- package/dist/app/lib/sessions-group.js +7 -7
- package/dist/app/lib/site-tool-consent-dialog.js +7 -7
- package/dist/app/lib/site-tool-consent.js +1 -1
- package/dist/app/lib/subscription-accounts.d.ts +79 -0
- package/dist/app/lib/subscription-accounts.js +18 -0
- package/dist/app/lib/turn-failure-analytics.js +4 -4
- package/dist/app/lib/use-follow-up-repositories.js +3 -3
- package/dist/app/lib/use-workspace-machines.js +4 -4
- package/dist/app/lib/use-workspace-model-catalog.js +3 -3
- package/dist/app/lib/use-workspace-rigs.js +2 -2
- package/dist/app/lib/workspace-navigation-preference.js +4 -4
- package/dist/app/lib/workspace-scope-context.js +3 -3
- package/dist/app/routes/artifacts.js +48 -48
- package/dist/app/routes/retained-artifact.js +32 -32
- package/dist/app/routes/session.js +96 -96
- package/dist/app/routes/sessions-index-hydration.js +5 -5
- package/dist/app/routes/sessions-index.js +76 -76
- package/dist/app/routes/site-view.js +55 -55
- 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 +10 -10
- package/dist/automations.js +10 -10
- package/dist/{browser-viewer-ZHQDVHZ2.js → browser-viewer-F4FL7JKB.js} +4 -4
- package/dist/{chat-interactive-block-VSDD6X3M.js → chat-interactive-block-4U5JWRSY.js} +5 -5
- package/dist/{chunk-4K64EKM7.js → chunk-22YIIM3X.js} +4 -4
- package/dist/{chunk-3NNAC43A.js → chunk-2N7ACQ7M.js} +2 -2
- package/dist/{chunk-7Z76QP64.js → chunk-2PY5XD3F.js} +35 -5
- package/dist/chunk-2PY5XD3F.js.map +1 -0
- package/dist/{chunk-WDASYY4S.js → chunk-2TEYUDJD.js} +8 -8
- package/dist/{chunk-OTW25A6I.js → chunk-37JJQNZB.js} +3 -3
- package/dist/{chunk-VCJQQYRE.js → chunk-3DWQPURZ.js} +4 -4
- package/dist/{chunk-GTRAH4FG.js → chunk-3GWC3FU3.js} +2 -2
- package/dist/{chunk-AB5IW227.js → chunk-3ICY6LP3.js} +3 -3
- package/dist/{chunk-WIFDNUKD.js → chunk-3OCU5RX5.js} +3 -3
- package/dist/{chunk-UBRQ3PQD.js → chunk-3SPDJLOR.js} +2 -2
- package/dist/{chunk-IZXYFWA4.js → chunk-3WVLR7UA.js} +12 -12
- package/dist/{chunk-DEHLWZSI.js → chunk-3XMB3L57.js} +4 -4
- package/dist/{chunk-AJBDAVX3.js → chunk-4IUOBO2H.js} +7 -7
- package/dist/{chunk-NFCS5WYC.js → chunk-4KQ3A3EO.js} +3 -3
- package/dist/{chunk-LIJNVIT3.js → chunk-4L5B5AZT.js} +3 -3
- package/dist/{chunk-EDDKPIIV.js → chunk-4NB3TPNE.js} +2 -2
- package/dist/{chunk-PSM3CU7N.js → chunk-4TDKXHCD.js} +46 -39
- package/dist/chunk-4TDKXHCD.js.map +1 -0
- package/dist/{chunk-OJWDNNW3.js → chunk-4TPTGBIO.js} +5 -5
- package/dist/{chunk-J2WY42FA.js → chunk-4UHGW6WF.js} +2 -2
- package/dist/{chunk-7NLF35YL.js → chunk-4YN2JLYK.js} +4 -4
- package/dist/{chunk-OOOSGPJL.js → chunk-53MYEEMA.js} +1 -1
- package/dist/{chunk-467WDSOK.js → chunk-5HYWXPMA.js} +2 -2
- package/dist/{chunk-XMBOLFFS.js → chunk-5IMNL6IV.js} +2 -2
- package/dist/{chunk-4Z5X7PLC.js → chunk-5MLM5T5C.js} +3 -3
- package/dist/{chunk-YMI27QPF.js → chunk-5NKQZVXP.js} +2 -2
- package/dist/{chunk-ZW5YTIH3.js → chunk-5PB46DAA.js} +1 -1
- package/dist/{chunk-ZW5YTIH3.js.map → chunk-5PB46DAA.js.map} +1 -1
- package/dist/{chunk-CYDXCILL.js → chunk-5SODSGW7.js} +7 -7
- package/dist/{chunk-Q5EZNBPI.js → chunk-5YAJASCO.js} +3 -3
- package/dist/{chunk-M3FDGRB4.js → chunk-62XAL5BA.js} +3 -3
- package/dist/{chunk-SGH7I7OY.js → chunk-67R6NAFI.js} +2 -2
- package/dist/{chunk-Q5K2J5GG.js → chunk-6BN3RU7T.js} +13 -3
- package/dist/chunk-6BN3RU7T.js.map +1 -0
- package/dist/{chunk-PYB4BFEC.js → chunk-6BQLDL6R.js} +3 -3
- package/dist/{chunk-YJSCLGAW.js → chunk-6EZYHJTL.js} +3 -3
- package/dist/{chunk-OWET7EY2.js → chunk-6GW7NJMK.js} +19 -13
- package/dist/{chunk-OWET7EY2.js.map → chunk-6GW7NJMK.js.map} +1 -1
- package/dist/{chunk-G5UQBTXY.js → chunk-6LXIL3Q3.js} +2 -2
- package/dist/{chunk-T67LTMSW.js → chunk-6LYVAJFZ.js} +10 -10
- package/dist/{chunk-3L465FBR.js → chunk-6WB5UXMZ.js} +6 -6
- package/dist/{chunk-EKJHOWTZ.js → chunk-74UGYVCA.js} +4 -4
- package/dist/{chunk-PWUSSSSL.js → chunk-7BTNYZC7.js} +2 -2
- package/dist/{chunk-NQ2CPQJF.js → chunk-7D3WIDKK.js} +26 -3
- package/dist/chunk-7D3WIDKK.js.map +1 -0
- package/dist/{chunk-ESXAECZ3.js → chunk-7KZFGA25.js} +2 -2
- package/dist/{chunk-EGKARC53.js → chunk-7MGDX2TD.js} +2 -2
- package/dist/{chunk-Y3XZEKDQ.js → chunk-7N3GFGB6.js} +2 -2
- package/dist/{chunk-AH3DGOTK.js → chunk-7SFSN6AX.js} +2 -2
- package/dist/{chunk-QPQ7R77C.js → chunk-7SU4YVZ5.js} +5 -1
- package/dist/chunk-7SU4YVZ5.js.map +1 -0
- package/dist/{chunk-6QK65ZWM.js → chunk-7TGUHFGO.js} +3 -3
- package/dist/{chunk-QURYQFDN.js → chunk-7ZIWO65F.js} +2 -2
- package/dist/{chunk-OYCK4JRS.js → chunk-AJHLEJTK.js} +2 -2
- package/dist/{chunk-3PZ3LRPV.js → chunk-AN4U7EPH.js} +3 -3
- package/dist/{chunk-77BHKC43.js → chunk-APG6CEG7.js} +1 -1
- package/dist/{chunk-FSDQQQIA.js → chunk-APHLXQNP.js} +3 -3
- package/dist/{chunk-SN2WENRP.js → chunk-AXHQ7QXV.js} +3 -3
- package/dist/{chunk-54U6ZBEX.js → chunk-AYTLSPF6.js} +3 -3
- package/dist/{chunk-WYGTAQMX.js → chunk-AZFVRPQM.js} +76 -22
- package/dist/chunk-AZFVRPQM.js.map +1 -0
- package/dist/{chunk-R33SBMB7.js → chunk-BBSKKBMV.js} +3 -3
- package/dist/{chunk-2GCHGWNE.js → chunk-BGH6TU2P.js} +3 -3
- package/dist/{chunk-D3PTVN2I.js → chunk-BGIYL26H.js} +2 -2
- package/dist/{chunk-BQYRZIZ7.js → chunk-BL7UQUC3.js} +2 -2
- package/dist/{chunk-EBTUPRRQ.js → chunk-BOUHCYL6.js} +4 -4
- package/dist/{chunk-MKDFYE2E.js → chunk-BVNGDFBC.js} +2 -2
- package/dist/{chunk-ICAMYP5M.js → chunk-BWJK64CP.js} +2 -2
- package/dist/{chunk-RHXYO4H2.js → chunk-BZ2GTCQV.js} +2 -2
- package/dist/{chunk-GIWFLWXG.js → chunk-C2KASMJK.js} +4 -4
- package/dist/{chunk-KO3OHHY2.js → chunk-CAZDRDQT.js} +2 -2
- package/dist/{chunk-OK7BQMCI.js → chunk-CBJRZKZB.js} +9 -9
- package/dist/{chunk-OYOFPNLC.js → chunk-CF6NYG7J.js} +4 -4
- package/dist/{chunk-MT2R57SF.js → chunk-COITN7WN.js} +2 -2
- package/dist/{chunk-OCXTTKVA.js → chunk-CPVOXM2Q.js} +2 -2
- package/dist/{chunk-HYEIA25Y.js → chunk-CTZRCBKH.js} +2 -2
- package/dist/{chunk-OCXEY7HE.js → chunk-CWL27YTB.js} +2 -2
- package/dist/{chunk-K4DQS2ML.js → chunk-D2I33V5P.js} +4 -4
- package/dist/{chunk-736RUNIA.js → chunk-DF7WI4JH.js} +4 -4
- package/dist/{chunk-KUE5BOQE.js → chunk-DKZYCJCO.js} +4 -4
- package/dist/{chunk-74CBR5YE.js → chunk-DQ32FKFQ.js} +2 -2
- package/dist/{chunk-4O2XWOLZ.js → chunk-DTKG2YUF.js} +3 -3
- package/dist/{chunk-GMHIOYB7.js → chunk-DUDA4V5R.js} +4 -4
- package/dist/{chunk-XUOYNJPB.js → chunk-ECROT4M5.js} +24 -24
- package/dist/{chunk-PVB4YVDP.js → chunk-EOXV5XGY.js} +2 -2
- package/dist/{chunk-U6552Q3T.js → chunk-EQQOZ6DD.js} +2 -2
- package/dist/{chunk-G6ICCGJ3.js → chunk-EY6W5H4B.js} +2 -2
- package/dist/{chunk-HWVPLFIW.js → chunk-EYRFEWXJ.js} +2 -2
- package/dist/{chunk-7YTR3UFO.js → chunk-FB4JWUVJ.js} +8 -5
- package/dist/chunk-FB4JWUVJ.js.map +1 -0
- package/dist/{chunk-U4LTPFD2.js → chunk-FKK2PD7K.js} +2 -2
- package/dist/{chunk-PUUEI4W3.js → chunk-FPHHIC5K.js} +5 -5
- package/dist/{chunk-SP44O3OU.js → chunk-FQM6L22H.js} +2 -2
- package/dist/{chunk-2J77TWGH.js → chunk-FW22IREV.js} +3 -3
- package/dist/{chunk-EBIVTDEG.js → chunk-G4M6AYDB.js} +2 -2
- package/dist/{chunk-O4JOE3R7.js → chunk-G55NAU5M.js} +60 -74
- package/dist/chunk-G55NAU5M.js.map +1 -0
- package/dist/{chunk-BASI553K.js → chunk-G6AZ2WIU.js} +4 -4
- package/dist/{chunk-SJYTQLN3.js → chunk-GJ5IDSAX.js} +3 -3
- package/dist/{chunk-TDTD66BK.js → chunk-GRDSEZWZ.js} +2 -2
- package/dist/{chunk-MV2CLIO6.js → chunk-HBVJIGY2.js} +6 -6
- package/dist/{chunk-R4JA5JFI.js → chunk-HCWQLIOE.js} +3 -3
- package/dist/{chunk-MZY3VKKM.js → chunk-HEVD4A5G.js} +2 -2
- package/dist/{chunk-DLVIRJGK.js → chunk-HNDHSEVJ.js} +2 -2
- package/dist/{chunk-LPKJ77EK.js → chunk-HNTZ7B7M.js} +2 -2
- package/dist/{chunk-QQIZMVAJ.js → chunk-HQ7GTMII.js} +59 -57
- package/dist/chunk-HQ7GTMII.js.map +1 -0
- package/dist/{chunk-IN3VQFKS.js → chunk-I2FC7CAI.js} +2 -2
- package/dist/{chunk-SK5S2PCK.js → chunk-I7BGHBOM.js} +14 -14
- package/dist/chunk-I7BGHBOM.js.map +1 -0
- package/dist/{chunk-ZBHGNE2J.js → chunk-IEHZFYMH.js} +3 -3
- package/dist/{chunk-DWJ6J3YW.js → chunk-IXISEVD7.js} +4 -4
- package/dist/{chunk-TK5FWVZR.js → chunk-IZEDVQUD.js} +3 -3
- package/dist/{chunk-HEGV4QMS.js → chunk-J42QE4VO.js} +2 -2
- package/dist/{chunk-PRT4J2DL.js → chunk-J555XSUM.js} +2 -2
- package/dist/{chunk-SBXSKRFA.js → chunk-JNMHFSDF.js} +3 -3
- package/dist/{chunk-KI46GKMD.js → chunk-JTBAOPYO.js} +7 -7
- package/dist/{chunk-JHZRAYI4.js → chunk-JWSRFXRN.js} +2 -2
- package/dist/chunk-JWSRFXRN.js.map +1 -0
- package/dist/{chunk-SXGJL7UT.js → chunk-K376MPJH.js} +14 -14
- package/dist/{chunk-OSJ366KR.js → chunk-KEBVT55V.js} +30 -30
- package/dist/{chunk-U5UGM5XD.js → chunk-KFIZAXHI.js} +5 -5
- package/dist/{chunk-KFNZZ2N6.js → chunk-KKGRDBMK.js} +2 -2
- package/dist/{chunk-PLYVGZIN.js → chunk-KKIG6DN5.js} +1 -1
- package/dist/{chunk-3OK7Y6ES.js → chunk-KKQO2GAA.js} +2 -2
- package/dist/{chunk-DQPIEQGP.js → chunk-KO753ZCZ.js} +2 -2
- package/dist/{chunk-YNTLWCF4.js → chunk-KYIRWU65.js} +3 -3
- package/dist/{chunk-JKL5S7UQ.js → chunk-L6V63DVI.js} +6 -6
- package/dist/{chunk-M5IQVMLR.js → chunk-LAZ2QZTJ.js} +11 -4
- package/dist/chunk-LAZ2QZTJ.js.map +1 -0
- package/dist/{chunk-CV4VVLPZ.js → chunk-LCNJ2KNS.js} +2 -2
- package/dist/{chunk-D74Z2N4K.js → chunk-LE7YKMTU.js} +2 -2
- package/dist/{chunk-D5TIVCXG.js → chunk-LEBEOMVT.js} +2 -2
- package/dist/chunk-LKLQVANM.js +2 -0
- package/dist/{chunk-2OXSB2OL.js → chunk-LKWVBUH6.js} +3 -2
- package/dist/chunk-LKWVBUH6.js.map +1 -0
- package/dist/{chunk-WXF2RTS4.js → chunk-M6URPYUB.js} +2 -2
- package/dist/{chunk-H6BX6WOW.js → chunk-MDHFMRBC.js} +3 -3
- package/dist/{chunk-3CDJSKDW.js → chunk-MGZO7CHI.js} +3 -3
- package/dist/{chunk-DCEQCGVN.js → chunk-MIWU52TW.js} +2 -2
- package/dist/{chunk-PF2WU2IL.js → chunk-ND4IQJUM.js} +120 -17
- package/dist/chunk-ND4IQJUM.js.map +1 -0
- package/dist/{chunk-3PM3M2Q6.js → chunk-NDXBF3RW.js} +27 -11
- package/dist/chunk-NDXBF3RW.js.map +1 -0
- package/dist/{chunk-LVELUUK6.js → chunk-NF6QVVMP.js} +2 -2
- package/dist/{chunk-UMX6DZME.js → chunk-NTZ5ZNVK.js} +2 -2
- package/dist/{chunk-FBA2NXYH.js → chunk-NWLRABUR.js} +3 -3
- package/dist/{chunk-TNSJFZ6Q.js → chunk-O2H2U7YS.js} +4 -4
- package/dist/{chunk-BFFNINCC.js → chunk-OAL2PPX4.js} +3 -3
- package/dist/{chunk-WTSQUCHB.js → chunk-OCYTHZ4A.js} +3 -3
- package/dist/{chunk-ZAX4XQLN.js → chunk-OEDTCIXF.js} +2 -2
- package/dist/{chunk-CHU3RDV4.js → chunk-OLVSYB3P.js} +3 -3
- package/dist/{chunk-PZKHST7A.js → chunk-OQ6QOPK6.js} +10 -3
- package/dist/chunk-OQ6QOPK6.js.map +1 -0
- package/dist/{chunk-IFSXVU2S.js → chunk-OQHTFOCA.js} +2 -2
- package/dist/{chunk-OXQ2SXVC.js → chunk-P56AVROH.js} +2 -2
- package/dist/{chunk-CXAN2FHF.js → chunk-PCEJHHGP.js} +6 -6
- package/dist/{chunk-5MIBQ4P5.js → chunk-PHGQGVVL.js} +2 -2
- package/dist/{chunk-FLWQJDJ5.js → chunk-PUZRHEQI.js} +6 -6
- package/dist/{chunk-OP2GD6QW.js → chunk-PV7U6OOJ.js} +2 -2
- package/dist/{chunk-SPD4ULVB.js → chunk-PYMROAWS.js} +2 -1
- package/dist/chunk-PYMROAWS.js.map +1 -0
- package/dist/{chunk-X2QJXDE4.js → chunk-PZQACDH5.js} +8 -8
- package/dist/{chunk-CH4UQ4NO.js → chunk-PZTS4O6E.js} +5 -5
- package/dist/{chunk-TKQL7EDB.js → chunk-Q42QHUAQ.js} +2 -2
- package/dist/{chunk-MRECRNVU.js → chunk-QCYGB6TZ.js} +5 -5
- package/dist/{chunk-GSCGKJNK.js → chunk-QECMETOF.js} +2 -2
- package/dist/{chunk-RMCLFSMX.js → chunk-QGX3LE6H.js} +2 -2
- package/dist/{chunk-HTMQGS63.js → chunk-QI3NDQFP.js} +8 -8
- package/dist/{chunk-UU5FBVRX.js → chunk-QZE4BTLA.js} +6 -5
- package/dist/chunk-QZE4BTLA.js.map +1 -0
- package/dist/{chunk-R5QAL43H.js → chunk-RA3Q52O2.js} +2 -2
- package/dist/chunk-RBOHWUSN.js +151 -0
- package/dist/chunk-RBOHWUSN.js.map +1 -0
- package/dist/{chunk-AJDGP2N4.js → chunk-RJNOQEJJ.js} +20 -20
- package/dist/{chunk-477DTTMH.js → chunk-RSFOFUR7.js} +3 -3
- package/dist/{chunk-JV5ULONH.js → chunk-RXR6PMSH.js} +39 -39
- package/dist/{chunk-J2BTILRR.js → chunk-SM7HFCGC.js} +2 -2
- package/dist/{chunk-UTRNLNCW.js → chunk-SN6ZWYOP.js} +69 -97
- package/dist/chunk-SN6ZWYOP.js.map +1 -0
- package/dist/{chunk-OBGOLHCP.js → chunk-T4HK4XCI.js} +3 -3
- package/dist/{chunk-XVLEBB4Y.js → chunk-TBWL6YWL.js} +2 -2
- package/dist/{chunk-AAS7OWV6.js → chunk-TIDXYWFX.js} +3 -3
- package/dist/{chunk-N3FM4BNA.js → chunk-TKHRGY2P.js} +2 -2
- package/dist/{chunk-GU7T2S5N.js → chunk-TU2GSZL7.js} +2 -2
- package/dist/{chunk-OI6VI6SU.js → chunk-U6HGJXXQ.js} +8 -8
- package/dist/{chunk-4BWMAGJJ.js → chunk-UGRW6RTR.js} +3 -3
- package/dist/{chunk-AVXDIRRW.js → chunk-UMRUDYUK.js} +2 -2
- package/dist/{chunk-FNXCFIPW.js → chunk-UOT2R5ZD.js} +2 -2
- package/dist/{chunk-DIP7YALH.js → chunk-USURKJVT.js} +2 -2
- package/dist/{chunk-S27VZ5DO.js → chunk-UU6Q67XM.js} +6 -6
- package/dist/{chunk-LTJFV2JI.js → chunk-UZ7NP5CW.js} +2 -2
- package/dist/{chunk-H6MJFMHZ.js → chunk-V4FO7UOE.js} +3 -3
- package/dist/{chunk-RGR57NYY.js → chunk-V4ZOZRCW.js} +2 -2
- package/dist/{chunk-LQKVNREV.js → chunk-V57YMKQZ.js} +3 -3
- package/dist/{chunk-XZCCEKPW.js → chunk-VOIWZBY6.js} +6 -6
- package/dist/{chunk-E5KOWRDU.js → chunk-VPHPLPDA.js} +2 -2
- package/dist/{chunk-OGU73VUN.js → chunk-VUL4KPUU.js} +2 -2
- package/dist/{chunk-SFIXTOOJ.js → chunk-VWF6ILAR.js} +3 -3
- package/dist/{chunk-FER6EVIY.js → chunk-W54BHJO7.js} +2 -2
- package/dist/{chunk-34NV52R3.js → chunk-WCYE4BLC.js} +4 -4
- package/dist/{chunk-RISUROBM.js → chunk-WTV25ELY.js} +4 -4
- package/dist/{chunk-UO35OEOX.js → chunk-WZYGH7CN.js} +3 -3
- package/dist/{chunk-CEMSIU4Z.js → chunk-XG2RWUF7.js} +5 -5
- package/dist/chunk-XK72HZ4C.js +147 -0
- package/dist/chunk-XK72HZ4C.js.map +1 -0
- package/dist/{chunk-K3D7IQQP.js → chunk-XV7QOT7W.js} +6 -6
- package/dist/{chunk-GOCODNQS.js → chunk-XWECT3GX.js} +2 -2
- package/dist/{chunk-5MHMCE2G.js → chunk-XZQK2ZLW.js} +3 -3
- package/dist/{chunk-JV3UI7BH.js → chunk-Y5BR66OH.js} +3 -3
- package/dist/{chunk-VXORMNU4.js → chunk-YBHAAULA.js} +67 -2
- package/dist/chunk-YBHAAULA.js.map +1 -0
- package/dist/{chunk-4F3AEJI6.js → chunk-YD6XU6FY.js} +4 -4
- package/dist/{chunk-VATYK3JQ.js → chunk-YFE47G3C.js} +3 -3
- package/dist/{chunk-ZR5EKJT6.js → chunk-YG6TWPP7.js} +2 -2
- package/dist/{chunk-44JWVYJB.js → chunk-YH3ARKBB.js} +2 -2
- package/dist/{chunk-752WXSDN.js → chunk-YI66STKJ.js} +2 -2
- package/dist/{chunk-QRECBCJM.js → chunk-YMVPYMKB.js} +2 -2
- package/dist/{chunk-77SYIH6O.js → chunk-YPIXBAF6.js} +2 -2
- package/dist/{chunk-WRMUXZ7C.js → chunk-YSWPNY6G.js} +3 -3
- package/dist/{chunk-GTHCHCWW.js → chunk-YWNNMBZG.js} +3 -3
- package/dist/{chunk-3DRLCX5V.js → chunk-Z3HYM2JT.js} +2 -2
- package/dist/{chunk-M3HGBO2Y.js → chunk-ZAC7YPRA.js} +1 -1
- package/dist/{chunk-2VJOSU4H.js → chunk-ZENESDAF.js} +2 -2
- package/dist/{chunk-4JXPLTWV.js → chunk-ZHAPMETO.js} +2 -2
- package/dist/{chunk-IJR6VOLU.js → chunk-ZVR6DUZH.js} +2 -2
- package/dist/components/message-timeline.d.ts +10 -2
- package/dist/composer.js +8 -8
- package/dist/{computer-viewer-5LKRCEVQ.js → computer-viewer-FOIOZUF5.js} +5 -5
- package/dist/connect.js +12 -12
- package/dist/desktop-dictation.js +8 -8
- package/dist/desktop.js +2 -2
- package/dist/editor.js +2 -2
- package/dist/{embedded-new-voice-GHJRY3YL.js → embedded-new-voice-WTXAJNGO.js} +5 -5
- package/dist/{embedded-voice-ASQXBSTX.js → embedded-voice-SIJOPN2G.js} +5 -5
- package/dist/{fleet-decision-row-U7LDVBEM.js → fleet-decision-row-XKQ3GMYT.js} +2 -2
- package/dist/hooks/use-recordings.d.ts +4 -2
- package/dist/in-chat-connect-model.js +5 -5
- package/dist/index.d.ts +2 -2
- package/dist/index.js +66 -60
- package/dist/interaction.js +5 -5
- package/dist/{latest-question-RNVF262Q.js → latest-question-KA7AQYVI.js} +2 -2
- package/dist/machines.js +3 -3
- package/dist/meetings/recorder-context.d.ts +6 -1
- package/dist/meetings/recorder-panel.d.ts +2 -5
- package/dist/meetings-recorder.js +1 -1
- package/dist/meetings.js +25 -23
- package/dist/meetings.js.map +1 -1
- package/dist/messages/en.d.ts +4 -0
- package/dist/messages.js +1 -1
- package/dist/{model-policy-picker-menu-E6XKMFTA.js → model-policy-picker-menu-6N2G7VGX.js} +4 -4
- package/dist/{payment-page-card-DJDKV2LW.js → payment-page-card-IJFZHQ52.js} +4 -4
- package/dist/{platform-activity-row-MSDCSMET.js → platform-activity-row-MFCMGI43.js} +2 -2
- package/dist/{queue-surface-implementation-GUAIG6TK.js → queue-surface-implementation-BBCDWWOP.js} +5 -5
- package/dist/realtime.js +4 -4
- package/dist/{recorder-host-2MYDJPQW.js → recorder-host-LDYYOKG7.js} +5 -5
- package/dist/recordings.js +4 -4
- package/dist/{sandbox-files-W5W2LW4K.js → sandbox-files-VYRBIXJY.js} +6 -6
- package/dist/session-app.js +160 -157
- package/dist/{session-connect-cards-HPH7JOZP.js → session-connect-cards-GBPSL6OT.js} +9 -9
- package/dist/session-connect-cards-GBPSL6OT.js.map +1 -0
- package/dist/session-list-model.js +2 -2
- package/dist/{session-realtime-SDTKFFIR.js → session-realtime-QGU57TND.js} +3 -3
- package/dist/session-realtime-QGU57TND.js.map +1 -0
- package/dist/session-realtime.js +2 -2
- package/dist/session-ui.js +33 -33
- package/dist/session.d.ts +3 -2
- package/dist/session.js +16 -10
- package/dist/sites.js +2 -2
- package/dist/terminal.js +2 -2
- package/dist/this-computer.js +3 -3
- package/dist/timeline/index.d.ts +3 -2
- package/dist/timeline/projection.d.ts +52 -0
- package/dist/timeline/turn-summary-model.d.ts +4 -3
- package/dist/timeline/types.d.ts +8 -2
- package/dist/timeline/use-timeline-pauses.d.ts +12 -0
- package/dist/timeline/work-presentation.d.ts +4 -3
- package/dist/{timeline-annotation-markers-FNILLWNU.js → timeline-annotation-markers-LL6ZVBZH.js} +2 -2
- package/dist/{timeline-annotation-selection-MBCIDO2Q.js → timeline-annotation-selection-WQA76WYC.js} +2 -2
- package/dist/{timeline-annotations-dialog-JPNKLOTE.js → timeline-annotations-dialog-HHETAEZA.js} +3 -3
- package/dist/timeline-model.js +2 -2
- package/dist/ui/access-list.js +5 -5
- package/dist/ui/cadence-picker.js +4 -4
- package/dist/ui/choice-cards.js +3 -3
- package/dist/ui/confirm-dialog.js +2 -2
- package/dist/ui/copy-field.js +3 -3
- package/dist/ui/detail-page.js +2 -2
- package/dist/ui/detail-sheet.js +2 -2
- package/dist/ui/disclosure.js +3 -3
- package/dist/ui/email-chips-input.js +3 -3
- package/dist/ui/field.js +2 -2
- package/dist/ui/flush-form-page.js +3 -3
- package/dist/ui/form-dialog.js +2 -2
- package/dist/ui/list-row.js +3 -3
- package/dist/ui/relative-time.js +2 -2
- package/dist/ui/revision-history.js +4 -4
- package/dist/ui/role-select.js +5 -5
- package/dist/ui/select-menu.js +3 -3
- package/dist/ui/usage-meter.d.ts +8 -2
- package/dist/ui/usage-meter.js +5 -3
- package/dist/usage.js +2 -2
- package/dist/workbench.js +4 -4
- package/package.json +6 -5
- package/src/app/components/agent/agent-capability-picker.test.tsx +1 -1
- package/src/app/components/models/subscription-usage.tsx +178 -0
- package/src/app/components/rail/session-row-content.tsx +27 -0
- package/src/app/components/session/subscription-account-indicator.test.ts +78 -18
- package/src/app/components/session/subscription-account-indicator.tsx +16 -31
- package/src/app/components/session/subscription-account-menu.tsx +79 -101
- package/src/app/components/session/subscription-account.test.ts +161 -54
- package/src/app/components/session/subscription-account.ts +106 -117
- package/src/app/lib/agent-capabilities.tsx +34 -7
- package/src/app/lib/session-branch-cache.tsx +1 -0
- package/src/app/lib/session-pins.tsx +1 -0
- package/src/app/lib/session-row-paused.test.tsx +183 -0
- package/src/app/lib/sessions-group-channels.test.ts +4 -4
- package/src/app/lib/sessions-group.tsx +62 -4
- package/src/app/lib/subscription-accounts.tsx +283 -0
- package/src/app/routes/session.tsx +2 -0
- package/src/components/message-timeline.tsx +14 -2
- package/src/components/session-conversation.tsx +2 -1
- package/src/components/timeline-annotations.tsx +4 -1
- package/src/components/timeline-settlement.ts +1 -1
- package/src/hooks/use-composer.ts +104 -25
- package/src/hooks/use-recordings.ts +5 -0
- package/src/index.ts +5 -0
- package/src/meetings/meeting-detail-page.tsx +4 -2
- package/src/meetings/meetings-pages.test.tsx +38 -0
- package/src/meetings/recorder-context.tsx +28 -5
- package/src/meetings/recorder-panel.tsx +13 -5
- package/src/meetings/recorder-workspace.test.tsx +57 -8
- package/src/messages/en.ts +5 -0
- package/src/recordings-model.ts +7 -0
- package/src/session.ts +8 -1
- package/src/timeline/index.ts +4 -1
- package/src/timeline/projection.ts +228 -16
- package/src/timeline/turn-summary-model.ts +4 -3
- package/src/timeline/turn-summary.tsx +15 -2
- package/src/timeline/types.ts +8 -2
- package/src/timeline/use-timeline-pauses.ts +105 -0
- package/src/timeline/work-presentation.ts +13 -4
- package/src/ui/usage-meter.tsx +10 -7
- package/styles/compiled.css +3 -0
- package/dist/chunk-2OXSB2OL.js.map +0 -1
- package/dist/chunk-3PM3M2Q6.js.map +0 -1
- package/dist/chunk-7YTR3UFO.js.map +0 -1
- package/dist/chunk-7Z76QP64.js.map +0 -1
- package/dist/chunk-JHZRAYI4.js.map +0 -1
- package/dist/chunk-M5IQVMLR.js.map +0 -1
- package/dist/chunk-NQ2CPQJF.js.map +0 -1
- package/dist/chunk-O2UPPN5M.js +0 -2
- package/dist/chunk-O4JOE3R7.js.map +0 -1
- package/dist/chunk-PF2WU2IL.js.map +0 -1
- package/dist/chunk-PSM3CU7N.js.map +0 -1
- package/dist/chunk-PZKHST7A.js.map +0 -1
- package/dist/chunk-Q5K2J5GG.js.map +0 -1
- package/dist/chunk-QPQ7R77C.js.map +0 -1
- package/dist/chunk-QQIZMVAJ.js.map +0 -1
- package/dist/chunk-SK5S2PCK.js.map +0 -1
- package/dist/chunk-SPD4ULVB.js.map +0 -1
- package/dist/chunk-UTRNLNCW.js.map +0 -1
- package/dist/chunk-UU5FBVRX.js.map +0 -1
- package/dist/chunk-VXORMNU4.js.map +0 -1
- package/dist/chunk-WYGTAQMX.js.map +0 -1
- /package/dist/{browser-viewer-ZHQDVHZ2.js.map → app/components/models/subscription-usage.js.map} +0 -0
- /package/dist/{chat-interactive-block-VSDD6X3M.js.map → app/lib/subscription-accounts.js.map} +0 -0
- /package/dist/{chunk-O2UPPN5M.js.map → browser-viewer-F4FL7JKB.js.map} +0 -0
- /package/dist/{computer-viewer-5LKRCEVQ.js.map → chat-interactive-block-4U5JWRSY.js.map} +0 -0
- /package/dist/{chunk-4K64EKM7.js.map → chunk-22YIIM3X.js.map} +0 -0
- /package/dist/{chunk-3NNAC43A.js.map → chunk-2N7ACQ7M.js.map} +0 -0
- /package/dist/{chunk-WDASYY4S.js.map → chunk-2TEYUDJD.js.map} +0 -0
- /package/dist/{chunk-OTW25A6I.js.map → chunk-37JJQNZB.js.map} +0 -0
- /package/dist/{chunk-VCJQQYRE.js.map → chunk-3DWQPURZ.js.map} +0 -0
- /package/dist/{chunk-GTRAH4FG.js.map → chunk-3GWC3FU3.js.map} +0 -0
- /package/dist/{chunk-AB5IW227.js.map → chunk-3ICY6LP3.js.map} +0 -0
- /package/dist/{chunk-WIFDNUKD.js.map → chunk-3OCU5RX5.js.map} +0 -0
- /package/dist/{chunk-UBRQ3PQD.js.map → chunk-3SPDJLOR.js.map} +0 -0
- /package/dist/{chunk-IZXYFWA4.js.map → chunk-3WVLR7UA.js.map} +0 -0
- /package/dist/{chunk-DEHLWZSI.js.map → chunk-3XMB3L57.js.map} +0 -0
- /package/dist/{chunk-AJBDAVX3.js.map → chunk-4IUOBO2H.js.map} +0 -0
- /package/dist/{chunk-NFCS5WYC.js.map → chunk-4KQ3A3EO.js.map} +0 -0
- /package/dist/{chunk-LIJNVIT3.js.map → chunk-4L5B5AZT.js.map} +0 -0
- /package/dist/{chunk-EDDKPIIV.js.map → chunk-4NB3TPNE.js.map} +0 -0
- /package/dist/{chunk-OJWDNNW3.js.map → chunk-4TPTGBIO.js.map} +0 -0
- /package/dist/{chunk-J2WY42FA.js.map → chunk-4UHGW6WF.js.map} +0 -0
- /package/dist/{chunk-7NLF35YL.js.map → chunk-4YN2JLYK.js.map} +0 -0
- /package/dist/{chunk-OOOSGPJL.js.map → chunk-53MYEEMA.js.map} +0 -0
- /package/dist/{chunk-467WDSOK.js.map → chunk-5HYWXPMA.js.map} +0 -0
- /package/dist/{chunk-XMBOLFFS.js.map → chunk-5IMNL6IV.js.map} +0 -0
- /package/dist/{chunk-4Z5X7PLC.js.map → chunk-5MLM5T5C.js.map} +0 -0
- /package/dist/{chunk-YMI27QPF.js.map → chunk-5NKQZVXP.js.map} +0 -0
- /package/dist/{chunk-CYDXCILL.js.map → chunk-5SODSGW7.js.map} +0 -0
- /package/dist/{chunk-Q5EZNBPI.js.map → chunk-5YAJASCO.js.map} +0 -0
- /package/dist/{chunk-M3FDGRB4.js.map → chunk-62XAL5BA.js.map} +0 -0
- /package/dist/{chunk-SGH7I7OY.js.map → chunk-67R6NAFI.js.map} +0 -0
- /package/dist/{chunk-PYB4BFEC.js.map → chunk-6BQLDL6R.js.map} +0 -0
- /package/dist/{chunk-YJSCLGAW.js.map → chunk-6EZYHJTL.js.map} +0 -0
- /package/dist/{chunk-G5UQBTXY.js.map → chunk-6LXIL3Q3.js.map} +0 -0
- /package/dist/{chunk-T67LTMSW.js.map → chunk-6LYVAJFZ.js.map} +0 -0
- /package/dist/{chunk-3L465FBR.js.map → chunk-6WB5UXMZ.js.map} +0 -0
- /package/dist/{chunk-EKJHOWTZ.js.map → chunk-74UGYVCA.js.map} +0 -0
- /package/dist/{chunk-PWUSSSSL.js.map → chunk-7BTNYZC7.js.map} +0 -0
- /package/dist/{chunk-ESXAECZ3.js.map → chunk-7KZFGA25.js.map} +0 -0
- /package/dist/{chunk-EGKARC53.js.map → chunk-7MGDX2TD.js.map} +0 -0
- /package/dist/{chunk-Y3XZEKDQ.js.map → chunk-7N3GFGB6.js.map} +0 -0
- /package/dist/{chunk-AH3DGOTK.js.map → chunk-7SFSN6AX.js.map} +0 -0
- /package/dist/{chunk-6QK65ZWM.js.map → chunk-7TGUHFGO.js.map} +0 -0
- /package/dist/{chunk-QURYQFDN.js.map → chunk-7ZIWO65F.js.map} +0 -0
- /package/dist/{chunk-OYCK4JRS.js.map → chunk-AJHLEJTK.js.map} +0 -0
- /package/dist/{chunk-3PZ3LRPV.js.map → chunk-AN4U7EPH.js.map} +0 -0
- /package/dist/{chunk-77BHKC43.js.map → chunk-APG6CEG7.js.map} +0 -0
- /package/dist/{chunk-FSDQQQIA.js.map → chunk-APHLXQNP.js.map} +0 -0
- /package/dist/{chunk-SN2WENRP.js.map → chunk-AXHQ7QXV.js.map} +0 -0
- /package/dist/{chunk-54U6ZBEX.js.map → chunk-AYTLSPF6.js.map} +0 -0
- /package/dist/{chunk-R33SBMB7.js.map → chunk-BBSKKBMV.js.map} +0 -0
- /package/dist/{chunk-2GCHGWNE.js.map → chunk-BGH6TU2P.js.map} +0 -0
- /package/dist/{chunk-D3PTVN2I.js.map → chunk-BGIYL26H.js.map} +0 -0
- /package/dist/{chunk-BQYRZIZ7.js.map → chunk-BL7UQUC3.js.map} +0 -0
- /package/dist/{chunk-EBTUPRRQ.js.map → chunk-BOUHCYL6.js.map} +0 -0
- /package/dist/{chunk-MKDFYE2E.js.map → chunk-BVNGDFBC.js.map} +0 -0
- /package/dist/{chunk-ICAMYP5M.js.map → chunk-BWJK64CP.js.map} +0 -0
- /package/dist/{chunk-RHXYO4H2.js.map → chunk-BZ2GTCQV.js.map} +0 -0
- /package/dist/{chunk-GIWFLWXG.js.map → chunk-C2KASMJK.js.map} +0 -0
- /package/dist/{chunk-KO3OHHY2.js.map → chunk-CAZDRDQT.js.map} +0 -0
- /package/dist/{chunk-OK7BQMCI.js.map → chunk-CBJRZKZB.js.map} +0 -0
- /package/dist/{chunk-OYOFPNLC.js.map → chunk-CF6NYG7J.js.map} +0 -0
- /package/dist/{chunk-MT2R57SF.js.map → chunk-COITN7WN.js.map} +0 -0
- /package/dist/{chunk-OCXTTKVA.js.map → chunk-CPVOXM2Q.js.map} +0 -0
- /package/dist/{chunk-HYEIA25Y.js.map → chunk-CTZRCBKH.js.map} +0 -0
- /package/dist/{chunk-OCXEY7HE.js.map → chunk-CWL27YTB.js.map} +0 -0
- /package/dist/{chunk-K4DQS2ML.js.map → chunk-D2I33V5P.js.map} +0 -0
- /package/dist/{chunk-736RUNIA.js.map → chunk-DF7WI4JH.js.map} +0 -0
- /package/dist/{chunk-KUE5BOQE.js.map → chunk-DKZYCJCO.js.map} +0 -0
- /package/dist/{chunk-74CBR5YE.js.map → chunk-DQ32FKFQ.js.map} +0 -0
- /package/dist/{chunk-4O2XWOLZ.js.map → chunk-DTKG2YUF.js.map} +0 -0
- /package/dist/{chunk-GMHIOYB7.js.map → chunk-DUDA4V5R.js.map} +0 -0
- /package/dist/{chunk-XUOYNJPB.js.map → chunk-ECROT4M5.js.map} +0 -0
- /package/dist/{chunk-PVB4YVDP.js.map → chunk-EOXV5XGY.js.map} +0 -0
- /package/dist/{chunk-U6552Q3T.js.map → chunk-EQQOZ6DD.js.map} +0 -0
- /package/dist/{chunk-G6ICCGJ3.js.map → chunk-EY6W5H4B.js.map} +0 -0
- /package/dist/{chunk-HWVPLFIW.js.map → chunk-EYRFEWXJ.js.map} +0 -0
- /package/dist/{chunk-U4LTPFD2.js.map → chunk-FKK2PD7K.js.map} +0 -0
- /package/dist/{chunk-PUUEI4W3.js.map → chunk-FPHHIC5K.js.map} +0 -0
- /package/dist/{chunk-SP44O3OU.js.map → chunk-FQM6L22H.js.map} +0 -0
- /package/dist/{chunk-2J77TWGH.js.map → chunk-FW22IREV.js.map} +0 -0
- /package/dist/{chunk-EBIVTDEG.js.map → chunk-G4M6AYDB.js.map} +0 -0
- /package/dist/{chunk-BASI553K.js.map → chunk-G6AZ2WIU.js.map} +0 -0
- /package/dist/{chunk-SJYTQLN3.js.map → chunk-GJ5IDSAX.js.map} +0 -0
- /package/dist/{chunk-TDTD66BK.js.map → chunk-GRDSEZWZ.js.map} +0 -0
- /package/dist/{chunk-MV2CLIO6.js.map → chunk-HBVJIGY2.js.map} +0 -0
- /package/dist/{chunk-R4JA5JFI.js.map → chunk-HCWQLIOE.js.map} +0 -0
- /package/dist/{chunk-MZY3VKKM.js.map → chunk-HEVD4A5G.js.map} +0 -0
- /package/dist/{chunk-DLVIRJGK.js.map → chunk-HNDHSEVJ.js.map} +0 -0
- /package/dist/{chunk-LPKJ77EK.js.map → chunk-HNTZ7B7M.js.map} +0 -0
- /package/dist/{chunk-IN3VQFKS.js.map → chunk-I2FC7CAI.js.map} +0 -0
- /package/dist/{chunk-ZBHGNE2J.js.map → chunk-IEHZFYMH.js.map} +0 -0
- /package/dist/{chunk-DWJ6J3YW.js.map → chunk-IXISEVD7.js.map} +0 -0
- /package/dist/{chunk-TK5FWVZR.js.map → chunk-IZEDVQUD.js.map} +0 -0
- /package/dist/{chunk-HEGV4QMS.js.map → chunk-J42QE4VO.js.map} +0 -0
- /package/dist/{chunk-PRT4J2DL.js.map → chunk-J555XSUM.js.map} +0 -0
- /package/dist/{chunk-SBXSKRFA.js.map → chunk-JNMHFSDF.js.map} +0 -0
- /package/dist/{chunk-KI46GKMD.js.map → chunk-JTBAOPYO.js.map} +0 -0
- /package/dist/{chunk-SXGJL7UT.js.map → chunk-K376MPJH.js.map} +0 -0
- /package/dist/{chunk-OSJ366KR.js.map → chunk-KEBVT55V.js.map} +0 -0
- /package/dist/{chunk-U5UGM5XD.js.map → chunk-KFIZAXHI.js.map} +0 -0
- /package/dist/{chunk-KFNZZ2N6.js.map → chunk-KKGRDBMK.js.map} +0 -0
- /package/dist/{chunk-PLYVGZIN.js.map → chunk-KKIG6DN5.js.map} +0 -0
- /package/dist/{chunk-3OK7Y6ES.js.map → chunk-KKQO2GAA.js.map} +0 -0
- /package/dist/{chunk-DQPIEQGP.js.map → chunk-KO753ZCZ.js.map} +0 -0
- /package/dist/{chunk-YNTLWCF4.js.map → chunk-KYIRWU65.js.map} +0 -0
- /package/dist/{chunk-JKL5S7UQ.js.map → chunk-L6V63DVI.js.map} +0 -0
- /package/dist/{chunk-CV4VVLPZ.js.map → chunk-LCNJ2KNS.js.map} +0 -0
- /package/dist/{chunk-D74Z2N4K.js.map → chunk-LE7YKMTU.js.map} +0 -0
- /package/dist/{chunk-D5TIVCXG.js.map → chunk-LEBEOMVT.js.map} +0 -0
- /package/dist/{embedded-new-voice-GHJRY3YL.js.map → chunk-LKLQVANM.js.map} +0 -0
- /package/dist/{chunk-WXF2RTS4.js.map → chunk-M6URPYUB.js.map} +0 -0
- /package/dist/{chunk-H6BX6WOW.js.map → chunk-MDHFMRBC.js.map} +0 -0
- /package/dist/{chunk-3CDJSKDW.js.map → chunk-MGZO7CHI.js.map} +0 -0
- /package/dist/{chunk-DCEQCGVN.js.map → chunk-MIWU52TW.js.map} +0 -0
- /package/dist/{chunk-LVELUUK6.js.map → chunk-NF6QVVMP.js.map} +0 -0
- /package/dist/{chunk-UMX6DZME.js.map → chunk-NTZ5ZNVK.js.map} +0 -0
- /package/dist/{chunk-FBA2NXYH.js.map → chunk-NWLRABUR.js.map} +0 -0
- /package/dist/{chunk-TNSJFZ6Q.js.map → chunk-O2H2U7YS.js.map} +0 -0
- /package/dist/{chunk-BFFNINCC.js.map → chunk-OAL2PPX4.js.map} +0 -0
- /package/dist/{chunk-WTSQUCHB.js.map → chunk-OCYTHZ4A.js.map} +0 -0
- /package/dist/{chunk-ZAX4XQLN.js.map → chunk-OEDTCIXF.js.map} +0 -0
- /package/dist/{chunk-CHU3RDV4.js.map → chunk-OLVSYB3P.js.map} +0 -0
- /package/dist/{chunk-IFSXVU2S.js.map → chunk-OQHTFOCA.js.map} +0 -0
- /package/dist/{chunk-OXQ2SXVC.js.map → chunk-P56AVROH.js.map} +0 -0
- /package/dist/{chunk-CXAN2FHF.js.map → chunk-PCEJHHGP.js.map} +0 -0
- /package/dist/{chunk-5MIBQ4P5.js.map → chunk-PHGQGVVL.js.map} +0 -0
- /package/dist/{chunk-FLWQJDJ5.js.map → chunk-PUZRHEQI.js.map} +0 -0
- /package/dist/{chunk-OP2GD6QW.js.map → chunk-PV7U6OOJ.js.map} +0 -0
- /package/dist/{chunk-X2QJXDE4.js.map → chunk-PZQACDH5.js.map} +0 -0
- /package/dist/{chunk-CH4UQ4NO.js.map → chunk-PZTS4O6E.js.map} +0 -0
- /package/dist/{chunk-TKQL7EDB.js.map → chunk-Q42QHUAQ.js.map} +0 -0
- /package/dist/{chunk-MRECRNVU.js.map → chunk-QCYGB6TZ.js.map} +0 -0
- /package/dist/{chunk-GSCGKJNK.js.map → chunk-QECMETOF.js.map} +0 -0
- /package/dist/{chunk-RMCLFSMX.js.map → chunk-QGX3LE6H.js.map} +0 -0
- /package/dist/{chunk-HTMQGS63.js.map → chunk-QI3NDQFP.js.map} +0 -0
- /package/dist/{chunk-R5QAL43H.js.map → chunk-RA3Q52O2.js.map} +0 -0
- /package/dist/{chunk-AJDGP2N4.js.map → chunk-RJNOQEJJ.js.map} +0 -0
- /package/dist/{chunk-477DTTMH.js.map → chunk-RSFOFUR7.js.map} +0 -0
- /package/dist/{chunk-JV5ULONH.js.map → chunk-RXR6PMSH.js.map} +0 -0
- /package/dist/{chunk-J2BTILRR.js.map → chunk-SM7HFCGC.js.map} +0 -0
- /package/dist/{chunk-OBGOLHCP.js.map → chunk-T4HK4XCI.js.map} +0 -0
- /package/dist/{chunk-XVLEBB4Y.js.map → chunk-TBWL6YWL.js.map} +0 -0
- /package/dist/{chunk-AAS7OWV6.js.map → chunk-TIDXYWFX.js.map} +0 -0
- /package/dist/{chunk-N3FM4BNA.js.map → chunk-TKHRGY2P.js.map} +0 -0
- /package/dist/{chunk-GU7T2S5N.js.map → chunk-TU2GSZL7.js.map} +0 -0
- /package/dist/{chunk-OI6VI6SU.js.map → chunk-U6HGJXXQ.js.map} +0 -0
- /package/dist/{chunk-4BWMAGJJ.js.map → chunk-UGRW6RTR.js.map} +0 -0
- /package/dist/{chunk-AVXDIRRW.js.map → chunk-UMRUDYUK.js.map} +0 -0
- /package/dist/{chunk-FNXCFIPW.js.map → chunk-UOT2R5ZD.js.map} +0 -0
- /package/dist/{chunk-DIP7YALH.js.map → chunk-USURKJVT.js.map} +0 -0
- /package/dist/{chunk-S27VZ5DO.js.map → chunk-UU6Q67XM.js.map} +0 -0
- /package/dist/{chunk-LTJFV2JI.js.map → chunk-UZ7NP5CW.js.map} +0 -0
- /package/dist/{chunk-H6MJFMHZ.js.map → chunk-V4FO7UOE.js.map} +0 -0
- /package/dist/{chunk-RGR57NYY.js.map → chunk-V4ZOZRCW.js.map} +0 -0
- /package/dist/{chunk-LQKVNREV.js.map → chunk-V57YMKQZ.js.map} +0 -0
- /package/dist/{chunk-XZCCEKPW.js.map → chunk-VOIWZBY6.js.map} +0 -0
- /package/dist/{chunk-E5KOWRDU.js.map → chunk-VPHPLPDA.js.map} +0 -0
- /package/dist/{chunk-OGU73VUN.js.map → chunk-VUL4KPUU.js.map} +0 -0
- /package/dist/{chunk-SFIXTOOJ.js.map → chunk-VWF6ILAR.js.map} +0 -0
- /package/dist/{chunk-FER6EVIY.js.map → chunk-W54BHJO7.js.map} +0 -0
- /package/dist/{chunk-34NV52R3.js.map → chunk-WCYE4BLC.js.map} +0 -0
- /package/dist/{chunk-RISUROBM.js.map → chunk-WTV25ELY.js.map} +0 -0
- /package/dist/{chunk-UO35OEOX.js.map → chunk-WZYGH7CN.js.map} +0 -0
- /package/dist/{chunk-CEMSIU4Z.js.map → chunk-XG2RWUF7.js.map} +0 -0
- /package/dist/{chunk-K3D7IQQP.js.map → chunk-XV7QOT7W.js.map} +0 -0
- /package/dist/{chunk-GOCODNQS.js.map → chunk-XWECT3GX.js.map} +0 -0
- /package/dist/{chunk-5MHMCE2G.js.map → chunk-XZQK2ZLW.js.map} +0 -0
- /package/dist/{chunk-JV3UI7BH.js.map → chunk-Y5BR66OH.js.map} +0 -0
- /package/dist/{chunk-4F3AEJI6.js.map → chunk-YD6XU6FY.js.map} +0 -0
- /package/dist/{chunk-VATYK3JQ.js.map → chunk-YFE47G3C.js.map} +0 -0
- /package/dist/{chunk-ZR5EKJT6.js.map → chunk-YG6TWPP7.js.map} +0 -0
- /package/dist/{chunk-44JWVYJB.js.map → chunk-YH3ARKBB.js.map} +0 -0
- /package/dist/{chunk-752WXSDN.js.map → chunk-YI66STKJ.js.map} +0 -0
- /package/dist/{chunk-QRECBCJM.js.map → chunk-YMVPYMKB.js.map} +0 -0
- /package/dist/{chunk-77SYIH6O.js.map → chunk-YPIXBAF6.js.map} +0 -0
- /package/dist/{chunk-WRMUXZ7C.js.map → chunk-YSWPNY6G.js.map} +0 -0
- /package/dist/{chunk-GTHCHCWW.js.map → chunk-YWNNMBZG.js.map} +0 -0
- /package/dist/{chunk-3DRLCX5V.js.map → chunk-Z3HYM2JT.js.map} +0 -0
- /package/dist/{chunk-M3HGBO2Y.js.map → chunk-ZAC7YPRA.js.map} +0 -0
- /package/dist/{chunk-2VJOSU4H.js.map → chunk-ZENESDAF.js.map} +0 -0
- /package/dist/{chunk-4JXPLTWV.js.map → chunk-ZHAPMETO.js.map} +0 -0
- /package/dist/{chunk-IJR6VOLU.js.map → chunk-ZVR6DUZH.js.map} +0 -0
- /package/dist/{embedded-voice-ASQXBSTX.js.map → computer-viewer-FOIOZUF5.js.map} +0 -0
- /package/dist/{model-policy-picker-menu-E6XKMFTA.js.map → embedded-new-voice-WTXAJNGO.js.map} +0 -0
- /package/dist/{sandbox-files-W5W2LW4K.js.map → embedded-voice-SIJOPN2G.js.map} +0 -0
- /package/dist/{fleet-decision-row-U7LDVBEM.js.map → fleet-decision-row-XKQ3GMYT.js.map} +0 -0
- /package/dist/{latest-question-RNVF262Q.js.map → latest-question-KA7AQYVI.js.map} +0 -0
- /package/dist/{session-connect-cards-HPH7JOZP.js.map → model-policy-picker-menu-6N2G7VGX.js.map} +0 -0
- /package/dist/{payment-page-card-DJDKV2LW.js.map → payment-page-card-IJFZHQ52.js.map} +0 -0
- /package/dist/{platform-activity-row-MSDCSMET.js.map → platform-activity-row-MFCMGI43.js.map} +0 -0
- /package/dist/{queue-surface-implementation-GUAIG6TK.js.map → queue-surface-implementation-BBCDWWOP.js.map} +0 -0
- /package/dist/{recorder-host-2MYDJPQW.js.map → recorder-host-LDYYOKG7.js.map} +0 -0
- /package/dist/{session-realtime-SDTKFFIR.js.map → sandbox-files-VYRBIXJY.js.map} +0 -0
- /package/dist/{timeline-annotation-markers-FNILLWNU.js.map → timeline-annotation-markers-LL6ZVBZH.js.map} +0 -0
- /package/dist/{timeline-annotation-selection-MBCIDO2Q.js.map → timeline-annotation-selection-WQA76WYC.js.map} +0 -0
- /package/dist/{timeline-annotations-dialog-JPNKLOTE.js.map → timeline-annotations-dialog-HHETAEZA.js.map} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
WorkspaceReachFields
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BBSKKBMV.js";
|
|
5
5
|
import {
|
|
6
6
|
FormDialog
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TU2GSZL7.js";
|
|
8
8
|
import {
|
|
9
9
|
userErrorText
|
|
10
10
|
} from "./chunk-O4OOG3D6.js";
|
|
@@ -81,4 +81,4 @@ function FileReachDialog({
|
|
|
81
81
|
export {
|
|
82
82
|
FileReachDialog
|
|
83
83
|
};
|
|
84
|
-
//# sourceMappingURL=chunk-
|
|
84
|
+
//# sourceMappingURL=chunk-IEHZFYMH.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
ComputerUseNotice,
|
|
4
4
|
ComputerUseRow
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EOXV5XGY.js";
|
|
6
6
|
import {
|
|
7
7
|
desktopBridge,
|
|
8
8
|
desktopCapability
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
thisComputerPermissionSteps,
|
|
15
15
|
useThisComputer
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-37JJQNZB.js";
|
|
17
17
|
import {
|
|
18
18
|
defaultThisComputerLabels
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-HEVD4A5G.js";
|
|
20
20
|
import {
|
|
21
21
|
useComputerUse
|
|
22
22
|
} from "./chunk-WZGWXXO3.js";
|
|
@@ -130,4 +130,4 @@ export {
|
|
|
130
130
|
DesktopThisComputerPanel,
|
|
131
131
|
insideDesktopApp
|
|
132
132
|
};
|
|
133
|
-
//# sourceMappingURL=chunk-
|
|
133
|
+
//# sourceMappingURL=chunk-IXISEVD7.js.map
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
} from "./chunk-O4OOG3D6.js";
|
|
8
8
|
import {
|
|
9
9
|
PluginDetails
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HCWQLIOE.js";
|
|
11
11
|
import {
|
|
12
12
|
SessionCapabilityFrame
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-PV7U6OOJ.js";
|
|
14
14
|
import {
|
|
15
15
|
continueAfterCapabilitySetup
|
|
16
16
|
} from "./chunk-52Y2X66Q.js";
|
|
@@ -159,4 +159,4 @@ export {
|
|
|
159
159
|
pluginSubtitle,
|
|
160
160
|
SessionPluginCapabilityCard
|
|
161
161
|
};
|
|
162
|
-
//# sourceMappingURL=chunk-
|
|
162
|
+
//# sourceMappingURL=chunk-IZEDVQUD.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
createOpenGeniText
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7SU4YVZ5.js";
|
|
5
5
|
|
|
6
6
|
// src/app/lib/console-text.tsx
|
|
7
7
|
var t = createOpenGeniText();
|
|
@@ -9,4 +9,4 @@ var t = createOpenGeniText();
|
|
|
9
9
|
export {
|
|
10
10
|
t
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=chunk-
|
|
12
|
+
//# sourceMappingURL=chunk-J42QE4VO.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./chunk-TXS65BB2.js";
|
|
11
11
|
import {
|
|
12
12
|
useOpenGeniText
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-7SU4YVZ5.js";
|
|
14
14
|
|
|
15
15
|
// src/ui/field.tsx
|
|
16
16
|
import {
|
|
@@ -247,4 +247,4 @@ export {
|
|
|
247
247
|
Checkbox,
|
|
248
248
|
CheckboxField
|
|
249
249
|
};
|
|
250
|
-
//# sourceMappingURL=chunk-
|
|
250
|
+
//# sourceMappingURL=chunk-J555XSUM.js.map
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "./chunk-HJO32O7Z.js";
|
|
13
13
|
import {
|
|
14
14
|
RelativeTimeDefaultsContext
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-BVNGDFBC.js";
|
|
16
16
|
import {
|
|
17
17
|
useSectionListFrame
|
|
18
18
|
} from "./chunk-ZMBJPN4T.js";
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from "./chunk-TXS65BB2.js";
|
|
22
22
|
import {
|
|
23
23
|
useOpenGeniText
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-7SU4YVZ5.js";
|
|
25
25
|
|
|
26
26
|
// src/ui/list-row.tsx
|
|
27
27
|
import {
|
|
@@ -815,4 +815,4 @@ export {
|
|
|
815
815
|
ListRow,
|
|
816
816
|
ListRowSkeleton
|
|
817
817
|
};
|
|
818
|
-
//# sourceMappingURL=chunk-
|
|
818
|
+
//# sourceMappingURL=chunk-JNMHFSDF.js.map
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
scheduledTaskIdOf
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-2PY5XD3F.js";
|
|
5
5
|
import {
|
|
6
6
|
sessionDescendantCountText
|
|
7
7
|
} from "./chunk-XVVJBNUQ.js";
|
|
8
8
|
import {
|
|
9
9
|
sessionStatusLabel
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YPIXBAF6.js";
|
|
11
11
|
import {
|
|
12
12
|
sessionSiteOrigin
|
|
13
13
|
} from "./chunk-K3TJNJSU.js";
|
|
14
14
|
import {
|
|
15
15
|
t
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-J42QE4VO.js";
|
|
17
17
|
import {
|
|
18
18
|
sessionAutomationWaitWords
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-O2H2U7YS.js";
|
|
20
20
|
import {
|
|
21
21
|
formatAbsoluteTime,
|
|
22
22
|
inSentence
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-BVNGDFBC.js";
|
|
24
24
|
import {
|
|
25
25
|
sessionInputWait
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-BGIYL26H.js";
|
|
27
27
|
import {
|
|
28
28
|
sessionAdmissionBlocked,
|
|
29
29
|
sessionDisplayStatus
|
|
@@ -199,4 +199,4 @@ export {
|
|
|
199
199
|
sessionHoverFacts,
|
|
200
200
|
sessionHoverDescription
|
|
201
201
|
};
|
|
202
|
-
//# sourceMappingURL=chunk-
|
|
202
|
+
//# sourceMappingURL=chunk-JTBAOPYO.js.map
|
|
@@ -349,7 +349,7 @@ function sameTreeStats(a, b) {
|
|
|
349
349
|
if (!a || !b) {
|
|
350
350
|
return false;
|
|
351
351
|
}
|
|
352
|
-
return a.directChildren === b.directChildren && a.totalDescendants === b.totalDescendants && a.runningDescendants === b.runningDescendants && a.queuedDescendants === b.queuedDescendants && a.attentionDescendants === b.attentionDescendants && a.pausedDescendants === b.pausedDescendants && a.failedDescendants === b.failedDescendants && (a.unreadFailedDescendants ?? a.failedDescendants) === (b.unreadFailedDescendants ?? b.failedDescendants) && (a.unreadDescendants ?? 0) === (b.unreadDescendants ?? 0) && (a.activelyWorkingDescendants ?? 0) === (b.activelyWorkingDescendants ?? 0) && (a.attentionSince ?? null) === (b.attentionSince ?? null) && a.truncated === b.truncated;
|
|
352
|
+
return a.directChildren === b.directChildren && a.totalDescendants === b.totalDescendants && a.runningDescendants === b.runningDescendants && a.queuedDescendants === b.queuedDescendants && a.attentionDescendants === b.attentionDescendants && a.pausedDescendants === b.pausedDescendants && (a.pausedWorkDescendants ?? 0) === (b.pausedWorkDescendants ?? 0) && a.failedDescendants === b.failedDescendants && (a.unreadFailedDescendants ?? a.failedDescendants) === (b.unreadFailedDescendants ?? b.failedDescendants) && (a.unreadDescendants ?? 0) === (b.unreadDescendants ?? 0) && (a.activelyWorkingDescendants ?? 0) === (b.activelyWorkingDescendants ?? 0) && (a.attentionSince ?? null) === (b.attentionSince ?? null) && a.truncated === b.truncated;
|
|
353
353
|
}
|
|
354
354
|
function mergeTreeStats(current, projected) {
|
|
355
355
|
if (!projected || !current) return projected ?? current;
|
|
@@ -522,4 +522,4 @@ export {
|
|
|
522
522
|
notifySessionPinChanged,
|
|
523
523
|
subscribeToSessionPinChanges
|
|
524
524
|
};
|
|
525
|
-
//# sourceMappingURL=chunk-
|
|
525
|
+
//# sourceMappingURL=chunk-JWSRFXRN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/app/lib/session-pins.tsx"],"sourcesContent":["import type { Session as SessionDetails } from \"../types\";\n// Cross-tab invalidation for personal session pins. Postgres remains truth;\n// this message carries only workspace/session ids and tells sibling tabs to\n// re-read. Cross-device clients reconcile through the normal page refresh/poll.\n\nimport type { RailSession as Session } from \"./session-list-entry\";\n\nconst SESSION_PIN_CHANNEL_PREFIX = \"opengeni.session-pins\";\nconst SESSION_PIN_STORAGE_PREFIX = \"opengeni.session-pins.changed\";\nconst ACCEPTED_SESSION_CHANNEL_READ_SOFT_LIMIT = 512;\nconst outboundChannels = new Map<string, BroadcastChannel>();\n\ntype SessionTreeStats = NonNullable<Session[\"treeStats\"]>;\ntype SessionChannelProjection = Pick<Session, \"id\" | \"workspaceId\" | \"channelId\">;\ntype SessionChannelEvidence = [\n channelId: string | null,\n priority: number,\n readGeneration: number,\n retainsAcceptedRead?: boolean,\n];\ntype SessionChannelRead = [channelId: string | null, present: boolean, readGeneration: number];\ntype SessionChannelCommittedMove = [channelId: string | null, readGeneration: number];\ntype SessionChannelRetainedOwner = [\n channelId: string | null,\n readGeneration: number,\n blockingReads: Set<number>,\n];\ntype SessionChannelAcceptedRead = SessionChannelProjection & {\n readGeneration: number;\n};\nexport type SessionChannelMoveRequest = Readonly<{\n workspaceId: string;\n sessionId: string;\n operation: number;\n readGeneration: number;\n}>;\nexport type SessionChannelMoveResponseDisposition =\n | \"accepted\"\n | \"verification-required\"\n | \"rejected\";\n\nfunction sessionChannelProjectionKey(projection: Pick<Session, \"id\" | \"workspaceId\">): string {\n return `${projection.workspaceId}\\u0000${projection.id}`;\n}\n\n/**\n * Tracks list, exact-read, and settled-move ownership of channel projections\n * without putting browser-only provenance onto the public Session contract.\n */\nexport class SessionChannelProjectionAuthority {\n private readonly owners = new Map<object, Map<string, SessionChannelEvidence>>();\n private readonly reads = new Map<string, SessionChannelRead>();\n private readonly moves = new Map<string, SessionChannelCommittedMove>();\n private readonly retainedOwners = new Map<string, SessionChannelRetainedOwner>();\n private readonly detailReads = new Map<object, Map<number, string>>();\n private readonly listeners = new Set<(accepted?: SessionChannelAcceptedRead) => void>();\n private readonly requests = new Map<string, [owner: object, operation: number]>();\n private readClock = 0;\n private moveClock = 0;\n private revision = 0;\n\n readonly beginRead = (): number => ++this.readClock;\n\n /**\n * Register an exact/detail request whose delayed result can outlive a list\n * owner. One logical consumer keeps only its latest request generation; a\n * successor starts after the prior shared GET settled, so the older result\n * can no longer arrive and no longer blocks owner cleanup.\n */\n beginDetailRead(\n owner: object,\n projection: Pick<SessionChannelProjection, \"id\" | \"workspaceId\">,\n ): number {\n this.finishDetailReads(owner);\n const readGeneration = this.beginRead();\n this.detailReads.set(\n owner,\n new Map([[readGeneration, sessionChannelProjectionKey(projection)]]),\n );\n return readGeneration;\n }\n\n /** Retire every exact/detail request owned by one route or point probe. */\n finishDetailReads(owner: object): void {\n const reads = this.detailReads.get(owner);\n if (!reads) return;\n this.detailReads.delete(owner);\n const finished = new Set(reads.keys());\n for (const [key, retained] of this.retainedOwners) {\n for (const readGeneration of finished) retained[2].delete(readGeneration);\n if (retained[2].size === 0) this.retainedOwners.delete(key);\n }\n }\n\n /** React to persistent accepted server/write authority advancing. */\n readonly subscribe = (\n listener: (accepted?: SessionChannelAcceptedRead) => void,\n ): (() => void) => {\n this.listeners.add(listener);\n return () => this.listeners.delete(listener);\n };\n\n /** Reactive snapshot for consumers whose projected rows depend on persistent authority. */\n readonly getRevision = (): number => this.revision;\n\n /**\n * Persist one pending move across rail lifetimes. The same mounted owner\n * cannot duplicate its request; a new mount may supersede it with a new\n * explicit user intent, after which the older response loses authority.\n */\n beginMove(\n owner: object,\n projection: Pick<SessionChannelProjection, \"id\" | \"workspaceId\">,\n ): SessionChannelMoveRequest | null {\n const key = sessionChannelProjectionKey(projection);\n if (this.requests.get(key)?.[0] === owner) return null;\n const request = {\n workspaceId: projection.workspaceId,\n sessionId: projection.id,\n operation: ++this.moveClock,\n // A mutation response is evidence from the request start, not from the\n // later time at which its promise happens to settle.\n readGeneration: this.beginRead(),\n };\n this.requests.set(key, [owner, request.operation]);\n return request;\n }\n\n ownsMove(owner: object, request: SessionChannelMoveRequest): boolean {\n const current = this.requests.get(\n sessionChannelProjectionKey({ id: request.sessionId, workspaceId: request.workspaceId }),\n );\n return current?.[0] === owner && current[1] === request.operation;\n }\n\n recordMove(\n owner: object,\n request: SessionChannelMoveRequest,\n projection: SessionChannelProjection,\n ): SessionChannelMoveResponseDisposition {\n if (\n projection.id !== request.sessionId ||\n projection.workspaceId !== request.workspaceId ||\n !this.ownsMove(owner, request)\n ) {\n return \"rejected\";\n }\n const key = sessionChannelProjectionKey(projection);\n // Completed evidence newer than the mutation start may already be a\n // post-commit value, so only a fresh point read can choose between it and\n // this response. In either case retain exact B at a new settlement\n // generation: every overlapping read already has an older generation even\n // if it has not completed, and a rail unmount cannot discard this fence.\n const verificationRequired = this.highestGeneration(key) > request.readGeneration;\n const readGeneration = this.beginRead();\n this.moves.set(key, [projection.channelId ?? null, readGeneration]);\n this.publish({ ...projection, readGeneration });\n return verificationRequired ? \"verification-required\" : \"accepted\";\n }\n\n finishMove(owner: object, request: SessionChannelMoveRequest): void {\n if (!this.ownsMove(owner, request)) return;\n this.requests.delete(\n sessionChannelProjectionKey({ id: request.sessionId, workspaceId: request.workspaceId }),\n );\n }\n\n replace(\n owner: object,\n projections: readonly SessionChannelProjection[],\n priority = 0,\n readGeneration = 0,\n ): void {\n this.replaceOwner(\n owner,\n projections.map((projection) => [projection, readGeneration] as const),\n priority,\n );\n }\n\n replaceOwner(\n owner: object,\n evidence: readonly (readonly [projection: SessionChannelProjection, readGeneration: number])[],\n priority = 0,\n ): void {\n if (evidence.length === 0) {\n this.clear(owner);\n return;\n }\n const next = new Map<string, SessionChannelEvidence>();\n for (const [projection, readGeneration] of evidence) {\n const key = sessionChannelProjectionKey(projection);\n next.set(key, [projection.channelId ?? null, priority, readGeneration]);\n }\n const previous = this.owners.get(owner);\n if (previous) this.retainOwner(previous, next);\n this.owners.set(owner, next);\n if (priority === 0) {\n for (const [projection] of evidence) {\n const key = sessionChannelProjectionKey(projection);\n const candidate = next.get(key);\n const committedMove = this.moves.get(key);\n // Current server-owned page/lineage evidence is as authoritative as an\n // exact read for channel filing when its request actually started after\n // the successful move settled. Promote it persistently before retiring\n // B so owner cleanup/remount cannot revive either B or a pre-move A.\n if (candidate && committedMove && candidate[2] > committedMove[1]) {\n this.recordObservation(projection, candidate[2], true);\n }\n }\n }\n this.compact();\n }\n\n clear(owner: object): void {\n const previous = this.owners.get(owner);\n if (previous) this.retainOwner(previous);\n this.owners.delete(owner);\n }\n\n /** Drop browser-only evidence when its workspace principal/route fence is retired. */\n clearWorkspace(workspaceId: string): void {\n const prefix = `${workspaceId}\\u0000`;\n for (const key of this.reads.keys()) {\n if (!key.startsWith(prefix)) continue;\n this.reads.delete(key);\n }\n for (const [owner, projections] of this.owners) {\n for (const key of projections.keys()) {\n if (key.startsWith(prefix)) projections.delete(key);\n }\n if (projections.size === 0) this.owners.delete(owner);\n }\n for (const key of this.requests.keys()) {\n if (key.startsWith(prefix)) this.requests.delete(key);\n }\n for (const key of this.moves.keys()) {\n if (key.startsWith(prefix)) this.moves.delete(key);\n }\n for (const key of this.retainedOwners.keys()) {\n if (key.startsWith(prefix)) this.retainedOwners.delete(key);\n }\n for (const [owner, reads] of this.detailReads) {\n for (const [readGeneration, key] of reads) {\n if (key.startsWith(prefix)) reads.delete(readGeneration);\n }\n if (reads.size === 0) this.detailReads.delete(owner);\n }\n }\n\n /** Retain an accepted exact/detail read so older list requests cannot revive stale filing. */\n recordRead(projection: SessionChannelProjection, readGeneration: number): boolean {\n return this.recordObservation(projection, readGeneration, true);\n }\n\n /** Fence a not-found point read without treating absence as a channel projection. */\n recordMissing(\n projection: Pick<SessionChannelProjection, \"id\" | \"workspaceId\">,\n readGeneration: number,\n ): boolean {\n return this.recordObservation(projection, readGeneration, false);\n }\n\n private recordObservation(\n projection: Pick<SessionChannelProjection, \"id\" | \"workspaceId\"> &\n Partial<Pick<SessionChannelProjection, \"channelId\">>,\n readGeneration: number,\n present: boolean,\n ): boolean {\n if (readGeneration <= 0) return false;\n const key = sessionChannelProjectionKey(projection);\n if (this.highestGeneration(key) > readGeneration) return false;\n const retainedOwner = this.retainedOwners.get(key);\n if (retainedOwner && retainedOwner[1] <= readGeneration) {\n this.retainedOwners.delete(key);\n }\n const committedMove = this.moves.get(key);\n // Only accepted server evidence that started after settlement can choose\n // B, a genuinely newer C, or deletion and retire the persistent move\n // fence. Point/detail reads arrive here directly; current priority-0 list\n // owners are promoted by replaceOwner after the same causal check.\n if (committedMove && readGeneration > committedMove[1]) {\n this.moves.delete(key);\n }\n // Refresh iteration order when exact evidence for one session advances so\n // compaction considers genuinely older observations first.\n for (const projections of this.owners.values()) {\n const candidate = projections.get(key);\n if (candidate) candidate[3] = false;\n }\n this.reads.delete(key);\n this.reads.set(key, [projection.channelId ?? null, present, readGeneration]);\n this.compact();\n const accepted = present\n ? {\n id: projection.id,\n workspaceId: projection.workspaceId,\n channelId: projection.channelId ?? null,\n readGeneration,\n }\n : undefined;\n this.publish(accepted);\n return true;\n }\n\n private publish(accepted?: SessionChannelAcceptedRead): void {\n this.revision += 1;\n for (const listener of this.listeners) listener(accepted);\n }\n\n /**\n * Transfer a priority-0 owner's newest value before cleanup when compaction\n * already delegated an accepted fence or an older exact request for the same\n * session can still arrive. Request-causal transfers are released with their\n * blocker; optimistic priority owners are never promoted.\n */\n private retainOwner(\n previous: ReadonlyMap<string, SessionChannelEvidence>,\n replacement: ReadonlyMap<string, SessionChannelEvidence> = new Map(),\n ): void {\n for (const [key, candidate] of previous) {\n const retainsAcceptedRead = candidate[3] === true;\n candidate[3] = false;\n const next = replacement.get(key);\n if (retainsAcceptedRead && next && next[1] === 0 && next[2] >= candidate[2]) {\n next[3] = true;\n continue;\n }\n if (candidate[1] !== 0) continue;\n const newerOwner = this.highestOwnerEvidence(key, previous, replacement);\n if (newerOwner && newerOwner[2] >= candidate[2]) continue;\n if (this.highestPersistentGeneration(key) >= candidate[2]) continue;\n if (retainsAcceptedRead) {\n this.retainedOwners.delete(key);\n this.reads.set(key, [candidate[0], true, candidate[2]]);\n continue;\n }\n const blockingReads = this.blockingDetailReads(key, candidate[2]);\n if (blockingReads.size === 0) continue;\n this.retainedOwners.set(key, [candidate[0], candidate[2], blockingReads]);\n }\n }\n\n private highestOwnerEvidence(\n key: string,\n previous: ReadonlyMap<string, SessionChannelEvidence>,\n replacement: ReadonlyMap<string, SessionChannelEvidence>,\n ): SessionChannelEvidence | undefined {\n let highest = replacement.get(key);\n if (highest?.[1] !== 0) highest = undefined;\n for (const projections of this.owners.values()) {\n if (projections === previous) continue;\n const candidate = projections.get(key);\n if (candidate?.[1] !== 0) continue;\n if (!highest || candidate[2] > highest[2]) highest = candidate;\n }\n return highest;\n }\n\n private blockingDetailReads(key: string, readGeneration: number): Set<number> {\n const blocking = new Set<number>();\n for (const reads of this.detailReads.values()) {\n for (const [candidateGeneration, candidateKey] of reads) {\n if (candidateKey === key && candidateGeneration < readGeneration) {\n blocking.add(candidateGeneration);\n }\n }\n }\n return blocking;\n }\n\n private highestPersistentGeneration(key: string): number {\n return Math.max(\n this.reads.get(key)?.[2] ?? Number.NEGATIVE_INFINITY,\n this.moves.get(key)?.[1] ?? Number.NEGATIVE_INFINITY,\n this.retainedOwners.get(key)?.[1] ?? Number.NEGATIVE_INFINITY,\n );\n }\n\n /**\n * The limit is deliberately soft: an accepted read is the only fence that\n * can stop an older retained branch/page owner from reviving stale filing.\n * Compact only after every current owner for that session is at least as\n * new; otherwise retaining the winner is required for correctness. Workspace\n * transitions provide the hard lifecycle bound for unresolved evidence.\n */\n private compact(): void {\n if (this.reads.size <= ACCEPTED_SESSION_CHANNEL_READ_SOFT_LIMIT) return;\n for (const [key, accepted] of this.reads) {\n const ownerEvidence = [...this.owners.values()]\n .map((projections) => projections.get(key))\n .filter((candidate): candidate is SessionChannelEvidence => candidate?.[1] === 0);\n if (\n ownerEvidence.length === 0 ||\n ownerEvidence.some((candidate) => candidate[2] < accepted[2])\n ) {\n continue;\n }\n for (const candidate of ownerEvidence) candidate[3] = true;\n this.reads.delete(key);\n if (this.reads.size <= ACCEPTED_SESSION_CHANNEL_READ_SOFT_LIMIT) return;\n }\n }\n\n private highestGeneration(key: string): number {\n let generation = this.highestPersistentGeneration(key);\n for (const projections of this.owners.values()) {\n const candidate = projections.get(key);\n if (candidate) generation = Math.max(generation, candidate[2]);\n }\n return generation;\n }\n\n project<T extends SessionChannelProjection>(projection: T, readGeneration: number): T {\n const key = sessionChannelProjectionKey(projection);\n const committedMove = this.moves.get(key);\n if (committedMove && committedMove[0] !== (projection.channelId ?? null)) {\n return { ...projection, channelId: committedMove[0] };\n }\n const read = this.reads.get(key);\n const retainedOwner = this.retainedOwners.get(key);\n const accepted =\n retainedOwner && (!read || retainedOwner[1] > read[2])\n ? ([retainedOwner[0], true, retainedOwner[1]] as SessionChannelRead)\n : read;\n if (\n !accepted ||\n !accepted[1] ||\n accepted[2] <= readGeneration ||\n accepted[0] === (projection.channelId ?? null)\n ) {\n return projection;\n }\n return { ...projection, channelId: accepted[0] };\n }\n\n owns(projection: SessionChannelProjection | null): boolean {\n if (!projection) return false;\n const key = sessionChannelProjectionKey(projection);\n const channelId = projection.channelId ?? null;\n const committedMove = this.moves.get(key);\n if (committedMove) return committedMove[0] === channelId;\n const read = this.reads.get(key);\n const retainedOwner = this.retainedOwners.get(key);\n const accepted =\n retainedOwner && (!read || retainedOwner[1] > read[2])\n ? ([retainedOwner[0], true, retainedOwner[1]] as SessionChannelRead)\n : read;\n let highestPriority = accepted ? 0 : Number.NEGATIVE_INFINITY;\n let highestGeneration = accepted?.[2] ?? Number.NEGATIVE_INFINITY;\n let owned = accepted?.[1] === true && accepted[0] === channelId;\n for (const projections of this.owners.values()) {\n const candidate = projections.get(key);\n if (!candidate || candidate[1] < highestPriority) continue;\n if (candidate[1] > highestPriority || candidate[2] > highestGeneration) {\n highestPriority = candidate[1];\n highestGeneration = candidate[2];\n owned = candidate[0] === channelId;\n } else if (candidate[2] === highestGeneration && candidate[0] === channelId) {\n owned = true;\n }\n }\n return owned;\n }\n}\n\ntype SessionPinChangeMessage = {\n type: \"session-pin.changed\";\n sessionId: string;\n messageId: string;\n};\n\nfunction channelName(workspaceId: string): string {\n return `${SESSION_PIN_CHANNEL_PREFIX}:${workspaceId}`;\n}\n\nfunction storageKey(workspaceId: string): string {\n return `${SESSION_PIN_STORAGE_PREFIX}:${workspaceId}`;\n}\n\nfunction newMessageId(): string {\n if (typeof crypto !== \"undefined\" && typeof crypto.randomUUID === \"function\") {\n return crypto.randomUUID();\n }\n return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;\n}\n\nfunction sessionPinChangeMessage(value: unknown): SessionPinChangeMessage | null {\n const message = value as Partial<SessionPinChangeMessage> | null;\n return message?.type === \"session-pin.changed\" &&\n typeof message.sessionId === \"string\" &&\n message.sessionId.length > 0 &&\n typeof message.messageId === \"string\" &&\n message.messageId.length > 0\n ? (message as SessionPinChangeMessage)\n : null;\n}\n\nfunction sameTreeStats(a: SessionTreeStats | undefined, b: SessionTreeStats | undefined): boolean {\n if (a === b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return (\n a.directChildren === b.directChildren &&\n a.totalDescendants === b.totalDescendants &&\n a.runningDescendants === b.runningDescendants &&\n a.queuedDescendants === b.queuedDescendants &&\n a.attentionDescendants === b.attentionDescendants &&\n a.pausedDescendants === b.pausedDescendants &&\n (a.pausedWorkDescendants ?? 0) === (b.pausedWorkDescendants ?? 0) &&\n a.failedDescendants === b.failedDescendants &&\n (a.unreadFailedDescendants ?? a.failedDescendants) ===\n (b.unreadFailedDescendants ?? b.failedDescendants) &&\n (a.unreadDescendants ?? 0) === (b.unreadDescendants ?? 0) &&\n (a.activelyWorkingDescendants ?? 0) === (b.activelyWorkingDescendants ?? 0) &&\n (a.attentionSince ?? null) === (b.attentionSince ?? null) &&\n a.truncated === b.truncated\n );\n}\n\n/**\n * Merge a fresh hierarchy summary without letting an older personal failure\n * projection resurrect attention the viewer already consumed locally.\n *\n * `failedDescendants` is durable lifecycle history, while\n * `unreadFailedDescendants` is viewer-specific. When the lifecycle count is\n * unchanged but an incoming page reports more unread failures, the excess may\n * be a list read that started before the local acknowledgement committed. Keep\n * the acknowledged failure count, and remove only that stale failure delta\n * from the broader unread count so genuinely new unrelated unread work still\n * surfaces.\n */\nfunction mergeTreeStats(\n current: SessionTreeStats | undefined,\n projected: SessionTreeStats | undefined,\n): SessionTreeStats | undefined {\n if (!projected || !current) return projected ?? current;\n\n const currentUnreadFailed = current.unreadFailedDescendants ?? current.failedDescendants;\n const projectedUnreadFailed = projected.unreadFailedDescendants ?? projected.failedDescendants;\n if (\n current.failedDescendants !== projected.failedDescendants ||\n currentUnreadFailed >= projectedUnreadFailed\n ) {\n return projected;\n }\n\n const staleFailureDelta = projectedUnreadFailed - currentUnreadFailed;\n return {\n ...projected,\n unreadFailedDescendants: currentUnreadFailed,\n unreadDescendants: Math.max(\n current.unreadDescendants ?? 0,\n (projected.unreadDescendants ?? 0) - staleFailureDelta,\n ),\n };\n}\n\n/**\n * Merge only personal pin fields from a list/page projection into the open\n * route projection. Lifecycle and event-driven session fields remain owned by\n * the route/SSE reducer and cannot be regressed by a slower list poll.\n */\nexport function applySessionPinProjection<T extends Session>(\n current: T | null,\n projected: Pick<Session, \"id\" | \"workspaceId\" | \"pinned\" | \"pinnedAt\" | \"pinVersion\">,\n): T | null {\n if (!current || current.id !== projected.id || current.workspaceId !== projected.workspaceId) {\n return current;\n }\n const pinned = Boolean(projected.pinned);\n const pinnedAt = projected.pinnedAt ?? null;\n const pinVersion = projected.pinVersion ?? 0;\n // A page poll, mutation response, or legacy-replica response can finish\n // after a newer optimistic/authoritative projection is already visible.\n // Pin revisions are monotonic, so never let that older response undo the\n // newer header/list state. Equal revisions remain authoritative: they let a\n // server response replace the local optimistic timestamp for that revision.\n if (pinVersion < (current.pinVersion ?? 0)) {\n return current;\n }\n if (\n Boolean(current.pinned) === pinned &&\n (current.pinnedAt ?? null) === pinnedAt &&\n (current.pinVersion ?? 0) === pinVersion\n ) {\n return current;\n }\n return { ...current, pinned, pinnedAt, pinVersion };\n}\n\n/** Merge the list-owned project filing without replacing route/SSE content. */\nexport function applySessionChannelProjection<T extends Session>(\n current: T | null,\n projected: Pick<Session, \"id\" | \"workspaceId\" | \"channelId\">,\n): T | null {\n if (!current || current.id !== projected.id || current.workspaceId !== projected.workspaceId) {\n return current;\n }\n const channelId = projected.channelId ?? null;\n return (current.channelId ?? null) === channelId ? current : { ...current, channelId };\n}\n\n/**\n * Merge a detail/SSE projection into the root context without allowing a\n * slower detail read to erase newer list-owned pin or project projections.\n * Detail remains authoritative for route-owned fields; the current context\n * contributes personal pin fields and the project filing.\n */\nexport function mergeSessionContextProjection(\n current: SessionDetails | null,\n projected: SessionDetails | null,\n channelAuthority: SessionChannelProjectionAuthority,\n source: \"detail\" | \"live\",\n): SessionDetails | null {\n if (!projected) {\n return null;\n }\n const pinned = applySessionPinProjection(projected, current ?? projected) ?? projected;\n return source === \"live\" || channelAuthority.owns(current)\n ? (applySessionChannelProjection(pinned, current ?? projected) ?? pinned)\n : pinned;\n}\n\n/**\n * Merge a completed detail request only through the channel evidence that won\n * its request generation. A rejected late detail may still contribute its\n * route-owned fields when persistent authority can project the newer channel;\n * without such a winner it cannot seed stale route context after the rail (and\n * its transient owner evidence) has unmounted.\n */\nexport function mergeSessionDetailReadProjection(\n current: SessionDetails | null,\n projected: SessionDetails,\n channelAuthority: SessionChannelProjectionAuthority,\n readGeneration: number,\n accepted: boolean,\n): SessionDetails | null {\n const authoritative = accepted ? projected : channelAuthority.project(projected, readGeneration);\n if (!accepted && authoritative === projected && !channelAuthority.owns(projected)) {\n return current;\n }\n return mergeSessionContextProjection(current, authoritative, channelAuthority, \"detail\");\n}\n\n/**\n * Merge list-owned personal pin and hierarchy fields into route-owned session\n * content. A route/SSE object must never overwrite a newer cross-device unpin,\n * while a list poll must never regress lifecycle state or message content.\n * Activity ordering belongs to the list too: borrowing the selected route's\n * timestamp would move that row on selection and move it back on deselection.\n * List refreshes advance recency consistently for selected and unselected rows.\n * Creation ordering also keeps the list's exact SQL timestamp; route/lineage\n * Date hydration can discard the microseconds that distinguish adjacent rows.\n * When both agree the session needs a person and the list row is at least as\n * fresh as the detail, the list's `requiresActionSince` fills in for a detail\n * read, which never carries it, so selecting a row does not erase how long it\n * has been waiting.\n */\nexport function applySessionRailProjection<T extends Session>(\n current: T,\n projected: Session,\n options: { channelOwned?: boolean | undefined } = {},\n): T {\n const timed =\n current.updatedAt === projected.updatedAt && current.createdAt === projected.createdAt\n ? current\n : { ...current, updatedAt: projected.updatedAt, createdAt: projected.createdAt };\n const activity =\n timed.requiresActionSince == null &&\n projected.requiresActionSince != null &&\n timed.status === \"requires_action\" &&\n projected.status === \"requires_action\" &&\n // A list row older than the detail may describe an earlier request.\n projected.lastSequence >= timed.lastSequence\n ? { ...timed, requiresActionSince: projected.requiresActionSince }\n : timed;\n const pinned = applySessionPinProjection(activity, projected) ?? activity;\n const merged =\n options.channelOwned === false\n ? pinned\n : (applySessionChannelProjection(pinned, projected) ?? pinned);\n if (sameTreeStats(merged.treeStats, projected.treeStats)) {\n return merged;\n }\n const treeStats = mergeTreeStats(merged.treeStats, projected.treeStats);\n return treeStats ? { ...merged, treeStats } : merged;\n}\n\n/**\n * Reconcile the point read performed after a failed pin request.\n *\n * An optimistic first pin projects version 1 before the server responds. If the\n * request fails before commit, the authoritative point read correctly returns\n * the absent relation at version 0. The normal monotonic merge must reject an\n * arbitrary lower revision, but doing so here would leave the exact optimistic\n * projection stuck forever. Allow the lower authoritative revision only while\n * the current state is still byte-for-byte the projection installed by this\n * operation. Any intervening poll, mutation, or device response wins instead.\n */\nexport function reconcileFailedSessionPin(\n current: SessionDetails | null,\n optimistic: Pick<Session, \"id\" | \"workspaceId\" | \"pinned\" | \"pinnedAt\" | \"pinVersion\"> | null,\n authoritative: Pick<Session, \"id\" | \"workspaceId\" | \"pinned\" | \"pinnedAt\" | \"pinVersion\">,\n): SessionDetails | null;\nexport function reconcileFailedSessionPin(\n current: Session | null,\n optimistic: Pick<Session, \"id\" | \"workspaceId\" | \"pinned\" | \"pinnedAt\" | \"pinVersion\"> | null,\n authoritative: Pick<Session, \"id\" | \"workspaceId\" | \"pinned\" | \"pinnedAt\" | \"pinVersion\">,\n): Session | null;\nexport function reconcileFailedSessionPin<T extends Session>(\n current: T | null,\n optimistic: Pick<Session, \"id\" | \"workspaceId\" | \"pinned\" | \"pinnedAt\" | \"pinVersion\"> | null,\n authoritative: Pick<Session, \"id\" | \"workspaceId\" | \"pinned\" | \"pinnedAt\" | \"pinVersion\">,\n): T | null {\n if (\n !current ||\n !optimistic ||\n current.id !== optimistic.id ||\n current.workspaceId !== optimistic.workspaceId ||\n authoritative.id !== optimistic.id ||\n authoritative.workspaceId !== optimistic.workspaceId\n ) {\n return applySessionPinProjection(current, authoritative);\n }\n const stillExactOptimistic =\n Boolean(current.pinned) === Boolean(optimistic.pinned) &&\n (current.pinnedAt ?? null) === (optimistic.pinnedAt ?? null) &&\n (current.pinVersion ?? 0) === (optimistic.pinVersion ?? 0);\n if (!stillExactOptimistic) {\n return applySessionPinProjection(current, authoritative);\n }\n const authoritativePinned = Boolean(authoritative.pinned);\n const authoritativePinnedAt = authoritative.pinnedAt ?? null;\n const authoritativeVersion = authoritative.pinVersion ?? 0;\n if (\n Boolean(current.pinned) === authoritativePinned &&\n (current.pinnedAt ?? null) === authoritativePinnedAt &&\n (current.pinVersion ?? 0) === authoritativeVersion\n ) {\n return current;\n }\n return {\n ...current,\n pinned: authoritativePinned,\n pinnedAt: authoritativePinnedAt,\n pinVersion: authoritativeVersion,\n };\n}\n\nexport function notifySessionPinChanged(workspaceId: string, sessionId: string): void {\n const message: SessionPinChangeMessage = {\n type: \"session-pin.changed\",\n sessionId,\n messageId: newMessageId(),\n };\n if (typeof BroadcastChannel !== \"undefined\") {\n const name = channelName(workspaceId);\n try {\n let channel = outboundChannels.get(name);\n if (!channel) {\n // Closing immediately after postMessage is observably lossy in real\n // browsers. Keep one document-scoped outbound channel alive instead.\n channel = new BroadcastChannel(name);\n outboundChannels.set(name, channel);\n }\n channel.postMessage(message);\n } catch {\n // localStorage below remains the cross-document fallback.\n }\n }\n\n if (typeof window === \"undefined\") return;\n const key = storageKey(workspaceId);\n const serialized = JSON.stringify(message);\n try {\n window.localStorage.setItem(key, serialized);\n // Removing synchronously can race delivery in sibling tabs. Leave the\n // unique payload long enough to emit a storage event, then remove only the\n // value written by this notification.\n window.setTimeout(() => {\n try {\n if (window.localStorage.getItem(key) === serialized) {\n window.localStorage.removeItem(key);\n }\n } catch {\n // Storage may become unavailable after the page was backgrounded.\n }\n }, 1_000);\n } catch {\n // Private browsing and embedded contexts may deny localStorage entirely.\n }\n}\n\nexport function subscribeToSessionPinChanges(\n workspaceId: string,\n onChange: (sessionId: string) => void,\n): () => void {\n // BroadcastChannel and storage events can arrive in either order, and two\n // rapid mutations can interleave those transports. Remember a small bounded\n // window rather than only the immediately previous id so A, B, A still\n // invalidates exactly once per mutation without growing for the tab's life.\n const seenMessageIds = new Set<string>();\n const receive = (value: unknown): void => {\n const message = sessionPinChangeMessage(value);\n if (!message || seenMessageIds.has(message.messageId)) return;\n seenMessageIds.add(message.messageId);\n if (seenMessageIds.size > 64) {\n const oldest = seenMessageIds.values().next().value;\n if (oldest !== undefined) seenMessageIds.delete(oldest);\n }\n onChange(message.sessionId);\n };\n\n let channel: BroadcastChannel | null = null;\n if (typeof BroadcastChannel !== \"undefined\") {\n try {\n channel = new BroadcastChannel(channelName(workspaceId));\n channel.addEventListener(\"message\", (event: MessageEvent<unknown>) => receive(event.data));\n } catch {\n channel = null;\n }\n }\n\n const key = storageKey(workspaceId);\n const onStorage = (event: StorageEvent): void => {\n if (event.key !== key || !event.newValue) return;\n try {\n receive(JSON.parse(event.newValue));\n } catch {\n // Ignore malformed or unrelated storage payloads.\n }\n };\n if (typeof window !== \"undefined\") {\n window.addEventListener(\"storage\", onStorage);\n }\n\n return () => {\n channel?.close();\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"storage\", onStorage);\n }\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
payerShortLabel
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3DWQPURZ.js";
|
|
5
5
|
import {
|
|
6
6
|
showUndoToast
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-G6AZ2WIU.js";
|
|
8
8
|
import {
|
|
9
9
|
ACCESS_CHOICES,
|
|
10
10
|
SPEND_PERIOD_OPTIONS,
|
|
@@ -31,30 +31,30 @@ import {
|
|
|
31
31
|
} from "./chunk-SYCDHPZF.js";
|
|
32
32
|
import {
|
|
33
33
|
EmailChipsInput
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-FKK2PD7K.js";
|
|
35
35
|
import {
|
|
36
36
|
Disclosure
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-ZVR6DUZH.js";
|
|
38
38
|
import {
|
|
39
39
|
useWorkspaceModelCatalog
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-7MGDX2TD.js";
|
|
41
41
|
import {
|
|
42
42
|
ModelPicker
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-YD6XU6FY.js";
|
|
44
44
|
import {
|
|
45
45
|
useCopyToClipboard
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-USURKJVT.js";
|
|
47
47
|
import {
|
|
48
48
|
toast
|
|
49
49
|
} from "./chunk-O4EA4F3W.js";
|
|
50
50
|
import {
|
|
51
51
|
ChoiceCard,
|
|
52
52
|
ChoiceCards
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-TKHRGY2P.js";
|
|
54
54
|
import {
|
|
55
55
|
ListRow,
|
|
56
56
|
RowList
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-JNMHFSDF.js";
|
|
58
58
|
import {
|
|
59
59
|
cn
|
|
60
60
|
} from "./chunk-A3MTTRCX.js";
|
|
@@ -68,7 +68,7 @@ import {
|
|
|
68
68
|
FormDialog,
|
|
69
69
|
FormInline,
|
|
70
70
|
FormPage
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-TU2GSZL7.js";
|
|
72
72
|
import {
|
|
73
73
|
userErrorText
|
|
74
74
|
} from "./chunk-O4OOG3D6.js";
|
|
@@ -83,10 +83,10 @@ import {
|
|
|
83
83
|
} from "./chunk-7V5REBCP.js";
|
|
84
84
|
import {
|
|
85
85
|
SelectMenu
|
|
86
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-VPHPLPDA.js";
|
|
87
87
|
import {
|
|
88
88
|
RelativeTime
|
|
89
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-BVNGDFBC.js";
|
|
90
90
|
import {
|
|
91
91
|
SettingRow
|
|
92
92
|
} from "./chunk-YNF2OC54.js";
|
|
@@ -96,7 +96,7 @@ import {
|
|
|
96
96
|
FieldStack,
|
|
97
97
|
TextArea,
|
|
98
98
|
TextInput
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-J555XSUM.js";
|
|
100
100
|
import {
|
|
101
101
|
Notice
|
|
102
102
|
} from "./chunk-FSOQDUCG.js";
|
|
@@ -1064,4 +1064,4 @@ export {
|
|
|
1064
1064
|
sitePublicationHeader,
|
|
1065
1065
|
SitePublishPage
|
|
1066
1066
|
};
|
|
1067
|
-
//# sourceMappingURL=chunk-
|
|
1067
|
+
//# sourceMappingURL=chunk-K376MPJH.js.map
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import {
|
|
3
|
+
ProjectProfileDialog
|
|
4
|
+
} from "./chunk-6BQLDL6R.js";
|
|
2
5
|
import {
|
|
3
6
|
SITE_DRAG_TYPE,
|
|
4
7
|
SiteRowActionsContext,
|
|
5
8
|
SiteSessionGroupHeading,
|
|
6
9
|
readSiteRowDragPayload
|
|
7
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-OAL2PPX4.js";
|
|
8
11
|
import {
|
|
9
12
|
RAIL_ROW_OVERFLOW_TRIGGER_CLASS,
|
|
10
13
|
RAIL_ROW_QUICK_ACTIONS_CLASS,
|
|
11
14
|
RailRowQuickAction
|
|
12
15
|
} from "./chunk-PNVSFQFB.js";
|
|
13
|
-
import {
|
|
14
|
-
SessionBrowseOrderControls
|
|
15
|
-
} from "./chunk-D5ZTB7YK.js";
|
|
16
|
-
import {
|
|
17
|
-
ProjectProfileDialog
|
|
18
|
-
} from "./chunk-PYB4BFEC.js";
|
|
19
|
-
import {
|
|
20
|
-
SessionRowHoverDetails
|
|
21
|
-
} from "./chunk-LIJNVIT3.js";
|
|
22
16
|
import {
|
|
23
17
|
SiteOriginLink
|
|
24
18
|
} from "./chunk-P3A2EINJ.js";
|
|
25
19
|
import {
|
|
26
20
|
SessionProfileEditorDialog,
|
|
27
21
|
useCanEditSessionProfile
|
|
28
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-APHLXQNP.js";
|
|
23
|
+
import {
|
|
24
|
+
SessionBrowseOrderControls
|
|
25
|
+
} from "./chunk-D5ZTB7YK.js";
|
|
26
|
+
import {
|
|
27
|
+
SessionRowHoverDetails
|
|
28
|
+
} from "./chunk-4L5B5AZT.js";
|
|
29
29
|
import {
|
|
30
30
|
ActiveWorkMark,
|
|
31
31
|
RailTrailingMetadata,
|
|
32
32
|
SessionRowContent,
|
|
33
33
|
sessionRowAccessibleName
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-7D3WIDKK.js";
|
|
35
35
|
import {
|
|
36
36
|
applySessionChannelMove,
|
|
37
37
|
beginSessionChannelMove,
|
|
@@ -80,16 +80,16 @@ import {
|
|
|
80
80
|
sessionBranchSummaryDecision,
|
|
81
81
|
sessionBranchSummaryKey,
|
|
82
82
|
upsertSessionBranchChild
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-LKWVBUH6.js";
|
|
84
84
|
import {
|
|
85
85
|
sessionMatchesPaginationGroup,
|
|
86
86
|
sessionPaginationGroupQuery,
|
|
87
87
|
sessionPaginationProjectGroup
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-AYTLSPF6.js";
|
|
89
89
|
import {
|
|
90
90
|
sessionHoverDescription,
|
|
91
91
|
sessionHoverFacts
|
|
92
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-JTBAOPYO.js";
|
|
93
93
|
import {
|
|
94
94
|
buildPinnedRailSections,
|
|
95
95
|
channelRailSections,
|
|
@@ -110,20 +110,20 @@ import {
|
|
|
110
110
|
summarizeRailStatusCounts,
|
|
111
111
|
visibleForestRows,
|
|
112
112
|
visibleTreeRows
|
|
113
|
-
} from "./chunk-
|
|
113
|
+
} from "./chunk-2PY5XD3F.js";
|
|
114
114
|
import {
|
|
115
115
|
sessionDescendantCountAria,
|
|
116
116
|
sessionDescendantCountText
|
|
117
117
|
} from "./chunk-XVVJBNUQ.js";
|
|
118
118
|
import {
|
|
119
119
|
ChannelCreateDialog
|
|
120
|
-
} from "./chunk-
|
|
120
|
+
} from "./chunk-DQ32FKFQ.js";
|
|
121
121
|
import {
|
|
122
122
|
ProjectGlyph
|
|
123
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-AJHLEJTK.js";
|
|
124
124
|
import {
|
|
125
125
|
SessionAvatar
|
|
126
|
-
} from "./chunk-
|
|
126
|
+
} from "./chunk-WZYGH7CN.js";
|
|
127
127
|
import {
|
|
128
128
|
applySessionAttentionProjections,
|
|
129
129
|
latestSessionAttentionProjection,
|
|
@@ -142,7 +142,7 @@ import {
|
|
|
142
142
|
sessionAncestorPath,
|
|
143
143
|
sessionStateLabel,
|
|
144
144
|
visualTreeDepth
|
|
145
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-YPIXBAF6.js";
|
|
146
146
|
import {
|
|
147
147
|
useCanLimitToMe
|
|
148
148
|
} from "./chunk-VAUWRCUY.js";
|
|
@@ -160,7 +160,7 @@ import {
|
|
|
160
160
|
} from "./chunk-IJYL5BZM.js";
|
|
161
161
|
import {
|
|
162
162
|
useInlineRename
|
|
163
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-LEBEOMVT.js";
|
|
164
164
|
import {
|
|
165
165
|
railRouteSelection
|
|
166
166
|
} from "./chunk-H6474TCK.js";
|
|
@@ -168,7 +168,7 @@ import {
|
|
|
168
168
|
rememberSidebarSites,
|
|
169
169
|
useActionShortcut,
|
|
170
170
|
useChatOperations
|
|
171
|
-
} from "./chunk-
|
|
171
|
+
} from "./chunk-4IUOBO2H.js";
|
|
172
172
|
import {
|
|
173
173
|
TooltipWithKeys
|
|
174
174
|
} from "./chunk-OHGG2G3A.js";
|
|
@@ -201,11 +201,11 @@ import {
|
|
|
201
201
|
readChatDirectory,
|
|
202
202
|
rememberChats,
|
|
203
203
|
setSidebarOrder
|
|
204
|
-
} from "./chunk-
|
|
204
|
+
} from "./chunk-5NKQZVXP.js";
|
|
205
205
|
import {
|
|
206
206
|
requestCommandMenu,
|
|
207
207
|
useRail
|
|
208
|
-
} from "./chunk-
|
|
208
|
+
} from "./chunk-ZAC7YPRA.js";
|
|
209
209
|
import {
|
|
210
210
|
cancelSessionRowRevealIntent,
|
|
211
211
|
consumeSessionRowRevealIntent,
|
|
@@ -244,10 +244,10 @@ import {
|
|
|
244
244
|
applySessionPinProjection,
|
|
245
245
|
applySessionRailProjection,
|
|
246
246
|
subscribeToSessionPinChanges
|
|
247
|
-
} from "./chunk-
|
|
247
|
+
} from "./chunk-JWSRFXRN.js";
|
|
248
248
|
import {
|
|
249
249
|
t
|
|
250
|
-
} from "./chunk-
|
|
250
|
+
} from "./chunk-J42QE4VO.js";
|
|
251
251
|
import {
|
|
252
252
|
isPersonalWorkspace
|
|
253
253
|
} from "./chunk-LBSXJVHD.js";
|
|
@@ -264,7 +264,7 @@ import {
|
|
|
264
264
|
} from "./chunk-JDFDPMKX.js";
|
|
265
265
|
import {
|
|
266
266
|
sessionAutomationWaitWords
|
|
267
|
-
} from "./chunk-
|
|
267
|
+
} from "./chunk-O2H2U7YS.js";
|
|
268
268
|
import {
|
|
269
269
|
Tooltip,
|
|
270
270
|
TooltipContent,
|
|
@@ -281,7 +281,7 @@ import {
|
|
|
281
281
|
} from "./chunk-A3MTTRCX.js";
|
|
282
282
|
import {
|
|
283
283
|
ConfirmDialog
|
|
284
|
-
} from "./chunk-
|
|
284
|
+
} from "./chunk-CAZDRDQT.js";
|
|
285
285
|
import {
|
|
286
286
|
DropdownMenu,
|
|
287
287
|
DropdownMenuCheck,
|
|
@@ -303,7 +303,7 @@ import {
|
|
|
303
303
|
relativeTimeLabel,
|
|
304
304
|
sessionDisplayTitle,
|
|
305
305
|
sessionInputWait
|
|
306
|
-
} from "./chunk-
|
|
306
|
+
} from "./chunk-BGIYL26H.js";
|
|
307
307
|
import {
|
|
308
308
|
useChannels
|
|
309
309
|
} from "./chunk-TWYAHA4C.js";
|
|
@@ -5060,4 +5060,4 @@ export {
|
|
|
5060
5060
|
CollapsedSessionsButton,
|
|
5061
5061
|
isStillRunningDeleteRefusal
|
|
5062
5062
|
};
|
|
5063
|
-
//# sourceMappingURL=chunk-
|
|
5063
|
+
//# sourceMappingURL=chunk-KEBVT55V.js.map
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
workspaceNavigationPreferenceStorageId,
|
|
34
34
|
writeLastWorkspaceId,
|
|
35
35
|
writeLastWorkspaceIdForOrganization
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-RA3Q52O2.js";
|
|
37
37
|
import {
|
|
38
38
|
beginWorkspaceOperation,
|
|
39
39
|
beginWorkspaceTransition,
|
|
@@ -78,7 +78,7 @@ import {
|
|
|
78
78
|
applySessionPinProjection,
|
|
79
79
|
notifySessionPinChanged,
|
|
80
80
|
reconcileFailedSessionPin
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-JWSRFXRN.js";
|
|
82
82
|
import {
|
|
83
83
|
isPaymentRequiredError,
|
|
84
84
|
paymentRefusalCode
|
|
@@ -97,10 +97,10 @@ import {
|
|
|
97
97
|
classifyCreateSessionFailure,
|
|
98
98
|
prepareCreateSessionAttempt,
|
|
99
99
|
retainCreateSessionAttemptAfterFailure
|
|
100
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-UMRUDYUK.js";
|
|
101
101
|
import {
|
|
102
102
|
t
|
|
103
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-J42QE4VO.js";
|
|
104
104
|
import {
|
|
105
105
|
buildOpenGeniUiTools,
|
|
106
106
|
buildResources,
|
|
@@ -2383,4 +2383,4 @@ export {
|
|
|
2383
2383
|
createSlackLinkPrepareController,
|
|
2384
2384
|
useAppState
|
|
2385
2385
|
};
|
|
2386
|
-
//# sourceMappingURL=chunk-
|
|
2386
|
+
//# sourceMappingURL=chunk-KFIZAXHI.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-TFD6JXHN.js";
|
|
5
5
|
import {
|
|
6
6
|
BillingClassMark
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-FW22IREV.js";
|
|
8
8
|
|
|
9
9
|
// src/app/components/billing-class-mark.tsx
|
|
10
10
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -30,4 +30,4 @@ export {
|
|
|
30
30
|
openGeniGroupPresentation,
|
|
31
31
|
BillingClassMark2 as BillingClassMark
|
|
32
32
|
};
|
|
33
|
-
//# sourceMappingURL=chunk-
|
|
33
|
+
//# sourceMappingURL=chunk-KKGRDBMK.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
FailureRecoveryBoundary
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-UOT2R5ZD.js";
|
|
5
5
|
|
|
6
6
|
// src/app/components/personal-resource-attachment-surface.tsx
|
|
7
7
|
import { lazy, Suspense } from "react";
|
|
@@ -40,4 +40,4 @@ function PersonalResourceAttachmentSurface(props) {
|
|
|
40
40
|
export {
|
|
41
41
|
PersonalResourceAttachmentSurface
|
|
42
42
|
};
|
|
43
|
-
//# sourceMappingURL=chunk-
|
|
43
|
+
//# sourceMappingURL=chunk-KKQO2GAA.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-TXS65BB2.js";
|
|
8
8
|
import {
|
|
9
9
|
useOpenGeniText
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-7SU4YVZ5.js";
|
|
11
11
|
|
|
12
12
|
// src/components/code-editor.tsx
|
|
13
13
|
import { Loader2Icon, SaveIcon } from "lucide-react";
|
|
@@ -383,4 +383,4 @@ export {
|
|
|
383
383
|
languageForPath,
|
|
384
384
|
CodeEditor
|
|
385
385
|
};
|
|
386
|
-
//# sourceMappingURL=chunk-
|
|
386
|
+
//# sourceMappingURL=chunk-KO753ZCZ.js.map
|