@agenticc/core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +370 -0
  3. package/README.zh-CN.md +372 -0
  4. package/dist/audit/index.d.ts +9 -0
  5. package/dist/audit/index.d.ts.map +1 -0
  6. package/dist/audit/index.js +9 -0
  7. package/dist/audit/index.js.map +1 -0
  8. package/dist/audit/logger.d.ts +211 -0
  9. package/dist/audit/logger.d.ts.map +1 -0
  10. package/dist/audit/logger.js +268 -0
  11. package/dist/audit/logger.js.map +1 -0
  12. package/dist/audit/query.d.ts +164 -0
  13. package/dist/audit/query.d.ts.map +1 -0
  14. package/dist/audit/query.js +250 -0
  15. package/dist/audit/query.js.map +1 -0
  16. package/dist/conversation/context-builder.d.ts +119 -0
  17. package/dist/conversation/context-builder.d.ts.map +1 -0
  18. package/dist/conversation/context-builder.js +252 -0
  19. package/dist/conversation/context-builder.js.map +1 -0
  20. package/dist/conversation/index.d.ts +10 -0
  21. package/dist/conversation/index.d.ts.map +1 -0
  22. package/dist/conversation/index.js +10 -0
  23. package/dist/conversation/index.js.map +1 -0
  24. package/dist/conversation/message-store.d.ts +231 -0
  25. package/dist/conversation/message-store.d.ts.map +1 -0
  26. package/dist/conversation/message-store.js +404 -0
  27. package/dist/conversation/message-store.js.map +1 -0
  28. package/dist/conversation/session.d.ts +201 -0
  29. package/dist/conversation/session.d.ts.map +1 -0
  30. package/dist/conversation/session.js +285 -0
  31. package/dist/conversation/session.js.map +1 -0
  32. package/dist/core/agent.d.ts +277 -0
  33. package/dist/core/agent.d.ts.map +1 -0
  34. package/dist/core/agent.js +674 -0
  35. package/dist/core/agent.js.map +1 -0
  36. package/dist/core/agentic-loop.d.ts +98 -0
  37. package/dist/core/agentic-loop.d.ts.map +1 -0
  38. package/dist/core/agentic-loop.js +496 -0
  39. package/dist/core/agentic-loop.js.map +1 -0
  40. package/dist/core/index.d.ts +14 -0
  41. package/dist/core/index.d.ts.map +1 -0
  42. package/dist/core/index.js +14 -0
  43. package/dist/core/index.js.map +1 -0
  44. package/dist/core/intent-parser.d.ts +101 -0
  45. package/dist/core/intent-parser.d.ts.map +1 -0
  46. package/dist/core/intent-parser.js +221 -0
  47. package/dist/core/intent-parser.js.map +1 -0
  48. package/dist/core/plan-generator.d.ts +133 -0
  49. package/dist/core/plan-generator.d.ts.map +1 -0
  50. package/dist/core/plan-generator.js +294 -0
  51. package/dist/core/plan-generator.js.map +1 -0
  52. package/dist/core/plugin-manager.d.ts +120 -0
  53. package/dist/core/plugin-manager.d.ts.map +1 -0
  54. package/dist/core/plugin-manager.js +369 -0
  55. package/dist/core/plugin-manager.js.map +1 -0
  56. package/dist/core/response-handler.d.ts +141 -0
  57. package/dist/core/response-handler.d.ts.map +1 -0
  58. package/dist/core/response-handler.js +384 -0
  59. package/dist/core/response-handler.js.map +1 -0
  60. package/dist/core/tool-executor.d.ts +143 -0
  61. package/dist/core/tool-executor.d.ts.map +1 -0
  62. package/dist/core/tool-executor.js +354 -0
  63. package/dist/core/tool-executor.js.map +1 -0
  64. package/dist/core/tool-registry.d.ts +133 -0
  65. package/dist/core/tool-registry.d.ts.map +1 -0
  66. package/dist/core/tool-registry.js +252 -0
  67. package/dist/core/tool-registry.js.map +1 -0
  68. package/dist/index.d.ts +44 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.js +47 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/knowledge/chunker.d.ts +78 -0
  73. package/dist/knowledge/chunker.d.ts.map +1 -0
  74. package/dist/knowledge/chunker.js +233 -0
  75. package/dist/knowledge/chunker.js.map +1 -0
  76. package/dist/knowledge/embedder.d.ts +93 -0
  77. package/dist/knowledge/embedder.d.ts.map +1 -0
  78. package/dist/knowledge/embedder.js +205 -0
  79. package/dist/knowledge/embedder.js.map +1 -0
  80. package/dist/knowledge/index.d.ts +10 -0
  81. package/dist/knowledge/index.d.ts.map +1 -0
  82. package/dist/knowledge/index.js +11 -0
  83. package/dist/knowledge/index.js.map +1 -0
  84. package/dist/knowledge/loaders/index.d.ts +10 -0
  85. package/dist/knowledge/loaders/index.d.ts.map +1 -0
  86. package/dist/knowledge/loaders/index.js +10 -0
  87. package/dist/knowledge/loaders/index.js.map +1 -0
  88. package/dist/knowledge/loaders/markdown.d.ts +88 -0
  89. package/dist/knowledge/loaders/markdown.d.ts.map +1 -0
  90. package/dist/knowledge/loaders/markdown.js +205 -0
  91. package/dist/knowledge/loaders/markdown.js.map +1 -0
  92. package/dist/knowledge/loaders/yaml.d.ts +112 -0
  93. package/dist/knowledge/loaders/yaml.d.ts.map +1 -0
  94. package/dist/knowledge/loaders/yaml.js +368 -0
  95. package/dist/knowledge/loaders/yaml.js.map +1 -0
  96. package/dist/knowledge/retriever.d.ts +144 -0
  97. package/dist/knowledge/retriever.d.ts.map +1 -0
  98. package/dist/knowledge/retriever.js +399 -0
  99. package/dist/knowledge/retriever.js.map +1 -0
  100. package/dist/knowledge/store.d.ts +146 -0
  101. package/dist/knowledge/store.d.ts.map +1 -0
  102. package/dist/knowledge/store.js +420 -0
  103. package/dist/knowledge/store.js.map +1 -0
  104. package/dist/llm/adapter.d.ts +194 -0
  105. package/dist/llm/adapter.d.ts.map +1 -0
  106. package/dist/llm/adapter.js +42 -0
  107. package/dist/llm/adapter.js.map +1 -0
  108. package/dist/llm/adapters/anyrouter.d.ts +84 -0
  109. package/dist/llm/adapters/anyrouter.d.ts.map +1 -0
  110. package/dist/llm/adapters/anyrouter.js +372 -0
  111. package/dist/llm/adapters/anyrouter.js.map +1 -0
  112. package/dist/llm/adapters/claude.d.ts +66 -0
  113. package/dist/llm/adapters/claude.d.ts.map +1 -0
  114. package/dist/llm/adapters/claude.js +323 -0
  115. package/dist/llm/adapters/claude.js.map +1 -0
  116. package/dist/llm/adapters/index.d.ts +12 -0
  117. package/dist/llm/adapters/index.d.ts.map +1 -0
  118. package/dist/llm/adapters/index.js +12 -0
  119. package/dist/llm/adapters/index.js.map +1 -0
  120. package/dist/llm/adapters/mimo.d.ts +85 -0
  121. package/dist/llm/adapters/mimo.d.ts.map +1 -0
  122. package/dist/llm/adapters/mimo.js +316 -0
  123. package/dist/llm/adapters/mimo.js.map +1 -0
  124. package/dist/llm/adapters/openai.d.ts +53 -0
  125. package/dist/llm/adapters/openai.d.ts.map +1 -0
  126. package/dist/llm/adapters/openai.js +293 -0
  127. package/dist/llm/adapters/openai.js.map +1 -0
  128. package/dist/llm/adapters/qwen.d.ts +53 -0
  129. package/dist/llm/adapters/qwen.d.ts.map +1 -0
  130. package/dist/llm/adapters/qwen.js +299 -0
  131. package/dist/llm/adapters/qwen.js.map +1 -0
  132. package/dist/llm/adapters/siliconflow.d.ts +69 -0
  133. package/dist/llm/adapters/siliconflow.d.ts.map +1 -0
  134. package/dist/llm/adapters/siliconflow.js +331 -0
  135. package/dist/llm/adapters/siliconflow.js.map +1 -0
  136. package/dist/llm/index.d.ts +9 -0
  137. package/dist/llm/index.d.ts.map +1 -0
  138. package/dist/llm/index.js +12 -0
  139. package/dist/llm/index.js.map +1 -0
  140. package/dist/llm/manager.d.ts +97 -0
  141. package/dist/llm/manager.d.ts.map +1 -0
  142. package/dist/llm/manager.js +337 -0
  143. package/dist/llm/manager.js.map +1 -0
  144. package/dist/test-utils/arbitraries.d.ts +230 -0
  145. package/dist/test-utils/arbitraries.d.ts.map +1 -0
  146. package/dist/test-utils/arbitraries.js +280 -0
  147. package/dist/test-utils/arbitraries.js.map +1 -0
  148. package/dist/test-utils/cleanup.d.ts +184 -0
  149. package/dist/test-utils/cleanup.d.ts.map +1 -0
  150. package/dist/test-utils/cleanup.js +282 -0
  151. package/dist/test-utils/cleanup.js.map +1 -0
  152. package/dist/test-utils/config.d.ts +80 -0
  153. package/dist/test-utils/config.d.ts.map +1 -0
  154. package/dist/test-utils/config.js +94 -0
  155. package/dist/test-utils/config.js.map +1 -0
  156. package/dist/test-utils/index.d.ts +10 -0
  157. package/dist/test-utils/index.d.ts.map +1 -0
  158. package/dist/test-utils/index.js +36 -0
  159. package/dist/test-utils/index.js.map +1 -0
  160. package/dist/test-utils/mocks.d.ts +170 -0
  161. package/dist/test-utils/mocks.d.ts.map +1 -0
  162. package/dist/test-utils/mocks.js +281 -0
  163. package/dist/test-utils/mocks.js.map +1 -0
  164. package/dist/types/config.d.ts +170 -0
  165. package/dist/types/config.d.ts.map +1 -0
  166. package/dist/types/config.js +120 -0
  167. package/dist/types/config.js.map +1 -0
  168. package/dist/types/knowledge.d.ts +95 -0
  169. package/dist/types/knowledge.d.ts.map +1 -0
  170. package/dist/types/knowledge.js +7 -0
  171. package/dist/types/knowledge.js.map +1 -0
  172. package/dist/types/loop.d.ts +148 -0
  173. package/dist/types/loop.d.ts.map +1 -0
  174. package/dist/types/loop.js +16 -0
  175. package/dist/types/loop.js.map +1 -0
  176. package/dist/types/plugin.d.ts +137 -0
  177. package/dist/types/plugin.d.ts.map +1 -0
  178. package/dist/types/plugin.js +15 -0
  179. package/dist/types/plugin.js.map +1 -0
  180. package/dist/types/response.d.ts +186 -0
  181. package/dist/types/response.d.ts.map +1 -0
  182. package/dist/types/response.js +99 -0
  183. package/dist/types/response.js.map +1 -0
  184. package/dist/types/streaming.d.ts +478 -0
  185. package/dist/types/streaming.d.ts.map +1 -0
  186. package/dist/types/streaming.js +483 -0
  187. package/dist/types/streaming.js.map +1 -0
  188. package/dist/types/tool.d.ts +118 -0
  189. package/dist/types/tool.d.ts.map +1 -0
  190. package/dist/types/tool.js +42 -0
  191. package/dist/types/tool.js.map +1 -0
  192. package/dist/utils/error.d.ts +22 -0
  193. package/dist/utils/error.d.ts.map +1 -0
  194. package/dist/utils/error.js +36 -0
  195. package/dist/utils/error.js.map +1 -0
  196. package/package.json +102 -0
