@ai-group/chat-sdk 3.7.1-alpha8 → 3.7.2

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 (129) hide show
  1. package/README.md +22 -0
  2. package/dist/cjs/components/XAdkChatbot/index.js +3 -3
  3. package/dist/cjs/components/XAdkChatbot/index.js.map +2 -2
  4. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js +17 -50
  5. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js.map +2 -2
  6. package/dist/cjs/components/XAdkProvider/compound/Sender.d.ts +3 -2
  7. package/dist/cjs/components/XAdkProvider/compound/Sender.js +81 -4
  8. package/dist/cjs/components/XAdkProvider/compound/Sender.js.map +3 -3
  9. package/dist/cjs/components/XAdkProvider/context/DefaultLayoutContext.d.ts +9 -0
  10. package/dist/cjs/components/XAdkProvider/context/DefaultLayoutContext.js +34 -0
  11. package/dist/cjs/components/XAdkProvider/context/DefaultLayoutContext.js.map +7 -0
  12. package/dist/cjs/components/XAdkProvider/context/index.d.ts +5 -4
  13. package/dist/cjs/components/XAdkProvider/context/index.js +3 -1
  14. package/dist/cjs/components/XAdkProvider/context/index.js.map +2 -2
  15. package/dist/cjs/components/XAdkProvider/index.js +3 -3
  16. package/dist/cjs/components/XAdkProvider/index.js.map +2 -2
  17. package/dist/cjs/components/XAdkSender/InlineTagInput.d.ts +4 -0
  18. package/dist/cjs/components/XAdkSender/InlineTagInput.js +28 -1
  19. package/dist/cjs/components/XAdkSender/InlineTagInput.js.map +2 -2
  20. package/dist/cjs/components/XAdkSender/{QuickList.d.ts → InputSuggestionList.d.ts} +4 -3
  21. package/dist/cjs/components/XAdkSender/{QuickList.js → InputSuggestionList.js} +55 -30
  22. package/dist/cjs/components/XAdkSender/InputSuggestionList.js.map +7 -0
  23. package/dist/cjs/components/XAdkSender/index.js +35 -13
  24. package/dist/cjs/components/XAdkSender/index.js.map +3 -3
  25. package/dist/cjs/components/XAdkSender/styles.js +13 -1
  26. package/dist/cjs/components/XAdkSender/styles.js.map +2 -2
  27. package/dist/cjs/components/XAiConversations/index.js +1 -1
  28. package/dist/cjs/components/XAiConversations/index.js.map +2 -2
  29. package/dist/cjs/components/XAiConversations/styles.js +11 -1
  30. package/dist/cjs/components/XAiConversations/styles.js.map +2 -2
  31. package/dist/cjs/index.d.ts +4 -3
  32. package/dist/cjs/index.js +21 -8
  33. package/dist/cjs/index.js.map +2 -2
  34. package/dist/cjs/presets/base.d.ts +6 -0
  35. package/dist/cjs/presets/base.js +50 -0
  36. package/dist/cjs/presets/base.js.map +7 -0
  37. package/dist/cjs/presets/define.d.ts +11 -0
  38. package/dist/cjs/presets/define.js +58 -0
  39. package/dist/cjs/presets/define.js.map +7 -0
  40. package/dist/cjs/presets/index.d.ts +3 -0
  41. package/dist/cjs/presets/index.js +28 -0
  42. package/dist/cjs/presets/index.js.map +7 -0
  43. package/dist/cjs/presets/runtime.d.ts +22 -0
  44. package/dist/cjs/presets/runtime.js +75 -0
  45. package/dist/cjs/presets/runtime.js.map +7 -0
  46. package/dist/cjs/presets/xgroup/index.d.ts +4 -0
  47. package/dist/cjs/presets/xgroup/index.js +8 -0
  48. package/dist/cjs/presets/xgroup/index.js.map +2 -2
  49. package/dist/cjs/presets/xgroup/knowledgeReference.js +3 -1
  50. package/dist/cjs/presets/xgroup/knowledgeReference.js.map +2 -2
  51. package/dist/cjs/presets/xgroup/preset.d.ts +1 -15
  52. package/dist/cjs/presets/xgroup/preset.js +15 -54
  53. package/dist/cjs/presets/xgroup/preset.js.map +2 -2
  54. package/dist/cjs/presets/xgroup/strategies.d.ts +1 -4
  55. package/dist/cjs/presets/xgroup/strategies.js +0 -17
  56. package/dist/cjs/presets/xgroup/strategies.js.map +2 -2
  57. package/dist/cjs/presets/xgroup/webReference.d.ts +10 -0
  58. package/dist/cjs/presets/xgroup/webReference.js +85 -0
  59. package/dist/cjs/presets/xgroup/webReference.js.map +7 -0
  60. package/dist/cjs/types/ChatStrategies.d.ts +3 -1
  61. package/dist/cjs/types/ChatStrategies.js.map +1 -1
  62. package/dist/cjs/types/XAdkSender.d.ts +4 -0
  63. package/dist/cjs/types/XAdkSender.js.map +1 -1
  64. package/dist/esm/components/XAdkChatbot/index.js +1 -1
  65. package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
  66. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js +16 -41
  67. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js.map +1 -1
  68. package/dist/esm/components/XAdkProvider/compound/Sender.d.ts +3 -2
  69. package/dist/esm/components/XAdkProvider/compound/Sender.js +70 -7
  70. package/dist/esm/components/XAdkProvider/compound/Sender.js.map +1 -1
  71. package/dist/esm/components/XAdkProvider/context/DefaultLayoutContext.d.ts +9 -0
  72. package/dist/esm/components/XAdkProvider/context/DefaultLayoutContext.js +9 -0
  73. package/dist/esm/components/XAdkProvider/context/DefaultLayoutContext.js.map +1 -0
  74. package/dist/esm/components/XAdkProvider/context/index.d.ts +5 -4
  75. package/dist/esm/components/XAdkProvider/context/index.js +1 -0
  76. package/dist/esm/components/XAdkProvider/context/index.js.map +1 -1
  77. package/dist/esm/components/XAdkProvider/index.js +1 -1
  78. package/dist/esm/components/XAdkProvider/index.js.map +1 -1
  79. package/dist/esm/components/XAdkSender/InlineTagInput.d.ts +4 -0
  80. package/dist/esm/components/XAdkSender/InlineTagInput.js +26 -7
  81. package/dist/esm/components/XAdkSender/InlineTagInput.js.map +1 -1
  82. package/dist/esm/components/XAdkSender/{QuickList.d.ts → InputSuggestionList.d.ts} +4 -3
  83. package/dist/esm/components/XAdkSender/{QuickList.js → InputSuggestionList.js} +53 -28
  84. package/dist/esm/components/XAdkSender/InputSuggestionList.js.map +1 -0
  85. package/dist/esm/components/XAdkSender/index.js +39 -18
  86. package/dist/esm/components/XAdkSender/index.js.map +1 -1
  87. package/dist/esm/components/XAdkSender/styles.js +2 -2
  88. package/dist/esm/components/XAdkSender/styles.js.map +1 -1
  89. package/dist/esm/components/XAiConversations/index.js +2 -1
  90. package/dist/esm/components/XAiConversations/index.js.map +1 -1
  91. package/dist/esm/components/XAiConversations/styles.js +3 -3
  92. package/dist/esm/components/XAiConversations/styles.js.map +1 -1
  93. package/dist/esm/index.d.ts +4 -3
  94. package/dist/esm/index.js +3 -2
  95. package/dist/esm/index.js.map +1 -1
  96. package/dist/esm/presets/base.d.ts +6 -0
  97. package/dist/esm/presets/base.js +28 -0
  98. package/dist/esm/presets/base.js.map +1 -0
  99. package/dist/esm/presets/define.d.ts +11 -0
  100. package/dist/esm/presets/define.js +33 -0
  101. package/dist/esm/presets/define.js.map +1 -0
  102. package/dist/esm/presets/index.d.ts +3 -0
  103. package/dist/esm/presets/index.js +4 -0
  104. package/dist/esm/presets/index.js.map +1 -0
  105. package/dist/esm/presets/runtime.d.ts +22 -0
  106. package/dist/esm/presets/runtime.js +45 -0
  107. package/dist/esm/presets/runtime.js.map +1 -0
  108. package/dist/esm/presets/xgroup/index.d.ts +4 -0
  109. package/dist/esm/presets/xgroup/index.js +5 -0
  110. package/dist/esm/presets/xgroup/index.js.map +1 -1
  111. package/dist/esm/presets/xgroup/knowledgeReference.js +2 -1
  112. package/dist/esm/presets/xgroup/knowledgeReference.js.map +1 -1
  113. package/dist/esm/presets/xgroup/preset.d.ts +1 -15
  114. package/dist/esm/presets/xgroup/preset.js +5 -41
  115. package/dist/esm/presets/xgroup/preset.js.map +1 -1
  116. package/dist/esm/presets/xgroup/strategies.d.ts +1 -4
  117. package/dist/esm/presets/xgroup/strategies.js +0 -23
  118. package/dist/esm/presets/xgroup/strategies.js.map +1 -1
  119. package/dist/esm/presets/xgroup/webReference.d.ts +10 -0
  120. package/dist/esm/presets/xgroup/webReference.js +46 -0
  121. package/dist/esm/presets/xgroup/webReference.js.map +1 -0
  122. package/dist/esm/types/ChatStrategies.d.ts +3 -1
  123. package/dist/esm/types/ChatStrategies.js.map +1 -1
  124. package/dist/esm/types/XAdkSender.d.ts +4 -0
  125. package/dist/esm/types/XAdkSender.js.map +1 -1
  126. package/dist/umd/chat-sdk.min.js +1 -1
  127. package/package.json +6 -1
  128. package/dist/cjs/components/XAdkSender/QuickList.js.map +0 -7
  129. package/dist/esm/components/XAdkSender/QuickList.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","css","keyframes","globalCss","Global","withBasicStyles","jsx","_jsx","primaryBlue","lightBlue","darkGray","lightGray","borderGray","slideInRight","_templateObject","_taggedTemplateLiteral","slideOutRight","_templateObject2","useStyles","conversationsWrapper","_templateObject3","capWrapper","_templateObject4","capShape","_templateObject5","capIcon","_templateObject6","addChatBtn","_templateObject7","tipTitle","_templateObject8","fWrapper","_templateObject9","nWrapper","_templateObject10","mask","_templateObject11","fheaderWrapper","_templateObject12","scrollList","_templateObject13","slideIn","_templateObject14","slideOut","_templateObject15","GlobalStyle","styles","_templateObject16"],"sources":["../../../../src/components/XAiConversations/styles.tsx"],"sourcesContent":["import React from 'react';\nimport { css, keyframes } from '@emotion/css';\nimport { css as globalCss, Global } from '@emotion/react';\nimport { withBasicStyles } from '@/styles/common';\n\nconst primaryBlue = '#0078FF'; // 主蓝色\nconst lightBlue = '#E6F0FF'; // 浅蓝色气泡背景\nconst darkGray = '#333'; // 深灰色文本\nconst lightGray = '#888'; // 浅灰文本\nconst borderGray = '#ddd'; // 边框灰色\n\nconst slideInRight = keyframes`\n from { transform: translateX(-100%); opacity: 0; }\n to { transform: translateX(0); opacity: 1; }\n`;\n\nconst slideOutRight = keyframes`\n from { transform: translateX(0); opacity: 1; }\n to { transform: translateX(-100%); opacity: 0; }\n`;\n\nexport const useStyles = withBasicStyles(() => ({\n // 静态样式\n conversationsWrapper: css`\n overflow: hidden;\n display: flex;\n flex-direction: column;\n height: 100%;\n `,\n\n capWrapper: css`\n padding: 12px 16px;\n display: flex;\n align-items: center;\n `,\n\n capShape: css`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n height: 40px;\n margin-left: 16px;\n background: #FFFFFF;\n box-shadow: 0px 4px 16px 0px rgba(127,135,166,0.08);\n border-radius: 24px;\n border: 1px solid #E7E7E7;\n box-sizing: border-box;\n transition: box-shadow 0.2s, border-color 0.2s;\n cursor: pointer;\n /* &:hover {\n box-shadow: 0px 4px 24px 0px rgba(127,135,166,0.16);\n border-color: ${primaryBlue};\n } */\n `,\n\n capIcon: css`\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n img {\n width: 17px;\n }\n\n &:hover {\n background: #F2F2F2;\n border-radius: 50%;\n }\n `,\n\n addChatBtn: css`\n width: 256px;\n height: 40px;\n margin: 17px auto 24px;\n background: #FFFFFF;\n border-radius: 20px;\n border: 1px solid #E7E7E7;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: #343434;\n\n &:hover {\n color: #3961F2;\n }\n\n &:active {\n color: #0A3BEE;\n }\n `,\n\n tipTitle: css`\n font-size: 12px;\n color: #949494;\n padding-left: 24px;\n `,\n\n fWrapper: css`\n background: #F8FBFF;\n padding: 16px 0 13px;\n width: 280px;\n height: 100%;\n box-sizing: border-box;\n position: relative;\n flex-shrink: 0;\n border-right: 1px solid #f0f0f0;\n `,\n\n nWrapper: css`\n position: absolute;\n top: 0;\n left: 0;\n width: 280px;\n height: 100%;\n z-index: 1000;\n transition: left 0.3s ease;\n background: #F8FBFF;\n padding: 16px 0 13px;\n box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);\n `,\n\n mask: css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.15);\n z-index: 999;\n cursor: pointer;\n `,\n\n fheaderWrapper: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 11px 0 16px;\n `,\n\n scrollList: css`\n max-height: calc(100vh - 120px); /* 120px为头部高度,可根据实际调整 */\n padding-bottom: 15px;\n overflow-y: auto;\n\n /* 隐藏滚动条(Chrome, Edge, Safari) */\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n background: transparent;\n }\n\n /* 隐藏滚动条(Firefox) */\n scrollbar-width: none;\n\n /* 隐藏滚动条(IE/Edge) */\n -ms-overflow-style: none;\n `,\n\n slideIn: css`\n animation: ${slideInRight} 0.3s forwards;\n `,\n slideOut: css`\n animation: ${slideOutRight} 0.3s forwards;\n `,\n\n}));\n\nexport const GlobalStyle: React.FC = () => (\n <Global\n styles={globalCss`\n .ant-conversations .ant-conversations-item-active {\n background: rgba(57,97,242,0.08);\n }\n\n .ant-conversations .ant-conversations-item-active .ant-conversations-label {\n color: #3961F2;\n }\n `}\n />\n);\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,EAAEC,SAAS,QAAQ,cAAc;AAC7C,SAASD,GAAG,IAAIE,SAAS,EAAEC,MAAM,QAAQ,gBAAgB;AACzD,SAASC,eAAe;AAA0B,SAAAC,GAAA,IAAAC,IAAA;AAElD,IAAMC,WAAW,GAAG,SAAS,CAAC,CAAC;AAC/B,IAAMC,SAAS,GAAG,SAAS,CAAC,CAAG;AAC/B,IAAMC,QAAQ,GAAG,MAAM,CAAC,CAAQ;AAChC,IAAMC,SAAS,GAAG,MAAM,CAAC,CAAO;AAChC,IAAMC,UAAU,GAAG,MAAM,CAAC,CAAM;;AAEhC,IAAMC,YAAY,GAAGX,SAAS,CAAAY,eAAA,KAAAA,eAAA,GAAAC,sBAAA,gHAG7B;AAED,IAAMC,aAAa,GAAGd,SAAS,CAAAe,gBAAA,KAAAA,gBAAA,GAAAF,sBAAA,gHAG9B;AAED,OAAO,IAAMG,SAAS,GAAGb,eAAe,CAAC;EAAA,OAAO;IAC9C;IACAc,oBAAoB,EAAElB,GAAG,CAAAmB,gBAAA,KAAAA,gBAAA,GAAAL,sBAAA,uGAKxB;IAEDM,UAAU,EAAEpB,GAAG,CAAAqB,gBAAA,KAAAA,gBAAA,GAAAP,sBAAA,mFAId;IAEDQ,QAAQ,EAAEtB,GAAG,CAAAuB,gBAAA,KAAAA,gBAAA,GAAAT,sBAAA,+fAgBOP,WAAW,CAE9B;IAEDiB,OAAO,EAAExB,GAAG,CAAAyB,gBAAA,KAAAA,gBAAA,GAAAX,sBAAA,0QAgBX;IAEDY,UAAU,EAAE1B,GAAG,CAAA2B,gBAAA,KAAAA,gBAAA,GAAAb,sBAAA,sZAqBd;IAEDc,QAAQ,EAAE5B,GAAG,CAAA6B,gBAAA,KAAAA,gBAAA,GAAAf,sBAAA,gFAIZ;IAEDgB,QAAQ,EAAE9B,GAAG,CAAA+B,gBAAA,KAAAA,gBAAA,GAAAjB,sBAAA,wNASZ;IAEDkB,QAAQ,EAAEhC,GAAG,CAAAiC,iBAAA,KAAAA,iBAAA,GAAAnB,sBAAA,+PAWZ;IAEDoB,IAAI,EAAElC,GAAG,CAAAmC,iBAAA,KAAAA,iBAAA,GAAArB,sBAAA,sLASR;IAEDsB,cAAc,EAAEpC,GAAG,CAAAqC,iBAAA,KAAAA,iBAAA,GAAAvB,sBAAA,4HAKlB;IAEDwB,UAAU,EAAEtC,GAAG,CAAAuC,iBAAA,KAAAA,iBAAA,GAAAzB,sBAAA,+jBAkBd;IAED0B,OAAO,EAAExC,GAAG,CAAAyC,iBAAA,KAAAA,iBAAA,GAAA3B,sBAAA,iDACGF,YAAY,CAC1B;IACD8B,QAAQ,EAAE1C,GAAG,CAAA2C,iBAAA,KAAAA,iBAAA,GAAA7B,sBAAA,iDACEC,aAAa;EAG9B,CAAC;AAAA,CAAC,CAAC;AAEH,OAAO,IAAM6B,WAAqB,GAAG,SAAxBA,WAAqBA,CAAA;EAAA,oBAChCtC,IAAA,CAACH,MAAM;IACL0C,MAAM,EAAE3C,SAAS,CAAA4C,iBAAA,KAAAA,iBAAA,GAAAhC,sBAAA;EAQf,CACH,CAAC;AAAA,CACH"}
