@blueking/chat-helper 0.0.1-beta.17 → 0.0.1-beta.18
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/agent/index.d.ts +2 -0
- package/dist/agent/type.d.ts +103 -0
- package/dist/agent/use-agent.d.ts +599 -0
- package/dist/event/ag-ui.d.ts +153 -0
- package/dist/event/index.d.ts +2 -0
- package/dist/event/type.d.ts +252 -0
- package/dist/http/fetch/fetch.d.ts +88 -0
- package/dist/http/fetch/index.d.ts +7 -0
- package/dist/http/index.d.ts +46 -0
- package/dist/http/module/agent.d.ts +9 -0
- package/dist/http/module/index.d.ts +42 -0
- package/dist/http/module/message.d.ts +29 -0
- package/dist/http/module/session.d.ts +28 -0
- package/dist/http/transform/agent.d.ts +7 -0
- package/dist/http/transform/index.d.ts +3 -0
- package/dist/http/transform/message.d.ts +13 -0
- package/dist/http/transform/session.d.ts +37 -0
- package/dist/index.d.ts +3431 -0
- package/dist/mediator/index.d.ts +2 -0
- package/dist/mediator/type.d.ts +50 -0
- package/dist/mediator/use-mediator.d.ts +7 -0
- package/dist/message/index.d.ts +2 -0
- package/dist/message/type.d.ts +370 -0
- package/dist/message/use-message.d.ts +902 -0
- package/dist/session/index.d.ts +2 -0
- package/dist/session/type.d.ts +71 -0
- package/dist/session/use-session.d.ts +1906 -0
- package/dist/type.d.ts +14 -0
- package/package.json +1 -1
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { type IMessageModule } from '../message';
|
|
2
|
+
import { type IActivityDeltaEvent, type IActivitySnapshotEvent, type ICustomEvent, type IEvent, type IMessagesSnapshotEvent, type IRawEvent, type IRunErrorEvent, type IRunFinishedEvent, type IRunStartedEvent, type IStateDeltaEvent, type IStateSnapshotEvent, type IStepFinishedEvent, type IStepStartedEvent, type ITextMessageChunkEvent, type ITextMessageContentEvent, type ITextMessageEndEvent, type ITextMessageStartEvent, type IThinkingEndEvent, type IThinkingStartEvent, type IThinkingTextMessageContentEvent, type IThinkingTextMessageEndEvent, type IThinkingTextMessageStartEvent, type IToolCallArgsEvent, type IToolCallChunkEvent, type IToolCallEndEvent, type IToolCallResultEvent, type IToolCallStartEvent } from './type';
|
|
3
|
+
import type { ISSEProtocol } from '../http/fetch';
|
|
4
|
+
/**
|
|
5
|
+
* AGUI 协议
|
|
6
|
+
* @param message - 消息模块
|
|
7
|
+
*/
|
|
8
|
+
export declare class AGUIProtocol implements ISSEProtocol {
|
|
9
|
+
private messageModule;
|
|
10
|
+
private onDoneCallback?;
|
|
11
|
+
private onErrorCallback?;
|
|
12
|
+
private onMessageCallback?;
|
|
13
|
+
private onStartCallback?;
|
|
14
|
+
constructor(params?: {
|
|
15
|
+
onDone?: () => void;
|
|
16
|
+
onError?: (error: unknown) => void;
|
|
17
|
+
onMessage?: (message: IEvent) => void;
|
|
18
|
+
onStart?: () => void;
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* 处理活动增量更新事件
|
|
22
|
+
* 使用 JSON Patch 格式增量更新活动数据
|
|
23
|
+
*/
|
|
24
|
+
handleActivityDeltaEvent(_event: IActivityDeltaEvent): void;
|
|
25
|
+
/**
|
|
26
|
+
* 处理活动快照事件
|
|
27
|
+
* 记录活动的完整状态
|
|
28
|
+
*/
|
|
29
|
+
handleActivitySnapshotEvent(_event: IActivitySnapshotEvent): void;
|
|
30
|
+
/**
|
|
31
|
+
* 处理自定义事件
|
|
32
|
+
*/
|
|
33
|
+
handleCustomEvent(event: ICustomEvent): void;
|
|
34
|
+
/**
|
|
35
|
+
* 自定义事件 处理意图识别结束
|
|
36
|
+
*/
|
|
37
|
+
handleKnowledgeRagEndCustomEvent(_event: ICustomEvent): void;
|
|
38
|
+
/**
|
|
39
|
+
* 自定义事件 处理意图识别结果
|
|
40
|
+
*/
|
|
41
|
+
handleKnowledgeRagResultCustomEvent(event: ICustomEvent): void;
|
|
42
|
+
/**
|
|
43
|
+
* 自定义事件 处理意图识别开始
|
|
44
|
+
*/
|
|
45
|
+
handleKnowledgeRagStartCustomEvent(_event: ICustomEvent): void;
|
|
46
|
+
/**
|
|
47
|
+
* 自定义事件 处理意图识别文本
|
|
48
|
+
*/
|
|
49
|
+
handleKnowledgeRagTextContentCustomEvent(event: ICustomEvent): void;
|
|
50
|
+
/**
|
|
51
|
+
* 处理消息快照事件
|
|
52
|
+
* 用于同步多端消息状态
|
|
53
|
+
*/
|
|
54
|
+
handleMessagesSnapshotEvent(event: IMessagesSnapshotEvent): void;
|
|
55
|
+
/**
|
|
56
|
+
* 处理原始事件
|
|
57
|
+
* 透传底层 AI 服务的原始事件
|
|
58
|
+
*/
|
|
59
|
+
handleRawEvent(_event: IRawEvent): void;
|
|
60
|
+
/**
|
|
61
|
+
* 自定义事件 处理参考文档事件
|
|
62
|
+
*/
|
|
63
|
+
handleReferenceDocumentCustomEvent(event: ICustomEvent): void;
|
|
64
|
+
/**
|
|
65
|
+
* 处理运行错误事件
|
|
66
|
+
*/
|
|
67
|
+
handleRunErrorEvent(event: IRunErrorEvent): void;
|
|
68
|
+
/**
|
|
69
|
+
* 处理运行完成事件
|
|
70
|
+
*/
|
|
71
|
+
handleRunFinishedEvent(_event: IRunFinishedEvent): void;
|
|
72
|
+
/**
|
|
73
|
+
* 处理运行开始事件
|
|
74
|
+
*/
|
|
75
|
+
handleRunStartedEvent(_event: IRunStartedEvent): void;
|
|
76
|
+
/**
|
|
77
|
+
* 处理状态增量更新事件
|
|
78
|
+
*/
|
|
79
|
+
handleStateDeltaEvent(_event: IStateDeltaEvent): void;
|
|
80
|
+
/**
|
|
81
|
+
* 处理状态快照事件
|
|
82
|
+
*/
|
|
83
|
+
handleStateSnapshotEvent(_event: IStateSnapshotEvent): void;
|
|
84
|
+
/**
|
|
85
|
+
* 处理步骤完成事件
|
|
86
|
+
*/
|
|
87
|
+
handleStepFinishedEvent(_event: IStepFinishedEvent): void;
|
|
88
|
+
/**
|
|
89
|
+
* 处理步骤开始事件
|
|
90
|
+
*/
|
|
91
|
+
handleStepStartedEvent(_event: IStepStartedEvent): void;
|
|
92
|
+
/**
|
|
93
|
+
* 处理文本消息块事件
|
|
94
|
+
*/
|
|
95
|
+
handleTextMessageChunkEvent(event: ITextMessageChunkEvent): void;
|
|
96
|
+
/**
|
|
97
|
+
* 处理文本消息内容事件(流式输出)
|
|
98
|
+
*/
|
|
99
|
+
handleTextMessageContentEvent(event: ITextMessageContentEvent): void;
|
|
100
|
+
/**
|
|
101
|
+
* 处理文本消息结束事件
|
|
102
|
+
*/
|
|
103
|
+
handleTextMessageEndEvent(event: ITextMessageEndEvent): void;
|
|
104
|
+
/**
|
|
105
|
+
* 处理文本消息开始事件
|
|
106
|
+
*/
|
|
107
|
+
handleTextMessageStartEvent(event: ITextMessageStartEvent): void;
|
|
108
|
+
/**
|
|
109
|
+
* 处理思考结束事件
|
|
110
|
+
*/
|
|
111
|
+
handleThinkingEndEvent(event: IThinkingEndEvent): void;
|
|
112
|
+
/**
|
|
113
|
+
* 处理思考开始事件
|
|
114
|
+
*/
|
|
115
|
+
handleThinkingStartEvent(_event: IThinkingStartEvent): void;
|
|
116
|
+
/**
|
|
117
|
+
* 处理思考文本消息内容事件
|
|
118
|
+
*/
|
|
119
|
+
handleThinkingTextMessageContentEvent(event: IThinkingTextMessageContentEvent): void;
|
|
120
|
+
/**
|
|
121
|
+
* 处理思考文本消息结束事件
|
|
122
|
+
*/
|
|
123
|
+
handleThinkingTextMessageEndEvent(_event: IThinkingTextMessageEndEvent): void;
|
|
124
|
+
/**
|
|
125
|
+
* 处理思考文本消息开始事件
|
|
126
|
+
*/
|
|
127
|
+
handleThinkingTextMessageStartEvent(_event: IThinkingTextMessageStartEvent): void;
|
|
128
|
+
/**
|
|
129
|
+
* 处理工具调用参数事件
|
|
130
|
+
*/
|
|
131
|
+
handleToolCallArgsEvent(event: IToolCallArgsEvent): void;
|
|
132
|
+
/**
|
|
133
|
+
* 处理工具调用块事件
|
|
134
|
+
*/
|
|
135
|
+
handleToolCallChunkEvent(_event: IToolCallChunkEvent): void;
|
|
136
|
+
/**
|
|
137
|
+
* 处理工具调用结束事件
|
|
138
|
+
*/
|
|
139
|
+
handleToolCallEndEvent(event: IToolCallEndEvent): void;
|
|
140
|
+
/**
|
|
141
|
+
* 处理工具调用结果事件
|
|
142
|
+
*/
|
|
143
|
+
handleToolCallResultEvent(event: IToolCallResultEvent): void;
|
|
144
|
+
/**
|
|
145
|
+
* 处理工具调用开始事件
|
|
146
|
+
*/
|
|
147
|
+
handleToolCallStartEvent(event: IToolCallStartEvent): void;
|
|
148
|
+
injectMessageModule(message: IMessageModule): void;
|
|
149
|
+
onDone(): void;
|
|
150
|
+
onError(error: Error): void;
|
|
151
|
+
onMessage(message: unknown): void;
|
|
152
|
+
onStart(): void;
|
|
153
|
+
}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { type IMessageApi, type MessageRole } from '../message/type';
|
|
2
|
+
export declare enum CustomEventName {
|
|
3
|
+
KnowledgeRagEnd = "knowledge_rag_end",
|
|
4
|
+
KnowledgeRagResult = "knowledge_rag_result",
|
|
5
|
+
KnowledgeRagStart = "knowledge_rag_start",
|
|
6
|
+
KnowledgeRagTextContent = "knowledge_rag_text_content",
|
|
7
|
+
ReferenceDocument = "reference_document"
|
|
8
|
+
}
|
|
9
|
+
export declare enum EventType {
|
|
10
|
+
ActivityDelta = "ACTIVITY_DELTA",
|
|
11
|
+
ActivitySnapshot = "ACTIVITY_SNAPSHOT",
|
|
12
|
+
Custom = "CUSTOM",
|
|
13
|
+
MessagesSnapshot = "MESSAGES_SNAPSHOT",
|
|
14
|
+
Raw = "RAW",
|
|
15
|
+
RunError = "RUN_ERROR",
|
|
16
|
+
RunFinished = "RUN_FINISHED",
|
|
17
|
+
RunStarted = "RUN_STARTED",
|
|
18
|
+
StateDelta = "STATE_DELTA",
|
|
19
|
+
StateSnapshot = "STATE_SNAPSHOT",
|
|
20
|
+
StepFinished = "STEP_FINISHED",
|
|
21
|
+
StepStarted = "STEP_STARTED",
|
|
22
|
+
TextMessageChunk = "TEXT_MESSAGE_CHUNK",
|
|
23
|
+
TextMessageContent = "TEXT_MESSAGE_CONTENT",
|
|
24
|
+
TextMessageEnd = "TEXT_MESSAGE_END",
|
|
25
|
+
TextMessageStart = "TEXT_MESSAGE_START",
|
|
26
|
+
ThinkingEnd = "THINKING_END",
|
|
27
|
+
ThinkingStart = "THINKING_START",
|
|
28
|
+
ThinkingTextMessageContent = "THINKING_TEXT_MESSAGE_CONTENT",
|
|
29
|
+
ThinkingTextMessageEnd = "THINKING_TEXT_MESSAGE_END",
|
|
30
|
+
ThinkingTextMessageStart = "THINKING_TEXT_MESSAGE_START",
|
|
31
|
+
ToolCallArgs = "TOOL_CALL_ARGS",
|
|
32
|
+
ToolCallChunk = "TOOL_CALL_CHUNK",
|
|
33
|
+
ToolCallEnd = "TOOL_CALL_END",
|
|
34
|
+
ToolCallResult = "TOOL_CALL_RESULT",
|
|
35
|
+
ToolCallStart = "TOOL_CALL_START"
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Activity 代表 Agent 执行过程中的活动/动作/任务,可能包含结构化数据
|
|
39
|
+
* 活动状态的增量更新
|
|
40
|
+
* 记录活动类型 activityType
|
|
41
|
+
* 使用 JSON Patch (RFC 6902) 格式增量更新 Activity 数据
|
|
42
|
+
*/
|
|
43
|
+
export interface IActivityDeltaEvent extends IBaseEvent {
|
|
44
|
+
activityType: string;
|
|
45
|
+
messageId: string;
|
|
46
|
+
patch: unknown[];
|
|
47
|
+
type: EventType.ActivityDelta;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Activity 代表 Agent 执行过程中的活动/动作/任务,可能包含结构化数据
|
|
51
|
+
* 活动状态的快照
|
|
52
|
+
* 记录活动类型 activityType
|
|
53
|
+
* 使用 JSON 格式存储 Activity 数据
|
|
54
|
+
*/
|
|
55
|
+
export interface IActivitySnapshotEvent extends IBaseEvent {
|
|
56
|
+
activityType: string;
|
|
57
|
+
content: unknown;
|
|
58
|
+
messageId: string;
|
|
59
|
+
replace?: boolean;
|
|
60
|
+
type: EventType.ActivitySnapshot;
|
|
61
|
+
}
|
|
62
|
+
export interface IBaseEvent {
|
|
63
|
+
timestamp?: number;
|
|
64
|
+
type: EventType;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* 自定义事件
|
|
68
|
+
* 用于发送自定义事件到客户端
|
|
69
|
+
*/
|
|
70
|
+
export interface ICustomEvent extends IBaseEvent {
|
|
71
|
+
name: CustomEventName;
|
|
72
|
+
type: EventType.Custom;
|
|
73
|
+
value: IKnowledgeRagResultCustomValue | IKnowledgeRagTextContentCustomValue | IReferenceDocumentCustomValue;
|
|
74
|
+
}
|
|
75
|
+
export type IEvent = IActivityDeltaEvent | IActivitySnapshotEvent | ICustomEvent | IMessagesSnapshotEvent | IRawEvent | IRunErrorEvent | IRunFinishedEvent | IRunStartedEvent | IStateDeltaEvent | IStateSnapshotEvent | IStepFinishedEvent | IStepStartedEvent | ITextMessageChunkEvent | ITextMessageContentEvent | ITextMessageEndEvent | ITextMessageStartEvent | IThinkingEndEvent | IThinkingStartEvent | IThinkingTextMessageContentEvent | IThinkingTextMessageEndEvent | IThinkingTextMessageStartEvent | IToolCallArgsEvent | IToolCallChunkEvent | IToolCallEndEvent | IToolCallResultEvent | IToolCallStartEvent;
|
|
76
|
+
export type IKnowledgeRagResultCustomValue = IReferenceDocumentCustomValue;
|
|
77
|
+
export interface IKnowledgeRagTextContentCustomValue {
|
|
78
|
+
cover: boolean;
|
|
79
|
+
chunk: {
|
|
80
|
+
content: string;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* 消息快照事件
|
|
85
|
+
* 用于记录当前时刻的完整消息状态
|
|
86
|
+
* 同步多端消息状态
|
|
87
|
+
*/
|
|
88
|
+
export interface IMessagesSnapshotEvent extends IBaseEvent {
|
|
89
|
+
messages: IMessageApi[];
|
|
90
|
+
type: EventType.MessagesSnapshot;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* 透传底层原始事件数据
|
|
94
|
+
* 保留完整的原始事件信息,不做解析
|
|
95
|
+
*/
|
|
96
|
+
export interface IRawEvent extends IBaseEvent {
|
|
97
|
+
event: unknown;
|
|
98
|
+
source?: string;
|
|
99
|
+
type: EventType.Raw;
|
|
100
|
+
}
|
|
101
|
+
export type IReferenceDocumentCustomValue = {
|
|
102
|
+
name: string;
|
|
103
|
+
originFileUrl?: string;
|
|
104
|
+
url: string;
|
|
105
|
+
}[];
|
|
106
|
+
export interface IRunErrorEvent extends IBaseEvent {
|
|
107
|
+
code?: string;
|
|
108
|
+
message: string;
|
|
109
|
+
type: EventType.RunError;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* 标记 Agent 运行正常结束
|
|
113
|
+
* 返回最终结果 result
|
|
114
|
+
*/
|
|
115
|
+
export interface IRunFinishedEvent extends IBaseEvent {
|
|
116
|
+
result?: unknown;
|
|
117
|
+
runId: number;
|
|
118
|
+
threadId: string;
|
|
119
|
+
type: EventType.RunFinished;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* 标记一次完整的 Agent 执行开始
|
|
123
|
+
* 记录本次运行的唯一标识 runId
|
|
124
|
+
* 关联会话线程 threadId
|
|
125
|
+
* 可以记录初始输入 input
|
|
126
|
+
* 支持嵌套运行(parentRunId 用于子 Agent 调用)
|
|
127
|
+
*/
|
|
128
|
+
export interface IRunStartedEvent extends IBaseEvent {
|
|
129
|
+
input?: unknown;
|
|
130
|
+
parentRunId?: string;
|
|
131
|
+
runId: number;
|
|
132
|
+
threadId: string;
|
|
133
|
+
type: EventType.RunStarted;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* 状态增量更新事件
|
|
137
|
+
* 用于更新客户端状态
|
|
138
|
+
* 以 JSON Patch 格式增量更新状态
|
|
139
|
+
*/
|
|
140
|
+
export interface IStateDeltaEvent extends IBaseEvent {
|
|
141
|
+
delta: unknown;
|
|
142
|
+
type: EventType.StateDelta;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* 状态快照事件
|
|
146
|
+
* 用于初始化或重置客户端状态
|
|
147
|
+
* 提供当前时刻的完整状态视图
|
|
148
|
+
*/
|
|
149
|
+
export interface IStateSnapshotEvent extends IBaseEvent {
|
|
150
|
+
snapshot: unknown;
|
|
151
|
+
type: EventType.StateSnapshot;
|
|
152
|
+
}
|
|
153
|
+
export interface IStepFinishedEvent extends IBaseEvent {
|
|
154
|
+
stepName: string;
|
|
155
|
+
type: EventType.StepFinished;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* 多步骤 Agent 工作流的追踪和可视化
|
|
159
|
+
* 当 Agent 需要完成一个复杂任务,分成多个步骤执行时
|
|
160
|
+
* StepStartedEvent { stepName: "分析需求" }
|
|
161
|
+
* ... // 其他步骤
|
|
162
|
+
* StepFinishedEvent { stepName: "分析需求" }
|
|
163
|
+
*/
|
|
164
|
+
export interface IStepStartedEvent extends IBaseEvent {
|
|
165
|
+
stepName: string;
|
|
166
|
+
type: EventType.StepStarted;
|
|
167
|
+
}
|
|
168
|
+
export interface ITextMessageChunkEvent extends IBaseEvent {
|
|
169
|
+
delta?: string;
|
|
170
|
+
messageId: string;
|
|
171
|
+
role?: MessageRole;
|
|
172
|
+
type: EventType.TextMessageChunk;
|
|
173
|
+
}
|
|
174
|
+
export interface ITextMessageContentEvent extends IBaseEvent {
|
|
175
|
+
delta: string;
|
|
176
|
+
messageId: string;
|
|
177
|
+
type: EventType.TextMessageContent;
|
|
178
|
+
}
|
|
179
|
+
export interface ITextMessageEndEvent extends IBaseEvent {
|
|
180
|
+
messageId: string;
|
|
181
|
+
type: EventType.TextMessageEnd;
|
|
182
|
+
}
|
|
183
|
+
export interface ITextMessageStartEvent extends IBaseEvent {
|
|
184
|
+
messageId: string;
|
|
185
|
+
role: MessageRole;
|
|
186
|
+
type: EventType.TextMessageStart;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* 思考结束事件
|
|
190
|
+
*/
|
|
191
|
+
export interface IThinkingEndEvent extends IBaseEvent {
|
|
192
|
+
duration?: number;
|
|
193
|
+
type: EventType.ThinkingEnd;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* 思考开始事件
|
|
197
|
+
* 记录思考的标题 title
|
|
198
|
+
*/
|
|
199
|
+
export interface IThinkingStartEvent extends IBaseEvent {
|
|
200
|
+
title?: string;
|
|
201
|
+
type: EventType.ThinkingStart;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* 思考文本消息内容事件
|
|
205
|
+
*/
|
|
206
|
+
export interface IThinkingTextMessageContentEvent extends IBaseEvent {
|
|
207
|
+
delta: string;
|
|
208
|
+
type: EventType.ThinkingTextMessageContent;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* 思考文本消息结束事件
|
|
212
|
+
*/
|
|
213
|
+
export interface IThinkingTextMessageEndEvent extends IBaseEvent {
|
|
214
|
+
type: EventType.ThinkingTextMessageEnd;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* 思考文本消息开始事件
|
|
218
|
+
*/
|
|
219
|
+
export interface IThinkingTextMessageStartEvent extends IBaseEvent {
|
|
220
|
+
type: EventType.ThinkingTextMessageStart;
|
|
221
|
+
}
|
|
222
|
+
export interface IToolCallArgsEvent extends IBaseEvent {
|
|
223
|
+
delta: string;
|
|
224
|
+
toolCallId: string;
|
|
225
|
+
type: EventType.ToolCallArgs;
|
|
226
|
+
}
|
|
227
|
+
export interface IToolCallChunkEvent extends IBaseEvent {
|
|
228
|
+
delta?: string;
|
|
229
|
+
parentMessageId?: string;
|
|
230
|
+
toolCallId?: string;
|
|
231
|
+
toolCallName?: string;
|
|
232
|
+
type: EventType.ToolCallChunk;
|
|
233
|
+
}
|
|
234
|
+
export interface IToolCallEndEvent extends IBaseEvent {
|
|
235
|
+
toolCallId: string;
|
|
236
|
+
type: EventType.ToolCallEnd;
|
|
237
|
+
}
|
|
238
|
+
export interface IToolCallResultEvent extends IBaseEvent {
|
|
239
|
+
content: string;
|
|
240
|
+
duration?: number;
|
|
241
|
+
messageId: string;
|
|
242
|
+
toolCallId: string;
|
|
243
|
+
type: EventType.ToolCallResult;
|
|
244
|
+
}
|
|
245
|
+
export interface IToolCallStartEvent extends IBaseEvent {
|
|
246
|
+
description?: string;
|
|
247
|
+
mcpName?: string;
|
|
248
|
+
parentMessageId?: string;
|
|
249
|
+
toolCallId: string;
|
|
250
|
+
toolCallName: string;
|
|
251
|
+
type: EventType.ToolCallStart;
|
|
252
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export interface ApiResponse<T = unknown> {
|
|
2
|
+
code: number | string;
|
|
3
|
+
data: T;
|
|
4
|
+
message: string;
|
|
5
|
+
}
|
|
6
|
+
export interface IRequestConfig {
|
|
7
|
+
baseURL?: string;
|
|
8
|
+
controller?: AbortController;
|
|
9
|
+
credentials?: 'include' | 'omit' | 'same-origin';
|
|
10
|
+
data?: (() => unknown) | unknown;
|
|
11
|
+
headers?: (() => Record<string, string>) | Record<string, string>;
|
|
12
|
+
method?: string;
|
|
13
|
+
mode?: 'cors' | 'no-cors' | 'same-origin';
|
|
14
|
+
params?: Record<string, unknown>;
|
|
15
|
+
responseType?: 'arrayBuffer' | 'blob' | 'formData' | 'json' | 'stream' | 'text';
|
|
16
|
+
timeout?: number;
|
|
17
|
+
url?: string;
|
|
18
|
+
transformRequest?: (data: unknown, headers?: Record<string, string>) => unknown;
|
|
19
|
+
transformResponse?: (data: unknown) => unknown;
|
|
20
|
+
validateStatus?: (status: number) => boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface IRequestError extends Error {
|
|
23
|
+
code?: string;
|
|
24
|
+
config: IRequestConfig;
|
|
25
|
+
isAxiosError: boolean;
|
|
26
|
+
response?: IResponse;
|
|
27
|
+
}
|
|
28
|
+
export interface IResponse<T = unknown> {
|
|
29
|
+
config: IRequestConfig;
|
|
30
|
+
data: T;
|
|
31
|
+
headers: Headers;
|
|
32
|
+
status: number;
|
|
33
|
+
statusText: string;
|
|
34
|
+
}
|
|
35
|
+
export interface ISSEConfig extends ISSEProtocol, Omit<IRequestConfig, 'responseType'> {
|
|
36
|
+
}
|
|
37
|
+
export interface ISSEProtocol {
|
|
38
|
+
onDone?: () => void;
|
|
39
|
+
onError?: (error: Error) => void;
|
|
40
|
+
onMessage?: (event: unknown) => void;
|
|
41
|
+
onStart?: () => void;
|
|
42
|
+
}
|
|
43
|
+
interface IInterceptor<T> {
|
|
44
|
+
fulfilled?: (value: T) => T;
|
|
45
|
+
rejected?: (error: unknown) => unknown;
|
|
46
|
+
}
|
|
47
|
+
declare class InterceptorManager<T> {
|
|
48
|
+
private handlers;
|
|
49
|
+
clear(): void;
|
|
50
|
+
eject(id: number): void;
|
|
51
|
+
forEach(fn: (interceptor: IInterceptor<T>) => void): void;
|
|
52
|
+
use(fulfilled?: (value: T) => T, rejected?: (error: unknown) => unknown): number;
|
|
53
|
+
}
|
|
54
|
+
export declare class FetchClient {
|
|
55
|
+
defaults: IRequestConfig;
|
|
56
|
+
interceptors: {
|
|
57
|
+
request: InterceptorManager<IRequestConfig>;
|
|
58
|
+
response: InterceptorManager<IResponse>;
|
|
59
|
+
};
|
|
60
|
+
constructor(config?: IRequestConfig);
|
|
61
|
+
applyResponseErrorInterceptors(error: unknown): unknown;
|
|
62
|
+
create(config?: IRequestConfig): FetchClient;
|
|
63
|
+
delete<T = unknown>(url: string, params?: Record<string, unknown>, config?: IRequestConfig): Promise<T>;
|
|
64
|
+
get<T = unknown>(url: string, params?: Record<string, unknown>, config?: IRequestConfig): Promise<T>;
|
|
65
|
+
head<T = unknown>(url: string, params?: Record<string, unknown>, config?: IRequestConfig): Promise<T>;
|
|
66
|
+
options<T = unknown>(url: string, params?: Record<string, unknown>, config?: IRequestConfig): Promise<T>;
|
|
67
|
+
patch<T = unknown>(url: string, data?: unknown, config?: IRequestConfig): Promise<T>;
|
|
68
|
+
post<T = unknown>(url: string, data?: unknown, config?: IRequestConfig): Promise<T>;
|
|
69
|
+
prepareRequest(config: IRequestConfig, isStream?: boolean): {
|
|
70
|
+
url: string;
|
|
71
|
+
requestConfig: IRequestConfig;
|
|
72
|
+
fetchConfig: {
|
|
73
|
+
method: string;
|
|
74
|
+
credentials: "include" | "omit" | "same-origin";
|
|
75
|
+
mode: "same-origin" | "cors" | "no-cors";
|
|
76
|
+
headers: Headers;
|
|
77
|
+
body: BodyInit;
|
|
78
|
+
signal: AbortSignal;
|
|
79
|
+
};
|
|
80
|
+
controller: AbortController;
|
|
81
|
+
};
|
|
82
|
+
put<T = unknown>(url: string, data?: unknown, config?: IRequestConfig): Promise<T>;
|
|
83
|
+
request<T = unknown>(config: IRequestConfig): Promise<T>;
|
|
84
|
+
stream(url: string, config?: ISSEConfig): Promise<void>;
|
|
85
|
+
streamRequest(config: ISSEConfig): Promise<void>;
|
|
86
|
+
}
|
|
87
|
+
declare const fetchClient: FetchClient;
|
|
88
|
+
export default fetchClient;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FetchClient } from './fetch';
|
|
2
|
+
import type { IUseChatHelperOptions } from '../../type';
|
|
3
|
+
export type * from './fetch';
|
|
4
|
+
export declare const useFetch: (options: IUseChatHelperOptions) => {
|
|
5
|
+
fetchClient: FetchClient;
|
|
6
|
+
reset: (newOptions: IUseChatHelperOptions) => void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { IUseChatHelperOptions } from '../type';
|
|
2
|
+
export * from './fetch';
|
|
3
|
+
export * from './transform';
|
|
4
|
+
/**
|
|
5
|
+
* 使用 HTTP 模块
|
|
6
|
+
* @param options - 选项
|
|
7
|
+
* @returns HTTP 模块
|
|
8
|
+
*/
|
|
9
|
+
export declare const useHttp: (options: IUseChatHelperOptions) => {
|
|
10
|
+
reset: (newOptions: IUseChatHelperOptions) => void;
|
|
11
|
+
agent: {
|
|
12
|
+
getAgentInfo: (config?: import("./fetch").IRequestConfig) => Promise<import("..").IAgentInfo>;
|
|
13
|
+
};
|
|
14
|
+
session: {
|
|
15
|
+
clearSession: (sessionCode: string, config?: import("./fetch").IRequestConfig) => Promise<unknown>;
|
|
16
|
+
getSessions: (config?: import("./fetch").IRequestConfig) => Promise<import("..").ISession<unknown, unknown>[]>;
|
|
17
|
+
plusSession: (data: import("..").ISession, config?: import("./fetch").IRequestConfig) => Promise<import("..").ISession<unknown, unknown>>;
|
|
18
|
+
modifySession: (data: import("..").ISession, config?: import("./fetch").IRequestConfig) => Promise<import("..").ISession<unknown, unknown>>;
|
|
19
|
+
deleteSession: (sessionCode: string, config?: import("./fetch").IRequestConfig) => Promise<unknown>;
|
|
20
|
+
batchDeleteSessions: (sessionCodes: string[], config?: import("./fetch").IRequestConfig) => Promise<number>;
|
|
21
|
+
getSession: (sessionCode: string, config?: import("./fetch").IRequestConfig) => Promise<import("..").ISession<unknown, unknown>>;
|
|
22
|
+
postSessionFeedback: (data: import("..").ISessionFeedback, config?: import("./fetch").IRequestConfig) => Promise<{
|
|
23
|
+
sessionCode: string;
|
|
24
|
+
sessionContentIds: number[];
|
|
25
|
+
rate: number;
|
|
26
|
+
comment: string;
|
|
27
|
+
labels: string[];
|
|
28
|
+
}>;
|
|
29
|
+
getSessionFeedbackReasons: (rate: number, config?: import("./fetch").IRequestConfig) => Promise<string[]>;
|
|
30
|
+
renameSession: (sessionCode: string, config?: import("./fetch").IRequestConfig) => Promise<import("..").ISession<unknown, unknown>>;
|
|
31
|
+
uploadFile: (sessionCode: string, file: File, config?: import("./fetch").IRequestConfig) => Promise<{
|
|
32
|
+
download_url?: string;
|
|
33
|
+
}>;
|
|
34
|
+
};
|
|
35
|
+
message: {
|
|
36
|
+
getMessages: (sessionCode: string, limit?: number, config?: import("./fetch").IRequestConfig) => Promise<import("..").IMessage[]>;
|
|
37
|
+
plusMessage: (data: import("..").IMessage, config?: import("./fetch").IRequestConfig) => Promise<import("..").IActivityMessage | import("..").IAssistantMessage | import("..").IDeveloperMessage | import("..").IGuideMessage | import("..").IHiddenAssistantMessage | import("..").IHiddenGuideMessage | import("..").IHiddenMessage | import("..").IHiddenSystemMessage | import("..").IHiddenUserMessage | import("..").IInfoMessage | import("..").IPauseMessage | import("..").IPlaceholderMessage | import("..").IReasoningMessage | import("..").ISystemMessage | import("..").ITemplateAssistantMessage | import("..").ITemplateGuideMessage | import("..").ITemplateHiddenMessage | import("..").ITemplateSystemMessage | import("..").ITemplateUserMessage | import("..").IToolMessage | import("..").IUserMessage>;
|
|
38
|
+
modifyMessage: (data: import("..").IMessage, config?: import("./fetch").IRequestConfig) => Promise<import("..").IActivityMessage | import("..").IAssistantMessage | import("..").IDeveloperMessage | import("..").IGuideMessage | import("..").IHiddenAssistantMessage | import("..").IHiddenGuideMessage | import("..").IHiddenMessage | import("..").IHiddenSystemMessage | import("..").IHiddenUserMessage | import("..").IInfoMessage | import("..").IPauseMessage | import("..").IPlaceholderMessage | import("..").IReasoningMessage | import("..").ISystemMessage | import("..").ITemplateAssistantMessage | import("..").ITemplateGuideMessage | import("..").ITemplateHiddenMessage | import("..").ITemplateSystemMessage | import("..").ITemplateUserMessage | import("..").IToolMessage | import("..").IUserMessage>;
|
|
39
|
+
deleteMessage: (id: string, config?: import("./fetch").IRequestConfig) => Promise<import("..").IMessage>;
|
|
40
|
+
batchDeleteMessages: (ids: string[], config?: import("./fetch").IRequestConfig) => Promise<number>;
|
|
41
|
+
shareMessages: (sessionCode: string, contentIds: string[], expiredAt?: number, config?: import("./fetch").IRequestConfig) => Promise<import("./module/message").IShareMessagesResponse>;
|
|
42
|
+
stopChat: (sessionCode: string, config?: import("./fetch").IRequestConfig) => Promise<void>;
|
|
43
|
+
};
|
|
44
|
+
fetchClient: import("./fetch").FetchClient;
|
|
45
|
+
};
|
|
46
|
+
export type IHttpModule = ReturnType<typeof useHttp>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FetchClient, IRequestConfig } from '../fetch';
|
|
2
|
+
/**
|
|
3
|
+
* agent 相关 http 接口
|
|
4
|
+
* @param fetchClient - 请求客户端
|
|
5
|
+
* @returns agent 相关 http 接口
|
|
6
|
+
*/
|
|
7
|
+
export declare const useAgent: (fetchClient: FetchClient) => {
|
|
8
|
+
getAgentInfo: (config?: IRequestConfig) => Promise<import("../../agent/type").IAgentInfo>;
|
|
9
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { FetchClient } from '../fetch';
|
|
2
|
+
/**
|
|
3
|
+
* 使用 HTTP 模块
|
|
4
|
+
* @param fetchClient - 请求客户端
|
|
5
|
+
* @returns HTTP 模块
|
|
6
|
+
*/
|
|
7
|
+
export declare const useModule: (fetchClient: FetchClient) => {
|
|
8
|
+
agent: {
|
|
9
|
+
getAgentInfo: (config?: import("../fetch").IRequestConfig) => Promise<import("../..").IAgentInfo>;
|
|
10
|
+
};
|
|
11
|
+
session: {
|
|
12
|
+
clearSession: (sessionCode: string, config?: import("../fetch").IRequestConfig) => Promise<unknown>;
|
|
13
|
+
getSessions: (config?: import("../fetch").IRequestConfig) => Promise<import("../..").ISession<unknown, unknown>[]>;
|
|
14
|
+
plusSession: (data: import("../..").ISession, config?: import("../fetch").IRequestConfig) => Promise<import("../..").ISession<unknown, unknown>>;
|
|
15
|
+
modifySession: (data: import("../..").ISession, config?: import("../fetch").IRequestConfig) => Promise<import("../..").ISession<unknown, unknown>>;
|
|
16
|
+
deleteSession: (sessionCode: string, config?: import("../fetch").IRequestConfig) => Promise<unknown>;
|
|
17
|
+
batchDeleteSessions: (sessionCodes: string[], config?: import("../fetch").IRequestConfig) => Promise<number>;
|
|
18
|
+
getSession: (sessionCode: string, config?: import("../fetch").IRequestConfig) => Promise<import("../..").ISession<unknown, unknown>>;
|
|
19
|
+
postSessionFeedback: (data: import("../..").ISessionFeedback, config?: import("../fetch").IRequestConfig) => Promise<{
|
|
20
|
+
sessionCode: string;
|
|
21
|
+
sessionContentIds: number[];
|
|
22
|
+
rate: number;
|
|
23
|
+
comment: string;
|
|
24
|
+
labels: string[];
|
|
25
|
+
}>;
|
|
26
|
+
getSessionFeedbackReasons: (rate: number, config?: import("../fetch").IRequestConfig) => Promise<string[]>;
|
|
27
|
+
renameSession: (sessionCode: string, config?: import("../fetch").IRequestConfig) => Promise<import("../..").ISession<unknown, unknown>>;
|
|
28
|
+
uploadFile: (sessionCode: string, file: File, config?: import("../fetch").IRequestConfig) => Promise<{
|
|
29
|
+
download_url?: string;
|
|
30
|
+
}>;
|
|
31
|
+
};
|
|
32
|
+
message: {
|
|
33
|
+
getMessages: (sessionCode: string, limit?: number, config?: import("../fetch").IRequestConfig) => Promise<import("../..").IMessage[]>;
|
|
34
|
+
plusMessage: (data: import("../..").IMessage, config?: import("../fetch").IRequestConfig) => Promise<import("../..").IActivityMessage | import("../..").IAssistantMessage | import("../..").IDeveloperMessage | import("../..").IGuideMessage | import("../..").IHiddenAssistantMessage | import("../..").IHiddenGuideMessage | import("../..").IHiddenMessage | import("../..").IHiddenSystemMessage | import("../..").IHiddenUserMessage | import("../..").IInfoMessage | import("../..").IPauseMessage | import("../..").IPlaceholderMessage | import("../..").IReasoningMessage | import("../..").ISystemMessage | import("../..").ITemplateAssistantMessage | import("../..").ITemplateGuideMessage | import("../..").ITemplateHiddenMessage | import("../..").ITemplateSystemMessage | import("../..").ITemplateUserMessage | import("../..").IToolMessage | import("../..").IUserMessage>;
|
|
35
|
+
modifyMessage: (data: import("../..").IMessage, config?: import("../fetch").IRequestConfig) => Promise<import("../..").IActivityMessage | import("../..").IAssistantMessage | import("../..").IDeveloperMessage | import("../..").IGuideMessage | import("../..").IHiddenAssistantMessage | import("../..").IHiddenGuideMessage | import("../..").IHiddenMessage | import("../..").IHiddenSystemMessage | import("../..").IHiddenUserMessage | import("../..").IInfoMessage | import("../..").IPauseMessage | import("../..").IPlaceholderMessage | import("../..").IReasoningMessage | import("../..").ISystemMessage | import("../..").ITemplateAssistantMessage | import("../..").ITemplateGuideMessage | import("../..").ITemplateHiddenMessage | import("../..").ITemplateSystemMessage | import("../..").ITemplateUserMessage | import("../..").IToolMessage | import("../..").IUserMessage>;
|
|
36
|
+
deleteMessage: (id: string, config?: import("../fetch").IRequestConfig) => Promise<import("../..").IMessage>;
|
|
37
|
+
batchDeleteMessages: (ids: string[], config?: import("../fetch").IRequestConfig) => Promise<number>;
|
|
38
|
+
shareMessages: (sessionCode: string, contentIds: string[], expiredAt?: number, config?: import("../fetch").IRequestConfig) => Promise<import("./message").IShareMessagesResponse>;
|
|
39
|
+
stopChat: (sessionCode: string, config?: import("../fetch").IRequestConfig) => Promise<void>;
|
|
40
|
+
};
|
|
41
|
+
fetchClient: FetchClient;
|
|
42
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { IMessage } from '../../message/type';
|
|
2
|
+
import type { FetchClient, IRequestConfig } from '../fetch';
|
|
3
|
+
/**
|
|
4
|
+
* 分享消息接口返回数据
|
|
5
|
+
*/
|
|
6
|
+
export interface IShareMessagesResponse {
|
|
7
|
+
agent_code: string;
|
|
8
|
+
agent_version: string;
|
|
9
|
+
content_count: number;
|
|
10
|
+
created_at: string;
|
|
11
|
+
created_by: string;
|
|
12
|
+
session_code: string;
|
|
13
|
+
share_page: string;
|
|
14
|
+
share_token: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* message 相关 http 接口
|
|
18
|
+
* @param fetchClient - 请求客户端
|
|
19
|
+
* @returns message 相关 http 接口
|
|
20
|
+
*/
|
|
21
|
+
export declare const useMessage: (fetchClient: FetchClient) => {
|
|
22
|
+
getMessages: (sessionCode: string, limit?: number, config?: IRequestConfig) => Promise<IMessage[]>;
|
|
23
|
+
plusMessage: (data: IMessage, config?: IRequestConfig) => Promise<import("../../message/type").IActivityMessage | import("../../message/type").IAssistantMessage | import("../../message/type").IDeveloperMessage | import("../../message/type").IGuideMessage | import("../../message/type").IHiddenAssistantMessage | import("../../message/type").IHiddenGuideMessage | import("../../message/type").IHiddenMessage | import("../../message/type").IHiddenSystemMessage | import("../../message/type").IHiddenUserMessage | import("../../message/type").IInfoMessage | import("../../message/type").IPauseMessage | import("../../message/type").IPlaceholderMessage | import("../../message/type").IReasoningMessage | import("../../message/type").ISystemMessage | import("../../message/type").ITemplateAssistantMessage | import("../../message/type").ITemplateGuideMessage | import("../../message/type").ITemplateHiddenMessage | import("../../message/type").ITemplateSystemMessage | import("../../message/type").ITemplateUserMessage | import("../../message/type").IToolMessage | import("../../message/type").IUserMessage>;
|
|
24
|
+
modifyMessage: (data: IMessage, config?: IRequestConfig) => Promise<import("../../message/type").IActivityMessage | import("../../message/type").IAssistantMessage | import("../../message/type").IDeveloperMessage | import("../../message/type").IGuideMessage | import("../../message/type").IHiddenAssistantMessage | import("../../message/type").IHiddenGuideMessage | import("../../message/type").IHiddenMessage | import("../../message/type").IHiddenSystemMessage | import("../../message/type").IHiddenUserMessage | import("../../message/type").IInfoMessage | import("../../message/type").IPauseMessage | import("../../message/type").IPlaceholderMessage | import("../../message/type").IReasoningMessage | import("../../message/type").ISystemMessage | import("../../message/type").ITemplateAssistantMessage | import("../../message/type").ITemplateGuideMessage | import("../../message/type").ITemplateHiddenMessage | import("../../message/type").ITemplateSystemMessage | import("../../message/type").ITemplateUserMessage | import("../../message/type").IToolMessage | import("../../message/type").IUserMessage>;
|
|
25
|
+
deleteMessage: (id: string, config?: IRequestConfig) => Promise<IMessage>;
|
|
26
|
+
batchDeleteMessages: (ids: string[], config?: IRequestConfig) => Promise<number>;
|
|
27
|
+
shareMessages: (sessionCode: string, contentIds: string[], expiredAt?: number, config?: IRequestConfig) => Promise<IShareMessagesResponse>;
|
|
28
|
+
stopChat: (sessionCode: string, config?: IRequestConfig) => Promise<void>;
|
|
29
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ISession, ISessionFeedback } from '../../session/type';
|
|
2
|
+
import type { FetchClient, IRequestConfig } from '../fetch';
|
|
3
|
+
/**
|
|
4
|
+
* session 相关 http 接口
|
|
5
|
+
* @param fetchClient - 请求客户端
|
|
6
|
+
* @returns session 相关 http 接口
|
|
7
|
+
*/
|
|
8
|
+
export declare const useSession: (fetchClient: FetchClient) => {
|
|
9
|
+
clearSession: (sessionCode: string, config?: IRequestConfig) => Promise<unknown>;
|
|
10
|
+
getSessions: (config?: IRequestConfig) => Promise<ISession<unknown, unknown>[]>;
|
|
11
|
+
plusSession: (data: ISession, config?: IRequestConfig) => Promise<ISession<unknown, unknown>>;
|
|
12
|
+
modifySession: (data: ISession, config?: IRequestConfig) => Promise<ISession<unknown, unknown>>;
|
|
13
|
+
deleteSession: (sessionCode: string, config?: IRequestConfig) => Promise<unknown>;
|
|
14
|
+
batchDeleteSessions: (sessionCodes: string[], config?: IRequestConfig) => Promise<number>;
|
|
15
|
+
getSession: (sessionCode: string, config?: IRequestConfig) => Promise<ISession<unknown, unknown>>;
|
|
16
|
+
postSessionFeedback: (data: ISessionFeedback, config?: IRequestConfig) => Promise<{
|
|
17
|
+
sessionCode: string;
|
|
18
|
+
sessionContentIds: number[];
|
|
19
|
+
rate: number;
|
|
20
|
+
comment: string;
|
|
21
|
+
labels: string[];
|
|
22
|
+
}>;
|
|
23
|
+
getSessionFeedbackReasons: (rate: number, config?: IRequestConfig) => Promise<string[]>;
|
|
24
|
+
renameSession: (sessionCode: string, config?: IRequestConfig) => Promise<ISession<unknown, unknown>>;
|
|
25
|
+
uploadFile: (sessionCode: string, file: File, config?: IRequestConfig) => Promise<{
|
|
26
|
+
download_url?: string;
|
|
27
|
+
}>;
|
|
28
|
+
};
|