(params: {
model: string;
usage: LanguageModelV2Usage | undefined;
providerMetadata?: Record<string, unknown>;
live: boolean;
})
| 3026 | } |
| 3027 | |
| 3028 | private updateUsageStateFromModelUsage(params: { |
| 3029 | model: string; |
| 3030 | usage: LanguageModelV2Usage | undefined; |
| 3031 | providerMetadata?: Record<string, unknown>; |
| 3032 | live: boolean; |
| 3033 | }): void { |
| 3034 | if (!params.usage) { |
| 3035 | return; |
| 3036 | } |
| 3037 | |
| 3038 | const usageForDisplay = createDisplayUsage(params.usage, params.model, params.providerMetadata); |
| 3039 | if (!usageForDisplay) { |
| 3040 | return; |
| 3041 | } |
| 3042 | |
| 3043 | const totalTokens = params.usage.totalTokens ?? this.lastUsageState?.totalTokens; |
| 3044 | if (params.live) { |
| 3045 | this.lastUsageState = { |
| 3046 | ...this.lastUsageState, |
| 3047 | liveUsage: usageForDisplay, |
| 3048 | totalTokens, |
| 3049 | }; |
| 3050 | return; |
| 3051 | } |
| 3052 | |
| 3053 | this.lastUsageState = { |
| 3054 | ...this.lastUsageState, |
| 3055 | lastContextUsage: usageForDisplay, |
| 3056 | liveUsage: undefined, |
| 3057 | totalTokens, |
| 3058 | }; |
| 3059 | } |
| 3060 | |
| 3061 | private clearLiveUsageState(): void { |
| 3062 | if (!this.lastUsageState?.liveUsage) { |
no test coverage detected