@rtc-agent/component 0.2.7-rc.4 → 0.2.8-rc.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/README.md +109 -13
- package/dist/.generated/locales/en-US.d.ts +55 -7
- package/dist/.generated/locales/en-US.d.ts.map +1 -1
- package/dist/assets/{shared-worker-BQv441O7.js → shared-worker-CXyjL7E6.js} +210 -210
- package/dist/components/activity-bar/rtc-activity-bar.d.ts +23 -21
- package/dist/components/activity-bar/rtc-activity-bar.d.ts.map +1 -1
- package/dist/components/activity-bar/rtc-activity-bar.styles.d.ts +2 -2
- package/dist/components/chat-layout/rtc-chat-layout.d.ts +87 -80
- package/dist/components/chat-layout/rtc-chat-layout.d.ts.map +1 -1
- package/dist/components/chat-layout/rtc-chat-layout.styles.d.ts +5 -5
- package/dist/components/content-area/rtc-error-message.d.ts +1 -1
- package/dist/components/content-area/rtc-message-more-menu.d.ts +4 -4
- package/dist/components/content-area/rtc-message-more-menu.d.ts.map +1 -1
- package/dist/components/content-area/rtc-message.d.ts +82 -76
- package/dist/components/content-area/rtc-message.d.ts.map +1 -1
- package/dist/components/content-area/rtc-message.styles.d.ts.map +1 -1
- package/dist/components/content-area/rtc-toolcall-card.d.ts +10 -5
- package/dist/components/content-area/rtc-toolcall-card.d.ts.map +1 -1
- package/dist/components/content-area/rtc-toolcall-card.styles.d.ts.map +1 -1
- package/dist/components/content-area/rtc-toolcall-reply.d.ts +12 -0
- package/dist/components/content-area/rtc-toolcall-reply.d.ts.map +1 -1
- package/dist/components/content-area/rtc-toolcall-reply.styles.d.ts.map +1 -1
- package/dist/components/content-area/rtc-user-message.d.ts +10 -10
- package/dist/components/drawer/rtc-drawer.d.ts +29 -27
- package/dist/components/drawer/rtc-drawer.d.ts.map +1 -1
- package/dist/components/drawer/rtc-drawer.styles.d.ts +9 -9
- package/dist/components/editor-area/rtc-editor-area.d.ts +29 -29
- package/dist/components/editor-area/rtc-editor-area.d.ts.map +1 -1
- package/dist/components/editor-area/rtc-editor-area.styles.d.ts +3 -3
- package/dist/components/editor-area/rtc-editor-tab.d.ts +27 -27
- package/dist/components/editor-area/rtc-editor-tab.d.ts.map +1 -1
- package/dist/components/editor-area/rtc-editor-tab.styles.d.ts +3 -3
- package/dist/components/editor-area/rtc-editor-toolbar.d.ts +19 -19
- package/dist/components/editor-area/rtc-editor-toolbar.d.ts.map +1 -1
- package/dist/components/editor-area/rtc-editor-toolbar.styles.d.ts +3 -3
- package/dist/components/file-explorer/rtc-file-explorer.d.ts +28 -28
- package/dist/components/file-explorer/rtc-file-explorer.d.ts.map +1 -1
- package/dist/components/file-explorer/rtc-file-explorer.styles.d.ts +3 -3
- package/dist/components/file-explorer/rtc-file-tree-item.d.ts +19 -19
- package/dist/components/file-explorer/rtc-file-tree-item.d.ts.map +1 -1
- package/dist/components/file-explorer/rtc-file-tree-item.styles.d.ts +3 -3
- package/dist/components/function-console/rtc-function-console.d.ts +32 -0
- package/dist/components/function-console/rtc-function-console.d.ts.map +1 -0
- package/dist/components/function-console/rtc-function-console.styles.d.ts +8 -0
- package/dist/components/function-console/rtc-function-console.styles.d.ts.map +1 -0
- package/dist/components/function-debugger/rtc-function-debugger.d.ts +39 -0
- package/dist/components/function-debugger/rtc-function-debugger.d.ts.map +1 -0
- package/dist/components/function-debugger/rtc-function-debugger.styles.d.ts +8 -0
- package/dist/components/function-debugger/rtc-function-debugger.styles.d.ts.map +1 -0
- package/dist/components/function-history/rtc-function-history.d.ts +49 -0
- package/dist/components/function-history/rtc-function-history.d.ts.map +1 -0
- package/dist/components/function-history/rtc-function-history.styles.d.ts +8 -0
- package/dist/components/function-history/rtc-function-history.styles.d.ts.map +1 -0
- package/dist/components/function-params/rtc-function-params.d.ts +29 -0
- package/dist/components/function-params/rtc-function-params.d.ts.map +1 -0
- package/dist/components/function-params/rtc-function-params.styles.d.ts +8 -0
- package/dist/components/function-params/rtc-function-params.styles.d.ts.map +1 -0
- package/dist/components/function-tree/rtc-function-tree.d.ts +59 -0
- package/dist/components/function-tree/rtc-function-tree.d.ts.map +1 -0
- package/dist/components/function-tree/rtc-function-tree.styles.d.ts +2 -0
- package/dist/components/function-tree/rtc-function-tree.styles.d.ts.map +1 -0
- package/dist/components/functions-layout/rtc-functions-layout.d.ts +45 -0
- package/dist/components/functions-layout/rtc-functions-layout.d.ts.map +1 -0
- package/dist/components/functions-layout/rtc-functions-layout.styles.d.ts +8 -0
- package/dist/components/functions-layout/rtc-functions-layout.styles.d.ts.map +1 -0
- package/dist/components/input-area/rtc-input-area.d.ts +15 -15
- package/dist/components/input-area/rtc-input-area.d.ts.map +1 -1
- package/dist/components/login/rtc-login-page.d.ts +8 -8
- package/dist/components/markdown-editor/rtc-markdown-editor.d.ts +23 -19
- package/dist/components/markdown-editor/rtc-markdown-editor.d.ts.map +1 -1
- package/dist/components/overlay/rtc-command-panel.d.ts.map +1 -1
- package/dist/components/overlay/rtc-export-dialog.d.ts +59 -0
- package/dist/components/overlay/rtc-export-dialog.d.ts.map +1 -0
- package/dist/components/overlay/rtc-export-dialog.styles.d.ts +11 -0
- package/dist/components/overlay/rtc-export-dialog.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-scenario-panel.d.ts +1 -1
- package/dist/components/overlay/rtc-scenario-panel.d.ts.map +1 -1
- package/dist/components/overlay/rtc-session-panel.d.ts +1 -1
- package/dist/components/overlay/rtc-session-panel.d.ts.map +1 -1
- package/dist/components/overlay/rtc-toast.d.ts +8 -8
- package/dist/components/rtc-agent/helpers/bus-handler.d.ts +32 -1
- package/dist/components/rtc-agent/helpers/bus-handler.d.ts.map +1 -1
- package/dist/components/rtc-agent/helpers/command-handler.d.ts +8 -0
- package/dist/components/rtc-agent/helpers/command-handler.d.ts.map +1 -1
- package/dist/components/rtc-agent/helpers/connection-setup.d.ts +5 -8
- package/dist/components/rtc-agent/helpers/connection-setup.d.ts.map +1 -1
- package/dist/components/rtc-agent/helpers/dialog-helpers.d.ts +12 -0
- package/dist/components/rtc-agent/helpers/dialog-helpers.d.ts.map +1 -1
- package/dist/components/rtc-agent/helpers/session-loader.d.ts +2 -0
- package/dist/components/rtc-agent/helpers/session-loader.d.ts.map +1 -1
- package/dist/components/rtc-agent/helpers/vfs-operations.d.ts +22 -3
- package/dist/components/rtc-agent/helpers/vfs-operations.d.ts.map +1 -1
- package/dist/components/rtc-agent/rtc-agent.d.ts +22 -47
- package/dist/components/rtc-agent/rtc-agent.d.ts.map +1 -1
- package/dist/components/session-tree/rtc-session-tab-bar.d.ts +8 -8
- package/dist/components/session-tree/rtc-session-tab-bar.d.ts.map +1 -1
- package/dist/components/session-tree/rtc-session-tab-bar.styles.d.ts +5 -5
- package/dist/components/session-tree/rtc-session-tab.d.ts +6 -6
- package/dist/components/session-tree/rtc-session-tab.d.ts.map +1 -1
- package/dist/components/session-tree/rtc-session-tab.styles.d.ts +6 -6
- package/dist/components/session-tree/rtc-session-tree-item.d.ts +10 -10
- package/dist/components/session-tree/rtc-session-tree-item.d.ts.map +1 -1
- package/dist/components/session-tree/rtc-session-tree-item.styles.d.ts +6 -6
- package/dist/components/session-tree/rtc-session-tree.d.ts +15 -15
- package/dist/components/session-tree/rtc-session-tree.d.ts.map +1 -1
- package/dist/components/session-tree/rtc-session-tree.styles.d.ts +5 -5
- package/dist/components/settings-layout/rtc-settings-layout.d.ts +23 -23
- package/dist/components/settings-layout/rtc-settings-layout.d.ts.map +1 -1
- package/dist/components/settings-layout/rtc-settings-layout.styles.d.ts +3 -3
- package/dist/components/settings-layout/rtc-settings-nav.d.ts +17 -17
- package/dist/components/settings-layout/rtc-settings-nav.d.ts.map +1 -1
- package/dist/components/settings-layout/rtc-settings-nav.styles.d.ts +2 -2
- package/dist/components/status-bar/rtc-status-bar.d.ts +10 -10
- package/dist/components/status-bar/rtc-status-bar.d.ts.map +1 -1
- package/dist/components/status-bar/rtc-status-bar.styles.d.ts +5 -5
- package/dist/components/title-bar/rtc-title-bar.d.ts +4 -4
- package/dist/components/title-bar/rtc-title-bar.d.ts.map +1 -1
- package/dist/components/token-usage/rtc-token-usage.d.ts +21 -21
- package/dist/components/token-usage/rtc-token-usage.d.ts.map +1 -1
- package/dist/config/auth.d.ts +12 -6
- package/dist/config/auth.d.ts.map +1 -1
- package/dist/contexts/activity.d.ts +13 -13
- package/dist/contexts/activity.d.ts.map +1 -1
- package/dist/contexts/auth.d.ts +5 -4
- package/dist/contexts/auth.d.ts.map +1 -1
- package/dist/contexts/editor.d.ts +13 -13
- package/dist/contexts/editor.d.ts.map +1 -1
- package/dist/contexts/file-explorer.d.ts +15 -15
- package/dist/contexts/file-explorer.d.ts.map +1 -1
- package/dist/contexts/function-debug.d.ts +52 -0
- package/dist/contexts/function-debug.d.ts.map +1 -0
- package/dist/contexts/functions.d.ts +43 -0
- package/dist/contexts/functions.d.ts.map +1 -0
- package/dist/contexts/message.d.ts +3 -3
- package/dist/contexts/notification.d.ts +4 -4
- package/dist/contexts/notification.d.ts.map +1 -1
- package/dist/contexts/settings.d.ts +2 -2
- package/dist/contexts/skill.d.ts +5 -5
- package/dist/contexts/skill.d.ts.map +1 -1
- package/dist/contexts/turn-count.d.ts +7 -7
- package/dist/controllers/activity.controller.d.ts +11 -11
- package/dist/controllers/activity.controller.d.ts.map +1 -1
- package/dist/controllers/auth.controller.d.ts +5 -0
- package/dist/controllers/auth.controller.d.ts.map +1 -1
- package/dist/controllers/editor-area.controller.d.ts +42 -41
- package/dist/controllers/editor-area.controller.d.ts.map +1 -1
- package/dist/controllers/editor.controller.d.ts +3 -3
- package/dist/controllers/event-binding.controller.d.ts +204 -0
- package/dist/controllers/event-binding.controller.d.ts.map +1 -0
- package/dist/controllers/file-explorer.controller.d.ts +6 -6
- package/dist/controllers/function-debug.controller.d.ts +67 -0
- package/dist/controllers/function-debug.controller.d.ts.map +1 -0
- package/dist/controllers/functions.controller.d.ts +31 -0
- package/dist/controllers/functions.controller.d.ts.map +1 -0
- package/dist/controllers/message.controller.d.ts +11 -1
- package/dist/controllers/message.controller.d.ts.map +1 -1
- package/dist/controllers/notification.controller.d.ts +34 -30
- package/dist/controllers/notification.controller.d.ts.map +1 -1
- package/dist/controllers/persistence.controller.d.ts +31 -14
- package/dist/controllers/persistence.controller.d.ts.map +1 -1
- package/dist/controllers/session-tab.controller.d.ts +32 -29
- package/dist/controllers/session-tab.controller.d.ts.map +1 -1
- package/dist/controllers/session-tree.controller.d.ts +10 -10
- package/dist/controllers/session-tree.controller.d.ts.map +1 -1
- package/dist/controllers/session.controller.d.ts +6 -6
- package/dist/controllers/settings.controller.d.ts +1 -1
- package/dist/controllers/skill.controller.d.ts +21 -21
- package/dist/controllers/skill.controller.d.ts.map +1 -1
- package/dist/controllers/status-bar.controller.d.ts +11 -11
- package/dist/controllers/toast.controller.d.ts.map +1 -1
- package/dist/controllers/tool-call.controller.d.ts +4 -4
- package/dist/controllers/window-interaction.controller.d.ts +14 -12
- package/dist/controllers/window-interaction.controller.d.ts.map +1 -1
- package/dist/controllers/window-state.controller.d.ts +5 -5
- package/dist/controllers/window-state.controller.d.ts.map +1 -1
- package/dist/core/builtin-system-group.d.ts +26 -19
- package/dist/core/builtin-system-group.d.ts.map +1 -1
- package/dist/core/event-bus.d.ts +31 -31
- package/dist/core/function-registry.d.ts +82 -71
- package/dist/core/function-registry.d.ts.map +1 -1
- package/dist/core/i18n.d.ts +2 -2
- package/dist/core/locale-controller.d.ts +2 -2
- package/dist/core/markdown-generator.d.ts +20 -10
- package/dist/core/markdown-generator.d.ts.map +1 -1
- package/dist/core/ready.d.ts +9 -9
- package/dist/core/scenario-loader.d.ts +29 -25
- package/dist/core/scenario-loader.d.ts.map +1 -1
- package/dist/elements.d.ts +6 -6
- package/dist/{en-US-BK61Z8gy.js → en-US-DGPo7Pzk.js} +56 -8
- package/dist/factory.d.ts.map +1 -1
- package/dist/{highlight-languages-8EK0uwTA.js → highlight-languages-BStkA3vP.js} +1 -1
- package/dist/icons/logo.d.ts +5 -5
- package/dist/{index-Bd4j91y1.js → index-c20k11wZ.js} +28078 -23840
- package/dist/index.d.ts +17 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -36
- package/dist/index.umd.js +3277 -1094
- package/dist/master-lock.d.ts +27 -27
- package/dist/master-lock.d.ts.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/types/activity-bar-config.d.ts +14 -14
- package/dist/types/activity-bar-config.d.ts.map +1 -1
- package/dist/types/agent-config.d.ts +18 -18
- package/dist/types/agent-config.d.ts.map +1 -1
- package/dist/types/events.d.ts +75 -19
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/factory.d.ts +13 -5
- package/dist/types/factory.d.ts.map +1 -1
- package/dist/types/functions-debug.d.ts +48 -0
- package/dist/types/functions-debug.d.ts.map +1 -0
- package/dist/types/index.d.ts +97 -102
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/skill.d.ts +95 -83
- package/dist/types/skill.d.ts.map +1 -1
- package/dist/types/window-config.d.ts +37 -37
- package/dist/types/window-config.d.ts.map +1 -1
- package/dist/utils/clipboard.d.ts +6 -6
- package/dist/utils/command-parser.d.ts +9 -9
- package/dist/utils/command-parser.d.ts.map +1 -1
- package/dist/utils/highlight-languages.d.ts +3 -3
- package/dist/utils/relative-time.d.ts +7 -7
- package/dist/utils/session-exporter.d.ts +65 -0
- package/dist/utils/session-exporter.d.ts.map +1 -0
- package/dist/utils/skeleton-tracker.d.ts +56 -56
- package/dist/utils/skeleton-tracker.d.ts.map +1 -1
- package/dist/utils/visibility-manager.d.ts +42 -42
- package/dist/utils/visibility-manager.d.ts.map +1 -1
- package/dist/validation/index.d.ts +16 -16
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/openapi-to-zod.d.ts +5 -5
- package/dist/validation/zod-to-openapi.d.ts +24 -14
- package/dist/validation/zod-to-openapi.d.ts.map +1 -1
- package/dist/worker-bridge.d.ts +11 -0
- package/dist/worker-bridge.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -6,20 +6,20 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Markdown parsing is lazy-loaded (Lit best-practice 7-3).
|
|
8
8
|
*
|
|
9
|
-
* ## Layout model (
|
|
9
|
+
* ## Layout model (Timeline layout)
|
|
10
10
|
*
|
|
11
|
-
* DOM
|
|
12
|
-
* .timeline-item (position: relative, padding-left
|
|
13
|
-
* ├── .timeline-dot (absolute,
|
|
14
|
-
* ├── ::before (
|
|
11
|
+
* DOM structure:
|
|
12
|
+
* .timeline-item (position: relative, padding-left reserves space for dot + vertical line)
|
|
13
|
+
* ├── .timeline-dot (absolute, shares left reference frame with the vertical line)
|
|
14
|
+
* ├── ::before (vertical line, absolutely positioned pseudo-element)
|
|
15
15
|
* └── .timeline-content
|
|
16
|
-
* └── div (rendered-HTML
|
|
17
|
-
* └── <p>/<h1>/... (Markdown
|
|
16
|
+
* └── div (rendered-HTML wrapper layer)
|
|
17
|
+
* └── <p>/<h1>/... (block-level elements produced by Markdown rendering)
|
|
18
18
|
*
|
|
19
|
-
*
|
|
20
|
-
* -
|
|
21
|
-
* - dot center X
|
|
22
|
-
* - dot center Y
|
|
19
|
+
* Alignment principle (see rtc-message.styles.ts comments for details):
|
|
20
|
+
* - vertical line center X = 15px (left: 14px + half of width 2px)
|
|
21
|
+
* - dot center X = 15px (left: 15px + translateX(-50%))
|
|
22
|
+
* - dot center Y ≈ first-line text line-height midpoint Y (top: 9px, based on default token calculation)
|
|
23
23
|
*
|
|
24
24
|
* @element rtc-message
|
|
25
25
|
* @csspart dot - The timeline dot
|
|
@@ -34,19 +34,20 @@ export declare class RtcMessage extends LitElement implements StatefulComponent
|
|
|
34
34
|
message: Message;
|
|
35
35
|
isLast: boolean;
|
|
36
36
|
/**
|
|
37
|
-
* Markdown
|
|
37
|
+
* Safe HTML string produced by processing Markdown through marked + DOMPurify.
|
|
38
38
|
*
|
|
39
|
-
*
|
|
40
|
-
* 1. marked + DOMPurify
|
|
41
|
-
* 2.
|
|
42
|
-
* 3.
|
|
39
|
+
* Why is this intermediate @state needed instead of rendering message.content directly?
|
|
40
|
+
* 1. marked + DOMPurify are lazy-loaded via dynamic import (first load is async)
|
|
41
|
+
* 2. Parse results are only available after async completion
|
|
42
|
+
* 3. Using @state triggers automatic re-render when results become available
|
|
43
43
|
*/
|
|
44
44
|
private _renderedHtml;
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* Collapse state for thinking content.
|
|
47
47
|
*
|
|
48
|
-
*
|
|
49
|
-
* streaming
|
|
48
|
+
* Default collapsed (false). During streaming, user can manually expand to view
|
|
49
|
+
* real-time thinking process. After streaming ends, the user's current choice
|
|
50
|
+
* is preserved without automatic switching.
|
|
50
51
|
*/
|
|
51
52
|
private _thinkingExpanded;
|
|
52
53
|
/**
|
|
@@ -70,44 +71,49 @@ export declare class RtcMessage extends LitElement implements StatefulComponent
|
|
|
70
71
|
*/
|
|
71
72
|
private _lastParsedContent;
|
|
72
73
|
/**
|
|
73
|
-
*
|
|
74
|
+
* Only re-parse Markdown when message changes.
|
|
74
75
|
*
|
|
75
|
-
*
|
|
76
|
-
* - isLast
|
|
77
|
-
* -
|
|
76
|
+
* Why not watch all properties?
|
|
77
|
+
* - isLast only affects outer class (success state), not content rendering
|
|
78
|
+
* - Watching all properties would cause marked + DOMPurify to re-run on isLast changes, wasting performance
|
|
78
79
|
*/
|
|
79
80
|
willUpdate(changed: Map<string, unknown>): void;
|
|
81
|
+
/**
|
|
82
|
+
* Lazy-load marked + DOMPurify + highlight.js with retry logic.
|
|
83
|
+
* Handles stale chunk errors during development (when rebuilds change chunk hashes).
|
|
84
|
+
*/
|
|
85
|
+
private _loadModulesWithRetry;
|
|
80
86
|
private _parseMarkdown;
|
|
81
87
|
/**
|
|
82
|
-
*
|
|
88
|
+
* Apply highlight.js syntax highlighting to all <pre><code> blocks from Markdown rendering.
|
|
83
89
|
*
|
|
84
|
-
*
|
|
85
|
-
* 1. DOMParser
|
|
86
|
-
* 2.
|
|
87
|
-
* 3.
|
|
88
|
-
*
|
|
89
|
-
* 4.
|
|
90
|
+
* Flow:
|
|
91
|
+
* 1. DOMParser parses HTML string into DOM
|
|
92
|
+
* 2. Iterate all <pre><code> elements
|
|
93
|
+
* 3. Call hljs.highlightElement(), which selects language based on <code>'s class
|
|
94
|
+
* (e.g. language-javascript), otherwise auto-detects
|
|
95
|
+
* 4. Serialize back to HTML string
|
|
90
96
|
*
|
|
91
|
-
*
|
|
92
|
-
* -
|
|
93
|
-
* - DOMParser
|
|
94
|
-
* - highlight.js
|
|
97
|
+
* Why use DOMParser instead of regex?
|
|
98
|
+
* - Regex cannot correctly handle nested tags, HTML entities, language hint attributes
|
|
99
|
+
* - DOMParser is natively implemented by the browser, performance is sufficient (code blocks aren't large)
|
|
100
|
+
* - highlight.js's official API is the DOM-element-oriented highlightElement()
|
|
95
101
|
*/
|
|
96
102
|
private _highlightCodeBlocks;
|
|
97
103
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
104
|
+
* Whether the current message is thinking type (content.type === 'thinking').
|
|
105
|
+
* Thinking type messages render as collapsible sections, not direct Markdown display.
|
|
100
106
|
*/
|
|
101
107
|
private get _isThinkingContent();
|
|
102
108
|
/**
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
109
|
+
* Whether the current message is a compression summary (content.type === 'summary').
|
|
110
|
+
* Compression summaries render as non-collapsible indicator blocks: streaming state shows "compressing",
|
|
111
|
+
* completed state shows released/increased token count.
|
|
106
112
|
*/
|
|
107
113
|
private get _isSummaryContent();
|
|
108
114
|
/**
|
|
109
|
-
*
|
|
110
|
-
* Prompt
|
|
115
|
+
* Whether the current message is prompt type (content.type === 'prompt').
|
|
116
|
+
* Prompt messages render as special cards, not Markdown.
|
|
111
117
|
*/
|
|
112
118
|
private get _isPromptContent();
|
|
113
119
|
private _toggleThinking;
|
|
@@ -128,69 +134,69 @@ export declare class RtcMessage extends LitElement implements StatefulComponent
|
|
|
128
134
|
*/
|
|
129
135
|
setState(state: Record<string, unknown>): void;
|
|
130
136
|
/**
|
|
131
|
-
*
|
|
137
|
+
* On timeline-dot click: copy message content to clipboard
|
|
132
138
|
*/
|
|
133
139
|
private _handleDotClick;
|
|
134
140
|
render(): import("lit").TemplateResult<1>;
|
|
135
141
|
/**
|
|
136
|
-
*
|
|
142
|
+
* Render thinking content block (collapsible).
|
|
137
143
|
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
144
|
+
* Collapsed state: shows header row (chevron + "Thinking process"), content hidden.
|
|
145
|
+
* Expanded state: header row + Markdown content rendered below.
|
|
140
146
|
*/
|
|
141
147
|
private _renderThinkingBlock;
|
|
142
148
|
/**
|
|
143
|
-
*
|
|
149
|
+
* Render compression summary block (non-collapsible).
|
|
144
150
|
*
|
|
145
|
-
*
|
|
146
|
-
*
|
|
151
|
+
* Streaming state: shows "Compressing context...".
|
|
152
|
+
* Completed state: shows "Compressed context · released/increased X tokens".
|
|
147
153
|
*
|
|
148
|
-
*
|
|
149
|
-
*
|
|
154
|
+
* No longer displays the compressed summary content, user doesn't need to read it;
|
|
155
|
+
* only focuses on two signals: "compressing" and "how many tokens were released".
|
|
150
156
|
*/
|
|
151
157
|
private _renderSummaryBlock;
|
|
152
158
|
/**
|
|
153
|
-
*
|
|
159
|
+
* Render prompt content block (non-collapsible).
|
|
154
160
|
*
|
|
155
|
-
*
|
|
161
|
+
* Display format:
|
|
156
162
|
* SCENARIOS $title
|
|
157
|
-
* [
|
|
163
|
+
* [Prompt preview max-height:3 lines]
|
|
158
164
|
*
|
|
159
|
-
*
|
|
160
|
-
* -
|
|
161
|
-
* -
|
|
162
|
-
* -
|
|
163
|
-
* -
|
|
164
|
-
*
|
|
165
|
-
* -
|
|
165
|
+
* Design decisions:
|
|
166
|
+
* - No expand support: users don't need to read full system prompt content
|
|
167
|
+
* - Uses left border instead of full border: visually lighter (distinguished from summary-block's full border)
|
|
168
|
+
* - Preview area limited to 3 lines: saves space
|
|
169
|
+
* - Uses <pre> to render prompt text: preserves original formatting (line breaks, indentation),
|
|
170
|
+
* while avoiding HTML injection (prompt content may contain < and > characters)
|
|
171
|
+
* - Automatically supports dark theme (uses --rtc-* CSS variables)
|
|
166
172
|
*/
|
|
167
173
|
private _renderPromptBlock;
|
|
168
174
|
/**
|
|
169
|
-
*
|
|
175
|
+
* Extract compression statistics from message.content.data.
|
|
170
176
|
*
|
|
171
|
-
*
|
|
172
|
-
* -
|
|
173
|
-
* -
|
|
177
|
+
* Compatible with two data formats:
|
|
178
|
+
* - New format: SummaryContent { items, metadata }
|
|
179
|
+
* - Old format: SummaryItem[] (no metadata, returns all zeros)
|
|
174
180
|
*/
|
|
175
181
|
private _extractSummaryStats;
|
|
176
182
|
/**
|
|
177
|
-
*
|
|
183
|
+
* Format token count using K/B/T units.
|
|
178
184
|
*
|
|
179
|
-
*
|
|
180
|
-
* - < 1000:
|
|
181
|
-
* - < 1M:
|
|
182
|
-
* - < 1B:
|
|
183
|
-
* - >= 1B:
|
|
184
|
-
* - >= 1T:
|
|
185
|
+
* Rules:
|
|
186
|
+
* - < 1000: show raw number (e.g. 500)
|
|
187
|
+
* - < 1M: show K (e.g. 12.5K)
|
|
188
|
+
* - < 1B: show M (e.g. 1.5M)
|
|
189
|
+
* - >= 1B: show B (e.g. 2.3B)
|
|
190
|
+
* - >= 1T: show T (e.g. 1.2T)
|
|
185
191
|
*/
|
|
186
192
|
private _formatTokens;
|
|
187
193
|
/**
|
|
188
|
-
*
|
|
194
|
+
* Format duration.
|
|
189
195
|
*
|
|
190
|
-
*
|
|
191
|
-
* - < 1000ms:
|
|
192
|
-
* - < 60s:
|
|
193
|
-
* - >= 60s:
|
|
196
|
+
* Rules:
|
|
197
|
+
* - < 1000ms: show ms (e.g. 500ms)
|
|
198
|
+
* - < 60s: show s (e.g. 3.5s)
|
|
199
|
+
* - >= 60s: show m s (e.g. 2m 30s)
|
|
194
200
|
*/
|
|
195
201
|
private _formatDuration;
|
|
196
202
|
}
|
|
@@ -1 +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
|
|
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;;;;;;OAMG;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;IASxC;;;OAGG;YACW,qBAAqB;YA4BrB,cAAc;IAwE5B;;;;;;;;;;;;;;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"}
|
|
@@ -1 +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,
|
|
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,2BAmgBlB,CAAC"}
|
|
@@ -50,13 +50,10 @@ export declare class RtcToolCallCard extends LitElement {
|
|
|
50
50
|
* Get IN section copy text (input parameters)
|
|
51
51
|
*/
|
|
52
52
|
private get _inCopyText();
|
|
53
|
-
/**
|
|
54
|
-
* Get OUT section copy text (output result)
|
|
55
|
-
*/
|
|
56
|
-
private get _outCopyText();
|
|
57
53
|
private _handleCopy;
|
|
58
54
|
/**
|
|
59
|
-
*
|
|
55
|
+
* Copy tool call content (corresponds to dot click).
|
|
56
|
+
* Input card's dot should copy input content (render-what-you-see principle).
|
|
60
57
|
*/
|
|
61
58
|
private _handleDotClick;
|
|
62
59
|
render(): import("lit").TemplateResult<1>;
|
|
@@ -72,6 +69,14 @@ export declare class RtcToolCallCard extends LitElement {
|
|
|
72
69
|
* Render script tool input based on action type.
|
|
73
70
|
*/
|
|
74
71
|
private _renderScriptInput;
|
|
72
|
+
/**
|
|
73
|
+
* Render todoWrite tool input as a todo list.
|
|
74
|
+
*/
|
|
75
|
+
private _renderTodoWriteInput;
|
|
76
|
+
/**
|
|
77
|
+
* Render a single todo item.
|
|
78
|
+
*/
|
|
79
|
+
private _renderTodoItem;
|
|
75
80
|
}
|
|
76
81
|
declare global {
|
|
77
82
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtc-toolcall-card.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-toolcall-card.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAC,UAAU,EAAgB,MAAM,KAAK,CAAC;AAO9C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAIlD,OAAO,2BAA2B,CAAC;AAInC;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"rtc-toolcall-card.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-toolcall-card.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAC,UAAU,EAAgB,MAAM,KAAK,CAAC;AAO9C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAIlD,OAAO,2BAA2B,CAAC;AAInC;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AA4JD,qBAEa,eAAgB,SAAQ,UAAU;IAC3C,MAAM,CAAC,MAAM,4BAAU;IAIvB,OAAO,CAAC,UAAU,CAMhB;IAGF,IAAI,EAAE,YAAY,CAAqH;IAGvI,MAAM,UAAS;IAEf,YAAY;IAOZ,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAOrC,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,KAAK,mBAAmB,GAE9B;IAED;;OAEG;IACH,OAAO,KAAK,WAAW,GAmBtB;YAEa,WAAW;IAczB;;;OAGG;YACW,eAAe;IAI7B,MAAM;IAkCN;;OAEG;IACH,OAAO,CAAC,aAAa;IA8CrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+D1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,CAAC,eAAe;CAoB1B;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,eAAe,CAAC;KACxC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtc-toolcall-card.styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-toolcall-card.styles.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"rtc-toolcall-card.styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-toolcall-card.styles.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,MAAM,2BAuPlB,CAAC"}
|
|
@@ -39,7 +39,19 @@ export declare class RtcToolCallReply extends LitElement {
|
|
|
39
39
|
* Handle header click: dispatch jump event to scroll to input.
|
|
40
40
|
*/
|
|
41
41
|
private _handleHeaderClick;
|
|
42
|
+
/**
|
|
43
|
+
* Handle dot click: copy output content to clipboard.
|
|
44
|
+
*/
|
|
45
|
+
private _handleDotClick;
|
|
46
|
+
/**
|
|
47
|
+
* Get text to copy based on tool type.
|
|
48
|
+
*/
|
|
49
|
+
private _getCopyText;
|
|
42
50
|
render(): import("lit").TemplateResult<1>;
|
|
51
|
+
/**
|
|
52
|
+
* Empty reply: renders with height 0 (for tools like todoWrite where output is not important).
|
|
53
|
+
*/
|
|
54
|
+
private _renderEmptyReply;
|
|
43
55
|
/**
|
|
44
56
|
* Fallback: unparseable output rendered as plain text.
|
|
45
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtc-toolcall-reply.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-toolcall-reply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAC,UAAU,EAAgB,MAAM,KAAK,CAAC;AAM9C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"rtc-toolcall-reply.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-toolcall-reply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAC,UAAU,EAAgB,MAAM,KAAK,CAAC;AAM9C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAKlD,OAAO,2BAA2B,CAAC;AAsUnC,qBAEa,gBAAiB,SAAQ,UAAU;IAC5C,MAAM,CAAC,MAAM,4BAAU;IAIvB,OAAO,CAAC,UAAU,CAMhB;IAEF,kCAAkC;IAElC,OAAO,EAAG,OAAO,CAAC;IAElB,YAAY;IAUZ,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAOrC,OAAO,CAAC,aAAa;IAMrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAexB,OAAO,KAAK,mBAAmB,GAE9B;IAED;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;YACW,eAAe;IAe7B;;OAEG;IACH,OAAO,CAAC,YAAY;IA6BpB,MAAM;IA2BN;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsF1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkCxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAuC9B;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,oBAAoB,EAAE,gBAAgB,CAAC;KAC1C;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtc-toolcall-reply.styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-toolcall-reply.styles.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"rtc-toolcall-reply.styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-toolcall-reply.styles.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,MAAM,2BA8JlB,CAAC"}
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
*
|
|
16
16
|
* | syncStatus | more-btn | menu contents | border style |
|
|
17
17
|
* |------------|----------|------------------------|--------------|
|
|
18
|
-
* | pending | ✓ |
|
|
19
|
-
* | synced | ✓ |
|
|
20
|
-
* | failed | ✓ |
|
|
18
|
+
* | pending | ✓ | Copy, Fork + timestamp | glow breathing animation |
|
|
19
|
+
* | synced | ✓ | Copy, Fork + timestamp | static default border |
|
|
20
|
+
* | failed | ✓ | Copy, Fork, Retry + timestamp | static error border |
|
|
21
21
|
*
|
|
22
22
|
* ## Attributes (reflected for CSS targeting):
|
|
23
23
|
* - `data-sync-status` — "pending" | "synced" | "failed"
|
|
@@ -45,7 +45,7 @@ export declare class RtcUserMessage extends LitElement implements StatefulCompon
|
|
|
45
45
|
private _showMoreMenu;
|
|
46
46
|
private _moreBtn?;
|
|
47
47
|
/**
|
|
48
|
-
* more-menu portal
|
|
48
|
+
* more-menu portal container (teleported to shadow root level, escapes wrapper's stacking context)
|
|
49
49
|
*/
|
|
50
50
|
private _moreMenuEl;
|
|
51
51
|
private _resizeObserver?;
|
|
@@ -79,18 +79,18 @@ export declare class RtcUserMessage extends LitElement implements StatefulCompon
|
|
|
79
79
|
private _checkOverflow;
|
|
80
80
|
private _getTextContent;
|
|
81
81
|
/**
|
|
82
|
-
*
|
|
82
|
+
* Extract structured data of user_message type (if present)
|
|
83
83
|
*/
|
|
84
84
|
private _getUserMessageData;
|
|
85
85
|
private _handleShowMore;
|
|
86
86
|
private _handleMoreClick;
|
|
87
87
|
/**
|
|
88
|
-
*
|
|
89
|
-
* floating-ui
|
|
88
|
+
* Teleport more-menu to shadow root level (escape wrapper's stacking context).
|
|
89
|
+
* floating-ui uses position: absolute (relative to offset parent); coordinates are unaffected.
|
|
90
90
|
*/
|
|
91
91
|
private _teleportMenu;
|
|
92
92
|
/**
|
|
93
|
-
*
|
|
93
|
+
* Remove teleported more-menu
|
|
94
94
|
*/
|
|
95
95
|
private _removeMenu;
|
|
96
96
|
private _startPositioning;
|
|
@@ -98,11 +98,11 @@ export declare class RtcUserMessage extends LitElement implements StatefulCompon
|
|
|
98
98
|
private _stopPositioning;
|
|
99
99
|
private _handleMenuSelect;
|
|
100
100
|
/**
|
|
101
|
-
*
|
|
101
|
+
* Copy message content to clipboard
|
|
102
102
|
*/
|
|
103
103
|
private _handleCopy;
|
|
104
104
|
/**
|
|
105
|
-
*
|
|
105
|
+
* Fork logic: dispatch custom event, handled by root component
|
|
106
106
|
*/
|
|
107
107
|
private _handleFork;
|
|
108
108
|
private _handleResend;
|
|
@@ -1,63 +1,65 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* RTC Drawer Component
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Generic left-side drawer panel component.
|
|
5
|
+
* Slides in from the right side of the Activity Bar, overlays on top of the main content
|
|
6
|
+
* without squeezing the main content area width.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* -
|
|
10
|
-
* - ESC
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
8
|
+
* Used to replace the original flex-layout sidebars (session-tree, file-explorer, settings-nav),
|
|
9
|
+
* unifying drawer interaction:
|
|
10
|
+
* - Semi-transparent backdrop overlay, click to close
|
|
11
|
+
* - ESC key to close
|
|
12
|
+
* - Smooth slide-in/out animation
|
|
13
|
+
* - Mutually exclusive behavior (controlled by parent component, only one open at a time)
|
|
13
14
|
*
|
|
14
15
|
* @element rtc-drawer
|
|
15
16
|
*
|
|
16
|
-
* @attr {boolean} open -
|
|
17
|
+
* @attr {boolean} open - Whether the drawer is open
|
|
17
18
|
*
|
|
18
|
-
* @cssprop [--rtc-drawer-width=240px] -
|
|
19
|
-
* @cssprop [--rtc-drawer-backdrop-bg=rgba(0,0,0,0.3)] -
|
|
20
|
-
* @cssprop [--rtc-drawer-transition-duration=0.25s] -
|
|
19
|
+
* @cssprop [--rtc-drawer-width=240px] - Drawer panel width
|
|
20
|
+
* @cssprop [--rtc-drawer-backdrop-bg=rgba(0,0,0,0.3)] - Backdrop background color
|
|
21
|
+
* @cssprop [--rtc-drawer-transition-duration=0.25s] - Animation duration
|
|
21
22
|
*
|
|
22
|
-
* @csspart backdrop -
|
|
23
|
-
* @csspart panel -
|
|
23
|
+
* @csspart backdrop - Backdrop element
|
|
24
|
+
* @csspart panel - Drawer panel element
|
|
24
25
|
*
|
|
25
|
-
* @fires rtc-drawer-close -
|
|
26
|
+
* @fires rtc-drawer-close - Fired when user requests to close the drawer (click backdrop / press ESC)
|
|
26
27
|
*
|
|
27
|
-
* ##
|
|
28
|
+
* ## Usage
|
|
28
29
|
* ```html
|
|
29
30
|
* <rtc-drawer ?open=${drawerOpen}>
|
|
30
31
|
* <rtc-session-tree></rtc-session-tree>
|
|
31
32
|
* </rtc-drawer>
|
|
32
33
|
* ```
|
|
33
34
|
*
|
|
34
|
-
* ##
|
|
35
|
-
* Drawer
|
|
36
|
-
*
|
|
37
|
-
*
|
|
35
|
+
* ## Positioning
|
|
36
|
+
* Drawer uses position: absolute positioning, requiring the parent container to set position: relative.
|
|
37
|
+
* In rtc-agent, the Drawer is placed inside .main-layout (.main-layout is already a flex container),
|
|
38
|
+
* with JS setting left to the Activity Bar width (48px), to position it flush against the right side
|
|
39
|
+
* of the Activity Bar.
|
|
38
40
|
*/
|
|
39
41
|
import { LitElement } from 'lit';
|
|
40
42
|
export declare class RtcDrawer extends LitElement {
|
|
41
43
|
static styles: import("lit").CSSResult;
|
|
42
44
|
/**
|
|
43
|
-
*
|
|
45
|
+
* Whether the drawer is open
|
|
44
46
|
*
|
|
45
|
-
*
|
|
46
|
-
* reflect: true
|
|
47
|
+
* Controlled via attribute `open` or property.
|
|
48
|
+
* reflect: true makes the [open] attribute visible in the DOM, driving CSS state.
|
|
47
49
|
*/
|
|
48
50
|
open: boolean;
|
|
49
51
|
connectedCallback(): void;
|
|
50
52
|
disconnectedCallback(): void;
|
|
51
53
|
/**
|
|
52
|
-
*
|
|
54
|
+
* Click backdrop overlay
|
|
53
55
|
*
|
|
54
|
-
*
|
|
56
|
+
* Dispatches custom event to notify parent component to close the drawer.
|
|
55
57
|
*/
|
|
56
58
|
private _handleBackdropClick;
|
|
57
59
|
/**
|
|
58
|
-
*
|
|
60
|
+
* Global ESC key handler
|
|
59
61
|
*
|
|
60
|
-
*
|
|
62
|
+
* Only responds when drawer is open and connected in the DOM.
|
|
61
63
|
*/
|
|
62
64
|
private _boundOnKeydown;
|
|
63
65
|
render(): import("lit").TemplateResult<1>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtc-drawer.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/rtc-drawer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"rtc-drawer.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/rtc-drawer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAIrC,qBACa,SAAU,SAAQ,UAAU;IACrC,MAAM,CAAC,MAAM,0BAAU;IAEvB;;;;;OAKG;IAEH,IAAI,UAAS;IAIb,iBAAiB;IAMjB,oBAAoB;IAOpB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAUrB;IAIF,MAAM;CAkBT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,YAAY,EAAE,SAAS,CAAC;KAC3B;IAED,UAAU,mBAAmB;QACzB,kBAAkB,EAAE,WAAW,CAAC;KACnC;CACJ"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Drawer
|
|
2
|
+
* Drawer styles
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
4
|
+
* Left slide-out drawer panel:
|
|
5
|
+
* - Fixed to the right of Activity Bar, overlay above main content
|
|
6
|
+
* - Smooth slide in/out via transform + transition
|
|
7
|
+
* - Semi-transparent backdrop overlay, click to close
|
|
8
|
+
* - Width configurable via --rtc-drawer-width CSS custom property
|
|
9
9
|
*
|
|
10
|
-
* @cssprop [--rtc-drawer-width=240px] -
|
|
11
|
-
* @csspart backdrop -
|
|
12
|
-
* @csspart panel -
|
|
10
|
+
* @cssprop [--rtc-drawer-width=240px] - Drawer width
|
|
11
|
+
* @csspart backdrop - Backdrop overlay
|
|
12
|
+
* @csspart panel - Drawer panel
|
|
13
13
|
*/
|
|
14
14
|
export declare const styles: import("lit").CSSResult;
|
|
15
15
|
//# sourceMappingURL=rtc-drawer.styles.d.ts.map
|
|
@@ -1,62 +1,62 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Editor Area Component
|
|
3
3
|
*
|
|
4
|
-
* VS Code
|
|
4
|
+
* VS Code-style editor area, combining Tab + Toolbar + Markdown Editor.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* Layout:
|
|
7
7
|
* ┌──────────────────────────────────┐
|
|
8
|
-
* │ Tabs (
|
|
8
|
+
* │ Tabs (horizontal scroll, multi-tab) │
|
|
9
9
|
* ├──────────────────────────────────┤
|
|
10
|
-
* │ Toolbar (
|
|
10
|
+
* │ Toolbar (save/undo/redo/view) │
|
|
11
11
|
* ├──────────────────────────────────┤
|
|
12
|
-
* │ Editor Content (
|
|
12
|
+
* │ Editor Content (edit/preview/split) │
|
|
13
13
|
* └──────────────────────────────────┘
|
|
14
14
|
*
|
|
15
|
-
*
|
|
15
|
+
* Shows Welcome Screen when no file is open.
|
|
16
16
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* Pure UI component: dispatches events only, does not directly operate VFS.
|
|
18
|
+
* State is driven by EditorAreaController (or manually by Debug HTML).
|
|
19
19
|
*
|
|
20
20
|
* @element rtc-editor-area
|
|
21
21
|
*
|
|
22
|
-
* @fires editor-area-save -
|
|
23
|
-
* @fires editor-area-undo -
|
|
24
|
-
* @fires editor-area-redo -
|
|
25
|
-
* @fires editor-area-format -
|
|
26
|
-
* @fires editor-area-view-mode-change -
|
|
27
|
-
* @fires editor-area-content-change -
|
|
28
|
-
* @fires editor-area-tab-select -
|
|
29
|
-
* @fires editor-area-tab-close -
|
|
30
|
-
* @fires editor-area-cursor-move -
|
|
31
|
-
* @fires editor-area-restore-default -
|
|
22
|
+
* @fires editor-area-save - Save current file (detail: { filePath })
|
|
23
|
+
* @fires editor-area-undo - Undo
|
|
24
|
+
* @fires editor-area-redo - Redo
|
|
25
|
+
* @fires editor-area-format - Format (detail: { format: 'bold' | 'italic' | 'code' | 'link' })
|
|
26
|
+
* @fires editor-area-view-mode-change - View mode switch (detail: { filePath, viewMode })
|
|
27
|
+
* @fires editor-area-content-change - Content change (detail: { filePath, content })
|
|
28
|
+
* @fires editor-area-tab-select - Tab switch (detail: { filePath })
|
|
29
|
+
* @fires editor-area-tab-close - Tab close (detail: { filePath })
|
|
30
|
+
* @fires editor-area-cursor-move - Cursor move (detail: { line, column })
|
|
31
|
+
* @fires editor-area-restore-default - Restore default (detail: { filePath })
|
|
32
32
|
*
|
|
33
|
-
* ##
|
|
34
|
-
*
|
|
33
|
+
* ## Styling
|
|
34
|
+
* Uses project design tokens (--rtc-color-*), supports light/dark themes.
|
|
35
35
|
*/
|
|
36
36
|
import { LitElement } from 'lit';
|
|
37
37
|
import type { EditorTab, EditorViewMode } from '../../types/index.js';
|
|
38
38
|
import './rtc-editor-tab.js';
|
|
39
39
|
import './rtc-editor-toolbar.js';
|
|
40
40
|
import '../markdown-editor/rtc-markdown-editor.js';
|
|
41
|
-
/**
|
|
41
|
+
/** Format type (consistent with toolbar) */
|
|
42
42
|
type FormatType = 'bold' | 'italic' | 'code' | 'link';
|
|
43
43
|
export declare class RtcEditorArea extends LitElement {
|
|
44
44
|
static styles: import("lit").CSSResult[];
|
|
45
45
|
private _localeCtx;
|
|
46
|
-
/**
|
|
46
|
+
/** List of open file tabs */
|
|
47
47
|
tabs: EditorTab[];
|
|
48
|
-
/**
|
|
48
|
+
/** Current active file path */
|
|
49
49
|
activeFilePath: string;
|
|
50
|
-
/**
|
|
50
|
+
/** Theme */
|
|
51
51
|
theme: 'light' | 'dark' | 'system';
|
|
52
|
-
/**
|
|
52
|
+
/** Get the currently active tab */
|
|
53
53
|
private get _activeTab();
|
|
54
|
-
/**
|
|
54
|
+
/** Whether the save button is enabled (has active file with unsaved changes) */
|
|
55
55
|
private get _canSave();
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
57
|
+
* Whether the restore default button is enabled (shown only for system-generated files)
|
|
58
58
|
*
|
|
59
|
-
*
|
|
59
|
+
* System-generated files: /AGENT.md, /functions/*.md, /scenarios/*.md
|
|
60
60
|
*/
|
|
61
61
|
private get _canRestore();
|
|
62
62
|
private _handleTabSelect;
|
|
@@ -74,7 +74,7 @@ export declare class RtcEditorArea extends LitElement {
|
|
|
74
74
|
private _renderEditor;
|
|
75
75
|
private _renderWelcome;
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
77
|
+
* Extract filename from path
|
|
78
78
|
*/
|
|
79
79
|
private _getFileName;
|
|
80
80
|
render(): import("lit").TemplateResult<1>;
|