@oscloudlab/vgen-agent-assistant 0.0.21 → 0.0.23

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";
@@ -17606,7 +17606,7 @@ const useVgenChat = (props) => {
17606
17606
  getSessionListByBiz({
17607
17607
  currentPage: 1,
17608
17608
  pageSize: 20,
17609
- dataBtype: 10,
17609
+ dataBtype: 4,
17610
17610
  dataId: videoInfo.recordId,
17611
17611
  orders: [
17612
17612
  {
@@ -17618,7 +17618,7 @@ const useVgenChat = (props) => {
17618
17618
  if (!res.dataList.length) {
17619
17619
  createSession({
17620
17620
  btype: 2,
17621
- dataType: 10,
17621
+ dataType: 4,
17622
17622
  dataId: videoInfo.recordId
17623
17623
  }).then((res2) => {
17624
17624
  setChatId(res2);
@@ -18106,7 +18106,7 @@ const useVgenChat = (props) => {
18106
18106
  case "video":
18107
18107
  createSession({
18108
18108
  btype: 2,
18109
- dataType: 10,
18109
+ dataType: 4,
18110
18110
  dataId: videoInfo == null ? void 0 : videoInfo.recordId
18111
18111
  }).then((res) => {
18112
18112
  setChatId(res);
@@ -18115,13 +18115,32 @@ const useVgenChat = (props) => {
18115
18115
  getSessionListByBiz({
18116
18116
  currentPage: 1,
18117
18117
  pageSize: 20,
18118
- dataBtype: 10,
18118
+ dataBtype: 4,
18119
18119
  dataId: (videoInfo == null ? void 0 : videoInfo.recordId) || ""
18120
18120
  }).then((res2) => {
18121
18121
  setSessionList((res2 == null ? void 0 : res2.dataList) || []);
18122
18122
  });
18123
18123
  });
18124
18124
  break;
18125
+ case "knowledgeCard":
18126
+ createSession({
18127
+ btype: 2,
18128
+ dataType: 1,
18129
+ dataId: knowledgeInfo == null ? void 0 : knowledgeInfo.knowledgeId
18130
+ }).then((res) => {
18131
+ setChatId(res);
18132
+ sceneMsgSend();
18133
+ toGetHistoryList(res);
18134
+ getSessionListByBiz({
18135
+ currentPage: 1,
18136
+ pageSize: 20,
18137
+ dataBtype: 1,
18138
+ dataId: (knowledgeInfo == null ? void 0 : knowledgeInfo.knowledgeId) || ""
18139
+ }).then((res2) => {
18140
+ setSessionList((res2 == null ? void 0 : res2.dataList) || []);
18141
+ });
18142
+ });
18143
+ break;
18125
18144
  }
18126
18145
  };
18127
18146
  const setQuotedTextData = (text2) => {
@@ -18325,6 +18344,9 @@ const BottomChatDock = (props) => {
18325
18344
  quote,
18326
18345
  onClearQuote,
18327
18346
  customDiffViewer,
18347
+ generalChips,
18348
+ onNewSession,
18349
+ historyPanel,
18328
18350
  onSwitchLayout
18329
18351
  } = props;
18330
18352
  const [input, setInput] = useState("");
@@ -18390,6 +18412,32 @@ const BottomChatDock = (props) => {
18390
18412
  ]
18391
18413
  }
18392
18414
  ) }),
18415
+ (onNewSession || historyPanel) && /* @__PURE__ */ jsxRuntimeExports.jsxs(
18416
+ "span",
18417
+ {
18418
+ className: "flex shrink-0 items-center gap-0.5",
18419
+ onClick: (e) => e.stopPropagation(),
18420
+ children: [
18421
+ onNewSession && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "开启新对话", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
18422
+ "button",
18423
+ {
18424
+ type: "button",
18425
+ onClick: onNewSession,
18426
+ className: "rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-slate-100 hover:text-primary-600",
18427
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "h-4 w-4" })
18428
+ }
18429
+ ) }),
18430
+ historyPanel && /* @__PURE__ */ jsxRuntimeExports.jsx(Popover, { placement: "bottomRight", trigger: "click", content: historyPanel, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
18431
+ "button",
18432
+ {
18433
+ type: "button",
18434
+ className: "rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-slate-100 hover:text-primary-600",
18435
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(History, { className: "h-4 w-4" })
18436
+ }
18437
+ ) })
18438
+ ]
18439
+ }
18440
+ ),
18393
18441
  /* @__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
18442
  ]
18395
18443
  }
@@ -18456,19 +18504,22 @@ const BottomChatDock = (props) => {
18456
18504
  ] }) }),
18457
18505
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-4 pb-2", children: [
18458
18506
  /* @__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
- )) })
18507
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-3 gap-2", children: (quote ? QUOTE_CHIPS : generalChips ?? GENERAL_CHIPS).map((c) => {
18508
+ const ChipIcon = c.icon ?? MessageCircleQuestion;
18509
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
18510
+ "button",
18511
+ {
18512
+ type: "button",
18513
+ onClick: () => handleChipClick(c),
18514
+ 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]",
18515
+ children: [
18516
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ChipIcon, { className: "h-3.5 w-3.5 shrink-0" }),
18517
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: c.label })
18518
+ ]
18519
+ },
18520
+ c.label
18521
+ );
18522
+ }) })
18472
18523
  ] }),
18473
18524
  /* @__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
18525
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -18529,7 +18580,7 @@ const resolveMinWidth = (width) => {
18529
18580
  if (m) return Number(m[1]) / 100 * window.innerWidth;
18530
18581
  return null;
18531
18582
  };
18532
- const BottomChatPanel = (props) => {
18583
+ const LeftChatPanel = (props) => {
18533
18584
  const {
18534
18585
  state = "fresh",
18535
18586
  messages,
@@ -18544,6 +18595,9 @@ const BottomChatPanel = (props) => {
18544
18595
  quote,
18545
18596
  onClearQuote,
18546
18597
  customDiffViewer,
18598
+ generalChips,
18599
+ onNewSession,
18600
+ historyPanel,
18547
18601
  width = 320,
18548
18602
  collapsible = true,
18549
18603
  resizable = true,
@@ -18654,6 +18708,25 @@ const BottomChatPanel = (props) => {
18654
18708
  ]
18655
18709
  }
18656
18710
  ),
18711
+ (onNewSession || historyPanel) && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex shrink-0 items-center gap-0.5", children: [
18712
+ onNewSession && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "开启新对话", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
18713
+ "button",
18714
+ {
18715
+ type: "button",
18716
+ onClick: onNewSession,
18717
+ className: "rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-slate-100 hover:text-primary-600",
18718
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "h-4 w-4" })
18719
+ }
18720
+ ) }),
18721
+ historyPanel && /* @__PURE__ */ jsxRuntimeExports.jsx(Popover, { placement: "bottomRight", trigger: "click", content: historyPanel, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
18722
+ "button",
18723
+ {
18724
+ type: "button",
18725
+ className: "rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-slate-100 hover:text-primary-600",
18726
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(History, { className: "h-4 w-4" })
18727
+ }
18728
+ ) })
18729
+ ] }),
18657
18730
  collapsible && /* @__PURE__ */ jsxRuntimeExports.jsx(
18658
18731
  "button",
18659
18732
  {
@@ -18719,19 +18792,22 @@ const BottomChatPanel = (props) => {
18719
18792
  ] }) }),
