Download packages/console/app/test/liteUsage.test.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 5.24 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/console/app/test/liteUsage.test.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/console/app/test/liteUsage.test.ts
-
curl -L -o liteUsage.test.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/console/app/test/liteUsage.test.ts
5.24 kB
| import { describe, expect, test } from "bun:test" | |
| import { buildLiteUsageBreakdown, getModelQuotaLimit } from "../src/lib/lite-usage" | |
| describe("Go usage breakdown", () => { | |
| test("derives the model quota from the window limit and multiplier", () => { | |
| expect(getModelQuotaLimit(30, 1)).toBe(30) | |
| expect(getModelQuotaLimit(30, 2)).toBe(15) | |
| expect(getModelQuotaLimit(30, 4)).toBe(7.5) | |
| }) | |
| test("groups model quota usage into the percentage of the limit", () => { | |
| const result = buildLiteUsageBreakdown({ | |
| usage: 416, | |
| limit: 1_200, | |
| sources: [ | |
| { model: "glm", name: "GLM", cost: 200, quotaCost: 300, multiplier: 1.5, estimated: false }, | |
| { model: "kimi", name: "Kimi", cost: 116, quotaCost: 116, multiplier: 1, estimated: false }, | |
| ], | |
| }) | |
| expect(result.usagePercent).toBe(34.7) | |
| expect(result.rows[0]).toMatchObject({ name: "GLM", multiplier: 1.5, contributionPercent: 25 }) | |
| expect(result.rows.reduce((total, row) => total + row.contributionPercent, 0)).toBeCloseTo(result.usagePercent) | |
| }) | |
| test("distributes credits across the model contributions", () => { | |
| const result = buildLiteUsageBreakdown({ | |
| usage: 366, | |
| limit: 1_200, | |
| sources: [ | |
| { model: "glm", name: "GLM", cost: 200, quotaCost: 300, multiplier: 1.5, estimated: false }, | |
| { model: "kimi", name: "Kimi", cost: 116, quotaCost: 116, multiplier: 1, estimated: true }, | |
| ], | |
| }) | |
| expect(result.rows).toHaveLength(2) | |
| expect(result.rows.every((row) => row.contributionPercent >= 0)).toBe(true) | |
| expect(result.rows.reduce((total, row) => total + row.contributionPercent, 0)).toBeCloseTo(result.usagePercent) | |
| }) | |
| test("does not synthesize a row when request history is unavailable", () => { | |
| const result = buildLiteUsageBreakdown({ usage: 120, limit: 1_200, sources: [] }) | |
| expect(result.rows).toEqual([]) | |
| }) | |
| test("allocates rounded percentages without making positive rows negative", () => { | |
| const sources = Array.from({ length: 20 }, (_, index) => ({ | |
| model: `model-${index}`, | |
| name: `Model ${index}`, | |
| cost: 4, | |
| quotaCost: 4, | |
| multiplier: 1, | |
| estimated: false, | |
| })) | |
| const result = buildLiteUsageBreakdown({ usage: 80, limit: 10_000, sources }) | |
| expect(result.rows.every((row) => row.contributionPercent >= 0)).toBe(true) | |
| expect(result.rows.reduce((total, row) => total + row.contributionPercent, 0)).toBeCloseTo(result.usagePercent) | |
| }) | |
| test("keeps multiplier changes for the same model as separate rows", () => { | |
| const result = buildLiteUsageBreakdown({ | |
| usage: 500, | |
| limit: 1_000, | |
| sources: [ | |
| { model: "glm", name: "GLM", cost: 100, quotaCost: 100, multiplier: 1, estimated: false }, | |
| { model: "glm", name: "GLM", cost: 200, quotaCost: 400, multiplier: 2, estimated: false }, | |
| ], | |
| }) | |
| expect(result.rows.map((row) => row.multiplier)).toEqual([2, 1]) | |
| expect(result.rows.map((row) => row.contributionPercent)).toEqual([40, 10]) | |
| }) | |
| test.each([false, true])("merges same-rate usage (estimated first: %s)", (estimated) => { | |
| const sources = [ | |
| { model: "deepseek-v4-flash", name: "DeepSeek V4 Flash", cost: 200, quotaCost: 400, multiplier: 2, estimated }, | |
| { model: "other", name: "Other", cost: 500, quotaCost: 500, multiplier: 1, estimated: false }, | |
| { | |
| model: "deepseek-v4-flash", | |
| name: "DeepSeek V4 Flash", | |
| cost: 100, | |
| quotaCost: 199, | |
| multiplier: 2, | |
| estimated: !estimated, | |
| }, | |
| ] | |
| const original = structuredClone(sources) | |
| const result = buildLiteUsageBreakdown({ usage: 1_050, limit: 6_000, sources }) | |
| expect(result.rows).toHaveLength(2) | |
| expect(result.rows[0]).toMatchObject({ | |
| model: "deepseek-v4-flash", | |
| cost: 300, | |
| quotaCost: 599, | |
| multiplier: 2, | |
| estimated: true, | |
| }) | |
| expect(getModelQuotaLimit(result.limit, result.rows[0].multiplier)).toBe(3_000) | |
| expect(result.usage).toBe(1_050) | |
| expect(result.usagePercent).toBe(17.5) | |
| expect(result.rows.reduce((total, row) => total + row.contributionPercent, 0)).toBeCloseTo(result.usagePercent) | |
| expect(sources).toEqual(original) | |
| }) | |
| test("keeps distinct model IDs with the same display name separate", () => { | |
| const result = buildLiteUsageBreakdown({ | |
| usage: 300, | |
| limit: 1_000, | |
| sources: [ | |
| { model: "first", name: "Model", cost: 100, quotaCost: 100, multiplier: 1, estimated: false }, | |
| { model: "second", name: "Model", cost: 200, quotaCost: 200, multiplier: 1, estimated: false }, | |
| ], | |
| }) | |
| expect(result.rows.map((row) => row.model)).toEqual(["second", "first"]) | |
| }) | |
| test("does not merge unknown rates with recorded rates", () => { | |
| const result = buildLiteUsageBreakdown({ | |
| usage: 300, | |
| limit: 1_000, | |
| sources: [ | |
| { model: "glm", name: "GLM", cost: 100, quotaCost: 100, estimated: true }, | |
| { model: "glm", name: "GLM", cost: 200, quotaCost: 200, multiplier: 1, estimated: false }, | |
| ], | |
| }) | |
| expect(result.rows.map((row) => row.multiplier)).toEqual([1, undefined]) | |
| expect(getModelQuotaLimit(result.limit, result.rows[1].multiplier)).toBeUndefined() | |
| }) | |
| }) | |