diff --git a/packages/services/conversation-service/src/infrastructure/claude/claude-agent.service.ts b/packages/services/conversation-service/src/infrastructure/claude/claude-agent.service.ts index 6a23155..bc52b63 100644 --- a/packages/services/conversation-service/src/infrastructure/claude/claude-agent.service.ts +++ b/packages/services/conversation-service/src/infrastructure/claude/claude-agent.service.ts @@ -370,7 +370,7 @@ export class ClaudeAgentService implements OnModuleInit { totalInputTokens += finalMsg.usage.input_tokens || 0; totalOutputTokens += finalMsg.usage.output_tokens || 0; // Prompt Caching 的 tokens (如果 API 返回) - const usage = finalMsg.usage as Record; + const usage = finalMsg.usage as unknown as Record; totalCacheCreationTokens += usage.cache_creation_input_tokens || 0; totalCacheReadTokens += usage.cache_read_input_tokens || 0; } diff --git a/packages/services/conversation-service/src/infrastructure/claude/token-usage.service.ts b/packages/services/conversation-service/src/infrastructure/claude/token-usage.service.ts index bb0fe4d..9a487dc 100644 --- a/packages/services/conversation-service/src/infrastructure/claude/token-usage.service.ts +++ b/packages/services/conversation-service/src/infrastructure/claude/token-usage.service.ts @@ -11,7 +11,14 @@ import { TokenUsageEntity } from '../../domain/entities/token-usage.entity'; * - Cache write: $3.75/MTok * - Cache read: $0.30/MTok */ -const PRICING = { +interface PricingTier { + input: number; + output: number; + cacheWrite: number; + cacheRead: number; +} + +const PRICING: Record = { 'claude-sonnet-4-20250514': { input: 3 / 1_000_000, output: 15 / 1_000_000,