@oscloudlab/vgen-agent-assistant 0.0.21 → 0.0.22

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.
Binary file
Binary file
@@ -0,0 +1,4 @@
1
+ import { LeftChatPanelProps } from '../VgenAgent/type';
2
+
3
+ declare const LeftChatPanel: React.FC<LeftChatPanelProps>;
4
+ export default LeftChatPanel;
@@ -34,6 +34,9 @@ export interface VgenAgentProps {
34
34
  /** diffViewer 组件透传注入:结果卡差异区渲染(未注入时隐藏差异区);
35
35
  * 资源编辑差异锚点(rel_resource_edit)以 modal 形态调用,opts 携带确认/取消回调 */
36
36
  customDiffViewer?: (payload: DiffCardPayload, opts?: CustomDiffViewerOpts) => ReactNode;
37
+ /** dock 无引用态快捷 chips 自定义注入(boarding 宿主自定意图提示词);
38
+ * 不传回落 dockVM.GENERAL_CHIPS 默认组;QuickChip.icon 可选,缺省渲染默认消息图标 */
39
+ generalChips?: QuickChip[];
37
40
  /** dock 快捷 chips(send 模式)点击回调,未提供时默认按 label 直接发送 */
38
41
  onDockQuickAction?: (label: string) => void;
39
42
  /** dock 意图 CTA 点击回调(未提供时 dock 不渲染 CTA 按钮) */
@@ -301,7 +304,8 @@ export interface CustomDiffViewerOpts {
301
304
  }
302
305
  /** dock 快捷 chip */
303
306
  export interface QuickChip {
304
- icon: ComponentType<{
307
+ /** 缺省可不传,渲染处回落默认消息图标 */
308
+ icon?: ComponentType<{
305
309
  className?: string;
306
310
  }>;
307
311
  label: string;
@@ -377,6 +381,12 @@ export interface BottomChatDockProps {
377
381
  /** diffViewer 组件透传注入(结果卡差异区渲染,未注入时结果卡隐藏差异区);
378
382
  * 资源编辑差异锚点以 modal 形态调用,opts 含确认/取消变更回调 */
379
383
  customDiffViewer?: (payload: DiffCardPayload, opts?: CustomDiffViewerOpts) => ReactNode;
384
+ /** 无引用态快捷 chips 自定义注入(VgenAgent 从 props.generalChips 透传),不传回落 dockVM.GENERAL_CHIPS */
385
+ generalChips?: QuickChip[];
386
+ /** 头部「开启新对话」按钮回调(VgenAgent 透传 controller.addNewSession),不传不渲染该按钮 */
387
+ onNewSession?: () => void;
388
+ /** 头部「会话历史」Popover 内容(VgenAgent 透传 historyListRender 视图),不传不渲染该按钮 */
389
+ historyPanel?: ReactNode;
380
390
  }
381
391
  /**
382
392
  * 左侧固定形态面板(追加形态,不影响 BottomChatDock 浮窗):
@@ -385,7 +395,7 @@ export interface BottomChatDockProps {
385
395
  * 在宿主布局左侧占据固定宽度的一列并与卡片同高
386
396
  * (宿主提供挂载槽位,见 KnowledgeCard bottomDockLayout='inline' 布局)
387
397
  */
388
- export interface BottomChatPanelProps extends BottomChatDockProps {
398
+ export interface LeftChatPanelProps extends BottomChatDockProps {
389
399
  /** 展开态面板初始列宽兼拖拽下限(number 按 px 处理),缺省 320;resizable=true 时展开态可拖拽在
390
400
  * [width, 50vw] 区间内自由拉伸;收起态固定为左侧窄竖条,仍在布局内占位 */
391
401
  width?: number | string;
@@ -1,11 +1,11 @@
1
1
  import { default as VgenAgent } from './components/VgenAgent';
2
2
  import { default as BottomChatDock } from './components/BottomChatDock';
3
- import { default as BottomChatPanel } from './components/BottomChatPanel';
3
+ import { default as LeftChatPanel } from './components/LeftChatPanel';
4
4
  import { useVgenChat } from './hooks/useVgenChat';
5
5
  import { COOKIE_AVATAR, detectIntent, GENERAL_CHIPS, INTENT_REPLY, QUOTE_CHIPS, dockHint } from './components/BottomChatDock/dockVM';
6
6
 
7
7
  export default VgenAgent;
8
- export { BottomChatDock, BottomChatPanel, useVgenChat, COOKIE_AVATAR, detectIntent, GENERAL_CHIPS, INTENT_REPLY, QUOTE_CHIPS, dockHint, };
8
+ export { BottomChatDock, LeftChatPanel, LeftChatPanel as BottomChatPanel, useVgenChat, COOKIE_AVATAR, detectIntent, GENERAL_CHIPS, INTENT_REPLY, QUOTE_CHIPS, dockHint, };
9
9
  export { msgType, agentScene } from './components/VgenAgent/type';
10
- export type { VgenAgentProps, VgenAgentRefProps, viewModeType, videoInfoProps, knowledgeInfoProps, courseInfoProps, MessageProps, resourceType, recommendVideosProps, chatMsgResProps, saveMsgProps, sessionProps, AdjustmentKind, DiffCardPayload, QuickChip, DockResultData, DockMessage, BottomChatDockProps, BottomChatPanelProps, } from './components/VgenAgent/type';
10
+ export type { VgenAgentProps, VgenAgentRefProps, viewModeType, videoInfoProps, knowledgeInfoProps, courseInfoProps, MessageProps, resourceType, recommendVideosProps, chatMsgResProps, saveMsgProps, sessionProps, AdjustmentKind, DiffCardPayload, QuickChip, DockResultData, DockMessage, BottomChatDockProps, LeftChatPanelProps, LeftChatPanelProps as BottomChatPanelProps, } from './components/VgenAgent/type';
11
11
  export type { VgenChatController, UseVgenChatProps } from './hooks/useVgenChat';
@@ -1,6 +1,6 @@
1
1
  import require$$0, { memo, useState, useEffect, useMemo, useRef, forwardRef, useImperativeHandle, useCallback } from "react";
2
- import { message, Spin, Badge, Button, ConfigProvider, Modal, TimePicker, Select, Collapse, Form, Input, Checkbox, Tree, Tooltip, Segmented, Dropdown, Popconfirm, Popover } from "antd";
3
- import { FileText, FishSymbol, Target, GraduationCap, Video, BookOpen, Lightbulb, Code2, Search, X, RefreshCw, ArrowRight, Play, Eye, Zap, FileDiff, User, Pencil, Check, Copy, RefreshCcw, BookOpenText, Star, GitBranch, FileCode, Trophy, MessageCircleQuestion, Sparkles, ChevronDown, ChevronUp, Paperclip, StopCircle, Send, PanelLeftClose, PanelLeftOpen, Folder, Trash2, Cookie, Plus, History, Minimize2 } from "lucide-react";
2
+ import { message, Spin, Badge, Button, ConfigProvider, Modal, TimePicker, Select, Collapse, Form, Input, Checkbox, Tree, Tooltip, Segmented, Popover, Dropdown, Popconfirm } from "antd";
3
+ import { FileText, FishSymbol, Target, GraduationCap, Video, BookOpen, Lightbulb, Code2, Search, X, RefreshCw, ArrowRight, Play, Eye, Zap, FileDiff, User, Pencil, Check, Copy, RefreshCcw, BookOpenText, Star, GitBranch, FileCode, Trophy, MessageCircleQuestion, Sparkles, Plus, History, ChevronDown, ChevronUp, Paperclip, StopCircle, Send, PanelLeftClose, PanelLeftOpen, Folder, Trash2, Cookie, Minimize2 } from "lucide-react";
4
4
  import "pako";
5
5
  import { twMerge } from "tailwind-merge";
6
6
  import "moment";
@@ -18325,6 +18325,9 @@ const BottomChatDock = (props) => {
18325
18325
  quote,
18326
18326
  onClearQuote,
18327
18327
  customDiffViewer,
18328
+ generalChips,
18329
+ onNewSession,
18330
+ historyPanel,
18328
18331
  onSwitchLayout
18329
18332
  } = props;
18330
18333
  const [input, setInput] = useState("");
@@ -18390,6 +18393,32 @@ const BottomChatDock = (props) => {
18390
18393
  ]
18391
18394
  }
18392
18395
  ) }),
18396
+ (onNewSession || historyPanel) && /* @__PURE__ */ jsxRuntimeExports.jsxs(
18397
+ "span",
18398
+ {
18399
+ className: "flex shrink-0 items-center gap-0.5",
18400
+ onClick: (e) => e.stopPropagation(),
18401
+ children: [
18402
+ onNewSession && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "开启新对话", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
18403
+ "button",
18404
+ {
18405
+ type: "button",
18406
+ onClick: onNewSession,
18407
+ className: "rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-slate-100 hover:text-primary-600",
18408
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "h-4 w-4" })
18409
+ }
18410
+ ) }),
18411
+ historyPanel && /* @__PURE__ */ jsxRuntimeExports.jsx(Popover, { placement: "bottomRight", trigger: "click", content: historyPanel, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
18412
+ "button",
18413
+ {
18414
+ type: "button",
18415
+ className: "rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-slate-100 hover:text-primary-600",
18416
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(History, { className: "h-4 w-4" })
18417
+ }
18418
+ ) })
18419
+ ]
18420
+ }
18421
+ ),
18393
18422
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-slate-100 text-slate-500 transition-colors group-hover:bg-slate-200", children: open ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronUp, { className: "h-4 w-4" }) })
18394
18423
  ]
