@opengeni/react 6.5.2-canary.41607687019001 → 6.7.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.d.ts +4 -0
- package/dist/app/app-state.js +19 -14
- package/dist/app/components/Composer.js +25 -23
- package/dist/app/components/agent/agent-capability-picker.js +10 -8
- package/dist/app/components/artifacts/artifact-browse-controls.js +4 -4
- package/dist/app/components/artifacts/artifact-library.js +21 -19
- package/dist/app/components/artifacts/artifact-page-chrome.js +3 -3
- package/dist/app/components/artifacts/artifact-viewer.js +23 -22
- package/dist/app/components/artifacts/artifact-viewer.js.map +1 -1
- package/dist/app/components/artifacts/chat-interactive-block.js +12 -12
- package/dist/app/components/artifacts/copy-artifact-link.js +7 -5
- package/dist/app/components/artifacts/file-reach-dialog.js +11 -9
- package/dist/app/components/artifacts/inline-chat-image.js +18 -18
- package/dist/app/components/artifacts/retained-file-preview.js +24 -23
- package/dist/app/components/artifacts/retained-text-preview.js +3 -3
- package/dist/app/components/artifacts/site-audience.js +6 -5
- package/dist/app/components/artifacts/site-conversations.js +16 -14
- package/dist/app/components/artifacts/site-data.js +18 -16
- package/dist/app/components/artifacts/site-public-link.js +3 -2
- package/dist/app/components/artifacts/site-publishing-page.js +39 -37
- package/dist/app/components/artifacts/site-publishing.js +34 -32
- package/dist/app/components/artifacts/site-settings.js +38 -36
- package/dist/app/components/artifacts/site-version-menu.js +8 -7
- package/dist/app/components/billing-class-mark.js +3 -3
- package/dist/app/components/bots/bot-launch-strip.js +17 -17
- package/dist/app/components/bots/bot-template-dialog.js +30 -28
- package/dist/app/components/bots/bot-template-shortcuts.js +19 -19
- package/dist/app/components/bots/bot-templates-page.js +38 -36
- package/dist/app/components/bots/bot-templates-page.js.map +1 -1
- package/dist/app/components/capabilities/capability-detail-sheet.js +13 -11
- package/dist/app/components/capabilities/capability-logo-source.js +13 -13
- package/dist/app/components/capabilities/capability-logo.js +4 -3
- package/dist/app/components/capabilities/connector-tool-permissions.js +8 -6
- package/dist/app/components/capabilities/native-connect-setup.js +14 -14
- package/dist/app/components/capabilities/own-logins-shared-heads-up.js +7 -6
- package/dist/app/components/capabilities/perform-capability-action.js +7 -6
- package/dist/app/components/capabilities/prepared-mcp-setup-card.js +17 -17
- package/dist/app/components/capabilities/session-capability-card.js +72 -70
- package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
- package/dist/app/components/capabilities/session-chrome-card.js +28 -26
- package/dist/app/components/capabilities/session-connection-accounts.js +4 -3
- package/dist/app/components/capabilities/session-custom-mcp-card.js +20 -19
- package/dist/app/components/capabilities/session-github-card.js +22 -20
- package/dist/app/components/capabilities/session-machine-card.js +27 -25
- package/dist/app/components/capabilities/session-personal-github-card.js +16 -16
- package/dist/app/components/capabilities/session-plugin-card.js +10 -9
- package/dist/app/components/capabilities/use-capabilities-catalog.js +4 -3
- package/dist/app/components/capabilities/use-connection-accounts.js +5 -4
- package/dist/app/components/command-menu/chat-status.js +15 -13
- package/dist/app/components/command-menu/chat-switcher.js +35 -33
- package/dist/app/components/command-menu/chat-switcher.js.map +1 -1
- package/dist/app/components/command-menu/command-menu.js +53 -50
- package/dist/app/components/command-menu/command-menu.js.map +1 -1
- package/dist/app/components/command-menu/shortcut-sheet.js +18 -16
- package/dist/app/components/command-menu/shortcut-sheet.js.map +1 -1
- package/dist/app/components/common.js +4 -3
- package/dist/app/components/composer-capabilities-menu-body.js +4 -4
- package/dist/app/components/composer-mobile-plus-panel.js +8 -8
- package/dist/app/components/composer-mobile-plus.js +1 -1
- package/dist/app/components/credit-required-gate.js +3 -3
- package/dist/app/components/credit-required-prompt.js +10 -8
- package/dist/app/components/credit-required-prompt.js.map +1 -1
- package/dist/app/components/credits/checkout-credits-celebration.js +3 -2
- package/dist/app/components/credits/checkout-return.js +3 -2
- package/dist/app/components/credits/checkout-return.js.map +1 -1
- package/dist/app/components/credits/coupon-redeem.js +5 -4
- package/dist/app/components/credits/credit-refusal-notice.js +7 -5
- package/dist/app/components/cross-slot-deep-link-recovery.js +5 -4
- package/dist/app/components/desktop/app-shots.js +13 -11
- package/dist/app/components/desktop/computer-use.js +6 -4
- package/dist/app/components/desktop/this-computer.js +9 -7
- package/dist/app/components/feedback.js +5 -4
- package/dist/app/components/follow-up-repository-menu-body.js +8 -6
- package/dist/app/components/follow-up-repository-menu-body.js.map +1 -1
- package/dist/app/components/follow-up-repository-picker.js +1 -1
- package/dist/app/components/github-app-connect-launcher.js +5 -4
- package/dist/app/components/in-app-help-link.js +3 -3
- package/dist/app/components/knowledge/agent-learning-settings.js +3 -2
- package/dist/app/components/knowledge/agent-learning-settings.js.map +1 -1
- package/dist/app/components/machines/connect-machine-dialog.js +18 -16
- package/dist/app/components/manual-repository-editor.js +3 -2
- package/dist/app/components/markdown.js +6 -6
- package/dist/app/components/models/models-ui.js +12 -10
- package/dist/app/components/my-things.js +12 -10
- package/dist/app/components/my-things.js.map +1 -1
- package/dist/app/components/new-session-starters.js +3 -3
- package/dist/app/components/own-where-it-works.js +9 -7
- 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 +7 -5
- package/dist/app/components/rail/project-glyph.js +17 -17
- package/dist/app/components/rail/project-profile.js +31 -29
- package/dist/app/components/rail/rail-context.js +3 -3
- package/dist/app/components/rail/rail-sections.js +68 -66
- package/dist/app/components/rail/session-header.js +59 -57
- package/dist/app/components/rail/session-list.js +66 -64
- package/dist/app/components/rail/session-row-content.js +4 -4
- package/dist/app/components/rail/session-row-hover-details.js +14 -12
- package/dist/app/components/rail/session-shell.js +90 -88
- package/dist/app/components/rail/site-session-group-heading.js +8 -8
- package/dist/app/components/repository-picker.js +8 -6
- package/dist/app/components/secrets/session-secrets-panel.js +4 -3
- package/dist/app/components/secrets/vault-model.js +3 -2
- package/dist/app/components/session/agent-configuration-panel.js +25 -23
- package/dist/app/components/session/agent-configuration-panel.js.map +1 -1
- package/dist/app/components/session/artifact-link-boundary.js +3 -3
- package/dist/app/components/session/artifact-session-page.js +11 -9
- package/dist/app/components/session/banners.js +8 -8
- package/dist/app/components/session/codex-usage-notice.js +5 -3
- package/dist/app/components/session/console-new-conversation.js +42 -40
- package/dist/app/components/session/context-text-reader.js +3 -2
- package/dist/app/components/session/descendant-requests.js +39 -37
- package/dist/app/components/session/descendant-requests.js.map +1 -1
- package/dist/app/components/session/editable-artifacts-workspace.js +36 -34
- package/dist/app/components/session/editable-artifacts-workspace.js.map +1 -1
- package/dist/app/components/session/failed-session-banner.js +13 -11
- package/dist/app/components/session/failed-session-banner.js.map +1 -1
- package/dist/app/components/session/failure-recovery-boundary.js +3 -3
- package/dist/app/components/session/human-input-delegation-record.js +2 -2
- package/dist/app/components/session/human-input.js +33 -31
- package/dist/app/components/session/inspector.js +57 -55
- package/dist/app/components/session/inspector.js.map +1 -1
- package/dist/app/components/session/message-actions.js +5 -4
- package/dist/app/components/session/message-actions.js.map +1 -1
- package/dist/app/components/session/message-resource-attachments.js +12 -11
- package/dist/app/components/session/message-resource-attachments.js.map +1 -1
- package/dist/app/components/session/model-context-inspector.js +6 -4
- package/dist/app/components/session/model-recovery-notice.js +3 -3
- package/dist/app/components/session/new-session-settings-menu.js +11 -9
- package/dist/app/components/session/new-session-setup-strip.js +18 -18
- package/dist/app/components/session/sandbox-recovery-actions.js +3 -3
- package/dist/app/components/session/sandbox-switcher.js +10 -9
- package/dist/app/components/session/sandbox-workspace.js +47 -46
- package/dist/app/components/session/search-markdown-highlight.js +7 -7
- package/dist/app/components/session/search-results-view.js +8 -8
- package/dist/app/components/session/session-admin-access.js +13 -11
- package/dist/app/components/session/session-admission-notice.js +7 -5
- package/dist/app/components/session/session-avatar-picker.js +22 -20
- package/dist/app/components/session/session-avatar.js +16 -16
- package/dist/app/components/session/session-machine-access-notice.js +7 -5
- package/dist/app/components/session/session-profile-dialog.js +29 -27
- package/dist/app/components/session/session-profile-editor.js +30 -28
- package/dist/app/components/session/session-retention.js +10 -8
- package/dist/app/components/session/session-search-dialog.js +10 -10
- package/dist/app/components/session/session-skill-reviews.js +2 -1
- package/dist/app/components/session/session-skill-reviews.js.map +1 -1
- package/dist/app/components/session/session-tenancy-control.js +13 -11
- package/dist/app/components/session/session-tenancy-control.js.map +1 -1
- package/dist/app/components/session/session-unattended-setting.js +7 -5
- package/dist/app/components/session/session-usage-limit-section.js +11 -9
- package/dist/app/components/session/share-chat-dialog.js +9 -7
- package/dist/app/components/session/site-origin-link.js +3 -3
- package/dist/app/components/session/subagents.js +8 -8
- package/dist/app/components/session/subscription-account-indicator.js +6 -6
- package/dist/app/components/session-connectors-menu-body.js +4 -3
- package/dist/app/components/session-connectors-menu-body.js.map +1 -1
- package/dist/app/components/settings/row-select.js +7 -5
- package/dist/app/components/toaster.js +3 -2
- package/dist/app/components/transcription-settings.js +11 -9
- package/dist/app/components/ui/destructive-confirm.js +11 -9
- package/dist/app/components/usage/usage-entry.js +5 -5
- package/dist/app/components/window-bar.js +16 -14
- package/dist/app/components/workspace-composer-plus.js +22 -21
- package/dist/app/components/workspace-reach.js +6 -4
- package/dist/app/components/workspace-tenant-boundary.js +5 -4
- package/dist/app/embed/memory-navigation.js +3 -3
- package/dist/app/embed/session-app.js +211 -209
- package/dist/app/lib/actions/actions-provider.js +15 -13
- package/dist/app/lib/agent-capabilities.js +3 -3
- package/dist/app/lib/app-surfaces.js +7 -6
- package/dist/app/lib/archive-session.d.ts +9 -4
- package/dist/app/lib/archive-session.js +4 -2
- package/dist/app/lib/bot-templates.js +3 -2
- package/dist/app/lib/capabilities.js +3 -2
- package/dist/app/lib/codex-usage-query.js +2 -2
- package/dist/app/lib/composer-connectors.js +17 -16
- package/dist/app/lib/console-site.js +2 -2
- package/dist/app/lib/console-text.js +2 -2
- package/dist/app/lib/events.js +9 -9
- package/dist/app/lib/failed-session-copy.js +3 -3
- package/dist/app/lib/inbox.js +4 -2
- package/dist/app/lib/model-access-onboarding.js +3 -3
- package/dist/app/lib/move-chat-to-machine.js +3 -3
- package/dist/app/lib/navigation.js +2 -2
- package/dist/app/lib/session-branch-cache.js +6 -6
- package/dist/app/lib/session-create.js +4 -4
- package/dist/app/lib/session-group-pagination.js +6 -6
- package/dist/app/lib/session-hover-facts.js +13 -11
- package/dist/app/lib/session-model.js +2 -2
- package/dist/app/lib/session-rail.js +3 -3
- package/dist/app/lib/session-rename.js +3 -3
- package/dist/app/lib/session-restart-operation-controller.js +4 -3
- package/dist/app/lib/session-tenancy.js +3 -2
- package/dist/app/lib/session-usage-limit.js +3 -2
- package/dist/app/lib/sessions-group.js +5 -5
- package/dist/app/lib/site-publishing.js +3 -2
- package/dist/app/lib/site-tool-consent-dialog.js +9 -7
- 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/subscription-plans.js +3 -2
- package/dist/app/lib/toast.js +2 -1
- package/dist/app/lib/turn-failure-analytics.js +4 -4
- package/dist/app/lib/use-duplicate-site.js +6 -5
- package/dist/app/lib/use-follow-up-repositories.js +6 -5
- package/dist/app/lib/use-workspace-integrations.js +4 -3
- package/dist/app/lib/use-workspace-machines.js +4 -4
- package/dist/app/lib/use-workspace-model-catalog.js +5 -4
- 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 +67 -66
- package/dist/app/routes/artifacts.js.map +1 -1
- package/dist/app/routes/retained-artifact.js +42 -40
- package/dist/app/routes/retained-artifact.js.map +1 -1
- package/dist/app/routes/session-unavailable.js +8 -7
- package/dist/app/routes/session.js +119 -117
- package/dist/app/routes/sessions-index-hydration.js +5 -5
- package/dist/app/routes/sessions-index.js +104 -102
- package/dist/app/routes/site-view.js +67 -65
- package/dist/app/routes/site-view.js.map +1 -1
- package/dist/artifacts-document.js +4 -4
- package/dist/artifacts-presentation.js +4 -4
- package/dist/artifacts-spreadsheet.js +4 -4
- package/dist/artifacts.js +10 -10
- package/dist/automations.js +17 -15
- package/dist/automations.js.map +1 -1
- package/dist/browser-viewer-TC27OCIP.js +23 -0
- package/dist/chat-interactive-block-RWPQBHVS.js +18 -0
- package/dist/chunk-2BDT3UZQ.js +229 -0
- package/dist/chunk-2CLNIEK4.js +373 -0
- package/dist/chunk-2FSBSCZJ.js +451 -0
- package/dist/chunk-2I7HDP53.js +199 -0
- package/dist/chunk-2INLDVK3.js +15 -0
- package/dist/chunk-2KALVELR.js +126 -0
- package/dist/chunk-2M3J7ZWQ.js +418 -0
- package/dist/chunk-2OP6WLGV.js +708 -0
- package/dist/chunk-2RG7NIAS.js +2936 -0
- package/dist/chunk-2STUPWEL.js +135 -0
- package/dist/chunk-2YUOVM3G.js +271 -0
- package/dist/chunk-2Z3NQNTM.js +3670 -0
- package/dist/chunk-3CPWWGNK.js +920 -0
- package/dist/chunk-3ED2U6XE.js +37 -0
- package/dist/chunk-3GZA4BUW.js +216 -0
- package/dist/chunk-3IK6UYO6.js +1022 -0
- package/dist/chunk-3PZ7JZI2.js +431 -0
- package/dist/chunk-4DVJ6ONS.js +50 -0
- package/dist/chunk-4DVNUCRR.js +2386 -0
- package/dist/chunk-4DVNUCRR.js.map +1 -0
- package/dist/chunk-4E3ZJRTZ.js +41 -0
- package/dist/chunk-4SAWSRAA.js +141 -0
- package/dist/chunk-53AGXXZM.js +307 -0
- package/dist/chunk-54YW6SZZ.js +818 -0
- package/dist/chunk-57AZS3IE.js +2317 -0
- package/dist/chunk-5CPEEAFD.js +143 -0
- package/dist/chunk-5EWSRZ2Y.js +340 -0
- package/dist/chunk-5IE76VCY.js +387 -0
- package/dist/chunk-5NWEKLDZ.js +170 -0
- package/dist/chunk-5O2FCCHZ.js +198 -0
- package/dist/chunk-5QAY6K77.js +399 -0
- package/dist/chunk-5YKW2K6I.js +625 -0
- package/dist/chunk-5YKW2K6I.js.map +1 -0
- package/dist/chunk-6BCXNDEI.js +4116 -0
- package/dist/chunk-6BCXNDEI.js.map +1 -0
- package/dist/chunk-6DK6Z4UN.js +2599 -0
- package/dist/chunk-6DVCC7QS.js +702 -0
- package/dist/chunk-6JHU2UBS.js +2058 -0
- package/dist/chunk-6PZ7OBYU.js +490 -0
- package/dist/chunk-6WD2INST.js +539 -0
- package/dist/chunk-6WD2INST.js.map +1 -0
- package/dist/chunk-6WGRDRMA.js +163 -0
- package/dist/chunk-77WAKEAH.js +186 -0
- package/dist/chunk-7T2ZE3VT.js +5558 -0
- package/dist/chunk-7T2ZE3VT.js.map +1 -0
- package/dist/chunk-7TDO3CUM.js +393 -0
- package/dist/chunk-7TIX2UAR.js +247 -0
- package/dist/chunk-7V5REBCP.js +148 -0
- package/dist/chunk-7VMZGLYI.js +339 -0
- package/dist/chunk-7W37NS3I.js +236 -0
- package/dist/chunk-7X6SDK2C.js +111 -0
- package/dist/chunk-7ZNUHRP5.js +95 -0
- package/dist/chunk-A36PZALD.js +84 -0
- package/dist/chunk-AUI6VA63.js +107 -0
- package/dist/chunk-AW2MQB37.js +24 -0
- package/dist/chunk-AWKES45Y.js +198 -0
- package/dist/chunk-AXHZYXUV.js +132 -0
- package/dist/chunk-BHNSJVBC.js +129 -0
- package/dist/chunk-BJEJFISW.js +50 -0
- package/dist/chunk-BJFH6JI5.js +422 -0
- package/dist/chunk-BMICEQZQ.js +960 -0
- package/dist/chunk-BTLBYBLU.js +29 -0
- package/dist/chunk-BXBDYNRP.js +89 -0
- package/dist/chunk-C372BFOV.js +357 -0
- package/dist/chunk-C43KRXGA.js +234 -0
- package/dist/chunk-C43KRXGA.js.map +1 -0
- package/dist/chunk-CMKGILJK.js +4824 -0
- package/dist/chunk-CRAOSVHC.js +50 -0
- package/dist/chunk-CRU35QQH.js +281 -0
- package/dist/chunk-CUIWCGMA.js +172 -0
- package/dist/chunk-D5TWNFFE.js +38 -0
- package/dist/chunk-DF5EAHDN.js +4461 -0
- package/dist/chunk-DJAXC5OK.js +56 -0
- package/dist/chunk-DXBYWSL5.js +3550 -0
- package/dist/chunk-DXR5PDFP.js +84 -0
- package/dist/chunk-DZWARC4M.js +267 -0
- package/dist/chunk-DZXEDSQI.js +106 -0
- package/dist/chunk-E7XERZWC.js +48 -0
- package/dist/chunk-ECJBYNLJ.js +79 -0
- package/dist/chunk-EDI6SJ2N.js +43 -0
- package/dist/chunk-EWSOC6WF.js +114 -0
- package/dist/chunk-F2OPHAUN.js +103 -0
- package/dist/chunk-F4ISQGGM.js +81 -0
- package/dist/chunk-FO4LYKJL.js +197 -0
- package/dist/chunk-FPXASDG5.js +73 -0
- package/dist/chunk-FSOQDUCG.js +117 -0
- package/dist/chunk-FSOQDUCG.js.map +1 -0
- package/dist/chunk-FVXBNBHO.js +157 -0
- package/dist/chunk-FYWT2O76.js +34 -0
- package/dist/chunk-FYWT2O76.js.map +1 -0
- package/dist/chunk-FZC5N55X.js +981 -0
- package/dist/chunk-GAVYGBFI.js +99 -0
- package/dist/chunk-GFIMOUDT.js +846 -0
- package/dist/chunk-GFIMOUDT.js.map +1 -0
- package/dist/chunk-GKVJIDHF.js +33 -0
- package/dist/chunk-GVN5SZLX.js +212 -0
- package/dist/chunk-H3T7IWNA.js +134 -0
- package/dist/chunk-HAX4LCR5.js +261 -0
- package/dist/chunk-HC4JFZVU.js +121 -0
- package/dist/chunk-HEFPPMBQ.js +581 -0
- package/dist/chunk-HGKTHF2U.js +1356 -0
- package/dist/chunk-HGKTHF2U.js.map +1 -0
- package/dist/chunk-HNLR7Q4Z.js +83 -0
- package/dist/chunk-HSOXMJOT.js +12 -0
- package/dist/chunk-I4MRDSUF.js +281 -0
- package/dist/chunk-I4QEJ62Y.js +202 -0
- package/dist/chunk-I5B5L6Q4.js +56 -0
- package/dist/chunk-I5QZJODL.js +264 -0
- package/dist/chunk-I7ITSXSJ.js +603 -0
- package/dist/chunk-I7XIZRFD.js +390 -0
- package/dist/chunk-IDANQPRH.js +82 -0
- package/dist/chunk-IFB3WJ36.js +212 -0
- package/dist/chunk-IHTAKKTK.js +264 -0
- package/dist/chunk-IKXNLWAL.js +205 -0
- package/dist/chunk-IKXNLWAL.js.map +1 -0
- package/dist/chunk-ILDXWY37.js +173 -0
- package/dist/chunk-IMDQUHBJ.js +570 -0
- package/dist/chunk-IMZCQBOT.js +119 -0
- package/dist/chunk-IXPTECSC.js +403 -0
- package/dist/chunk-J255A3N5.js +71 -0
- package/dist/chunk-J5F5HPPW.js +141 -0
- package/dist/chunk-JDTGRRNU.js +5045 -0
- package/dist/chunk-JDTGRRNU.js.map +1 -0
- package/dist/chunk-JEA3QDX7.js +2469 -0
- package/dist/chunk-JEUPAVYY.js +156 -0
- package/dist/chunk-JKHKLL5W.js +194 -0
- package/dist/chunk-JQL7ZH6C.js +650 -0
- package/dist/chunk-JWB44UGJ.js +57 -0
- package/dist/chunk-JZ4NLCAP.js +333 -0
- package/dist/chunk-K2A5PXQ5.js +412 -0
- package/dist/chunk-K56XV3C3.js +623 -0
- package/dist/chunk-K6GAXXVA.js +23 -0
- package/dist/chunk-KCBMFSMS.js +199 -0
- package/dist/chunk-KF2FV3ZJ.js +268 -0
- package/dist/chunk-KJD65EJP.js +278 -0
- package/dist/chunk-KLEUWIMZ.js +386 -0
- package/dist/chunk-KODELWYT.js +309 -0
- package/dist/chunk-KRDR5RJD.js +83 -0
- package/dist/chunk-KUDGXAF7.js +914 -0
- package/dist/chunk-KY2R73CG.js +171 -0
- package/dist/chunk-KY2R73CG.js.map +1 -0
- package/dist/chunk-KYS77RPN.js +85 -0
- package/dist/chunk-L7YTNTIK.js +368 -0
- package/dist/chunk-LHPNABDH.js +686 -0
- package/dist/chunk-MFROMEKA.js +401 -0
- package/dist/chunk-MIHN76LX.js +2656 -0
- package/dist/chunk-MIYFS2XN.js +42 -0
- package/dist/chunk-MJUCFQMS.js +65 -0
- package/dist/chunk-MM4FNWI4.js +3064 -0
- package/dist/chunk-MNZG4OHU.js +790 -0
- package/dist/chunk-MVW6HNPI.js +250 -0
- package/dist/chunk-MVW6HNPI.js.map +1 -0
- package/dist/chunk-N6AACDUW.js +200 -0
- package/dist/chunk-NC55IFN3.js +781 -0
- package/dist/chunk-NC7PVOEK.js +98 -0
- package/dist/chunk-NCYMNCJO.js +70 -0
- package/dist/chunk-ND2BXV3P.js +259 -0
- package/dist/chunk-NDBTFUO6.js +272 -0
- package/dist/chunk-NDQJZ7HF.js +206 -0
- package/dist/chunk-NGJJJPZZ.js +162 -0
- package/dist/chunk-NJTSNNE7.js +251 -0
- package/dist/chunk-NPGISCU6.js +4159 -0
- package/dist/chunk-NPGISCU6.js.map +1 -0
- package/dist/chunk-NRTE7DNV.js +1270 -0
- package/dist/chunk-NULUNM7H.js +290 -0
- package/dist/chunk-NUNZS36W.js +227 -0
- package/dist/chunk-NW53H5RW.js +2424 -0
- package/dist/chunk-NXCMHIKI.js +263 -0
- package/dist/chunk-O3LKCBP5.js +159 -0
- package/dist/chunk-O4EA4F3W.js +103 -0
- package/dist/chunk-O4EA4F3W.js.map +1 -0
- package/dist/chunk-O4OOG3D6.js +116 -0
- package/dist/chunk-O4OOG3D6.js.map +1 -0
- package/dist/chunk-O6N4ABCA.js +376 -0
- package/dist/chunk-O732GAFC.js +112 -0
- package/dist/chunk-OF4TIKYC.js +690 -0
- package/dist/chunk-OMPVOMPP.js +70 -0
- package/dist/chunk-OPJJSKUK.js +118 -0
- package/dist/chunk-OPWCMA4D.js +196 -0
- package/dist/chunk-ORJPS5VN.js +1193 -0
- package/dist/chunk-OSY5K7L7.js +187 -0
- package/dist/chunk-OV6QJRT4.js +45 -0
- package/dist/chunk-OVKYVZMW.js +108 -0
- package/dist/chunk-OZCBM3UC.js +171 -0
- package/dist/chunk-P3A2EINJ.js +61 -0
- package/dist/chunk-PTAG4PDC.js +27 -0
- package/dist/chunk-PTF5B7TJ.js +298 -0
- package/dist/chunk-Q3DPEYX4.js +848 -0
- package/dist/chunk-Q6CGOPJD.js +215 -0
- package/dist/chunk-Q6CGOPJD.js.map +1 -0
- package/dist/chunk-QB2KMIDP.js +100 -0
- package/dist/chunk-QCSJ4CWE.js +1067 -0
- package/dist/chunk-QIOQ2NPQ.js +414 -0
- package/dist/chunk-QK5EFEUT.js +353 -0
- package/dist/chunk-QPQBLYQJ.js +41 -0
- package/dist/chunk-QPSGCC5D.js +184 -0
- package/dist/chunk-QZAAUQRN.js +474 -0
- package/dist/chunk-QZM6YDJW.js +489 -0
- package/dist/chunk-QZM6YDJW.js.map +1 -0
- package/dist/chunk-RGBI63KJ.js +188 -0
- package/dist/chunk-RLBKLAEY.js +138 -0
- package/dist/chunk-RMFKVOM7.js +304 -0
- package/dist/chunk-ROKQU7WG.js +258 -0
- package/dist/chunk-RPVREAU7.js +251 -0
- package/dist/chunk-RQKLF42C.js +723 -0
- package/dist/chunk-SC6RRD2D.js +38 -0
- package/dist/chunk-SC6RRD2D.js.map +1 -0
- package/dist/chunk-SEO7TICN.js +94 -0
- package/dist/chunk-SHHJCL7X.js +432 -0
- package/dist/chunk-SIRLACNZ.js +114 -0
- package/dist/chunk-SKPHMYAA.js +237 -0
- package/dist/chunk-SODC7T6L.js +1583 -0
- package/dist/chunk-SQJIKMN3.js +366 -0
- package/dist/chunk-SVINDKVW.js +26 -0
- package/dist/chunk-SYCDHPZF.js +335 -0
- package/dist/chunk-T2QX3FDP.js +133 -0
- package/dist/chunk-T3OWFVMS.js +1187 -0
- package/dist/chunk-T6XI5FLY.js +61 -0
- package/dist/chunk-T7OXJZCX.js +62 -0
- package/dist/chunk-TAT5USZN.js +353 -0
- package/dist/chunk-TPQTRNER.js +172 -0
- package/dist/chunk-TUIN4MB7.js +266 -0
- package/dist/chunk-TX3VECZU.js +71 -0
- package/dist/chunk-TXLIEOJX.js +9624 -0
- package/dist/chunk-U3DN4HEY.js +27 -0
- package/dist/chunk-U7XM7CB4.js +191 -0
- package/dist/chunk-UJK53QFL.js +140 -0
- package/dist/chunk-UMTXA2TH.js +319 -0
- package/dist/chunk-UPDSXFK5.js +199 -0
- package/dist/chunk-UTIAXH52.js +269 -0
- package/dist/chunk-UVN5TMHU.js +1184 -0
- package/dist/chunk-V4Z4B2E3.js +52 -0
- package/dist/chunk-V4Z4B2E3.js.map +1 -0
- package/dist/chunk-VGYXW3VG.js +246 -0
- package/dist/chunk-VS7AHPCZ.js +255 -0
- package/dist/chunk-VTTAJOQ7.js +121 -0
- package/dist/chunk-VWPOLUAO.js +99 -0
- package/dist/chunk-X3MWB2QU.js +3851 -0
- package/dist/chunk-X6KAJI3V.js +211 -0
- package/dist/chunk-XBLRHV5R.js +50 -0
- package/dist/chunk-XDFP2LMW.js +605 -0
- package/dist/chunk-XEQMZB3C.js +525 -0
- package/dist/chunk-XEYLT5VA.js +223 -0
- package/dist/chunk-XHIQ5I6N.js +918 -0
- package/dist/chunk-XLH7QY2R.js +378 -0
- package/dist/chunk-XWFAMUZQ.js +113 -0
- package/dist/chunk-Y4BB2KS2.js +294 -0
- package/dist/chunk-Y4BB2KS2.js.map +1 -0
- package/dist/chunk-Y4OBB2VN.js +84 -0
- package/dist/chunk-YCVD6CI3.js +234 -0
- package/dist/chunk-YENLNISG.js +270 -0
- package/dist/chunk-YIRVLKAX.js +351 -0
- package/dist/chunk-YL73CVNK.js +390 -0
- package/dist/chunk-YLS6QE5G.js +288 -0
- package/dist/chunk-YNF2OC54.js +366 -0
- package/dist/chunk-YNF2OC54.js.map +1 -0
- package/dist/chunk-YPWU5KPE.js +147 -0
- package/dist/chunk-YQXTDZSU.js +2984 -0
- package/dist/chunk-YSJEAAOL.js +178 -0
- package/dist/chunk-YWIFM7D7.js +499 -0
- package/dist/chunk-YWVI6ZMK.js +103 -0
- package/dist/chunk-Z4FMAFNH.js +847 -0
- package/dist/chunk-Z654FWNU.js +136 -0
- package/dist/chunk-Z7Y523PS.js +130 -0
- package/dist/chunk-ZD67RM6G.js +60 -0
- package/dist/chunk-ZEG4VPBL.js +187 -0
- package/dist/chunk-ZHDFQITM.js +283 -0
- package/dist/chunk-ZHDFQITM.js.map +1 -0
- package/dist/chunk-ZLYCOBHW.js +75 -0
- package/dist/chunk-ZNJ5MTXV.js +89 -0
- package/dist/chunk-ZSGY3H53.js +155 -0
- package/dist/chunk-ZTPXACWB.js +1788 -0
- package/dist/chunk-ZUA3JMI6.js +107 -0
- package/dist/chunk-ZYAZUPPV.js +559 -0
- package/dist/composer.js +8 -8
- package/dist/computer-viewer-TDDO25AV.js +21 -0
- package/dist/connect.js +12 -12
- package/dist/desktop-dictation.js +12 -10
- package/dist/desktop-dictation.js.map +1 -1
- package/dist/desktop.js +2 -2
- package/dist/editor.js +2 -2
- package/dist/embedded-new-voice-2G3VLPVQ.js +24 -0
- package/dist/embedded-voice-T5IWOWGD.js +24 -0
- package/dist/fleet-decision-row-WM64KXP3.js +361 -0
- package/dist/in-chat-connect-model.js +5 -5
- package/dist/index.js +51 -51
- package/dist/interaction.js +5 -5
- package/dist/machines.js +3 -3
- package/dist/meetings-recorder.js +1 -1
- package/dist/meetings.js +40 -32
- package/dist/meetings.js.map +1 -1
- package/dist/messages/en.d.ts +3 -0
- package/dist/messages.js +1 -1
- package/dist/model-policy-picker-menu-SMC6J6QN.js +22 -0
- package/dist/payment-page-card-G4U63KUV.js +223 -0
- package/dist/platform-activity-row-BUZGZAKZ.js +128 -0
- package/dist/queue-surface-implementation-4KUZ4PJV.js +908 -0
- package/dist/realtime.js +4 -4
- package/dist/recorder-host-WF2RRR56.js +69 -0
- package/dist/recorder-host-WF2RRR56.js.map +1 -0
- package/dist/recordings.js +3 -3
- package/dist/sandbox-files-ESDMOFSD.js +27 -0
- package/dist/session-app.js +211 -209
- package/dist/session-connect-cards-Q53KMMYY.js +25 -0
- package/dist/session-list-model.js +2 -2
- package/dist/session-realtime-CF3I35WJ.js +30 -0
- package/dist/session-realtime.js +2 -2
- package/dist/session-ui.js +33 -31
- package/dist/session.js +5 -5
- package/dist/sites.js +2 -2
- package/dist/terminal.js +2 -2
- package/dist/this-computer.js +3 -3
- package/dist/timeline-annotation-markers-CJK4RYZ4.js +157 -0
- package/dist/timeline-annotation-selection-67GF5H26.js +208 -0
- package/dist/timeline-annotations-dialog-ONJPQDJQ.js +283 -0
- package/dist/ui/access-list.js +11 -9
- package/dist/ui/access-list.js.map +1 -1
- package/dist/ui/api-error.d.ts +6 -3
- package/dist/ui/api-error.js +2 -1
- package/dist/ui/cadence-picker.js +6 -4
- package/dist/ui/choice-cards.js +5 -3
- package/dist/ui/confirm-dialog.js +2 -2
- package/dist/ui/copy-field.js +5 -3
- package/dist/ui/detail-page.js +2 -2
- package/dist/ui/detail-sheet.js +2 -2
- package/dist/ui/diff-view.js +4 -3
- package/dist/ui/disclosure.js +3 -3
- package/dist/ui/email-chips-input.js +5 -3
- package/dist/ui/error-message.js +2 -1
- package/dist/ui/error-reference.d.ts +15 -0
- package/dist/ui/error-text.d.ts +10 -0
- package/dist/ui/error-text.js +9 -0
- package/dist/ui/error-text.js.map +1 -0
- package/dist/ui/field.js +4 -2
- package/dist/ui/flush-form-page.js +8 -6
- package/dist/ui/form-dialog.js +7 -5
- package/dist/ui/list-row.js +3 -3
- package/dist/ui/load-failure.js +3 -2
- package/dist/ui/load-failure.js.map +1 -1
- package/dist/ui/notice.js +3 -1
- package/dist/ui/relative-time.js +2 -2
- package/dist/ui/revision-history.js +9 -7
- package/dist/ui/revision-history.js.map +1 -1
- package/dist/ui/role-select.js +10 -8
- package/dist/ui/segmented-control.js +4 -2
- package/dist/ui/select-menu.js +5 -3
- package/dist/ui/setting-row.js +3 -1
- package/dist/ui/switch.js +4 -2
- package/dist/ui/usage-meter.js +3 -3
- package/dist/ui/word-list-row.js +4 -2
- package/dist/usage.js +2 -2
- package/dist/workbench.js +4 -4
- package/package.json +5 -6
- package/src/app/app-state.tsx +126 -14
- package/src/app/components/artifacts/site-data.tsx +2 -2
- package/src/app/components/artifacts/site-settings.tsx +2 -2
- package/src/app/components/rail/session-list.tsx +7 -8
- package/src/app/components/rail/session-shell.tsx +3 -3
- package/src/app/components/repository-picker.tsx +8 -1
- package/src/app/components/session/model-context-inspector.tsx +2 -1
- package/src/app/components/session/session-admin-access.tsx +2 -2
- package/src/app/lib/actions/chat-operations.ts +4 -4
- package/src/app/lib/archive-session.test.tsx +265 -2
- package/src/app/lib/archive-session.tsx +175 -9
- package/src/app/lib/copy-link.ts +2 -2
- package/src/app/lib/inbox.tsx +2 -2
- package/src/app/lib/session-failure-toasts.ts +3 -2
- package/src/app/lib/toast.test.tsx +215 -0
- package/src/app/lib/toast.tsx +67 -2
- package/src/app/personal-github-reconnect.test.tsx +356 -0
- package/src/app/routes/artifacts.tsx +1 -2
- package/src/components/tool-action-review.tsx +14 -1
- package/src/meetings/delete-meeting-dialog.tsx +2 -1
- package/src/meetings/meeting-ask.tsx +2 -1
- package/src/meetings/meeting-detail-page.tsx +2 -1
- package/src/meetings/meeting-notes.tsx +2 -1
- package/src/meetings/meeting-settings.tsx +4 -1
- package/src/meetings/meeting-transcript.tsx +4 -1
- package/src/meetings/recorder-context.tsx +10 -0
- package/src/meetings/recorder-host.test.tsx +60 -2
- package/src/meetings/recorder-host.tsx +16 -3
- package/src/meetings/recorder-panel.tsx +2 -1
- package/src/meetings/recorder-workspace.test.tsx +26 -1
- package/src/messages/en.ts +6 -0
- package/src/ui/api-error.test.ts +29 -5
- package/src/ui/api-error.tsx +10 -4
- package/src/ui/error-message.tsx +8 -0
- package/src/ui/error-reference.test.ts +54 -0
- package/src/ui/error-reference.ts +51 -0
- package/src/ui/error-text.test.tsx +66 -0
- package/src/ui/error-text.tsx +49 -0
- package/src/ui/field.tsx +4 -1
- package/src/ui/notice.tsx +7 -2
- package/src/ui/setting-row.tsx +4 -1
- package/styles/app.css +12 -0
- package/styles/compiled.css +9 -0
- package/dist/browser-viewer-NOP5EAUO.js +0 -23
- package/dist/chat-interactive-block-G7O44JHR.js +0 -18
- package/dist/chunk-26RWVLRD.js +0 -135
- package/dist/chunk-2AHTY7OT.js +0 -247
- package/dist/chunk-2GDNWKSC.js +0 -3670
- package/dist/chunk-2JENKGCE.js +0 -339
- package/dist/chunk-2KYQC4T5.js +0 -155
- package/dist/chunk-2RREGDQH.js +0 -708
- package/dist/chunk-2T7DX6KR.js +0 -353
- package/dist/chunk-2VB2O4FQ.js +0 -920
- package/dist/chunk-2VTTKH23.js +0 -94
- package/dist/chunk-2XNG2KNT.js +0 -172
- package/dist/chunk-2YC6JQRO.js +0 -399
- package/dist/chunk-2ZVRJRXC.js +0 -27
- package/dist/chunk-35737UT4.js +0 -162
- package/dist/chunk-366XZ4PM.js +0 -41
- package/dist/chunk-36MIDGAH.js +0 -199
- package/dist/chunk-3FD76LXM.js +0 -212
- package/dist/chunk-3OVIXY4O.js +0 -213
- package/dist/chunk-3OVIXY4O.js.map +0 -1
- package/dist/chunk-3QNRBEYH.js +0 -432
- package/dist/chunk-3QX55WLC.js +0 -15
- package/dist/chunk-3USJPT2S.js +0 -1022
- package/dist/chunk-42CMQ5VR.js +0 -251
- package/dist/chunk-4LPOWQJY.js +0 -42
- package/dist/chunk-4NBTZRKT.js +0 -79
- package/dist/chunk-4OXI6HCV.js +0 -118
- package/dist/chunk-4SZZAFYQ.js +0 -2317
- package/dist/chunk-4TQL3WP2.js +0 -140
- package/dist/chunk-4Y6BK7IU.js +0 -196
- package/dist/chunk-4YD7YZC5.js +0 -373
- package/dist/chunk-5DTST3TP.js +0 -81
- package/dist/chunk-5FH5LQVS.js +0 -130
- package/dist/chunk-5KWMYPJV.js +0 -847
- package/dist/chunk-5MUJDC6C.js +0 -84
- package/dist/chunk-5QM2WPKV.js +0 -41
- package/dist/chunk-5WUN7XPD.js +0 -1184
- package/dist/chunk-64PO2WXU.js +0 -1067
- package/dist/chunk-6AHATAAY.js +0 -431
- package/dist/chunk-6ED2YWBT.js +0 -56
- package/dist/chunk-6GXVYAGR.js +0 -170
- package/dist/chunk-6H4SJBPE.js +0 -85
- package/dist/chunk-6MT3HHUB.js +0 -84
- package/dist/chunk-6UHCBH4G.js +0 -198
- package/dist/chunk-6WLX3NR3.js +0 -198
- package/dist/chunk-73NXYYWE.js +0 -112
- package/dist/chunk-76ERNKIZ.js +0 -603
- package/dist/chunk-776QZ573.js +0 -57
- package/dist/chunk-7BYWOFVH.js +0 -171
- package/dist/chunk-7O5CGGIQ.js +0 -108
- package/dist/chunk-7QOHRZ67.js +0 -251
- package/dist/chunk-7WIDB4PL.js +0 -2058
- package/dist/chunk-7WKP3DYJ.js +0 -37
- package/dist/chunk-7XOVTPDI.js +0 -227
- package/dist/chunk-AB5MBIXY.js +0 -281
- package/dist/chunk-ADNMXBCX.js +0 -1193
- package/dist/chunk-AFBJTUFK.js +0 -202
- package/dist/chunk-ALVRWCXE.js +0 -61
- package/dist/chunk-AOHU6O3M.js +0 -247
- package/dist/chunk-AOHU6O3M.js.map +0 -1
- package/dist/chunk-APW4T4SW.js +0 -270
- package/dist/chunk-AXBSYWKX.js +0 -2656
- package/dist/chunk-B2I5ZW35.js +0 -422
- package/dist/chunk-B3LMRTRF.js +0 -223
- package/dist/chunk-BE2XENG2.js +0 -292
- package/dist/chunk-BE2XENG2.js.map +0 -1
- package/dist/chunk-BF4SADKX.js +0 -29
- package/dist/chunk-BKP43KK4.js +0 -1788
- package/dist/chunk-BM3NEZ6X.js +0 -781
- package/dist/chunk-BT3BAGB5.js +0 -216
- package/dist/chunk-BTSYDIVJ.js +0 -357
- package/dist/chunk-BUBNGKWG.js +0 -70
- package/dist/chunk-BVUJV5WR.js +0 -126
- package/dist/chunk-BZO5ZMUP.js +0 -27
- package/dist/chunk-C3HUF3M2.js +0 -157
- package/dist/chunk-C5QCAOES.js +0 -264
- package/dist/chunk-CGK6ALQU.js +0 -159
- package/dist/chunk-CPYGO76Q.js +0 -335
- package/dist/chunk-CQH4FWYA.js +0 -490
- package/dist/chunk-CZP5QXNB.js +0 -234
- package/dist/chunk-D2TOWEYH.js +0 -266
- package/dist/chunk-D6L4GHRH.js +0 -340
- package/dist/chunk-DKT3N37I.js +0 -50
- package/dist/chunk-DMMJIFKA.js +0 -84
- package/dist/chunk-DO74DQC7.js +0 -26
- package/dist/chunk-DOFJZ2JU.js +0 -83
- package/dist/chunk-DSXVY5WZ.js +0 -119
- package/dist/chunk-E337C2VK.js +0 -82
- package/dist/chunk-E6NRSRBE.js +0 -114
- package/dist/chunk-E6SQKHAU.js +0 -114
- package/dist/chunk-E7UIVD7F.js +0 -236
- package/dist/chunk-EGBII4CP.js +0 -229
- package/dist/chunk-EILSAQVJ.js +0 -200
- package/dist/chunk-ELL6HSYR.js +0 -307
- package/dist/chunk-EUBGLFFR.js +0 -73
- package/dist/chunk-EW6RNWSH.js +0 -212
- package/dist/chunk-EYUT5Y6V.js +0 -2599
- package/dist/chunk-F7U3QPZ3.js +0 -304
- package/dist/chunk-FBTJKSTM.js +0 -1270
- package/dist/chunk-FC2FTSK3.js +0 -2424
- package/dist/chunk-FOGNA3BU.js +0 -148
- package/dist/chunk-FQFKHNC7.js +0 -650
- package/dist/chunk-FTCHM755.js +0 -50
- package/dist/chunk-FXSHP4JZ.js +0 -3550
- package/dist/chunk-G6ZZC543.js +0 -818
- package/dist/chunk-G7FU6PUA.js +0 -100
- package/dist/chunk-GA4YEAMX.js +0 -3851
- package/dist/chunk-GE33BGB7.js +0 -12
- package/dist/chunk-GQ67HSJY.js +0 -570
- package/dist/chunk-GXXZ3WAK.js +0 -106
- package/dist/chunk-H2TCRX3H.js +0 -237
- package/dist/chunk-HLL4PBO7.js +0 -60
- package/dist/chunk-HLOEPV5C.js +0 -259
- package/dist/chunk-HUAGBS4O.js +0 -56
- package/dist/chunk-I36GSRUJ.js +0 -211
- package/dist/chunk-I6VBHT7S.js +0 -261
- package/dist/chunk-ICNNNOXE.js +0 -333
- package/dist/chunk-ICX64J4U.js +0 -172
- package/dist/chunk-ID36Y46W.js +0 -5046
- package/dist/chunk-ID36Y46W.js.map +0 -1
- package/dist/chunk-IGVVXLKJ.js +0 -559
- package/dist/chunk-IKJLSBUI.js +0 -2984
- package/dist/chunk-IKMUFDVS.js +0 -50
- package/dist/chunk-IKUNOX7F.js +0 -255
- package/dist/chunk-ILKDYBON.js +0 -288
- package/dist/chunk-IVYJX3OY.js +0 -187
- package/dist/chunk-JCY4CMDH.js +0 -107
- package/dist/chunk-JJZPLGIP.js +0 -474
- package/dist/chunk-JW33RV4V.js +0 -143
- package/dist/chunk-JWPA6ZPZ.js +0 -351
- package/dist/chunk-JZ4QXS6D.js +0 -50
- package/dist/chunk-K42OUZQ3.js +0 -386
- package/dist/chunk-K5TOVX5A.js +0 -206
- package/dist/chunk-K63HGHZX.js +0 -99
- package/dist/chunk-K6R5T44I.js +0 -75
- package/dist/chunk-KHJ5PXFM.js +0 -914
- package/dist/chunk-KJZRQ55O.js +0 -2319
- package/dist/chunk-KJZRQ55O.js.map +0 -1
- package/dist/chunk-KKI55ZMW.js +0 -65
- package/dist/chunk-KRPLAAFP.js +0 -199
- package/dist/chunk-KVFEZDBO.js +0 -134
- package/dist/chunk-L4I665WK.js +0 -45
- package/dist/chunk-L4OF77LE.js +0 -110
- package/dist/chunk-L4OF77LE.js.map +0 -1
- package/dist/chunk-LA5T52RM.js +0 -70
- package/dist/chunk-LM2W5YAT.js +0 -401
- package/dist/chunk-LQ62ECE6.js +0 -390
- package/dist/chunk-LQDUHU3Y.js +0 -71
- package/dist/chunk-LRJIYTZW.js +0 -4157
- package/dist/chunk-LRJIYTZW.js.map +0 -1
- package/dist/chunk-LRN6GYAZ.js +0 -138
- package/dist/chunk-M4SDVTKJ.js +0 -790
- package/dist/chunk-MA6O7CM6.js +0 -99
- package/dist/chunk-MBIBB6GI.js +0 -197
- package/dist/chunk-MF3ZFB4H.js +0 -199
- package/dist/chunk-MJJGJMYJ.js +0 -98
- package/dist/chunk-MLJADQFI.js +0 -4824
- package/dist/chunk-MQG7RV3B.js +0 -62
- package/dist/chunk-MTTGSQA5.js +0 -186
- package/dist/chunk-MW7Y3T55.js +0 -525
- package/dist/chunk-MYUFMVCH.js +0 -121
- package/dist/chunk-N3OARGH2.js +0 -61
- package/dist/chunk-NB2HMRT2.js +0 -353
- package/dist/chunk-NFDFYWMV.js +0 -141
- package/dist/chunk-NWGNFN3N.js +0 -1187
- package/dist/chunk-NWJRPDIO.js +0 -840
- package/dist/chunk-NWJRPDIO.js.map +0 -1
- package/dist/chunk-NXWBBZJV.js +0 -267
- package/dist/chunk-NY2QWROL.js +0 -71
- package/dist/chunk-O2IOPP3R.js +0 -848
- package/dist/chunk-O2UWH5RG.js +0 -141
- package/dist/chunk-O5YWDLYF.js +0 -393
- package/dist/chunk-OBMCZO7E.js +0 -121
- package/dist/chunk-OD3DCCCB.js +0 -132
- package/dist/chunk-OMH7R6I3.js +0 -390
- package/dist/chunk-OSA5EQG5.js +0 -113
- package/dist/chunk-OSJ3MUTZ.js +0 -2936
- package/dist/chunk-OWAYJ2OV.js +0 -368
- package/dist/chunk-OYXBFSGK.js +0 -269
- package/dist/chunk-PC2EBA5G.js +0 -4116
- package/dist/chunk-PC2EBA5G.js.map +0 -1
- package/dist/chunk-PC2MVXIP.js +0 -363
- package/dist/chunk-PC2MVXIP.js.map +0 -1
- package/dist/chunk-PENGLDR5.js +0 -309
- package/dist/chunk-PSMAWRPL.js +0 -191
- package/dist/chunk-PW4IMTYR.js +0 -702
- package/dist/chunk-PW54V7T5.js +0 -387
- package/dist/chunk-Q2EXYSMO.js +0 -24
- package/dist/chunk-Q2XJK5I4.js +0 -51
- package/dist/chunk-Q2XJK5I4.js.map +0 -1
- package/dist/chunk-Q4EFRI6X.js +0 -258
- package/dist/chunk-Q52CXW6C.js +0 -48
- package/dist/chunk-Q6XQ2R37.js +0 -184
- package/dist/chunk-QAJ53XBW.js +0 -23
- package/dist/chunk-QDTKECT4.js +0 -129
- package/dist/chunk-QE3ZFGI3.js +0 -43
- package/dist/chunk-QHHSUR2Y.js +0 -298
- package/dist/chunk-QHNVNR7B.js +0 -173
- package/dist/chunk-QIK2Q6N5.js +0 -376
- package/dist/chunk-QWL4L366.js +0 -38
- package/dist/chunk-R3J2PTVQ.js +0 -690
- package/dist/chunk-RBRX5ZS3.js +0 -319
- package/dist/chunk-REX6JIC7.js +0 -33
- package/dist/chunk-RGZ7EEC3.js +0 -537
- package/dist/chunk-RGZ7EEC3.js.map +0 -1
- package/dist/chunk-RIPS7GFR.js +0 -960
- package/dist/chunk-RTBZNFNV.js +0 -1354
- package/dist/chunk-RTBZNFNV.js.map +0 -1
- package/dist/chunk-SKMNW4SW.js +0 -187
- package/dist/chunk-SRFARKXC.js +0 -623
- package/dist/chunk-SWIHWCTW.js +0 -4461
- package/dist/chunk-TA5CFTO4.js +0 -103
- package/dist/chunk-TF4ZVJLI.js +0 -156
- package/dist/chunk-TG7DADJR.js +0 -9624
- package/dist/chunk-TI4R2ZD5.js +0 -623
- package/dist/chunk-TI4R2ZD5.js.map +0 -1
- package/dist/chunk-TNKWOUWP.js +0 -412
- package/dist/chunk-TNUSPXPW.js +0 -5555
- package/dist/chunk-TNUSPXPW.js.map +0 -1
- package/dist/chunk-TNYFHKVV.js +0 -366
- package/dist/chunk-TPMZBOFH.js +0 -178
- package/dist/chunk-TW3LKRJF.js +0 -263
- package/dist/chunk-TZAO65I4.js +0 -83
- package/dist/chunk-U5EFEMYU.js +0 -89
- package/dist/chunk-U6M4LS3M.js +0 -378
- package/dist/chunk-UI4HI5QK.js +0 -918
- package/dist/chunk-UJDOWCQ3.js +0 -272
- package/dist/chunk-UJUQ2QOX.js +0 -581
- package/dist/chunk-UQ3IM6FY.js +0 -133
- package/dist/chunk-UYE47LO6.js +0 -246
- package/dist/chunk-VADHIT26.js +0 -89
- package/dist/chunk-VFQ3H6CO.js +0 -163
- package/dist/chunk-VGUN6VB2.js +0 -188
- package/dist/chunk-VGWWEVSD.js +0 -723
- package/dist/chunk-VIEFJ2DM.js +0 -2469
- package/dist/chunk-VLXM36VS.js +0 -268
- package/dist/chunk-W3BFRR2G.js +0 -499
- package/dist/chunk-W5MPXR3A.js +0 -981
- package/dist/chunk-W5OWKVZG.js +0 -136
- package/dist/chunk-W6FRORMX.js +0 -486
- package/dist/chunk-W6FRORMX.js.map +0 -1
- package/dist/chunk-W7XROSZO.js +0 -232
- package/dist/chunk-W7XROSZO.js.map +0 -1
- package/dist/chunk-WEZ5PXZP.js +0 -403
- package/dist/chunk-WHWUWN2X.js +0 -197
- package/dist/chunk-WHWUWN2X.js.map +0 -1
- package/dist/chunk-WLEDGIVS.js +0 -114
- package/dist/chunk-WLEDGIVS.js.map +0 -1
- package/dist/chunk-WNDAKLHG.js +0 -281
- package/dist/chunk-WTJ4PLMU.js +0 -103
- package/dist/chunk-WV2KPJUW.js +0 -107
- package/dist/chunk-X3VY5EGY.js +0 -277
- package/dist/chunk-X3VY5EGY.js.map +0 -1
- package/dist/chunk-XDBYWVCW.js +0 -418
- package/dist/chunk-XF7MA4U5.js +0 -36
- package/dist/chunk-XF7MA4U5.js.map +0 -1
- package/dist/chunk-XOSQP3YA.js +0 -605
- package/dist/chunk-XYBV4ZJQ.js +0 -271
- package/dist/chunk-YBKVGLQR.js +0 -147
- package/dist/chunk-YDCUBUWH.js +0 -1583
- package/dist/chunk-YG6NARQY.js +0 -51
- package/dist/chunk-YG6NARQY.js.map +0 -1
- package/dist/chunk-YSVD5HI4.js +0 -278
- package/dist/chunk-YT3WGNG6.js +0 -290
- package/dist/chunk-YYICQDK4.js +0 -414
- package/dist/chunk-YYLMZLI6.js +0 -686
- package/dist/chunk-ZAMTKG5U.js +0 -95
- package/dist/chunk-ZDLYSXKN.js +0 -111
- package/dist/chunk-ZG447FSS.js +0 -194
- package/dist/chunk-ZIT5KD4Q.js +0 -264
- package/dist/chunk-ZUDOVDKR.js +0 -3064
- package/dist/chunk-ZW2ECJ3A.js +0 -451
- package/dist/computer-viewer-LPZ763KF.js +0 -21
- package/dist/embedded-new-voice-YVMKSLKJ.js +0 -24
- package/dist/embedded-voice-BJPQFXSU.js +0 -24
- package/dist/fleet-decision-row-AA4H5CDT.js +0 -361
- package/dist/model-policy-picker-menu-HSMWVO4P.js +0 -22
- package/dist/payment-page-card-3LTSFJGN.js +0 -223
- package/dist/platform-activity-row-5VYV6TX4.js +0 -128
- package/dist/queue-surface-implementation-NXHZUKD2.js +0 -908
- package/dist/recorder-host-ZKRWTDBM.js +0 -57
- package/dist/recorder-host-ZKRWTDBM.js.map +0 -1
- package/dist/sandbox-files-YCMLQUFU.js +0 -27
- package/dist/session-connect-cards-KSQLMRM5.js +0 -25
- package/dist/session-realtime-ZR6JLG3Y.js +0 -30
- package/dist/timeline-annotation-markers-YAHDPWVG.js +0 -157
- package/dist/timeline-annotation-selection-KHXNCEJP.js +0 -208
- package/dist/timeline-annotations-dialog-Y4XD3N7B.js +0 -283
- /package/dist/{browser-viewer-NOP5EAUO.js.map → browser-viewer-TC27OCIP.js.map} +0 -0
- /package/dist/{chat-interactive-block-G7O44JHR.js.map → chat-interactive-block-RWPQBHVS.js.map} +0 -0
- /package/dist/{chunk-EGBII4CP.js.map → chunk-2BDT3UZQ.js.map} +0 -0
- /package/dist/{chunk-4YD7YZC5.js.map → chunk-2CLNIEK4.js.map} +0 -0
- /package/dist/{chunk-ZW2ECJ3A.js.map → chunk-2FSBSCZJ.js.map} +0 -0
- /package/dist/{chunk-KRPLAAFP.js.map → chunk-2I7HDP53.js.map} +0 -0
- /package/dist/{chunk-3QX55WLC.js.map → chunk-2INLDVK3.js.map} +0 -0
- /package/dist/{chunk-BVUJV5WR.js.map → chunk-2KALVELR.js.map} +0 -0
- /package/dist/{chunk-XDBYWVCW.js.map → chunk-2M3J7ZWQ.js.map} +0 -0
- /package/dist/{chunk-2RREGDQH.js.map → chunk-2OP6WLGV.js.map} +0 -0
- /package/dist/{chunk-OSJ3MUTZ.js.map → chunk-2RG7NIAS.js.map} +0 -0
- /package/dist/{chunk-26RWVLRD.js.map → chunk-2STUPWEL.js.map} +0 -0
- /package/dist/{chunk-XYBV4ZJQ.js.map → chunk-2YUOVM3G.js.map} +0 -0
- /package/dist/{chunk-2GDNWKSC.js.map → chunk-2Z3NQNTM.js.map} +0 -0
- /package/dist/{chunk-2VB2O4FQ.js.map → chunk-3CPWWGNK.js.map} +0 -0
- /package/dist/{chunk-7WKP3DYJ.js.map → chunk-3ED2U6XE.js.map} +0 -0
- /package/dist/{chunk-BT3BAGB5.js.map → chunk-3GZA4BUW.js.map} +0 -0
- /package/dist/{chunk-3USJPT2S.js.map → chunk-3IK6UYO6.js.map} +0 -0
- /package/dist/{chunk-6AHATAAY.js.map → chunk-3PZ7JZI2.js.map} +0 -0
- /package/dist/{chunk-JZ4QXS6D.js.map → chunk-4DVJ6ONS.js.map} +0 -0
- /package/dist/{chunk-5QM2WPKV.js.map → chunk-4E3ZJRTZ.js.map} +0 -0
- /package/dist/{chunk-NFDFYWMV.js.map → chunk-4SAWSRAA.js.map} +0 -0
- /package/dist/{chunk-ELL6HSYR.js.map → chunk-53AGXXZM.js.map} +0 -0
- /package/dist/{chunk-G6ZZC543.js.map → chunk-54YW6SZZ.js.map} +0 -0
- /package/dist/{chunk-4SZZAFYQ.js.map → chunk-57AZS3IE.js.map} +0 -0
- /package/dist/{chunk-JW33RV4V.js.map → chunk-5CPEEAFD.js.map} +0 -0
- /package/dist/{chunk-D6L4GHRH.js.map → chunk-5EWSRZ2Y.js.map} +0 -0
- /package/dist/{chunk-PW54V7T5.js.map → chunk-5IE76VCY.js.map} +0 -0
- /package/dist/{chunk-6GXVYAGR.js.map → chunk-5NWEKLDZ.js.map} +0 -0
- /package/dist/{chunk-6UHCBH4G.js.map → chunk-5O2FCCHZ.js.map} +0 -0
- /package/dist/{chunk-2YC6JQRO.js.map → chunk-5QAY6K77.js.map} +0 -0
- /package/dist/{chunk-EYUT5Y6V.js.map → chunk-6DK6Z4UN.js.map} +0 -0
- /package/dist/{chunk-PW4IMTYR.js.map → chunk-6DVCC7QS.js.map} +0 -0
- /package/dist/{chunk-7WIDB4PL.js.map → chunk-6JHU2UBS.js.map} +0 -0
- /package/dist/{chunk-CQH4FWYA.js.map → chunk-6PZ7OBYU.js.map} +0 -0
- /package/dist/{chunk-VFQ3H6CO.js.map → chunk-6WGRDRMA.js.map} +0 -0
- /package/dist/{chunk-MTTGSQA5.js.map → chunk-77WAKEAH.js.map} +0 -0
- /package/dist/{chunk-O5YWDLYF.js.map → chunk-7TDO3CUM.js.map} +0 -0
- /package/dist/{chunk-2AHTY7OT.js.map → chunk-7TIX2UAR.js.map} +0 -0
- /package/dist/{chunk-FOGNA3BU.js.map → chunk-7V5REBCP.js.map} +0 -0
- /package/dist/{chunk-2JENKGCE.js.map → chunk-7VMZGLYI.js.map} +0 -0
- /package/dist/{chunk-E7UIVD7F.js.map → chunk-7W37NS3I.js.map} +0 -0
- /package/dist/{chunk-ZDLYSXKN.js.map → chunk-7X6SDK2C.js.map} +0 -0
- /package/dist/{chunk-ZAMTKG5U.js.map → chunk-7ZNUHRP5.js.map} +0 -0
- /package/dist/{chunk-DMMJIFKA.js.map → chunk-A36PZALD.js.map} +0 -0
- /package/dist/{chunk-WV2KPJUW.js.map → chunk-AUI6VA63.js.map} +0 -0
- /package/dist/{chunk-Q2EXYSMO.js.map → chunk-AW2MQB37.js.map} +0 -0
- /package/dist/{chunk-6WLX3NR3.js.map → chunk-AWKES45Y.js.map} +0 -0
- /package/dist/{chunk-OD3DCCCB.js.map → chunk-AXHZYXUV.js.map} +0 -0
- /package/dist/{chunk-QDTKECT4.js.map → chunk-BHNSJVBC.js.map} +0 -0
- /package/dist/{chunk-FTCHM755.js.map → chunk-BJEJFISW.js.map} +0 -0
- /package/dist/{chunk-B2I5ZW35.js.map → chunk-BJFH6JI5.js.map} +0 -0
- /package/dist/{chunk-RIPS7GFR.js.map → chunk-BMICEQZQ.js.map} +0 -0
- /package/dist/{chunk-BF4SADKX.js.map → chunk-BTLBYBLU.js.map} +0 -0
- /package/dist/{chunk-U5EFEMYU.js.map → chunk-BXBDYNRP.js.map} +0 -0
- /package/dist/{chunk-BTSYDIVJ.js.map → chunk-C372BFOV.js.map} +0 -0
- /package/dist/{chunk-MLJADQFI.js.map → chunk-CMKGILJK.js.map} +0 -0
- /package/dist/{chunk-DKT3N37I.js.map → chunk-CRAOSVHC.js.map} +0 -0
- /package/dist/{chunk-WNDAKLHG.js.map → chunk-CRU35QQH.js.map} +0 -0
- /package/dist/{chunk-2XNG2KNT.js.map → chunk-CUIWCGMA.js.map} +0 -0
- /package/dist/{chunk-QWL4L366.js.map → chunk-D5TWNFFE.js.map} +0 -0
- /package/dist/{chunk-SWIHWCTW.js.map → chunk-DF5EAHDN.js.map} +0 -0
- /package/dist/{chunk-HUAGBS4O.js.map → chunk-DJAXC5OK.js.map} +0 -0
- /package/dist/{chunk-FXSHP4JZ.js.map → chunk-DXBYWSL5.js.map} +0 -0
- /package/dist/{chunk-5MUJDC6C.js.map → chunk-DXR5PDFP.js.map} +0 -0
- /package/dist/{chunk-NXWBBZJV.js.map → chunk-DZWARC4M.js.map} +0 -0
- /package/dist/{chunk-GXXZ3WAK.js.map → chunk-DZXEDSQI.js.map} +0 -0
- /package/dist/{chunk-Q52CXW6C.js.map → chunk-E7XERZWC.js.map} +0 -0
- /package/dist/{chunk-4NBTZRKT.js.map → chunk-ECJBYNLJ.js.map} +0 -0
- /package/dist/{chunk-QE3ZFGI3.js.map → chunk-EDI6SJ2N.js.map} +0 -0
- /package/dist/{chunk-E6NRSRBE.js.map → chunk-EWSOC6WF.js.map} +0 -0
- /package/dist/{chunk-TA5CFTO4.js.map → chunk-F2OPHAUN.js.map} +0 -0
- /package/dist/{chunk-5DTST3TP.js.map → chunk-F4ISQGGM.js.map} +0 -0
- /package/dist/{chunk-MBIBB6GI.js.map → chunk-FO4LYKJL.js.map} +0 -0
- /package/dist/{chunk-EUBGLFFR.js.map → chunk-FPXASDG5.js.map} +0 -0
- /package/dist/{chunk-C3HUF3M2.js.map → chunk-FVXBNBHO.js.map} +0 -0
- /package/dist/{chunk-W5MPXR3A.js.map → chunk-FZC5N55X.js.map} +0 -0
- /package/dist/{chunk-MA6O7CM6.js.map → chunk-GAVYGBFI.js.map} +0 -0
- /package/dist/{chunk-REX6JIC7.js.map → chunk-GKVJIDHF.js.map} +0 -0
- /package/dist/{chunk-EW6RNWSH.js.map → chunk-GVN5SZLX.js.map} +0 -0
- /package/dist/{chunk-KVFEZDBO.js.map → chunk-H3T7IWNA.js.map} +0 -0
- /package/dist/{chunk-I6VBHT7S.js.map → chunk-HAX4LCR5.js.map} +0 -0
- /package/dist/{chunk-OBMCZO7E.js.map → chunk-HC4JFZVU.js.map} +0 -0
- /package/dist/{chunk-UJUQ2QOX.js.map → chunk-HEFPPMBQ.js.map} +0 -0
- /package/dist/{chunk-DOFJZ2JU.js.map → chunk-HNLR7Q4Z.js.map} +0 -0
- /package/dist/{chunk-GE33BGB7.js.map → chunk-HSOXMJOT.js.map} +0 -0
- /package/dist/{chunk-AB5MBIXY.js.map → chunk-I4MRDSUF.js.map} +0 -0
- /package/dist/{chunk-AFBJTUFK.js.map → chunk-I4QEJ62Y.js.map} +0 -0
- /package/dist/{chunk-6ED2YWBT.js.map → chunk-I5B5L6Q4.js.map} +0 -0
- /package/dist/{chunk-C5QCAOES.js.map → chunk-I5QZJODL.js.map} +0 -0
- /package/dist/{chunk-76ERNKIZ.js.map → chunk-I7ITSXSJ.js.map} +0 -0
- /package/dist/{chunk-OMH7R6I3.js.map → chunk-I7XIZRFD.js.map} +0 -0
- /package/dist/{chunk-E337C2VK.js.map → chunk-IDANQPRH.js.map} +0 -0
- /package/dist/{chunk-3FD76LXM.js.map → chunk-IFB3WJ36.js.map} +0 -0
- /package/dist/{chunk-ZIT5KD4Q.js.map → chunk-IHTAKKTK.js.map} +0 -0
- /package/dist/{chunk-QHNVNR7B.js.map → chunk-ILDXWY37.js.map} +0 -0
- /package/dist/{chunk-GQ67HSJY.js.map → chunk-IMDQUHBJ.js.map} +0 -0
- /package/dist/{chunk-DSXVY5WZ.js.map → chunk-IMZCQBOT.js.map} +0 -0
- /package/dist/{chunk-WEZ5PXZP.js.map → chunk-IXPTECSC.js.map} +0 -0
- /package/dist/{chunk-NY2QWROL.js.map → chunk-J255A3N5.js.map} +0 -0
- /package/dist/{chunk-O2UWH5RG.js.map → chunk-J5F5HPPW.js.map} +0 -0
- /package/dist/{chunk-VIEFJ2DM.js.map → chunk-JEA3QDX7.js.map} +0 -0
- /package/dist/{chunk-TF4ZVJLI.js.map → chunk-JEUPAVYY.js.map} +0 -0
- /package/dist/{chunk-ZG447FSS.js.map → chunk-JKHKLL5W.js.map} +0 -0
- /package/dist/{chunk-FQFKHNC7.js.map → chunk-JQL7ZH6C.js.map} +0 -0
- /package/dist/{chunk-776QZ573.js.map → chunk-JWB44UGJ.js.map} +0 -0
- /package/dist/{chunk-ICNNNOXE.js.map → chunk-JZ4NLCAP.js.map} +0 -0
- /package/dist/{chunk-TNKWOUWP.js.map → chunk-K2A5PXQ5.js.map} +0 -0
- /package/dist/{chunk-SRFARKXC.js.map → chunk-K56XV3C3.js.map} +0 -0
- /package/dist/{chunk-QAJ53XBW.js.map → chunk-K6GAXXVA.js.map} +0 -0
- /package/dist/{chunk-MF3ZFB4H.js.map → chunk-KCBMFSMS.js.map} +0 -0
- /package/dist/{chunk-VLXM36VS.js.map → chunk-KF2FV3ZJ.js.map} +0 -0
- /package/dist/{chunk-YSVD5HI4.js.map → chunk-KJD65EJP.js.map} +0 -0
- /package/dist/{chunk-K42OUZQ3.js.map → chunk-KLEUWIMZ.js.map} +0 -0
- /package/dist/{chunk-PENGLDR5.js.map → chunk-KODELWYT.js.map} +0 -0
- /package/dist/{chunk-TZAO65I4.js.map → chunk-KRDR5RJD.js.map} +0 -0
- /package/dist/{chunk-KHJ5PXFM.js.map → chunk-KUDGXAF7.js.map} +0 -0
- /package/dist/{chunk-6H4SJBPE.js.map → chunk-KYS77RPN.js.map} +0 -0
- /package/dist/{chunk-OWAYJ2OV.js.map → chunk-L7YTNTIK.js.map} +0 -0
- /package/dist/{chunk-YYLMZLI6.js.map → chunk-LHPNABDH.js.map} +0 -0
- /package/dist/{chunk-LM2W5YAT.js.map → chunk-MFROMEKA.js.map} +0 -0
- /package/dist/{chunk-AXBSYWKX.js.map → chunk-MIHN76LX.js.map} +0 -0
- /package/dist/{chunk-4LPOWQJY.js.map → chunk-MIYFS2XN.js.map} +0 -0
- /package/dist/{chunk-KKI55ZMW.js.map → chunk-MJUCFQMS.js.map} +0 -0
- /package/dist/{chunk-ZUDOVDKR.js.map → chunk-MM4FNWI4.js.map} +0 -0
- /package/dist/{chunk-M4SDVTKJ.js.map → chunk-MNZG4OHU.js.map} +0 -0
- /package/dist/{chunk-EILSAQVJ.js.map → chunk-N6AACDUW.js.map} +0 -0
- /package/dist/{chunk-BM3NEZ6X.js.map → chunk-NC55IFN3.js.map} +0 -0
- /package/dist/{chunk-MJJGJMYJ.js.map → chunk-NC7PVOEK.js.map} +0 -0
- /package/dist/{chunk-LA5T52RM.js.map → chunk-NCYMNCJO.js.map} +0 -0
- /package/dist/{chunk-HLOEPV5C.js.map → chunk-ND2BXV3P.js.map} +0 -0
- /package/dist/{chunk-UJDOWCQ3.js.map → chunk-NDBTFUO6.js.map} +0 -0
- /package/dist/{chunk-K5TOVX5A.js.map → chunk-NDQJZ7HF.js.map} +0 -0
- /package/dist/{chunk-35737UT4.js.map → chunk-NGJJJPZZ.js.map} +0 -0
- /package/dist/{chunk-42CMQ5VR.js.map → chunk-NJTSNNE7.js.map} +0 -0
- /package/dist/{chunk-FBTJKSTM.js.map → chunk-NRTE7DNV.js.map} +0 -0
- /package/dist/{chunk-YT3WGNG6.js.map → chunk-NULUNM7H.js.map} +0 -0
- /package/dist/{chunk-7XOVTPDI.js.map → chunk-NUNZS36W.js.map} +0 -0
- /package/dist/{chunk-FC2FTSK3.js.map → chunk-NW53H5RW.js.map} +0 -0
- /package/dist/{chunk-TW3LKRJF.js.map → chunk-NXCMHIKI.js.map} +0 -0
- /package/dist/{chunk-CGK6ALQU.js.map → chunk-O3LKCBP5.js.map} +0 -0
- /package/dist/{chunk-QIK2Q6N5.js.map → chunk-O6N4ABCA.js.map} +0 -0
- /package/dist/{chunk-73NXYYWE.js.map → chunk-O732GAFC.js.map} +0 -0
- /package/dist/{chunk-R3J2PTVQ.js.map → chunk-OF4TIKYC.js.map} +0 -0
- /package/dist/{chunk-BUBNGKWG.js.map → chunk-OMPVOMPP.js.map} +0 -0
- /package/dist/{chunk-4OXI6HCV.js.map → chunk-OPJJSKUK.js.map} +0 -0
- /package/dist/{chunk-4Y6BK7IU.js.map → chunk-OPWCMA4D.js.map} +0 -0
- /package/dist/{chunk-ADNMXBCX.js.map → chunk-ORJPS5VN.js.map} +0 -0
- /package/dist/{chunk-SKMNW4SW.js.map → chunk-OSY5K7L7.js.map} +0 -0
- /package/dist/{chunk-L4I665WK.js.map → chunk-OV6QJRT4.js.map} +0 -0
- /package/dist/{chunk-7O5CGGIQ.js.map → chunk-OVKYVZMW.js.map} +0 -0
- /package/dist/{chunk-7BYWOFVH.js.map → chunk-OZCBM3UC.js.map} +0 -0
- /package/dist/{chunk-ALVRWCXE.js.map → chunk-P3A2EINJ.js.map} +0 -0
- /package/dist/{chunk-BZO5ZMUP.js.map → chunk-PTAG4PDC.js.map} +0 -0
- /package/dist/{chunk-QHHSUR2Y.js.map → chunk-PTF5B7TJ.js.map} +0 -0
- /package/dist/{chunk-O2IOPP3R.js.map → chunk-Q3DPEYX4.js.map} +0 -0
- /package/dist/{chunk-G7FU6PUA.js.map → chunk-QB2KMIDP.js.map} +0 -0
- /package/dist/{chunk-64PO2WXU.js.map → chunk-QCSJ4CWE.js.map} +0 -0
- /package/dist/{chunk-YYICQDK4.js.map → chunk-QIOQ2NPQ.js.map} +0 -0
- /package/dist/{chunk-NB2HMRT2.js.map → chunk-QK5EFEUT.js.map} +0 -0
- /package/dist/{chunk-366XZ4PM.js.map → chunk-QPQBLYQJ.js.map} +0 -0
- /package/dist/{chunk-Q6XQ2R37.js.map → chunk-QPSGCC5D.js.map} +0 -0
- /package/dist/{chunk-JJZPLGIP.js.map → chunk-QZAAUQRN.js.map} +0 -0
- /package/dist/{chunk-VGUN6VB2.js.map → chunk-RGBI63KJ.js.map} +0 -0
- /package/dist/{chunk-LRN6GYAZ.js.map → chunk-RLBKLAEY.js.map} +0 -0
- /package/dist/{chunk-F7U3QPZ3.js.map → chunk-RMFKVOM7.js.map} +0 -0
- /package/dist/{chunk-Q4EFRI6X.js.map → chunk-ROKQU7WG.js.map} +0 -0
- /package/dist/{chunk-7QOHRZ67.js.map → chunk-RPVREAU7.js.map} +0 -0
- /package/dist/{chunk-VGWWEVSD.js.map → chunk-RQKLF42C.js.map} +0 -0
- /package/dist/{chunk-2VTTKH23.js.map → chunk-SEO7TICN.js.map} +0 -0
- /package/dist/{chunk-3QNRBEYH.js.map → chunk-SHHJCL7X.js.map} +0 -0
- /package/dist/{chunk-E6SQKHAU.js.map → chunk-SIRLACNZ.js.map} +0 -0
- /package/dist/{chunk-H2TCRX3H.js.map → chunk-SKPHMYAA.js.map} +0 -0
- /package/dist/{chunk-YDCUBUWH.js.map → chunk-SODC7T6L.js.map} +0 -0
- /package/dist/{chunk-TNYFHKVV.js.map → chunk-SQJIKMN3.js.map} +0 -0
- /package/dist/{chunk-DO74DQC7.js.map → chunk-SVINDKVW.js.map} +0 -0
- /package/dist/{chunk-CPYGO76Q.js.map → chunk-SYCDHPZF.js.map} +0 -0
- /package/dist/{chunk-UQ3IM6FY.js.map → chunk-T2QX3FDP.js.map} +0 -0
- /package/dist/{chunk-NWGNFN3N.js.map → chunk-T3OWFVMS.js.map} +0 -0
- /package/dist/{chunk-N3OARGH2.js.map → chunk-T6XI5FLY.js.map} +0 -0
- /package/dist/{chunk-MQG7RV3B.js.map → chunk-T7OXJZCX.js.map} +0 -0
- /package/dist/{chunk-2T7DX6KR.js.map → chunk-TAT5USZN.js.map} +0 -0
- /package/dist/{chunk-ICX64J4U.js.map → chunk-TPQTRNER.js.map} +0 -0
- /package/dist/{chunk-D2TOWEYH.js.map → chunk-TUIN4MB7.js.map} +0 -0
- /package/dist/{chunk-LQDUHU3Y.js.map → chunk-TX3VECZU.js.map} +0 -0
- /package/dist/{chunk-TG7DADJR.js.map → chunk-TXLIEOJX.js.map} +0 -0
- /package/dist/{chunk-2ZVRJRXC.js.map → chunk-U3DN4HEY.js.map} +0 -0
- /package/dist/{chunk-PSMAWRPL.js.map → chunk-U7XM7CB4.js.map} +0 -0
- /package/dist/{chunk-4TQL3WP2.js.map → chunk-UJK53QFL.js.map} +0 -0
- /package/dist/{chunk-RBRX5ZS3.js.map → chunk-UMTXA2TH.js.map} +0 -0
- /package/dist/{chunk-36MIDGAH.js.map → chunk-UPDSXFK5.js.map} +0 -0
- /package/dist/{chunk-OYXBFSGK.js.map → chunk-UTIAXH52.js.map} +0 -0
- /package/dist/{chunk-5WUN7XPD.js.map → chunk-UVN5TMHU.js.map} +0 -0
- /package/dist/{chunk-UYE47LO6.js.map → chunk-VGYXW3VG.js.map} +0 -0
- /package/dist/{chunk-IKUNOX7F.js.map → chunk-VS7AHPCZ.js.map} +0 -0
- /package/dist/{chunk-MYUFMVCH.js.map → chunk-VTTAJOQ7.js.map} +0 -0
- /package/dist/{chunk-K63HGHZX.js.map → chunk-VWPOLUAO.js.map} +0 -0
- /package/dist/{chunk-GA4YEAMX.js.map → chunk-X3MWB2QU.js.map} +0 -0
- /package/dist/{chunk-I36GSRUJ.js.map → chunk-X6KAJI3V.js.map} +0 -0
- /package/dist/{chunk-IKMUFDVS.js.map → chunk-XBLRHV5R.js.map} +0 -0
- /package/dist/{chunk-XOSQP3YA.js.map → chunk-XDFP2LMW.js.map} +0 -0
- /package/dist/{chunk-MW7Y3T55.js.map → chunk-XEQMZB3C.js.map} +0 -0
- /package/dist/{chunk-B3LMRTRF.js.map → chunk-XEYLT5VA.js.map} +0 -0
- /package/dist/{chunk-UI4HI5QK.js.map → chunk-XHIQ5I6N.js.map} +0 -0
- /package/dist/{chunk-U6M4LS3M.js.map → chunk-XLH7QY2R.js.map} +0 -0
- /package/dist/{chunk-OSA5EQG5.js.map → chunk-XWFAMUZQ.js.map} +0 -0
- /package/dist/{chunk-6MT3HHUB.js.map → chunk-Y4OBB2VN.js.map} +0 -0
- /package/dist/{chunk-CZP5QXNB.js.map → chunk-YCVD6CI3.js.map} +0 -0
- /package/dist/{chunk-APW4T4SW.js.map → chunk-YENLNISG.js.map} +0 -0
- /package/dist/{chunk-JWPA6ZPZ.js.map → chunk-YIRVLKAX.js.map} +0 -0
- /package/dist/{chunk-LQ62ECE6.js.map → chunk-YL73CVNK.js.map} +0 -0
- /package/dist/{chunk-ILKDYBON.js.map → chunk-YLS6QE5G.js.map} +0 -0
- /package/dist/{chunk-YBKVGLQR.js.map → chunk-YPWU5KPE.js.map} +0 -0
- /package/dist/{chunk-IKJLSBUI.js.map → chunk-YQXTDZSU.js.map} +0 -0
- /package/dist/{chunk-TPMZBOFH.js.map → chunk-YSJEAAOL.js.map} +0 -0
- /package/dist/{chunk-W3BFRR2G.js.map → chunk-YWIFM7D7.js.map} +0 -0
- /package/dist/{chunk-WTJ4PLMU.js.map → chunk-YWVI6ZMK.js.map} +0 -0
- /package/dist/{chunk-5KWMYPJV.js.map → chunk-Z4FMAFNH.js.map} +0 -0
- /package/dist/{chunk-W5OWKVZG.js.map → chunk-Z654FWNU.js.map} +0 -0
- /package/dist/{chunk-5FH5LQVS.js.map → chunk-Z7Y523PS.js.map} +0 -0
- /package/dist/{chunk-HLL4PBO7.js.map → chunk-ZD67RM6G.js.map} +0 -0
- /package/dist/{chunk-IVYJX3OY.js.map → chunk-ZEG4VPBL.js.map} +0 -0
- /package/dist/{chunk-K6R5T44I.js.map → chunk-ZLYCOBHW.js.map} +0 -0
- /package/dist/{chunk-VADHIT26.js.map → chunk-ZNJ5MTXV.js.map} +0 -0
- /package/dist/{chunk-2KYQC4T5.js.map → chunk-ZSGY3H53.js.map} +0 -0
- /package/dist/{chunk-BKP43KK4.js.map → chunk-ZTPXACWB.js.map} +0 -0
- /package/dist/{chunk-JCY4CMDH.js.map → chunk-ZUA3JMI6.js.map} +0 -0
- /package/dist/{chunk-IGVVXLKJ.js.map → chunk-ZYAZUPPV.js.map} +0 -0
- /package/dist/{computer-viewer-LPZ763KF.js.map → computer-viewer-TDDO25AV.js.map} +0 -0
- /package/dist/{embedded-new-voice-YVMKSLKJ.js.map → embedded-new-voice-2G3VLPVQ.js.map} +0 -0
- /package/dist/{embedded-voice-BJPQFXSU.js.map → embedded-voice-T5IWOWGD.js.map} +0 -0
- /package/dist/{fleet-decision-row-AA4H5CDT.js.map → fleet-decision-row-WM64KXP3.js.map} +0 -0
- /package/dist/{model-policy-picker-menu-HSMWVO4P.js.map → model-policy-picker-menu-SMC6J6QN.js.map} +0 -0
- /package/dist/{payment-page-card-3LTSFJGN.js.map → payment-page-card-G4U63KUV.js.map} +0 -0
- /package/dist/{platform-activity-row-5VYV6TX4.js.map → platform-activity-row-BUZGZAKZ.js.map} +0 -0
- /package/dist/{queue-surface-implementation-NXHZUKD2.js.map → queue-surface-implementation-4KUZ4PJV.js.map} +0 -0
- /package/dist/{sandbox-files-YCMLQUFU.js.map → sandbox-files-ESDMOFSD.js.map} +0 -0
- /package/dist/{session-connect-cards-KSQLMRM5.js.map → session-connect-cards-Q53KMMYY.js.map} +0 -0
- /package/dist/{session-realtime-ZR6JLG3Y.js.map → session-realtime-CF3I35WJ.js.map} +0 -0
- /package/dist/{timeline-annotation-markers-YAHDPWVG.js.map → timeline-annotation-markers-CJK4RYZ4.js.map} +0 -0
- /package/dist/{timeline-annotation-selection-KHXNCEJP.js.map → timeline-annotation-selection-67GF5H26.js.map} +0 -0
- /package/dist/{timeline-annotations-dialog-Y4XD3N7B.js.map → timeline-annotations-dialog-ONJPQDJQ.js.map} +0 -0
|
@@ -2,30 +2,32 @@
|
|
|
2
2
|
import {
|
|
3
3
|
DiffView,
|
|
4
4
|
failedLoadParts
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-K56XV3C3.js";
|
|
6
6
|
import {
|
|
7
7
|
MetaChip
|
|
8
8
|
} from "../chunk-SS3N75VI.js";
|
|
9
9
|
import "../chunk-X6WZOHBI.js";
|
|
10
10
|
import {
|
|
11
11
|
ErrorMessage
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
12
|
+
} from "../chunk-IKXNLWAL.js";
|
|
13
|
+
import "../chunk-O4OOG3D6.js";
|
|
14
14
|
import {
|
|
15
15
|
Skeleton
|
|
16
16
|
} from "../chunk-HJO32O7Z.js";
|
|
17
17
|
import {
|
|
18
18
|
InlineDisabledReason
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-3CPWWGNK.js";
|
|
20
20
|
import {
|
|
21
21
|
RelativeTime
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-53AGXXZM.js";
|
|
23
23
|
import "../chunk-5OTQA7CM.js";
|
|
24
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-MVW6HNPI.js";
|
|
25
25
|
import "../chunk-ZMBJPN4T.js";
|
|
26
26
|
import {
|
|
27
27
|
DisabledReason
|
|
28
28
|
} from "../chunk-UX3XHFRX.js";
|
|
29
|
+
import "../chunk-V4Z4B2E3.js";
|
|
30
|
+
import "../chunk-FYWT2O76.js";
|
|
29
31
|
import "../chunk-USG4XNMA.js";
|
|
30
32
|
import {
|
|
31
33
|
Button
|
|
@@ -36,7 +38,7 @@ import "../chunk-XEA5BCMA.js";
|
|
|
36
38
|
import {
|
|
37
39
|
cn
|
|
38
40
|
} from "../chunk-TXS65BB2.js";
|
|
39
|
-
import "../chunk-
|
|
41
|
+
import "../chunk-7T2ZE3VT.js";
|
|
40
42
|
|
|
41
43
|
// src/ui/revision-history.tsx
|
|
42
44
|
import { useId, useState } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/revision-history.tsx"],"sourcesContent":["/* ----------------------------------------------------------------------------\n RevisionHistory - every saved version of a text, what each one changed, and\n Restore. Shared by knowledge entries, workspace instructions and\n organization identity.\n\n Restoring never deletes anything: it saves the old text as a new version,\n so it's reversible and confirms with a toast and Undo, not a dialog.\n\n Layouts:\n - \"stacked\" (default): a timeline; each version opens in place to show its\n changes. Fits a 520px sheet.\n - \"split\": versions on the left, the selected version's changes on the\n right. For pages and wide sheets.\n -------------------------------------------------------------------------- */\n\nimport { useId, useState, type ReactNode } from \"react\";\nimport { ChevronRightIcon, LoaderCircleIcon, RotateCcwIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/cn\";\nimport { Button } from \"./button\";\nimport { DiffView, failedLoadParts, type DiffFormat, type FailedLoad } from \"./diff-view\";\nimport { DisabledReason } from \"./disabled-reason\";\nimport { ErrorMessage } from \"./error-message\";\nimport { MetaChip } from \"./meta-chip\";\nimport { RelativeTime } from \"./relative-time\";\nimport { InlineDisabledReason } from \"./select-menu\";\nimport { Skeleton } from \"./skeleton\";\n\nexport interface Revision {\n id: string;\n /** Who saved it: a person, or \"Opengeni\" for an approved agent change. */\n author: string;\n /** When, as an ISO time. Shown as \"3 days ago\" with the exact time on hover. */\n createdAt?: string | undefined;\n /** Or a ready label, when there's no timestamp: \"Created 18 Sep\". */\n createdLabel?: string | undefined;\n /** One line: \"Added: Prefer small PRs.\" */\n summary: string;\n /** The full text of this version. */\n content: string;\n}\n\nexport type RevisionHistoryLayout = \"stacked\" | \"split\";\n\nexport interface RevisionHistoryProps {\n /** Newest first. The first one is the current version. */\n revisions: readonly Revision[];\n layout?: RevisionHistoryLayout | undefined;\n format?: DiffFormat | undefined;\n /** Restores a version by saving it again as the newest. Return a promise for the saving state. */\n onRestore?: ((revision: Revision) => void | Promise<unknown>) | undefined;\n /** Why versions can't be restored here, and who can. */\n restoreDisabledReason?: string | undefined;\n /** Which version starts open (stacked) or selected (split). Defaults to the newest. */\n defaultRevisionId?: string | undefined;\n /** The clock for \"3 days ago\". */\n now?: Date | undefined;\n /** Accessible name: \"Workspace instructions history\". */\n label?: string | undefined;\n loading?: boolean | undefined;\n /** What happened, what to do next, and an optional retry. */\n error?: FailedLoad | undefined;\n className?: string | undefined;\n}\n\n/** The text a version replaced: the one saved right before it, or nothing for the first. */\nexport function previousContent(revisions: readonly Revision[], index: number): string {\n return revisions[index + 1]?.content ?? \"\";\n}\n\nfunction When({ revision, now }: { revision: Revision; now?: Date | undefined }) {\n if (revision.createdAt) {\n return <RelativeTime date={revision.createdAt} now={now} focusable={false} />;\n }\n return <span>{revision.createdLabel}</span>;\n}\n\nfunction RestoreButton({\n revision,\n onRestore,\n disabledReason,\n}: {\n revision: Revision;\n onRestore?: ((revision: Revision) => void | Promise<unknown>) | undefined;\n disabledReason?: string | undefined;\n}) {\n const [pending, setPending] = useState(false);\n if (!onRestore) return null;\n const restore = async () => {\n const result = onRestore(revision);\n if (result && typeof (result as Promise<unknown>).then === \"function\") {\n setPending(true);\n try {\n await result;\n } finally {\n setPending(false);\n }\n }\n };\n // Not allowed: still focusable, and the reason shows on hover, focus and tap.\n return (\n <DisabledReason reason={disabledReason ?? \"\"} disabled={Boolean(disabledReason)}>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n disabled={pending}\n aria-label={`Restore this version: ${revision.summary}`}\n onClick={() => void restore()}\n className=\"shrink-0 pointer-coarse:min-h-11\"\n >\n {pending ? (\n <LoaderCircleIcon aria-hidden=\"true\" className=\"motion-safe:animate-spin\" />\n ) : (\n <RotateCcwIcon aria-hidden=\"true\" />\n )}\n {pending ? \"Restoring…\" : \"Restore\"}\n </Button>\n </DisabledReason>\n );\n}\n\n/** \"Current\" is a fact about the version, not a health status: a quiet chip. */\nfunction CurrentTag() {\n return <MetaChip variant=\"outline\">Current</MetaChip>;\n}\n\nfunction Stacked({\n revisions,\n format,\n onRestore,\n restoreDisabledReason,\n defaultRevisionId,\n now,\n}: RevisionHistoryProps & { format: DiffFormat }) {\n const [open, setOpen] = useState<Set<string>>(\n () => new Set([defaultRevisionId ?? revisions[0]?.id ?? \"\"]),\n );\n const baseId = useId();\n const toggle = (id: string) =>\n setOpen((current) => {\n const next = new Set(current);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n return next;\n });\n\n return (\n <ol className=\"flex min-w-0 flex-col\">\n {revisions.map((revision, index) => {\n const isOpen = open.has(revision.id);\n const current = index === 0;\n const last = index === revisions.length - 1;\n const panelId = `${baseId}-${index}`;\n return (\n <li\n key={revision.id}\n className=\"relative grid min-w-0 grid-cols-[1.25rem_minmax(0,1fr)] gap-x-3\"\n >\n {/* The timeline: a dot per version, joined by a line. */}\n <span aria-hidden=\"true\" className=\"relative flex justify-center\">\n <span\n className={cn(\n \"relative z-10 mt-[18px] size-2.5 rounded-full border-2\",\n current ? \"border-brand bg-brand\" : \"border-border-strong bg-surface\",\n )}\n />\n {!last ? <span className=\"absolute top-[30px] bottom-0 w-px bg-border\" /> : null}\n {index > 0 ? <span className=\"absolute top-0 h-[18px] w-px bg-border\" /> : null}\n </span>\n <div className={cn(\"min-w-0\", !last && \"pb-2\")}>\n <div className=\"flex min-w-0 items-start gap-3 py-2\">\n <button\n type=\"button\"\n aria-expanded={isOpen}\n aria-controls={panelId}\n onClick={() => toggle(revision.id)}\n className=\"group/rev -mx-2 flex min-w-0 flex-1 items-start gap-2 rounded-[10px] px-2 py-1 text-left transition-colors duration-[120ms] hover:bg-surface-2 pointer-coarse:min-h-11\"\n >\n <ChevronRightIcon\n aria-hidden=\"true\"\n className={cn(\n \"mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform duration-[120ms]\",\n isOpen && \"rotate-90\",\n )}\n />\n <span className=\"min-w-0\">\n <span className=\"block text-sm font-medium text-fg\">{revision.summary}</span>\n <span className=\"block text-xs leading-4.5 text-fg-muted\">\n {revision.author} · <When revision={revision} now={now} />\n </span>\n </span>\n </button>\n <div className=\"flex shrink-0 items-center pt-1\">\n {current ? (\n <CurrentTag />\n ) : (\n <RestoreButton\n revision={revision}\n onRestore={onRestore}\n disabledReason={restoreDisabledReason}\n />\n )}\n </div>\n </div>\n {isOpen ? (\n <div id={panelId} className=\"pb-2 pl-6\">\n <DiffView\n before={previousContent(revisions, index)}\n after={revision.content}\n format={format}\n size=\"sm\"\n hideStats\n label={`Changes in: ${revision.summary}`}\n />\n </div>\n ) : null}\n </div>\n </li>\n );\n })}\n </ol>\n );\n}\n\nfunction Split({\n revisions,\n format,\n onRestore,\n restoreDisabledReason,\n defaultRevisionId,\n now,\n}: RevisionHistoryProps & { format: DiffFormat }) {\n const [selectedId, setSelectedId] = useState(defaultRevisionId ?? revisions[0]?.id);\n const index = Math.max(\n 0,\n revisions.findIndex((revision) => revision.id === selectedId),\n );\n const selected = revisions[index];\n const listId = useId();\n return (\n <div className=\"grid min-w-0 gap-4 @2xl/history:grid-cols-[15rem_minmax(0,1fr)]\">\n <div\n role=\"listbox\"\n id={listId}\n aria-label=\"Versions\"\n aria-orientation=\"vertical\"\n className=\"flex min-w-0 flex-col gap-0.5\"\n onKeyDown={(event) => {\n if (event.key !== \"ArrowDown\" && event.key !== \"ArrowUp\") return;\n event.preventDefault();\n const next = Math.min(\n revisions.length - 1,\n Math.max(0, index + (event.key === \"ArrowDown\" ? 1 : -1)),\n );\n setSelectedId(revisions[next]!.id);\n (event.currentTarget.children[next] as HTMLElement | undefined)?.focus();\n }}\n >\n {revisions.map((revision, at) => {\n const active = at === index;\n return (\n <div\n key={revision.id}\n role=\"option\"\n aria-selected={active}\n tabIndex={active ? 0 : -1}\n onClick={() => setSelectedId(revision.id)}\n onKeyDown={(event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n setSelectedId(revision.id);\n }\n }}\n className={cn(\n \"relative min-w-0 cursor-pointer rounded-[10px] px-3 py-2 transition-colors duration-[120ms] pointer-coarse:min-h-11\",\n active ? \"bg-surface-2\" : \"hover:bg-surface-2/70\",\n )}\n >\n {active ? (\n // The selected marker every list uses (ListRow, nav): 2 x 16px brand bar.\n <span\n aria-hidden=\"true\"\n className=\"absolute top-1/2 left-0 h-4 w-0.5 -translate-y-1/2 rounded-full bg-brand\"\n />\n ) : null}\n <span className=\"flex min-w-0 items-center gap-2\">\n <span className=\"min-w-0 truncate text-sm font-medium text-fg\">\n {revision.summary}\n </span>\n </span>\n <span className=\"block truncate text-xs leading-4.5 text-fg-muted\">\n {revision.author} · <When revision={revision} now={now} />\n {at === 0 ? \" · Current\" : \"\"}\n </span>\n </div>\n );\n })}\n </div>\n {selected ? (\n <DiffView\n before={previousContent(revisions, index)}\n after={selected.content}\n format={format}\n title={selected.summary}\n meta={\n <>\n {selected.author} · <When revision={selected} now={now} />\n </>\n }\n actions={\n index === 0 ? (\n <CurrentTag />\n ) : (\n <RestoreButton\n revision={selected}\n onRestore={onRestore}\n disabledReason={restoreDisabledReason}\n />\n )\n }\n />\n ) : null}\n </div>\n );\n}\n\n/** Every saved version of a text, what each changed, and Restore. */\nexport function RevisionHistory(props: RevisionHistoryProps) {\n const {\n layout = \"stacked\",\n format = \"markdown\",\n revisions,\n restoreDisabledReason,\n loading,\n error,\n label = \"History\",\n className,\n } = props;\n let body: ReactNode;\n if (loading) {\n body = (\n <div aria-hidden=\"true\" className=\"flex flex-col gap-4 py-2\">\n {[0, 1, 2].map((row) => (\n <div key={row} className=\"flex items-center gap-3\">\n <Skeleton className=\"size-2.5 rounded-full bg-surface-3\" />\n <div className=\"flex flex-1 flex-col gap-1.5\">\n <Skeleton className=\"h-3.5 w-48 max-w-[70%] rounded-full bg-surface-3\" />\n <Skeleton className=\"h-3 w-32 max-w-[50%] rounded-full bg-surface-3\" />\n </div>\n </div>\n ))}\n </div>\n );\n } else if (error) {\n const failure = failedLoadParts(error);\n body = (\n <ErrorMessage\n title={error.message}\n details={failure.details}\n action={\n error.onRetry ? (\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n onClick={error.onRetry}\n className=\"pointer-coarse:min-h-11\"\n >\n Try again\n </Button>\n ) : undefined\n }\n >\n {failure.detail}\n </ErrorMessage>\n );\n } else if (revisions.length === 0) {\n body = <p className=\"text-sm text-fg-muted\">No versions yet. Saving creates the first one.</p>;\n } else {\n body =\n layout === \"split\" ? (\n <Split {...props} format={format} />\n ) : (\n <Stacked {...props} format={format} />\n );\n }\n return (\n <section\n aria-label={label}\n aria-busy={loading || undefined}\n data-layout={layout}\n className={cn(\"@container/history min-w-0\", className)}\n >\n {body}\n {restoreDisabledReason && !loading && !error && revisions.length > 1 ? (\n <div className=\"mt-3\">\n <InlineDisabledReason>{restoreDisabledReason}</InlineDisabledReason>\n </div>\n ) : null}\n </section>\n );\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/ui/revision-history.tsx"],"sourcesContent":["/* ----------------------------------------------------------------------------\n RevisionHistory - every saved version of a text, what each one changed, and\n Restore. Shared by knowledge entries, workspace instructions and\n organization identity.\n\n Restoring never deletes anything: it saves the old text as a new version,\n so it's reversible and confirms with a toast and Undo, not a dialog.\n\n Layouts:\n - \"stacked\" (default): a timeline; each version opens in place to show its\n changes. Fits a 520px sheet.\n - \"split\": versions on the left, the selected version's changes on the\n right. For pages and wide sheets.\n -------------------------------------------------------------------------- */\n\nimport { useId, useState, type ReactNode } from \"react\";\nimport { ChevronRightIcon, LoaderCircleIcon, RotateCcwIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/cn\";\nimport { Button } from \"./button\";\nimport { DiffView, failedLoadParts, type DiffFormat, type FailedLoad } from \"./diff-view\";\nimport { DisabledReason } from \"./disabled-reason\";\nimport { ErrorMessage } from \"./error-message\";\nimport { MetaChip } from \"./meta-chip\";\nimport { RelativeTime } from \"./relative-time\";\nimport { InlineDisabledReason } from \"./select-menu\";\nimport { Skeleton } from \"./skeleton\";\n\nexport interface Revision {\n id: string;\n /** Who saved it: a person, or \"Opengeni\" for an approved agent change. */\n author: string;\n /** When, as an ISO time. Shown as \"3 days ago\" with the exact time on hover. */\n createdAt?: string | undefined;\n /** Or a ready label, when there's no timestamp: \"Created 18 Sep\". */\n createdLabel?: string | undefined;\n /** One line: \"Added: Prefer small PRs.\" */\n summary: string;\n /** The full text of this version. */\n content: string;\n}\n\nexport type RevisionHistoryLayout = \"stacked\" | \"split\";\n\nexport interface RevisionHistoryProps {\n /** Newest first. The first one is the current version. */\n revisions: readonly Revision[];\n layout?: RevisionHistoryLayout | undefined;\n format?: DiffFormat | undefined;\n /** Restores a version by saving it again as the newest. Return a promise for the saving state. */\n onRestore?: ((revision: Revision) => void | Promise<unknown>) | undefined;\n /** Why versions can't be restored here, and who can. */\n restoreDisabledReason?: string | undefined;\n /** Which version starts open (stacked) or selected (split). Defaults to the newest. */\n defaultRevisionId?: string | undefined;\n /** The clock for \"3 days ago\". */\n now?: Date | undefined;\n /** Accessible name: \"Workspace instructions history\". */\n label?: string | undefined;\n loading?: boolean | undefined;\n /** What happened, what to do next, and an optional retry. */\n error?: FailedLoad | undefined;\n className?: string | undefined;\n}\n\n/** The text a version replaced: the one saved right before it, or nothing for the first. */\nexport function previousContent(revisions: readonly Revision[], index: number): string {\n return revisions[index + 1]?.content ?? \"\";\n}\n\nfunction When({ revision, now }: { revision: Revision; now?: Date | undefined }) {\n if (revision.createdAt) {\n return <RelativeTime date={revision.createdAt} now={now} focusable={false} />;\n }\n return <span>{revision.createdLabel}</span>;\n}\n\nfunction RestoreButton({\n revision,\n onRestore,\n disabledReason,\n}: {\n revision: Revision;\n onRestore?: ((revision: Revision) => void | Promise<unknown>) | undefined;\n disabledReason?: string | undefined;\n}) {\n const [pending, setPending] = useState(false);\n if (!onRestore) return null;\n const restore = async () => {\n const result = onRestore(revision);\n if (result && typeof (result as Promise<unknown>).then === \"function\") {\n setPending(true);\n try {\n await result;\n } finally {\n setPending(false);\n }\n }\n };\n // Not allowed: still focusable, and the reason shows on hover, focus and tap.\n return (\n <DisabledReason reason={disabledReason ?? \"\"} disabled={Boolean(disabledReason)}>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n disabled={pending}\n aria-label={`Restore this version: ${revision.summary}`}\n onClick={() => void restore()}\n className=\"shrink-0 pointer-coarse:min-h-11\"\n >\n {pending ? (\n <LoaderCircleIcon aria-hidden=\"true\" className=\"motion-safe:animate-spin\" />\n ) : (\n <RotateCcwIcon aria-hidden=\"true\" />\n )}\n {pending ? \"Restoring…\" : \"Restore\"}\n </Button>\n </DisabledReason>\n );\n}\n\n/** \"Current\" is a fact about the version, not a health status: a quiet chip. */\nfunction CurrentTag() {\n return <MetaChip variant=\"outline\">Current</MetaChip>;\n}\n\nfunction Stacked({\n revisions,\n format,\n onRestore,\n restoreDisabledReason,\n defaultRevisionId,\n now,\n}: RevisionHistoryProps & { format: DiffFormat }) {\n const [open, setOpen] = useState<Set<string>>(\n () => new Set([defaultRevisionId ?? revisions[0]?.id ?? \"\"]),\n );\n const baseId = useId();\n const toggle = (id: string) =>\n setOpen((current) => {\n const next = new Set(current);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n return next;\n });\n\n return (\n <ol className=\"flex min-w-0 flex-col\">\n {revisions.map((revision, index) => {\n const isOpen = open.has(revision.id);\n const current = index === 0;\n const last = index === revisions.length - 1;\n const panelId = `${baseId}-${index}`;\n return (\n <li\n key={revision.id}\n className=\"relative grid min-w-0 grid-cols-[1.25rem_minmax(0,1fr)] gap-x-3\"\n >\n {/* The timeline: a dot per version, joined by a line. */}\n <span aria-hidden=\"true\" className=\"relative flex justify-center\">\n <span\n className={cn(\n \"relative z-10 mt-[18px] size-2.5 rounded-full border-2\",\n current ? \"border-brand bg-brand\" : \"border-border-strong bg-surface\",\n )}\n />\n {!last ? <span className=\"absolute top-[30px] bottom-0 w-px bg-border\" /> : null}\n {index > 0 ? <span className=\"absolute top-0 h-[18px] w-px bg-border\" /> : null}\n </span>\n <div className={cn(\"min-w-0\", !last && \"pb-2\")}>\n <div className=\"flex min-w-0 items-start gap-3 py-2\">\n <button\n type=\"button\"\n aria-expanded={isOpen}\n aria-controls={panelId}\n onClick={() => toggle(revision.id)}\n className=\"group/rev -mx-2 flex min-w-0 flex-1 items-start gap-2 rounded-[10px] px-2 py-1 text-left transition-colors duration-[120ms] hover:bg-surface-2 pointer-coarse:min-h-11\"\n >\n <ChevronRightIcon\n aria-hidden=\"true\"\n className={cn(\n \"mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform duration-[120ms]\",\n isOpen && \"rotate-90\",\n )}\n />\n <span className=\"min-w-0\">\n <span className=\"block text-sm font-medium text-fg\">{revision.summary}</span>\n <span className=\"block text-xs leading-4.5 text-fg-muted\">\n {revision.author} · <When revision={revision} now={now} />\n </span>\n </span>\n </button>\n <div className=\"flex shrink-0 items-center pt-1\">\n {current ? (\n <CurrentTag />\n ) : (\n <RestoreButton\n revision={revision}\n onRestore={onRestore}\n disabledReason={restoreDisabledReason}\n />\n )}\n </div>\n </div>\n {isOpen ? (\n <div id={panelId} className=\"pb-2 pl-6\">\n <DiffView\n before={previousContent(revisions, index)}\n after={revision.content}\n format={format}\n size=\"sm\"\n hideStats\n label={`Changes in: ${revision.summary}`}\n />\n </div>\n ) : null}\n </div>\n </li>\n );\n })}\n </ol>\n );\n}\n\nfunction Split({\n revisions,\n format,\n onRestore,\n restoreDisabledReason,\n defaultRevisionId,\n now,\n}: RevisionHistoryProps & { format: DiffFormat }) {\n const [selectedId, setSelectedId] = useState(defaultRevisionId ?? revisions[0]?.id);\n const index = Math.max(\n 0,\n revisions.findIndex((revision) => revision.id === selectedId),\n );\n const selected = revisions[index];\n const listId = useId();\n return (\n <div className=\"grid min-w-0 gap-4 @2xl/history:grid-cols-[15rem_minmax(0,1fr)]\">\n <div\n role=\"listbox\"\n id={listId}\n aria-label=\"Versions\"\n aria-orientation=\"vertical\"\n className=\"flex min-w-0 flex-col gap-0.5\"\n onKeyDown={(event) => {\n if (event.key !== \"ArrowDown\" && event.key !== \"ArrowUp\") return;\n event.preventDefault();\n const next = Math.min(\n revisions.length - 1,\n Math.max(0, index + (event.key === \"ArrowDown\" ? 1 : -1)),\n );\n setSelectedId(revisions[next]!.id);\n (event.currentTarget.children[next] as HTMLElement | undefined)?.focus();\n }}\n >\n {revisions.map((revision, at) => {\n const active = at === index;\n return (\n <div\n key={revision.id}\n role=\"option\"\n aria-selected={active}\n tabIndex={active ? 0 : -1}\n onClick={() => setSelectedId(revision.id)}\n onKeyDown={(event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n setSelectedId(revision.id);\n }\n }}\n className={cn(\n \"relative min-w-0 cursor-pointer rounded-[10px] px-3 py-2 transition-colors duration-[120ms] pointer-coarse:min-h-11\",\n active ? \"bg-surface-2\" : \"hover:bg-surface-2/70\",\n )}\n >\n {active ? (\n // The selected marker every list uses (ListRow, nav): 2 x 16px brand bar.\n <span\n aria-hidden=\"true\"\n className=\"absolute top-1/2 left-0 h-4 w-0.5 -translate-y-1/2 rounded-full bg-brand\"\n />\n ) : null}\n <span className=\"flex min-w-0 items-center gap-2\">\n <span className=\"min-w-0 truncate text-sm font-medium text-fg\">\n {revision.summary}\n </span>\n </span>\n <span className=\"block truncate text-xs leading-4.5 text-fg-muted\">\n {revision.author} · <When revision={revision} now={now} />\n {at === 0 ? \" · Current\" : \"\"}\n </span>\n </div>\n );\n })}\n </div>\n {selected ? (\n <DiffView\n before={previousContent(revisions, index)}\n after={selected.content}\n format={format}\n title={selected.summary}\n meta={\n <>\n {selected.author} · <When revision={selected} now={now} />\n </>\n }\n actions={\n index === 0 ? (\n <CurrentTag />\n ) : (\n <RestoreButton\n revision={selected}\n onRestore={onRestore}\n disabledReason={restoreDisabledReason}\n />\n )\n }\n />\n ) : null}\n </div>\n );\n}\n\n/** Every saved version of a text, what each changed, and Restore. */\nexport function RevisionHistory(props: RevisionHistoryProps) {\n const {\n layout = \"stacked\",\n format = \"markdown\",\n revisions,\n restoreDisabledReason,\n loading,\n error,\n label = \"History\",\n className,\n } = props;\n let body: ReactNode;\n if (loading) {\n body = (\n <div aria-hidden=\"true\" className=\"flex flex-col gap-4 py-2\">\n {[0, 1, 2].map((row) => (\n <div key={row} className=\"flex items-center gap-3\">\n <Skeleton className=\"size-2.5 rounded-full bg-surface-3\" />\n <div className=\"flex flex-1 flex-col gap-1.5\">\n <Skeleton className=\"h-3.5 w-48 max-w-[70%] rounded-full bg-surface-3\" />\n <Skeleton className=\"h-3 w-32 max-w-[50%] rounded-full bg-surface-3\" />\n </div>\n </div>\n ))}\n </div>\n );\n } else if (error) {\n const failure = failedLoadParts(error);\n body = (\n <ErrorMessage\n title={error.message}\n details={failure.details}\n action={\n error.onRetry ? (\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n onClick={error.onRetry}\n className=\"pointer-coarse:min-h-11\"\n >\n Try again\n </Button>\n ) : undefined\n }\n >\n {failure.detail}\n </ErrorMessage>\n );\n } else if (revisions.length === 0) {\n body = <p className=\"text-sm text-fg-muted\">No versions yet. Saving creates the first one.</p>;\n } else {\n body =\n layout === \"split\" ? (\n <Split {...props} format={format} />\n ) : (\n <Stacked {...props} format={format} />\n );\n }\n return (\n <section\n aria-label={label}\n aria-busy={loading || undefined}\n data-layout={layout}\n className={cn(\"@container/history min-w-0\", className)}\n >\n {body}\n {restoreDisabledReason && !loading && !error && revisions.length > 1 ? (\n <div className=\"mt-3\">\n <InlineDisabledReason>{restoreDisabledReason}</InlineDisabledReason>\n </div>\n ) : null}\n </section>\n );\n}\n"],"mappings":"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","names":[]}
|
package/dist/ui/role-select.js
CHANGED
|
@@ -4,25 +4,27 @@ import {
|
|
|
4
4
|
RoleSelect,
|
|
5
5
|
needsEscalationConfirm,
|
|
6
6
|
roleLabel
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-I7XIZRFD.js";
|
|
8
|
+
import "../chunk-ZYAZUPPV.js";
|
|
9
|
+
import "../chunk-IKXNLWAL.js";
|
|
10
|
+
import "../chunk-O4OOG3D6.js";
|
|
11
11
|
import "../chunk-HJO32O7Z.js";
|
|
12
12
|
import "../chunk-HD5X76TP.js";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-3CPWWGNK.js";
|
|
14
14
|
import "../chunk-5OTQA7CM.js";
|
|
15
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-MVW6HNPI.js";
|
|
16
16
|
import "../chunk-ZMBJPN4T.js";
|
|
17
17
|
import "../chunk-UX3XHFRX.js";
|
|
18
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-FSOQDUCG.js";
|
|
19
|
+
import "../chunk-V4Z4B2E3.js";
|
|
20
|
+
import "../chunk-FYWT2O76.js";
|
|
19
21
|
import "../chunk-USG4XNMA.js";
|
|
20
22
|
import "../chunk-7QQN3KNP.js";
|
|
21
23
|
import "../chunk-EDYVC3U3.js";
|
|
22
24
|
import "../chunk-UD6AAZSC.js";
|
|
23
25
|
import "../chunk-XEA5BCMA.js";
|
|
24
26
|
import "../chunk-TXS65BB2.js";
|
|
25
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-7T2ZE3VT.js";
|
|
26
28
|
export {
|
|
27
29
|
CUSTOM_ROLE_LABEL,
|
|
28
30
|
RoleSelect,
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
SegmentedControl
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-RGBI63KJ.js";
|
|
5
|
+
import "../chunk-YNF2OC54.js";
|
|
6
6
|
import "../chunk-UX3XHFRX.js";
|
|
7
|
+
import "../chunk-V4Z4B2E3.js";
|
|
8
|
+
import "../chunk-FYWT2O76.js";
|
|
7
9
|
import "../chunk-UD6AAZSC.js";
|
|
8
10
|
import "../chunk-XEA5BCMA.js";
|
|
9
11
|
import "../chunk-TXS65BB2.js";
|
package/dist/ui/select-menu.js
CHANGED
|
@@ -12,15 +12,17 @@ import {
|
|
|
12
12
|
nativeOptionText,
|
|
13
13
|
nextEnabledIndex,
|
|
14
14
|
typeaheadIndex
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-3CPWWGNK.js";
|
|
16
16
|
import "../chunk-5OTQA7CM.js";
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-MVW6HNPI.js";
|
|
18
|
+
import "../chunk-V4Z4B2E3.js";
|
|
19
|
+
import "../chunk-FYWT2O76.js";
|
|
18
20
|
import "../chunk-USG4XNMA.js";
|
|
19
21
|
import "../chunk-EDYVC3U3.js";
|
|
20
22
|
import "../chunk-UD6AAZSC.js";
|
|
21
23
|
import "../chunk-XEA5BCMA.js";
|
|
22
24
|
import "../chunk-TXS65BB2.js";
|
|
23
|
-
import "../chunk-
|
|
25
|
+
import "../chunk-7T2ZE3VT.js";
|
|
24
26
|
export {
|
|
25
27
|
ComboboxPanelPreview,
|
|
26
28
|
ComboboxSelect,
|
package/dist/ui/setting-row.js
CHANGED
|
@@ -10,8 +10,10 @@ import {
|
|
|
10
10
|
joinIds,
|
|
11
11
|
useSettingRowControl,
|
|
12
12
|
useSettingRowField
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-YNF2OC54.js";
|
|
14
14
|
import "../chunk-UX3XHFRX.js";
|
|
15
|
+
import "../chunk-V4Z4B2E3.js";
|
|
16
|
+
import "../chunk-FYWT2O76.js";
|
|
15
17
|
import "../chunk-UD6AAZSC.js";
|
|
16
18
|
import "../chunk-XEA5BCMA.js";
|
|
17
19
|
import "../chunk-TXS65BB2.js";
|
package/dist/ui/switch.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
Switch
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-7V5REBCP.js";
|
|
5
|
+
import "../chunk-YNF2OC54.js";
|
|
6
6
|
import "../chunk-UX3XHFRX.js";
|
|
7
|
+
import "../chunk-V4Z4B2E3.js";
|
|
8
|
+
import "../chunk-FYWT2O76.js";
|
|
7
9
|
import "../chunk-EDYVC3U3.js";
|
|
8
10
|
import "../chunk-UD6AAZSC.js";
|
|
9
11
|
import "../chunk-XEA5BCMA.js";
|
package/dist/ui/usage-meter.js
CHANGED
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
usageLevel,
|
|
11
11
|
usageResets,
|
|
12
12
|
usageValueText
|
|
13
|
-
} from "../chunk-
|
|
14
|
-
import "../chunk-
|
|
13
|
+
} from "../chunk-HEFPPMBQ.js";
|
|
14
|
+
import "../chunk-53AGXXZM.js";
|
|
15
15
|
import "../chunk-UX3XHFRX.js";
|
|
16
16
|
import "../chunk-UD6AAZSC.js";
|
|
17
17
|
import "../chunk-XEA5BCMA.js";
|
|
18
18
|
import "../chunk-TXS65BB2.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-7T2ZE3VT.js";
|
|
20
20
|
export {
|
|
21
21
|
USAGE_LOW_THRESHOLD,
|
|
22
22
|
UsageMeter,
|
package/dist/ui/word-list-row.js
CHANGED
|
@@ -4,10 +4,12 @@ import {
|
|
|
4
4
|
WORD_LIST_TERM_MAX,
|
|
5
5
|
WordListRow,
|
|
6
6
|
wordListTerms
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-F4ISQGGM.js";
|
|
8
8
|
import "../chunk-DMSUSY36.js";
|
|
9
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-YNF2OC54.js";
|
|
10
10
|
import "../chunk-UX3XHFRX.js";
|
|
11
|
+
import "../chunk-V4Z4B2E3.js";
|
|
12
|
+
import "../chunk-FYWT2O76.js";
|
|
11
13
|
import "../chunk-UD6AAZSC.js";
|
|
12
14
|
import "../chunk-XEA5BCMA.js";
|
|
13
15
|
import "../chunk-TXS65BB2.js";
|
package/dist/usage.js
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
summarizeUsage,
|
|
14
14
|
usagePercentLabel,
|
|
15
15
|
useUsage
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-T3OWFVMS.js";
|
|
17
17
|
import {
|
|
18
18
|
DEFAULT_ALLOWANCE_LABELS,
|
|
19
19
|
DEFAULT_SESSION_USAGE_LIMIT_LABELS,
|
|
@@ -30,7 +30,7 @@ import "./chunk-RV3O5OCQ.js";
|
|
|
30
30
|
import "./chunk-CM7LVUKC.js";
|
|
31
31
|
import "./chunk-TVQCDDSZ.js";
|
|
32
32
|
import "./chunk-TXS65BB2.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-7T2ZE3VT.js";
|
|
34
34
|
export {
|
|
35
35
|
DEFAULT_ALLOWANCE_LABELS,
|
|
36
36
|
DEFAULT_SESSION_USAGE_LIMIT_LABELS,
|
package/dist/workbench.js
CHANGED
|
@@ -11,16 +11,16 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
enableDesktopViewer
|
|
13
13
|
} from "./chunk-QIOARE4I.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-KLEUWIMZ.js";
|
|
15
|
+
import "./chunk-UVN5TMHU.js";
|
|
16
16
|
import "./chunk-QV3DJVRZ.js";
|
|
17
17
|
import "./chunk-YSRBFJMQ.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-Z4FMAFNH.js";
|
|
19
19
|
import "./chunk-ZUWF4NF7.js";
|
|
20
20
|
import "./chunk-TNEZNMSN.js";
|
|
21
21
|
import "./chunk-5I4VRWBB.js";
|
|
22
22
|
import "./chunk-TXS65BB2.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-7T2ZE3VT.js";
|
|
24
24
|
|
|
25
25
|
// src/workbench.ts
|
|
26
26
|
function enableWorkbench() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeni/react",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.7.0",
|
|
4
4
|
"description": "React hooks and styled components for Opengeni: live session streaming, chat composer, message timeline, session status, and fleet views — token-themed (CSS variables), dark-first, built on Tailwind v4 + Radix + Motion.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -295,9 +295,9 @@
|
|
|
295
295
|
"@dnd-kit/utilities": "3.2.2",
|
|
296
296
|
"@fontsource-variable/noto-sans-arabic": "5.2.10",
|
|
297
297
|
"@fontsource-variable/noto-sans-jp": "5.2.10",
|
|
298
|
-
"@opengeni/connect": "6.
|
|
299
|
-
"@opengeni/contracts": "6.
|
|
300
|
-
"@opengeni/sdk": "6.
|
|
298
|
+
"@opengeni/connect": "6.7.0",
|
|
299
|
+
"@opengeni/contracts": "6.7.0",
|
|
300
|
+
"@opengeni/sdk": "6.7.0",
|
|
301
301
|
"@tanstack/react-virtual": "^3.14.11",
|
|
302
302
|
"class-variance-authority": "^0.7.1",
|
|
303
303
|
"clsx": "^2.1.1",
|
|
@@ -380,6 +380,5 @@
|
|
|
380
380
|
},
|
|
381
381
|
"engines": {
|
|
382
382
|
"node": ">=18"
|
|
383
|
-
}
|
|
384
|
-
"gitHead": "041e773bc7a4e5e1ecd9f3667659f29f4599e441"
|
|
383
|
+
}
|
|
385
384
|
}
|
package/src/app/app-state.tsx
CHANGED
|
@@ -233,6 +233,63 @@ export const GITHUB_STATUS_TOAST_ID = "opengeni-github-status";
|
|
|
233
233
|
/** The one "Your GitHub account is unavailable" toast. */
|
|
234
234
|
export const PERSONAL_GITHUB_STATUS_TOAST_ID = "opengeni-personal-github-status";
|
|
235
235
|
|
|
236
|
+
/** The one lasting "Reconnect your GitHub" toast. */
|
|
237
|
+
export const PERSONAL_GITHUB_RECONNECT_TOAST_ID = "opengeni-personal-github-reconnect";
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Whether a personal GitHub status asks the person to reconnect: the stored
|
|
241
|
+
* grant stopped working (GitHub refused a refresh), not a disconnect.
|
|
242
|
+
*/
|
|
243
|
+
function personalGitHubNeedsReconnect(
|
|
244
|
+
connection: PersonalGitHubConnectionStatusResponse["connection"] | null | undefined,
|
|
245
|
+
): connection is NonNullable<PersonalGitHubConnectionStatusResponse["connection"]> {
|
|
246
|
+
return Boolean(connection && connection.status !== "active" && connection.status !== "revoked");
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
type PersonalGitHubReconnectToast = {
|
|
250
|
+
/** The connection (id:version) the toast last appeared for. */
|
|
251
|
+
shownFor: string | null;
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* One lasting toast per stale grant: it stays until the person reconnects or
|
|
256
|
+
* dismisses it, and the next background read does not bring it back.
|
|
257
|
+
*/
|
|
258
|
+
function announcePersonalGitHubReconnect(
|
|
259
|
+
state: PersonalGitHubReconnectToast,
|
|
260
|
+
connection: NonNullable<PersonalGitHubConnectionStatusResponse["connection"]>,
|
|
261
|
+
onReconnect: () => void,
|
|
262
|
+
): void {
|
|
263
|
+
const key = `${connection.id}:${connection.version}`;
|
|
264
|
+
if (state.shownFor === key) return;
|
|
265
|
+
state.shownFor = key;
|
|
266
|
+
const login =
|
|
267
|
+
typeof connection.metadata.githubLogin === "string" && connection.metadata.githubLogin
|
|
268
|
+
? connection.metadata.githubLogin
|
|
269
|
+
: null;
|
|
270
|
+
showPersonalGitHubReconnectToast(login, onReconnect);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/** The lasting "Reconnect your GitHub" toast with its one action. */
|
|
274
|
+
export function showPersonalGitHubReconnectToast(
|
|
275
|
+
githubLogin: string | null,
|
|
276
|
+
onReconnect: () => void,
|
|
277
|
+
): void {
|
|
278
|
+
toast.warning("Reconnect your GitHub", {
|
|
279
|
+
id: PERSONAL_GITHUB_RECONNECT_TOAST_ID,
|
|
280
|
+
description: `Opengeni can't work as ${githubLogin ? `@${githubLogin}` : "you"} until you reconnect.`,
|
|
281
|
+
duration: Infinity,
|
|
282
|
+
closeButton: true,
|
|
283
|
+
action: { label: "Reconnect", onClick: onReconnect },
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
function clearPersonalGitHubReconnectToast(state: PersonalGitHubReconnectToast): void {
|
|
288
|
+
if (state.shownFor === null) return;
|
|
289
|
+
state.shownFor = null;
|
|
290
|
+
toast.dismiss(PERSONAL_GITHUB_RECONNECT_TOAST_ID);
|
|
291
|
+
}
|
|
292
|
+
|
|
236
293
|
export type SlackLinkPrepareController<Request> = ReturnType<
|
|
237
294
|
typeof createSlackLinkPrepareController<Request>
|
|
238
295
|
>;
|
|
@@ -469,6 +526,12 @@ export function useAppState(host: AppStateHost, appStateOptions: AppStateOptions
|
|
|
469
526
|
const personalGitHubQuietRetry = useRef(createQuietRetry());
|
|
470
527
|
const refreshGitHubRef = useRef<AppContextValue["refreshGitHub"]>(async () => {});
|
|
471
528
|
const refreshPersonalGitHubRef = useRef<AppContextValue["refreshPersonalGitHub"]>(async () => {});
|
|
529
|
+
const personalGitHubReconnectToast = useRef<PersonalGitHubReconnectToast>({ shownFor: null });
|
|
530
|
+
// The toast reconnects the exact connection it was shown for.
|
|
531
|
+
const reconnectPersonalGitHubFromToast = useLatestCallback(
|
|
532
|
+
(workspaceId: string, connectionId: string) =>
|
|
533
|
+
void beginPersonalGitHubOAuth(workspaceId, true, connectionId),
|
|
534
|
+
);
|
|
472
535
|
useEffect(
|
|
473
536
|
() => () => {
|
|
474
537
|
githubQuietRetry.current.reset();
|
|
@@ -1599,9 +1662,30 @@ export function useAppState(host: AppStateHost, appStateOptions: AppStateOptions
|
|
|
1599
1662
|
setPersonalGitHubCatalogReady(true);
|
|
1600
1663
|
setPersonalGitHubBusy(false);
|
|
1601
1664
|
personalGitHubQuietRetry.current.reset();
|
|
1665
|
+
clearPersonalGitHubReconnectToast(personalGitHubReconnectToast.current);
|
|
1602
1666
|
return;
|
|
1603
1667
|
}
|
|
1604
1668
|
setPersonalGitHubBusy(true);
|
|
1669
|
+
const clearPersonalCatalog = () => {
|
|
1670
|
+
setPersonalGitHubRepositories([]);
|
|
1671
|
+
setPersonalGitHubSelection(null);
|
|
1672
|
+
setSelectedPersonalGitHubRepoIds(new Set());
|
|
1673
|
+
setSelectedPersonalGitHubRepoRefs({});
|
|
1674
|
+
setPersonalGitHubCatalogReady(true);
|
|
1675
|
+
personalGitHubQuietRetry.current.reset();
|
|
1676
|
+
};
|
|
1677
|
+
const showReconnectState = (status: PersonalGitHubConnectionStatusResponse): boolean => {
|
|
1678
|
+
const connection = status.connection;
|
|
1679
|
+
if (!status.enabled || !personalGitHubNeedsReconnect(connection)) {
|
|
1680
|
+
// Reconnected, disconnected or turned off: nothing left to act on.
|
|
1681
|
+
clearPersonalGitHubReconnectToast(personalGitHubReconnectToast.current);
|
|
1682
|
+
return false;
|
|
1683
|
+
}
|
|
1684
|
+
announcePersonalGitHubReconnect(personalGitHubReconnectToast.current, connection, () =>
|
|
1685
|
+
reconnectPersonalGitHubFromToast(workspaceId, connection.id),
|
|
1686
|
+
);
|
|
1687
|
+
return true;
|
|
1688
|
+
};
|
|
1605
1689
|
try {
|
|
1606
1690
|
const status = await client.personalGitHubStatus(workspaceId);
|
|
1607
1691
|
if (signal?.aborted || !ownsRefresh()) return;
|
|
@@ -1616,13 +1700,9 @@ export function useAppState(host: AppStateHost, appStateOptions: AppStateOptions
|
|
|
1616
1700
|
? current
|
|
1617
1701
|
: null,
|
|
1618
1702
|
);
|
|
1703
|
+
showReconnectState(status);
|
|
1619
1704
|
if (!status.enabled || connection?.status !== "active") {
|
|
1620
|
-
|
|
1621
|
-
setPersonalGitHubSelection(null);
|
|
1622
|
-
setSelectedPersonalGitHubRepoIds(new Set());
|
|
1623
|
-
setSelectedPersonalGitHubRepoRefs({});
|
|
1624
|
-
setPersonalGitHubCatalogReady(true);
|
|
1625
|
-
personalGitHubQuietRetry.current.reset();
|
|
1705
|
+
clearPersonalCatalog();
|
|
1626
1706
|
return;
|
|
1627
1707
|
}
|
|
1628
1708
|
const repositories: PersonalGitHubRepositoryCatalogItem[] = [];
|
|
@@ -1672,6 +1752,23 @@ export function useAppState(host: AppStateHost, appStateOptions: AppStateOptions
|
|
|
1672
1752
|
void refreshPersonalGitHubRef.current(workspaceId);
|
|
1673
1753
|
}, workspaceId);
|
|
1674
1754
|
if (!options?.userInitiated) return;
|
|
1755
|
+
} else {
|
|
1756
|
+
// GitHub may have just refused the stored grant, which turns the
|
|
1757
|
+
// connection into needs-reconnect. Read it again so the page shows
|
|
1758
|
+
// Reconnect in place (never "Connected · 0 repos") with one lasting
|
|
1759
|
+
// toast, instead of a passing error.
|
|
1760
|
+
const current = await client.personalGitHubStatus(workspaceId).catch(() => null);
|
|
1761
|
+
if (signal?.aborted || !ownsRefresh()) return;
|
|
1762
|
+
if (current) {
|
|
1763
|
+
setPersonalGitHubStatus(current);
|
|
1764
|
+
if (showReconnectState(current)) {
|
|
1765
|
+
clearPersonalCatalog();
|
|
1766
|
+
return;
|
|
1767
|
+
}
|
|
1768
|
+
}
|
|
1769
|
+
// Nothing for the person to do: a background read stays quiet, and
|
|
1770
|
+
// the next read tries again.
|
|
1771
|
+
if (!options?.userInitiated) return;
|
|
1675
1772
|
}
|
|
1676
1773
|
toast.error("Your GitHub account is unavailable", {
|
|
1677
1774
|
id: PERSONAL_GITHUB_STATUS_TOAST_ID,
|
|
@@ -1681,22 +1778,26 @@ export function useAppState(host: AppStateHost, appStateOptions: AppStateOptions
|
|
|
1681
1778
|
if (ownsRefresh()) setPersonalGitHubBusy(false);
|
|
1682
1779
|
}
|
|
1683
1780
|
},
|
|
1684
|
-
[client],
|
|
1781
|
+
[client, reconnectPersonalGitHubFromToast],
|
|
1685
1782
|
);
|
|
1686
1783
|
|
|
1687
1784
|
useInsertionEffect(() => {
|
|
1688
1785
|
refreshPersonalGitHubRef.current = refreshPersonalGitHub;
|
|
1689
1786
|
}, [refreshPersonalGitHub]);
|
|
1690
1787
|
|
|
1691
|
-
async function beginPersonalGitHubOAuth(
|
|
1692
|
-
|
|
1788
|
+
async function beginPersonalGitHubOAuth(
|
|
1789
|
+
workspaceId: string,
|
|
1790
|
+
reconnect: boolean,
|
|
1791
|
+
connectionId?: string,
|
|
1792
|
+
): Promise<void> {
|
|
1793
|
+
const reconnectAccountId = connectionId ?? personalGitHubStatus?.connection?.id;
|
|
1693
1794
|
try {
|
|
1694
1795
|
const attempt = await client.beginConnect(workspaceId, {
|
|
1695
1796
|
providerId: "github-personal",
|
|
1696
1797
|
ownership: "personal",
|
|
1697
1798
|
returnUrl: hostPage.href(),
|
|
1698
1799
|
idempotencyKey: crypto.randomUUID(),
|
|
1699
|
-
...(reconnect &&
|
|
1800
|
+
...(reconnect && reconnectAccountId ? { reconnectAccountId } : {}),
|
|
1700
1801
|
});
|
|
1701
1802
|
if (attempt.nextAction.type !== "authorize")
|
|
1702
1803
|
throw new Error("GitHub did not return an authorization link");
|
|
@@ -1715,10 +1816,21 @@ export function useAppState(host: AppStateHost, appStateOptions: AppStateOptions
|
|
|
1715
1816
|
if (!connection) return true;
|
|
1716
1817
|
setPersonalGitHubBusy(true);
|
|
1717
1818
|
try {
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1819
|
+
const disconnect = (target: { id: string; version: number }) =>
|
|
1820
|
+
client.disconnectPersonalGitHub(workspaceId, target.id, {
|
|
1821
|
+
expectedVersion: target.version,
|
|
1822
|
+
idempotencyKey: crypto.randomUUID(),
|
|
1823
|
+
});
|
|
1824
|
+
try {
|
|
1825
|
+
await disconnect(connection);
|
|
1826
|
+
} catch (error) {
|
|
1827
|
+
if (!(error instanceof OpenGeniApiError && error.status === 409)) throw error;
|
|
1828
|
+
// The connection moved on while the page held it (a reconnect or a
|
|
1829
|
+
// token refresh finished meanwhile). Removing your own GitHub is still
|
|
1830
|
+
// what was asked: read the current connection and remove that one.
|
|
1831
|
+
const current = (await client.personalGitHubStatus(workspaceId)).connection;
|
|
1832
|
+
if (current && current.status !== "revoked") await disconnect(current);
|
|
1833
|
+
}
|
|
1722
1834
|
await refreshPersonalGitHub(workspaceId, undefined, { userInitiated: true });
|
|
1723
1835
|
toast.success("Your GitHub account was disconnected");
|
|
1724
1836
|
return true;
|
|
@@ -26,7 +26,7 @@ import { SettingRow, SettingRowGroup } from "../../../ui/setting-row";
|
|
|
26
26
|
import { Switch } from "../../../ui/switch";
|
|
27
27
|
import { UsageMeter } from "../../../ui/usage-meter";
|
|
28
28
|
import { formatBytes } from "../../lib/format";
|
|
29
|
-
import {
|
|
29
|
+
import { userErrorText } from "../../../ui/api-error";
|
|
30
30
|
|
|
31
31
|
export type SiteDataClient = Pick<
|
|
32
32
|
OpenGeniBrowserClient,
|
|
@@ -399,7 +399,7 @@ function SiteDataCollection({
|
|
|
399
399
|
});
|
|
400
400
|
} catch (nextError) {
|
|
401
401
|
toast.error("Couldn't export records", {
|
|
402
|
-
description:
|
|
402
|
+
description: userErrorText(nextError),
|
|
403
403
|
});
|
|
404
404
|
} finally {
|
|
405
405
|
setExporting(false);
|
|
@@ -26,7 +26,7 @@ import { isPersonalWorkspace } from "../../lib/managed-self-context";
|
|
|
26
26
|
import { hasWorkspacePermission } from "../../lib/permissions";
|
|
27
27
|
import { sitesClientConfig } from "../../lib/site-publishing";
|
|
28
28
|
import { useDuplicateSite } from "../../lib/use-duplicate-site";
|
|
29
|
-
import {
|
|
29
|
+
import { userErrorText } from "../../../ui/api-error";
|
|
30
30
|
|
|
31
31
|
// Stands in for the Site while it loads so the audience hook keeps its order.
|
|
32
32
|
const PLACEHOLDER_SITE: WorkspaceArtifact = {
|
|
@@ -108,7 +108,7 @@ export function useSiteManagement({
|
|
|
108
108
|
return true;
|
|
109
109
|
} catch (error) {
|
|
110
110
|
toast.error(status === "archived" ? "Couldn't archive Site" : "Couldn't restore Site", {
|
|
111
|
-
description:
|
|
111
|
+
description: userErrorText(error),
|
|
112
112
|
});
|
|
113
113
|
return false;
|
|
114
114
|
} finally {
|