UNPKG

@tanstack/ai

Version:

Type-safe TypeScript AI SDK for streaming chat, tool calling, agents, structured outputs, and multimodal generation.

44 lines (43 loc) 1.29 kB
import { firstNumber } from "../utilities/numbers.js"; function usageAttributes(usage) { const attrs = { "gen_ai.usage.input_tokens": usage.promptTokens, "gen_ai.usage.output_tokens": usage.completionTokens }; const optional = [ ["gen_ai.usage.total_tokens", usage.totalTokens], ["gen_ai.usage.cost", usage.cost], [ "gen_ai.usage.cache_read.input_tokens", usage.promptTokensDetails?.cachedTokens ], [ "gen_ai.usage.cache_creation.input_tokens", usage.promptTokensDetails?.cacheWriteTokens ], [ "gen_ai.usage.reasoning.output_tokens", usage.completionTokensDetails?.reasoningTokens ], ["tanstack.ai.usage.duration_seconds", usage.durationSeconds], ["tanstack.ai.usage.units_billed", usage.unitsBilled], ["tanstack.ai.usage.upstream_cost", usage.costDetails?.upstreamCost], [ "tanstack.ai.usage.upstream_input_cost", usage.costDetails?.upstreamInputCost ], [ "tanstack.ai.usage.upstream_output_cost", usage.costDetails?.upstreamOutputCost ] ]; for (const [key, value] of optional) { const num = firstNumber(value); if (num !== void 0) attrs[key] = num; } return attrs; } export { usageAttributes }; //# sourceMappingURL=usage-attributes.js.map