@ai-group/chat-sdk 3.7.0 → 3.7.1-alpha10

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.
Files changed (235) hide show
  1. package/README.md +22 -0
  2. package/dist/cjs/components/FileGallery/index.js +59 -40
  3. package/dist/cjs/components/FileGallery/index.js.map +2 -2
  4. package/dist/cjs/components/FileGallery/styles.d.ts +7 -0
  5. package/dist/cjs/components/FileGallery/styles.js +78 -0
  6. package/dist/cjs/components/FileGallery/styles.js.map +2 -2
  7. package/dist/cjs/components/Sources/components/CarouselCard.d.ts +12 -0
  8. package/dist/cjs/components/Sources/components/CarouselCard.js +130 -0
  9. package/dist/cjs/components/Sources/components/CarouselCard.js.map +7 -0
  10. package/dist/cjs/components/Sources/index.d.ts +5 -0
  11. package/dist/cjs/components/Sources/index.js +162 -0
  12. package/dist/cjs/components/Sources/index.js.map +7 -0
  13. package/dist/cjs/components/Sources/styles.d.ts +59 -0
  14. package/dist/cjs/components/Sources/styles.js +179 -0
  15. package/dist/cjs/components/Sources/styles.js.map +7 -0
  16. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.d.ts +19 -1
  17. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js +232 -22
  18. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js.map +2 -2
  19. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/styles.d.ts +3 -0
  20. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/styles.js +83 -0
  21. package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/styles.js.map +2 -2
  22. package/dist/cjs/components/XAdkChatbot/index.d.ts +2 -2
  23. package/dist/cjs/components/XAdkChatbot/index.js +75 -8
  24. package/dist/cjs/components/XAdkChatbot/index.js.map +2 -2
  25. package/dist/cjs/components/XAdkChatbot/styles.js +1 -1
  26. package/dist/cjs/components/XAdkChatbot/styles.js.map +1 -1
  27. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.d.ts +7 -2
  28. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js +30 -12
  29. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js.map +2 -2
  30. package/dist/cjs/components/XAdkProvider/compound/Sender.d.ts +3 -1
  31. package/dist/cjs/components/XAdkProvider/compound/Sender.js +81 -4
  32. package/dist/cjs/components/XAdkProvider/compound/Sender.js.map +3 -3
  33. package/dist/cjs/components/XAdkProvider/compound/styles.d.ts +1 -0
  34. package/dist/cjs/components/XAdkProvider/compound/styles.js +16 -0
  35. package/dist/cjs/components/XAdkProvider/compound/styles.js.map +2 -2
  36. package/dist/cjs/components/XAdkProvider/context/ChatSenderStateContext.d.ts +4 -0
  37. package/dist/cjs/components/XAdkProvider/context/ChatSenderStateContext.js.map +2 -2
  38. package/dist/cjs/components/XAdkProvider/context/DefaultLayoutContext.d.ts +9 -0
  39. package/dist/cjs/components/XAdkProvider/context/DefaultLayoutContext.js +34 -0
  40. package/dist/cjs/components/XAdkProvider/context/DefaultLayoutContext.js.map +7 -0
  41. package/dist/cjs/components/XAdkProvider/context/index.d.ts +5 -4
  42. package/dist/cjs/components/XAdkProvider/context/index.js +3 -1
  43. package/dist/cjs/components/XAdkProvider/context/index.js.map +2 -2
  44. package/dist/cjs/components/XAdkProvider/index.js +11 -10
  45. package/dist/cjs/components/XAdkProvider/index.js.map +2 -2
  46. package/dist/cjs/components/XAdkSender/InlineTagInput.d.ts +31 -0
  47. package/dist/cjs/components/XAdkSender/InlineTagInput.js +759 -0
  48. package/dist/cjs/components/XAdkSender/InlineTagInput.js.map +7 -0
  49. package/dist/cjs/components/XAdkSender/InputTags.d.ts +8 -0
  50. package/dist/cjs/components/XAdkSender/InputTags.js +51 -0
  51. package/dist/cjs/components/XAdkSender/InputTags.js.map +7 -0
  52. package/dist/cjs/components/XAdkSender/QuickList.d.ts +16 -0
  53. package/dist/cjs/components/XAdkSender/QuickList.js +105 -0
  54. package/dist/cjs/components/XAdkSender/QuickList.js.map +7 -0
  55. package/dist/cjs/components/XAdkSender/index.d.ts +1 -6
  56. package/dist/cjs/components/XAdkSender/index.js +422 -150
  57. package/dist/cjs/components/XAdkSender/index.js.map +3 -3
  58. package/dist/cjs/components/XAdkSender/styles.d.ts +19 -0
  59. package/dist/cjs/components/XAdkSender/styles.js +225 -5
  60. package/dist/cjs/components/XAdkSender/styles.js.map +2 -2
  61. package/dist/cjs/components/XAiConversations/styles.js +11 -1
  62. package/dist/cjs/components/XAiConversations/styles.js.map +2 -2
  63. package/dist/cjs/hooks/useADKChat.js +5 -1
  64. package/dist/cjs/hooks/useADKChat.js.map +2 -2
  65. package/dist/cjs/index.d.ts +8 -3
  66. package/dist/cjs/index.js +44 -10
  67. package/dist/cjs/index.js.map +3 -3
  68. package/dist/cjs/presets/base.d.ts +6 -0
  69. package/dist/cjs/presets/base.js +50 -0
  70. package/dist/cjs/presets/base.js.map +7 -0
  71. package/dist/cjs/presets/define.d.ts +11 -0
  72. package/dist/cjs/presets/define.js +58 -0
  73. package/dist/cjs/presets/define.js.map +7 -0
  74. package/dist/cjs/presets/index.d.ts +3 -0
  75. package/dist/cjs/presets/index.js +28 -0
  76. package/dist/cjs/presets/index.js.map +7 -0
  77. package/dist/cjs/presets/runtime.d.ts +22 -0
  78. package/dist/cjs/presets/runtime.js +75 -0
  79. package/dist/cjs/presets/runtime.js.map +7 -0
  80. package/dist/cjs/presets/xgroup/index.d.ts +5 -0
  81. package/dist/cjs/presets/xgroup/index.js +10 -0
  82. package/dist/cjs/presets/xgroup/index.js.map +2 -2
  83. package/dist/cjs/presets/xgroup/knowledgeReference.d.ts +17 -0
  84. package/dist/cjs/presets/xgroup/knowledgeReference.js +162 -0
  85. package/dist/cjs/presets/xgroup/knowledgeReference.js.map +7 -0
  86. package/dist/cjs/presets/xgroup/preset.d.ts +1 -13
  87. package/dist/cjs/presets/xgroup/preset.js +16 -37
  88. package/dist/cjs/presets/xgroup/preset.js.map +2 -2
  89. package/dist/cjs/presets/xgroup/strategies.d.ts +5 -4
  90. package/dist/cjs/presets/xgroup/strategies.js +11 -15
  91. package/dist/cjs/presets/xgroup/strategies.js.map +3 -3
  92. package/dist/cjs/presets/xgroup/webReference.d.ts +10 -0
  93. package/dist/cjs/presets/xgroup/webReference.js +85 -0
  94. package/dist/cjs/presets/xgroup/webReference.js.map +7 -0
  95. package/dist/cjs/types/ChatStrategies.d.ts +11 -2
  96. package/dist/cjs/types/ChatStrategies.js.map +1 -1
  97. package/dist/cjs/types/FileGallery.d.ts +3 -0
  98. package/dist/cjs/types/FileGallery.js.map +1 -1
  99. package/dist/cjs/types/Sources.d.ts +30 -0
  100. package/dist/cjs/types/Sources.js +18 -0
  101. package/dist/cjs/types/Sources.js.map +7 -0
  102. package/dist/cjs/types/XAdkChatbot.d.ts +33 -0
  103. package/dist/cjs/types/XAdkChatbot.js.map +1 -1
  104. package/dist/cjs/types/XAdkSender.d.ts +154 -8
  105. package/dist/cjs/types/XAdkSender.js.map +1 -1
  106. package/dist/cjs/types/index.d.ts +1 -0
  107. package/dist/cjs/types/index.js +3 -1
  108. package/dist/cjs/types/index.js.map +2 -2
  109. package/dist/cjs/utils/index.d.ts +1 -0
  110. package/dist/cjs/utils/index.js +3 -1
  111. package/dist/cjs/utils/index.js.map +2 -2
  112. package/dist/cjs/utils/markdownResource.d.ts +14 -0
  113. package/dist/cjs/utils/markdownResource.js +131 -0
  114. package/dist/cjs/utils/markdownResource.js.map +7 -0
  115. package/dist/esm/components/FileGallery/index.js +22 -16
  116. package/dist/esm/components/FileGallery/index.js.map +1 -1
  117. package/dist/esm/components/FileGallery/styles.d.ts +7 -0
  118. package/dist/esm/components/FileGallery/styles.js +24 -17
  119. package/dist/esm/components/FileGallery/styles.js.map +1 -1
  120. package/dist/esm/components/Sources/components/CarouselCard.d.ts +12 -0
  121. package/dist/esm/components/Sources/components/CarouselCard.js +107 -0
  122. package/dist/esm/components/Sources/components/CarouselCard.js.map +1 -0
  123. package/dist/esm/components/Sources/index.d.ts +5 -0
  124. package/dist/esm/components/Sources/index.js +127 -0
  125. package/dist/esm/components/Sources/index.js.map +1 -0
  126. package/dist/esm/components/Sources/styles.d.ts +59 -0
  127. package/dist/esm/components/Sources/styles.js +34 -0
  128. package/dist/esm/components/Sources/styles.js.map +1 -0
  129. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.d.ts +19 -1
  130. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js +190 -11
  131. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js.map +1 -1
  132. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/styles.d.ts +3 -0
  133. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/styles.js +5 -2
  134. package/dist/esm/components/XAdkChatbot/components/MarkdownRender/styles.js.map +1 -1
  135. package/dist/esm/components/XAdkChatbot/index.d.ts +2 -2
  136. package/dist/esm/components/XAdkChatbot/index.js +55 -10
  137. package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
  138. package/dist/esm/components/XAdkChatbot/styles.js +1 -1
  139. package/dist/esm/components/XAdkChatbot/styles.js.map +1 -1
  140. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.d.ts +7 -2
  141. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js +40 -17
  142. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js.map +1 -1
  143. package/dist/esm/components/XAdkProvider/compound/Sender.d.ts +3 -1
  144. package/dist/esm/components/XAdkProvider/compound/Sender.js +70 -6
  145. package/dist/esm/components/XAdkProvider/compound/Sender.js.map +1 -1
  146. package/dist/esm/components/XAdkProvider/compound/styles.d.ts +1 -0
  147. package/dist/esm/components/XAdkProvider/compound/styles.js +3 -2
  148. package/dist/esm/components/XAdkProvider/compound/styles.js.map +1 -1
  149. package/dist/esm/components/XAdkProvider/context/ChatSenderStateContext.d.ts +4 -0
  150. package/dist/esm/components/XAdkProvider/context/ChatSenderStateContext.js.map +1 -1
  151. package/dist/esm/components/XAdkProvider/context/DefaultLayoutContext.d.ts +9 -0
  152. package/dist/esm/components/XAdkProvider/context/DefaultLayoutContext.js +9 -0
  153. package/dist/esm/components/XAdkProvider/context/DefaultLayoutContext.js.map +1 -0
  154. package/dist/esm/components/XAdkProvider/context/index.d.ts +5 -4
  155. package/dist/esm/components/XAdkProvider/context/index.js +1 -0
  156. package/dist/esm/components/XAdkProvider/context/index.js.map +1 -1
  157. package/dist/esm/components/XAdkProvider/index.js +7 -3
  158. package/dist/esm/components/XAdkProvider/index.js.map +1 -1
  159. package/dist/esm/components/XAdkSender/InlineTagInput.d.ts +31 -0
  160. package/dist/esm/components/XAdkSender/InlineTagInput.js +734 -0
  161. package/dist/esm/components/XAdkSender/InlineTagInput.js.map +1 -0
  162. package/dist/esm/components/XAdkSender/InputTags.d.ts +8 -0
  163. package/dist/esm/components/XAdkSender/InputTags.js +37 -0
  164. package/dist/esm/components/XAdkSender/InputTags.js.map +1 -0
  165. package/dist/esm/components/XAdkSender/QuickList.d.ts +16 -0
  166. package/dist/esm/components/XAdkSender/QuickList.js +96 -0
  167. package/dist/esm/components/XAdkSender/QuickList.js.map +1 -0
  168. package/dist/esm/components/XAdkSender/index.d.ts +1 -6
  169. package/dist/esm/components/XAdkSender/index.js +476 -143
  170. package/dist/esm/components/XAdkSender/index.js.map +1 -1
  171. package/dist/esm/components/XAdkSender/styles.d.ts +19 -0
  172. package/dist/esm/components/XAdkSender/styles.js +34 -12
  173. package/dist/esm/components/XAdkSender/styles.js.map +1 -1
  174. package/dist/esm/components/XAiConversations/styles.js +3 -3
  175. package/dist/esm/components/XAiConversations/styles.js.map +1 -1
  176. package/dist/esm/hooks/useADKChat.js +8 -2
  177. package/dist/esm/hooks/useADKChat.js.map +1 -1
  178. package/dist/esm/index.d.ts +8 -3
  179. package/dist/esm/index.js +7 -4
  180. package/dist/esm/index.js.map +1 -1
  181. package/dist/esm/presets/base.d.ts +6 -0
  182. package/dist/esm/presets/base.js +28 -0
  183. package/dist/esm/presets/base.js.map +1 -0
  184. package/dist/esm/presets/define.d.ts +11 -0
  185. package/dist/esm/presets/define.js +33 -0
  186. package/dist/esm/presets/define.js.map +1 -0
  187. package/dist/esm/presets/index.d.ts +3 -0
  188. package/dist/esm/presets/index.js +4 -0
  189. package/dist/esm/presets/index.js.map +1 -0
  190. package/dist/esm/presets/runtime.d.ts +22 -0
  191. package/dist/esm/presets/runtime.js +45 -0
  192. package/dist/esm/presets/runtime.js.map +1 -0
  193. package/dist/esm/presets/xgroup/index.d.ts +5 -0
  194. package/dist/esm/presets/xgroup/index.js +6 -0
  195. package/dist/esm/presets/xgroup/index.js.map +1 -1
  196. package/dist/esm/presets/xgroup/knowledgeReference.d.ts +17 -0
  197. package/dist/esm/presets/xgroup/knowledgeReference.js +95 -0
  198. package/dist/esm/presets/xgroup/knowledgeReference.js.map +1 -0
  199. package/dist/esm/presets/xgroup/preset.d.ts +1 -13
  200. package/dist/esm/presets/xgroup/preset.js +9 -29
  201. package/dist/esm/presets/xgroup/preset.js.map +1 -1
  202. package/dist/esm/presets/xgroup/strategies.d.ts +5 -4
  203. package/dist/esm/presets/xgroup/strategies.js +8 -20
  204. package/dist/esm/presets/xgroup/strategies.js.map +1 -1
  205. package/dist/esm/presets/xgroup/webReference.d.ts +10 -0
  206. package/dist/esm/presets/xgroup/webReference.js +46 -0
  207. package/dist/esm/presets/xgroup/webReference.js.map +1 -0
  208. package/dist/esm/types/ChatStrategies.d.ts +11 -2
  209. package/dist/esm/types/ChatStrategies.js.map +1 -1
  210. package/dist/esm/types/FileGallery.d.ts +3 -0
  211. package/dist/esm/types/FileGallery.js.map +1 -1
  212. package/dist/esm/types/Sources.d.ts +30 -0
  213. package/dist/esm/types/Sources.js +2 -0
  214. package/dist/esm/types/Sources.js.map +1 -0
  215. package/dist/esm/types/XAdkChatbot.d.ts +33 -0
  216. package/dist/esm/types/XAdkChatbot.js.map +1 -1
  217. package/dist/esm/types/XAdkSender.d.ts +154 -8
  218. package/dist/esm/types/XAdkSender.js.map +1 -1
  219. package/dist/esm/types/index.d.ts +1 -0
  220. package/dist/esm/types/index.js +1 -0
  221. package/dist/esm/types/index.js.map +1 -1
  222. package/dist/esm/utils/index.d.ts +1 -0
  223. package/dist/esm/utils/index.js +1 -0
  224. package/dist/esm/utils/index.js.map +1 -1
  225. package/dist/esm/utils/markdownResource.d.ts +14 -0
  226. package/dist/esm/utils/markdownResource.js +101 -0
  227. package/dist/esm/utils/markdownResource.js.map +1 -0
  228. package/dist/umd/chat-sdk.min.js +1 -1
  229. package/package.json +6 -1
  230. package/dist/cjs/components/XAdkSender/Switch.d.ts +0 -16
  231. package/dist/cjs/components/XAdkSender/Switch.js +0 -95
  232. package/dist/cjs/components/XAdkSender/Switch.js.map +0 -7
  233. package/dist/esm/components/XAdkSender/Switch.d.ts +0 -16
  234. package/dist/esm/components/XAdkSender/Switch.js +0 -53
  235. package/dist/esm/components/XAdkSender/Switch.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ import type { ChatPreset, ChatStrategies, ToolRenderKind } from "../types";
