@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.
- package/dist/stats.html +1 -1
- package/dist/stats.html.br +0 -0
- package/dist/stats.html.gz +0 -0
- package/dist/types/src/components/LeftChatPanel/index.d.ts +4 -0
- package/dist/types/src/components/VgenAgent/type.d.ts +12 -2
- package/dist/types/src/index.d.ts +3 -3
- package/dist/vgen-agent-assistant.es.js +122 -51
- package/dist/vgen-agent-assistant.es.js.br +0 -0
- package/dist/vgen-agent-assistant.es.js.gz +0 -0
- package/dist/vgen-agent-assistant.umd.js +2 -2
- package/dist/vgen-agent-assistant.umd.js.br +0 -0
- package/dist/vgen-agent-assistant.umd.js.gz +0 -0
- package/package.json +1 -1
- package/dist/types/src/components/BottomChatPanel/index.d.ts +0 -4
package/dist/stats.html.br
CHANGED
|
Binary file
|
package/dist/stats.html.gz
CHANGED
|
Binary file
|
|
@@ -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
|
-
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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) =>
|
|
18460
|
-
|
|
18461
|
-
|
|
18462
|
-
|
|
18463
|
-
|
|
18464
|
-
|
|
18465
|
-
|
|
18466
|
-
|
|
18467
|
-
|
|
18468
|
-
|
|
18469
|
-
|
|
18470
|
-
|
|
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
|
|
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) =>
|
|
18723
|
-
|
|
18724
|
-
|
|
18725
|
-
|
|
18726
|
-
|
|
18727
|
-
|
|
18728
|
-
|
|
18729
|
-
|
|
18730
|
-
|
|
18731
|
-
|
|
18732
|
-
|
|
18733
|
-
|
|
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 左侧固定面板展开态列宽(透传
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|