@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.
Files changed (235) hide show
  1. package/README.md +109 -13
  2. package/dist/.generated/locales/en-US.d.ts +55 -7
  3. package/dist/.generated/locales/en-US.d.ts.map +1 -1
  4. package/dist/assets/{shared-worker-BQv441O7.js → shared-worker-CXyjL7E6.js} +210 -210
  5. package/dist/components/activity-bar/rtc-activity-bar.d.ts +23 -21
  6. package/dist/components/activity-bar/rtc-activity-bar.d.ts.map +1 -1
  7. package/dist/components/activity-bar/rtc-activity-bar.styles.d.ts +2 -2
  8. package/dist/components/chat-layout/rtc-chat-layout.d.ts +87 -80
  9. package/dist/components/chat-layout/rtc-chat-layout.d.ts.map +1 -1
  10. package/dist/components/chat-layout/rtc-chat-layout.styles.d.ts +5 -5
  11. package/dist/components/content-area/rtc-error-message.d.ts +1 -1
  12. package/dist/components/content-area/rtc-message-more-menu.d.ts +4 -4
  13. package/dist/components/content-area/rtc-message-more-menu.d.ts.map +1 -1
  14. package/dist/components/content-area/rtc-message.d.ts +82 -76
  15. package/dist/components/content-area/rtc-message.d.ts.map +1 -1
  16. package/dist/components/content-area/rtc-message.styles.d.ts.map +1 -1
  17. package/dist/components/content-area/rtc-toolcall-card.d.ts +10 -5
  18. package/dist/components/content-area/rtc-toolcall-card.d.ts.map +1 -1
  19. package/dist/components/content-area/rtc-toolcall-card.styles.d.ts.map +1 -1
  20. package/dist/components/content-area/rtc-toolcall-reply.d.ts +12 -0
  21. package/dist/components/content-area/rtc-toolcall-reply.d.ts.map +1 -1
  22. package/dist/components/content-area/rtc-toolcall-reply.styles.d.ts.map +1 -1
  23. package/dist/components/content-area/rtc-user-message.d.ts +10 -10
  24. package/dist/components/drawer/rtc-drawer.d.ts +29 -27
  25. package/dist/components/drawer/rtc-drawer.d.ts.map +1 -1
  26. package/dist/components/drawer/rtc-drawer.styles.d.ts +9 -9
  27. package/dist/components/editor-area/rtc-editor-area.d.ts +29 -29
  28. package/dist/components/editor-area/rtc-editor-area.d.ts.map +1 -1
  29. package/dist/components/editor-area/rtc-editor-area.styles.d.ts +3 -3
  30. package/dist/components/editor-area/rtc-editor-tab.d.ts +27 -27
  31. package/dist/components/editor-area/rtc-editor-tab.d.ts.map +1 -1
  32. package/dist/components/editor-area/rtc-editor-tab.styles.d.ts +3 -3
  33. package/dist/components/editor-area/rtc-editor-toolbar.d.ts +19 -19
  34. package/dist/components/editor-area/rtc-editor-toolbar.d.ts.map +1 -1
  35. package/dist/components/editor-area/rtc-editor-toolbar.styles.d.ts +3 -3
  36. package/dist/components/file-explorer/rtc-file-explorer.d.ts +28 -28
  37. package/dist/components/file-explorer/rtc-file-explorer.d.ts.map +1 -1
  38. package/dist/components/file-explorer/rtc-file-explorer.styles.d.ts +3 -3
  39. package/dist/components/file-explorer/rtc-file-tree-item.d.ts +19 -19
  40. package/dist/components/file-explorer/rtc-file-tree-item.d.ts.map +1 -1
  41. package/dist/components/file-explorer/rtc-file-tree-item.styles.d.ts +3 -3
  42. package/dist/components/function-console/rtc-function-console.d.ts +32 -0
  43. package/dist/components/function-console/rtc-function-console.d.ts.map +1 -0
  44. package/dist/components/function-console/rtc-function-console.styles.d.ts +8 -0
  45. package/dist/components/function-console/rtc-function-console.styles.d.ts.map +1 -0
  46. package/dist/components/function-debugger/rtc-function-debugger.d.ts +39 -0
  47. package/dist/components/function-debugger/rtc-function-debugger.d.ts.map +1 -0
  48. package/dist/components/function-debugger/rtc-function-debugger.styles.d.ts +8 -0
  49. package/dist/components/function-debugger/rtc-function-debugger.styles.d.ts.map +1 -0
  50. package/dist/components/function-history/rtc-function-history.d.ts +49 -0
  51. package/dist/components/function-history/rtc-function-history.d.ts.map +1 -0
  52. package/dist/components/function-history/rtc-function-history.styles.d.ts +8 -0
  53. package/dist/components/function-history/rtc-function-history.styles.d.ts.map +1 -0
  54. package/dist/components/function-params/rtc-function-params.d.ts +29 -0
  55. package/dist/components/function-params/rtc-function-params.d.ts.map +1 -0
  56. package/dist/components/function-params/rtc-function-params.styles.d.ts +8 -0
  57. package/dist/components/function-params/rtc-function-params.styles.d.ts.map +1 -0
  58. package/dist/components/function-tree/rtc-function-tree.d.ts +59 -0
  59. package/dist/components/function-tree/rtc-function-tree.d.ts.map +1 -0
  60. package/dist/components/function-tree/rtc-function-tree.styles.d.ts +2 -0
  61. package/dist/components/function-tree/rtc-function-tree.styles.d.ts.map +1 -0
  62. package/dist/components/functions-layout/rtc-functions-layout.d.ts +45 -0
  63. package/dist/components/functions-layout/rtc-functions-layout.d.ts.map +1 -0
  64. package/dist/components/functions-layout/rtc-functions-layout.styles.d.ts +8 -0
  65. package/dist/components/functions-layout/rtc-functions-layout.styles.d.ts.map +1 -0
  66. package/dist/components/input-area/rtc-input-area.d.ts +15 -15
  67. package/dist/components/input-area/rtc-input-area.d.ts.map +1 -1
  68. package/dist/components/login/rtc-login-page.d.ts +8 -8
  69. package/dist/components/markdown-editor/rtc-markdown-editor.d.ts +23 -19
  70. package/dist/components/markdown-editor/rtc-markdown-editor.d.ts.map +1 -1
  71. package/dist/components/overlay/rtc-command-panel.d.ts.map +1 -1
  72. package/dist/components/overlay/rtc-export-dialog.d.ts +59 -0
  73. package/dist/components/overlay/rtc-export-dialog.d.ts.map +1 -0
  74. package/dist/components/overlay/rtc-export-dialog.styles.d.ts +11 -0
  75. package/dist/components/overlay/rtc-export-dialog.styles.d.ts.map +1 -0
  76. package/dist/components/overlay/rtc-scenario-panel.d.ts +1 -1
  77. package/dist/components/overlay/rtc-scenario-panel.d.ts.map +1 -1
  78. package/dist/components/overlay/rtc-session-panel.d.ts +1 -1
  79. package/dist/components/overlay/rtc-session-panel.d.ts.map +1 -1
  80. package/dist/components/overlay/rtc-toast.d.ts +8 -8
  81. package/dist/components/rtc-agent/helpers/bus-handler.d.ts +32 -1
  82. package/dist/components/rtc-agent/helpers/bus-handler.d.ts.map +1 -1
  83. package/dist/components/rtc-agent/helpers/command-handler.d.ts +8 -0
  84. package/dist/components/rtc-agent/helpers/command-handler.d.ts.map +1 -1
  85. package/dist/components/rtc-agent/helpers/connection-setup.d.ts +5 -8
  86. package/dist/components/rtc-agent/helpers/connection-setup.d.ts.map +1 -1
  87. package/dist/components/rtc-agent/helpers/dialog-helpers.d.ts +12 -0
  88. package/dist/components/rtc-agent/helpers/dialog-helpers.d.ts.map +1 -1
  89. package/dist/components/rtc-agent/helpers/session-loader.d.ts +2 -0
  90. package/dist/components/rtc-agent/helpers/session-loader.d.ts.map +1 -1
  91. package/dist/components/rtc-agent/helpers/vfs-operations.d.ts +22 -3
  92. package/dist/components/rtc-agent/helpers/vfs-operations.d.ts.map +1 -1
  93. package/dist/components/rtc-agent/rtc-agent.d.ts +22 -47
  94. package/dist/components/rtc-agent/rtc-agent.d.ts.map +1 -1
  95. package/dist/components/session-tree/rtc-session-tab-bar.d.ts +8 -8
  96. package/dist/components/session-tree/rtc-session-tab-bar.d.ts.map +1 -1
  97. package/dist/components/session-tree/rtc-session-tab-bar.styles.d.ts +5 -5
  98. package/dist/components/session-tree/rtc-session-tab.d.ts +6 -6
  99. package/dist/components/session-tree/rtc-session-tab.d.ts.map +1 -1
  100. package/dist/components/session-tree/rtc-session-tab.styles.d.ts +6 -6
  101. package/dist/components/session-tree/rtc-session-tree-item.d.ts +10 -10
  102. package/dist/components/session-tree/rtc-session-tree-item.d.ts.map +1 -1
  103. package/dist/components/session-tree/rtc-session-tree-item.styles.d.ts +6 -6
  104. package/dist/components/session-tree/rtc-session-tree.d.ts +15 -15
  105. package/dist/components/session-tree/rtc-session-tree.d.ts.map +1 -1
  106. package/dist/components/session-tree/rtc-session-tree.styles.d.ts +5 -5
  107. package/dist/components/settings-layout/rtc-settings-layout.d.ts +23 -23
  108. package/dist/components/settings-layout/rtc-settings-layout.d.ts.map +1 -1
  109. package/dist/components/settings-layout/rtc-settings-layout.styles.d.ts +3 -3
  110. package/dist/components/settings-layout/rtc-settings-nav.d.ts +17 -17
  111. package/dist/components/settings-layout/rtc-settings-nav.d.ts.map +1 -1
  112. package/dist/components/settings-layout/rtc-settings-nav.styles.d.ts +2 -2
  113. package/dist/components/status-bar/rtc-status-bar.d.ts +10 -10
  114. package/dist/components/status-bar/rtc-status-bar.d.ts.map +1 -1
  115. package/dist/components/status-bar/rtc-status-bar.styles.d.ts +5 -5
  116. package/dist/components/title-bar/rtc-title-bar.d.ts +4 -4
  117. package/dist/components/title-bar/rtc-title-bar.d.ts.map +1 -1
  118. package/dist/components/token-usage/rtc-token-usage.d.ts +21 -21
  119. package/dist/components/token-usage/rtc-token-usage.d.ts.map +1 -1
  120. package/dist/config/auth.d.ts +12 -6
  121. package/dist/config/auth.d.ts.map +1 -1
  122. package/dist/contexts/activity.d.ts +13 -13
  123. package/dist/contexts/activity.d.ts.map +1 -1
  124. package/dist/contexts/auth.d.ts +5 -4
  125. package/dist/contexts/auth.d.ts.map +1 -1
  126. package/dist/contexts/editor.d.ts +13 -13
  127. package/dist/contexts/editor.d.ts.map +1 -1
  128. package/dist/contexts/file-explorer.d.ts +15 -15
  129. package/dist/contexts/file-explorer.d.ts.map +1 -1
  130. package/dist/contexts/function-debug.d.ts +52 -0
  131. package/dist/contexts/function-debug.d.ts.map +1 -0
  132. package/dist/contexts/functions.d.ts +43 -0
  133. package/dist/contexts/functions.d.ts.map +1 -0
  134. package/dist/contexts/message.d.ts +3 -3
  135. package/dist/contexts/notification.d.ts +4 -4
  136. package/dist/contexts/notification.d.ts.map +1 -1
  137. package/dist/contexts/settings.d.ts +2 -2
  138. package/dist/contexts/skill.d.ts +5 -5
  139. package/dist/contexts/skill.d.ts.map +1 -1
  140. package/dist/contexts/turn-count.d.ts +7 -7
  141. package/dist/controllers/activity.controller.d.ts +11 -11
  142. package/dist/controllers/activity.controller.d.ts.map +1 -1
  143. package/dist/controllers/auth.controller.d.ts +5 -0
  144. package/dist/controllers/auth.controller.d.ts.map +1 -1
  145. package/dist/controllers/editor-area.controller.d.ts +42 -41
  146. package/dist/controllers/editor-area.controller.d.ts.map +1 -1
  147. package/dist/controllers/editor.controller.d.ts +3 -3
  148. package/dist/controllers/event-binding.controller.d.ts +204 -0
  149. package/dist/controllers/event-binding.controller.d.ts.map +1 -0
  150. package/dist/controllers/file-explorer.controller.d.ts +6 -6
  151. package/dist/controllers/function-debug.controller.d.ts +67 -0
  152. package/dist/controllers/function-debug.controller.d.ts.map +1 -0
  153. package/dist/controllers/functions.controller.d.ts +31 -0
  154. package/dist/controllers/functions.controller.d.ts.map +1 -0
  155. package/dist/controllers/message.controller.d.ts +11 -1
  156. package/dist/controllers/message.controller.d.ts.map +1 -1
  157. package/dist/controllers/notification.controller.d.ts +34 -30
  158. package/dist/controllers/notification.controller.d.ts.map +1 -1
  159. package/dist/controllers/persistence.controller.d.ts +31 -14
  160. package/dist/controllers/persistence.controller.d.ts.map +1 -1
  161. package/dist/controllers/session-tab.controller.d.ts +32 -29
  162. package/dist/controllers/session-tab.controller.d.ts.map +1 -1
  163. package/dist/controllers/session-tree.controller.d.ts +10 -10
  164. package/dist/controllers/session-tree.controller.d.ts.map +1 -1
  165. package/dist/controllers/session.controller.d.ts +6 -6
  166. package/dist/controllers/settings.controller.d.ts +1 -1
  167. package/dist/controllers/skill.controller.d.ts +21 -21
  168. package/dist/controllers/skill.controller.d.ts.map +1 -1
  169. package/dist/controllers/status-bar.controller.d.ts +11 -11
  170. package/dist/controllers/toast.controller.d.ts.map +1 -1
  171. package/dist/controllers/tool-call.controller.d.ts +4 -4
  172. package/dist/controllers/window-interaction.controller.d.ts +14 -12
  173. package/dist/controllers/window-interaction.controller.d.ts.map +1 -1
  174. package/dist/controllers/window-state.controller.d.ts +5 -5
  175. package/dist/controllers/window-state.controller.d.ts.map +1 -1
  176. package/dist/core/builtin-system-group.d.ts +26 -19
  177. package/dist/core/builtin-system-group.d.ts.map +1 -1
  178. package/dist/core/event-bus.d.ts +31 -31
  179. package/dist/core/function-registry.d.ts +82 -71
  180. package/dist/core/function-registry.d.ts.map +1 -1
  181. package/dist/core/i18n.d.ts +2 -2
  182. package/dist/core/locale-controller.d.ts +2 -2
  183. package/dist/core/markdown-generator.d.ts +20 -10
  184. package/dist/core/markdown-generator.d.ts.map +1 -1
  185. package/dist/core/ready.d.ts +9 -9
  186. package/dist/core/scenario-loader.d.ts +29 -25
  187. package/dist/core/scenario-loader.d.ts.map +1 -1
  188. package/dist/elements.d.ts +6 -6
  189. package/dist/{en-US-BK61Z8gy.js → en-US-DGPo7Pzk.js} +56 -8
  190. package/dist/factory.d.ts.map +1 -1
  191. package/dist/{highlight-languages-8EK0uwTA.js → highlight-languages-BStkA3vP.js} +1 -1
  192. package/dist/icons/logo.d.ts +5 -5
  193. package/dist/{index-Bd4j91y1.js → index-c20k11wZ.js} +28078 -23840
  194. package/dist/index.d.ts +17 -15
  195. package/dist/index.d.ts.map +1 -1
  196. package/dist/index.js +39 -36
  197. package/dist/index.umd.js +3277 -1094
  198. package/dist/master-lock.d.ts +27 -27
  199. package/dist/master-lock.d.ts.map +1 -1
  200. package/dist/stats.html +1 -1
  201. package/dist/types/activity-bar-config.d.ts +14 -14
  202. package/dist/types/activity-bar-config.d.ts.map +1 -1
  203. package/dist/types/agent-config.d.ts +18 -18
  204. package/dist/types/agent-config.d.ts.map +1 -1
  205. package/dist/types/events.d.ts +75 -19
  206. package/dist/types/events.d.ts.map +1 -1
  207. package/dist/types/factory.d.ts +13 -5
  208. package/dist/types/factory.d.ts.map +1 -1
  209. package/dist/types/functions-debug.d.ts +48 -0
  210. package/dist/types/functions-debug.d.ts.map +1 -0
  211. package/dist/types/index.d.ts +97 -102
  212. package/dist/types/index.d.ts.map +1 -1
  213. package/dist/types/skill.d.ts +95 -83
  214. package/dist/types/skill.d.ts.map +1 -1
  215. package/dist/types/window-config.d.ts +37 -37
  216. package/dist/types/window-config.d.ts.map +1 -1
  217. package/dist/utils/clipboard.d.ts +6 -6
  218. package/dist/utils/command-parser.d.ts +9 -9
  219. package/dist/utils/command-parser.d.ts.map +1 -1
  220. package/dist/utils/highlight-languages.d.ts +3 -3
  221. package/dist/utils/relative-time.d.ts +7 -7
  222. package/dist/utils/session-exporter.d.ts +65 -0
  223. package/dist/utils/session-exporter.d.ts.map +1 -0
  224. package/dist/utils/skeleton-tracker.d.ts +56 -56
  225. package/dist/utils/skeleton-tracker.d.ts.map +1 -1
  226. package/dist/utils/visibility-manager.d.ts +42 -42
  227. package/dist/utils/visibility-manager.d.ts.map +1 -1
  228. package/dist/validation/index.d.ts +16 -16
  229. package/dist/validation/index.d.ts.map +1 -1
  230. package/dist/validation/openapi-to-zod.d.ts +5 -5
  231. package/dist/validation/zod-to-openapi.d.ts +24 -14
  232. package/dist/validation/zod-to-openapi.d.ts.map +1 -1
  233. package/dist/worker-bridge.d.ts +11 -0
  234. package/dist/worker-bridge.d.ts.map +1 -1
  235. package/package.json +5 -5
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Function History Component Styles
3
+ *
4
+ * Bottom drawer that slides up from the bottom of the debugger panel.
5
+ * Colors use project Tokens (--rtc-color-*) to ensure dual-theme adaptation.
6
+ */
7
+ export declare const styles: import("lit").CSSResult;
8
+ //# sourceMappingURL=rtc-function-history.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtc-function-history.styles.d.ts","sourceRoot":"","sources":["../../../src/components/function-history/rtc-function-history.styles.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,MAAM,yBA2alB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Function Params Component
3
+ *
4
+ * JSON parameter editor for function debugging.
5
+ * Features: monospace font, line numbers, auto-format on blur, JSON validation.
6
+ *
7
+ * @element rtc-function-params
8
+ */
9
+ import { LitElement } from 'lit';
10
+ export declare class RtcFunctionParams extends LitElement {
11
+ static styles: import("lit").CSSResult[];
12
+ /** Theme (inherited from parent) */
13
+ theme: 'light' | 'dark' | 'system';
14
+ private _debugCtx;
15
+ private _localeCtx;
16
+ /** Whether the current JSON is valid */
17
+ private _isValid;
18
+ private _handleInput;
19
+ private _handleBlur;
20
+ private _handleKeydown;
21
+ private _validate;
22
+ render(): import("lit").TemplateResult<1>;
23
+ }
24
+ declare global {
25
+ interface HTMLElementTagNameMap {
26
+ 'rtc-function-params': RtcFunctionParams;
27
+ }
28
+ }
29
+ //# sourceMappingURL=rtc-function-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtc-function-params.d.ts","sourceRoot":"","sources":["../../../src/components/function-params/rtc-function-params.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAerC,qBAEa,iBAAkB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,4BAAuD;IAEpE,oCAAoC;IAEpC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAY;IAI9C,OAAO,CAAC,SAAS,CAAwC;IAIzD,OAAO,CAAC,UAAU,CAMhB;IAEF,wCAAwC;IAExC,OAAO,CAAC,QAAQ,CAAQ;IAExB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,SAAS;IAajB,MAAM;CAyBT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,qBAAqB,EAAE,iBAAiB,CAAC;KAC5C;CACJ"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Function Params Component Styles
3
+ *
4
+ * JSON parameter editor with monospace font and syntax error highlighting.
5
+ * Colors use project Tokens (--rtc-color-*) to ensure dual-theme adaptation.
6
+ */
7
+ export declare const styles: import("lit").CSSResult;
8
+ //# sourceMappingURL=rtc-function-params.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtc-function-params.styles.d.ts","sourceRoot":"","sources":["../../../src/components/function-params/rtc-function-params.styles.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,MAAM,yBAkElB,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Function Tree Component
3
+ *
4
+ * Displays registered functions organized in a tree structure.
5
+ * Groups functions by their dot notation (e.g., "user.register" → group "user", function "register").
6
+ *
7
+ * Features:
8
+ * - Tree view with expandable/collapsible groups
9
+ * - Keyboard navigation (↑/↓/←/→/Enter/Home/End)
10
+ * - Function selection with visual highlight
11
+ * - Displays function name and description
12
+ * - Persists expand state and active function to localStorage
13
+ *
14
+ * @element rtc-function-tree
15
+ * @fires function-select - User clicks a function (detail: { functionName })
16
+ */
17
+ import { LitElement } from 'lit';
18
+ export declare class RtcFunctionTree extends LitElement {
19
+ static styles: import("lit").CSSResult[];
20
+ /** Theme (inherited from parent) */
21
+ theme: 'light' | 'dark' | 'system';
22
+ private _localeCtx;
23
+ private _functionsCtx;
24
+ private _debugCtx;
25
+ /** Tree nodes (computed from functions list) */
26
+ private _treeNodes;
27
+ /** Currently focused node ID (for keyboard navigation) */
28
+ private _focusedNodeId;
29
+ /** Set of expanded node IDs */
30
+ private _expandedNodes;
31
+ /** Whether active function has been loaded from localStorage (prevents recursion) */
32
+ private _activeLoaded;
33
+ connectedCallback(): void;
34
+ updated(changed: Map<string, unknown>): void;
35
+ private _loadExpandedState;
36
+ private _saveExpandedState;
37
+ private _loadActiveFunction;
38
+ private _saveActiveFunction;
39
+ private _rebuildTree;
40
+ private _handleNodeClick;
41
+ private _toggleNode;
42
+ private _selectFunction;
43
+ private _getVisibleNodes;
44
+ private _handleKeydown;
45
+ private _renderNode;
46
+ private _renderEmptyState;
47
+ render(): import("lit").TemplateResult<1>;
48
+ }
49
+ declare global {
50
+ interface HTMLElementTagNameMap {
51
+ 'rtc-function-tree': RtcFunctionTree;
52
+ }
53
+ interface HTMLElementEventMap {
54
+ 'function-select': CustomEvent<{
55
+ functionName: string;
56
+ }>;
57
+ }
58
+ }
59
+ //# sourceMappingURL=rtc-function-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtc-function-tree.d.ts","sourceRoot":"","sources":["../../../src/components/function-tree/rtc-function-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,UAAU,EAAgB,MAAM,KAAK,CAAC;AAoH9C,qBAEa,eAAgB,SAAQ,UAAU;IAC3C,MAAM,CAAC,MAAM,4BAAuD;IAIpE,oCAAoC;IAEpC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAY;IAM9C,OAAO,CAAC,UAAU,CAMhB;IAMF,OAAO,CAAC,aAAa,CAAoC;IAIzD,OAAO,CAAC,SAAS,CAAwC;IAIzD,gDAAgD;IAEhD,OAAO,CAAC,UAAU,CAAkB;IAEpC,0DAA0D;IAE1D,OAAO,CAAC,cAAc,CAAuB;IAE7C,+BAA+B;IAE/B,OAAO,CAAC,cAAc,CAAqB;IAE3C,qFAAqF;IACrF,OAAO,CAAC,aAAa,CAAS;IAI9B,iBAAiB;IAKjB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAWrC,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,YAAY;IA+BpB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,cAAc;IAmEtB,OAAO,CAAC,WAAW;IA0CnB,OAAO,CAAC,iBAAiB;IAQzB,MAAM;CA0BT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,eAAe,CAAC;KACxC;IAED,UAAU,mBAAmB;QACzB,iBAAiB,EAAE,WAAW,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAC,CAAC,CAAC;KAC1D;CACJ"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=rtc-function-tree.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtc-function-tree.styles.d.ts","sourceRoot":"","sources":["../../../src/components/function-tree/rtc-function-tree.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,yBA0JlB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Functions Layout Component
3
+ *
4
+ * Two-column layout for the Function Debugger:
5
+ * - Left: drawer with function tree (sidebar)
6
+ * - Right: function debugger (main content)
7
+ *
8
+ * Follows the same pattern as settings-layout and chat-layout.
9
+ *
10
+ * @element rtc-functions-layout
11
+ *
12
+ * @attr {string} [theme=system] - Theme: 'light' | 'dark' | 'system'
13
+ */
14
+ import { LitElement } from 'lit';
15
+ import '../drawer/rtc-drawer.js';
16
+ import '../function-tree/rtc-function-tree.js';
17
+ import '../function-debugger/rtc-function-debugger.js';
18
+ export declare class RtcFunctionsLayout extends LitElement {
19
+ static styles: import("lit").CSSResult[];
20
+ /** delegatesFocus: true — supports keyboard focus delegation */
21
+ static shadowRootOptions: {
22
+ delegatesFocus: boolean;
23
+ clonable?: boolean;
24
+ customElementRegistry?: CustomElementRegistry;
25
+ mode: ShadowRootMode;
26
+ serializable?: boolean;
27
+ slotAssignment?: SlotAssignmentMode;
28
+ };
29
+ /** Theme property */
30
+ theme: 'light' | 'dark' | 'system';
31
+ /**
32
+ * Whether the function tree drawer is visible
33
+ *
34
+ * Passed through from parent rtc-agent based on ActivityController.sidebarVisible.
35
+ * Uses <rtc-drawer> overlay drawer mode, does not push the main content area.
36
+ */
37
+ sidebarVisible: boolean;
38
+ render(): import("lit").TemplateResult<1>;
39
+ }
40
+ declare global {
41
+ interface HTMLElementTagNameMap {
42
+ 'rtc-functions-layout': RtcFunctionsLayout;
43
+ }
44
+ }
45
+ //# sourceMappingURL=rtc-functions-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtc-functions-layout.d.ts","sourceRoot":"","sources":["../../../src/components/functions-layout/rtc-functions-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAQrC,OAAO,yBAAyB,CAAC;AACjC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,+CAA+C,CAAC;AAEvD,qBACa,kBAAmB,SAAQ,UAAU;IAC9C,MAAM,CAAC,MAAM,4BAAuD;IAEpE,gEAAgE;IAChE,MAAM,CAAC,iBAAiB;;;;;;;MAGtB;IAEF,qBAAqB;IAErB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAY;IAE9C;;;;;OAKG;IAEH,cAAc,UAAS;IAEvB,MAAM;CAWT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,sBAAsB,EAAE,kBAAkB,CAAC;KAC9C;CACJ"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Functions Layout Component Styles
3
+ *
4
+ * Two-column layout: left drawer (function tree) + right main area (debugger).
5
+ * Colors use project Tokens (--rtc-color-*) to ensure dual-theme adaptation.
6
+ */
7
+ export declare const styles: import("lit").CSSResult;
8
+ //# sourceMappingURL=rtc-functions-layout.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtc-functions-layout.styles.d.ts","sourceRoot":"","sources":["../../../src/components/functions-layout/rtc-functions-layout.styles.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,MAAM,yBAuBlB,CAAC"}
@@ -71,10 +71,10 @@ export declare class RtcInputArea extends LitElement {
71
71
  private _tokenRoundsUntilCompression;
72
72
  private _tokenDetails?;
73
73
  /**
74
- * 根据当前 session 更新 token 显示数据
74
+ * Update token display data based on current session
75
75
  *
76
- * 从 SessionContext 中查找 sessionId 对应的 session,
77
- * 提取 token 相关字段并更新内部 state。
76
+ * Finds the session matching sessionId from SessionContext,
77
+ * extracts token-related fields and updates internal state.
78
78
  */
79
79
  private _updateTokenDisplay;
80
80
  private _userMessageHistory;
@@ -93,42 +93,42 @@ export declare class RtcInputArea extends LitElement {
93
93
  private get _textarea();
94
94
  private _handleVoice;
95
95
  /**
96
- * 公共方法:设置输入框内容(用于 fork 等场景预填内容)
96
+ * Public method: set input box content (used for pre-filling in scenarios like fork)
97
97
  */
98
98
  setValue(value: string): void;
99
99
  /**
100
- * 公共方法:清空输入框
100
+ * Public method: clear input box
101
101
  */
102
102
  clearValue(): void;
103
103
  private get _hasContent();
104
104
  private get _hasActiveTurns();
105
- /** 当前会话有活跃 turn 且输入框为空 → 显示 stop 按钮;否则显示 send 按钮。 */
105
+ /** Current session has active turns and input is empty → show stop button; otherwise show send button. */
106
106
  private get _showStop();
107
107
  /**
108
- * Stop 按钮点击:发送停止请求事件
108
+ * Stop button click: send stop request event
109
109
  */
110
110
  private _handleStop;
111
111
  private _handleInput;
112
112
  private _handleKeydown;
113
113
  /**
114
- * 判断光标是否在 textarea 第一行
115
- * 光标前没有换行符即为第一行(空值时也返回 true)
114
+ * Check if cursor is on the first line of textarea
115
+ * Returns true if there's no newline before cursor (also returns true when empty)
116
116
  */
117
117
  private _isCursorOnFirstLine;
118
118
  /**
119
- * 判断光标是否在 textarea 最后一行
120
- * 光标后没有换行符即为最后一行(空值时也返回 true)
119
+ * Check if cursor is on the last line of textarea
120
+ * Returns true if there's no newline after cursor (also returns true when empty)
121
121
  */
122
122
  private _isCursorOnLastLine;
123
123
  /**
124
- * 历史导航:上箭头回溯、下箭头前进
124
+ * History navigation: up arrow to go back, down arrow to go forward
125
125
  *
126
- * 首次按上箭头时从 MessageContext 加载用户消息历史,
127
- * 并将当前输入保存为 draft,以便回到最新位置时恢复。
126
+ * On first up arrow press, loads user message history from MessageContext,
127
+ * and saves current input as draft to restore when returning to the latest position.
128
128
  */
129
129
  private _navigateHistory;
130
130
  /**
131
- * 从 MessageContext 加载当前 session 的用户消息历史
131
+ * Load user message history for current session from MessageContext
132
132
  */
133
133
  private _loadUserMessageHistory;
134
134
  private _submit;
@@ -1 +1 @@
1
- {"version":3,"file":"rtc-input-area.d.ts","sourceRoot":"","sources":["../../../src/components/input-area/rtc-input-area.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rtc-input-area.d.ts","sourceRoot":"","sources":["../../../src/components/input-area/rtc-input-area.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  /**
2
2
  * RTC Login Page Component
3
3
  *
4
- * 居中展示 Logo、应用名称和 OAuth2 Provider 选择按钮。
5
- * 用户未登录时显示。
4
+ * Centered display of Logo, application name, and OAuth2 Provider selection buttons.
5
+ * Shown when user is not logged in.
6
6
  *
7
7
  * @element rtc-login-page
8
- * @fires rtc-login-requested - 用户选择了 provider,detail 包含 {provider}
9
- * @csspart container - 登录容器
10
- * @csspart logo - Logo 区域
11
- * @csspart app-name - 应用名称文本
12
- * @csspart providers - Provider 按钮容器
13
- * @csspart provider-btn - 单个 Provider 按钮
8
+ * @fires rtc-login-requested - User selected a provider, detail contains {provider}
9
+ * @csspart container - Login container
10
+ * @csspart logo - Logo area
11
+ * @csspart app-name - Application name text
12
+ * @csspart providers - Provider buttons container
13
+ * @csspart provider-btn - Single Provider button
14
14
  */
15
15
  import { LitElement } from 'lit';
16
16
  import '../logo/rtc-logo.js';
@@ -1,56 +1,60 @@
1
1
  /**
2
2
  * Markdown Editor Component
3
3
  *
4
- * VS Code 风格 Markdown 编辑器,支持编辑/预览/分屏三种视图模式。
4
+ * VS Code-style Markdown editor, supporting edit/preview/split three view modes.
5
5
  *
6
- * 布局(split 模式):
6
+ * Layout (split mode):
7
7
  * ┌──────────────────┬───┬──────────────────┐
8
- * │ 编辑区 │ │ 预览区 │
9
- * │ (textarea) │ │ (marked 渲染) │
8
+ * │ Edit Pane │ │ Preview Pane │
9
+ * │ (textarea) │ │ (marked render) │
10
10
  * │ │ │ │
11
11
  * └──────────────────┴───┴──────────────────┘
12
12
  *
13
- * Markdown 解析使用 marked + DOMPurify(懒加载,与 rtc-message 共享)。
13
+ * Markdown parsing uses marked + DOMPurify (lazy-loaded, shared with rtc-message).
14
14
  *
15
15
  * @element rtc-markdown-editor
16
16
  *
17
- * @fires editor-content-change - 内容变更 (detail: { content: string })
18
- * @fires editor-cursor-move - 光标移动 (detail: { line: number, column: number })
17
+ * @fires editor-content-change - Content changed (detail: { content: string })
18
+ * @fires editor-cursor-move - Cursor moved (detail: { line: number, column: number })
19
19
  *
20
- * ## 样式
21
- * 使用项目 design tokens(--rtc-color-*),支持亮色/暗色主题。
20
+ * ## Styling
21
+ * Uses project design tokens (--rtc-color-*), supports light/dark themes.
22
22
  */
23
23
  import { LitElement } from 'lit';
24
24
  import type { EditorViewMode } from '../../types/index.js';
25
25
  export declare class RtcMarkdownEditor extends LitElement {
26
26
  static styles: import("lit").CSSResult[];
27
27
  private _localeCtx;
28
- /** 当前编辑内容 */
28
+ /** Current editing content */
29
29
  content: string;
30
- /** 视图模式 */
30
+ /** View mode */
31
31
  viewMode: EditorViewMode;
32
- /** 主题 */
32
+ /** Theme */
33
33
  theme: 'light' | 'dark' | 'system';
34
- /** 是否只读 */
34
+ /** Whether read-only */
35
35
  readOnly: boolean;
36
- /** Markdown 渲染后的 HTML */
36
+ /** HTML rendered from Markdown */
37
37
  private _renderedHtml;
38
- /** 光标位置 */
38
+ /** Cursor position */
39
39
  private _cursorPosition;
40
- /** 分屏分割条位置(百分比) */
40
+ /** Split divider position (percentage) */
41
41
  private _splitPosition;
42
- /** 是否正在拖动分割条 */
42
+ /** Whether the split divider is being dragged */
43
43
  private _isDragging;
44
44
  private _textarea;
45
45
  private _splitContainer;
46
46
  private _parseGeneration;
47
47
  private _modulesPromise;
48
- /** 防抖定时器 */
48
+ /** Debounce timer */
49
49
  private _debounceTimer?;
50
+ /**
51
+ * Lazy-load marked + DOMPurify + highlight.js with retry logic.
52
+ * Handles stale chunk errors during development (when rebuilds change chunk hashes).
53
+ */
50
54
  private _loadModules;
51
55
  private _parseMarkdown;
52
56
  /**
53
- * 对 Markdown 渲染出的所有 <pre><code> 块应用 highlight.js 语法高亮
57
+ * Apply highlight.js syntax highlighting to all <pre><code> blocks in Markdown-rendered HTML
54
58
  */
55
59
  private _highlightCodeBlocks;
56
60
  willUpdate(changed: Map<string, unknown>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"rtc-markdown-editor.d.ts","sourceRoot":"","sources":["../../../src/components/markdown-editor/rtc-markdown-editor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAMrC,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AASzD,qBAEa,iBAAkB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,4BAAuD;IAIpE,OAAO,CAAC,UAAU,CAMhB;IAIF,aAAa;IAEb,OAAO,SAAM;IAEb,WAAW;IAEX,QAAQ,EAAE,cAAc,CAAW;IAEnC,SAAS;IAET,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAY;IAE9C,WAAW;IAEX,QAAQ,UAAS;IAIjB,yBAAyB;IAEzB,OAAO,CAAC,aAAa,CAAM;IAE3B,WAAW;IAEX,OAAO,CAAC,eAAe,CAAwB;IAE/C,mBAAmB;IAEnB,OAAO,CAAC,cAAc,CAAM;IAE5B,gBAAgB;IAEhB,OAAO,CAAC,WAAW,CAAS;IAK5B,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,eAAe,CAAe;IAItC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,eAAe,CAIN;IAEjB,YAAY;IACZ,OAAO,CAAC,cAAc,CAAC,CAAgC;YAEzC,YAAY;YAeZ,cAAc;IA8C5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAOxC,OAAO,CAAC,eAAe;IASvB,oBAAoB;IAUpB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,qBAAqB,CAS3B;IAEF,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,gBAAgB;IAqCxB,MAAM;CAaT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,qBAAqB,EAAE,iBAAiB,CAAC;KAC5C;IAED,UAAU,mBAAmB;QACzB,uBAAuB,EAAE,WAAW,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAC,CAAC,CAAC;QACxD,oBAAoB,EAAE,WAAW,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAC,CAAC,CAAC;KACrE;CACJ"}
1
+ {"version":3,"file":"rtc-markdown-editor.d.ts","sourceRoot":"","sources":["../../../src/components/markdown-editor/rtc-markdown-editor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAMrC,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AASzD,qBAEa,iBAAkB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,4BAAuD;IAIpE,OAAO,CAAC,UAAU,CAMhB;IAIF,8BAA8B;IAE9B,OAAO,SAAM;IAEb,gBAAgB;IAEhB,QAAQ,EAAE,cAAc,CAAW;IAEnC,YAAY;IAEZ,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAY;IAE9C,wBAAwB;IAExB,QAAQ,UAAS;IAIjB,kCAAkC;IAElC,OAAO,CAAC,aAAa,CAAM;IAE3B,sBAAsB;IAEtB,OAAO,CAAC,eAAe,CAAwB;IAE/C,0CAA0C;IAE1C,OAAO,CAAC,cAAc,CAAM;IAE5B,iDAAiD;IAEjD,OAAO,CAAC,WAAW,CAAS;IAK5B,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,eAAe,CAAe;IAItC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,eAAe,CAIN;IAEjB,qBAAqB;IACrB,OAAO,CAAC,cAAc,CAAC,CAAgC;IAEvD;;;OAGG;YACW,YAAY;YA4BZ,cAAc;IAiD5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAOxC,OAAO,CAAC,eAAe;IASvB,oBAAoB;IAUpB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,qBAAqB,CAS3B;IAEF,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,gBAAgB;IAqCxB,MAAM;CAaT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,qBAAqB,EAAE,iBAAiB,CAAC;KAC5C;IAED,UAAU,mBAAmB;QACzB,uBAAuB,EAAE,WAAW,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAC,CAAC,CAAC;QACxD,oBAAoB,EAAE,WAAW,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAC,CAAC,CAAC;KACrE;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"rtc-command-panel.d.ts","sourceRoot":"","sources":["../../../src/components/overlay/rtc-command-panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAYrC,4BAA4B;AAC5B,MAAM,WAAW,aAAa;IAC1B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;CACjC;AAED,qCAAqC;AACrC,eAAO,MAAM,eAAe,EAAE,aAAa,EAsB1C,CAAC;AAEF,qBAEa,eAAgB,SAAQ,UAAU;IAC3C,MAAM,CAAC,MAAM,0BAAU;IAIvB,OAAO,CAAC,UAAU,CAMhB;IAGF,QAAQ,EAAE,aAAa,EAAE,CAAmB;IAE5C,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,UAAU,CAUhB;IAEF,iBAAiB;IAKjB,oBAAoB;IAKpB,MAAM;IAwBN,OAAO,CAAC,cAAc;CAQzB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,eAAe,CAAC;KACxC;CACJ"}
1
+ {"version":3,"file":"rtc-command-panel.d.ts","sourceRoot":"","sources":["../../../src/components/overlay/rtc-command-panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAYrC,4BAA4B;AAC5B,MAAM,WAAW,aAAa;IAC1B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;CACjC;AAED,qCAAqC;AACrC,eAAO,MAAM,eAAe,EAAE,aAAa,EA6B1C,CAAC;AAEF,qBAEa,eAAgB,SAAQ,UAAU;IAC3C,MAAM,CAAC,MAAM,0BAAU;IAIvB,OAAO,CAAC,UAAU,CAMhB;IAGF,QAAQ,EAAE,aAAa,EAAE,CAAmB;IAE5C,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,UAAU,CAUhB;IAEF,iBAAiB;IAKjB,oBAAoB;IAKpB,MAAM;IAwBN,OAAO,CAAC,cAAc;CASzB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,eAAe,CAAC;KACxC;CACJ"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * RTC Export Dialog Component
3
+ *
4
+ * Modal dialog for configuring session export options before exporting.
5
+ * Provides controls for:
6
+ * - Message limit (range slider with steps: 0, 100, 200...2000, MAX; default 200)
7
+ * - Tool call inclusion (radio: include/exclude)
8
+ * - Thinking content inclusion (radio: include/exclude)
9
+ *
10
+ * @element rtc-export-dialog
11
+ * @fires rtc-export-confirm - User confirmed export with options
12
+ * detail: { limit: number, includeToolCalls: boolean, includeThinking: boolean }
13
+ * @fires rtc-export-cancel - User cancelled the export
14
+ * @csspart backdrop - The backdrop overlay
15
+ * @csspart dialog - The dialog card
16
+ */
17
+ import { LitElement } from 'lit';
18
+ /** Export options collected from the dialog form. */
19
+ export interface ExportOptions {
20
+ /** Max messages to export. 0 = all messages. */
21
+ limit: number;
22
+ /** Whether to include tool call messages. */
23
+ includeToolCalls: boolean;
24
+ /** Whether to include thinking messages. */
25
+ includeThinking: boolean;
26
+ }
27
+ export declare class RtcExportDialog extends LitElement {
28
+ static styles: import("lit").CSSResult;
29
+ private _localeCtx;
30
+ /** Total number of messages available for export. */
31
+ totalMessages: number;
32
+ /** Current limit value (0 = all). */
33
+ private _limit;
34
+ /** Whether to include tool call messages. */
35
+ private _includeToolCalls;
36
+ /** Whether to include thinking messages. */
37
+ private _includeThinking;
38
+ /** Computed max value for the slider (at least LIMIT_MAX_EXPLICIT or totalMessages). */
39
+ private get _sliderMax();
40
+ /** Effective limit value (clamped to totalMessages, 0 means all). */
41
+ private get _effectiveLimit();
42
+ private _onLimitChange;
43
+ private _setToolCalls;
44
+ private _setThinking;
45
+ private _confirm;
46
+ private _cancel;
47
+ private _onBackdropClick;
48
+ render(): import("lit").TemplateResult<1>;
49
+ }
50
+ declare global {
51
+ interface HTMLElementTagNameMap {
52
+ 'rtc-export-dialog': RtcExportDialog;
53
+ }
54
+ interface HTMLElementEventMap {
55
+ 'rtc-export-confirm': CustomEvent<ExportOptions>;
56
+ 'rtc-export-cancel': CustomEvent;
57
+ }
58
+ }
59
+ //# sourceMappingURL=rtc-export-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtc-export-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/overlay/rtc-export-dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAsBrC,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC1B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4CAA4C;IAC5C,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,qBAEa,eAAgB,SAAQ,UAAU;IAC3C,MAAM,CAAC,MAAM,0BAAU;IAIvB,OAAO,CAAC,UAAU,CAMhB;IAEF,qDAAqD;IAErD,aAAa,SAAK;IAElB,qCAAqC;IAErC,OAAO,CAAC,MAAM,CAAiB;IAE/B,6CAA6C;IAE7C,OAAO,CAAC,iBAAiB,CAAS;IAElC,4CAA4C;IAE5C,OAAO,CAAC,gBAAgB,CAAS;IAEjC,wFAAwF;IACxF,OAAO,KAAK,UAAU,GAErB;IAED,qEAAqE;IACrE,OAAO,KAAK,eAAe,GAK1B;IAED,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,gBAAgB;IAMxB,MAAM;CA+ET;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,eAAe,CAAC;KACxC;IAED,UAAU,mBAAmB;QACzB,oBAAoB,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QACjD,mBAAmB,EAAE,WAAW,CAAC;KACpC;CACJ"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Styles for <rtc-export-dialog>
3
+ *
4
+ * Design notes:
5
+ * - Reuse dialog shell pattern from rtc-restore-confirm and rtc-ask-user
6
+ * - Range slider with dual-theme support via CSS custom properties
7
+ * - Radio options follow rtc-ask-user pattern (custom div-based, not native input)
8
+ * - All colors via CSS custom properties (automatic light/dark theme support)
9
+ */
10
+ export declare const styles: import("lit").CSSResult;
11
+ //# sourceMappingURL=rtc-export-dialog.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtc-export-dialog.styles.d.ts","sourceRoot":"","sources":["../../../src/components/overlay/rtc-export-dialog.styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,yBAuNlB,CAAC"}
@@ -14,7 +14,7 @@ export declare class RtcScenarioPanel extends LitElement {
14
14
  static styles: import("lit").CSSResult;
15
15
  private _scenarios;
16
16
  private _selectedPaths;
17
- /** 外部传入的已选中路径列表,用于初始化选中状态 */
17
+ /** Externally provided list of selected paths, used to initialize selection state */
18
18
  initialSelectedPaths: string[];
19
19
  private _loading;
20
20
  connectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"rtc-scenario-panel.d.ts","sourceRoot":"","sources":["../../../src/components/overlay/rtc-scenario-panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAmBrC,qBAEa,gBAAiB,SAAQ,UAAU;IAC5C,MAAM,CAAC,MAAM,0BAAU;IAGvB,OAAO,CAAC,UAAU,CAAsB;IAGxC,OAAO,CAAC,cAAc,CAA0B;IAEhD,6BAA6B;IAE7B,oBAAoB,EAAE,MAAM,EAAE,CAAM;IAGpC,OAAO,CAAC,QAAQ,CAAQ;IAExB,iBAAiB;IAMjB,oBAAoB;IAKpB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAOrC,OAAO,CAAC,UAAU,CAUhB;YAEY,cAAc;YAgBd,aAAa;IA4C3B,MAAM;CA4BT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,oBAAoB,EAAE,gBAAgB,CAAC;KAC1C;CACJ"}
1
+ {"version":3,"file":"rtc-scenario-panel.d.ts","sourceRoot":"","sources":["../../../src/components/overlay/rtc-scenario-panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAmBrC,qBAEa,gBAAiB,SAAQ,UAAU;IAC5C,MAAM,CAAC,MAAM,0BAAU;IAGvB,OAAO,CAAC,UAAU,CAAsB;IAGxC,OAAO,CAAC,cAAc,CAA0B;IAEhD,qFAAqF;IAErF,oBAAoB,EAAE,MAAM,EAAE,CAAM;IAGpC,OAAO,CAAC,QAAQ,CAAQ;IAExB,iBAAiB;IAMjB,oBAAoB;IAKpB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAOrC,OAAO,CAAC,UAAU,CAUhB;YAEY,cAAc;YAgBd,aAAa;IA4C3B,MAAM;CA4BT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,oBAAoB,EAAE,gBAAgB,CAAC;KAC1C;CACJ"}
@@ -17,7 +17,7 @@ export declare class RtcSessionPanel extends LitElement {
17
17
  private _localeCtx;
18
18
  sessions: Session[];
19
19
  currentSessionId: string | null;
20
- /** 主题(继承自父级) */
20
+ /** Theme (inherited from parent) */
21
21
  theme: 'light' | 'dark' | 'system';
22
22
  /** Session currently being renamed (null if none). */
23
23
  private _renamingSessionId;
@@ -1 +1 @@
1
- {"version":3,"file":"rtc-session-panel.d.ts","sourceRoot":"","sources":["../../../src/components/overlay/rtc-session-panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAQrC,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAMlD,qBAEa,eAAgB,SAAQ,UAAU;IAC3C,MAAM,CAAC,MAAM,0BAAU;IAIvB,OAAO,CAAC,UAAU,CAMhB;IAGF,QAAQ,EAAE,OAAO,EAAE,CAAM;IAGzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEvC,gBAAgB;IAEhB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAY;IAE9C,sDAAsD;IAEtD,OAAO,CAAC,kBAAkB,CAAuB;IAEjD,yCAAyC;IAEzC,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,aAAa;IAWrB,MAAM;CAyDT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,eAAe,CAAC;KACxC;CACJ"}
1
+ {"version":3,"file":"rtc-session-panel.d.ts","sourceRoot":"","sources":["../../../src/components/overlay/rtc-session-panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAQrC,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAMlD,qBAEa,eAAgB,SAAQ,UAAU;IAC3C,MAAM,CAAC,MAAM,0BAAU;IAIvB,OAAO,CAAC,UAAU,CAMhB;IAGF,QAAQ,EAAE,OAAO,EAAE,CAAM;IAGzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEvC,oCAAoC;IAEpC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAY;IAE9C,sDAAsD;IAEtD,OAAO,CAAC,kBAAkB,CAAuB;IAEjD,yCAAyC;IAEzC,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,aAAa;IAWrB,MAAM;CAyDT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,eAAe,CAAC;KACxC;CACJ"}
@@ -1,19 +1,19 @@
1
1
  /**
2
2
  * RTC Toast Component
3
3
  *
4
- * 全局通知组件,用于显示操作反馈(复制成功、错误提示等)。
4
+ * Global notification component for displaying operation feedback (copy success, error messages, etc.).
5
5
  *
6
- * ## 架构
6
+ * ## Architecture
7
7
  *
8
- * 事件驱动,不是全局 API:
9
- * 1. 子组件 dispatch `rtc-toast-requested` 事件
10
- * 2. `<rtc-agent>` 监听事件,将 toast 推入 `@state()` 数组
11
- * 3. 本组件响应式渲染 toast 列表
8
+ * Event-driven, not a global API:
9
+ * 1. Child component dispatches `rtc-toast-requested` event
10
+ * 2. `<rtc-agent>` listens for the event and pushes toast into `@state()` array
11
+ * 3. This component reactively renders the toast list
12
12
  *
13
- * ## 事件接口
13
+ * ## Event interface
14
14
  *
15
15
  * ```typescript
16
- * // 子组件触发
16
+ * // Child component triggers
17
17
  * this.dispatchEvent(new CustomEvent('rtc-toast-requested', {
18
18
  * bubbles: true,
19
19
  * composed: true,
@@ -3,6 +3,7 @@ import type { UIUpdateEvent } from '@rtc-agent/persistence';
3
3
  import type { Logger } from '@rtc-agent/client';
4
4
  interface MessageControllerLike {
5
5
  updateMessageFromBus(entityId: string): Promise<void>;
6
+ evictSession(sessionId: string): void;
6
7
  }
7
8
  interface SessionControllerLike {
8
9
  value: {
@@ -37,6 +38,35 @@ interface MasterLockLike {
37
38
  interface RtcProcessorLike {
38
39
  onRtcUpdate(): void;
39
40
  }
41
+ /**
42
+ * Debounced session loader to prevent multiple concurrent loadSessions calls.
43
+ *
44
+ * When multiple session structural changes occur in quick succession (e.g., batch imports),
45
+ * this class ensures only one loadSessions call is made after a debounce period.
46
+ * It also serializes in-flight requests to prevent race conditions.
47
+ *
48
+ * Fix 40: Prevents IndexedDB query storms and UI jitter from rapid session events.
49
+ */
50
+ export declare class DebouncedSessionLoader {
51
+ private _timer?;
52
+ private _inflight?;
53
+ private readonly _debounceMs;
54
+ private readonly _loadSessions;
55
+ constructor(loadSessions: () => Promise<void>, debounceMs?: number);
56
+ /**
57
+ * Request a session reload. If called multiple times within the debounce period,
58
+ * only one actual loadSessions call will be made.
59
+ */
60
+ request(): void;
61
+ /**
62
+ * Execute the actual loadSessions call, serializing with any in-flight request.
63
+ */
64
+ private _execute;
65
+ /**
66
+ * Clean up pending timer on dispose.
67
+ */
68
+ dispose(): void;
69
+ }
40
70
  /**
41
71
  * Dependencies required by the UIUpdateBus handler.
42
72
  *
@@ -55,7 +85,8 @@ export interface BusHandlerDeps {
55
85
  };
56
86
  /** Getter for rtcProcessor - may be undefined initially, set after connection. */
57
87
  getRtcProcessor(): RtcProcessorLike | undefined;
58
- loadSessions: () => Promise<void>;
88
+ /** Debounced session loader to prevent multiple concurrent loadSessions calls. */
89
+ sessionLoader: DebouncedSessionLoader;
59
90
  refreshTurnCounts: () => Promise<void>;
60
91
  handleFileChange: (entityId: string, field: string) => Promise<void>;
61
92
  log: Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"bus-handler.d.ts","sourceRoot":"","sources":["../../../../src/components/rtc-agent/helpers/bus-handler.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAG9C,UAAU,qBAAqB;IAC3B,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,UAAU,qBAAqB;IAC3B,KAAK,EAAE;QAAC,KAAK,EAAE;YAAC,QAAQ,EAAE,KAAK,CAAC;gBAAC,QAAQ,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAA;aAAC,CAAC,CAAA;SAAC,CAAA;KAAC,CAAC;CACxE;AAED,UAAU,wBAAwB;IAC9B,OAAO,EAAE;QACL,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAC,GAAG,IAAI,CAAC;QACvF,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;KACnE,CAAC;CACL;AAED,UAAU,yBAAyB;CAElC;AAED,UAAU,oBAAoB;IAC1B,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAAC,CAAC;CAC/G;AAED,UAAU,cAAc;IACpB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,gBAAgB;IACtB,WAAW,IAAI,IAAI,CAAC;CACvB;AAoBD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,UAAU,EAAE,wBAAwB,CAAC;IACrC,WAAW,EAAE,yBAAyB,CAAC;IACvC,WAAW,EAAE;QACT,KAAK,CAAC,EAAE,oBAAoB,CAAC;QAC7B,UAAU,CAAC,EAAE,cAAc,CAAC;KAC/B,CAAC;IACF,kFAAkF;IAClF,eAAe,IAAI,gBAAgB,GAAG,SAAS,CAAC;IAChD,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC1B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,cAAc,GACrB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BtB"}
1
+ {"version":3,"file":"bus-handler.d.ts","sourceRoot":"","sources":["../../../../src/components/rtc-agent/helpers/bus-handler.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAG9C,UAAU,qBAAqB;IAC3B,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,UAAU,qBAAqB;IAC3B,KAAK,EAAE;QAAC,KAAK,EAAE;YAAC,QAAQ,EAAE,KAAK,CAAC;gBAAC,QAAQ,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAA;aAAC,CAAC,CAAA;SAAC,CAAA;KAAC,CAAC;CACxE;AAED,UAAU,wBAAwB;IAC9B,OAAO,EAAE;QACL,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAC,GAAG,IAAI,CAAC;QACvF,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;KACnE,CAAC;CACL;AAED,UAAU,yBAAyB;CAElC;AAED,UAAU,oBAAoB;IAC1B,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAAC,CAAC;CAC/G;AAED,UAAU,cAAc;IACpB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,gBAAgB;IACtB,WAAW,IAAI,IAAI,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAgC;IAC/C,OAAO,CAAC,SAAS,CAAC,CAAgB;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;gBAGhD,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACjC,UAAU,GAAE,MAAW;IAM3B;;;OAGG;IACH,OAAO,IAAI,IAAI;IAaf;;OAEG;YACW,QAAQ;IAWtB;;OAEG;IACH,OAAO,IAAI,IAAI;CAMlB;AAoBD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,UAAU,EAAE,wBAAwB,CAAC;IACrC,WAAW,EAAE,yBAAyB,CAAC;IACvC,WAAW,EAAE;QACT,KAAK,CAAC,EAAE,oBAAoB,CAAC;QAC7B,UAAU,CAAC,EAAE,cAAc,CAAC;KAC/B,CAAC;IACF,kFAAkF;IAClF,eAAe,IAAI,gBAAgB,GAAG,SAAS,CAAC;IAChD,kFAAkF;IAClF,aAAa,EAAE,sBAAsB,CAAC;IACtC,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC1B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,cAAc,GACrB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCtB"}