1
+ {"version":3,"names":["React","css","keyframes","globalCss","Global","withBasicStyles","jsx","_jsx","primaryBlue","lightBlue","darkGray","lightGray","borderGray","slideInRight","_templateObject","_taggedTemplateLiteral","slideOutRight","_templateObject2","useStyles","conversationsWrapper","_templateObject3","capWrapper","_templateObject4","capShape","_templateObject5","capIcon","_templateObject6","addChatBtn","_templateObject7","tipTitle","_templateObject8","fWrapper","_templateObject9","nWrapper","_templateObject10","mask","_templateObject11","fheaderWrapper","_templateObject12","scrollList","_templateObject13","slideIn","_templateObject14","slideOut","_templateObject15","GlobalStyle","styles","_templateObject16"],"sources":["../../../../src/components/XAiConversations/styles.tsx"],"sourcesContent":["import React from 'react';\nimport { css, keyframes } from '@emotion/css';\nimport { css as globalCss, Global } from '@emotion/react';\nimport { withBasicStyles } from '@/styles/common';\n\nconst primaryBlue = '#0078FF'; // 主蓝色\nconst lightBlue = '#E6F0FF'; // 浅蓝色气泡背景\nconst darkGray = '#333'; // 深灰色文本\nconst lightGray = '#888'; // 浅灰文本\nconst borderGray = '#ddd'; // 边框灰色\n\nconst slideInRight = keyframes`\n from { transform: translateX(-100%); opacity: 0; }\n to { transform: translateX(0); opacity: 1; }\n`;\n\nconst slideOutRight = keyframes`\n from { transform: translateX(0); opacity: 1; }\n to { transform: translateX(-100%); opacity: 0; }\n`;\n\nexport const useStyles = withBasicStyles(() => ({\n // 静态样式\n conversationsWrapper: css`\n overflow: hidden;\n display: flex;\n flex-direction: column;\n height: 100%;\n `,\n\n capWrapper: css`\n padding: 12px 16px;\n display: flex;\n align-items: center;\n `,\n\n capShape: css`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n height: 40px;\n margin-left: 16px;\n background: #FFFFFF;\n box-shadow: 0px 4px 16px 0px rgba(127,135,166,0.08);\n border-radius: 24px;\n border: 1px solid #E7E7E7;\n box-sizing: border-box;\n transition: box-shadow 0.2s, border-color 0.2s;\n cursor: pointer;\n /* &:hover {\n box-shadow: 0px 4px 24px 0px rgba(127,135,166,0.16);\n border-color: ${primaryBlue};\n } */\n `,\n\n capIcon: css`\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n img {\n width: 17px;\n }\n\n &:hover {\n background: #F2F2F2;\n border-radius: 50%;\n }\n `,\n\n addChatBtn: css`\n width: 256px;\n height: 40px;\n margin: 17px auto 24px;\n background: #FFFFFF;\n border-radius: 20px;\n border: 1px solid #E7E7E7;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: #343434;\n\n &:hover {\n color: #3961F2;\n }\n\n &:active {\n color: #0A3BEE;\n }\n `,\n\n tipTitle: css`\n font-size: 12px;\n color: #949494;\n padding-left: 24px;\n `,\n\n fWrapper: css`\n background: #F8FBFF;\n padding: 16px 0 13px;\n width: 280px;\n height: 100%;\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n flex-shrink: 0;\n border-right: 1px solid #f0f0f0;\n `,\n\n nWrapper: css`\n position: absolute;\n top: 0;\n left: 0;\n width: 280px;\n height: 100%;\n box-sizing: border-box;\n z-index: 1000;\n transition: left 0.3s ease;\n background: #F8FBFF;\n padding: 16px 0 13px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);\n `,\n\n mask: css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.15);\n z-index: 999;\n cursor: pointer;\n `,\n\n fheaderWrapper: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 11px 0 16px;\n `,\n\n scrollList: css`\n /* 使用侧栏的真实剩余高度,兼容全屏、弹窗及任意高度的嵌入容器。 */\n flex: 1;\n min-height: 0;\n padding-bottom: 15px;\n box-sizing: border-box;\n overflow-y: auto;\n\n /* 隐藏滚动条(Chrome, Edge, Safari) */\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n background: transparent;\n }\n\n /* 隐藏滚动条(Firefox) */\n scrollbar-width: none;\n\n /* 隐藏滚动条(IE/Edge) */\n -ms-overflow-style: none;\n `,\n\n slideIn: css`\n animation: ${slideInRight} 0.3s forwards;\n `,\n slideOut: css`\n animation: ${slideOutRight} 0.3s forwards;\n `,\n\n}));\n\nexport const GlobalStyle: React.FC = () => (\n <Global\n styles={globalCss`\n .ant-conversations .ant-conversations-item-active {\n background: rgba(57,97,242,0.08);\n }\n\n .ant-conversations .ant-conversations-item-active .ant-conversations-label {\n color: #3961F2;\n }\n `}\n />\n);\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,EAAEC,SAAS,QAAQ,cAAc;AAC7C,SAASD,GAAG,IAAIE,SAAS,EAAEC,MAAM,QAAQ,gBAAgB;AACzD,SAASC,eAAe;AAA0B,SAAAC,GAAA,IAAAC,IAAA;AAElD,IAAMC,WAAW,GAAG,SAAS,CAAC,CAAC;AAC/B,IAAMC,SAAS,GAAG,SAAS,CAAC,CAAG;AAC/B,IAAMC,QAAQ,GAAG,MAAM,CAAC,CAAQ;AAChC,IAAMC,SAAS,GAAG,MAAM,CAAC,CAAO;AAChC,IAAMC,UAAU,GAAG,MAAM,CAAC,CAAM;;AAEhC,IAAMC,YAAY,GAAGX,SAAS,CAAAY,eAAA,KAAAA,eAAA,GAAAC,sBAAA,gHAG7B;AAED,IAAMC,aAAa,GAAGd,SAAS,CAAAe,gBAAA,KAAAA,gBAAA,GAAAF,sBAAA,gHAG9B;AAED,OAAO,IAAMG,SAAS,GAAGb,eAAe,CAAC;EAAA,OAAO;IAC9C;IACAc,oBAAoB,EAAElB,GAAG,CAAAmB,gBAAA,KAAAA,gBAAA,GAAAL,sBAAA,uGAKxB;IAEDM,UAAU,EAAEpB,GAAG,CAAAqB,gBAAA,KAAAA,gBAAA,GAAAP,sBAAA,mFAId;IAEDQ,QAAQ,EAAEtB,GAAG,CAAAuB,gBAAA,KAAAA,gBAAA,GAAAT,sBAAA,+fAgBOP,WAAW,CAE9B;IAEDiB,OAAO,EAAExB,GAAG,CAAAyB,gBAAA,KAAAA,gBAAA,GAAAX,sBAAA,0QAgBX;IAEDY,UAAU,EAAE1B,GAAG,CAAA2B,gBAAA,KAAAA,gBAAA,GAAAb,sBAAA,sZAqBd;IAEDc,QAAQ,EAAE5B,GAAG,CAAA6B,gBAAA,KAAAA,gBAAA,GAAAf,sBAAA,gFAIZ;IAEDgB,QAAQ,EAAE9B,GAAG,CAAA+B,gBAAA,KAAAA,gBAAA,GAAAjB,sBAAA,gSAYZ;IAEDkB,QAAQ,EAAEhC,GAAG,CAAAiC,iBAAA,KAAAA,iBAAA,GAAAnB,sBAAA,oWAeZ;IAEDoB,IAAI,EAAElC,GAAG,CAAAmC,iBAAA,KAAAA,iBAAA,GAAArB,sBAAA,sLASR;IAEDsB,cAAc,EAAEpC,GAAG,CAAAqC,iBAAA,KAAAA,iBAAA,GAAAvB,sBAAA,4HAKlB;IAEDwB,UAAU,EAAEtC,GAAG,CAAAuC,iBAAA,KAAAA,iBAAA,GAAAzB,sBAAA,8rBAqBd;IAED0B,OAAO,EAAExC,GAAG,CAAAyC,iBAAA,KAAAA,iBAAA,GAAA3B,sBAAA,iDACGF,YAAY,CAC1B;IACD8B,QAAQ,EAAE1C,GAAG,CAAA2C,iBAAA,KAAAA,iBAAA,GAAA7B,sBAAA,iDACEC,aAAa;EAG9B,CAAC;AAAA,CAAC,CAAC;AAEH,OAAO,IAAM6B,WAAqB,GAAG,SAAxBA,WAAqBA,CAAA;EAAA,oBAChCtC,IAAA,CAACH,MAAM;IACL0C,MAAM,EAAE3C,SAAS,CAAA4C,iBAAA,KAAAA,iBAAA,GAAAhC,sBAAA;EAQf,CACH,CAAC;AAAA,CACH"}
@@ -13,13 +13,14 @@ import XAdkProvider from "./components/XAdkProvider";
13
13
  import XAdkChatbot from "./components/XAdkChatbot";
14
14
  import XAdkSender from "./components/XAdkSender";
15
15
  import useADKChat from "./hooks/useADKChat";
16
- import { baseChatStrategies, basePreset, baseToolKindResolver, mergeChatStrategies, resolvePresetUploadRequest, resolveChatPreset, resolvePresetMarkdownExtensions, extractXGroupKnowledgeReferences, parseXGroupKnowledgeReference, xGroupKnowledgeReferenceMarkdownExtension, xGroupMarkdownExtensions, createXGroupUploadRequest, xGroupAdkPreset, xGroupToolKindResolver } from "./presets/xgroup";
16
+ import { baseChatStrategies, basePreset, baseToolKindResolver, BUILTIN_CHAT_PRESETS, composeChatPresets, DEFAULT_CHAT_PRESET_NAME, defineChatPreset, mergeChatStrategies, resolvePresetUploadRequest, resolveChatPreset, resolvePresetMarkdownExtensions } from "./presets";
17
+ import { extractXGroupKnowledgeReferences, parseXGroupKnowledgeReference, xGroupKnowledgeReferenceMarkdownExtension, xGroupMarkdownExtensions, parseXGroupWebReference, xGroupWebReferenceMarkdownExtension, createXGroupUploadRequest, xGroupAdkPreset, xGroupToolKindResolver } from "./presets/xgroup";
17
18
  export { useChatState, useChatActions, useSession, } from "./components/XAdkProvider/context";
18
19
  export * from "./types";
19
20
  export type { ChatHookResult, ChatHookFactory } from "./types/ChatHook";
20
21
  export { useXAi, XAiProvider, XAiChatbot, XAiSDK, XAiSender, XAiConversations, useXAiSDK, request, };
21
- export { XAdkProvider, XAdkChatbot, XAdkSender, FileGallery, XAdkThoughtChain, useADKChat, formatMarkdownResourceLinksAsText, getMarkdownResourceDisplayLabel, parseMarkdownResourceLinksAsParts, parseMarkdownResourceHref, replaceMarkdownResourceLinks, baseChatStrategies, basePreset, baseToolKindResolver, createXGroupUploadRequest, mergeChatStrategies, resolvePresetUploadRequest, resolveChatPreset, resolvePresetMarkdownExtensions, extractXGroupKnowledgeReferences, parseXGroupKnowledgeReference, xGroupKnowledgeReferenceMarkdownExtension, xGroupMarkdownExtensions, xGroupAdkPreset, xGroupToolKindResolver, };
22
- export type { XGroupKnowledgeReference } from "./presets/xgroup";
22
+ export { XAdkProvider, XAdkChatbot, XAdkSender, FileGallery, XAdkThoughtChain, useADKChat, formatMarkdownResourceLinksAsText, getMarkdownResourceDisplayLabel, parseMarkdownResourceLinksAsParts, parseMarkdownResourceHref, replaceMarkdownResourceLinks, baseChatStrategies, basePreset, baseToolKindResolver, BUILTIN_CHAT_PRESETS, composeChatPresets, DEFAULT_CHAT_PRESET_NAME, defineChatPreset, createXGroupUploadRequest, mergeChatStrategies, resolvePresetUploadRequest, resolveChatPreset, resolvePresetMarkdownExtensions, extractXGroupKnowledgeReferences, parseXGroupKnowledgeReference, xGroupKnowledgeReferenceMarkdownExtension, xGroupMarkdownExtensions, parseXGroupWebReference, xGroupWebReferenceMarkdownExtension, xGroupAdkPreset, xGroupToolKindResolver, };
23
+ export type { XGroupKnowledgeReference, XGroupWebReference, } from "./presets/xgroup";
23
24
  import Sources from "./components/Sources";
24
25
  export { Sources };
25
26
  export type { SourcesProps, SourcesItem, SourcesRef } from "./types/Sources";
package/dist/esm/index.js CHANGED
@@ -16,7 +16,8 @@ import XAdkProvider from "./components/XAdkProvider";
16
16
  import XAdkChatbot from "./components/XAdkChatbot";
17
17
  import XAdkSender from "./components/XAdkSender";
18
18
  import useADKChat from "./hooks/useADKChat";
19
- import { baseChatStrategies, basePreset, baseToolKindResolver, mergeChatStrategies, resolvePresetUploadRequest, resolveChatPreset, resolvePresetMarkdownExtensions, extractXGroupKnowledgeReferences, parseXGroupKnowledgeReference, xGroupKnowledgeReferenceMarkdownExtension, xGroupMarkdownExtensions, createXGroupUploadRequest, xGroupAdkPreset, xGroupToolKindResolver } from "./presets/xgroup";
19
+ import { baseChatStrategies, basePreset, baseToolKindResolver, BUILTIN_CHAT_PRESETS, composeChatPresets, DEFAULT_CHAT_PRESET_NAME, defineChatPreset, mergeChatStrategies, resolvePresetUploadRequest, resolveChatPreset, resolvePresetMarkdownExtensions } from "./presets";
20
+ import { extractXGroupKnowledgeReferences, parseXGroupKnowledgeReference, xGroupKnowledgeReferenceMarkdownExtension, xGroupMarkdownExtensions, parseXGroupWebReference, xGroupWebReferenceMarkdownExtension, createXGroupUploadRequest, xGroupAdkPreset, xGroupToolKindResolver } from "./presets/xgroup";
20
21
 
21
22
  // 导出新的 Context Hooks
22
23
  export { useChatState, useChatActions, useSession } from "./components/XAdkProvider/context";
@@ -28,7 +29,7 @@ export * from "./types";
28
29
  export { useXAi, XAiProvider, XAiChatbot, XAiSDK, XAiSender, XAiConversations, useXAiSDK, request };
29
30
 
30
31
  // 新 API - 推荐使用
31
- export { XAdkProvider, XAdkChatbot, XAdkSender, FileGallery, XAdkThoughtChain, useADKChat, formatMarkdownResourceLinksAsText, getMarkdownResourceDisplayLabel, parseMarkdownResourceLinksAsParts, parseMarkdownResourceHref, replaceMarkdownResourceLinks, baseChatStrategies, basePreset, baseToolKindResolver, createXGroupUploadRequest, mergeChatStrategies, resolvePresetUploadRequest, resolveChatPreset, resolvePresetMarkdownExtensions, extractXGroupKnowledgeReferences, parseXGroupKnowledgeReference, xGroupKnowledgeReferenceMarkdownExtension, xGroupMarkdownExtensions, xGroupAdkPreset, xGroupToolKindResolver };
32
+ export { XAdkProvider, XAdkChatbot, XAdkSender, FileGallery, XAdkThoughtChain, useADKChat, formatMarkdownResourceLinksAsText, getMarkdownResourceDisplayLabel, parseMarkdownResourceLinksAsParts, parseMarkdownResourceHref, replaceMarkdownResourceLinks, baseChatStrategies, basePreset, baseToolKindResolver, BUILTIN_CHAT_PRESETS, composeChatPresets, DEFAULT_CHAT_PRESET_NAME, defineChatPreset, createXGroupUploadRequest, mergeChatStrategies, resolvePresetUploadRequest, resolveChatPreset, resolvePresetMarkdownExtensions, extractXGroupKnowledgeReferences, parseXGroupKnowledgeReference, xGroupKnowledgeReferenceMarkdownExtension, xGroupMarkdownExtensions, parseXGroupWebReference, xGroupWebReferenceMarkdownExtension, xGroupAdkPreset, xGroupToolKindResolver };
32
33
  // Sources 来源引用组件
33
34
  import Sources from "./components/Sources";
34
35
  export { Sources };
@@ -1 +1 @@
1
- {"version":3,"names":["useXAi","XAiProvider","XAiChatbot","XAiSDK","XAiSender","FileGallery","XAiConversations","XAdkThoughtChain","useXAiSDK","request","formatMarkdownResourceLinksAsText","getMarkdownResourceDisplayLabel","parseMarkdownResourceLinksAsParts","parseMarkdownResourceHref","replaceMarkdownResourceLinks","XAdkProvider","XAdkChatbot","XAdkSender","useADKChat","baseChatStrategies","basePreset","baseToolKindResolver","mergeChatStrategies","resolvePresetUploadRequest","resolveChatPreset","resolvePresetMarkdownExtensions","extractXGroupKnowledgeReferences","parseXGroupKnowledgeReference","xGroupKnowledgeReferenceMarkdownExtension","xGroupMarkdownExtensions","createXGroupUploadRequest","xGroupAdkPreset","xGroupToolKindResolver","useChatState","useChatActions","useSession","Sources","FolderTree","default","MarkdownRender","FunctionCallRender","ThinkRender","tokens","tokenDefaults","token","cssVarStyle","useAdkConversation","createXGroupOpenApiTransport"],"sources":["../../src/index.ts"],"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\";\nimport {\n formatMarkdownResourceLinksAsText,\n getMarkdownResourceDisplayLabel,\n parseMarkdownResourceLinksAsParts,\n parseMarkdownResourceHref,\n replaceMarkdownResourceLinks,\n} from \"./utils/markdownResource\";\n\n// 新的 Compound Components 架构\nimport XAdkProvider from \"./components/XAdkProvider\";\nimport XAdkChatbot from \"./components/XAdkChatbot\";\nimport XAdkSender from \"./components/XAdkSender\";\nimport useADKChat from \"./hooks/useADKChat\";\nimport {\n baseChatStrategies,\n basePreset,\n baseToolKindResolver,\n mergeChatStrategies,\n resolvePresetUploadRequest,\n resolveChatPreset,\n resolvePresetMarkdownExtensions,\n extractXGroupKnowledgeReferences,\n parseXGroupKnowledgeReference,\n xGroupKnowledgeReferenceMarkdownExtension,\n xGroupMarkdownExtensions,\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 FileGallery,\n XAdkThoughtChain,\n useADKChat,\n formatMarkdownResourceLinksAsText,\n getMarkdownResourceDisplayLabel,\n parseMarkdownResourceLinksAsParts,\n parseMarkdownResourceHref,\n replaceMarkdownResourceLinks,\n baseChatStrategies,\n basePreset,\n baseToolKindResolver,\n createXGroupUploadRequest,\n mergeChatStrategies,\n resolvePresetUploadRequest,\n resolveChatPreset,\n resolvePresetMarkdownExtensions,\n extractXGroupKnowledgeReferences,\n parseXGroupKnowledgeReference,\n xGroupKnowledgeReferenceMarkdownExtension,\n xGroupMarkdownExtensions,\n xGroupAdkPreset,\n xGroupToolKindResolver,\n};\nexport type { XGroupKnowledgeReference } from \"./presets/xgroup\";\n\n// Sources 来源引用组件\nimport Sources from \"./components/Sources\";\nexport { Sources };\nexport type { SourcesProps, SourcesItem, SourcesRef } from \"./types/Sources\";\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"],"mappings":"AAAA;AACA,SAASA,MAAM;AACf,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,MAAM;AACb,OAAOC,SAAS;AAChB,OAAOC,WAAW;AAClB,OAAOC,gBAAgB;AACvB,OAAOC,gBAAgB;AACvB,OAAOC,SAAS;AAChB,OAAOC,OAAO;AACd,SACEC,iCAAiC,EACjCC,+BAA+B,EAC/BC,iCAAiC,EACjCC,yBAAyB,EACzBC,4BAA4B;;AAG9B;AACA,OAAOC,YAAY;AACnB,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,UAAU;AACjB,SACEC,kBAAkB,EAClBC,UAAU,EACVC,oBAAoB,EACpBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,iBAAiB,EACjBC,+BAA+B,EAC/BC,gCAAgC,EAChCC,6BAA6B,EAC7BC,yCAAyC,EACzCC,wBAAwB,EACxBC,yBAAyB,EACzBC,eAAe,EACfC,sBAAsB;;AAGxB;AACA,SACEC,YAAY,EACZC,cAAc,EACdC,UAAU;AAGZ;;AAEA;;AAGA;AACA,SACEnC,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTE,gBAAgB,EAChBE,SAAS,EACTC,OAAO;;AAGT;AACA,SACEM,YAAY,EACZC,WAAW,EACXC,UAAU,EACVZ,WAAW,EACXE,gBAAgB,EAChBW,UAAU,EACVR,iCAAiC,EACjCC,+BAA+B,EAC/BC,iCAAiC,EACjCC,yBAAyB,EACzBC,4BAA4B,EAC5BK,kBAAkB,EAClBC,UAAU,EACVC,oBAAoB,EACpBS,yBAAyB,EACzBR,mBAAmB,EACnBC,0BAA0B,EAC1BC,iBAAiB,EACjBC,+BAA+B,EAC/BC,gCAAgC,EAChCC,6BAA6B,EAC7BC,yCAAyC,EACzCC,wBAAwB,EACxBE,eAAe,EACfC,sBAAsB;AAIxB;AACA,OAAOI,OAAO;AACd,SAASA,OAAO;AAGhB;AACA,OAAOC,UAAU;AACjB,SAASA,UAAU;AAQnB;AACA,SAASC,OAAO,IAAIC,cAAc;AAClC,SAASD,OAAO,IAAIE,kBAAkB;AACtC,SAASF,OAAO,IAAIG,WAAW;;AAE/B;;AASA;AACA,SAASC,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAEC,WAAW;;AAElD;AACA;AACA,SAASP,OAAO,IAAIQ,kBAAkB;AAEtC,SAASC,4BAA4B"}
1
+ {"version":3,"names":["useXAi","XAiProvider","XAiChatbot","XAiSDK","XAiSender","FileGallery","XAiConversations","XAdkThoughtChain","useXAiSDK","request","formatMarkdownResourceLinksAsText","getMarkdownResourceDisplayLabel","parseMarkdownResourceLinksAsParts","parseMarkdownResourceHref","replaceMarkdownResourceLinks","XAdkProvider","XAdkChatbot","XAdkSender","useADKChat","baseChatStrategies","basePreset","baseToolKindResolver","BUILTIN_CHAT_PRESETS","composeChatPresets","DEFAULT_CHAT_PRESET_NAME","defineChatPreset","mergeChatStrategies","resolvePresetUploadRequest","resolveChatPreset","resolvePresetMarkdownExtensions","extractXGroupKnowledgeReferences","parseXGroupKnowledgeReference","xGroupKnowledgeReferenceMarkdownExtension","xGroupMarkdownExtensions","parseXGroupWebReference","xGroupWebReferenceMarkdownExtension","createXGroupUploadRequest","xGroupAdkPreset","xGroupToolKindResolver","useChatState","useChatActions","useSession","Sources","FolderTree","default","MarkdownRender","FunctionCallRender","ThinkRender","tokens","tokenDefaults","token","cssVarStyle","useAdkConversation","createXGroupOpenApiTransport"],"sources":["../../src/index.ts"],"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\";\nimport {\n formatMarkdownResourceLinksAsText,\n getMarkdownResourceDisplayLabel,\n parseMarkdownResourceLinksAsParts,\n parseMarkdownResourceHref,\n replaceMarkdownResourceLinks,\n} from \"./utils/markdownResource\";\n\n// 新的 Compound Components 架构\nimport XAdkProvider from \"./components/XAdkProvider\";\nimport XAdkChatbot from \"./components/XAdkChatbot\";\nimport XAdkSender from \"./components/XAdkSender\";\nimport useADKChat from \"./hooks/useADKChat\";\nimport {\n baseChatStrategies,\n basePreset,\n baseToolKindResolver,\n BUILTIN_CHAT_PRESETS,\n composeChatPresets,\n DEFAULT_CHAT_PRESET_NAME,\n defineChatPreset,\n mergeChatStrategies,\n resolvePresetUploadRequest,\n resolveChatPreset,\n resolvePresetMarkdownExtensions,\n} from \"./presets\";\nimport {\n extractXGroupKnowledgeReferences,\n parseXGroupKnowledgeReference,\n xGroupKnowledgeReferenceMarkdownExtension,\n xGroupMarkdownExtensions,\n parseXGroupWebReference,\n xGroupWebReferenceMarkdownExtension,\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 FileGallery,\n XAdkThoughtChain,\n useADKChat,\n formatMarkdownResourceLinksAsText,\n getMarkdownResourceDisplayLabel,\n parseMarkdownResourceLinksAsParts,\n parseMarkdownResourceHref,\n replaceMarkdownResourceLinks,\n baseChatStrategies,\n basePreset,\n baseToolKindResolver,\n BUILTIN_CHAT_PRESETS,\n composeChatPresets,\n DEFAULT_CHAT_PRESET_NAME,\n defineChatPreset,\n createXGroupUploadRequest,\n mergeChatStrategies,\n resolvePresetUploadRequest,\n resolveChatPreset,\n resolvePresetMarkdownExtensions,\n extractXGroupKnowledgeReferences,\n parseXGroupKnowledgeReference,\n xGroupKnowledgeReferenceMarkdownExtension,\n xGroupMarkdownExtensions,\n parseXGroupWebReference,\n xGroupWebReferenceMarkdownExtension,\n xGroupAdkPreset,\n xGroupToolKindResolver,\n};\nexport type {\n XGroupKnowledgeReference,\n XGroupWebReference,\n} from \"./presets/xgroup\";\n\n// Sources 来源引用组件\nimport Sources from \"./components/Sources\";\nexport { Sources };\nexport type { SourcesProps, SourcesItem, SourcesRef } from \"./types/Sources\";\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"],"mappings":"AAAA;AACA,SAASA,MAAM;AACf,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,MAAM;AACb,OAAOC,SAAS;AAChB,OAAOC,WAAW;AAClB,OAAOC,gBAAgB;AACvB,OAAOC,gBAAgB;AACvB,OAAOC,SAAS;AAChB,OAAOC,OAAO;AACd,SACEC,iCAAiC,EACjCC,+BAA+B,EAC/BC,iCAAiC,EACjCC,yBAAyB,EACzBC,4BAA4B;;AAG9B;AACA,OAAOC,YAAY;AACnB,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,UAAU;AACjB,SACEC,kBAAkB,EAClBC,UAAU,EACVC,oBAAoB,EACpBC,oBAAoB,EACpBC,kBAAkB,EAClBC,wBAAwB,EACxBC,gBAAgB,EAChBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,iBAAiB,EACjBC,+BAA+B;AAEjC,SACEC,gCAAgC,EAChCC,6BAA6B,EAC7BC,yCAAyC,EACzCC,wBAAwB,EACxBC,uBAAuB,EACvBC,mCAAmC,EACnCC,yBAAyB,EACzBC,eAAe,EACfC,sBAAsB;;AAGxB;AACA,SACEC,YAAY,EACZC,cAAc,EACdC,UAAU;AAGZ;;AAEA;;AAGA;AACA,SACEzC,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTE,gBAAgB,EAChBE,SAAS,EACTC,OAAO;;AAGT;AACA,SACEM,YAAY,EACZC,WAAW,EACXC,UAAU,EACVZ,WAAW,EACXE,gBAAgB,EAChBW,UAAU,EACVR,iCAAiC,EACjCC,+BAA+B,EAC/BC,iCAAiC,EACjCC,yBAAyB,EACzBC,4BAA4B,EAC5BK,kBAAkB,EAClBC,UAAU,EACVC,oBAAoB,EACpBC,oBAAoB,EACpBC,kBAAkB,EAClBC,wBAAwB,EACxBC,gBAAgB,EAChBW,yBAAyB,EACzBV,mBAAmB,EACnBC,0BAA0B,EAC1BC,iBAAiB,EACjBC,+BAA+B,EAC/BC,gCAAgC,EAChCC,6BAA6B,EAC7BC,yCAAyC,EACzCC,wBAAwB,EACxBC,uBAAuB,EACvBC,mCAAmC,EACnCE,eAAe,EACfC,sBAAsB;AAOxB;AACA,OAAOI,OAAO;AACd,SAASA,OAAO;AAGhB;AACA,OAAOC,UAAU;AACjB,SAASA,UAAU;AAQnB;AACA,SAASC,OAAO,IAAIC,cAAc;AAClC,SAASD,OAAO,IAAIE,kBAAkB;AACtC,SAASF,OAAO,IAAIG,WAAW;;AAE/B;;AASA;AACA,SAASC,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAEC,WAAW;;AAElD;AACA;AACA,SAASP,OAAO,IAAIQ,kBAAkB;AAEtC,SAASC,4BAA4B"}
@@ -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,28 @@
1
+ import { parseAgentMessage } from "../utils";
2
+ var BASE_MARKDOWN_RESOURCE_LINK_SCHEMES = [];
3
+ export var baseToolKindResolver = function baseToolKindResolver() {
4
+ return "default";
5
+ };
6
+
7
+ /** SDK 基础策略:不带任何企业协议偏好的最小行为集合。 */
8
+ export var baseChatStrategies = {
9
+ resolveToolKind: baseToolKindResolver,
10
+ createFunctionResponse: function createFunctionResponse(fnCall, confirmed) {
11
+ return {
12
+ id: fnCall.id,
13
+ name: fnCall.name,
14
+ response: {
15
+ confirmed: confirmed
16
+ }
17
+ };
18
+ },
19
+ parseProcessMessage: parseAgentMessage,
20
+ markdownResourceLinkSchemes: BASE_MARKDOWN_RESOURCE_LINK_SCHEMES
21
+ };
22
+
23
+ /** 不绑定企业后端协议的中立预设。 */
24
+ export var basePreset = {
25
+ name: "base",
26
+ strategies: baseChatStrategies
27
+ };
28
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseAgentMessage","BASE_MARKDOWN_RESOURCE_LINK_SCHEMES","baseToolKindResolver","baseChatStrategies","resolveToolKind","createFunctionResponse","fnCall","confirmed","id","name","response","parseProcessMessage","markdownResourceLinkSchemes","basePreset","strategies"],"sources":["../../../src/presets/base.ts"],"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"],"mappings":"AAAA,SAASA,iBAAiB;AAS1B,IAAMC,mCAAsD,GAAG,EAAE;AAEjE,OAAO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA;EAAA,OAAyB,SAAS;AAAA;;AAEnE;AACA,OAAO,IAAMC,kBAQZ,GAAG;EACFC,eAAe,EAAEF,oBAAoB;EACrCG,sBAAsB,EAAE,SAAAA,uBACtBC,MAAoB,EACpBC,SAAkB;IAAA,OACI;MACtBC,EAAE,EAAEF,MAAM,CAACE,EAAE;MACbC,IAAI,EAAEH,MAAM,CAACG,IAAI;MACjBC,QAAQ,EAAE;QAAEH,SAAS,EAATA;MAAU;IACxB,CAAC;EAAA,CAAC;EACFI,mBAAmB,EAAEX,iBAAiB;EACtCY,2BAA2B,EAAEX;AAC/B,CAAC;;AAED;AACA,OAAO,IAAMY,UAAsB,GAAG;EACpCJ,IAAI,EAAE,MAAM;EACZK,UAAU,EAAEX;AACd,CAAC"}
@@ -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,33 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ /**
4
+ * 为企业预设提供类型安全的声明入口。
5
+ * 使用函数而非可变的全局注册器,避免 SSR/多实例之间共享注册状态。
6
+ */
7
+ export var defineChatPreset = function defineChatPreset(preset) {
8
+ return preset;
9
+ };
10
+ var mergeChatPreset = function mergeChatPreset(base, override) {
11
+ var overrideTags = new Set((override.markdownExtensions || []).map(function (item) {
12
+ return item.tagName.toLowerCase();
13
+ }));
14
+ return _objectSpread(_objectSpread(_objectSpread({}, base), override), {}, {
15
+ strategies: _objectSpread(_objectSpread({}, base.strategies), override.strategies),
16
+ markdownExtensions: [].concat(_toConsumableArray((base.markdownExtensions || []).filter(function (item) {
17
+ return !overrideTags.has(item.tagName.toLowerCase());
18
+ })), _toConsumableArray(override.markdownExtensions || [])),
19
+ createUploadRequest: Object.prototype.hasOwnProperty.call(override, "createUploadRequest") ? override.createUploadRequest : base.createUploadRequest
20
+ });
21
+ };
22
+
23
+ /**
24
+ * 组合基础预设、可复用能力包和企业差异。后传入的预设优先,策略按字段浅合并,
25
+ * Markdown 扩展按 tagName 去重并由后者覆盖。
26
+ */
27
+ export var composeChatPresets = function composeChatPresets(base) {
28
+ for (var _len = arguments.length, overrides = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
29
+ overrides[_key - 1] = arguments[_key];
30
+ }
31
+ return overrides.reduce(mergeChatPreset, base);
32
+ };
33
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["defineChatPreset","preset","mergeChatPreset","base","override","overrideTags","Set","markdownExtensions","map","item","tagName","toLowerCase","_objectSpread","strategies","concat","_toConsumableArray","filter","has","createUploadRequest","Object","prototype","hasOwnProperty","call","composeChatPresets","_len","arguments","length","overrides","Array","_key","reduce"],"sources":["../../../src/presets/define.ts"],"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"],"mappings":";;AAEA;AACA;AACA;AACA;AACA,OAAO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAC3BC,MAAe;EAAA,OACHA,MAAM;AAAA;AAEpB,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CACnBC,IAAgB,EAChBC,QAAoB,EACL;EACf,IAAMC,YAAY,GAAG,IAAIC,GAAG,CAC1B,CAACF,QAAQ,CAACG,kBAAkB,IAAI,EAAE,EAAEC,GAAG,CAAC,UAACC,IAAI;IAAA,OAC3CA,IAAI,CAACC,OAAO,CAACC,WAAW,CAAC,CAAC;EAAA,CAC5B,CACF,CAAC;EAED,OAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACKT,IAAI,GACJC,QAAQ;IACXS,UAAU,EAAAD,aAAA,CAAAA,aAAA,KACLT,IAAI,CAACU,UAAU,GACfT,QAAQ,CAACS,UAAU,CACvB;IACDN,kBAAkB,KAAAO,MAAA,CAAAC,kBAAA,CACb,CAACZ,IAAI,CAACI,kBAAkB,IAAI,EAAE,EAAES,MAAM,CACvC,UAACP,IAAI;MAAA,OAAK,CAACJ,YAAY,CAACY,GAAG,CAACR,IAAI,CAACC,OAAO,CAACC,WAAW,CAAC,CAAC,CAAC;IAAA,CACzD,CAAC,GAAAI,kBAAA,CACGX,QAAQ,CAACG,kBAAkB,IAAI,EAAE,EACtC;IACDW,mBAAmB,EAAEC,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CACvDlB,QAAQ,EACR,qBACF,CAAC,GACGA,QAAQ,CAACc,mBAAmB,GAC5Bf,IAAI,CAACe;EAAmB;AAEhC,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAC7BpB,IAAgB;EAAA,SAAAqB,IAAA,GAAAC,SAAA,CAAAC,MAAA,EACbC,SAAS,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAATF,SAAS,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;EAAA;EAAA,OAEZF,SAAS,CAACG,MAAM,CAAC5B,eAAe,EAAEC,IAAI,CAAC;AAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "./base";
2
+ export * from "./define";
3
+ export * from "./runtime";
@@ -0,0 +1,4 @@
1
+ export * from "./base";
2
+ export * from "./define";
3
+ export * from "./runtime";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/presets/index.ts"],"sourcesContent":["export * from \"./base\";\nexport * from \"./define\";\nexport * from \"./runtime\";\n"],"mappings":"AAAA;AACA;AACA"}
@@ -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,45 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import { baseChatStrategies, basePreset } from "./base";
4
+ import { xGroupAdkPreset } from "./xgroup/preset";
5
+ export var DEFAULT_CHAT_PRESET_NAME = "xgroup-adk";
6
+
7
+ /** SDK 内建预设注册表。外部预设应优先直接传入 ChatPreset 对象。 */
8
+ export var BUILTIN_CHAT_PRESETS = Object.freeze({
9
+ base: basePreset,
10
+ "xgroup-adk": xGroupAdkPreset
11
+ });
12
+
13
+ /**
14
+ * 统一解析内建名称和自定义预设对象。
15
+ * 未传时继续使用 xgroup-adk,保持既有接入行为。
16
+ */
17
+ export var resolveChatPreset = function resolveChatPreset(preset) {
18
+ if (!preset) return BUILTIN_CHAT_PRESETS[DEFAULT_CHAT_PRESET_NAME];
19
+ if (typeof preset !== "string") return preset;
20
+ return BUILTIN_CHAT_PRESETS[preset];
21
+ };
22
+
23
+ /** 将基础策略、预设策略和接入方局部覆盖按优先级合并。 */
24
+ export var mergeChatStrategies = function mergeChatStrategies(preset, overrides) {
25
+ return _objectSpread(_objectSpread(_objectSpread({}, baseChatStrategies), resolveChatPreset(preset).strategies), overrides);
26
+ };
27
+
28
+ /** 合并预设与接入方 Markdown 扩展;同名标签始终由接入方覆盖。 */
29
+ export var resolvePresetMarkdownExtensions = function resolvePresetMarkdownExtensions(preset) {
30
+ var overrides = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
31
+ var registeredTags = new Set();
32
+ return [].concat(_toConsumableArray(overrides), _toConsumableArray(resolveChatPreset(preset).markdownExtensions || [])).filter(function (extension) {
33
+ var tagName = extension.tagName.toLowerCase();
34
+ if (registeredTags.has(tagName)) return false;
35
+ registeredTags.add(tagName);
36
+ return true;
37
+ });
38
+ };
39
+
40
+ /** 解析当前预设提供的默认上传实现,显式 uploadRequest 仍由调用方优先。 */
41
+ export var resolvePresetUploadRequest = function resolvePresetUploadRequest(preset, context) {
42
+ var _resolveChatPreset$cr, _resolveChatPreset;
43
+ return (_resolveChatPreset$cr = (_resolveChatPreset = resolveChatPreset(preset)).createUploadRequest) === null || _resolveChatPreset$cr === void 0 ? void 0 : _resolveChatPreset$cr.call(_resolveChatPreset, context);
44
+ };
45
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["baseChatStrategies","basePreset","xGroupAdkPreset","DEFAULT_CHAT_PRESET_NAME","BUILTIN_CHAT_PRESETS","Object","freeze","base","resolveChatPreset","preset","mergeChatStrategies","overrides","_objectSpread","strategies","resolvePresetMarkdownExtensions","arguments","length","undefined","registeredTags","Set","concat","_toConsumableArray","markdownExtensions","filter","extension","tagName","toLowerCase","has","add","resolvePresetUploadRequest","context","_resolveChatPreset$cr","_resolveChatPreset","createUploadRequest","call"],"sources":["../../../src/presets/runtime.ts"],"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"],"mappings":";;AAQA,SAASA,kBAAkB,EAAEC,UAAU;AACvC,SAASC,eAAe;AAExB,OAAO,IAAMC,wBAAwB,GAAG,YAAqB;;AAE7D;AACA,OAAO,IAAMC,oBAAoB,GAAGC,MAAM,CAACC,MAAM,CAAC;EAChDC,IAAI,EAAEN,UAAU;EAChB,YAAY,EAAEC;AAChB,CAAC,CAA+D;;AAEhE;AACA;AACA;AACA;AACA,OAAO,IAAMM,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BC,MAAmC,EACpB;EACf,IAAI,CAACA,MAAM,EAAE,OAAOL,oBAAoB,CAACD,wBAAwB,CAAC;EAClE,IAAI,OAAOM,MAAM,KAAK,QAAQ,EAAE,OAAOA,MAAM;EAC7C,OAAOL,oBAAoB,CAACK,MAAM,CAAC;AACrC,CAAC;;AAED;AACA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAC9BD,MAAmC,EACnCE,SAA0B;EAAA,OAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAEvBZ,kBAAkB,GAClBQ,iBAAiB,CAACC,MAAM,CAAC,CAACI,UAAU,GACpCF,SAAS;AAAA,CACZ;;AAEF;AACA,OAAO,IAAMG,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAC1CL,MAAmC,EAEhC;EAAA,IADHE,SAAuC,GAAAI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAE5C,IAAMG,cAAc,GAAG,IAAIC,GAAG,CAAS,CAAC;EACxC,OAAO,GAAAC,MAAA,CAAAC,kBAAA,CACFV,SAAS,GAAAU,kBAAA,CACRb,iBAAiB,CAACC,MAAM,CAAC,CAACa,kBAAkB,IAAI,EAAE,GACtDC,MAAM,CAAC,UAACC,SAAS,EAAK;IACtB,IAAMC,OAAO,GAAGD,SAAS,CAACC,OAAO,CAACC,WAAW,CAAC,CAAC;IAC/C,IAAIR,cAAc,CAACS,GAAG,CAACF,OAAO,CAAC,EAAE,OAAO,KAAK;IAC7CP,cAAc,CAACU,GAAG,CAACH,OAAO,CAAC;IAC3B,OAAO,IAAI;EACb,CAAC,CAAC;AACJ,CAAC;;AAED;AACA,OAAO,IAAMI,0BAA0B,GAAG,SAA7BA,0BAA0BA,CACrCpB,MAAmC,EACnCqB,OAIC;EAAA,IAAAC,qBAAA,EAAAC,kBAAA;EAAA,QAAAD,qBAAA,GAED,CAAAC,kBAAA,GAAAxB,iBAAiB,CAACC,MAAM,CAAC,EAACwB,mBAAmB,cAAAF,qBAAA,uBAA7CA,qBAAA,CAAAG,IAAA,CAAAF,kBAAA,EAAgDF,OAAO,CAAC;AAAA"}
@@ -1,5 +1,9 @@
1
+ export * from "../base";
2
+ export * from "../define";
3
+ export * from "../runtime";
1
4
  export * from "./preset";
