@legendzd/ai-agent-vue 1.0.1 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,11 +3,22 @@ type __VLS_Props = {
3
3
  active: boolean;
4
4
  /** 实例 ID(透传,按钮本身不需要 store) */
5
5
  instanceId?: string;
6
+ /** 是否可拖拽 */
7
+ draggable?: boolean;
8
+ /** 拖拽约束模式 */
9
+ dragConstrain?: 'viewport' | 'none';
6
10
  };
7
11
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
12
  click: () => any;
13
+ dragMove: (x: number, y: number) => any;
14
+ dragEnd: (x: number, y: number) => any;
9
15
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
10
16
  onClick?: (() => any) | undefined;
11
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ onDragMove?: ((x: number, y: number) => any) | undefined;
18
+ onDragEnd?: ((x: number, y: number) => any) | undefined;
19
+ }>, {
20
+ draggable: boolean;
21
+ dragConstrain: "viewport" | "none";
22
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
23
  declare const _default: typeof __VLS_export;
13
24
  export default _default;
@@ -0,0 +1,39 @@
1
+ import { Directive } from 'vue';
2
+ /** v-drag 指令配置 */
3
+ export interface DragOptions {
4
+ /** 是否启用拖拽,默认 false */
5
+ enabled?: boolean;
6
+ /** 是否限制在视口内,默认 true */
7
+ constrainToViewport?: boolean;
8
+ /** 拖拽移动回调(参数为 translate 偏移量 px) */
9
+ onDragMove?: (x: number, y: number) => void;
10
+ /** 拖拽结束回调 */
11
+ onDragEnd?: (x: number, y: number) => void;
12
+ }
13
+ /** 扩展 HTMLElement 以存储拖拽状态 */
14
+ interface DragElement extends HTMLElement {
15
+ _dragState?: {
16
+ translateX: number;
17
+ translateY: number;
18
+ isTracking: boolean;
19
+ hasMoved: boolean;
20
+ startX: number;
21
+ startY: number;
22
+ startTX: number;
23
+ startTY: number;
24
+ currentRect: DOMRect;
25
+ onMove: (e: MouseEvent | TouchEvent) => void;
26
+ onEnd: (e: MouseEvent | TouchEvent) => void;
27
+ };
28
+ _dragOptions?: DragOptions;
29
+ }
30
+ /**
31
+ * v-drag 自定义指令
32
+ *
33
+ * @example
34
+ * ```vue
35
+ * <button v-drag="{ enabled: true, constrainToViewport: true }">拖我</button>
36
+ * ```
37
+ */
38
+ export declare const vDrag: Directive<DragElement, DragOptions>;
39
+ export {};
@@ -1 +1,34 @@
1
- export {}
1
+ import type { Plugin } from 'vue'
2
+
3
+ export declare const AgentPlugin: Plugin
4
+
5
+ export { default as AgentChat } from '../views/AgentChat.vue'
6
+ export { default as AgentChatPopup } from '../views/AgentChat.vue'
7
+ export { default as AgentChatFull } from '../views/AgentChatFull.vue'
8
+ export { default as AgentChatMobile } from '../views/AgentChatMobile.vue'
9
+ export { default as AgentHistoryList } from '../components/AgentHistoryList.vue'
10
+ export { default as AgentWindow } from '../components/AgentWindow.vue'
11
+
12
+ export { chatStore, getOrCreateChatInstance, getChatInstance, destroyChatInstance } from '../stores/chat'
13
+ export type { ChatStoreInstance } from '../stores/chat'
14
+
15
+ export { createChatSession, getChatSessions, getAgentOptions, setAgentOptions, streamChat } from '../api/agent'
16
+
17
+ export type {
18
+ AgentPluginOptions,
19
+ AgentThemeMode,
20
+ AgentThemeOverrides,
21
+ AgentLayoutMode,
22
+ AgentFullLayoutProps,
23
+ AgentMobileLayoutProps,
24
+ ChatMessage as ChatMessageType,
25
+ ChatMessageRole,
26
+ ChatMessageStatus,
27
+ SessionInfo,
28
+ SourceInfo,
29
+ StreamCallbacks,
30
+ StreamEvent,
31
+ StreamEventType,
32
+ StreamRequestData,
33
+ } from '../types/agent'
34
+ export { AGENT_CONFIG_KEY, AGENT_INSTANCE_KEY } from '../types/agent'
@@ -3,6 +3,8 @@ import { ComputedRef, InjectionKey } from 'vue';
3
3
  export type AgentThemeMode = 'dark' | 'light';
4
4
  /** 主题变量覆盖:键为 CSS 变量名(含 --agent- 前缀),值为 CSS 值 */
5
5
  export type AgentThemeOverrides = Record<string, string>;
6
+ /** 拖拽约束模式 */
7
+ export type DragConstrainMode = 'viewport' | 'none';
6
8
  /** 智能体插件配置(所有字段均可选,由组件 props 或 install 时传入) */
7
9
  export interface AgentPluginOptions {
8
10
  /** API 基础地址(如 http://host:port/api/v2) */
@@ -37,6 +39,10 @@ export interface AgentPluginOptions {
37
39
  voiceLang?: string;
38
40
  /** 实例 ID,用于多实例隔离,默认 'default' */
39
41
  instanceId?: string;
42
+ /** 是否可拖拽按钮,默认 false */
43
+ draggable?: boolean;
44
+ /** 拖拽约束模式:'viewport' 限制在视口内,'none' 不限制(但仍不超出可见区域),默认 'viewport' */
45
+ dragConstrain?: DragConstrainMode;
40
46
  }
41
47
  /** provide/inject key */
42
48
  export declare const AGENT_CONFIG_KEY: InjectionKey<ComputedRef<AgentPluginOptions>>;
@@ -1,2 +1,2 @@
1
- .agent-history-list[data-v-7e7558a4]{font-size:var(--agent-msg-font-size);color:var(--agent-msg-assistant-text,#e2e8f0);flex-direction:column;display:flex;overflow:hidden}.agent-history-list__header[data-v-7e7558a4]{border-bottom:.0625rem solid var(--agent-msg-assistant-border-color,#253354);flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.agent-history-list__title[data-v-7e7558a4]{font-size:.8125rem;font-weight:600}.agent-history-list__new-btn[data-v-7e7558a4]{background:var(--agent-send-bg);color:var(--agent-send-icon-color);cursor:pointer;transition:background var(--agent-transition-duration) var(--agent-transition-timing);border:none;border-radius:.375rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.6875rem;display:flex}.agent-history-list__new-btn[data-v-7e7558a4]:hover{background:var(--agent-send-bg-hover)}.agent-history-list__new-btn svg[data-v-7e7558a4]{width:.75rem;height:.75rem}.agent-history-list__body[data-v-7e7558a4]{flex:1;padding:.25rem;overflow-y:auto}.agent-history-list__body[data-v-7e7558a4]::-webkit-scrollbar{width:.25rem}.agent-history-list__body[data-v-7e7558a4]::-webkit-scrollbar-thumb{background:var(--agent-scrollbar-thumb);border-radius:.25rem}.agent-history-list__empty[data-v-7e7558a4]{text-align:center;color:var(--agent-empty-color);padding:1.5rem 0;font-size:.75rem}.agent-history-list__item[data-v-7e7558a4]{cursor:pointer;transition:background var(--agent-transition-duration) var(--agent-transition-timing);border-radius:.375rem;padding:.5rem .625rem}.agent-history-list__item[data-v-7e7558a4]:hover,.agent-history-list__item--active[data-v-7e7558a4]{background:var(--agent-header-btn-hover-bg)}.agent-history-list__item-title[data-v-7e7558a4]{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.agent-history-list__item-time[data-v-7e7558a4]{color:var(--agent-msg-time-color);margin-top:.125rem;font-size:.6875rem}.agent-msg[data-v-0d7dd017]{gap:var(--agent-chat-gap);max-width:100%;display:flex}.agent-msg--user[data-v-0d7dd017]{flex-direction:row-reverse}.agent-msg__avatar[data-v-0d7dd017]{width:var(--agent-avatar-size);height:var(--agent-avatar-size);min-width:var(--agent-avatar-size);border-radius:var(--agent-avatar-border-radius);font-size:var(--agent-avatar-font-size);justify-content:center;align-items:center;font-weight:600;display:flex}.agent-msg__avatar--user[data-v-0d7dd017]{background:var(--agent-avatar-user-bg);color:var(--agent-avatar-user-text)}.agent-msg__avatar--assistant[data-v-0d7dd017]{background:var(--agent-avatar-assistant-bg);color:var(--agent-avatar-assistant-text)}.agent-msg__avatar-icon[data-v-0d7dd017]{width:calc(var(--agent-avatar-size) * .55);height:calc(var(--agent-avatar-size) * .55)}.agent-msg__body[data-v-0d7dd017]{max-width:var(--agent-msg-max-width);flex-direction:column;min-width:0;display:flex}.agent-msg--user .agent-msg__body[data-v-0d7dd017]{align-items:flex-end}.agent-msg__bubble[data-v-0d7dd017]{padding:var(--agent-msg-padding);font-size:var(--agent-msg-font-size);line-height:var(--agent-msg-line-height);word-break:break-word}.agent-msg__bubble--user[data-v-0d7dd017]{background:var(--agent-msg-user-bg);color:var(--agent-msg-user-text);border-radius:var(--agent-msg-user-border-radius);white-space:pre-wrap}.agent-msg__bubble--assistant[data-v-0d7dd017]{background:var(--agent-msg-assistant-bg);color:var(--agent-msg-assistant-text);border-radius:var(--agent-msg-assistant-border-radius);border:var(--agent-msg-assistant-border)}.agent-msg__status[data-v-0d7dd017]{color:var(--agent-loading-dot-color);align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.8125rem;display:flex}.agent-msg__status-dot[data-v-0d7dd017]{background:var(--agent-loading-dot-color);border-radius:50%;width:.375rem;height:.375rem;animation:1.5s ease-in-out infinite agent-status-pulse-0d7dd017}@keyframes agent-status-pulse-0d7dd017{0%,to{opacity:.4}50%{opacity:1}}.agent-msg__section[data-v-0d7dd017]{border-radius:.375rem;margin-bottom:.5rem;overflow:hidden}.agent-msg__section-header[data-v-0d7dd017]{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0d;justify-content:space-between;align-items:center;padding:.375rem .625rem;font-size:.8125rem;display:flex}.agent-msg__section-header[data-v-0d7dd017]:hover{background:#ffffff14}.agent-msg__section-title[data-v-0d7dd017]{text-transform:uppercase;letter-spacing:.03em;opacity:.8;font-size:.75rem;font-weight:600}.agent-msg__section-actions[data-v-0d7dd017]{align-items:center;gap:.25rem;display:flex}.agent-msg__action-btn[data-v-0d7dd017]{width:1.25rem;height:1.25rem;color:inherit;opacity:.6;cursor:pointer;transition:opacity var(--agent-transition-duration) var(--agent-transition-timing);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;display:flex}.agent-msg__action-btn[data-v-0d7dd017]:hover{opacity:1}.agent-msg__action-btn svg[data-v-0d7dd017]{width:.75rem;height:.75rem}.agent-msg__chevron[data-v-0d7dd017]{opacity:.5;width:.875rem;height:.875rem;transition:transform var(--agent-transition-duration) var(--agent-transition-timing)}.agent-msg__chevron--expanded[data-v-0d7dd017]{transform:rotate(180deg)}.agent-msg__sql-content[data-v-0d7dd017]{padding:.5rem .625rem;overflow-x:auto}.agent-msg__sql-content pre[data-v-0d7dd017]{margin:0;font-size:.8125rem;line-height:1.5}.agent-msg__sql-content code[data-v-0d7dd017]{font-family:Menlo,Consolas,monospace;font-size:.75rem}.agent-msg__data-table[data-v-0d7dd017]{padding:.375rem}.agent-msg__data-table table[data-v-0d7dd017]{border-collapse:collapse;width:100%;font-size:.75rem}.agent-msg__data-table th[data-v-0d7dd017],.agent-msg__data-table td[data-v-0d7dd017]{border:.0625rem solid var(--agent-table-border);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:10rem;padding:.25rem .5rem;overflow:hidden}.agent-msg__data-table th[data-v-0d7dd017]{background:var(--agent-table-header-bg);font-weight:600}.agent-msg__data-more[data-v-0d7dd017]{text-align:center;color:var(--agent-loading-dot-color);cursor:pointer;padding:.375rem 0;font-size:.75rem}.agent-msg__data-more[data-v-0d7dd017]:hover{text-decoration:underline}.agent-msg__chart[data-v-0d7dd017]{margin-bottom:.5rem}.agent-msg__chart-container[data-v-0d7dd017]{width:100%;height:12rem}.agent-msg__sources[data-v-0d7dd017]{flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem;display:flex}.agent-msg__source-tag[data-v-0d7dd017]{color:var(--agent-loading-dot-color);background:#24c6dc1a;border-radius:1rem;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-flex}.agent-msg__markdown[data-v-0d7dd017]{min-width:0}.agent-msg__markdown[data-v-0d7dd017] p{margin:0 0 .5rem}.agent-msg__markdown[data-v-0d7dd017] p:last-child{margin-bottom:0}.agent-msg__markdown[data-v-0d7dd017] pre{border-radius:.5rem;margin:.5rem 0;overflow:hidden}.agent-msg__markdown[data-v-0d7dd017] code{font-size:.85em}.agent-msg__markdown[data-v-0d7dd017] pre code{background:var(--agent-code-block-bg);color:var(--agent-code-block-text);padding:.75rem;display:block;overflow-x:auto}.agent-msg__markdown[data-v-0d7dd017] :not(pre)>code{background:var(--agent-inline-code-bg);border-radius:.25rem;padding:.125rem .375rem;font-size:.85em}.agent-msg__markdown[data-v-0d7dd017] ul,.agent-msg__markdown[data-v-0d7dd017] ol{margin:.25rem 0;padding-left:1.25rem}.agent-msg__markdown[data-v-0d7dd017] table{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.9em}.agent-msg__markdown[data-v-0d7dd017] th,.agent-msg__markdown[data-v-0d7dd017] td{border:.0625rem solid var(--agent-table-border);text-align:left;padding:.375rem .625rem}.agent-msg__markdown[data-v-0d7dd017] th{background:var(--agent-table-header-bg);font-weight:600}.agent-msg__cursor[data-v-0d7dd017]{color:var(--agent-loading-dot-color);font-weight:400;animation:1s step-end infinite blink-0d7dd017;display:inline-block}@keyframes blink-0d7dd017{50%{opacity:0}}.agent-msg__error[data-v-0d7dd017]{color:var(--agent-error-color);background:var(--agent-error-bg);border-radius:.375rem;margin-top:.25rem;padding:.25rem .625rem;font-size:.75rem}.agent-history-popover[data-v-ccdb8713]{top:calc(var(--agent-header-height) + .25rem);background:var(--agent-window-bg);border:.0625rem solid var(--agent-msg-assistant-border-color,#253354);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);z-index:1;border-radius:.5rem;width:15rem;max-height:18.75rem;position:absolute;right:0;overflow:hidden;box-shadow:0 .5rem 1.5rem #0000004d}.agent-popover-enter-active[data-v-ccdb8713]{transition:opacity var(--agent-transition-duration) var(--agent-transition-timing), transform var(--agent-transition-duration) var(--agent-transition-timing)}.agent-popover-leave-active[data-v-ccdb8713]{transition:opacity calc(var(--agent-transition-duration) * .6) var(--agent-transition-timing), transform calc(var(--agent-transition-duration) * .6) var(--agent-transition-timing)}.agent-popover-enter-from[data-v-ccdb8713]{opacity:0;transform:translateY(-.5rem)scale(.95)}.agent-popover-leave-to[data-v-ccdb8713]{opacity:0;transform:translateY(-.25rem)scale(.98)}.agent-window[data-v-0f20c9a9]{position:var(--agent-window-position,fixed);width:var(--agent-window-width);height:var(--agent-window-height);bottom:var(--agent-window-bottom);right:var(--agent-window-right);left:var(--agent-window-left,auto);top:var(--agent-window-top,auto);z-index:var(--agent-window-z-index);border-radius:var(--agent-window-border-radius);box-shadow:var(--agent-window-shadow);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);flex-direction:column;display:flex;overflow:hidden}.agent-window[data-v-0f20c9a9]:before{content:"";border-radius:inherit;background:var(--agent-window-border-gradient);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.agent-window__header[data-v-0f20c9a9]{height:var(--agent-header-height);background:var(--agent-header-bg);color:var(--agent-header-text-color);font-size:var(--agent-header-font-size);font-weight:var(--agent-header-font-weight);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 1rem;display:flex;position:relative}.agent-window__title[data-v-0f20c9a9]{align-items:center;gap:.5rem;display:flex}.agent-window__header-actions[data-v-0f20c9a9]{align-items:center;gap:.25rem;display:flex}.agent-window__header-btn[data-v-0f20c9a9]{width:1.75rem;height:1.75rem;color:inherit;cursor:pointer;transition:background var(--agent-transition-duration) var(--agent-transition-timing);background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;display:flex}.agent-window__header-btn[data-v-0f20c9a9]:hover{background:var(--agent-header-btn-hover-bg)}.agent-window__header-btn svg[data-v-0f20c9a9]{width:1rem;height:1rem}.agent-window__chat[data-v-0f20c9a9]{padding:var(--agent-chat-padding);background:var(--agent-chat-bg);gap:var(--agent-chat-gap);flex-direction:column;flex:1;display:flex;overflow-y:auto}.agent-window__chat[data-v-0f20c9a9]::-webkit-scrollbar{width:.25rem}.agent-window__chat[data-v-0f20c9a9]::-webkit-scrollbar-track{background:0 0}.agent-window__chat[data-v-0f20c9a9]::-webkit-scrollbar-thumb{background:var(--agent-scrollbar-thumb);border-radius:.25rem}.agent-window__empty[data-v-0f20c9a9]{color:var(--agent-empty-color);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;display:flex}.agent-window__empty-icon[data-v-0f20c9a9]{opacity:.5;width:3rem;height:3rem}.agent-window__empty-text[data-v-0f20c9a9]{margin:0;font-size:.875rem}.agent-window__msg-row[data-v-0f20c9a9]{flex-direction:column;gap:.25rem;display:flex}.agent-window__msg-time[data-v-0f20c9a9]{color:var(--agent-msg-time-color);padding:0 calc(var(--agent-avatar-size) + var(--agent-chat-gap));font-size:.6875rem}.agent-window__input-area[data-v-0f20c9a9]{border-top:var(--agent-input-area-border-top);padding:var(--agent-input-area-padding);background:var(--agent-input-bg-outset);flex-shrink:0}.agent-window__stop-btn[data-v-0f20c9a9]{border:var(--agent-stop-btn-border);background:var(--agent-stop-btn-bg);width:100%;color:var(--agent-stop-btn-color);cursor:pointer;transition:background var(--agent-transition-duration) var(--agent-transition-timing), border-color var(--agent-transition-duration) var(--agent-transition-timing);border-radius:.5rem;justify-content:center;align-items:center;gap:.25rem;margin-bottom:.5rem;padding:.375rem 0;font-size:.75rem;display:flex}.agent-window__stop-btn[data-v-0f20c9a9]:hover{background:var(--agent-stop-btn-hover-bg);border-color:var(--agent-stop-btn-hover-border)}.agent-window__input-wrapper[data-v-0f20c9a9]{align-items:flex-end;display:flex;position:relative}.agent-window__textarea[data-v-0f20c9a9]{min-height:var(--agent-input-min-height);max-height:var(--agent-input-max-height);padding:var(--agent-input-padding);padding-right:calc(var(--agent-send-size) * 2 + 1.25rem);border:.0625rem solid var(--agent-input-border-color);border-radius:var(--agent-input-border-radius);background:var(--agent-input-bg);color:var(--agent-input-text-color);font-size:var(--agent-input-font-size);resize:none;transition:border-color var(--agent-transition-duration) var(--agent-transition-timing);outline:none;flex:1;font-family:inherit;line-height:1.5}.agent-window__textarea[data-v-0f20c9a9]::placeholder{color:var(--agent-input-placeholder-color)}.agent-window__textarea[data-v-0f20c9a9]:focus{border-color:var(--agent-input-focus-border-color)}.agent-window__send-btn[data-v-0f20c9a9]{width:var(--agent-send-size);height:var(--agent-send-size);border-radius:var(--agent-send-border-radius);background:var(--agent-send-bg);color:var(--agent-send-icon-color);cursor:pointer;transition:background var(--agent-transition-duration) var(--agent-transition-timing), opacity var(--agent-transition-duration) var(--agent-transition-timing);border:none;justify-content:center;align-items:center;display:flex;position:absolute;bottom:.375rem;right:.375rem}.agent-window__send-btn[data-v-0f20c9a9]:hover:not(:disabled){background:var(--agent-send-bg-hover)}.agent-window__send-btn--disabled[data-v-0f20c9a9]{background:var(--agent-send-bg-disabled);cursor:not-allowed}.agent-window__send-btn svg[data-v-0f20c9a9]{width:1rem;height:1rem}.agent-window__voice-btn[data-v-0f20c9a9]{right:calc(var(--agent-send-size) + .5rem);width:var(--agent-send-size);height:var(--agent-send-size);border-radius:var(--agent-send-border-radius);color:var(--agent-voice-icon-color,var(--agent-send-icon-color));cursor:pointer;transition:color var(--agent-transition-duration) var(--agent-transition-timing), background var(--agent-transition-duration) var(--agent-transition-timing);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;bottom:.375rem}.agent-window__voice-btn[data-v-0f20c9a9]:hover{color:var(--agent-voice-icon-hover-color,var(--agent-primary,#6366f1));background:var(--agent-voice-btn-hover-bg,#6366f11a)}.agent-window__voice-btn--active[data-v-0f20c9a9]{color:var(--agent-voice-active-color,#ef4444);background:var(--agent-voice-active-bg,#ef44441a)}.agent-window__voice-btn svg[data-v-0f20c9a9]{width:1rem;height:1rem}.agent-window__voice-pulse[data-v-0f20c9a9]{border-radius:inherit;pointer-events:none;animation:1.5s ease-in-out infinite agent-voice-pulse-0f20c9a9;position:absolute;inset:0}@keyframes agent-voice-pulse-0f20c9a9{0%{box-shadow:0 0 0 0 var(--agent-voice-pulse-color,#ef444466)}70%{box-shadow:0 0 0 .5rem var(--agent-voice-pulse-color,#ef444400)}to{box-shadow:0 0 0 0 var(--agent-voice-pulse-color,#ef444400)}}.agent-btn[data-v-62416818]{width:var(--agent-btn-size);height:var(--agent-btn-size);bottom:var(--agent-btn-bottom);right:var(--agent-btn-right);left:var(--agent-btn-left,auto);top:var(--agent-btn-top,auto);z-index:var(--agent-btn-z-index);border-radius:var(--agent-btn-border-radius);cursor:pointer;transition:transform var(--agent-transition-duration) var(--agent-transition-timing);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;overflow:hidden}.agent-btn[data-v-62416818]:hover{transform:scale(1.05)}.agent-btn[data-v-62416818]:active{transform:scale(.95)}.agent-btn__orb[data-v-62416818]{width:100%;height:100%;position:absolute;inset:0}.agent-btn__icon[data-v-62416818]{z-index:1;width:calc(var(--agent-btn-size) * .45);height:calc(var(--agent-btn-size) * .45);color:var(--agent-btn-icon-color);pointer-events:none;position:relative}.agent-chat[data-v-fd0778d8]{z-index:9998;position:relative}.agent-window-enter-active[data-v-fd0778d8]{transition:opacity var(--agent-transition-duration) var(--agent-transition-timing), transform var(--agent-transition-duration) var(--agent-transition-timing)}.agent-window-leave-active[data-v-fd0778d8]{transition:opacity calc(var(--agent-transition-duration) * .7) var(--agent-transition-timing), transform calc(var(--agent-transition-duration) * .7) var(--agent-transition-timing)}.agent-window-enter-from[data-v-fd0778d8]{opacity:0;transform:translateY(1rem)scale(.95)}.agent-window-leave-to[data-v-fd0778d8]{opacity:0;transform:translateY(.5rem)scale(.98)}.agent-chat-full[data-v-ec993f4b]{width:100%;height:100%;display:flex;position:relative;overflow:hidden}.agent-chat-full__sidebar[data-v-ec993f4b]{width:var(--agent-sidebar-width);border-right:.0625rem solid var(--agent-sidebar-border-color);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.agent-chat-full__sidebar--right[data-v-ec993f4b]{border-right:none;border-left:.0625rem solid var(--agent-sidebar-border-color);order:1}.agent-chat-full__sidebar--left[data-v-ec993f4b]{order:0}.agent-chat-full__main[data-v-ec993f4b]{flex:1;min-width:0;position:relative;overflow:hidden}.agent-chat-mobile[data-v-d3840852]{width:100%;height:100dvh;padding-top:var(--agent-safe-area-top);padding-bottom:var(--agent-safe-area-bottom);flex-direction:column;display:flex;position:relative;overflow:hidden}.agent-chat-mobile__main[data-v-d3840852]{flex:1;position:relative;overflow:hidden}.agent-chat-mobile__mask[data-v-d3840852]{z-index:10000;-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);background:#00000080;position:fixed;inset:0}.agent-drawer-mask-enter-active[data-v-d3840852]{transition:opacity var(--agent-transition-duration) var(--agent-transition-timing)}.agent-drawer-mask-leave-active[data-v-d3840852]{transition:opacity calc(var(--agent-transition-duration) * .6) var(--agent-transition-timing)}.agent-drawer-mask-enter-from[data-v-d3840852],.agent-drawer-mask-leave-to[data-v-d3840852]{opacity:0}.agent-chat-mobile__drawer[data-v-d3840852]{z-index:10001;background:var(--agent-window-bg);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);max-height:70vh;padding-bottom:var(--agent-safe-area-bottom);border-radius:1rem 1rem 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -.25rem 1.5rem #0000004d}.agent-chat-mobile__drawer-handle[data-v-d3840852]{flex-shrink:0;justify-content:center;padding:.5rem 0 .25rem;display:flex}.agent-chat-mobile__drawer-handle[data-v-d3840852]:after{content:"";background:var(--agent-scrollbar-thumb);opacity:.6;border-radius:.125rem;width:2.25rem;height:.25rem}.agent-drawer-enter-active[data-v-d3840852]{transition:transform var(--agent-transition-duration) var(--agent-transition-timing)}.agent-drawer-leave-active[data-v-d3840852]{transition:transform calc(var(--agent-transition-duration) * .6) var(--agent-transition-timing)}.agent-drawer-enter-from[data-v-d3840852],.agent-drawer-leave-to[data-v-d3840852]{transform:translateY(100%)}:root{--font-size:16px;--agent-color-primary:#373b44;--agent-color-accent:#4286f4;--agent-color-btn:var(--agent-color-primary);--agent-color-btn-hover:var(--agent-color-accent);--agent-color-btn-icon:#fff;--agent-color-btn-shadow:color-mix(in srgb, var(--agent-color-primary) 45%, transparent);--agent-color-btn-shadow-hover:color-mix(in srgb, var(--agent-color-accent) 45%, transparent);--agent-color-window-bg:#141b2dc7;--agent-color-window-border-start:color-mix(in srgb, var(--agent-color-primary) 40%, transparent);--agent-color-window-border-end:color-mix(in srgb, var(--agent-color-accent) 40%, transparent);--agent-color-window-shadow:#0006;--agent-color-header-start:var(--agent-color-primary);--agent-color-header-end:var(--agent-color-accent);--agent-color-header-text:#fff;--agent-color-header-btn-hover:#ffffff26;--agent-color-chat-bg:#0f172900;--agent-color-scrollbar:#2a3a5c;--agent-color-msg-user:var(--agent-color-primary);--agent-color-msg-user-text:#fff;--agent-color-msg-assistant:#1a2340;--agent-color-msg-assistant-text:#e2e8f0;--agent-color-msg-assistant-border:#253354;--agent-color-input-bg:#6b819c52;--agent-color-input-bg-outset:#fff0;--agent-color-input-border:#253354;--agent-color-input-focus-border:var(--agent-color-accent);--agent-color-input-text:#e2e8f0;--agent-color-input-placeholder:#5a6b8a;--agent-color-input-area-border:#25335400;--agent-color-send:var(--agent-color-accent);--agent-color-send-hover:color-mix(in srgb, var(--agent-color-accent), black 12%);--agent-color-send-disabled:color-mix(in srgb, var(--agent-color-accent), black 60%);--agent-color-send-icon:#fff;--agent-color-avatar-user:var(--agent-color-primary);--agent-color-avatar-user-text:#fff;--agent-color-avatar-assistant:color-mix(in srgb, var(--agent-color-accent), black 70%);--agent-color-avatar-assistant-text:var(--agent-color-accent);--agent-color-loading:var(--agent-color-accent);--agent-color-empty:#5a6b8a;--agent-color-msg-time:#5a6b8a;--agent-color-stop-btn:#1a2340;--agent-color-stop-btn-border:#253354;--agent-color-stop-btn-text:#8a9bba;--agent-color-stop-btn-hover:#223050;--agent-color-stop-btn-hover-border:#2e4268;--agent-color-code-bg:#0d1117;--agent-color-code-text:#c9d1d9;--agent-color-inline-code:color-mix(in srgb, var(--agent-color-primary), black 70%);--agent-color-table-border:#253354;--agent-color-table-header:#1a2340;--agent-color-error:#f87171;--agent-color-error-bg:#f871711a;--agent-color-sidebar-border:#253354;--agent-btn-size:3.25rem;--agent-btn-bg:var(--agent-color-btn);--agent-btn-bg-hover:var(--agent-color-btn-hover);--agent-btn-icon-color:var(--agent-color-btn-icon);--agent-btn-border-radius:50%;--agent-btn-shadow:0 .25rem .875rem var(--agent-color-btn-shadow);--agent-btn-shadow-hover:0 .375rem 1.25rem var(--agent-color-btn-shadow-hover);--agent-btn-bottom:1.75rem;--agent-btn-right:1.75rem;--agent-btn-z-index:9998;--agent-window-position:fixed;--agent-window-width:26.25rem;--agent-window-height:38.75rem;--agent-window-bg:var(--agent-color-window-bg);--agent-window-border-gradient:linear-gradient(145deg, var(--agent-color-window-border-start), var(--agent-color-window-border-end));--agent-window-border-radius:.5rem;--agent-window-shadow:0 .75rem 2.5rem var(--agent-color-window-shadow);--agent-window-z-index:9999;--agent-window-bottom:6rem;--agent-window-right:1.75rem;--agent-window-left:unset;--agent-window-top:unset;--agent-header-height:3.25rem;--agent-header-bg:linear-gradient(135deg, var(--agent-color-header-start), var(--agent-color-header-end));--agent-header-text-color:var(--agent-color-header-text);--agent-header-font-size:.9375rem;--agent-header-font-weight:600;--agent-header-title:"AI 智能助手";--agent-chat-bg:var(--agent-color-chat-bg);--agent-chat-padding:1rem;--agent-chat-gap:.75rem;--agent-scrollbar-thumb:var(--agent-color-scrollbar);--agent-msg-user-bg:var(--agent-color-msg-user);--agent-msg-user-text:var(--agent-color-msg-user-text);--agent-msg-user-border-radius:1rem 1rem .25rem 1rem;--agent-msg-assistant-bg:var(--agent-color-msg-assistant);--agent-msg-assistant-text:var(--agent-color-msg-assistant-text);--agent-msg-assistant-border-radius:1rem 1rem 1rem .25rem;--agent-msg-assistant-border:.0625rem solid var(--agent-color-msg-assistant-border);--agent-msg-font-size:.875rem;--agent-msg-line-height:1.6;--agent-msg-padding:.625rem .875rem;--agent-msg-max-width:80%;--agent-input-bg:var(--agent-color-input-bg);--agent-input-bg-outset:var(--agent-color-input-bg-outset);--agent-input-border-color:var(--agent-color-input-border);--agent-input-border-radius:.25rem;--agent-input-focus-border-color:var(--agent-color-input-focus-border);--agent-input-font-size:.875rem;--agent-input-text-color:var(--agent-color-input-text);--agent-input-placeholder-color:var(--agent-color-input-placeholder);--agent-input-padding:.625rem 3rem .625rem .875rem;--agent-input-min-height:2.75rem;--agent-input-max-height:7.5rem;--agent-input-area-border-top:.0625rem solid var(--agent-color-input-area-border);--agent-input-area-padding:.75rem .75rem;--agent-send-bg:var(--agent-color-send);--agent-send-bg-hover:var(--agent-color-send-hover);--agent-send-bg-disabled:var(--agent-color-send-disabled);--agent-send-icon-color:var(--agent-color-send-icon);--agent-send-size:2rem;--agent-send-border-radius:.5rem;--agent-avatar-user-bg:var(--agent-color-avatar-user);--agent-avatar-user-text:var(--agent-color-avatar-user-text);--agent-avatar-assistant-bg:var(--agent-color-avatar-assistant);--agent-avatar-assistant-text:var(--agent-color-avatar-assistant-text);--agent-avatar-size:2rem;--agent-avatar-border-radius:50%;--agent-avatar-font-size:.875rem;--agent-loading-dot-color:var(--agent-color-loading);--agent-loading-dot-size:.375rem;--agent-empty-color:var(--agent-color-empty);--agent-msg-time-color:var(--agent-color-msg-time);--agent-stop-btn-bg:var(--agent-color-stop-btn);--agent-stop-btn-border:.0625rem solid var(--agent-color-stop-btn-border);--agent-stop-btn-color:var(--agent-color-stop-btn-text);--agent-stop-btn-hover-bg:var(--agent-color-stop-btn-hover);--agent-stop-btn-hover-border:.0625rem solid var(--agent-color-stop-btn-hover-border);--agent-header-btn-hover-bg:var(--agent-color-header-btn-hover);--agent-code-block-bg:var(--agent-color-code-bg);--agent-code-block-text:var(--agent-color-code-text);--agent-inline-code-bg:var(--agent-color-inline-code);--agent-table-border:var(--agent-color-table-border);--agent-table-header-bg:var(--agent-color-table-header);--agent-error-color:var(--agent-color-error);--agent-error-bg:var(--agent-color-error-bg);--agent-transition-duration:.3s;--agent-transition-timing:cubic-bezier(.4, 0, .2, 1);--agent-sidebar-width:17.5rem;--agent-sidebar-bg:var(--agent-window-bg);--agent-sidebar-border-color:var(--agent-color-sidebar-border);--agent-safe-area-top:env(safe-area-inset-top,0px);--agent-safe-area-bottom:env(safe-area-inset-bottom,0px)}[data-agent-theme=light]{--agent-color-btn-hover:color-mix(in srgb, var(--agent-color-primary), black 15%);--agent-color-btn-shadow:color-mix(in srgb, var(--agent-color-primary) 35%, transparent);--agent-color-btn-shadow-hover:color-mix(in srgb, var(--agent-color-primary) 45%, transparent);--agent-color-window-bg:#ffffffc7;--agent-color-window-shadow:#00000026;--agent-color-chat-bg:#f8fafc;--agent-color-scrollbar:#cbd5e1;--agent-color-msg-assistant:#fff;--agent-color-msg-assistant-text:#1e293b;--agent-color-msg-assistant-border:#e2e8f0;--agent-color-input-bg:#fff;--agent-color-input-border:#e2e8f0;--agent-color-input-text:#1e293b;--agent-color-input-placeholder:#94a3b8;--agent-color-input-area-border:#e2e8f0;--agent-color-send-disabled:color-mix(in srgb, var(--agent-color-accent), white 65%);--agent-color-avatar-assistant:color-mix(in srgb, var(--agent-color-accent), white 85%);--agent-color-avatar-assistant-text:var(--agent-color-primary);--agent-color-empty:#94a3b8;--agent-color-msg-time:#94a3b8;--agent-color-stop-btn:#fff;--agent-color-stop-btn-border:#e2e8f0;--agent-color-stop-btn-text:#64748b;--agent-color-stop-btn-hover:#f8fafc;--agent-color-stop-btn-hover-border:#cbd5e1;--agent-color-inline-code:color-mix(in srgb, var(--agent-color-primary), white 85%);--agent-color-table-border:#e2e8f0;--agent-color-table-header:#f1f5f9;--agent-color-error:#ef4444;--agent-color-error-bg:#fef2f2;--agent-color-sidebar-border:#e2e8f0}html{font-size:var(--font-size)}
1
+ .agent-history-list[data-v-7e7558a4]{font-size:var(--agent-msg-font-size);color:var(--agent-msg-assistant-text,#e2e8f0);flex-direction:column;display:flex;overflow:hidden}.agent-history-list__header[data-v-7e7558a4]{border-bottom:.0625rem solid var(--agent-msg-assistant-border-color,#253354);flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.agent-history-list__title[data-v-7e7558a4]{font-size:.8125rem;font-weight:600}.agent-history-list__new-btn[data-v-7e7558a4]{background:var(--agent-send-bg);color:var(--agent-send-icon-color);cursor:pointer;transition:background var(--agent-transition-duration) var(--agent-transition-timing);border:none;border-radius:.375rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.6875rem;display:flex}.agent-history-list__new-btn[data-v-7e7558a4]:hover{background:var(--agent-send-bg-hover)}.agent-history-list__new-btn svg[data-v-7e7558a4]{width:.75rem;height:.75rem}.agent-history-list__body[data-v-7e7558a4]{flex:1;padding:.25rem;overflow-y:auto}.agent-history-list__body[data-v-7e7558a4]::-webkit-scrollbar{width:.25rem}.agent-history-list__body[data-v-7e7558a4]::-webkit-scrollbar-thumb{background:var(--agent-scrollbar-thumb);border-radius:.25rem}.agent-history-list__empty[data-v-7e7558a4]{text-align:center;color:var(--agent-empty-color);padding:1.5rem 0;font-size:.75rem}.agent-history-list__item[data-v-7e7558a4]{cursor:pointer;transition:background var(--agent-transition-duration) var(--agent-transition-timing);border-radius:.375rem;padding:.5rem .625rem}.agent-history-list__item[data-v-7e7558a4]:hover,.agent-history-list__item--active[data-v-7e7558a4]{background:var(--agent-header-btn-hover-bg)}.agent-history-list__item-title[data-v-7e7558a4]{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.agent-history-list__item-time[data-v-7e7558a4]{color:var(--agent-msg-time-color);margin-top:.125rem;font-size:.6875rem}.agent-msg[data-v-0d7dd017]{gap:var(--agent-chat-gap);max-width:100%;display:flex}.agent-msg--user[data-v-0d7dd017]{flex-direction:row-reverse}.agent-msg__avatar[data-v-0d7dd017]{width:var(--agent-avatar-size);height:var(--agent-avatar-size);min-width:var(--agent-avatar-size);border-radius:var(--agent-avatar-border-radius);font-size:var(--agent-avatar-font-size);justify-content:center;align-items:center;font-weight:600;display:flex}.agent-msg__avatar--user[data-v-0d7dd017]{background:var(--agent-avatar-user-bg);color:var(--agent-avatar-user-text)}.agent-msg__avatar--assistant[data-v-0d7dd017]{background:var(--agent-avatar-assistant-bg);color:var(--agent-avatar-assistant-text)}.agent-msg__avatar-icon[data-v-0d7dd017]{width:calc(var(--agent-avatar-size) * .55);height:calc(var(--agent-avatar-size) * .55)}.agent-msg__body[data-v-0d7dd017]{max-width:var(--agent-msg-max-width);flex-direction:column;min-width:0;display:flex}.agent-msg--user .agent-msg__body[data-v-0d7dd017]{align-items:flex-end}.agent-msg__bubble[data-v-0d7dd017]{padding:var(--agent-msg-padding);font-size:var(--agent-msg-font-size);line-height:var(--agent-msg-line-height);word-break:break-word}.agent-msg__bubble--user[data-v-0d7dd017]{background:var(--agent-msg-user-bg);color:var(--agent-msg-user-text);border-radius:var(--agent-msg-user-border-radius);white-space:pre-wrap}.agent-msg__bubble--assistant[data-v-0d7dd017]{background:var(--agent-msg-assistant-bg);color:var(--agent-msg-assistant-text);border-radius:var(--agent-msg-assistant-border-radius);border:var(--agent-msg-assistant-border)}.agent-msg__status[data-v-0d7dd017]{color:var(--agent-loading-dot-color);align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.8125rem;display:flex}.agent-msg__status-dot[data-v-0d7dd017]{background:var(--agent-loading-dot-color);border-radius:50%;width:.375rem;height:.375rem;animation:1.5s ease-in-out infinite agent-status-pulse-0d7dd017}@keyframes agent-status-pulse-0d7dd017{0%,to{opacity:.4}50%{opacity:1}}.agent-msg__section[data-v-0d7dd017]{border-radius:.375rem;margin-bottom:.5rem;overflow:hidden}.agent-msg__section-header[data-v-0d7dd017]{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0d;justify-content:space-between;align-items:center;padding:.375rem .625rem;font-size:.8125rem;display:flex}.agent-msg__section-header[data-v-0d7dd017]:hover{background:#ffffff14}.agent-msg__section-title[data-v-0d7dd017]{text-transform:uppercase;letter-spacing:.03em;opacity:.8;font-size:.75rem;font-weight:600}.agent-msg__section-actions[data-v-0d7dd017]{align-items:center;gap:.25rem;display:flex}.agent-msg__action-btn[data-v-0d7dd017]{width:1.25rem;height:1.25rem;color:inherit;opacity:.6;cursor:pointer;transition:opacity var(--agent-transition-duration) var(--agent-transition-timing);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;display:flex}.agent-msg__action-btn[data-v-0d7dd017]:hover{opacity:1}.agent-msg__action-btn svg[data-v-0d7dd017]{width:.75rem;height:.75rem}.agent-msg__chevron[data-v-0d7dd017]{opacity:.5;width:.875rem;height:.875rem;transition:transform var(--agent-transition-duration) var(--agent-transition-timing)}.agent-msg__chevron--expanded[data-v-0d7dd017]{transform:rotate(180deg)}.agent-msg__sql-content[data-v-0d7dd017]{padding:.5rem .625rem;overflow-x:auto}.agent-msg__sql-content pre[data-v-0d7dd017]{margin:0;font-size:.8125rem;line-height:1.5}.agent-msg__sql-content code[data-v-0d7dd017]{font-family:Menlo,Consolas,monospace;font-size:.75rem}.agent-msg__data-table[data-v-0d7dd017]{padding:.375rem}.agent-msg__data-table table[data-v-0d7dd017]{border-collapse:collapse;width:100%;font-size:.75rem}.agent-msg__data-table th[data-v-0d7dd017],.agent-msg__data-table td[data-v-0d7dd017]{border:.0625rem solid var(--agent-table-border);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:10rem;padding:.25rem .5rem;overflow:hidden}.agent-msg__data-table th[data-v-0d7dd017]{background:var(--agent-table-header-bg);font-weight:600}.agent-msg__data-more[data-v-0d7dd017]{text-align:center;color:var(--agent-loading-dot-color);cursor:pointer;padding:.375rem 0;font-size:.75rem}.agent-msg__data-more[data-v-0d7dd017]:hover{text-decoration:underline}.agent-msg__chart[data-v-0d7dd017]{margin-bottom:.5rem}.agent-msg__chart-container[data-v-0d7dd017]{width:100%;height:12rem}.agent-msg__sources[data-v-0d7dd017]{flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem;display:flex}.agent-msg__source-tag[data-v-0d7dd017]{color:var(--agent-loading-dot-color);background:#24c6dc1a;border-radius:1rem;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-flex}.agent-msg__markdown[data-v-0d7dd017]{min-width:0}.agent-msg__markdown[data-v-0d7dd017] p{margin:0 0 .5rem}.agent-msg__markdown[data-v-0d7dd017] p:last-child{margin-bottom:0}.agent-msg__markdown[data-v-0d7dd017] pre{border-radius:.5rem;margin:.5rem 0;overflow:hidden}.agent-msg__markdown[data-v-0d7dd017] code{font-size:.85em}.agent-msg__markdown[data-v-0d7dd017] pre code{background:var(--agent-code-block-bg);color:var(--agent-code-block-text);padding:.75rem;display:block;overflow-x:auto}.agent-msg__markdown[data-v-0d7dd017] :not(pre)>code{background:var(--agent-inline-code-bg);border-radius:.25rem;padding:.125rem .375rem;font-size:.85em}.agent-msg__markdown[data-v-0d7dd017] ul,.agent-msg__markdown[data-v-0d7dd017] ol{margin:.25rem 0;padding-left:1.25rem}.agent-msg__markdown[data-v-0d7dd017] table{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.9em}.agent-msg__markdown[data-v-0d7dd017] th,.agent-msg__markdown[data-v-0d7dd017] td{border:.0625rem solid var(--agent-table-border);text-align:left;padding:.375rem .625rem}.agent-msg__markdown[data-v-0d7dd017] th{background:var(--agent-table-header-bg);font-weight:600}.agent-msg__cursor[data-v-0d7dd017]{color:var(--agent-loading-dot-color);font-weight:400;animation:1s step-end infinite blink-0d7dd017;display:inline-block}@keyframes blink-0d7dd017{50%{opacity:0}}.agent-msg__error[data-v-0d7dd017]{color:var(--agent-error-color);background:var(--agent-error-bg);border-radius:.375rem;margin-top:.25rem;padding:.25rem .625rem;font-size:.75rem}.agent-history-popover[data-v-ccdb8713]{top:calc(var(--agent-header-height) + .25rem);background:var(--agent-window-bg);border:.0625rem solid var(--agent-msg-assistant-border-color,#253354);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);z-index:1;border-radius:.5rem;width:15rem;max-height:18.75rem;position:absolute;right:0;overflow:hidden;box-shadow:0 .5rem 1.5rem #0000004d}.agent-popover-enter-active[data-v-ccdb8713]{transition:opacity var(--agent-transition-duration) var(--agent-transition-timing), transform var(--agent-transition-duration) var(--agent-transition-timing)}.agent-popover-leave-active[data-v-ccdb8713]{transition:opacity calc(var(--agent-transition-duration) * .6) var(--agent-transition-timing), transform calc(var(--agent-transition-duration) * .6) var(--agent-transition-timing)}.agent-popover-enter-from[data-v-ccdb8713]{opacity:0;transform:translateY(-.5rem)scale(.95)}.agent-popover-leave-to[data-v-ccdb8713]{opacity:0;transform:translateY(-.25rem)scale(.98)}.agent-window[data-v-0f20c9a9]{position:var(--agent-window-position,fixed);width:var(--agent-window-width);height:var(--agent-window-height);bottom:var(--agent-window-bottom);right:var(--agent-window-right);left:var(--agent-window-left,auto);top:var(--agent-window-top,auto);z-index:var(--agent-window-z-index);border-radius:var(--agent-window-border-radius);box-shadow:var(--agent-window-shadow);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);flex-direction:column;display:flex;overflow:hidden}.agent-window[data-v-0f20c9a9]:before{content:"";border-radius:inherit;background:var(--agent-window-border-gradient);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.agent-window__header[data-v-0f20c9a9]{height:var(--agent-header-height);background:var(--agent-header-bg);color:var(--agent-header-text-color);font-size:var(--agent-header-font-size);font-weight:var(--agent-header-font-weight);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 1rem;display:flex;position:relative}.agent-window__title[data-v-0f20c9a9]{align-items:center;gap:.5rem;display:flex}.agent-window__header-actions[data-v-0f20c9a9]{align-items:center;gap:.25rem;display:flex}.agent-window__header-btn[data-v-0f20c9a9]{width:1.75rem;height:1.75rem;color:inherit;cursor:pointer;transition:background var(--agent-transition-duration) var(--agent-transition-timing);background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;display:flex}.agent-window__header-btn[data-v-0f20c9a9]:hover{background:var(--agent-header-btn-hover-bg)}.agent-window__header-btn svg[data-v-0f20c9a9]{width:1rem;height:1rem}.agent-window__chat[data-v-0f20c9a9]{padding:var(--agent-chat-padding);background:var(--agent-chat-bg);gap:var(--agent-chat-gap);flex-direction:column;flex:1;display:flex;overflow-y:auto}.agent-window__chat[data-v-0f20c9a9]::-webkit-scrollbar{width:.25rem}.agent-window__chat[data-v-0f20c9a9]::-webkit-scrollbar-track{background:0 0}.agent-window__chat[data-v-0f20c9a9]::-webkit-scrollbar-thumb{background:var(--agent-scrollbar-thumb);border-radius:.25rem}.agent-window__empty[data-v-0f20c9a9]{color:var(--agent-empty-color);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;display:flex}.agent-window__empty-icon[data-v-0f20c9a9]{opacity:.5;width:3rem;height:3rem}.agent-window__empty-text[data-v-0f20c9a9]{margin:0;font-size:.875rem}.agent-window__msg-row[data-v-0f20c9a9]{flex-direction:column;gap:.25rem;display:flex}.agent-window__msg-time[data-v-0f20c9a9]{color:var(--agent-msg-time-color);padding:0 calc(var(--agent-avatar-size) + var(--agent-chat-gap));font-size:.6875rem}.agent-window__input-area[data-v-0f20c9a9]{border-top:var(--agent-input-area-border-top);padding:var(--agent-input-area-padding);background:var(--agent-input-bg-outset);flex-shrink:0}.agent-window__stop-btn[data-v-0f20c9a9]{border:var(--agent-stop-btn-border);background:var(--agent-stop-btn-bg);width:100%;color:var(--agent-stop-btn-color);cursor:pointer;transition:background var(--agent-transition-duration) var(--agent-transition-timing), border-color var(--agent-transition-duration) var(--agent-transition-timing);border-radius:.5rem;justify-content:center;align-items:center;gap:.25rem;margin-bottom:.5rem;padding:.375rem 0;font-size:.75rem;display:flex}.agent-window__stop-btn[data-v-0f20c9a9]:hover{background:var(--agent-stop-btn-hover-bg);border-color:var(--agent-stop-btn-hover-border)}.agent-window__input-wrapper[data-v-0f20c9a9]{align-items:flex-end;display:flex;position:relative}.agent-window__textarea[data-v-0f20c9a9]{min-height:var(--agent-input-min-height);max-height:var(--agent-input-max-height);padding:var(--agent-input-padding);padding-right:calc(var(--agent-send-size) * 2 + 1.25rem);border:.0625rem solid var(--agent-input-border-color);border-radius:var(--agent-input-border-radius);background:var(--agent-input-bg);color:var(--agent-input-text-color);font-size:var(--agent-input-font-size);resize:none;transition:border-color var(--agent-transition-duration) var(--agent-transition-timing);outline:none;flex:1;font-family:inherit;line-height:1.5}.agent-window__textarea[data-v-0f20c9a9]::placeholder{color:var(--agent-input-placeholder-color)}.agent-window__textarea[data-v-0f20c9a9]:focus{border-color:var(--agent-input-focus-border-color)}.agent-window__send-btn[data-v-0f20c9a9]{width:var(--agent-send-size);height:var(--agent-send-size);border-radius:var(--agent-send-border-radius);background:var(--agent-send-bg);color:var(--agent-send-icon-color);cursor:pointer;transition:background var(--agent-transition-duration) var(--agent-transition-timing), opacity var(--agent-transition-duration) var(--agent-transition-timing);border:none;justify-content:center;align-items:center;display:flex;position:absolute;bottom:.375rem;right:.375rem}.agent-window__send-btn[data-v-0f20c9a9]:hover:not(:disabled){background:var(--agent-send-bg-hover)}.agent-window__send-btn--disabled[data-v-0f20c9a9]{background:var(--agent-send-bg-disabled);cursor:not-allowed}.agent-window__send-btn svg[data-v-0f20c9a9]{width:1rem;height:1rem}.agent-window__voice-btn[data-v-0f20c9a9]{right:calc(var(--agent-send-size) + .5rem);width:var(--agent-send-size);height:var(--agent-send-size);border-radius:var(--agent-send-border-radius);color:var(--agent-voice-icon-color,var(--agent-send-icon-color));cursor:pointer;transition:color var(--agent-transition-duration) var(--agent-transition-timing), background var(--agent-transition-duration) var(--agent-transition-timing);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;bottom:.375rem}.agent-window__voice-btn[data-v-0f20c9a9]:hover{color:var(--agent-voice-icon-hover-color,var(--agent-primary,#6366f1));background:var(--agent-voice-btn-hover-bg,#6366f11a)}.agent-window__voice-btn--active[data-v-0f20c9a9]{color:var(--agent-voice-active-color,#ef4444);background:var(--agent-voice-active-bg,#ef44441a)}.agent-window__voice-btn svg[data-v-0f20c9a9]{width:1rem;height:1rem}.agent-window__voice-pulse[data-v-0f20c9a9]{border-radius:inherit;pointer-events:none;animation:1.5s ease-in-out infinite agent-voice-pulse-0f20c9a9;position:absolute;inset:0}@keyframes agent-voice-pulse-0f20c9a9{0%{box-shadow:0 0 0 0 var(--agent-voice-pulse-color,#ef444466)}70%{box-shadow:0 0 0 .5rem var(--agent-voice-pulse-color,#ef444400)}to{box-shadow:0 0 0 0 var(--agent-voice-pulse-color,#ef444400)}}.agent-btn[data-v-c1ec54bb]{width:var(--agent-btn-size);height:var(--agent-btn-size);bottom:var(--agent-btn-bottom);right:var(--agent-btn-right);left:var(--agent-btn-left,auto);top:var(--agent-btn-top,auto);z-index:var(--agent-btn-z-index);border-radius:var(--agent-btn-border-radius);cursor:pointer;transition:scale var(--agent-transition-duration) var(--agent-transition-timing);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;overflow:hidden;scale:1}.agent-btn--draggable[data-v-c1ec54bb]{cursor:grab}.agent-btn[data-v-c1ec54bb]:hover{scale:1.05}.agent-btn[data-v-c1ec54bb]:active{scale:.95}.agent-btn__orb[data-v-c1ec54bb]{width:100%;height:100%;position:absolute;inset:0}.agent-btn__icon[data-v-c1ec54bb]{z-index:1;width:calc(var(--agent-btn-size) * .45);height:calc(var(--agent-btn-size) * .45);color:var(--agent-btn-icon-color);pointer-events:none;position:relative}.agent-chat[data-v-90eac3a6]{z-index:9998;position:relative}.agent-window-enter-active[data-v-90eac3a6]{transition:opacity var(--agent-transition-duration) var(--agent-transition-timing), transform var(--agent-transition-duration) var(--agent-transition-timing)}.agent-window-leave-active[data-v-90eac3a6]{transition:opacity calc(var(--agent-transition-duration) * .7) var(--agent-transition-timing), transform calc(var(--agent-transition-duration) * .7) var(--agent-transition-timing)}.agent-window-enter-from[data-v-90eac3a6]{opacity:0;transform:translate(var(--agent-window-enter-x,0), var(--agent-window-enter-y,1rem)) scale(.95)}.agent-window-leave-to[data-v-90eac3a6]{opacity:0;transform:translate(var(--agent-window-leave-x,0), var(--agent-window-leave-y,.5rem)) scale(.98)}.agent-chat-full[data-v-ec993f4b]{width:100%;height:100%;display:flex;position:relative;overflow:hidden}.agent-chat-full__sidebar[data-v-ec993f4b]{width:var(--agent-sidebar-width);border-right:.0625rem solid var(--agent-sidebar-border-color);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.agent-chat-full__sidebar--right[data-v-ec993f4b]{border-right:none;border-left:.0625rem solid var(--agent-sidebar-border-color);order:1}.agent-chat-full__sidebar--left[data-v-ec993f4b]{order:0}.agent-chat-full__main[data-v-ec993f4b]{flex:1;min-width:0;position:relative;overflow:hidden}.agent-chat-mobile[data-v-d3840852]{width:100%;height:100dvh;padding-top:var(--agent-safe-area-top);padding-bottom:var(--agent-safe-area-bottom);flex-direction:column;display:flex;position:relative;overflow:hidden}.agent-chat-mobile__main[data-v-d3840852]{flex:1;position:relative;overflow:hidden}.agent-chat-mobile__mask[data-v-d3840852]{z-index:10000;-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);background:#00000080;position:fixed;inset:0}.agent-drawer-mask-enter-active[data-v-d3840852]{transition:opacity var(--agent-transition-duration) var(--agent-transition-timing)}.agent-drawer-mask-leave-active[data-v-d3840852]{transition:opacity calc(var(--agent-transition-duration) * .6) var(--agent-transition-timing)}.agent-drawer-mask-enter-from[data-v-d3840852],.agent-drawer-mask-leave-to[data-v-d3840852]{opacity:0}.agent-chat-mobile__drawer[data-v-d3840852]{z-index:10001;background:var(--agent-window-bg);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);max-height:70vh;padding-bottom:var(--agent-safe-area-bottom);border-radius:1rem 1rem 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -.25rem 1.5rem #0000004d}.agent-chat-mobile__drawer-handle[data-v-d3840852]{flex-shrink:0;justify-content:center;padding:.5rem 0 .25rem;display:flex}.agent-chat-mobile__drawer-handle[data-v-d3840852]:after{content:"";background:var(--agent-scrollbar-thumb);opacity:.6;border-radius:.125rem;width:2.25rem;height:.25rem}.agent-drawer-enter-active[data-v-d3840852]{transition:transform var(--agent-transition-duration) var(--agent-transition-timing)}.agent-drawer-leave-active[data-v-d3840852]{transition:transform calc(var(--agent-transition-duration) * .6) var(--agent-transition-timing)}.agent-drawer-enter-from[data-v-d3840852],.agent-drawer-leave-to[data-v-d3840852]{transform:translateY(100%)}:root{--font-size:16px;--agent-color-primary:#373b44;--agent-color-accent:#4286f4;--agent-color-btn:var(--agent-color-primary);--agent-color-btn-hover:var(--agent-color-accent);--agent-color-btn-icon:#fff;--agent-color-btn-shadow:color-mix(in srgb, var(--agent-color-primary) 45%, transparent);--agent-color-btn-shadow-hover:color-mix(in srgb, var(--agent-color-accent) 45%, transparent);--agent-color-window-bg:#141b2dc7;--agent-color-window-border-start:color-mix(in srgb, var(--agent-color-primary) 40%, transparent);--agent-color-window-border-end:color-mix(in srgb, var(--agent-color-accent) 40%, transparent);--agent-color-window-shadow:#0006;--agent-color-header-start:var(--agent-color-primary);--agent-color-header-end:var(--agent-color-accent);--agent-color-header-text:#fff;--agent-color-header-btn-hover:#ffffff26;--agent-color-chat-bg:#0f172900;--agent-color-scrollbar:#2a3a5c;--agent-color-msg-user:var(--agent-color-primary);--agent-color-msg-user-text:#fff;--agent-color-msg-assistant:#1a2340;--agent-color-msg-assistant-text:#e2e8f0;--agent-color-msg-assistant-border:#253354;--agent-color-input-bg:#6b819c52;--agent-color-input-bg-outset:#fff0;--agent-color-input-border:#253354;--agent-color-input-focus-border:var(--agent-color-accent);--agent-color-input-text:#e2e8f0;--agent-color-input-placeholder:#5a6b8a;--agent-color-input-area-border:#25335400;--agent-color-send:var(--agent-color-accent);--agent-color-send-hover:color-mix(in srgb, var(--agent-color-accent), black 12%);--agent-color-send-disabled:color-mix(in srgb, var(--agent-color-accent), black 60%);--agent-color-send-icon:#fff;--agent-color-avatar-user:var(--agent-color-primary);--agent-color-avatar-user-text:#fff;--agent-color-avatar-assistant:color-mix(in srgb, var(--agent-color-accent), black 70%);--agent-color-avatar-assistant-text:var(--agent-color-accent);--agent-color-loading:var(--agent-color-accent);--agent-color-empty:#5a6b8a;--agent-color-msg-time:#5a6b8a;--agent-color-stop-btn:#1a2340;--agent-color-stop-btn-border:#253354;--agent-color-stop-btn-text:#8a9bba;--agent-color-stop-btn-hover:#223050;--agent-color-stop-btn-hover-border:#2e4268;--agent-color-code-bg:#0d1117;--agent-color-code-text:#c9d1d9;--agent-color-inline-code:color-mix(in srgb, var(--agent-color-primary), black 70%);--agent-color-table-border:#253354;--agent-color-table-header:#1a2340;--agent-color-error:#f87171;--agent-color-error-bg:#f871711a;--agent-color-sidebar-border:#253354;--agent-btn-size:3.25rem;--agent-btn-bg:var(--agent-color-btn);--agent-btn-bg-hover:var(--agent-color-btn-hover);--agent-btn-icon-color:var(--agent-color-btn-icon);--agent-btn-border-radius:50%;--agent-btn-shadow:0 .25rem .875rem var(--agent-color-btn-shadow);--agent-btn-shadow-hover:0 .375rem 1.25rem var(--agent-color-btn-shadow-hover);--agent-btn-bottom:1.75rem;--agent-btn-right:1.75rem;--agent-btn-z-index:9998;--agent-window-position:fixed;--agent-window-width:26.25rem;--agent-window-height:38.75rem;--agent-window-bg:var(--agent-color-window-bg);--agent-window-border-gradient:linear-gradient(145deg, var(--agent-color-window-border-start), var(--agent-color-window-border-end));--agent-window-border-radius:.5rem;--agent-window-shadow:0 .75rem 2.5rem var(--agent-color-window-shadow);--agent-window-z-index:9999;--agent-window-bottom:6rem;--agent-window-right:1.75rem;--agent-window-left:unset;--agent-window-top:unset;--agent-header-height:3.25rem;--agent-header-bg:linear-gradient(135deg, var(--agent-color-header-start), var(--agent-color-header-end));--agent-header-text-color:var(--agent-color-header-text);--agent-header-font-size:.9375rem;--agent-header-font-weight:600;--agent-header-title:"AI 智能助手";--agent-chat-bg:var(--agent-color-chat-bg);--agent-chat-padding:1rem;--agent-chat-gap:.75rem;--agent-scrollbar-thumb:var(--agent-color-scrollbar);--agent-msg-user-bg:var(--agent-color-msg-user);--agent-msg-user-text:var(--agent-color-msg-user-text);--agent-msg-user-border-radius:1rem 1rem .25rem 1rem;--agent-msg-assistant-bg:var(--agent-color-msg-assistant);--agent-msg-assistant-text:var(--agent-color-msg-assistant-text);--agent-msg-assistant-border-radius:1rem 1rem 1rem .25rem;--agent-msg-assistant-border:.0625rem solid var(--agent-color-msg-assistant-border);--agent-msg-font-size:.875rem;--agent-msg-line-height:1.6;--agent-msg-padding:.625rem .875rem;--agent-msg-max-width:80%;--agent-input-bg:var(--agent-color-input-bg);--agent-input-bg-outset:var(--agent-color-input-bg-outset);--agent-input-border-color:var(--agent-color-input-border);--agent-input-border-radius:.25rem;--agent-input-focus-border-color:var(--agent-color-input-focus-border);--agent-input-font-size:.875rem;--agent-input-text-color:var(--agent-color-input-text);--agent-input-placeholder-color:var(--agent-color-input-placeholder);--agent-input-padding:.625rem 3rem .625rem .875rem;--agent-input-min-height:2.75rem;--agent-input-max-height:7.5rem;--agent-input-area-border-top:.0625rem solid var(--agent-color-input-area-border);--agent-input-area-padding:.75rem .75rem;--agent-send-bg:var(--agent-color-send);--agent-send-bg-hover:var(--agent-color-send-hover);--agent-send-bg-disabled:var(--agent-color-send-disabled);--agent-send-icon-color:var(--agent-color-send-icon);--agent-send-size:2rem;--agent-send-border-radius:.5rem;--agent-avatar-user-bg:var(--agent-color-avatar-user);--agent-avatar-user-text:var(--agent-color-avatar-user-text);--agent-avatar-assistant-bg:var(--agent-color-avatar-assistant);--agent-avatar-assistant-text:var(--agent-color-avatar-assistant-text);--agent-avatar-size:2rem;--agent-avatar-border-radius:50%;--agent-avatar-font-size:.875rem;--agent-loading-dot-color:var(--agent-color-loading);--agent-loading-dot-size:.375rem;--agent-empty-color:var(--agent-color-empty);--agent-msg-time-color:var(--agent-color-msg-time);--agent-stop-btn-bg:var(--agent-color-stop-btn);--agent-stop-btn-border:.0625rem solid var(--agent-color-stop-btn-border);--agent-stop-btn-color:var(--agent-color-stop-btn-text);--agent-stop-btn-hover-bg:var(--agent-color-stop-btn-hover);--agent-stop-btn-hover-border:.0625rem solid var(--agent-color-stop-btn-hover-border);--agent-header-btn-hover-bg:var(--agent-color-header-btn-hover);--agent-code-block-bg:var(--agent-color-code-bg);--agent-code-block-text:var(--agent-color-code-text);--agent-inline-code-bg:var(--agent-color-inline-code);--agent-table-border:var(--agent-color-table-border);--agent-table-header-bg:var(--agent-color-table-header);--agent-error-color:var(--agent-color-error);--agent-error-bg:var(--agent-color-error-bg);--agent-transition-duration:.3s;--agent-transition-timing:cubic-bezier(.4, 0, .2, 1);--agent-sidebar-width:17.5rem;--agent-sidebar-bg:var(--agent-window-bg);--agent-sidebar-border-color:var(--agent-color-sidebar-border);--agent-safe-area-top:env(safe-area-inset-top,0px);--agent-safe-area-bottom:env(safe-area-inset-bottom,0px)}[data-agent-theme=light]{--agent-color-btn-hover:color-mix(in srgb, var(--agent-color-primary), black 15%);--agent-color-btn-shadow:color-mix(in srgb, var(--agent-color-primary) 35%, transparent);--agent-color-btn-shadow-hover:color-mix(in srgb, var(--agent-color-primary) 45%, transparent);--agent-color-window-bg:#ffffffc7;--agent-color-window-shadow:#00000026;--agent-color-chat-bg:#f8fafc;--agent-color-scrollbar:#cbd5e1;--agent-color-msg-assistant:#fff;--agent-color-msg-assistant-text:#1e293b;--agent-color-msg-assistant-border:#e2e8f0;--agent-color-input-bg:#fff;--agent-color-input-border:#e2e8f0;--agent-color-input-text:#1e293b;--agent-color-input-placeholder:#94a3b8;--agent-color-input-area-border:#e2e8f0;--agent-color-send-disabled:color-mix(in srgb, var(--agent-color-accent), white 65%);--agent-color-avatar-assistant:color-mix(in srgb, var(--agent-color-accent), white 85%);--agent-color-avatar-assistant-text:var(--agent-color-primary);--agent-color-empty:#94a3b8;--agent-color-msg-time:#94a3b8;--agent-color-stop-btn:#fff;--agent-color-stop-btn-border:#e2e8f0;--agent-color-stop-btn-text:#64748b;--agent-color-stop-btn-hover:#f8fafc;--agent-color-stop-btn-hover-border:#cbd5e1;--agent-color-inline-code:color-mix(in srgb, var(--agent-color-primary), white 85%);--agent-color-table-border:#e2e8f0;--agent-color-table-header:#f1f5f9;--agent-color-error:#ef4444;--agent-color-error-bg:#fef2f2;--agent-color-sidebar-border:#e2e8f0}html{font-size:var(--font-size)}
2
2
  /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@legendzd/ai-agent-vue",
3
- "version": "1.0.1",
3
+ "version": "1.0.4",
4
4
  "type": "module",
5
5
  "description": "可嵌入的 AI 智能体可视化 Vue 插件 — 浮动按钮、流式对话、Markdown/图表渲染",
6
6
  "keywords": [
@@ -17,12 +17,12 @@
17
17
  "author": "",
18
18
  "main": "./dist/index.cjs",
19
19
  "module": "./dist/index.mjs",
20
- "types": "./dist/src/plugin/index.d.ts",
20
+ "types": "./dist/index.d.ts",
21
21
  "exports": {
22
22
  ".": {
23
23
  "import": "./dist/index.mjs",
24
24
  "require": "./dist/index.cjs",
25
- "types": "./dist/src/plugin/index.d.ts",
25
+ "types": "./dist/index.d.ts",
26
26
  "style": "./dist/style.css"
27
27
  },
28
28
  "./dist/style.css": {