@blueking/chat-helper 0.0.1-beta.3 → 0.0.1-beta.31
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 +962 -63
- package/dist/agent/type.d.ts +27 -2
- package/dist/agent/type.ts.js +1 -1
- package/dist/agent/use-agent.d.ts +516 -434
- package/dist/agent/use-agent.ts.js +224 -25
- package/dist/event/ag-ui.d.ts +39 -7
- package/dist/event/ag-ui.ts.js +224 -150
- package/dist/event/type.d.ts +99 -107
- package/dist/event/type.ts.js +34 -11
- package/dist/http/fetch/fetch.d.ts +40 -36
- package/dist/http/fetch/fetch.ts.js +59 -32
- package/dist/http/fetch/index.d.ts +1 -0
- package/dist/http/fetch/index.ts.js +17 -1
- package/dist/http/index.d.ts +25 -16
- package/dist/http/index.ts.js +60 -3
- package/dist/http/module/agent.d.ts +2 -2
- package/dist/http/module/index.d.ts +23 -16
- package/dist/http/module/index.ts.js +2 -1
- package/dist/http/module/message.d.ts +23 -7
- package/dist/http/module/message.ts.js +52 -7
- package/dist/http/module/session.d.ts +14 -11
- package/dist/http/module/session.ts.js +66 -4
- package/dist/http/transform/agent.ts.js +11 -8
- package/dist/http/transform/message.d.ts +6 -6
- package/dist/http/transform/message.ts.js +568 -118
- package/dist/http/transform/session.ts.js +9 -1
- package/dist/index.d.ts +2996 -2616
- package/dist/index.ts.js +26 -5
- package/dist/mediator/index.d.ts +2 -0
- package/dist/mediator/index.ts.js +26 -0
- package/dist/mediator/type.d.ts +50 -0
- package/dist/mediator/type.ts.js +28 -0
- package/dist/mediator/use-mediator.d.ts +7 -0
- package/dist/mediator/use-mediator.ts.js +47 -0
- package/dist/message/type.d.ts +280 -140
- package/dist/message/type.ts.js +16 -15
- package/dist/message/use-message.d.ts +837 -750
- package/dist/message/use-message.ts.js +226 -28
- package/dist/session/type.d.ts +10 -0
- package/dist/session/use-session.d.ts +1921 -1721
- package/dist/session/use-session.ts.js +198 -33
- package/dist/type.d.ts +4 -4
- package/package.json +2 -1
|
@@ -192,8 +192,9 @@ export class FetchClient {
|
|
|
192
192
|
prepareRequest(config, isStream = false) {
|
|
193
193
|
// 合并配置
|
|
194
194
|
const mergedConfig = mergeConfig(this.defaults, config);
|
|
195
|
-
//
|
|
195
|
+
// 总的请求配置
|
|
196
196
|
let requestConfig = mergedConfig;
|
|
197
|
+
// 应用请求拦截器
|
|
197
198
|
this.interceptors.request.forEach((interceptor)=>{
|
|
198
199
|
if (interceptor.fulfilled) {
|
|
199
200
|
try {
|
|
@@ -208,7 +209,7 @@ export class FetchClient {
|
|
|
208
209
|
});
|
|
209
210
|
// 构建完整 URL
|
|
210
211
|
let url = requestConfig.url || '';
|
|
211
|
-
if (requestConfig.baseURL) {
|
|
212
|
+
if (requestConfig.baseURL && !url.startsWith('http')) {
|
|
212
213
|
url = requestConfig.baseURL + url;
|
|
213
214
|
}
|
|
214
215
|
url = buildURL(url, requestConfig.params);
|
|
@@ -219,6 +220,7 @@ export class FetchClient {
|
|
|
219
220
|
if (isStream && !headers.has('Accept')) {
|
|
220
221
|
headers.set('Accept', 'text/event-stream');
|
|
221
222
|
}
|
|
223
|
+
// 处理请求体
|
|
222
224
|
if (body !== undefined && body !== null) {
|
|
223
225
|
var _headers_get;
|
|
224
226
|
if (requestConfig.transformRequest) {
|
|
@@ -229,11 +231,19 @@ export class FetchClient {
|
|
|
229
231
|
}
|
|
230
232
|
// 创建 AbortController
|
|
231
233
|
const controller = requestConfig.controller ? requestConfig.controller : new AbortController();
|
|
232
|
-
|
|
233
|
-
|
|
234
|
+
// 请求配置
|
|
235
|
+
const fetchConfig = {
|
|
236
|
+
method: requestConfig.method,
|
|
237
|
+
credentials: requestConfig.credentials,
|
|
238
|
+
mode: requestConfig.mode,
|
|
234
239
|
headers,
|
|
235
240
|
body,
|
|
241
|
+
signal: controller.signal
|
|
242
|
+
};
|
|
243
|
+
return {
|
|
244
|
+
url,
|
|
236
245
|
requestConfig,
|
|
246
|
+
fetchConfig,
|
|
237
247
|
controller
|
|
238
248
|
};
|
|
239
249
|
}
|
|
@@ -248,17 +258,12 @@ export class FetchClient {
|
|
|
248
258
|
var _this = this;
|
|
249
259
|
return _async_to_generator(function*() {
|
|
250
260
|
// 准备请求
|
|
251
|
-
const { url,
|
|
261
|
+
const { url, fetchConfig, requestConfig, controller } = _this.prepareRequest(config);
|
|
252
262
|
// 创建超时控制
|
|
253
263
|
const timeoutId = requestConfig.timeout && requestConfig.timeout > 0 ? setTimeout(()=>controller.abort(), requestConfig.timeout) : undefined;
|
|
254
264
|
try {
|
|
255
265
|
// 发送请求
|
|
256
|
-
const
|
|
257
|
-
headers,
|
|
258
|
-
body,
|
|
259
|
-
signal: controller.signal
|
|
260
|
-
}));
|
|
261
|
-
const fetchResponse = yield fetch(request);
|
|
266
|
+
const fetchResponse = yield fetch(url, fetchConfig);
|
|
262
267
|
// 清除超时定时器
|
|
263
268
|
if (timeoutId) {
|
|
264
269
|
clearTimeout(timeoutId);
|
|
@@ -299,13 +304,14 @@ export class FetchClient {
|
|
|
299
304
|
status: fetchResponse.status,
|
|
300
305
|
statusText: fetchResponse.statusText,
|
|
301
306
|
headers: fetchResponse.headers,
|
|
302
|
-
config: requestConfig
|
|
303
|
-
request
|
|
307
|
+
config: requestConfig
|
|
304
308
|
};
|
|
305
309
|
// 验证状态码
|
|
306
310
|
const validateStatus = requestConfig.validateStatus || _this.defaults.validateStatus;
|
|
307
311
|
if (!validateStatus(fetchResponse.status)) {
|
|
308
|
-
|
|
312
|
+
var _response_data_error, _response_data;
|
|
313
|
+
const message = ((_response_data = response.data) === null || _response_data === void 0 ? void 0 : (_response_data_error = _response_data.error) === null || _response_data_error === void 0 ? void 0 : _response_data_error.message) || `Request failed with status code ${fetchResponse.status}`;
|
|
314
|
+
throw createError(message, requestConfig, `ERR_BAD_RESPONSE`, response);
|
|
309
315
|
}
|
|
310
316
|
// 应用响应拦截器
|
|
311
317
|
let finalResponse = response;
|
|
@@ -331,7 +337,7 @@ export class FetchClient {
|
|
|
331
337
|
0,
|
|
332
338
|
'success'
|
|
333
339
|
].includes(apiResponse.code)) {
|
|
334
|
-
throw createError(apiResponse.message, requestConfig, apiResponse.code,
|
|
340
|
+
throw createError(apiResponse.message, requestConfig, apiResponse.code, finalResponse);
|
|
335
341
|
}
|
|
336
342
|
return apiResponse.data;
|
|
337
343
|
} catch (error) {
|
|
@@ -341,11 +347,11 @@ export class FetchClient {
|
|
|
341
347
|
}
|
|
342
348
|
// 处理中断错误
|
|
343
349
|
if (error instanceof Error && error.name === 'AbortError') {
|
|
344
|
-
const requestError = createError('Request timeout', requestConfig, 'ECONNABORTED', undefined
|
|
350
|
+
const requestError = createError('Request timeout', requestConfig, 'ECONNABORTED', undefined);
|
|
345
351
|
throw _this.applyResponseErrorInterceptors(requestError);
|
|
346
352
|
}
|
|
347
353
|
// 处理其他错误
|
|
348
|
-
const requestError = error.isAxiosError === true ? error : createError(error.message, requestConfig, error.code, undefined
|
|
354
|
+
const requestError = error.isAxiosError === true ? error : createError(error.message, requestConfig, error.code, undefined);
|
|
349
355
|
throw _this.applyResponseErrorInterceptors(requestError);
|
|
350
356
|
}
|
|
351
357
|
})();
|
|
@@ -361,22 +367,27 @@ export class FetchClient {
|
|
|
361
367
|
var _this = this;
|
|
362
368
|
return _async_to_generator(function*() {
|
|
363
369
|
// 准备请求(标记为流式请求)
|
|
364
|
-
const { url,
|
|
365
|
-
// 发送请求
|
|
366
|
-
const request = new Request(url, _object_spread_props(_object_spread({}, requestConfig), {
|
|
367
|
-
headers,
|
|
368
|
-
body,
|
|
369
|
-
signal: controller.signal
|
|
370
|
-
}));
|
|
370
|
+
const { url, fetchConfig, requestConfig } = _this.prepareRequest(config, true);
|
|
371
371
|
try {
|
|
372
372
|
var // 触发 onStart 回调
|
|
373
373
|
_config_onStart, _fetchResponse_body;
|
|
374
|
-
|
|
374
|
+
// 发送请求
|
|
375
|
+
const fetchResponse = yield fetch(url, fetchConfig);
|
|
375
376
|
// 验证状态码
|
|
376
377
|
const validateStatus = requestConfig.validateStatus || _this.defaults.validateStatus;
|
|
377
378
|
if (!validateStatus(fetchResponse.status)) {
|
|
378
379
|
var _config_onError;
|
|
379
|
-
|
|
380
|
+
let message = `Request failed with status code ${fetchResponse.status}`;
|
|
381
|
+
try {
|
|
382
|
+
var _errorData_error;
|
|
383
|
+
const errorData = yield fetchResponse.json();
|
|
384
|
+
if (errorData === null || errorData === void 0 ? void 0 : (_errorData_error = errorData.error) === null || _errorData_error === void 0 ? void 0 : _errorData_error.message) {
|
|
385
|
+
message = errorData.error.message;
|
|
386
|
+
}
|
|
387
|
+
} catch (_error) {
|
|
388
|
+
message = `Request failed with status code ${fetchResponse.status}`;
|
|
389
|
+
}
|
|
390
|
+
const error = createError(message, requestConfig, `ERR_BAD_RESPONSE`, undefined);
|
|
380
391
|
(_config_onError = config.onError) === null || _config_onError === void 0 ? void 0 : _config_onError.call(config, error);
|
|
381
392
|
return;
|
|
382
393
|
}
|
|
@@ -385,12 +396,21 @@ export class FetchClient {
|
|
|
385
396
|
const reader = (_fetchResponse_body = fetchResponse.body) === null || _fetchResponse_body === void 0 ? void 0 : _fetchResponse_body.pipeThrough(new window.TextDecoderStream()).getReader();
|
|
386
397
|
if (!reader) {
|
|
387
398
|
var _config_onError1;
|
|
388
|
-
const error = new Error('
|
|
399
|
+
const error = new Error('IResponse body is not readable');
|
|
389
400
|
(_config_onError1 = config.onError) === null || _config_onError1 === void 0 ? void 0 : _config_onError1.call(config, error);
|
|
390
401
|
return;
|
|
391
402
|
}
|
|
392
403
|
// 临时存储数据
|
|
393
404
|
let temp = '';
|
|
405
|
+
// 判断是否为 JSON 字符串
|
|
406
|
+
const isJson = (str)=>{
|
|
407
|
+
try {
|
|
408
|
+
JSON.parse(str);
|
|
409
|
+
return true;
|
|
410
|
+
} catch (_error) {
|
|
411
|
+
return false;
|
|
412
|
+
}
|
|
413
|
+
};
|
|
394
414
|
// eslint-disable-next-line no-constant-condition
|
|
395
415
|
while(true){
|
|
396
416
|
const { value, done } = yield reader.read();
|
|
@@ -403,10 +423,11 @@ export class FetchClient {
|
|
|
403
423
|
const values = (temp + value.toString()).split('\n');
|
|
404
424
|
values.forEach((value)=>{
|
|
405
425
|
const item = value.replace('data:', '').trim();
|
|
406
|
-
if (item
|
|
426
|
+
if (isJson(item)) {
|
|
407
427
|
var _config_onMessage;
|
|
408
428
|
const json = JSON.parse(item);
|
|
409
429
|
(_config_onMessage = config.onMessage) === null || _config_onMessage === void 0 ? void 0 : _config_onMessage.call(config, json);
|
|
430
|
+
temp = '';
|
|
410
431
|
} else if (item) {
|
|
411
432
|
temp = item;
|
|
412
433
|
}
|
|
@@ -429,7 +450,7 @@ export class FetchClient {
|
|
|
429
450
|
constructor(config = {}){
|
|
430
451
|
_define_property(this, "defaults", void 0);
|
|
431
452
|
_define_property(this, "interceptors", void 0);
|
|
432
|
-
this.defaults =
|
|
453
|
+
this.defaults = mergeConfig({
|
|
433
454
|
method: 'GET',
|
|
434
455
|
headers: {
|
|
435
456
|
'Content-Type': 'application/json'
|
|
@@ -468,11 +489,10 @@ function buildURL(url, params) {
|
|
|
468
489
|
return url;
|
|
469
490
|
}
|
|
470
491
|
// 创建错误对象
|
|
471
|
-
function createError(message, config, code,
|
|
492
|
+
function createError(message, config, code, response) {
|
|
472
493
|
const error = new Error(message);
|
|
473
494
|
error.config = config;
|
|
474
495
|
error.code = String(code);
|
|
475
|
-
error.request = request;
|
|
476
496
|
error.response = response;
|
|
477
497
|
error.isAxiosError = true;
|
|
478
498
|
return error;
|
|
@@ -481,12 +501,19 @@ function createError(message, config, code, request, response) {
|
|
|
481
501
|
function getValue(value) {
|
|
482
502
|
return typeof value === 'function' ? value() : value;
|
|
483
503
|
}
|
|
504
|
+
// 判断是否是普通对象(排除类实例如 AbortController、Headers 等)
|
|
505
|
+
function isPlainObject(value) {
|
|
506
|
+
if (!value || typeof value !== 'object') return false;
|
|
507
|
+
const proto = Object.getPrototypeOf(value);
|
|
508
|
+
return proto === Object.prototype || proto === null;
|
|
509
|
+
}
|
|
484
510
|
// 合并配置
|
|
485
511
|
function mergeConfig(config1, config2) {
|
|
486
512
|
const output = _object_spread({}, config1);
|
|
487
513
|
for(const key in config2){
|
|
488
514
|
const value2 = config2[key];
|
|
489
|
-
|
|
515
|
+
// 只对普通对象进行深度合并,类实例(如 AbortController)直接赋值
|
|
516
|
+
if (isPlainObject(value2)) {
|
|
490
517
|
const value1 = config1[key];
|
|
491
518
|
output[key] = mergeConfig(value1 || {}, value2);
|
|
492
519
|
} else {
|
|
@@ -35,7 +35,23 @@ export const useFetch = (options)=>{
|
|
|
35
35
|
if ((_options_interceptors1 = options.interceptors) === null || _options_interceptors1 === void 0 ? void 0 : _options_interceptors1.response) {
|
|
36
36
|
fetchClient.interceptors.response.use(options.interceptors.response);
|
|
37
37
|
}
|
|
38
|
+
// 重置 fetchClient 配置
|
|
39
|
+
const reset = (newOptions)=>{
|
|
40
|
+
var _newOptions_interceptors, _newOptions_interceptors1;
|
|
41
|
+
// 更新 baseURL
|
|
42
|
+
fetchClient.defaults.baseURL = newOptions.requestData.urlPrefix;
|
|
43
|
+
// 清空并重新注册拦截器
|
|
44
|
+
fetchClient.interceptors.request.clear();
|
|
45
|
+
fetchClient.interceptors.response.clear();
|
|
46
|
+
if ((_newOptions_interceptors = newOptions.interceptors) === null || _newOptions_interceptors === void 0 ? void 0 : _newOptions_interceptors.request) {
|
|
47
|
+
fetchClient.interceptors.request.use(newOptions.interceptors.request);
|
|
48
|
+
}
|
|
49
|
+
if ((_newOptions_interceptors1 = newOptions.interceptors) === null || _newOptions_interceptors1 === void 0 ? void 0 : _newOptions_interceptors1.response) {
|
|
50
|
+
fetchClient.interceptors.response.use(newOptions.interceptors.response);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
38
53
|
return {
|
|
39
|
-
fetchClient
|
|
54
|
+
fetchClient,
|
|
55
|
+
reset
|
|
40
56
|
};
|
|
41
57
|
};
|
package/dist/http/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IUseChatHelperOptions } from '../type';
|
|
2
|
+
export * from './fetch';
|
|
2
3
|
export * from './transform';
|
|
3
4
|
/**
|
|
4
5
|
* 使用 HTTP 模块
|
|
@@ -6,33 +7,41 @@ export * from './transform';
|
|
|
6
7
|
* @returns HTTP 模块
|
|
7
8
|
*/
|
|
8
9
|
export declare const useHttp: (options: IUseChatHelperOptions) => {
|
|
10
|
+
reset: (newOptions: IUseChatHelperOptions) => void;
|
|
9
11
|
agent: {
|
|
10
|
-
getAgentInfo: (config?: import("./fetch").
|
|
12
|
+
getAgentInfo: (config?: import("./fetch").IRequestConfig) => Promise<import("..").IAgentInfo>;
|
|
11
13
|
};
|
|
12
14
|
session: {
|
|
13
|
-
clearSession: (sessionCode: string, config?: import("./fetch").
|
|
14
|
-
getSessions: (config?: import("./fetch").
|
|
15
|
-
plusSession: (data: import("..").ISession, config?: import("./fetch").
|
|
16
|
-
modifySession: (data: import("..").ISession, config?: import("./fetch").
|
|
17
|
-
deleteSession: (sessionCode: string, config?: import("./fetch").
|
|
18
|
-
batchDeleteSessions: (sessionCodes: string[], config?: import("./fetch").
|
|
19
|
-
getSession: (sessionCode: string, config?: import("./fetch").
|
|
20
|
-
postSessionFeedback: (data: import("..").ISessionFeedback, config?: import("./fetch").
|
|
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<{
|
|
21
23
|
sessionCode: string;
|
|
22
24
|
sessionContentIds: number[];
|
|
23
25
|
rate: number;
|
|
24
26
|
comment: string;
|
|
25
27
|
labels: string[];
|
|
26
28
|
}>;
|
|
27
|
-
|
|
28
|
-
renameSession: (sessionCode: string, config?: import("./fetch").
|
|
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
|
+
}>;
|
|
29
34
|
};
|
|
30
35
|
message: {
|
|
31
|
-
getMessages: (sessionCode: string, config?: import("./fetch").
|
|
32
|
-
plusMessage: (data: import("..").IMessage, config?: import("./fetch").
|
|
33
|
-
modifyMessage: (data: import("..").IMessage, config?: import("./fetch").
|
|
34
|
-
deleteMessage: (id:
|
|
35
|
-
batchDeleteMessages: (ids:
|
|
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
|
+
getFlowAgentTaskNodeInfo: (taskId: number, nodeId: string, config?: import("./fetch").IRequestConfig) => Promise<import("..").IFlowAgentTaskNodeInfo>;
|
|
36
44
|
};
|
|
45
|
+
fetchClient: import("./fetch").FetchClient;
|
|
37
46
|
};
|
|
38
47
|
export type IHttpModule = ReturnType<typeof useHttp>;
|
package/dist/http/index.ts.js
CHANGED
|
@@ -22,15 +22,72 @@
|
|
|
22
22
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
23
23
|
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
24
24
|
* IN THE SOFTWARE.
|
|
25
|
-
*/
|
|
25
|
+
*/ function _define_property(obj, key, value) {
|
|
26
|
+
if (key in obj) {
|
|
27
|
+
Object.defineProperty(obj, key, {
|
|
28
|
+
value: value,
|
|
29
|
+
enumerable: true,
|
|
30
|
+
configurable: true,
|
|
31
|
+
writable: true
|
|
32
|
+
});
|
|
33
|
+
} else {
|
|
34
|
+
obj[key] = value;
|
|
35
|
+
}
|
|
36
|
+
return obj;
|
|
37
|
+
}
|
|
38
|
+
function _object_spread(target) {
|
|
39
|
+
for(var i = 1; i < arguments.length; i++){
|
|
40
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
41
|
+
var ownKeys = Object.keys(source);
|
|
42
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
43
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
44
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
ownKeys.forEach(function(key) {
|
|
48
|
+
_define_property(target, key, source[key]);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return target;
|
|
52
|
+
}
|
|
53
|
+
function ownKeys(object, enumerableOnly) {
|
|
54
|
+
var keys = Object.keys(object);
|
|
55
|
+
if (Object.getOwnPropertySymbols) {
|
|
56
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
57
|
+
if (enumerableOnly) {
|
|
58
|
+
symbols = symbols.filter(function(sym) {
|
|
59
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
keys.push.apply(keys, symbols);
|
|
63
|
+
}
|
|
64
|
+
return keys;
|
|
65
|
+
}
|
|
66
|
+
function _object_spread_props(target, source) {
|
|
67
|
+
source = source != null ? source : {};
|
|
68
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
69
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
70
|
+
} else {
|
|
71
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
72
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return target;
|
|
76
|
+
}
|
|
77
|
+
import { useFetch } from './fetch/index.ts.js';
|
|
26
78
|
import { useModule } from './module/index.ts.js';
|
|
79
|
+
export * from './fetch/index.ts.js';
|
|
27
80
|
export * from './transform/index.ts.js';
|
|
28
81
|
/**
|
|
29
82
|
* 使用 HTTP 模块
|
|
30
83
|
* @param options - 选项
|
|
31
84
|
* @returns HTTP 模块
|
|
32
85
|
*/ export const useHttp = (options)=>{
|
|
33
|
-
|
|
86
|
+
// 创建 fetchClient
|
|
87
|
+
const { fetchClient, reset } = useFetch(options);
|
|
88
|
+
// 创建 http 模块
|
|
34
89
|
const http = useModule(fetchClient);
|
|
35
|
-
return http
|
|
90
|
+
return _object_spread_props(_object_spread({}, http), {
|
|
91
|
+
reset
|
|
92
|
+
});
|
|
36
93
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { FetchClient,
|
|
1
|
+
import type { FetchClient, IRequestConfig } from '../fetch';
|
|
2
2
|
/**
|
|
3
3
|
* agent 相关 http 接口
|
|
4
4
|
* @param fetchClient - 请求客户端
|
|
5
5
|
* @returns agent 相关 http 接口
|
|
6
6
|
*/
|
|
7
7
|
export declare const useAgent: (fetchClient: FetchClient) => {
|
|
8
|
-
getAgentInfo: (config?:
|
|
8
|
+
getAgentInfo: (config?: IRequestConfig) => Promise<import("../../agent/type").IAgentInfo>;
|
|
9
9
|
};
|
|
@@ -6,31 +6,38 @@ import type { FetchClient } from '../fetch';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare const useModule: (fetchClient: FetchClient) => {
|
|
8
8
|
agent: {
|
|
9
|
-
getAgentInfo: (config?: import("../fetch").
|
|
9
|
+
getAgentInfo: (config?: import("../fetch").IRequestConfig) => Promise<import("../..").IAgentInfo>;
|
|
10
10
|
};
|
|
11
11
|
session: {
|
|
12
|
-
clearSession: (sessionCode: string, config?: import("../fetch").
|
|
13
|
-
getSessions: (config?: import("../fetch").
|
|
14
|
-
plusSession: (data: import("../..").ISession, config?: import("../fetch").
|
|
15
|
-
modifySession: (data: import("../..").ISession, config?: import("../fetch").
|
|
16
|
-
deleteSession: (sessionCode: string, config?: import("../fetch").
|
|
17
|
-
batchDeleteSessions: (sessionCodes: string[], config?: import("../fetch").
|
|
18
|
-
getSession: (sessionCode: string, config?: import("../fetch").
|
|
19
|
-
postSessionFeedback: (data: import("../..").ISessionFeedback, config?: import("../fetch").
|
|
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
20
|
sessionCode: string;
|
|
21
21
|
sessionContentIds: number[];
|
|
22
22
|
rate: number;
|
|
23
23
|
comment: string;
|
|
24
24
|
labels: string[];
|
|
25
25
|
}>;
|
|
26
|
-
|
|
27
|
-
renameSession: (sessionCode: string, config?: import("../fetch").
|
|
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
|
+
}>;
|
|
28
31
|
};
|
|
29
32
|
message: {
|
|
30
|
-
getMessages: (sessionCode: string, config?: import("../fetch").
|
|
31
|
-
plusMessage: (data: import("../..").IMessage, config?: import("../fetch").
|
|
32
|
-
modifyMessage: (data: import("../..").IMessage, config?: import("../fetch").
|
|
33
|
-
deleteMessage: (id:
|
|
34
|
-
batchDeleteMessages: (ids:
|
|
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
|
+
getFlowAgentTaskNodeInfo: (taskId: number, nodeId: string, config?: import("../fetch").IRequestConfig) => Promise<import("../..").IFlowAgentTaskNodeInfo>;
|
|
35
41
|
};
|
|
42
|
+
fetchClient: FetchClient;
|
|
36
43
|
};
|
|
@@ -1,14 +1,30 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { FetchClient,
|
|
1
|
+
import type { IFlowAgentTaskNodeInfo, 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
|
+
}
|
|
3
16
|
/**
|
|
4
17
|
* message 相关 http 接口
|
|
5
18
|
* @param fetchClient - 请求客户端
|
|
6
19
|
* @returns message 相关 http 接口
|
|
7
20
|
*/
|
|
8
21
|
export declare const useMessage: (fetchClient: FetchClient) => {
|
|
9
|
-
getMessages: (sessionCode: string, config?:
|
|
10
|
-
plusMessage: (data: IMessage, config?:
|
|
11
|
-
modifyMessage: (data: IMessage, config?:
|
|
12
|
-
deleteMessage: (id:
|
|
13
|
-
batchDeleteMessages: (ids:
|
|
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
|
+
getFlowAgentTaskNodeInfo: (taskId: number, nodeId: string, config?: IRequestConfig) => Promise<IFlowAgentTaskNodeInfo>;
|
|
14
30
|
};
|
|
@@ -22,31 +22,76 @@
|
|
|
22
22
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
23
23
|
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
24
24
|
* IN THE SOFTWARE.
|
|
25
|
-
*/
|
|
25
|
+
*/ function _define_property(obj, key, value) {
|
|
26
|
+
if (key in obj) {
|
|
27
|
+
Object.defineProperty(obj, key, {
|
|
28
|
+
value: value,
|
|
29
|
+
enumerable: true,
|
|
30
|
+
configurable: true,
|
|
31
|
+
writable: true
|
|
32
|
+
});
|
|
33
|
+
} else {
|
|
34
|
+
obj[key] = value;
|
|
35
|
+
}
|
|
36
|
+
return obj;
|
|
37
|
+
}
|
|
38
|
+
function _object_spread(target) {
|
|
39
|
+
for(var i = 1; i < arguments.length; i++){
|
|
40
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
41
|
+
var ownKeys = Object.keys(source);
|
|
42
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
43
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
44
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
ownKeys.forEach(function(key) {
|
|
48
|
+
_define_property(target, key, source[key]);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return target;
|
|
52
|
+
}
|
|
53
|
+
import { transferMessage2MessageApi, transferMessageApi2Message } from '../transform/message.ts.js';
|
|
26
54
|
/**
|
|
27
55
|
* message 相关 http 接口
|
|
28
56
|
* @param fetchClient - 请求客户端
|
|
29
57
|
* @returns message 相关 http 接口
|
|
30
58
|
*/ export const useMessage = (fetchClient)=>{
|
|
31
59
|
// 获取会话内容列表
|
|
32
|
-
const getMessages = (sessionCode, config)=>fetchClient.get(`session_content/content/`, {
|
|
33
|
-
session_code: sessionCode
|
|
60
|
+
const getMessages = (sessionCode, limit, config)=>fetchClient.get(`session_content/content/`, {
|
|
61
|
+
session_code: sessionCode,
|
|
62
|
+
limit
|
|
34
63
|
}, config).then((res)=>res.map(transferMessageApi2Message));
|
|
35
64
|
// 新增会话内容
|
|
36
|
-
const plusMessage = (data, config)=>fetchClient.post(`session_content/`, transferMessage2MessageApi(data), config);
|
|
65
|
+
const plusMessage = (data, config)=>fetchClient.post(`session_content/`, transferMessage2MessageApi(data), config).then(transferMessageApi2Message);
|
|
37
66
|
// 修改会话内容
|
|
38
|
-
const modifyMessage = (data, config)=>fetchClient.put(`session_content/${data.id}/`, transferMessage2MessageApi(data), config);
|
|
67
|
+
const modifyMessage = (data, config)=>fetchClient.put(`session_content/${data.id}/`, transferMessage2MessageApi(data), config).then(transferMessageApi2Message);
|
|
39
68
|
// 删除会话内容
|
|
40
|
-
const deleteMessage = (id, config)=>fetchClient
|
|
69
|
+
const deleteMessage = (id, config)=>fetchClient['delete'](`session_content/${id}/`, undefined, config);
|
|
41
70
|
// 批量删除聊天内容
|
|
42
71
|
const batchDeleteMessages = (ids, config)=>fetchClient.post(`session_content/batch_delete/`, {
|
|
43
72
|
ids
|
|
44
73
|
}, config);
|
|
74
|
+
// 分享消息
|
|
75
|
+
const shareMessages = (sessionCode, contentIds, expiredAt, config)=>fetchClient.post(`share/`, _object_spread({
|
|
76
|
+
session_code: sessionCode,
|
|
77
|
+
content_ids: contentIds
|
|
78
|
+
}, expiredAt ? {
|
|
79
|
+
expired_at: expiredAt
|
|
80
|
+
} : {}), config);
|
|
81
|
+
// 停止会话
|
|
82
|
+
const stopChat = (sessionCode, config)=>fetchClient.post(`session_content/stop/`, {
|
|
83
|
+
session_code: sessionCode
|
|
84
|
+
}, config);
|
|
85
|
+
// 获取流程引擎任务节点详情
|
|
86
|
+
const getFlowAgentTaskNodeInfo = (taskId, nodeId, config)=>fetchClient.get(`flow_agent/task_node_info/${taskId}/${nodeId}/`, undefined, config);
|
|
45
87
|
return {
|
|
46
88
|
getMessages,
|
|
47
89
|
plusMessage,
|
|
48
90
|
modifyMessage,
|
|
49
91
|
deleteMessage,
|
|
50
|
-
batchDeleteMessages
|
|
92
|
+
batchDeleteMessages,
|
|
93
|
+
shareMessages,
|
|
94
|
+
stopChat,
|
|
95
|
+
getFlowAgentTaskNodeInfo
|
|
51
96
|
};
|
|
52
97
|
};
|