@ai-group/chat-sdk 3.6.12 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/XAdkChatbot/index.js +2 -2
- package/dist/cjs/components/XAdkChatbot/index.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/index.js +3 -3
- package/dist/cjs/components/XAdkProvider/index.js.map +2 -2
- package/dist/cjs/core/index.d.ts +2 -0
- package/dist/cjs/core/index.js +26 -0
- package/dist/cjs/core/index.js.map +7 -0
- package/dist/cjs/core/protocol/index.d.ts +3 -0
- package/dist/cjs/core/protocol/index.js +28 -0
- package/dist/cjs/core/protocol/index.js.map +7 -0
- package/dist/cjs/core/protocol/messages.d.ts +55 -0
- package/dist/cjs/core/protocol/messages.js +307 -0
- package/dist/cjs/core/protocol/messages.js.map +7 -0
- package/dist/cjs/core/protocol/parts.d.ts +24 -0
- package/dist/cjs/core/protocol/parts.js +106 -0
- package/dist/cjs/core/protocol/parts.js.map +7 -0
- package/dist/cjs/core/protocol/types.d.ts +57 -0
- package/dist/cjs/core/protocol/types.js +18 -0
- package/dist/cjs/core/protocol/types.js.map +7 -0
- package/dist/cjs/core/runtime/createAdkConversationController.d.ts +8 -0
- package/dist/cjs/core/runtime/createAdkConversationController.js +424 -0
- package/dist/cjs/core/runtime/createAdkConversationController.js.map +7 -0
- package/dist/cjs/core/runtime/index.d.ts +2 -0
- package/dist/cjs/core/runtime/index.js +26 -0
- package/dist/cjs/core/runtime/index.js.map +7 -0
- package/dist/cjs/core/runtime/types.d.ts +130 -0
- package/dist/cjs/core/runtime/types.js +18 -0
- package/dist/cjs/core/runtime/types.js.map +7 -0
- package/dist/{esm/utils/umdEntry.d.ts → cjs/entries/umd.d.ts} +7 -0
- package/dist/cjs/{utils/umdEntry.js → entries/umd.js} +19 -9
- package/dist/cjs/entries/umd.js.map +7 -0
- package/dist/cjs/index.d.ts +6 -1
- package/dist/cjs/index.js +19 -11
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/presets/xgroup/index.d.ts +4 -0
- package/dist/cjs/presets/xgroup/index.js +30 -0
- package/dist/cjs/presets/xgroup/index.js.map +7 -0
- package/dist/cjs/presets/xgroup/preset.d.ts +15 -0
- package/dist/cjs/presets/xgroup/preset.js +69 -0
- package/dist/cjs/presets/xgroup/preset.js.map +7 -0
- package/dist/cjs/presets/xgroup/strategies.d.ts +8 -0
- package/dist/cjs/presets/xgroup/strategies.js +53 -0
- package/dist/cjs/presets/xgroup/strategies.js.map +7 -0
- package/dist/cjs/presets/xgroup/transport.d.ts +15 -0
- package/dist/cjs/presets/xgroup/transport.js +183 -0
- package/dist/cjs/presets/xgroup/transport.js.map +7 -0
- package/dist/cjs/presets/xgroup/upload.d.ts +8 -0
- package/dist/cjs/presets/xgroup/upload.js +65 -0
- package/dist/cjs/presets/xgroup/upload.js.map +7 -0
- package/dist/cjs/react/index.d.ts +6 -0
- package/dist/cjs/react/index.js +53 -0
- package/dist/cjs/react/index.js.map +7 -0
- package/dist/cjs/react/useAdkConversation.d.ts +27 -0
- package/dist/cjs/react/useAdkConversation.js +69 -0
- package/dist/cjs/react/useAdkConversation.js.map +7 -0
- package/dist/esm/components/XAdkChatbot/index.js +1 -1
- package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
- package/dist/esm/components/XAdkProvider/index.js +1 -1
- package/dist/esm/components/XAdkProvider/index.js.map +1 -1
- package/dist/esm/core/index.d.ts +2 -0
- package/dist/esm/core/index.js +3 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/protocol/index.d.ts +3 -0
- package/dist/esm/core/protocol/index.js +4 -0
- package/dist/esm/core/protocol/index.js.map +1 -0
- package/dist/esm/core/protocol/messages.d.ts +55 -0
- package/dist/esm/core/protocol/messages.js +315 -0
- package/dist/esm/core/protocol/messages.js.map +1 -0
- package/dist/esm/core/protocol/parts.d.ts +24 -0
- package/dist/esm/core/protocol/parts.js +100 -0
- package/dist/esm/core/protocol/parts.js.map +1 -0
- package/dist/esm/core/protocol/types.d.ts +57 -0
- package/dist/esm/core/protocol/types.js +2 -0
- package/dist/esm/core/protocol/types.js.map +1 -0
- package/dist/esm/core/runtime/createAdkConversationController.d.ts +8 -0
- package/dist/esm/core/runtime/createAdkConversationController.js +742 -0
- package/dist/esm/core/runtime/createAdkConversationController.js.map +1 -0
- package/dist/esm/core/runtime/index.d.ts +2 -0
- package/dist/esm/core/runtime/index.js +3 -0
- package/dist/esm/core/runtime/index.js.map +1 -0
- package/dist/esm/core/runtime/types.d.ts +130 -0
- package/dist/esm/core/runtime/types.js +2 -0
- package/dist/esm/core/runtime/types.js.map +1 -0
- package/dist/{cjs/utils/umdEntry.d.ts → esm/entries/umd.d.ts} +7 -0
- package/dist/esm/{utils/umdEntry.js → entries/umd.js} +10 -1
- package/dist/esm/entries/umd.js.map +1 -0
- package/dist/esm/index.d.ts +6 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/presets/xgroup/index.d.ts +4 -0
- package/dist/esm/presets/xgroup/index.js +5 -0
- package/dist/esm/presets/xgroup/index.js.map +1 -0
- package/dist/esm/presets/xgroup/preset.d.ts +15 -0
- package/dist/esm/presets/xgroup/preset.js +44 -0
- package/dist/esm/presets/xgroup/preset.js.map +1 -0
- package/dist/esm/presets/xgroup/strategies.d.ts +8 -0
- package/dist/esm/presets/xgroup/strategies.js +30 -0
- package/dist/esm/presets/xgroup/strategies.js.map +1 -0
- package/dist/esm/presets/xgroup/transport.d.ts +15 -0
- package/dist/esm/presets/xgroup/transport.js +322 -0
- package/dist/esm/presets/xgroup/transport.js.map +1 -0
- package/dist/esm/presets/xgroup/upload.d.ts +8 -0
- package/dist/esm/presets/{xGroupAdk.js → xgroup/upload.js} +9 -63
- package/dist/esm/presets/xgroup/upload.js.map +1 -0
- package/dist/esm/react/index.d.ts +6 -0
- package/dist/esm/react/index.js +5 -0
- package/dist/esm/react/index.js.map +1 -0
- package/dist/esm/react/useAdkConversation.d.ts +27 -0
- package/dist/esm/react/useAdkConversation.js +53 -0
- package/dist/esm/react/useAdkConversation.js.map +1 -0
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +36 -2
- package/dist/cjs/presets/xGroupAdk.d.ts +0 -20
- package/dist/cjs/presets/xGroupAdk.js +0 -130
- package/dist/cjs/presets/xGroupAdk.js.map +0 -7
- package/dist/cjs/utils/umdEntry.js.map +0 -7
- package/dist/esm/presets/xGroupAdk.d.ts +0 -20
- package/dist/esm/presets/xGroupAdk.js.map +0 -1
- package/dist/esm/utils/umdEntry.js.map +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/core/runtime/types.ts"],
|
|
4
|
+
"sourcesContent": ["import type {\n AgentRunRequest,\n Event,\n FunctionCall,\n FunctionResponse,\n IMessage,\n SendContent,\n} from \"@/types\";\nimport type { AdkProtocolOptions } from \"../protocol\";\n\nexport interface AdkAppInfo {\n onboardingInfo?: {\n prologue?: string;\n suggested_questions?: string[];\n };\n [key: string]: unknown;\n}\n\nexport interface AdkSessionInfo {\n sessionId: string;\n title?: string;\n startTime?: string;\n [key: string]: unknown;\n}\n\nexport interface AdkStreamHandlers {\n /** 流式连接打开后的回调,可用于检查响应头或状态码。 */\n onOpen?: (response: Response) => void;\n /** 每收到一个后端 ADK event 时触发。 */\n onEvent: (event: Event) => void;\n /** transport 层错误回调,runtime 不直接依赖 UI 提示。 */\n onError?: (error: unknown) => void;\n /** 流式连接正常结束时触发。 */\n onClose?: () => void;\n signal?: AbortSignal;\n}\n\n/**\n * 对话数据流的请求适配层。\n *\n * SDK runtime 只依赖这个接口,不关心具体 URL、headers、登录态、网关协议。\n * AI 中台、超级小乾等业务项目只需要实现自己的 transport,就能复用同一套\n * 消息归一化、流式拼接、session events 补偿和会话状态管理逻辑。\n */\nexport interface AdkChatTransport {\n fetchAppConfig?: () => Promise<AdkAppInfo | null>;\n fetchSessions?: (params?: {\n pageNum?: number;\n pageSize?: number;\n }) => Promise<{\n data: AdkSessionInfo[];\n pagination?: { total?: number; hasMore?: boolean; nextPage?: number };\n }>;\n fetchSessionEvents?: (sessionId: string) => Promise<Event[]>;\n sendMessageStreaming: (\n payload: AgentRunRequest,\n handlers: AdkStreamHandlers,\n ) => Promise<void>;\n closeSession?: (sessionId: string) => Promise<boolean>;\n updateSessionTitle?: (sessionId: string, title: string) => Promise<boolean>;\n feedback?: (params: {\n invocationId: string;\n isLike: 1 | -1;\n feedbackTags?: string;\n feedbackDescription?: string;\n }) => Promise<boolean>;\n interrupt?: (sessionId: string, context?: Record<string, unknown>) => Promise<void>;\n}\n\nexport interface AdkConversationState {\n appInfo: AdkAppInfo | null;\n initialized: boolean;\n loading: boolean;\n sessionLoading: boolean;\n currentSessionId: string;\n messages: IMessage[];\n sessionList: AdkSessionInfo[];\n sessionPagination: {\n total: number;\n pageNum: number;\n pageSize: number;\n };\n prologue: string;\n suggestions: string[];\n}\n\nexport interface AdkConversationCallbacks {\n onError?: (error: unknown) => void;\n onNotice?: (notice: { type: \"warning\" | \"error\" | \"info\"; message: string }) => void;\n onAuthExpired?: () => void;\n onStream?: (event: Event) => void;\n onMessage?: (content: string, data: IMessage) => void;\n onRequestComplete?: () => void;\n}\n\nexport interface AdkConversationOptions {\n /** 业务请求适配器,是 headless runtime 和具体后端协议之间的边界。 */\n transport: AdkChatTransport;\n sessionId?: string;\n /** ADK 协议转换策略,例如是否隐藏异步任务事件、是否自动配对工具响应。 */\n protocol?: AdkProtocolOptions;\n session?: {\n pollSessionEvents?: boolean;\n sessionEventsPollingInterval?: number;\n pageSize?: number;\n showFirstSession?: boolean;\n };\n requestBuilder?: (input: {\n content: SendContent;\n sessionId: string;\n stateDelta?: Record<string, unknown>;\n }) => AgentRunRequest;\n /** 覆盖默认工具确认响应结构。 */\n createFunctionResponse?: (\n fnCall: FunctionCall,\n confirmed: boolean,\n ) => FunctionResponse;\n callbacks?: AdkConversationCallbacks;\n}\n\nexport type AdkConversationSubscriber = (\n state: AdkConversationState,\n) => void;\n\nexport interface AdkConversationController {\n /** 获取当前状态快照,适合 UMD 或非 React 场景主动读取。 */\n getSnapshot: () => AdkConversationState;\n /** 订阅状态变化,React Hook 也是基于这个方法做绑定。 */\n subscribe: (subscriber: AdkConversationSubscriber) => () => void;\n init: () => Promise<void>;\n destroy: () => void;\n startChat: (content: SendContent) => Promise<void>;\n stopChat: () => Promise<void>;\n reChat: () => Promise<void>;\n clearChat: () => void;\n suggestChat: (suggestion: string) => Promise<void>;\n confirmFnCall: (fnCall: FunctionCall, confirmed: boolean) => Promise<void>;\n switchSession: (sessionId: string) => Promise<void>;\n setCurrentSession: (sessionId: string) => Promise<void>;\n deleteSession: (sessionId: string) => Promise<boolean>;\n updateSession: (sessionId: string, title: string) => Promise<boolean>;\n likeMessage: AdkChatTransport[\"feedback\"];\n replaceSessionEvents: (events: Event[]) => void;\n syncSessionEvents: (events: Event[], sessionId?: string) => void;\n setMessages: (\n messages: IMessage[] | ((prev: IMessage[]) => IMessage[]),\n ) => void;\n setStateDelta: (delta: Record<string, unknown> | undefined) => void;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { XAdkSDKProps, XAdkProviderHandle, IMessage } from "../types";
|
|
3
3
|
import { SendContent } from "../types";
|
|
4
|
+
import * as protocol from "../core/protocol";
|
|
4
5
|
/**
|
|
5
6
|
* 内部包装组件:管理 token 状态,支持运行时动态更新
|
|
6
7
|
*/
|
|
@@ -33,6 +34,12 @@ interface WrapperHandle extends XAdkProviderHandle {
|
|
|
33
34
|
* ```
|
|
34
35
|
*/
|
|
35
36
|
declare class XAiWebSDK {
|
|
37
|
+
/** UMD 场景下暴露协议工具,方便无构建环境复用 ADK event/message 转换能力。 */
|
|
38
|
+
static protocol: typeof protocol;
|
|
39
|
+
/** UMD 场景下创建 headless 对话控制器,不强制渲染默认聊天模板。 */
|
|
40
|
+
static createAdkController: (options: import("../core/runtime").AdkConversationOptions) => import("../core/runtime").AdkConversationController;
|
|
41
|
+
/** UMD 场景下创建众安信科默认 openApi transport。 */
|
|
42
|
+
static createXGroupOpenApiTransport: ({ url, appNo, token, pageSize, onAuthError, }: import("../presets/xgroup").XGroupOpenApiTransportOptions) => import("../core/runtime").AdkChatTransport;
|
|
36
43
|
container: HTMLElement;
|
|
37
44
|
props: XAdkSDKProps;
|
|
38
45
|
root: any;
|
|
@@ -26,15 +26,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
));
|
|
27
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
28
|
|
|
29
|
-
// src/
|
|
30
|
-
var
|
|
31
|
-
__export(
|
|
32
|
-
default: () =>
|
|
29
|
+
// src/entries/umd.tsx
|
|
30
|
+
var umd_exports = {};
|
|
31
|
+
__export(umd_exports, {
|
|
32
|
+
default: () => umd_default
|
|
33
33
|
});
|
|
34
|
-
module.exports = __toCommonJS(
|
|
34
|
+
module.exports = __toCommonJS(umd_exports);
|
|
35
35
|
var import_react = require("react");
|
|
36
36
|
var import_client = __toESM(require("react-dom/client"));
|
|
37
37
|
var import_XAdkProvider = __toESM(require("../components/XAdkProvider"));
|
|
38
|
+
var protocol = __toESM(require("../core/protocol"));
|
|
39
|
+
var import_runtime = require("../core/runtime");
|
|
40
|
+
var import_xgroup = require("../presets/xgroup");
|
|
38
41
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
39
42
|
var SDKWrapper = (0, import_react.forwardRef)(
|
|
40
43
|
({
|
|
@@ -115,7 +118,7 @@ var SDKWrapper = (0, import_react.forwardRef)(
|
|
|
115
118
|
}
|
|
116
119
|
);
|
|
117
120
|
SDKWrapper.displayName = "SDKWrapper";
|
|
118
|
-
var
|
|
121
|
+
var _XAiWebSDK = class {
|
|
119
122
|
constructor(container, props) {
|
|
120
123
|
this.wrapperRef = (0, import_react.createRef)();
|
|
121
124
|
this.container = container;
|
|
@@ -208,7 +211,7 @@ var XAiWebSDK = class {
|
|
|
208
211
|
if (!container.parentNode) {
|
|
209
212
|
document.body.appendChild(container);
|
|
210
213
|
}
|
|
211
|
-
return new
|
|
214
|
+
return new _XAiWebSDK(container, props);
|
|
212
215
|
}
|
|
213
216
|
/**
|
|
214
217
|
* 兼容旧版本的静态方法
|
|
@@ -349,6 +352,13 @@ var XAiWebSDK = class {
|
|
|
349
352
|
(_a = this.wrapperRef.current) == null ? void 0 : _a.setStateDelta(delta);
|
|
350
353
|
}
|
|
351
354
|
};
|
|
355
|
+
var XAiWebSDK = _XAiWebSDK;
|
|
356
|
+
/** UMD 场景下暴露协议工具,方便无构建环境复用 ADK event/message 转换能力。 */
|
|
357
|
+
XAiWebSDK.protocol = protocol;
|
|
358
|
+
/** UMD 场景下创建 headless 对话控制器,不强制渲染默认聊天模板。 */
|
|
359
|
+
XAiWebSDK.createAdkController = import_runtime.createAdkConversationController;
|
|
360
|
+
/** UMD 场景下创建众安信科默认 openApi transport。 */
|
|
361
|
+
XAiWebSDK.createXGroupOpenApiTransport = import_xgroup.createXGroupOpenApiTransport;
|
|
352
362
|
window.XAiWebSDK = XAiWebSDK;
|
|
353
|
-
var
|
|
354
|
-
//# sourceMappingURL=
|
|
363
|
+
var umd_default = XAiWebSDK;
|
|
364
|
+
//# sourceMappingURL=umd.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/entries/umd.tsx"],
|
|
4
|
+
"sourcesContent": ["import { createRef, useState, useImperativeHandle, forwardRef } from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { XAdkSDKProps, XAdkProviderHandle, IMessage } from \"@/types\";\nimport XAdkProvider from \"@/components/XAdkProvider\";\nimport { SendContent } from \"@/types\";\nimport * as protocol from \"@/core/protocol\";\nimport { createAdkConversationController } from \"@/core/runtime\";\nimport { createXGroupOpenApiTransport } from \"@/presets/xgroup\";\n\n/**\n * 内部包装组件:管理 token 状态,支持运行时动态更新\n */\ninterface WrapperHandle extends XAdkProviderHandle {\n setToken: (token: string) => void;\n}\n\ninterface WrapperProps extends Omit<XAdkSDKProps, \"children\"> {\n showSessionList: boolean;\n allowUpload: boolean;\n draggable: boolean;\n clearBtnShow: boolean;\n}\n\nconst SDKWrapper = forwardRef<WrapperHandle, WrapperProps>(\n (\n {\n token: initialToken,\n showSessionList,\n allowUpload,\n draggable,\n clearBtnShow,\n ...rest\n },\n ref,\n ) => {\n const [token, setToken] = useState(initialToken);\n const providerRef = createRef<XAdkProviderHandle>();\n\n useImperativeHandle(\n ref,\n () => ({\n setToken,\n startChat: (content: SendContent) =>\n providerRef.current?.startChat(content),\n stopChat: () => providerRef.current?.stopChat(),\n reChat: () => providerRef.current?.reChat(),\n clearChat: () => providerRef.current?.clearChat(),\n deleteSession: (id: string) =>\n providerRef.current?.deleteSession(id),\n updateSession: (id: string, title: string) =>\n providerRef.current?.updateSession(id, title),\n getAppInfo: () => providerRef.current?.getAppInfo(),\n getMessages: () => providerRef.current?.getMessages() ?? [],\n getSessions: () => providerRef.current?.getSessions() ?? [],\n setMessages: (msgs: IMessage[]) =>\n providerRef.current?.setMessages(msgs),\n setCurrentSession: (id: string) =>\n providerRef.current?.setCurrentSession(id),\n setStateDelta: (delta: Record<string, any> | undefined) =>\n providerRef.current?.setStateDelta(delta),\n }),\n [providerRef],\n );\n\n return (\n <XAdkProvider ref={providerRef} {...rest} token={token}>\n <XAdkProvider.DefaultLayout\n showSessionList={showSessionList}\n allowUpload={allowUpload}\n draggable={draggable}\n clearBtnShow={clearBtnShow}\n showFnCallDetail={true}\n />\n </XAdkProvider>\n );\n },\n);\n\nSDKWrapper.displayName = \"SDKWrapper\";\n\n/**\n * XAiWebSDK - UMD 入口类\n *\n * 用于通过 <script> 标签引入 SDK 的场景\n *\n * @example\n * ```html\n * <script src=\"chat-sdk.min.js\"></script>\n * <script>\n * const sdk = XAiWebSDK.initChatbot({\n * url: 'https://api.example.com',\n * token: 'your-token',\n * config: {\n * appNo: 'your-app-no',\n * session: {\n * showSessionList: true\n * }\n * }\n * });\n *\n * // token 过期后动态更新\n * sdk.setToken('new-token');\n * </script>\n * ```\n */\nclass XAiWebSDK {\n /** UMD 场景下暴露协议工具,方便无构建环境复用 ADK event/message 转换能力。 */\n static protocol = protocol;\n\n /** UMD 场景下创建 headless 对话控制器,不强制渲染默认聊天模板。 */\n static createAdkController = createAdkConversationController;\n\n /** UMD 场景下创建众安信科默认 openApi transport。 */\n static createXGroupOpenApiTransport = createXGroupOpenApiTransport;\n\n container: HTMLElement;\n\n props: XAdkSDKProps;\n\n root: any;\n\n wrapperRef = createRef<WrapperHandle>();\n\n // ———— hook ————\n onError?: (error: any) => void;\n\n onSuccess?: (appInfo: any) => void;\n\n onMessage?: (content: string, data: IMessage) => void;\n\n constructor(container: HTMLElement, props: XAdkSDKProps) {\n this.container = container;\n this.props = props;\n this.onError = props.onError;\n this.onSuccess = props.onSuccess;\n this.onMessage = props.onMessage;\n this.mount();\n }\n\n mount() {\n // 提取配置\n const { config = {} } = this.props;\n const showSessionList = config.session?.showSessionList ?? false;\n const allowUpload = config.allowUpload ?? false;\n const draggable = config.draggable ?? true;\n const clearBtnShow = config.chatProps?.clearBtnShow ?? true;\n\n const element = (\n <div style={{ width: \"100%\", height: \"100%\" }}>\n <SDKWrapper\n ref={this.wrapperRef}\n {...this.props}\n showSessionList={showSessionList}\n allowUpload={allowUpload}\n draggable={draggable}\n clearBtnShow={clearBtnShow}\n />\n </div>\n );\n\n if (ReactDOM.createRoot) {\n this.root = ReactDOM.createRoot(this.container);\n this.root.render(element);\n } else {\n // 兼容 React 17\n // @ts-ignore\n ReactDOM.render(element, this.container);\n }\n }\n\n unmount() {\n if (this.root && this.root.unmount) {\n this.root.unmount();\n }\n }\n\n /**\n * 初始化聊天机器人(推荐方式)\n *\n * @param props - SDK 配置参数\n * @returns XAiWebSDK 实例\n *\n * @example\n * ```javascript\n * const sdk = XAiWebSDK.initChatbot({\n * url: 'https://api.example.com',\n * token: 'your-token',\n * config: {\n * appNo: 'your-app-no',\n * session: {\n * showSessionList: true // 显示会话列表\n * },\n * allowUpload: true, // 允许文件上传\n * chatProps: {\n * clearBtnShow: false // 隐藏清空按钮\n * }\n * },\n * componentProps: {\n * id: 'my-chatbot', // 容器 ID\n * width: '100%',\n * height: '600px'\n * }\n * });\n * ```\n */\n static initChatbot(props: XAdkSDKProps): XAiWebSDK {\n let container: HTMLElement;\n\n // 检查是否有指定的 componentProps.id\n if (props.componentProps?.id) {\n const existingContainer = document.getElementById(\n props.componentProps.id,\n );\n if (existingContainer) {\n container = existingContainer;\n } else {\n // 如果指定的 ID 不存在,创建新元素\n container = document.createElement(\"div\");\n container.id = props.componentProps.id;\n }\n } else {\n // 没有指定 ID,创建默认容器\n container = document.createElement(\"div\");\n container.id = \"xai-chatbot-container\";\n }\n\n // 设置容器样式 - 将除了 id 以外的所有属性都应用到容器\n if (props.componentProps) {\n const { id, ...styleProps } = props.componentProps;\n Object.assign(container.style, styleProps);\n }\n\n // 如果容器不在 DOM 中,添加到 body\n if (!container.parentNode) {\n document.body.appendChild(container);\n }\n\n return new XAiWebSDK(container, props);\n }\n\n /**\n * 兼容旧版本的静态方法\n * @deprecated 使用 initChatbot 替代\n */\n static create(props: XAdkSDKProps): XAiWebSDK {\n return this.initChatbot(props);\n }\n\n // ————对外暴露的方法————\n\n /**\n * 动态更新认证 token\n *\n * 用于 token 过期后刷新,更新后后续的 API 请求将使用新 token,无需重新初始化 SDK。\n *\n * @param token - 新的认证 token\n *\n * @example\n * ```javascript\n * // 监听到 token 过期后\n * const newToken = await refreshToken();\n * sdk.setToken(newToken);\n * ```\n */\n setToken(token: string) {\n this.wrapperRef.current?.setToken(token);\n }\n\n /**\n * 获取当前数据(聚合方法)\n * @returns 应用信息、消息列表、会话列表\n */\n getData() {\n return {\n appInfo: this.wrapperRef.current?.getAppInfo(),\n messages: this.wrapperRef.current?.getMessages(),\n sessions: this.wrapperRef.current?.getSessions(),\n };\n }\n\n /**\n * 获取应用信息\n * @returns 应用信息\n */\n getAppInfo() {\n return this.wrapperRef.current?.getAppInfo();\n }\n\n /**\n * 获取当前会话的消息列表\n * @returns 消息列表\n */\n getMessages() {\n return this.wrapperRef.current?.getMessages();\n }\n\n /**\n * 获取会话列表\n * @returns 会话列表\n */\n getSessions() {\n return this.wrapperRef.current?.getSessions();\n }\n\n /**\n * 设置消息列表\n * @param msgs - 要设置的消息数组\n */\n setMessages(msgs: IMessage[]) {\n this.wrapperRef.current?.setMessages(msgs);\n }\n\n /**\n * 发送消息\n * @param content - 消息内容\n *\n * @example\n * ```javascript\n * sdk.startChat({ text: 'Hello!' });\n * ```\n */\n startChat(content: SendContent) {\n this.wrapperRef.current?.startChat(content);\n }\n\n /**\n * 停止当前消息生成\n */\n stopChat() {\n this.wrapperRef.current?.stopChat();\n }\n\n /**\n * 重新生成最后一条回复\n */\n reChat() {\n this.wrapperRef.current?.reChat();\n }\n\n /**\n * 清空当前会话\n */\n clearChat() {\n this.wrapperRef.current?.clearChat();\n }\n\n /**\n * 切换到指定会话\n * @param sessionId - 会话 ID\n */\n setCurrentSession(sessionId: string) {\n this.wrapperRef.current?.setCurrentSession(sessionId);\n }\n\n /**\n * 删除指定会话\n * @param sessionId - 会话 ID\n */\n deleteSession(sessionId: string) {\n this.wrapperRef.current?.deleteSession(sessionId);\n }\n\n /**\n * 更新会话标题\n * @param sessionId - 会话 ID\n * @param title - 新标题\n */\n updateSession(sessionId: string, title: string) {\n this.wrapperRef.current?.updateSession(sessionId, title);\n }\n\n /**\n * 设置自定义业务参数 (stateDelta)\n * 设置后每次发送消息时会自动携带至后端\n * @param delta - 自定义参数,传入 undefined 可清除\n */\n setStateDelta(delta: Record<string, any> | undefined) {\n this.wrapperRef.current?.setStateDelta(delta);\n }\n}\n\n// 兼容 window 方式,也支持 new\n// @ts-ignore\nwindow.XAiWebSDK = XAiWebSDK;\n\n// 支持 ESModule/UMD 直接 import\nexport default XAiWebSDK;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["XAdkProvider", "ReactDOM"]
|
|
7
|
+
}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ import XAdkChatbot from "./components/XAdkChatbot";
|
|
|
13
13
|
import XAdkSender from "./components/XAdkSender";
|
|
14
14
|
import XAdkSenderSwitch from "./components/XAdkSender/Switch";
|
|
15
15
|
import useADKChat from "./hooks/useADKChat";
|
|
16
|
-
import { baseChatStrategies, basePreset, baseToolKindResolver, mergeChatStrategies, resolvePresetUploadRequest, resolveChatPreset, createXGroupUploadRequest, xGroupAdkPreset, xGroupToolKindResolver } from "./presets/
|
|
16
|
+
import { baseChatStrategies, basePreset, baseToolKindResolver, mergeChatStrategies, resolvePresetUploadRequest, resolveChatPreset, createXGroupUploadRequest, xGroupAdkPreset, xGroupToolKindResolver } from "./presets/xgroup";
|
|
17
17
|
export { useChatState, useChatActions, useSession, } from "./components/XAdkProvider/context";
|
|
18
18
|
export * from "./types";
|
|
19
19
|
export type { ChatHookResult, ChatHookFactory } from "./types/ChatHook";
|
|
@@ -29,3 +29,8 @@ export type { MarkdownRenderProps } from "./components/XAdkChatbot/components/Ma
|
|
|
29
29
|
export type { FunctionCallRenderProps } from "./types/FunctionCallRender";
|
|
30
30
|
export type { XAdkThoughtChainProps, ThoughtChainItemType, ThoughtChainStatus, } from "./types/XAdkThoughtChain";
|
|
31
31
|
export { tokens, tokenDefaults, token, cssVarStyle } from "./styles/tokens";
|
|
32
|
+
export * from "./core";
|
|
33
|
+
export { default as useAdkConversation } from "./react/useAdkConversation";
|
|
34
|
+
export type { UseAdkConversationResult } from "./react/useAdkConversation";
|
|
35
|
+
export { createXGroupOpenApiTransport } from "./presets/xgroup";
|
|
36
|
+
export type { XGroupOpenApiTransportOptions } from "./presets/xgroup";
|
package/dist/cjs/index.js
CHANGED
|
@@ -45,26 +45,28 @@ __export(src_exports, {
|
|
|
45
45
|
XAiProvider: () => import_XAiProvider.default,
|
|
46
46
|
XAiSDK: () => import_XAiSDK.default,
|
|
47
47
|
XAiSender: () => import_XAiSender.default,
|
|
48
|
-
baseChatStrategies: () =>
|
|
49
|
-
basePreset: () =>
|
|
50
|
-
baseToolKindResolver: () =>
|
|
51
|
-
|
|
48
|
+
baseChatStrategies: () => import_xgroup.baseChatStrategies,
|
|
49
|
+
basePreset: () => import_xgroup.basePreset,
|
|
50
|
+
baseToolKindResolver: () => import_xgroup.baseToolKindResolver,
|
|
51
|
+
createXGroupOpenApiTransport: () => import_xgroup2.createXGroupOpenApiTransport,
|
|
52
|
+
createXGroupUploadRequest: () => import_xgroup.createXGroupUploadRequest,
|
|
52
53
|
cssVarStyle: () => import_tokens.cssVarStyle,
|
|
53
|
-
mergeChatStrategies: () =>
|
|
54
|
+
mergeChatStrategies: () => import_xgroup.mergeChatStrategies,
|
|
54
55
|
request: () => import_request.default,
|
|
55
|
-
resolveChatPreset: () =>
|
|
56
|
-
resolvePresetUploadRequest: () =>
|
|
56
|
+
resolveChatPreset: () => import_xgroup.resolveChatPreset,
|
|
57
|
+
resolvePresetUploadRequest: () => import_xgroup.resolvePresetUploadRequest,
|
|
57
58
|
token: () => import_tokens.token,
|
|
58
59
|
tokenDefaults: () => import_tokens.tokenDefaults,
|
|
59
60
|
tokens: () => import_tokens.tokens,
|
|
60
61
|
useADKChat: () => import_useADKChat.default,
|
|
62
|
+
useAdkConversation: () => import_useAdkConversation.default,
|
|
61
63
|
useChatActions: () => import_context.useChatActions,
|
|
62
64
|
useChatState: () => import_context.useChatState,
|
|
63
65
|
useSession: () => import_context.useSession,
|
|
64
66
|
useXAi: () => import_AiProviderContext.useXAi,
|
|
65
67
|
useXAiSDK: () => import_useXAiSDK.default,
|
|
66
|
-
xGroupAdkPreset: () =>
|
|
67
|
-
xGroupToolKindResolver: () =>
|
|
68
|
+
xGroupAdkPreset: () => import_xgroup.xGroupAdkPreset,
|
|
69
|
+
xGroupToolKindResolver: () => import_xgroup.xGroupToolKindResolver
|
|
68
70
|
});
|
|
69
71
|
module.exports = __toCommonJS(src_exports);
|
|
70
72
|
var import_AiProviderContext = require("./context/AiProviderContext");
|
|
@@ -82,7 +84,7 @@ var import_XAdkChatbot = __toESM(require("./components/XAdkChatbot"));
|
|
|
82
84
|
var import_XAdkSender = __toESM(require("./components/XAdkSender"));
|
|
83
85
|
var import_Switch = __toESM(require("./components/XAdkSender/Switch"));
|
|
84
86
|
var import_useADKChat = __toESM(require("./hooks/useADKChat"));
|
|
85
|
-
var
|
|
87
|
+
var import_xgroup = require("./presets/xgroup");
|
|
86
88
|
var import_context = require("./components/XAdkProvider/context");
|
|
87
89
|
__reExport(src_exports, require("./types"), module.exports);
|
|
88
90
|
var import_FolderTree = __toESM(require("./components/FolderTree"));
|
|
@@ -90,6 +92,9 @@ var import_MarkdownRender = __toESM(require("./components/XAdkChatbot/components
|
|
|
90
92
|
var import_FunctionCallRender = __toESM(require("./components/XAdkChatbot/components/FunctionCallRender"));
|
|
91
93
|
var import_ThinkRender = __toESM(require("./components/XAdkChatbot/components/ThinkRender"));
|
|
92
94
|
var import_tokens = require("./styles/tokens");
|
|
95
|
+
__reExport(src_exports, require("./core"), module.exports);
|
|
96
|
+
var import_useAdkConversation = __toESM(require("./react/useAdkConversation"));
|
|
97
|
+
var import_xgroup2 = require("./presets/xgroup");
|
|
93
98
|
// Annotate the CommonJS export names for ESM import in node:
|
|
94
99
|
0 && (module.exports = {
|
|
95
100
|
FileGallery,
|
|
@@ -110,6 +115,7 @@ var import_tokens = require("./styles/tokens");
|
|
|
110
115
|
baseChatStrategies,
|
|
111
116
|
basePreset,
|
|
112
117
|
baseToolKindResolver,
|
|
118
|
+
createXGroupOpenApiTransport,
|
|
113
119
|
createXGroupUploadRequest,
|
|
114
120
|
cssVarStyle,
|
|
115
121
|
mergeChatStrategies,
|
|
@@ -120,6 +126,7 @@ var import_tokens = require("./styles/tokens");
|
|
|
120
126
|
tokenDefaults,
|
|
121
127
|
tokens,
|
|
122
128
|
useADKChat,
|
|
129
|
+
useAdkConversation,
|
|
123
130
|
useChatActions,
|
|
124
131
|
useChatState,
|
|
125
132
|
useSession,
|
|
@@ -127,6 +134,7 @@ var import_tokens = require("./styles/tokens");
|
|
|
127
134
|
useXAiSDK,
|
|
128
135
|
xGroupAdkPreset,
|
|
129
136
|
xGroupToolKindResolver,
|
|
130
|
-
...require("./types")
|
|
137
|
+
...require("./types"),
|
|
138
|
+
...require("./core")
|
|
131
139
|
});
|
|
132
140
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["// index.ts\nimport { useXAi } from \"./context/AiProviderContext\";\nimport XAiProvider from \"./components/XAiProvider\";\nimport XAiChatbot from \"./components/XAiChatbot\";\nimport XAiSDK from \"./components/XAiSDK\";\nimport XAiSender from \"./components/XAiSender\";\nimport FileGallery from \"./components/FileGallery\";\nimport XAiConversations from \"./components/XAiConversations\";\nimport XAdkThoughtChain from \"./components/XAdkThoughtChain\";\nimport useXAiSDK from \"./hooks/useXAiSDK\";\nimport request from \"./utils/request\";\n\n// 新的 Compound Components 架构\nimport XAdkProvider from \"./components/XAdkProvider\";\nimport XAdkChatbot from \"./components/XAdkChatbot\";\nimport XAdkSender from \"./components/XAdkSender\";\nimport XAdkSenderSwitch from \"./components/XAdkSender/Switch\";\nimport useADKChat from \"./hooks/useADKChat\";\nimport {\n baseChatStrategies,\n basePreset,\n baseToolKindResolver,\n mergeChatStrategies,\n resolvePresetUploadRequest,\n resolveChatPreset,\n createXGroupUploadRequest,\n xGroupAdkPreset,\n xGroupToolKindResolver,\n} from \"./presets/
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wCAAAA;AAAA,EAAA,oCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA,wCAAAC;AAAA,EAAA,wCAAAC;AAAA,EAAA,oCAAAC;AAAA,EAAA,sCAAAC;AAAA,EAAA,gDAAAC;AAAA,EAAA,oCAAAC;AAAA,EAAA,gDAAAC;AAAA,EAAA,sCAAAC;AAAA,EAAA,4BAAAC;AAAA,EAAA,kCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,oCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AACA,+BAAuB;AACvB,yBAAwB;AACxB,wBAAuB;AACvB,oBAAmB;AACnB,uBAAsB;AACtB,yBAAwB;AACxB,8BAA6B;AAC7B,8BAA6B;AAC7B,uBAAsB;AACtB,qBAAoB;AAGpB,0BAAyB;AACzB,yBAAwB;AACxB,wBAAuB;AACvB,oBAA6B;AAC7B,wBAAuB;AACvB,
|
|
6
|
-
"names": ["FileGallery", "FolderTree", "XAdkChatbot", "XAdkProvider", "XAdkSender", "XAdkSenderSwitch", "XAdkThoughtChain", "XAiChatbot", "XAiConversations", "XAiProvider", "XAiSDK", "XAiSender", "request", "useADKChat", "useXAiSDK"]
|
|
4
|
+
"sourcesContent": ["// index.ts\nimport { useXAi } from \"./context/AiProviderContext\";\nimport XAiProvider from \"./components/XAiProvider\";\nimport XAiChatbot from \"./components/XAiChatbot\";\nimport XAiSDK from \"./components/XAiSDK\";\nimport XAiSender from \"./components/XAiSender\";\nimport FileGallery from \"./components/FileGallery\";\nimport XAiConversations from \"./components/XAiConversations\";\nimport XAdkThoughtChain from \"./components/XAdkThoughtChain\";\nimport useXAiSDK from \"./hooks/useXAiSDK\";\nimport request from \"./utils/request\";\n\n// 新的 Compound Components 架构\nimport XAdkProvider from \"./components/XAdkProvider\";\nimport XAdkChatbot from \"./components/XAdkChatbot\";\nimport XAdkSender from \"./components/XAdkSender\";\nimport XAdkSenderSwitch from \"./components/XAdkSender/Switch\";\nimport useADKChat from \"./hooks/useADKChat\";\nimport {\n baseChatStrategies,\n basePreset,\n baseToolKindResolver,\n mergeChatStrategies,\n resolvePresetUploadRequest,\n resolveChatPreset,\n createXGroupUploadRequest,\n xGroupAdkPreset,\n xGroupToolKindResolver,\n} from \"./presets/xgroup\";\n\n// 导出新的 Context Hooks\nexport {\n useChatState,\n useChatActions,\n useSession,\n} from \"./components/XAdkProvider/context\";\n\nexport * from \"./types\";\n\n// 导出自定义 Hook 相关类型\nexport type { ChatHookResult, ChatHookFactory } from \"./types/ChatHook\";\n\n// 旧 API - 保持向后兼容\nexport {\n useXAi,\n XAiProvider,\n XAiChatbot,\n XAiSDK,\n XAiSender,\n XAiConversations,\n useXAiSDK,\n request,\n};\n\n// 新 API - 推荐使用\nexport {\n XAdkProvider,\n XAdkChatbot,\n XAdkSender,\n XAdkSenderSwitch,\n FileGallery,\n XAdkThoughtChain,\n useADKChat,\n baseChatStrategies,\n basePreset,\n baseToolKindResolver,\n createXGroupUploadRequest,\n mergeChatStrategies,\n resolvePresetUploadRequest,\n resolveChatPreset,\n xGroupAdkPreset,\n xGroupToolKindResolver,\n};\n\n// FolderTree 文件树组件\nimport FolderTree from \"./components/FolderTree\";\nexport { FolderTree };\nexport type {\n FolderTreeProps,\n FolderTreeData,\n FileContentService,\n FolderTreeRef,\n} from \"./components/FolderTree\";\n\n// 基础组件导出 - 供高级用户和业务侧使用\nexport { default as MarkdownRender } from \"./components/XAdkChatbot/components/MarkdownRender\";\nexport { default as FunctionCallRender } from \"./components/XAdkChatbot/components/FunctionCallRender\";\nexport { default as ThinkRender } from \"./components/XAdkChatbot/components/ThinkRender\";\n\n// 基础组件类型导出\nexport type { MarkdownRenderProps } from \"./components/XAdkChatbot/components/MarkdownRender\";\nexport type { FunctionCallRenderProps } from \"./types/FunctionCallRender\";\nexport type {\n XAdkThoughtChainProps,\n ThoughtChainItemType,\n ThoughtChainStatus,\n} from \"./types/XAdkThoughtChain\";\n\n// 设计令牌导出 - 供引用方覆盖样式\nexport { tokens, tokenDefaults, token, cssVarStyle } from \"./styles/tokens\";\n\n// Headless ADK data-flow APIs\nexport * from \"./core\";\nexport { default as useAdkConversation } from \"./react/useAdkConversation\";\nexport type { UseAdkConversationResult } from \"./react/useAdkConversation\";\nexport { createXGroupOpenApiTransport } from \"./presets/xgroup\";\nexport type { XGroupOpenApiTransportOptions } from \"./presets/xgroup\";\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wCAAAA;AAAA,EAAA,oCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA,wCAAAC;AAAA,EAAA,wCAAAC;AAAA,EAAA,oCAAAC;AAAA,EAAA,sCAAAC;AAAA,EAAA,gDAAAC;AAAA,EAAA,oCAAAC;AAAA,EAAA,gDAAAC;AAAA,EAAA,sCAAAC;AAAA,EAAA,4BAAAC;AAAA,EAAA,kCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AACA,+BAAuB;AACvB,yBAAwB;AACxB,wBAAuB;AACvB,oBAAmB;AACnB,uBAAsB;AACtB,yBAAwB;AACxB,8BAA6B;AAC7B,8BAA6B;AAC7B,uBAAsB;AACtB,qBAAoB;AAGpB,0BAAyB;AACzB,yBAAwB;AACxB,wBAAuB;AACvB,oBAA6B;AAC7B,wBAAuB;AACvB,oBAUO;AAGP,qBAIO;AAEP,wBAAc,oBArCd;AA2EA,wBAAuB;AAUvB,4BAA0C;AAC1C,gCAA8C;AAC9C,yBAAuC;AAYvC,oBAA0D;AAG1D,wBAAc,mBAtGd;AAuGA,gCAA8C;AAE9C,IAAAC,iBAA6C;",
|
|
6
|
+
"names": ["FileGallery", "FolderTree", "XAdkChatbot", "XAdkProvider", "XAdkSender", "XAdkSenderSwitch", "XAdkThoughtChain", "XAiChatbot", "XAiConversations", "XAiProvider", "XAiSDK", "XAiSender", "request", "useADKChat", "useXAiSDK", "import_xgroup"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
|
|
16
|
+
// src/presets/xgroup/index.ts
|
|
17
|
+
var xgroup_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(xgroup_exports);
|
|
19
|
+
__reExport(xgroup_exports, require("./preset"), module.exports);
|
|
20
|
+
__reExport(xgroup_exports, require("./strategies"), module.exports);
|
|
21
|
+
__reExport(xgroup_exports, require("./transport"), module.exports);
|
|
22
|
+
__reExport(xgroup_exports, require("./upload"), module.exports);
|
|
23
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
24
|
+
0 && (module.exports = {
|
|
25
|
+
...require("./preset"),
|
|
26
|
+
...require("./strategies"),
|
|
27
|
+
...require("./transport"),
|
|
28
|
+
...require("./upload")
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/presets/xgroup/index.ts"],
|
|
4
|
+
"sourcesContent": ["export * from \"./preset\";\nexport * from \"./strategies\";\nexport * from \"./transport\";\nexport * from \"./upload\";\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,qBAAd;AACA,2BAAc,yBADd;AAEA,2BAAc,wBAFd;AAGA,2BAAc,qBAHd;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ChatPreset, ChatPresetInput, ChatStrategies, UploadRequestFn } from "../../types";
|
|
2
|
+
/** 众安信科 ADK 官方预设:聚合工具展示、消息解析、确认响应和默认上传等业务策略。 */
|
|
3
|
+
export declare const xGroupAdkPreset: ChatPreset;
|
|
4
|
+
/** 基础预设用于完全通用的 SDK 行为,不绑定众安信科后端协议。 */
|
|
5
|
+
export declare const basePreset: ChatPreset;
|
|
6
|
+
/** 统一解析字符串预设和对象预设,默认保持历史行为使用 xgroup-adk。 */
|
|
7
|
+
export declare const resolveChatPreset: (preset: ChatPresetInput | undefined) => ChatPreset;
|
|
8
|
+
/** 将预设策略与局部覆盖合并,供组件和业务侧按需覆盖单个函数。 */
|
|
9
|
+
export declare const mergeChatStrategies: (preset: ChatPresetInput | undefined, overrides?: ChatStrategies) => ChatStrategies;
|
|
10
|
+
/** 从当前预设中解析上传实现,业务显式传入 uploadRequest 时仍然优先使用业务实现。 */
|
|
11
|
+
export declare const resolvePresetUploadRequest: (preset: ChatPresetInput | undefined, context: {
|
|
12
|
+
url: string;
|
|
13
|
+
token?: string;
|
|
14
|
+
appNo?: string;
|
|
15
|
+
}) => UploadRequestFn | undefined;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/presets/xgroup/preset.ts
|
|
20
|
+
var preset_exports = {};
|
|
21
|
+
__export(preset_exports, {
|
|
22
|
+
basePreset: () => basePreset,
|
|
23
|
+
mergeChatStrategies: () => mergeChatStrategies,
|
|
24
|
+
resolveChatPreset: () => resolveChatPreset,
|
|
25
|
+
resolvePresetUploadRequest: () => resolvePresetUploadRequest,
|
|
26
|
+
xGroupAdkPreset: () => xGroupAdkPreset
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(preset_exports);
|
|
29
|
+
var import_utils = require("../../utils");
|
|
30
|
+
var import_strategies = require("./strategies");
|
|
31
|
+
var import_upload = require("./upload");
|
|
32
|
+
var xGroupAdkPreset = {
|
|
33
|
+
name: "xgroup-adk",
|
|
34
|
+
strategies: {
|
|
35
|
+
resolveToolKind: import_strategies.xGroupToolKindResolver,
|
|
36
|
+
createFunctionResponse: import_strategies.baseChatStrategies.createFunctionResponse,
|
|
37
|
+
parseProcessMessage: (text, options) => (0, import_utils.parseAgentMessage)(text, { mode: "comment", ...options })
|
|
38
|
+
},
|
|
39
|
+
createUploadRequest: import_upload.createXGroupUploadRequest
|
|
40
|
+
};
|
|
41
|
+
var basePreset = {
|
|
42
|
+
name: "base",
|
|
43
|
+
strategies: import_strategies.baseChatStrategies
|
|
44
|
+
};
|
|
45
|
+
var resolveChatPreset = (preset) => {
|
|
46
|
+
if (!preset || preset === "xgroup-adk")
|
|
47
|
+
return xGroupAdkPreset;
|
|
48
|
+
if (preset === "base")
|
|
49
|
+
return basePreset;
|
|
50
|
+
return preset;
|
|
51
|
+
};
|
|
52
|
+
var mergeChatStrategies = (preset, overrides) => ({
|
|
53
|
+
...import_strategies.baseChatStrategies,
|
|
54
|
+
...resolveChatPreset(preset).strategies,
|
|
55
|
+
...overrides
|
|
56
|
+
});
|
|
57
|
+
var resolvePresetUploadRequest = (preset, context) => {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
return (_b = (_a = resolveChatPreset(preset)).createUploadRequest) == null ? void 0 : _b.call(_a, context);
|
|
60
|
+
};
|
|
61
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
62
|
+
0 && (module.exports = {
|
|
63
|
+
basePreset,
|
|
64
|
+
mergeChatStrategies,
|
|
65
|
+
resolveChatPreset,
|
|
66
|
+
resolvePresetUploadRequest,
|
|
67
|
+
xGroupAdkPreset
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=preset.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/presets/xgroup/preset.ts"],
|
|
4
|
+
"sourcesContent": ["import { parseAgentMessage } from \"@/utils\";\nimport type {\n ChatPreset,\n ChatPresetInput,\n ChatStrategies,\n UploadRequestFn,\n} from \"@/types\";\nimport {\n baseChatStrategies,\n xGroupToolKindResolver,\n} from \"./strategies\";\nimport { createXGroupUploadRequest } from \"./upload\";\n\n/** 众安信科 ADK 官方预设:聚合工具展示、消息解析、确认响应和默认上传等业务策略。 */\nexport const xGroupAdkPreset: ChatPreset = {\n name: \"xgroup-adk\",\n strategies: {\n resolveToolKind: xGroupToolKindResolver,\n createFunctionResponse: baseChatStrategies.createFunctionResponse,\n parseProcessMessage: (text, options) =>\n parseAgentMessage(text, { mode: \"comment\", ...options }),\n },\n createUploadRequest: createXGroupUploadRequest,\n};\n\n/** 基础预设用于完全通用的 SDK 行为,不绑定众安信科后端协议。 */\nexport const basePreset: ChatPreset = {\n name: \"base\",\n strategies: baseChatStrategies,\n};\n\n/** 统一解析字符串预设和对象预设,默认保持历史行为使用 xgroup-adk。 */\nexport const resolveChatPreset = (\n preset: ChatPresetInput | undefined,\n): ChatPreset => {\n if (!preset || preset === \"xgroup-adk\") return xGroupAdkPreset;\n if (preset === \"base\") return basePreset;\n return preset;\n};\n\n/** 将预设策略与局部覆盖合并,供组件和业务侧按需覆盖单个函数。 */\nexport const mergeChatStrategies = (\n preset: ChatPresetInput | undefined,\n overrides?: ChatStrategies,\n): ChatStrategies => ({\n ...baseChatStrategies,\n ...resolveChatPreset(preset).strategies,\n ...overrides,\n});\n\n/** 从当前预设中解析上传实现,业务显式传入 uploadRequest 时仍然优先使用业务实现。 */\nexport const resolvePresetUploadRequest = (\n preset: ChatPresetInput | undefined,\n context: {\n url: string;\n token?: string;\n appNo?: string;\n },\n): UploadRequestFn | undefined => {\n return resolveChatPreset(preset).createUploadRequest?.(context);\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AAOlC,wBAGO;AACP,oBAA0C;AAGnC,IAAM,kBAA8B;AAAA,EACzC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,iBAAiB;AAAA,IACjB,wBAAwB,qCAAmB;AAAA,IAC3C,qBAAqB,CAAC,MAAM,gBAC1B,gCAAkB,MAAM,EAAE,MAAM,WAAW,GAAG,QAAQ,CAAC;AAAA,EAC3D;AAAA,EACA,qBAAqB;AACvB;AAGO,IAAM,aAAyB;AAAA,EACpC,MAAM;AAAA,EACN,YAAY;AACd;AAGO,IAAM,oBAAoB,CAC/B,WACe;AACf,MAAI,CAAC,UAAU,WAAW;AAAc,WAAO;AAC/C,MAAI,WAAW;AAAQ,WAAO;AAC9B,SAAO;AACT;AAGO,IAAM,sBAAsB,CACjC,QACA,eACoB;AAAA,EACpB,GAAG;AAAA,EACH,GAAG,kBAAkB,MAAM,EAAE;AAAA,EAC7B,GAAG;AACL;AAGO,IAAM,6BAA6B,CACxC,QACA,YAKgC;AA1DlC;AA2DE,UAAO,6BAAkB,MAAM,GAAE,wBAA1B,4BAAgD;AACzD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ChatStrategies, ToolRenderKind } from "../../types";
|
|
2
|
+
export declare const baseToolKindResolver: () => ToolRenderKind;
|
|
3
|
+
/** 众安信科预设的工具类型映射,集中处理当前后端约定的 tool name。 */
|
|
4
|
+
export declare const xGroupToolKindResolver: ({ name, }: {
|
|
5
|
+
name?: string | undefined;
|
|
6
|
+
}) => ToolRenderKind;
|
|
7
|
+
/** SDK 基础策略:不带业务协议偏好的最小行为集合。 */
|
|
8
|
+
export declare const baseChatStrategies: Required<Pick<ChatStrategies, "resolveToolKind" | "createFunctionResponse" | "parseProcessMessage">>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/presets/xgroup/strategies.ts
|
|
20
|
+
var strategies_exports = {};
|
|
21
|
+
__export(strategies_exports, {
|
|
22
|
+
baseChatStrategies: () => baseChatStrategies,
|
|
23
|
+
baseToolKindResolver: () => baseToolKindResolver,
|
|
24
|
+
xGroupToolKindResolver: () => xGroupToolKindResolver
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(strategies_exports);
|
|
27
|
+
var import_utils = require("../../utils");
|
|
28
|
+
var baseToolKindResolver = () => "default";
|
|
29
|
+
var xGroupToolKindResolver = ({
|
|
30
|
+
name
|
|
31
|
+
}) => {
|
|
32
|
+
if (name === "adk_request_confirmation")
|
|
33
|
+
return "approval";
|
|
34
|
+
if (name === "transferToAgent")
|
|
35
|
+
return "handoff";
|
|
36
|
+
return "default";
|
|
37
|
+
};
|
|
38
|
+
var baseChatStrategies = {
|
|
39
|
+
resolveToolKind: () => "default",
|
|
40
|
+
createFunctionResponse: (fnCall, confirmed) => ({
|
|
41
|
+
id: fnCall.id,
|
|
42
|
+
name: fnCall.name,
|
|
43
|
+
response: { confirmed }
|
|
44
|
+
}),
|
|
45
|
+
parseProcessMessage: import_utils.parseAgentMessage
|
|
46
|
+
};
|
|
47
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
48
|
+
0 && (module.exports = {
|
|
49
|
+
baseChatStrategies,
|
|
50
|
+
baseToolKindResolver,
|
|
51
|
+
xGroupToolKindResolver
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=strategies.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/presets/xgroup/strategies.ts"],
|
|
4
|
+
"sourcesContent": ["import { parseAgentMessage } from \"@/utils\";\nimport type {\n ChatStrategies,\n FunctionCall,\n FunctionResponse,\n ToolRenderKind,\n} from \"@/types\";\n\nexport const baseToolKindResolver = (): ToolRenderKind => \"default\";\n\n/** 众安信科预设的工具类型映射,集中处理当前后端约定的 tool name。 */\nexport const xGroupToolKindResolver = ({\n name,\n}: {\n name?: string;\n}): ToolRenderKind => {\n if (name === \"adk_request_confirmation\") return \"approval\";\n if (name === \"transferToAgent\") return \"handoff\";\n return \"default\";\n};\n\n/** SDK 基础策略:不带业务协议偏好的最小行为集合。 */\nexport const baseChatStrategies: Required<\n Pick<\n ChatStrategies,\n \"resolveToolKind\" | \"createFunctionResponse\" | \"parseProcessMessage\"\n >\n> = {\n resolveToolKind: () => \"default\",\n createFunctionResponse: (\n fnCall: FunctionCall,\n confirmed: boolean,\n ): FunctionResponse => ({\n id: fnCall.id,\n name: fnCall.name,\n response: { confirmed },\n }),\n parseProcessMessage: parseAgentMessage,\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AAQ3B,IAAM,uBAAuB,MAAsB;AAGnD,IAAM,yBAAyB,CAAC;AAAA,EACrC;AACF,MAEsB;AACpB,MAAI,SAAS;AAA4B,WAAO;AAChD,MAAI,SAAS;AAAmB,WAAO;AACvC,SAAO;AACT;AAGO,IAAM,qBAKT;AAAA,EACF,iBAAiB,MAAM;AAAA,EACvB,wBAAwB,CACtB,QACA,eACsB;AAAA,IACtB,IAAI,OAAO;AAAA,IACX,MAAM,OAAO;AAAA,IACb,UAAU,EAAE,UAAU;AAAA,EACxB;AAAA,EACA,qBAAqB;AACvB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AdkChatTransport } from "../../core/runtime";
|
|
2
|
+
export interface XGroupOpenApiTransportOptions {
|
|
3
|
+
url: string;
|
|
4
|
+
appNo: string;
|
|
5
|
+
token?: string | (() => string | undefined);
|
|
6
|
+
pageSize?: number;
|
|
7
|
+
onAuthError?: (response: Response) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 众安信科 openApi 默认 transport。
|
|
11
|
+
*
|
|
12
|
+
* 这层只负责把 SDK 标准 transport 接口映射到当前网关接口;
|
|
13
|
+
* 其它业务项目不要复制 useADKChat,只需要实现自己的 transport 即可。
|
|
14
|
+
*/
|
|
15
|
+
export declare const createXGroupOpenApiTransport: ({ url, appNo, token, pageSize, onAuthError, }: XGroupOpenApiTransportOptions) => AdkChatTransport;
|