@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.
- package/README.md +22 -0
- package/dist/cjs/components/XAdkChatbot/index.js +3 -3
- package/dist/cjs/components/XAdkChatbot/index.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js +17 -50
- package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/compound/Sender.d.ts +3 -2
- package/dist/cjs/components/XAdkProvider/compound/Sender.js +81 -4
- package/dist/cjs/components/XAdkProvider/compound/Sender.js.map +3 -3
- package/dist/cjs/components/XAdkProvider/context/DefaultLayoutContext.d.ts +9 -0
- package/dist/cjs/components/XAdkProvider/context/DefaultLayoutContext.js +34 -0
- package/dist/cjs/components/XAdkProvider/context/DefaultLayoutContext.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/context/index.d.ts +5 -4
- package/dist/cjs/components/XAdkProvider/context/index.js +3 -1
- package/dist/cjs/components/XAdkProvider/context/index.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/index.js +3 -3
- package/dist/cjs/components/XAdkProvider/index.js.map +2 -2
- package/dist/cjs/components/XAdkSender/InlineTagInput.d.ts +4 -0
- package/dist/cjs/components/XAdkSender/InlineTagInput.js +28 -1
- package/dist/cjs/components/XAdkSender/InlineTagInput.js.map +2 -2
- package/dist/cjs/components/XAdkSender/{QuickList.d.ts → InputSuggestionList.d.ts} +4 -3
- package/dist/cjs/components/XAdkSender/{QuickList.js → InputSuggestionList.js} +55 -30
- package/dist/cjs/components/XAdkSender/InputSuggestionList.js.map +7 -0
- package/dist/cjs/components/XAdkSender/index.js +35 -13
- package/dist/cjs/components/XAdkSender/index.js.map +3 -3
- package/dist/cjs/components/XAdkSender/styles.js +13 -1
- package/dist/cjs/components/XAdkSender/styles.js.map +2 -2
- package/dist/cjs/components/XAiConversations/index.js +1 -1
- package/dist/cjs/components/XAiConversations/index.js.map +2 -2
- package/dist/cjs/components/XAiConversations/styles.js +11 -1
- package/dist/cjs/components/XAiConversations/styles.js.map +2 -2
- package/dist/cjs/index.d.ts +4 -3
- package/dist/cjs/index.js +21 -8
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/presets/base.d.ts +6 -0
- package/dist/cjs/presets/base.js +50 -0
- package/dist/cjs/presets/base.js.map +7 -0
- package/dist/cjs/presets/define.d.ts +11 -0
- package/dist/cjs/presets/define.js +58 -0
- package/dist/cjs/presets/define.js.map +7 -0
- package/dist/cjs/presets/index.d.ts +3 -0
- package/dist/cjs/presets/index.js +28 -0
- package/dist/cjs/presets/index.js.map +7 -0
- package/dist/cjs/presets/runtime.d.ts +22 -0
- package/dist/cjs/presets/runtime.js +75 -0
- package/dist/cjs/presets/runtime.js.map +7 -0
- package/dist/cjs/presets/xgroup/index.d.ts +4 -0
- package/dist/cjs/presets/xgroup/index.js +8 -0
- package/dist/cjs/presets/xgroup/index.js.map +2 -2
- package/dist/cjs/presets/xgroup/knowledgeReference.js +3 -1
- package/dist/cjs/presets/xgroup/knowledgeReference.js.map +2 -2
- package/dist/cjs/presets/xgroup/preset.d.ts +1 -15
- package/dist/cjs/presets/xgroup/preset.js +15 -54
- package/dist/cjs/presets/xgroup/preset.js.map +2 -2
- package/dist/cjs/presets/xgroup/strategies.d.ts +1 -4
- package/dist/cjs/presets/xgroup/strategies.js +0 -17
- package/dist/cjs/presets/xgroup/strategies.js.map +2 -2
- package/dist/cjs/presets/xgroup/webReference.d.ts +10 -0
- package/dist/cjs/presets/xgroup/webReference.js +85 -0
- package/dist/cjs/presets/xgroup/webReference.js.map +7 -0
- package/dist/cjs/types/ChatStrategies.d.ts +3 -1
- package/dist/cjs/types/ChatStrategies.js.map +1 -1
- package/dist/cjs/types/XAdkSender.d.ts +4 -0
- package/dist/cjs/types/XAdkSender.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/index.js +1 -1
- package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
- package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js +16 -41
- package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js.map +1 -1
- package/dist/esm/components/XAdkProvider/compound/Sender.d.ts +3 -2
- package/dist/esm/components/XAdkProvider/compound/Sender.js +70 -7
- package/dist/esm/components/XAdkProvider/compound/Sender.js.map +1 -1
- package/dist/esm/components/XAdkProvider/context/DefaultLayoutContext.d.ts +9 -0
- package/dist/esm/components/XAdkProvider/context/DefaultLayoutContext.js +9 -0
- package/dist/esm/components/XAdkProvider/context/DefaultLayoutContext.js.map +1 -0
- package/dist/esm/components/XAdkProvider/context/index.d.ts +5 -4
- package/dist/esm/components/XAdkProvider/context/index.js +1 -0
- package/dist/esm/components/XAdkProvider/context/index.js.map +1 -1
- package/dist/esm/components/XAdkProvider/index.js +1 -1
- package/dist/esm/components/XAdkProvider/index.js.map +1 -1
- package/dist/esm/components/XAdkSender/InlineTagInput.d.ts +4 -0
- package/dist/esm/components/XAdkSender/InlineTagInput.js +26 -7
- package/dist/esm/components/XAdkSender/InlineTagInput.js.map +1 -1
- package/dist/esm/components/XAdkSender/{QuickList.d.ts → InputSuggestionList.d.ts} +4 -3
- package/dist/esm/components/XAdkSender/{QuickList.js → InputSuggestionList.js} +53 -28
- package/dist/esm/components/XAdkSender/InputSuggestionList.js.map +1 -0
- package/dist/esm/components/XAdkSender/index.js +39 -18
- package/dist/esm/components/XAdkSender/index.js.map +1 -1
- package/dist/esm/components/XAdkSender/styles.js +2 -2
- package/dist/esm/components/XAdkSender/styles.js.map +1 -1
- package/dist/esm/components/XAiConversations/index.js +2 -1
- package/dist/esm/components/XAiConversations/index.js.map +1 -1
- package/dist/esm/components/XAiConversations/styles.js +3 -3
- package/dist/esm/components/XAiConversations/styles.js.map +1 -1
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +3 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/presets/base.d.ts +6 -0
- package/dist/esm/presets/base.js +28 -0
- package/dist/esm/presets/base.js.map +1 -0
- package/dist/esm/presets/define.d.ts +11 -0
- package/dist/esm/presets/define.js +33 -0
- package/dist/esm/presets/define.js.map +1 -0
- package/dist/esm/presets/index.d.ts +3 -0
- package/dist/esm/presets/index.js +4 -0
- package/dist/esm/presets/index.js.map +1 -0
- package/dist/esm/presets/runtime.d.ts +22 -0
- package/dist/esm/presets/runtime.js +45 -0
- package/dist/esm/presets/runtime.js.map +1 -0
- package/dist/esm/presets/xgroup/index.d.ts +4 -0
- package/dist/esm/presets/xgroup/index.js +5 -0
- package/dist/esm/presets/xgroup/index.js.map +1 -1
- package/dist/esm/presets/xgroup/knowledgeReference.js +2 -1
- package/dist/esm/presets/xgroup/knowledgeReference.js.map +1 -1
- package/dist/esm/presets/xgroup/preset.d.ts +1 -15
- package/dist/esm/presets/xgroup/preset.js +5 -41
- package/dist/esm/presets/xgroup/preset.js.map +1 -1
- package/dist/esm/presets/xgroup/strategies.d.ts +1 -4
- package/dist/esm/presets/xgroup/strategies.js +0 -23
- package/dist/esm/presets/xgroup/strategies.js.map +1 -1
- package/dist/esm/presets/xgroup/webReference.d.ts +10 -0
- package/dist/esm/presets/xgroup/webReference.js +46 -0
- package/dist/esm/presets/xgroup/webReference.js.map +1 -0
- package/dist/esm/types/ChatStrategies.d.ts +3 -1
- package/dist/esm/types/ChatStrategies.js.map +1 -1
- package/dist/esm/types/XAdkSender.d.ts +4 -0
- package/dist/esm/types/XAdkSender.js.map +1 -1
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +6 -1
- package/dist/cjs/components/XAdkSender/QuickList.js.map +0 -7
- package/dist/esm/components/XAdkSender/QuickList.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/XAdkSender/styles.tsx"],
|
|
4
|
-
"sourcesContent": ["import { css } from \"@emotion/css\";\nimport { withBasicStyles } from \"@/styles/common\";\n\nexport const useStyles = withBasicStyles(() => ({\n // 容器样式 - 最外层边框\n container: css`\n position: relative;\n padding: 0 15px 10px;\n overflow: visible;\n border: 2px solid transparent;\n transition: all 0.3s ease;\n\n &.drag-over {\n border: 2px dashed #000;\n background: rgba(0, 0, 0, 0.02);\n }\n `,\n\n // 主内容区域\n mainArea: css`\n border-radius: 20px;\n overflow: visible;\n background: #fff;\n `,\n\n // 发送区域\n senderWrap: css`\n display: flex;\n flex-direction: column;\n gap: 6px;\n background: var(--yb-input-bg-color);\n border: 0.5px solid var(--widget-line, rgba(0, 0, 0, 0.08));\n border-radius: 20px;\n box-sizing: border-box;\n caret-color: var(--yb-input-caret-color);\n flex: auto;\n font-size: 14px;\n line-height: 22px;\n padding: 10px 12px 8px;\n position: relative;\n z-index: 1;\n transition-duration: 0.2s;\n transition-property:\n color, background-color, border-color, text-decoration-color, fill,\n stroke, box-shadow;\n transition-timing-function: linear;\n box-shadow: 0 6px 30px 0 rgba(0, 0, 0, 0.08);\n `,\n\n contextBar: css`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n `,\n\n contextHeader: css`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n flex: 0 0 auto;\n min-width: 0;\n `,\n\n contextFiles: css`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n flex: 1 1 auto;\n min-width: 0;\n `,\n\n // 输入框和按钮容器\n inputAndButtons: css`\n flex: 1;\n display: flex;\n align-items: center;\n gap: 8px;\n `,\n\n // 文本输入框容器\n textAreaWrapper: css`\n flex: 1;\n display: flex;\n align-items: center;\n background: #fff;\n padding: 0 4px;\n min-height: 44px;\n\n /* 移除所有蓝色效果 */\n &:focus-within {\n border-color: #d9d9d9;\n box-shadow: none;\n }\n\n .ant-input:disabled {\n background: transparent !important;\n }\n\n &::placeholder {\n color: #bfbfbf;\n }\n `,\n\n // 文本输入框\n textArea: css`\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n line-height: 1.5;\n padding: 12px 0;\n outline: none;\n color: #262626;\n `,\n\n inlineInputWrapper: css`\n position: relative;\n flex: 1;\n min-height: 44px;\n display: flex;\n align-items: center;\n padding: 0 4px;\n background: #fff;\n `,\n\n inlineInput: css`\n width: 100%;\n min-height: 24px;\n max-height: 112px;\n overflow-y: auto;\n outline: none;\n border: none;\n color: #262626;\n font-size: 14px;\n line-height: 24px;\n white-space: pre-wrap;\n word-break: break-word;\n `,\n\n inlinePlaceholder: css`\n position: absolute;\n left: 4px;\n top: 50%;\n transform: translateY(-50%);\n color: #bfbfbf;\n font-size: 14px;\n line-height: 24px;\n pointer-events: none;\n user-select: none;\n `,\n\n inlineTag: css`\n display: inline-flex;\n align-items: center;\n gap: 4px;\n max-width: 180px;\n height: 22px;\n padding: 0 7px;\n margin: 0 3px;\n vertical-align: baseline;\n border-radius: 6px;\n border: 1px solid #d6e4ff;\n background: #f0f7ff;\n color: #0958d9;\n font-size: 12px;\n line-height: 20px;\n user-select: none;\n\n .xadk-inline-tag-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .xadk-inline-tag-close {\n cursor: pointer;\n color: #597ef7;\n font-size: 12px;\n line-height: 1;\n }\n\n &[data-xadk-inline-mention-type=\"knowledge\"],\n &[data-xadk-inline-mention-type=\"knowledge_directory\"],\n &[data-xadk-inline-mention-type=\"knowledge_file\"],\n &[data-xadk-inline-mention-type=\"kb\"] {\n border-color: #f1f1f1;\n background: #f1f1f1;\n color: #1a1a1a;\n\n .xadk-inline-tag-close {\n color: #8c8c8c;\n }\n }\n `,\n\n // 按钮组\n buttonGroup: css`\n display: flex;\n gap: 8px;\n align-items: center;\n height: 36px;\n `,\n\n // 按钮统一样式\n iconButton: css`\n width: 36px;\n height: 36px;\n min-width: 36px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n\n &:hover {\n transform: translateY(-1px);\n }\n\n &:active {\n transform: translateY(0);\n }\n `,\n\n // 清空按钮\n clearButton: css`\n border: 1px solid #f0f0f0;\n background: #fff;\n color: #8c8c8c;\n\n &:hover {\n border-color: #d9d9d9;\n color: #262626;\n background: #fafafa;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n `,\n\n // 上传按钮\n uploadButton: css`\n border: 1px solid #f0f0f0;\n background: #fff;\n\n &:hover {\n //\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n border-color: #f0f0f0;\n background: #fafafa;\n }\n `,\n\n // 发送按钮\n sendButton: css`\n background: #000;\n border: none;\n color: #fff;\n\n &:hover:not(:disabled) {\n background: #333; /* 悬停状态 */\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: #cccccc;\n color: #fff;\n }\n\n &.stop {\n //\n\n &:hover:not(:disabled) {\n //\n }\n\n &:disabled {\n background: #cccccc; /* 禁用状态也保持淡灰色 */\n }\n }\n `,\n\n // 底部提示\n tip: css`\n margin: 12px 0;\n text-align: center;\n font-size: 12px;\n color: #8c8c8c;\n `,\n\n actionBar: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n min-height: 36px;\n `,\n\n actionBarLeft: css`\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n `,\n\n actionBarRight: css`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n flex-shrink: 0;\n `,\n\n // 快捷键弹出列表外层容器\n quickListWrapper: css`\n position: absolute;\n left: 0;\n bottom: 100%;\n margin-bottom: 4px;\n z-index: 100;\n `,\n\n // 快捷键弹出列表\n quickList: css`\n max-height: 320px;\n width:
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { css } from \"@emotion/css\";\nimport { withBasicStyles } from \"@/styles/common\";\n\nexport const useStyles = withBasicStyles(() => ({\n // 容器样式 - 最外层边框\n container: css`\n position: relative;\n padding: 0 15px 10px;\n overflow: visible;\n border: 2px solid transparent;\n transition: all 0.3s ease;\n\n &.drag-over {\n border: 2px dashed #000;\n background: rgba(0, 0, 0, 0.02);\n }\n `,\n\n // 主内容区域\n mainArea: css`\n border-radius: 20px;\n overflow: visible;\n background: #fff;\n `,\n\n // 发送区域\n senderWrap: css`\n display: flex;\n flex-direction: column;\n gap: 6px;\n background: var(--yb-input-bg-color);\n border: 0.5px solid var(--widget-line, rgba(0, 0, 0, 0.08));\n border-radius: 20px;\n box-sizing: border-box;\n caret-color: var(--yb-input-caret-color);\n flex: auto;\n font-size: 14px;\n line-height: 22px;\n padding: 10px 12px 8px;\n position: relative;\n z-index: 1;\n transition-duration: 0.2s;\n transition-property:\n color, background-color, border-color, text-decoration-color, fill,\n stroke, box-shadow;\n transition-timing-function: linear;\n box-shadow: 0 6px 30px 0 rgba(0, 0, 0, 0.08);\n `,\n\n contextBar: css`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n `,\n\n contextHeader: css`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n flex: 0 0 auto;\n min-width: 0;\n `,\n\n contextFiles: css`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n flex: 1 1 auto;\n min-width: 0;\n `,\n\n // 输入框和按钮容器\n inputAndButtons: css`\n flex: 1;\n display: flex;\n align-items: center;\n gap: 8px;\n `,\n\n // 文本输入框容器\n textAreaWrapper: css`\n flex: 1;\n display: flex;\n align-items: center;\n background: #fff;\n padding: 0 4px;\n min-height: 44px;\n\n /* 移除所有蓝色效果 */\n &:focus-within {\n border-color: #d9d9d9;\n box-shadow: none;\n }\n\n .ant-input:disabled {\n background: transparent !important;\n }\n\n &::placeholder {\n color: #bfbfbf;\n }\n `,\n\n // 文本输入框\n textArea: css`\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n line-height: 1.5;\n padding: 12px 0;\n outline: none;\n color: #262626;\n `,\n\n inlineInputWrapper: css`\n position: relative;\n flex: 1;\n min-height: 44px;\n display: flex;\n align-items: center;\n padding: 0 4px;\n background: #fff;\n `,\n\n inlineInput: css`\n width: 100%;\n min-height: 24px;\n max-height: 112px;\n overflow-y: auto;\n outline: none;\n border: none;\n color: #262626;\n font-size: 14px;\n line-height: 24px;\n white-space: pre-wrap;\n word-break: break-word;\n `,\n\n inlinePlaceholder: css`\n position: absolute;\n left: 4px;\n top: 50%;\n transform: translateY(-50%);\n color: #bfbfbf;\n font-size: 14px;\n line-height: 24px;\n pointer-events: none;\n user-select: none;\n `,\n\n inlineTag: css`\n display: inline-flex;\n align-items: center;\n gap: 4px;\n max-width: 180px;\n height: 22px;\n padding: 0 7px;\n margin: 0 3px;\n vertical-align: baseline;\n border-radius: 6px;\n border: 1px solid #d6e4ff;\n background: #f0f7ff;\n color: #0958d9;\n font-size: 12px;\n line-height: 20px;\n user-select: none;\n\n .xadk-inline-tag-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .xadk-inline-tag-close {\n cursor: pointer;\n color: #597ef7;\n font-size: 12px;\n line-height: 1;\n }\n\n &[data-xadk-inline-mention-type=\"knowledge\"],\n &[data-xadk-inline-mention-type=\"knowledge_directory\"],\n &[data-xadk-inline-mention-type=\"knowledge_file\"],\n &[data-xadk-inline-mention-type=\"kb\"] {\n border-color: #f1f1f1;\n background: #f1f1f1;\n color: #1a1a1a;\n\n .xadk-inline-tag-close {\n color: #8c8c8c;\n }\n }\n `,\n\n // 按钮组\n buttonGroup: css`\n display: flex;\n gap: 8px;\n align-items: center;\n height: 36px;\n `,\n\n // 按钮统一样式\n iconButton: css`\n width: 36px;\n height: 36px;\n min-width: 36px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n\n &:hover {\n transform: translateY(-1px);\n }\n\n &:active {\n transform: translateY(0);\n }\n `,\n\n // 清空按钮\n clearButton: css`\n border: 1px solid #f0f0f0;\n background: #fff;\n color: #8c8c8c;\n\n &:hover {\n border-color: #d9d9d9;\n color: #262626;\n background: #fafafa;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n `,\n\n // 上传按钮\n uploadButton: css`\n border: 1px solid #f0f0f0;\n background: #fff;\n\n &:hover {\n //\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n border-color: #f0f0f0;\n background: #fafafa;\n }\n `,\n\n // 发送按钮\n sendButton: css`\n background: #000;\n border: none;\n color: #fff;\n\n &:hover:not(:disabled) {\n background: #333; /* 悬停状态 */\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: #cccccc;\n color: #fff;\n }\n\n &.stop {\n //\n\n &:hover:not(:disabled) {\n //\n }\n\n &:disabled {\n background: #cccccc; /* 禁用状态也保持淡灰色 */\n }\n }\n `,\n\n // 底部提示\n tip: css`\n margin: 12px 0;\n text-align: center;\n font-size: 12px;\n color: #8c8c8c;\n `,\n\n actionBar: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n min-height: 36px;\n `,\n\n actionBarLeft: css`\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n `,\n\n actionBarRight: css`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n flex-shrink: 0;\n `,\n\n // 快捷键弹出列表外层容器\n quickListWrapper: css`\n position: absolute;\n left: 0;\n bottom: 100%;\n margin-bottom: 4px;\n z-index: 100;\n `,\n\n // 快捷键弹出列表\n quickList: css`\n max-height: 320px;\n width: 380px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: #fff;\n border-radius: 12px;\n box-shadow: 0 8px 40px 0 rgba(0, 0, 0, 0.12);\n `,\n\n quickListHeader: css`\n padding: 12px 16px 0;\n font-size: 13px;\n font-weight: 500;\n color: #8c8c8c;\n `,\n\n quickListBody: css`\n flex: 1;\n overflow-y: auto;\n padding: 4px 0;\n `,\n\n quickListEmpty: css`\n padding: 24px 16px;\n text-align: center;\n color: #8c8c8c;\n font-size: 13px;\n `,\n\n quickListGroup: css`\n padding: 8px 16px 4px;\n font-size: 11px;\n font-weight: 500;\n color: #8c8c8c;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n `,\n\n quickListItem: css`\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 16px;\n cursor: pointer;\n transition: background 0.15s ease;\n\n &:hover {\n background: #f5f5f5;\n }\n\n &.active {\n background: #f0f7ff;\n }\n\n .quick-list-item-icon {\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: #f5f5f5;\n flex-shrink: 0;\n }\n\n .quick-list-item-content {\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 0;\n gap: 12px;\n }\n\n .quick-list-item-label {\n flex: 0 0 112px;\n overflow: hidden;\n font-size: 13px;\n font-weight: 500;\n color: #262626;\n line-height: 1.4;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .quick-list-item-desc {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n font-size: 12px;\n color: #8c8c8c;\n line-height: 1.4;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n `,\n\n // 输入框内标签\n inputTags: css`\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n padding: 4px 0 8px;\n `,\n\n inputTag: css`\n margin: 0;\n font-size: 12px;\n border-radius: 6px;\n `,\n}));\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -89,7 +89,7 @@ var XAiConversations = (props) => {
|
|
|
89
89
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
90
90
|
"div",
|
|
91
91
|
{
|
|
92
|
-
style: { display: listVisible ? "
|
|
92
|
+
style: { display: listVisible ? "flex" : "none" },
|
|
93
93
|
className: (0, import_clsx.default)(
|
|
94
94
|
isNarrow ? styles.nWrapper : styles.fWrapper,
|
|
95
95
|
animateDirection === "in" && styles.slideIn,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/XAiConversations/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useState } from 'react';\nimport { Conversations } from '@ant-design/x';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { Spin, Divider } from 'antd';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport clsx from 'clsx';\nimport { useChatbotContext } from '@/hooks/useProviderContext';\nimport { type XAiConversationsProps } from '@/types/XAiConversations';\nimport logo from '@/assets/logo.png';\nimport AddChatIcon from '@/assets/svg/AddChatIcon';\nimport flashOpen from '@/assets/flash-open.svg?url';\nimport { SESSION_PAGE_SIZE } from '@/constants';\nimport { useStyles, GlobalStyle } from './styles';\n\nconst XAiConversations: React.FC<XAiConversationsProps> = (props) => {\n const styles = useStyles();\n const { mergedProps } = useChatbotContext(props);\n const {\n isNarrow = false,\n sessionList,\n style,\n onActiveChange,\n onNewChat,\n loadMoreSessions,\n activeKey,\n menu,\n } = mergedProps;\n\n const [listVisible, setListVisible] = useState(false);\n const [animateDirection, setAnimateDirection] = useState<'in' | 'out' | null>(null);\n\n const handleSwitchTab = (key: string) => {\n onActiveChange?.(key);\n };\n\n const handleNewChat = () => {\n onNewChat?.();\n };\n\n const handleShowList = () => {\n setListVisible(true);\n setAnimateDirection('in');\n };\n\n const handleCloseList = () => {\n setAnimateDirection('out');\n setTimeout(() => {\n setListVisible(false);\n setAnimateDirection(null);\n }, 300);\n };\n\n return (\n <div className={styles.conversationsWrapper}>\n <GlobalStyle />\n {/** 顶部操作栏 */}\n {\n !listVisible && (\n <div className={styles.capWrapper}>\n <img alt=\"logo\" src={logo} className={clsx(styles.w(32), styles.h(29))} />\n <div className={styles.capShape}>\n <div className={styles.capIcon}>\n <img src={flashOpen} alt=\"\" onClick={handleShowList} />\n </div>\n <div className={styles.capIcon}>\n <AddChatIcon className={clsx(styles.w(17), styles.text('#343434'))} onClick={handleNewChat} />\n </div>\n </div>\n </div>\n )\n }\n\n {/* 会话列表 */}\n <div\n style={{ display: listVisible ? '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAChC,eAA8B;AAC9B,mBAA6B;AAC7B,kBAA8B;AAC9B,6CAA2B;AAC3B,kBAAiB;AACjB,gCAAkC;AAElC,kBAAiB;AACjB,yBAAwB;AACxB,wBAAsB;AACtB,uBAAkC;AAClC,oBAAuC;AA0CjC;AAxCN,IAAM,mBAAoD,CAAC,UAAU;AACnE,QAAM,aAAS,yBAAU;AACzB,QAAM,EAAE,YAAY,QAAI,6CAAkB,KAAK;AAC/C,QAAM;AAAA,IACJ,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,KAAK;AACpD,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,uBAA8B,IAAI;AAElF,QAAM,kBAAkB,CAAC,QAAgB;AACvC,qDAAiB;AAAA,EACnB;AAEA,QAAM,gBAAgB,MAAM;AAC1B;AAAA,EACF;AAEA,QAAM,iBAAiB,MAAM;AAC3B,mBAAe,IAAI;AACnB,wBAAoB,IAAI;AAAA,EAC1B;AAEA,QAAM,kBAAkB,MAAM;AAC5B,wBAAoB,KAAK;AACzB,eAAW,MAAM;AACf,qBAAe,KAAK;AACpB,0BAAoB,IAAI;AAAA,IAC1B,GAAG,GAAG;AAAA,EACR;AAEA,SACE,6CAAC,SAAI,WAAW,OAAO,sBACrB;AAAA,gDAAC,6BAAY;AAAA,IAGX,CAAC,eACC,6CAAC,SAAI,WAAW,OAAO,YACrB;AAAA,kDAAC,SAAI,KAAI,QAAO,KAAK,YAAAA,SAAM,eAAW,YAAAC,SAAK,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,GAAG;AAAA,MACxE,6CAAC,SAAI,WAAW,OAAO,UACrB;AAAA,oDAAC,SAAI,WAAW,OAAO,SACrB,sDAAC,SAAI,KAAK,kBAAAC,SAAW,KAAI,IAAG,SAAS,gBAAgB,GACvD;AAAA,QACA,4CAAC,SAAI,WAAW,OAAO,SACrB,sDAAC,mBAAAC,SAAA,EAAY,eAAW,YAAAF,SAAK,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,SAAS,CAAC,GAAG,SAAS,eAAe,GAC9F;AAAA,SACF;AAAA,OACF;AAAA,IAKJ;AAAA,MAAC;AAAA;AAAA,
|
|
4
|
+
"sourcesContent": ["import React, { useState } from 'react';\nimport { Conversations } from '@ant-design/x';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { Spin, Divider } from 'antd';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport clsx from 'clsx';\nimport { useChatbotContext } from '@/hooks/useProviderContext';\nimport { type XAiConversationsProps } from '@/types/XAiConversations';\nimport logo from '@/assets/logo.png';\nimport AddChatIcon from '@/assets/svg/AddChatIcon';\nimport flashOpen from '@/assets/flash-open.svg?url';\nimport { SESSION_PAGE_SIZE } from '@/constants';\nimport { useStyles, GlobalStyle } from './styles';\n\nconst XAiConversations: React.FC<XAiConversationsProps> = (props) => {\n const styles = useStyles();\n const { mergedProps } = useChatbotContext(props);\n const {\n isNarrow = false,\n sessionList,\n style,\n onActiveChange,\n onNewChat,\n loadMoreSessions,\n activeKey,\n menu,\n } = mergedProps;\n\n const [listVisible, setListVisible] = useState(false);\n const [animateDirection, setAnimateDirection] = useState<'in' | 'out' | null>(null);\n\n const handleSwitchTab = (key: string) => {\n onActiveChange?.(key);\n };\n\n const handleNewChat = () => {\n onNewChat?.();\n };\n\n const handleShowList = () => {\n setListVisible(true);\n setAnimateDirection('in');\n };\n\n const handleCloseList = () => {\n setAnimateDirection('out');\n setTimeout(() => {\n setListVisible(false);\n setAnimateDirection(null);\n }, 300);\n };\n\n return (\n <div className={styles.conversationsWrapper}>\n <GlobalStyle />\n {/** 顶部操作栏 */}\n {\n !listVisible && (\n <div className={styles.capWrapper}>\n <img alt=\"logo\" src={logo} className={clsx(styles.w(32), styles.h(29))} />\n <div className={styles.capShape}>\n <div className={styles.capIcon}>\n <img src={flashOpen} alt=\"\" onClick={handleShowList} />\n </div>\n <div className={styles.capIcon}>\n <AddChatIcon className={clsx(styles.w(17), styles.text('#343434'))} onClick={handleNewChat} />\n </div>\n </div>\n </div>\n )\n }\n\n {/* 会话列表 */}\n <div\n // 展开时必须保持 flex 布局,scrollList 才能获得剩余高度并独立滚动。\n style={{ display: listVisible ? 'flex' : 'none' }}\n className={clsx(\n isNarrow ? styles.nWrapper : styles.fWrapper,\n animateDirection === 'in' && styles.slideIn,\n animateDirection === 'out' && styles.slideOut,\n )}\n >\n {/* 固定头部 */}\n <div className={styles.fheaderWrapper}>\n <img alt=\"logo\" src={logo} className={clsx(styles.w(32), styles.h(29))} />\n <div className={styles.capIcon}>\n <img src={flashOpen} alt=\"\" onClick={handleCloseList} />\n </div>\n </div>\n <div className={styles.addChatBtn} onClick={handleNewChat}>\n <AddChatIcon className={clsx(styles.w(17), styles.mr(10))} />\n 开启新对话\n </div>\n <div className={styles.tipTitle}>历史对话</div>\n\n {/* 滚动区域 */}\n <div className={styles.scrollList}>\n <InfiniteScroll\n dataLength={sessionList.length}\n next={loadMoreSessions}\n hasMore={false}\n loader={(\n <div style={{ textAlign: 'center' }}>\n <Spin indicator={<RedoOutlined spin />} size=\"small\" />\n </div>\n )}\n endMessage={sessionList.length === SESSION_PAGE_SIZE && <Divider plain><span className={styles.textColor('#949494')}>只展示前 50 条数据</span></Divider>}\n style={{ overflow: 'hidden', paddingBottom: '5px' }}\n >\n <Conversations\n activeKey={activeKey}\n onActiveChange={(v) => handleSwitchTab(v)}\n items={sessionList}\n menu={menu}\n style={{\n width: 256,\n borderRadius: '6px',\n ...style,\n }}\n />\n </InfiniteScroll>\n </div>\n </div>\n\n {/* 遮罩层 - 仅在窄屏且列表可见时显示 */}\n {isNarrow && listVisible && (\n <div className={styles.mask} onClick={handleCloseList} />\n )}\n </div>\n );\n};\n\nexport default XAiConversations;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAChC,eAA8B;AAC9B,mBAA6B;AAC7B,kBAA8B;AAC9B,6CAA2B;AAC3B,kBAAiB;AACjB,gCAAkC;AAElC,kBAAiB;AACjB,yBAAwB;AACxB,wBAAsB;AACtB,uBAAkC;AAClC,oBAAuC;AA0CjC;AAxCN,IAAM,mBAAoD,CAAC,UAAU;AACnE,QAAM,aAAS,yBAAU;AACzB,QAAM,EAAE,YAAY,QAAI,6CAAkB,KAAK;AAC/C,QAAM;AAAA,IACJ,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,KAAK;AACpD,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,uBAA8B,IAAI;AAElF,QAAM,kBAAkB,CAAC,QAAgB;AACvC,qDAAiB;AAAA,EACnB;AAEA,QAAM,gBAAgB,MAAM;AAC1B;AAAA,EACF;AAEA,QAAM,iBAAiB,MAAM;AAC3B,mBAAe,IAAI;AACnB,wBAAoB,IAAI;AAAA,EAC1B;AAEA,QAAM,kBAAkB,MAAM;AAC5B,wBAAoB,KAAK;AACzB,eAAW,MAAM;AACf,qBAAe,KAAK;AACpB,0BAAoB,IAAI;AAAA,IAC1B,GAAG,GAAG;AAAA,EACR;AAEA,SACE,6CAAC,SAAI,WAAW,OAAO,sBACrB;AAAA,gDAAC,6BAAY;AAAA,IAGX,CAAC,eACC,6CAAC,SAAI,WAAW,OAAO,YACrB;AAAA,kDAAC,SAAI,KAAI,QAAO,KAAK,YAAAA,SAAM,eAAW,YAAAC,SAAK,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,GAAG;AAAA,MACxE,6CAAC,SAAI,WAAW,OAAO,UACrB;AAAA,oDAAC,SAAI,WAAW,OAAO,SACrB,sDAAC,SAAI,KAAK,kBAAAC,SAAW,KAAI,IAAG,SAAS,gBAAgB,GACvD;AAAA,QACA,4CAAC,SAAI,WAAW,OAAO,SACrB,sDAAC,mBAAAC,SAAA,EAAY,eAAW,YAAAF,SAAK,OAAO,EAAE,EAAE,GAAG,OAAO,KAAK,SAAS,CAAC,GAAG,SAAS,eAAe,GAC9F;AAAA,SACF;AAAA,OACF;AAAA,IAKJ;AAAA,MAAC;AAAA;AAAA,QAEC,OAAO,EAAE,SAAS,cAAc,SAAS,OAAO;AAAA,QAChD,eAAW,YAAAA;AAAA,UACT,WAAW,OAAO,WAAW,OAAO;AAAA,UACpC,qBAAqB,QAAQ,OAAO;AAAA,UACpC,qBAAqB,SAAS,OAAO;AAAA,QACvC;AAAA,QAGA;AAAA,uDAAC,SAAI,WAAW,OAAO,gBACrB;AAAA,wDAAC,SAAI,KAAI,QAAO,KAAK,YAAAD,SAAM,eAAW,YAAAC,SAAK,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,GAAG;AAAA,YACxE,4CAAC,SAAI,WAAW,OAAO,SACrB,sDAAC,SAAI,KAAK,kBAAAC,SAAW,KAAI,IAAG,SAAS,iBAAiB,GACxD;AAAA,aACF;AAAA,UACA,6CAAC,SAAI,WAAW,OAAO,YAAY,SAAS,eAC1C;AAAA,wDAAC,mBAAAC,SAAA,EAAY,eAAW,YAAAF,SAAK,OAAO,EAAE,EAAE,GAAG,OAAO,GAAG,EAAE,CAAC,GAAG;AAAA,YAAE;AAAA,aAE/D;AAAA,UACA,4CAAC,SAAI,WAAW,OAAO,UAAU,kBAAI;AAAA,UAGrC,4CAAC,SAAI,WAAW,OAAO,YACrB;AAAA,YAAC,uCAAAG;AAAA,YAAA;AAAA,cACC,YAAY,YAAY;AAAA,cACxB,MAAM;AAAA,cACN,SAAS;AAAA,cACT,QACE,4CAAC,SAAI,OAAO,EAAE,WAAW,SAAS,GAChC,sDAAC,oBAAK,WAAW,4CAAC,6BAAa,MAAI,MAAC,GAAI,MAAK,SAAQ,GACvD;AAAA,cAEF,YAAY,YAAY,WAAW,sCAAqB,4CAAC,uBAAQ,OAAK,MAAC,sDAAC,UAAK,WAAW,OAAO,UAAU,SAAS,GAAG,yBAAW,GAAO;AAAA,cACvI,OAAO,EAAE,UAAU,UAAU,eAAe,MAAM;AAAA,cAElD;AAAA,gBAAC;AAAA;AAAA,kBACC;AAAA,kBACA,gBAAgB,CAAC,MAAM,gBAAgB,CAAC;AAAA,kBACxC,OAAO;AAAA,kBACP;AAAA,kBACA,OAAO;AAAA,oBACL,OAAO;AAAA,oBACP,cAAc;AAAA,oBACd,GAAG;AAAA,kBACL;AAAA;AAAA,cACF;AAAA;AAAA,UACF,GACF;AAAA;AAAA;AAAA,IACF;AAAA,IAGC,YAAY,eACX,4CAAC,SAAI,WAAW,OAAO,MAAM,SAAS,iBAAiB;AAAA,KAE3D;AAEJ;AAEA,IAAO,2BAAQ;",
|
|
6
6
|
"names": ["logo", "clsx", "flashOpen", "AddChatIcon", "InfiniteScroll"]
|
|
7
7
|
}
|
|
@@ -119,6 +119,9 @@ var useStyles = (0, import_common.withBasicStyles)(() => ({
|
|
|
119
119
|
height: 100%;
|
|
120
120
|
box-sizing: border-box;
|
|
121
121
|
position: relative;
|
|
122
|
+
display: flex;
|
|
123
|
+
flex-direction: column;
|
|
124
|
+
overflow: hidden;
|
|
122
125
|
flex-shrink: 0;
|
|
123
126
|
border-right: 1px solid #f0f0f0;
|
|
124
127
|
`,
|
|
@@ -128,10 +131,14 @@ var useStyles = (0, import_common.withBasicStyles)(() => ({
|
|
|
128
131
|
left: 0;
|
|
129
132
|
width: 280px;
|
|
130
133
|
height: 100%;
|
|
134
|
+
box-sizing: border-box;
|
|
131
135
|
z-index: 1000;
|
|
132
136
|
transition: left 0.3s ease;
|
|
133
137
|
background: #F8FBFF;
|
|
134
138
|
padding: 16px 0 13px;
|
|
139
|
+
display: flex;
|
|
140
|
+
flex-direction: column;
|
|
141
|
+
overflow: hidden;
|
|
135
142
|
box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
|
|
136
143
|
`,
|
|
137
144
|
mask: import_css.css`
|
|
@@ -151,8 +158,11 @@ var useStyles = (0, import_common.withBasicStyles)(() => ({
|
|
|
151
158
|
padding: 0 11px 0 16px;
|
|
152
159
|
`,
|
|
153
160
|
scrollList: import_css.css`
|
|
154
|
-
|
|
161
|
+
/* 使用侧栏的真实剩余高度,兼容全屏、弹窗及任意高度的嵌入容器。 */
|
|
162
|
+
flex: 1;
|
|
163
|
+
min-height: 0;
|
|
155
164
|
padding-bottom: 15px;
|
|
165
|
+
box-sizing: border-box;
|
|
156
166
|
overflow-y: auto;
|
|
157
167
|
|
|
158
168
|
/* 隐藏滚动条(Chrome, Edge, Safari) */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/XAiConversations/styles.tsx"],
|
|
4
|
-
"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
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,iBAA+B;AAC/B,mBAAyC;AACzC,oBAAgC;
|
|
4
|
+
"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"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,iBAA+B;AAC/B,mBAAyC;AACzC,oBAAgC;AAsL9B;AApLF,IAAM,cAAc;AAMpB,IAAM,eAAe;AAAA;AAAA;AAAA;AAKrB,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAKf,IAAM,gBAAY,+BAAgB,OAAO;AAAA;AAAA,EAE9C,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOtB,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAMZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAgBU;AAAA;AAAA;AAAA,EAIpB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBT,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAMV,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcV,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBV,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWN,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOhB,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBZ,SAAS;AAAA,iBACM;AAAA;AAAA,EAEf,UAAU;AAAA,iBACK;AAAA;AAGjB,EAAE;AAEK,IAAM,cAAwB,MACnC;AAAA,EAAC;AAAA;AAAA,IACC,QAAQ,aAAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASV;",
|
|
6
6
|
"names": ["globalCss"]
|
|
7
7
|
}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -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,
|
|
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/cjs/index.js
CHANGED
|
@@ -30,6 +30,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// src/index.ts
|
|
31
31
|
var src_exports = {};
|
|
32
32
|
__export(src_exports, {
|
|
33
|
+
BUILTIN_CHAT_PRESETS: () => import_presets.BUILTIN_CHAT_PRESETS,
|
|
34
|
+
DEFAULT_CHAT_PRESET_NAME: () => import_presets.DEFAULT_CHAT_PRESET_NAME,
|
|
33
35
|
FileGallery: () => import_FileGallery.default,
|
|
34
36
|
FolderTree: () => import_FolderTree.default,
|
|
35
37
|
FunctionCallRender: () => import_FunctionCallRender.default,
|
|
@@ -45,24 +47,27 @@ __export(src_exports, {
|
|
|
45
47
|
XAiProvider: () => import_XAiProvider.default,
|
|
46
48
|
XAiSDK: () => import_XAiSDK.default,
|
|
47
49
|
XAiSender: () => import_XAiSender.default,
|
|
48
|
-
baseChatStrategies: () =>
|
|
49
|
-
basePreset: () =>
|
|
50
|
-
baseToolKindResolver: () =>
|
|
50
|
+
baseChatStrategies: () => import_presets.baseChatStrategies,
|
|
51
|
+
basePreset: () => import_presets.basePreset,
|
|
52
|
+
baseToolKindResolver: () => import_presets.baseToolKindResolver,
|
|
53
|
+
composeChatPresets: () => import_presets.composeChatPresets,
|
|
51
54
|
createXGroupOpenApiTransport: () => import_xgroup2.createXGroupOpenApiTransport,
|
|
52
55
|
createXGroupUploadRequest: () => import_xgroup.createXGroupUploadRequest,
|
|
53
56
|
cssVarStyle: () => import_tokens.cssVarStyle,
|
|
57
|
+
defineChatPreset: () => import_presets.defineChatPreset,
|
|
54
58
|
extractXGroupKnowledgeReferences: () => import_xgroup.extractXGroupKnowledgeReferences,
|
|
55
59
|
formatMarkdownResourceLinksAsText: () => import_markdownResource.formatMarkdownResourceLinksAsText,
|
|
56
60
|
getMarkdownResourceDisplayLabel: () => import_markdownResource.getMarkdownResourceDisplayLabel,
|
|
57
|
-
mergeChatStrategies: () =>
|
|
61
|
+
mergeChatStrategies: () => import_presets.mergeChatStrategies,
|
|
58
62
|
parseMarkdownResourceHref: () => import_markdownResource.parseMarkdownResourceHref,
|
|
59
63
|
parseMarkdownResourceLinksAsParts: () => import_markdownResource.parseMarkdownResourceLinksAsParts,
|
|
60
64
|
parseXGroupKnowledgeReference: () => import_xgroup.parseXGroupKnowledgeReference,
|
|
65
|
+
parseXGroupWebReference: () => import_xgroup.parseXGroupWebReference,
|
|
61
66
|
replaceMarkdownResourceLinks: () => import_markdownResource.replaceMarkdownResourceLinks,
|
|
62
67
|
request: () => import_request.default,
|
|
63
|
-
resolveChatPreset: () =>
|
|
64
|
-
resolvePresetMarkdownExtensions: () =>
|
|
65
|
-
resolvePresetUploadRequest: () =>
|
|
68
|
+
resolveChatPreset: () => import_presets.resolveChatPreset,
|
|
69
|
+
resolvePresetMarkdownExtensions: () => import_presets.resolvePresetMarkdownExtensions,
|
|
70
|
+
resolvePresetUploadRequest: () => import_presets.resolvePresetUploadRequest,
|
|
66
71
|
token: () => import_tokens.token,
|
|
67
72
|
tokenDefaults: () => import_tokens.tokenDefaults,
|
|
68
73
|
tokens: () => import_tokens.tokens,
|
|
@@ -76,7 +81,8 @@ __export(src_exports, {
|
|
|
76
81
|
xGroupAdkPreset: () => import_xgroup.xGroupAdkPreset,
|
|
77
82
|
xGroupKnowledgeReferenceMarkdownExtension: () => import_xgroup.xGroupKnowledgeReferenceMarkdownExtension,
|
|
78
83
|
xGroupMarkdownExtensions: () => import_xgroup.xGroupMarkdownExtensions,
|
|
79
|
-
xGroupToolKindResolver: () => import_xgroup.xGroupToolKindResolver
|
|
84
|
+
xGroupToolKindResolver: () => import_xgroup.xGroupToolKindResolver,
|
|
85
|
+
xGroupWebReferenceMarkdownExtension: () => import_xgroup.xGroupWebReferenceMarkdownExtension
|
|
80
86
|
});
|
|
81
87
|
module.exports = __toCommonJS(src_exports);
|
|
82
88
|
var import_AiProviderContext = require("./context/AiProviderContext");
|
|
@@ -94,6 +100,7 @@ var import_XAdkProvider = __toESM(require("./components/XAdkProvider"));
|
|
|
94
100
|
var import_XAdkChatbot = __toESM(require("./components/XAdkChatbot"));
|
|
95
101
|
var import_XAdkSender = __toESM(require("./components/XAdkSender"));
|
|
96
102
|
var import_useADKChat = __toESM(require("./hooks/useADKChat"));
|
|
103
|
+
var import_presets = require("./presets");
|
|
97
104
|
var import_xgroup = require("./presets/xgroup");
|
|
98
105
|
var import_context = require("./components/XAdkProvider/context");
|
|
99
106
|
__reExport(src_exports, require("./types"), module.exports);
|
|
@@ -108,6 +115,8 @@ var import_useAdkConversation = __toESM(require("./react/useAdkConversation"));
|
|
|
108
115
|
var import_xgroup2 = require("./presets/xgroup");
|
|
109
116
|
// Annotate the CommonJS export names for ESM import in node:
|
|
110
117
|
0 && (module.exports = {
|
|
118
|
+
BUILTIN_CHAT_PRESETS,
|
|
119
|
+
DEFAULT_CHAT_PRESET_NAME,
|
|
111
120
|
FileGallery,
|
|
112
121
|
FolderTree,
|
|
113
122
|
FunctionCallRender,
|
|
@@ -126,9 +135,11 @@ var import_xgroup2 = require("./presets/xgroup");
|
|
|
126
135
|
baseChatStrategies,
|
|
127
136
|
basePreset,
|
|
128
137
|
baseToolKindResolver,
|
|
138
|
+
composeChatPresets,
|
|
129
139
|
createXGroupOpenApiTransport,
|
|
130
140
|
createXGroupUploadRequest,
|
|
131
141
|
cssVarStyle,
|
|
142
|
+
defineChatPreset,
|
|
132
143
|
extractXGroupKnowledgeReferences,
|
|
133
144
|
formatMarkdownResourceLinksAsText,
|
|
134
145
|
getMarkdownResourceDisplayLabel,
|
|
@@ -136,6 +147,7 @@ var import_xgroup2 = require("./presets/xgroup");
|
|
|
136
147
|
parseMarkdownResourceHref,
|
|
137
148
|
parseMarkdownResourceLinksAsParts,
|
|
138
149
|
parseXGroupKnowledgeReference,
|
|
150
|
+
parseXGroupWebReference,
|
|
139
151
|
replaceMarkdownResourceLinks,
|
|
140
152
|
request,
|
|
141
153
|
resolveChatPreset,
|
|
@@ -155,6 +167,7 @@ var import_xgroup2 = require("./presets/xgroup");
|
|
|
155
167
|
xGroupKnowledgeReferenceMarkdownExtension,
|
|
156
168
|
xGroupMarkdownExtensions,
|
|
157
169
|
xGroupToolKindResolver,
|
|
170
|
+
xGroupWebReferenceMarkdownExtension,
|
|
158
171
|
...require("./types"),
|
|
159
172
|
...require("./core")
|
|
160
173
|
});
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["// index.ts\nimport { useXAi } from \"./context/AiProviderContext\";\nimport XAiProvider from \"./components/XAiProvider\";\nimport XAiChatbot from \"./components/XAiChatbot\";\nimport XAiSDK from \"./components/XAiSDK\";\nimport XAiSender from \"./components/XAiSender\";\nimport FileGallery from \"./components/FileGallery\";\nimport XAiConversations from \"./components/XAiConversations\";\nimport XAdkThoughtChain from \"./components/XAdkThoughtChain\";\nimport useXAiSDK from \"./hooks/useXAiSDK\";\nimport request from \"./utils/request\";\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 {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wCAAAA;AAAA,EAAA,oCAAAC;AAAA,EAAA;AAAA;AAAA,gCAAAC;AAAA,EAAA;AAAA,wCAAAC;AAAA,EAAA,wCAAAC;AAAA,EAAA,oCAAAC;AAAA,EAAA,gDAAAC;AAAA,EAAA,oCAAAC;AAAA,EAAA,gDAAAC;AAAA,EAAA,sCAAAC;AAAA,EAAA,4BAAAC;AAAA,EAAA,kCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,+BAAuB;AACvB,yBAAwB;AACxB,wBAAuB;AACvB,oBAAmB;AACnB,uBAAsB;AACtB,yBAAwB;AACxB,8BAA6B;AAC7B,8BAA6B;AAC7B,uBAAsB;AACtB,qBAAoB;AACpB,8BAMO;AAGP,0BAAyB;AACzB,yBAAwB;AACxB,wBAAuB;AACvB,wBAAuB;AACvB,
|
|
4
|
+
"sourcesContent": ["// index.ts\nimport { useXAi } from \"./context/AiProviderContext\";\nimport XAiProvider from \"./components/XAiProvider\";\nimport XAiChatbot from \"./components/XAiChatbot\";\nimport XAiSDK from \"./components/XAiSDK\";\nimport XAiSender from \"./components/XAiSender\";\nimport FileGallery from \"./components/FileGallery\";\nimport XAiConversations from \"./components/XAiConversations\";\nimport XAdkThoughtChain from \"./components/XAdkThoughtChain\";\nimport useXAiSDK from \"./hooks/useXAiSDK\";\nimport request from \"./utils/request\";\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"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAAA;AAAA,EAAA,oCAAAC;AAAA,EAAA;AAAA;AAAA,gCAAAC;AAAA,EAAA;AAAA,wCAAAC;AAAA,EAAA,wCAAAC;AAAA,EAAA,oCAAAC;AAAA,EAAA,gDAAAC;AAAA,EAAA,oCAAAC;AAAA,EAAA,gDAAAC;AAAA,EAAA,sCAAAC;AAAA,EAAA,4BAAAC;AAAA,EAAA,kCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,+BAAuB;AACvB,yBAAwB;AACxB,wBAAuB;AACvB,oBAAmB;AACnB,uBAAsB;AACtB,yBAAwB;AACxB,8BAA6B;AAC7B,8BAA6B;AAC7B,uBAAsB;AACtB,qBAAoB;AACpB,8BAMO;AAGP,0BAAyB;AACzB,yBAAwB;AACxB,wBAAuB;AACvB,wBAAuB;AACvB,qBAYO;AACP,oBAUO;AAGP,qBAIO;AAEP,wBAAc,oBAxDd;AAiHA,qBAAoB;AAKpB,wBAAuB;AAUvB,4BAA0C;AAC1C,gCAA8C;AAC9C,yBAAuC;AAYvC,oBAA0D;AAG1D,wBAAc,mBAjJd;AAkJA,gCAA8C;AAE9C,IAAAC,iBAA6C;",
|
|
6
6
|
"names": ["FileGallery", "FolderTree", "Sources", "XAdkChatbot", "XAdkProvider", "XAdkSender", "XAdkThoughtChain", "XAiChatbot", "XAiConversations", "XAiProvider", "XAiSDK", "XAiSender", "request", "useADKChat", "useXAiSDK", "import_xgroup"]
|
|
7
7
|
}
|
|
@@ -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,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;
|