@blueking/chat-helper 0.0.12-beta.13 → 0.0.12-beta.14

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.
@@ -20,8 +20,8 @@ export interface IShareMessagesResponse {
20
20
  */
21
21
  export declare const useMessage: (fetchClient: FetchClient) => {
22
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").IInterruptMessage | 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").IInterruptMessage | 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>;
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 | import("../../message/type").IInterruptMessage>;
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 | import("../../message/type").IInterruptMessage>;
25
25
  deleteMessage: (id: string, config?: IRequestConfig) => Promise<IMessage>;
26
26
  batchDeleteMessages: (ids: string[], config?: IRequestConfig) => Promise<number>;
27
27
  shareMessages: (sessionCode: string, contentIds: string[], expiredAt?: number, config?: IRequestConfig) => Promise<IShareMessagesResponse>;
@@ -1,4 +1,4 @@
1
- import type { ISession, ISessionFeedback, ISessionListParams } from '../../session/type';
1
+ import type { GetPvFileDownloadUrlOptions, IPvFileDownloadUrlResult, ISession, ISessionFeedback, ISessionListParams } from '../../session/type';
2
2
  import type { FetchClient, IRequestConfig } from '../fetch';
3
3
  /**
4
4
  * session 相关 http 接口
@@ -30,5 +30,6 @@ export declare const useSession: (fetchClient: FetchClient) => {
30
30
  uploadFile: (sessionCode: string, file: File, config?: IRequestConfig) => Promise<{
31
31
  download_url?: string;
32
32
  }>;
33
+ getPvFileDownloadUrl: (sessionCode: string, path: string, options?: GetPvFileDownloadUrlOptions, config?: IRequestConfig) => Promise<IPvFileDownloadUrlResult>;
33
34
  isResumeSession: (sessionCode: string, config?: IRequestConfig) => Promise<boolean>;
34
35
  };
@@ -78,6 +78,8 @@ import { transferSession2SessionApi, transferSessionApi2Session, transferSession
78
78
  import { resolveRequestValue } from '../fetch/index.ts.js';
79
79
  /** 上传接口传输用文件名前缀,与原始展示名解耦 */ const UPLOAD_FILE_NAME_PREFIX = 'upload_file';
80
80
  /** 会话列表默认每页条数 */ const DEFAULT_PAGE_SIZE = 20;
81
+ const DEFAULT_PV_FILE_DOWNLOAD_EXPIRES_IN = 600;
82
+ const DEFAULT_PV_FILE_DOWNLOAD_TIMEOUT = 20000;
81
83
  /**
82
84
  * 将会话列表接口响应统一为分页结构。
83
85
  * 兼容两类后台:
@@ -167,6 +169,22 @@ import { resolveRequestValue } from '../fetch/index.ts.js';
167
169
  })
168
170
  })));
169
171
  };
172
+ /**
173
+ * 签发会话 PV 文件的临时 download_url / preview_url。
174
+ * path 为文件相对路径(artifacts 的 outputId);URLSearchParams 会自动编码,勿二次 encode。
175
+ */ const getPvFileDownloadUrl = (sessionCode, path, options, config)=>{
176
+ var _options_expiresIn;
177
+ const expiresIn = (_options_expiresIn = options === null || options === void 0 ? void 0 : options.expiresIn) !== null && _options_expiresIn !== void 0 ? _options_expiresIn : DEFAULT_PV_FILE_DOWNLOAD_EXPIRES_IN;
178
+ var _options_timeout;
179
+ const timeout = (_options_timeout = options === null || options === void 0 ? void 0 : options.timeout) !== null && _options_timeout !== void 0 ? _options_timeout : DEFAULT_PV_FILE_DOWNLOAD_TIMEOUT;
180
+ var _config_timeout;
181
+ return fetchClient.get(`session/${sessionCode}/pv_files/download_url/`, {
182
+ expires_in: expiresIn,
183
+ path
184
+ }, _object_spread_props(_object_spread({}, config), {
185
+ timeout: (_config_timeout = config === null || config === void 0 ? void 0 : config.timeout) !== null && _config_timeout !== void 0 ? _config_timeout : timeout
186
+ }));
187
+ };
170
188
  // 轮询接口,判断是否可以继续聊天
171
189
  const isResumeSession = (sessionCode, config)=>fetchClient.get(`session/${sessionCode}/is_resume/`, undefined, config);
172
190
  return {
@@ -181,6 +199,7 @@ import { resolveRequestValue } from '../fetch/index.ts.js';
181
199
  getSessionFeedbackReasons,
182
200
  renameSession,
183
201
  uploadFile,
202
+ getPvFileDownloadUrl,
184
203
  isResumeSession
185
204
  };
186
205
  };