18395
18424
  }
@@ -18456,19 +18485,22 @@ const BottomChatDock = (props) => {
18456
18485
  ] }) }),
18457
18486
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-4 pb-2", children: [
18458
18487
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "mb-2 text-[10px] font-black uppercase tracking-widest text-muted-foreground", children: "你可以" }),
18459
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-3 gap-2", children: (quote ? QUOTE_CHIPS : GENERAL_CHIPS).map((c) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
18460
- "button",
18461
- {
18462
- type: "button",
18463
- onClick: () => handleChipClick(c),
18464
- className: "flex items-center gap-1.5 rounded-xl bg-white px-2.5 py-2 text-[11px] font-black text-slate-600 ring-1 ring-slate-200/80 transition-all hover:bg-primary/10 hover:text-primary hover:ring-primary/30 active:scale-[0.97]",
18465
- children: [
18466
- /* @__PURE__ */ jsxRuntimeExports.jsx(c.icon, { className: "h-3.5 w-3.5 shrink-0" }),
18467
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: c.label })
18468
- ]
18469
- },
18470
- c.label
18471
- )) })
18488
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-3 gap-2", children: (quote ? QUOTE_CHIPS : generalChips ?? GENERAL_CHIPS).map((c) => {
18489
+ const ChipIcon = c.icon ?? MessageCircleQuestion;
18490
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
18491
+ "button",
18492
+ {
18493
+ type: "button",
18494
+ onClick: () => handleChipClick(c),
18495
+ className: "flex items-center gap-1.5 rounded-xl bg-white px-2.5 py-2 text-[11px] font-black text-slate-600 ring-1 ring-slate-200/80 transition-all hover:bg-primary/10 hover:text-primary hover:ring-primary/30 active:scale-[0.97]",
18496
+ children: [
18497
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ChipIcon, { className: "h-3.5 w-3.5 shrink-0" }),
18498
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: c.label })
18499
+ ]
18500
+ },
18501
+ c.label
18502
+ );
18503
+ }) })
18472
18504
  ] }),
