@vybestack/llxprt-code-core 0.3.4-nightly.250913.eab05a51 → 0.3.4-nightly.250915.326d0e02

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 (52) hide show
  1. package/dist/src/config/config.js +65 -12
  2. package/dist/src/config/config.js.map +1 -1
  3. package/dist/src/core/client.d.ts +6 -0
  4. package/dist/src/core/client.js +73 -16
  5. package/dist/src/core/client.js.map +1 -1
  6. package/dist/src/core/geminiChat.js +17 -3
  7. package/dist/src/core/geminiChat.js.map +1 -1
  8. package/dist/src/index.d.ts +1 -0
  9. package/dist/src/index.js +2 -0
  10. package/dist/src/index.js.map +1 -1
  11. package/dist/src/providers/BaseProvider.d.ts +5 -0
  12. package/dist/src/providers/BaseProvider.js +12 -0
  13. package/dist/src/providers/BaseProvider.js.map +1 -1
  14. package/dist/src/providers/IProviderManager.d.ts +32 -0
  15. package/dist/src/providers/LoggingProviderWrapper.d.ts +31 -0
  16. package/dist/src/providers/LoggingProviderWrapper.js +203 -8
  17. package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
  18. package/dist/src/providers/ProviderManager.d.ts +32 -2
  19. package/dist/src/providers/ProviderManager.js +82 -13
  20. package/dist/src/providers/ProviderManager.js.map +1 -1
  21. package/dist/src/providers/gemini/GeminiProvider.js +48 -4
  22. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  23. package/dist/src/providers/logging/ProviderPerformanceTracker.d.ts +14 -2
  24. package/dist/src/providers/logging/ProviderPerformanceTracker.js +81 -4
  25. package/dist/src/providers/logging/ProviderPerformanceTracker.js.map +1 -1
  26. package/dist/src/providers/openai/OpenAIProvider.js +114 -9
  27. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  28. package/dist/src/providers/types.d.ts +14 -0
  29. package/dist/src/providers/types.js +1 -0
  30. package/dist/src/providers/types.js.map +1 -1
  31. package/dist/src/services/history/HistoryService.js +79 -22
  32. package/dist/src/services/history/HistoryService.js.map +1 -1
  33. package/dist/src/telemetry/loggers.d.ts +13 -1
  34. package/dist/src/telemetry/loggers.js +38 -0
  35. package/dist/src/telemetry/loggers.js.map +1 -1
  36. package/dist/src/telemetry/types.d.ts +28 -1
  37. package/dist/src/telemetry/types.js +58 -0
  38. package/dist/src/telemetry/types.js.map +1 -1
  39. package/dist/src/telemetry/uiTelemetry.d.ts +24 -0
  40. package/dist/src/telemetry/uiTelemetry.js +21 -0
  41. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  42. package/dist/src/tools/edit.js +19 -1
  43. package/dist/src/tools/edit.js.map +1 -1
  44. package/dist/src/tools/glob.js +19 -5
  45. package/dist/src/tools/glob.js.map +1 -1
  46. package/dist/src/tools/grep.d.ts +12 -0
  47. package/dist/src/tools/grep.js +154 -22
  48. package/dist/src/tools/grep.js.map +1 -1
  49. package/dist/src/utils/retry.d.ts +2 -0
  50. package/dist/src/utils/retry.js +25 -10
  51. package/dist/src/utils/retry.js.map +1 -1
  52. package/package.json +2 -1
@@ -2,10 +2,12 @@
2
2
  * @license
3
3
  * Copyright 2025 Vybestack LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
+ * @plan PLAN-20250909-TOKTRACK.P08
5
6
  */
6
- import { logConversationRequest, logConversationResponse, } from '../telemetry/loggers.js';
7
- import { ConversationRequestEvent, ConversationResponseEvent, } from '../telemetry/types.js';
7
+ import { logConversationRequest, logConversationResponse, logTokenUsage, } from '../telemetry/loggers.js';
8
+ import { ConversationRequestEvent, ConversationResponseEvent, TokenUsageEvent, } from '../telemetry/types.js';
8
9
  import { getConversationFileWriter } from '../storage/ConversationFileWriter.js';
10
+ import { ProviderPerformanceTracker } from './logging/ProviderPerformanceTracker.js';
9
11
  // Simple redactor that works with RedactionConfig
