MCPcopy Create free account
hub / github.com/anomalyco/opencode / usage

Function usage

packages/opencode/src/session/llm/ai-sdk.ts:44–64  ·  view source on GitHub ↗
(value: unknown)

Source from the content-addressed store, hash-verified

42}
43
44function usage(value: unknown) {
45 if (!value || typeof value !== "object") return undefined
46 const item = value as {
47 inputTokens?: number
48 outputTokens?: number
49 totalTokens?: number
50 reasoningTokens?: number
51 cachedInputTokens?: number
52 inputTokenDetails?: { cacheReadTokens?: number; cacheWriteTokens?: number }
53 outputTokenDetails?: { reasoningTokens?: number }
54 }
55 const entries = Object.entries({
56 inputTokens: item.inputTokens,
57 outputTokens: item.outputTokens,
58 totalTokens: item.totalTokens,
59 reasoningTokens: item.outputTokenDetails?.reasoningTokens ?? item.reasoningTokens,
60 cacheReadInputTokens: item.inputTokenDetails?.cacheReadTokens ?? item.cachedInputTokens,
61 cacheWriteInputTokens: item.inputTokenDetails?.cacheWriteTokens,
62 }).filter((entry) => entry[1] !== undefined)
63 return entries.length === 0 ? undefined : Object.fromEntries(entries)
64}
65
66function currentTextID(state: ReturnType<typeof adapterState>, id: string | undefined) {
67 state.currentTextID = id ?? state.currentTextID ?? `text-${state.text++}`

Callers 2

toLLMEventsFunction · 0.70
RunFooterViewFunction · 0.50

Calls

no outgoing calls

Tested by

no test coverage detected