18473
18505
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-4 pb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded-2xl bg-slate-50 p-1.5 ring-1 ring-slate-200/80 transition-shadow focus-within:bg-white focus-within:ring-2 focus-within:ring-primary/30", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-end gap-1.5", children: [
18474
18506
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -18529,7 +18561,7 @@ const resolveMinWidth = (width) => {
18529
18561
  if (m) return Number(m[1]) / 100 * window.innerWidth;
18530
18562
  return null;
18531
18563
  };
18532
- const BottomChatPanel = (props) => {
18564
+ const LeftChatPanel = (props) => {
18533
18565
  const {
18534
18566
  state = "fresh",
18535
18567
  messages,
@@ -18544,6 +18576,9 @@ const BottomChatPanel = (props) => {
18544
18576
  quote,
18545
18577
  onClearQuote,
18546
18578
  customDiffViewer,
18579
+ generalChips,
18580
+ onNewSession,
18581
+ historyPanel,
18547
18582
  width = 320,
18548
18583
  collapsible = true,
18549
18584
  resizable = true,
@@ -18654,6 +18689,25 @@ const BottomChatPanel = (props) => {
18654
18689
  ]
18655
18690
  }
18656
18691
  ),
18692
+ (onNewSession || historyPanel) && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex shrink-0 items-center gap-0.5", children: [
18693
+ onNewSession && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "开启新对话", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
18694
+ "button",
18695
+ {
18696
+ type: "button",
18697
+ onClick: onNewSession,
18698
+ className: "rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-slate-100 hover:text-primary-600",
18699
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "h-4 w-4" })
18700
+ }
18701
+ ) }),
18702
+ historyPanel && /* @__PURE__ */ jsxRuntimeExports.jsx(Popover, { placement: "bottomRight", trigger: "click", content: historyPanel, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
18703
+ "button",
18704
+ {
18705
+ type: "button",
18706
+ className: "rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-slate-100 hover:text-primary-600",
18707
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(History, { className: "h-4 w-4" })
18708
+ }
18709
+ ) })
18710
+ ] }),
18657
18711
  collapsible && /* @__PURE__ */ jsxRuntimeExports.jsx(
18658
18712
  "button",
18659
18713
  {
@@ -18719,19 +18773,22 @@ const BottomChatPanel = (props) => {
18719
18773
  ] }) }),