2
+ export declare const baseToolKindResolver: () => ToolRenderKind;
3
+ /** SDK 基础策略:不带任何企业协议偏好的最小行为集合。 */
4
+ export declare const baseChatStrategies: Required<Pick<ChatStrategies, "resolveToolKind" | "createFunctionResponse" | "parseProcessMessage" | "markdownResourceLinkSchemes">>;
5
+ /** 不绑定企业后端协议的中立预设。 */
6
+ export declare const basePreset: ChatPreset;
@@ -0,0 +1,50 @@
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/base.ts
20
+ var base_exports = {};
21
+ __export(base_exports, {
22
+ baseChatStrategies: () => baseChatStrategies,
23
+ basePreset: () => basePreset,
24
+ baseToolKindResolver: () => baseToolKindResolver
25
+ });
26
+ module.exports = __toCommonJS(base_exports);
27
+ var import_utils = require("../utils");
28
+ var BASE_MARKDOWN_RESOURCE_LINK_SCHEMES = [];
29
+ var baseToolKindResolver = () => "default";
30
+ var baseChatStrategies = {
31
+ resolveToolKind: baseToolKindResolver,
32
+ createFunctionResponse: (fnCall, confirmed) => ({
33
+ id: fnCall.id,
34
+ name: fnCall.name,
35
+ response: { confirmed }
36
+ }),
37
+ parseProcessMessage: import_utils.parseAgentMessage,
38
+ markdownResourceLinkSchemes: BASE_MARKDOWN_RESOURCE_LINK_SCHEMES
39
+ };
40
+ var basePreset = {
41
+ name: "base",
42
+ strategies: baseChatStrategies
43
+ };
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ baseChatStrategies,
47
+ basePreset,
48
+ baseToolKindResolver
49
+ });
50
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/presets/base.ts"],
4
+ "sourcesContent": ["import { parseAgentMessage } from \"@/utils\";\nimport type {\n ChatPreset,\n ChatStrategies,\n FunctionCall,\n FunctionResponse,\n ToolRenderKind,\n} from \"@/types\";\n\nconst BASE_MARKDOWN_RESOURCE_LINK_SCHEMES: readonly string[] = [];\n\nexport const baseToolKindResolver = (): ToolRenderKind => \"default\";\n\n/** SDK 基础策略:不带任何企业协议偏好的最小行为集合。 */\nexport const baseChatStrategies: Required<\n Pick<\n ChatStrategies,\n | \"resolveToolKind\"\n | \"createFunctionResponse\"\n | \"parseProcessMessage\"\n | \"markdownResourceLinkSchemes\"\n >\n> = {\n resolveToolKind: baseToolKindResolver,\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 markdownResourceLinkSchemes: BASE_MARKDOWN_RESOURCE_LINK_SCHEMES,\n};\n\n/** 不绑定企业后端协议的中立预设。 */\nexport const basePreset: ChatPreset = {\n name: \"base\",\n strategies: baseChatStrategies,\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AASlC,IAAM,sCAAyD,CAAC;AAEzD,IAAM,uBAAuB,MAAsB;AAGnD,IAAM,qBAQT;AAAA,EACF,iBAAiB;AAAA,EACjB,wBAAwB,CACtB,QACA,eACsB;AAAA,IACtB,IAAI,OAAO;AAAA,IACX,MAAM,OAAO;AAAA,IACb,UAAU,EAAE,UAAU;AAAA,EACxB;AAAA,EACA,qBAAqB;AAAA,EACrB,6BAA6B;AAC/B;AAGO,IAAM,aAAyB;AAAA,EACpC,MAAM;AAAA,EACN,YAAY;AACd;",
6
+ "names": []
7
+ }
@@ -0,0 +1,11 @@
1
+ import type { ChatPreset } from "../types";
2
+ /**
3
+ * 为企业预设提供类型安全的声明入口。
4
+ * 使用函数而非可变的全局注册器,避免 SSR/多实例之间共享注册状态。
5
+ */
6
+ export declare const defineChatPreset: <TPreset extends ChatPreset>(preset: TPreset) => TPreset;
7
+ /**
8
+ * 组合基础预设、可复用能力包和企业差异。后传入的预设优先,策略按字段浅合并,
9
+ * Markdown 扩展按 tagName 去重并由后者覆盖。
10
+ */
11
+ export declare const composeChatPresets: (base: ChatPreset, ...overrides: ChatPreset[]) => ChatPreset;
@@ -0,0 +1,58 @@
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/define.ts
20
+ var define_exports = {};
21
+ __export(define_exports, {
22
+ composeChatPresets: () => composeChatPresets,
23
+ defineChatPreset: () => defineChatPreset
24
+ });
25
+ module.exports = __toCommonJS(define_exports);
26
+ var defineChatPreset = (preset) => preset;
27
+ var mergeChatPreset = (base, override) => {
28
+ const overrideTags = new Set(
29
+ (override.markdownExtensions || []).map(
30
+ (item) => item.tagName.toLowerCase()
31
+ )
32
+ );
33
+ return {
34
+ ...base,
35
+ ...override,
36
+ strategies: {
37
+ ...base.strategies,
38
+ ...override.strategies
39
+ },
40
+ markdownExtensions: [
41
+ ...(base.markdownExtensions || []).filter(
42
+ (item) => !overrideTags.has(item.tagName.toLowerCase())
43
+ ),
44
+ ...override.markdownExtensions || []
45
+ ],
46
+ createUploadRequest: Object.prototype.hasOwnProperty.call(
47
+ override,
48
+ "createUploadRequest"
49
+ ) ? override.createUploadRequest : base.createUploadRequest
50
+ };
51
+ };
52
+ var composeChatPresets = (base, ...overrides) => overrides.reduce(mergeChatPreset, base);
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ composeChatPresets,
56
+ defineChatPreset
57
+ });
58
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/presets/define.ts"],
4
+ "sourcesContent": ["import type { ChatPreset } from \"@/types\";\n\n/**\n * 为企业预设提供类型安全的声明入口。\n * 使用函数而非可变的全局注册器,避免 SSR/多实例之间共享注册状态。\n */\nexport const defineChatPreset = <TPreset extends ChatPreset>(\n preset: TPreset,\n): TPreset => preset;\n\nconst mergeChatPreset = (\n base: ChatPreset,\n override: ChatPreset,\n): ChatPreset => {\n const overrideTags = new Set(\n (override.markdownExtensions || []).map((item) =>\n item.tagName.toLowerCase(),\n ),\n );\n\n return {\n ...base,\n ...override,\n strategies: {\n ...base.strategies,\n ...override.strategies,\n },\n markdownExtensions: [\n ...(base.markdownExtensions || []).filter(\n (item) => !overrideTags.has(item.tagName.toLowerCase()),\n ),\n ...(override.markdownExtensions || []),\n ],\n createUploadRequest: Object.prototype.hasOwnProperty.call(\n override,\n \"createUploadRequest\",\n )\n ? override.createUploadRequest\n : base.createUploadRequest,\n };\n};\n\n/**\n * 组合基础预设、可复用能力包和企业差异。后传入的预设优先,策略按字段浅合并,\n * Markdown 扩展按 tagName 去重并由后者覆盖。\n */\nexport const composeChatPresets = (\n base: ChatPreset,\n ...overrides: ChatPreset[]\n): ChatPreset =>\n overrides.reduce(mergeChatPreset, base);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,IAAM,mBAAmB,CAC9B,WACY;AAEd,IAAM,kBAAkB,CACtB,MACA,aACe;AACf,QAAM,eAAe,IAAI;AAAA,KACtB,SAAS,sBAAsB,CAAC,GAAG;AAAA,MAAI,CAAC,SACvC,KAAK,QAAQ,YAAY;AAAA,IAC3B;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH,YAAY;AAAA,MACV,GAAG,KAAK;AAAA,MACR,GAAG,SAAS;AAAA,IACd;AAAA,IACA,oBAAoB;AAAA,MAClB,IAAI,KAAK,sBAAsB,CAAC,GAAG;AAAA,QACjC,CAAC,SAAS,CAAC,aAAa,IAAI,KAAK,QAAQ,YAAY,CAAC;AAAA,MACxD;AAAA,MACA,GAAI,SAAS,sBAAsB,CAAC;AAAA,IACtC;AAAA,IACA,qBAAqB,OAAO,UAAU,eAAe;AAAA,MACnD;AAAA,MACA;AAAA,IACF,IACI,SAAS,sBACT,KAAK;AAAA,EACX;AACF;AAMO,IAAM,qBAAqB,CAChC,SACG,cAEH,UAAU,OAAO,iBAAiB,IAAI;",
6
+ "names": []
7
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./base";
2
+ export * from "./define";
3
+ export * from "./runtime";
@@ -0,0 +1,28 @@
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/index.ts
17
+ var presets_exports = {};
18
+ module.exports = __toCommonJS(presets_exports);
19
+ __reExport(presets_exports, require("./base"), module.exports);
20
+ __reExport(presets_exports, require("./define"), module.exports);
21
+ __reExport(presets_exports, require("./runtime"), module.exports);
22
+ // Annotate the CommonJS export names for ESM import in node:
23
+ 0 && (module.exports = {
24
+ ...require("./base"),
25
+ ...require("./define"),
26
+ ...require("./runtime")
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/presets/index.ts"],
4
+ "sourcesContent": ["export * from \"./base\";\nexport * from \"./define\";\nexport * from \"./runtime\";\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,4BAAc,mBAAd;AACA,4BAAc,qBADd;AAEA,4BAAc,sBAFd;",
6
+ "names": []
7
+ }
@@ -0,0 +1,22 @@
1
+ import type { ChatPreset, ChatPresetInput, ChatStrategies, MarkdownExtension, UploadRequestFn } from "../types";
2
+ export declare const DEFAULT_CHAT_PRESET_NAME: "xgroup-adk";
3
+ /** SDK 内建预设注册表。外部预设应优先直接传入 ChatPreset 对象。 */
4
+ export declare const BUILTIN_CHAT_PRESETS: Readonly<{
5
+ base: ChatPreset;
6
+ "xgroup-adk": ChatPreset;
7
+ }>;
8
+ /**
9
+ * 统一解析内建名称和自定义预设对象。
10
+ * 未传时继续使用 xgroup-adk,保持既有接入行为。
11
+ */
12
+ export declare const resolveChatPreset: (preset: ChatPresetInput | undefined) => ChatPreset;
13
+ /** 将基础策略、预设策略和接入方局部覆盖按优先级合并。 */
14
+ export declare const mergeChatStrategies: (preset: ChatPresetInput | undefined, overrides?: ChatStrategies) => ChatStrategies;
15
+ /** 合并预设与接入方 Markdown 扩展;同名标签始终由接入方覆盖。 */
16
+ export declare const resolvePresetMarkdownExtensions: (preset: ChatPresetInput | undefined, overrides?: readonly MarkdownExtension[]) => MarkdownExtension[];
17
+ /** 解析当前预设提供的默认上传实现,显式 uploadRequest 仍由调用方优先。 */
18
+ export declare const resolvePresetUploadRequest: (preset: ChatPresetInput | undefined, context: {
19
+ url: string;
20
+ token?: string;
21
+ appNo?: string;
22
+ }) => UploadRequestFn | undefined;
@@ -0,0 +1,75 @@
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/runtime.ts
20
+ var runtime_exports = {};
21
+ __export(runtime_exports, {
22
+ BUILTIN_CHAT_PRESETS: () => BUILTIN_CHAT_PRESETS,
23
+ DEFAULT_CHAT_PRESET_NAME: () => DEFAULT_CHAT_PRESET_NAME,
24
+ mergeChatStrategies: () => mergeChatStrategies,
25
+ resolveChatPreset: () => resolveChatPreset,
26
+ resolvePresetMarkdownExtensions: () => resolvePresetMarkdownExtensions,
27
+ resolvePresetUploadRequest: () => resolvePresetUploadRequest
28
+ });
29
+ module.exports = __toCommonJS(runtime_exports);
30
+ var import_base = require("./base");
31
+ var import_preset = require("./xgroup/preset");
32
+ var DEFAULT_CHAT_PRESET_NAME = "xgroup-adk";
33
+ var BUILTIN_CHAT_PRESETS = Object.freeze({
34
+ base: import_base.basePreset,
35
+ "xgroup-adk": import_preset.xGroupAdkPreset
36
+ });
37
+ var resolveChatPreset = (preset) => {
38
+ if (!preset)
39
+ return BUILTIN_CHAT_PRESETS[DEFAULT_CHAT_PRESET_NAME];
40
+ if (typeof preset !== "string")
41
+ return preset;
42
+ return BUILTIN_CHAT_PRESETS[preset];
43
+ };
44
+ var mergeChatStrategies = (preset, overrides) => ({
45
+ ...import_base.baseChatStrategies,
46
+ ...resolveChatPreset(preset).strategies,
47
+ ...overrides
48
+ });
49
+ var resolvePresetMarkdownExtensions = (preset, overrides = []) => {
50
+ const registeredTags = /* @__PURE__ */ new Set();
51
+ return [
52
+ ...overrides,
53
+ ...resolveChatPreset(preset).markdownExtensions || []
54
+ ].filter((extension) => {
55
+ const tagName = extension.tagName.toLowerCase();
56
+ if (registeredTags.has(tagName))
57
+ return false;
58
+ registeredTags.add(tagName);
59
+ return true;
60
+ });
61
+ };
62
+ var resolvePresetUploadRequest = (preset, context) => {
63
+ var _a, _b;
64
+ return (_b = (_a = resolveChatPreset(preset)).createUploadRequest) == null ? void 0 : _b.call(_a, context);
65
+ };
66
+ // Annotate the CommonJS export names for ESM import in node:
67
+ 0 && (module.exports = {
68
+ BUILTIN_CHAT_PRESETS,
69
+ DEFAULT_CHAT_PRESET_NAME,
70
+ mergeChatStrategies,
71
+ resolveChatPreset,
72
+ resolvePresetMarkdownExtensions,
73
+ resolvePresetUploadRequest
74
+ });
75
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/presets/runtime.ts"],
4
+ "sourcesContent": ["import type {\n ChatPreset,\n ChatPresetInput,\n ChatStrategies,\n BuiltinChatPresetName,\n MarkdownExtension,\n UploadRequestFn,\n} from \"@/types\";\nimport { baseChatStrategies, basePreset } from \"./base\";\nimport { xGroupAdkPreset } from \"./xgroup/preset\";\n\nexport const DEFAULT_CHAT_PRESET_NAME = \"xgroup-adk\" as const;\n\n/** SDK 内建预设注册表。外部预设应优先直接传入 ChatPreset 对象。 */\nexport const BUILTIN_CHAT_PRESETS = Object.freeze({\n base: basePreset,\n \"xgroup-adk\": xGroupAdkPreset,\n}) satisfies Readonly<Record<BuiltinChatPresetName, ChatPreset>>;\n\n/**\n * 统一解析内建名称和自定义预设对象。\n * 未传时继续使用 xgroup-adk,保持既有接入行为。\n */\nexport const resolveChatPreset = (\n preset: ChatPresetInput | undefined,\n): ChatPreset => {\n if (!preset) return BUILTIN_CHAT_PRESETS[DEFAULT_CHAT_PRESET_NAME];\n if (typeof preset !== \"string\") return preset;\n return BUILTIN_CHAT_PRESETS[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/** 合并预设与接入方 Markdown 扩展;同名标签始终由接入方覆盖。 */\nexport const resolvePresetMarkdownExtensions = (\n preset: ChatPresetInput | undefined,\n overrides: readonly MarkdownExtension[] = [],\n) => {\n const registeredTags = new Set<string>();\n return [\n ...overrides,\n ...(resolveChatPreset(preset).markdownExtensions || []),\n ].filter((extension) => {\n const tagName = extension.tagName.toLowerCase();\n if (registeredTags.has(tagName)) return false;\n registeredTags.add(tagName);\n return true;\n });\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 resolveChatPreset(preset).createUploadRequest?.(context);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,kBAA+C;AAC/C,oBAAgC;AAEzB,IAAM,2BAA2B;AAGjC,IAAM,uBAAuB,OAAO,OAAO;AAAA,EAChD,MAAM;AAAA,EACN,cAAc;AAChB,CAAC;AAMM,IAAM,oBAAoB,CAC/B,WACe;AACf,MAAI,CAAC;AAAQ,WAAO,qBAAqB,wBAAwB;AACjE,MAAI,OAAO,WAAW;AAAU,WAAO;AACvC,SAAO,qBAAqB,MAAM;AACpC;AAGO,IAAM,sBAAsB,CACjC,QACA,eACoB;AAAA,EACpB,GAAG;AAAA,EACH,GAAG,kBAAkB,MAAM,EAAE;AAAA,EAC7B,GAAG;AACL;AAGO,IAAM,kCAAkC,CAC7C,QACA,YAA0C,CAAC,MACxC;AACH,QAAM,iBAAiB,oBAAI,IAAY;AACvC,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAI,kBAAkB,MAAM,EAAE,sBAAsB,CAAC;AAAA,EACvD,EAAE,OAAO,CAAC,cAAc;AACtB,UAAM,UAAU,UAAU,QAAQ,YAAY;AAC9C,QAAI,eAAe,IAAI,OAAO;AAAG,aAAO;AACxC,mBAAe,IAAI,OAAO;AAC1B,WAAO;AAAA,EACT,CAAC;AACH;AAGO,IAAM,6BAA6B,CACxC,QACA,YAK6B;AAlE/B;AAmEE,uCAAkB,MAAM,GAAE,wBAA1B,4BAAgD;AAAA;",
6
+ "names": []
7
+ }
@@ -1,4 +1,9 @@
1
+ export * from "../base";
2
+ export * from "../define";
3
+ export * from "../runtime";
1
4
  export * from "./preset";
5
+ export * from "./knowledgeReference";
6
+ export * from "./webReference";
2
7
  export * from "./strategies";
3
8
  export * from "./transport";
4
9
  export * from "./upload";
@@ -16,13 +16,23 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
16
16
  // src/presets/xgroup/index.ts
17
17
  var xgroup_exports = {};
18
18
  module.exports = __toCommonJS(xgroup_exports);
19
+ __reExport(xgroup_exports, require("../base"), module.exports);
20
+ __reExport(xgroup_exports, require("../define"), module.exports);
21
+ __reExport(xgroup_exports, require("../runtime"), module.exports);
19
22
  __reExport(xgroup_exports, require("./preset"), module.exports);
23
+ __reExport(xgroup_exports, require("./knowledgeReference"), module.exports);
24
+ __reExport(xgroup_exports, require("./webReference"), module.exports);
20
25
  __reExport(xgroup_exports, require("./strategies"), module.exports);
21
26
  __reExport(xgroup_exports, require("./transport"), module.exports);
22
27
  __reExport(xgroup_exports, require("./upload"), module.exports);
23
28
  // Annotate the CommonJS export names for ESM import in node:
24
29
  0 && (module.exports = {
30
+ ...require("../base"),
31
+ ...require("../define"),
32
+ ...require("../runtime"),
25
33
  ...require("./preset"),
34
+ ...require("./knowledgeReference"),
35
+ ...require("./webReference"),
26
36
  ...require("./strategies"),
27
37
  ...require("./transport"),
28
38
  ...require("./upload")
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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;",
4
+ "sourcesContent": ["// 兼容历史从 presets/xgroup 导入的基础预设工具;新代码建议从 presets 导入。\nexport * from \"../base\";\nexport * from \"../define\";\nexport * from \"../runtime\";\nexport * from \"./preset\";\nexport * from \"./knowledgeReference\";\nexport * from \"./webReference\";\nexport * from \"./strategies\";\nexport * from \"./transport\";\nexport * from \"./upload\";\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AACA,2BAAc,oBADd;AAEA,2BAAc,sBAFd;AAGA,2BAAc,uBAHd;AAIA,2BAAc,qBAJd;AAKA,2BAAc,iCALd;AAMA,2BAAc,2BANd;AAOA,2BAAc,yBAPd;AAQA,2BAAc,wBARd;AASA,2BAAc,qBATd;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,17 @@
1
+ import type { MarkdownExtension, MarkdownExtensionNode } from "../../types";
2
+ export interface XGroupKnowledgeReference {
3
+ knowledgeNo: string;
4
+ documentNo: string;
5
+ shardingNos: string[];
6
+ label: string;
7
+ version?: string;
8
+ }
9
+ export declare const XGROUP_KNOWLEDGE_NO_ATTRIBUTES: readonly ["knowledge-no", "knowledge-base-no", "workspace-no", "knowledgeno", "knowledgebaseno", "workspaceno"];
10
+ export declare const XGROUP_DOCUMENT_NO_ATTRIBUTES: readonly ["document-no", "document-id", "documentno", "documentid"];
11
+ export declare const XGROUP_VERSION_ATTRIBUTES: readonly ["version", "document-version", "documentversion"];
12
+ export declare const XGROUP_SHARDING_NO_ATTRIBUTES: readonly ["sharding-nos", "sharding-no", "shardingnos", "shardingno"];
13
+ export declare const parseXGroupKnowledgeReference: ({ attributes, text, }: Pick<MarkdownExtensionNode, "attributes" | "text">) => XGroupKnowledgeReference;
14
+ /** 从已完成的 Agent 文本中提取知识库引用,不在流式渲染期间产生副作用。 */
15
+ export declare const extractXGroupKnowledgeReferences: (text: string) => XGroupKnowledgeReference[];
16
+ export declare const xGroupKnowledgeReferenceMarkdownExtension: MarkdownExtension;
17
+ export declare const xGroupMarkdownExtensions: readonly MarkdownExtension[];
@@ -0,0 +1,162 @@
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/knowledgeReference.tsx
20
+ var knowledgeReference_exports = {};
21
+ __export(knowledgeReference_exports, {
22
+ XGROUP_DOCUMENT_NO_ATTRIBUTES: () => XGROUP_DOCUMENT_NO_ATTRIBUTES,
23
+ XGROUP_KNOWLEDGE_NO_ATTRIBUTES: () => XGROUP_KNOWLEDGE_NO_ATTRIBUTES,
24
+ XGROUP_SHARDING_NO_ATTRIBUTES: () => XGROUP_SHARDING_NO_ATTRIBUTES,
25
+ XGROUP_VERSION_ATTRIBUTES: () => XGROUP_VERSION_ATTRIBUTES,
26
+ extractXGroupKnowledgeReferences: () => extractXGroupKnowledgeReferences,
27
+ parseXGroupKnowledgeReference: () => parseXGroupKnowledgeReference,
28
+ xGroupKnowledgeReferenceMarkdownExtension: () => xGroupKnowledgeReferenceMarkdownExtension,
29
+ xGroupMarkdownExtensions: () => xGroupMarkdownExtensions
30
+ });
31
+ module.exports = __toCommonJS(knowledgeReference_exports);
32
+ var import_webReference = require("./webReference");
33
+ var import_jsx_runtime = require("react/jsx-runtime");
34
+ var XGROUP_KNOWLEDGE_NO_ATTRIBUTES = [
35
+ "knowledge-no",
36
+ "knowledge-base-no",
37
+ "workspace-no",
38
+ "knowledgeno",
39
+ "knowledgebaseno",
40
+ "workspaceno"
41
+ ];
42
+ var XGROUP_DOCUMENT_NO_ATTRIBUTES = [
43
+ "document-no",
44
+ "document-id",
45
+ "documentno",
46
+ "documentid"
47
+ ];
48
+ var XGROUP_VERSION_ATTRIBUTES = [
49
+ "version",
50
+ "document-version",
51
+ "documentversion"
52
+ ];
53
+ var XGROUP_SHARDING_NO_ATTRIBUTES = [
54
+ "sharding-nos",
55
+ "sharding-no",
56
+ "shardingnos",
57
+ "shardingno"
58
+ ];
59
+ var AI_KB_REF_REGEX = /<ai-kb-ref\b([^>]*)>([\s\S]*?)<\/ai-kb-ref>/gi;
60
+ var XML_ATTRIBUTE_REGEX = /([a-z][a-z0-9-]*)\s*=\s*(["'])(.*?)\2/gi;
61
+ var getFirstAttribute = (attributes, names) => {
62
+ for (const name of names) {
63
+ const value = attributes[name];
64
+ if (value == null ? void 0 : value.trim())
65
+ return value.trim();
66
+ }
67
+ return "";
68
+ };
69
+ var parseXGroupKnowledgeReference = ({
70
+ attributes,
71
+ text
72
+ }) => {
73
+ const rawShardingNos = getFirstAttribute(attributes, XGROUP_SHARDING_NO_ATTRIBUTES) || text;
74
+ return {
75
+ knowledgeNo: getFirstAttribute(attributes, XGROUP_KNOWLEDGE_NO_ATTRIBUTES),
76
+ documentNo: getFirstAttribute(attributes, XGROUP_DOCUMENT_NO_ATTRIBUTES),
77
+ shardingNos: rawShardingNos.split(/[,,\s]+/).map((item) => item.trim()).filter(Boolean),
78
+ label: text,
79
+ version: getFirstAttribute(attributes, XGROUP_VERSION_ATTRIBUTES) || void 0
80
+ };
81
+ };
82
+ var extractXGroupKnowledgeReferences = (text) => {
83
+ if (!text)
84
+ return [];
85
+ const references = [];
86
+ const referenceRegex = new RegExp(
87
+ AI_KB_REF_REGEX.source,
88
+ AI_KB_REF_REGEX.flags
89
+ );
90
+ let referenceMatch;
91
+ while ((referenceMatch = referenceRegex.exec(text)) !== null) {
92
+ const attributes = {};
93
+ const attributeRegex = new RegExp(
94
+ XML_ATTRIBUTE_REGEX.source,
95
+ XML_ATTRIBUTE_REGEX.flags
96
+ );
97
+ let attributeMatch;
98
+ while (attributeMatch = attributeRegex.exec(referenceMatch[1] || "")) {
99
+ attributes[(attributeMatch[1] || "").toLowerCase()] = attributeMatch[3] || "";
100
+ }
101
+ const label = (referenceMatch[2] || "").replace(/<[^>]+>/g, "").trim();
102
+ references.push(
103
+ parseXGroupKnowledgeReference({ attributes, text: label })
104
+ );
105
+ }
106
+ return references;
107
+ };
108
+ var renderStaticKnowledgeReference = (node) => {
109
+ const reference = parseXGroupKnowledgeReference(node);
110
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
111
+ "span",
112
+ {
113
+ "aria-label": `知识库引用 ${reference.label || "引"}`,
114
+ "data-xadk-knowledge-reference": "true",
115
+ style: {
116
+ boxSizing: "border-box",
117
+ display: "inline-flex",
118
+ alignItems: "center",
119
+ justifyContent: "center",
120
+ minWidth: 18,
121
+ height: 18,
122
+ margin: "0 3px",
123
+ padding: "0 5px",
124
+ border: "1px solid #e4e6eb",
125
+ borderRadius: 9,
126
+ background: "#f1f2f4",
127
+ color: "#8a8f99",
128
+ fontSize: 12,
129
+ fontWeight: 500,
130
+ lineHeight: "18px",
131
+ verticalAlign: "1px"
132
+ },
133
+ children: reference.label || "引"
134
+ }
135
+ );
136
+ };
137
+ var xGroupKnowledgeReferenceMarkdownExtension = {
138
+ tagName: "ai-kb-ref",
139
+ allowedAttributes: [
140
+ ...XGROUP_KNOWLEDGE_NO_ATTRIBUTES,
141
+ ...XGROUP_DOCUMENT_NO_ATTRIBUTES,
142
+ ...XGROUP_VERSION_ATTRIBUTES,
143
+ ...XGROUP_SHARDING_NO_ATTRIBUTES
144
+ ],
145
+ render: renderStaticKnowledgeReference
146
+ };
147
+ var xGroupMarkdownExtensions = [
148
+ xGroupKnowledgeReferenceMarkdownExtension,
149
+ import_webReference.xGroupWebReferenceMarkdownExtension
150
+ ];
151
+ // Annotate the CommonJS export names for ESM import in node:
152
+ 0 && (module.exports = {
153
+ XGROUP_DOCUMENT_NO_ATTRIBUTES,
154
+ XGROUP_KNOWLEDGE_NO_ATTRIBUTES,
155
+ XGROUP_SHARDING_NO_ATTRIBUTES,
156
+ XGROUP_VERSION_ATTRIBUTES,
157
+ extractXGroupKnowledgeReferences,
158
+ parseXGroupKnowledgeReference,
159
+ xGroupKnowledgeReferenceMarkdownExtension,
160
+ xGroupMarkdownExtensions
161
+ });
162
+ //# sourceMappingURL=knowledgeReference.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/presets/xgroup/knowledgeReference.tsx"],
4
+ "sourcesContent": ["import React from \"react\";\n\nimport type { MarkdownExtension, MarkdownExtensionNode } from \"@/types\";\nimport { xGroupWebReferenceMarkdownExtension } from \"./webReference\";\n\nexport interface XGroupKnowledgeReference {\n knowledgeNo: string;\n documentNo: string;\n shardingNos: string[];\n label: string;\n version?: string;\n}\n\nexport const XGROUP_KNOWLEDGE_NO_ATTRIBUTES = [\n \"knowledge-no\",\n \"knowledge-base-no\",\n \"workspace-no\",\n \"knowledgeno\",\n \"knowledgebaseno\",\n \"workspaceno\",\n] as const;\nexport const XGROUP_DOCUMENT_NO_ATTRIBUTES = [\n \"document-no\",\n \"document-id\",\n \"documentno\",\n \"documentid\",\n] as const;\nexport const XGROUP_VERSION_ATTRIBUTES = [\n \"version\",\n \"document-version\",\n \"documentversion\",\n] as const;\nexport const XGROUP_SHARDING_NO_ATTRIBUTES = [\n \"sharding-nos\",\n \"sharding-no\",\n \"shardingnos\",\n \"shardingno\",\n] as const;\n\nconst AI_KB_REF_REGEX = /<ai-kb-ref\\b([^>]*)>([\\s\\S]*?)<\\/ai-kb-ref>/gi;\nconst XML_ATTRIBUTE_REGEX = /([a-z][a-z0-9-]*)\\s*=\\s*([\"'])(.*?)\\2/gi;\n\nconst getFirstAttribute = (\n attributes: Readonly<Record<string, string>>,\n names: readonly string[],\n) => {\n for (const name of names) {\n const value = attributes[name];\n if (value?.trim()) return value.trim();\n }\n return \"\";\n};\n\nexport const parseXGroupKnowledgeReference = ({\n attributes,\n text,\n}: Pick<MarkdownExtensionNode, \"attributes\" | \"text\">): XGroupKnowledgeReference => {\n const rawShardingNos =\n getFirstAttribute(attributes, XGROUP_SHARDING_NO_ATTRIBUTES) || text;\n return {\n knowledgeNo: getFirstAttribute(attributes, XGROUP_KNOWLEDGE_NO_ATTRIBUTES),\n documentNo: getFirstAttribute(attributes, XGROUP_DOCUMENT_NO_ATTRIBUTES),\n shardingNos: rawShardingNos\n .split(/[,,\\s]+/)\n .map((item) => item.trim())\n .filter(Boolean),\n label: text,\n version:\n getFirstAttribute(attributes, XGROUP_VERSION_ATTRIBUTES) || undefined,\n };\n};\n\n/** 从已完成的 Agent 文本中提取知识库引用,不在流式渲染期间产生副作用。 */\nexport const extractXGroupKnowledgeReferences = (\n text: string,\n): XGroupKnowledgeReference[] => {\n if (!text) return [];\n const references: XGroupKnowledgeReference[] = [];\n const referenceRegex = new RegExp(\n AI_KB_REF_REGEX.source,\n AI_KB_REF_REGEX.flags,\n );\n let referenceMatch: RegExpExecArray | null;\n\n while ((referenceMatch = referenceRegex.exec(text)) !== null) {\n const attributes: Record<string, string> = {};\n const attributeRegex = new RegExp(\n XML_ATTRIBUTE_REGEX.source,\n XML_ATTRIBUTE_REGEX.flags,\n );\n let attributeMatch: RegExpExecArray | null;\n while ((attributeMatch = attributeRegex.exec(referenceMatch[1] || \"\"))) {\n attributes[(attributeMatch[1] || \"\").toLowerCase()] =\n attributeMatch[3] || \"\";\n }\n const label = (referenceMatch[2] || \"\")\n .replace(/<[^>]+>/g, \"\")\n .trim();\n references.push(\n parseXGroupKnowledgeReference({ attributes, text: label }),\n );\n }\n return references;\n};\n\nconst renderStaticKnowledgeReference = (node: MarkdownExtensionNode) => {\n const reference = parseXGroupKnowledgeReference(node);\n return (\n <span\n aria-label={`知识库引用 ${reference.label || \"引\"}`}\n data-xadk-knowledge-reference=\"true\"\n style={{\n boxSizing: \"border-box\",\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n minWidth: 18,\n height: 18,\n margin: \"0 3px\",\n padding: \"0 5px\",\n border: \"1px solid #e4e6eb\",\n borderRadius: 9,\n background: \"#f1f2f4\",\n color: \"#8a8f99\",\n fontSize: 12,\n fontWeight: 500,\n lineHeight: \"18px\",\n verticalAlign: \"1px\",\n }}\n >\n {reference.label || \"引\"}\n </span>\n );\n};\n\nexport const xGroupKnowledgeReferenceMarkdownExtension: MarkdownExtension = {\n tagName: \"ai-kb-ref\",\n allowedAttributes: [\n ...XGROUP_KNOWLEDGE_NO_ATTRIBUTES,\n ...XGROUP_DOCUMENT_NO_ATTRIBUTES,\n ...XGROUP_VERSION_ATTRIBUTES,\n ...XGROUP_SHARDING_NO_ATTRIBUTES,\n ],\n render: renderStaticKnowledgeReference,\n};\n\nexport const xGroupMarkdownExtensions: readonly MarkdownExtension[] = [\n xGroupKnowledgeReferenceMarkdownExtension,\n xGroupWebReferenceMarkdownExtension,\n];\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAoD;AAyGhD;AA/FG,IAAM,iCAAiC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,IAAM,gCAAgC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,IAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AACF;AACO,IAAM,gCAAgC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,kBAAkB;AACxB,IAAM,sBAAsB;AAE5B,IAAM,oBAAoB,CACxB,YACA,UACG;AACH,aAAW,QAAQ,OAAO;AACxB,UAAM,QAAQ,WAAW,IAAI;AAC7B,QAAI,+BAAO;AAAQ,aAAO,MAAM,KAAK;AAAA,EACvC;AACA,SAAO;AACT;AAEO,IAAM,gCAAgC,CAAC;AAAA,EAC5C;AAAA,EACA;AACF,MAAoF;AAClF,QAAM,iBACJ,kBAAkB,YAAY,6BAA6B,KAAK;AAClE,SAAO;AAAA,IACL,aAAa,kBAAkB,YAAY,8BAA8B;AAAA,IACzE,YAAY,kBAAkB,YAAY,6BAA6B;AAAA,IACvE,aAAa,eACV,MAAM,SAAS,EACf,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,OAAO,OAAO;AAAA,IACjB,OAAO;AAAA,IACP,SACE,kBAAkB,YAAY,yBAAyB,KAAK;AAAA,EAChE;AACF;AAGO,IAAM,mCAAmC,CAC9C,SAC+B;AAC/B,MAAI,CAAC;AAAM,WAAO,CAAC;AACnB,QAAM,aAAyC,CAAC;AAChD,QAAM,iBAAiB,IAAI;AAAA,IACzB,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,EAClB;AACA,MAAI;AAEJ,UAAQ,iBAAiB,eAAe,KAAK,IAAI,OAAO,MAAM;AAC5D,UAAM,aAAqC,CAAC;AAC5C,UAAM,iBAAiB,IAAI;AAAA,MACzB,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,IACtB;AACA,QAAI;AACJ,WAAQ,iBAAiB,eAAe,KAAK,eAAe,CAAC,KAAK,EAAE,GAAI;AACtE,kBAAY,eAAe,CAAC,KAAK,IAAI,YAAY,CAAC,IAChD,eAAe,CAAC,KAAK;AAAA,IACzB;AACA,UAAM,SAAS,eAAe,CAAC,KAAK,IACjC,QAAQ,YAAY,EAAE,EACtB,KAAK;AACR,eAAW;AAAA,MACT,8BAA8B,EAAE,YAAY,MAAM,MAAM,CAAC;AAAA,IAC3D;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,iCAAiC,CAAC,SAAgC;AACtE,QAAM,YAAY,8BAA8B,IAAI;AACpD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAY,SAAS,UAAU,SAAS;AAAA,MACxC,iCAA8B;AAAA,MAC9B,OAAO;AAAA,QACL,WAAW;AAAA,QACX,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,eAAe;AAAA,MACjB;AAAA,MAEC,oBAAU,SAAS;AAAA;AAAA,EACtB;AAEJ;AAEO,IAAM,4CAA+D;AAAA,EAC1E,SAAS;AAAA,EACT,mBAAmB;AAAA,IACjB,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA,EACA,QAAQ;AACV;AAEO,IAAM,2BAAyD;AAAA,EACpE;AAAA,EACA;AACF;",
6
+ "names": []
7
+ }
@@ -1,15 +1,3 @@
1
- import type { ChatPreset, ChatPresetInput, ChatStrategies, UploadRequestFn } from "../../types";
1
+ import type { ChatPreset } from "../../types";
2
2
  /** 众安信科 ADK 官方预设:聚合工具展示、消息解析、确认响应和默认上传等业务策略。 */
3
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;
@@ -19,51 +19,30 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/presets/xgroup/preset.ts
20
20
  var preset_exports = {};
21
21
  __export(preset_exports, {
22
- basePreset: () => basePreset,
23
- mergeChatStrategies: () => mergeChatStrategies,
24
- resolveChatPreset: () => resolveChatPreset,
25
- resolvePresetUploadRequest: () => resolvePresetUploadRequest,
26
22
  xGroupAdkPreset: () => xGroupAdkPreset
27
23
  });
28
24
  module.exports = __toCommonJS(preset_exports);
29
25
  var import_utils = require("../../utils");
26
+ var import_base = require("../base");
27
+ var import_define = require("../define");
30
28
  var import_strategies = require("./strategies");
29
+ var import_knowledgeReference = require("./knowledgeReference");
31
30
  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
- };
31
+ var xGroupAdkPreset = (0, import_define.composeChatPresets)(
32
+ import_base.basePreset,
33
+ (0, import_define.defineChatPreset)({
34
+ name: "xgroup-adk",
35
+ markdownExtensions: import_knowledgeReference.xGroupMarkdownExtensions,
36
+ strategies: {
37
+ resolveToolKind: import_strategies.xGroupToolKindResolver,
38
+ parseProcessMessage: (text, options) => (0, import_utils.parseAgentMessage)(text, { mode: "comment", ...options }),
39
+ markdownResourceLinkSchemes: import_strategies.xGroupMarkdownResourceLinkSchemes
40
+ },
41
+ createUploadRequest: import_upload.createXGroupUploadRequest
42
+ })
43
+ );
61
44
  // Annotate the CommonJS export names for ESM import in node:
62
45
  0 && (module.exports = {
63
- basePreset,
64
- mergeChatStrategies,
65
- resolveChatPreset,
66
- resolvePresetUploadRequest,
67
46
  xGroupAdkPreset
68
47
  });
69
48
  //# sourceMappingURL=preset.js.map