openhorse 0.2.11 → 0.2.13
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/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +681 -6
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/types.d.ts +3 -1
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js.map +1 -1
- package/dist/core/checkpoint.d.ts +1 -0
- package/dist/core/checkpoint.d.ts.map +1 -1
- package/dist/core/checkpoint.js +59 -10
- package/dist/core/checkpoint.js.map +1 -1
- package/dist/core/tool-artifacts.d.ts +10 -0
- package/dist/core/tool-artifacts.d.ts.map +1 -1
- package/dist/core/tool-artifacts.js +81 -3
- package/dist/core/tool-artifacts.js.map +1 -1
- package/dist/framework/index.d.ts +2 -2
- package/dist/framework/index.d.ts.map +1 -1
- package/dist/framework/index.js +5 -1
- package/dist/framework/index.js.map +1 -1
- package/dist/framework/query.d.ts +104 -1
- package/dist/framework/query.d.ts.map +1 -1
- package/dist/framework/query.js +454 -18
- package/dist/framework/query.js.map +1 -1
- package/dist/framework/store.d.ts +5 -0
- package/dist/framework/store.d.ts.map +1 -1
- package/dist/framework/store.js +4 -0
- package/dist/framework/store.js.map +1 -1
- package/dist/framework/tool-scheduler.d.ts +9 -0
- package/dist/framework/tool-scheduler.d.ts.map +1 -1
- package/dist/framework/tool-scheduler.js +34 -0
- package/dist/framework/tool-scheduler.js.map +1 -1
- package/dist/ink-ui/components/StatusLine.d.ts.map +1 -1
- package/dist/ink-ui/components/StatusLine.js +7 -1
- package/dist/ink-ui/components/StatusLine.js.map +1 -1
- package/dist/runtime/agent-runtime-protocol.d.ts +13 -1
- package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-protocol.js +24 -0
- package/dist/runtime/agent-runtime-protocol.js.map +1 -1
- package/dist/runtime/chat-controller.d.ts +3 -0
- package/dist/runtime/chat-controller.d.ts.map +1 -1
- package/dist/runtime/chat-controller.js +930 -5
- package/dist/runtime/chat-controller.js.map +1 -1
- package/dist/runtime/loop-budget.d.ts +5 -0
- package/dist/runtime/loop-budget.d.ts.map +1 -0
- package/dist/runtime/loop-budget.js +77 -0
- package/dist/runtime/loop-budget.js.map +1 -0
- package/dist/runtime/ui-events.d.ts +39 -1
- package/dist/runtime/ui-events.d.ts.map +1 -1
- package/dist/runtime/ui-events.js.map +1 -1
- package/dist/services/config-dir.d.ts +2 -0
- package/dist/services/config-dir.d.ts.map +1 -1
- package/dist/services/config-dir.js +5 -0
- package/dist/services/config-dir.js.map +1 -1
- package/dist/services/config.d.ts +4 -2
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +19 -0
- package/dist/services/config.js.map +1 -1
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +34 -4
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/global-config.d.ts +17 -0
- package/dist/services/global-config.d.ts.map +1 -1
- package/dist/services/global-config.js.map +1 -1
- package/dist/services/llm.d.ts +18 -0
- package/dist/services/llm.d.ts.map +1 -1
- package/dist/services/llm.js +175 -163
- package/dist/services/llm.js.map +1 -1
- package/dist/services/provider-diagnostics.d.ts +30 -0
- package/dist/services/provider-diagnostics.d.ts.map +1 -0
- package/dist/services/provider-diagnostics.js +308 -0
- package/dist/services/provider-diagnostics.js.map +1 -0
- package/dist/services/redaction.d.ts +2 -0
- package/dist/services/redaction.d.ts.map +1 -0
- package/dist/services/redaction.js +27 -0
- package/dist/services/redaction.js.map +1 -0
- package/dist/services/session-index.d.ts.map +1 -1
- package/dist/services/session-index.js +7 -3
- package/dist/services/session-index.js.map +1 -1
- package/dist/services/session-storage.d.ts +100 -0
- package/dist/services/session-storage.d.ts.map +1 -1
- package/dist/services/session-storage.js +154 -3
- package/dist/services/session-storage.js.map +1 -1
- package/dist/services/verification-profile.d.ts +36 -0
- package/dist/services/verification-profile.d.ts.map +1 -0
- package/dist/services/verification-profile.js +239 -0
- package/dist/services/verification-profile.js.map +1 -0
- package/dist/services/workspace-state.d.ts +25 -0
- package/dist/services/workspace-state.d.ts.map +1 -0
- package/dist/services/workspace-state.js +115 -0
- package/dist/services/workspace-state.js.map +1 -0
- package/dist/skills/loader.d.ts +5 -1
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +34 -0
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/registry.d.ts +5 -1
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +23 -0
- package/dist/skills/registry.js.map +1 -1
- package/dist/skills/runtime.d.ts +6 -0
- package/dist/skills/runtime.d.ts.map +1 -1
- package/dist/skills/runtime.js +88 -4
- package/dist/skills/runtime.js.map +1 -1
- package/dist/skills/types.d.ts +19 -0
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js.map +1 -1
- package/package.json +1 -1
package/dist/services/llm.js
CHANGED
|
@@ -11,8 +11,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
11
11
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.LLMService = exports.FallbackTriggeredError = void 0;
|
|
14
|
+
exports.LLMService = exports.FallbackTriggeredError = exports.LLMProviderError = void 0;
|
|
15
15
|
const openai_1 = __importDefault(require("openai"));
|
|
16
|
+
const provider_diagnostics_1 = require("./provider-diagnostics");
|
|
17
|
+
var provider_diagnostics_2 = require("./provider-diagnostics");
|
|
18
|
+
Object.defineProperty(exports, "LLMProviderError", { enumerable: true, get: function () { return provider_diagnostics_2.LLMProviderError; } });
|
|
16
19
|
/** Fallback 触发错误 */
|
|
17
20
|
class FallbackTriggeredError extends Error {
|
|
18
21
|
constructor(originalModel, fallbackModel) {
|
|
@@ -36,71 +39,10 @@ const DEFAULT_RETRY_CONFIG = {
|
|
|
36
39
|
const MAX_529_RETRIES = 3;
|
|
37
40
|
/** 判断错误是否可重试 */
|
|
38
41
|
function isRetryableError(error) {
|
|
39
|
-
|
|
40
|
-
return false;
|
|
41
|
-
if (isQuotaExhaustedError(error))
|
|
42
|
-
return false;
|
|
43
|
-
if (error instanceof openai_1.default.APIError) {
|
|
44
|
-
const status = error.status;
|
|
45
|
-
return status === 429 || status === 500 || status === 502 || status === 503 || status === 504 || status === 529;
|
|
46
|
-
}
|
|
47
|
-
if (error instanceof Error) {
|
|
48
|
-
const msg = error.message.toLowerCase();
|
|
49
|
-
return msg.includes('timeout')
|
|
50
|
-
|| msg.includes('connection')
|
|
51
|
-
|| msg.includes('econnreset')
|
|
52
|
-
|| msg.includes('epipe')
|
|
53
|
-
|| isRateLimitMessage(msg)
|
|
54
|
-
|| isProviderBusyMessage(msg);
|
|
55
|
-
}
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
/** 判断是否为 529 错误 */
|
|
59
|
-
function is529Error(error) {
|
|
60
|
-
return error instanceof openai_1.default.APIError && error.status === 529;
|
|
61
|
-
}
|
|
62
|
-
function isProviderBusyMessage(message) {
|
|
63
|
-
const msg = message.toLowerCase();
|
|
64
|
-
return msg.includes('code: 10012')
|
|
65
|
-
|| msg.includes('engineinternalerror')
|
|
66
|
-
|| msg.includes('system is busy')
|
|
67
|
-
|| msg.includes('service is busy')
|
|
68
|
-
|| msg.includes('server is busy')
|
|
69
|
-
|| msg.includes('try again later');
|
|
70
|
-
}
|
|
71
|
-
function isProviderBusyError(error) {
|
|
72
|
-
return error instanceof Error && isProviderBusyMessage(error.message);
|
|
73
|
-
}
|
|
74
|
-
function isRateLimitMessage(message) {
|
|
75
|
-
const msg = message.toLowerCase();
|
|
76
|
-
return msg.includes('rate limit')
|
|
77
|
-
|| msg.includes('too many requests')
|
|
78
|
-
|| msg.includes('api-limit')
|
|
79
|
-
|| msg.includes('api_limit')
|
|
80
|
-
|| msg.includes('api limit')
|
|
81
|
-
|| msg.includes('request limit')
|
|
82
|
-
|| msg.includes('requests per minute')
|
|
83
|
-
|| msg.includes('tokens per minute')
|
|
84
|
-
|| msg.includes('temporarily throttled')
|
|
85
|
-
|| /\b429\b/.test(msg);
|
|
42
|
+
return (0, provider_diagnostics_1.diagnoseProviderError)(error).retryable;
|
|
86
43
|
}
|
|
87
44
|
function isRateLimitError(error) {
|
|
88
|
-
return
|
|
89
|
-
|| error instanceof Error && isRateLimitMessage(error.message);
|
|
90
|
-
}
|
|
91
|
-
function isQuotaExhaustedMessage(message) {
|
|
92
|
-
const msg = message.toLowerCase();
|
|
93
|
-
return msg.includes('not enough cverror')
|
|
94
|
-
|| msg.includes('notenoughcverror')
|
|
95
|
-
|| msg.includes('insufficient_quota')
|
|
96
|
-
|| msg.includes('insufficient quota')
|
|
97
|
-
|| msg.includes('quota exceeded')
|
|
98
|
-
|| msg.includes('credit exhausted')
|
|
99
|
-
|| msg.includes('insufficient credit')
|
|
100
|
-
|| msg.includes('billing hard limit');
|
|
101
|
-
}
|
|
102
|
-
function isQuotaExhaustedError(error) {
|
|
103
|
-
return error instanceof Error && isQuotaExhaustedMessage(error.message);
|
|
45
|
+
return (0, provider_diagnostics_1.diagnoseProviderError)(error).type === 'rate_limit';
|
|
104
46
|
}
|
|
105
47
|
function createAbortError() {
|
|
106
48
|
const error = new Error('Operation cancelled');
|
|
@@ -112,6 +54,9 @@ function throwIfAborted(signal) {
|
|
|
112
54
|
throw createAbortError();
|
|
113
55
|
}
|
|
114
56
|
}
|
|
57
|
+
function isAbortError(error) {
|
|
58
|
+
return error instanceof Error && error.name === 'AbortError';
|
|
59
|
+
}
|
|
115
60
|
/** 从错误中提取 retry-after 时间 */
|
|
116
61
|
function getRetryAfterMs(error) {
|
|
117
62
|
if (error instanceof openai_1.default.APIError && error.headers) {
|
|
@@ -220,11 +165,18 @@ class LLMService {
|
|
|
220
165
|
maxRetries: DEFAULT_MAX_RETRIES,
|
|
221
166
|
retryBaseDelay: DEFAULT_RETRY_DELAY,
|
|
222
167
|
};
|
|
168
|
+
this.lastRequestDiagnostics = this.createRequestDiagnostics();
|
|
223
169
|
}
|
|
224
170
|
/** 是否正在使用 fallback model */
|
|
225
171
|
isUsingFallback() {
|
|
226
172
|
return this.usingFallback;
|
|
227
173
|
}
|
|
174
|
+
getLastRequestDiagnostics() {
|
|
175
|
+
return {
|
|
176
|
+
...this.lastRequestDiagnostics,
|
|
177
|
+
retryErrorTypes: [...this.lastRequestDiagnostics.retryErrorTypes],
|
|
178
|
+
};
|
|
179
|
+
}
|
|
228
180
|
/** 触发 fallback */
|
|
229
181
|
triggerFallback() {
|
|
230
182
|
if (this.config.fallbackModel && !this.usingFallback) {
|
|
@@ -251,10 +203,18 @@ class LLMService {
|
|
|
251
203
|
if (tools && tools.length > 0) {
|
|
252
204
|
params.tools = tools;
|
|
253
205
|
}
|
|
254
|
-
|
|
206
|
+
let response;
|
|
207
|
+
try {
|
|
208
|
+
response = await this.client.chat.completions.create(params);
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
if (isAbortError(error))
|
|
212
|
+
throw error;
|
|
213
|
+
throw (0, provider_diagnostics_1.toLLMProviderError)(error);
|
|
214
|
+
}
|
|
255
215
|
const message = response.choices?.[0]?.message;
|
|
256
216
|
const content = message?.content ?? '';
|
|
257
|
-
const toolCalls = message?.tool_calls?.map(tc => ({
|
|
217
|
+
const toolCalls = message?.tool_calls?.map((tc) => ({
|
|
258
218
|
id: tc.id,
|
|
259
219
|
type: 'function',
|
|
260
220
|
function: {
|
|
@@ -281,129 +241,171 @@ class LLMService {
|
|
|
281
241
|
async chatStream(messages, callbacks, tools, options) {
|
|
282
242
|
const onChunk = typeof callbacks === 'function' ? callbacks : callbacks?.onChunk;
|
|
283
243
|
const onThinking = typeof callbacks === 'object' ? callbacks?.onThinking : undefined;
|
|
244
|
+
const requestDiagnostics = this.createRequestDiagnostics();
|
|
245
|
+
this.lastRequestDiagnostics = requestDiagnostics;
|
|
284
246
|
const retryConfig = {
|
|
285
247
|
maxRetries: this.config.maxRetries,
|
|
286
248
|
baseDelayMs: this.config.retryBaseDelay,
|
|
287
249
|
maxDelayMs: 10000,
|
|
288
250
|
abortSignal: options?.abortSignal,
|
|
289
|
-
onRetry: (_attempt, error,
|
|
251
|
+
onRetry: (_attempt, error, delayMs) => {
|
|
252
|
+
const diagnostic = (0, provider_diagnostics_1.diagnoseProviderError)(error);
|
|
253
|
+
requestDiagnostics.retryCount++;
|
|
254
|
+
requestDiagnostics.retryDelayMs += delayMs;
|
|
255
|
+
requestDiagnostics.retryErrorTypes.push(diagnostic.type);
|
|
256
|
+
requestDiagnostics.lastRetryErrorType = diagnostic.type;
|
|
257
|
+
requestDiagnostics.lastRetryStatus = diagnostic.status;
|
|
290
258
|
// Provider overload/busy errors can often recover by retrying or using fallback.
|
|
291
|
-
if (
|
|
259
|
+
if (diagnostic.status === 529 || diagnostic.type === 'provider_busy' || diagnostic.type === 'rate_limit') {
|
|
292
260
|
this.consecutive529Errors++;
|
|
293
|
-
if (this.consecutive529Errors >= MAX_529_RETRIES && this.config.fallbackModel) {
|
|
261
|
+
if (this.consecutive529Errors >= MAX_529_RETRIES && this.config.fallbackModel && !this.usingFallback) {
|
|
262
|
+
const originalModel = this.config.model;
|
|
294
263
|
this.triggerFallback();
|
|
264
|
+
if (this.config.model !== originalModel) {
|
|
265
|
+
requestDiagnostics.fallbackTriggered = true;
|
|
266
|
+
requestDiagnostics.fallbackFromModel = originalModel;
|
|
267
|
+
requestDiagnostics.fallbackToModel = this.config.model;
|
|
268
|
+
}
|
|
295
269
|
}
|
|
296
270
|
}
|
|
271
|
+
requestDiagnostics.finalModel = this.config.model;
|
|
272
|
+
requestDiagnostics.usingFallback = this.usingFallback;
|
|
297
273
|
},
|
|
298
274
|
};
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
const params = {
|
|
302
|
-
model: this.config.model,
|
|
303
|
-
messages: this.toOpenAIMessages(messages),
|
|
304
|
-
max_tokens: this.config.maxTokens,
|
|
305
|
-
temperature: this.config.temperature,
|
|
306
|
-
stream: true,
|
|
307
|
-
stream_options: { include_usage: true },
|
|
308
|
-
};
|
|
309
|
-
if (tools && tools.length > 0) {
|
|
310
|
-
params.tools = tools;
|
|
311
|
-
}
|
|
312
|
-
onThinking?.();
|
|
313
|
-
const requestOptions = options?.abortSignal ? { signal: options.abortSignal } : undefined;
|
|
314
|
-
const stream = await this.client.chat.completions.create(params, requestOptions);
|
|
315
|
-
let content = '';
|
|
316
|
-
let usedModel = this.config.model;
|
|
317
|
-
let usage;
|
|
318
|
-
const toolCallsMap = new Map();
|
|
319
|
-
for await (const chunk of stream) {
|
|
275
|
+
try {
|
|
276
|
+
const response = await withRetry(async () => {
|
|
320
277
|
throwIfAborted(options?.abortSignal);
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
content += text;
|
|
332
|
-
onChunk?.(text);
|
|
278
|
+
const params = {
|
|
279
|
+
model: this.config.model,
|
|
280
|
+
messages: this.toOpenAIMessages(messages),
|
|
281
|
+
max_tokens: this.config.maxTokens,
|
|
282
|
+
temperature: this.config.temperature,
|
|
283
|
+
stream: true,
|
|
284
|
+
stream_options: { include_usage: true },
|
|
285
|
+
};
|
|
286
|
+
if (tools && tools.length > 0) {
|
|
287
|
+
params.tools = tools;
|
|
333
288
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
289
|
+
onThinking?.();
|
|
290
|
+
const requestOptions = options?.abortSignal ? { signal: options.abortSignal } : undefined;
|
|
291
|
+
const stream = await this.client.chat.completions.create(params, requestOptions);
|
|
292
|
+
let content = '';
|
|
293
|
+
let usedModel = this.config.model;
|
|
294
|
+
let usage;
|
|
295
|
+
const toolCallsMap = new Map();
|
|
296
|
+
for await (const chunk of stream) {
|
|
297
|
+
throwIfAborted(options?.abortSignal);
|
|
298
|
+
// Debug: log raw chunk when tool_calls present (for diagnosing API compatibility)
|
|
299
|
+
if (process.env.OPENHORSE_DEBUG_TOOLS === 'true') {
|
|
300
|
+
const delta = chunk.choices?.[0]?.delta;
|
|
301
|
+
if (delta?.tool_calls || chunk.choices?.[0]?.message?.tool_calls) {
|
|
302
|
+
console.log('[DEBUG] Raw chunk:', JSON.stringify(chunk, null, 2));
|
|
303
|
+
}
|
|
345
304
|
}
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
if (tc.function?.arguments)
|
|
352
|
-
existing.function.arguments += tc.function.arguments;
|
|
305
|
+
const delta = chunk.choices?.[0]?.delta;
|
|
306
|
+
const text = delta?.content ?? '';
|
|
307
|
+
if (text) {
|
|
308
|
+
content += text;
|
|
309
|
+
onChunk?.(text);
|
|
353
310
|
}
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
id: msgTc.id,
|
|
311
|
+
// Handle tool_calls from delta (OpenAI standard streaming format).
|
|
312
|
+
// A single stream chunk may contain multiple tool call deltas.
|
|
313
|
+
for (const tc of delta?.tool_calls ?? []) {
|
|
314
|
+
const idx = tc.index ?? 0;
|
|
315
|
+
const existing = toolCallsMap.get(idx);
|
|
316
|
+
if (!existing) {
|
|
317
|
+
toolCallsMap.set(idx, {
|
|
318
|
+
id: tc.id ?? `call_${idx}`,
|
|
363
319
|
type: 'function',
|
|
364
|
-
function: { name:
|
|
320
|
+
function: { name: tc.function?.name ?? '', arguments: tc.function?.arguments ?? '' },
|
|
365
321
|
});
|
|
366
322
|
}
|
|
367
|
-
else
|
|
368
|
-
|
|
323
|
+
else {
|
|
324
|
+
if (tc.id)
|
|
325
|
+
existing.id = tc.id;
|
|
326
|
+
if (tc.function?.name)
|
|
327
|
+
existing.function.name = tc.function.name;
|
|
328
|
+
if (tc.function?.arguments)
|
|
329
|
+
existing.function.arguments += tc.function.arguments;
|
|
369
330
|
}
|
|
370
331
|
}
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
332
|
+
// Handle tool_calls from message (some APIs like DashScope may use this format)
|
|
333
|
+
const msg = chunk.choices?.[0]?.message;
|
|
334
|
+
if (msg?.tool_calls && !delta?.tool_calls) {
|
|
335
|
+
for (const msgTc of msg.tool_calls) {
|
|
336
|
+
const existing = toolCallsMap.get(msgTc.index ?? 0);
|
|
337
|
+
if (!existing && msgTc.id) {
|
|
338
|
+
toolCallsMap.set(msgTc.index ?? 0, {
|
|
339
|
+
id: msgTc.id,
|
|
340
|
+
type: 'function',
|
|
341
|
+
function: { name: msgTc.function?.name ?? '', arguments: msgTc.function?.arguments ?? '' },
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
else if (existing && msgTc.function?.arguments) {
|
|
345
|
+
existing.function.arguments += msgTc.function.arguments;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
if (chunk.usage) {
|
|
350
|
+
usage = {
|
|
351
|
+
promptTokens: chunk.usage.prompt_tokens ?? 0,
|
|
352
|
+
completionTokens: chunk.usage.completion_tokens ?? 0,
|
|
353
|
+
};
|
|
393
354
|
}
|
|
394
|
-
|
|
355
|
+
if (chunk.model) {
|
|
356
|
+
usedModel = chunk.model;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
const toolCalls = Array.from(toolCallsMap.entries())
|
|
360
|
+
.sort(([a], [b]) => Number(a) - Number(b))
|
|
361
|
+
.map(([, value]) => value);
|
|
362
|
+
for (const tc of toolCalls) {
|
|
363
|
+
if (!tc.function.arguments || tc.function.arguments.trim() === '') {
|
|
395
364
|
tc.function.arguments = '{}';
|
|
396
365
|
}
|
|
366
|
+
else {
|
|
367
|
+
try {
|
|
368
|
+
const parsed = JSON.parse(tc.function.arguments);
|
|
369
|
+
tc.function.arguments = JSON.stringify(parsed);
|
|
370
|
+
}
|
|
371
|
+
catch {
|
|
372
|
+
tc.function.arguments = '{}';
|
|
373
|
+
}
|
|
374
|
+
}
|
|
397
375
|
}
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
376
|
+
this.consecutive529Errors = 0;
|
|
377
|
+
requestDiagnostics.finalModel = usedModel;
|
|
378
|
+
requestDiagnostics.usingFallback = this.usingFallback;
|
|
379
|
+
this.lastRequestDiagnostics = {
|
|
380
|
+
...requestDiagnostics,
|
|
381
|
+
retryErrorTypes: [...requestDiagnostics.retryErrorTypes],
|
|
382
|
+
};
|
|
383
|
+
return {
|
|
384
|
+
content,
|
|
385
|
+
model: usedModel,
|
|
386
|
+
usage,
|
|
387
|
+
toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
|
|
388
|
+
};
|
|
389
|
+
}, retryConfig);
|
|
390
|
+
requestDiagnostics.finalModel = response.model;
|
|
391
|
+
requestDiagnostics.usingFallback = this.usingFallback;
|
|
392
|
+
this.lastRequestDiagnostics = {
|
|
393
|
+
...requestDiagnostics,
|
|
394
|
+
retryErrorTypes: [...requestDiagnostics.retryErrorTypes],
|
|
405
395
|
};
|
|
406
|
-
|
|
396
|
+
return response;
|
|
397
|
+
}
|
|
398
|
+
catch (error) {
|
|
399
|
+
requestDiagnostics.finalModel = this.config.model;
|
|
400
|
+
requestDiagnostics.usingFallback = this.usingFallback;
|
|
401
|
+
this.lastRequestDiagnostics = {
|
|
402
|
+
...requestDiagnostics,
|
|
403
|
+
retryErrorTypes: [...requestDiagnostics.retryErrorTypes],
|
|
404
|
+
};
|
|
405
|
+
if (isAbortError(error))
|
|
406
|
+
throw error;
|
|
407
|
+
throw (0, provider_diagnostics_1.toLLMProviderError)(error);
|
|
408
|
+
}
|
|
407
409
|
}
|
|
408
410
|
/**
|
|
409
411
|
* 带工具调用的 agentic 循环
|
|
@@ -468,6 +470,16 @@ class LLMService {
|
|
|
468
470
|
};
|
|
469
471
|
}
|
|
470
472
|
// ---- Internal ----
|
|
473
|
+
createRequestDiagnostics() {
|
|
474
|
+
return {
|
|
475
|
+
retryCount: 0,
|
|
476
|
+
retryDelayMs: 0,
|
|
477
|
+
retryErrorTypes: [],
|
|
478
|
+
fallbackTriggered: false,
|
|
479
|
+
finalModel: this.config.model,
|
|
480
|
+
usingFallback: this.usingFallback,
|
|
481
|
+
};
|
|
482
|
+
}
|
|
471
483
|
/** 转换为 OpenAI SDK 消息格式 */
|
|
472
484
|
toOpenAIMessages(messages) {
|
|
473
485
|
return messages.map(msg => {
|
package/dist/services/llm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/services/llm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/services/llm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type ProviderErrorType = 'model_not_found' | 'invalid_endpoint' | 'auth_failed' | 'quota_or_credit_exhausted' | 'rate_limit' | 'provider_busy' | 'unknown_provider_error';
|
|
2
|
+
export interface ProviderErrorDiagnostic {
|
|
3
|
+
type: ProviderErrorType;
|
|
4
|
+
retryable: boolean;
|
|
5
|
+
status?: number;
|
|
6
|
+
code?: string;
|
|
7
|
+
providerMessage: string;
|
|
8
|
+
hint: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ProviderConfigDiagnostic {
|
|
11
|
+
status: 'ok' | 'warn' | 'fail';
|
|
12
|
+
summary: string;
|
|
13
|
+
detail: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface ProviderConfigInput {
|
|
16
|
+
apiKey?: string;
|
|
17
|
+
baseUrl?: string;
|
|
18
|
+
fallbackModel?: string;
|
|
19
|
+
model: string;
|
|
20
|
+
}
|
|
21
|
+
export declare class LLMProviderError extends Error {
|
|
22
|
+
readonly diagnostic: ProviderErrorDiagnostic;
|
|
23
|
+
constructor(diagnostic: ProviderErrorDiagnostic);
|
|
24
|
+
}
|
|
25
|
+
export declare function redactProviderSecrets(input: string): string;
|
|
26
|
+
export declare function diagnoseProviderError(error: unknown): ProviderErrorDiagnostic;
|
|
27
|
+
export declare function toLLMProviderError(error: unknown): Error;
|
|
28
|
+
export declare function formatProviderErrorMessage(diagnostic: ProviderErrorDiagnostic): string;
|
|
29
|
+
export declare function diagnoseProviderConfig(input: ProviderConfigInput): ProviderConfigDiagnostic;
|
|
30
|
+
//# sourceMappingURL=provider-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-diagnostics.d.ts","sourceRoot":"","sources":["../../src/services/provider-diagnostics.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,kBAAkB,GAClB,aAAa,GACb,2BAA2B,GAC3B,YAAY,GACZ,eAAe,GACf,wBAAwB,CAAC;AAE7B,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;gBAEjC,UAAU,EAAE,uBAAuB;CAKhD;AAoBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU3D;AAoGD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CAqG7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAIxD;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,uBAAuB,GAAG,MAAM,CAItF;AA8DD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG,wBAAwB,CA0B3F"}
|