18720
18774
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "shrink-0 px-3.5 pb-2", children: [
18721
18775
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "mb-2 text-[10px] font-black uppercase tracking-widest text-muted-foreground", children: "你可以" }),
18722
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-2 gap-1.5", children: (quote ? QUOTE_CHIPS : GENERAL_CHIPS).map((c) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
18723
- "button",
18724
- {
18725
- type: "button",
18726
- onClick: () => handleChipClick(c),
18727
- className: "flex items-center gap-2 rounded-xl bg-slate-50 px-2.5 py-1.5 text-[11px] font-bold text-slate-600 ring-1 ring-slate-200/70 transition-colors hover:bg-primary-50 hover:text-primary",
18728
- children: [
18729
- /* @__PURE__ */ jsxRuntimeExports.jsx(c.icon, { className: "h-3.5 w-3.5 shrink-0" }),
18730
- c.label
18731
- ]
18732
- },
18733
- c.label
18734
- )) })
18776
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-2 gap-1.5", children: (quote ? QUOTE_CHIPS : generalChips ?? GENERAL_CHIPS).map((c) => {
18777
+ const ChipIcon = c.icon ?? MessageCircleQuestion;
18778
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
18779
+ "button",
18780
+ {
18781
+ type: "button",
18782
+ onClick: () => handleChipClick(c),
18783
+ className: "flex items-center gap-2 rounded-xl bg-slate-50 px-2.5 py-1.5 text-[11px] font-bold text-slate-600 ring-1 ring-slate-200/70 transition-colors hover:bg-primary-50 hover:text-primary",
18784
+ children: [
18785
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ChipIcon, { className: "h-3.5 w-3.5 shrink-0" }),
18786
+ c.label
18787
+ ]
18788
+ },
18789
+ c.label
18790
+ );
18791
+ }) })
18735
18792
  ] }),
18736
18793
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "shrink-0 px-3.5 pb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded-2xl bg-slate-50 p-1.5 ring-1 ring-slate-200/80 transition-shadow focus-within:bg-white focus-within:ring-2 focus-within:ring-primary/30", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-end gap-1.5", children: [
18737
18794
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -18855,10 +18912,11 @@ const VgenAgent = forwardRef((props, ref) => {
18855
18912
  dockLayout = "float",
18856
18913
  /* dock 形态切换回调(由 AI 学伴内右上角切换按钮触发) */
18857
18914
  onDockLayoutChange,
18858
- /* inline 左侧固定面板展开态列宽(透传 BottomChatPanel width) */
18915
+ /* inline 左侧固定面板展开态列宽(透传 LeftChatPanel width) */
18859
18916
  dockPanelWidth = 320,
18860
18917
  quoteTarget,
18861
18918
  customDiffViewer,
18919
+ generalChips,
18862
18920
  onDockQuickAction,
18863
18921
  onDockCta,
18864
18922
  onDockResultAccept,
@@ -19278,7 +19336,7 @@ const VgenAgent = forwardRef((props, ref) => {
19278
19336
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-[13px] font-bold text-gray-800", children: "饼干 AI 学伴" })
19279
19337
  ] }),
19280
19338
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1 z-10", children: [
19281
- viewMode !== "knowledgeCard" && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "开启新对话", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
19339
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "开启新对话", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
19282
19340
  "button",
19283
19341
  {
19284
19342
  onClick: () => {
@@ -19288,7 +19346,7 @@ const VgenAgent = forwardRef((props, ref) => {
19288
19346
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "w-4 h-4" })
19289
19347
  }
19290
19348
  ) }),
