@opengeni/react 4.5.1-canary.39832248373001 → 4.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/app-state.js +7 -7
- package/dist/app/components/Composer.js +14 -14
- package/dist/app/components/artifacts/artifact-library.js +1 -1
- package/dist/app/components/artifacts/chat-interactive-block.js +10 -10
- package/dist/app/components/artifacts/inline-chat-image.js +14 -14
- package/dist/app/components/artifacts/retained-file-preview.js +16 -16
- package/dist/app/components/artifacts/retained-text-preview.js +2 -2
- package/dist/app/components/artifacts/site-data.js +4 -2
- package/dist/app/components/artifacts/site-publishing.js +9 -9
- package/dist/app/components/artifacts/site-settings.js +11 -11
- package/dist/app/components/billing-class-mark.js +3 -3
- package/dist/app/components/capabilities/capability-detail-sheet.js +3 -3
- package/dist/app/components/capabilities/capability-logo-source.js +7 -7
- package/dist/app/components/capabilities/native-connect-setup.js +7 -7
- package/dist/app/components/capabilities/prepared-mcp-setup-card.js +8 -8
- package/dist/app/components/capabilities/session-capability-card.js +33 -33
- package/dist/app/components/capabilities/session-chrome-card.js +13 -13
- package/dist/app/components/capabilities/session-custom-mcp-card.js +9 -9
- package/dist/app/components/capabilities/session-github-card.js +8 -8
- package/dist/app/components/capabilities/session-machine-card.js +12 -12
- package/dist/app/components/command-menu/chat-status.js +7 -6
- package/dist/app/components/command-menu/chat-switcher.js +7 -6
- package/dist/app/components/command-menu/chat-switcher.js.map +1 -1
- package/dist/app/components/command-menu/command-menu.js +13 -12
- package/dist/app/components/command-menu/command-menu.js.map +1 -1
- package/dist/app/components/command-menu/shortcut-sheet.js +8 -8
- package/dist/app/components/composer-mobile-plus-panel.js +5 -5
- package/dist/app/components/composer-mobile-plus.js +1 -1
- package/dist/app/components/credit-required-gate.js +1 -1
- package/dist/app/components/credit-required-prompt.js +6 -4
- package/dist/app/components/credit-required-prompt.js.map +1 -1
- package/dist/app/components/credits/credit-refusal-notice.js +5 -3
- package/dist/app/components/desktop/app-shots.js +5 -5
- package/dist/app/components/desktop/this-computer.js +4 -4
- package/dist/app/components/feedback.js +3 -3
- package/dist/app/components/follow-up-repository-menu-body.js +4 -2
- package/dist/app/components/follow-up-repository-menu-body.js.map +1 -1
- package/dist/app/components/follow-up-repository-picker.js +4 -2
- package/dist/app/components/github-app-connect-launcher.js +1 -1
- package/dist/app/components/machines/connect-machine-dialog.js +3 -3
- package/dist/app/components/markdown.js +4 -4
- package/dist/app/components/models/models-ui.js +1 -1
- package/dist/app/components/pickers.js +5 -5
- package/dist/app/components/rail/rail-context.js +2 -2
- package/dist/app/components/rail/rail-sections.js +19 -18
- package/dist/app/components/rail/session-header.js +13 -13
- package/dist/app/components/rail/session-list.js +20 -19
- package/dist/app/components/rail/session-row-content.js +4 -2
- package/dist/app/components/rail/session-row-hover-details.js +7 -6
- package/dist/app/components/rail/session-shell.js +35 -34
- package/dist/app/components/rail/site-session-group-heading.js +4 -3
- package/dist/app/components/repository-picker.js +4 -2
- package/dist/app/components/session/agent-configuration-panel.js +5 -5
- package/dist/app/components/session/banners.js +9 -7
- package/dist/app/components/session/codex-account-indicator.js +5 -5
- package/dist/app/components/session/editable-artifacts-workspace.js +11 -11
- package/dist/app/components/session/failed-session-banner.js +4 -4
- package/dist/app/components/session/human-input.js +24 -24
- package/dist/app/components/session/inspector.js +32 -31
- package/dist/app/components/session/inspector.js.map +1 -1
- package/dist/app/components/session/message-actions.js +3 -3
- package/dist/app/components/session/message-resource-attachments.js +5 -5
- package/dist/app/components/session/model-account-indicator.js +5 -5
- package/dist/app/components/session/model-recovery-notice.js +3 -3
- package/dist/app/components/session/new-session-settings-menu.js +4 -4
- package/dist/app/components/session/sandbox-switcher.js +8 -8
- package/dist/app/components/session/sandbox-workspace.js +33 -33
- package/dist/app/components/session/search-markdown-highlight.js +5 -5
- package/dist/app/components/session/search-results-view.js +6 -6
- package/dist/app/components/session/session-admission-notice.js +4 -4
- package/dist/app/components/session/session-machine-access-notice.js +4 -4
- package/dist/app/components/session/session-search-dialog.js +6 -6
- package/dist/app/components/session/session-usage-limit-section.js +3 -3
- package/dist/app/components/session/subagents.js +4 -4
- package/dist/app/components/usage/usage-entry.js +3 -3
- package/dist/app/components/workspace-composer-plus.js +10 -10
- package/dist/app/embed/session-app.js +109 -109
- package/dist/app/lib/actions/actions-provider.js +5 -5
- package/dist/app/lib/codex-usage-query.js +2 -2
- package/dist/app/lib/composer-connectors.js +8 -8
- package/dist/app/lib/console-text.js +2 -2
- package/dist/app/lib/credit-coverage.js +4 -2
- package/dist/app/lib/events.js +7 -7
- package/dist/app/lib/failed-session-copy.js +3 -3
- package/dist/app/lib/format.d.ts +2 -7
- package/dist/app/lib/format.js +5 -2
- 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 +6 -5
- package/dist/app/lib/session-group-pagination.js +6 -5
- package/dist/app/lib/session-hover-facts.js +6 -5
- package/dist/app/lib/sessions-group.js +5 -4
- package/dist/app/lib/turn-failure-analytics.js +4 -4
- 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 +25 -24
- package/dist/app/routes/artifacts.js.map +1 -1
- package/dist/app/routes/retained-artifact.js +16 -16
- package/dist/app/routes/session.js +73 -73
- package/dist/app/routes/sessions-index.js +51 -50
- package/dist/app/routes/site-view.js +30 -29
- package/dist/app/routes/site-view.js.map +1 -1
- 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/{browser-viewer-VPK3CV2H.js → browser-viewer-YQC6BFMS.js} +4 -4
- package/dist/{chat-interactive-block-AMDSW656.js → chat-interactive-block-Z22YHDRU.js} +5 -5
- package/dist/{chunk-TDIOBPLA.js → chunk-24POWVUY.js} +4 -4
- package/dist/{chunk-SJORXXLV.js → chunk-26P7B46A.js} +3 -3
- package/dist/{chunk-6O4VWKSO.js → chunk-27EORKJ4.js} +2 -2
- package/dist/{chunk-WWOHORRO.js → chunk-2K27S6LK.js} +3 -3
- package/dist/{chunk-OFB6TUDC.js → chunk-2LUO22FR.js} +4 -4
- package/dist/{chunk-FSP334UU.js → chunk-2SZ3KC5S.js} +2 -2
- package/dist/{chunk-GZGQHQI7.js → chunk-32HA7DXJ.js} +14 -14
- package/dist/{chunk-PCJLH45G.js → chunk-3MQM4ZOC.js} +3 -3
- package/dist/{chunk-SD4PPZFB.js → chunk-3ZZOE4SN.js} +4 -4
- package/dist/{chunk-YGSJWWT3.js → chunk-467VRP4E.js} +3 -3
- package/dist/{chunk-D3RK3NGM.js → chunk-4BF3DD6R.js} +2 -2
- package/dist/{chunk-CDUDKETD.js → chunk-4ICPJZAB.js} +2 -2
- package/dist/{chunk-I66ZB6KD.js → chunk-4PC7LIQK.js} +3 -3
- package/dist/{chunk-D5OWJZQR.js → chunk-4RY64KQY.js} +2 -2
- package/dist/{chunk-PUTS4DYW.js → chunk-4VJOZJDV.js} +2 -2
- package/dist/{chunk-AOUCHCSB.js → chunk-4XKT4ENZ.js} +4 -4
- package/dist/{chunk-F3FN6DO6.js → chunk-4XO346BW.js} +2 -2
- package/dist/{chunk-YO64YVYL.js → chunk-65K5LV4L.js} +30 -30
- package/dist/{chunk-KFWVBTUH.js → chunk-6JF7C3U3.js} +2 -2
- package/dist/{chunk-LQ47YL6E.js → chunk-6K3WNTRI.js} +2 -2
- package/dist/{chunk-CCR33J7L.js → chunk-6N7W3TOV.js} +2 -2
- package/dist/chunk-6NXQCOLD.js +71 -0
- package/dist/chunk-6NXQCOLD.js.map +1 -0
- package/dist/{chunk-ILDOW2IQ.js → chunk-6PQBKMUL.js} +3 -3
- package/dist/{chunk-VO6RVVP7.js → chunk-6VITVQ23.js} +4 -4
- package/dist/{chunk-AIEXYO2X.js → chunk-6YDXUE5H.js} +2 -2
- package/dist/{chunk-HPB4KSV3.js → chunk-72XEFLMD.js} +2 -2
- package/dist/{chunk-7R2JQHBX.js → chunk-74NIHMAT.js} +3 -3
- package/dist/{chunk-5MJHH72T.js → chunk-7EGWIME2.js} +4 -4
- package/dist/{chunk-WVX5AQXS.js → chunk-7H2D4VNU.js} +2 -2
- package/dist/{chunk-IUK5QGP5.js → chunk-7JZSFJHB.js} +2 -2
- package/dist/{chunk-AJPW3SV4.js → chunk-7OIBLMDP.js} +2 -2
- package/dist/{chunk-5YFY4SFC.js → chunk-AJ7PY4FJ.js} +2 -2
- package/dist/{chunk-3ABPIUCK.js → chunk-B254JG72.js} +2 -2
- package/dist/{chunk-F33EDYS7.js → chunk-BCFHMBMK.js} +7 -7
- package/dist/{chunk-TJQDL3JH.js → chunk-BPD4IJBG.js} +2 -2
- package/dist/{chunk-FB3B45FP.js → chunk-BQWUXC55.js} +9 -9
- package/dist/{chunk-DGLRZMXL.js → chunk-BWKZEW6K.js} +3 -3
- package/dist/{chunk-MOKYT3X3.js → chunk-C6JL6PBL.js} +3 -3
- package/dist/{chunk-JWN7SLTO.js → chunk-CA64OZLZ.js} +6 -6
- package/dist/{chunk-GFSOXB2K.js → chunk-CEQUNJJY.js} +2 -2
- package/dist/{chunk-DFXZYNTX.js → chunk-CKA4SJRK.js} +2 -2
- package/dist/{chunk-D64Z4V26.js → chunk-CPKD2YGK.js} +5 -5
- package/dist/{chunk-PKEKZ2VA.js → chunk-CYO5HL4C.js} +9 -25
- package/dist/chunk-CYO5HL4C.js.map +1 -0
- package/dist/{chunk-A2E3ZF6N.js → chunk-D4QOZXPM.js} +2 -2
- package/dist/{chunk-A6CK4ENG.js → chunk-DAQG3C4W.js} +6 -6
- package/dist/{chunk-7PUFAH4I.js → chunk-DNLXQUBX.js} +12 -12
- package/dist/{chunk-ZX5H7LWD.js → chunk-DNWBLT4U.js} +2 -2
- package/dist/{chunk-4U4GXWXS.js → chunk-DNYD7AUG.js} +3 -3
- package/dist/{chunk-EMCB6XKU.js → chunk-DZH2HTTB.js} +1 -1
- package/dist/{chunk-Z6E6TUAE.js → chunk-EURDMOXZ.js} +2 -2
- package/dist/{chunk-UUSAOIJR.js → chunk-F4B2YYCN.js} +3 -3
- package/dist/{chunk-ENS6E4RZ.js → chunk-FH75NNLB.js} +2 -2
- package/dist/{chunk-H4IE2PYF.js → chunk-FMATVQFW.js} +6 -6
- package/dist/{chunk-ECHYJP63.js → chunk-FVCLVASD.js} +21 -21
- package/dist/{chunk-PMD7V4N7.js → chunk-G3FU2IF7.js} +3 -3
- package/dist/{chunk-HUXDGWAN.js → chunk-GMVKCEBG.js} +2 -2
- package/dist/{chunk-SWCLN6JE.js → chunk-GRNE5ANU.js} +2 -2
- package/dist/{chunk-IPPVX5GF.js → chunk-GTR2WUBA.js} +1 -1
- package/dist/{chunk-BT2MVGHT.js → chunk-GTR5NLVP.js} +2 -2
- package/dist/{chunk-HNNM2GDN.js → chunk-GUIZDI5T.js} +2 -2
- package/dist/{chunk-ND2WCWXI.js → chunk-GXK4CUAB.js} +2 -2
- package/dist/{chunk-MJQBC7C5.js → chunk-HCCSAECI.js} +2 -2
- package/dist/{chunk-QLIDZGPV.js → chunk-HJTTDLF6.js} +4 -4
- package/dist/{chunk-WUHB422G.js → chunk-HTKVYEVB.js} +2 -2
- package/dist/{chunk-DKCX643S.js → chunk-HXZIX7MR.js} +8 -8
- package/dist/{chunk-DJFTH2DI.js → chunk-I57HZMMA.js} +2 -2
- package/dist/{chunk-VPNXQUUS.js → chunk-I74J2UZ2.js} +8 -8
- package/dist/{chunk-5TLEWXAB.js → chunk-IKQMSROV.js} +1 -13
- package/dist/chunk-IKQMSROV.js.map +1 -0
- package/dist/{chunk-A6T4FGE7.js → chunk-IWIMIRV3.js} +4 -4
- package/dist/{chunk-FVL4B552.js → chunk-JI6WPLZB.js} +4 -4
- package/dist/{chunk-RAMZTZOB.js → chunk-JJ7VMIEQ.js} +43 -43
- package/dist/{chunk-GDLDBR6B.js → chunk-JQKURO3S.js} +2 -2
- package/dist/{chunk-O2SBHS2N.js → chunk-K4FDZVMQ.js} +2 -2
- package/dist/{chunk-TLL22FFO.js → chunk-KUO5WFXG.js} +2 -2
- package/dist/{chunk-KUNFUSZ7.js → chunk-KVMFT6FN.js} +2 -2
- package/dist/{chunk-5M23GZA2.js → chunk-KW53DBY7.js} +2 -2
- package/dist/{chunk-5HIOVXOX.js → chunk-LG67ZNRU.js} +2 -2
- package/dist/{chunk-VW3BBTMA.js → chunk-LJZNHDKI.js} +2 -2
- package/dist/{chunk-CB574ERL.js → chunk-LR7U3HCD.js} +4 -4
- package/dist/{chunk-2FPS5H2D.js → chunk-M5E3CKSE.js} +2 -2
- package/dist/{chunk-3PEXVG4D.js → chunk-M7A226EQ.js} +2 -2
- package/dist/{chunk-IIO2MR3B.js → chunk-M7YEZR6X.js} +2 -2
- package/dist/{chunk-XU4I47IP.js → chunk-MB2DTUEG.js} +4 -4
- package/dist/{chunk-UGEWCWVV.js → chunk-MDRLP5DO.js} +3 -3
- package/dist/{chunk-SQDPHCK2.js → chunk-MHIYYHCL.js} +9 -9
- package/dist/{chunk-R7XCJWCD.js → chunk-MY6VZVCP.js} +3 -3
- package/dist/{chunk-BLPXOHG6.js → chunk-NF6Q4XTN.js} +3 -3
- package/dist/{chunk-EH7TTYE6.js → chunk-NPDL4W4Y.js} +52 -52
- package/dist/{chunk-NQQKOJDI.js → chunk-NURA4KUR.js} +2 -2
- package/dist/{chunk-25LWDG5D.js → chunk-NV5OYV3G.js} +5 -5
- package/dist/{chunk-TN5T5HRZ.js → chunk-NZMQDUOD.js} +5 -5
- package/dist/{chunk-WYDZP5F2.js → chunk-O4AWXTZQ.js} +3 -3
- package/dist/{chunk-XNACICAB.js → chunk-O5UOCMH4.js} +3 -3
- package/dist/{chunk-QBADR2FO.js → chunk-O73DRA77.js} +6 -6
- package/dist/{chunk-TR4HIKJ2.js → chunk-OHG2UQ2O.js} +3 -3
- package/dist/{chunk-7IYAHFPE.js → chunk-OLUG4IFF.js} +2 -2
- package/dist/{chunk-VWSFA4LJ.js → chunk-OWJD3V4V.js} +2 -2
- package/dist/{chunk-SFAU5R5S.js → chunk-PEGNFZ3F.js} +2 -2
- package/dist/{chunk-THVIT3PW.js → chunk-PQCFW2KT.js} +10 -10
- package/dist/{chunk-LMPTC4CX.js → chunk-QLDMF7MH.js} +2 -2
- package/dist/{chunk-DYJGYGPB.js → chunk-R5YZ3ROM.js} +2 -2
- package/dist/{chunk-SCNEQFIW.js → chunk-RABKQFTA.js} +2 -2
- package/dist/{chunk-PVR5EELP.js → chunk-RNBH5TSM.js} +2 -2
- package/dist/{chunk-2DL6NJP5.js → chunk-RXMIXKB3.js} +1 -1
- package/dist/{chunk-JFK7NTEA.js → chunk-S6WJ6TUT.js} +7 -1
- package/dist/{chunk-JFK7NTEA.js.map → chunk-S6WJ6TUT.js.map} +1 -1
- package/dist/{chunk-UXXFMF4X.js → chunk-SJPAKWWP.js} +2 -2
- package/dist/{chunk-FRP64DEK.js → chunk-SK57RWSA.js} +2 -2
- package/dist/{chunk-WSZQNTVN.js → chunk-SSZROOOI.js} +2 -2
- package/dist/{chunk-2CKVVAGP.js → chunk-TM2ZLY3Q.js} +13 -13
- package/dist/{chunk-7VN6VC3D.js → chunk-UHMMRQGU.js} +3 -3
- package/dist/{chunk-G2BX56CN.js → chunk-W57QFLQD.js} +3 -3
- package/dist/{chunk-TEPPPAJI.js → chunk-WLZVXCPZ.js} +3 -3
- package/dist/{chunk-PFAUGEV5.js → chunk-WN2MIB4Q.js} +2 -2
- package/dist/{chunk-QXEDIDBZ.js → chunk-WWM7WVD2.js} +2 -2
- package/dist/{chunk-AX6YJA5U.js → chunk-X7Z4B5GK.js} +2 -2
- package/dist/{chunk-WBPQ7OPC.js → chunk-XDCZBOEY.js} +1 -1
- package/dist/{chunk-4MQLGMV2.js → chunk-XGE75VPK.js} +3 -3
- package/dist/{chunk-LKJ2C7PH.js → chunk-ZPZYYSHW.js} +8 -8
- package/dist/{chunk-YG3IJCM2.js → chunk-ZRB4M3GG.js} +4 -4
- package/dist/{chunk-ERG355NM.js → chunk-ZWACUOU5.js} +3 -3
- package/dist/{chunk-XN6CALYY.js → chunk-ZZUKJ5HQ.js} +5 -5
- package/dist/composer.js +6 -6
- package/dist/{computer-viewer-VA5JONUH.js → computer-viewer-BWVNDFTO.js} +5 -5
- package/dist/connect.js +6 -6
- package/dist/desktop.js +2 -2
- package/dist/editor.js +2 -2
- package/dist/{embedded-new-voice-6BILAOUG.js → embedded-new-voice-GBXSZ3TO.js} +5 -5
- package/dist/{embedded-voice-UDE4JRKB.js → embedded-voice-MGI7EK7C.js} +5 -5
- package/dist/{fleet-decision-row-NN2HXDX3.js → fleet-decision-row-35S3GAUN.js} +2 -2
- package/dist/index.js +32 -32
- package/dist/interaction.js +5 -5
- package/dist/machines.js +3 -3
- package/dist/messages/en.d.ts +6 -0
- package/dist/messages.js +1 -1
- package/dist/{model-policy-picker-menu-NRTO6FRP.js → model-policy-picker-menu-KP53N6UJ.js} +4 -4
- package/dist/{platform-activity-row-ENQVIFTL.js → platform-activity-row-ISMXR7NJ.js} +2 -2
- package/dist/{queue-surface-implementation-H4XSNHZE.js → queue-surface-implementation-ULW7DDJA.js} +5 -5
- package/dist/realtime.js +4 -4
- package/dist/{sandbox-files-IEHODU35.js → sandbox-files-QYSD4XCZ.js} +6 -6
- package/dist/session-agents-model.d.ts +23 -1
- package/dist/session-agents-model.js +6 -1
- package/dist/session-app.js +109 -109
- package/dist/{session-realtime-JNKDSGH7.js → session-realtime-JXRLPNUH.js} +3 -3
- package/dist/session-realtime.js +2 -2
- package/dist/session-ui.js +24 -24
- package/dist/session.js +5 -5
- package/dist/sites.js +2 -2
- package/dist/terminal.js +2 -2
- package/dist/this-computer.js +3 -3
- package/dist/{timeline-annotation-markers-ZSOFW7PG.js → timeline-annotation-markers-OJYKHBEO.js} +2 -2
- package/dist/{timeline-annotation-selection-YWV2UC34.js → timeline-annotation-selection-6OAZLXFU.js} +2 -2
- package/dist/{timeline-annotations-dialog-ZWQVX2HI.js → timeline-annotations-dialog-5M6DP5FX.js} +3 -3
- package/dist/usage.js +2 -2
- package/dist/workbench.js +4 -4
- package/package.json +4 -4
- package/src/app/components/session/subagents.tsx +6 -28
- package/src/app/lib/format.tsx +2 -17
- package/src/messages/en.ts +6 -0
- package/src/session-agents-model.ts +75 -1
- package/dist/chunk-5TLEWXAB.js.map +0 -1
- package/dist/chunk-IE5YUCOT.js +0 -26
- package/dist/chunk-IE5YUCOT.js.map +0 -1
- package/dist/chunk-PKEKZ2VA.js.map +0 -1
- /package/dist/{browser-viewer-VPK3CV2H.js.map → browser-viewer-YQC6BFMS.js.map} +0 -0
- /package/dist/{chat-interactive-block-AMDSW656.js.map → chat-interactive-block-Z22YHDRU.js.map} +0 -0
- /package/dist/{chunk-TDIOBPLA.js.map → chunk-24POWVUY.js.map} +0 -0
- /package/dist/{chunk-SJORXXLV.js.map → chunk-26P7B46A.js.map} +0 -0
- /package/dist/{chunk-6O4VWKSO.js.map → chunk-27EORKJ4.js.map} +0 -0
- /package/dist/{chunk-WWOHORRO.js.map → chunk-2K27S6LK.js.map} +0 -0
- /package/dist/{chunk-OFB6TUDC.js.map → chunk-2LUO22FR.js.map} +0 -0
- /package/dist/{chunk-FSP334UU.js.map → chunk-2SZ3KC5S.js.map} +0 -0
- /package/dist/{chunk-GZGQHQI7.js.map → chunk-32HA7DXJ.js.map} +0 -0
- /package/dist/{chunk-PCJLH45G.js.map → chunk-3MQM4ZOC.js.map} +0 -0
- /package/dist/{chunk-SD4PPZFB.js.map → chunk-3ZZOE4SN.js.map} +0 -0
- /package/dist/{chunk-YGSJWWT3.js.map → chunk-467VRP4E.js.map} +0 -0
- /package/dist/{chunk-D3RK3NGM.js.map → chunk-4BF3DD6R.js.map} +0 -0
- /package/dist/{chunk-CDUDKETD.js.map → chunk-4ICPJZAB.js.map} +0 -0
- /package/dist/{chunk-I66ZB6KD.js.map → chunk-4PC7LIQK.js.map} +0 -0
- /package/dist/{chunk-D5OWJZQR.js.map → chunk-4RY64KQY.js.map} +0 -0
- /package/dist/{chunk-PUTS4DYW.js.map → chunk-4VJOZJDV.js.map} +0 -0
- /package/dist/{chunk-AOUCHCSB.js.map → chunk-4XKT4ENZ.js.map} +0 -0
- /package/dist/{chunk-F3FN6DO6.js.map → chunk-4XO346BW.js.map} +0 -0
- /package/dist/{chunk-YO64YVYL.js.map → chunk-65K5LV4L.js.map} +0 -0
- /package/dist/{chunk-KFWVBTUH.js.map → chunk-6JF7C3U3.js.map} +0 -0
- /package/dist/{chunk-LQ47YL6E.js.map → chunk-6K3WNTRI.js.map} +0 -0
- /package/dist/{chunk-CCR33J7L.js.map → chunk-6N7W3TOV.js.map} +0 -0
- /package/dist/{chunk-ILDOW2IQ.js.map → chunk-6PQBKMUL.js.map} +0 -0
- /package/dist/{chunk-VO6RVVP7.js.map → chunk-6VITVQ23.js.map} +0 -0
- /package/dist/{chunk-AIEXYO2X.js.map → chunk-6YDXUE5H.js.map} +0 -0
- /package/dist/{chunk-HPB4KSV3.js.map → chunk-72XEFLMD.js.map} +0 -0
- /package/dist/{chunk-7R2JQHBX.js.map → chunk-74NIHMAT.js.map} +0 -0
- /package/dist/{chunk-5MJHH72T.js.map → chunk-7EGWIME2.js.map} +0 -0
- /package/dist/{chunk-WVX5AQXS.js.map → chunk-7H2D4VNU.js.map} +0 -0
- /package/dist/{chunk-IUK5QGP5.js.map → chunk-7JZSFJHB.js.map} +0 -0
- /package/dist/{chunk-AJPW3SV4.js.map → chunk-7OIBLMDP.js.map} +0 -0
- /package/dist/{chunk-5YFY4SFC.js.map → chunk-AJ7PY4FJ.js.map} +0 -0
- /package/dist/{chunk-3ABPIUCK.js.map → chunk-B254JG72.js.map} +0 -0
- /package/dist/{chunk-F33EDYS7.js.map → chunk-BCFHMBMK.js.map} +0 -0
- /package/dist/{chunk-TJQDL3JH.js.map → chunk-BPD4IJBG.js.map} +0 -0
- /package/dist/{chunk-FB3B45FP.js.map → chunk-BQWUXC55.js.map} +0 -0
- /package/dist/{chunk-DGLRZMXL.js.map → chunk-BWKZEW6K.js.map} +0 -0
- /package/dist/{chunk-MOKYT3X3.js.map → chunk-C6JL6PBL.js.map} +0 -0
- /package/dist/{chunk-JWN7SLTO.js.map → chunk-CA64OZLZ.js.map} +0 -0
- /package/dist/{chunk-GFSOXB2K.js.map → chunk-CEQUNJJY.js.map} +0 -0
- /package/dist/{chunk-DFXZYNTX.js.map → chunk-CKA4SJRK.js.map} +0 -0
- /package/dist/{chunk-D64Z4V26.js.map → chunk-CPKD2YGK.js.map} +0 -0
- /package/dist/{chunk-A2E3ZF6N.js.map → chunk-D4QOZXPM.js.map} +0 -0
- /package/dist/{chunk-A6CK4ENG.js.map → chunk-DAQG3C4W.js.map} +0 -0
- /package/dist/{chunk-7PUFAH4I.js.map → chunk-DNLXQUBX.js.map} +0 -0
- /package/dist/{chunk-ZX5H7LWD.js.map → chunk-DNWBLT4U.js.map} +0 -0
- /package/dist/{chunk-4U4GXWXS.js.map → chunk-DNYD7AUG.js.map} +0 -0
- /package/dist/{chunk-EMCB6XKU.js.map → chunk-DZH2HTTB.js.map} +0 -0
- /package/dist/{chunk-Z6E6TUAE.js.map → chunk-EURDMOXZ.js.map} +0 -0
- /package/dist/{chunk-UUSAOIJR.js.map → chunk-F4B2YYCN.js.map} +0 -0
- /package/dist/{chunk-ENS6E4RZ.js.map → chunk-FH75NNLB.js.map} +0 -0
- /package/dist/{chunk-H4IE2PYF.js.map → chunk-FMATVQFW.js.map} +0 -0
- /package/dist/{chunk-ECHYJP63.js.map → chunk-FVCLVASD.js.map} +0 -0
- /package/dist/{chunk-PMD7V4N7.js.map → chunk-G3FU2IF7.js.map} +0 -0
- /package/dist/{chunk-HUXDGWAN.js.map → chunk-GMVKCEBG.js.map} +0 -0
- /package/dist/{chunk-SWCLN6JE.js.map → chunk-GRNE5ANU.js.map} +0 -0
- /package/dist/{chunk-IPPVX5GF.js.map → chunk-GTR2WUBA.js.map} +0 -0
- /package/dist/{chunk-BT2MVGHT.js.map → chunk-GTR5NLVP.js.map} +0 -0
- /package/dist/{chunk-HNNM2GDN.js.map → chunk-GUIZDI5T.js.map} +0 -0
- /package/dist/{chunk-ND2WCWXI.js.map → chunk-GXK4CUAB.js.map} +0 -0
- /package/dist/{chunk-MJQBC7C5.js.map → chunk-HCCSAECI.js.map} +0 -0
- /package/dist/{chunk-QLIDZGPV.js.map → chunk-HJTTDLF6.js.map} +0 -0
- /package/dist/{chunk-WUHB422G.js.map → chunk-HTKVYEVB.js.map} +0 -0
- /package/dist/{chunk-DKCX643S.js.map → chunk-HXZIX7MR.js.map} +0 -0
- /package/dist/{chunk-DJFTH2DI.js.map → chunk-I57HZMMA.js.map} +0 -0
- /package/dist/{chunk-VPNXQUUS.js.map → chunk-I74J2UZ2.js.map} +0 -0
- /package/dist/{chunk-A6T4FGE7.js.map → chunk-IWIMIRV3.js.map} +0 -0
- /package/dist/{chunk-FVL4B552.js.map → chunk-JI6WPLZB.js.map} +0 -0
- /package/dist/{chunk-RAMZTZOB.js.map → chunk-JJ7VMIEQ.js.map} +0 -0
- /package/dist/{chunk-GDLDBR6B.js.map → chunk-JQKURO3S.js.map} +0 -0
- /package/dist/{chunk-O2SBHS2N.js.map → chunk-K4FDZVMQ.js.map} +0 -0
- /package/dist/{chunk-TLL22FFO.js.map → chunk-KUO5WFXG.js.map} +0 -0
- /package/dist/{chunk-KUNFUSZ7.js.map → chunk-KVMFT6FN.js.map} +0 -0
- /package/dist/{chunk-5M23GZA2.js.map → chunk-KW53DBY7.js.map} +0 -0
- /package/dist/{chunk-5HIOVXOX.js.map → chunk-LG67ZNRU.js.map} +0 -0
- /package/dist/{chunk-VW3BBTMA.js.map → chunk-LJZNHDKI.js.map} +0 -0
- /package/dist/{chunk-CB574ERL.js.map → chunk-LR7U3HCD.js.map} +0 -0
- /package/dist/{chunk-2FPS5H2D.js.map → chunk-M5E3CKSE.js.map} +0 -0
- /package/dist/{chunk-3PEXVG4D.js.map → chunk-M7A226EQ.js.map} +0 -0
- /package/dist/{chunk-IIO2MR3B.js.map → chunk-M7YEZR6X.js.map} +0 -0
- /package/dist/{chunk-XU4I47IP.js.map → chunk-MB2DTUEG.js.map} +0 -0
- /package/dist/{chunk-UGEWCWVV.js.map → chunk-MDRLP5DO.js.map} +0 -0
- /package/dist/{chunk-SQDPHCK2.js.map → chunk-MHIYYHCL.js.map} +0 -0
- /package/dist/{chunk-R7XCJWCD.js.map → chunk-MY6VZVCP.js.map} +0 -0
- /package/dist/{chunk-BLPXOHG6.js.map → chunk-NF6Q4XTN.js.map} +0 -0
- /package/dist/{chunk-EH7TTYE6.js.map → chunk-NPDL4W4Y.js.map} +0 -0
- /package/dist/{chunk-NQQKOJDI.js.map → chunk-NURA4KUR.js.map} +0 -0
- /package/dist/{chunk-25LWDG5D.js.map → chunk-NV5OYV3G.js.map} +0 -0
- /package/dist/{chunk-TN5T5HRZ.js.map → chunk-NZMQDUOD.js.map} +0 -0
- /package/dist/{chunk-WYDZP5F2.js.map → chunk-O4AWXTZQ.js.map} +0 -0
- /package/dist/{chunk-XNACICAB.js.map → chunk-O5UOCMH4.js.map} +0 -0
- /package/dist/{chunk-QBADR2FO.js.map → chunk-O73DRA77.js.map} +0 -0
- /package/dist/{chunk-TR4HIKJ2.js.map → chunk-OHG2UQ2O.js.map} +0 -0
- /package/dist/{chunk-7IYAHFPE.js.map → chunk-OLUG4IFF.js.map} +0 -0
- /package/dist/{chunk-VWSFA4LJ.js.map → chunk-OWJD3V4V.js.map} +0 -0
- /package/dist/{chunk-SFAU5R5S.js.map → chunk-PEGNFZ3F.js.map} +0 -0
- /package/dist/{chunk-THVIT3PW.js.map → chunk-PQCFW2KT.js.map} +0 -0
- /package/dist/{chunk-LMPTC4CX.js.map → chunk-QLDMF7MH.js.map} +0 -0
- /package/dist/{chunk-DYJGYGPB.js.map → chunk-R5YZ3ROM.js.map} +0 -0
- /package/dist/{chunk-SCNEQFIW.js.map → chunk-RABKQFTA.js.map} +0 -0
- /package/dist/{chunk-PVR5EELP.js.map → chunk-RNBH5TSM.js.map} +0 -0
- /package/dist/{chunk-2DL6NJP5.js.map → chunk-RXMIXKB3.js.map} +0 -0
- /package/dist/{chunk-UXXFMF4X.js.map → chunk-SJPAKWWP.js.map} +0 -0
- /package/dist/{chunk-FRP64DEK.js.map → chunk-SK57RWSA.js.map} +0 -0
- /package/dist/{chunk-WSZQNTVN.js.map → chunk-SSZROOOI.js.map} +0 -0
- /package/dist/{chunk-2CKVVAGP.js.map → chunk-TM2ZLY3Q.js.map} +0 -0
- /package/dist/{chunk-7VN6VC3D.js.map → chunk-UHMMRQGU.js.map} +0 -0
- /package/dist/{chunk-G2BX56CN.js.map → chunk-W57QFLQD.js.map} +0 -0
- /package/dist/{chunk-TEPPPAJI.js.map → chunk-WLZVXCPZ.js.map} +0 -0
- /package/dist/{chunk-PFAUGEV5.js.map → chunk-WN2MIB4Q.js.map} +0 -0
- /package/dist/{chunk-QXEDIDBZ.js.map → chunk-WWM7WVD2.js.map} +0 -0
- /package/dist/{chunk-AX6YJA5U.js.map → chunk-X7Z4B5GK.js.map} +0 -0
- /package/dist/{chunk-WBPQ7OPC.js.map → chunk-XDCZBOEY.js.map} +0 -0
- /package/dist/{chunk-4MQLGMV2.js.map → chunk-XGE75VPK.js.map} +0 -0
- /package/dist/{chunk-LKJ2C7PH.js.map → chunk-ZPZYYSHW.js.map} +0 -0
- /package/dist/{chunk-YG3IJCM2.js.map → chunk-ZRB4M3GG.js.map} +0 -0
- /package/dist/{chunk-ERG355NM.js.map → chunk-ZWACUOU5.js.map} +0 -0
- /package/dist/{chunk-XN6CALYY.js.map → chunk-ZZUKJ5HQ.js.map} +0 -0
- /package/dist/{computer-viewer-VA5JONUH.js.map → computer-viewer-BWVNDFTO.js.map} +0 -0
- /package/dist/{embedded-new-voice-6BILAOUG.js.map → embedded-new-voice-GBXSZ3TO.js.map} +0 -0
- /package/dist/{embedded-voice-UDE4JRKB.js.map → embedded-voice-MGI7EK7C.js.map} +0 -0
- /package/dist/{fleet-decision-row-NN2HXDX3.js.map → fleet-decision-row-35S3GAUN.js.map} +0 -0
- /package/dist/{model-policy-picker-menu-NRTO6FRP.js.map → model-policy-picker-menu-KP53N6UJ.js.map} +0 -0
- /package/dist/{platform-activity-row-ENQVIFTL.js.map → platform-activity-row-ISMXR7NJ.js.map} +0 -0
- /package/dist/{queue-surface-implementation-H4XSNHZE.js.map → queue-surface-implementation-ULW7DDJA.js.map} +0 -0
- /package/dist/{sandbox-files-IEHODU35.js.map → sandbox-files-QYSD4XCZ.js.map} +0 -0
- /package/dist/{session-realtime-JNKDSGH7.js.map → session-realtime-JXRLPNUH.js.map} +0 -0
- /package/dist/{timeline-annotation-markers-ZSOFW7PG.js.map → timeline-annotation-markers-OJYKHBEO.js.map} +0 -0
- /package/dist/{timeline-annotation-selection-YWV2UC34.js.map → timeline-annotation-selection-6OAZLXFU.js.map} +0 -0
- /package/dist/{timeline-annotations-dialog-ZWQVX2HI.js.map → timeline-annotations-dialog-5M6DP5FX.js.map} +0 -0
|
@@ -30,20 +30,20 @@ import {
|
|
|
30
30
|
Select
|
|
31
31
|
} from "../../../chunk-IANYC4M4.js";
|
|
32
32
|
import "../../../chunk-TFK4KFKA.js";
|
|
33
|
-
import "../../../chunk-
|
|
33
|
+
import "../../../chunk-4XKT4ENZ.js";
|
|
34
34
|
import {
|
|
35
35
|
eventDisplayLabel,
|
|
36
36
|
isTerminalSessionStatus
|
|
37
|
-
} from "../../../chunk-
|
|
37
|
+
} from "../../../chunk-LG67ZNRU.js";
|
|
38
38
|
import "../../../chunk-IIFO2H3P.js";
|
|
39
39
|
import "../../../chunk-Z2S5VQG7.js";
|
|
40
|
-
import "../../../chunk-J4OPEWC3.js";
|
|
41
40
|
import {
|
|
42
41
|
useWorkspaceRigs
|
|
43
42
|
} from "../../../chunk-JNY5MT3I.js";
|
|
43
|
+
import "../../../chunk-J4OPEWC3.js";
|
|
44
44
|
import {
|
|
45
45
|
useWorkspaceMachines
|
|
46
|
-
} from "../../../chunk-
|
|
46
|
+
} from "../../../chunk-M7A226EQ.js";
|
|
47
47
|
import {
|
|
48
48
|
ConnectionPill,
|
|
49
49
|
CopyableMono,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
} from "../../../chunk-G46333YC.js";
|
|
53
53
|
import {
|
|
54
54
|
formatTimestamp
|
|
55
|
-
} from "../../../chunk-
|
|
55
|
+
} from "../../../chunk-IKQMSROV.js";
|
|
56
56
|
import "../../../chunk-A3MTTRCX.js";
|
|
57
57
|
import "../../../chunk-ECNX3UOI.js";
|
|
58
58
|
import "../../../chunk-IZMUUUYD.js";
|
|
@@ -65,7 +65,7 @@ import "../../../chunk-O2LGEYG4.js";
|
|
|
65
65
|
import "../../../chunk-XSOPQZGH.js";
|
|
66
66
|
import {
|
|
67
67
|
t
|
|
68
|
-
} from "../../../chunk-
|
|
68
|
+
} from "../../../chunk-BPD4IJBG.js";
|
|
69
69
|
import {
|
|
70
70
|
repositoryDisplayName
|
|
71
71
|
} from "../../../chunk-L6Y4ALSM.js";
|
|
@@ -86,40 +86,41 @@ import "../../../chunk-XNTW77T6.js";
|
|
|
86
86
|
import "../../../chunk-KS57MLGE.js";
|
|
87
87
|
import "../../../chunk-TREHTIBD.js";
|
|
88
88
|
import "../../../chunk-5OTQA7CM.js";
|
|
89
|
+
import "../../../chunk-6NXQCOLD.js";
|
|
89
90
|
import "../../../chunk-A3KMTJZS.js";
|
|
90
91
|
import "../../../chunk-QRKTESVE.js";
|
|
91
|
-
import "../../../chunk-
|
|
92
|
+
import "../../../chunk-SSZROOOI.js";
|
|
92
93
|
import "../../../chunk-UBK725RK.js";
|
|
93
|
-
import "../../../chunk-
|
|
94
|
+
import "../../../chunk-4PC7LIQK.js";
|
|
94
95
|
import "../../../chunk-WLEDGIVS.js";
|
|
95
96
|
import {
|
|
96
97
|
Button
|
|
97
98
|
} from "../../../chunk-HMU5IELG.js";
|
|
98
|
-
import "../../../chunk-
|
|
99
|
+
import "../../../chunk-C6JL6PBL.js";
|
|
99
100
|
import {
|
|
100
101
|
StartupTimings
|
|
101
|
-
} from "../../../chunk-
|
|
102
|
-
import "../../../chunk-
|
|
102
|
+
} from "../../../chunk-FMATVQFW.js";
|
|
103
|
+
import "../../../chunk-AJ7PY4FJ.js";
|
|
103
104
|
import "../../../chunk-V3K4RQO7.js";
|
|
104
|
-
import "../../../chunk-
|
|
105
|
+
import "../../../chunk-FVCLVASD.js";
|
|
105
106
|
import "../../../chunk-22GTC4MZ.js";
|
|
106
107
|
import {
|
|
107
108
|
SessionStatus
|
|
108
|
-
} from "../../../chunk-
|
|
109
|
-
import "../../../chunk-
|
|
110
|
-
import "../../../chunk-
|
|
109
|
+
} from "../../../chunk-FH75NNLB.js";
|
|
110
|
+
import "../../../chunk-SK57RWSA.js";
|
|
111
|
+
import "../../../chunk-DNYD7AUG.js";
|
|
111
112
|
import "../../../chunk-KDQAWRYZ.js";
|
|
112
|
-
import "../../../chunk-
|
|
113
|
+
import "../../../chunk-CKA4SJRK.js";
|
|
113
114
|
import {
|
|
114
115
|
setStartupDetails,
|
|
115
116
|
useStartupDetails
|
|
116
|
-
} from "../../../chunk-
|
|
117
|
+
} from "../../../chunk-BCFHMBMK.js";
|
|
117
118
|
import "../../../chunk-B27E3V37.js";
|
|
118
|
-
import "../../../chunk-
|
|
119
|
-
import "../../../chunk-
|
|
120
|
-
import "../../../chunk-
|
|
121
|
-
import "../../../chunk-
|
|
122
|
-
import "../../../chunk-
|
|
119
|
+
import "../../../chunk-F4B2YYCN.js";
|
|
120
|
+
import "../../../chunk-3ZZOE4SN.js";
|
|
121
|
+
import "../../../chunk-QLDMF7MH.js";
|
|
122
|
+
import "../../../chunk-6K3WNTRI.js";
|
|
123
|
+
import "../../../chunk-O4AWXTZQ.js";
|
|
123
124
|
import "../../../chunk-EMIVOS73.js";
|
|
124
125
|
import "../../../chunk-34EU25RL.js";
|
|
125
126
|
import "../../../chunk-CPLCSM6K.js";
|
|
@@ -132,17 +133,17 @@ import "../../../chunk-ZOARMQY2.js";
|
|
|
132
133
|
import "../../../chunk-NLAFNMPK.js";
|
|
133
134
|
import {
|
|
134
135
|
MACHINES_SESSION_POLL_MS
|
|
135
|
-
} from "../../../chunk-
|
|
136
|
+
} from "../../../chunk-WWM7WVD2.js";
|
|
136
137
|
import "../../../chunk-MK2TQO4Y.js";
|
|
137
|
-
import "../../../chunk-
|
|
138
|
+
import "../../../chunk-26P7B46A.js";
|
|
138
139
|
import "../../../chunk-OYQQJL3J.js";
|
|
139
140
|
import "../../../chunk-RZLBICR5.js";
|
|
140
141
|
import "../../../chunk-H3LIIAGE.js";
|
|
141
142
|
import "../../../chunk-VHB3E6PT.js";
|
|
142
143
|
import "../../../chunk-7N5AD2TC.js";
|
|
143
144
|
import "../../../chunk-4U7SHFQ2.js";
|
|
144
|
-
import "../../../chunk-
|
|
145
|
-
import "../../../chunk-
|
|
145
|
+
import "../../../chunk-6N7W3TOV.js";
|
|
146
|
+
import "../../../chunk-K4FDZVMQ.js";
|
|
146
147
|
import "../../../chunk-C5ZCSVZ7.js";
|
|
147
148
|
import {
|
|
148
149
|
sessionSandboxLabel
|
|
@@ -164,11 +165,11 @@ import "../../../chunk-XV6ZYRHK.js";
|
|
|
164
165
|
import "../../../chunk-IGVL3ELX.js";
|
|
165
166
|
import "../../../chunk-PEHTX3V7.js";
|
|
166
167
|
import "../../../chunk-NRP4REXE.js";
|
|
167
|
-
import "../../../chunk-
|
|
168
|
+
import "../../../chunk-MB2DTUEG.js";
|
|
168
169
|
import "../../../chunk-3IWPC6O3.js";
|
|
169
|
-
import "../../../chunk-
|
|
170
|
+
import "../../../chunk-I57HZMMA.js";
|
|
170
171
|
import "../../../chunk-7RRMTSCI.js";
|
|
171
|
-
import "../../../chunk-
|
|
172
|
+
import "../../../chunk-ZWACUOU5.js";
|
|
172
173
|
import "../../../chunk-PNNTR6KP.js";
|
|
173
174
|
import {
|
|
174
175
|
ModelName
|
|
@@ -176,7 +177,7 @@ import {
|
|
|
176
177
|
import "../../../chunk-VYT4POBH.js";
|
|
177
178
|
import "../../../chunk-6F34IWSA.js";
|
|
178
179
|
import "../../../chunk-IQ64BNAG.js";
|
|
179
|
-
import "../../../chunk-
|
|
180
|
+
import "../../../chunk-DNWBLT4U.js";
|
|
180
181
|
import "../../../chunk-J3BHDXQQ.js";
|
|
181
182
|
import {
|
|
182
183
|
labelReasoningEffort
|
|
@@ -189,7 +190,7 @@ import "../../../chunk-TVQCDDSZ.js";
|
|
|
189
190
|
import "../../../chunk-SJGAHTY5.js";
|
|
190
191
|
import "../../../chunk-4NHJ6EXL.js";
|
|
191
192
|
import "../../../chunk-TXS65BB2.js";
|
|
192
|
-
import "../../../chunk-
|
|
193
|
+
import "../../../chunk-S6WJ6TUT.js";
|
|
193
194
|
|
|
194
195
|
// src/app/components/session/inspector.tsx
|
|
195
196
|
import { CopyIcon, FileJsonIcon, Loader2Icon, RotateCcwIcon } from "lucide-react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/app/components/session/inspector.tsx"],"sourcesContent":["import { t } from \"../../lib/console-text\";\nimport { useWorkspaceRigs } from \"../../lib/use-workspace-rigs\";\nimport { useWorkspaceMachines } from \"../../lib/use-workspace-machines\";\nimport { StartupTimings, useStartupDetails, setStartupDetails } from \"../../../session-ui\";\nimport { buildTimeline } from \"../../../timeline\";\nimport { labelReasoningEffort } from \"../../../model-policy\";\nimport { ModelName } from \"../../../components/model-mark\";\nimport { PreferenceToggleRow } from \"../transcription-settings\";\nimport { SessionStatus as SessionStatusBadge } from \"../../../components/session-status\";\nimport type { SessionEventsConnectionState } from \"../../../hooks/use-session-events\";\nimport { MACHINES_SESSION_POLL_MS } from \"../../../machines\";\nimport { useNavigate } from \"../../lib/navigation\";\nimport { CopyIcon, FileJsonIcon, Loader2Icon, RotateCcwIcon } from \"lucide-react\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { toast } from \"../../lib/toast\";\n\nimport { ConnectionPill, CopyableMono, InfoRow, InspectorSection } from \"../common\";\nimport { ModelContextInspectorPane } from \"./model-context-inspector\";\nimport { sessionSandboxLabel } from \"./sandbox-switcher\";\nimport { Button } from \"../../../ui/button\";\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"../../../ui/collapsible\";\nimport { ScrollArea } from \"../../../ui/scroll-area\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../../ui/tabs\";\nimport { Select } from \"../../../ui/select\";\nimport { useAppContext } from \"../../app-context\";\nimport { eventDisplayLabel, isTerminalSessionStatus } from \"../../lib/events\";\nimport { formatTimestamp } from \"../../lib/format\";\nimport { withOccurrenceKeys } from \"../../lib/react-key\";\nimport {\n retainSessionRestartAttemptAfterFailure,\n sessionRestartOperationController,\n} from \"../../lib/session-restart-operation-controller\";\nimport { classifySessionTenancyFailure } from \"../../lib/session-tenancy\";\nimport { repositoryDisplayName } from \"../../lib/session-tools\";\nimport type { Session, SessionEvent } from \"../../types\";\n\nexport function SessionInspector(props: {\n session: Session;\n events: SessionEvent[];\n connectionState: SessionEventsConnectionState;\n onReloadSession: () => Promise<void>;\n}) {\n const startupDetails = useStartupDetails();\n const startupPhases = useMemo(\n () => buildTimeline(t, props.events).filter((item) => item.kind === \"startup-phase\"),\n [props.events],\n );\n const context = useAppContext();\n const navigate = useNavigate();\n const rigs = useWorkspaceRigs({ workspaceId: props.session.workspaceId });\n const [selectedRigId, setSelectedRigId] = useState(props.session.rigId ?? \"\");\n const [restarting, setRestarting] = useState(false);\n const [runtimeFailure, setRuntimeFailure] = useState<string | null>(null);\n const restartScope = useMemo(\n () => ({\n principalId: `${context.accessContext.subjectId}:${context.accessKeyVersion}`,\n workspaceId: props.session.workspaceId,\n sessionId: props.session.id,\n }),\n [\n context.accessContext.subjectId,\n context.accessKeyVersion,\n props.session.id,\n props.session.workspaceId,\n ],\n );\n const pendingRestartAttempt = sessionRestartOperationController.snapshot(restartScope);\n useEffect(() => {\n setSelectedRigId(props.session.rigId ?? \"\");\n }, [props.session.id, props.session.rigId]);\n const restartWithSetup = async () => {\n if (!props.session.tenancy) return;\n const attempt = sessionRestartOperationController.prepare(\n restartScope,\n {\n visibility: props.session.tenancy.visibility,\n rigId: selectedRigId || null,\n },\n () => crypto.randomUUID(),\n );\n setRestarting(true);\n setRuntimeFailure(null);\n let receiptConfirmed = false;\n try {\n const result = await context.client.forkSession(props.session.workspaceId, props.session.id, {\n idempotencyKey: attempt.idempotencyKey,\n visibility: attempt.visibility,\n workspaceSharedAcknowledged: false,\n rigId: attempt.rigId,\n });\n receiptConfirmed = true;\n const destination = await context.client.getSession(result.workspaceId, result.sessionId, {\n fresh: true,\n });\n if (destination.workspaceId !== result.workspaceId || destination.id !== result.sessionId) {\n throw new Error(\"The restart receipt did not resolve to the expected session.\");\n }\n sessionRestartOperationController.settle(restartScope, attempt);\n toast.success(\"Restarted with new setup\", {\n description: \"The original session and sandbox were left unchanged.\",\n });\n void navigate({\n to: \"/workspaces/$workspaceId/sessions/$sessionId\",\n params: { workspaceId: result.workspaceId, sessionId: result.sessionId },\n });\n } catch (error) {\n const classified = classifySessionTenancyFailure(error);\n if (!retainSessionRestartAttemptAfterFailure(error, receiptConfirmed)) {\n sessionRestartOperationController.settle(restartScope, attempt);\n }\n const message = classified.message;\n setRuntimeFailure(message);\n toast.error(\"Session could not be restarted\", { description: message });\n } finally {\n setRestarting(false);\n }\n };\n const terminalSession = isTerminalSessionStatus(props.session.status);\n // The session's ACTIVE compute, not its home backend: when a connected machine\n // is active (live-swapped or targeted at create) show the machine name, so the\n // inspector agrees with the \"Run on\" header instead of reading \"modal\" while a\n // selfhosted box runs the turn. Degrades to the home backend when no machine is\n // active (or selfhosted is disabled → the fleet 404s to empty).\n const fleet = useWorkspaceMachines({\n sessionId: props.session.id,\n pollIntervalMs: MACHINES_SESSION_POLL_MS,\n });\n const activeMachine =\n fleet.machines.find((machine) => machine.active && machine.kind === \"selfhosted\") ?? null;\n // Compute context, honestly: don't fall back to the home backend while the\n // fleet is still resolving - that reads \"Cloud sandbox\" even when a machine\n // runs the turn. Show a loading/unavailable note until we actually know. The\n // home box uses the neutral label, never its hosting vendor.\n const computeUnknown = fleet.machines.length === 0 && (fleet.loading || Boolean(fleet.error));\n const computeLabel = activeMachine ? \"Machine\" : \"Sandbox\";\n const computeValue = activeMachine\n ? activeMachine.name\n : computeUnknown\n ? fleet.loading\n ? \"Checking…\"\n : \"Unavailable\"\n : sessionSandboxLabel(t, props.session.sandboxBackend);\n const displayEvents = props.events;\n const sortedEvents = [...displayEvents].sort((a, b) => b.sequence - a.sequence);\n const lifecycleEvents = [...displayEvents]\n .filter((event) => !event.type.endsWith(\".delta\"))\n .sort((a, b) => b.sequence - a.sequence);\n const repositories = props.session.resources.filter((resource) => resource.kind === \"repository\");\n\n return (\n <div className=\"flex h-full min-h-[28rem] w-full min-w-0 flex-col overflow-hidden\">\n <div className=\"flex min-w-0 items-center justify-between gap-3 border-b border-border px-3 py-3\">\n <div className=\"flex min-w-0 items-center gap-2\">\n <FileJsonIcon className=\"size-4 shrink-0 text-brand\" />\n <div className=\"min-w-0\">\n <div className=\"text-sm font-medium\">\n {terminalSession ? \"Archived debug\" : \"Debug\"}\n </div>\n <div className=\"truncate text-xs text-fg-subtle\">{props.events.length} events</div>\n </div>\n </div>\n <ConnectionPill state={props.connectionState} />\n </div>\n\n <Tabs defaultValue=\"overview\" className=\"min-h-0 min-w-0 flex-1 gap-0 overflow-hidden\">\n <div className=\"min-w-0 border-b border-border px-2 py-2\">\n <TabsList className=\"flex !h-auto w-full min-w-0 flex-wrap justify-start gap-1 rounded-md bg-bg p-1\">\n <TabsTrigger value=\"overview\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Overview\n </TabsTrigger>\n <TabsTrigger value=\"context\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Context\n </TabsTrigger>\n <TabsTrigger value=\"events\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Events\n </TabsTrigger>\n <TabsTrigger value=\"timeline\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Timeline\n </TabsTrigger>\n <TabsTrigger value=\"startup\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Startup\n </TabsTrigger>\n <TabsTrigger value=\"raw\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Raw\n </TabsTrigger>\n </TabsList>\n </div>\n\n <TabsContent value=\"startup\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"space-y-5 p-3\">\n <PreferenceToggleRow\n label=\"Show startup details in chat\"\n description=\"Remembered in this browser. Timings are always recorded.\"\n checked={startupDetails}\n onToggle={() => setStartupDetails(!startupDetails)}\n wrapDescription\n />\n <StartupTimings phases={startupPhases} />\n </div>\n </ScrollArea>\n </TabsContent>\n <TabsContent value=\"overview\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-4 p-3\">\n <InspectorSection title=\"Session\">\n <InfoRow label=\"ID\" value={<CopyableMono value={props.session.id} />} />\n <InfoRow\n label=\"Status\"\n value={<SessionStatusBadge status={props.session.status} />}\n />\n <InfoRow\n label=\"Workflow\"\n value={\n props.session.temporalWorkflowId ? (\n <CopyableMono value={props.session.temporalWorkflowId} />\n ) : (\n \"none\"\n )\n }\n />\n <InfoRow\n label=\"Active turn\"\n value={\n props.session.activeTurnId ? (\n <CopyableMono value={props.session.activeTurnId} />\n ) : (\n \"none\"\n )\n }\n />\n <InfoRow label=\"Last seq\" value={String(props.session.lastSequence)} />\n <InfoRow label=\"Created\" value={formatTimestamp(props.session.createdAt)} />\n <InfoRow label=\"Updated\" value={formatTimestamp(props.session.updatedAt)} />\n </InspectorSection>\n\n <InspectorSection title=\"Runtime\">\n <InfoRow\n label=\"Model\"\n value={<ModelName model={props.session.model} markClassName=\"text-fg-muted\" />}\n />\n <InfoRow\n label=\"Effort\"\n value={labelReasoningEffort(t, props.session.reasoningEffort)}\n />\n <InfoRow label={computeLabel} value={computeValue} />\n <InfoRow label=\"Sandbox Environment\" value={props.session.rigId ?? \"none\"} />\n {props.session.tenancy ? (\n <div className=\"space-y-2 rounded-md border border-border bg-bg/35 p-2\">\n <div className=\"text-xs font-medium\">Restart with sandbox environment</div>\n <Select\n value={selectedRigId}\n disabled={restarting || Boolean(pendingRestartAttempt)}\n onChange={(event) => setSelectedRigId(event.target.value)}\n className=\"h-8 w-full text-xs\"\n >\n <option value=\"\">No sandbox environment</option>\n {rigs.rigs.map((rig) => (\n <option key={rig.id} value={rig.id}>\n {rig.name}\n {rig.activeVersion ? ` (v${rig.activeVersion.version})` : \"\"}\n </option>\n ))}\n </Select>\n <p className=\"text-2xs text-fg-subtle\">\n Sandbox Environment setup is immutable for a live sandbox. Restart creates an\n independent history fork with a fresh sandbox and leaves this session\n unchanged.\n </p>\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n disabled={restarting}\n onClick={() => void restartWithSetup()}\n >\n {restarting ? <Loader2Icon className=\"animate-spin\" /> : <RotateCcwIcon />}\n {pendingRestartAttempt ? \"Retry restart\" : \"Restart with setup\"}\n </Button>\n </div>\n ) : null}\n {runtimeFailure ? (\n <p className=\"text-2xs text-status-waiting\">{runtimeFailure}</p>\n ) : null}\n <InfoRow label=\"Stream\" value={props.connectionState} />\n </InspectorSection>\n\n <InspectorSection title=\"Repositories\">\n {repositories.length === 0 ? (\n <p className=\"text-xs text-fg-subtle\">\n No repositories selected for this session.\n </p>\n ) : (\n <div className=\"min-w-0 space-y-2\">\n {withOccurrenceKeys(repositories, (resource) => JSON.stringify(resource)).map(\n ({ key, item: resource }) => (\n <div\n key={key}\n className=\"min-w-0 rounded-md border border-border bg-bg/35 p-2\"\n >\n <div className=\"min-w-0 truncate text-xs font-medium\">\n {repositoryDisplayName(resource)}\n </div>\n <div className=\"mt-1 min-w-0 truncate font-mono text-2xs text-fg-subtle\">\n {resource.uri}\n </div>\n <div className=\"mt-2 flex min-w-0 flex-wrap gap-1.5 text-2xs text-fg-subtle\">\n <span className=\"max-w-full truncate rounded border border-border px-1.5 py-0.5\">\n ref {resource.ref}\n </span>\n {resource.mountPath ? (\n <span className=\"max-w-full truncate rounded border border-border px-1.5 py-0.5\">\n {resource.mountPath}\n </span>\n ) : null}\n </div>\n </div>\n ),\n )}\n </div>\n )}\n </InspectorSection>\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"context\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ModelContextInspectorPane\n workspaceId={props.session.workspaceId}\n sessionId={props.session.id}\n events={displayEvents}\n isRunning={props.session.status === \"running\"}\n />\n </TabsContent>\n\n <TabsContent value=\"events\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-2 p-3\">\n {sortedEvents.map((event) => (\n <EventDebugRow key={event.id} event={event} />\n ))}\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"timeline\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-2 p-3\">\n {lifecycleEvents.map((event) => (\n <div key={event.id} className=\"rounded-md border border-border bg-bg/35 p-2\">\n <div className=\"flex items-center justify-between gap-2 text-xs\">\n <span className=\"truncate font-medium\">{eventDisplayLabel(event)}</span>\n <span className=\"shrink-0 font-mono text-2xs text-fg-subtle\">\n #{event.sequence}\n </span>\n </div>\n <div className=\"mt-1 text-2xs text-fg-subtle\">\n {formatTimestamp(event.occurredAt)}\n </div>\n </div>\n ))}\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"raw\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <RawJsonPane value={{ session: props.session, events: displayEvents }} />\n </TabsContent>\n </Tabs>\n </div>\n );\n}\n\nfunction EventDebugRow({ event }: { event: SessionEvent }) {\n const [open, setOpen] = useState(false);\n return (\n <Collapsible\n open={open}\n onOpenChange={setOpen}\n className=\"min-w-0 overflow-hidden rounded-md border border-border bg-bg/35\"\n >\n <CollapsibleTrigger asChild>\n <button\n type=\"button\"\n className=\"flex w-full min-w-0 items-center justify-between gap-2 p-2 text-left\"\n >\n <div className=\"min-w-0\">\n <div className=\"truncate text-xs font-medium\">{eventDisplayLabel(event)}</div>\n <div className=\"mt-1 truncate font-mono text-2xs text-fg-subtle\">\n {event.turnId ?? event.id}\n </div>\n </div>\n <div className=\"shrink-0 text-right\">\n <div className=\"font-mono text-2xs text-fg-muted\">#{event.sequence}</div>\n <div className=\"mt-1 text-2xs text-fg-subtle\">{formatTimestamp(event.occurredAt)}</div>\n </div>\n </button>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <pre className=\"max-h-72 max-w-full overflow-auto border-t border-border p-2 text-2xs leading-5 text-fg-muted\">\n {JSON.stringify(event.payload, null, 2)}\n </pre>\n </CollapsibleContent>\n </Collapsible>\n );\n}\n\nfunction RawJsonPane({ value }: { value: unknown }) {\n const json = JSON.stringify(value, null, 2);\n return (\n <div className=\"flex h-full min-h-0 min-w-0 flex-col overflow-hidden\">\n <div className=\"flex items-center justify-end border-b border-border p-2\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"xs\"\n onClick={() => {\n void navigator.clipboard.writeText(json);\n toast.success(\"Copied raw JSON\");\n }}\n >\n <CopyIcon className=\"size-3\" />\n Copy\n </Button>\n </div>\n <ScrollArea className=\"min-h-0 min-w-0 flex-1\">\n <pre className=\"max-w-full overflow-auto p-3 text-2xs leading-5 text-fg-muted\">{json}</pre>\n </ScrollArea>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/app/components/session/inspector.tsx"],"sourcesContent":["import { t } from \"../../lib/console-text\";\nimport { useWorkspaceRigs } from \"../../lib/use-workspace-rigs\";\nimport { useWorkspaceMachines } from \"../../lib/use-workspace-machines\";\nimport { StartupTimings, useStartupDetails, setStartupDetails } from \"../../../session-ui\";\nimport { buildTimeline } from \"../../../timeline\";\nimport { labelReasoningEffort } from \"../../../model-policy\";\nimport { ModelName } from \"../../../components/model-mark\";\nimport { PreferenceToggleRow } from \"../transcription-settings\";\nimport { SessionStatus as SessionStatusBadge } from \"../../../components/session-status\";\nimport type { SessionEventsConnectionState } from \"../../../hooks/use-session-events\";\nimport { MACHINES_SESSION_POLL_MS } from \"../../../machines\";\nimport { useNavigate } from \"../../lib/navigation\";\nimport { CopyIcon, FileJsonIcon, Loader2Icon, RotateCcwIcon } from \"lucide-react\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { toast } from \"../../lib/toast\";\n\nimport { ConnectionPill, CopyableMono, InfoRow, InspectorSection } from \"../common\";\nimport { ModelContextInspectorPane } from \"./model-context-inspector\";\nimport { sessionSandboxLabel } from \"./sandbox-switcher\";\nimport { Button } from \"../../../ui/button\";\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"../../../ui/collapsible\";\nimport { ScrollArea } from \"../../../ui/scroll-area\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../../ui/tabs\";\nimport { Select } from \"../../../ui/select\";\nimport { useAppContext } from \"../../app-context\";\nimport { eventDisplayLabel, isTerminalSessionStatus } from \"../../lib/events\";\nimport { formatTimestamp } from \"../../lib/format\";\nimport { withOccurrenceKeys } from \"../../lib/react-key\";\nimport {\n retainSessionRestartAttemptAfterFailure,\n sessionRestartOperationController,\n} from \"../../lib/session-restart-operation-controller\";\nimport { classifySessionTenancyFailure } from \"../../lib/session-tenancy\";\nimport { repositoryDisplayName } from \"../../lib/session-tools\";\nimport type { Session, SessionEvent } from \"../../types\";\n\nexport function SessionInspector(props: {\n session: Session;\n events: SessionEvent[];\n connectionState: SessionEventsConnectionState;\n onReloadSession: () => Promise<void>;\n}) {\n const startupDetails = useStartupDetails();\n const startupPhases = useMemo(\n () => buildTimeline(t, props.events).filter((item) => item.kind === \"startup-phase\"),\n [props.events],\n );\n const context = useAppContext();\n const navigate = useNavigate();\n const rigs = useWorkspaceRigs({ workspaceId: props.session.workspaceId });\n const [selectedRigId, setSelectedRigId] = useState(props.session.rigId ?? \"\");\n const [restarting, setRestarting] = useState(false);\n const [runtimeFailure, setRuntimeFailure] = useState<string | null>(null);\n const restartScope = useMemo(\n () => ({\n principalId: `${context.accessContext.subjectId}:${context.accessKeyVersion}`,\n workspaceId: props.session.workspaceId,\n sessionId: props.session.id,\n }),\n [\n context.accessContext.subjectId,\n context.accessKeyVersion,\n props.session.id,\n props.session.workspaceId,\n ],\n );\n const pendingRestartAttempt = sessionRestartOperationController.snapshot(restartScope);\n useEffect(() => {\n setSelectedRigId(props.session.rigId ?? \"\");\n }, [props.session.id, props.session.rigId]);\n const restartWithSetup = async () => {\n if (!props.session.tenancy) return;\n const attempt = sessionRestartOperationController.prepare(\n restartScope,\n {\n visibility: props.session.tenancy.visibility,\n rigId: selectedRigId || null,\n },\n () => crypto.randomUUID(),\n );\n setRestarting(true);\n setRuntimeFailure(null);\n let receiptConfirmed = false;\n try {\n const result = await context.client.forkSession(props.session.workspaceId, props.session.id, {\n idempotencyKey: attempt.idempotencyKey,\n visibility: attempt.visibility,\n workspaceSharedAcknowledged: false,\n rigId: attempt.rigId,\n });\n receiptConfirmed = true;\n const destination = await context.client.getSession(result.workspaceId, result.sessionId, {\n fresh: true,\n });\n if (destination.workspaceId !== result.workspaceId || destination.id !== result.sessionId) {\n throw new Error(\"The restart receipt did not resolve to the expected session.\");\n }\n sessionRestartOperationController.settle(restartScope, attempt);\n toast.success(\"Restarted with new setup\", {\n description: \"The original session and sandbox were left unchanged.\",\n });\n void navigate({\n to: \"/workspaces/$workspaceId/sessions/$sessionId\",\n params: { workspaceId: result.workspaceId, sessionId: result.sessionId },\n });\n } catch (error) {\n const classified = classifySessionTenancyFailure(error);\n if (!retainSessionRestartAttemptAfterFailure(error, receiptConfirmed)) {\n sessionRestartOperationController.settle(restartScope, attempt);\n }\n const message = classified.message;\n setRuntimeFailure(message);\n toast.error(\"Session could not be restarted\", { description: message });\n } finally {\n setRestarting(false);\n }\n };\n const terminalSession = isTerminalSessionStatus(props.session.status);\n // The session's ACTIVE compute, not its home backend: when a connected machine\n // is active (live-swapped or targeted at create) show the machine name, so the\n // inspector agrees with the \"Run on\" header instead of reading \"modal\" while a\n // selfhosted box runs the turn. Degrades to the home backend when no machine is\n // active (or selfhosted is disabled → the fleet 404s to empty).\n const fleet = useWorkspaceMachines({\n sessionId: props.session.id,\n pollIntervalMs: MACHINES_SESSION_POLL_MS,\n });\n const activeMachine =\n fleet.machines.find((machine) => machine.active && machine.kind === \"selfhosted\") ?? null;\n // Compute context, honestly: don't fall back to the home backend while the\n // fleet is still resolving - that reads \"Cloud sandbox\" even when a machine\n // runs the turn. Show a loading/unavailable note until we actually know. The\n // home box uses the neutral label, never its hosting vendor.\n const computeUnknown = fleet.machines.length === 0 && (fleet.loading || Boolean(fleet.error));\n const computeLabel = activeMachine ? \"Machine\" : \"Sandbox\";\n const computeValue = activeMachine\n ? activeMachine.name\n : computeUnknown\n ? fleet.loading\n ? \"Checking…\"\n : \"Unavailable\"\n : sessionSandboxLabel(t, props.session.sandboxBackend);\n const displayEvents = props.events;\n const sortedEvents = [...displayEvents].sort((a, b) => b.sequence - a.sequence);\n const lifecycleEvents = [...displayEvents]\n .filter((event) => !event.type.endsWith(\".delta\"))\n .sort((a, b) => b.sequence - a.sequence);\n const repositories = props.session.resources.filter((resource) => resource.kind === \"repository\");\n\n return (\n <div className=\"flex h-full min-h-[28rem] w-full min-w-0 flex-col overflow-hidden\">\n <div className=\"flex min-w-0 items-center justify-between gap-3 border-b border-border px-3 py-3\">\n <div className=\"flex min-w-0 items-center gap-2\">\n <FileJsonIcon className=\"size-4 shrink-0 text-brand\" />\n <div className=\"min-w-0\">\n <div className=\"text-sm font-medium\">\n {terminalSession ? \"Archived debug\" : \"Debug\"}\n </div>\n <div className=\"truncate text-xs text-fg-subtle\">{props.events.length} events</div>\n </div>\n </div>\n <ConnectionPill state={props.connectionState} />\n </div>\n\n <Tabs defaultValue=\"overview\" className=\"min-h-0 min-w-0 flex-1 gap-0 overflow-hidden\">\n <div className=\"min-w-0 border-b border-border px-2 py-2\">\n <TabsList className=\"flex !h-auto w-full min-w-0 flex-wrap justify-start gap-1 rounded-md bg-bg p-1\">\n <TabsTrigger value=\"overview\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Overview\n </TabsTrigger>\n <TabsTrigger value=\"context\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Context\n </TabsTrigger>\n <TabsTrigger value=\"events\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Events\n </TabsTrigger>\n <TabsTrigger value=\"timeline\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Timeline\n </TabsTrigger>\n <TabsTrigger value=\"startup\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Startup\n </TabsTrigger>\n <TabsTrigger value=\"raw\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Raw\n </TabsTrigger>\n </TabsList>\n </div>\n\n <TabsContent value=\"startup\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"space-y-5 p-3\">\n <PreferenceToggleRow\n label=\"Show startup details in chat\"\n description=\"Remembered in this browser. Timings are always recorded.\"\n checked={startupDetails}\n onToggle={() => setStartupDetails(!startupDetails)}\n wrapDescription\n />\n <StartupTimings phases={startupPhases} />\n </div>\n </ScrollArea>\n </TabsContent>\n <TabsContent value=\"overview\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-4 p-3\">\n <InspectorSection title=\"Session\">\n <InfoRow label=\"ID\" value={<CopyableMono value={props.session.id} />} />\n <InfoRow\n label=\"Status\"\n value={<SessionStatusBadge status={props.session.status} />}\n />\n <InfoRow\n label=\"Workflow\"\n value={\n props.session.temporalWorkflowId ? (\n <CopyableMono value={props.session.temporalWorkflowId} />\n ) : (\n \"none\"\n )\n }\n />\n <InfoRow\n label=\"Active turn\"\n value={\n props.session.activeTurnId ? (\n <CopyableMono value={props.session.activeTurnId} />\n ) : (\n \"none\"\n )\n }\n />\n <InfoRow label=\"Last seq\" value={String(props.session.lastSequence)} />\n <InfoRow label=\"Created\" value={formatTimestamp(props.session.createdAt)} />\n <InfoRow label=\"Updated\" value={formatTimestamp(props.session.updatedAt)} />\n </InspectorSection>\n\n <InspectorSection title=\"Runtime\">\n <InfoRow\n label=\"Model\"\n value={<ModelName model={props.session.model} markClassName=\"text-fg-muted\" />}\n />\n <InfoRow\n label=\"Effort\"\n value={labelReasoningEffort(t, props.session.reasoningEffort)}\n />\n <InfoRow label={computeLabel} value={computeValue} />\n <InfoRow label=\"Sandbox Environment\" value={props.session.rigId ?? \"none\"} />\n {props.session.tenancy ? (\n <div className=\"space-y-2 rounded-md border border-border bg-bg/35 p-2\">\n <div className=\"text-xs font-medium\">Restart with sandbox environment</div>\n <Select\n value={selectedRigId}\n disabled={restarting || Boolean(pendingRestartAttempt)}\n onChange={(event) => setSelectedRigId(event.target.value)}\n className=\"h-8 w-full text-xs\"\n >\n <option value=\"\">No sandbox environment</option>\n {rigs.rigs.map((rig) => (\n <option key={rig.id} value={rig.id}>\n {rig.name}\n {rig.activeVersion ? ` (v${rig.activeVersion.version})` : \"\"}\n </option>\n ))}\n </Select>\n <p className=\"text-2xs text-fg-subtle\">\n Sandbox Environment setup is immutable for a live sandbox. Restart creates an\n independent history fork with a fresh sandbox and leaves this session\n unchanged.\n </p>\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n disabled={restarting}\n onClick={() => void restartWithSetup()}\n >\n {restarting ? <Loader2Icon className=\"animate-spin\" /> : <RotateCcwIcon />}\n {pendingRestartAttempt ? \"Retry restart\" : \"Restart with setup\"}\n </Button>\n </div>\n ) : null}\n {runtimeFailure ? (\n <p className=\"text-2xs text-status-waiting\">{runtimeFailure}</p>\n ) : null}\n <InfoRow label=\"Stream\" value={props.connectionState} />\n </InspectorSection>\n\n <InspectorSection title=\"Repositories\">\n {repositories.length === 0 ? (\n <p className=\"text-xs text-fg-subtle\">\n No repositories selected for this session.\n </p>\n ) : (\n <div className=\"min-w-0 space-y-2\">\n {withOccurrenceKeys(repositories, (resource) => JSON.stringify(resource)).map(\n ({ key, item: resource }) => (\n <div\n key={key}\n className=\"min-w-0 rounded-md border border-border bg-bg/35 p-2\"\n >\n <div className=\"min-w-0 truncate text-xs font-medium\">\n {repositoryDisplayName(resource)}\n </div>\n <div className=\"mt-1 min-w-0 truncate font-mono text-2xs text-fg-subtle\">\n {resource.uri}\n </div>\n <div className=\"mt-2 flex min-w-0 flex-wrap gap-1.5 text-2xs text-fg-subtle\">\n <span className=\"max-w-full truncate rounded border border-border px-1.5 py-0.5\">\n ref {resource.ref}\n </span>\n {resource.mountPath ? (\n <span className=\"max-w-full truncate rounded border border-border px-1.5 py-0.5\">\n {resource.mountPath}\n </span>\n ) : null}\n </div>\n </div>\n ),\n )}\n </div>\n )}\n </InspectorSection>\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"context\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ModelContextInspectorPane\n workspaceId={props.session.workspaceId}\n sessionId={props.session.id}\n events={displayEvents}\n isRunning={props.session.status === \"running\"}\n />\n </TabsContent>\n\n <TabsContent value=\"events\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-2 p-3\">\n {sortedEvents.map((event) => (\n <EventDebugRow key={event.id} event={event} />\n ))}\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"timeline\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-2 p-3\">\n {lifecycleEvents.map((event) => (\n <div key={event.id} className=\"rounded-md border border-border bg-bg/35 p-2\">\n <div className=\"flex items-center justify-between gap-2 text-xs\">\n <span className=\"truncate font-medium\">{eventDisplayLabel(event)}</span>\n <span className=\"shrink-0 font-mono text-2xs text-fg-subtle\">\n #{event.sequence}\n </span>\n </div>\n <div className=\"mt-1 text-2xs text-fg-subtle\">\n {formatTimestamp(event.occurredAt)}\n </div>\n </div>\n ))}\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"raw\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <RawJsonPane value={{ session: props.session, events: displayEvents }} />\n </TabsContent>\n </Tabs>\n </div>\n );\n}\n\nfunction EventDebugRow({ event }: { event: SessionEvent }) {\n const [open, setOpen] = useState(false);\n return (\n <Collapsible\n open={open}\n onOpenChange={setOpen}\n className=\"min-w-0 overflow-hidden rounded-md border border-border bg-bg/35\"\n >\n <CollapsibleTrigger asChild>\n <button\n type=\"button\"\n className=\"flex w-full min-w-0 items-center justify-between gap-2 p-2 text-left\"\n >\n <div className=\"min-w-0\">\n <div className=\"truncate text-xs font-medium\">{eventDisplayLabel(event)}</div>\n <div className=\"mt-1 truncate font-mono text-2xs text-fg-subtle\">\n {event.turnId ?? event.id}\n </div>\n </div>\n <div className=\"shrink-0 text-right\">\n <div className=\"font-mono text-2xs text-fg-muted\">#{event.sequence}</div>\n <div className=\"mt-1 text-2xs text-fg-subtle\">{formatTimestamp(event.occurredAt)}</div>\n </div>\n </button>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <pre className=\"max-h-72 max-w-full overflow-auto border-t border-border p-2 text-2xs leading-5 text-fg-muted\">\n {JSON.stringify(event.payload, null, 2)}\n </pre>\n </CollapsibleContent>\n </Collapsible>\n );\n}\n\nfunction RawJsonPane({ value }: { value: unknown }) {\n const json = JSON.stringify(value, null, 2);\n return (\n <div className=\"flex h-full min-h-0 min-w-0 flex-col overflow-hidden\">\n <div className=\"flex items-center justify-end border-b border-border p-2\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"xs\"\n onClick={() => {\n void navigator.clipboard.writeText(json);\n toast.success(\"Copied raw JSON\");\n }}\n >\n <CopyIcon className=\"size-3\" />\n Copy\n </Button>\n </div>\n <ScrollArea className=\"min-h-0 min-w-0 flex-1\">\n <pre className=\"max-w-full overflow-auto p-3 text-2xs leading-5 text-fg-muted\">{json}</pre>\n </ScrollArea>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
SessionFeedback
|
|
4
|
-
} from "../../../chunk-
|
|
4
|
+
} from "../../../chunk-OWJD3V4V.js";
|
|
5
5
|
import "../../../chunk-QAWWQS4L.js";
|
|
6
6
|
import "../../../chunk-WMSCYECP.js";
|
|
7
7
|
import "../../../chunk-HZUL2CUH.js";
|
|
8
|
-
import "../../../chunk-
|
|
8
|
+
import "../../../chunk-BPD4IJBG.js";
|
|
9
9
|
import "../../../chunk-L4OF77LE.js";
|
|
10
10
|
import "../../../chunk-A3KMTJZS.js";
|
|
11
11
|
import "../../../chunk-HMU5IELG.js";
|
|
12
12
|
import "../../../chunk-LRNZ5F2R.js";
|
|
13
13
|
import "../../../chunk-J3BHDXQQ.js";
|
|
14
14
|
import "../../../chunk-TXS65BB2.js";
|
|
15
|
-
import "../../../chunk-
|
|
15
|
+
import "../../../chunk-S6WJ6TUT.js";
|
|
16
16
|
|
|
17
17
|
// src/app/components/session/message-actions.tsx
|
|
18
18
|
import { GitForkIcon } from "lucide-react";
|
|
@@ -20,12 +20,12 @@ import {
|
|
|
20
20
|
import {
|
|
21
21
|
useAppContext
|
|
22
22
|
} from "../../../chunk-W6KAUGXO.js";
|
|
23
|
-
import "../../../chunk-
|
|
23
|
+
import "../../../chunk-BCFHMBMK.js";
|
|
24
24
|
import "../../../chunk-B27E3V37.js";
|
|
25
|
-
import "../../../chunk-
|
|
25
|
+
import "../../../chunk-6K3WNTRI.js";
|
|
26
26
|
import "../../../chunk-UD2PSIIX.js";
|
|
27
27
|
import "../../../chunk-6MRY2RUZ.js";
|
|
28
|
-
import "../../../chunk-
|
|
28
|
+
import "../../../chunk-26P7B46A.js";
|
|
29
29
|
import "../../../chunk-OYQQJL3J.js";
|
|
30
30
|
import "../../../chunk-RZLBICR5.js";
|
|
31
31
|
import "../../../chunk-H3LIIAGE.js";
|
|
@@ -42,13 +42,13 @@ import "../../../chunk-UNJPZGNK.js";
|
|
|
42
42
|
import "../../../chunk-PEHTX3V7.js";
|
|
43
43
|
import {
|
|
44
44
|
useLightboxOptional
|
|
45
|
-
} from "../../../chunk-
|
|
45
|
+
} from "../../../chunk-DNWBLT4U.js";
|
|
46
46
|
import "../../../chunk-J3BHDXQQ.js";
|
|
47
47
|
import "../../../chunk-XEA5BCMA.js";
|
|
48
48
|
import "../../../chunk-SJGAHTY5.js";
|
|
49
49
|
import "../../../chunk-4NHJ6EXL.js";
|
|
50
50
|
import "../../../chunk-TXS65BB2.js";
|
|
51
|
-
import "../../../chunk-
|
|
51
|
+
import "../../../chunk-S6WJ6TUT.js";
|
|
52
52
|
|
|
53
53
|
// src/app/components/session/message-resource-attachments.tsx
|
|
54
54
|
import { AppWindowIcon, DownloadIcon, FileJsonIcon, ImageIcon } from "lucide-react";
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
ModelAccountIndicator
|
|
4
|
-
} from "../../../chunk-
|
|
4
|
+
} from "../../../chunk-HCCSAECI.js";
|
|
5
5
|
import "../../../chunk-M77ZQE5T.js";
|
|
6
6
|
import "../../../chunk-3SMJ2BIQ.js";
|
|
7
|
-
import "../../../chunk-
|
|
7
|
+
import "../../../chunk-M7YEZR6X.js";
|
|
8
8
|
import "../../../chunk-Z63GB7JI.js";
|
|
9
9
|
import "../../../chunk-A3MTTRCX.js";
|
|
10
10
|
import "../../../chunk-TREHTIBD.js";
|
|
11
11
|
import "../../../chunk-5OTQA7CM.js";
|
|
12
12
|
import "../../../chunk-BMJTNPWK.js";
|
|
13
|
-
import "../../../chunk-
|
|
13
|
+
import "../../../chunk-CKA4SJRK.js";
|
|
14
14
|
import "../../../chunk-NLAFNMPK.js";
|
|
15
15
|
import "../../../chunk-RZLBICR5.js";
|
|
16
16
|
import "../../../chunk-IGVL3ELX.js";
|
|
17
|
-
import "../../../chunk-
|
|
17
|
+
import "../../../chunk-ZWACUOU5.js";
|
|
18
18
|
import "../../../chunk-PNNTR6KP.js";
|
|
19
19
|
import "../../../chunk-WJPMYXKZ.js";
|
|
20
20
|
import "../../../chunk-VYT4POBH.js";
|
|
@@ -27,7 +27,7 @@ import "../../../chunk-2KO2G3RI.js";
|
|
|
27
27
|
import "../../../chunk-CM7LVUKC.js";
|
|
28
28
|
import "../../../chunk-TVQCDDSZ.js";
|
|
29
29
|
import "../../../chunk-TXS65BB2.js";
|
|
30
|
-
import "../../../chunk-
|
|
30
|
+
import "../../../chunk-S6WJ6TUT.js";
|
|
31
31
|
export {
|
|
32
32
|
ModelAccountIndicator
|
|
33
33
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
ModelRecoveryNotice
|
|
4
|
-
} from "../../../chunk-
|
|
5
|
-
import "../../../chunk-
|
|
4
|
+
} from "../../../chunk-B254JG72.js";
|
|
5
|
+
import "../../../chunk-SK57RWSA.js";
|
|
6
6
|
import "../../../chunk-4NHJ6EXL.js";
|
|
7
7
|
import "../../../chunk-TXS65BB2.js";
|
|
8
|
-
import "../../../chunk-
|
|
8
|
+
import "../../../chunk-S6WJ6TUT.js";
|
|
9
9
|
export {
|
|
10
10
|
ModelRecoveryNotice
|
|
11
11
|
};
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
runsOnAttention,
|
|
11
11
|
runsOnSummary,
|
|
12
12
|
visibilitySummary
|
|
13
|
-
} from "../../../chunk-
|
|
13
|
+
} from "../../../chunk-GUIZDI5T.js";
|
|
14
14
|
import "../../../chunk-Z2S5VQG7.js";
|
|
15
15
|
import "../../../chunk-J4OPEWC3.js";
|
|
16
16
|
import "../../../chunk-RBRX5ZS3.js";
|
|
@@ -21,7 +21,7 @@ import "../../../chunk-GQPRDEHX.js";
|
|
|
21
21
|
import "../../../chunk-WHMKC7OQ.js";
|
|
22
22
|
import "../../../chunk-O2LGEYG4.js";
|
|
23
23
|
import "../../../chunk-KNFDWNCH.js";
|
|
24
|
-
import "../../../chunk-
|
|
24
|
+
import "../../../chunk-BPD4IJBG.js";
|
|
25
25
|
import "../../../chunk-L6Y4ALSM.js";
|
|
26
26
|
import "../../../chunk-FIDD34ZF.js";
|
|
27
27
|
import "../../../chunk-74JEZLLQ.js";
|
|
@@ -34,7 +34,7 @@ import "../../../chunk-A3KMTJZS.js";
|
|
|
34
34
|
import "../../../chunk-WLEDGIVS.js";
|
|
35
35
|
import "../../../chunk-HMU5IELG.js";
|
|
36
36
|
import "../../../chunk-CPLCSM6K.js";
|
|
37
|
-
import "../../../chunk-
|
|
37
|
+
import "../../../chunk-7OIBLMDP.js";
|
|
38
38
|
import "../../../chunk-4U7SHFQ2.js";
|
|
39
39
|
import "../../../chunk-NRP4REXE.js";
|
|
40
40
|
import "../../../chunk-J3BHDXQQ.js";
|
|
@@ -42,7 +42,7 @@ import "../../../chunk-2KO2G3RI.js";
|
|
|
42
42
|
import "../../../chunk-CM7LVUKC.js";
|
|
43
43
|
import "../../../chunk-TVQCDDSZ.js";
|
|
44
44
|
import "../../../chunk-TXS65BB2.js";
|
|
45
|
-
import "../../../chunk-
|
|
45
|
+
import "../../../chunk-S6WJ6TUT.js";
|
|
46
46
|
export {
|
|
47
47
|
RunsOnMenuBody,
|
|
48
48
|
RunsOnNotice,
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
SessionRunsOnMenuBody,
|
|
6
6
|
sessionSupportsFleetSwitching,
|
|
7
7
|
useSessionRunsOn
|
|
8
|
-
} from "../../../chunk-
|
|
8
|
+
} from "../../../chunk-4XKT4ENZ.js";
|
|
9
9
|
import "../../../chunk-Z2S5VQG7.js";
|
|
10
|
-
import "../../../chunk-J4OPEWC3.js";
|
|
11
10
|
import "../../../chunk-JNY5MT3I.js";
|
|
12
|
-
import "../../../chunk-
|
|
11
|
+
import "../../../chunk-J4OPEWC3.js";
|
|
12
|
+
import "../../../chunk-M7A226EQ.js";
|
|
13
13
|
import "../../../chunk-A3MTTRCX.js";
|
|
14
14
|
import "../../../chunk-O2LGEYG4.js";
|
|
15
|
-
import "../../../chunk-
|
|
15
|
+
import "../../../chunk-BPD4IJBG.js";
|
|
16
16
|
import "../../../chunk-FIDD34ZF.js";
|
|
17
17
|
import "../../../chunk-74JEZLLQ.js";
|
|
18
18
|
import "../../../chunk-L4OF77LE.js";
|
|
@@ -21,12 +21,12 @@ import "../../../chunk-TREHTIBD.js";
|
|
|
21
21
|
import "../../../chunk-5OTQA7CM.js";
|
|
22
22
|
import "../../../chunk-A3KMTJZS.js";
|
|
23
23
|
import "../../../chunk-QRKTESVE.js";
|
|
24
|
-
import "../../../chunk-
|
|
24
|
+
import "../../../chunk-SSZROOOI.js";
|
|
25
25
|
import "../../../chunk-HMU5IELG.js";
|
|
26
|
-
import "../../../chunk-
|
|
26
|
+
import "../../../chunk-CKA4SJRK.js";
|
|
27
27
|
import "../../../chunk-CPLCSM6K.js";
|
|
28
28
|
import "../../../chunk-NLAFNMPK.js";
|
|
29
|
-
import "../../../chunk-
|
|
29
|
+
import "../../../chunk-WWM7WVD2.js";
|
|
30
30
|
import "../../../chunk-RZLBICR5.js";
|
|
31
31
|
import {
|
|
32
32
|
CLOUD_SANDBOX_LABEL,
|
|
@@ -44,7 +44,7 @@ import "../../../chunk-TVQCDDSZ.js";
|
|
|
44
44
|
import "../../../chunk-SJGAHTY5.js";
|
|
45
45
|
import "../../../chunk-4NHJ6EXL.js";
|
|
46
46
|
import "../../../chunk-TXS65BB2.js";
|
|
47
|
-
import "../../../chunk-
|
|
47
|
+
import "../../../chunk-S6WJ6TUT.js";
|
|
48
48
|
export {
|
|
49
49
|
CLOUD_SANDBOX_LABEL,
|
|
50
50
|
LOCAL_SANDBOX_LABEL,
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
SessionWorkspace
|
|
4
|
-
} from "../../../chunk-
|
|
4
|
+
} from "../../../chunk-CEQUNJJY.js";
|
|
5
5
|
import "../../../chunk-ESYN5AUB.js";
|
|
6
6
|
import "../../../chunk-FIDD34ZF.js";
|
|
7
7
|
import "../../../chunk-74JEZLLQ.js";
|
|
8
8
|
import "../../../chunk-YG6NARQY.js";
|
|
9
9
|
import "../../../chunk-W6KAUGXO.js";
|
|
10
|
-
import "../../../chunk-
|
|
11
|
-
import "../../../chunk-
|
|
10
|
+
import "../../../chunk-TM2ZLY3Q.js";
|
|
11
|
+
import "../../../chunk-2LUO22FR.js";
|
|
12
12
|
import "../../../chunk-7HFLYNWN.js";
|
|
13
13
|
import "../../../chunk-BMJTNPWK.js";
|
|
14
|
-
import "../../../chunk-
|
|
14
|
+
import "../../../chunk-4VJOZJDV.js";
|
|
15
15
|
import "../../../chunk-EWL6NDOO.js";
|
|
16
16
|
import "../../../chunk-NAPQWCPR.js";
|
|
17
17
|
import "../../../chunk-WEFN327U.js";
|
|
@@ -19,24 +19,24 @@ import "../../../chunk-5VGJXWQ2.js";
|
|
|
19
19
|
import "../../../chunk-QRKTESVE.js";
|
|
20
20
|
import "../../../chunk-PZ2V2XIK.js";
|
|
21
21
|
import "../../../chunk-W6T5HR3Z.js";
|
|
22
|
-
import "../../../chunk-
|
|
23
|
-
import "../../../chunk-
|
|
24
|
-
import "../../../chunk-
|
|
22
|
+
import "../../../chunk-SSZROOOI.js";
|
|
23
|
+
import "../../../chunk-FMATVQFW.js";
|
|
24
|
+
import "../../../chunk-AJ7PY4FJ.js";
|
|
25
25
|
import "../../../chunk-V3K4RQO7.js";
|
|
26
|
-
import "../../../chunk-
|
|
26
|
+
import "../../../chunk-FVCLVASD.js";
|
|
27
27
|
import "../../../chunk-22GTC4MZ.js";
|
|
28
|
-
import "../../../chunk-
|
|
29
|
-
import "../../../chunk-
|
|
30
|
-
import "../../../chunk-
|
|
28
|
+
import "../../../chunk-FH75NNLB.js";
|
|
29
|
+
import "../../../chunk-SK57RWSA.js";
|
|
30
|
+
import "../../../chunk-DNYD7AUG.js";
|
|
31
31
|
import "../../../chunk-KDQAWRYZ.js";
|
|
32
|
-
import "../../../chunk-
|
|
33
|
-
import "../../../chunk-
|
|
32
|
+
import "../../../chunk-CKA4SJRK.js";
|
|
33
|
+
import "../../../chunk-BCFHMBMK.js";
|
|
34
34
|
import "../../../chunk-B27E3V37.js";
|
|
35
|
-
import "../../../chunk-
|
|
36
|
-
import "../../../chunk-
|
|
37
|
-
import "../../../chunk-
|
|
38
|
-
import "../../../chunk-
|
|
39
|
-
import "../../../chunk-
|
|
35
|
+
import "../../../chunk-F4B2YYCN.js";
|
|
36
|
+
import "../../../chunk-3ZZOE4SN.js";
|
|
37
|
+
import "../../../chunk-QLDMF7MH.js";
|
|
38
|
+
import "../../../chunk-6K3WNTRI.js";
|
|
39
|
+
import "../../../chunk-O4AWXTZQ.js";
|
|
40
40
|
import "../../../chunk-EMIVOS73.js";
|
|
41
41
|
import "../../../chunk-34EU25RL.js";
|
|
42
42
|
import "../../../chunk-CPLCSM6K.js";
|
|
@@ -45,24 +45,24 @@ import "../../../chunk-6MRY2RUZ.js";
|
|
|
45
45
|
import "../../../chunk-I6FIXEL4.js";
|
|
46
46
|
import "../../../chunk-ZOARMQY2.js";
|
|
47
47
|
import "../../../chunk-NLAFNMPK.js";
|
|
48
|
-
import "../../../chunk-
|
|
48
|
+
import "../../../chunk-WWM7WVD2.js";
|
|
49
49
|
import "../../../chunk-MK2TQO4Y.js";
|
|
50
|
-
import "../../../chunk-
|
|
50
|
+
import "../../../chunk-6PQBKMUL.js";
|
|
51
51
|
import "../../../chunk-CUUJROYT.js";
|
|
52
|
-
import "../../../chunk-
|
|
53
|
-
import "../../../chunk-
|
|
52
|
+
import "../../../chunk-X7Z4B5GK.js";
|
|
53
|
+
import "../../../chunk-26P7B46A.js";
|
|
54
54
|
import "../../../chunk-OYQQJL3J.js";
|
|
55
55
|
import "../../../chunk-RZLBICR5.js";
|
|
56
56
|
import "../../../chunk-H3LIIAGE.js";
|
|
57
57
|
import "../../../chunk-VHB3E6PT.js";
|
|
58
58
|
import "../../../chunk-7N5AD2TC.js";
|
|
59
59
|
import "../../../chunk-4U7SHFQ2.js";
|
|
60
|
-
import "../../../chunk-
|
|
61
|
-
import "../../../chunk-
|
|
60
|
+
import "../../../chunk-6N7W3TOV.js";
|
|
61
|
+
import "../../../chunk-K4FDZVMQ.js";
|
|
62
62
|
import "../../../chunk-C5ZCSVZ7.js";
|
|
63
63
|
import "../../../chunk-BOG2FED3.js";
|
|
64
64
|
import "../../../chunk-YSRBFJMQ.js";
|
|
65
|
-
import "../../../chunk-
|
|
65
|
+
import "../../../chunk-SJPAKWWP.js";
|
|
66
66
|
import "../../../chunk-6AFSZKZA.js";
|
|
67
67
|
import "../../../chunk-AW3QEFOF.js";
|
|
68
68
|
import "../../../chunk-HEVQKE27.js";
|
|
@@ -78,21 +78,21 @@ import "../../../chunk-UNJPZGNK.js";
|
|
|
78
78
|
import "../../../chunk-XV6ZYRHK.js";
|
|
79
79
|
import "../../../chunk-IGVL3ELX.js";
|
|
80
80
|
import "../../../chunk-PEHTX3V7.js";
|
|
81
|
-
import "../../../chunk-
|
|
81
|
+
import "../../../chunk-WN2MIB4Q.js";
|
|
82
82
|
import "../../../chunk-ZUWF4NF7.js";
|
|
83
83
|
import "../../../chunk-NRP4REXE.js";
|
|
84
|
-
import "../../../chunk-
|
|
85
|
-
import "../../../chunk-
|
|
84
|
+
import "../../../chunk-2K27S6LK.js";
|
|
85
|
+
import "../../../chunk-MB2DTUEG.js";
|
|
86
86
|
import "../../../chunk-3IWPC6O3.js";
|
|
87
|
-
import "../../../chunk-
|
|
87
|
+
import "../../../chunk-I57HZMMA.js";
|
|
88
88
|
import "../../../chunk-7RRMTSCI.js";
|
|
89
|
-
import "../../../chunk-
|
|
89
|
+
import "../../../chunk-ZWACUOU5.js";
|
|
90
90
|
import "../../../chunk-PNNTR6KP.js";
|
|
91
91
|
import "../../../chunk-WJPMYXKZ.js";
|
|
92
92
|
import "../../../chunk-VYT4POBH.js";
|
|
93
93
|
import "../../../chunk-6F34IWSA.js";
|
|
94
94
|
import "../../../chunk-IQ64BNAG.js";
|
|
95
|
-
import "../../../chunk-
|
|
95
|
+
import "../../../chunk-DNWBLT4U.js";
|
|
96
96
|
import "../../../chunk-J3BHDXQQ.js";
|
|
97
97
|
import "../../../chunk-CFEFYPNR.js";
|
|
98
98
|
import "../../../chunk-N7S72EXK.js";
|
|
@@ -102,12 +102,12 @@ import "../../../chunk-CM7LVUKC.js";
|
|
|
102
102
|
import "../../../chunk-TVQCDDSZ.js";
|
|
103
103
|
import "../../../chunk-SJGAHTY5.js";
|
|
104
104
|
import "../../../chunk-4NHJ6EXL.js";
|
|
105
|
-
import "../../../chunk-
|
|
105
|
+
import "../../../chunk-4XO346BW.js";
|
|
106
106
|
import "../../../chunk-QV3DJVRZ.js";
|
|
107
107
|
import "../../../chunk-TNEZNMSN.js";
|
|
108
108
|
import "../../../chunk-5I4VRWBB.js";
|
|
109
109
|
import "../../../chunk-TXS65BB2.js";
|
|
110
|
-
import "../../../chunk-
|
|
110
|
+
import "../../../chunk-S6WJ6TUT.js";
|
|
111
111
|
export {
|
|
112
112
|
SessionWorkspace
|
|
113
113
|
};
|