2
5
  export * from "./knowledgeReference";
6
+ export * from "./webReference";
3
7
  export * from "./strategies";
4
8
  export * from "./transport";
5
9
  export * from "./upload";
@@ -1,5 +1,10 @@
1
+ // 兼容历史从 presets/xgroup 导入的基础预设工具;新代码建议从 presets 导入。
2
+ export * from "../base";
3
+ export * from "../define";
4
+ export * from "../runtime";
1
5
  export * from "./preset";
2
6
  export * from "./knowledgeReference";
7
+ export * from "./webReference";
3
8
  export * from "./strategies";
4
9
  export * from "./transport";
5
10
  export * from "./upload";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/presets/xgroup/index.ts"],"sourcesContent":["export * from \"./preset\";\nexport * from \"./knowledgeReference\";\nexport * from \"./strategies\";\nexport * from \"./transport\";\nexport * from \"./upload\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"names":[],"sources":["../../../../src/presets/xgroup/index.ts"],"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"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -1,5 +1,6 @@
1
1
  import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
2
2
  import React from "react";
3
+ import { xGroupWebReferenceMarkdownExtension } from "./webReference";
3
4
  import { jsx as _jsx } from "react/jsx-runtime";
4
5
  export var XGROUP_KNOWLEDGE_NO_ATTRIBUTES = ["knowledge-no", "knowledge-base-no", "workspace-no", "knowledgeno", "knowledgebaseno", "workspaceno"];
