@opengeni/react 6.7.0 → 6.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/app-state.js +9 -9
- package/dist/app/components/Composer.js +20 -20
- package/dist/app/components/agent/agent-capability-picker.js +6 -6
- package/dist/app/components/artifacts/artifact-browse-controls.js +2 -2
- package/dist/app/components/artifacts/artifact-library.js +13 -13
- package/dist/app/components/artifacts/artifact-viewer.js +21 -21
- package/dist/app/components/artifacts/chat-interactive-block.js +14 -14
- package/dist/app/components/artifacts/copy-artifact-link.js +2 -2
- package/dist/app/components/artifacts/file-reach-dialog.js +7 -7
- package/dist/app/components/artifacts/inline-chat-image.js +22 -22
- package/dist/app/components/artifacts/retained-file-preview.js +23 -23
- package/dist/app/components/artifacts/retained-text-preview.js +3 -3
- package/dist/app/components/artifacts/site-actions.d.ts +43 -0
- package/dist/app/components/artifacts/site-actions.js +38 -0
- package/dist/app/components/artifacts/site-audience.js +5 -5
- package/dist/app/components/artifacts/site-conversations.js +13 -13
- package/dist/app/components/artifacts/site-data.js +14 -14
- package/dist/app/components/artifacts/site-publishing-page.js +31 -31
- package/dist/app/components/artifacts/site-publishing.js +25 -25
- package/dist/app/components/artifacts/site-settings.js +30 -30
- 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 +23 -23
- package/dist/app/components/bots/bot-template-dialog.js +30 -30
- package/dist/app/components/bots/bot-template-shortcuts.js +23 -23
- package/dist/app/components/bots/bot-templates-page.js +37 -37
- package/dist/app/components/capabilities/capability-detail-sheet.js +9 -9
- package/dist/app/components/capabilities/capability-logo-source.js +14 -15
- package/dist/app/components/capabilities/connection-ownership-selector.js +4 -4
- package/dist/app/components/capabilities/connector-tool-permissions.js +4 -4
- package/dist/app/components/capabilities/detail-dialog.js +3 -3
- package/dist/app/components/capabilities/native-connect-setup.js +16 -17
- package/dist/app/components/capabilities/native-connect-setup.js.map +1 -1
- package/dist/app/components/capabilities/own-logins-shared-heads-up.js +3 -3
- package/dist/app/components/capabilities/prepared-mcp-setup-card.js +16 -17
- package/dist/app/components/capabilities/session-capability-card.js +49 -50
- package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
- package/dist/app/components/capabilities/session-chrome-card.js +24 -25
- package/dist/app/components/capabilities/session-custom-mcp-card.js +17 -18
- package/dist/app/components/capabilities/session-github-card.js +17 -18
- package/dist/app/components/capabilities/session-machine-card.js +23 -24
- package/dist/app/components/capabilities/session-personal-github-card.js +15 -16
- package/dist/app/components/capabilities/session-plugin-card.js +9 -10
- package/dist/app/components/capabilities/use-connection-accounts.js +2 -2
- package/dist/app/components/command-menu/chat-status.js +19 -19
- package/dist/app/components/command-menu/chat-switcher.js +35 -35
- package/dist/app/components/command-menu/command-menu.js +42 -42
- package/dist/app/components/command-menu/shortcut-sheet.js +11 -11
- package/dist/app/components/composer-capabilities-menu-body.js +4 -4
- package/dist/app/components/composer-mobile-plus-panel.js +10 -10
- package/dist/app/components/composer-mobile-plus.js +3 -3
- package/dist/app/components/credit-required-gate.js +1 -1
- package/dist/app/components/credit-required-prompt.js +4 -4
- package/dist/app/components/credits/checkout-credits-celebration.js +3 -3
- package/dist/app/components/credits/checkout-return.js +3 -3
- package/dist/app/components/credits/credit-refusal-notice.js +2 -2
- 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 +5 -5
- package/dist/app/components/github-app-connect-launcher.js +1 -1
- package/dist/app/components/machines/connect-machine-dialog.js +14 -14
- package/dist/app/components/markdown.js +7 -7
- package/dist/app/components/models/models-ui.js +6 -6
- package/dist/app/components/my-things.js +6 -6
- package/dist/app/components/own-where-it-works.js +5 -5
- 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 +5 -5
- package/dist/app/components/rail/project-glyph.js +23 -23
- package/dist/app/components/rail/project-profile.js +32 -32
- package/dist/app/components/rail/rail-context.js +1 -1
- package/dist/app/components/rail/rail-sections.js +70 -61
- package/dist/app/components/rail/session-header.js +54 -53
- package/dist/app/components/rail/session-list.js +68 -59
- package/dist/app/components/rail/session-row-content.js +4 -4
- package/dist/app/components/rail/session-row-hover-details.js +18 -18
- package/dist/app/components/rail/session-shell.js +89 -80
- package/dist/app/components/rail/site-session-group-heading.js +29 -12
- package/dist/app/components/session/agent-configuration-panel.js +14 -14
- package/dist/app/components/session/artifact-session-page.js +5 -5
- package/dist/app/components/session/banners.js +9 -9
- package/dist/app/components/session/console-new-conversation.js +43 -44
- package/dist/app/components/session/descendant-requests.js +39 -40
- package/dist/app/components/session/descendant-requests.js.map +1 -1
- package/dist/app/components/session/editable-artifacts-workspace.js +27 -27
- package/dist/app/components/session/failed-session-banner.js +9 -9
- 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 +37 -38
- package/dist/app/components/session/inspector.js +47 -48
- package/dist/app/components/session/inspector.js.map +1 -1
- package/dist/app/components/session/message-actions.js +5 -5
- package/dist/app/components/session/message-resource-attachments.js +13 -13
- 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 +24 -24
- package/dist/app/components/session/sandbox-recovery-actions.js +5 -5
- package/dist/app/components/session/sandbox-switcher.js +8 -8
- package/dist/app/components/session/sandbox-workspace.js +52 -53
- package/dist/app/components/session/search-markdown-highlight.js +8 -8
- package/dist/app/components/session/search-results-view.js +9 -9
- package/dist/app/components/session/session-admin-access.js +5 -5
- package/dist/app/components/session/session-admission-notice.js +4 -4
- package/dist/app/components/session/session-avatar-picker.js +24 -24
- package/dist/app/components/session/session-avatar.js +22 -22
- package/dist/app/components/session/session-machine-access-notice.js +4 -4
- package/dist/app/components/session/session-profile-dialog.js +29 -29
- package/dist/app/components/session/session-profile-editor.js +30 -30
- package/dist/app/components/session/session-retention.js +3 -3
- package/dist/app/components/session/session-search-dialog.js +11 -11
- package/dist/app/components/session/session-tenancy-control.js +4 -4
- package/dist/app/components/session/session-usage-limit-section.js +4 -4
- package/dist/app/components/session/share-chat-dialog.js +7 -7
- package/dist/app/components/session/subagents.js +12 -12
- package/dist/app/components/session/subscription-account-indicator.js +6 -6
- 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 +7 -7
- package/dist/app/components/usage/usage-entry.js +3 -3
- package/dist/app/components/window-bar.d.ts +3 -1
- package/dist/app/components/window-bar.js +13 -11
- package/dist/app/components/workspace-composer-plus.js +19 -20
- package/dist/app/components/workspace-reach.js +4 -4
- package/dist/app/embed/session-app.js +173 -167
- package/dist/app/lib/actions/actions-provider.js +9 -9
- 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 +15 -16
- package/dist/app/lib/composer-send-blocking.d.ts +135 -1
- package/dist/app/lib/composer-send-blocking.js +30 -3
- package/dist/app/lib/console-site.js +2 -2
- package/dist/app/lib/console-text.js +2 -2
- package/dist/app/lib/copy-link.d.ts +2 -0
- package/dist/app/lib/events.js +15 -15
- package/dist/app/lib/failed-session-copy.js +4 -4
- package/dist/app/lib/model-access-onboarding.js +3 -3
- package/dist/app/lib/model-access.js +2 -2
- package/dist/app/lib/move-chat-to-machine.js +3 -3
- package/dist/app/lib/session-branch-cache.js +12 -12
- package/dist/app/lib/session-composer-readiness.d.ts +2 -2
- package/dist/app/lib/session-create.js +4 -4
- package/dist/app/lib/session-group-pagination.js +12 -12
- package/dist/app/lib/session-hover-facts.js +17 -17
- package/dist/app/lib/session-model.js +2 -2
- package/dist/app/lib/session-rail.js +9 -9
- package/dist/app/lib/session-rename.js +3 -3
- package/dist/app/lib/sessions-group.js +11 -11
- package/dist/app/lib/site-sidebar-bridge.d.ts +24 -0
- package/dist/app/lib/site-tool-consent-dialog.js +9 -10
- package/dist/app/lib/site-tool-consent-dialog.js.map +1 -1
- package/dist/app/lib/site-tool-consent.js +1 -1
- package/dist/app/lib/turn-failure-analytics.js +5 -5
- package/dist/app/lib/use-follow-up-repositories.js +5 -5
- package/dist/app/lib/use-workspace-machines.js +5 -5
- 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 +69 -69
- package/dist/app/routes/retained-artifact.js +48 -48
- package/dist/app/routes/session.js +100 -101
- package/dist/app/routes/sessions-index-hydration.js +5 -5
- package/dist/app/routes/sessions-index.js +85 -85
- package/dist/app/routes/site-view.js +177 -85
- 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 +13 -13
- package/dist/automations.js +12 -12
- package/dist/{browser-viewer-TC27OCIP.js → browser-viewer-ZHQDVHZ2.js} +5 -5
- package/dist/{chat-interactive-block-RWPQBHVS.js → chat-interactive-block-VSDD6X3M.js} +5 -5
- package/dist/{chunk-5MOJZORA.js → chunk-2EA4IRIP.js} +34 -3
- package/dist/chunk-2EA4IRIP.js.map +1 -0
- package/dist/{chunk-C43KRXGA.js → chunk-2GCHGWNE.js} +3 -3
- package/dist/{chunk-XLH7QY2R.js → chunk-2J77TWGH.js} +3 -3
- package/dist/{chunk-77WAKEAH.js → chunk-2OXSB2OL.js} +2 -2
- package/dist/{chunk-H3T7IWNA.js → chunk-2VJOSU4H.js} +2 -2
- package/dist/{chunk-N6AACDUW.js → chunk-34NV52R3.js} +4 -4
- package/dist/{chunk-L7YTNTIK.js → chunk-3CDJSKDW.js} +3 -3
- package/dist/{chunk-EWSOC6WF.js → chunk-3DRLCX5V.js} +2 -2
- package/dist/{chunk-JEUPAVYY.js → chunk-3L465FBR.js} +6 -6
- package/dist/{chunk-5NWEKLDZ.js → chunk-3NNAC43A.js} +2 -2
- package/dist/{chunk-EDI6SJ2N.js → chunk-3OK7Y6ES.js} +2 -2
- package/dist/{chunk-AWKES45Y.js → chunk-3PM3M2Q6.js} +2 -2
- package/dist/{chunk-I7XIZRFD.js → chunk-3PZ3LRPV.js} +3 -3
- package/dist/{chunk-AW2MQB37.js → chunk-44JWVYJB.js} +2 -2
- package/dist/{chunk-2M3J7ZWQ.js → chunk-467WDSOK.js} +2 -2
- package/dist/{chunk-UTIAXH52.js → chunk-477DTTMH.js} +3 -3
- package/dist/{chunk-J5F5HPPW.js → chunk-4BWMAGJJ.js} +3 -3
- package/dist/{chunk-YSJEAAOL.js → chunk-4F3AEJI6.js} +4 -4
- package/dist/{chunk-LHPNABDH.js → chunk-4JXPLTWV.js} +2 -2
- package/dist/{chunk-RQKLF42C.js → chunk-4K64EKM7.js} +4 -4
- package/dist/{chunk-NUNZS36W.js → chunk-4O2XWOLZ.js} +3 -3
- package/dist/{chunk-QB2KMIDP.js → chunk-4SJAEPM2.js} +2 -2
- package/dist/{chunk-6JHU2UBS.js → chunk-4Z5X7PLC.js} +3 -3
- package/dist/{chunk-2STUPWEL.js → chunk-54U6ZBEX.js} +3 -3
- package/dist/{chunk-XXSOHN35.js → chunk-5FLYHX5R.js} +2 -2
- package/dist/{chunk-MIYFS2XN.js → chunk-5MHMCE2G.js} +3 -3
- package/dist/{chunk-YWVI6ZMK.js → chunk-5MIBQ4P5.js} +2 -2
- package/dist/chunk-6B73WNLR.js +173 -0
- package/dist/chunk-6B73WNLR.js.map +1 -0
- package/dist/{chunk-5O2FCCHZ.js → chunk-6QK65ZWM.js} +3 -3
- package/dist/{chunk-RPVREAU7.js → chunk-736RUNIA.js} +4 -4
- package/dist/{chunk-2KALVELR.js → chunk-74CBR5YE.js} +3 -3
- package/dist/{chunk-5IE76VCY.js → chunk-752WXSDN.js} +2 -2
- package/dist/{chunk-OPJJSKUK.js → chunk-77B6UCNK.js} +6 -6
- package/dist/{chunk-SEO7TICN.js → chunk-77BHKC43.js} +1 -1
- package/dist/{chunk-ZUA3JMI6.js → chunk-77SYIH6O.js} +2 -2
- package/dist/{chunk-ILDXWY37.js → chunk-7AI4E7PV.js} +2 -2
- package/dist/{chunk-C372BFOV.js → chunk-7NLF35YL.js} +4 -4
- package/dist/{chunk-IFB3WJ36.js → chunk-7YTR3UFO.js} +4 -4
- package/dist/{chunk-BMICEQZQ.js → chunk-7Z76QP64.js} +3 -3
- package/dist/{chunk-YWIFM7D7.js → chunk-AAS7OWV6.js} +3 -3
- package/dist/{chunk-5QAY6K77.js → chunk-AB5IW227.js} +3 -3
- package/dist/{chunk-ZBIXBQNI.js → chunk-ABJZDRW2.js} +2 -2
- package/dist/{chunk-4DVJ6ONS.js → chunk-AH3DGOTK.js} +2 -2
- package/dist/{chunk-HGKTHF2U.js → chunk-AJBDAVX3.js} +8 -8
- package/dist/{chunk-5YKW2K6I.js → chunk-AJDGP2N4.js} +20 -20
- package/dist/{chunk-HD5X76TP.js → chunk-AQQT2FIC.js} +5 -5
- package/dist/chunk-AQQT2FIC.js.map +1 -0
- package/dist/{chunk-SC6RRD2D.js → chunk-ARTEEI2E.js} +11 -2
- package/dist/{chunk-SC6RRD2D.js.map → chunk-ARTEEI2E.js.map} +1 -1
- package/dist/{chunk-IXPTECSC.js → chunk-AVXDIRRW.js} +2 -2
- package/dist/{chunk-QK5EFEUT.js → chunk-BASI553K.js} +4 -4
- package/dist/{chunk-CRU35QQH.js → chunk-BFFNINCC.js} +108 -66
- package/dist/chunk-BFFNINCC.js.map +1 -0
- package/dist/{chunk-Z4FMAFNH.js → chunk-BQYRZIZ7.js} +2 -2
- package/dist/{chunk-DZXEDSQI.js → chunk-CEMSIU4Z.js} +5 -5
- package/dist/{chunk-FZC5N55X.js → chunk-CH4UQ4NO.js} +5 -5
- package/dist/{chunk-7X6SDK2C.js → chunk-CHU3RDV4.js} +3 -3
- package/dist/{chunk-Y4OBB2VN.js → chunk-CV4VVLPZ.js} +2 -2
- package/dist/{chunk-JQL7ZH6C.js → chunk-CXAN2FHF.js} +7 -7
- package/dist/{chunk-F2OPHAUN.js → chunk-CYDXCILL.js} +7 -7
- package/dist/{chunk-3PZ7JZI2.js → chunk-D3PTVN2I.js} +2 -2
- package/dist/{chunk-FPXASDG5.js → chunk-D5TIVCXG.js} +2 -2
- package/dist/{chunk-7W37NS3I.js → chunk-D74Z2N4K.js} +2 -2
- package/dist/{chunk-MNZG4OHU.js → chunk-DCEQCGVN.js} +2 -2
- package/dist/{chunk-ND2BXV3P.js → chunk-DEHLWZSI.js} +4 -4
- package/dist/{chunk-2YUOVM3G.js → chunk-DIP7YALH.js} +2 -2
- package/dist/{chunk-6PZ7OBYU.js → chunk-DLVIRJGK.js} +4 -4
- package/dist/{chunk-KLEUWIMZ.js → chunk-DQPIEQGP.js} +2 -2
- package/dist/{chunk-T2QX3FDP.js → chunk-DWJ6J3YW.js} +4 -4
- package/dist/{chunk-3CPWWGNK.js → chunk-E5KOWRDU.js} +2 -2
- package/dist/{chunk-6WGRDRMA.js → chunk-EBIVTDEG.js} +2 -2
- package/dist/{chunk-KUDGXAF7.js → chunk-EBTUPRRQ.js} +10 -10
- package/dist/{chunk-5CPEEAFD.js → chunk-EDDKPIIV.js} +2 -2
- package/dist/{chunk-TX3VECZU.js → chunk-EGKARC53.js} +2 -2
- package/dist/{chunk-JEA3QDX7.js → chunk-EKJHOWTZ.js} +4 -4
- package/dist/{chunk-UVN5TMHU.js → chunk-ESXAECZ3.js} +2 -2
- package/dist/{chunk-3SOIESJM.js → chunk-EWZ2RLNG.js} +2 -2
- package/dist/{chunk-CMKGILJK.js → chunk-FBA2NXYH.js} +4 -4
- package/dist/{chunk-O6N4ABCA.js → chunk-FER6EVIY.js} +2 -2
- package/dist/{chunk-DF5EAHDN.js → chunk-FLWQJDJ5.js} +5 -5
- package/dist/{chunk-PTAG4PDC.js → chunk-FNXCFIPW.js} +2 -2
- package/dist/chunk-FPSS23S4.js +36 -0
- package/dist/chunk-FPSS23S4.js.map +1 -0
- package/dist/{chunk-BJEJFISW.js → chunk-FSDQQQIA.js} +3 -3
- package/dist/{chunk-PTF5B7TJ.js → chunk-G5UQBTXY.js} +2 -2
- package/dist/{chunk-4E3ZJRTZ.js → chunk-G6ICCGJ3.js} +2 -2
- package/dist/{chunk-NRTE7DNV.js → chunk-GIWFLWXG.js} +4 -4
- package/dist/{chunk-MM4FNWI4.js → chunk-GMHIOYB7.js} +4 -4
- package/dist/{chunk-6DK6Z4UN.js → chunk-GOCODNQS.js} +3 -3
- package/dist/{chunk-TPQTRNER.js → chunk-GSCGKJNK.js} +2 -2
- package/dist/{chunk-7VMZGLYI.js → chunk-GTHCHCWW.js} +3 -3
- package/dist/{chunk-SQJIKMN3.js → chunk-GTRAH4FG.js} +2 -2
- package/dist/{chunk-ZYAZUPPV.js → chunk-GU7T2S5N.js} +3 -3
- package/dist/{chunk-JKHKLL5W.js → chunk-H6BX6WOW.js} +3 -3
- package/dist/{chunk-IMZCQBOT.js → chunk-H6MJFMHZ.js} +3 -3
- package/dist/{chunk-HSOXMJOT.js → chunk-HEGV4QMS.js} +2 -2
- package/dist/chunk-HROITVQJ.js +85 -0
- package/dist/chunk-HROITVQJ.js.map +1 -0
- package/dist/{chunk-OF4TIKYC.js → chunk-HTMQGS63.js} +17 -9
- package/dist/chunk-HTMQGS63.js.map +1 -0
- package/dist/{chunk-NC7PVOEK.js → chunk-HWVPLFIW.js} +2 -2
- package/dist/{chunk-IMDQUHBJ.js → chunk-HYEIA25Y.js} +2 -2
- package/dist/{chunk-ECJBYNLJ.js → chunk-ICAMYP5M.js} +2 -2
- package/dist/{chunk-DJAXC5OK.js → chunk-IFSXVU2S.js} +2 -2
- package/dist/{chunk-I4MRDSUF.js → chunk-IJR6VOLU.js} +3 -3
- package/dist/{chunk-YCVD6CI3.js → chunk-IN3VQFKS.js} +2 -2
- package/dist/{chunk-BJFH6JI5.js → chunk-IZXYFWA4.js} +13 -13
- package/dist/{chunk-MFROMEKA.js → chunk-J2BTILRR.js} +3 -3
- package/dist/{chunk-NCYMNCJO.js → chunk-J2WY42FA.js} +2 -2
- package/dist/{chunk-DGMR6JEJ.js → chunk-J4XSTXZP.js} +2 -2
- package/dist/{chunk-ZTPXACWB.js → chunk-JKL5S7UQ.js} +6 -6
- package/dist/{chunk-P77WNZDY.js → chunk-JMHEFZOB.js} +2 -2
- package/dist/{chunk-IDANQPRH.js → chunk-JV3UI7BH.js} +3 -3
- package/dist/{chunk-NW53H5RW.js → chunk-JV5ULONH.js} +166 -65
- package/dist/chunk-JV5ULONH.js.map +1 -0
- package/dist/{chunk-FVXBNBHO.js → chunk-K3D7IQQP.js} +6 -6
- package/dist/{chunk-XEQMZB3C.js → chunk-K4DQS2ML.js} +24 -6
- package/dist/chunk-K4DQS2ML.js.map +1 -0
- package/dist/{chunk-GKVJIDHF.js → chunk-KFNZZ2N6.js} +2 -2
- package/dist/{chunk-I4QEJ62Y.js → chunk-KI46GKMD.js} +7 -7
- package/dist/{chunk-SIRLACNZ.js → chunk-KO3OHHY2.js} +3 -3
- package/dist/{chunk-NULUNM7H.js → chunk-KUE5BOQE.js} +5 -5
- package/dist/{chunk-O3LKCBP5.js → chunk-LIJNVIT3.js} +3 -3
- package/dist/{chunk-JWB44UGJ.js → chunk-LIJPDVYP.js} +2 -2
- package/dist/{chunk-KYS77RPN.js → chunk-LPKJ77EK.js} +2 -2
- package/dist/{chunk-RMFKVOM7.js → chunk-LQKVNREV.js} +4 -4
- package/dist/{chunk-E7XERZWC.js → chunk-LTJFV2JI.js} +2 -2
- package/dist/{chunk-INXGSG3J.js → chunk-LVDNY5RC.js} +2 -2
- package/dist/{chunk-2INLDVK3.js → chunk-LVELUUK6.js} +2 -2
- package/dist/{chunk-TAT5USZN.js → chunk-M3FDGRB4.js} +3 -3
- package/dist/{chunk-5EWSRZ2Y.js → chunk-M3HGBO2Y.js} +1 -1
- package/dist/{chunk-J3DY5HWQ.js → chunk-M5IQVMLR.js} +4 -4
- package/dist/{chunk-53AGXXZM.js → chunk-MKDFYE2E.js} +2 -2
- package/dist/{chunk-4SAWSRAA.js → chunk-MRECRNVU.js} +5 -5
- package/dist/{chunk-2I7HDP53.js → chunk-MT2R57SF.js} +2 -2
- package/dist/{chunk-Z7Y523PS.js → chunk-MV2CLIO6.js} +6 -6
- package/dist/{chunk-JZ4NLCAP.js → chunk-MZY3VKKM.js} +2 -2
- package/dist/{chunk-YENLNISG.js → chunk-N3FM4BNA.js} +2 -2
- package/dist/{chunk-DZWARC4M.js → chunk-NFCS5WYC.js} +3 -3
- package/dist/{chunk-I5QZJODL.js → chunk-NQ2CPQJF.js} +3 -3
- package/dist/{chunk-6DVCC7QS.js → chunk-OBGOLHCP.js} +164 -43
- package/dist/chunk-OBGOLHCP.js.map +1 -0
- package/dist/{chunk-CUIWCGMA.js → chunk-OCXEY7HE.js} +2 -2
- package/dist/{chunk-VTTAJOQ7.js → chunk-OCXTTKVA.js} +2 -2
- package/dist/{chunk-KRDR5RJD.js → chunk-OGU73VUN.js} +2 -2
- package/dist/{chunk-YIRVLKAX.js → chunk-OI6VI6SU.js} +9 -9
- package/dist/{chunk-BHNSJVBC.js → chunk-OJWDNNW3.js} +5 -5
- package/dist/{chunk-X6KAJI3V.js → chunk-OK7BQMCI.js} +9 -9
- package/dist/{chunk-I5B5L6Q4.js → chunk-OOOSGPJL.js} +1 -1
- package/dist/chunk-OP2GD6QW.js +166 -0
- package/dist/chunk-OP2GD6QW.js.map +1 -0
- package/dist/{chunk-TUIN4MB7.js → chunk-ORV7EFSL.js} +4 -4
- package/dist/{chunk-JDTGRRNU.js → chunk-OSJ366KR.js} +49 -31
- package/dist/chunk-OSJ366KR.js.map +1 -0
- package/dist/{chunk-3IK6UYO6.js → chunk-OTW25A6I.js} +3 -3
- package/dist/{chunk-NPGISCU6.js → chunk-OWET7EY2.js} +16 -16
- package/dist/{chunk-CRAOSVHC.js → chunk-OXQ2SXVC.js} +2 -2
- package/dist/{chunk-3ED2U6XE.js → chunk-OYCK4JRS.js} +2 -2
- package/dist/{chunk-YQXTDZSU.js → chunk-OYOFPNLC.js} +4 -4
- package/dist/{chunk-4NQHXYMW.js → chunk-PD7NWM7V.js} +2 -2
- package/dist/{chunk-4YCA2Y73.js → chunk-PF2WU2IL.js} +3 -3
- package/dist/{chunk-Z654FWNU.js → chunk-PLYVGZIN.js} +2 -2
- package/dist/{chunk-MVW6HNPI.js → chunk-PRT4J2DL.js} +2 -2
- package/dist/{chunk-TXLIEOJX.js → chunk-PSM3CU7N.js} +111 -80
- package/dist/chunk-PSM3CU7N.js.map +1 -0
- package/dist/{chunk-OPWCMA4D.js → chunk-PUUEI4W3.js} +6 -6
- package/dist/{chunk-RLBKLAEY.js → chunk-PVB4YVDP.js} +2 -2
- package/dist/{chunk-NXCMHIKI.js → chunk-PWUSSSSL.js} +2 -2
- package/dist/{chunk-MJUCFQMS.js → chunk-PYB4BFEC.js} +3 -3
- package/dist/{chunk-2FSBSCZJ.js → chunk-PZKHST7A.js} +2 -2
- package/dist/{chunk-QZAAUQRN.js → chunk-Q5EZNBPI.js} +3 -3
- package/dist/{chunk-ZHDFQITM.js → chunk-Q5K2J5GG.js} +2 -2
- package/dist/{chunk-7T2ZE3VT.js → chunk-QPQ7R77C.js} +8 -1
- package/dist/chunk-QPQ7R77C.js.map +1 -0
- package/dist/{chunk-6BCXNDEI.js → chunk-QQIZMVAJ.js} +74 -60
- package/dist/chunk-QQIZMVAJ.js.map +1 -0
- package/dist/{chunk-OV6QJRT4.js → chunk-QRECBCJM.js} +2 -2
- package/dist/{chunk-3GZA4BUW.js → chunk-QURYQFDN.js} +2 -2
- package/dist/{chunk-VS7AHPCZ.js → chunk-R33SBMB7.js} +3 -3
- package/dist/{chunk-KCBMFSMS.js → chunk-R4JA5JFI.js} +3 -3
- package/dist/{chunk-HC4JFZVU.js → chunk-R5QAL43H.js} +2 -2
- package/dist/{chunk-QPSGCC5D.js → chunk-RGR57NYY.js} +2 -2
- package/dist/{chunk-XWFAMUZQ.js → chunk-RHXYO4H2.js} +2 -2
- package/dist/{chunk-Y4BB2KS2.js → chunk-RISUROBM.js} +7 -7
- package/dist/{chunk-U3DN4HEY.js → chunk-RMCLFSMX.js} +2 -2
- package/dist/{chunk-YK7756IF.js → chunk-RTZANSSC.js} +3 -3
- package/dist/{chunk-ZEG4VPBL.js → chunk-S27VZ5DO.js} +6 -6
- package/dist/{chunk-54YW6SZZ.js → chunk-SBXSKRFA.js} +3 -3
- package/dist/{chunk-HAX4LCR5.js → chunk-SFIXTOOJ.js} +3 -3
- package/dist/{chunk-QIOQ2NPQ.js → chunk-SGH7I7OY.js} +2 -2
- package/dist/{chunk-K2A5PXQ5.js → chunk-SJYTQLN3.js} +3 -3
- package/dist/{chunk-2Z3NQNTM.js → chunk-SK5S2PCK.js} +15 -15
- package/dist/{chunk-X3MWB2QU.js → chunk-SN2WENRP.js} +3 -3
- package/dist/{chunk-OSY5K7L7.js → chunk-SP44O3OU.js} +2 -2
- package/dist/{chunk-OZCBM3UC.js → chunk-SSR4ZX52.js} +2 -2
- package/dist/{chunk-QCSJ4CWE.js → chunk-SXGJL7UT.js} +14 -14
- package/dist/{chunk-NC55IFN3.js → chunk-T67LTMSW.js} +10 -10
- package/dist/{chunk-AXHZYXUV.js → chunk-TDTD66BK.js} +2 -2
- package/dist/{chunk-NGJJJPZZ.js → chunk-TK5FWVZR.js} +3 -3
- package/dist/{chunk-YPWU5KPE.js → chunk-TKQL7EDB.js} +56 -19
- package/dist/chunk-TKQL7EDB.js.map +1 -0
- package/dist/{chunk-2OP6WLGV.js → chunk-TNSJFZ6Q.js} +4 -4
- package/dist/{chunk-O732GAFC.js → chunk-U4LTPFD2.js} +2 -2
- package/dist/{chunk-4DVNUCRR.js → chunk-U5UGM5XD.js} +6 -6
- package/dist/{chunk-UJK53QFL.js → chunk-UBRQ3PQD.js} +2 -2
- package/dist/{chunk-SODC7T6L.js → chunk-UMX6DZME.js} +2 -2
- package/dist/{chunk-YLS6QE5G.js → chunk-UO35OEOX.js} +4 -4
- package/dist/{chunk-SHHJCL7X.js → chunk-UTRNLNCW.js} +3 -3
- package/dist/{chunk-HEFPPMBQ.js → chunk-UU5FBVRX.js} +2 -2
- package/dist/{chunk-GQXZPKK7.js → chunk-V6UOVHW3.js} +2 -2
- package/dist/{chunk-GVN5SZLX.js → chunk-VATYK3JQ.js} +3 -3
- package/dist/{chunk-7TIX2UAR.js → chunk-VCJQQYRE.js} +4 -4
- package/dist/{chunk-6WD2INST.js → chunk-WDASYY4S.js} +7 -7
- package/dist/{chunk-DXBYWSL5.js → chunk-WIFDNUKD.js} +3 -3
- package/dist/{chunk-RT7CJMER.js → chunk-WIXHUBQN.js} +2 -2
- package/dist/{chunk-57AZS3IE.js → chunk-WRMUXZ7C.js} +3 -3
- package/dist/{chunk-2CLNIEK4.js → chunk-WTSQUCHB.js} +3 -3
- package/dist/{chunk-OVKYVZMW.js → chunk-WXF2RTS4.js} +2 -2
- package/dist/{chunk-MIHN76LX.js → chunk-WYGTAQMX.js} +3 -3
- package/dist/{chunk-2RG7NIAS.js → chunk-X2QJXDE4.js} +10 -10
- package/dist/{chunk-GAVYGBFI.js → chunk-XMBOLFFS.js} +2 -2
- package/dist/{chunk-T7OXJZCX.js → chunk-XOIDUM2H.js} +1 -1
- package/dist/{chunk-ORJPS5VN.js → chunk-XUOYNJPB.js} +97 -37
- package/dist/chunk-XUOYNJPB.js.map +1 -0
- package/dist/{chunk-XHIQ5I6N.js → chunk-XVLEBB4Y.js} +2 -2
- package/dist/{chunk-Q3DPEYX4.js → chunk-XZCCEKPW.js} +7 -7
- package/dist/{chunk-T3OWFVMS.js → chunk-Y3XZEKDQ.js} +2 -2
- package/dist/{chunk-KODELWYT.js → chunk-YJSCLGAW.js} +3 -3
- package/dist/{chunk-ROKQU7WG.js → chunk-YMI27QPF.js} +2 -2
- package/dist/{chunk-U7XM7CB4.js → chunk-YNTLWCF4.js} +4 -4
- package/dist/{chunk-ZQCND77P.js → chunk-YRYF76OE.js} +2 -2
- package/dist/{chunk-2BDT3UZQ.js → chunk-ZAX4XQLN.js} +3 -3
- package/dist/{chunk-DXR5PDFP.js → chunk-ZBHGNE2J.js} +3 -3
- package/dist/{chunk-I7ITSXSJ.js → chunk-ZR5EKJT6.js} +2 -2
- package/dist/{chunk-IZXHMZQ6.js → chunk-ZW5YTIH3.js} +4 -4
- package/dist/components/artifacts/artifact-sandbox.d.ts +6 -1
- package/dist/components/artifacts/site-view.d.ts +4 -2
- package/dist/components/timeline-anchor.d.ts +8 -3
- package/dist/components/timeline-reading-progress.d.ts +1 -1
- package/dist/components/timeline-settlement.d.ts +1 -1
- package/dist/composer-messages.js +2 -2
- package/dist/composer.js +10 -10
- package/dist/{computer-viewer-TDDO25AV.js → computer-viewer-5LKRCEVQ.js} +5 -5
- package/dist/connect.js +13 -14
- package/dist/desktop-dictation.js +7 -7
- package/dist/desktop.js +2 -2
- package/dist/editor.js +2 -2
- package/dist/{embedded-new-voice-2G3VLPVQ.js → embedded-new-voice-GHJRY3YL.js} +5 -5
- package/dist/{embedded-voice-T5IWOWGD.js → embedded-voice-ASQXBSTX.js} +5 -5
- package/dist/{fleet-decision-row-WM64KXP3.js → fleet-decision-row-U7LDVBEM.js} +2 -2
- package/dist/in-chat-connect-model.js +5 -5
- package/dist/index.js +62 -63
- package/dist/interaction.js +6 -6
- package/dist/{latest-question-OX56OVQ5.js → latest-question-RNVF262Q.js} +5 -5
- package/dist/lib/format.d.ts +10 -0
- package/dist/machines.js +4 -4
- package/dist/meetings-recorder.js +1 -1
- package/dist/meetings.js +24 -24
- package/dist/messages/en.d.ts +7 -0
- package/dist/messages.js +1 -1
- package/dist/{model-policy-picker-menu-SMC6J6QN.js → model-policy-picker-menu-E6XKMFTA.js} +4 -4
- package/dist/{payment-page-card-G4U63KUV.js → payment-page-card-DJDKV2LW.js} +6 -5
- package/dist/{payment-page-card-G4U63KUV.js.map → payment-page-card-DJDKV2LW.js.map} +1 -1
- package/dist/{platform-activity-row-BUZGZAKZ.js → platform-activity-row-MSDCSMET.js} +17 -7
- package/dist/platform-activity-row-MSDCSMET.js.map +1 -0
- package/dist/{queue-surface-implementation-4KUZ4PJV.js → queue-surface-implementation-GUAIG6TK.js} +5 -5
- package/dist/realtime.js +4 -4
- package/dist/{recorder-host-WF2RRR56.js → recorder-host-2MYDJPQW.js} +4 -4
- package/dist/recordings.js +3 -3
- package/dist/{sandbox-files-ESDMOFSD.js → sandbox-files-W5W2LW4K.js} +6 -6
- package/dist/session-app.js +173 -167
- package/dist/{session-connect-cards-Q53KMMYY.js → session-connect-cards-HPH7JOZP.js} +9 -10
- package/dist/session-list-model.js +2 -2
- package/dist/{session-realtime-CF3I35WJ.js → session-realtime-SDTKFFIR.js} +3 -3
- package/dist/session-realtime-SDTKFFIR.js.map +1 -0
- package/dist/session-realtime.js +2 -2
- package/dist/session-ui.js +37 -38
- package/dist/session.js +9 -9
- package/dist/sites.js +2 -2
- package/dist/terminal.js +2 -2
- package/dist/this-computer.js +3 -3
- package/dist/timeline/shared.d.ts +2 -0
- package/dist/{timeline-annotation-markers-CJK4RYZ4.js → timeline-annotation-markers-FNILLWNU.js} +2 -2
- package/dist/{timeline-annotation-selection-67GF5H26.js → timeline-annotation-selection-MBCIDO2Q.js} +2 -2
- package/dist/{timeline-annotations-dialog-ONJPQDJQ.js → timeline-annotations-dialog-JPNKLOTE.js} +3 -3
- package/dist/timeline-model.js +6 -6
- package/dist/ui/access-list.js +6 -6
- package/dist/ui/cadence-picker.js +4 -4
- package/dist/ui/choice-cards.js +3 -3
- package/dist/ui/confirm-dialog.js +4 -4
- package/dist/ui/copy-field.js +3 -3
- package/dist/ui/detail-page.js +5 -5
- package/dist/ui/detail-sheet.js +4 -4
- package/dist/ui/dialog.js +2 -2
- package/dist/ui/disclosure.js +5 -5
- package/dist/ui/email-chips-input.js +3 -3
- package/dist/ui/field.js +2 -2
- package/dist/ui/flush-form-page.js +4 -4
- package/dist/ui/form-dialog.js +3 -3
- package/dist/ui/list-row.js +3 -3
- package/dist/ui/page-header.js +2 -2
- package/dist/ui/relative-time.js +2 -2
- package/dist/ui/revision-history.js +4 -4
- package/dist/ui/role-select.js +6 -6
- package/dist/ui/select-menu.js +3 -3
- package/dist/ui/sheet.js +2 -2
- package/dist/ui/usage-meter.js +3 -3
- package/dist/ui/window-bar-title.d.ts +7 -3
- package/dist/ui/window-bar-title.js +1 -1
- package/dist/usage.js +2 -2
- package/dist/workbench.js +4 -4
- package/package.json +4 -4
- package/src/app/components/artifacts/site-actions.tsx +105 -0
- package/src/app/components/rail/session-header-copy.test.tsx +172 -0
- package/src/app/components/rail/session-header.tsx +68 -12
- package/src/app/components/rail/session-list.tsx +20 -0
- package/src/app/components/rail/site-session-group-heading.test.tsx +210 -0
- package/src/app/components/rail/site-session-group-heading.tsx +119 -60
- package/src/app/components/session/failed-session-actions.test.tsx +4 -0
- package/src/app/components/window-bar.tsx +63 -15
- package/src/app/lib/composer-send-blocking.tsx +312 -1
- package/src/app/lib/copy-link.ts +10 -0
- package/src/app/lib/session-composer-readiness.ts +4 -3
- package/src/app/lib/site-sidebar-bridge.test.tsx +67 -0
- package/src/app/lib/site-sidebar-bridge.ts +57 -0
- package/src/app/routes/session.tsx +45 -12
- package/src/app/routes/sessions-index.tsx +164 -105
- package/src/app/routes/site-view.test.tsx +74 -6
- package/src/app/routes/site-view.tsx +135 -14
- package/src/components/approval-surface.tsx +78 -3
- package/src/components/artifacts/artifact-sandbox.tsx +27 -2
- package/src/components/artifacts/site-view.tsx +13 -1
- package/src/components/message-timeline.tsx +25 -52
- package/src/components/session-capability-frame.tsx +2 -30
- package/src/components/timeline-anchor.tsx +19 -14
- package/src/components/timeline-reading-progress.ts +1 -2
- package/src/components/timeline-settlement.ts +3 -3
- package/src/lib/format.ts +46 -1
- package/src/messages/en.ts +11 -0
- package/src/timeline/platform-activity-row.tsx +20 -8
- package/src/timeline/shared.tsx +203 -32
- package/src/ui/window-bar-title.test.tsx +37 -0
- package/src/ui/window-bar-title.tsx +13 -6
- package/styles/compiled.css +5 -0
- package/dist/chunk-5MOJZORA.js.map +0 -1
- package/dist/chunk-6BCXNDEI.js.map +0 -1
- package/dist/chunk-6DVCC7QS.js.map +0 -1
- package/dist/chunk-7T2ZE3VT.js.map +0 -1
- package/dist/chunk-AFRGP2VP.js +0 -17
- package/dist/chunk-AFRGP2VP.js.map +0 -1
- package/dist/chunk-CRU35QQH.js.map +0 -1
- package/dist/chunk-FO4LYKJL.js +0 -197
- package/dist/chunk-FO4LYKJL.js.map +0 -1
- package/dist/chunk-HD5X76TP.js.map +0 -1
- package/dist/chunk-JDTGRRNU.js.map +0 -1
- package/dist/chunk-NW53H5RW.js.map +0 -1
- package/dist/chunk-OF4TIKYC.js.map +0 -1
- package/dist/chunk-ORJPS5VN.js.map +0 -1
- package/dist/chunk-TXLIEOJX.js.map +0 -1
- package/dist/chunk-VBUVBHFJ.js +0 -16
- package/dist/chunk-VBUVBHFJ.js.map +0 -1
- package/dist/chunk-XEQMZB3C.js.map +0 -1
- package/dist/chunk-YPWU5KPE.js.map +0 -1
- package/dist/components/timeline-answer-follow.d.ts +0 -8
- package/dist/platform-activity-row-BUZGZAKZ.js.map +0 -1
- package/src/components/timeline-answer-follow.ts +0 -15
- /package/dist/{browser-viewer-TC27OCIP.js.map → app/components/artifacts/site-actions.js.map} +0 -0
- /package/dist/{chat-interactive-block-RWPQBHVS.js.map → browser-viewer-ZHQDVHZ2.js.map} +0 -0
- /package/dist/{computer-viewer-TDDO25AV.js.map → chat-interactive-block-VSDD6X3M.js.map} +0 -0
- /package/dist/{chunk-C43KRXGA.js.map → chunk-2GCHGWNE.js.map} +0 -0
- /package/dist/{chunk-XLH7QY2R.js.map → chunk-2J77TWGH.js.map} +0 -0
- /package/dist/{chunk-77WAKEAH.js.map → chunk-2OXSB2OL.js.map} +0 -0
- /package/dist/{chunk-H3T7IWNA.js.map → chunk-2VJOSU4H.js.map} +0 -0
- /package/dist/{chunk-N6AACDUW.js.map → chunk-34NV52R3.js.map} +0 -0
- /package/dist/{chunk-L7YTNTIK.js.map → chunk-3CDJSKDW.js.map} +0 -0
- /package/dist/{chunk-EWSOC6WF.js.map → chunk-3DRLCX5V.js.map} +0 -0
- /package/dist/{chunk-JEUPAVYY.js.map → chunk-3L465FBR.js.map} +0 -0
- /package/dist/{chunk-5NWEKLDZ.js.map → chunk-3NNAC43A.js.map} +0 -0
- /package/dist/{chunk-EDI6SJ2N.js.map → chunk-3OK7Y6ES.js.map} +0 -0
- /package/dist/{chunk-AWKES45Y.js.map → chunk-3PM3M2Q6.js.map} +0 -0
- /package/dist/{chunk-I7XIZRFD.js.map → chunk-3PZ3LRPV.js.map} +0 -0
- /package/dist/{chunk-AW2MQB37.js.map → chunk-44JWVYJB.js.map} +0 -0
- /package/dist/{chunk-2M3J7ZWQ.js.map → chunk-467WDSOK.js.map} +0 -0
- /package/dist/{chunk-UTIAXH52.js.map → chunk-477DTTMH.js.map} +0 -0
- /package/dist/{chunk-J5F5HPPW.js.map → chunk-4BWMAGJJ.js.map} +0 -0
- /package/dist/{chunk-YSJEAAOL.js.map → chunk-4F3AEJI6.js.map} +0 -0
- /package/dist/{chunk-LHPNABDH.js.map → chunk-4JXPLTWV.js.map} +0 -0
- /package/dist/{chunk-RQKLF42C.js.map → chunk-4K64EKM7.js.map} +0 -0
- /package/dist/{chunk-NUNZS36W.js.map → chunk-4O2XWOLZ.js.map} +0 -0
- /package/dist/{chunk-QB2KMIDP.js.map → chunk-4SJAEPM2.js.map} +0 -0
- /package/dist/{chunk-6JHU2UBS.js.map → chunk-4Z5X7PLC.js.map} +0 -0
- /package/dist/{chunk-2STUPWEL.js.map → chunk-54U6ZBEX.js.map} +0 -0
- /package/dist/{chunk-XXSOHN35.js.map → chunk-5FLYHX5R.js.map} +0 -0
- /package/dist/{chunk-MIYFS2XN.js.map → chunk-5MHMCE2G.js.map} +0 -0
- /package/dist/{chunk-YWVI6ZMK.js.map → chunk-5MIBQ4P5.js.map} +0 -0
- /package/dist/{chunk-5O2FCCHZ.js.map → chunk-6QK65ZWM.js.map} +0 -0
- /package/dist/{chunk-RPVREAU7.js.map → chunk-736RUNIA.js.map} +0 -0
- /package/dist/{chunk-2KALVELR.js.map → chunk-74CBR5YE.js.map} +0 -0
- /package/dist/{chunk-5IE76VCY.js.map → chunk-752WXSDN.js.map} +0 -0
- /package/dist/{chunk-OPJJSKUK.js.map → chunk-77B6UCNK.js.map} +0 -0
- /package/dist/{chunk-SEO7TICN.js.map → chunk-77BHKC43.js.map} +0 -0
- /package/dist/{chunk-ZUA3JMI6.js.map → chunk-77SYIH6O.js.map} +0 -0
- /package/dist/{chunk-ILDXWY37.js.map → chunk-7AI4E7PV.js.map} +0 -0
- /package/dist/{chunk-C372BFOV.js.map → chunk-7NLF35YL.js.map} +0 -0
- /package/dist/{chunk-IFB3WJ36.js.map → chunk-7YTR3UFO.js.map} +0 -0
- /package/dist/{chunk-BMICEQZQ.js.map → chunk-7Z76QP64.js.map} +0 -0
- /package/dist/{chunk-YWIFM7D7.js.map → chunk-AAS7OWV6.js.map} +0 -0
- /package/dist/{chunk-5QAY6K77.js.map → chunk-AB5IW227.js.map} +0 -0
- /package/dist/{chunk-ZBIXBQNI.js.map → chunk-ABJZDRW2.js.map} +0 -0
- /package/dist/{chunk-4DVJ6ONS.js.map → chunk-AH3DGOTK.js.map} +0 -0
- /package/dist/{chunk-HGKTHF2U.js.map → chunk-AJBDAVX3.js.map} +0 -0
- /package/dist/{chunk-5YKW2K6I.js.map → chunk-AJDGP2N4.js.map} +0 -0
- /package/dist/{chunk-IXPTECSC.js.map → chunk-AVXDIRRW.js.map} +0 -0
- /package/dist/{chunk-QK5EFEUT.js.map → chunk-BASI553K.js.map} +0 -0
- /package/dist/{chunk-Z4FMAFNH.js.map → chunk-BQYRZIZ7.js.map} +0 -0
- /package/dist/{chunk-DZXEDSQI.js.map → chunk-CEMSIU4Z.js.map} +0 -0
- /package/dist/{chunk-FZC5N55X.js.map → chunk-CH4UQ4NO.js.map} +0 -0
- /package/dist/{chunk-7X6SDK2C.js.map → chunk-CHU3RDV4.js.map} +0 -0
- /package/dist/{chunk-Y4OBB2VN.js.map → chunk-CV4VVLPZ.js.map} +0 -0
- /package/dist/{chunk-JQL7ZH6C.js.map → chunk-CXAN2FHF.js.map} +0 -0
- /package/dist/{chunk-F2OPHAUN.js.map → chunk-CYDXCILL.js.map} +0 -0
- /package/dist/{chunk-3PZ7JZI2.js.map → chunk-D3PTVN2I.js.map} +0 -0
- /package/dist/{chunk-FPXASDG5.js.map → chunk-D5TIVCXG.js.map} +0 -0
- /package/dist/{chunk-7W37NS3I.js.map → chunk-D74Z2N4K.js.map} +0 -0
- /package/dist/{chunk-MNZG4OHU.js.map → chunk-DCEQCGVN.js.map} +0 -0
- /package/dist/{chunk-ND2BXV3P.js.map → chunk-DEHLWZSI.js.map} +0 -0
- /package/dist/{chunk-2YUOVM3G.js.map → chunk-DIP7YALH.js.map} +0 -0
- /package/dist/{chunk-6PZ7OBYU.js.map → chunk-DLVIRJGK.js.map} +0 -0
- /package/dist/{chunk-KLEUWIMZ.js.map → chunk-DQPIEQGP.js.map} +0 -0
- /package/dist/{chunk-T2QX3FDP.js.map → chunk-DWJ6J3YW.js.map} +0 -0
- /package/dist/{chunk-3CPWWGNK.js.map → chunk-E5KOWRDU.js.map} +0 -0
- /package/dist/{chunk-6WGRDRMA.js.map → chunk-EBIVTDEG.js.map} +0 -0
- /package/dist/{chunk-KUDGXAF7.js.map → chunk-EBTUPRRQ.js.map} +0 -0
- /package/dist/{chunk-5CPEEAFD.js.map → chunk-EDDKPIIV.js.map} +0 -0
- /package/dist/{chunk-TX3VECZU.js.map → chunk-EGKARC53.js.map} +0 -0
- /package/dist/{chunk-JEA3QDX7.js.map → chunk-EKJHOWTZ.js.map} +0 -0
- /package/dist/{chunk-UVN5TMHU.js.map → chunk-ESXAECZ3.js.map} +0 -0
- /package/dist/{chunk-3SOIESJM.js.map → chunk-EWZ2RLNG.js.map} +0 -0
- /package/dist/{chunk-CMKGILJK.js.map → chunk-FBA2NXYH.js.map} +0 -0
- /package/dist/{chunk-O6N4ABCA.js.map → chunk-FER6EVIY.js.map} +0 -0
- /package/dist/{chunk-DF5EAHDN.js.map → chunk-FLWQJDJ5.js.map} +0 -0
- /package/dist/{chunk-PTAG4PDC.js.map → chunk-FNXCFIPW.js.map} +0 -0
- /package/dist/{chunk-BJEJFISW.js.map → chunk-FSDQQQIA.js.map} +0 -0
- /package/dist/{chunk-PTF5B7TJ.js.map → chunk-G5UQBTXY.js.map} +0 -0
- /package/dist/{chunk-4E3ZJRTZ.js.map → chunk-G6ICCGJ3.js.map} +0 -0
- /package/dist/{chunk-NRTE7DNV.js.map → chunk-GIWFLWXG.js.map} +0 -0
- /package/dist/{chunk-MM4FNWI4.js.map → chunk-GMHIOYB7.js.map} +0 -0
- /package/dist/{chunk-6DK6Z4UN.js.map → chunk-GOCODNQS.js.map} +0 -0
- /package/dist/{chunk-TPQTRNER.js.map → chunk-GSCGKJNK.js.map} +0 -0
- /package/dist/{chunk-7VMZGLYI.js.map → chunk-GTHCHCWW.js.map} +0 -0
- /package/dist/{chunk-SQJIKMN3.js.map → chunk-GTRAH4FG.js.map} +0 -0
- /package/dist/{chunk-ZYAZUPPV.js.map → chunk-GU7T2S5N.js.map} +0 -0
- /package/dist/{chunk-JKHKLL5W.js.map → chunk-H6BX6WOW.js.map} +0 -0
- /package/dist/{chunk-IMZCQBOT.js.map → chunk-H6MJFMHZ.js.map} +0 -0
- /package/dist/{chunk-HSOXMJOT.js.map → chunk-HEGV4QMS.js.map} +0 -0
- /package/dist/{chunk-NC7PVOEK.js.map → chunk-HWVPLFIW.js.map} +0 -0
- /package/dist/{chunk-IMDQUHBJ.js.map → chunk-HYEIA25Y.js.map} +0 -0
- /package/dist/{chunk-ECJBYNLJ.js.map → chunk-ICAMYP5M.js.map} +0 -0
- /package/dist/{chunk-DJAXC5OK.js.map → chunk-IFSXVU2S.js.map} +0 -0
- /package/dist/{chunk-I4MRDSUF.js.map → chunk-IJR6VOLU.js.map} +0 -0
- /package/dist/{chunk-YCVD6CI3.js.map → chunk-IN3VQFKS.js.map} +0 -0
- /package/dist/{chunk-BJFH6JI5.js.map → chunk-IZXYFWA4.js.map} +0 -0
- /package/dist/{chunk-MFROMEKA.js.map → chunk-J2BTILRR.js.map} +0 -0
- /package/dist/{chunk-NCYMNCJO.js.map → chunk-J2WY42FA.js.map} +0 -0
- /package/dist/{chunk-DGMR6JEJ.js.map → chunk-J4XSTXZP.js.map} +0 -0
- /package/dist/{chunk-ZTPXACWB.js.map → chunk-JKL5S7UQ.js.map} +0 -0
- /package/dist/{chunk-P77WNZDY.js.map → chunk-JMHEFZOB.js.map} +0 -0
- /package/dist/{chunk-IDANQPRH.js.map → chunk-JV3UI7BH.js.map} +0 -0
- /package/dist/{chunk-FVXBNBHO.js.map → chunk-K3D7IQQP.js.map} +0 -0
- /package/dist/{chunk-GKVJIDHF.js.map → chunk-KFNZZ2N6.js.map} +0 -0
- /package/dist/{chunk-I4QEJ62Y.js.map → chunk-KI46GKMD.js.map} +0 -0
- /package/dist/{chunk-SIRLACNZ.js.map → chunk-KO3OHHY2.js.map} +0 -0
- /package/dist/{chunk-NULUNM7H.js.map → chunk-KUE5BOQE.js.map} +0 -0
- /package/dist/{chunk-O3LKCBP5.js.map → chunk-LIJNVIT3.js.map} +0 -0
- /package/dist/{chunk-JWB44UGJ.js.map → chunk-LIJPDVYP.js.map} +0 -0
- /package/dist/{chunk-KYS77RPN.js.map → chunk-LPKJ77EK.js.map} +0 -0
- /package/dist/{chunk-RMFKVOM7.js.map → chunk-LQKVNREV.js.map} +0 -0
- /package/dist/{chunk-E7XERZWC.js.map → chunk-LTJFV2JI.js.map} +0 -0
- /package/dist/{chunk-INXGSG3J.js.map → chunk-LVDNY5RC.js.map} +0 -0
- /package/dist/{chunk-2INLDVK3.js.map → chunk-LVELUUK6.js.map} +0 -0
- /package/dist/{chunk-TAT5USZN.js.map → chunk-M3FDGRB4.js.map} +0 -0
- /package/dist/{chunk-5EWSRZ2Y.js.map → chunk-M3HGBO2Y.js.map} +0 -0
- /package/dist/{chunk-J3DY5HWQ.js.map → chunk-M5IQVMLR.js.map} +0 -0
- /package/dist/{chunk-53AGXXZM.js.map → chunk-MKDFYE2E.js.map} +0 -0
- /package/dist/{chunk-4SAWSRAA.js.map → chunk-MRECRNVU.js.map} +0 -0
- /package/dist/{chunk-2I7HDP53.js.map → chunk-MT2R57SF.js.map} +0 -0
- /package/dist/{chunk-Z7Y523PS.js.map → chunk-MV2CLIO6.js.map} +0 -0
- /package/dist/{chunk-JZ4NLCAP.js.map → chunk-MZY3VKKM.js.map} +0 -0
- /package/dist/{chunk-YENLNISG.js.map → chunk-N3FM4BNA.js.map} +0 -0
- /package/dist/{chunk-DZWARC4M.js.map → chunk-NFCS5WYC.js.map} +0 -0
- /package/dist/{chunk-I5QZJODL.js.map → chunk-NQ2CPQJF.js.map} +0 -0
- /package/dist/{chunk-CUIWCGMA.js.map → chunk-OCXEY7HE.js.map} +0 -0
- /package/dist/{chunk-VTTAJOQ7.js.map → chunk-OCXTTKVA.js.map} +0 -0
- /package/dist/{chunk-KRDR5RJD.js.map → chunk-OGU73VUN.js.map} +0 -0
- /package/dist/{chunk-YIRVLKAX.js.map → chunk-OI6VI6SU.js.map} +0 -0
- /package/dist/{chunk-BHNSJVBC.js.map → chunk-OJWDNNW3.js.map} +0 -0
- /package/dist/{chunk-X6KAJI3V.js.map → chunk-OK7BQMCI.js.map} +0 -0
- /package/dist/{chunk-I5B5L6Q4.js.map → chunk-OOOSGPJL.js.map} +0 -0
- /package/dist/{chunk-TUIN4MB7.js.map → chunk-ORV7EFSL.js.map} +0 -0
- /package/dist/{chunk-3IK6UYO6.js.map → chunk-OTW25A6I.js.map} +0 -0
- /package/dist/{chunk-NPGISCU6.js.map → chunk-OWET7EY2.js.map} +0 -0
- /package/dist/{chunk-CRAOSVHC.js.map → chunk-OXQ2SXVC.js.map} +0 -0
- /package/dist/{chunk-3ED2U6XE.js.map → chunk-OYCK4JRS.js.map} +0 -0
- /package/dist/{chunk-YQXTDZSU.js.map → chunk-OYOFPNLC.js.map} +0 -0
- /package/dist/{chunk-4NQHXYMW.js.map → chunk-PD7NWM7V.js.map} +0 -0
- /package/dist/{chunk-4YCA2Y73.js.map → chunk-PF2WU2IL.js.map} +0 -0
- /package/dist/{chunk-Z654FWNU.js.map → chunk-PLYVGZIN.js.map} +0 -0
- /package/dist/{chunk-MVW6HNPI.js.map → chunk-PRT4J2DL.js.map} +0 -0
- /package/dist/{chunk-OPWCMA4D.js.map → chunk-PUUEI4W3.js.map} +0 -0
- /package/dist/{chunk-RLBKLAEY.js.map → chunk-PVB4YVDP.js.map} +0 -0
- /package/dist/{chunk-NXCMHIKI.js.map → chunk-PWUSSSSL.js.map} +0 -0
- /package/dist/{chunk-MJUCFQMS.js.map → chunk-PYB4BFEC.js.map} +0 -0
- /package/dist/{chunk-2FSBSCZJ.js.map → chunk-PZKHST7A.js.map} +0 -0
- /package/dist/{chunk-QZAAUQRN.js.map → chunk-Q5EZNBPI.js.map} +0 -0
- /package/dist/{chunk-ZHDFQITM.js.map → chunk-Q5K2J5GG.js.map} +0 -0
- /package/dist/{chunk-OV6QJRT4.js.map → chunk-QRECBCJM.js.map} +0 -0
- /package/dist/{chunk-3GZA4BUW.js.map → chunk-QURYQFDN.js.map} +0 -0
- /package/dist/{chunk-VS7AHPCZ.js.map → chunk-R33SBMB7.js.map} +0 -0
- /package/dist/{chunk-KCBMFSMS.js.map → chunk-R4JA5JFI.js.map} +0 -0
- /package/dist/{chunk-HC4JFZVU.js.map → chunk-R5QAL43H.js.map} +0 -0
- /package/dist/{chunk-QPSGCC5D.js.map → chunk-RGR57NYY.js.map} +0 -0
- /package/dist/{chunk-XWFAMUZQ.js.map → chunk-RHXYO4H2.js.map} +0 -0
- /package/dist/{chunk-Y4BB2KS2.js.map → chunk-RISUROBM.js.map} +0 -0
- /package/dist/{chunk-U3DN4HEY.js.map → chunk-RMCLFSMX.js.map} +0 -0
- /package/dist/{chunk-YK7756IF.js.map → chunk-RTZANSSC.js.map} +0 -0
- /package/dist/{chunk-ZEG4VPBL.js.map → chunk-S27VZ5DO.js.map} +0 -0
- /package/dist/{chunk-54YW6SZZ.js.map → chunk-SBXSKRFA.js.map} +0 -0
- /package/dist/{chunk-HAX4LCR5.js.map → chunk-SFIXTOOJ.js.map} +0 -0
- /package/dist/{chunk-QIOQ2NPQ.js.map → chunk-SGH7I7OY.js.map} +0 -0
- /package/dist/{chunk-K2A5PXQ5.js.map → chunk-SJYTQLN3.js.map} +0 -0
- /package/dist/{chunk-2Z3NQNTM.js.map → chunk-SK5S2PCK.js.map} +0 -0
- /package/dist/{chunk-X3MWB2QU.js.map → chunk-SN2WENRP.js.map} +0 -0
- /package/dist/{chunk-OSY5K7L7.js.map → chunk-SP44O3OU.js.map} +0 -0
- /package/dist/{chunk-OZCBM3UC.js.map → chunk-SSR4ZX52.js.map} +0 -0
- /package/dist/{chunk-QCSJ4CWE.js.map → chunk-SXGJL7UT.js.map} +0 -0
- /package/dist/{chunk-NC55IFN3.js.map → chunk-T67LTMSW.js.map} +0 -0
- /package/dist/{chunk-AXHZYXUV.js.map → chunk-TDTD66BK.js.map} +0 -0
- /package/dist/{chunk-NGJJJPZZ.js.map → chunk-TK5FWVZR.js.map} +0 -0
- /package/dist/{chunk-2OP6WLGV.js.map → chunk-TNSJFZ6Q.js.map} +0 -0
- /package/dist/{chunk-O732GAFC.js.map → chunk-U4LTPFD2.js.map} +0 -0
- /package/dist/{chunk-4DVNUCRR.js.map → chunk-U5UGM5XD.js.map} +0 -0
- /package/dist/{chunk-UJK53QFL.js.map → chunk-UBRQ3PQD.js.map} +0 -0
- /package/dist/{chunk-SODC7T6L.js.map → chunk-UMX6DZME.js.map} +0 -0
- /package/dist/{chunk-YLS6QE5G.js.map → chunk-UO35OEOX.js.map} +0 -0
- /package/dist/{chunk-SHHJCL7X.js.map → chunk-UTRNLNCW.js.map} +0 -0
- /package/dist/{chunk-HEFPPMBQ.js.map → chunk-UU5FBVRX.js.map} +0 -0
- /package/dist/{chunk-GQXZPKK7.js.map → chunk-V6UOVHW3.js.map} +0 -0
- /package/dist/{chunk-GVN5SZLX.js.map → chunk-VATYK3JQ.js.map} +0 -0
- /package/dist/{chunk-7TIX2UAR.js.map → chunk-VCJQQYRE.js.map} +0 -0
- /package/dist/{chunk-6WD2INST.js.map → chunk-WDASYY4S.js.map} +0 -0
- /package/dist/{chunk-DXBYWSL5.js.map → chunk-WIFDNUKD.js.map} +0 -0
- /package/dist/{chunk-RT7CJMER.js.map → chunk-WIXHUBQN.js.map} +0 -0
- /package/dist/{chunk-57AZS3IE.js.map → chunk-WRMUXZ7C.js.map} +0 -0
- /package/dist/{chunk-2CLNIEK4.js.map → chunk-WTSQUCHB.js.map} +0 -0
- /package/dist/{chunk-OVKYVZMW.js.map → chunk-WXF2RTS4.js.map} +0 -0
- /package/dist/{chunk-MIHN76LX.js.map → chunk-WYGTAQMX.js.map} +0 -0
- /package/dist/{chunk-2RG7NIAS.js.map → chunk-X2QJXDE4.js.map} +0 -0
- /package/dist/{chunk-GAVYGBFI.js.map → chunk-XMBOLFFS.js.map} +0 -0
- /package/dist/{chunk-T7OXJZCX.js.map → chunk-XOIDUM2H.js.map} +0 -0
- /package/dist/{chunk-XHIQ5I6N.js.map → chunk-XVLEBB4Y.js.map} +0 -0
- /package/dist/{chunk-Q3DPEYX4.js.map → chunk-XZCCEKPW.js.map} +0 -0
- /package/dist/{chunk-T3OWFVMS.js.map → chunk-Y3XZEKDQ.js.map} +0 -0
- /package/dist/{chunk-KODELWYT.js.map → chunk-YJSCLGAW.js.map} +0 -0
- /package/dist/{chunk-ROKQU7WG.js.map → chunk-YMI27QPF.js.map} +0 -0
- /package/dist/{chunk-U7XM7CB4.js.map → chunk-YNTLWCF4.js.map} +0 -0
- /package/dist/{chunk-ZQCND77P.js.map → chunk-YRYF76OE.js.map} +0 -0
- /package/dist/{chunk-2BDT3UZQ.js.map → chunk-ZAX4XQLN.js.map} +0 -0
- /package/dist/{chunk-DXR5PDFP.js.map → chunk-ZBHGNE2J.js.map} +0 -0
- /package/dist/{chunk-I7ITSXSJ.js.map → chunk-ZR5EKJT6.js.map} +0 -0
- /package/dist/{chunk-IZXHMZQ6.js.map → chunk-ZW5YTIH3.js.map} +0 -0
- /package/dist/{embedded-new-voice-2G3VLPVQ.js.map → computer-viewer-5LKRCEVQ.js.map} +0 -0
- /package/dist/{embedded-voice-T5IWOWGD.js.map → embedded-new-voice-GHJRY3YL.js.map} +0 -0
- /package/dist/{model-policy-picker-menu-SMC6J6QN.js.map → embedded-voice-ASQXBSTX.js.map} +0 -0
- /package/dist/{fleet-decision-row-WM64KXP3.js.map → fleet-decision-row-U7LDVBEM.js.map} +0 -0
- /package/dist/{latest-question-OX56OVQ5.js.map → latest-question-RNVF262Q.js.map} +0 -0
- /package/dist/{sandbox-files-ESDMOFSD.js.map → model-policy-picker-menu-E6XKMFTA.js.map} +0 -0
- /package/dist/{queue-surface-implementation-4KUZ4PJV.js.map → queue-surface-implementation-GUAIG6TK.js.map} +0 -0
- /package/dist/{recorder-host-WF2RRR56.js.map → recorder-host-2MYDJPQW.js.map} +0 -0
- /package/dist/{session-connect-cards-Q53KMMYY.js.map → sandbox-files-W5W2LW4K.js.map} +0 -0
- /package/dist/{session-realtime-CF3I35WJ.js.map → session-connect-cards-HPH7JOZP.js.map} +0 -0
- /package/dist/{timeline-annotation-markers-CJK4RYZ4.js.map → timeline-annotation-markers-FNILLWNU.js.map} +0 -0
- /package/dist/{timeline-annotation-selection-67GF5H26.js.map → timeline-annotation-selection-MBCIDO2Q.js.map} +0 -0
- /package/dist/{timeline-annotations-dialog-ONJPQDJQ.js.map → timeline-annotations-dialog-JPNKLOTE.js.map} +0 -0
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
ConsoleNewConversation
|
|
4
|
-
} from "../../../chunk-
|
|
4
|
+
} from "../../../chunk-CEMSIU4Z.js";
|
|
5
5
|
import "../../../chunk-CMH22OQY.js";
|
|
6
|
-
import "../../../chunk-
|
|
7
|
-
import "../../../chunk-
|
|
8
|
-
import "../../../chunk-
|
|
9
|
-
import "../../../chunk-
|
|
10
|
-
import "../../../chunk-
|
|
6
|
+
import "../../../chunk-CYDXCILL.js";
|
|
7
|
+
import "../../../chunk-HWVPLFIW.js";
|
|
8
|
+
import "../../../chunk-D74Z2N4K.js";
|
|
9
|
+
import "../../../chunk-DWJ6J3YW.js";
|
|
10
|
+
import "../../../chunk-PVB4YVDP.js";
|
|
11
11
|
import "../../../chunk-2DVTNHTC.js";
|
|
12
12
|
import "../../../chunk-OF22GYK5.js";
|
|
13
13
|
import "../../../chunk-XIQPI2NM.js";
|
|
14
14
|
import "../../../chunk-GOXSTJPA.js";
|
|
15
|
-
import "../../../chunk-
|
|
15
|
+
import "../../../chunk-4F3AEJI6.js";
|
|
16
16
|
import "../../../chunk-BKUGE4JJ.js";
|
|
17
|
-
import "../../../chunk-
|
|
17
|
+
import "../../../chunk-KFNZZ2N6.js";
|
|
18
18
|
import "../../../chunk-TFD6JXHN.js";
|
|
19
19
|
import "../../../chunk-CNFFCVGH.js";
|
|
20
|
-
import "../../../chunk-
|
|
21
|
-
import "../../../chunk-
|
|
20
|
+
import "../../../chunk-Y3XZEKDQ.js";
|
|
21
|
+
import "../../../chunk-HEGV4QMS.js";
|
|
22
22
|
import "../../../chunk-ZPW5NFYD.js";
|
|
23
23
|
import "../../../chunk-LBSXJVHD.js";
|
|
24
24
|
import "../../../chunk-BXBDYNRP.js";
|
|
@@ -29,7 +29,7 @@ import "../../../chunk-QZKQMEIH.js";
|
|
|
29
29
|
import "../../../chunk-O4EA4F3W.js";
|
|
30
30
|
import "../../../chunk-JDFDPMKX.js";
|
|
31
31
|
import "../../../chunk-SS4QT7SL.js";
|
|
32
|
-
import "../../../chunk-
|
|
32
|
+
import "../../../chunk-OTW25A6I.js";
|
|
33
33
|
import "../../../chunk-A3MTTRCX.js";
|
|
34
34
|
import "../../../chunk-X6WZOHBI.js";
|
|
35
35
|
import "../../../chunk-GM3LG6BG.js";
|
|
@@ -40,81 +40,80 @@ import "../../../chunk-UX3XHFRX.js";
|
|
|
40
40
|
import "../../../chunk-A3KMTJZS.js";
|
|
41
41
|
import "../../../chunk-V4Z4B2E3.js";
|
|
42
42
|
import "../../../chunk-FYWT2O76.js";
|
|
43
|
-
import "../../../chunk-
|
|
43
|
+
import "../../../chunk-PSM3CU7N.js";
|
|
44
44
|
import "../../../chunk-22GTC4MZ.js";
|
|
45
|
-
import "../../../chunk-
|
|
46
|
-
import "../../../chunk-
|
|
45
|
+
import "../../../chunk-H6BX6WOW.js";
|
|
46
|
+
import "../../../chunk-TDTD66BK.js";
|
|
47
|
+
import "../../../chunk-QRECBCJM.js";
|
|
48
|
+
import "../../../chunk-AB5IW227.js";
|
|
47
49
|
import "../../../chunk-KDQAWRYZ.js";
|
|
48
|
-
import "../../../chunk-
|
|
49
|
-
import "../../../chunk-
|
|
50
|
-
import "../../../chunk-5IE76VCY.js";
|
|
51
|
-
import "../../../chunk-NPGISCU6.js";
|
|
50
|
+
import "../../../chunk-752WXSDN.js";
|
|
51
|
+
import "../../../chunk-OWET7EY2.js";
|
|
52
52
|
import "../../../chunk-B27E3V37.js";
|
|
53
53
|
import "../../../chunk-EAG6A27Q.js";
|
|
54
54
|
import "../../../chunk-E22RIUEL.js";
|
|
55
|
-
import "../../../chunk-
|
|
56
|
-
import "../../../chunk-
|
|
57
|
-
import "../../../chunk-
|
|
55
|
+
import "../../../chunk-6QK65ZWM.js";
|
|
56
|
+
import "../../../chunk-7YTR3UFO.js";
|
|
57
|
+
import "../../../chunk-MT2R57SF.js";
|
|
58
58
|
import "../../../chunk-4U7SHFQ2.js";
|
|
59
|
-
import "../../../chunk-
|
|
60
|
-
import "../../../chunk-
|
|
59
|
+
import "../../../chunk-M5IQVMLR.js";
|
|
60
|
+
import "../../../chunk-ZW5YTIH3.js";
|
|
61
61
|
import "../../../chunk-LJUMYUBO.js";
|
|
62
62
|
import "../../../chunk-7N5AD2TC.js";
|
|
63
|
-
import "../../../chunk-
|
|
63
|
+
import "../../../chunk-MZY3VKKM.js";
|
|
64
64
|
import "../../../chunk-WZGWXXO3.js";
|
|
65
65
|
import "../../../chunk-QI4HY64V.js";
|
|
66
66
|
import "../../../chunk-OSLAAXKW.js";
|
|
67
67
|
import "../../../chunk-VNJK7X2B.js";
|
|
68
68
|
import "../../../chunk-USG4XNMA.js";
|
|
69
69
|
import "../../../chunk-TZIACM2P.js";
|
|
70
|
-
import "../../../chunk-
|
|
70
|
+
import "../../../chunk-FLWQJDJ5.js";
|
|
71
71
|
import "../../../chunk-EMIVOS73.js";
|
|
72
72
|
import "../../../chunk-YUNVW3I2.js";
|
|
73
73
|
import "../../../chunk-JWKGPA6Q.js";
|
|
74
74
|
import "../../../chunk-VXORMNU4.js";
|
|
75
|
-
import "../../../chunk-
|
|
75
|
+
import "../../../chunk-PF2WU2IL.js";
|
|
76
76
|
import "../../../chunk-XZAQHWOB.js";
|
|
77
77
|
import "../../../chunk-I6FIXEL4.js";
|
|
78
78
|
import "../../../chunk-X62OJCQW.js";
|
|
79
79
|
import "../../../chunk-IWUGGOXA.js";
|
|
80
80
|
import "../../../chunk-57MB2QGY.js";
|
|
81
|
-
import "../../../chunk-
|
|
81
|
+
import "../../../chunk-5FLYHX5R.js";
|
|
82
82
|
import "../../../chunk-D4GJ52OS.js";
|
|
83
83
|
import "../../../chunk-TXCGPEWC.js";
|
|
84
84
|
import "../../../chunk-C5ZCSVZ7.js";
|
|
85
85
|
import "../../../chunk-TSENLSW6.js";
|
|
86
|
-
import "../../../chunk-
|
|
87
|
-
import "../../../chunk-JEA3QDX7.js";
|
|
86
|
+
import "../../../chunk-EKJHOWTZ.js";
|
|
88
87
|
import "../../../chunk-OCN4S7WN.js";
|
|
89
|
-
import "../../../chunk-
|
|
88
|
+
import "../../../chunk-OBGOLHCP.js";
|
|
90
89
|
import "../../../chunk-RZLBICR5.js";
|
|
91
90
|
import "../../../chunk-5XXRHX3V.js";
|
|
92
|
-
import "../../../chunk-
|
|
91
|
+
import "../../../chunk-LPKJ77EK.js";
|
|
93
92
|
import "../../../chunk-YM45PLD6.js";
|
|
94
93
|
import "../../../chunk-UNI2IXRC.js";
|
|
95
94
|
import "../../../chunk-MK2TQO4Y.js";
|
|
96
95
|
import "../../../chunk-XESA3B7W.js";
|
|
97
96
|
import "../../../chunk-W4F72GU3.js";
|
|
98
97
|
import "../../../chunk-UNJPZGNK.js";
|
|
99
|
-
import "../../../chunk-
|
|
100
|
-
import "../../../chunk-
|
|
101
|
-
import "../../../chunk-
|
|
98
|
+
import "../../../chunk-OCXEY7HE.js";
|
|
99
|
+
import "../../../chunk-EWZ2RLNG.js";
|
|
100
|
+
import "../../../chunk-PD7NWM7V.js";
|
|
102
101
|
import "../../../chunk-VDPUG6LH.js";
|
|
103
102
|
import "../../../chunk-NPNX7LTL.js";
|
|
104
103
|
import "../../../chunk-IGVL3ELX.js";
|
|
105
104
|
import "../../../chunk-PEHTX3V7.js";
|
|
106
|
-
import "../../../chunk-
|
|
107
|
-
import "../../../chunk-
|
|
108
|
-
import "../../../chunk-3IWPC6O3.js";
|
|
105
|
+
import "../../../chunk-WTSQUCHB.js";
|
|
106
|
+
import "../../../chunk-X2QJXDE4.js";
|
|
109
107
|
import "../../../chunk-SVKPSCTH.js";
|
|
110
|
-
import "../../../chunk-
|
|
111
|
-
import "../../../chunk-
|
|
112
|
-
import "../../../chunk-
|
|
108
|
+
import "../../../chunk-3IWPC6O3.js";
|
|
109
|
+
import "../../../chunk-J4XSTXZP.js";
|
|
110
|
+
import "../../../chunk-UMX6DZME.js";
|
|
111
|
+
import "../../../chunk-WYGTAQMX.js";
|
|
113
112
|
import "../../../chunk-6IWKHHRS.js";
|
|
114
|
-
import "../../../chunk-
|
|
113
|
+
import "../../../chunk-XVLEBB4Y.js";
|
|
115
114
|
import "../../../chunk-7QQN3KNP.js";
|
|
116
115
|
import "../../../chunk-6F34IWSA.js";
|
|
117
|
-
import "../../../chunk-
|
|
116
|
+
import "../../../chunk-2J77TWGH.js";
|
|
118
117
|
import "../../../chunk-PNNTR6KP.js";
|
|
119
118
|
import "../../../chunk-WJPMYXKZ.js";
|
|
120
119
|
import "../../../chunk-VYT4POBH.js";
|
|
@@ -124,7 +123,7 @@ import "../../../chunk-UD6AAZSC.js";
|
|
|
124
123
|
import "../../../chunk-XEA5BCMA.js";
|
|
125
124
|
import "../../../chunk-RV3O5OCQ.js";
|
|
126
125
|
import "../../../chunk-CM7LVUKC.js";
|
|
127
|
-
import "../../../chunk-
|
|
126
|
+
import "../../../chunk-2EA4IRIP.js";
|
|
128
127
|
import "../../../chunk-AZGAUBKR.js";
|
|
129
128
|
import "../../../chunk-OONTDHBV.js";
|
|
130
129
|
import "../../../chunk-YSRBFJMQ.js";
|
|
@@ -134,7 +133,7 @@ import "../../../chunk-AMHRWKKH.js";
|
|
|
134
133
|
import "../../../chunk-ZHC47M2B.js";
|
|
135
134
|
import "../../../chunk-MBSN5HHQ.js";
|
|
136
135
|
import "../../../chunk-TXS65BB2.js";
|
|
137
|
-
import "../../../chunk-
|
|
136
|
+
import "../../../chunk-QPQ7R77C.js";
|
|
138
137
|
export {
|
|
139
138
|
ConsoleNewConversation
|
|
140
139
|
};
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
subSessionsNeedYouLabel
|
|
7
7
|
} from "../../../chunk-U6552Q3T.js";
|
|
8
8
|
import "../../../chunk-UBJWSGD4.js";
|
|
9
|
-
import "../../../chunk-
|
|
9
|
+
import "../../../chunk-D5TIVCXG.js";
|
|
10
10
|
import {
|
|
11
11
|
Link
|
|
12
12
|
} from "../../../chunk-BXBDYNRP.js";
|
|
@@ -25,40 +25,40 @@ import {
|
|
|
25
25
|
} from "../../../chunk-O4OOG3D6.js";
|
|
26
26
|
import {
|
|
27
27
|
sessionDisplayTitle
|
|
28
|
-
} from "../../../chunk-
|
|
28
|
+
} from "../../../chunk-D3PTVN2I.js";
|
|
29
29
|
import "../../../chunk-MO5HRAMC.js";
|
|
30
|
-
import "../../../chunk-
|
|
30
|
+
import "../../../chunk-Q5EZNBPI.js";
|
|
31
31
|
import "../../../chunk-FSOQDUCG.js";
|
|
32
32
|
import "../../../chunk-V4Z4B2E3.js";
|
|
33
33
|
import "../../../chunk-FYWT2O76.js";
|
|
34
|
-
import "../../../chunk-
|
|
35
|
-
import "../../../chunk-
|
|
36
|
-
import "../../../chunk-
|
|
34
|
+
import "../../../chunk-4BWMAGJJ.js";
|
|
35
|
+
import "../../../chunk-XZCCEKPW.js";
|
|
36
|
+
import "../../../chunk-5MIBQ4P5.js";
|
|
37
37
|
import "../../../chunk-J335IP56.js";
|
|
38
38
|
import {
|
|
39
39
|
ApprovalSurface,
|
|
40
40
|
HumanInputSurface
|
|
41
|
-
} from "../../../chunk-
|
|
41
|
+
} from "../../../chunk-PSM3CU7N.js";
|
|
42
42
|
import "../../../chunk-22GTC4MZ.js";
|
|
43
|
-
import "../../../chunk-
|
|
44
|
-
import "../../../chunk-
|
|
43
|
+
import "../../../chunk-H6BX6WOW.js";
|
|
44
|
+
import "../../../chunk-TDTD66BK.js";
|
|
45
|
+
import "../../../chunk-QRECBCJM.js";
|
|
46
|
+
import "../../../chunk-AB5IW227.js";
|
|
45
47
|
import "../../../chunk-KDQAWRYZ.js";
|
|
46
|
-
import "../../../chunk-
|
|
47
|
-
import "../../../chunk-
|
|
48
|
-
import "../../../chunk-5IE76VCY.js";
|
|
49
|
-
import "../../../chunk-NPGISCU6.js";
|
|
48
|
+
import "../../../chunk-752WXSDN.js";
|
|
49
|
+
import "../../../chunk-OWET7EY2.js";
|
|
50
50
|
import "../../../chunk-B27E3V37.js";
|
|
51
51
|
import "../../../chunk-EAG6A27Q.js";
|
|
52
52
|
import "../../../chunk-E22RIUEL.js";
|
|
53
|
-
import "../../../chunk-
|
|
54
|
-
import "../../../chunk-
|
|
55
|
-
import "../../../chunk-
|
|
53
|
+
import "../../../chunk-6QK65ZWM.js";
|
|
54
|
+
import "../../../chunk-7YTR3UFO.js";
|
|
55
|
+
import "../../../chunk-MT2R57SF.js";
|
|
56
56
|
import "../../../chunk-4U7SHFQ2.js";
|
|
57
|
-
import "../../../chunk-
|
|
58
|
-
import "../../../chunk-
|
|
57
|
+
import "../../../chunk-M5IQVMLR.js";
|
|
58
|
+
import "../../../chunk-ZW5YTIH3.js";
|
|
59
59
|
import "../../../chunk-LJUMYUBO.js";
|
|
60
60
|
import "../../../chunk-7N5AD2TC.js";
|
|
61
|
-
import "../../../chunk-
|
|
61
|
+
import "../../../chunk-MZY3VKKM.js";
|
|
62
62
|
import "../../../chunk-WZGWXXO3.js";
|
|
63
63
|
import "../../../chunk-QI4HY64V.js";
|
|
64
64
|
import "../../../chunk-OSLAAXKW.js";
|
|
@@ -67,12 +67,12 @@ import "../../../chunk-USG4XNMA.js";
|
|
|
67
67
|
import "../../../chunk-TZIACM2P.js";
|
|
68
68
|
import {
|
|
69
69
|
useHumanInputRequests
|
|
70
|
-
} from "../../../chunk-
|
|
70
|
+
} from "../../../chunk-FLWQJDJ5.js";
|
|
71
71
|
import "../../../chunk-EMIVOS73.js";
|
|
72
72
|
import "../../../chunk-YUNVW3I2.js";
|
|
73
73
|
import "../../../chunk-JWKGPA6Q.js";
|
|
74
74
|
import "../../../chunk-VXORMNU4.js";
|
|
75
|
-
import "../../../chunk-
|
|
75
|
+
import "../../../chunk-PF2WU2IL.js";
|
|
76
76
|
import {
|
|
77
77
|
delegatedHumanInputRequestIds,
|
|
78
78
|
humanInputDelegationMessage
|
|
@@ -81,46 +81,45 @@ import "../../../chunk-I6FIXEL4.js";
|
|
|
81
81
|
import "../../../chunk-X62OJCQW.js";
|
|
82
82
|
import "../../../chunk-IWUGGOXA.js";
|
|
83
83
|
import "../../../chunk-57MB2QGY.js";
|
|
84
|
-
import "../../../chunk-
|
|
84
|
+
import "../../../chunk-5FLYHX5R.js";
|
|
85
85
|
import "../../../chunk-D4GJ52OS.js";
|
|
86
86
|
import "../../../chunk-TXCGPEWC.js";
|
|
87
87
|
import "../../../chunk-C5ZCSVZ7.js";
|
|
88
88
|
import "../../../chunk-TSENLSW6.js";
|
|
89
|
-
import "../../../chunk-
|
|
90
|
-
import "../../../chunk-JEA3QDX7.js";
|
|
89
|
+
import "../../../chunk-EKJHOWTZ.js";
|
|
91
90
|
import "../../../chunk-OCN4S7WN.js";
|
|
92
|
-
import "../../../chunk-
|
|
91
|
+
import "../../../chunk-OBGOLHCP.js";
|
|
93
92
|
import "../../../chunk-RZLBICR5.js";
|
|
94
93
|
import "../../../chunk-5XXRHX3V.js";
|
|
95
|
-
import "../../../chunk-
|
|
94
|
+
import "../../../chunk-LPKJ77EK.js";
|
|
96
95
|
import "../../../chunk-YM45PLD6.js";
|
|
97
96
|
import "../../../chunk-UNI2IXRC.js";
|
|
98
97
|
import "../../../chunk-MK2TQO4Y.js";
|
|
99
98
|
import "../../../chunk-XESA3B7W.js";
|
|
100
99
|
import "../../../chunk-W4F72GU3.js";
|
|
101
100
|
import "../../../chunk-UNJPZGNK.js";
|
|
102
|
-
import "../../../chunk-
|
|
103
|
-
import "../../../chunk-
|
|
104
|
-
import "../../../chunk-
|
|
101
|
+
import "../../../chunk-OCXEY7HE.js";
|
|
102
|
+
import "../../../chunk-EWZ2RLNG.js";
|
|
103
|
+
import "../../../chunk-PD7NWM7V.js";
|
|
105
104
|
import "../../../chunk-VDPUG6LH.js";
|
|
106
105
|
import "../../../chunk-NPNX7LTL.js";
|
|
107
106
|
import "../../../chunk-IGVL3ELX.js";
|
|
108
107
|
import "../../../chunk-PEHTX3V7.js";
|
|
109
108
|
import "../../../chunk-ZY2Z2IU3.js";
|
|
110
|
-
import "../../../chunk-
|
|
111
|
-
import "../../../chunk-
|
|
112
|
-
import "../../../chunk-3IWPC6O3.js";
|
|
109
|
+
import "../../../chunk-467WDSOK.js";
|
|
110
|
+
import "../../../chunk-X2QJXDE4.js";
|
|
113
111
|
import "../../../chunk-SVKPSCTH.js";
|
|
114
|
-
import "../../../chunk-
|
|
115
|
-
import "../../../chunk-
|
|
116
|
-
import "../../../chunk-
|
|
112
|
+
import "../../../chunk-3IWPC6O3.js";
|
|
113
|
+
import "../../../chunk-J4XSTXZP.js";
|
|
114
|
+
import "../../../chunk-UMX6DZME.js";
|
|
115
|
+
import "../../../chunk-WYGTAQMX.js";
|
|
117
116
|
import "../../../chunk-6IWKHHRS.js";
|
|
118
|
-
import "../../../chunk-
|
|
117
|
+
import "../../../chunk-XVLEBB4Y.js";
|
|
119
118
|
import {
|
|
120
119
|
buttonVariants
|
|
121
120
|
} from "../../../chunk-7QQN3KNP.js";
|
|
122
121
|
import "../../../chunk-6F34IWSA.js";
|
|
123
|
-
import "../../../chunk-
|
|
122
|
+
import "../../../chunk-2J77TWGH.js";
|
|
124
123
|
import "../../../chunk-PNNTR6KP.js";
|
|
125
124
|
import "../../../chunk-WJPMYXKZ.js";
|
|
126
125
|
import "../../../chunk-VYT4POBH.js";
|
|
@@ -132,7 +131,7 @@ import {
|
|
|
132
131
|
usePolledValue
|
|
133
132
|
} from "../../../chunk-RV3O5OCQ.js";
|
|
134
133
|
import "../../../chunk-CM7LVUKC.js";
|
|
135
|
-
import "../../../chunk-
|
|
134
|
+
import "../../../chunk-2EA4IRIP.js";
|
|
136
135
|
import "../../../chunk-AZGAUBKR.js";
|
|
137
136
|
import "../../../chunk-OONTDHBV.js";
|
|
138
137
|
import "../../../chunk-YSRBFJMQ.js";
|
|
@@ -141,11 +140,11 @@ import "../../../chunk-TVQCDDSZ.js";
|
|
|
141
140
|
import "../../../chunk-AMHRWKKH.js";
|
|
142
141
|
import "../../../chunk-ZHC47M2B.js";
|
|
143
142
|
import "../../../chunk-MBSN5HHQ.js";
|
|
144
|
-
import "../../../chunk-
|
|
143
|
+
import "../../../chunk-G5UQBTXY.js";
|
|
145
144
|
import "../../../chunk-TXS65BB2.js";
|
|
146
145
|
import {
|
|
147
146
|
useOpenGeniText
|
|
148
|
-
} from "../../../chunk-
|
|
147
|
+
} from "../../../chunk-QPQ7R77C.js";
|
|
149
148
|
|
|
150
149
|
// src/app/components/session/descendant-requests.tsx
|
|
151
150
|
import { ChevronDownIcon, CornerDownRightIcon } from "lucide-react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/app/components/session/descendant-requests.tsx"],"sourcesContent":["// The parent session's view of its sub-sessions' waits: every question and\n// tool approval a descendant is blocked on, pinned above the composer and\n// answered in place. Answers and decisions go to the sub-session itself,\n// through the same requests its own page sends, so the agent cannot tell the\n// difference and the server's permission checks apply unchanged.\n// \"Let the agent decide\" instead hands a question to this chat's own agent,\n// which answers it for the sub-session.\nimport type {\n McpElicitationAnswer,\n OpenGeniClient,\n SessionEvent,\n SessionHumanInputRequest,\n SessionSummary,\n SubmitHumanInputResponseRequest,\n} from \"@opengeni/sdk\";\nimport { ChevronDownIcon, CornerDownRightIcon } from \"lucide-react\";\nimport { useCallback, useEffect, useId, useMemo, useRef, useState, type ReactNode } from \"react\";\n\nimport type { PendingApproval } from \"../../../approvals\";\nimport type { HumanInputFormProps } from \"../../../components/human-input-form\";\nimport { usePolledValue } from \"../../../hooks/internal\";\nimport { useHumanInputRequests } from \"../../../hooks/use-human-input\";\nimport {\n delegatedHumanInputRequestIds,\n humanInputDelegationMessage,\n} from \"../../../human-input-delegation\";\nimport { useOpenGeniText } from \"../../../messages/runtime\";\nimport {\n ApprovalSurface,\n HumanInputSurface,\n type ToolReviewDetailsLoader,\n} from \"../../../session-ui\";\nimport { buttonVariants } from \"../../../ui/button\";\nimport { userErrorText } from \"../../../ui/api-error\";\nimport {\n DESCENDANT_REQUEST_EVENT_LIMIT,\n DESCENDANT_REQUEST_EVENT_TYPES,\n descendantRequestActivity,\n subSessionsNeedYouLabel,\n} from \"../../lib/descendant-requests\";\nimport { Link } from \"../../lib/navigation\";\nimport { sessionDisplayTitle } from \"../../lib/session-rename\";\nimport { toast } from \"../../lib/toast\";\nimport { cn } from \"../../lib/utils\";\n\n/** The exact client surface the card reads and answers through. */\nexport type DescendantRequestsClient = Pick<\n OpenGeniClient,\n | \"getSession\"\n | \"streamEvents\"\n | \"listHumanInputRequests\"\n | \"submitHumanInputResponse\"\n | \"sendMessage\"\n | \"listEventPage\"\n | \"sendApprovalDecision\"\n | \"getToolActionReview\"\n | \"getToolReviewDetails\"\n>;\n\nexport type DescendantRequestsProps = {\n client: DescendantRequestsClient;\n workspaceId: string;\n /** The session whose page shows the card; keys the collapsed preference. */\n parentSessionId: string;\n /**\n * The viewing session's own events: its messages that handed a question to\n * its agent mark that card as being decided.\n */\n events?: readonly SessionEvent[] | undefined;\n /** Descendants waiting on the person, longest-waiting first. */\n waiting: readonly SessionSummary[];\n /** Something was answered or decided here: re-read the tree. */\n onResolved?: (() => void) | undefined;\n /**\n * A sub-session started resuming from an approval decided here (`true`), or\n * has no approval left to decide while it runs (`false`). While it resumes,\n * the host keeps it in `waiting` so its other approvals stay decidable.\n */\n onResumingChange?: ((sessionId: string, resuming: boolean) => void) | undefined;\n /** Bumped when this session's agent answered or steered a sub-session; every item re-reads. */\n refreshSignal?: number | undefined;\n loadSkillReview?: HumanInputFormProps[\"loadSkillReview\"];\n allowedSaveTo?: HumanInputFormProps[\"allowedSaveTo\"];\n /** Safety-net re-read of questions while shown (live hints drive the rest). */\n pollIntervalMs?: number | undefined;\n};\n\n// The shared-feed mode with an empty feed: no live stream per sub-session.\n// The parent's list hints and lineage reads drive refreshes instead.\nconst NO_EVENTS: SessionEvent[] = [];\nconst DEFAULT_POLL_MS = 15_000;\n// Approvals are rebuilt from an event page, a heavier read than the question\n// list; it is re-read on every change the tree sees, so its own poll is slow.\nconst ACTIVITY_POLL_FACTOR = 3;\n\n// Whether a parent's stack was collapsed, for this tab: it stays collapsed\n// after opening a sub-session and coming back.\nconst collapsedStacks = new Map<string, boolean>();\n// Questions handed to the agent from this tab, until its message shows up in\n// the viewing session's events.\nconst delegatedRequests = new Set<string>();\n\nexport function resetDescendantRequestsStateForTests(): void {\n collapsedStacks.clear();\n delegatedRequests.clear();\n}\n\n/**\n * Pending questions and approvals from a session's sub-sessions. One waiting\n * sub-session shows its request directly; several stack under one line that\n * collapses them (\"3 sub-sessions need you\"). Each request names the\n * sub-session asking and links to it.\n */\nexport function DescendantRequests(props: DescendantRequestsProps) {\n const stackKey = `${props.workspaceId}\\u0000${props.parentSessionId}`;\n // Read from the map on every render, so switching parents never shows the\n // previous parent's choice for a frame.\n const [, rerender] = useState(0);\n const stackId = useId();\n const collapsed = collapsedStacks.get(stackKey) ?? false;\n const setCollapsed = (next: boolean) => {\n collapsedStacks.set(stackKey, next);\n rerender((value) => value + 1);\n };\n const count = props.waiting.length;\n const events = props.events;\n const delegatedInEvents = useMemo(() => delegatedHumanInputRequestIds(events ?? []), [events]);\n if (count === 0) return null;\n const stacked = count > 1;\n const label = subSessionsNeedYouLabel(count);\n return (\n <section aria-label={label} data-descendant-requests=\"\" className=\"mb-2 flex flex-col gap-2\">\n {stacked ? (\n <button\n type=\"button\"\n aria-expanded={!collapsed}\n aria-controls={stackId}\n onClick={() => setCollapsed(!collapsed)}\n className=\"flex min-h-10 w-full items-center gap-2.5 rounded-lg border border-status-waiting/35 bg-status-waiting/5 px-3 text-left transition-colors duration-[120ms] hover:hover-layer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand/55 pointer-coarse:min-h-11\"\n data-descendant-requests-toggle=\"\"\n >\n <span aria-hidden=\"true\" className=\"size-2 shrink-0 rounded-full bg-status-waiting\" />\n <span className=\"min-w-0 flex-1 truncate text-sm font-medium text-fg\">{label}</span>\n <ChevronDownIcon\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 text-fg-muted transition-transform duration-[120ms] motion-reduce:transition-none\",\n !collapsed && \"rotate-180\",\n )}\n />\n </button>\n ) : null}\n {stacked && collapsed ? null : (\n <div\n id={stackId}\n className={cn(\n \"flex flex-col gap-3\",\n stacked && \"max-h-[min(36rem,55dvh)] overflow-y-auto overscroll-contain\",\n )}\n data-descendant-requests-stack=\"\"\n >\n {props.waiting.map((session, index) => (\n // Later asks start as compact bars so every one is visible.\n <DescendantRequestItem\n key={session.id}\n {...props}\n delegatedInEvents={delegatedInEvents}\n session={session}\n compact={stacked && index > 0}\n />\n ))}\n </div>\n )}\n </section>\n );\n}\n\nexport default DescendantRequests;\n\nfunction DescendantRequestItem({\n client,\n workspaceId,\n parentSessionId,\n session,\n compact,\n delegatedInEvents,\n onResolved,\n onResumingChange,\n refreshSignal = 0,\n loadSkillReview,\n allowedSaveTo,\n pollIntervalMs = DEFAULT_POLL_MS,\n}: DescendantRequestsProps & {\n session: SessionSummary;\n compact: boolean;\n delegatedInEvents: ReadonlySet<string>;\n}) {\n const sessionId = session.id;\n const t = useOpenGeniText();\n const humanInput = useHumanInputRequests(sessionId, {\n client,\n workspaceId,\n events: NO_EVENTS,\n pollIntervalMs,\n });\n // The SDK's event page read takes no abort signal; an unmounted item's\n // last read finishes and is dropped.\n const loadActivity = useCallback(async () => {\n const page = await client.listEventPage(workspaceId, sessionId, {\n includeTypes: DESCENDANT_REQUEST_EVENT_TYPES,\n direction: \"before\",\n limit: DESCENDANT_REQUEST_EVENT_LIMIT,\n payloadMode: \"full\",\n });\n return descendantRequestActivity(page.events);\n }, [client, sessionId, workspaceId]);\n const activity = usePolledValue(loadActivity, {\n pollIntervalMs: pollIntervalMs * ACTIVITY_POLL_FACTOR,\n });\n\n // Re-read when the sub-session moved on (a new request, or one settled\n // elsewhere) or this session's agent answered one. The first render reads.\n const refreshHumanInput = humanInput.refresh;\n const refreshActivity = activity.refresh;\n const seen = useRef({ lastSequence: session.lastSequence, refreshSignal });\n useEffect(() => {\n const previous = seen.current;\n seen.current = { lastSequence: session.lastSequence, refreshSignal };\n if (previous.lastSequence === session.lastSequence && previous.refreshSignal === refreshSignal)\n return;\n void refreshHumanInput();\n void refreshActivity();\n }, [refreshActivity, refreshHumanInput, refreshSignal, session.lastSequence]);\n\n const title = sessionDisplayTitle(session);\n const requests = humanInput.requests;\n const approvals = activity.data?.approvals ?? [];\n const requestSequences = activity.data?.requestSequences;\n const firstRequest = requests[0];\n const hasRequest = requests.length > 0 || approvals.length > 0;\n\n // Once this wait showed a question or an approval, its end is the request\n // settling (here, on the sub-session's page or by an agent). The tree still\n // shows the sub-session waiting until it is re-read, so say nothing for the\n // rest of that wait; a new wait has a new start time.\n const waitKey = session.requiresActionSince ?? `sequence:${session.lastSequence}`;\n const [handledWait, setHandledWait] = useState<string | null>(null);\n useEffect(() => {\n if (hasRequest) setHandledWait(waitKey);\n }, [hasRequest, waitKey]);\n const settled = () => {\n setHandledWait(waitKey);\n onResolved?.();\n };\n\n // Stable, so a re-render never reloads a review that is already shown.\n const loadReview = useCallback(\n (approval: PendingApproval) => client.getToolActionReview(workspaceId, sessionId, approval.id),\n [client, sessionId, workspaceId],\n );\n const loadDetails = useCallback<ToolReviewDetailsLoader>(\n (review, path, offset) =>\n client.getToolReviewDetails(workspaceId, sessionId, review.id, {\n actionDigest: review.actionDigest,\n path,\n offset,\n }),\n [client, sessionId, workspaceId],\n );\n\n const decide = async (\n approval: PendingApproval,\n decision: \"approve\" | \"reject\",\n answer?: McpElicitationAnswer,\n ) => {\n try {\n await client.sendApprovalDecision(workspaceId, sessionId, {\n approvalId: approval.id,\n decision,\n ...answer,\n });\n } catch (error) {\n toast.error(\"Couldn't submit the decision\", { description: userErrorText(error) });\n throw error instanceof Error ? error : new Error(String(error));\n }\n // The sub-session resumes now; its other approvals stay decidable here.\n onResumingChange?.(sessionId, true);\n settled();\n await refreshActivity();\n };\n // Resuming with nothing left to decide: the card has done its part.\n const resumingWithoutApprovals =\n session.status !== \"requires_action\" &&\n activity.data !== null &&\n activity.data.approvals.length === 0;\n useEffect(() => {\n if (resumingWithoutApprovals) onResumingChange?.(sessionId, false);\n }, [onResumingChange, resumingWithoutApprovals, sessionId]);\n\n const [delegations, markDelegated] = useState(0);\n const agentDeciding = useMemo(() => {\n const ids = new Set(delegatedInEvents);\n for (const request of requests) if (delegatedRequests.has(request.id)) ids.add(request.id);\n // `delegations` re-reads the tab-local set after a hand-off.\n void delegations;\n return ids;\n }, [delegatedInEvents, delegations, requests]);\n const letAgentDecide = async (request: SessionHumanInputRequest) => {\n const message = humanInputDelegationMessage(t, { sessionId, sessionTitle: title, request });\n // A failure reaches the card as is, so it shows the API's own message.\n await client.sendMessage(workspaceId, parentSessionId, {\n ...message,\n clientEventId: crypto.randomUUID(),\n });\n delegatedRequests.add(request.id);\n markDelegated((value) => value + 1);\n };\n\n if (hasRequest) {\n return (\n <div\n data-descendant-request={sessionId}\n data-descendant-request-kind={requests.length > 0 ? \"question\" : \"approval\"}\n className=\"flex flex-col gap-2\"\n >\n {requests.length > 0 ? (\n <div>\n <ItemSource\n title={title}\n verb=\"is asking\"\n link={\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={(firstRequest && requestSequences?.get(firstRequest.id)) ?? null}\n />\n }\n />\n <HumanInputSurface\n // The form reads `defaultCollapsed` once: remount only the form\n // when an item moves up the stack (a lone item left after the\n // others settle shows its request directly). The item and its\n // reads stay mounted.\n key={compact ? \"compact\" : \"full\"}\n requests={requests}\n loadSkillReview={loadSkillReview}\n allowedSaveTo={allowedSaveTo}\n respondingRequestId={humanInput.respondingRequestId}\n error={humanInput.mutationError?.message}\n // Never take the caret from the parent's composer.\n autoFocus={false}\n defaultCollapsed={compact}\n onLetAgentDecide={letAgentDecide}\n agentDecidingRequestIds={agentDeciding}\n onSubmit={async (requestId, response: SubmitHumanInputResponseRequest) => {\n // A failed send resolves null. Reject so the form keeps what was\n // typed (and its draft) for a retry, as on the sub-session's page.\n if (!(await humanInput.respond(requestId, response))) {\n throw new Error(\"Your answer wasn't sent. Try again.\");\n }\n settled();\n }}\n />\n </div>\n ) : null}\n {approvals.length > 0 ? (\n <div data-descendant-request-approvals=\"\">\n <ItemSource\n title={title}\n verb=\"needs approval\"\n link={\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={activity.data?.approvalSequence ?? null}\n />\n }\n />\n <ApprovalSurface\n className=\"py-0\"\n approvals={approvals}\n loadReview={loadReview}\n loadDetails={loadDetails}\n onApprove={(approval, answer) => decide(approval, \"approve\", answer)}\n onReject={(approval) => decide(approval, \"reject\")}\n />\n </div>\n ) : null}\n </div>\n );\n }\n // Waiting on something only its own page can take (a reconnect, a sign-in):\n // say so once both reads are in, and point there.\n const loaded = !humanInput.loading && (activity.data !== null || activity.error !== null);\n // A sub-session kept up while it resumes waits on nobody once it has no request.\n if (!loaded || handledWait === waitKey || session.status !== \"requires_action\") return null;\n return (\n <div\n data-descendant-request={sessionId}\n data-descendant-request-kind=\"other\"\n className=\"flex min-h-12 items-center gap-3 rounded-lg border border-status-waiting/35 bg-status-waiting/5 px-3 py-2\"\n >\n <span aria-hidden=\"true\" className=\"size-2 shrink-0 rounded-full bg-status-waiting\" />\n <p className=\"m-0 min-w-0 flex-1 truncate text-sm text-fg-muted\">\n <span className=\"font-medium text-fg\">{title}</span> needs you\n </p>\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={null}\n className={cn(buttonVariants({ variant: \"outline\", size: \"sm\" }), \"shrink-0\")}\n />\n </div>\n );\n}\n\n/** Which sub-session is asking, and the way to it. */\nfunction ItemSource({ title, verb, link }: { title: string; verb: string; link: ReactNode }) {\n return (\n <div className=\"flex min-w-0 items-center gap-1.5 px-1 pb-1.5 text-xs leading-[18px]\">\n <CornerDownRightIcon aria-hidden=\"true\" className=\"size-3.5 shrink-0 text-fg-subtle\" />\n <p className=\"m-0 min-w-0 truncate text-fg-muted\">\n <span className=\"font-medium text-fg\">{title}</span> {verb}\n </p>\n {link}\n </div>\n );\n}\n\n/** Opens the sub-session, scrolled to where it asked when that is known. */\nfunction SubSessionLink({\n workspaceId,\n sessionId,\n title,\n at,\n className,\n}: {\n workspaceId: string;\n sessionId: string;\n title: string;\n at: number | null;\n className?: string | undefined;\n}) {\n return (\n <Link\n to=\"/workspaces/$workspaceId/sessions/$sessionId\"\n params={{ workspaceId, sessionId }}\n search={at !== null ? { at } : {}}\n aria-label={`Open sub-session: ${title}`}\n data-descendant-request-link=\"\"\n className={\n className ??\n \"og-link ml-auto inline-flex min-h-8 shrink-0 items-center rounded-sm text-xs text-fg-muted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand/55 pointer-coarse:min-h-11\"\n }\n >\n Open sub-session\n </Link>\n );\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/app/components/session/descendant-requests.tsx"],"sourcesContent":["// The parent session's view of its sub-sessions' waits: every question and\n// tool approval a descendant is blocked on, pinned above the composer and\n// answered in place. Answers and decisions go to the sub-session itself,\n// through the same requests its own page sends, so the agent cannot tell the\n// difference and the server's permission checks apply unchanged.\n// \"Let the agent decide\" instead hands a question to this chat's own agent,\n// which answers it for the sub-session.\nimport type {\n McpElicitationAnswer,\n OpenGeniClient,\n SessionEvent,\n SessionHumanInputRequest,\n SessionSummary,\n SubmitHumanInputResponseRequest,\n} from \"@opengeni/sdk\";\nimport { ChevronDownIcon, CornerDownRightIcon } from \"lucide-react\";\nimport { useCallback, useEffect, useId, useMemo, useRef, useState, type ReactNode } from \"react\";\n\nimport type { PendingApproval } from \"../../../approvals\";\nimport type { HumanInputFormProps } from \"../../../components/human-input-form\";\nimport { usePolledValue } from \"../../../hooks/internal\";\nimport { useHumanInputRequests } from \"../../../hooks/use-human-input\";\nimport {\n delegatedHumanInputRequestIds,\n humanInputDelegationMessage,\n} from \"../../../human-input-delegation\";\nimport { useOpenGeniText } from \"../../../messages/runtime\";\nimport {\n ApprovalSurface,\n HumanInputSurface,\n type ToolReviewDetailsLoader,\n} from \"../../../session-ui\";\nimport { buttonVariants } from \"../../../ui/button\";\nimport { userErrorText } from \"../../../ui/api-error\";\nimport {\n DESCENDANT_REQUEST_EVENT_LIMIT,\n DESCENDANT_REQUEST_EVENT_TYPES,\n descendantRequestActivity,\n subSessionsNeedYouLabel,\n} from \"../../lib/descendant-requests\";\nimport { Link } from \"../../lib/navigation\";\nimport { sessionDisplayTitle } from \"../../lib/session-rename\";\nimport { toast } from \"../../lib/toast\";\nimport { cn } from \"../../lib/utils\";\n\n/** The exact client surface the card reads and answers through. */\nexport type DescendantRequestsClient = Pick<\n OpenGeniClient,\n | \"getSession\"\n | \"streamEvents\"\n | \"listHumanInputRequests\"\n | \"submitHumanInputResponse\"\n | \"sendMessage\"\n | \"listEventPage\"\n | \"sendApprovalDecision\"\n | \"getToolActionReview\"\n | \"getToolReviewDetails\"\n>;\n\nexport type DescendantRequestsProps = {\n client: DescendantRequestsClient;\n workspaceId: string;\n /** The session whose page shows the card; keys the collapsed preference. */\n parentSessionId: string;\n /**\n * The viewing session's own events: its messages that handed a question to\n * its agent mark that card as being decided.\n */\n events?: readonly SessionEvent[] | undefined;\n /** Descendants waiting on the person, longest-waiting first. */\n waiting: readonly SessionSummary[];\n /** Something was answered or decided here: re-read the tree. */\n onResolved?: (() => void) | undefined;\n /**\n * A sub-session started resuming from an approval decided here (`true`), or\n * has no approval left to decide while it runs (`false`). While it resumes,\n * the host keeps it in `waiting` so its other approvals stay decidable.\n */\n onResumingChange?: ((sessionId: string, resuming: boolean) => void) | undefined;\n /** Bumped when this session's agent answered or steered a sub-session; every item re-reads. */\n refreshSignal?: number | undefined;\n loadSkillReview?: HumanInputFormProps[\"loadSkillReview\"];\n allowedSaveTo?: HumanInputFormProps[\"allowedSaveTo\"];\n /** Safety-net re-read of questions while shown (live hints drive the rest). */\n pollIntervalMs?: number | undefined;\n};\n\n// The shared-feed mode with an empty feed: no live stream per sub-session.\n// The parent's list hints and lineage reads drive refreshes instead.\nconst NO_EVENTS: SessionEvent[] = [];\nconst DEFAULT_POLL_MS = 15_000;\n// Approvals are rebuilt from an event page, a heavier read than the question\n// list; it is re-read on every change the tree sees, so its own poll is slow.\nconst ACTIVITY_POLL_FACTOR = 3;\n\n// Whether a parent's stack was collapsed, for this tab: it stays collapsed\n// after opening a sub-session and coming back.\nconst collapsedStacks = new Map<string, boolean>();\n// Questions handed to the agent from this tab, until its message shows up in\n// the viewing session's events.\nconst delegatedRequests = new Set<string>();\n\nexport function resetDescendantRequestsStateForTests(): void {\n collapsedStacks.clear();\n delegatedRequests.clear();\n}\n\n/**\n * Pending questions and approvals from a session's sub-sessions. One waiting\n * sub-session shows its request directly; several stack under one line that\n * collapses them (\"3 sub-sessions need you\"). Each request names the\n * sub-session asking and links to it.\n */\nexport function DescendantRequests(props: DescendantRequestsProps) {\n const stackKey = `${props.workspaceId}\\u0000${props.parentSessionId}`;\n // Read from the map on every render, so switching parents never shows the\n // previous parent's choice for a frame.\n const [, rerender] = useState(0);\n const stackId = useId();\n const collapsed = collapsedStacks.get(stackKey) ?? false;\n const setCollapsed = (next: boolean) => {\n collapsedStacks.set(stackKey, next);\n rerender((value) => value + 1);\n };\n const count = props.waiting.length;\n const events = props.events;\n const delegatedInEvents = useMemo(() => delegatedHumanInputRequestIds(events ?? []), [events]);\n if (count === 0) return null;\n const stacked = count > 1;\n const label = subSessionsNeedYouLabel(count);\n return (\n <section aria-label={label} data-descendant-requests=\"\" className=\"mb-2 flex flex-col gap-2\">\n {stacked ? (\n <button\n type=\"button\"\n aria-expanded={!collapsed}\n aria-controls={stackId}\n onClick={() => setCollapsed(!collapsed)}\n className=\"flex min-h-10 w-full items-center gap-2.5 rounded-lg border border-status-waiting/35 bg-status-waiting/5 px-3 text-left transition-colors duration-[120ms] hover:hover-layer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand/55 pointer-coarse:min-h-11\"\n data-descendant-requests-toggle=\"\"\n >\n <span aria-hidden=\"true\" className=\"size-2 shrink-0 rounded-full bg-status-waiting\" />\n <span className=\"min-w-0 flex-1 truncate text-sm font-medium text-fg\">{label}</span>\n <ChevronDownIcon\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 text-fg-muted transition-transform duration-[120ms] motion-reduce:transition-none\",\n !collapsed && \"rotate-180\",\n )}\n />\n </button>\n ) : null}\n {stacked && collapsed ? null : (\n <div\n id={stackId}\n className={cn(\n \"flex flex-col gap-3\",\n stacked && \"max-h-[min(36rem,55dvh)] overflow-y-auto overscroll-contain\",\n )}\n data-descendant-requests-stack=\"\"\n >\n {props.waiting.map((session, index) => (\n // Later asks start as compact bars so every one is visible.\n <DescendantRequestItem\n key={session.id}\n {...props}\n delegatedInEvents={delegatedInEvents}\n session={session}\n compact={stacked && index > 0}\n />\n ))}\n </div>\n )}\n </section>\n );\n}\n\nexport default DescendantRequests;\n\nfunction DescendantRequestItem({\n client,\n workspaceId,\n parentSessionId,\n session,\n compact,\n delegatedInEvents,\n onResolved,\n onResumingChange,\n refreshSignal = 0,\n loadSkillReview,\n allowedSaveTo,\n pollIntervalMs = DEFAULT_POLL_MS,\n}: DescendantRequestsProps & {\n session: SessionSummary;\n compact: boolean;\n delegatedInEvents: ReadonlySet<string>;\n}) {\n const sessionId = session.id;\n const t = useOpenGeniText();\n const humanInput = useHumanInputRequests(sessionId, {\n client,\n workspaceId,\n events: NO_EVENTS,\n pollIntervalMs,\n });\n // The SDK's event page read takes no abort signal; an unmounted item's\n // last read finishes and is dropped.\n const loadActivity = useCallback(async () => {\n const page = await client.listEventPage(workspaceId, sessionId, {\n includeTypes: DESCENDANT_REQUEST_EVENT_TYPES,\n direction: \"before\",\n limit: DESCENDANT_REQUEST_EVENT_LIMIT,\n payloadMode: \"full\",\n });\n return descendantRequestActivity(page.events);\n }, [client, sessionId, workspaceId]);\n const activity = usePolledValue(loadActivity, {\n pollIntervalMs: pollIntervalMs * ACTIVITY_POLL_FACTOR,\n });\n\n // Re-read when the sub-session moved on (a new request, or one settled\n // elsewhere) or this session's agent answered one. The first render reads.\n const refreshHumanInput = humanInput.refresh;\n const refreshActivity = activity.refresh;\n const seen = useRef({ lastSequence: session.lastSequence, refreshSignal });\n useEffect(() => {\n const previous = seen.current;\n seen.current = { lastSequence: session.lastSequence, refreshSignal };\n if (previous.lastSequence === session.lastSequence && previous.refreshSignal === refreshSignal)\n return;\n void refreshHumanInput();\n void refreshActivity();\n }, [refreshActivity, refreshHumanInput, refreshSignal, session.lastSequence]);\n\n const title = sessionDisplayTitle(session);\n const requests = humanInput.requests;\n const approvals = activity.data?.approvals ?? [];\n const requestSequences = activity.data?.requestSequences;\n const firstRequest = requests[0];\n const hasRequest = requests.length > 0 || approvals.length > 0;\n\n // Once this wait showed a question or an approval, its end is the request\n // settling (here, on the sub-session's page or by an agent). The tree still\n // shows the sub-session waiting until it is re-read, so say nothing for the\n // rest of that wait; a new wait has a new start time.\n const waitKey = session.requiresActionSince ?? `sequence:${session.lastSequence}`;\n const [handledWait, setHandledWait] = useState<string | null>(null);\n useEffect(() => {\n if (hasRequest) setHandledWait(waitKey);\n }, [hasRequest, waitKey]);\n const settled = () => {\n setHandledWait(waitKey);\n onResolved?.();\n };\n\n // Stable, so a re-render never reloads a review that is already shown.\n const loadReview = useCallback(\n (approval: PendingApproval) => client.getToolActionReview(workspaceId, sessionId, approval.id),\n [client, sessionId, workspaceId],\n );\n const loadDetails = useCallback<ToolReviewDetailsLoader>(\n (review, path, offset) =>\n client.getToolReviewDetails(workspaceId, sessionId, review.id, {\n actionDigest: review.actionDigest,\n path,\n offset,\n }),\n [client, sessionId, workspaceId],\n );\n\n const decide = async (\n approval: PendingApproval,\n decision: \"approve\" | \"reject\",\n answer?: McpElicitationAnswer,\n ) => {\n try {\n await client.sendApprovalDecision(workspaceId, sessionId, {\n approvalId: approval.id,\n decision,\n ...answer,\n });\n } catch (error) {\n toast.error(\"Couldn't submit the decision\", { description: userErrorText(error) });\n throw error instanceof Error ? error : new Error(String(error));\n }\n // The sub-session resumes now; its other approvals stay decidable here.\n onResumingChange?.(sessionId, true);\n settled();\n await refreshActivity();\n };\n // Resuming with nothing left to decide: the card has done its part.\n const resumingWithoutApprovals =\n session.status !== \"requires_action\" &&\n activity.data !== null &&\n activity.data.approvals.length === 0;\n useEffect(() => {\n if (resumingWithoutApprovals) onResumingChange?.(sessionId, false);\n }, [onResumingChange, resumingWithoutApprovals, sessionId]);\n\n const [delegations, markDelegated] = useState(0);\n const agentDeciding = useMemo(() => {\n const ids = new Set(delegatedInEvents);\n for (const request of requests) if (delegatedRequests.has(request.id)) ids.add(request.id);\n // `delegations` re-reads the tab-local set after a hand-off.\n void delegations;\n return ids;\n }, [delegatedInEvents, delegations, requests]);\n const letAgentDecide = async (request: SessionHumanInputRequest) => {\n const message = humanInputDelegationMessage(t, { sessionId, sessionTitle: title, request });\n // A failure reaches the card as is, so it shows the API's own message.\n await client.sendMessage(workspaceId, parentSessionId, {\n ...message,\n clientEventId: crypto.randomUUID(),\n });\n delegatedRequests.add(request.id);\n markDelegated((value) => value + 1);\n };\n\n if (hasRequest) {\n return (\n <div\n data-descendant-request={sessionId}\n data-descendant-request-kind={requests.length > 0 ? \"question\" : \"approval\"}\n className=\"flex flex-col gap-2\"\n >\n {requests.length > 0 ? (\n <div>\n <ItemSource\n title={title}\n verb=\"is asking\"\n link={\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={(firstRequest && requestSequences?.get(firstRequest.id)) ?? null}\n />\n }\n />\n <HumanInputSurface\n // The form reads `defaultCollapsed` once: remount only the form\n // when an item moves up the stack (a lone item left after the\n // others settle shows its request directly). The item and its\n // reads stay mounted.\n key={compact ? \"compact\" : \"full\"}\n requests={requests}\n loadSkillReview={loadSkillReview}\n allowedSaveTo={allowedSaveTo}\n respondingRequestId={humanInput.respondingRequestId}\n error={humanInput.mutationError?.message}\n // Never take the caret from the parent's composer.\n autoFocus={false}\n defaultCollapsed={compact}\n onLetAgentDecide={letAgentDecide}\n agentDecidingRequestIds={agentDeciding}\n onSubmit={async (requestId, response: SubmitHumanInputResponseRequest) => {\n // A failed send resolves null. Reject so the form keeps what was\n // typed (and its draft) for a retry, as on the sub-session's page.\n if (!(await humanInput.respond(requestId, response))) {\n throw new Error(\"Your answer wasn't sent. Try again.\");\n }\n settled();\n }}\n />\n </div>\n ) : null}\n {approvals.length > 0 ? (\n <div data-descendant-request-approvals=\"\">\n <ItemSource\n title={title}\n verb=\"needs approval\"\n link={\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={activity.data?.approvalSequence ?? null}\n />\n }\n />\n <ApprovalSurface\n className=\"py-0\"\n approvals={approvals}\n loadReview={loadReview}\n loadDetails={loadDetails}\n onApprove={(approval, answer) => decide(approval, \"approve\", answer)}\n onReject={(approval) => decide(approval, \"reject\")}\n />\n </div>\n ) : null}\n </div>\n );\n }\n // Waiting on something only its own page can take (a reconnect, a sign-in):\n // say so once both reads are in, and point there.\n const loaded = !humanInput.loading && (activity.data !== null || activity.error !== null);\n // A sub-session kept up while it resumes waits on nobody once it has no request.\n if (!loaded || handledWait === waitKey || session.status !== \"requires_action\") return null;\n return (\n <div\n data-descendant-request={sessionId}\n data-descendant-request-kind=\"other\"\n className=\"flex min-h-12 items-center gap-3 rounded-lg border border-status-waiting/35 bg-status-waiting/5 px-3 py-2\"\n >\n <span aria-hidden=\"true\" className=\"size-2 shrink-0 rounded-full bg-status-waiting\" />\n <p className=\"m-0 min-w-0 flex-1 truncate text-sm text-fg-muted\">\n <span className=\"font-medium text-fg\">{title}</span> needs you\n </p>\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={null}\n className={cn(buttonVariants({ variant: \"outline\", size: \"sm\" }), \"shrink-0\")}\n />\n </div>\n );\n}\n\n/** Which sub-session is asking, and the way to it. */\nfunction ItemSource({ title, verb, link }: { title: string; verb: string; link: ReactNode }) {\n return (\n <div className=\"flex min-w-0 items-center gap-1.5 px-1 pb-1.5 text-xs leading-[18px]\">\n <CornerDownRightIcon aria-hidden=\"true\" className=\"size-3.5 shrink-0 text-fg-subtle\" />\n <p className=\"m-0 min-w-0 truncate text-fg-muted\">\n <span className=\"font-medium text-fg\">{title}</span> {verb}\n </p>\n {link}\n </div>\n );\n}\n\n/** Opens the sub-session, scrolled to where it asked when that is known. */\nfunction SubSessionLink({\n workspaceId,\n sessionId,\n title,\n at,\n className,\n}: {\n workspaceId: string;\n sessionId: string;\n title: string;\n at: number | null;\n className?: string | undefined;\n}) {\n return (\n <Link\n to=\"/workspaces/$workspaceId/sessions/$sessionId\"\n params={{ workspaceId, sessionId }}\n search={at !== null ? { at } : {}}\n aria-label={`Open sub-session: ${title}`}\n data-descendant-request-link=\"\"\n className={\n className ??\n \"og-link ml-auto inline-flex min-h-8 shrink-0 items-center rounded-sm text-xs text-fg-muted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand/55 pointer-coarse:min-h-11\"\n }\n >\n Open sub-session\n </Link>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,SAAS,iBAAiB,2BAA2B;AACrD,SAAS,aAAa,WAAW,OAAO,SAAS,QAAQ,gBAAgC;AAqHjF,SAQE,KARF;AA5CR,IAAM,YAA4B,CAAC;AACnC,IAAM,kBAAkB;AAGxB,IAAM,uBAAuB;AAI7B,IAAM,kBAAkB,oBAAI,IAAqB;AAGjD,IAAM,oBAAoB,oBAAI,IAAY;AAEnC,SAAS,uCAA6C;AAC3D,kBAAgB,MAAM;AACtB,oBAAkB,MAAM;AAC1B;AAQO,SAAS,mBAAmB,OAAgC;AACjE,QAAM,WAAW,GAAG,MAAM,WAAW,KAAS,MAAM,eAAe;AAGnE,QAAM,CAAC,EAAE,QAAQ,IAAI,SAAS,CAAC;AAC/B,QAAM,UAAU,MAAM;AACtB,QAAM,YAAY,gBAAgB,IAAI,QAAQ,KAAK;AACnD,QAAM,eAAe,CAAC,SAAkB;AACtC,oBAAgB,IAAI,UAAU,IAAI;AAClC,aAAS,CAAC,UAAU,QAAQ,CAAC;AAAA,EAC/B;AACA,QAAM,QAAQ,MAAM,QAAQ;AAC5B,QAAM,SAAS,MAAM;AACrB,QAAM,oBAAoB,QAAQ,MAAM,8BAA8B,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;AAC7F,MAAI,UAAU,EAAG,QAAO;AACxB,QAAM,UAAU,QAAQ;AACxB,QAAM,QAAQ,wBAAwB,KAAK;AAC3C,SACE,qBAAC,aAAQ,cAAY,OAAO,4BAAyB,IAAG,WAAU,4BAC/D;AAAA,cACC;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,iBAAe,CAAC;AAAA,QAChB,iBAAe;AAAA,QACf,SAAS,MAAM,aAAa,CAAC,SAAS;AAAA,QACtC,WAAU;AAAA,QACV,mCAAgC;AAAA,QAEhC;AAAA,8BAAC,UAAK,eAAY,QAAO,WAAU,kDAAiD;AAAA,UACpF,oBAAC,UAAK,WAAU,uDAAuD,iBAAM;AAAA,UAC7E;AAAA,YAAC;AAAA;AAAA,cACC,eAAY;AAAA,cACZ,WAAW;AAAA,gBACT;AAAA,gBACA,CAAC,aAAa;AAAA,cAChB;AAAA;AAAA,UACF;AAAA;AAAA;AAAA,IACF,IACE;AAAA,IACH,WAAW,YAAY,OACtB;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,WAAW;AAAA,UACT;AAAA,UACA,WAAW;AAAA,QACb;AAAA,QACA,kCAA+B;AAAA,QAE9B,gBAAM,QAAQ,IAAI,CAAC,SAAS;AAAA;AAAA,UAE3B;AAAA,YAAC;AAAA;AAAA,cAEE,GAAG;AAAA,cACJ;AAAA,cACA;AAAA,cACA,SAAS,WAAW,QAAQ;AAAA;AAAA,YAJvB,QAAQ;AAAA,UAKf;AAAA,SACD;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;AAEA,IAAO,8BAAQ;AAEf,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA;AAAA,EACA,iBAAiB;AACnB,GAIG;AACD,QAAM,YAAY,QAAQ;AAC1B,QAAM,IAAI,gBAAgB;AAC1B,QAAM,aAAa,sBAAsB,WAAW;AAAA,IAClD;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,EACF,CAAC;AAGD,QAAM,eAAe,YAAY,YAAY;AAC3C,UAAM,OAAO,MAAM,OAAO,cAAc,aAAa,WAAW;AAAA,MAC9D,cAAc;AAAA,MACd,WAAW;AAAA,MACX,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AACD,WAAO,0BAA0B,KAAK,MAAM;AAAA,EAC9C,GAAG,CAAC,QAAQ,WAAW,WAAW,CAAC;AACnC,QAAM,WAAW,eAAe,cAAc;AAAA,IAC5C,gBAAgB,iBAAiB;AAAA,EACnC,CAAC;AAID,QAAM,oBAAoB,WAAW;AACrC,QAAM,kBAAkB,SAAS;AACjC,QAAM,OAAO,OAAO,EAAE,cAAc,QAAQ,cAAc,cAAc,CAAC;AACzE,YAAU,MAAM;AACd,UAAM,WAAW,KAAK;AACtB,SAAK,UAAU,EAAE,cAAc,QAAQ,cAAc,cAAc;AACnE,QAAI,SAAS,iBAAiB,QAAQ,gBAAgB,SAAS,kBAAkB;AAC/E;AACF,SAAK,kBAAkB;AACvB,SAAK,gBAAgB;AAAA,EACvB,GAAG,CAAC,iBAAiB,mBAAmB,eAAe,QAAQ,YAAY,CAAC;AAE5E,QAAM,QAAQ,oBAAoB,OAAO;AACzC,QAAM,WAAW,WAAW;AAC5B,QAAM,YAAY,SAAS,MAAM,aAAa,CAAC;AAC/C,QAAM,mBAAmB,SAAS,MAAM;AACxC,QAAM,eAAe,SAAS,CAAC;AAC/B,QAAM,aAAa,SAAS,SAAS,KAAK,UAAU,SAAS;AAM7D,QAAM,UAAU,QAAQ,uBAAuB,YAAY,QAAQ,YAAY;AAC/E,QAAM,CAAC,aAAa,cAAc,IAAI,SAAwB,IAAI;AAClE,YAAU,MAAM;AACd,QAAI,WAAY,gBAAe,OAAO;AAAA,EACxC,GAAG,CAAC,YAAY,OAAO,CAAC;AACxB,QAAM,UAAU,MAAM;AACpB,mBAAe,OAAO;AACtB,iBAAa;AAAA,EACf;AAGA,QAAM,aAAa;AAAA,IACjB,CAAC,aAA8B,OAAO,oBAAoB,aAAa,WAAW,SAAS,EAAE;AAAA,IAC7F,CAAC,QAAQ,WAAW,WAAW;AAAA,EACjC;AACA,QAAM,cAAc;AAAA,IAClB,CAAC,QAAQ,MAAM,WACb,OAAO,qBAAqB,aAAa,WAAW,OAAO,IAAI;AAAA,MAC7D,cAAc,OAAO;AAAA,MACrB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACH,CAAC,QAAQ,WAAW,WAAW;AAAA,EACjC;AAEA,QAAM,SAAS,OACb,UACA,UACA,WACG;AACH,QAAI;AACF,YAAM,OAAO,qBAAqB,aAAa,WAAW;AAAA,QACxD,YAAY,SAAS;AAAA,QACrB;AAAA,QACA,GAAG;AAAA,MACL,CAAC;AAAA,IACH,SAAS,OAAO;AACd,YAAM,MAAM,gCAAgC,EAAE,aAAa,cAAc,KAAK,EAAE,CAAC;AACjF,YAAM,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;AAAA,IAChE;AAEA,uBAAmB,WAAW,IAAI;AAClC,YAAQ;AACR,UAAM,gBAAgB;AAAA,EACxB;AAEA,QAAM,2BACJ,QAAQ,WAAW,qBACnB,SAAS,SAAS,QAClB,SAAS,KAAK,UAAU,WAAW;AACrC,YAAU,MAAM;AACd,QAAI,yBAA0B,oBAAmB,WAAW,KAAK;AAAA,EACnE,GAAG,CAAC,kBAAkB,0BAA0B,SAAS,CAAC;AAE1D,QAAM,CAAC,aAAa,aAAa,IAAI,SAAS,CAAC;AAC/C,QAAM,gBAAgB,QAAQ,MAAM;AAClC,UAAM,MAAM,IAAI,IAAI,iBAAiB;AACrC,eAAW,WAAW,SAAU,KAAI,kBAAkB,IAAI,QAAQ,EAAE,EAAG,KAAI,IAAI,QAAQ,EAAE;AAEzF,SAAK;AACL,WAAO;AAAA,EACT,GAAG,CAAC,mBAAmB,aAAa,QAAQ,CAAC;AAC7C,QAAM,iBAAiB,OAAO,YAAsC;AAClE,UAAM,UAAU,4BAA4B,GAAG,EAAE,WAAW,cAAc,OAAO,QAAQ,CAAC;AAE1F,UAAM,OAAO,YAAY,aAAa,iBAAiB;AAAA,MACrD,GAAG;AAAA,MACH,eAAe,OAAO,WAAW;AAAA,IACnC,CAAC;AACD,sBAAkB,IAAI,QAAQ,EAAE;AAChC,kBAAc,CAAC,UAAU,QAAQ,CAAC;AAAA,EACpC;AAEA,MAAI,YAAY;AACd,WACE;AAAA,MAAC;AAAA;AAAA,QACC,2BAAyB;AAAA,QACzB,gCAA8B,SAAS,SAAS,IAAI,aAAa;AAAA,QACjE,WAAU;AAAA,QAET;AAAA,mBAAS,SAAS,IACjB,qBAAC,SACC;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA,MAAK;AAAA,gBACL,MACE;AAAA,kBAAC;AAAA;AAAA,oBACC;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA,KAAK,gBAAgB,kBAAkB,IAAI,aAAa,EAAE,MAAM;AAAA;AAAA,gBAClE;AAAA;AAAA,YAEJ;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBAMC;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,qBAAqB,WAAW;AAAA,gBAChC,OAAO,WAAW,eAAe;AAAA,gBAEjC,WAAW;AAAA,gBACX,kBAAkB;AAAA,gBAClB,kBAAkB;AAAA,gBAClB,yBAAyB;AAAA,gBACzB,UAAU,OAAO,WAAW,aAA8C;AAGxE,sBAAI,CAAE,MAAM,WAAW,QAAQ,WAAW,QAAQ,GAAI;AACpD,0BAAM,IAAI,MAAM,qCAAqC;AAAA,kBACvD;AACA,0BAAQ;AAAA,gBACV;AAAA;AAAA,cAlBK,UAAU,YAAY;AAAA,YAmB7B;AAAA,aACF,IACE;AAAA,UACH,UAAU,SAAS,IAClB,qBAAC,SAAI,qCAAkC,IACrC;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA,MAAK;AAAA,gBACL,MACE;AAAA,kBAAC;AAAA;AAAA,oBACC;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA,IAAI,SAAS,MAAM,oBAAoB;AAAA;AAAA,gBACzC;AAAA;AAAA,YAEJ;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,WAAW,CAAC,UAAU,WAAW,OAAO,UAAU,WAAW,MAAM;AAAA,gBACnE,UAAU,CAAC,aAAa,OAAO,UAAU,QAAQ;AAAA;AAAA,YACnD;AAAA,aACF,IACE;AAAA;AAAA;AAAA,IACN;AAAA,EAEJ;AAGA,QAAM,SAAS,CAAC,WAAW,YAAY,SAAS,SAAS,QAAQ,SAAS,UAAU;AAEpF,MAAI,CAAC,UAAU,gBAAgB,WAAW,QAAQ,WAAW,kBAAmB,QAAO;AACvF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,2BAAyB;AAAA,MACzB,gCAA6B;AAAA,MAC7B,WAAU;AAAA,MAEV;AAAA,4BAAC,UAAK,eAAY,QAAO,WAAU,kDAAiD;AAAA,QACpF,qBAAC,OAAE,WAAU,qDACX;AAAA,8BAAC,UAAK,WAAU,uBAAuB,iBAAM;AAAA,UAAO;AAAA,WACtD;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA,IAAI;AAAA,YACJ,WAAW,GAAG,eAAe,EAAE,SAAS,WAAW,MAAM,KAAK,CAAC,GAAG,UAAU;AAAA;AAAA,QAC9E;AAAA;AAAA;AAAA,EACF;AAEJ;AAGA,SAAS,WAAW,EAAE,OAAO,MAAM,KAAK,GAAqD;AAC3F,SACE,qBAAC,SAAI,WAAU,wEACb;AAAA,wBAAC,uBAAoB,eAAY,QAAO,WAAU,oCAAmC;AAAA,IACrF,qBAAC,OAAE,WAAU,sCACX;AAAA,0BAAC,UAAK,WAAU,uBAAuB,iBAAM;AAAA,MAAO;AAAA,MAAE;AAAA,OACxD;AAAA,IACC;AAAA,KACH;AAEJ;AAGA,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;AACD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAG;AAAA,MACH,QAAQ,EAAE,aAAa,UAAU;AAAA,MACjC,QAAQ,OAAO,OAAO,EAAE,GAAG,IAAI,CAAC;AAAA,MAChC,cAAY,qBAAqB,KAAK;AAAA,MACtC,gCAA6B;AAAA,MAC7B,WACE,aACA;AAAA,MAEH;AAAA;AAAA,EAED;AAEJ;","names":[]}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
ArtifactLibrary
|
|
4
|
-
} from "../../../chunk-
|
|
5
|
-
import "../../../chunk-T6XI5FLY.js";
|
|
4
|
+
} from "../../../chunk-EBTUPRRQ.js";
|
|
6
5
|
import "../../../chunk-KV6VVKG5.js";
|
|
7
6
|
import "../../../chunk-UCILJJNC.js";
|
|
8
7
|
import {
|
|
9
8
|
EditableArtifactSurface,
|
|
10
9
|
usePreloadAppSurface
|
|
11
10
|
} from "../../../chunk-J255A3N5.js";
|
|
12
|
-
import "../../../chunk-
|
|
11
|
+
import "../../../chunk-IN3VQFKS.js";
|
|
12
|
+
import "../../../chunk-7ZNUHRP5.js";
|
|
13
|
+
import "../../../chunk-C2OWEUOD.js";
|
|
14
|
+
import "../../../chunk-VAUWRCUY.js";
|
|
15
|
+
import "../../../chunk-T6XI5FLY.js";
|
|
13
16
|
import {
|
|
14
17
|
CopyArtifactLinkButton
|
|
15
|
-
} from "../../../chunk-
|
|
16
|
-
import "../../../chunk-7ZNUHRP5.js";
|
|
18
|
+
} from "../../../chunk-LIJPDVYP.js";
|
|
17
19
|
import "../../../chunk-KZVRXEYR.js";
|
|
18
20
|
import "../../../chunk-TDL3FD5U.js";
|
|
19
|
-
import "../../../chunk-C2OWEUOD.js";
|
|
20
|
-
import "../../../chunk-VAUWRCUY.js";
|
|
21
21
|
import "../../../chunk-7NLCCKNJ.js";
|
|
22
22
|
import {
|
|
23
23
|
defaultArtifactFilters,
|
|
24
24
|
filterArtifactCatalog
|
|
25
25
|
} from "../../../chunk-DAD2474Q.js";
|
|
26
26
|
import "../../../chunk-H6474TCK.js";
|
|
27
|
-
import "../../../chunk-
|
|
27
|
+
import "../../../chunk-ARTEEI2E.js";
|
|
28
28
|
import "../../../chunk-VGYXW3VG.js";
|
|
29
29
|
import {
|
|
30
30
|
hasWorkspacePermission
|
|
@@ -43,23 +43,23 @@ import {
|
|
|
43
43
|
} from "../../../chunk-JDFDPMKX.js";
|
|
44
44
|
import "../../../chunk-SS4QT7SL.js";
|
|
45
45
|
import "../../../chunk-SOJNW3HC.js";
|
|
46
|
-
import "../../../chunk-
|
|
46
|
+
import "../../../chunk-SBXSKRFA.js";
|
|
47
47
|
import {
|
|
48
48
|
cn
|
|
49
49
|
} from "../../../chunk-A3MTTRCX.js";
|
|
50
50
|
import "../../../chunk-RGBI63KJ.js";
|
|
51
51
|
import "../../../chunk-SS3N75VI.js";
|
|
52
|
-
import "../../../chunk-
|
|
52
|
+
import "../../../chunk-KO3OHHY2.js";
|
|
53
53
|
import "../../../chunk-QE4XESS7.js";
|
|
54
54
|
import "../../../chunk-HIPM3BEC.js";
|
|
55
55
|
import "../../../chunk-X6WZOHBI.js";
|
|
56
56
|
import "../../../chunk-GM3LG6BG.js";
|
|
57
|
-
import "../../../chunk-
|
|
57
|
+
import "../../../chunk-YRYF76OE.js";
|
|
58
58
|
import "../../../chunk-O4OOG3D6.js";
|
|
59
59
|
import "../../../chunk-K4DHWGCT.js";
|
|
60
60
|
import "../../../chunk-HJO32O7Z.js";
|
|
61
|
-
import "../../../chunk-
|
|
62
|
-
import "../../../chunk-
|
|
61
|
+
import "../../../chunk-AQQT2FIC.js";
|
|
62
|
+
import "../../../chunk-MKDFYE2E.js";
|
|
63
63
|
import "../../../chunk-YNF2OC54.js";
|
|
64
64
|
import "../../../chunk-5OTQA7CM.js";
|
|
65
65
|
import "../../../chunk-ZMBJPN4T.js";
|
|
@@ -69,21 +69,21 @@ import "../../../chunk-NRP4REXE.js";
|
|
|
69
69
|
import "../../../chunk-FSOQDUCG.js";
|
|
70
70
|
import "../../../chunk-V4Z4B2E3.js";
|
|
71
71
|
import "../../../chunk-FYWT2O76.js";
|
|
72
|
-
import "../../../chunk-
|
|
73
|
-
import "../../../chunk-
|
|
74
|
-
import "../../../chunk-
|
|
75
|
-
import "../../../chunk-
|
|
76
|
-
import "../../../chunk-
|
|
72
|
+
import "../../../chunk-HTMQGS63.js";
|
|
73
|
+
import "../../../chunk-K4DQS2ML.js";
|
|
74
|
+
import "../../../chunk-WIFDNUKD.js";
|
|
75
|
+
import "../../../chunk-SN2WENRP.js";
|
|
76
|
+
import "../../../chunk-SGH7I7OY.js";
|
|
77
77
|
import "../../../chunk-IGFZFLI2.js";
|
|
78
78
|
import "../../../chunk-IOYHDEP3.js";
|
|
79
79
|
import {
|
|
80
80
|
useWorkspacePanelOwnsExpand
|
|
81
|
-
} from "../../../chunk-
|
|
81
|
+
} from "../../../chunk-4JXPLTWV.js";
|
|
82
82
|
import "../../../chunk-USG4XNMA.js";
|
|
83
83
|
import "../../../chunk-SERRKZO4.js";
|
|
84
|
-
import "../../../chunk-
|
|
85
|
-
import "../../../chunk-
|
|
86
|
-
import "../../../chunk-
|
|
84
|
+
import "../../../chunk-OCXEY7HE.js";
|
|
85
|
+
import "../../../chunk-EWZ2RLNG.js";
|
|
86
|
+
import "../../../chunk-PD7NWM7V.js";
|
|
87
87
|
import "../../../chunk-VDPUG6LH.js";
|
|
88
88
|
import "../../../chunk-NPNX7LTL.js";
|
|
89
89
|
import "../../../chunk-IGVL3ELX.js";
|
|
@@ -94,17 +94,17 @@ import {
|
|
|
94
94
|
import "../../../chunk-EDYVC3U3.js";
|
|
95
95
|
import "../../../chunk-UD6AAZSC.js";
|
|
96
96
|
import "../../../chunk-XEA5BCMA.js";
|
|
97
|
-
import "../../../chunk-
|
|
97
|
+
import "../../../chunk-2EA4IRIP.js";
|
|
98
98
|
import "../../../chunk-AZGAUBKR.js";
|
|
99
99
|
import "../../../chunk-TVQCDDSZ.js";
|
|
100
|
-
import "../../../chunk-
|
|
100
|
+
import "../../../chunk-WRMUXZ7C.js";
|
|
101
101
|
import "../../../chunk-2DDJ6YH6.js";
|
|
102
|
-
import "../../../chunk-
|
|
102
|
+
import "../../../chunk-GTHCHCWW.js";
|
|
103
103
|
import {
|
|
104
104
|
ArtifactViewerHeader
|
|
105
|
-
} from "../../../chunk-
|
|
105
|
+
} from "../../../chunk-G5UQBTXY.js";
|
|
106
106
|
import "../../../chunk-TXS65BB2.js";
|
|
107
|
-
import "../../../chunk-
|
|
107
|
+
import "../../../chunk-QPQ7R77C.js";
|
|
108
108
|
|
|
109
109
|
// src/app/components/session/editable-artifacts-workspace.tsx
|
|
110
110
|
import {
|