@blueking/chat-helper 0.0.1-beta.1
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/README.md +1112 -0
- package/dist/agent/index.d.ts +2 -0
- package/dist/agent/index.ts.js +26 -0
- package/dist/agent/type.d.ts +87 -0
- package/dist/agent/type.ts.js +25 -0
- package/dist/agent/use-agent.d.ts +540 -0
- package/dist/agent/use-agent.ts.js +102 -0
- package/dist/event/ag-ui.d.ts +137 -0
- package/dist/event/ag-ui.ts.js +434 -0
- package/dist/event/index.d.ts +2 -0
- package/dist/event/index.ts.js +26 -0
- package/dist/event/type.d.ts +329 -0
- package/dist/event/type.ts.js +64 -0
- package/dist/http/fetch/fetch.d.ts +84 -0
- package/dist/http/fetch/fetch.ts.js +503 -0
- package/dist/http/fetch/index.d.ts +6 -0
- package/dist/http/fetch/index.ts.js +41 -0
- package/dist/http/index.d.ts +38 -0
- package/dist/http/index.ts.js +36 -0
- package/dist/http/module/agent.d.ts +9 -0
- package/dist/http/module/agent.ts.js +36 -0
- package/dist/http/module/index.d.ts +36 -0
- package/dist/http/module/index.ts.js +41 -0
- package/dist/http/module/message.d.ts +14 -0
- package/dist/http/module/message.ts.js +52 -0
- package/dist/http/module/session.d.ts +25 -0
- package/dist/http/module/session.ts.js +67 -0
- package/dist/http/transform/agent.d.ts +7 -0
- package/dist/http/transform/agent.ts.js +71 -0
- package/dist/http/transform/index.d.ts +3 -0
- package/dist/http/transform/index.ts.js +27 -0
- package/dist/http/transform/message.d.ts +13 -0
- package/dist/http/transform/message.ts.js +155 -0
- package/dist/http/transform/session.d.ts +37 -0
- package/dist/http/transform/session.ts.js +100 -0
- package/dist/index.d.ts +3363 -0
- package/dist/index.ts.js +40 -0
- package/dist/message/index.d.ts +2 -0
- package/dist/message/index.ts.js +26 -0
- package/dist/message/type.d.ts +277 -0
- package/dist/message/type.ts.js +67 -0
- package/dist/message/use-message.d.ts +912 -0
- package/dist/message/use-message.ts.js +87 -0
- package/dist/session/index.d.ts +2 -0
- package/dist/session/index.ts.js +26 -0
- package/dist/session/type.d.ts +61 -0
- package/dist/session/type.ts.js +25 -0
- package/dist/session/use-session.d.ts +1898 -0
- package/dist/session/use-session.ts.js +144 -0
- package/dist/type.d.ts +14 -0
- package/package.json +27 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Tencent is pleased to support the open source community by making
|
|
3
|
+
* 蓝鲸智云PaaS平台 (BlueKing PaaS) available.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
|
|
6
|
+
*
|
|
7
|
+
* 蓝鲸智云PaaS平台 (BlueKing PaaS) is licensed under the MIT License.
|
|
8
|
+
*
|
|
9
|
+
* License for 蓝鲸智云PaaS平台 (BlueKing PaaS):
|
|
10
|
+
*
|
|
11
|
+
* ---------------------------------------------------
|
|
12
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
13
|
+
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
|
14
|
+
* the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
|
|
15
|
+
* to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
16
|
+
*
|
|
17
|
+
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of
|
|
18
|
+
* the Software.
|
|
19
|
+
*
|
|
20
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
21
|
+
* THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
23
|
+
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
24
|
+
* IN THE SOFTWARE.
|
|
25
|
+
*/ export * from './ag-ui.ts.js';
|
|
26
|
+
export * from './type.ts.js';
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
import type { IMessageApi } from '../message/type';
|
|
2
|
+
export declare enum CustomEventType {
|
|
3
|
+
ReferenceDocument = "reference_document"
|
|
4
|
+
}
|
|
5
|
+
export declare enum EventType {
|
|
6
|
+
ActivityDelta = "ACTIVITY_DELTA",
|
|
7
|
+
ActivitySnapshot = "ACTIVITY_SNAPSHOT",
|
|
8
|
+
Custom = "CUSTOM",
|
|
9
|
+
MessagesSnapshot = "MESSAGES_SNAPSHOT",
|
|
10
|
+
Raw = "RAW",
|
|
11
|
+
RunError = "RUN_ERROR",
|
|
12
|
+
RunFinished = "RUN_FINISHED",
|
|
13
|
+
RunStarted = "RUN_STARTED",
|
|
14
|
+
StateDelta = "STATE_DELTA",
|
|
15
|
+
StateSnapshot = "STATE_SNAPSHOT",
|
|
16
|
+
StepFinished = "STEP_FINISHED",
|
|
17
|
+
StepStarted = "STEP_STARTED",
|
|
18
|
+
TextMessageChunk = "TEXT_MESSAGE_CHUNK",
|
|
19
|
+
TextMessageContent = "TEXT_MESSAGE_CONTENT",
|
|
20
|
+
TextMessageEnd = "TEXT_MESSAGE_END",
|
|
21
|
+
TextMessageStart = "TEXT_MESSAGE_START",
|
|
22
|
+
ThinkingEnd = "THINKING_END",
|
|
23
|
+
ThinkingStart = "THINKING_START",
|
|
24
|
+
ThinkingTextMessageContent = "THINKING_TEXT_MESSAGE_CONTENT",
|
|
25
|
+
ThinkingTextMessageEnd = "THINKING_TEXT_MESSAGE_END",
|
|
26
|
+
ThinkingTextMessageStart = "THINKING_TEXT_MESSAGE_START",
|
|
27
|
+
ToolCallArgs = "TOOL_CALL_ARGS",
|
|
28
|
+
ToolCallChunk = "TOOL_CALL_CHUNK",
|
|
29
|
+
ToolCallEnd = "TOOL_CALL_END",
|
|
30
|
+
ToolCallResult = "TOOL_CALL_RESULT",
|
|
31
|
+
ToolCallStart = "TOOL_CALL_START"
|
|
32
|
+
}
|
|
33
|
+
export declare enum TextMessageRole {
|
|
34
|
+
ASSISTANT = "assistant",
|
|
35
|
+
SYSTEM = "system",
|
|
36
|
+
TOOL = "tool",
|
|
37
|
+
USER = "user"
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Activity 代表 Agent 执行过程中的活动/动作/任务,可能包含结构化数据
|
|
41
|
+
* 活动状态的增量更新
|
|
42
|
+
* 记录活动类型 activityType
|
|
43
|
+
* 使用 JSON Patch (RFC 6902) 格式增量更新 Activity 数据
|
|
44
|
+
*
|
|
45
|
+
* @example ActivityDeltaEvent {
|
|
46
|
+
* activityType: "file_processing",
|
|
47
|
+
* messageId: "123",
|
|
48
|
+
* patch: [{ op: "add", path: "/title", value: "分析需求" }]
|
|
49
|
+
* }
|
|
50
|
+
*/
|
|
51
|
+
export interface IActivityDeltaEvent extends IBaseEvent {
|
|
52
|
+
activityType: string;
|
|
53
|
+
messageId: string;
|
|
54
|
+
patch: unknown[];
|
|
55
|
+
type: EventType.ActivityDelta;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Activity 代表 Agent 执行过程中的活动/动作/任务,可能包含结构化数据
|
|
59
|
+
* 活动状态的快照
|
|
60
|
+
* 记录活动类型 activityType
|
|
61
|
+
* 使用 JSON 格式存储 Activity 数据
|
|
62
|
+
*
|
|
63
|
+
* @example ActivitySnapshotEvent {
|
|
64
|
+
* activityType: "file_processing",
|
|
65
|
+
* messageId: "123",
|
|
66
|
+
* content: {
|
|
67
|
+
* title: "分析需求",
|
|
68
|
+
* status: "pending",
|
|
69
|
+
* progress: 0.5,
|
|
70
|
+
* },
|
|
71
|
+
* replace: true,
|
|
72
|
+
* }
|
|
73
|
+
*/
|
|
74
|
+
export interface IActivitySnapshotEvent extends IBaseEvent {
|
|
75
|
+
activityType: string;
|
|
76
|
+
content: unknown;
|
|
77
|
+
messageId: string;
|
|
78
|
+
replace?: boolean;
|
|
79
|
+
type: EventType.ActivitySnapshot;
|
|
80
|
+
}
|
|
81
|
+
export interface IBaseCustomEvent {
|
|
82
|
+
timestamp?: number;
|
|
83
|
+
type: CustomEventType;
|
|
84
|
+
}
|
|
85
|
+
export interface IBaseEvent {
|
|
86
|
+
timestamp?: number;
|
|
87
|
+
type: EventType;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* 自定义事件
|
|
91
|
+
* 用于发送自定义事件到客户端
|
|
92
|
+
*
|
|
93
|
+
* @example CustomEvent {
|
|
94
|
+
* name: "custom_event",
|
|
95
|
+
* value: { type: CustomEventType.ReferenceDocument, data: { ... } }
|
|
96
|
+
* }
|
|
97
|
+
*/
|
|
98
|
+
export interface ICustomEvent extends IBaseEvent {
|
|
99
|
+
name: string;
|
|
100
|
+
type: EventType.Custom;
|
|
101
|
+
value: IReferenceDocumentCustomEvent;
|
|
102
|
+
}
|
|
103
|
+
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;
|
|
104
|
+
/**
|
|
105
|
+
* 消息快照事件
|
|
106
|
+
* 用于记录当前时刻的完整消息状态
|
|
107
|
+
* 同步多端消息状态
|
|
108
|
+
*
|
|
109
|
+
* @example MessagesSnapshotEvent {
|
|
110
|
+
* messages: [{ ... }, { ... }]
|
|
111
|
+
* }
|
|
112
|
+
*/
|
|
113
|
+
export interface IMessagesSnapshotEvent extends IBaseEvent {
|
|
114
|
+
messages: IMessageApi[];
|
|
115
|
+
type: EventType.MessagesSnapshot;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* 透传底层原始事件数据
|
|
119
|
+
* 保留完整的原始事件信息,不做解析
|
|
120
|
+
*
|
|
121
|
+
* // 同时对接多个 AI 服务
|
|
122
|
+
* @example RawEvent {
|
|
123
|
+
* event: { Claude 原始响应 },
|
|
124
|
+
* source: "anthropic"
|
|
125
|
+
* }
|
|
126
|
+
*
|
|
127
|
+
* @example RawEvent {
|
|
128
|
+
* event: { OpenAI 原始响应 },
|
|
129
|
+
* source: "openai"
|
|
130
|
+
* }
|
|
131
|
+
*/
|
|
132
|
+
export interface IRawEvent extends IBaseEvent {
|
|
133
|
+
event: unknown;
|
|
134
|
+
source?: string;
|
|
135
|
+
type: EventType.Raw;
|
|
136
|
+
}
|
|
137
|
+
export interface IReferenceDocumentCustomEvent extends IBaseCustomEvent {
|
|
138
|
+
type: CustomEventType.ReferenceDocument;
|
|
139
|
+
data: {
|
|
140
|
+
icon?: string;
|
|
141
|
+
originFileUrl?: string;
|
|
142
|
+
title: string;
|
|
143
|
+
url: string;
|
|
144
|
+
}[];
|
|
145
|
+
}
|
|
146
|
+
export interface IRunErrorEvent extends IBaseEvent {
|
|
147
|
+
code?: string;
|
|
148
|
+
message: string;
|
|
149
|
+
type: EventType.RunError;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* 标记 Agent 运行正常结束
|
|
153
|
+
* 返回最终结果 result
|
|
154
|
+
*/
|
|
155
|
+
export interface IRunFinishedEvent extends IBaseEvent {
|
|
156
|
+
result?: unknown;
|
|
157
|
+
runId: number;
|
|
158
|
+
threadId: string;
|
|
159
|
+
type: EventType.RunFinished;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* 标记一次完整的 Agent 执行开始
|
|
163
|
+
* 记录本次运行的唯一标识 runId
|
|
164
|
+
* 关联会话线程 threadId
|
|
165
|
+
* 可以记录初始输入 input
|
|
166
|
+
* 支持嵌套运行(parentRunId 用于子 Agent 调用)
|
|
167
|
+
*
|
|
168
|
+
* @example RunStartedEvent {
|
|
169
|
+
* runId: 123,
|
|
170
|
+
* threadId: "thread_123",
|
|
171
|
+
* parentRunId: undefined,
|
|
172
|
+
* input: { messages: [...] },
|
|
173
|
+
* }
|
|
174
|
+
*/
|
|
175
|
+
export interface IRunStartedEvent extends IBaseEvent {
|
|
176
|
+
input?: unknown;
|
|
177
|
+
parentRunId?: string;
|
|
178
|
+
runId: number;
|
|
179
|
+
threadId: string;
|
|
180
|
+
type: EventType.RunStarted;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* 状态增量更新事件
|
|
184
|
+
* 用于更新客户端状态
|
|
185
|
+
* 以 JSON Patch 格式增量更新状态
|
|
186
|
+
*
|
|
187
|
+
* @example StateDeltaEvent {
|
|
188
|
+
* delta: [{ op: "add", path: "/title", value: "分析需求" }]
|
|
189
|
+
* }
|
|
190
|
+
*/
|
|
191
|
+
export interface IStateDeltaEvent extends IBaseEvent {
|
|
192
|
+
delta: unknown;
|
|
193
|
+
type: EventType.StateDelta;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* 状态快照事件
|
|
197
|
+
* 用于初始化或重置客户端状态
|
|
198
|
+
* 提供当前时刻的完整状态视图
|
|
199
|
+
*
|
|
200
|
+
* @example StateSnapshotEvent {
|
|
201
|
+
* snapshot: { ... }
|
|
202
|
+
* }
|
|
203
|
+
*/
|
|
204
|
+
export interface IStateSnapshotEvent extends IBaseEvent {
|
|
205
|
+
snapshot: unknown;
|
|
206
|
+
type: EventType.StateSnapshot;
|
|
207
|
+
}
|
|
208
|
+
export interface IStepFinishedEvent extends IBaseEvent {
|
|
209
|
+
stepName: string;
|
|
210
|
+
type: EventType.StepFinished;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* 多步骤 Agent 工作流的追踪和可视化
|
|
214
|
+
* 当 Agent 需要完成一个复杂任务,分成多个步骤执行时
|
|
215
|
+
* StepStartedEvent { stepName: "分析需求" }
|
|
216
|
+
* ... // 其他步骤
|
|
217
|
+
* StepFinishedEvent { stepName: "分析需求" }
|
|
218
|
+
*/
|
|
219
|
+
export interface IStepStartedEvent extends IBaseEvent {
|
|
220
|
+
stepName: string;
|
|
221
|
+
type: EventType.StepStarted;
|
|
222
|
+
}
|
|
223
|
+
export interface ITextMessageChunkEvent extends IBaseEvent {
|
|
224
|
+
delta?: string;
|
|
225
|
+
messageId: number;
|
|
226
|
+
role?: TextMessageRole;
|
|
227
|
+
type: EventType.TextMessageChunk;
|
|
228
|
+
}
|
|
229
|
+
export interface ITextMessageContentEvent extends IBaseEvent {
|
|
230
|
+
delta: string;
|
|
231
|
+
messageId: number;
|
|
232
|
+
type: EventType.TextMessageContent;
|
|
233
|
+
}
|
|
234
|
+
export interface ITextMessageEndEvent extends IBaseEvent {
|
|
235
|
+
messageId: number;
|
|
236
|
+
type: EventType.TextMessageEnd;
|
|
237
|
+
}
|
|
238
|
+
export interface ITextMessageStartEvent extends IBaseEvent {
|
|
239
|
+
messageId: number;
|
|
240
|
+
role: TextMessageRole;
|
|
241
|
+
type: EventType.TextMessageStart;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* 思考结束事件
|
|
245
|
+
*
|
|
246
|
+
* @example ThinkingEndEvent {
|
|
247
|
+
* timestamp: 1734902400000,
|
|
248
|
+
* type: EventType.ThinkingEnd,
|
|
249
|
+
* }
|
|
250
|
+
*/
|
|
251
|
+
export interface IThinkingEndEvent extends IBaseEvent {
|
|
252
|
+
type: EventType.ThinkingEnd;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* 思考开始事件
|
|
256
|
+
* 记录思考的标题 title
|
|
257
|
+
*
|
|
258
|
+
* @example ThinkingStartEvent {
|
|
259
|
+
* title: "分析需求"
|
|
260
|
+
* type: EventType.ThinkingStart,
|
|
261
|
+
* }
|
|
262
|
+
*/
|
|
263
|
+
export interface IThinkingStartEvent extends IBaseEvent {
|
|
264
|
+
title?: string;
|
|
265
|
+
type: EventType.ThinkingStart;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* 思考文本消息内容事件
|
|
269
|
+
*
|
|
270
|
+
* @example ThinkingTextMessageContentEvent {
|
|
271
|
+
* timestamp: 1734902400000,
|
|
272
|
+
* type: EventType.ThinkingTextMessageContent,
|
|
273
|
+
* delta: "思考中..."
|
|
274
|
+
* }
|
|
275
|
+
*/
|
|
276
|
+
export interface IThinkingTextMessageContentEvent extends IBaseEvent {
|
|
277
|
+
delta: string;
|
|
278
|
+
type: EventType.ThinkingTextMessageContent;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* 思考文本消息结束事件
|
|
282
|
+
*
|
|
283
|
+
* @example ThinkingTextMessageEndEvent {
|
|
284
|
+
* timestamp: 1734902400000,
|
|
285
|
+
* type: EventType.ThinkingTextMessageEnd,
|
|
286
|
+
* }
|
|
287
|
+
*/
|
|
288
|
+
export interface IThinkingTextMessageEndEvent extends IBaseEvent {
|
|
289
|
+
type: EventType.ThinkingTextMessageEnd;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* 思考文本消息开始事件
|
|
293
|
+
*
|
|
294
|
+
* @example ThinkingTextMessageStartEvent {
|
|
295
|
+
* timestamp: 1734902400000,
|
|
296
|
+
* type: EventType.ThinkingTextMessageStart,
|
|
297
|
+
* }
|
|
298
|
+
*/
|
|
299
|
+
export interface IThinkingTextMessageStartEvent extends IBaseEvent {
|
|
300
|
+
type: EventType.ThinkingTextMessageStart;
|
|
301
|
+
}
|
|
302
|
+
export interface IToolCallArgsEvent extends IBaseEvent {
|
|
303
|
+
delta: string;
|
|
304
|
+
toolCallId: string;
|
|
305
|
+
type: EventType.ToolCallArgs;
|
|
306
|
+
}
|
|
307
|
+
export interface IToolCallChunkEvent extends IBaseEvent {
|
|
308
|
+
delta?: string;
|
|
309
|
+
parentMessageId?: string;
|
|
310
|
+
toolCallId?: string;
|
|
311
|
+
toolCallName?: string;
|
|
312
|
+
type: EventType.ToolCallChunk;
|
|
313
|
+
}
|
|
314
|
+
export interface IToolCallEndEvent extends IBaseEvent {
|
|
315
|
+
toolCallId: string;
|
|
316
|
+
type: EventType.ToolCallEnd;
|
|
317
|
+
}
|
|
318
|
+
export interface IToolCallResultEvent extends IBaseEvent {
|
|
319
|
+
content: string;
|
|
320
|
+
messageId: string;
|
|
321
|
+
toolCallId: string;
|
|
322
|
+
type: EventType.ToolCallResult;
|
|
323
|
+
}
|
|
324
|
+
export interface IToolCallStartEvent extends IBaseEvent {
|
|
325
|
+
parentMessageId?: string;
|
|
326
|
+
toolCallId: string;
|
|
327
|
+
toolCallName: string;
|
|
328
|
+
type: EventType.ToolCallStart;
|
|
329
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Tencent is pleased to support the open source community by making
|
|
3
|
+
* 蓝鲸智云PaaS平台 (BlueKing PaaS) available.
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
|
|
6
|
+
*
|
|
7
|
+
* 蓝鲸智云PaaS平台 (BlueKing PaaS) is licensed under the MIT License.
|
|
8
|
+
*
|
|
9
|
+
* License for 蓝鲸智云PaaS平台 (BlueKing PaaS):
|
|
10
|
+
*
|
|
11
|
+
* ---------------------------------------------------
|
|
12
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
13
|
+
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
|
14
|
+
* the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
|
|
15
|
+
* to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
16
|
+
*
|
|
17
|
+
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of
|
|
18
|
+
* the Software.
|
|
19
|
+
*
|
|
20
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
21
|
+
* THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
23
|
+
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
24
|
+
* IN THE SOFTWARE.
|
|
25
|
+
*/ export var CustomEventType;
|
|
26
|
+
(function(CustomEventType) {
|
|
27
|
+
CustomEventType["ReferenceDocument"] = "reference_document";
|
|
28
|
+
})(CustomEventType || (CustomEventType = {}));
|
|
29
|
+
export var EventType;
|
|
30
|
+
(function(EventType) {
|
|
31
|
+
EventType["ActivityDelta"] = "ACTIVITY_DELTA";
|
|
32
|
+
EventType["ActivitySnapshot"] = "ACTIVITY_SNAPSHOT";
|
|
33
|
+
EventType["Custom"] = "CUSTOM";
|
|
34
|
+
EventType["MessagesSnapshot"] = "MESSAGES_SNAPSHOT";
|
|
35
|
+
EventType["Raw"] = "RAW";
|
|
36
|
+
EventType["RunError"] = "RUN_ERROR";
|
|
37
|
+
EventType["RunFinished"] = "RUN_FINISHED";
|
|
38
|
+
EventType["RunStarted"] = "RUN_STARTED";
|
|
39
|
+
EventType["StateDelta"] = "STATE_DELTA";
|
|
40
|
+
EventType["StateSnapshot"] = "STATE_SNAPSHOT";
|
|
41
|
+
EventType["StepFinished"] = "STEP_FINISHED";
|
|
42
|
+
EventType["StepStarted"] = "STEP_STARTED";
|
|
43
|
+
EventType["TextMessageChunk"] = "TEXT_MESSAGE_CHUNK";
|
|
44
|
+
EventType["TextMessageContent"] = "TEXT_MESSAGE_CONTENT";
|
|
45
|
+
EventType["TextMessageEnd"] = "TEXT_MESSAGE_END";
|
|
46
|
+
EventType["TextMessageStart"] = "TEXT_MESSAGE_START";
|
|
47
|
+
EventType["ThinkingEnd"] = "THINKING_END";
|
|
48
|
+
EventType["ThinkingStart"] = "THINKING_START";
|
|
49
|
+
EventType["ThinkingTextMessageContent"] = "THINKING_TEXT_MESSAGE_CONTENT";
|
|
50
|
+
EventType["ThinkingTextMessageEnd"] = "THINKING_TEXT_MESSAGE_END";
|
|
51
|
+
EventType["ThinkingTextMessageStart"] = "THINKING_TEXT_MESSAGE_START";
|
|
52
|
+
EventType["ToolCallArgs"] = "TOOL_CALL_ARGS";
|
|
53
|
+
EventType["ToolCallChunk"] = "TOOL_CALL_CHUNK";
|
|
54
|
+
EventType["ToolCallEnd"] = "TOOL_CALL_END";
|
|
55
|
+
EventType["ToolCallResult"] = "TOOL_CALL_RESULT";
|
|
56
|
+
EventType["ToolCallStart"] = "TOOL_CALL_START";
|
|
57
|
+
})(EventType || (EventType = {}));
|
|
58
|
+
export var TextMessageRole;
|
|
59
|
+
(function(TextMessageRole) {
|
|
60
|
+
TextMessageRole["ASSISTANT"] = "assistant";
|
|
61
|
+
TextMessageRole["SYSTEM"] = "system";
|
|
62
|
+
TextMessageRole["TOOL"] = "tool";
|
|
63
|
+
TextMessageRole["USER"] = "user";
|
|
64
|
+
})(TextMessageRole || (TextMessageRole = {}));
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
export interface ApiResponse<T = unknown> {
|
|
2
|
+
code: number | string;
|
|
3
|
+
data: T;
|
|
4
|
+
message: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ISSEProtocol {
|
|
7
|
+
onDone?: () => void;
|
|
8
|
+
onError?: (error: Error) => void;
|
|
9
|
+
onMessage?: (event: unknown) => void;
|
|
10
|
+
onStart?: () => void;
|
|
11
|
+
}
|
|
12
|
+
export interface RequestConfig {
|
|
13
|
+
baseURL?: string;
|
|
14
|
+
controller?: AbortController;
|
|
15
|
+
credentials?: 'include' | 'omit' | 'same-origin';
|
|
16
|
+
data?: (() => unknown) | unknown;
|
|
17
|
+
headers?: (() => Record<string, string>) | Record<string, string>;
|
|
18
|
+
method?: string;
|
|
19
|
+
mode?: 'cors' | 'no-cors' | 'same-origin';
|
|
20
|
+
params?: Record<string, unknown>;
|
|
21
|
+
responseType?: 'arrayBuffer' | 'blob' | 'formData' | 'json' | 'stream' | 'text';
|
|
22
|
+
timeout?: number;
|
|
23
|
+
url?: string;
|
|
24
|
+
transformRequest?: (data: unknown, headers?: Record<string, string>) => unknown;
|
|
25
|
+
transformResponse?: (data: unknown) => unknown;
|
|
26
|
+
validateStatus?: (status: number) => boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface RequestError extends Error {
|
|
29
|
+
code?: string;
|
|
30
|
+
config: RequestConfig;
|
|
31
|
+
isAxiosError: boolean;
|
|
32
|
+
request?: Request;
|
|
33
|
+
response?: Response;
|
|
34
|
+
}
|
|
35
|
+
export interface Response<T = unknown> {
|
|
36
|
+
config: RequestConfig;
|
|
37
|
+
data: T;
|
|
38
|
+
headers: Headers;
|
|
39
|
+
request?: Request;
|
|
40
|
+
status: number;
|
|
41
|
+
statusText: string;
|
|
42
|
+
}
|
|
43
|
+
export interface SSEConfig extends ISSEProtocol, Omit<RequestConfig, 'responseType'> {
|
|
44
|
+
}
|
|
45
|
+
interface Interceptor<T> {
|
|
46
|
+
fulfilled?: (value: T) => T;
|
|
47
|
+
rejected?: (error: unknown) => unknown;
|
|
48
|
+
}
|
|
49
|
+
declare class InterceptorManager<T> {
|
|
50
|
+
private handlers;
|
|
51
|
+
clear(): void;
|
|
52
|
+
eject(id: number): void;
|
|
53
|
+
forEach(fn: (interceptor: Interceptor<T>) => void): void;
|
|
54
|
+
use(fulfilled?: (value: T) => T, rejected?: (error: unknown) => unknown): number;
|
|
55
|
+
}
|
|
56
|
+
export declare class FetchClient {
|
|
57
|
+
defaults: RequestConfig;
|
|
58
|
+
interceptors: {
|
|
59
|
+
request: InterceptorManager<RequestConfig>;
|
|
60
|
+
response: InterceptorManager<Response>;
|
|
61
|
+
};
|
|
62
|
+
constructor(config?: RequestConfig);
|
|
63
|
+
applyResponseErrorInterceptors(error: unknown): unknown;
|
|
64
|
+
create(config?: RequestConfig): FetchClient;
|
|
65
|
+
delete<T = unknown>(url: string, params?: Record<string, unknown>, config?: RequestConfig): Promise<T>;
|
|
66
|
+
get<T = unknown>(url: string, params?: Record<string, unknown>, config?: RequestConfig): Promise<T>;
|
|
67
|
+
head<T = unknown>(url: string, params?: Record<string, unknown>, config?: RequestConfig): Promise<T>;
|
|
68
|
+
options<T = unknown>(url: string, params?: Record<string, unknown>, config?: RequestConfig): Promise<T>;
|
|
69
|
+
patch<T = unknown>(url: string, data?: unknown, config?: RequestConfig): Promise<T>;
|
|
70
|
+
post<T = unknown>(url: string, data?: unknown, config?: RequestConfig): Promise<T>;
|
|
71
|
+
prepareRequest(config: RequestConfig, isStream?: boolean): {
|
|
72
|
+
url: string;
|
|
73
|
+
headers: Headers;
|
|
74
|
+
body: BodyInit;
|
|
75
|
+
requestConfig: RequestConfig;
|
|
76
|
+
controller: AbortController;
|
|
77
|
+
};
|
|
78
|
+
put<T = unknown>(url: string, data?: unknown, config?: RequestConfig): Promise<T>;
|
|
79
|
+
request<T = unknown>(config: RequestConfig): Promise<T>;
|
|
80
|
+
stream(url: string, config?: SSEConfig): Promise<void>;
|
|
81
|
+
streamRequest(config: SSEConfig): Promise<void>;
|
|
82
|
+
}
|
|
83
|
+
declare const fetchClient: FetchClient;
|
|
84
|
+
export default fetchClient;
|