5
6
  export var XGROUP_DOCUMENT_NO_ATTRIBUTES = ["document-no", "document-id", "documentno", "documentid"];
@@ -90,5 +91,5 @@ export var xGroupKnowledgeReferenceMarkdownExtension = {
90
91
  allowedAttributes: [].concat(XGROUP_KNOWLEDGE_NO_ATTRIBUTES, XGROUP_DOCUMENT_NO_ATTRIBUTES, XGROUP_VERSION_ATTRIBUTES, XGROUP_SHARDING_NO_ATTRIBUTES),
91
92
  render: renderStaticKnowledgeReference
92
93
  };
93
- export var xGroupMarkdownExtensions = [xGroupKnowledgeReferenceMarkdownExtension];
94
+ export var xGroupMarkdownExtensions = [xGroupKnowledgeReferenceMarkdownExtension, xGroupWebReferenceMarkdownExtension];
94
95
  //# sourceMappingURL=knowledgeReference.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","jsx","_jsx","XGROUP_KNOWLEDGE_NO_ATTRIBUTES","XGROUP_DOCUMENT_NO_ATTRIBUTES","XGROUP_VERSION_ATTRIBUTES","XGROUP_SHARDING_NO_ATTRIBUTES","AI_KB_REF_REGEX","XML_ATTRIBUTE_REGEX","getFirstAttribute","attributes","names","_iterator","_createForOfIteratorHelper","_step","s","n","done","name","value","trim","err","e","f","parseXGroupKnowledgeReference","_ref","text","rawShardingNos","knowledgeNo","documentNo","shardingNos","split","map","item","filter","Boolean","label","version","undefined","extractXGroupKnowledgeReferences","references","referenceRegex","RegExp","source","flags","referenceMatch","exec","attributeRegex","attributeMatch","toLowerCase","replace","push","renderStaticKnowledgeReference","node","reference","concat","style","boxSizing","display","alignItems","justifyContent","minWidth","height","margin","padding","border","borderRadius","background","color","fontSize","fontWeight","lineHeight","verticalAlign","children","xGroupKnowledgeReferenceMarkdownExtension","tagName","allowedAttributes","render","xGroupMarkdownExtensions"],"sources":["../../../../src/presets/xgroup/knowledgeReference.tsx"],"sourcesContent":["import React from \"react\";\n\nimport type { MarkdownExtension, MarkdownExtensionNode } from \"@/types\";\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];\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","xGroupWebReferenceMarkdownExtension","jsx","_jsx","XGROUP_KNOWLEDGE_NO_ATTRIBUTES","XGROUP_DOCUMENT_NO_ATTRIBUTES","XGROUP_VERSION_ATTRIBUTES","XGROUP_SHARDING_NO_ATTRIBUTES","AI_KB_REF_REGEX","XML_ATTRIBUTE_REGEX","getFirstAttribute","attributes","names","_iterator","_createForOfIteratorHelper","_step","s","n","done","name","value","trim","err","e","f","parseXGroupKnowledgeReference","_ref","text","rawShardingNos","knowledgeNo","documentNo","shardingNos","split","map","item","filter","Boolean","label","version","undefined","extractXGroupKnowledgeReferences","references","referenceRegex","RegExp","source","flags","referenceMatch","exec","attributeRegex","attributeMatch","toLowerCase","replace","push","renderStaticKnowledgeReference","node","reference","concat","style","boxSizing","display","alignItems","justifyContent","minWidth","height","margin","padding","border","borderRadius","background","color","fontSize","fontWeight","lineHeight","verticalAlign","children","xGroupKnowledgeReferenceMarkdownExtension","tagName","allowedAttributes","render","xGroupMarkdownExtensions"],"sources":["../../../../src/presets/xgroup/knowledgeReference.tsx"],"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"],"mappings":"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"}