@@ -1,7 +1,15 @@
1
- import type { IAgentInfo, IAgentInfoApi } from '../../agent/type';
1
+ import type { IAgentInfo, IAgentInfoApi, ILlmItem, ILlmItemApi } from '../../agent/type';
2
2
  /**
3
3
  * 将 API 返回的 agent 信息数据转换为前端使用的 agent 信息数据
4
4
  * @param data API 返回的 agent 信息数据
5
5
  * @returns 前端使用的 agent 信息数据
6
6
  */
7
7
  export declare const transferAgentInfoApi2AgentInfo: (data: IAgentInfoApi) => IAgentInfo;
8
+ /**
9
+ * 将 llms/ 接口单项规范化为前端 ILlmItem(补齐缺省字段,避免 UI 崩溃)
10
+ */
11
+ export declare const transferLlmApi2LlmItem: (data: ILlmItemApi) => ILlmItem;
12
+ /**
13
+ * 将 llms/ 列表响应规范化为 ILlmItem[]
14
+ */
15
+ export declare const transferLlmListApi2LlmItems: (data: ILlmItemApi[] | null | undefined) => ILlmItem[];
@@ -79,3 +79,30 @@
79
79
  resources: data === null || data === void 0 ? void 0 : data.resources
80
80
  };
81
81
  };
82
+ /**
83
+ * 将 llms/ 接口单项规范化为前端 ILlmItem(补齐缺省字段,避免 UI 崩溃)
84
+ */ export const transferLlmApi2LlmItem = (data)=>{
85
+ var _data_id, _data_llm_type, _data_icon, _data_description, _data_max_token_size, _data_property, _data_space_auth_mode, _data_user_auth_mode;
86
+ return {
87
+ id: (_data_id = data.id) !== null && _data_id !== void 0 ? _data_id : 0,
88
+ llm_code: data.llm_code,
89
+ llm_name: data.llm_name,
90
+ llm_type: (_data_llm_type = data.llm_type) !== null && _data_llm_type !== void 0 ? _data_llm_type : 'chat.completion',
91
+ icon: (_data_icon = data.icon) !== null && _data_icon !== void 0 ? _data_icon : '',
92
+ description: (_data_description = data.description) !== null && _data_description !== void 0 ? _data_description : '',
93
+ base_model: data.base_model,
94
+ max_token_size: (_data_max_token_size = data.max_token_size) !== null && _data_max_token_size !== void 0 ? _data_max_token_size : 0,
95
+ property: (_data_property = data.property) !== null && _data_property !== void 0 ? _data_property : {},
96
+ space_auth_mode: (_data_space_auth_mode = data.space_auth_mode) !== null && _data_space_auth_mode !== void 0 ? _data_space_auth_mode : '',
97
+ user_auth_mode: (_data_user_auth_mode = data.user_auth_mode) !== null && _data_user_auth_mode !== void 0 ? _data_user_auth_mode : '',
98
+ tag_names: data.tag_names
99
+ };
100
+ };
101
+ /**
102
+ * 将 llms/ 列表响应规范化为 ILlmItem[]
103
+ */ export const transferLlmListApi2LlmItems = (data)=>{
104
+ if (!Array.isArray(data)) {
105
+ return [];
106
+ }
107
+ return data.map(transferLlmApi2LlmItem);
108
+ };
@@ -113,6 +113,7 @@ import { ActivityType, MessageRole, MessageType } from '../../message/type.ts.js
113
113
  break;
114
114
  }
115
115
  case ActivityType.FlowAgent:
116
+ case ActivityType.ArtifactsGenerated:
116
117
  default:
117
118
  content = activityData.content;
118
119
  break;
@@ -120,6 +121,7 @@ import { ActivityType, MessageRole, MessageType } from '../../message/type.ts.js
120
121
  const result = _object_spread_props(_object_spread({}, baseMessage), {
121
122
  activityType: activityData.activity_type,
122
123
  content,
124
+ property: activityData.property,
123
125
  role: activityData.role
124
126
  });
125
127
  return result;
@@ -382,6 +384,7 @@ import { ActivityType, MessageRole, MessageType } from '../../message/type.ts.js
382
384
  break;
383
385
  }
384
386
  case ActivityType.FlowAgent:
387
+ case ActivityType.ArtifactsGenerated:
385
388
  default:
386
389
  content = activityData.content;
387
390
  break;
@@ -389,6 +392,7 @@ import { ActivityType, MessageRole, MessageType } from '../../message/type.ts.js
389
392
  const result = _object_spread_props(_object_spread({}, baseMessage), {
390
393
  activity_type: activityData.activityType,
391
394
  content,
395
+ property: activityData.property,
392
396
  role: activityData.role
393
397
  });
394
398
  return result;