@huyooo/ai-chat-frontend-react 0.2.45 → 0.3.6
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/adapter.d.ts +58 -0
- package/dist/adapter.d.ts.map +1 -0
- package/dist/components/ChatPanel.d.ts +71 -0
- package/dist/components/ChatPanel.d.ts.map +1 -0
- package/dist/components/common/ConfirmDialog.d.ts +27 -0
- package/dist/components/common/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/common/CopyButton.d.ts +15 -0
- package/dist/components/common/CopyButton.d.ts.map +1 -0
- package/dist/components/common/IndexingSettings.d.ts +3 -0
- package/dist/components/common/IndexingSettings.d.ts.map +1 -0
- package/dist/components/common/Toast.d.ts +12 -0
- package/dist/components/common/Toast.d.ts.map +1 -0
- package/dist/components/common/ToggleSwitch.d.ts +9 -0
- package/dist/components/common/ToggleSwitch.d.ts.map +1 -0
- package/dist/components/header/ChatHeader.d.ts +42 -0
- package/dist/components/header/ChatHeader.d.ts.map +1 -0
- package/dist/components/input/AtFilePicker.d.ts +16 -0
- package/dist/components/input/AtFilePicker.d.ts.map +1 -0
- package/dist/components/input/ChatInput.d.ts +49 -0
- package/dist/components/input/ChatInput.d.ts.map +1 -0
- package/dist/components/input/DropdownSelector.d.ts +46 -0
- package/dist/components/input/DropdownSelector.d.ts.map +1 -0
- package/dist/components/input/ImagePreviewModal.d.ts +11 -0
- package/dist/components/input/ImagePreviewModal.d.ts.map +1 -0
- package/dist/components/input/QueuedMessageList.d.ts +11 -0
- package/dist/components/input/QueuedMessageList.d.ts.map +1 -0
- package/dist/components/input/at-views/AtChatsView.d.ts +17 -0
- package/dist/components/input/at-views/AtChatsView.d.ts.map +1 -0
- package/dist/components/input/at-views/AtDocsView.d.ts +17 -0
- package/dist/components/input/at-views/AtDocsView.d.ts.map +1 -0
- package/dist/components/input/at-views/AtFilesView.d.ts +26 -0
- package/dist/components/input/at-views/AtFilesView.d.ts.map +1 -0
- package/dist/components/input/at-views/AtTerminalsView.d.ts +17 -0
- package/dist/components/input/at-views/AtTerminalsView.d.ts.map +1 -0
- package/dist/components/input/at-views/index.d.ts +9 -0
- package/dist/components/input/at-views/index.d.ts.map +1 -0
- package/dist/components/input/at-views/useAtViewTooltip.d.ts +12 -0
- package/dist/components/input/at-views/useAtViewTooltip.d.ts.map +1 -0
- package/dist/components/input/atContextItems.d.ts +9 -0
- package/dist/components/input/atContextItems.d.ts.map +1 -0
- package/dist/components/input/atContextToolHints.d.ts +2 -0
- package/dist/components/input/atContextToolHints.d.ts.map +1 -0
- package/dist/components/message/MessageBubble.d.ts +69 -0
- package/dist/components/message/MessageBubble.d.ts.map +1 -0
- package/dist/components/message/PartsRenderer.d.ts +22 -0
- package/dist/components/message/PartsRenderer.d.ts.map +1 -0
- package/dist/components/message/WelcomeMessage.d.ts +16 -0
- package/dist/components/message/WelcomeMessage.d.ts.map +1 -0
- package/dist/components/message/parts/CollapsibleCard.d.ts +29 -0
- package/dist/components/message/parts/CollapsibleCard.d.ts.map +1 -0
- package/dist/components/message/parts/CompactPart.d.ts +14 -0
- package/dist/components/message/parts/CompactPart.d.ts.map +1 -0
- package/dist/components/message/parts/ContentCompressPart.d.ts +13 -0
- package/dist/components/message/parts/ContentCompressPart.d.ts.map +1 -0
- package/dist/components/message/parts/ErrorPart.d.ts +10 -0
- package/dist/components/message/parts/ErrorPart.d.ts.map +1 -0
- package/dist/components/message/parts/ExtensionPartHost.d.ts +15 -0
- package/dist/components/message/parts/ExtensionPartHost.d.ts.map +1 -0
- package/dist/components/message/parts/ImagePart.d.ts +9 -0
- package/dist/components/message/parts/ImagePart.d.ts.map +1 -0
- package/dist/components/message/parts/PlanPart.d.ts +11 -0
- package/dist/components/message/parts/PlanPart.d.ts.map +1 -0
- package/dist/components/message/parts/TavilySearchPart.d.ts +18 -0
- package/dist/components/message/parts/TavilySearchPart.d.ts.map +1 -0
- package/dist/components/message/parts/TextPart.d.ts +9 -0
- package/dist/components/message/parts/TextPart.d.ts.map +1 -0
- package/dist/components/message/parts/ThinkingPart.d.ts +12 -0
- package/dist/components/message/parts/ThinkingPart.d.ts.map +1 -0
- package/dist/components/message/parts/ToolCallPart.d.ts +35 -0
- package/dist/components/message/parts/ToolCallPart.d.ts.map +1 -0
- package/dist/components/message/parts/ZhipuSearchPart.d.ts +20 -0
- package/dist/components/message/parts/ZhipuSearchPart.d.ts.map +1 -0
- package/dist/components/message/parts/index.d.ts +20 -0
- package/dist/components/message/parts/index.d.ts.map +1 -0
- package/dist/components/message/parts/tool-call-display.d.ts +26 -0
- package/dist/components/message/parts/tool-call-display.d.ts.map +1 -0
- package/dist/components/message/parts/visual-predicate.d.ts +7 -0
- package/dist/components/message/parts/visual-predicate.d.ts.map +1 -0
- package/dist/components/message/parts/visual-render.d.ts +2 -0
- package/dist/components/message/parts/visual-render.d.ts.map +1 -0
- package/dist/components/message/parts/visual.d.ts +3 -0
- package/dist/components/message/parts/visual.d.ts.map +1 -0
- package/dist/components/message/welcome-types.d.ts +28 -0
- package/dist/components/message/welcome-types.d.ts.map +1 -0
- package/dist/context/AutoRunConfigContext.d.ts +8 -0
- package/dist/context/AutoRunConfigContext.d.ts.map +1 -0
- package/dist/context/ChatAdapterContext.d.ts +4 -0
- package/dist/context/ChatAdapterContext.d.ts.map +1 -0
- package/dist/context/ChatInputContext.d.ts +51 -0
- package/dist/context/ChatInputContext.d.ts.map +1 -0
- package/dist/context/PartLoaderContext.d.ts +25 -0
- package/dist/context/PartLoaderContext.d.ts.map +1 -0
- package/dist/context/RenderersContext.d.ts +22 -0
- package/dist/context/RenderersContext.d.ts.map +1 -0
- package/dist/hooks/chat/types.d.ts +109 -0
- package/dist/hooks/chat/types.d.ts.map +1 -0
- package/dist/hooks/chat/useCapabilityConfig.d.ts +35 -0
- package/dist/hooks/chat/useCapabilityConfig.d.ts.map +1 -0
- package/dist/hooks/chat/useMessageActions.d.ts +13 -0
- package/dist/hooks/chat/useMessageActions.d.ts.map +1 -0
- package/dist/hooks/chat/useMessageSender.d.ts +15 -0
- package/dist/hooks/chat/useMessageSender.d.ts.map +1 -0
- package/dist/hooks/chat/useSessionManager.d.ts +18 -0
- package/dist/hooks/chat/useSessionManager.d.ts.map +1 -0
- package/dist/hooks/chat/utils.d.ts +20 -0
- package/dist/hooks/chat/utils.d.ts.map +1 -0
- package/dist/hooks/useChat.d.ts +105 -0
- package/dist/hooks/useChat.d.ts.map +1 -0
- package/dist/hooks/useImageUpload.d.ts +56 -0
- package/dist/hooks/useImageUpload.d.ts.map +1 -0
- package/dist/hooks/useVoiceInput.d.ts +26 -0
- package/dist/hooks/useVoiceInput.d.ts.map +1 -0
- package/dist/hooks/useVoiceToTextInput.d.ts +22 -0
- package/dist/hooks/useVoiceToTextInput.d.ts.map +1 -0
- package/dist/icons.d.ts +2 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/index.d.ts +55 -684
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -1
- package/dist/style.css +103 -0
- package/dist/types/index.d.ts +251 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/applyToolCallResult.d.ts +8 -0
- package/dist/utils/applyToolCallResult.d.ts.map +1 -0
- package/dist/utils/applyToolCallResult.test.d.ts +2 -0
- package/dist/utils/applyToolCallResult.test.d.ts.map +1 -0
- package/package.json +19 -11
- package/dist/KaTeX_AMS-Regular-CYEKBG2K.woff +0 -0
- package/dist/KaTeX_AMS-Regular-JKX5W2C4.ttf +0 -0
- package/dist/KaTeX_AMS-Regular-U6PRYMIZ.woff2 +0 -0
- package/dist/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2 +0 -0
- package/dist/KaTeX_Caligraphic-Bold-WZ3QSGD3.woff +0 -0
- package/dist/KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf +0 -0
- package/dist/KaTeX_Caligraphic-Regular-3LKEU76G.woff +0 -0
- package/dist/KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf +0 -0
- package/dist/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2 +0 -0
- package/dist/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2 +0 -0
- package/dist/KaTeX_Fraktur-Bold-T4SWXBMT.woff +0 -0
- package/dist/KaTeX_Fraktur-Bold-WGHVTYOR.ttf +0 -0
- package/dist/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2 +0 -0
- package/dist/KaTeX_Fraktur-Regular-5U4OPH2X.ttf +0 -0
- package/dist/KaTeX_Fraktur-Regular-PQMHCIK6.woff +0 -0
- package/dist/KaTeX_Main-Bold-2GA4IZIN.woff +0 -0
- package/dist/KaTeX_Main-Bold-W5FBVCZM.ttf +0 -0
- package/dist/KaTeX_Main-Bold-YP5VVQRP.woff2 +0 -0
- package/dist/KaTeX_Main-BoldItalic-4P4C7HJH.woff +0 -0
- package/dist/KaTeX_Main-BoldItalic-N4V3DX7S.woff2 +0 -0
- package/dist/KaTeX_Main-BoldItalic-ODMLBJJQ.ttf +0 -0
- package/dist/KaTeX_Main-Italic-I43T2HSR.ttf +0 -0
- package/dist/KaTeX_Main-Italic-RELBIK7M.woff2 +0 -0
- package/dist/KaTeX_Main-Italic-SASNQFN2.woff +0 -0
- package/dist/KaTeX_Main-Regular-ARRPAO67.woff2 +0 -0
- package/dist/KaTeX_Main-Regular-P5I74A2A.woff +0 -0
- package/dist/KaTeX_Main-Regular-W74P5G27.ttf +0 -0
- package/dist/KaTeX_Math-BoldItalic-6EBV3DK5.woff +0 -0
- package/dist/KaTeX_Math-BoldItalic-K4WTGH3J.woff2 +0 -0
- package/dist/KaTeX_Math-BoldItalic-VB447A4D.ttf +0 -0
- package/dist/KaTeX_Math-Italic-6KGCHLFN.woff2 +0 -0
- package/dist/KaTeX_Math-Italic-KKK3USB2.woff +0 -0
- package/dist/KaTeX_Math-Italic-SON4MRCA.ttf +0 -0
- package/dist/KaTeX_SansSerif-Bold-RRNVJFFW.woff2 +0 -0
- package/dist/KaTeX_SansSerif-Bold-STQ6RXC7.ttf +0 -0
- package/dist/KaTeX_SansSerif-Bold-X5M5EMOD.woff +0 -0
- package/dist/KaTeX_SansSerif-Italic-HMPFTM52.woff2 +0 -0
- package/dist/KaTeX_SansSerif-Italic-PSN4QKYX.woff +0 -0
- package/dist/KaTeX_SansSerif-Italic-WTBAZBGY.ttf +0 -0
- package/dist/KaTeX_SansSerif-Regular-2TL3USAE.ttf +0 -0
- package/dist/KaTeX_SansSerif-Regular-OQCII6EP.woff +0 -0
- package/dist/KaTeX_SansSerif-Regular-XIQ62X4E.woff2 +0 -0
- package/dist/KaTeX_Script-Regular-72OLXYNA.ttf +0 -0
- package/dist/KaTeX_Script-Regular-A5IFOEBS.woff +0 -0
- package/dist/KaTeX_Script-Regular-APUWIHLP.woff2 +0 -0
- package/dist/KaTeX_Size1-Regular-4HRHTS65.woff +0 -0
- package/dist/KaTeX_Size1-Regular-5LRUTBFT.woff2 +0 -0
- package/dist/KaTeX_Size1-Regular-7K6AASVL.ttf +0 -0
- package/dist/KaTeX_Size2-Regular-222HN3GT.ttf +0 -0
- package/dist/KaTeX_Size2-Regular-K5ZHAIS6.woff +0 -0
- package/dist/KaTeX_Size2-Regular-LELKET5D.woff2 +0 -0
- package/dist/KaTeX_Size3-Regular-TLFPAHDE.woff +0 -0
- package/dist/KaTeX_Size3-Regular-UFCO6WCA.ttf +0 -0
- package/dist/KaTeX_Size3-Regular-WQRQ47UD.woff2 +0 -0
- package/dist/KaTeX_Size4-Regular-7PGNVPQK.ttf +0 -0
- package/dist/KaTeX_Size4-Regular-CDMV7U5C.woff2 +0 -0
- package/dist/KaTeX_Size4-Regular-PKMWZHNC.woff +0 -0
- package/dist/KaTeX_Typewriter-Regular-3F5K6SQ6.ttf +0 -0
- package/dist/KaTeX_Typewriter-Regular-MJMFSK64.woff +0 -0
- package/dist/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2 +0 -0
- package/dist/index.css +0 -4017
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MessageBubble Component
|
|
3
|
+
* 新架构:使用 ContentPart 数组渲染消息内容
|
|
4
|
+
*/
|
|
5
|
+
import { type FC } from 'react';
|
|
6
|
+
import './MessageBubble.css';
|
|
7
|
+
import type { ContentPart, FinishReason } from '../../types';
|
|
8
|
+
import type { ChatAdapter } from '../../adapter';
|
|
9
|
+
import type { AutoRunConfig } from '@huyooo/ai-chat-bridge-electron/renderer';
|
|
10
|
+
import type { AtContextItem } from '@huyooo/ai-chat-types';
|
|
11
|
+
/** Token 使用统计 */
|
|
12
|
+
interface TokenUsage {
|
|
13
|
+
promptTokens: number;
|
|
14
|
+
completionTokens: number;
|
|
15
|
+
totalTokens: number;
|
|
16
|
+
reasoningTokens?: number;
|
|
17
|
+
cachedTokens?: number;
|
|
18
|
+
}
|
|
19
|
+
interface MessageBubbleProps {
|
|
20
|
+
role: 'user' | 'assistant' | 'system';
|
|
21
|
+
/** 内容 parts 数组 - 新架构核心 */
|
|
22
|
+
parts: ContentPart[];
|
|
23
|
+
/** 用户通过 @ 选择的上下文资源 */
|
|
24
|
+
atContextItems?: AtContextItem[];
|
|
25
|
+
/** 生成此消息时使用的模型 */
|
|
26
|
+
model?: string;
|
|
27
|
+
/** 生成此消息时使用的模式 (ask/agent) */
|
|
28
|
+
mode?: string;
|
|
29
|
+
/** 用户上传的图片 */
|
|
30
|
+
images?: string[];
|
|
31
|
+
/** 是否正在加载 */
|
|
32
|
+
loading?: boolean;
|
|
33
|
+
/** Agent 当前阶段 */
|
|
34
|
+
agentPhase?: 'thinking' | 'compressing';
|
|
35
|
+
/** 是否已复制 */
|
|
36
|
+
copied?: boolean;
|
|
37
|
+
/** 消息时间戳 */
|
|
38
|
+
timestamp?: Date | string | number;
|
|
39
|
+
/** Token 使用统计 */
|
|
40
|
+
usage?: TokenUsage;
|
|
41
|
+
/** 响应耗时(毫秒) */
|
|
42
|
+
duration?: number;
|
|
43
|
+
/** 结束原因(done 事件携带) */
|
|
44
|
+
finishReason?: FinishReason;
|
|
45
|
+
/** 计费信息(云端模式) */
|
|
46
|
+
billing?: {
|
|
47
|
+
pointsConsumed: number;
|
|
48
|
+
remainingPoints: number;
|
|
49
|
+
costYuan?: number;
|
|
50
|
+
model?: string;
|
|
51
|
+
};
|
|
52
|
+
onCopy?: () => void;
|
|
53
|
+
onRegenerate?: () => void;
|
|
54
|
+
/** 编辑用户消息后重新发送 */
|
|
55
|
+
onSend?: (text: string, images?: import('../../adapter').ImageData[], atContextItems?: AtContextItem[]) => void;
|
|
56
|
+
/** 步骤折叠模式 */
|
|
57
|
+
stepsExpandedType?: 'open' | 'close' | 'auto';
|
|
58
|
+
/** 工具调用相关 - 通过 props 传递 */
|
|
59
|
+
adapter?: ChatAdapter;
|
|
60
|
+
/** 取消工具调用(通常会中止当前请求/流式输出) */
|
|
61
|
+
onCancelToolCall?: (toolCallId: string) => void;
|
|
62
|
+
/** 重试失败的工具调用 */
|
|
63
|
+
onRetryToolCall?: (toolCallId: string) => void;
|
|
64
|
+
autoRunConfig?: AutoRunConfig;
|
|
65
|
+
onSaveConfig?: (config: AutoRunConfig) => Promise<void>;
|
|
66
|
+
}
|
|
67
|
+
export declare const MessageBubble: FC<MessageBubbleProps>;
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=MessageBubble.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/message/MessageBubble.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAkC,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,qBAAqB,CAAA;AAK5B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAqD,MAAM,aAAa,CAAA;AAC/G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,iBAAiB;AACjB,UAAU,UAAU;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,0BAA0B;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,aAAa;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iBAAiB;IACjB,UAAU,CAAC,EAAE,UAAU,GAAG,aAAa,CAAA;IACvC,YAAY;IACZ,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,YAAY;IACZ,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAClC,iBAAiB;IACjB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sBAAsB;IACtB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,iBAAiB;IACjB,OAAO,CAAC,EAAE;QACR,cAAc,EAAE,MAAM,CAAA;QACtB,eAAe,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,kBAAkB;IAClB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,eAAe,EAAE,SAAS,EAAE,EAAE,cAAc,CAAC,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;IAC/G,aAAa;IACb,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAC7C,2BAA2B;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/C,gBAAgB;IAChB,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxD;AA0DD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAqMhD,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type FC, type ComponentType } from 'react';
|
|
2
|
+
import type { ContentPart, StepsExpandedType } from '../../types';
|
|
3
|
+
import type { ChatAdapter } from '../../adapter';
|
|
4
|
+
import type { AutoRunConfig } from '@huyooo/ai-chat-bridge-electron/renderer';
|
|
5
|
+
import './PartsRenderer.css';
|
|
6
|
+
/** Part 渲染器映射类型 */
|
|
7
|
+
type PartRenderers = Record<string, ComponentType<Record<string, unknown>>>;
|
|
8
|
+
interface PartsRendererProps {
|
|
9
|
+
parts: ContentPart[];
|
|
10
|
+
expandedType?: StepsExpandedType;
|
|
11
|
+
/** 自定义 Part 渲染器(props 传入优先级高于 context) */
|
|
12
|
+
partRenderers?: PartRenderers;
|
|
13
|
+
adapter?: ChatAdapter;
|
|
14
|
+
onCancelToolCall?: (toolCallId: string) => void;
|
|
15
|
+
onRetryToolCall?: (toolCallId: string) => void;
|
|
16
|
+
autoRunConfig?: AutoRunConfig;
|
|
17
|
+
onSaveConfig?: (config: AutoRunConfig) => Promise<void>;
|
|
18
|
+
onExtensionPartHostAction?: (payload: unknown) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const PartsRenderer: FC<PartsRendererProps>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=PartsRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartsRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/message/PartsRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,EAAE,EACP,KAAK,aAAa,EAGnB,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EASlB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAA;AAe7E,OAAO,qBAAqB,CAAA;AA4B5B,mBAAmB;AACnB,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;AAE3E,UAAU,kBAAkB;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,0CAA0C;IAC1C,aAAa,CAAC,EAAE,aAAa,CAAA;IAE7B,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/C,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CACvD;AAoGD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA8KhD,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WelcomeMessage Component
|
|
3
|
+
* 与 Vue 版本 WelcomeMessage.vue 保持一致
|
|
4
|
+
*/
|
|
5
|
+
import { type FC } from 'react';
|
|
6
|
+
import './WelcomeMessage.css';
|
|
7
|
+
import { type WelcomeConfig } from './welcome-types';
|
|
8
|
+
interface WelcomeMessageProps {
|
|
9
|
+
/** 欢迎页配置(可部分配置,未配置项使用默认值) */
|
|
10
|
+
config?: Partial<WelcomeConfig>;
|
|
11
|
+
/** 快捷操作回调 */
|
|
12
|
+
onQuickAction: (text: string) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const WelcomeMessage: FC<WelcomeMessageProps>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=WelcomeMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WelcomeMessage.d.ts","sourceRoot":"","sources":["../../../src/components/message/WelcomeMessage.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAW,MAAM,OAAO,CAAA;AACxC,OAAO,sBAAsB,CAAA;AAE7B,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,iBAAiB,CAAA;AAE1E,UAAU,mBAAmB;IAC3B,6BAA6B;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,aAAa;IACb,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACtC;AAED,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CA2ElD,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { FC, ReactNode } from 'react';
|
|
2
|
+
import './CollapsibleCard.css';
|
|
3
|
+
interface CollapsibleCardProps {
|
|
4
|
+
/** 图标名称 */
|
|
5
|
+
icon: string;
|
|
6
|
+
/** 图标颜色 */
|
|
7
|
+
iconColor?: string;
|
|
8
|
+
/** 标题 */
|
|
9
|
+
title: string;
|
|
10
|
+
/** 标题颜色 */
|
|
11
|
+
titleColor?: string;
|
|
12
|
+
/** 副标题 */
|
|
13
|
+
subtitle?: string;
|
|
14
|
+
/** 是否展开 */
|
|
15
|
+
expanded: boolean;
|
|
16
|
+
/** 展开状态变化回调 */
|
|
17
|
+
onExpandedChange: (expanded: boolean) => void;
|
|
18
|
+
/** 图标是否旋转(加载状态) */
|
|
19
|
+
spinning?: boolean;
|
|
20
|
+
/** 是否可折叠(显示 chevron) */
|
|
21
|
+
collapsible?: boolean;
|
|
22
|
+
/** 子内容 */
|
|
23
|
+
children?: ReactNode;
|
|
24
|
+
/** Header 操作按钮 */
|
|
25
|
+
headerActions?: ReactNode;
|
|
26
|
+
}
|
|
27
|
+
export declare const CollapsibleCard: FC<CollapsibleCardProps>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=CollapsibleCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleCard.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/CollapsibleCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,uBAAuB,CAAA;AAE9B,UAAU,oBAAoB;IAC5B,WAAW;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS;IACT,KAAK,EAAE,MAAM,CAAA;IACb,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe;IACf,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7C,mBAAmB;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wBAAwB;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU;IACV,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,kBAAkB;IAClB,aAAa,CAAC,EAAE,SAAS,CAAA;CAC1B;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAkDpD,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import './CompactPart.css';
|
|
3
|
+
interface CompactPartProps {
|
|
4
|
+
status: 'running' | 'done' | 'failed';
|
|
5
|
+
estimatedTokens?: number;
|
|
6
|
+
budget?: number;
|
|
7
|
+
compressedTokens?: number;
|
|
8
|
+
originalMessageCount?: number;
|
|
9
|
+
compressedMessageCount?: number;
|
|
10
|
+
duration?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const CompactPart: FC<CompactPartProps>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=CompactPart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompactPart.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/CompactPart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAE7D,OAAO,mBAAmB,CAAA;AAE1B,UAAU,gBAAgB;IACxB,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAA;IACrC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AASD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAiE5C,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import './CompactPart.css';
|
|
3
|
+
interface ContentCompressPartProps {
|
|
4
|
+
status: 'running' | 'done' | 'failed';
|
|
5
|
+
model?: string;
|
|
6
|
+
summary?: string;
|
|
7
|
+
originalTokens?: number;
|
|
8
|
+
compressedTokens?: number;
|
|
9
|
+
duration?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const ContentCompressPart: FC<ContentCompressPartProps>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=ContentCompressPart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentCompressPart.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/ContentCompressPart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAE7D,OAAO,mBAAmB,CAAA;AAE1B,UAAU,wBAAwB;IAChC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAA;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AASD,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CA+D5D,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import './ErrorPart.css';
|
|
3
|
+
interface ErrorPartProps {
|
|
4
|
+
message: string;
|
|
5
|
+
category?: string;
|
|
6
|
+
retryable?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const ErrorPart: FC<ErrorPartProps>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=ErrorPart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorPart.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/ErrorPart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,iBAAiB,CAAA;AAExB,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAaD,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAmBxC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import './ExtensionPartHost.css';
|
|
3
|
+
export interface ExtensionPartHostProps {
|
|
4
|
+
component?: string;
|
|
5
|
+
props?: Record<string, unknown>;
|
|
6
|
+
height?: number;
|
|
7
|
+
status: 'running' | 'done';
|
|
8
|
+
onHostAction?: (payload: unknown) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 扩展 Part 宿主:消费 `PartLoaderContext` 的 `loadPartCode`,用 `extension-runtime` 挂载预编译模块(与 Vue `ExtensionPartHost.vue` 对齐)。
|
|
12
|
+
* 扩展产物依赖 `vue` 与 `@huyooo/ai-chat-shared/extension-theme`,由桥接 URL 注入沙箱。
|
|
13
|
+
*/
|
|
14
|
+
export declare const ExtensionPartHost: FC<ExtensionPartHostProps>;
|
|
15
|
+
//# sourceMappingURL=ExtensionPartHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtensionPartHost.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/ExtensionPartHost.tsx"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,EAAE,EACR,MAAM,OAAO,CAAA;AAUd,OAAO,yBAAyB,CAAA;AAEhC,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,SAAS,GAAG,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC1C;AAUD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAiJxD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImagePart.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/ImagePart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,iBAAiB,CAAA;AAExB,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA4CxC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { PlanStepItem, StepsExpandedType } from '../../../types';
|
|
3
|
+
import './PlanPart.css';
|
|
4
|
+
interface PlanPartProps {
|
|
5
|
+
steps: PlanStepItem[];
|
|
6
|
+
status: 'running' | 'done';
|
|
7
|
+
expandedType?: StepsExpandedType;
|
|
8
|
+
}
|
|
9
|
+
export declare const PlanPart: FC<PlanPartProps>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=PlanPart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanPart.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/PlanPart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,gBAAgB,CAAA;AAEvB,UAAU,aAAa;IACrB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,MAAM,EAAE,SAAS,GAAG,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,iBAAiB,CAAA;CACjC;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA6EtC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { StepsExpandedType } from '../../../types';
|
|
3
|
+
import './TavilySearchPart.css';
|
|
4
|
+
interface TavilyResult {
|
|
5
|
+
title: string;
|
|
6
|
+
url: string;
|
|
7
|
+
content: string;
|
|
8
|
+
score: number;
|
|
9
|
+
}
|
|
10
|
+
interface TavilySearchPartProps {
|
|
11
|
+
query?: string;
|
|
12
|
+
results?: TavilyResult[];
|
|
13
|
+
status: 'running' | 'done';
|
|
14
|
+
expandedType?: StepsExpandedType;
|
|
15
|
+
}
|
|
16
|
+
export declare const TavilySearchPart: FC<TavilySearchPartProps>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=TavilySearchPart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TavilySearchPart.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/TavilySearchPart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,wBAAwB,CAAA;AAE/B,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,MAAM,EAAE,SAAS,GAAG,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,iBAAiB,CAAA;CACjC;AAED,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAsDtD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextPart.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/TextPart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAiBzE,OAAO,0BAA0B,CAAA;AACjC,OAAO,gBAAgB,CAAA;AAEvB,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA6JtC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { StepsExpandedType } from '../../../types';
|
|
3
|
+
import './ThinkingPart.css';
|
|
4
|
+
interface ThinkingPartProps {
|
|
5
|
+
text: string;
|
|
6
|
+
status: 'running' | 'done';
|
|
7
|
+
duration?: number;
|
|
8
|
+
expandedType?: StepsExpandedType;
|
|
9
|
+
}
|
|
10
|
+
export declare const ThinkingPart: FC<ThinkingPartProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=ThinkingPart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThinkingPart.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/ThinkingPart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,oBAAoB,CAAA;AAE3B,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,GAAG,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,iBAAiB,CAAA;CACjC;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAqC9C,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { FC } from 'react';
|
|
2
|
+
import type { ChatAdapter } from '../../../adapter';
|
|
3
|
+
import type { AutoRunConfig } from '@huyooo/ai-chat-bridge-electron/renderer';
|
|
4
|
+
import type { ToolError } from '@huyooo/ai-chat-types';
|
|
5
|
+
import type { AssetApprovalPolicy, AssetHostDependency, AssetSideEffectLevel, ToolApprovalReason } from '@huyooo/ai-chat-shared';
|
|
6
|
+
import type { StepsExpandedType } from '../../../types';
|
|
7
|
+
import './ToolCallPart.css';
|
|
8
|
+
interface ToolCallPartProps {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
args?: Record<string, unknown>;
|
|
12
|
+
output?: {
|
|
13
|
+
stdout?: string;
|
|
14
|
+
stderr?: string;
|
|
15
|
+
};
|
|
16
|
+
status: 'pending' | 'running' | 'done' | 'error' | 'cancelled' | 'skipped';
|
|
17
|
+
error?: string;
|
|
18
|
+
approvalReason?: ToolApprovalReason;
|
|
19
|
+
approvalPolicy?: AssetApprovalPolicy;
|
|
20
|
+
sideEffectLevel?: AssetSideEffectLevel;
|
|
21
|
+
hostDependency?: AssetHostDependency;
|
|
22
|
+
riskSummary?: string;
|
|
23
|
+
riskTags?: string[];
|
|
24
|
+
riskSignals?: string[];
|
|
25
|
+
toolError?: ToolError;
|
|
26
|
+
expandedType?: StepsExpandedType;
|
|
27
|
+
adapter?: ChatAdapter;
|
|
28
|
+
onCancelToolCall?: (toolCallId: string) => void;
|
|
29
|
+
onRetryToolCall?: (toolCallId: string) => void;
|
|
30
|
+
autoRunConfig?: AutoRunConfig;
|
|
31
|
+
onSaveConfig?: (config: AutoRunConfig) => Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
export declare const ToolCallPart: FC<ToolCallPartProps>;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=ToolCallPart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolCallPart.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/ToolCallPart.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAW/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,0CAA0C,CAAA;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAkBvD,OAAO,oBAAoB,CAAA;AAE3B,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAA;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,kBAAkB,CAAA;IACnC,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/C,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxD;AAOD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CA8U9C,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import type { StepsExpandedType } from '../../../types';
|
|
3
|
+
import './ZhipuSearchPart.css';
|
|
4
|
+
interface ZhipuResult {
|
|
5
|
+
title: string;
|
|
6
|
+
link: string;
|
|
7
|
+
content: string;
|
|
8
|
+
icon: string;
|
|
9
|
+
media: string;
|
|
10
|
+
publish_date: string;
|
|
11
|
+
}
|
|
12
|
+
interface ZhipuSearchPartProps {
|
|
13
|
+
query?: string;
|
|
14
|
+
results?: ZhipuResult[];
|
|
15
|
+
status: 'running' | 'done';
|
|
16
|
+
expandedType?: StepsExpandedType;
|
|
17
|
+
}
|
|
18
|
+
export declare const ZhipuSearchPart: FC<ZhipuSearchPartProps>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=ZhipuSearchPart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZhipuSearchPart.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/ZhipuSearchPart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,uBAAuB,CAAA;AAE9B,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,WAAW,EAAE,CAAA;IACvB,MAAM,EAAE,SAAS,GAAG,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,iBAAiB,CAAA;CACjC;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CA8DpD,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Part 渲染组件导出
|
|
3
|
+
*
|
|
4
|
+
* 协议内置 ContentPart 组件:text, thinking, tavily_search, zhipu_search, tool_call, image, error 等
|
|
5
|
+
* 宿主内嵌卡片:`partRenderers[type]`;扩展 Part:同 `type` + `PartLoaderContext`(无 partRenderers 时)
|
|
6
|
+
*/
|
|
7
|
+
export { CollapsibleCard } from './CollapsibleCard';
|
|
8
|
+
export { TextPart } from './TextPart';
|
|
9
|
+
export { ThinkingPart } from './ThinkingPart';
|
|
10
|
+
export { TavilySearchPart } from './TavilySearchPart';
|
|
11
|
+
export { ZhipuSearchPart } from './ZhipuSearchPart';
|
|
12
|
+
export { ToolCallPart } from './ToolCallPart';
|
|
13
|
+
export { ImagePart } from './ImagePart';
|
|
14
|
+
export { ErrorPart } from './ErrorPart';
|
|
15
|
+
export { PlanPart } from './PlanPart';
|
|
16
|
+
export { CompactPart } from './CompactPart';
|
|
17
|
+
export { ContentCompressPart } from './ContentCompressPart';
|
|
18
|
+
export { ExtensionPartHost } from './ExtensionPartHost';
|
|
19
|
+
export type { ExtensionPartHostProps } from './ExtensionPartHost';
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type CommandHighlightTone = 'danger' | 'warning';
|
|
2
|
+
export type ArgSignalTone = CommandHighlightTone | 'neutral';
|
|
3
|
+
export type ToolCallStatus = 'pending' | 'running' | 'done' | 'error' | 'cancelled' | 'skipped';
|
|
4
|
+
export interface ImportantArgSignal {
|
|
5
|
+
label: string;
|
|
6
|
+
value: string;
|
|
7
|
+
tone: ArgSignalTone;
|
|
8
|
+
dedupeHints: string[];
|
|
9
|
+
}
|
|
10
|
+
export type ToolSideEffectLevel = 'read' | 'write' | 'destructive' | undefined;
|
|
11
|
+
export declare function getRunButtonText(sideEffectLevel: ToolSideEffectLevel): "确认执行高风险命令" | "确认执行" | "运行";
|
|
12
|
+
export declare function getToolStatusIcon(status: ToolCallStatus): string;
|
|
13
|
+
export declare function getToolStatusIconColor(status: ToolCallStatus): string;
|
|
14
|
+
export declare function getToolStatusDisplayIcon(status: ToolCallStatus): string;
|
|
15
|
+
export declare function getToolStatusText(status: ToolCallStatus): string;
|
|
16
|
+
export declare function getToolCallTitle(name: string, status: ToolCallStatus): string;
|
|
17
|
+
export declare function getRunButtonClass(sideEffectLevel: ToolSideEffectLevel): "btn-run-danger" | "btn-run-warning" | "btn-run-primary";
|
|
18
|
+
export declare function getRiskSummaryClass(sideEffectLevel: ToolSideEffectLevel): "tool-risk-summary-danger" | "tool-risk-summary-warning" | "tool-risk-summary-neutral";
|
|
19
|
+
export declare function getArgSignalClass(tone: ArgSignalTone): "tool-arg-signal-danger" | "tool-arg-signal-warning" | "tool-arg-signal-neutral";
|
|
20
|
+
export declare function getGovernanceTagClass(tag: string): "tool-governance-tag-danger" | "tool-governance-tag-warning" | "tool-governance-tag-neutral";
|
|
21
|
+
export declare function getToolArgsType(name: string, args?: Record<string, unknown>): "text" | "command" | "json";
|
|
22
|
+
export declare function getToolArgsText(name: string, args?: Record<string, unknown>): string;
|
|
23
|
+
export declare function renderHighlightedCommand(command: string): string;
|
|
24
|
+
export declare function buildImportantArgSignals(args: Record<string, unknown> | undefined, sideEffectLevel?: 'read' | 'write' | 'destructive'): ImportantArgSignal[];
|
|
25
|
+
export declare function filterDisplayedRiskSignals(riskSignals: string[], importantArgSignals: ImportantArgSignal[]): string[];
|
|
26
|
+
//# sourceMappingURL=tool-call-display.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-call-display.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/tool-call-display.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,CAAA;AACvD,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,SAAS,CAAA;AAC5D,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAA;AAE/F,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,aAAa,CAAA;IACnB,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,CAAA;AAgC9E,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,+BAIpE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,UASvD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,UAS5D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,UAS9D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,UASvD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,UAUpE;AAED,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,mBAAmB,4DAIrE;AAED,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,mBAAmB,0FAIvE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,oFAIpD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,gGAwBhD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,+BAQ3E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAY3E;AAsDD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,UAoBvD;AA0BD,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,GACjD,kBAAkB,EAAE,CAiDtB;AASD,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EAAE,EACrB,mBAAmB,EAAE,kBAAkB,EAAE,YAa1C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function isMermaidLanguage(lang?: string): boolean;
|
|
2
|
+
export declare function isLatexLanguage(lang?: string): boolean;
|
|
3
|
+
export declare function isLatexDocument(code: string): boolean;
|
|
4
|
+
export declare function canVisualizeLatex(code: string): boolean;
|
|
5
|
+
export declare function hasLatexDelimiters(code: string): boolean;
|
|
6
|
+
export declare function shouldShowVisualToggle(lang?: string, code?: string): boolean;
|
|
7
|
+
//# sourceMappingURL=visual-predicate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visual-predicate.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/visual-predicate.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASxD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAI5E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visual-render.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/visual-render.ts"],"names":[],"mappings":"AAGA,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAa5D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visual.d.ts","sourceRoot":"","sources":["../../../../src/components/message/parts/visual.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** 功能项 */
|
|
2
|
+
export interface WelcomeFeature {
|
|
3
|
+
name: string;
|
|
4
|
+
icon: string;
|
|
5
|
+
}
|
|
6
|
+
/** 快捷任务 */
|
|
7
|
+
export interface WelcomeTask {
|
|
8
|
+
name: string;
|
|
9
|
+
desc: string;
|
|
10
|
+
prompt: string;
|
|
11
|
+
icon: string;
|
|
12
|
+
}
|
|
13
|
+
/** 欢迎页配置 */
|
|
14
|
+
export interface WelcomeConfig {
|
|
15
|
+
/** 标题 */
|
|
16
|
+
title: string;
|
|
17
|
+
/** 副标题 */
|
|
18
|
+
subtitle: string;
|
|
19
|
+
/** 图标 */
|
|
20
|
+
icon: string;
|
|
21
|
+
/** 功能列表 */
|
|
22
|
+
features: WelcomeFeature[];
|
|
23
|
+
/** 快捷任务 */
|
|
24
|
+
tasks: WelcomeTask[];
|
|
25
|
+
}
|
|
26
|
+
/** 默认配置 */
|
|
27
|
+
export declare const defaultWelcomeConfig: WelcomeConfig;
|
|
28
|
+
//# sourceMappingURL=welcome-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome-types.d.ts","sourceRoot":"","sources":["../../../src/components/message/welcome-types.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,WAAW;AACX,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,YAAY;AACZ,MAAM,WAAW,aAAa;IAC5B,SAAS;IACT,KAAK,EAAE,MAAM,CAAC;IACd,UAAU;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS;IACT,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW;IACX,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,WAAW;AACX,eAAO,MAAM,oBAAoB,EAAE,aAgBlC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AutoRunConfig } from '@huyooo/ai-chat-bridge-electron/renderer';
|
|
2
|
+
export interface AutoRunConfigContextValue {
|
|
3
|
+
autoRunConfig: AutoRunConfig;
|
|
4
|
+
saveAutoRunConfig: (config: AutoRunConfig) => Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
export declare const AutoRunConfigContext: import("react").Context<AutoRunConfigContextValue | null>;
|
|
7
|
+
export declare function useAutoRunConfig(): AutoRunConfigContextValue | null;
|
|
8
|
+
//# sourceMappingURL=AutoRunConfigContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutoRunConfigContext.d.ts","sourceRoot":"","sources":["../../src/context/AutoRunConfigContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAA;AAE7E,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,aAAa,CAAA;IAC5B,iBAAiB,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5D;AAED,eAAO,MAAM,oBAAoB,2DAAwD,CAAA;AAEzF,wBAAgB,gBAAgB,IAAI,yBAAyB,GAAG,IAAI,CAEnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatAdapterContext.d.ts","sourceRoot":"","sources":["../../src/context/ChatAdapterContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,eAAO,MAAM,kBAAkB,6CAA0C,CAAA;AAEzE,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAEnD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 全局 ChatInput 状态 Context
|
|
3
|
+
* 用于在 MessageBubble 中的 ChatInput 共享和修改全局状态
|
|
4
|
+
*/
|
|
5
|
+
import { type ReactNode, type FC } from 'react';
|
|
6
|
+
import type { ChatMode, ModelOption } from '../types';
|
|
7
|
+
import type { ChatAdapter } from '@huyooo/ai-chat-bridge-electron/renderer';
|
|
8
|
+
import type { ChatCapabilityExtensionGroup, SkillEnabledItem } from '@huyooo/ai-chat-types';
|
|
9
|
+
import type { AssetSource } from '@huyooo/ai-chat-core';
|
|
10
|
+
export interface ChatInputContextValue {
|
|
11
|
+
mode: ChatMode;
|
|
12
|
+
model: string;
|
|
13
|
+
models: ModelOption[];
|
|
14
|
+
webSearch: boolean;
|
|
15
|
+
thinking: boolean;
|
|
16
|
+
isLoading: boolean;
|
|
17
|
+
/** Electron adapter(用于 @ 文件选择) */
|
|
18
|
+
adapter?: ChatAdapter;
|
|
19
|
+
/** 聊天能力快照(用于 @ 选择器) */
|
|
20
|
+
capabilityExtensions?: ChatCapabilityExtensionGroup[];
|
|
21
|
+
/** 批量设置普通工具聊天启用状态 */
|
|
22
|
+
setToolsChatEnabled?: (items: Array<{
|
|
23
|
+
alias: string;
|
|
24
|
+
enabled: boolean;
|
|
25
|
+
}>) => void;
|
|
26
|
+
/** 批量设置 MCP 工具聊天启用状态 */
|
|
27
|
+
setMcpToolsChatEnabled?: (items: Array<{
|
|
28
|
+
alias: string;
|
|
29
|
+
enabled: boolean;
|
|
30
|
+
}>) => void;
|
|
31
|
+
/** 批量设置 Skill 的聊天启用状态 */
|
|
32
|
+
setSkillsChatEnabled?: (items: SkillEnabledItem[]) => void;
|
|
33
|
+
/** 扩展整体启停(Layer 1:影响 ChatRuntime 会话工具集) */
|
|
34
|
+
setExtensionEnabled?: (payload: {
|
|
35
|
+
id: string;
|
|
36
|
+
enabled: boolean;
|
|
37
|
+
source: AssetSource;
|
|
38
|
+
}) => void;
|
|
39
|
+
setMode: (value: ChatMode) => void;
|
|
40
|
+
setModel: (value: string) => void;
|
|
41
|
+
setWebSearch: (value: boolean) => void;
|
|
42
|
+
setThinking: (value: boolean) => void;
|
|
43
|
+
}
|
|
44
|
+
interface ChatInputProviderProps {
|
|
45
|
+
value: ChatInputContextValue;
|
|
46
|
+
children: ReactNode;
|
|
47
|
+
}
|
|
48
|
+
export declare const ChatInputProvider: FC<ChatInputProviderProps>;
|
|
49
|
+
export declare function useChatInputContext(): ChatInputContextValue | null;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=ChatInputContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatInputContext.d.ts","sourceRoot":"","sources":["../../src/context/ChatInputContext.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAA6B,KAAK,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAC3E,OAAO,KAAK,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,kCAAkC;IAClC,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,uBAAuB;IACvB,oBAAoB,CAAC,EAAE,4BAA4B,EAAE,CAAA;IACrD,qBAAqB;IACrB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAA;IACjF,wBAAwB;IACxB,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAA;IACpF,yBAAyB;IACzB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAA;IAC1D,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAA;IAC9F,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACtC;AAID,UAAU,sBAAsB;IAC9B,KAAK,EAAE,qBAAqB,CAAA;IAC5B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAExD,CAAA;AAED,wBAAgB,mBAAmB,IAAI,qBAAqB,GAAG,IAAI,CAElE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ReactNode, type FC } from 'react';
|
|
2
|
+
/** 与 Vue 侧 `loadPartCode` 返回值对齐 */
|
|
3
|
+
export interface LoadedPartPayload {
|
|
4
|
+
code: string;
|
|
5
|
+
css?: string;
|
|
6
|
+
template?: string;
|
|
7
|
+
}
|
|
8
|
+
export type LoadPartCodeFn = (name: string) => Promise<string | LoadedPartPayload | null | undefined>;
|
|
9
|
+
/**
|
|
10
|
+
* 宿主注入:从扩展目录读取预编译 Part(如 Electron `loadPartCode`)。
|
|
11
|
+
* 与 Vue 的 `provide('loadPartCode', fn)` 语义一致。
|
|
12
|
+
*/
|
|
13
|
+
export declare const PartLoaderContext: import("react").Context<LoadPartCodeFn | undefined>;
|
|
14
|
+
export declare const PartAssetNamesContext: import("react").Context<ReadonlySet<string> | undefined>;
|
|
15
|
+
export declare function usePartLoader(): LoadPartCodeFn | undefined;
|
|
16
|
+
export declare function usePartAssetNames(): ReadonlySet<string> | undefined;
|
|
17
|
+
interface PartLoaderProviderProps {
|
|
18
|
+
value: LoadPartCodeFn;
|
|
19
|
+
assetNames?: ReadonlySet<string>;
|
|
20
|
+
children: ReactNode;
|
|
21
|
+
}
|
|
22
|
+
/** 可选封装;也可直接使用 `PartLoaderContext.Provider` */
|
|
23
|
+
export declare const PartLoaderProvider: FC<PartLoaderProviderProps>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=PartLoaderContext.d.ts.map
|