@@ -0,0 +1,331 @@
1
+ /**
2
+ * SiliconFlow LLM Adapter
3
+ *
4
+ * Implements the LLMAdapter interface for SiliconFlow's API.
5
+ * SiliconFlow provides access to multiple models (DeepSeek, Qwen, GLM, etc.)
6
+ * through an OpenAI-compatible interface.
7
+ */
8
+ import OpenAI from 'openai';
9
+ import { LLMError, promptToMessages } from '../adapter.js';
10
+ /**
11
+ * Default SiliconFlow API base URL
12
+ */
13
+ const DEFAULT_SILICONFLOW_BASE_URL = 'https://api.siliconflow.cn/v1';
14
+ /**
15
+ * Popular models available on SiliconFlow
16
+ */
17
+ export const SILICONFLOW_MODELS = {
18
+ // DeepSeek models
19
+ DEEPSEEK_CHAT: 'deepseek-ai/DeepSeek-V2.5',
20
+ DEEPSEEK_CODER: 'deepseek-ai/DeepSeek-Coder-V2-Instruct',
21
+ // Qwen models
22
+ QWEN_72B: 'Qwen/Qwen2.5-72B-Instruct',
23
+ QWEN_32B: 'Qwen/Qwen2.5-32B-Instruct',
24
+ QWEN_7B: 'Qwen/Qwen2.5-7B-Instruct',
25
+ QWEN_CODER_32B: 'Qwen/Qwen2.5-Coder-32B-Instruct',
26
+ // GLM models
27
+ GLM_9B: 'THUDM/glm-4-9b-chat',
28
+ // Embedding models
29
+ BGE_LARGE: 'BAAI/bge-large-zh-v1.5',
30
+ BGE_M3: 'BAAI/bge-m3',
31
+ };
32
+ /**
33
+ * SiliconFlow LLM Adapter implementation
34
+ *
35
+ * Provides access to multiple open-source models through SiliconFlow's
36
+ * OpenAI-compatible API.
37
+ */
38
+ export class SiliconFlowAdapter {
39
+ provider = 'siliconflow';
40
+ model;
41
+ client;
42
+ embeddingModel;
43
+ defaultTemperature;
44
+ defaultMaxTokens;
45
+ constructor(config) {
46
+ this.model = config.model;
47
+ // Use BGE-M3 by default as it supports 8192 tokens (vs 512 for BGE-large)
48
+ this.embeddingModel = config.embeddingModel ?? SILICONFLOW_MODELS.BGE_M3;
49
+ this.defaultTemperature = config.temperature ?? 0.7;
50
+ this.defaultMaxTokens = config.maxTokens ?? 2048;
51
+ this.client = new OpenAI({
52
+ apiKey: config.apiKey,
53
+ baseURL: config.baseUrl ?? DEFAULT_SILICONFLOW_BASE_URL,
54
+ timeout: config.timeoutMs ?? 30000,
55
+ });
56
+ }
57
+ async generate(prompt, options) {
58
+ const messages = typeof prompt === 'string' ? promptToMessages(prompt, options?.systemPrompt) : prompt;
59
+ try {
60
+ const response = await this.client.chat.completions.create({
61
+ model: this.model,
62
+ messages: this.convertMessages(messages),
63
+ temperature: options?.temperature ?? this.defaultTemperature,
64
+ max_tokens: options?.maxTokens ?? this.defaultMaxTokens,
65
+ stop: options?.stopSequences,
66
+ }, { signal: options?.abortSignal });
67
+ return response.choices[0]?.message?.content ?? '';
68
+ }
69
+ catch (error) {
70
+ throw this.handleError(error);
71
+ }
72
+ }
73
+ async generateWithTools(prompt, tools, options) {
74
+ const messages = typeof prompt === 'string' ? promptToMessages(prompt, options?.systemPrompt) : prompt;
75
+ try {
76
+ const response = await this.client.chat.completions.create({
77
+ model: this.model,
78
+ messages: this.convertMessages(messages),
79
+ tools: tools.map((t) => ({
80
+ type: 'function',
81
+ function: t.function,
82
+ })),
83
+ temperature: options?.temperature ?? this.defaultTemperature,
84
+ max_tokens: options?.maxTokens ?? this.defaultMaxTokens,
85
+ stop: options?.stopSequences,
86
+ }, { signal: options?.abortSignal });
87
+ const choice = response.choices[0];
88
+ const message = choice?.message;
89
+ const toolCalls = message?.tool_calls?.map((tc) => ({
90
+ id: tc.id,
91
+ name: tc.function.name,
92
+ arguments: JSON.parse(tc.function.arguments),
93
+ }));
94
+ return {
95
+ content: message?.content ?? '',
96
+ toolCalls,
97
+ finishReason: this.mapFinishReason(choice?.finish_reason),
98
+ usage: response.usage
99
+ ? {
100
+ promptTokens: response.usage.prompt_tokens,
101
+ completionTokens: response.usage.completion_tokens,
102
+ totalTokens: response.usage.total_tokens,
103
+ }
104
+ : undefined,
105
+ };
106
+ }
107
+ catch (error) {
108
+ throw this.handleError(error);
109
+ }
110
+ }
111
+ async embed(text) {
112
+ try {
113
+ const response = await this.client.embeddings.create({
114
+ model: this.embeddingModel,
115
+ input: text,
116
+ });
117
+ const embeddingData = response.data[0];
118
+ if (!embeddingData) {
119
+ throw new LLMError('No embedding data returned', 'INVALID_REQUEST', this.provider);
120
+ }
121
+ return {
122
+ embedding: embeddingData.embedding,
123
+ tokenCount: response.usage?.total_tokens,
124
+ };
125
+ }
126
+ catch (error) {
127
+ throw this.handleError(error);
128
+ }
129
+ }
130
+ supportsEmbeddings() {
131
+ return true;
132
+ }
133
+ supportsToolCalling() {
134
+ // Most models on SiliconFlow support function calling
135
+ // Some smaller models may not support it
136
+ const modelLower = this.model.toLowerCase();
137
+ // DeepSeek and Qwen models support tool calling
138
+ if (modelLower.includes('deepseek') || modelLower.includes('qwen')) {
139
+ return true;
140
+ }
141
+ // GLM models support tool calling
142
+ if (modelLower.includes('glm')) {
143
+ return true;
144
+ }
145
+ // Default to true for unknown models
146
+ return true;
147
+ }
148
+ supportsStreaming() {
149
+ return true;
150
+ }
151
+ async generateWithToolsStream(prompt, tools, onChunk, options) {
152
+ const messages = typeof prompt === 'string' ? promptToMessages(prompt, options?.systemPrompt) : prompt;
153
+ try {
154
+ const stream = await this.client.chat.completions.create({
155
+ model: this.model,
156
+ messages: this.convertMessages(messages),
157
+ tools: tools.map((t) => ({
158
+ type: 'function',
159
+ function: t.function,
160
+ })),
161
+ temperature: options?.temperature ?? this.defaultTemperature,
162
+ max_tokens: options?.maxTokens ?? this.defaultMaxTokens,
163
+ stop: options?.stopSequences,
164
+ stream: true,
165
+ }, { signal: options?.abortSignal });
166
+ // Accumulate the response
167
+ let accumulatedContent = '';
168
+ const toolCallsMap = new Map();
169
+ let finishReason = 'stop';
170
+ for await (const chunk of stream) {
171
+ const delta = chunk.choices[0]?.delta;
172
+ const chunkFinishReason = chunk.choices[0]?.finish_reason;
173
+ // Handle content chunks
174
+ if (delta?.content) {
175
+ accumulatedContent += delta.content;
176
+ const streamChunk = {
177
+ type: 'content',
178
+ content: delta.content,
179
+ };
180
+ onChunk(streamChunk);
181
+ }
182
+ // Handle tool call chunks
183
+ if (delta?.tool_calls) {
184
+ for (const tc of delta.tool_calls) {
185
+ const index = tc.index;
186
+ // Get or create tool call entry
187
+ let toolCallEntry = toolCallsMap.get(index);
188
+ if (!toolCallEntry) {
189
+ toolCallEntry = { id: '', name: '', arguments: '' };
190
+ toolCallsMap.set(index, toolCallEntry);
191
+ }
192
+ // Accumulate tool call data
193
+ if (tc.id)
194
+ toolCallEntry.id = tc.id;
195
+ if (tc.function?.name)
196
+ toolCallEntry.name = tc.function.name;
197
+ if (tc.function?.arguments)
198
+ toolCallEntry.arguments += tc.function.arguments;
199
+ // Send tool call chunk
200
+ const streamChunk = {
201
+ type: 'tool_call',
202
+ toolCall: {
203
+ index,
204
+ id: tc.id,
205
+ name: tc.function?.name,
206
+ arguments: tc.function?.arguments,
207
+ },
208
+ };
209
+ onChunk(streamChunk);
210
+ }
211
+ }
212
+ // Update finish reason
213
+ if (chunkFinishReason) {
214
+ finishReason = this.mapFinishReason(chunkFinishReason);
215
+ }
216
+ }
217
+ // Build final tool calls array
218
+ const toolCalls = toolCallsMap.size > 0
219
+ ? Array.from(toolCallsMap.entries())
220
+ .sort(([a], [b]) => a - b)
221
+ .map(([, tc]) => ({
222
+ id: tc.id,
223
+ name: tc.name,
224
+ arguments: JSON.parse(tc.arguments || '{}'),
225
+ }))
226
+ : undefined;
227
+ // Build final response
228
+ const response = {
229
+ content: accumulatedContent,
230
+ toolCalls,
231
+ finishReason,
232
+ };
233
+ // Send done chunk
234
+ onChunk({ type: 'done', response });
235
+ return response;
236
+ }
237
+ catch (error) {
238
+ throw this.handleError(error);
239
+ }
240
+ }
241
+ /**
242
+ * Convert internal message format to OpenAI format
243
+ */
244
+ convertMessages(messages) {
245
+ return messages.map((msg) => {
246
+ if (msg.role === 'tool') {
247
+ return {
248
+ role: 'tool',
249
+ content: msg.content,
250
+ tool_call_id: msg.toolCallId ?? '',
251
+ };
252
+ }
253
+ if (msg.role === 'assistant' && msg.toolCalls && msg.toolCalls.length > 0) {
254
+ // Assistant message with tool calls
255
+ return {
256
+ role: 'assistant',
257
+ content: msg.content || null,
258
+ tool_calls: msg.toolCalls.map((tc) => ({
259
+ id: tc.id,
260
+ type: 'function',
261
+ function: {
262
+ name: tc.name,
263
+ arguments: JSON.stringify(tc.arguments),
264
+ },
265
+ })),
266
+ };
267
+ }
268
+ return {
269
+ role: msg.role,
270
+ content: msg.content,
271
+ };
272
+ });
273
+ }
274
+ /**
275
+ * Map finish reason to internal format
276
+ */
277
+ mapFinishReason(reason) {
278
+ switch (reason) {
279
+ case 'stop':
280
+ return 'stop';
281
+ case 'tool_calls':
282
+ return 'tool_calls';
283
+ case 'length':
284
+ return 'length';
285
+ case 'content_filter':
286
+ return 'content_filter';
287
+ default:
288
+ return 'stop';
289
+ }
290
+ }
291
+ /**
292
+ * Handle API errors
293
+ */
294
+ handleError(error) {
295
+ // Check for abort error first
296
+ if (error instanceof Error && error.name === 'AbortError') {
297
+ return new LLMError('Operation cancelled', 'CANCELLED', this.provider, error);
298
+ }
299
+ // Preserve existing LLMError instances
300
+ if (error instanceof LLMError) {
301
+ return error;
302
+ }
303
+ if (error instanceof OpenAI.APIError) {
304
+ const code = this.mapErrorCode(error.status, error.code);
305
+ return new LLMError(error.message, code, this.provider, error);
306
+ }
307
+ if (error instanceof Error) {
308
+ return new LLMError(error.message, 'UNKNOWN_ERROR', this.provider, error);
309
+ }
310
+ return new LLMError('Unknown error occurred', 'UNKNOWN_ERROR', this.provider);
311
+ }
312
+ /**
313
+ * Map error codes to internal error codes
314
+ */
315
+ mapErrorCode(status, code) {
316
+ if (status === 401)
317
+ return 'AUTHENTICATION_ERROR';
318
+ if (status === 429)
319
+ return 'RATE_LIMIT_ERROR';
320
+ if (status === 400)
321
+ return 'INVALID_REQUEST';
322
+ if (status === 404)
323
+ return 'MODEL_NOT_FOUND';
324
+ if (code === 'context_length_exceeded')
325
+ return 'CONTEXT_LENGTH_EXCEEDED';
326
+ if (code === 'content_filter')
327
+ return 'CONTENT_FILTER';
328
+ return 'UNKNOWN_ERROR';
329
+ }
330
+ }
331
+ //# sourceMappingURL=siliconflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siliconflow.js","sourceRoot":"","sources":["../../../src/llm/adapters/siliconflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * LLM Module Index
3
+ *
4
+ * Exports all LLM-related types, adapters, and the manager.
5
+ */
6
+ export { type LLMAdapter, type LLMAdapterConfig, type GenerateOptions, type ChatMessage, type LLMResponse, type ToolCall, type EmbeddingResult, type LLMErrorCode, LLMError, promptToMessages, messagesToPrompt, } from './adapter.js';
7
+ export { LLMManager, createSimpleLLMManager } from './manager.js';
8
+ export { OpenAIAdapter, type OpenAIAdapterConfig, ClaudeAdapter, type ClaudeAdapterConfig, QwenAdapter, type QwenAdapterConfig, SiliconFlowAdapter, type SiliconFlowAdapterConfig, SILICONFLOW_MODELS, MiMoAdapter, type MiMoAdapterConfig, type MiMoGenerateOptions, type MiMoLLMResponse, type ThinkingMode, MIMO_MODELS, } from './adapters/index.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,EACxB,aAAa,EACb,KAAK,mBAAmB,EACxB,WAAW,EACX,KAAK,iBAAiB,EACtB,kBAAkB,EAClB,KAAK,wBAAwB,EAC7B,kBAAkB,EAClB,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * LLM Module Index
3
+ *
4
+ * Exports all LLM-related types, adapters, and the manager.
5
+ */
6
+ // Core adapter interface and types
7
+ export { LLMError, promptToMessages, messagesToPrompt, } from './adapter.js';
8
+ // LLM Manager
9
+ export { LLMManager, createSimpleLLMManager } from './manager.js';
10
+ // Adapters
11
+ export { OpenAIAdapter, ClaudeAdapter, QwenAdapter, SiliconFlowAdapter, SILICONFLOW_MODELS, MiMoAdapter, MIMO_MODELS, } from './adapters/index.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mCAAmC;AACnC,OAAO,EASL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAElE,WAAW;AACX,OAAO,EACL,aAAa,EAEb,aAAa,EAEb,WAAW,EAEX,kBAAkB,EAElB,kBAAkB,EAClB,WAAW,EAKX,WAAW,GACZ,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * LLM Manager
3
+ *
4
+ * Manages multiple LLM adapters and routes tasks to the appropriate LLM.
5
+ * Supports single LLM mode (all tasks use one LLM) and multi-LLM mode
6
+ * (different LLMs for different task types).
7
+ */
8
+ import type { LLMAdapter, GenerateOptions, ChatMessage, LLMResponse, EmbeddingResult, StreamCallback } from './adapter.js';
9
+ import type { LLMConfig, LLMProviderConfig, LLMTask } from '../types/config.js';
10
+ import type { ToolDefinition } from '../types/tool.js';
11
+ /**
12
+ * LLM Manager
13
+ *
14
+ * Provides a unified interface for working with multiple LLM providers.
15
+ */
16
+ export declare class LLMManager {
17
+ private config;
18
+ private adapters;
19
+ private retryConfig;
20
+ constructor(config: LLMConfig);
21
+ /**
22
+ * Get the LLM adapter for a specific task
23
+ */
24
+ getLLMForTask(task: LLMTask): LLMAdapter;
25
+ /**
26
+ * Generate text for a specific task
27
+ */
28
+ generate(task: LLMTask, prompt: string | ChatMessage[], options?: GenerateOptions): Promise<string>;
29
+ /**
30
+ * Generate text with tool calling for a specific task
31
+ */
32
+ generateWithTools(task: LLMTask, prompt: string | ChatMessage[], tools: ToolDefinition[], options?: GenerateOptions): Promise<LLMResponse>;
33
+ /**
34
+ * Generate text with tool calling for a specific task (streaming)
35
+ *
36
+ * Note: Streaming does not support automatic retry since we can't replay the stream.
37
+ * If you need retry behavior, use the non-streaming version.
38
+ */
39
+ generateWithToolsStream(task: LLMTask, prompt: string | ChatMessage[], tools: ToolDefinition[], onChunk: StreamCallback, options?: GenerateOptions): Promise<LLMResponse>;
40
+ /**
41
+ * Check if the adapter for a task supports streaming
42
+ */
43
+ supportsStreaming(task: LLMTask): boolean;
44
+ /**
45
+ * Generate embedding using the knowledge retrieval LLM
46
+ */
47
+ embed(text: string): Promise<EmbeddingResult>;
48
+ /**
49
+ * Check if any configured adapter supports embeddings
50
+ */
51
+ supportsEmbeddings(): boolean;
52
+ /**
53
+ * Check if the adapter for a task supports tool calling
54
+ */
55
+ supportsToolCalling(task: LLMTask): boolean;
56
+ /**
57
+ * Get all initialized adapters
58
+ */
59
+ getAdapters(): Map<string, LLMAdapter>;
60
+ /**
61
+ * Get the current configuration
62
+ */
63
+ getConfig(): LLMConfig;
64
+ /**
65
+ * Initialize adapters for all configured LLMs
66
+ */
67
+ private initializeAdapters;
68
+ /**
69
+ * Get or create an adapter for a provider configuration
70
+ */
71
+ private getOrCreateAdapter;
72
+ /**
73
+ * Create a unique key for an adapter configuration
74
+ */
75
+ private getAdapterKey;
76
+ /**
77
+ * Create an adapter based on provider configuration
78
+ */
79
+ private createAdapter;
80
+ /**
81
+ * Execute an LLM operation with retry and fallback
82
+ */
83
+ private executeWithRetry;
84
+ /**
85
+ * Determine if an error should trigger a retry
86
+ */
87
+ private shouldRetry;
88
+ /**
89
+ * Sleep for a specified duration
90
+ */
91
+ private sleep;
92
+ }
93
+ /**
94
+ * Create an LLMManager with a simple single-LLM configuration
95
+ */
96
+ export declare function createSimpleLLMManager(provider: LLMProviderConfig['provider'], apiKey: string, model: string, options?: Partial<LLMProviderConfig>): LLMManager;
97
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/llm/manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,WAAW,EACX,eAAe,EACf,cAAc,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAuBvD;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE,SAAS;IAQ7B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU;IAKxC;;OAEG;IACG,QAAQ,CACZ,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,EAC9B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,CAAC;IAQlB;;OAEG;IACG,iBAAiB,CACrB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,EAC9B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,WAAW,CAAC;IAQvB;;;;;OAKG;IACG,uBAAuB,CAC3B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,EAC9B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,WAAW,CAAC;IAuBvB;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAKzC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAyBnD;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAS7B;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAK3C;;OAEG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAItC;;OAEG;IACH,SAAS,IAAI,SAAS;IAItB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,aAAa;IA2ErB;;OAEG;YACW,gBAAgB;IAoE9B;;OAEG;IACH,OAAO,CAAC,WAAW;IAanB;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,EACvC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACnC,UAAU,CAUZ"}