import {describe, expect, test} from "bun:test"; import {responseMetadata} from "./response-metadata.ts"; describe("response metadata", () => { test("calculates output token throughput", () => { const metadata = responseMetadata("rust.cat", "gpt-test", performance.now() - 2000, 40); expect(metadata.providerId).toBe("rust.cat"); expect(metadata.model).toBe("gpt-test"); expect(metadata.durationMs).toBeGreaterThanOrEqual(1900); expect(metadata.tokensPerSecond).toBeGreaterThanOrEqual(19); expect(metadata.tokensPerSecond).toBeLessThanOrEqual(21); }); test("keeps speed unavailable when provider omits token usage", () => { const metadata = responseMetadata("local", "model", performance.now() - 100, undefined); expect(metadata.outputTokens).toBeNull(); expect(metadata.tokensPerSecond).toBeNull(); }); });