@ai-group/chat-sdk 0.2.5 → 0.2.7
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/cjs/assets/arrow-down.png +0 -0
- package/dist/cjs/assets/arrow-up.png +0 -0
- package/dist/cjs/assets/chatKnowledge.png +0 -0
- package/dist/cjs/assets/completed-black.png +0 -0
- package/dist/cjs/assets/completed.png +0 -0
- package/dist/cjs/assets/document-black.png +0 -0
- package/dist/cjs/assets/document.png +0 -0
- package/dist/cjs/assets/document.svg +16 -0
- package/dist/cjs/assets/empty.png +0 -0
- package/dist/cjs/assets/group.png +0 -0
- package/dist/cjs/assets/qa-black.png +0 -0
- package/dist/cjs/assets/qa.png +0 -0
- package/dist/cjs/assets/skillNo-black.png +0 -0
- package/dist/cjs/assets/skillNo.png +0 -0
- package/dist/cjs/assets/tools-black.png +0 -0
- package/dist/cjs/assets/tools.png +0 -0
- package/dist/cjs/assets/user.png +0 -0
- package/dist/cjs/client/base.d.ts +9 -0
- package/dist/cjs/client/base.js +18 -0
- package/dist/cjs/client/base.js.map +7 -0
- package/dist/cjs/client/restClient.d.ts +0 -0
- package/dist/cjs/client/restClient.js +1 -0
- package/dist/cjs/client/restClient.js.map +7 -0
- package/dist/cjs/client/wsClient.d.ts +0 -0
- package/dist/cjs/client/wsClient.js +1 -0
- package/dist/cjs/client/wsClient.js.map +7 -0
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.d.ts +10 -0
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js +484 -0
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js.map +7 -0
- package/dist/cjs/components/XAiChatbot/index.d.ts +12 -0
- package/dist/cjs/components/XAiChatbot/index.js +365 -0
- package/dist/cjs/components/XAiChatbot/index.js.map +7 -0
- package/dist/cjs/components/XAiChatbot/styles.d.ts +71 -0
- package/dist/cjs/components/XAiChatbot/styles.js +409 -0
- package/dist/cjs/components/XAiChatbot/styles.js.map +7 -0
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.d.ts +7 -0
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +127 -0
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +7 -0
- package/dist/cjs/components/XAiProvider/index.d.ts +4 -0
- package/dist/cjs/components/XAiProvider/index.js +113 -0
- package/dist/cjs/components/XAiProvider/index.js.map +7 -0
- package/dist/cjs/components/XAiSDK.d.ts +10 -0
- package/dist/cjs/components/XAiSDK.js +53 -0
- package/dist/cjs/components/XAiSDK.js.map +7 -0
- package/dist/cjs/components/XAiWebSDKWrapper.d.ts +9 -0
- package/dist/cjs/components/XAiWebSDKWrapper.js +64 -0
- package/dist/cjs/components/XAiWebSDKWrapper.js.map +7 -0
- package/dist/cjs/context/AiProviderContext.d.ts +12 -0
- package/dist/cjs/context/AiProviderContext.js +74 -0
- package/dist/cjs/context/AiProviderContext.js.map +7 -0
- package/dist/cjs/context/ThemeContext.d.ts +20 -0
- package/dist/cjs/context/ThemeContext.js +37 -0
- package/dist/cjs/context/ThemeContext.js.map +7 -0
- package/dist/cjs/hooks/useAgentGenerator.d.ts +67 -0
- package/dist/cjs/hooks/useAgentGenerator.js +445 -0
- package/dist/cjs/hooks/useAgentGenerator.js.map +7 -0
- package/dist/cjs/hooks/useEventStreamRequest.d.ts +30 -0
- package/dist/cjs/hooks/useEventStreamRequest.js +188 -0
- package/dist/cjs/hooks/useEventStreamRequest.js.map +7 -0
- package/dist/cjs/hooks/useProviderContext.d.ts +33 -0
- package/dist/cjs/hooks/useProviderContext.js +105 -0
- package/dist/cjs/hooks/useProviderContext.js.map +7 -0
- package/dist/cjs/hooks/useXAiSDK.d.ts +14 -0
- package/dist/cjs/hooks/useXAiSDK.js +75 -0
- package/dist/cjs/hooks/useXAiSDK.js.map +7 -0
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.js +61 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/services/api.d.ts +40 -0
- package/dist/cjs/services/api.js +49 -0
- package/dist/cjs/services/api.js.map +7 -0
- package/dist/cjs/styles/common.d.ts +64 -0
- package/dist/cjs/styles/common.js +144 -0
- package/dist/cjs/styles/common.js.map +7 -0
- package/dist/cjs/styles/markdown.d.ts +3 -0
- package/dist/cjs/styles/markdown.js +193 -0
- package/dist/cjs/styles/markdown.js.map +7 -0
- package/dist/cjs/types/XAiChatbot.d.ts +159 -0
- package/dist/cjs/types/XAiChatbot.js +18 -0
- package/dist/cjs/types/XAiChatbot.js.map +7 -0
- package/dist/cjs/types/XAiMessage.d.ts +121 -0
- package/dist/cjs/types/XAiMessage.js +55 -0
- package/dist/cjs/types/XAiMessage.js.map +7 -0
- package/dist/cjs/types/XAiProvider.d.ts +32 -0
- package/dist/cjs/types/XAiProvider.js +41 -0
- package/dist/cjs/types/XAiProvider.js.map +7 -0
- package/dist/cjs/types/index.d.ts +3 -0
- package/dist/cjs/types/index.js +28 -0
- package/dist/cjs/types/index.js.map +7 -0
- package/dist/cjs/types/mdx.d.ts +18 -0
- package/dist/cjs/utils/chat.d.ts +34 -0
- package/dist/cjs/utils/chat.js +1 -0
- package/dist/cjs/utils/chat.js.map +7 -0
- package/dist/cjs/utils/index.d.ts +2 -0
- package/dist/cjs/utils/index.js +49 -0
- package/dist/cjs/utils/index.js.map +7 -0
- package/dist/cjs/utils/providerManager.d.ts +22 -0
- package/dist/cjs/utils/providerManager.js +73 -0
- package/dist/cjs/utils/providerManager.js.map +7 -0
- package/dist/cjs/utils/request.d.ts +78 -0
- package/dist/cjs/utils/request.example.d.ts +39 -0
- package/dist/cjs/utils/request.example.js +211 -0
- package/dist/cjs/utils/request.example.js.map +7 -0
- package/dist/cjs/utils/request.js +231 -0
- package/dist/cjs/utils/request.js.map +7 -0
- package/dist/cjs/utils/umdEntry.d.ts +11 -0
- package/dist/cjs/utils/umdEntry.js +95 -0
- package/dist/cjs/utils/umdEntry.js.map +7 -0
- package/dist/esm/assets/user.png +0 -0
- package/dist/esm/client/base.d.ts +9 -0
- package/dist/esm/client/restClient.d.ts +0 -0
- package/dist/esm/client/wsClient.d.ts +0 -0
- package/dist/esm/components/XAiChatbot/XAiChatbot.stories.d.ts +10 -0
- package/dist/esm/components/XAiChatbot/index.d.ts +12 -0
- package/dist/esm/components/XAiChatbot/index.js +11 -3
- package/dist/esm/components/XAiChatbot/index.js.map +1 -1
- package/dist/esm/components/XAiChatbot/styles.d.ts +71 -0
- package/dist/esm/components/XAiChatbot/styles.js +2 -2
- package/dist/esm/components/XAiChatbot/styles.js.map +1 -1
- package/dist/esm/components/XAiProvider/XAiProvider.stories.d.ts +7 -0
- package/dist/esm/components/XAiProvider/index.d.ts +4 -0
- package/dist/esm/components/XAiProvider/index.js +3 -0
- package/dist/esm/components/XAiProvider/index.js.map +1 -1
- package/dist/esm/components/XAiSDK.d.ts +10 -0
- package/dist/esm/components/XAiWebSDKWrapper.d.ts +9 -0
- package/dist/esm/context/AiProviderContext.d.ts +12 -0
- package/dist/esm/context/ThemeContext.d.ts +20 -0
- package/dist/esm/hooks/useAgentGenerator.d.ts +67 -0
- package/dist/esm/hooks/useAgentGenerator.js +50 -17
- package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
- package/dist/esm/hooks/useEventStreamRequest.d.ts +30 -0
- package/dist/esm/hooks/useProviderContext.d.ts +33 -0
- package/dist/esm/hooks/useXAiSDK.d.ts +14 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/services/api.d.ts +40 -0
- package/dist/esm/styles/common.d.ts +64 -0
- package/dist/esm/styles/markdown.d.ts +3 -0
- package/dist/esm/types/XAiChatbot.d.ts +159 -0
- package/dist/esm/types/XAiMessage.d.ts +121 -0
- package/dist/esm/types/XAiProvider.d.ts +32 -0
- package/dist/esm/types/index.d.ts +3 -0
- package/dist/esm/utils/chat.d.ts +34 -0
- package/dist/esm/utils/index.d.ts +2 -0
- package/dist/esm/utils/providerManager.d.ts +22 -0
- package/dist/esm/utils/request.d.ts +78 -0
- package/dist/esm/utils/request.example.d.ts +39 -0
- package/dist/esm/utils/umdEntry.d.ts +11 -0
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { PromptsProps } from '@ant-design/x';
|
|
2
|
+
export type MessageType = 'TextMessage' | 'ActionExecutionMessage' | 'ResultMessage' | 'AgentStateMessage' | 'ImageMessage' | 'SuggestionMessage';
|
|
3
|
+
export declare enum MessageRole {
|
|
4
|
+
user = "user",// 用户
|
|
5
|
+
assistant = "assistant",// AI助手
|
|
6
|
+
suggestion = "suggestion",// 建议
|
|
7
|
+
system = "system"
|
|
8
|
+
}
|
|
9
|
+
export declare enum MessageStatus {
|
|
10
|
+
init = "init",
|
|
11
|
+
pending = "pending",// 生成中/接收中
|
|
12
|
+
done = "done",// 已完成
|
|
13
|
+
failed = "failed",// 失败
|
|
14
|
+
recalled = "recalled",// 已撤回
|
|
15
|
+
deleted = "deleted"
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 所有消息的基础结构
|
|
19
|
+
*/
|
|
20
|
+
export interface BaseMessage {
|
|
21
|
+
id: string;
|
|
22
|
+
type: MessageType;
|
|
23
|
+
createdAt: Date;
|
|
24
|
+
status?: MessageStatus;
|
|
25
|
+
thinks?: ActionExecutionMessage[];
|
|
26
|
+
extra?: any;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 文本消息
|
|
30
|
+
*/
|
|
31
|
+
export interface TextMessage extends BaseMessage {
|
|
32
|
+
type: 'TextMessage';
|
|
33
|
+
role: MessageRole;
|
|
34
|
+
content: {
|
|
35
|
+
text: string;
|
|
36
|
+
};
|
|
37
|
+
parentMessageId?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* 工具/动作执行消息
|
|
41
|
+
*/
|
|
42
|
+
export interface ActionExecutionMessage extends BaseMessage {
|
|
43
|
+
type: 'ActionExecutionMessage';
|
|
44
|
+
name: string;
|
|
45
|
+
arguments?: Record<string, any>;
|
|
46
|
+
parentMessageId?: string;
|
|
47
|
+
extra?: any;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 工具/动作执行结果消息
|
|
51
|
+
*/
|
|
52
|
+
export interface ResultMessage extends BaseMessage {
|
|
53
|
+
type: 'ResultMessage';
|
|
54
|
+
actionExecutionId: string;
|
|
55
|
+
actionName: string;
|
|
56
|
+
result: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 智能体状态消息
|
|
60
|
+
*/
|
|
61
|
+
export interface AgentStateMessage extends BaseMessage {
|
|
62
|
+
type: 'AgentStateMessage';
|
|
63
|
+
threadId: string;
|
|
64
|
+
agentName: string;
|
|
65
|
+
nodeName: string;
|
|
66
|
+
runId: string;
|
|
67
|
+
active: boolean;
|
|
68
|
+
role: MessageRole;
|
|
69
|
+
state: any;
|
|
70
|
+
running: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 图片消息
|
|
74
|
+
*/
|
|
75
|
+
export interface ImageMessage extends BaseMessage {
|
|
76
|
+
type: 'ImageMessage';
|
|
77
|
+
content: {
|
|
78
|
+
format: string;
|
|
79
|
+
bytes: string;
|
|
80
|
+
thinks?: ActionExecutionMessage[];
|
|
81
|
+
};
|
|
82
|
+
role: MessageRole;
|
|
83
|
+
parentMessageId?: string;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 提示消息
|
|
87
|
+
*/
|
|
88
|
+
export interface SuggestionMessage extends BaseMessage {
|
|
89
|
+
type: 'SuggestionMessage';
|
|
90
|
+
content: PromptsProps['items'];
|
|
91
|
+
role: MessageRole;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* 消息输入类型(用于前端输入/组装)
|
|
95
|
+
* 可选地包含不同类型的消息体
|
|
96
|
+
*/
|
|
97
|
+
export interface MessageInput extends BaseMessage {
|
|
98
|
+
textMessage?: Omit<TextMessage, 'id' | 'createdAt' | 'type'>;
|
|
99
|
+
actionExecutionMessage?: Omit<ActionExecutionMessage, 'id' | 'createdAt' | 'type'>;
|
|
100
|
+
resultMessage?: Omit<ResultMessage, 'id' | 'createdAt' | 'type'>;
|
|
101
|
+
agentStateMessage?: Omit<AgentStateMessage, 'id' | 'createdAt' | 'type'>;
|
|
102
|
+
imageMessage?: Omit<ImageMessage, 'id' | 'createdAt' | 'type'>;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 消息列表中消息格式
|
|
106
|
+
*/
|
|
107
|
+
export type Messages = TextMessage | ImageMessage | SuggestionMessage;
|
|
108
|
+
export declare enum ActionAvailability {
|
|
109
|
+
disabled = "disabled",// 不可用
|
|
110
|
+
enabled = "enabled",// 可用
|
|
111
|
+
remote = "remote"
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* 工具/动作定义
|
|
115
|
+
*/
|
|
116
|
+
export interface Action {
|
|
117
|
+
name: string;
|
|
118
|
+
description: string;
|
|
119
|
+
jsonSchema: string;
|
|
120
|
+
available?: ActionAvailability;
|
|
121
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/types/XAiMessage.ts
|
|
20
|
+
var XAiMessage_exports = {};
|
|
21
|
+
__export(XAiMessage_exports, {
|
|
22
|
+
ActionAvailability: () => ActionAvailability,
|
|
23
|
+
MessageRole: () => MessageRole,
|
|
24
|
+
MessageStatus: () => MessageStatus
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(XAiMessage_exports);
|
|
27
|
+
var MessageRole = /* @__PURE__ */ ((MessageRole2) => {
|
|
28
|
+
MessageRole2["user"] = "user";
|
|
29
|
+
MessageRole2["assistant"] = "assistant";
|
|
30
|
+
MessageRole2["suggestion"] = "suggestion";
|
|
31
|
+
MessageRole2["system"] = "system";
|
|
32
|
+
return MessageRole2;
|
|
33
|
+
})(MessageRole || {});
|
|
34
|
+
var MessageStatus = /* @__PURE__ */ ((MessageStatus2) => {
|
|
35
|
+
MessageStatus2["init"] = "init";
|
|
36
|
+
MessageStatus2["pending"] = "pending";
|
|
37
|
+
MessageStatus2["done"] = "done";
|
|
38
|
+
MessageStatus2["failed"] = "failed";
|
|
39
|
+
MessageStatus2["recalled"] = "recalled";
|
|
40
|
+
MessageStatus2["deleted"] = "deleted";
|
|
41
|
+
return MessageStatus2;
|
|
42
|
+
})(MessageStatus || {});
|
|
43
|
+
var ActionAvailability = /* @__PURE__ */ ((ActionAvailability2) => {
|
|
44
|
+
ActionAvailability2["disabled"] = "disabled";
|
|
45
|
+
ActionAvailability2["enabled"] = "enabled";
|
|
46
|
+
ActionAvailability2["remote"] = "remote";
|
|
47
|
+
return ActionAvailability2;
|
|
48
|
+
})(ActionAvailability || {});
|
|
49
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
50
|
+
0 && (module.exports = {
|
|
51
|
+
ActionAvailability,
|
|
52
|
+
MessageRole,
|
|
53
|
+
MessageStatus
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=XAiMessage.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/XAiMessage.ts"],
|
|
4
|
+
"sourcesContent": ["import type { PromptsProps } from '@ant-design/x';\n\nexport type MessageType =\n| 'TextMessage'\n| 'ActionExecutionMessage'\n| 'ResultMessage'\n| 'AgentStateMessage'\n| 'ImageMessage'\n| 'SuggestionMessage';\n\nexport enum MessageRole {\n user = 'user', // 用户\n assistant = 'assistant', // AI助手\n suggestion = 'suggestion', // 建议\n system = 'system', // 工具\n}\n\nexport enum MessageStatus {\n init = 'init',\n pending = 'pending', // 生成中/接收中\n done = 'done', // 已完成\n failed = 'failed', // 失败\n recalled = 'recalled', // 已撤回\n deleted = 'deleted', // 已删除\n}\n\n/**\n* 所有消息的基础结构\n*/\nexport interface BaseMessage {\n id: string; // 消息唯一ID\n type: MessageType; // 消息类型\n createdAt: Date; // 创建时间\n status?: MessageStatus; // 内容是否生成中\n thinks?: ActionExecutionMessage[]; // 思考过程\n extra?: any; // 额外消息\n}\n\n/**\n* 文本消息\n*/\nexport interface TextMessage extends BaseMessage {\n type: 'TextMessage';\n role: MessageRole; // 发送者角色\n content: {\n text: string; // 文本内容\n };\n parentMessageId?: string; // 父消息ID(可选)\n}\n\n/**\n* 工具/动作执行消息\n*/\nexport interface ActionExecutionMessage extends BaseMessage {\n type: 'ActionExecutionMessage';\n name: string; // 动作/工具名称\n arguments?: Record<string, any>; // 执行参数\n parentMessageId?: string;\n extra?: any; // 额外信息\n}\n\n/**\n* 工具/动作执行结果消息\n*/\nexport interface ResultMessage extends BaseMessage {\n type: 'ResultMessage';\n actionExecutionId: string; // 执行ID\n actionName: string; // 动作/工具名称\n result: string; // 执行结果\n}\n\n/**\n* 智能体状态消息\n*/\nexport interface AgentStateMessage extends BaseMessage {\n type: 'AgentStateMessage';\n threadId: string; // 线程ID\n agentName: string; // agent名称\n nodeName: string; // 节点名称\n runId: string; // 运行ID\n active: boolean; // 是否激活\n role: MessageRole; // 角色\n state: any; // 状态内容\n running: boolean; // 是否运行中\n}\n\n/**\n* 图片消息\n*/\nexport interface ImageMessage extends BaseMessage {\n type: 'ImageMessage';\n content: {\n format: string; // 图片格式\n bytes: string; // base64内容\n thinks?: ActionExecutionMessage[]; // 思考过程\n };\n role: MessageRole;\n parentMessageId?: string;\n}\n\n/**\n * 提示消息\n */\nexport interface SuggestionMessage extends BaseMessage {\n type: 'SuggestionMessage';\n content: PromptsProps['items'];\n role: MessageRole;\n}\n\n/**\n* 消息输入类型(用于前端输入/组装)\n* 可选地包含不同类型的消息体\n*/\nexport interface MessageInput extends BaseMessage {\n textMessage?: Omit<TextMessage, 'id' | 'createdAt' | 'type'>;\n actionExecutionMessage?: Omit<ActionExecutionMessage, 'id' | 'createdAt' | 'type'>;\n resultMessage?: Omit<ResultMessage, 'id' | 'createdAt' | 'type'>;\n agentStateMessage?: Omit<AgentStateMessage, 'id' | 'createdAt' | 'type'>;\n imageMessage?: Omit<ImageMessage, 'id' | 'createdAt' | 'type'>;\n}\n\n/**\n* 消息列表中消息格式\n*/\nexport type Messages = TextMessage | ImageMessage | SuggestionMessage;\n\nexport enum ActionAvailability {\n disabled = 'disabled', // 不可用\n enabled = 'enabled', // 可用\n remote = 'remote', // 远程可用\n}\n\n/**\n* 工具/动作定义\n*/\nexport interface Action {\n name: string; // 名称\n description: string; // 描述\n jsonSchema: string; // 参数JSON Schema\n available?: ActionAvailability; // 可用性\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,IAAK,cAAL,kBAAKA,iBAAL;AACL,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,YAAS;AAJC,SAAAA;AAAA,GAAA;AAOL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,aAAU;AANA,SAAAA;AAAA,GAAA;AA6GL,IAAK,qBAAL,kBAAKC,wBAAL;AACL,EAAAA,oBAAA,cAAW;AACX,EAAAA,oBAAA,aAAU;AACV,EAAAA,oBAAA,YAAS;AAHC,SAAAA;AAAA,GAAA;",
|
|
6
|
+
"names": ["MessageRole", "MessageStatus", "ActionAvailability"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { AiClient } from 'src/client/base';
|
|
3
|
+
import type { ChatbotMessageFields } from './XAiChatbot';
|
|
4
|
+
export type ThemeType = 'default';
|
|
5
|
+
export interface XAiProviderProps {
|
|
6
|
+
/** AI 服务地址 */
|
|
7
|
+
url: string;
|
|
8
|
+
/** 认证 token */
|
|
9
|
+
token: string;
|
|
10
|
+
/** 配置信息 */
|
|
11
|
+
config?: any;
|
|
12
|
+
/** Provider 唯一标识,用于区分多个 Provider 实例 */
|
|
13
|
+
providerId?: string;
|
|
14
|
+
/** Token 刷新回调 */
|
|
15
|
+
onRefreshToken?: () => Promise<string>;
|
|
16
|
+
/** 子组件 */
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
export interface XAiSDKProps extends XAiProviderProps {
|
|
20
|
+
theme?: ThemeType;
|
|
21
|
+
componentProps?: {
|
|
22
|
+
id?: string;
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export interface XAiContextType extends Required<ChatbotMessageFields> {
|
|
27
|
+
client: AiClient | null;
|
|
28
|
+
token: string;
|
|
29
|
+
loading: boolean;
|
|
30
|
+
error: string | null;
|
|
31
|
+
}
|
|
32
|
+
export declare const XAiContext: React.Context<XAiContextType | null>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/types/XAiProvider.ts
|
|
30
|
+
var XAiProvider_exports = {};
|
|
31
|
+
__export(XAiProvider_exports, {
|
|
32
|
+
XAiContext: () => XAiContext
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(XAiProvider_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var XAiContext = import_react.default.createContext(null);
|
|
37
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
38
|
+
0 && (module.exports = {
|
|
39
|
+
XAiContext
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=XAiProvider.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/XAiProvider.ts"],
|
|
4
|
+
"sourcesContent": ["// context/ProviderContext.ts\nimport React, { ReactNode } from 'react';\nimport { AiClient } from 'src/client/base';\nimport type { ChatbotMessageFields } from './XAiChatbot';\n\nexport type ThemeType = 'default';\n\nexport interface XAiProviderProps {\n /** AI 服务地址 */\n url: string;\n /** 认证 token */\n token: string;\n /** 配置信息 */\n config?: any;\n /** Provider 唯一标识,用于区分多个 Provider 实例 */\n providerId?: string;\n /** Token 刷新回调 */\n onRefreshToken?: () => Promise<string>;\n /** 子组件 */\n children: ReactNode;\n}\n\nexport interface XAiSDKProps extends XAiProviderProps {\n theme?: ThemeType;\n componentProps?: {\n id?: string;\n [key: string]: any; // 支持任意 CSS 属性\n };\n}\n\nexport interface XAiContextType extends Required<ChatbotMessageFields> {\n client: AiClient | null;\n token: string;\n loading: boolean;\n error: string | null;\n // ...其它全局配置\n}\n\nexport const XAiContext = React.createContext<XAiContextType | null>(null);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAiC;AAqC1B,IAAM,aAAa,aAAAA,QAAM,cAAqC,IAAI;",
|
|
6
|
+
"names": ["React"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
|
|
16
|
+
// src/types/index.ts
|
|
17
|
+
var types_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(types_exports);
|
|
19
|
+
__reExport(types_exports, require("./XAiChatbot"), module.exports);
|
|
20
|
+
__reExport(types_exports, require("./XAiMessage"), module.exports);
|
|
21
|
+
__reExport(types_exports, require("./XAiProvider"), module.exports);
|
|
22
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
23
|
+
0 && (module.exports = {
|
|
24
|
+
...require("./XAiChatbot"),
|
|
25
|
+
...require("./XAiMessage"),
|
|
26
|
+
...require("./XAiProvider")
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/index.ts"],
|
|
4
|
+
"sourcesContent": ["export * from './XAiChatbot';\nexport * from './XAiMessage';\nexport * from './XAiProvider';"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,yBAAd;AACA,0BAAc,yBADd;AAEA,0BAAc,0BAFd;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
declare module '*.mdx' {
|
|
2
|
+
const content: any;
|
|
3
|
+
export default content;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
declare module '*.png' {
|
|
7
|
+
const src: string;
|
|
8
|
+
export default src;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
declare module '*.svg' {
|
|
12
|
+
import * as React from 'react';
|
|
13
|
+
|
|
14
|
+
const ReactComponent: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
|
|
15
|
+
export { ReactComponent };
|
|
16
|
+
const src: string;
|
|
17
|
+
export default src;
|
|
18
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 处理发送消息并接收流式响应
|
|
3
|
+
* @param {Object} params - 参数对象
|
|
4
|
+
* @param {string} params.message - 用户输入的消息
|
|
5
|
+
* @param {Array} params.files - 上传的文件列表
|
|
6
|
+
* @param {string} params.botNo - 机器人编号
|
|
7
|
+
* @param {string} params.agentNo - 代理编号
|
|
8
|
+
* @param {string} params.agentVersionNo - 代理版本编号
|
|
9
|
+
* @param {string} params.sessionId - 会话ID
|
|
10
|
+
* @param {string} params.botPrefix - API前缀
|
|
11
|
+
* @param {string} params.mode - 模式
|
|
12
|
+
* @param {Function} params.setMessages - 设置消息列表的函数
|
|
13
|
+
* @param {Function} params.setLoading - 设置加载状态的函数
|
|
14
|
+
* @param {Function} params.setContent - 设置输入内容的函数
|
|
15
|
+
* @param {Function} params.setSessionId - 设置会话ID的函数
|
|
16
|
+
* @param {Function} params.scrollToBottom - 滚动到底部的函数
|
|
17
|
+
* @param {Object} params.controllerRef - AbortController引用
|
|
18
|
+
* @param {Object} params.timeoutRef - 超时计时器引用
|
|
19
|
+
* @param {Function} params.setServerTime - 设置服务器时间的函数
|
|
20
|
+
* @param {Function} params.processActionData - 处理动作数据的函数
|
|
21
|
+
* @param {Function} params.handleNeedApprove - 处理需要授权的回调函数
|
|
22
|
+
* @param {boolean} params.isJsonMode - 是否为JSON模式
|
|
23
|
+
* @param {boolean} params.skipUserMessage - 是否跳过添加用户消息(用于授权后重新发送)
|
|
24
|
+
* @param {string} params.aiMessageId - 已创建的AI消息ID(配合skipUserMessage使用)
|
|
25
|
+
* @returns {Promise<void>}
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* 停止生成响应
|
|
29
|
+
* @param {Object} params - 参数对象
|
|
30
|
+
* @param {Object} params.controllerRef - AbortController引用
|
|
31
|
+
* @param {Object} params.timeoutRef - 超时计时器引用
|
|
32
|
+
* @param {Function} params.setLoading - 设置加载状态的函数
|
|
33
|
+
* @param {Function} params.setMessages - 设置消息列表的函数
|
|
34
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chat.js.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/utils/index.ts
|
|
20
|
+
var utils_exports = {};
|
|
21
|
+
__export(utils_exports, {
|
|
22
|
+
safeJsonParse: () => safeJsonParse,
|
|
23
|
+
safeJsonStringify: () => safeJsonStringify
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(utils_exports);
|
|
26
|
+
var safeJsonParse = (str, defaultValue = {}) => {
|
|
27
|
+
if (!str)
|
|
28
|
+
return defaultValue;
|
|
29
|
+
try {
|
|
30
|
+
return JSON.parse(str) || defaultValue;
|
|
31
|
+
} catch (error) {
|
|
32
|
+
return defaultValue;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
var safeJsonStringify = (obj, defaultValue = {}) => {
|
|
36
|
+
if (!obj)
|
|
37
|
+
return defaultValue;
|
|
38
|
+
try {
|
|
39
|
+
return JSON.stringify(obj) || defaultValue;
|
|
40
|
+
} catch (error) {
|
|
41
|
+
return defaultValue;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
safeJsonParse,
|
|
47
|
+
safeJsonStringify
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/index.ts"],
|
|
4
|
+
"sourcesContent": ["export const safeJsonParse = <T = any>(str?: string, defaultValue: any = {}): T => {\n if (!str) return defaultValue as T;\n try {\n return JSON.parse(str) || defaultValue;\n } catch (error) {\n return defaultValue as T;\n }\n};\n\nexport const safeJsonStringify = <T = any>(obj?: T, defaultValue: any = {}): string => {\n if (!obj) return defaultValue as string;\n try {\n return JSON.stringify(obj) || defaultValue;\n } catch (error) {\n return defaultValue as string;\n }\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,gBAAgB,CAAU,KAAc,eAAoB,CAAC,MAAS;AACjF,MAAI,CAAC;AAAK,WAAO;AACjB,MAAI;AACF,WAAO,KAAK,MAAM,GAAG,KAAK;AAAA,EAC5B,SAAS,OAAP;AACA,WAAO;AAAA,EACT;AACF;AAEO,IAAM,oBAAoB,CAAU,KAAS,eAAoB,CAAC,MAAc;AACrF,MAAI,CAAC;AAAK,WAAO;AACjB,MAAI;AACF,WAAO,KAAK,UAAU,GAAG,KAAK;AAAA,EAChC,SAAS,OAAP;AACA,WAAO;AAAA,EACT;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MessageType } from 'src/client/base';
|
|
2
|
+
declare class ProviderManager {
|
|
3
|
+
private providers;
|
|
4
|
+
register(providerId: string, data: {
|
|
5
|
+
client: any;
|
|
6
|
+
token: string;
|
|
7
|
+
url: string;
|
|
8
|
+
}): void;
|
|
9
|
+
unregister(providerId: string): void;
|
|
10
|
+
getProvider(providerId: string): {
|
|
11
|
+
client: any;
|
|
12
|
+
messages: import("src/client/base").MessageType[];
|
|
13
|
+
token: string;
|
|
14
|
+
url: string;
|
|
15
|
+
} | undefined;
|
|
16
|
+
addMessage(providerId: string, message: MessageType): void;
|
|
17
|
+
clearMessages(providerId: string): void;
|
|
18
|
+
getProviderIds(): string[];
|
|
19
|
+
}
|
|
20
|
+
export declare const providerManager: ProviderManager;
|
|
21
|
+
export declare const useProviderManager: () => ProviderManager;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/utils/providerManager.ts
|
|
20
|
+
var providerManager_exports = {};
|
|
21
|
+
__export(providerManager_exports, {
|
|
22
|
+
providerManager: () => providerManager,
|
|
23
|
+
useProviderManager: () => useProviderManager
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(providerManager_exports);
|
|
26
|
+
var ProviderManager = class {
|
|
27
|
+
constructor() {
|
|
28
|
+
this.providers = /* @__PURE__ */ new Map();
|
|
29
|
+
}
|
|
30
|
+
// 注册 Provider
|
|
31
|
+
register(providerId, data) {
|
|
32
|
+
this.providers.set(providerId, {
|
|
33
|
+
...data,
|
|
34
|
+
messages: []
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
// 注销 Provider
|
|
38
|
+
unregister(providerId) {
|
|
39
|
+
this.providers.delete(providerId);
|
|
40
|
+
}
|
|
41
|
+
// 获取 Provider 数据
|
|
42
|
+
getProvider(providerId) {
|
|
43
|
+
return this.providers.get(providerId);
|
|
44
|
+
}
|
|
45
|
+
// 添加消息到指定 Provider
|
|
46
|
+
addMessage(providerId, message) {
|
|
47
|
+
const provider = this.providers.get(providerId);
|
|
48
|
+
if (provider) {
|
|
49
|
+
provider.messages.push(message);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// 清空指定 Provider 的消息
|
|
53
|
+
clearMessages(providerId) {
|
|
54
|
+
const provider = this.providers.get(providerId);
|
|
55
|
+
if (provider) {
|
|
56
|
+
provider.messages = [];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// 获取所有 Provider ID
|
|
60
|
+
getProviderIds() {
|
|
61
|
+
return Array.from(this.providers.keys());
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
var providerManager = new ProviderManager();
|
|
65
|
+
var useProviderManager = () => {
|
|
66
|
+
return providerManager;
|
|
67
|
+
};
|
|
68
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
69
|
+
0 && (module.exports = {
|
|
70
|
+
providerManager,
|
|
71
|
+
useProviderManager
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=providerManager.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/providerManager.ts"],
|
|
4
|
+
"sourcesContent": ["import { MessageType } from 'src/client/base';\n\n// Provider 实例管理\nclass ProviderManager {\n private providers = new Map<string, {\n client: any;\n messages: MessageType[];\n token: string;\n url: string;\n }>();\n\n // 注册 Provider\n register(providerId: string, data: {\n client: any;\n token: string;\n url: string;\n }) {\n this.providers.set(providerId, {\n ...data,\n messages: [],\n });\n }\n\n // 注销 Provider\n unregister(providerId: string) {\n this.providers.delete(providerId);\n }\n\n // 获取 Provider 数据\n getProvider(providerId: string) {\n return this.providers.get(providerId);\n }\n\n // 添加消息到指定 Provider\n addMessage(providerId: string, message: MessageType) {\n const provider = this.providers.get(providerId);\n if (provider) {\n provider.messages.push(message);\n }\n }\n\n // 清空指定 Provider 的消息\n clearMessages(providerId: string) {\n const provider = this.providers.get(providerId);\n if (provider) {\n provider.messages = [];\n }\n }\n\n // 获取所有 Provider ID\n getProviderIds() {\n return Array.from(this.providers.keys());\n }\n}\n\n// 全局单例\nexport const providerManager = new ProviderManager();\n\n// Hook 用于在组件中使用\nexport const useProviderManager = () => {\n return providerManager;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,IAAM,kBAAN,MAAsB;AAAA,EAAtB;AACE,SAAQ,YAAY,oBAAI,IAKrB;AAAA;AAAA;AAAA,EAGH,SAAS,YAAoB,MAI1B;AACD,SAAK,UAAU,IAAI,YAAY;AAAA,MAC7B,GAAG;AAAA,MACH,UAAU,CAAC;AAAA,IACb,CAAC;AAAA,EACH;AAAA;AAAA,EAGA,WAAW,YAAoB;AAC7B,SAAK,UAAU,OAAO,UAAU;AAAA,EAClC;AAAA;AAAA,EAGA,YAAY,YAAoB;AAC9B,WAAO,KAAK,UAAU,IAAI,UAAU;AAAA,EACtC;AAAA;AAAA,EAGA,WAAW,YAAoB,SAAsB;AACnD,UAAM,WAAW,KAAK,UAAU,IAAI,UAAU;AAC9C,QAAI,UAAU;AACZ,eAAS,SAAS,KAAK,OAAO;AAAA,IAChC;AAAA,EACF;AAAA;AAAA,EAGA,cAAc,YAAoB;AAChC,UAAM,WAAW,KAAK,UAAU,IAAI,UAAU;AAC9C,QAAI,UAAU;AACZ,eAAS,WAAW,CAAC;AAAA,IACvB;AAAA,EACF;AAAA;AAAA,EAGA,iBAAiB;AACf,WAAO,MAAM,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA,EACzC;AACF;AAGO,IAAM,kBAAkB,IAAI,gBAAgB;AAG5C,IAAM,qBAAqB,MAAM;AACtC,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosError, InternalAxiosRequestConfig } from 'axios';
|
|
2
|
+
export interface RequestConfig extends AxiosRequestConfig {
|
|
3
|
+
showError?: boolean;
|
|
4
|
+
retry?: number;
|
|
5
|
+
retryDelay?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ApiResponse<T = any> {
|
|
8
|
+
code: number;
|
|
9
|
+
message: string;
|
|
10
|
+
data: T;
|
|
11
|
+
success: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface RequestError {
|
|
14
|
+
code: number;
|
|
15
|
+
message: string;
|
|
16
|
+
details?: any;
|
|
17
|
+
}
|
|
18
|
+
export interface RequestInterceptor {
|
|
19
|
+
onRequest?: (config: InternalAxiosRequestConfig) => InternalAxiosRequestConfig | Promise<InternalAxiosRequestConfig>;
|
|
20
|
+
onRequestError?: (error: AxiosError) => Promise<AxiosError>;
|
|
21
|
+
}
|
|
22
|
+
export interface ResponseInterceptor {
|
|
23
|
+
onResponse?: <T>(response: AxiosResponse<ApiResponse<T>>) => AxiosResponse<ApiResponse<T>> | Promise<AxiosResponse<ApiResponse<T>>>;
|
|
24
|
+
onResponseError?: (error: AxiosError) => Promise<AxiosError>;
|
|
25
|
+
}
|
|
26
|
+
export interface CreateRequestConfig {
|
|
27
|
+
baseURL?: string;
|
|
28
|
+
timeout?: number;
|
|
29
|
+
headers?: Record<string, string>;
|
|
30
|
+
requestInterceptor?: RequestInterceptor;
|
|
31
|
+
responseInterceptor?: ResponseInterceptor;
|
|
32
|
+
onError?: (error: RequestError) => void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 创建请求实例
|
|
36
|
+
*/
|
|
37
|
+
export declare function createRequest(config?: CreateRequestConfig): AxiosInstance;
|
|
38
|
+
/**
|
|
39
|
+
* 通用 GET 请求
|
|
40
|
+
*/
|
|
41
|
+
export declare function get<T = any>(url: string, params?: any, config?: RequestConfig): Promise<ApiResponse<T>>;
|
|
42
|
+
/**
|
|
43
|
+
* 通用 POST 请求
|
|
44
|
+
*/
|
|
45
|
+
export declare function post<T = any>(url: string, data?: any, config?: RequestConfig): Promise<ApiResponse<T>>;
|
|
46
|
+
/**
|
|
47
|
+
* 通用 PUT 请求
|
|
48
|
+
*/
|
|
49
|
+
export declare function put<T = any>(url: string, data?: any, config?: RequestConfig): Promise<ApiResponse<T>>;
|
|
50
|
+
/**
|
|
51
|
+
* 通用 DELETE 请求
|
|
52
|
+
*/
|
|
53
|
+
export declare function del<T = any>(url: string, config?: RequestConfig): Promise<ApiResponse<T>>;
|
|
54
|
+
/**
|
|
55
|
+
* 通用 PATCH 请求
|
|
56
|
+
*/
|
|
57
|
+
export declare function patch<T = any>(url: string, data?: any, config?: RequestConfig): Promise<ApiResponse<T>>;
|
|
58
|
+
/**
|
|
59
|
+
* 文件上传
|
|
60
|
+
*/
|
|
61
|
+
export declare function upload<T = any>(url: string, file: File, onProgress?: (progress: number) => void, config?: RequestConfig): Promise<ApiResponse<T>>;
|
|
62
|
+
/**
|
|
63
|
+
* 下载文件
|
|
64
|
+
*/
|
|
65
|
+
export declare function download(url: string, filename?: string, config?: RequestConfig): Promise<void>;
|
|
66
|
+
export declare const request: AxiosInstance;
|
|
67
|
+
declare const _default: {
|
|
68
|
+
createRequest: typeof createRequest;
|
|
69
|
+
get: typeof get;
|
|
70
|
+
post: typeof post;
|
|
71
|
+
put: typeof put;
|
|
72
|
+
del: typeof del;
|
|
73
|
+
patch: typeof patch;
|
|
74
|
+
upload: typeof upload;
|
|
75
|
+
download: typeof download;
|
|
76
|
+
request: AxiosInstance;
|
|
77
|
+
};
|
|
78
|
+
export default _default;
|