19291
- viewMode !== "knowledgeCard" && /* @__PURE__ */ jsxRuntimeExports.jsx(
19349
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
19292
19350
  Popover,
19293
19351
  {
19294
19352
  placement: "bottomRight",
@@ -19315,19 +19373,6 @@ const VgenAgent = forwardRef((props, ref) => {
19315
19373
  ]
19316
19374
  }
19317
19375
  ),
19318
- viewMode === "video" && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "bg-primary-50 px-4 py-3 border-b border-primary-100 animate-in slide-in-from-top-2 duration-300", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
19319
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { title: videoInfo == null ? void 0 : videoInfo.name, className: "text-[11px] font-medium text-primary-900 truncate pr-4 flex-1 text-ellipsis", children: videoInfo == null ? void 0 : videoInfo.name }),
19320
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-wrap gap-2", children: ["视频总结", "章节大纲"].map(
19321
- (item) => /* @__PURE__ */ jsxRuntimeExports.jsx(
19322
- "button",
19323
- {
19324
- className: "px-2 py-1 bg-white border border-primary-100 rounded text-[10px] text-primary-700 shadow-sm hover:bg-primary-50 transition-colors",
19325
- children: item
19326
- },
19327
- item
19328
- )
19329
- ) })
19330
- ] }) }),
19331
19376
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 px-4 bg-white relative overflow-hidden", children: [
19332
19377
  /* @__PURE__ */ jsxRuntimeExports.jsx(
19333
19378
  "div",
@@ -19577,7 +19622,7 @@ const VgenAgent = forwardRef((props, ref) => {
19577
19622
  )
19578
19623
  ) }),
19579
19624
  controller.isLogin && showDock && (dockLayout === "inline" ? /* @__PURE__ */ jsxRuntimeExports.jsx(
19580
- BottomChatPanel,
19625
+ LeftChatPanel,
19581
19626
  {
19582
19627
  state: controller.dockHintState,
19583
19628
  messages: dockMessages,
@@ -19589,6 +19634,9 @@ const VgenAgent = forwardRef((props, ref) => {
19589
19634
  answerIsDone: controller.answerIsDone,
19590
19635
  onStopAnswer: controller.stopAnswer,
19591
19636
  onQuickAction: handleDockQuickAction,
19637
+ generalChips,
19638
+ onNewSession: () => controller.addNewSession(),
19639
+ historyPanel: historyListRender,
19592
19640
  quote: controller.dockQuotedText,
19593
19641
  onClearQuote: () => controller.setDockQuotedText(null),
19594
19642
  customDiffViewer,
@@ -19613,6 +19661,9 @@ const VgenAgent = forwardRef((props, ref) => {
19613
19661
  answerIsDone: controller.answerIsDone,
19614
19662
  onStopAnswer: controller.stopAnswer,
19615
19663
  onQuickAction: handleDockQuickAction,
19664
+ generalChips,
19665
+ onNewSession: () => controller.addNewSession(),
19666
+ historyPanel: historyListRender,
19616
19667
  onCta: handleDockCta,
19617
19668
  ctaEnabled: !!onDockCta,
19618
19669
  onAccept: handleDockAccept,
@@ -19666,10 +19717,11 @@ const VgenAgent = forwardRef((props, ref) => {
19666
19717
  });
19667
19718
  export {
19668
19719
  BottomChatDock,
19669
- BottomChatPanel,
19720
+ LeftChatPanel as BottomChatPanel,
19670
19721
  COOKIE_AVATAR,
19671
19722
  GENERAL_CHIPS,
19672
19723
  INTENT_REPLY,
19724
+ LeftChatPanel,
19673
19725
  QUOTE_CHIPS,
19674
19726
  agentScene$1 as agentScene,
19675
19727
  VgenAgent as default,
Binary file
Binary file