@vybestack/llxprt-code-core 0.3.4-nightly.250913.eab05a51 → 0.3.4-nightly.250915.a114b9d3
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/src/config/config.js +65 -12
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/core/client.d.ts +6 -0
- package/dist/src/core/client.js +49 -6
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/geminiChat.js +17 -3
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/providers/BaseProvider.d.ts +5 -0
- package/dist/src/providers/BaseProvider.js +12 -0
- package/dist/src/providers/BaseProvider.js.map +1 -1
- package/dist/src/providers/IProviderManager.d.ts +32 -0
- package/dist/src/providers/LoggingProviderWrapper.d.ts +31 -0
- package/dist/src/providers/LoggingProviderWrapper.js +203 -8
- package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
- package/dist/src/providers/ProviderManager.d.ts +32 -2
- package/dist/src/providers/ProviderManager.js +82 -13
- package/dist/src/providers/ProviderManager.js.map +1 -1
- package/dist/src/providers/gemini/GeminiProvider.js +48 -4
- package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
- package/dist/src/providers/logging/ProviderPerformanceTracker.d.ts +14 -2
- package/dist/src/providers/logging/ProviderPerformanceTracker.js +81 -4
- package/dist/src/providers/logging/ProviderPerformanceTracker.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.js +114 -9
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/providers/types.d.ts +14 -0
- package/dist/src/providers/types.js +1 -0
- package/dist/src/providers/types.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +13 -1
- package/dist/src/telemetry/loggers.js +38 -0
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +28 -1
- package/dist/src/telemetry/types.js +58 -0
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +24 -0
- package/dist/src/telemetry/uiTelemetry.js +21 -0
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/tools/glob.js +19 -5
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/utils/retry.d.ts +2 -0
- package/dist/src/utils/retry.js +25 -10
- package/dist/src/utils/retry.js.map +1 -1
- package/package.json +2 -1
@@ -91,7 +91,7 @@ export class GeminiProvider extends BaseProvider {
|
|
91
91
|
}
|
92
92
|
else {
|
93
93
|
// OAuth is disabled and no other auth method available
|
94
|
-
throw new AuthenticationRequiredError('Web search requires Gemini authentication, but no API key is set and OAuth is disabled', 'none', ['GEMINI_API_KEY', 'GOOGLE_API_KEY']);
|
94
|
+
throw new AuthenticationRequiredError('Web search requires Gemini authentication, but no API key is set and OAuth is disabled. Hint: call /auth gemini enable', 'none', ['GEMINI_API_KEY', 'GOOGLE_API_KEY']);
|
95
95
|
}
|
96
96
|
}
|
97
97
|
this.authMode = 'none';
|
@@ -124,7 +124,7 @@ export class GeminiProvider extends BaseProvider {
|
|
124
124
|
}
|
125
125
|
else {
|
126
126
|
// OAuth is disabled and no other auth method available
|
127
|
-
throw new AuthenticationRequiredError('Web search requires Gemini authentication, but no API key is set and OAuth is disabled', 'none', ['GEMINI_API_KEY', 'GOOGLE_API_KEY']);
|
127
|
+
throw new AuthenticationRequiredError('Web search requires Gemini authentication, but no API key is set and OAuth is disabled. Hint: call /auth gemini enable', 'none', ['GEMINI_API_KEY', 'GOOGLE_API_KEY']);
|
128
128
|
}
|
129
129
|
}
|
130
130
|
throw error;
|
@@ -807,12 +807,27 @@ export class GeminiProvider extends BaseProvider {
|
|
807
807
|
const functionCalls = response.candidates?.[0]?.content?.parts
|
808
808
|
?.filter((part) => 'functionCall' in part)
|
809
809
|
?.map((part) => part.functionCall) || [];
|
810
|
+
// Extract usage metadata from response
|
811
|
+
const usageMetadata = response.usageMetadata;
|
810
812
|
// Yield text if present
|
811
813
|
if (text) {
|
812
|
-
|
814
|
+
const textContent = {
|
813
815
|
speaker: 'ai',
|
814
816
|
blocks: [{ type: 'text', text }],
|
815
817
|
};
|
818
|
+
// Add usage metadata if present
|
819
|
+
if (usageMetadata) {
|
820
|
+
textContent.metadata = {
|
821
|
+
usage: {
|
822
|
+
promptTokens: usageMetadata.promptTokenCount || 0,
|
823
|
+
completionTokens: usageMetadata.candidatesTokenCount || 0,
|
824
|
+
totalTokens: usageMetadata.totalTokenCount ||
|
825
|
+
(usageMetadata.promptTokenCount || 0) +
|
826
|
+
(usageMetadata.candidatesTokenCount || 0),
|
827
|
+
},
|
828
|
+
};
|
829
|
+
}
|
830
|
+
yield textContent;
|
816
831
|
}
|
817
832
|
// Yield tool calls if present
|
818
833
|
if (functionCalls.length > 0) {
|
@@ -823,10 +838,39 @@ export class GeminiProvider extends BaseProvider {
|
|
823
838
|
name: call.name || 'unknown_function',
|
824
839
|
parameters: call.args || {},
|
825
840
|
}));
|
826
|
-
|
841
|
+
const toolCallContent = {
|
827
842
|
speaker: 'ai',
|
828
843
|
blocks,
|
829
844
|
};
|
845
|
+
// Add usage metadata if present
|
846
|
+
if (usageMetadata) {
|
847
|
+
toolCallContent.metadata = {
|
848
|
+
usage: {
|
849
|
+
promptTokens: usageMetadata.promptTokenCount || 0,
|
850
|
+
completionTokens: usageMetadata.candidatesTokenCount || 0,
|
851
|
+
totalTokens: usageMetadata.totalTokenCount ||
|
852
|
+
(usageMetadata.promptTokenCount || 0) +
|
853
|
+
(usageMetadata.candidatesTokenCount || 0),
|
854
|
+
},
|
855
|
+
};
|
856
|
+
}
|
857
|
+
yield toolCallContent;
|
858
|
+
}
|
859
|
+
// If we have usage metadata but no content blocks, emit a metadata-only response
|
860
|
+
if (usageMetadata && !text && functionCalls.length === 0) {
|
861
|
+
yield {
|
862
|
+
speaker: 'ai',
|
863
|
+
blocks: [],
|
864
|
+
metadata: {
|
865
|
+
usage: {
|
866
|
+
promptTokens: usageMetadata.promptTokenCount || 0,
|
867
|
+
completionTokens: usageMetadata.candidatesTokenCount || 0,
|
868
|
+
totalTokens: usageMetadata.totalTokenCount ||
|
869
|
+
(usageMetadata.promptTokenCount || 0) +
|
870
|
+
(usageMetadata.candidatesTokenCount || 0),
|
871
|
+
},
|
872
|
+
},
|
873
|
+
};
|
830
874
|
}
|
831
875
|
}
|
832
876
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GeminiProvider.js","sourceRoot":"","sources":["../../../../src/providers/gemini/GeminiProvider.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"GeminiProvider.js","sourceRoot":"","sources":["../../../../src/providers/gemini/GeminiProvider.ts"],"names":[],"mappings":"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"}
|
@@ -2,6 +2,8 @@
|
|
2
2
|
* @license
|
3
3
|
* Copyright 2025 Vybestack LLC
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
* @plan PLAN-20250909-TOKTRACK.P06a
|
6
|
+
* @plan PLAN-20250909-TOKTRACK.P08
|
5
7
|
*/
|
6
8
|
import type { ProviderPerformanceMetrics } from '../types.js';
|
7
9
|
/**
|
@@ -10,6 +12,8 @@ import type { ProviderPerformanceMetrics } from '../types.js';
|
|
10
12
|
export declare class ProviderPerformanceTracker {
|
11
13
|
private providerName;
|
12
14
|
private metrics;
|
15
|
+
private tokenTimestamps;
|
16
|
+
private logger;
|
13
17
|
constructor(providerName: string);
|
14
18
|
private initializeMetrics;
|
15
19
|
/**
|
@@ -24,6 +28,10 @@ export declare class ProviderPerformanceTracker {
|
|
24
28
|
* Record an error that occurred during request
|
25
29
|
*/
|
26
30
|
recordError(duration: number, error: string): void;
|
31
|
+
/**
|
32
|
+
* Track throttle wait time from 429 retries
|
33
|
+
*/
|
34
|
+
trackThrottleWaitTime(waitTimeMs: number): void;
|
27
35
|
/**
|
28
36
|
* Get current performance metrics
|
29
37
|
*/
|
@@ -33,9 +41,13 @@ export declare class ProviderPerformanceTracker {
|
|
33
41
|
*/
|
34
42
|
reset(): void;
|
35
43
|
/**
|
36
|
-
*
|
44
|
+
* Calculate tokens per minute based on recent token usage
|
45
|
+
*/
|
46
|
+
private calculateTokensPerMinute;
|
47
|
+
/**
|
48
|
+
* Add throttle wait time to metrics
|
37
49
|
*/
|
38
|
-
|
50
|
+
addThrottleWaitTime(waitTimeMs: number): void;
|
39
51
|
/**
|
40
52
|
* Get performance summary as human-readable string
|
41
53
|
*/
|
@@ -2,16 +2,23 @@
|
|
2
2
|
* @license
|
3
3
|
* Copyright 2025 Vybestack LLC
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
* @plan PLAN-20250909-TOKTRACK.P06a
|
6
|
+
* @plan PLAN-20250909-TOKTRACK.P08
|
5
7
|
*/
|
8
|
+
import { DebugLogger } from '../../debug/index.js';
|
6
9
|
/**
|
7
10
|
* Performance tracking utility for provider operations
|
8
11
|
*/
|
9
12
|
export class ProviderPerformanceTracker {
|
10
13
|
providerName;
|
11
14
|
metrics;
|
15
|
+
tokenTimestamps;
|
16
|
+
logger;
|
12
17
|
constructor(providerName) {
|
13
18
|
this.providerName = providerName;
|
14
19
|
this.metrics = this.initializeMetrics();
|
20
|
+
this.tokenTimestamps = [];
|
21
|
+
this.logger = new DebugLogger('llxprt:performance:tracker');
|
15
22
|
}
|
16
23
|
initializeMetrics() {
|
17
24
|
return {
|
@@ -21,9 +28,19 @@ export class ProviderPerformanceTracker {
|
|
21
28
|
averageLatency: 0,
|
22
29
|
timeToFirstToken: null,
|
23
30
|
tokensPerSecond: 0,
|
31
|
+
tokensPerMinute: 0,
|
32
|
+
throttleWaitTimeMs: 0,
|
24
33
|
chunksReceived: 0,
|
25
34
|
errorRate: 0,
|
26
35
|
errors: [],
|
36
|
+
sessionTokenUsage: {
|
37
|
+
input: 0,
|
38
|
+
output: 0,
|
39
|
+
cache: 0,
|
40
|
+
tool: 0,
|
41
|
+
thought: 0,
|
42
|
+
total: 0,
|
43
|
+
},
|
27
44
|
};
|
28
45
|
}
|
29
46
|
/**
|
@@ -50,6 +67,9 @@ export class ProviderPerformanceTracker {
|
|
50
67
|
this.metrics.tokensPerSecond = tokenCount / (totalTime / 1000);
|
51
68
|
}
|
52
69
|
this.metrics.chunksReceived = chunkCount;
|
70
|
+
// Track token timestamps for calculating TPM
|
71
|
+
this.tokenTimestamps.push({ timestamp: Date.now(), tokenCount });
|
72
|
+
this.calculateTokensPerMinute();
|
53
73
|
}
|
54
74
|
/**
|
55
75
|
* Record an error that occurred during request
|
@@ -64,6 +84,13 @@ export class ProviderPerformanceTracker {
|
|
64
84
|
const totalAttempts = this.metrics.totalRequests + 1;
|
65
85
|
this.metrics.errorRate = this.metrics.errors.length / totalAttempts;
|
66
86
|
}
|
87
|
+
/**
|
88
|
+
* Track throttle wait time from 429 retries
|
89
|
+
*/
|
90
|
+
trackThrottleWaitTime(waitTimeMs) {
|
91
|
+
this.metrics.throttleWaitTimeMs += waitTimeMs;
|
92
|
+
this.logger.debug(() => `Tracked ${waitTimeMs}ms throttle wait. Total: ${this.metrics.throttleWaitTimeMs}ms for ${this.providerName}`);
|
93
|
+
}
|
67
94
|
/**
|
68
95
|
* Get current performance metrics
|
69
96
|
*/
|
@@ -75,13 +102,63 @@ export class ProviderPerformanceTracker {
|
|
75
102
|
*/
|
76
103
|
reset() {
|
77
104
|
this.metrics = this.initializeMetrics();
|
105
|
+
this.tokenTimestamps = [];
|
106
|
+
}
|
107
|
+
/**
|
108
|
+
* Calculate tokens per minute based on recent token usage
|
109
|
+
*/
|
110
|
+
calculateTokensPerMinute() {
|
111
|
+
const now = Date.now();
|
112
|
+
// Filter to keep only entries within last 60 seconds
|
113
|
+
this.tokenTimestamps = this.tokenTimestamps.filter((entry) => now - entry.timestamp <= 60000);
|
114
|
+
// Sum token counts from filtered entries
|
115
|
+
const totalRecentTokens = this.tokenTimestamps.reduce((sum, entry) => sum + entry.tokenCount, 0);
|
116
|
+
// Calculate actual time span in minutes
|
117
|
+
let timeSpanInMinutes = 1; // Default to 1 minute
|
118
|
+
if (this.tokenTimestamps.length > 1) {
|
119
|
+
const timestamps = this.tokenTimestamps
|
120
|
+
.map((entry) => entry.timestamp)
|
121
|
+
.sort((a, b) => a - b);
|
122
|
+
const oldestTimestamp = timestamps[0];
|
123
|
+
const newestTimestamp = timestamps[timestamps.length - 1];
|
124
|
+
timeSpanInMinutes = (newestTimestamp - oldestTimestamp) / 60000;
|
125
|
+
// When timeSpanInMinutes is 0 (because all timestamps are identical),
|
126
|
+
// but we have multiple token counts, calculate rate as if tokens were
|
127
|
+
// processed over a minimal time period to show activity
|
128
|
+
if (timeSpanInMinutes <= 0) {
|
129
|
+
// For identical timestamps with multiple entries, assume minimum processing time
|
130
|
+
// This represents the theoretical maximum rate for the tokens processed
|
131
|
+
timeSpanInMinutes = 0.001; // 60ms minimum observable time unit
|
132
|
+
}
|
133
|
+
}
|
134
|
+
else if (this.tokenTimestamps.length === 0) {
|
135
|
+
// Handle case when there are no timestamp entries
|
136
|
+
this.metrics.tokensPerMinute = 0;
|
137
|
+
return;
|
138
|
+
}
|
139
|
+
else if (this.tokenTimestamps.length === 1) {
|
140
|
+
// For a single token record, use a minimum time span to ensure non-zero TPM
|
141
|
+
timeSpanInMinutes = 0.001; // 60ms minimum observable time unit
|
142
|
+
}
|
143
|
+
// Update metrics with calculated tokens per minute as a rate
|
144
|
+
// Ensure that we never divide by zero or get NaN
|
145
|
+
if (timeSpanInMinutes > 0 &&
|
146
|
+
!isNaN(totalRecentTokens) &&
|
147
|
+
isFinite(totalRecentTokens / timeSpanInMinutes)) {
|
148
|
+
this.metrics.tokensPerMinute = totalRecentTokens / timeSpanInMinutes;
|
149
|
+
}
|
150
|
+
else {
|
151
|
+
this.metrics.tokensPerMinute = 0;
|
152
|
+
}
|
78
153
|
}
|
79
154
|
/**
|
80
|
-
*
|
155
|
+
* Add throttle wait time to metrics
|
81
156
|
*/
|
82
|
-
|
83
|
-
//
|
84
|
-
|
157
|
+
addThrottleWaitTime(waitTimeMs) {
|
158
|
+
// Only add positive wait times
|
159
|
+
if (waitTimeMs > 0) {
|
160
|
+
this.metrics.throttleWaitTimeMs += waitTimeMs;
|
161
|
+
}
|
85
162
|
}
|
86
163
|
/**
|
87
164
|
* Get performance summary as human-readable string
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ProviderPerformanceTracker.js","sourceRoot":"","sources":["../../../../src/providers/logging/ProviderPerformanceTracker.ts"],"names":[],"mappings":"AAAA
|
1
|
+
{"version":3,"file":"ProviderPerformanceTracker.js","sourceRoot":"","sources":["../../../../src/providers/logging/ProviderPerformanceTracker.ts"],"names":[],"mappings":"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"}
|
@@ -135,6 +135,9 @@ export class OpenAIProvider extends BaseProvider {
|
|
135
135
|
const baseOptions = {
|
136
136
|
apiKey: resolvedKey || '',
|
137
137
|
baseURL,
|
138
|
+
// CRITICAL: Disable OpenAI SDK's built-in retries so our retry logic can handle them
|
139
|
+
// This allows us to track throttle wait times properly
|
140
|
+
maxRetries: 0,
|
138
141
|
};
|
139
142
|
// Add socket configuration if available
|
140
143
|
const clientOptions = agents
|
@@ -470,6 +473,12 @@ export class OpenAIProvider extends BaseProvider {
|
|
470
473
|
const ephemeralSettings = this.providerConfig?.getEphemeralSettings?.() || {};
|
471
474
|
const maxRetries = ephemeralSettings['retries'] ?? 6; // Default for OpenAI
|
472
475
|
const initialDelayMs = ephemeralSettings['retrywait'] ?? 4000; // Default for OpenAI
|
476
|
+
// Get stream options from ephemeral settings (default: include usage for token tracking)
|
477
|
+
const streamOptions = ephemeralSettings['stream-options'] || { include_usage: true };
|
478
|
+
// Add stream options to request if streaming is enabled
|
479
|
+
if (streamingEnabled && streamOptions) {
|
480
|
+
Object.assign(requestBody, { stream_options: streamOptions });
|
481
|
+
}
|
473
482
|
// Log the exact tools being sent for debugging
|
474
483
|
if (this.logger.enabled && 'tools' in requestBody) {
|
475
484
|
this.logger.debug(() => `[OpenAIProvider] Exact tools being sent to API:`, {
|
@@ -480,12 +489,19 @@ export class OpenAIProvider extends BaseProvider {
|
|
480
489
|
}
|
481
490
|
// Wrap the API call with retry logic using centralized retry utility
|
482
491
|
let response;
|
492
|
+
// Debug log throttle tracker status
|
493
|
+
this.logger.debug(() => `Retry configuration:`, {
|
494
|
+
hasThrottleTracker: !!this.throttleTracker,
|
495
|
+
throttleTrackerType: typeof this.throttleTracker,
|
496
|
+
maxRetries,
|
497
|
+
initialDelayMs,
|
498
|
+
});
|
483
499
|
try {
|
484
500
|
response = await retryWithBackoff(() => client.chat.completions.create(requestBody, { signal: abortSignal }), {
|
485
501
|
maxAttempts: maxRetries,
|
486
502
|
initialDelayMs,
|
487
|
-
maxDelayMs: 30000, // 30 seconds
|
488
503
|
shouldRetry: this.shouldRetryResponse.bind(this),
|
504
|
+
trackThrottleWaitTime: this.throttleTracker,
|
489
505
|
});
|
490
506
|
}
|
491
507
|
catch (error) {
|
@@ -520,12 +536,18 @@ export class OpenAIProvider extends BaseProvider {
|
|
520
536
|
// Use the same detected format from earlier for consistency
|
521
537
|
// Buffer text for Qwen format providers to avoid stanza formatting
|
522
538
|
const shouldBufferText = detectedFormat === 'qwen';
|
539
|
+
// Track token usage from streaming chunks
|
540
|
+
let streamingUsage = null;
|
523
541
|
try {
|
524
542
|
// Handle streaming response
|
525
543
|
for await (const chunk of response) {
|
526
544
|
if (abortSignal?.aborted) {
|
527
545
|
break;
|
528
546
|
}
|
547
|
+
// Extract usage information if present (typically in final chunk)
|
548
|
+
if (chunk.usage) {
|
549
|
+
streamingUsage = chunk.usage;
|
550
|
+
}
|
529
551
|
const choice = chunk.choices?.[0];
|
530
552
|
if (!choice)
|
531
553
|
continue;
|
@@ -689,12 +711,41 @@ export class OpenAIProvider extends BaseProvider {
|
|
689
711
|
});
|
690
712
|
}
|
691
713
|
if (blocks.length > 0) {
|
692
|
-
|
714
|
+
const toolCallsContent = {
|
693
715
|
speaker: 'ai',
|
694
716
|
blocks,
|
695
717
|
};
|
718
|
+
// Add usage metadata if we captured it from streaming
|
719
|
+
if (streamingUsage) {
|
720
|
+
toolCallsContent.metadata = {
|
721
|
+
usage: {
|
722
|
+
promptTokens: streamingUsage.prompt_tokens || 0,
|
723
|
+
completionTokens: streamingUsage.completion_tokens || 0,
|
724
|
+
totalTokens: streamingUsage.total_tokens ||
|
725
|
+
(streamingUsage.prompt_tokens || 0) +
|
726
|
+
(streamingUsage.completion_tokens || 0),
|
727
|
+
},
|
728
|
+
};
|
729
|
+
}
|
730
|
+
yield toolCallsContent;
|
696
731
|
}
|
697
732
|
}
|
733
|
+
// If we have usage information but no tool calls, emit a metadata-only response
|
734
|
+
if (streamingUsage && accumulatedToolCalls.length === 0) {
|
735
|
+
yield {
|
736
|
+
speaker: 'ai',
|
737
|
+
blocks: [],
|
738
|
+
metadata: {
|
739
|
+
usage: {
|
740
|
+
promptTokens: streamingUsage.prompt_tokens || 0,
|
741
|
+
completionTokens: streamingUsage.completion_tokens || 0,
|
742
|
+
totalTokens: streamingUsage.total_tokens ||
|
743
|
+
(streamingUsage.prompt_tokens || 0) +
|
744
|
+
(streamingUsage.completion_tokens || 0),
|
745
|
+
},
|
746
|
+
},
|
747
|
+
};
|
748
|
+
}
|
698
749
|
}
|
699
750
|
else {
|
700
751
|
// Handle non-streaming response
|
@@ -745,10 +796,39 @@ export class OpenAIProvider extends BaseProvider {
|
|
745
796
|
}
|
746
797
|
// Emit the complete response as a single IContent
|
747
798
|
if (blocks.length > 0) {
|
748
|
-
|
799
|
+
const responseContent = {
|
749
800
|
speaker: 'ai',
|
750
801
|
blocks,
|
751
802
|
};
|
803
|
+
// Add usage metadata from non-streaming response
|
804
|
+
if (completion.usage) {
|
805
|
+
responseContent.metadata = {
|
806
|
+
usage: {
|
807
|
+
promptTokens: completion.usage.prompt_tokens || 0,
|
808
|
+
completionTokens: completion.usage.completion_tokens || 0,
|
809
|
+
totalTokens: completion.usage.total_tokens ||
|
810
|
+
(completion.usage.prompt_tokens || 0) +
|
811
|
+
(completion.usage.completion_tokens || 0),
|
812
|
+
},
|
813
|
+
};
|
814
|
+
}
|
815
|
+
yield responseContent;
|
816
|
+
}
|
817
|
+
else if (completion.usage) {
|
818
|
+
// Emit metadata-only response if no content blocks but have usage info
|
819
|
+
yield {
|
820
|
+
speaker: 'ai',
|
821
|
+
blocks: [],
|
822
|
+
metadata: {
|
823
|
+
usage: {
|
824
|
+
promptTokens: completion.usage.prompt_tokens || 0,
|
825
|
+
completionTokens: completion.usage.completion_tokens || 0,
|
826
|
+
totalTokens: completion.usage.total_tokens ||
|
827
|
+
(completion.usage.prompt_tokens || 0) +
|
828
|
+
(completion.usage.completion_tokens || 0),
|
829
|
+
},
|
830
|
+
},
|
831
|
+
};
|
752
832
|
}
|
753
833
|
}
|
754
834
|
}
|
@@ -842,13 +922,38 @@ export class OpenAIProvider extends BaseProvider {
|
|
842
922
|
error.status === 200) {
|
843
923
|
return false;
|
844
924
|
}
|
925
|
+
// Check OpenAI SDK v5 error structure
|
926
|
+
let status;
|
927
|
+
// OpenAI SDK v5 error structure
|
928
|
+
if (error && typeof error === 'object' && 'status' in error) {
|
929
|
+
status = error.status;
|
930
|
+
}
|
931
|
+
// Also check error.response?.status for axios-style errors
|
932
|
+
if (!status && error && typeof error === 'object' && 'response' in error) {
|
933
|
+
const response = error.response;
|
934
|
+
if (response && typeof response === 'object' && 'status' in response) {
|
935
|
+
status = response.status;
|
936
|
+
}
|
937
|
+
}
|
938
|
+
// Also check error message for 429
|
939
|
+
if (!status && error instanceof Error) {
|
940
|
+
if (error.message.includes('429')) {
|
941
|
+
status = 429;
|
942
|
+
}
|
943
|
+
}
|
944
|
+
// Log what we're seeing
|
945
|
+
this.logger.debug(() => `shouldRetryResponse checking error:`, {
|
946
|
+
hasError: !!error,
|
947
|
+
errorType: error?.constructor?.name,
|
948
|
+
status,
|
949
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
950
|
+
errorKeys: error && typeof error === 'object' ? Object.keys(error) : [],
|
951
|
+
});
|
845
952
|
// Retry on 429 rate limit errors or 5xx server errors
|
846
|
-
const shouldRetry = Boolean(
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
(error.status >= 500 &&
|
851
|
-
error.status < 600)));
|
953
|
+
const shouldRetry = Boolean(status === 429 || (status && status >= 500 && status < 600));
|
954
|
+
if (shouldRetry) {
|
955
|
+
this.logger.debug(() => `Will retry request due to status ${status}`);
|
956
|
+
}
|
852
957
|
return shouldRetry;
|
853
958
|
}
|
854
959
|
}
|