fix: Token data type error (#556)

This commit is contained in:
Brace Sproul 2025-07-27 17:19:41 -07:00 • committed by GitHub
parent fb4523539d
commit d89b37c568
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -11,7 +11,7 @@ import { ThreadMetadata } from "./types";
import { useStream } from "@langchain/langgraph-sdk/react";
import { ManagerGraphState } from "@open-swe/shared/open-swe/manager/types";
import { PlannerGraphState } from "@open-swe/shared/open-swe/planner/types";
import { GraphState, CacheMetrics } from "@open-swe/shared/open-swe/types";
import { GraphState, CacheMetrics, ModelTokenData } from "@open-swe/shared/open-swe/types";
import { ActionsRenderer } from "./actions-renderer";
import { ThemeToggle } from "../theme-toggle";
import { HumanMessage } from "@langchain/core/messages";
@ -47,6 +47,25 @@ interface ThreadViewProps {
onBackToHome: () => void;
}
const joinTokenData = (plannerTokenData?: CacheMetrics | ModelTokenData[], programmerTokenData?: CacheMetrics | ModelTokenData[]): ModelTokenData[] | CacheMetrics[] => {
if (!plannerTokenData && !programmerTokenData) {
return [];
}
if (plannerTokenData && programmerTokenData) {
return [...(Array.isArray(plannerTokenData) ? plannerTokenData : [plannerTokenData]), ...(Array.isArray(programmerTokenData) ? programmerTokenData : [programmerTokenData])];
}
if (plannerTokenData && !programmerTokenData) {
return Array.isArray(plannerTokenData) ? plannerTokenData : [plannerTokenData];
}
if (!plannerTokenData && programmerTokenData) {
return Array.isArray(programmerTokenData) ? programmerTokenData : [programmerTokenData];
}
return [];
}
export function ThreadView({
stream,
displayThread,
@ -341,10 +360,7 @@ export function ThreadView({
/>
)}
<TokenUsage
tokenData={[
...(plannerStream.values.tokenData ?? []),
...(programmerStream.values.tokenData ?? []),
].filter(Boolean)}
tokenData={joinTokenData(plannerStream.values.tokenData, programmerStream.values.tokenData)}
/>
</div>
</div>