@rtc-agent/component 0.2.7-rc.2 → 0.2.7-rc.4
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/.generated/locales/en-US.d.ts +220 -0
- package/dist/.generated/locales/en-US.d.ts.map +1 -0
- package/dist/assets/{shared-worker-DNuUtKfr.js → shared-worker-BQv441O7.js} +123 -123
- package/dist/components/activity-bar/rtc-activity-bar.d.ts +65 -0
- package/dist/components/activity-bar/rtc-activity-bar.d.ts.map +1 -0
- package/dist/components/activity-bar/rtc-activity-bar.styles.d.ts +7 -0
- package/dist/components/activity-bar/rtc-activity-bar.styles.d.ts.map +1 -0
- package/dist/components/chat-layout/rtc-chat-layout.d.ts +211 -0
- package/dist/components/chat-layout/rtc-chat-layout.d.ts.map +1 -0
- package/dist/components/chat-layout/rtc-chat-layout.styles.d.ts +11 -0
- package/dist/components/chat-layout/rtc-chat-layout.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-content-area.d.ts +34 -0
- package/dist/components/content-area/rtc-content-area.d.ts.map +1 -0
- package/dist/components/content-area/rtc-content-area.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-content-area.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-error-message.d.ts +82 -0
- package/dist/components/content-area/rtc-error-message.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message-list.d.ts +251 -0
- package/dist/components/content-area/rtc-message-list.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message-list.skeleton-styles.d.ts +13 -0
- package/dist/components/content-area/rtc-message-list.skeleton-styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message-list.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-message-list.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message-more-menu.d.ts +35 -0
- package/dist/components/content-area/rtc-message-more-menu.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message.d.ts +202 -0
- package/dist/components/content-area/rtc-message.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-message.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-scroll-container.d.ts +44 -0
- package/dist/components/content-area/rtc-scroll-container.d.ts.map +1 -0
- package/dist/components/content-area/rtc-scroll-container.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-scroll-container.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-toolcall-card.d.ts +81 -0
- package/dist/components/content-area/rtc-toolcall-card.d.ts.map +1 -0
- package/dist/components/content-area/rtc-toolcall-card.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-toolcall-card.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-toolcall-reply.d.ts +65 -0
- package/dist/components/content-area/rtc-toolcall-reply.d.ts.map +1 -0
- package/dist/components/content-area/rtc-toolcall-reply.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-toolcall-reply.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-user-message.d.ts +116 -0
- package/dist/components/content-area/rtc-user-message.d.ts.map +1 -0
- package/dist/components/content-area/rtc-user-message.styles.d.ts +22 -0
- package/dist/components/content-area/rtc-user-message.styles.d.ts.map +1 -0
- package/dist/components/content-area/timeline.styles.d.ts +2 -0
- package/dist/components/content-area/timeline.styles.d.ts.map +1 -0
- package/dist/components/content-wrapper/rtc-content-wrapper.d.ts +25 -0
- package/dist/components/content-wrapper/rtc-content-wrapper.d.ts.map +1 -0
- package/dist/components/content-wrapper/rtc-content-wrapper.styles.d.ts +2 -0
- package/dist/components/content-wrapper/rtc-content-wrapper.styles.d.ts.map +1 -0
- package/dist/components/drawer/rtc-drawer.d.ts +73 -0
- package/dist/components/drawer/rtc-drawer.d.ts.map +1 -0
- package/dist/components/drawer/rtc-drawer.styles.d.ts +15 -0
- package/dist/components/drawer/rtc-drawer.styles.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-area.d.ts +119 -0
- package/dist/components/editor-area/rtc-editor-area.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-area.styles.d.ts +8 -0
- package/dist/components/editor-area/rtc-editor-area.styles.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-tab.d.ts +84 -0
- package/dist/components/editor-area/rtc-editor-tab.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-tab.styles.d.ts +8 -0
- package/dist/components/editor-area/rtc-editor-tab.styles.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-toolbar.d.ts +68 -0
- package/dist/components/editor-area/rtc-editor-toolbar.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-toolbar.styles.d.ts +8 -0
- package/dist/components/editor-area/rtc-editor-toolbar.styles.d.ts.map +1 -0
- package/dist/components/empty-state/rtc-empty-state.d.ts +24 -0
- package/dist/components/empty-state/rtc-empty-state.d.ts.map +1 -0
- package/dist/components/empty-state/rtc-empty-state.styles.d.ts +2 -0
- package/dist/components/empty-state/rtc-empty-state.styles.d.ts.map +1 -0
- package/dist/components/file-explorer/rtc-file-explorer.d.ts +94 -0
- package/dist/components/file-explorer/rtc-file-explorer.d.ts.map +1 -0
- package/dist/components/file-explorer/rtc-file-explorer.styles.d.ts +8 -0
- package/dist/components/file-explorer/rtc-file-explorer.styles.d.ts.map +1 -0
- package/dist/components/file-explorer/rtc-file-tree-item.d.ts +70 -0
- package/dist/components/file-explorer/rtc-file-tree-item.d.ts.map +1 -0
- package/dist/components/file-explorer/rtc-file-tree-item.styles.d.ts +8 -0
- package/dist/components/file-explorer/rtc-file-tree-item.styles.d.ts.map +1 -0
- package/dist/components/input-area/rtc-input-area.d.ts +167 -0
- package/dist/components/input-area/rtc-input-area.d.ts.map +1 -0
- package/dist/components/input-area/rtc-input-area.styles.d.ts +2 -0
- package/dist/components/input-area/rtc-input-area.styles.d.ts.map +1 -0
- package/dist/components/login/rtc-login-dialog.d.ts +54 -0
- package/dist/components/login/rtc-login-dialog.d.ts.map +1 -0
- package/dist/components/login/rtc-login-dialog.styles.d.ts +2 -0
- package/dist/components/login/rtc-login-dialog.styles.d.ts.map +1 -0
- package/dist/components/login/rtc-login-page.d.ts +39 -0
- package/dist/components/login/rtc-login-page.d.ts.map +1 -0
- package/dist/components/login/rtc-login-page.styles.d.ts +2 -0
- package/dist/components/login/rtc-login-page.styles.d.ts.map +1 -0
- package/dist/components/logo/rtc-logo.d.ts +38 -0
- package/dist/components/logo/rtc-logo.d.ts.map +1 -0
- package/dist/components/markdown-editor/rtc-markdown-editor.d.ts +87 -0
- package/dist/components/markdown-editor/rtc-markdown-editor.d.ts.map +1 -0
- package/dist/components/markdown-editor/rtc-markdown-editor.styles.d.ts +2 -0
- package/dist/components/markdown-editor/rtc-markdown-editor.styles.d.ts.map +1 -0
- package/dist/components/notice-bar/rtc-notice-bar.d.ts +23 -0
- package/dist/components/notice-bar/rtc-notice-bar.d.ts.map +1 -0
- package/dist/components/notice-bar/rtc-notice-bar.styles.d.ts +2 -0
- package/dist/components/notice-bar/rtc-notice-bar.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-ask-user.d.ts +91 -0
- package/dist/components/overlay/rtc-ask-user.d.ts.map +1 -0
- package/dist/components/overlay/rtc-ask-user.styles.d.ts +11 -0
- package/dist/components/overlay/rtc-ask-user.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-command-panel.d.ts +44 -0
- package/dist/components/overlay/rtc-command-panel.d.ts.map +1 -0
- package/dist/components/overlay/rtc-command-panel.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-command-panel.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-mode-panel.d.ts +30 -0
- package/dist/components/overlay/rtc-mode-panel.d.ts.map +1 -0
- package/dist/components/overlay/rtc-mode-panel.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-mode-panel.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-overlay-manager.d.ts +30 -0
- package/dist/components/overlay/rtc-overlay-manager.d.ts.map +1 -0
- package/dist/components/overlay/rtc-overlay-manager.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-overlay-manager.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-restore-confirm.d.ts +37 -0
- package/dist/components/overlay/rtc-restore-confirm.d.ts.map +1 -0
- package/dist/components/overlay/rtc-restore-confirm.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-restore-confirm.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-scenario-panel.d.ts +33 -0
- package/dist/components/overlay/rtc-scenario-panel.d.ts.map +1 -0
- package/dist/components/overlay/rtc-scenario-panel.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-scenario-panel.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-session-panel.d.ts +39 -0
- package/dist/components/overlay/rtc-session-panel.d.ts.map +1 -0
- package/dist/components/overlay/rtc-session-panel.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-session-panel.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-toast.d.ts +51 -0
- package/dist/components/overlay/rtc-toast.d.ts.map +1 -0
- package/dist/components/overlay/rtc-todo-panel.d.ts +23 -0
- package/dist/components/overlay/rtc-todo-panel.d.ts.map +1 -0
- package/dist/components/overlay/rtc-todo-panel.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-todo-panel.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-tool-confirm.d.ts +30 -0
- package/dist/components/overlay/rtc-tool-confirm.d.ts.map +1 -0
- package/dist/components/overlay/rtc-tool-confirm.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-tool-confirm.styles.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/bus-handler.d.ts +79 -0
- package/dist/components/rtc-agent/helpers/bus-handler.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/command-handler.d.ts +17 -0
- package/dist/components/rtc-agent/helpers/command-handler.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/connection-setup.d.ts +92 -0
- package/dist/components/rtc-agent/helpers/connection-setup.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/dialog-helpers.d.ts +51 -0
- package/dist/components/rtc-agent/helpers/dialog-helpers.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/session-loader.d.ts +67 -0
- package/dist/components/rtc-agent/helpers/session-loader.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/vfs-operations.d.ts +136 -0
- package/dist/components/rtc-agent/helpers/vfs-operations.d.ts.map +1 -0
- package/dist/components/rtc-agent/rtc-agent.d.ts +702 -0
- package/dist/components/rtc-agent/rtc-agent.d.ts.map +1 -0
- package/dist/components/rtc-agent/rtc-agent.styles.d.ts +16 -0
- package/dist/components/rtc-agent/rtc-agent.styles.d.ts.map +1 -0
- package/dist/components/session-header/rtc-session-header.d.ts +77 -0
- package/dist/components/session-header/rtc-session-header.d.ts.map +1 -0
- package/dist/components/session-header/rtc-session-header.styles.d.ts +2 -0
- package/dist/components/session-header/rtc-session-header.styles.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tab-bar.d.ts +43 -0
- package/dist/components/session-tree/rtc-session-tab-bar.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tab-bar.styles.d.ts +10 -0
- package/dist/components/session-tree/rtc-session-tab-bar.styles.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tab.d.ts +33 -0
- package/dist/components/session-tree/rtc-session-tab.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tab.styles.d.ts +11 -0
- package/dist/components/session-tree/rtc-session-tab.styles.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tree-item.d.ts +42 -0
- package/dist/components/session-tree/rtc-session-tree-item.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tree-item.styles.d.ts +11 -0
- package/dist/components/session-tree/rtc-session-tree-item.styles.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tree.d.ts +71 -0
- package/dist/components/session-tree/rtc-session-tree.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tree.styles.d.ts +10 -0
- package/dist/components/session-tree/rtc-session-tree.styles.d.ts.map +1 -0
- package/dist/components/settings/rtc-settings-panel.d.ts +27 -0
- package/dist/components/settings/rtc-settings-panel.d.ts.map +1 -0
- package/dist/components/settings/rtc-settings-panel.styles.d.ts +8 -0
- package/dist/components/settings/rtc-settings-panel.styles.d.ts.map +1 -0
- package/dist/components/settings-layout/rtc-settings-layout.d.ts +74 -0
- package/dist/components/settings-layout/rtc-settings-layout.d.ts.map +1 -0
- package/dist/components/settings-layout/rtc-settings-layout.styles.d.ts +8 -0
- package/dist/components/settings-layout/rtc-settings-layout.styles.d.ts.map +1 -0
- package/dist/components/settings-layout/rtc-settings-nav.d.ts +62 -0
- package/dist/components/settings-layout/rtc-settings-nav.d.ts.map +1 -0
- package/dist/components/settings-layout/rtc-settings-nav.styles.d.ts +7 -0
- package/dist/components/settings-layout/rtc-settings-nav.styles.d.ts.map +1 -0
- package/dist/components/status-bar/rtc-status-bar.d.ts +39 -0
- package/dist/components/status-bar/rtc-status-bar.d.ts.map +1 -0
- package/dist/components/status-bar/rtc-status-bar.styles.d.ts +11 -0
- package/dist/components/status-bar/rtc-status-bar.styles.d.ts.map +1 -0
- package/dist/components/title-bar/rtc-title-bar.d.ts +46 -0
- package/dist/components/title-bar/rtc-title-bar.d.ts.map +1 -0
- package/dist/components/title-bar/rtc-title-bar.styles.d.ts +2 -0
- package/dist/components/title-bar/rtc-title-bar.styles.d.ts.map +1 -0
- package/dist/components/token-usage/rtc-token-usage.d.ts +60 -0
- package/dist/components/token-usage/rtc-token-usage.d.ts.map +1 -0
- package/dist/config/auth.d.ts +52 -0
- package/dist/config/auth.d.ts.map +1 -0
- package/dist/contexts/activity.d.ts +42 -0
- package/dist/contexts/activity.d.ts.map +1 -0
- package/dist/contexts/auth.d.ts +28 -0
- package/dist/contexts/auth.d.ts.map +1 -0
- package/dist/contexts/editor.d.ts +43 -0
- package/dist/contexts/editor.d.ts.map +1 -0
- package/dist/contexts/file-explorer.d.ts +48 -0
- package/dist/contexts/file-explorer.d.ts.map +1 -0
- package/dist/contexts/logo.d.ts +21 -0
- package/dist/contexts/logo.d.ts.map +1 -0
- package/dist/contexts/message.d.ts +22 -0
- package/dist/contexts/message.d.ts.map +1 -0
- package/dist/contexts/mode.d.ts +18 -0
- package/dist/contexts/mode.d.ts.map +1 -0
- package/dist/contexts/notification.d.ts +21 -0
- package/dist/contexts/notification.d.ts.map +1 -0
- package/dist/contexts/session-tab.d.ts +10 -0
- package/dist/contexts/session-tab.d.ts.map +1 -0
- package/dist/contexts/session-tree.d.ts +10 -0
- package/dist/contexts/session-tree.d.ts.map +1 -0
- package/dist/contexts/session.d.ts +16 -0
- package/dist/contexts/session.d.ts.map +1 -0
- package/dist/contexts/settings.d.ts +40 -0
- package/dist/contexts/settings.d.ts.map +1 -0
- package/dist/contexts/skill.d.ts +27 -0
- package/dist/contexts/skill.d.ts.map +1 -0
- package/dist/contexts/tool-call.d.ts +16 -0
- package/dist/contexts/tool-call.d.ts.map +1 -0
- package/dist/contexts/turn-count.d.ts +23 -0
- package/dist/contexts/turn-count.d.ts.map +1 -0
- package/dist/contexts/window-state.d.ts +20 -0
- package/dist/contexts/window-state.d.ts.map +1 -0
- package/dist/controllers/activity.controller.d.ts +45 -0
- package/dist/controllers/activity.controller.d.ts.map +1 -0
- package/dist/controllers/auth.controller.d.ts +202 -0
- package/dist/controllers/auth.controller.d.ts.map +1 -0
- package/dist/controllers/editor-area.controller.d.ts +119 -0
- package/dist/controllers/editor-area.controller.d.ts.map +1 -0
- package/dist/controllers/editor.controller.d.ts +29 -0
- package/dist/controllers/editor.controller.d.ts.map +1 -0
- package/dist/controllers/file-explorer.controller.d.ts +42 -0
- package/dist/controllers/file-explorer.controller.d.ts.map +1 -0
- package/dist/controllers/fork.controller.d.ts +63 -0
- package/dist/controllers/fork.controller.d.ts.map +1 -0
- package/dist/controllers/message.controller.d.ts +182 -0
- package/dist/controllers/message.controller.d.ts.map +1 -0
- package/dist/controllers/mode.controller.d.ts +26 -0
- package/dist/controllers/mode.controller.d.ts.map +1 -0
- package/dist/controllers/notification.controller.d.ts +101 -0
- package/dist/controllers/notification.controller.d.ts.map +1 -0
- package/dist/controllers/persistence.controller.d.ts +128 -0
- package/dist/controllers/persistence.controller.d.ts.map +1 -0
- package/dist/controllers/session-tab.controller.d.ts +82 -0
- package/dist/controllers/session-tab.controller.d.ts.map +1 -0
- package/dist/controllers/session-tree.controller.d.ts +44 -0
- package/dist/controllers/session-tree.controller.d.ts.map +1 -0
- package/dist/controllers/session.controller.d.ts +58 -0
- package/dist/controllers/session.controller.d.ts.map +1 -0
- package/dist/controllers/settings.controller.d.ts +46 -0
- package/dist/controllers/settings.controller.d.ts.map +1 -0
- package/dist/controllers/skill.controller.d.ts +81 -0
- package/dist/controllers/skill.controller.d.ts.map +1 -0
- package/dist/controllers/status-bar.controller.d.ts +32 -0
- package/dist/controllers/status-bar.controller.d.ts.map +1 -0
- package/dist/controllers/toast.controller.d.ts +29 -0
- package/dist/controllers/toast.controller.d.ts.map +1 -0
- package/dist/controllers/tool-call.controller.d.ts +38 -0
- package/dist/controllers/tool-call.controller.d.ts.map +1 -0
- package/dist/controllers/window-interaction.controller.d.ts +128 -0
- package/dist/controllers/window-interaction.controller.d.ts.map +1 -0
- package/dist/controllers/window-state.controller.d.ts +79 -0
- package/dist/controllers/window-state.controller.d.ts.map +1 -0
- package/dist/core/builtin-system-group.d.ts +66 -0
- package/dist/core/builtin-system-group.d.ts.map +1 -0
- package/dist/core/event-bus.d.ts +133 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/function-registry.d.ts +185 -0
- package/dist/core/function-registry.d.ts.map +1 -0
- package/dist/core/i18n.d.ts +25 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/locale-controller.d.ts +25 -0
- package/dist/core/locale-controller.d.ts.map +1 -0
- package/dist/core/markdown-generator.d.ts +36 -0
- package/dist/core/markdown-generator.d.ts.map +1 -0
- package/dist/core/ready.d.ts +33 -0
- package/dist/core/ready.d.ts.map +1 -0
- package/dist/core/scenario-loader.d.ts +56 -0
- package/dist/core/scenario-loader.d.ts.map +1 -0
- package/dist/core/theme.d.ts +29 -0
- package/dist/core/theme.d.ts.map +1 -0
- package/dist/debug-api-core.d.ts +9 -0
- package/dist/debug-api-core.d.ts.map +1 -0
- package/dist/debug-api-ext.d.ts +16 -0
- package/dist/debug-api-ext.d.ts.map +1 -0
- package/dist/debug-api-helpers.d.ts +28 -0
- package/dist/debug-api-helpers.d.ts.map +1 -0
- package/dist/debug-api-types.d.ts +206 -0
- package/dist/debug-api-types.d.ts.map +1 -0
- package/dist/debug-api.d.ts +10 -0
- package/dist/debug-api.d.ts.map +1 -0
- package/dist/elements.d.ts +26 -0
- package/dist/elements.d.ts.map +1 -0
- package/dist/{en-US-D9MCEBlx.js → en-US-BK61Z8gy.js} +1 -1
- package/dist/factory.d.ts +68 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/{highlight-languages-SPQPngyT.js → highlight-languages-8EK0uwTA.js} +1 -1
- package/dist/icons/icons.d.ts +93 -0
- package/dist/icons/icons.d.ts.map +1 -0
- package/dist/icons/index.d.ts +8 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/logo.d.ts +15 -0
- package/dist/icons/logo.d.ts.map +1 -0
- package/dist/{index-Gwj3eoed.js → index-Bd4j91y1.js} +11173 -11102
- package/dist/index.d.ts +114 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.umd.js +476 -464
- package/dist/locales/en-US.d.ts +4 -0
- package/dist/locales/en-US.d.ts.map +1 -0
- package/dist/main.d.ts +17 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/master-lock.d.ts +72 -0
- package/dist/master-lock.d.ts.map +1 -0
- package/dist/registry.d.ts +2 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/repositories/index.d.ts +8 -0
- package/dist/repositories/index.d.ts.map +1 -0
- package/dist/repositories/message.repository.d.ts +182 -0
- package/dist/repositories/message.repository.d.ts.map +1 -0
- package/dist/stats.html +1 -1
- package/dist/storage.d.ts +11 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/styles/base.d.ts +8 -0
- package/dist/styles/base.d.ts.map +1 -0
- package/dist/styles/index.d.ts +5 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/themes/dark.d.ts +2 -0
- package/dist/styles/themes/dark.d.ts.map +1 -0
- package/dist/styles/themes/light.d.ts +2 -0
- package/dist/styles/themes/light.d.ts.map +1 -0
- package/dist/styles/tokens.d.ts +22 -0
- package/dist/styles/tokens.d.ts.map +1 -0
- package/dist/types/activity-bar-config.d.ts +38 -0
- package/dist/types/activity-bar-config.d.ts.map +1 -0
- package/dist/types/agent-config.d.ts +61 -0
- package/dist/types/agent-config.d.ts.map +1 -0
- package/dist/types/events.d.ts +56 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/factory.d.ts +602 -0
- package/dist/types/factory.d.ts.map +1 -0
- package/dist/types/index.d.ts +391 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/skill.d.ts +195 -0
- package/dist/types/skill.d.ts.map +1 -0
- package/dist/types/window-config.d.ts +122 -0
- package/dist/types/window-config.d.ts.map +1 -0
- package/dist/utils/clipboard.d.ts +14 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/command-parser.d.ts +33 -0
- package/dist/utils/command-parser.d.ts.map +1 -0
- package/dist/utils/content-data.d.ts +113 -0
- package/dist/utils/content-data.d.ts.map +1 -0
- package/dist/utils/custom-scrollbar.d.ts +41 -0
- package/dist/utils/custom-scrollbar.d.ts.map +1 -0
- package/dist/utils/device.d.ts +22 -0
- package/dist/utils/device.d.ts.map +1 -0
- package/dist/utils/floating-panel-controller.d.ts +52 -0
- package/dist/utils/floating-panel-controller.d.ts.map +1 -0
- package/dist/utils/format.d.ts +27 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/highlight-languages.d.ts +9 -0
- package/dist/utils/highlight-languages.d.ts.map +1 -0
- package/dist/utils/message-skeleton.d.ts +39 -0
- package/dist/utils/message-skeleton.d.ts.map +1 -0
- package/dist/utils/message-virtual-scroll.d.ts +595 -0
- package/dist/utils/message-virtual-scroll.d.ts.map +1 -0
- package/dist/utils/relative-time.d.ts +14 -0
- package/dist/utils/relative-time.d.ts.map +1 -0
- package/dist/utils/scroll-saver.d.ts +34 -0
- package/dist/utils/scroll-saver.d.ts.map +1 -0
- package/dist/utils/skeleton-tracker.d.ts +144 -0
- package/dist/utils/skeleton-tracker.d.ts.map +1 -0
- package/dist/utils/visibility-manager.d.ts +103 -0
- package/dist/utils/visibility-manager.d.ts.map +1 -0
- package/dist/utils.d.ts +5 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/validation/index.d.ts +53 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/openapi-to-zod.d.ts +15 -0
- package/dist/validation/openapi-to-zod.d.ts.map +1 -0
- package/dist/validation/zod-to-openapi.d.ts +56 -0
- package/dist/validation/zod-to-openapi.d.ts.map +1 -0
- package/dist/worker-bridge.d.ts +141 -0
- package/dist/worker-bridge.d.ts.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RTC Message List Component
|
|
3
|
+
*
|
|
4
|
+
* Renders messages in a scrollable container with timeline layout.
|
|
5
|
+
* Each `<rtc-message-list>` subscribes directly to `MessageRepository` for a
|
|
6
|
+
* specific `sessionId`. This allows multiple instances to coexist (e.g. one per
|
|
7
|
+
* open tab) without relying on a shared `MessageContext`.
|
|
8
|
+
*
|
|
9
|
+
* ## Auto-scroll mechanism (Intent-Based Architecture)
|
|
10
|
+
*
|
|
11
|
+
* Auto-scroll is controlled by a **computed property** `_shouldAutoScroll()` that
|
|
12
|
+
* combines geometric state (`_userAtBottom`) with behavioral intent (`_followInvalidatedUntil`):
|
|
13
|
+
*
|
|
14
|
+
* 1. **`_userAtBottom`** (geometric, `@state`): updated by `_onScroll` on every scroll event.
|
|
15
|
+
* `distanceFromBottom < AT_BOTTOM_THRESHOLD_PX (300)` → true.
|
|
16
|
+
*
|
|
17
|
+
* 2. **`_followInvalidatedUntil`** (behavioral, plain field): set ONLY by user input events
|
|
18
|
+
* (wheel, touchstart, pointerdown, keydown) to `Date.now() + 450ms`. Self-expires after
|
|
19
|
+
* 450ms of user inactivity. Programmatic scrolls do NOT modify this field.
|
|
20
|
+
*
|
|
21
|
+
* 3. **`_shouldAutoScroll()`** = `_userAtBottom && Date.now() >= _followInvalidatedUntil`.
|
|
22
|
+
* Called by `updated()`, `_scheduleScroll()`, ResizeObserver.
|
|
23
|
+
*
|
|
24
|
+
* 4. **ResizeObserver** handles async content (Markdown rendering, thinking expansion).
|
|
25
|
+
* Scrolls to bottom only if `_shouldAutoScroll()` is true.
|
|
26
|
+
*
|
|
27
|
+
* @element rtc-message-list
|
|
28
|
+
* @csspart scroll - The scroll container
|
|
29
|
+
* @csspart inner - The inner message container
|
|
30
|
+
*/
|
|
31
|
+
import { LitElement } from 'lit';
|
|
32
|
+
import type { MessageController } from '../../controllers/message.controller.js';
|
|
33
|
+
import type { Message } from '../../types/index.js';
|
|
34
|
+
import './rtc-message.js';
|
|
35
|
+
import './rtc-user-message.js';
|
|
36
|
+
import './rtc-toolcall-card.js';
|
|
37
|
+
import './rtc-toolcall-reply.js';
|
|
38
|
+
import './rtc-error-message.js';
|
|
39
|
+
export declare class RtcMessageList extends LitElement {
|
|
40
|
+
static styles: import("lit").CSSResult[];
|
|
41
|
+
/** Session ID for this message list instance. */
|
|
42
|
+
sessionId: string | null;
|
|
43
|
+
/** Message controller for accessing repository. */
|
|
44
|
+
messageController?: MessageController;
|
|
45
|
+
private _localeCtx;
|
|
46
|
+
private _settingsCtx;
|
|
47
|
+
/** Unsubscribe function returned by MessageRepository.subscribe(). */
|
|
48
|
+
private _subscription?;
|
|
49
|
+
/** Messages for the current session (driven by repository subscription). */
|
|
50
|
+
private _messages;
|
|
51
|
+
/** Whether older messages are available (backward pagination). */
|
|
52
|
+
private _hasMore;
|
|
53
|
+
private _showNewBtn;
|
|
54
|
+
private _userAtBottom;
|
|
55
|
+
/**
|
|
56
|
+
* Follow-invalidation timestamp for auto-scroll.
|
|
57
|
+
*
|
|
58
|
+
* **Behavioral intent**, NOT scroll position. Set ONLY by user input events
|
|
59
|
+
* (wheel, touchstart, pointerdown, keydown) via `_setupFollowInvalidation()`.
|
|
60
|
+
*
|
|
61
|
+
* When `Date.now() < _followInvalidatedUntil`, auto-scroll is suppressed.
|
|
62
|
+
* After 450ms of user inactivity, it self-expires — no "user stopped scrolling"
|
|
63
|
+
* detection needed.
|
|
64
|
+
*
|
|
65
|
+
* This breaks the feedback loop: programmatic scrolls do NOT modify this field,
|
|
66
|
+
* so they cannot re-enable auto-scroll against user intent.
|
|
67
|
+
*
|
|
68
|
+
* Consumed by: `_shouldAutoScroll()` method (computed property).
|
|
69
|
+
*/
|
|
70
|
+
private _followInvalidatedUntil;
|
|
71
|
+
private _scrollEl?;
|
|
72
|
+
private _resizeObserver?;
|
|
73
|
+
private _resizeDebounceTimer?;
|
|
74
|
+
/** Document visibility change listener for browser window blur/focus */
|
|
75
|
+
private _documentVisibilityHandler?;
|
|
76
|
+
/** Tracked short-lived timers — cleared in disconnectedCallback to prevent leaks. */
|
|
77
|
+
private _virtualScrollOpTimer?;
|
|
78
|
+
private _highlightTimer?;
|
|
79
|
+
private _scrollToMessageTimer?;
|
|
80
|
+
private _scrollToBottomTimer?;
|
|
81
|
+
/** Virtual scroll instance for efficient rendering */
|
|
82
|
+
private _virtualScroll?;
|
|
83
|
+
/** Flag to prevent ResizeObserver feedback loop during virtual scroll operations */
|
|
84
|
+
private _isVirtualScrollOperation;
|
|
85
|
+
/**
|
|
86
|
+
* Monotonically increasing version counter for scroll debouncing.
|
|
87
|
+
* Each scroll request increments and captures the current value.
|
|
88
|
+
* Before executing, the async scroll checks if its version is still current.
|
|
89
|
+
* A newer request invalidates older ones -- no boolean flag needed.
|
|
90
|
+
*/
|
|
91
|
+
private _scrollVersion;
|
|
92
|
+
get messages(): Message[];
|
|
93
|
+
/**
|
|
94
|
+
* Public API: scroll to the bottom of the message list.
|
|
95
|
+
* Called by parent components (e.g., rtc-content-area) when needed.
|
|
96
|
+
*/
|
|
97
|
+
scrollToBottom(): void;
|
|
98
|
+
/**
|
|
99
|
+
* Public API: scroll to a specific message by clientId.
|
|
100
|
+
* Called by parent components to navigate to a particular message.
|
|
101
|
+
*
|
|
102
|
+
* Phase 5 (I3): Enhanced with debounce and skeleton awareness.
|
|
103
|
+
* - Debounces rapid successive calls (100ms)
|
|
104
|
+
* - If target is a skeleton placeholder, sync-restores it first
|
|
105
|
+
* - Falls back to DOM query if virtual scroll is not initialized
|
|
106
|
+
*/
|
|
107
|
+
scrollToMessage(clientId: string): void;
|
|
108
|
+
private _doScrollToMessage;
|
|
109
|
+
firstUpdated(): void;
|
|
110
|
+
/**
|
|
111
|
+
* Subscribe to MessageRepository for the current session.
|
|
112
|
+
* Called on firstUpdated and when sessionId changes.
|
|
113
|
+
*/
|
|
114
|
+
private _subscribeToSession;
|
|
115
|
+
/**
|
|
116
|
+
* Handle messages update from repository subscription.
|
|
117
|
+
* Simplified: just call setItems, which handles all diff logic internally.
|
|
118
|
+
*/
|
|
119
|
+
private _handleMessagesUpdate;
|
|
120
|
+
/**
|
|
121
|
+
* Auto-scroll decision point.
|
|
122
|
+
*
|
|
123
|
+
* The component is responsible for its own scrolling. It does not analyze
|
|
124
|
+
* what kind of change happened (growth, shrink, reorder, toolcall merge, etc.).
|
|
125
|
+
* It only asks two questions:
|
|
126
|
+
*
|
|
127
|
+
* 1. **Did messages change?** (`_messages` changed) → if following, scroll to bottom.
|
|
128
|
+
* 2. **Did session change?** (`sessionId` changed) → reset follow intent to true,
|
|
129
|
+
* then scroll to bottom (user expects to see latest messages in a new session).
|
|
130
|
+
*
|
|
131
|
+
* Async content rendering (Markdown, tool call expansion) is handled by
|
|
132
|
+
* ResizeObserver, which scrolls when the inner container size changes.
|
|
133
|
+
*
|
|
134
|
+
* Load-more (prepend) is a special case: preserve scroll position via anchor.
|
|
135
|
+
*/
|
|
136
|
+
updated(changed: Map<string, unknown>): void;
|
|
137
|
+
disconnectedCallback(): void;
|
|
138
|
+
/**
|
|
139
|
+
* Tab visibility handler - called by parent component when tab switches.
|
|
140
|
+
*
|
|
141
|
+
* This is the primary mechanism for the visibility state machine:
|
|
142
|
+
* - When Tab becomes active: setVisibility(true) → VISIBLE state
|
|
143
|
+
* - When Tab becomes inactive: setVisibility(false) → HIDDEN state
|
|
144
|
+
*
|
|
145
|
+
* The state machine ensures:
|
|
146
|
+
* - HIDDEN: pauses all skeletonize/restore operations (prevents bug)
|
|
147
|
+
* - VISIBLE: synchronously rebuilds skeleton positions and restores visible skeletons
|
|
148
|
+
*
|
|
149
|
+
* @param visible - Whether the tab is currently visible (active)
|
|
150
|
+
*/
|
|
151
|
+
onTabVisibilityChange(visible: boolean): void;
|
|
152
|
+
/**
|
|
153
|
+
* Computed property: whether auto-scroll should fire.
|
|
154
|
+
*
|
|
155
|
+
* Combines geometric state (`_userAtBottom`) with behavioral intent
|
|
156
|
+
* (`_followInvalidatedUntil`). This is NOT a stored field — it's computed
|
|
157
|
+
* on every access, so there's no state to manage and no feedback loop possible.
|
|
158
|
+
*
|
|
159
|
+
* Architecture: mirrors Telegram's `scrolledDown && Date.now() >= streamFollowInvalidatedUntil`.
|
|
160
|
+
*/
|
|
161
|
+
private _shouldAutoScroll;
|
|
162
|
+
/**
|
|
163
|
+
* Schedule a scroll-to-bottom after the current render completes.
|
|
164
|
+
*
|
|
165
|
+
* Uses a version counter for clean debouncing:
|
|
166
|
+
* - Each call increments `_scrollVersion`
|
|
167
|
+
* - The async callback captures its version
|
|
168
|
+
* - If version is stale when callback runs, a newer request has superseded it
|
|
169
|
+
*
|
|
170
|
+
* Waits for:
|
|
171
|
+
* 1. `this.updateComplete` -- this component's render is done (new message
|
|
172
|
+
* element is in the DOM)
|
|
173
|
+
* 2. All child message elements' `updateComplete` -- their first render
|
|
174
|
+
* (empty content for async Markdown, complete for sync components)
|
|
175
|
+
*
|
|
176
|
+
* Note: async Markdown rendering (marked + DOMPurify + highlight.js) happens
|
|
177
|
+
* AFTER the child's first `updateComplete` resolves. The ResizeObserver is the
|
|
178
|
+
* safety net that scrolls again when the content actually renders and the inner
|
|
179
|
+
* container size changes.
|
|
180
|
+
*/
|
|
181
|
+
private _scheduleScroll;
|
|
182
|
+
private _scrollToBottom;
|
|
183
|
+
/**
|
|
184
|
+
* Set scroll position. _onScroll always processes scroll events normally
|
|
185
|
+
* (geometric state update). After programmatic scroll to bottom, _onScroll
|
|
186
|
+
* calculates distanceFromBottom ≈ 0 and sets _userAtBottom = true — the same
|
|
187
|
+
* value _scrollToBottom() would set. No suppression needed.
|
|
188
|
+
*
|
|
189
|
+
* The virtual scroll's scroll handler may fire, but it has its own guards
|
|
190
|
+
* (1.5s debounce, stability checks, _isVirtualScrollOperation) so this is harmless.
|
|
191
|
+
*/
|
|
192
|
+
private _setScrollPositionSilently;
|
|
193
|
+
/**
|
|
194
|
+
* Register user input event listeners to invalidate follow intent.
|
|
195
|
+
*
|
|
196
|
+
* Architecture: mirrors Telegram's `streamFollowInvalidatedUntil` pattern.
|
|
197
|
+
* Any user input (wheel, touchstart, pointerdown, keydown) extends the
|
|
198
|
+
* invalidation timestamp by 450ms. Every auto-scroll check reads
|
|
199
|
+
* `Date.now() < _followInvalidatedUntil` — if the user touched anything
|
|
200
|
+
* in the last 450ms, the follow is skipped.
|
|
201
|
+
*
|
|
202
|
+
* This is the key mechanism that breaks the feedback loop:
|
|
203
|
+
* - User intent is detected from INPUT EVENTS, not scroll position
|
|
204
|
+
* - Programmatic scrolls do NOT fire wheel/touchstart/pointerdown/keydown
|
|
205
|
+
* - Therefore programmatic scrolls cannot re-enable auto-scroll
|
|
206
|
+
*/
|
|
207
|
+
private _setupFollowInvalidation;
|
|
208
|
+
private _onScroll;
|
|
209
|
+
/**
|
|
210
|
+
* Handle virtual scroll's onLoadMore callback.
|
|
211
|
+
* Triggers load-more from repository. The actual prepend/append is handled by
|
|
212
|
+
* _handleMessagesUpdate via repository subscription.
|
|
213
|
+
* Returns empty array since we don't prepend/append here.
|
|
214
|
+
*
|
|
215
|
+
* IMPORTANT: For bottom direction, first check if repository has messages
|
|
216
|
+
* after the current window (from viewport slicing). If yes, return them
|
|
217
|
+
* directly from cache instead of going to DB.
|
|
218
|
+
*/
|
|
219
|
+
private _handleVirtualScrollLoadMore;
|
|
220
|
+
/**
|
|
221
|
+
* Render a message element for virtual scroll.
|
|
222
|
+
* Toolcall input renders as a card; output renders as a reply with jump.
|
|
223
|
+
*/
|
|
224
|
+
private _renderMessageElement;
|
|
225
|
+
/**
|
|
226
|
+
* Update a message element in-place with new data.
|
|
227
|
+
* Preserves DOM state (rendered Markdown) to prevent flicker during streaming.
|
|
228
|
+
* Lit's property setter triggers requestUpdate() → lit-html diffing for efficient updates.
|
|
229
|
+
*/
|
|
230
|
+
private _updateMessageElement;
|
|
231
|
+
/**
|
|
232
|
+
* Guard: prevents _onScroll from modifying geometric state (_userAtBottom)
|
|
233
|
+
* during programmatic smooth scroll-to-bottom (initiated by _handleNewBtnClick).
|
|
234
|
+
* Without this, _onScroll fires mid-animation and may cause UI flicker
|
|
235
|
+
* (showNewBtn toggling) as the scroll position passes through non-bottom areas.
|
|
236
|
+
*/
|
|
237
|
+
private _scrollingToBottom;
|
|
238
|
+
private _handleNewBtnClick;
|
|
239
|
+
/**
|
|
240
|
+
* Handle toolcall jump: scroll to the input message and highlight it.
|
|
241
|
+
* Triggered by clicking the reply header in rtc-toolcall-reply.
|
|
242
|
+
*/
|
|
243
|
+
private _handleToolcallJump;
|
|
244
|
+
render(): import("lit").TemplateResult<1>;
|
|
245
|
+
}
|
|
246
|
+
declare global {
|
|
247
|
+
interface HTMLElementTagNameMap {
|
|
248
|
+
'rtc-message-list': RtcMessageList;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=rtc-message-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message-list.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message-list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAQrC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAC,OAAO,EAAe,MAAM,sBAAsB,CAAC;AAChE,OAAO,kBAAkB,CAAC;AAK1B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAahC,qBAEa,cAAe,SAAQ,UAAU;IAC1C,MAAM,CAAC,MAAM,4BAA4B;IAEzC,iDAAiD;IAEjD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEhC,mDAAmD;IAEnD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAItC,OAAO,CAAC,UAAU,CAMhB;IAIF,OAAO,CAAC,YAAY,CAclB;IAIF,sEAAsE;IACtE,OAAO,CAAC,aAAa,CAAC,CAAa;IAEnC,4EAA4E;IAE5E,OAAO,CAAC,SAAS,CAAiB;IAElC,kEAAkE;IAElE,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,aAAa,CAAQ;IAE7B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,uBAAuB,CAAK;IAEpC,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC,wEAAwE;IACxE,OAAO,CAAC,0BAA0B,CAAC,CAAa;IAEhD,qFAAqF;IACrF,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC,sDAAsD;IACtD,OAAO,CAAC,cAAc,CAAC,CAAgC;IAEvD,oFAAoF;IACpF,OAAO,CAAC,yBAAyB,CAAS;IAE1C;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAAK;IAE3B,IAAI,QAAQ,IAAI,OAAO,EAAE,CAExB;IAED;;;OAGG;IACH,cAAc;IAKd;;;;;;;;OAQG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQvC,OAAO,CAAC,kBAAkB;IAmB1B,YAAY;IAyHZ;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAgC3B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAuF7B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAiCrC,oBAAoB;IAuBpB;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAM7C;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,eAAe;IAYvB;;;;;;;;OAQG;IACH,OAAO,CAAC,0BAA0B;IAKlC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,SAAS,CAuBf;IAEF;;;;;;;;;OASG;YACW,4BAA4B;IAyF1C;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA6E7B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAAS;IAEnC,OAAO,CAAC,kBAAkB,CAwBxB;IAEF;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAoBzB;IAEF,MAAM;CAqBT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,kBAAkB,EAAE,cAAc,CAAC;KACtC;CACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skeleton screen styles for message placeholders
|
|
3
|
+
*
|
|
4
|
+
* Provides shimmer animation and visual structure for skeleton screens.
|
|
5
|
+
* Imported and applied by rtc-message-list component.
|
|
6
|
+
*
|
|
7
|
+
* Phase 4 (I3 fix): Theme-aware colors using CSS custom properties.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Skeleton screen CSS styles
|
|
11
|
+
*/
|
|
12
|
+
export declare const skeletonStyles: import("lit").CSSResult;
|
|
13
|
+
//# sourceMappingURL=rtc-message-list.skeleton-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message-list.skeleton-styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message-list.skeleton-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;GAEG;AACH,eAAO,MAAM,cAAc,yBAwL1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message-list.styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message-list.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA2FlB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RTC Message More Menu Component
|
|
3
|
+
*
|
|
4
|
+
* A context menu that appears when the user clicks the more button on a
|
|
5
|
+
* user message bubble. Provides options: copy, fork, and retry (failed only).
|
|
6
|
+
*
|
|
7
|
+
* Layout:
|
|
8
|
+
* ┌──────────────────┐
|
|
9
|
+
* │ 复制 │
|
|
10
|
+
* │ 分叉 │
|
|
11
|
+
* │ 重试 (failed) │
|
|
12
|
+
* ├──────────────────┤
|
|
13
|
+
* │ MM-DD HH:mm │
|
|
14
|
+
* └──────────────────┘
|
|
15
|
+
*
|
|
16
|
+
* @element rtc-message-more-menu
|
|
17
|
+
*/
|
|
18
|
+
import { LitElement } from 'lit';
|
|
19
|
+
import type { SyncStatus } from '../../types/index.js';
|
|
20
|
+
export declare class RtcMessageMoreMenu extends LitElement {
|
|
21
|
+
static styles: import("lit").CSSResult;
|
|
22
|
+
private _localeCtx;
|
|
23
|
+
syncStatus: SyncStatus;
|
|
24
|
+
timestamp: number;
|
|
25
|
+
/** 格式化时间戳为紧凑格式(委托给共享工具函数) */
|
|
26
|
+
private get _formattedTimestamp();
|
|
27
|
+
private _handleSelect;
|
|
28
|
+
render(): import("lit").TemplateResult<1>;
|
|
29
|
+
}
|
|
30
|
+
declare global {
|
|
31
|
+
interface HTMLElementTagNameMap {
|
|
32
|
+
'rtc-message-more-menu': RtcMessageMoreMenu;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=rtc-message-more-menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message-more-menu.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message-more-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAC,UAAU,EAAY,MAAM,KAAK,CAAC;AAK1C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAMrD,qBAEa,kBAAmB,SAAQ,UAAU;IAC9C,MAAM,CAAC,MAAM,0BAoDX;IAIF,OAAO,CAAC,UAAU,CAMhB;IAGF,UAAU,EAAE,UAAU,CAAY;IAGlC,SAAS,SAAK;IAEd,6BAA6B;IAC7B,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,CAAC,aAAa;IAUrB,MAAM;CAiBT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,uBAAuB,EAAE,kBAAkB,CAAC;KAC/C;CACJ"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RTC Message Component
|
|
3
|
+
*
|
|
4
|
+
* Renders a single AI message with timeline dot and Markdown content.
|
|
5
|
+
* Supports thinking, streaming, and success states.
|
|
6
|
+
*
|
|
7
|
+
* Markdown parsing is lazy-loaded (Lit best-practice 7-3).
|
|
8
|
+
*
|
|
9
|
+
* ## Layout model (时间线布局)
|
|
10
|
+
*
|
|
11
|
+
* DOM 结构:
|
|
12
|
+
* .timeline-item (position: relative, padding-left 给 dot + 竖线留位)
|
|
13
|
+
* ├── .timeline-dot (absolute, 与竖线共享 left 参考系)
|
|
14
|
+
* ├── ::before (竖线, 绝对定位伪元素)
|
|
15
|
+
* └── .timeline-content
|
|
16
|
+
* └── div (rendered-HTML 包裹层)
|
|
17
|
+
* └── <p>/<h1>/... (Markdown 渲染出的块级元素)
|
|
18
|
+
*
|
|
19
|
+
* 对齐原理(详见 rtc-message.styles.ts 注释):
|
|
20
|
+
* - 竖线 center X = 15px(left: 14px + width 2px 的一半)
|
|
21
|
+
* - dot center X = 15px(left: 15px + translateX(-50%))
|
|
22
|
+
* - dot center Y ≈ 首行文本行高中点 Y(top: 9px,基于默认 token 计算)
|
|
23
|
+
*
|
|
24
|
+
* @element rtc-message
|
|
25
|
+
* @csspart dot - The timeline dot
|
|
26
|
+
* @csspart content - The message content area
|
|
27
|
+
*/
|
|
28
|
+
import { LitElement } from 'lit';
|
|
29
|
+
import type { Message } from '../../types/index.js';
|
|
30
|
+
import type { StatefulComponent } from '../../utils/message-virtual-scroll.js';
|
|
31
|
+
export declare class RtcMessage extends LitElement implements StatefulComponent {
|
|
32
|
+
static styles: import("lit").CSSResult[];
|
|
33
|
+
private _localeCtx;
|
|
34
|
+
message: Message;
|
|
35
|
+
isLast: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Markdown 经 marked + DOMPurify 处理后得到的安全 HTML 字符串。
|
|
38
|
+
*
|
|
39
|
+
* 为什么需要这个中间 state,而不是直接渲染 message.content?
|
|
40
|
+
* 1. marked + DOMPurify 通过动态 import 懒加载(首次加载是异步的)
|
|
41
|
+
* 2. 解析结果需要在异步完成后才可用
|
|
42
|
+
* 3. 使用 @state 让结果可用时自动触发重渲染
|
|
43
|
+
*/
|
|
44
|
+
private _renderedHtml;
|
|
45
|
+
/**
|
|
46
|
+
* Thinking 内容的折叠状态。
|
|
47
|
+
*
|
|
48
|
+
* 默认折叠(false)。streaming 期间用户可以手动展开查看实时思考过程,
|
|
49
|
+
* streaming 结束后保持用户的当前选择,不自动切换。
|
|
50
|
+
*/
|
|
51
|
+
private _thinkingExpanded;
|
|
52
|
+
/**
|
|
53
|
+
* Generation counter — ensures stale parse results (from earlier content
|
|
54
|
+
* versions during streaming) never overwrite newer ones. Each call to
|
|
55
|
+
* `_parseMarkdown()` bumps the counter; if the result arrives when the
|
|
56
|
+
* counter has moved on, it is discarded.
|
|
57
|
+
*
|
|
58
|
+
* The marked + dompurify module imports are cached after first load, so
|
|
59
|
+
* subsequent parses only pay for parsing + sanitizing, not network I/O.
|
|
60
|
+
*/
|
|
61
|
+
private _parseGeneration;
|
|
62
|
+
private _modulesPromise;
|
|
63
|
+
/**
|
|
64
|
+
* Last parsed content string — used to detect if content actually changed.
|
|
65
|
+
* This prevents unnecessary re-parsing when:
|
|
66
|
+
* 1. Component is restored from skeleton (content unchanged, use cached HTML)
|
|
67
|
+
* 2. Other message fields change (syncStatus, streaming) but content is same
|
|
68
|
+
*
|
|
69
|
+
* Only when content.data changes (streaming updates) do we need to re-parse.
|
|
70
|
+
*/
|
|
71
|
+
private _lastParsedContent;
|
|
72
|
+
/**
|
|
73
|
+
* 只在 message 变化时重新解析 Markdown。
|
|
74
|
+
*
|
|
75
|
+
* 为什么不监听所有属性?
|
|
76
|
+
* - isLast 只影响外层 class(success 状态),不影响内容渲染
|
|
77
|
+
* - 监听所有属性会导致 isLast 变化时也重新跑一遍 marked + DOMPurify,浪费性能
|
|
78
|
+
*/
|
|
79
|
+
willUpdate(changed: Map<string, unknown>): void;
|
|
80
|
+
private _parseMarkdown;
|
|
81
|
+
/**
|
|
82
|
+
* 对 Markdown 渲染出的所有 <pre><code> 块应用 highlight.js 语法高亮。
|
|
83
|
+
*
|
|
84
|
+
* 流程:
|
|
85
|
+
* 1. DOMParser 把 HTML 字符串解析成 DOM
|
|
86
|
+
* 2. 遍历所有 <pre><code> 元素
|
|
87
|
+
* 3. 调用 hljs.highlightElement(),它会根据 <code> 的 class
|
|
88
|
+
* (如 language-javascript)选择语言,否则自动检测
|
|
89
|
+
* 4. 序列化回 HTML 字符串
|
|
90
|
+
*
|
|
91
|
+
* 为什么用 DOMParser 而不是正则?
|
|
92
|
+
* - 正则无法正确处理嵌套标签、HTML 实体、language hint 属性
|
|
93
|
+
* - DOMParser 由浏览器原生实现,性能足够(代码块不会很大)
|
|
94
|
+
* - highlight.js 的官方 API 就是面向 DOM 元素的 highlightElement()
|
|
95
|
+
*/
|
|
96
|
+
private _highlightCodeBlocks;
|
|
97
|
+
/**
|
|
98
|
+
* 当前消息是否为思考类型(content.type === 'thinking')。
|
|
99
|
+
* 思考类型消息渲染为可折叠区域,而非直接展示 Markdown。
|
|
100
|
+
*/
|
|
101
|
+
private get _isThinkingContent();
|
|
102
|
+
/**
|
|
103
|
+
* 当前消息是否是压缩摘要(content.type === 'summary')。
|
|
104
|
+
* 压缩摘要渲染为不可折叠的指示块:streaming 态显示"正在压缩",
|
|
105
|
+
* 完成态显示释放/增加的 token 数。
|
|
106
|
+
*/
|
|
107
|
+
private get _isSummaryContent();
|
|
108
|
+
/**
|
|
109
|
+
* 当前消息是否是 prompt 类型(content.type === 'prompt')。
|
|
110
|
+
* Prompt 消息渲染为特殊卡片,而非 Markdown。
|
|
111
|
+
*/
|
|
112
|
+
private get _isPromptContent();
|
|
113
|
+
private _toggleThinking;
|
|
114
|
+
/**
|
|
115
|
+
* Extract component state for preservation across virtualization.
|
|
116
|
+
* Called by MessageVirtualScroll before destroying the element.
|
|
117
|
+
*
|
|
118
|
+
* Preserved state:
|
|
119
|
+
* - renderedHtml: Cached Markdown HTML (avoids re-parsing on restore)
|
|
120
|
+
* - thinkingExpanded: User's expand/collapse preference for thinking blocks
|
|
121
|
+
*/
|
|
122
|
+
getState(): Record<string, unknown>;
|
|
123
|
+
/**
|
|
124
|
+
* Inject cached state after restoring from skeleton placeholder.
|
|
125
|
+
* Called synchronously before first render to avoid flicker.
|
|
126
|
+
*
|
|
127
|
+
* @param state - Previously extracted state from getState()
|
|
128
|
+
*/
|
|
129
|
+
setState(state: Record<string, unknown>): void;
|
|
130
|
+
/**
|
|
131
|
+
* 点击 timeline-dot:复制消息内容到剪贴板
|
|
132
|
+
*/
|
|
133
|
+
private _handleDotClick;
|
|
134
|
+
render(): import("lit").TemplateResult<1>;
|
|
135
|
+
/**
|
|
136
|
+
* 渲染思考内容块(可折叠)。
|
|
137
|
+
*
|
|
138
|
+
* 折叠态:显示 header 行(chevron + "思考过程"),内容隐藏。
|
|
139
|
+
* 展开态:header 行 + 下方渲染 Markdown 内容。
|
|
140
|
+
*/
|
|
141
|
+
private _renderThinkingBlock;
|
|
142
|
+
/**
|
|
143
|
+
* 渲染压缩摘要块(不可折叠)。
|
|
144
|
+
*
|
|
145
|
+
* streaming 态:显示"正在压缩上下文..."。
|
|
146
|
+
* 完成态:显示"已压缩上下文 · 释放/增加 X token"。
|
|
147
|
+
*
|
|
148
|
+
* 不再展示压缩后的摘要内容,用户无需阅读;
|
|
149
|
+
* 只关注"正在压缩"和"释放了多少 token"两个信号。
|
|
150
|
+
*/
|
|
151
|
+
private _renderSummaryBlock;
|
|
152
|
+
/**
|
|
153
|
+
* 渲染 prompt 内容块(不可折叠)。
|
|
154
|
+
*
|
|
155
|
+
* 显示格式:
|
|
156
|
+
* SCENARIOS $title
|
|
157
|
+
* [提示词预览 max-height:3行]
|
|
158
|
+
*
|
|
159
|
+
* 设计决策:
|
|
160
|
+
* - 不支持展开:系统提示词用户无需阅读完整内容
|
|
161
|
+
* - 使用左边框而非全边框:视觉上更轻盈(与 summary-block 的全边框区分)
|
|
162
|
+
* - 预览区域限制为 3 行:节省空间
|
|
163
|
+
* - 使用 <pre> 渲染 prompt 文本:保留原始格式(换行、缩进),
|
|
164
|
+
* 同时避免 HTML 注入(prompt 内容可能包含 < 和 > 字符)
|
|
165
|
+
* - 自动支持暗色主题(使用 --rtc-* CSS 变量)
|
|
166
|
+
*/
|
|
167
|
+
private _renderPromptBlock;
|
|
168
|
+
/**
|
|
169
|
+
* 从 message.content.data 提取压缩统计信息。
|
|
170
|
+
*
|
|
171
|
+
* 兼容两种数据格式:
|
|
172
|
+
* - 新格式:SummaryContent { items, metadata }
|
|
173
|
+
* - 旧格式:SummaryItem[](无 metadata,返回全 0)
|
|
174
|
+
*/
|
|
175
|
+
private _extractSummaryStats;
|
|
176
|
+
/**
|
|
177
|
+
* 格式化 token 数量,使用 K/B/T 单位。
|
|
178
|
+
*
|
|
179
|
+
* 规则:
|
|
180
|
+
* - < 1000: 显示原数(如 500)
|
|
181
|
+
* - < 1M: 显示 K(如 12.5K)
|
|
182
|
+
* - < 1B: 显示 M(如 1.5M)
|
|
183
|
+
* - >= 1B: 显示 B(如 2.3B)
|
|
184
|
+
* - >= 1T: 显示 T(如 1.2T)
|
|
185
|
+
*/
|
|
186
|
+
private _formatTokens;
|
|
187
|
+
/**
|
|
188
|
+
* 格式化持续时间。
|
|
189
|
+
*
|
|
190
|
+
* 规则:
|
|
191
|
+
* - < 1000ms: 显示 ms(如 500ms)
|
|
192
|
+
* - < 60s: 显示 s(如 3.5s)
|
|
193
|
+
* - >= 60s: 显示 m s(如 2m 30s)
|
|
194
|
+
*/
|
|
195
|
+
private _formatDuration;
|
|
196
|
+
}
|
|
197
|
+
declare global {
|
|
198
|
+
interface HTMLElementTagNameMap {
|
|
199
|
+
'rtc-message': RtcMessage;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=rtc-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAOrC,OAAO,KAAK,EAAC,OAAO,EAAgB,MAAM,sBAAsB,CAAC;AAIjE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAI7E,qBAEa,UAAW,SAAQ,UAAW,YAAW,iBAAiB;IACnE,MAAM,CAAC,MAAM,4BAAU;IAIvB,OAAO,CAAC,UAAU,CAMhB;IAGF,OAAO,EAAE,OAAO,CAA4G;IAG5H,MAAM,UAAS;IAEf;;;;;;;OAOG;IAEH,OAAO,CAAC,aAAa,CAAM;IAE3B;;;;;OAKG;IAEH,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,eAAe,CAIN;IAEjB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB,CAAc;IAExC;;;;;;OAMG;IACH,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;YAS1B,cAAc;IA+E5B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;OAGG;IACH,OAAO,KAAK,kBAAkB,GAE7B;IAED;;;;OAIG;IACH,OAAO,KAAK,iBAAiB,GAE5B;IAED;;;OAGG;IACH,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,CAAC,eAAe;IAMvB;;;;;;;OAOG;IACH,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOnC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS9C;;OAEG;YACW,eAAe;IAe7B,MAAM;IAsDN;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAkBrB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;CAY1B;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,aAAa,EAAE,UAAU,CAAC;KAC7B;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message.styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message.styles.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,MAAM,2BAkgBlB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RTC Scroll Container Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable wrapper that provides scroll lock functionality for content areas.
|
|
5
|
+
* Prevents nested scroll conflicts by locking internal scroll by default.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Default locked state with subtle bottom gradient overlay
|
|
9
|
+
* - Click toggle button to unlock scrolling
|
|
10
|
+
* - Smooth transitions between locked/unlocked states
|
|
11
|
+
* - Configurable max-height via CSS variables
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* ```html
|
|
15
|
+
* <rtc-scroll-container max-height="var(--rtc-content-height-md)">
|
|
16
|
+
* <pre>Long content here...</pre>
|
|
17
|
+
* </rtc-scroll-container>
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @element rtc-scroll-container
|
|
21
|
+
* @slot - Default slot for scrollable content
|
|
22
|
+
* @cssprop --rtc-scroll-max-height-locked - Max height when locked (default: 100px)
|
|
23
|
+
* @cssprop --rtc-scroll-max-height-unlocked - Max height when unlocked (default: 200px)
|
|
24
|
+
*/
|
|
25
|
+
import { LitElement } from 'lit';
|
|
26
|
+
export declare class RtcScrollContainer extends LitElement {
|
|
27
|
+
static styles: import("lit").CSSResult;
|
|
28
|
+
/** Initial lock state (default: true = locked) */
|
|
29
|
+
initialLocked: boolean;
|
|
30
|
+
/** Whether content is currently scroll-locked */
|
|
31
|
+
private _scrollLocked;
|
|
32
|
+
constructor();
|
|
33
|
+
/** Toggle scroll lock state */
|
|
34
|
+
private _toggleScrollLock;
|
|
35
|
+
/** Get current lock state (for external access if needed) */
|
|
36
|
+
get isLocked(): boolean;
|
|
37
|
+
render(): import("lit").TemplateResult<1>;
|
|
38
|
+
}
|
|
39
|
+
declare global {
|
|
40
|
+
interface HTMLElementTagNameMap {
|
|
41
|
+
'rtc-scroll-container': RtcScrollContainer;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=rtc-scroll-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-scroll-container.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-scroll-container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAIrC,qBACa,kBAAmB,SAAQ,UAAU;IAC9C,MAAM,CAAC,MAAM,0BAAU;IAEvB,kDAAkD;IAElD,aAAa,UAAQ;IAErB,iDAAiD;IAEjD,OAAO,CAAC,aAAa,CAAQ;;IAO7B,+BAA+B;IAC/B,OAAO,CAAC,iBAAiB;IAIzB,6DAA6D;IAC7D,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,MAAM;CAsBT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,sBAAsB,EAAE,kBAAkB,CAAC;KAC9C;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-scroll-container.styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-scroll-container.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,yBAiFlB,CAAC"}
|