fix(models): refresh expired display pricing
This commit is contained in:
+3
-37
@@ -20,7 +20,7 @@ export interface TemporaryPricing {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const PRICING_SOURCE_URL = "https://commandcode.ai/docs/resources/pricing-limits"
|
export const PRICING_SOURCE_URL = "https://commandcode.ai/docs/resources/pricing-limits"
|
||||||
export const PRICING_LAST_VERIFIED = "2026-08-04"
|
export const PRICING_LAST_VERIFIED = "2026-08-18"
|
||||||
|
|
||||||
export const ZERO_MODEL_COST: CommandCodeModelCost = {
|
export const ZERO_MODEL_COST: CommandCodeModelCost = {
|
||||||
input: 0,
|
input: 0,
|
||||||
@@ -158,37 +158,8 @@ export const MODEL_COSTS: Readonly<Record<string, CommandCodeModelCost>> = {
|
|||||||
|
|
||||||
// OpenAI
|
// OpenAI
|
||||||
"gpt-5.6-sol": { input: 5, output: 30, cacheRead: 0.5, cacheWrite: 6.25 },
|
"gpt-5.6-sol": { input: 5, output: 30, cacheRead: 0.5, cacheWrite: 6.25 },
|
||||||
// Discounted rates through 2026-08-14.
|
"gpt-5.6-terra": { input: 2, output: 12, cacheRead: 0.2, cacheWrite: 2.5 },
|
||||||
"gpt-5.6-terra": {
|
"gpt-5.6-luna": { input: 0.2, output: 1.2, cacheRead: 0.02, cacheWrite: 0.25 },
|
||||||
input: 1,
|
|
||||||
output: 6,
|
|
||||||
cacheRead: 0.1,
|
|
||||||
cacheWrite: 1.25,
|
|
||||||
tiers: [
|
|
||||||
{
|
|
||||||
inputTokensAbove: 272_000,
|
|
||||||
input: 2,
|
|
||||||
output: 9,
|
|
||||||
cacheRead: 0.2,
|
|
||||||
cacheWrite: 2.5,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
"gpt-5.6-luna": {
|
|
||||||
input: 0.1,
|
|
||||||
output: 0.6,
|
|
||||||
cacheRead: 0.01,
|
|
||||||
cacheWrite: 0.125,
|
|
||||||
tiers: [
|
|
||||||
{
|
|
||||||
inputTokensAbove: 272_000,
|
|
||||||
input: 0.2,
|
|
||||||
output: 0.9,
|
|
||||||
cacheRead: 0.02,
|
|
||||||
cacheWrite: 0.25,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
"gpt-5.5": { input: 5, output: 30, cacheRead: 0.5, cacheWrite: 0 },
|
"gpt-5.5": { input: 5, output: 30, cacheRead: 0.5, cacheWrite: 0 },
|
||||||
"gpt-5.4": { input: 2.5, output: 15, cacheRead: 0.25, cacheWrite: 0 },
|
"gpt-5.4": { input: 2.5, output: 15, cacheRead: 0.25, cacheWrite: 0 },
|
||||||
"gpt-5.3-codex": { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
|
"gpt-5.3-codex": { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
|
||||||
@@ -213,11 +184,6 @@ export const MODEL_COSTS: Readonly<Record<string, CommandCodeModelCost>> = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const TEMPORARY_PRICING: readonly TemporaryPricing[] = [
|
export const TEMPORARY_PRICING: readonly TemporaryPricing[] = [
|
||||||
{
|
|
||||||
models: ["gpt-5.6-terra", "gpt-5.6-luna"],
|
|
||||||
expiresOn: "2026-08-14",
|
|
||||||
description: "50% promotional rates",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
models: ["claude-sonnet-5"],
|
models: ["claude-sonnet-5"],
|
||||||
expiresOn: "2026-08-31",
|
expiresOn: "2026-08-31",
|
||||||
|
|||||||
+4
-6
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"verifiedAt": "2026-08-04",
|
"verifiedAt": "2026-08-18",
|
||||||
"source": "https://commandcode.ai/docs/resources/pricing-limits",
|
"source": "https://commandcode.ai/docs/resources/pricing-limits",
|
||||||
"tierPolicy": "Use request-wide input tiers; the highest threshold exceeded by input plus cache tokens applies to the full request.",
|
"tierPolicy": "Use request-wide input tiers; the highest threshold exceeded by input plus cache tokens applies to the full request.",
|
||||||
"tiers": {
|
"tiers": {
|
||||||
@@ -7,9 +7,7 @@
|
|||||||
"Qwen/Qwen3.7-Flash": [
|
"Qwen/Qwen3.7-Flash": [
|
||||||
[32000, 0.1, 0.4, 0.02, 0.125],
|
[32000, 0.1, 0.4, 0.02, 0.125],
|
||||||
[256000, 0.2, 0.8, 0.04, 0.25]
|
[256000, 0.2, 0.8, 0.04, 0.25]
|
||||||
],
|
]
|
||||||
"gpt-5.6-terra": [[272000, 2, 9, 0.2, 2.5]],
|
|
||||||
"gpt-5.6-luna": [[272000, 0.2, 0.9, 0.02, 0.25]]
|
|
||||||
},
|
},
|
||||||
"costs": {
|
"costs": {
|
||||||
"poolside/laguna-s-2.1-free": [0, 0, 0, 0],
|
"poolside/laguna-s-2.1-free": [0, 0, 0, 0],
|
||||||
@@ -52,8 +50,8 @@
|
|||||||
"claude-opus-4-7": [5, 25, 0.5, 6.25],
|
"claude-opus-4-7": [5, 25, 0.5, 6.25],
|
||||||
"claude-haiku-4-5-20251001": [1, 5, 0.1, 1.25],
|
"claude-haiku-4-5-20251001": [1, 5, 0.1, 1.25],
|
||||||
"gpt-5.6-sol": [5, 30, 0.5, 6.25],
|
"gpt-5.6-sol": [5, 30, 0.5, 6.25],
|
||||||
"gpt-5.6-terra": [1, 6, 0.1, 1.25],
|
"gpt-5.6-terra": [2, 12, 0.2, 2.5],
|
||||||
"gpt-5.6-luna": [0.1, 0.6, 0.01, 0.125],
|
"gpt-5.6-luna": [0.2, 1.2, 0.02, 0.25],
|
||||||
"gpt-5.5": [5, 30, 0.5, 0],
|
"gpt-5.5": [5, 30, 0.5, 0],
|
||||||
"gpt-5.4": [2.5, 15, 0.25, 0],
|
"gpt-5.4": [2.5, 15, 0.25, 0],
|
||||||
"gpt-5.3-codex": [2, 8, 0.5, 0],
|
"gpt-5.3-codex": [2, 8, 0.5, 0],
|
||||||
|
|||||||
+11
-5
@@ -148,16 +148,22 @@ describe("MODEL_COSTS pricing overlay", () => {
|
|||||||
cacheWrite: 0.038,
|
cacheWrite: 0.038,
|
||||||
})
|
})
|
||||||
assertCost("gpt-5.6-terra", {
|
assertCost("gpt-5.6-terra", {
|
||||||
input: 1,
|
input: 2,
|
||||||
output: 6,
|
output: 12,
|
||||||
cacheRead: 0.1,
|
cacheRead: 0.2,
|
||||||
cacheWrite: 1.25,
|
cacheWrite: 2.5,
|
||||||
|
})
|
||||||
|
assertCost("gpt-5.6-luna", {
|
||||||
|
input: 0.2,
|
||||||
|
output: 1.2,
|
||||||
|
cacheRead: 0.02,
|
||||||
|
cacheWrite: 0.25,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
it("tracks pricing provenance", () => {
|
it("tracks pricing provenance", () => {
|
||||||
assert.equal(PRICING_SOURCE_URL, "https://commandcode.ai/docs/resources/pricing-limits")
|
assert.equal(PRICING_SOURCE_URL, "https://commandcode.ai/docs/resources/pricing-limits")
|
||||||
assert.equal(PRICING_LAST_VERIFIED, "2026-08-04")
|
assert.equal(PRICING_LAST_VERIFIED, "2026-08-18")
|
||||||
})
|
})
|
||||||
|
|
||||||
it("fails once temporary pricing needs review", () => {
|
it("fails once temporary pricing needs review", () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user