10
12
  class ConfigBasedRedactor {
11
13
  redactionConfig;
@@ -102,6 +104,7 @@ class ConfigBasedRedactor {
102
104
  }
103
105
  }
104
106
  /**
107
+ * @plan PLAN-20250909-TOKTRACK.P05
105
108
  * A minimal logging wrapper that acts as a transparent passthrough to the wrapped provider.
106
109
  * Only intercepts generateChatCompletion to log conversations while forwarding all other
107
110
  * methods directly to the wrapped provider without modification.
@@ -112,12 +115,22 @@ export class LoggingProviderWrapper {
112
115
  conversationId;
113
116
  turnNumber = 0;
114
117
  redactor;
118
+ performanceTracker;
115
119
  constructor(wrapped, config, redactor) {
116
120
  this.wrapped = wrapped;
117
121
  this.config = config;
118
122
  this.conversationId = this.generateConversationId();
119
123
  this.redactor =
120
124
  redactor || new ConfigBasedRedactor(config.getRedactionConfig());
125
+ this.performanceTracker = new ProviderPerformanceTracker(wrapped.name);
126
+ // Set throttle tracker callback on the wrapped provider if it supports it
127
+ if ('setThrottleTracker' in wrapped &&
128
+ typeof wrapped.setThrottleTracker === 'function') {
129
+ const provider = wrapped;
130
+ provider.setThrottleTracker((waitTimeMs) => {
131
+ this.performanceTracker.trackThrottleWaitTime(waitTimeMs);
132
+ });
133
+ }
121
134
  }
122
135
  /**
123
136
  * Access to the wrapped provider for unwrapping if needed
@@ -149,12 +162,13 @@ export class LoggingProviderWrapper {
149
162
  }
150
163
  // Get stream from wrapped provider
151
164
  const stream = this.wrapped.generateChatCompletion(content, tools);
152
- // If logging not enabled, just pass through
165
+ // Always process stream to extract token metrics
166
+ // If logging not enabled, process for metrics only
153
167
  if (!this.config.getConversationLoggingEnabled()) {
154
- yield* stream;
168
+ yield* this.processStreamForMetrics(stream);
155
169
  return;
156
170
  }
157
- // Log the response stream
171
+ // Log the response stream (which also processes metrics)
158
172
  yield* this.logResponseStream(stream, promptId);
159
173
  }
160
174
  async logRequest(content, tools, promptId) {
@@ -180,10 +194,47 @@ export class LoggingProviderWrapper {
180
194
  console.warn('Failed to log conversation request:', error);
181
195
  }
182
196
  }
197
+ /**
198
+ * Process stream to extract token metrics without logging
199
+ * @plan PLAN-20250909-TOKTRACK
200
+ */
201
+ async *processStreamForMetrics(stream) {
202
+ const startTime = performance.now();
203
+ let latestTokenUsage;
204
+ try {
205
+ for await (const chunk of stream) {
206
+ // Extract token usage from IContent metadata
207
+ if (chunk && typeof chunk === 'object') {
208
+ const content = chunk;
209
+ if (content.metadata?.usage) {
210
+ latestTokenUsage = content.metadata.usage;
211
+ }
212
+ }
213
+ yield chunk;
214
+ }
215
+ // Process metrics if we have token usage
216
+ if (latestTokenUsage) {
217
+ const duration = performance.now() - startTime;
218
+ const tokenCounts = this.extractTokenCountsFromTokenUsage(latestTokenUsage);
219
+ // Accumulate token usage for session tracking
220
+ this.accumulateTokenUsage(tokenCounts);
221
+ // Record performance metrics (TPM tracks output tokens only)
222
+ const outputTokens = tokenCounts.output_token_count;
223
+ this.performanceTracker.recordCompletion(duration, null, outputTokens, 0);
224
+ }
225
+ }
226
+ catch (error) {
227
+ // Record error in performance tracker
228
+ const duration = performance.now() - startTime;
229
+ this.performanceTracker.recordError(duration, String(error));
230
+ throw error;
231
+ }
232
+ }
183
233
  async *logResponseStream(stream, promptId) {
184
234
  const startTime = performance.now();
185
235
  let responseContent = '';
186
236
  let responseComplete = false;
237
+ let latestTokenUsage;
187
238
  try {
188
239
  for await (const chunk of stream) {
189
240
  // Simple content extraction - just try to get text from common chunk formats
@@ -191,18 +242,25 @@ export class LoggingProviderWrapper {
191
242
  if (content) {
192
243
  responseContent += content;
193
244
  }
245
+ // Extract token usage from IContent metadata
246
+ if (chunk && typeof chunk === 'object') {
247
+ const content = chunk;
248
+ if (content.metadata?.usage) {
249
+ latestTokenUsage = content.metadata.usage;
250
+ }
251
+ }
194
252
  yield chunk;
195
253
  }
196
254
  responseComplete = true;
197
255
  }
198
256
  catch (error) {
199
257
  const errorTime = performance.now();
200
- await this.logResponse('', promptId, errorTime - startTime, false, error);
258
+ await this.logResponse('', promptId, errorTime - startTime, false, error, latestTokenUsage);
201
259
  throw error;
202
260
  }
203
261
  if (responseComplete) {
204
262
  const totalTime = performance.now() - startTime;
205
- await this.logResponse(responseContent, promptId, totalTime, true);
263
+ await this.logResponse(responseContent, promptId, totalTime, true, undefined, latestTokenUsage);
206
264
  }
207
265
  }
208
266
  // Simple content extraction without complex provider-specific logic
@@ -223,9 +281,26 @@ export class LoggingProviderWrapper {
223
281
  }
224
282
  return '';
225
283
  }
