@ai-group/chat-sdk 1.0.9 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/DislikeFeedback.js +79 -0
- package/dist/cjs/components/DislikeFeedback.js.map +7 -0
- package/dist/cjs/components/FeedbackTags.js +62 -0
- package/dist/cjs/components/FeedbackTags.js.map +7 -0
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js +0 -16
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js.map +2 -2
- package/dist/cjs/components/XAiChatbot/index.js +9 -9
- package/dist/cjs/components/XAiChatbot/index.js.map +2 -2
- package/dist/cjs/components/XAiChatbot/styles.js +1 -0
- package/dist/cjs/components/XAiChatbot/styles.js.map +2 -2
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +2 -2
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +1 -1
- package/dist/cjs/components/XAiProvider/index.js +142 -45
- package/dist/cjs/components/XAiProvider/index.js.map +3 -3
- package/dist/cjs/hooks/useAgentGenerator.js +378 -265
- package/dist/cjs/hooks/useAgentGenerator.js.map +3 -3
- package/dist/cjs/services/api.js +15 -0
- package/dist/cjs/services/api.js.map +2 -2
- package/dist/cjs/types/XAiChatbot.js.map +1 -1
- package/dist/cjs/types/XAiMessage.js.map +2 -2
- package/dist/cjs/types/node.js +18 -0
- package/dist/cjs/types/node.js.map +7 -0
- package/dist/cjs/utils/workflowNode.js +169 -0
- package/dist/cjs/utils/workflowNode.js.map +7 -0
- package/dist/esm/components/DislikeFeedback.js +97 -0
- package/dist/esm/components/DislikeFeedback.js.map +1 -0
- package/dist/esm/components/FeedbackTags.js +34 -0
- package/dist/esm/components/FeedbackTags.js.map +1 -0
- package/dist/esm/components/XAiChatbot/XAiChatbot.stories.js +0 -15
- package/dist/esm/components/XAiChatbot/XAiChatbot.stories.js.map +1 -1
- package/dist/esm/components/XAiChatbot/index.js +6 -22
- package/dist/esm/components/XAiChatbot/index.js.map +1 -1
- package/dist/esm/components/XAiChatbot/styles.js +1 -1
- package/dist/esm/components/XAiChatbot/styles.js.map +1 -1
- package/dist/esm/components/XAiProvider/XAiProvider.stories.js +2 -2
- package/dist/esm/components/XAiProvider/XAiProvider.stories.js.map +1 -1
- package/dist/esm/components/XAiProvider/index.js +215 -84
- package/dist/esm/components/XAiProvider/index.js.map +1 -1
- package/dist/esm/hooks/useAgentGenerator.js +543 -339
- package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
- package/dist/esm/services/api.js +32 -0
- package/dist/esm/services/api.js.map +1 -1
- package/dist/esm/types/XAiChatbot.js.map +1 -1
- package/dist/esm/types/XAiMessage.js +0 -4
- package/dist/esm/types/XAiMessage.js.map +1 -1
- package/dist/esm/types/node.js +2 -0
- package/dist/esm/types/node.js.map +1 -0
- package/dist/esm/utils/workflowNode.js +141 -0
- package/dist/esm/utils/workflowNode.js.map +1 -0
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +16 -13
- package/dist/cjs/assets/svg/AddChatIcon.d.ts +0 -3
- package/dist/cjs/client/base.d.ts +0 -9
- package/dist/cjs/client/restClient.d.ts +0 -0
- package/dist/cjs/client/wsClient.d.ts +0 -0
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.d.ts +0 -10
- package/dist/cjs/components/XAiChatbot/index.d.ts +0 -9
- package/dist/cjs/components/XAiChatbot/styles.d.ts +0 -67
- package/dist/cjs/components/XAiConversations/XAiConversations.stories.d.ts +0 -6
- package/dist/cjs/components/XAiConversations/index.d.ts +0 -4
- package/dist/cjs/components/XAiConversations/styles.d.ts +0 -49
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.d.ts +0 -8
- package/dist/cjs/components/XAiProvider/demo.styles.d.ts +0 -37
- package/dist/cjs/components/XAiProvider/index.d.ts +0 -4
- package/dist/cjs/components/XAiSDK.d.ts +0 -10
- package/dist/cjs/components/XAiSender/XAiSender.stories.d.ts +0 -6
- package/dist/cjs/components/XAiSender/index.d.ts +0 -4
- package/dist/cjs/components/XAiSender/styles.d.ts +0 -47
- package/dist/cjs/components/XAiWebSDKWrapper.d.ts +0 -9
- package/dist/cjs/constants/index.d.ts +0 -2
- package/dist/cjs/context/AiProviderContext.d.ts +0 -14
- package/dist/cjs/context/ThemeContext.d.ts +0 -20
- package/dist/cjs/hooks/useAgentGenerator.d.ts +0 -89
- package/dist/cjs/hooks/useEventStreamRequest.d.ts +0 -30
- package/dist/cjs/hooks/useProviderContext.d.ts +0 -33
- package/dist/cjs/hooks/useXAiSDK.d.ts +0 -14
- package/dist/cjs/index.d.ts +0 -10
- package/dist/cjs/services/api.d.ts +0 -130
- package/dist/cjs/styles/common.d.ts +0 -73
- package/dist/cjs/styles/markdown.d.ts +0 -3
- package/dist/cjs/types/XAiChatbot.d.ts +0 -155
- package/dist/cjs/types/XAiConversations.d.ts +0 -20
- package/dist/cjs/types/XAiMessage.d.ts +0 -122
- package/dist/cjs/types/XAiProvider.d.ts +0 -347
- package/dist/cjs/types/XAiSender.d.ts +0 -13
- package/dist/cjs/types/index.d.ts +0 -5
- package/dist/cjs/utils/chat.d.ts +0 -34
- package/dist/cjs/utils/index.d.ts +0 -2
- package/dist/cjs/utils/providerManager.d.ts +0 -22
- package/dist/cjs/utils/request.d.ts +0 -78
- package/dist/cjs/utils/request.example.d.ts +0 -39
- package/dist/cjs/utils/umdEntry.d.ts +0 -26
- package/dist/esm/assets/svg/AddChatIcon.d.ts +0 -3
- package/dist/esm/client/base.d.ts +0 -9
- package/dist/esm/client/restClient.d.ts +0 -0
- package/dist/esm/client/wsClient.d.ts +0 -0
- package/dist/esm/components/XAiChatbot/XAiChatbot.stories.d.ts +0 -10
- package/dist/esm/components/XAiChatbot/index.d.ts +0 -9
- package/dist/esm/components/XAiChatbot/styles.d.ts +0 -67
- package/dist/esm/components/XAiConversations/XAiConversations.stories.d.ts +0 -6
- package/dist/esm/components/XAiConversations/index.d.ts +0 -4
- package/dist/esm/components/XAiConversations/styles.d.ts +0 -49
- package/dist/esm/components/XAiProvider/XAiProvider.stories.d.ts +0 -8
- package/dist/esm/components/XAiProvider/demo.styles.d.ts +0 -37
- package/dist/esm/components/XAiProvider/index.d.ts +0 -4
- package/dist/esm/components/XAiSDK.d.ts +0 -10
- package/dist/esm/components/XAiSender/XAiSender.stories.d.ts +0 -6
- package/dist/esm/components/XAiSender/index.d.ts +0 -4
- package/dist/esm/components/XAiSender/styles.d.ts +0 -47
- package/dist/esm/components/XAiWebSDKWrapper.d.ts +0 -9
- package/dist/esm/constants/index.d.ts +0 -2
- package/dist/esm/context/AiProviderContext.d.ts +0 -14
- package/dist/esm/context/ThemeContext.d.ts +0 -20
- package/dist/esm/hooks/useAgentGenerator.d.ts +0 -89
- package/dist/esm/hooks/useEventStreamRequest.d.ts +0 -30
- package/dist/esm/hooks/useProviderContext.d.ts +0 -33
- package/dist/esm/hooks/useXAiSDK.d.ts +0 -14
- package/dist/esm/index.d.ts +0 -10
- package/dist/esm/services/api.d.ts +0 -130
- package/dist/esm/styles/common.d.ts +0 -73
- package/dist/esm/styles/markdown.d.ts +0 -3
- package/dist/esm/types/XAiChatbot.d.ts +0 -155
- package/dist/esm/types/XAiConversations.d.ts +0 -20
- package/dist/esm/types/XAiMessage.d.ts +0 -122
- package/dist/esm/types/XAiProvider.d.ts +0 -347
- package/dist/esm/types/XAiSender.d.ts +0 -13
- package/dist/esm/types/index.d.ts +0 -5
- package/dist/esm/utils/chat.d.ts +0 -34
- package/dist/esm/utils/index.d.ts +0 -2
- package/dist/esm/utils/providerManager.d.ts +0 -22
- package/dist/esm/utils/request.d.ts +0 -78
- package/dist/esm/utils/request.example.d.ts +0 -39
- package/dist/esm/utils/umdEntry.d.ts +0 -26
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
var nodeTemplates = [{
|
|
2
|
+
category: 'CONTROL',
|
|
3
|
+
name: '输入',
|
|
4
|
+
code: 'START'
|
|
5
|
+
}, {
|
|
6
|
+
category: 'CONTROL',
|
|
7
|
+
name: '输出',
|
|
8
|
+
code: 'END'
|
|
9
|
+
}, {
|
|
10
|
+
category: 'CONTROL',
|
|
11
|
+
name: '消息',
|
|
12
|
+
code: 'MESSAGE'
|
|
13
|
+
}, {
|
|
14
|
+
category: 'LOGIC',
|
|
15
|
+
name: '条件判断',
|
|
16
|
+
code: 'SWITCH'
|
|
17
|
+
}, {
|
|
18
|
+
category: 'LOGIC',
|
|
19
|
+
name: '意图识别',
|
|
20
|
+
code: 'CLASSIFICATION'
|
|
21
|
+
}, {
|
|
22
|
+
category: 'LOGIC',
|
|
23
|
+
name: '批处理',
|
|
24
|
+
code: 'ITERATOR'
|
|
25
|
+
}, {
|
|
26
|
+
category: 'EXTERNAL',
|
|
27
|
+
name: '大模型',
|
|
28
|
+
code: 'PROMPT_TEMPLATE'
|
|
29
|
+
}, {
|
|
30
|
+
category: 'EXTERNAL',
|
|
31
|
+
name: '智能体',
|
|
32
|
+
code: 'SKILL'
|
|
33
|
+
}, {
|
|
34
|
+
category: 'EXTERNAL',
|
|
35
|
+
name: '智能体',
|
|
36
|
+
code: 'AGENT',
|
|
37
|
+
hidden: true
|
|
38
|
+
}, {
|
|
39
|
+
category: 'MEMORY',
|
|
40
|
+
name: '混合检索',
|
|
41
|
+
hidden: true,
|
|
42
|
+
code: 'SEARCH_MIX'
|
|
43
|
+
}, {
|
|
44
|
+
category: 'MEMORY',
|
|
45
|
+
name: 'FAQ检索',
|
|
46
|
+
hidden: true,
|
|
47
|
+
code: 'SEARCH_KNOWLEDGE'
|
|
48
|
+
}, {
|
|
49
|
+
category: 'MEMORY',
|
|
50
|
+
name: '文档检索',
|
|
51
|
+
hidden: true,
|
|
52
|
+
code: 'SEARCH_DOCUMENT'
|
|
53
|
+
}, {
|
|
54
|
+
category: 'MEMORY',
|
|
55
|
+
name: '知识检索',
|
|
56
|
+
code: 'SEARCH_UNSTRUCTURED'
|
|
57
|
+
}, {
|
|
58
|
+
category: 'MEMORY',
|
|
59
|
+
name: '结构化检索',
|
|
60
|
+
code: 'SEARCH_STRUCTURE'
|
|
61
|
+
}, {
|
|
62
|
+
category: 'PLUGIN',
|
|
63
|
+
name: '插件',
|
|
64
|
+
code: 'PLUGIN_TOOL'
|
|
65
|
+
}, {
|
|
66
|
+
category: 'PLUGIN',
|
|
67
|
+
name: 'MCP',
|
|
68
|
+
code: 'PLUGIN_MCP'
|
|
69
|
+
}, {
|
|
70
|
+
category: 'DEV_TOOL',
|
|
71
|
+
name: 'HTTP调用',
|
|
72
|
+
code: 'API_AGENT'
|
|
73
|
+
}, {
|
|
74
|
+
category: 'DEV_TOOL',
|
|
75
|
+
name: '代码',
|
|
76
|
+
code: 'SCRIPT'
|
|
77
|
+
}, {
|
|
78
|
+
category: 'TEXT_TOOL',
|
|
79
|
+
name: '联网搜索',
|
|
80
|
+
code: 'NET_SEARCH'
|
|
81
|
+
}, {
|
|
82
|
+
category: 'TEXT_TOOL',
|
|
83
|
+
name: '简体转繁体',
|
|
84
|
+
code: 'TOOL',
|
|
85
|
+
toolCode: 'simple2Traditional'
|
|
86
|
+
}, {
|
|
87
|
+
category: 'TEXT_TOOL',
|
|
88
|
+
name: '繁体转简体',
|
|
89
|
+
code: 'TOOL',
|
|
90
|
+
toolCode: 'traditional2Simple'
|
|
91
|
+
}, {
|
|
92
|
+
category: 'TEXT_TOOL',
|
|
93
|
+
name: '表格生成',
|
|
94
|
+
code: 'TOOL',
|
|
95
|
+
toolCode: 'table_doc_save'
|
|
96
|
+
}, {
|
|
97
|
+
category: 'TEXT_TOOL',
|
|
98
|
+
name: '语言识别',
|
|
99
|
+
code: 'LANGUAGE_DETECTOR'
|
|
100
|
+
}, {
|
|
101
|
+
category: 'TEXT_TOOL',
|
|
102
|
+
name: '文字识别',
|
|
103
|
+
code: 'OCR'
|
|
104
|
+
}, {
|
|
105
|
+
category: 'IMAGE_TOOL',
|
|
106
|
+
name: '图片生成',
|
|
107
|
+
code: 'TOOL',
|
|
108
|
+
toolCode: 'pic_generator'
|
|
109
|
+
}, {
|
|
110
|
+
category: 'VOICE_TOOL',
|
|
111
|
+
name: '语音识别',
|
|
112
|
+
code: 'ASR'
|
|
113
|
+
}, {
|
|
114
|
+
category: 'VOICE_TOOL',
|
|
115
|
+
name: '语音合成',
|
|
116
|
+
code: 'TTS'
|
|
117
|
+
}];
|
|
118
|
+
var formatType = function formatType(type) {
|
|
119
|
+
if (type === 'RESPONSE') {
|
|
120
|
+
return 'END';
|
|
121
|
+
}
|
|
122
|
+
if (type === 'START_NODE' || type === 'INPUT') {
|
|
123
|
+
return 'START';
|
|
124
|
+
}
|
|
125
|
+
return type;
|
|
126
|
+
};
|
|
127
|
+
var nodeTemplateMap = nodeTemplates.reduce(function (acc, tpl) {
|
|
128
|
+
if (tpl.toolCode) {
|
|
129
|
+
acc[tpl.toolCode] = tpl;
|
|
130
|
+
}
|
|
131
|
+
acc[tpl.code] = tpl;
|
|
132
|
+
return acc;
|
|
133
|
+
}, {});
|
|
134
|
+
export function getNodeTemplate(type, code) {
|
|
135
|
+
type = formatType(type);
|
|
136
|
+
if (code) {
|
|
137
|
+
return nodeTemplateMap[code] || nodeTemplateMap[type];
|
|
138
|
+
}
|
|
139
|
+
return nodeTemplateMap[type];
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=workflowNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["nodeTemplates","category","name","code","hidden","toolCode","formatType","type","nodeTemplateMap","reduce","acc","tpl","getNodeTemplate"],"sources":["../../../src/utils/workflowNode.ts"],"sourcesContent":["\nimport { INodeTemplate } from \"@/types/node\";\n\nconst nodeTemplates: INodeTemplate[] = [{\n category: 'CONTROL',\n name: '输入',\n code: 'START',\n}, {\n category: 'CONTROL',\n name: '输出',\n code: 'END',\n}, {\n category: 'CONTROL',\n name: '消息',\n code: 'MESSAGE',\n}, {\n category: 'LOGIC',\n name: '条件判断',\n code: 'SWITCH',\n}, {\n category: 'LOGIC',\n name: '意图识别',\n code: 'CLASSIFICATION',\n}, {\n category: 'LOGIC',\n name: '批处理',\n code: 'ITERATOR',\n}, {\n category: 'EXTERNAL',\n name: '大模型',\n code: 'PROMPT_TEMPLATE',\n}, {\n category: 'EXTERNAL',\n name: '智能体',\n code: 'SKILL',\n}, {\n category: 'EXTERNAL',\n name: '智能体',\n code: 'AGENT',\n hidden: true,\n}, {\n category: 'MEMORY',\n name: '混合检索',\n hidden: true,\n code: 'SEARCH_MIX',\n}, {\n category: 'MEMORY',\n name: 'FAQ检索',\n hidden: true,\n code: 'SEARCH_KNOWLEDGE',\n}, {\n category: 'MEMORY',\n name: '文档检索',\n hidden: true,\n code: 'SEARCH_DOCUMENT',\n}, {\n category: 'MEMORY',\n name: '知识检索',\n code: 'SEARCH_UNSTRUCTURED',\n}, {\n category: 'MEMORY',\n name: '结构化检索',\n code: 'SEARCH_STRUCTURE',\n}, {\n category: 'PLUGIN',\n name: '插件',\n code: 'PLUGIN_TOOL',\n}, {\n category: 'PLUGIN',\n name: 'MCP',\n code: 'PLUGIN_MCP',\n}, {\n category: 'DEV_TOOL',\n name: 'HTTP调用',\n code: 'API_AGENT',\n}, {\n category: 'DEV_TOOL',\n name: '代码',\n code: 'SCRIPT',\n}, {\n category: 'TEXT_TOOL',\n name: '联网搜索',\n code: 'NET_SEARCH',\n}, {\n category: 'TEXT_TOOL',\n name: '简体转繁体',\n code: 'TOOL',\n toolCode: 'simple2Traditional',\n}, {\n category: 'TEXT_TOOL',\n name: '繁体转简体',\n code: 'TOOL',\n toolCode: 'traditional2Simple',\n}, {\n category: 'TEXT_TOOL',\n name: '表格生成',\n code: 'TOOL',\n toolCode: 'table_doc_save',\n}, {\n category: 'TEXT_TOOL',\n name: '语言识别',\n code: 'LANGUAGE_DETECTOR',\n}, {\n category: 'TEXT_TOOL',\n name: '文字识别',\n code: 'OCR',\n}, {\n category: 'IMAGE_TOOL',\n name: '图片生成',\n code: 'TOOL',\n toolCode: 'pic_generator',\n}, {\n category: 'VOICE_TOOL',\n name: '语音识别',\n code: 'ASR',\n}, {\n category: 'VOICE_TOOL',\n name: '语音合成',\n code: 'TTS',\n}];\n\nconst formatType = (type: string) => {\n if (type === 'RESPONSE') {\n return 'END';\n }\n if (type === 'START_NODE' || type === 'INPUT') {\n return 'START';\n }\n return type;\n};\n\nconst nodeTemplateMap = nodeTemplates.reduce<Record<string, INodeTemplate>>((acc, tpl) => {\n if (tpl.toolCode) {\n acc[tpl.toolCode] = tpl;\n }\n acc[tpl.code] = tpl;\n return acc;\n}, {});\n\n\nexport function getNodeTemplate(type: string, code?: string) {\n type = formatType(type);\n if (code) {\n return nodeTemplateMap[code] || nodeTemplateMap[type];\n }\n return nodeTemplateMap[type];\n}\n"],"mappings":"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"}
|