18720
18793
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "shrink-0 px-3.5 pb-2", children: [
18721
18794
  /* @__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
- )) })
18795
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-2 gap-1.5", children: (quote ? QUOTE_CHIPS : generalChips ?? GENERAL_CHIPS).map((c) => {
18796
+ const ChipIcon = c.icon ?? MessageCircleQuestion;
18797
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
18798
+ "button",
18799
+ {
18800
+ type: "button",
18801
+ onClick: () => handleChipClick(c),
18802
+ 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",
18803
+ children: [
18804
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ChipIcon, { className: "h-3.5 w-3.5 shrink-0" }),
18805
+ c.label
18806
+ ]
18807
+ },
18808
+ c.label
18809
+ );
18810
+ }) })
18735
18811
  ] }),
18736
18812
  /* @__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
18813
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -18855,10 +18931,11 @@ const VgenAgent = forwardRef((props, ref) => {
18855
18931
  dockLayout = "float",
18856
18932
  /* dock 形态切换回调(由 AI 学伴内右上角切换按钮触发) */
18857
18933
  onDockLayoutChange,
18858
- /* inline 左侧固定面板展开态列宽(透传 BottomChatPanel width) */
18934
+ /* inline 左侧固定面板展开态列宽(透传 LeftChatPanel width) */
18859
18935
  dockPanelWidth = 320,
18860
18936
  quoteTarget,
18861
18937
  customDiffViewer,
18938
+ generalChips,
18862
18939
  onDockQuickAction,
18863
18940
  onDockCta,
18864
18941
  onDockResultAccept,
@@ -19278,7 +19355,7 @@ const VgenAgent = forwardRef((props, ref) => {
19278
19355
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-[13px] font-bold text-gray-800", children: "饼干 AI 学伴" })
19279
19356
  ] }),