226
- async logResponse(content, promptId, duration, success, error) {
284
+ async logResponse(content, promptId, duration, success, error, tokenUsage) {
227
285
  try {
228
286
  const redactedContent = this.redactor.redactResponseContent(content, this.wrapped.name);
287
+ // Extract token counts from the response or use provided tokenUsage
288
+ const tokenCounts = tokenUsage
289
+ ? this.extractTokenCountsFromTokenUsage(tokenUsage)
290
+ : this.extractTokenCountsFromResponse(content);
291
+ // Accumulate token usage for session tracking
292
+ this.accumulateTokenUsage(tokenCounts);
293
+ // Record performance metrics (TPM tracks output tokens only)
294
+ const outputTokens = tokenCounts.output_token_count;
295
+ this.performanceTracker.recordCompletion(duration, null, outputTokens, 0);
296
+ // Calculate total for telemetry event
297
+ const totalTokens = tokenCounts.input_token_count +
298
+ tokenCounts.output_token_count +
299
+ tokenCounts.cached_content_token_count +
300
+ tokenCounts.thoughts_token_count +
301
+ tokenCounts.tool_token_count;
302
+ // Log token usage to telemetry
303
+ logTokenUsage(this.config, new TokenUsageEvent(this.wrapped.name, this.conversationId, tokenCounts.input_token_count, tokenCounts.output_token_count, tokenCounts.cached_content_token_count, tokenCounts.tool_token_count, tokenCounts.thoughts_token_count, totalTokens));
229
304
  const event = new ConversationResponseEvent(this.wrapped.name, this.conversationId, this.turnNumber, promptId, redactedContent, duration, success, error ? String(error) : undefined);
230
305
  logConversationResponse(this.config, event);
231
306
  // Also write to disk
@@ -249,6 +324,119 @@ export class LoggingProviderWrapper {
249
324
  generatePromptId() {
250
325
  return `prompt_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
251
326
  }
327
+ /**
328
+ * Extract token counts from tokenUsage metadata
329
+ */
330
+ extractTokenCountsFromTokenUsage(tokenUsage) {
331
+ return {
332
+ input_token_count: Number(tokenUsage.promptTokens) || 0,
333
+ output_token_count: Number(tokenUsage.completionTokens) || 0,
334
+ cached_content_token_count: 0, // Not available in basic UsageStats
335
+ thoughts_token_count: 0, // Not available in basic UsageStats
336
+ tool_token_count: 0, // Not available in basic UsageStats
337
+ };
338
+ }
339
+ /**
340
+ * Extract token counts from response object or headers
341
+ */
342
+ extractTokenCountsFromResponse(response) {
343
+ // Initialize token counts as zeros
344
+ let input_token_count = 0;
345
+ let output_token_count = 0;
346
+ let cached_content_token_count = 0;
347
+ let thoughts_token_count = 0;
348
+ let tool_token_count = 0;
349
+ try {
350
+ // Check if response is a string and try to parse it as JSON
351
+ if (typeof response === 'string') {
352
+ const parsed = JSON.parse(response);
353
+ // Extract token usage from response object
354
+ if (parsed.usage) {
355
+ input_token_count = Number(parsed.usage.prompt_tokens) || 0;
356
+ output_token_count = Number(parsed.usage.completion_tokens) || 0;
357
+ cached_content_token_count =
358
+ Number(parsed.usage.cached_content_tokens) || 0;
359
+ thoughts_token_count = Number(parsed.usage.thoughts_tokens) || 0;
360
+ tool_token_count = Number(parsed.usage.tool_tokens) || 0;
361
+ }
362
+ }
363
+ else if (response && typeof response === 'object') {
364
+ // Extract token usage from response object
365
+ const obj = response;
366
+ if (obj.usage && typeof obj.usage === 'object') {
367
+ const usage = obj.usage;
368
+ input_token_count = Number(usage.prompt_tokens) || 0;
369
+ output_token_count = Number(usage.completion_tokens) || 0;
370
+ cached_content_token_count = Number(usage.cached_content_tokens) || 0;
371
+ thoughts_token_count = Number(usage.thoughts_tokens) || 0;
372
+ tool_token_count = Number(usage.tool_tokens) || 0;
373
+ }
374
+ // Check for anthropic-style headers
375
+ if (obj.headers && typeof obj.headers === 'object') {
376
+ const headers = obj.headers;
377
+ if (headers['anthropic-input-tokens']) {
378
+ const parsedValue = parseInt(headers['anthropic-input-tokens'], 10);
379
+ input_token_count =
380
+ !isNaN(parsedValue) && parsedValue >= 0
381
+ ? parsedValue
382
+ : input_token_count;
383
+ }
384
+ if (headers['anthropic-output-tokens']) {
385
+ const parsedValue = parseInt(headers['anthropic-output-tokens'], 10);
386
+ output_token_count =
387
+ !isNaN(parsedValue) && parsedValue >= 0
388
+ ? parsedValue
389
+ : output_token_count;
390
+ }
391
+ }
392
+ }
393
+ // Ensure we return valid numbers, not NaN or negative values
394
+ return {
395
+ input_token_count: Math.max(0, input_token_count),
396
+ output_token_count: Math.max(0, output_token_count),
397
+ cached_content_token_count: Math.max(0, cached_content_token_count),
398
+ thoughts_token_count: Math.max(0, thoughts_token_count),
399
+ tool_token_count: Math.max(0, tool_token_count),
400
+ };
401
+ }
402
+ catch (_error) {
403
+ // Return zero counts if extraction fails
404
+ return {
405
+ input_token_count: 0,
406
+ output_token_count: 0,
407
+ cached_content_token_count: 0,
408
+ thoughts_token_count: 0,
409
+ tool_token_count: 0,
410
+ };
411
+ }
412
+ }
413
+ /**
414
+ * Accumulate token usage for session tracking
415
+ */
416
+ accumulateTokenUsage(tokenCounts) {
417
+ // Map token counts to expected format
418
+ const usage = {
419
+ input: tokenCounts.input_token_count || 0,
420
+ output: tokenCounts.output_token_count || 0,
421
+ cache: tokenCounts.cached_content_token_count || 0,
422
+ thought: tokenCounts.thoughts_token_count || 0,
423
+ tool: tokenCounts.tool_token_count || 0,
424
+ };
425
+ // Call accumulateSessionTokens if providerManager is available
426
+ const providerManager = this.config.getProviderManager();
427
+ if (providerManager) {
428
+ try {
429
+ console.debug(`[TokenTracking] Accumulating ${usage.input + usage.output + usage.cache + usage.tool + usage.thought} tokens for provider ${this.wrapped.name}`);
430
+ providerManager.accumulateSessionTokens(this.wrapped.name, usage);
431
+ }
432
+ catch (error) {
433
+ console.warn('Failed to accumulate session tokens:', error);
434
+ }
435
+ }
436
+ else {
437
+ console.warn(`[TokenTracking] No provider manager found in config - tokens not accumulated for ${this.wrapped.name}`);
438
+ }
439
+ }
252
440
  async logToolCall(toolName, params, result, startTime, success, error) {
253
441
  try {
254
442
  const endTime = Date.now();
@@ -340,5 +528,12 @@ export class LoggingProviderWrapper {
340
528
  getModelParams() {
341
529
  return this.wrapped.getModelParams?.();
342
530
  }
531
+ /**
532
+ * Get the latest performance metrics from the tracker
533
+ * @plan PLAN-20250909-TOKTRACK
534
+ */
535
+ getPerformanceMetrics() {
536
+ return this.performanceTracker.getLatestMetrics();
537
+ }
343
538
  }
344
539
  //# sourceMappingURL=LoggingProviderWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoggingProviderWrapper.js","sourceRoot":"","sources":["../../../src/providers/LoggingProviderWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoggingProviderWrapper.js","sourceRoot":"","sources":["../../../src/providers/LoggingProviderWrapper.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * @license
3
3
  * Copyright 2025 Vybestack LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
+ * @plan PLAN-20250909-TOKTRACK.P08
5
6
  */
6
7
  import { IProvider } from './IProvider.js';
7
8
  import { IModel } from './IModel.js';
@@ -13,7 +14,7 @@ export declare class ProviderManager implements IProviderManager {
13
14
  private serverToolsProvider;
14
15
  private config?;
15
16
  private providerCapabilities;
16
- private currentConversationId?;
17
+ private sessionTokenUsage;
17
18
  constructor();
18
19
  setConfig(config: Config): void;
19
20
  private updateProviderWrapping;
@@ -39,7 +40,36 @@ export declare class ProviderManager implements IProviderManager {
39
40
  private getSupportedToolFormats;
40
41
  private createProviderContext;
41
42
  private calculateCapabilityCompatibility;
42
- getCurrentConversationId(): string;
43
+ /**
44
+ * Accumulate token usage for the current session
45
+ */
46
+ accumulateSessionTokens(providerName: string, usage: {
47
+ input: number;
48
+ output: number;
49
+ cache: number;
50
+ tool: number;
51
+ thought: number;
52
+ }): void;
53
+ /**
54
+ * Reset session token usage counters
55
+ */
56
+ resetSessionTokenUsage(): void;
57
+ /**
58
+ * Get current session token usage
59
+ */
60
+ getSessionTokenUsage(): {
61
+ input: number;
62
+ output: number;
63
+ cache: number;
64
+ tool: number;
65
+ thought: number;
66
+ total: number;
67
+ };
68
+ /**
69
+ * Get performance metrics for the active provider
70
+ * @plan PLAN-20250909-TOKTRACK
71
+ */
72
+ getProviderMetrics(providerName?: string): any;
43
73
  resetConversationContext(): void;
44
74
  getProviderCapabilities(providerName?: string): ProviderCapabilities | undefined;
45
75
  compareProviders(provider1: string, provider2: string): ProviderComparison;
@@ -2,6 +2,7 @@
2
2
  * @license
3
3
  * Copyright 2025 Vybestack LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
+ * @plan PLAN-20250909-TOKTRACK.P08
5
6
  */
6
7
  import { LoggingProviderWrapper } from './LoggingProviderWrapper.js';
7
8
  import { logProviderSwitch, logProviderCapability, } from '../telemetry/loggers.js';
@@ -12,7 +13,14 @@ export class ProviderManager {
12
13
  serverToolsProvider;
13
14
  config;
14
15
  providerCapabilities = new Map();
15
- currentConversationId;
16
+ sessionTokenUsage = {
17
+ input: 0,
18
+ output: 0,
19
+ cache: 0,
20
+ tool: 0,
21
+ thought: 0,
22
+ total: 0,
23
+ };
16
24
  constructor() {
17
25
  this.providers = new Map();
18
26
  this.serverToolsProvider = null;
@@ -27,8 +35,7 @@ export class ProviderManager {
27
35
  }
28
36
  }
29
37
  updateProviderWrapping() {
30
- // Re-wrap all providers based on current logging state
31
- const loggingEnabled = this.config?.getConversationLoggingEnabled() ?? false;
38
+ // Re-wrap all providers (ALWAYS wrap for token tracking)
32
39
  const providers = new Map(this.providers);
33
40
  for (const [name, provider] of providers) {
34
41
  // Unwrap if it's already wrapped
@@ -36,9 +43,9 @@ export class ProviderManager {
36
43
  if ('wrappedProvider' in provider && provider.wrappedProvider) {
37
44
  baseProvider = provider.wrappedProvider;
38
45
  }
39
- // Re-wrap based on current logging state
46
+ // ALWAYS wrap with LoggingProviderWrapper for token tracking
40
47
  let finalProvider = baseProvider;
41
- if (loggingEnabled) {
48
+ if (this.config) {
42
49
  finalProvider = new LoggingProviderWrapper(baseProvider, this.config);
43
50
  }
44
51
  this.providers.set(name, finalProvider);
@@ -49,9 +56,10 @@ export class ProviderManager {
49
56
  }
50
57
  }
51
58
  registerProvider(provider) {
52
- // Wrap provider with logging if conversation logging is enabled
59
+ // ALWAYS wrap provider to enable token tracking
60
+ // (LoggingProviderWrapper handles both token tracking AND conversation logging)
53
61
  let finalProvider = provider;
54
- if (this.config?.getConversationLoggingEnabled()) {
62
+ if (this.config) {
55
63
  finalProvider = new LoggingProviderWrapper(provider, this.config);
56
64
  }
57
65
  this.providers.set(provider.name, finalProvider);
@@ -296,15 +304,76 @@ export class ProviderManager {
296
304
  score++;
297
305
  return score / totalChecks;
298
306
  }
299
- // Public API methods for provider capabilities
300
- getCurrentConversationId() {
301
- if (!this.currentConversationId) {
302
- this.currentConversationId = this.generateConversationId();
307
+ /**
308
+ * Accumulate token usage for the current session
309
+ */
310
+ accumulateSessionTokens(providerName, usage) {
311
+ // Only accumulate non-negative values
312
+ this.sessionTokenUsage.input += Math.max(0, usage.input || 0);
313
+ this.sessionTokenUsage.output += Math.max(0, usage.output || 0);
314
+ this.sessionTokenUsage.cache += Math.max(0, usage.cache || 0);
315
+ this.sessionTokenUsage.tool += Math.max(0, usage.tool || 0);
316
+ this.sessionTokenUsage.thought += Math.max(0, usage.thought || 0);
317
+ this.sessionTokenUsage.total +=
318
+ Math.max(0, usage.input || 0) +
319
+ Math.max(0, usage.output || 0) +
320
+ Math.max(0, usage.cache || 0) +
321
+ Math.max(0, usage.tool || 0) +
322
+ Math.max(0, usage.thought || 0);
323
+ }
324
+ /**
325
+ * Reset session token usage counters
326
+ */
327
+ resetSessionTokenUsage() {
328
+ this.sessionTokenUsage = {
329
+ input: 0,
330
+ output: 0,
331
+ cache: 0,
332
+ tool: 0,
333
+ thought: 0,
334
+ total: 0,
335
+ };
336
+ }
337
+ /**
338
+ * Get current session token usage
339
+ */
340
+ getSessionTokenUsage() {
341
+ // Validate and replace any NaN or undefined values with 0
342
+ return {
343
+ input: this.sessionTokenUsage.input || 0,
344
+ output: this.sessionTokenUsage.output || 0,
345
+ cache: this.sessionTokenUsage.cache || 0,
346
+ tool: this.sessionTokenUsage.tool || 0,
347
+ thought: this.sessionTokenUsage.thought || 0,
348
+ total: this.sessionTokenUsage.total || 0,
349
+ };
350
+ }
351
+ /**
352
+ * Get performance metrics for the active provider
353
+ * @plan PLAN-20250909-TOKTRACK
354
+ */
355
+ getProviderMetrics(providerName) {
356
+ const name = providerName || this.getActiveProvider()?.name;
357
+ if (!name)
358
+ return null;
359
+ const provider = this.providers.get(name);
360
+ if (!provider)
361
+ return null;
362
+ // Check if provider has getPerformanceMetrics method (LoggingProviderWrapper)
363
+ if ('getPerformanceMetrics' in provider &&
364
+ typeof provider.getPerformanceMetrics === 'function') {
365
+ return provider.getPerformanceMetrics();
303
366
  }
304
- return this.currentConversationId;
367
+ // Return default metrics if provider doesn't support performance tracking
368
+ return {
369
+ tokensPerMinute: 0,
370
+ throttleWaitTimeMs: 0,
371
+ totalTokens: 0,
372
+ totalRequests: 0,
373
+ };
305
374
  }
306
375
  resetConversationContext() {
307
- this.currentConversationId = this.generateConversationId();
376
+ // Conversation ID is now managed by the logging system
308
377
  }
309
378
  getProviderCapabilities(providerName) {
310
379
  const settingsService = getSettingsService();
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderManager.js","sourceRoot":"","sources":["../../../src/providers/ProviderManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProviderManager.js","sourceRoot":"","sources":["../../../src/providers/ProviderManager.ts"],"names":[],"mappings":"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"}