@@ -1,17 +1,3 @@
1
- import type { ChatPreset, ChatPresetInput, ChatStrategies, MarkdownExtension, UploadRequestFn } from "../../types";
1
+ import type { ChatPreset } from "../../types";
2
2
  /** 众安信科 ADK 官方预设:聚合工具展示、消息解析、确认响应和默认上传等业务策略。 */
3
3
  export declare const xGroupAdkPreset: ChatPreset;
4
- /** 合并预设与接入方扩展;同名标签始终由接入方覆盖。 */
5
- export declare const resolvePresetMarkdownExtensions: (preset: ChatPresetInput | undefined, overrides?: readonly MarkdownExtension[]) => MarkdownExtension[];
6
- /** 基础预设用于完全通用的 SDK 行为,不绑定众安信科后端协议。 */
7
- export declare const basePreset: ChatPreset;
8
- /** 统一解析字符串预设和对象预设,默认保持历史行为使用 xgroup-adk。 */
9
- export declare const resolveChatPreset: (preset: ChatPresetInput | undefined) => ChatPreset;
10
- /** 将预设策略与局部覆盖合并,供组件和业务侧按需覆盖单个函数。 */
11
- export declare const mergeChatStrategies: (preset: ChatPresetInput | undefined, overrides?: ChatStrategies) => ChatStrategies;
12
- /** 从当前预设中解析上传实现,业务显式传入 uploadRequest 时仍然优先使用业务实现。 */
13
- export declare const resolvePresetUploadRequest: (preset: ChatPresetInput | undefined, context: {
14
- url: string;
15
- token?: string;
16
- appNo?: string;
17
- }) => UploadRequestFn | undefined;
@@ -1,17 +1,17 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
2
  import { parseAgentMessage } from "../../utils";
