Align GPT-5.5 Codex capability handling (#3618)
* fix(ai): align gpt-5.5 codex capabilities * chore(ai): update generated models * fix(ai): apply gpt-5.5 priority pricing to api --------- Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
This commit is contained in:
committed by
GitHub
parent
86ba08a2e3
commit
ba8f1c228a
@@ -137,4 +137,49 @@ describe("openai-responses provider defaults", () => {
|
||||
|
||||
expect(captured).toEqual({ sessionId: null, clientRequestId: null });
|
||||
});
|
||||
|
||||
it.each([
|
||||
["gpt-5.4", "priority", 2],
|
||||
["gpt-5.5", "priority", 2.5],
|
||||
["gpt-5.5", "flex", 0.5],
|
||||
] as const)("applies %s %s service-tier cost multiplier", async (modelId, serviceTier, multiplier) => {
|
||||
const model = getModel("openai", modelId);
|
||||
const sse = `${[
|
||||
`data: ${JSON.stringify({
|
||||
type: "response.completed",
|
||||
response: {
|
||||
status: "completed",
|
||||
service_tier: serviceTier,
|
||||
usage: {
|
||||
input_tokens: 1000000,
|
||||
output_tokens: 1000000,
|
||||
total_tokens: 2000000,
|
||||
input_tokens_details: { cached_tokens: 0 },
|
||||
},
|
||||
},
|
||||
})}`,
|
||||
].join("\n\n")}\n\n`;
|
||||
|
||||
vi.spyOn(globalThis, "fetch").mockResolvedValue(
|
||||
new Response(sse, {
|
||||
status: 200,
|
||||
headers: { "content-type": "text/event-stream" },
|
||||
}),
|
||||
);
|
||||
|
||||
const stream = streamOpenAIResponses(
|
||||
model,
|
||||
{
|
||||
systemPrompt: "sys",
|
||||
messages: [{ role: "user", content: "hi", timestamp: Date.now() }],
|
||||
},
|
||||
{ apiKey: "test-key", serviceTier },
|
||||
);
|
||||
|
||||
const result = await stream.result();
|
||||
|
||||
expect(result.usage.cost.input).toBe(model.cost.input * multiplier);
|
||||
expect(result.usage.cost.output).toBe(model.cost.output * multiplier);
|
||||
expect(result.usage.cost.total).toBe((model.cost.input + model.cost.output) * multiplier);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user