19280
19357
  /* @__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(
19358
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "开启新对话", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
19282
19359
  "button",
19283
19360
  {
19284
19361
  onClick: () => {
@@ -19288,7 +19365,7 @@ const VgenAgent = forwardRef((props, ref) => {
19288
19365
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "w-4 h-4" })
19289
19366
  }
19290
19367
  ) }),
19291
- viewMode !== "knowledgeCard" && /* @__PURE__ */ jsxRuntimeExports.jsx(
19368
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
19292
19369
  Popover,
19293
19370
  {
19294
19371
  placement: "bottomRight",
@@ -19315,19 +19392,6 @@ const VgenAgent = forwardRef((props, ref) => {
19315
19392
  ]
19316
19393
  }
19317
19394
  ),
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
19395
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 px-4 bg-white relative overflow-hidden", children: [
19332
19396
  /* @__PURE__ */ jsxRuntimeExports.jsx(
19333
19397
  "div",
@@ -19577,7 +19641,7 @@ const VgenAgent = forwardRef((props, ref) => {
19577
19641
  )
19578
19642
  ) }),
19579
19643
  controller.isLogin && showDock && (dockLayout === "inline" ? /* @__PURE__ */ jsxRuntimeExports.jsx(
19580
- BottomChatPanel,
19644
+ LeftChatPanel,
19581
19645
  {
19582
19646
  state: controller.dockHintState,
19583
19647
  messages: dockMessages,
@@ -19589,6 +19653,9 @@ const VgenAgent = forwardRef((props, ref) => {
19589
19653
  answerIsDone: controller.answerIsDone,
19590
19654
  onStopAnswer: controller.stopAnswer,
19591
19655
  onQuickAction: handleDockQuickAction,
19656
+ generalChips,
19657
+ onNewSession: () => controller.addNewSession(),
19658
+ historyPanel: historyListRender,
19592
19659
  quote: controller.dockQuotedText,
19593
19660
  onClearQuote: () => controller.setDockQuotedText(null),
19594
19661
  customDiffViewer,
@@ -19613,6 +19680,9 @@ const VgenAgent = forwardRef((props, ref) => {
19613
19680
  answerIsDone: controller.answerIsDone,
19614
19681
  onStopAnswer: controller.stopAnswer,
19615
19682
  onQuickAction: handleDockQuickAction,
19683
+ generalChips,
19684
+ onNewSession: () => controller.addNewSession(),
19685
+ historyPanel: historyListRender,
19616
19686
  onCta: handleDockCta,
19617
19687
  ctaEnabled: !!onDockCta,
19618
19688
  onAccept: handleDockAccept,
@@ -19666,10 +19736,11 @@ const VgenAgent = forwardRef((props, ref) => {
19666
19736
  });
19667
19737
  export {
19668
19738
  BottomChatDock,
19669
- BottomChatPanel,
19739
+ LeftChatPanel as BottomChatPanel,
19670
19740
  COOKIE_AVATAR,
19671
19741
  GENERAL_CHIPS,
19672
19742
  INTENT_REPLY,
19743
+ LeftChatPanel,
19673
19744
  QUOTE_CHIPS,
19674
19745
  agentScene$1 as agentScene,
19675
19746
  VgenAgent as default,
Binary file
Binary file