4
- import { baseChatStrategies, xGroupMarkdownResourceLinkSchemes, xGroupToolKindResolver } from "./strategies";
3
+ import { basePreset } from "../base";
4
+ import { composeChatPresets, defineChatPreset } from "../define";
5
+ import { xGroupMarkdownResourceLinkSchemes, xGroupToolKindResolver } from "./strategies";
5
6
  import { xGroupMarkdownExtensions } from "./knowledgeReference";
6
7
  import { createXGroupUploadRequest } from "./upload";
7
8
 
8
9
  /** 众安信科 ADK 官方预设:聚合工具展示、消息解析、确认响应和默认上传等业务策略。 */
9
- export var xGroupAdkPreset = {
10
+ export var xGroupAdkPreset = composeChatPresets(basePreset, defineChatPreset({
10
11
  name: "xgroup-adk",
11
12
  markdownExtensions: xGroupMarkdownExtensions,
12
13
  strategies: {
13
14
  resolveToolKind: xGroupToolKindResolver,
14
- createFunctionResponse: baseChatStrategies.createFunctionResponse,
15
15
  parseProcessMessage: function parseProcessMessage(text, options) {
16
16
  return parseAgentMessage(text, _objectSpread({
17
17
  mode: "comment"
@@ -20,41 +20,5 @@ export var xGroupAdkPreset = {
20
20
  markdownResourceLinkSchemes: xGroupMarkdownResourceLinkSchemes
21
21
  },
22
22
  createUploadRequest: createXGroupUploadRequest
23
- };
24
-
25
- /** 合并预设与接入方扩展;同名标签始终由接入方覆盖。 */
26
- export var resolvePresetMarkdownExtensions = function resolvePresetMarkdownExtensions(preset) {
27
- var overrides = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
28
- var registeredTags = new Set();
29
- return [].concat(_toConsumableArray(overrides), _toConsumableArray(resolveChatPreset(preset).markdownExtensions || [])).filter(function (extension) {
30
- var tagName = extension.tagName.toLowerCase();
31
- if (registeredTags.has(tagName)) return false;
32
- registeredTags.add(tagName);
33
- return true;
34
- });
35
- };
36
-
37
- /** 基础预设用于完全通用的 SDK 行为,不绑定众安信科后端协议。 */
38
- export var basePreset = {
39
- name: "base",
40
- strategies: baseChatStrategies
41
- };
42
-
43
- /** 统一解析字符串预设和对象预设,默认保持历史行为使用 xgroup-adk。 */
44
- export var resolveChatPreset = function resolveChatPreset(preset) {
45
- if (!preset || preset === "xgroup-adk") return xGroupAdkPreset;
46
- if (preset === "base") return basePreset;
47
- return preset;
48
- };
49
-
50
- /** 将预设策略与局部覆盖合并,供组件和业务侧按需覆盖单个函数。 */
51
- export var mergeChatStrategies = function mergeChatStrategies(preset, overrides) {
52
- return _objectSpread(_objectSpread(_objectSpread({}, baseChatStrategies), resolveChatPreset(preset).strategies), overrides);
53
- };
54
-
55
- /** 从当前预设中解析上传实现,业务显式传入 uploadRequest 时仍然优先使用业务实现。 */
56
- export var resolvePresetUploadRequest = function resolvePresetUploadRequest(preset, context) {
57
- var _resolveChatPreset$cr, _resolveChatPreset;
58
- return (_resolveChatPreset$cr = (_resolveChatPreset = resolveChatPreset(preset)).createUploadRequest) === null || _resolveChatPreset$cr === void 0 ? void 0 : _resolveChatPreset$cr.call(_resolveChatPreset, context);
59
- };
23
+ }));
60
24
  //# sourceMappingURL=preset.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["parseAgentMessage","baseChatStrategies","xGroupMarkdownResourceLinkSchemes","xGroupToolKindResolver","xGroupMarkdownExtensions","createXGroupUploadRequest","xGroupAdkPreset","name","markdownExtensions","strategies","resolveToolKind","createFunctionResponse","parseProcessMessage","text","options","_objectSpread","mode","markdownResourceLinkSchemes","createUploadRequest","resolvePresetMarkdownExtensions","preset","overrides","arguments","length","undefined","registeredTags","Set","concat","_toConsumableArray","resolveChatPreset","filter","extension","tagName","toLowerCase","has","add","basePreset","mergeChatStrategies","resolvePresetUploadRequest","context","_resolveChatPreset$cr","_resolveChatPreset","call"],"sources":["../../../../src/presets/xgroup/preset.ts"],"sourcesContent":["import { parseAgentMessage } from \"@/utils\";\nimport type {\n ChatPreset,\n ChatPresetInput,\n ChatStrategies,\n MarkdownExtension,\n UploadRequestFn,\n} from \"@/types\";\nimport {\n baseChatStrategies,\n xGroupMarkdownResourceLinkSchemes,\n xGroupToolKindResolver,\n} from \"./strategies\";\nimport { xGroupMarkdownExtensions } from \"./knowledgeReference\";\nimport { createXGroupUploadRequest } from \"./upload\";\n\n/** 众安信科 ADK 官方预设:聚合工具展示、消息解析、确认响应和默认上传等业务策略。 */\nexport const xGroupAdkPreset: ChatPreset = {\n name: \"xgroup-adk\",\n markdownExtensions: xGroupMarkdownExtensions,\n strategies: {\n resolveToolKind: xGroupToolKindResolver,\n createFunctionResponse: baseChatStrategies.createFunctionResponse,\n parseProcessMessage: (text, options) =>\n parseAgentMessage(text, { mode: \"comment\", ...options }),\n markdownResourceLinkSchemes: xGroupMarkdownResourceLinkSchemes,\n },\n createUploadRequest: createXGroupUploadRequest,\n};\n\n/** 合并预设与接入方扩展;同名标签始终由接入方覆盖。 */\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/** 基础预设用于完全通用的 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"],"mappings":";;AAAA,SAASA,iBAAiB;AAQ1B,SACEC,kBAAkB,EAClBC,iCAAiC,EACjCC,sBAAsB;AAExB,SAASC,wBAAwB;AACjC,SAASC,yBAAyB;;AAElC;AACA,OAAO,IAAMC,eAA2B,GAAG;EACzCC,IAAI,EAAE,YAAY;EAClBC,kBAAkB,EAAEJ,wBAAwB;EAC5CK,UAAU,EAAE;IACVC,eAAe,EAAEP,sBAAsB;IACvCQ,sBAAsB,EAAEV,kBAAkB,CAACU,sBAAsB;IACjEC,mBAAmB,EAAE,SAAAA,oBAACC,IAAI,EAAEC,OAAO;MAAA,OACjCd,iBAAiB,CAACa,IAAI,EAAAE,aAAA;QAAIC,IAAI,EAAE;MAAS,GAAKF,OAAO,CAAE,CAAC;IAAA;IAC1DG,2BAA2B,EAAEf;EAC/B,CAAC;EACDgB,mBAAmB,EAAEb;AACvB,CAAC;;AAED;AACA,OAAO,IAAMc,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAC1CC,MAAmC,EAEhC;EAAA,IADHC,SAAuC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAE5C,IAAMG,cAAc,GAAG,IAAIC,GAAG,CAAS,CAAC;EACxC,OAAO,GAAAC,MAAA,CAAAC,kBAAA,CACFP,SAAS,GAAAO,kBAAA,CACRC,iBAAiB,CAACT,MAAM,CAAC,CAACZ,kBAAkB,IAAI,EAAE,GACtDsB,MAAM,CAAC,UAACC,SAAS,EAAK;IACtB,IAAMC,OAAO,GAAGD,SAAS,CAACC,OAAO,CAACC,WAAW,CAAC,CAAC;IAC/C,IAAIR,cAAc,CAACS,GAAG,CAACF,OAAO,CAAC,EAAE,OAAO,KAAK;IAC7CP,cAAc,CAACU,GAAG,CAACH,OAAO,CAAC;IAC3B,OAAO,IAAI;EACb,CAAC,CAAC;AACJ,CAAC;;AAED;AACA,OAAO,IAAMI,UAAsB,GAAG;EACpC7B,IAAI,EAAE,MAAM;EACZE,UAAU,EAAER;AACd,CAAC;;AAED;AACA,OAAO,IAAM4B,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BT,MAAmC,EACpB;EACf,IAAI,CAACA,MAAM,IAAIA,MAAM,KAAK,YAAY,EAAE,OAAOd,eAAe;EAC9D,IAAIc,MAAM,KAAK,MAAM,EAAE,OAAOgB,UAAU;EACxC,OAAOhB,MAAM;AACf,CAAC;;AAED;AACA,OAAO,IAAMiB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAC9BjB,MAAmC,EACnCC,SAA0B;EAAA,OAAAN,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAEvBd,kBAAkB,GAClB4B,iBAAiB,CAACT,MAAM,CAAC,CAACX,UAAU,GACpCY,SAAS;AAAA,CACZ;;AAEF;AACA,OAAO,IAAMiB,0BAA0B,GAAG,SAA7BA,0BAA0BA,CACrClB,MAAmC,EACnCmB,OAIC,EAC+B;EAAA,IAAAC,qBAAA,EAAAC,kBAAA;EAChC,QAAAD,qBAAA,GAAO,CAAAC,kBAAA,GAAAZ,iBAAiB,CAACT,MAAM,CAAC,EAACF,mBAAmB,cAAAsB,qBAAA,uBAA7CA,qBAAA,CAAAE,IAAA,CAAAD,kBAAA,EAAgDF,OAAO,CAAC;AACjE,CAAC"}
1
+ {"version":3,"names":["parseAgentMessage","basePreset","composeChatPresets","defineChatPreset","xGroupMarkdownResourceLinkSchemes","xGroupToolKindResolver","xGroupMarkdownExtensions","createXGroupUploadRequest","xGroupAdkPreset","name","markdownExtensions","strategies","resolveToolKind","parseProcessMessage","text","options","_objectSpread","mode","markdownResourceLinkSchemes","createUploadRequest"],"sources":["../../../../src/presets/xgroup/preset.ts"],"sourcesContent":["import { parseAgentMessage } from \"@/utils\";\nimport type { ChatPreset } from \"@/types\";\nimport { basePreset } from \"../base\";\nimport { composeChatPresets, defineChatPreset } from \"../define\";\nimport {\n xGroupMarkdownResourceLinkSchemes,\n xGroupToolKindResolver,\n} from \"./strategies\";\nimport { xGroupMarkdownExtensions } from \"./knowledgeReference\";\nimport { createXGroupUploadRequest } from \"./upload\";\n\n/** 众安信科 ADK 官方预设:聚合工具展示、消息解析、确认响应和默认上传等业务策略。 */\nexport const xGroupAdkPreset: ChatPreset = composeChatPresets(\n basePreset,\n defineChatPreset({\n name: \"xgroup-adk\",\n markdownExtensions: xGroupMarkdownExtensions,\n strategies: {\n resolveToolKind: xGroupToolKindResolver,\n parseProcessMessage: (text, options) =>\n parseAgentMessage(text, { mode: \"comment\", ...options }),\n markdownResourceLinkSchemes: xGroupMarkdownResourceLinkSchemes,\n },\n createUploadRequest: createXGroupUploadRequest,\n }),\n);\n"],"mappings":";AAAA,SAASA,iBAAiB;AAE1B,SAASC,UAAU;AACnB,SAASC,kBAAkB,EAAEC,gBAAgB;AAC7C,SACEC,iCAAiC,EACjCC,sBAAsB;AAExB,SAASC,wBAAwB;AACjC,SAASC,yBAAyB;;AAElC;AACA,OAAO,IAAMC,eAA2B,GAAGN,kBAAkB,CAC3DD,UAAU,EACVE,gBAAgB,CAAC;EACfM,IAAI,EAAE,YAAY;EAClBC,kBAAkB,EAAEJ,wBAAwB;EAC5CK,UAAU,EAAE;IACVC,eAAe,EAAEP,sBAAsB;IACvCQ,mBAAmB,EAAE,SAAAA,oBAACC,IAAI,EAAEC,OAAO;MAAA,OACjCf,iBAAiB,CAACc,IAAI,EAAAE,aAAA;QAAIC,IAAI,EAAE;MAAS,GAAKF,OAAO,CAAE,CAAC;IAAA;IAC1DG,2BAA2B,EAAEd;EAC/B,CAAC;EACDe,mBAAmB,EAAEZ;AACvB,CAAC,CACH,CAAC"}
@@ -1,12 +1,9 @@
1
- import type { ChatStrategies, ToolRenderKind } from "../../types";
1
+ import type { ToolRenderKind } from "../../types";
2
2
  export declare const xGroupMarkdownResourceLinkSchemes: readonly ["skill", "kb"];
3
3
  export declare const formatXGroupMarkdownResourceLinksAsText: (text: string, options?: {
4
4
  stripTrigger?: boolean;
5
5
  }) => string;
6
- export declare const baseToolKindResolver: () => ToolRenderKind;
7
6
  /** 众安信科预设的工具类型映射,集中处理当前后端约定的 tool name。 */
8
7
  export declare const xGroupToolKindResolver: ({ name, }: {
9
8
  name?: string | undefined;
10
9
  }) => ToolRenderKind;
11
- /** SDK 基础策略:不带业务协议偏好的最小行为集合。 */
12
- export declare const baseChatStrategies: Required<Pick<ChatStrategies, "resolveToolKind" | "createFunctionResponse" | "parseProcessMessage" | "markdownResourceLinkSchemes">>;
@@ -1,17 +1,12 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import { parseAgentMessage } from "../../utils";
3
2
  import { MARKDOWN_RESOURCE_LINK_SCHEMES } from "../../utils/markdownResource";
4
3
  import { formatMarkdownResourceLinksAsText } from "../../utils/markdownResource";
5
4
  export var xGroupMarkdownResourceLinkSchemes = MARKDOWN_RESOURCE_LINK_SCHEMES;
6
- var baseMarkdownResourceLinkSchemes = [];
7
5
  export var formatXGroupMarkdownResourceLinksAsText = function formatXGroupMarkdownResourceLinksAsText(text, options) {
8
6
  return formatMarkdownResourceLinksAsText(text, _objectSpread(_objectSpread({}, options), {}, {
9
7
  schemes: xGroupMarkdownResourceLinkSchemes
10
8
  }));
11
9
  };
12
- export var baseToolKindResolver = function baseToolKindResolver() {
13
- return "default";
14
- };
15
10
 
16
11
  /** 众安信科预设的工具类型映射,集中处理当前后端约定的 tool name。 */
17
12
  export var xGroupToolKindResolver = function xGroupToolKindResolver(_ref) {
@@ -20,22 +15,4 @@ export var xGroupToolKindResolver = function xGroupToolKindResolver(_ref) {
20
15
  if (name === "transferToAgent") return "handoff";
21
16
  return "default";
22
17
  };
23
-
24
- /** SDK 基础策略:不带业务协议偏好的最小行为集合。 */
25
- export var baseChatStrategies = {
26
- resolveToolKind: function resolveToolKind() {
27
- return "default";
28
- },
29
- createFunctionResponse: function createFunctionResponse(fnCall, confirmed) {
30
- return {
31
- id: fnCall.id,
32
- name: fnCall.name,
33
- response: {
34
- confirmed: confirmed
35
- }
36
- };
37
- },
38
- parseProcessMessage: parseAgentMessage,
39
- markdownResourceLinkSchemes: baseMarkdownResourceLinkSchemes
40
- };
41
18
  //# sourceMappingURL=strategies.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["parseAgentMessage","MARKDOWN_RESOURCE_LINK_SCHEMES","formatMarkdownResourceLinksAsText","xGroupMarkdownResourceLinkSchemes","baseMarkdownResourceLinkSchemes","formatXGroupMarkdownResourceLinksAsText","text","options","_objectSpread","schemes","baseToolKindResolver","xGroupToolKindResolver","_ref","name","baseChatStrategies","resolveToolKind","createFunctionResponse","fnCall","confirmed","id","response","parseProcessMessage","markdownResourceLinkSchemes"],"sources":["../../../../src/presets/xgroup/strategies.ts"],"sourcesContent":["import { parseAgentMessage } from \"@/utils\";\nimport type {\n ChatStrategies,\n FunctionCall,\n FunctionResponse,\n ToolRenderKind,\n} from \"@/types\";\nimport { MARKDOWN_RESOURCE_LINK_SCHEMES } from \"@/utils/markdownResource\";\nimport { formatMarkdownResourceLinksAsText } from \"@/utils/markdownResource\";\n\nexport const xGroupMarkdownResourceLinkSchemes = MARKDOWN_RESOURCE_LINK_SCHEMES;\nconst baseMarkdownResourceLinkSchemes: readonly string[] = [];\n\nexport const formatXGroupMarkdownResourceLinksAsText = (\n text: string,\n options?: { stripTrigger?: boolean },\n) =>\n formatMarkdownResourceLinksAsText(text, {\n ...options,\n schemes: xGroupMarkdownResourceLinkSchemes,\n });\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\"\n | \"createFunctionResponse\"\n | \"parseProcessMessage\"\n | \"markdownResourceLinkSchemes\"\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 markdownResourceLinkSchemes: baseMarkdownResourceLinkSchemes,\n};\n"],"mappings":";AAAA,SAASA,iBAAiB;AAO1B,SAASC,8BAA8B;AACvC,SAASC,iCAAiC;AAE1C,OAAO,IAAMC,iCAAiC,GAAGF,8BAA8B;AAC/E,IAAMG,+BAAkD,GAAG,EAAE;AAE7D,OAAO,IAAMC,uCAAuC,GAAG,SAA1CA,uCAAuCA,CAClDC,IAAY,EACZC,OAAoC;EAAA,OAEpCL,iCAAiC,CAACI,IAAI,EAAAE,aAAA,CAAAA,aAAA,KACjCD,OAAO;IACVE,OAAO,EAAEN;EAAiC,EAC3C,CAAC;AAAA;AAEJ,OAAO,IAAMO,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA;EAAA,OAAyB,SAAS;AAAA;;AAEnE;AACA,OAAO,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAAC,IAAA,EAIb;EAAA,IAHpBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAIJ,IAAIA,IAAI,KAAK,0BAA0B,EAAE,OAAO,UAAU;EAC1D,IAAIA,IAAI,KAAK,iBAAiB,EAAE,OAAO,SAAS;EAChD,OAAO,SAAS;AAClB,CAAC;;AAED;AACA,OAAO,IAAMC,kBAQZ,GAAG;EACFC,eAAe,EAAE,SAAAA,gBAAA;IAAA,OAAM,SAAS;EAAA;EAChCC,sBAAsB,EAAE,SAAAA,uBACtBC,MAAoB,EACpBC,SAAkB;IAAA,OACI;MACtBC,EAAE,EAAEF,MAAM,CAACE,EAAE;MACbN,IAAI,EAAEI,MAAM,CAACJ,IAAI;MACjBO,QAAQ,EAAE;QAAEF,SAAS,EAATA;MAAU;IACxB,CAAC;EAAA,CAAC;EACFG,mBAAmB,EAAErB,iBAAiB;EACtCsB,2BAA2B,EAAElB;AAC/B,CAAC"}
1
+ {"version":3,"names":["MARKDOWN_RESOURCE_LINK_SCHEMES","formatMarkdownResourceLinksAsText","xGroupMarkdownResourceLinkSchemes","formatXGroupMarkdownResourceLinksAsText","text","options","_objectSpread","schemes","xGroupToolKindResolver","_ref","name"],"sources":["../../../../src/presets/xgroup/strategies.ts"],"sourcesContent":["import type { ToolRenderKind } from \"@/types\";\nimport { MARKDOWN_RESOURCE_LINK_SCHEMES } from \"@/utils/markdownResource\";\nimport { formatMarkdownResourceLinksAsText } from \"@/utils/markdownResource\";\n\nexport const xGroupMarkdownResourceLinkSchemes = MARKDOWN_RESOURCE_LINK_SCHEMES;\n\nexport const formatXGroupMarkdownResourceLinksAsText = (\n text: string,\n options?: { stripTrigger?: boolean },\n) =>\n formatMarkdownResourceLinksAsText(text, {\n ...options,\n schemes: xGroupMarkdownResourceLinkSchemes,\n });\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"],"mappings":";AACA,SAASA,8BAA8B;AACvC,SAASC,iCAAiC;AAE1C,OAAO,IAAMC,iCAAiC,GAAGF,8BAA8B;AAE/E,OAAO,IAAMG,uCAAuC,GAAG,SAA1CA,uCAAuCA,CAClDC,IAAY,EACZC,OAAoC;EAAA,OAEpCJ,iCAAiC,CAACG,IAAI,EAAAE,aAAA,CAAAA,aAAA,KACjCD,OAAO;IACVE,OAAO,EAAEL;EAAiC,EAC3C,CAAC;AAAA;;AAEJ;AACA,OAAO,IAAMM,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAAC,IAAA,EAIb;EAAA,IAHpBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAIJ,IAAIA,IAAI,KAAK,0BAA0B,EAAE,OAAO,UAAU;EAC1D,IAAIA,IAAI,KAAK,iBAAiB,EAAE,OAAO,SAAS;EAChD,OAAO,SAAS;AAClB,CAAC"}