MCPcopy
hub / github.com/coder/mux / updateUsageStateFromModelUsage

Method updateUsageStateFromModelUsage

src/node/services/agentSession.ts:3028–3059  ·  view source on GitHub ↗
(params: {
    model: string;
    usage: LanguageModelV2Usage | undefined;
    providerMetadata?: Record<string, unknown>;
    live: boolean;
  })

Source from the content-addressed store, hash-verified

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) {

Callers 2

attachAiListenersMethod · 0.95

Calls 1

createDisplayUsageFunction · 0.90

Tested by

no test coverage detected