"""azure cost tracking cases, one CostTrackingTestCase literal per request shape (moved from cost_tracking_cases.json). PARITY pairs the streamed case with its plain twin where both bill the same row.""" from typing import Final, cast from integration.cost_calculation.cost_tracking_case import ( with_response_usage, with_usage, BinaryResponse, CostTrackingTestCase, Deployment, ExactExpected, FailureDetails, FailureExpected, JsonResponse, RecountExpected, RecountRates, SseResponse, WavUpload, ) from integration.cost_calculation.bridge_cost_parity.case import BridgeCostParityTestCase, bridge_pairs from integration.cost_calculation.stream_parity.case import StreamParityTestCase, sse_frames from integration.cost_calculation.cases.openai import _responses_json_body, _responses_stream_case from pydantic import JsonValue def _response_for_model( response: JsonResponse, model: str, *, service_tier: str | None = None ) -> JsonResponse: return response.model_copy( update={ "body": { **response.body, "model": model, **({"service_tier": service_tier} if service_tier is not None else {}), } } ) def _stream_for_model(response: SseResponse, model: str) -> SseResponse: return response.model_copy( update={ "frames": tuple( frame.replace("gpt-6-luna-2026-09-22", model).replace("gpt-6-luna", model) for frame in response.frames ) } ) def _azure_responses_json_case( base: CostTrackingTestCase, name: str, response_model: str, content_filters: JsonValue ) -> CostTrackingTestCase: response_case: Final = bridge_pairs((base,), ("/v1/responses",))[0].bridged return response_case.model_copy( update={ "name": name, "response": JsonResponse( content_type="application/json", body=_responses_json_body( response_model, include_content_filters=True, content_filters=content_filters, ), ), } ) def _azure_messages_stream_case( messages_json: CostTrackingTestCase, stream_case: CostTrackingTestCase, name: str ) -> CostTrackingTestCase: return messages_json.model_copy( update={ "name": name, "request": {**messages_json.request, "stream": True}, "response": stream_case.response, } ) # azure/gpt-5.4-mini AZURE_GPT_5_4_MINI_INPUT_TEXT: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-input_text", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "28b0c4ce80d6 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788217, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 28b0c4ce80d6"}, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.00184896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_4_MINI_CACHE_READ: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-cache_read", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "33fdcb306184 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788218, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 33fdcb306184"}, "finish_reason": "stop", } ], "usage": { "prompt_tokens": 12928, "completion_tokens": 380, "total_tokens": 13308, "prompt_tokens_details": {"cached_tokens": 12288}, }, }, ), expected=ExactExpected( spend=0.001767168, input_cost=0.000672768, output_cost=0.0010944, prompt_tokens=12928, completion_tokens=380 ), ) AZURE_GPT_5_4_MINI_AUDIO_INPUT: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-audio_input", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "28a136ca9579 summarize the attached material in one line and name the city weather", }, { "type": "input_audio", "input_audio": { "data": "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", "format": "wav", }, }, ], }, ], "stream": False, "modalities": ["text"], "allowed_openai_params": ["modalities"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788220, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 28a136ca9579"}, "finish_reason": "stop", } ], "usage": { "prompt_tokens": 1546, "completion_tokens": 210, "total_tokens": 1756, "prompt_tokens_details": {"audio_tokens": 1450}, }, }, ), expected=ExactExpected( spend=0.01586436, input_cost=0.01525956, output_cost=0.0006048, prompt_tokens=1546, completion_tokens=210 ), ) AZURE_GPT_5_4_MINI_AUDIO_OUTPUT: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-audio_output", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "2bebbaa4e254 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "modalities": ["text", "audio"], "audio": {"voice": "alloy", "format": "pcm16"}, "allowed_openai_params": ["modalities", "audio"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788222, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 2bebbaa4e254"}, "finish_reason": "stop", } ], "usage": { "prompt_tokens": 220, "completion_tokens": 1300, "total_tokens": 1520, "completion_tokens_details": {"audio_tokens": 1120}, }, }, ), expected=ExactExpected( spend=0.0241176, input_cost=7.92e-05, output_cost=0.0240384, prompt_tokens=220, completion_tokens=1300 ), ) AZURE_GPT_5_4_MINI_REASONING: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-reasoning", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "6af41b14ef04 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "reasoning_effort": "medium", "allowed_openai_params": ["reasoning_effort"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788222, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 6af41b14ef04"}, "finish_reason": "stop", } ], "usage": { "prompt_tokens": 1240, "completion_tokens": 4040, "total_tokens": 5280, "completion_tokens_details": {"reasoning_tokens": 3480}, }, }, ), expected=ExactExpected( spend=0.0135432, input_cost=0.0004464, output_cost=0.0130968, prompt_tokens=1240, completion_tokens=4040 ), ) AZURE_GPT_5_4_MINI_SERVICE_TIER_FLEX: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-service_tier_flex", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "60a03b8b6237 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "service_tier": "flex", "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788225, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 60a03b8b6237"}, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, "service_tier": "flex", }, ), expected=ExactExpected( spend=0.00092448, input_cost=0.0003312, output_cost=0.00059328, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_4_MINI_SERVICE_TIER_PRIORITY: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-service_tier_priority", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "3922bd062f4a summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "service_tier": "priority", "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788226, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 3922bd062f4a"}, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, "service_tier": "priority", }, ), expected=ExactExpected( spend=0.00369792, input_cost=0.0013248, output_cost=0.00237312, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_4_MINI_WEB_SEARCH_MEDIUM: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-web_search_medium", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "26430574f63b summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "web_search_options": {"search_context_size": "medium"}, "allowed_openai_params": ["web_search_options"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788211, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "scripted answer 26430574f63b", "annotations": [ { "type": "url_citation", "url_citation": { "url": "https://scripted.example/source", "title": "scripted source", "start_index": 0, "end_index": 1, }, }, { "type": "url_citation", "url_citation": { "url": "https://scripted.example/source", "title": "scripted source", "start_index": 0, "end_index": 1, }, }, { "type": "url_citation", "url_citation": { "url": "https://scripted.example/source", "title": "scripted source", "start_index": 0, "end_index": 1, }, }, ], }, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.01434896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_4_MINI_WEB_SEARCH_LOW: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-web_search_low", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "5792eab53e4c summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "web_search_options": {"search_context_size": "low"}, "allowed_openai_params": ["web_search_options"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788213, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "scripted answer 5792eab53e4c", "annotations": [ { "type": "url_citation", "url_citation": { "url": "https://scripted.example/source", "title": "scripted source", "start_index": 0, "end_index": 1, }, } ], }, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.01184896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_4_MINI_WEB_SEARCH_HIGH: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-web_search_high", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "7a7fc7488611 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "web_search_options": {"search_context_size": "high"}, "allowed_openai_params": ["web_search_options"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788215, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "scripted answer 7a7fc7488611", "annotations": [ { "type": "url_citation", "url_citation": { "url": "https://scripted.example/source", "title": "scripted source", "start_index": 0, "end_index": 1, }, } ], }, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.01684896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_4_MINI_STREAM: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-stream", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "35a730eefc00 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788215, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788215, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": {"role": "assistant", "content": "scripted answer 35a730eefc00"}, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788215, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788215, "model": "cc-pinned-deployment", "choices": [], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, done=True, ), ), expected=ExactExpected( spend=0.00184896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_4_MINI_STREAM_NO_USAGE: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-stream_no_usage", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "969d5ff8918e summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788216, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788216, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": {"role": "assistant", "content": "scripted answer 969d5ff8918e"}, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788216, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}], "usage": None, }, done=True, ), ), expected=RecountExpected(recount=RecountRates(input_cost_per_token=3.6e-07, output_cost_per_token=2.88e-06)), ) AZURE_GPT_5_4_MINI_STREAM_NO_USAGE_TOOL_CALL: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-stream_no_usage_tool_call", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "db6294a8264b summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Get the current weather and a short forecast for a city.", "parameters": { "type": "object", "properties": { "city": {"type": "string", "description": "City name"}, "days": {"type": "integer", "description": "Forecast horizon in days"}, "units": {"type": "string", "enum": ["metric", "imperial"]}, }, "required": ["city"], }, }, } ], "tool_choice": "auto", "allowed_openai_params": ["tool_choice"], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788218, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788218, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": { "role": "assistant", "tool_calls": [ { "index": 0, "id": "call_$REQUEST_ID", "type": "function", "function": {"name": "get_weather", "arguments": ""}, } ], }, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788218, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": { "tool_calls": [ { "index": 0, "function": { "arguments": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler fil' }, } ] }, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788218, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": { "tool_calls": [ { "index": 0, "function": { "arguments": "ler filler filler filler filler filler filler filler filler filler filler filler filler fi" }, } ] }, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788218, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": { "tool_calls": [ { "index": 0, "function": { "arguments": 'ller filler filler filler filler filler filler filler filler filler filler filler filler "}' }, } ] }, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788218, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {}, "finish_reason": "tool_calls"}], "usage": None, }, done=True, ), ), expected=RecountExpected(recount=RecountRates(input_cost_per_token=3.6e-07, output_cost_per_token=2.88e-06)), ) AZURE_GPT_5_4_MINI_STREAM_NO_USAGE_IMAGE_INPUT: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-stream_no_usage_image_input", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "524f8c567f64 summarize the attached material in one line and name the city weather", }, { "type": "image_url", "image_url": { "url": "data:image/png;base64,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", "detail": "high", }, }, ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788220, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788220, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": {"role": "assistant", "content": "scripted answer 524f8c567f64"}, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788220, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}], "usage": None, }, done=True, ), ), expected=RecountExpected(recount=RecountRates(input_cost_per_token=3.6e-07, output_cost_per_token=2.88e-06)), ) AZURE_GPT_5_4_MINI_RESPONSE_MODEL_OVERRIDE: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-response_model_override", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "109128998398 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788221, "model": "gpt-5.6", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 109128998398"}, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.00184896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_4_MINI_STREAM_RESPONSE_MODEL_OVERRIDE: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-stream_response_model_override", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "e5bffdbd65e2 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788221, "model": "gpt-5.6", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788221, "model": "gpt-5.6", "choices": [ { "index": 0, "delta": {"role": "assistant", "content": "scripted answer e5bffdbd65e2"}, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788221, "model": "gpt-5.6", "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788221, "model": "gpt-5.6", "choices": [], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, done=True, ), ), expected=ExactExpected( spend=0.00184896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_4_MINI_TOOL_CALL: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-tool_call", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "75003151c7de summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Get the current weather and a short forecast for a city.", "parameters": { "type": "object", "properties": { "city": {"type": "string", "description": "City name"}, "days": {"type": "integer", "description": "Forecast horizon in days"}, "units": {"type": "string", "enum": ["metric", "imperial"]}, }, "required": ["city"], }, }, } ], "tool_choice": "auto", "allowed_openai_params": ["tool_choice"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788223, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "message": { "role": "assistant", "content": None, "tool_calls": [ { "id": "call_$REQUEST_ID", "type": "function", "function": { "name": "get_weather", "arguments": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler "}', }, } ], }, "finish_reason": "tool_calls", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.00184896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_4_MINI_STREAM_TOOL_CALL: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-stream_tool_call", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "e3e7c45697d3 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Get the current weather and a short forecast for a city.", "parameters": { "type": "object", "properties": { "city": {"type": "string", "description": "City name"}, "days": {"type": "integer", "description": "Forecast horizon in days"}, "units": {"type": "string", "enum": ["metric", "imperial"]}, }, "required": ["city"], }, }, } ], "tool_choice": "auto", "allowed_openai_params": ["tool_choice"], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788225, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788225, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": { "role": "assistant", "tool_calls": [ { "index": 0, "id": "call_$REQUEST_ID", "type": "function", "function": {"name": "get_weather", "arguments": ""}, } ], }, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788225, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": { "tool_calls": [ { "index": 0, "function": { "arguments": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler fil' }, } ] }, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788225, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": { "tool_calls": [ { "index": 0, "function": { "arguments": "ler filler filler filler filler filler filler filler filler filler filler filler filler fi" }, } ] }, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788225, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": { "tool_calls": [ { "index": 0, "function": { "arguments": 'ller filler filler filler filler filler filler filler filler filler filler filler filler "}' }, } ] }, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788225, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {}, "finish_reason": "tool_calls"}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788225, "model": "cc-pinned-deployment", "choices": [], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, done=True, ), ), expected=ExactExpected( spend=0.00184896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_4_MINI_STREAM_FULL_USAGE: Final = CostTrackingTestCase( name="azure-gpt-5.4-mini-stream_full_usage", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "906fb0b08ba9 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788211, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788211, "model": "cc-pinned-deployment", "choices": [ { "index": 0, "delta": {"role": "assistant", "content": "scripted answer 906fb0b08ba9"}, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788211, "model": "cc-pinned-deployment", "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788211, "model": "cc-pinned-deployment", "choices": [], "usage": { "prompt_tokens": 8314, "completion_tokens": 1592, "total_tokens": 9906, "prompt_tokens_details": {"cached_tokens": 6144, "audio_tokens": 330}, "completion_tokens_details": {"reasoning_tokens": 900, "audio_tokens": 280}, }, }, done=True, ), ), expected=ExactExpected( spend=0.014385144, input_cost=0.004348584, output_cost=0.01003656, prompt_tokens=8314, completion_tokens=1592 ), ) AZURE_PINNED_GPT_5_4_MINI_STREAM: Final = CostTrackingTestCase( name="azure-pinned-gpt-5.4-mini-stream", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.4-mini", deployment=Deployment(model="azure/cc-pinned-deployment", base_model="azure/gpt-5.4-mini"), request={ "model": "$MODEL", "messages": [{"role": "user", "content": "azure-pinned-gpt-5.4-mini-stream"}], "stream": True, }, response=SseResponse( content_type="text/event-stream", frames=( 'data: {"id":"chatcmpl-$REQUEST_ID","object":"chat.completion.chunk","created":1,"model":"$MODEL","choices":[{"index":0,"delta":{"role":"assistant","content":"ok"},"finish_reason":null}]}\n\n', 'data: {"id":"chatcmpl-$REQUEST_ID","object":"chat.completion.chunk","created":1,"model":"$MODEL","choices":[],"usage":{"prompt_tokens":1840,"completion_tokens":412,"total_tokens":2252}}\n\n', "data: [DONE]\n\n", ), ), expected=ExactExpected( spend=0.00184896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) # azure/gpt-5.6 AZURE_GPT_5_6_INPUT_TEXT: Final = CostTrackingTestCase( name="azure-gpt-5.6-input_text", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "7dc90bf2ab07 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788212, "model": "gpt-5.6", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 7dc90bf2ab07"}, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.0092448, input_cost=0.003312, output_cost=0.0059328, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_6_CACHE_READ: Final = CostTrackingTestCase( name="azure-gpt-5.6-cache_read", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "c84b90d4fd99 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788214, "model": "gpt-5.6", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer c84b90d4fd99"}, "finish_reason": "stop", } ], "usage": { "prompt_tokens": 12928, "completion_tokens": 380, "total_tokens": 13308, "prompt_tokens_details": {"cached_tokens": 12288}, }, }, ), expected=ExactExpected( spend=0.00883584, input_cost=0.00336384, output_cost=0.005472, prompt_tokens=12928, completion_tokens=380 ), ) AZURE_GPT_5_6_AUDIO_INPUT: Final = CostTrackingTestCase( name="azure-gpt-5.6-audio_input", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "1744b6a5bab3 summarize the attached material in one line and name the city weather", }, { "type": "input_audio", "input_audio": { "data": "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", "format": "wav", }, }, ], }, ], "stream": False, "modalities": ["text"], "allowed_openai_params": ["modalities"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788215, "model": "gpt-5.6", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 1744b6a5bab3"}, "finish_reason": "stop", } ], "usage": { "prompt_tokens": 1546, "completion_tokens": 210, "total_tokens": 1756, "prompt_tokens_details": {"audio_tokens": 1450}, }, }, ), expected=ExactExpected( spend=0.0626468, input_cost=0.0596228, output_cost=0.003024, prompt_tokens=1546, completion_tokens=210 ), ) AZURE_GPT_5_6_AUDIO_OUTPUT: Final = CostTrackingTestCase( name="azure-gpt-5.6-audio_output", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "dfb52830c629 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "modalities": ["text", "audio"], "audio": {"voice": "alloy", "format": "pcm16"}, "allowed_openai_params": ["modalities", "audio"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788217, "model": "gpt-5.6", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer dfb52830c629"}, "finish_reason": "stop", } ], "usage": { "prompt_tokens": 220, "completion_tokens": 1300, "total_tokens": 1520, "completion_tokens_details": {"audio_tokens": 1120}, }, }, ), expected=ExactExpected( spend=0.094828, input_cost=0.000396, output_cost=0.094432, prompt_tokens=220, completion_tokens=1300 ), ) AZURE_GPT_5_6_REASONING: Final = CostTrackingTestCase( name="azure-gpt-5.6-reasoning", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "5c6865969ae9 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "reasoning_effort": "medium", "allowed_openai_params": ["reasoning_effort"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788218, "model": "gpt-5.6", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 5c6865969ae9"}, "finish_reason": "stop", } ], "usage": { "prompt_tokens": 1240, "completion_tokens": 4040, "total_tokens": 5280, "completion_tokens_details": {"reasoning_tokens": 3480}, }, }, ), expected=ExactExpected( spend=0.067716, input_cost=0.002232, output_cost=0.065484, prompt_tokens=1240, completion_tokens=4040, reasoning_cost=0.05742, ), ) AZURE_GPT_5_6_SERVICE_TIER_FLEX: Final = CostTrackingTestCase( name="azure-gpt-5.6-service_tier_flex", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "b67dcd189cdd summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "service_tier": "flex", "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788221, "model": "gpt-5.6", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer b67dcd189cdd"}, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, "service_tier": "flex", }, ), expected=ExactExpected( spend=0.0046224, input_cost=0.001656, output_cost=0.0029664, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_6_SERVICE_TIER_PRIORITY: Final = CostTrackingTestCase( name="azure-gpt-5.6-service_tier_priority", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "01c77d1ef23d summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "service_tier": "priority", "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788222, "model": "gpt-5.6", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 01c77d1ef23d"}, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, "service_tier": "priority", }, ), expected=ExactExpected( spend=0.0184896, input_cost=0.006624, output_cost=0.0118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_6_WEB_SEARCH_MEDIUM: Final = CostTrackingTestCase( name="azure-gpt-5.6-web_search_medium", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "d4efeea706ac summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "web_search_options": {"search_context_size": "medium"}, "allowed_openai_params": ["web_search_options"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788222, "model": "gpt-5.6", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "scripted answer d4efeea706ac", "annotations": [ { "type": "url_citation", "url_citation": { "url": "https://scripted.example/source", "title": "scripted source", "start_index": 0, "end_index": 1, }, }, { "type": "url_citation", "url_citation": { "url": "https://scripted.example/source", "title": "scripted source", "start_index": 0, "end_index": 1, }, }, { "type": "url_citation", "url_citation": { "url": "https://scripted.example/source", "title": "scripted source", "start_index": 0, "end_index": 1, }, }, ], }, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.0217448, input_cost=0.003312, output_cost=0.0059328, prompt_tokens=1840, completion_tokens=412, tool_usage_cost=0.0125, ), ) AZURE_GPT_5_6_WEB_SEARCH_LOW: Final = CostTrackingTestCase( name="azure-gpt-5.6-web_search_low", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "73458bfd2358 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "web_search_options": {"search_context_size": "low"}, "allowed_openai_params": ["web_search_options"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788225, "model": "gpt-5.6", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "scripted answer 73458bfd2358", "annotations": [ { "type": "url_citation", "url_citation": { "url": "https://scripted.example/source", "title": "scripted source", "start_index": 0, "end_index": 1, }, } ], }, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.0192448, input_cost=0.003312, output_cost=0.0059328, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_6_WEB_SEARCH_HIGH: Final = CostTrackingTestCase( name="azure-gpt-5.6-web_search_high", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "0aebd59315f2 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "web_search_options": {"search_context_size": "high"}, "allowed_openai_params": ["web_search_options"], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788226, "model": "gpt-5.6", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "scripted answer 0aebd59315f2", "annotations": [ { "type": "url_citation", "url_citation": { "url": "https://scripted.example/source", "title": "scripted source", "start_index": 0, "end_index": 1, }, } ], }, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.0242448, input_cost=0.003312, output_cost=0.0059328, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_6_STREAM: Final = CostTrackingTestCase( name="azure-gpt-5.6-stream", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "9df3f46fd138 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788211, "model": "gpt-5.6", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788211, "model": "gpt-5.6", "choices": [ { "index": 0, "delta": {"role": "assistant", "content": "scripted answer 9df3f46fd138"}, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788211, "model": "gpt-5.6", "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788211, "model": "gpt-5.6", "choices": [], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, done=True, ), ), expected=ExactExpected( spend=0.0092448, input_cost=0.003312, output_cost=0.0059328, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_6_STREAM_NO_USAGE: Final = CostTrackingTestCase( name="azure-gpt-5.6-stream_no_usage", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "b54d5959e61f summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788213, "model": "gpt-5.6", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788213, "model": "gpt-5.6", "choices": [ { "index": 0, "delta": {"role": "assistant", "content": "scripted answer b54d5959e61f"}, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788213, "model": "gpt-5.6", "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}], "usage": None, }, done=True, ), ), expected=RecountExpected(recount=RecountRates(input_cost_per_token=1.8e-06, output_cost_per_token=1.44e-05)), ) AZURE_GPT_5_6_STREAM_NO_USAGE_TOOL_CALL: Final = CostTrackingTestCase( name="azure-gpt-5.6-stream_no_usage_tool_call", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "23eb3226fc23 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Get the current weather and a short forecast for a city.", "parameters": { "type": "object", "properties": { "city": {"type": "string", "description": "City name"}, "days": {"type": "integer", "description": "Forecast horizon in days"}, "units": {"type": "string", "enum": ["metric", "imperial"]}, }, "required": ["city"], }, }, } ], "tool_choice": "auto", "allowed_openai_params": ["tool_choice"], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "type": "response.created", "response": { "id": "resp_$REQUEST_ID", "object": "response", "created_at": 1789788215, "model": "gpt-5.6", "output": [ { "type": "function_call", "id": "fc_$REQUEST_ID", "call_id": "call_$REQUEST_ID", "name": "get_weather", "arguments": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler "}', "status": "completed", } ], "status": "in_progress", "usage": None, }, }, { "type": "response.output_item.added", "output_index": 0, "item": { "type": "function_call", "id": "fc_$REQUEST_ID", "call_id": "call_$REQUEST_ID", "name": "get_weather", "arguments": "", "status": "in_progress", }, }, { "type": "response.function_call_arguments.delta", "item_id": "fc_$REQUEST_ID", "output_index": 0, "delta": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler fil', }, { "type": "response.function_call_arguments.delta", "item_id": "fc_$REQUEST_ID", "output_index": 0, "delta": "ler filler filler filler filler filler filler filler filler filler filler filler filler fi", }, { "type": "response.function_call_arguments.delta", "item_id": "fc_$REQUEST_ID", "output_index": 0, "delta": 'ller filler filler filler filler filler filler filler filler filler filler filler filler "}', }, { "type": "response.function_call_arguments.done", "item_id": "fc_$REQUEST_ID", "output_index": 0, "arguments": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler "}', }, { "type": "response.completed", "response": { "id": "resp_$REQUEST_ID", "object": "response", "created_at": 1789788215, "status": "completed", "model": "gpt-5.6", "output": [ { "type": "function_call", "id": "fc_$REQUEST_ID", "call_id": "call_$REQUEST_ID", "name": "get_weather", "arguments": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler "}', "status": "completed", } ], }, }, ), ), expected=RecountExpected(recount=RecountRates(input_cost_per_token=1.8e-06, output_cost_per_token=1.44e-05)), ) AZURE_GPT_5_6_STREAM_NO_USAGE_IMAGE_INPUT: Final = CostTrackingTestCase( name="azure-gpt-5.6-stream_no_usage_image_input", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "fb83549ab4c5 summarize the attached material in one line and name the city weather", }, { "type": "image_url", "image_url": { "url": "data:image/png;base64,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", "detail": "high", }, }, ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788215, "model": "gpt-5.6", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788215, "model": "gpt-5.6", "choices": [ { "index": 0, "delta": {"role": "assistant", "content": "scripted answer fb83549ab4c5"}, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788215, "model": "gpt-5.6", "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}], "usage": None, }, done=True, ), ), expected=RecountExpected(recount=RecountRates(input_cost_per_token=1.8e-06, output_cost_per_token=1.44e-05)), ) AZURE_GPT_5_6_RESPONSE_MODEL_OVERRIDE: Final = CostTrackingTestCase( name="azure-gpt-5.6-response_model_override", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "74e949a94e0f summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion", "created": 1789788216, "model": "gpt-5.4-mini", "choices": [ { "index": 0, "message": {"role": "assistant", "content": "scripted answer 74e949a94e0f"}, "finish_reason": "stop", } ], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.00184896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_6_STREAM_RESPONSE_MODEL_OVERRIDE: Final = CostTrackingTestCase( name="azure-gpt-5.6-stream_response_model_override", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "af89dddadd12 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788218, "model": "gpt-5.4-mini", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788218, "model": "gpt-5.4-mini", "choices": [ { "index": 0, "delta": {"role": "assistant", "content": "scripted answer af89dddadd12"}, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788218, "model": "gpt-5.4-mini", "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788218, "model": "gpt-5.4-mini", "choices": [], "usage": {"prompt_tokens": 1840, "completion_tokens": 412, "total_tokens": 2252}, }, done=True, ), ), expected=ExactExpected( spend=0.00184896, input_cost=0.0006624, output_cost=0.00118656, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_6_TOOL_CALL: Final = CostTrackingTestCase( name="azure-gpt-5.6-tool_call", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "30d4deb9b74f summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Get the current weather and a short forecast for a city.", "parameters": { "type": "object", "properties": { "city": {"type": "string", "description": "City name"}, "days": {"type": "integer", "description": "Forecast horizon in days"}, "units": {"type": "string", "enum": ["metric", "imperial"]}, }, "required": ["city"], }, }, } ], "tool_choice": "auto", "allowed_openai_params": ["tool_choice"], }, response=JsonResponse( content_type="application/json", body={ "id": "resp_$REQUEST_ID", "object": "response", "created_at": 1789788220, "status": "completed", "model": "gpt-5.6", "output": [ { "type": "function_call", "id": "fc_$REQUEST_ID", "call_id": "call_$REQUEST_ID", "name": "get_weather", "arguments": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler "}', "status": "completed", } ], "usage": {"input_tokens": 1840, "output_tokens": 412, "total_tokens": 2252}, }, ), expected=ExactExpected( spend=0.0092448, input_cost=0.003312, output_cost=0.0059328, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_6_STREAM_TOOL_CALL: Final = CostTrackingTestCase( name="azure-gpt-5.6-stream_tool_call", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "ef44a3525238 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Get the current weather and a short forecast for a city.", "parameters": { "type": "object", "properties": { "city": {"type": "string", "description": "City name"}, "days": {"type": "integer", "description": "Forecast horizon in days"}, "units": {"type": "string", "enum": ["metric", "imperial"]}, }, "required": ["city"], }, }, } ], "tool_choice": "auto", "allowed_openai_params": ["tool_choice"], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "type": "response.created", "response": { "id": "resp_$REQUEST_ID", "object": "response", "created_at": 1789788221, "model": "gpt-5.6", "output": [ { "type": "function_call", "id": "fc_$REQUEST_ID", "call_id": "call_$REQUEST_ID", "name": "get_weather", "arguments": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler "}', "status": "completed", } ], "status": "in_progress", "usage": None, }, }, { "type": "response.output_item.added", "output_index": 0, "item": { "type": "function_call", "id": "fc_$REQUEST_ID", "call_id": "call_$REQUEST_ID", "name": "get_weather", "arguments": "", "status": "in_progress", }, }, { "type": "response.function_call_arguments.delta", "item_id": "fc_$REQUEST_ID", "output_index": 0, "delta": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler fil', }, { "type": "response.function_call_arguments.delta", "item_id": "fc_$REQUEST_ID", "output_index": 0, "delta": "ler filler filler filler filler filler filler filler filler filler filler filler filler fi", }, { "type": "response.function_call_arguments.delta", "item_id": "fc_$REQUEST_ID", "output_index": 0, "delta": 'ller filler filler filler filler filler filler filler filler filler filler filler filler "}', }, { "type": "response.function_call_arguments.done", "item_id": "fc_$REQUEST_ID", "output_index": 0, "arguments": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler "}', }, { "type": "response.completed", "response": { "id": "resp_$REQUEST_ID", "object": "response", "created_at": 1789788221, "status": "completed", "model": "gpt-5.6", "output": [ { "type": "function_call", "id": "fc_$REQUEST_ID", "call_id": "call_$REQUEST_ID", "name": "get_weather", "arguments": '{"city": "Berlin", "days": 7, "units": "metric", "notes": "filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler filler "}', "status": "completed", } ], "usage": {"input_tokens": 1840, "output_tokens": 412, "total_tokens": 2252}, }, }, ), ), expected=ExactExpected( spend=0.0092448, input_cost=0.003312, output_cost=0.0059328, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_5_6_STREAM_FULL_USAGE: Final = CostTrackingTestCase( name="azure-gpt-5.6-stream_full_usage", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-5.6", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "e440709770ad summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788221, "model": "gpt-5.6", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": None}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788221, "model": "gpt-5.6", "choices": [ { "index": 0, "delta": {"role": "assistant", "content": "scripted answer e440709770ad"}, "finish_reason": None, } ], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788221, "model": "gpt-5.6", "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}], "usage": None, }, { "id": "chatcmpl-$REQUEST_ID", "object": "chat.completion.chunk", "created": 1789788221, "model": "gpt-5.6", "choices": [], "usage": { "prompt_tokens": 8314, "completion_tokens": 1592, "total_tokens": 9906, "prompt_tokens_details": {"cached_tokens": 6144, "audio_tokens": 330}, "completion_tokens_details": {"reasoning_tokens": 900, "audio_tokens": 280}, }, }, done=True, ), ), expected=ExactExpected( spend=0.06169072, input_cost=0.01794792, output_cost=0.0437428, prompt_tokens=8314, completion_tokens=1592 ), ) # azure/whisper-next AZURE_WHISPER_NEXT_TRANSCRIPTIONS_DEPLOYMENT: Final = CostTrackingTestCase( name="azure-whisper-next-transcriptions-deployment", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/whisper-next", endpoint="/v1/audio/transcriptions", deployment=Deployment(model="azure/cc-whisper-deployment", base_model="azure/whisper-next"), upload=WavUpload(kind="wav", seconds=3.5), request={"response_format": "json"}, response=JsonResponse(content_type="application/json", body={"text": "hello"}), expected=ExactExpected(spend=0.000385, input_cost=0.000385, output_cost=0, prompt_tokens=0, completion_tokens=0), ) # azure/tts-next AZURE_TTS_NEXT_SPEECH_DEPLOYMENT: Final = CostTrackingTestCase( name="azure-tts-next-speech-deployment", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/tts-next", endpoint="/v1/audio/speech", deployment=Deployment(model="azure/cc-tts-deployment", base_model="azure/tts-next"), request={"input": "hello world", "voice": "alloy", "response_format": "mp3"}, response=BinaryResponse(content_type="audio/mpeg", length=2048), expected=ExactExpected(spend=0.00011, input_cost=0.00011, output_cost=0, prompt_tokens=0, completion_tokens=0), ) # azure/text-embedding-4-large AZURE_TEXT_EMBEDDINGS_4_LARGE_DEPLOYMENT: Final = CostTrackingTestCase( name="azure-text-embeddings-4-large-deployment", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/text-embedding-4-large", endpoint="/v1/embeddings", deployment=Deployment(model="azure/cc-pinned-embedding-deployment", base_model="azure/text-embedding-4-large"), request={"model": "$MODEL", "input": "azure embedding"}, response=JsonResponse( content_type="application/json", body={ "object": "list", "data": [{"object": "embedding", "embedding": [0.1, 0.2, 0.3], "index": 0}], "model": "azure/text-embedding-4-large", "usage": {"prompt_tokens": 8, "total_tokens": 8}, }, ), expected=ExactExpected(spend=8.24e-06, input_cost=8.24e-06, output_cost=0.0, prompt_tokens=8, completion_tokens=0), ) _GPT_6_CONTENT_FILTER_RESULTS: Final = { "hate": {"filtered": False, "severity": "safe"}, "protected_material_code": {"detected": False, "filtered": False}, "protected_material_text": {"detected": False, "filtered": False}, "self_harm": {"filtered": False, "severity": "safe"}, "sexual": {"filtered": False, "severity": "safe"}, "violence": {"filtered": False, "severity": "safe"}, } _GPT_6_PROMPT_FILTER_RESULTS: Final = [ { "prompt_index": 0, "content_filter_results": { "hate": {"filtered": False, "severity": "safe"}, "jailbreak": {"detected": False, "filtered": False}, "self_harm": {"filtered": False, "severity": "safe"}, "sexual": {"filtered": False, "severity": "safe"}, "violence": {"filtered": False, "severity": "safe"}, }, } ] AZURE_GPT_6_SOL_INPUT_TEXT: Final = CostTrackingTestCase( name="azure-gpt-6-sol-input_text", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "f77f71b0428a summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer f77f71b0428a", "refusal": None, "role": "assistant", }, } ], "created": 1791852029, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260922011332-060efdec-prefill-r0-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 4, "engine_ttft_ms": 131, "engine_ttlt_ms": 157, "pre_inference_ms": 55, "service_tbt_ms": 5, "service_ttft_ms": 1034, "service_ttlt_ms": 1058, "user_visible_ttft_ms": 979, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), expected=ExactExpected( spend=0.00897, input_cost=0.004232, output_cost=0.004738, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_SOL_STREAM: Final = CostTrackingTestCase( name="azure-gpt-6-sol-stream", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-6-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "bf171da6c983 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "choices": [], "created": 0, "id": "", "model": "", "object": "", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, }, { "choices": [ { "content_filter_results": {}, "delta": {"content": "", "refusal": None, "role": "assistant"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [ { "content_filter_results": {"protected_material_text": {"detected": False, "filtered": False}}, "delta": {"content": "scripted answer bf171da6c983"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [ {"content_filter_results": {}, "delta": {}, "finish_reason": "stop", "index": 0, "logprobs": None} ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "routing": {"serving_pipereplica": "d20260925225746-6787865d-prefill-r11-dp0-prefill"}, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 4, "engine_ttft_ms": 131, "engine_ttlt_ms": 157, "pre_inference_ms": 55, "service_tbt_ms": 5, "service_ttft_ms": 1034, "service_ttlt_ms": 1058, "user_visible_ttft_ms": 979, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), ), expected=ExactExpected( spend=0.00897, input_cost=0.004232, output_cost=0.004738, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_SOL_SERVICE_TIER_FLEX: Final = CostTrackingTestCase( name="azure-gpt-6-sol-service_tier_flex", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "54651d96d231 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "service_tier": "flex", "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer 54651d96d231", "refusal": None, "role": "assistant", }, } ], "created": 1791852029, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260922011332-060efdec-prefill-r0-dp0-prefill"}, "service_tier": "flex", "system_fingerprint": None, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 4, "engine_ttft_ms": 131, "engine_ttlt_ms": 157, "pre_inference_ms": 55, "service_tbt_ms": 5, "service_ttft_ms": 1034, "service_ttlt_ms": 1058, "user_visible_ttft_ms": 979, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), expected=ExactExpected( spend=0.004485, input_cost=0.002116, output_cost=0.002369, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_SOL_SERVICE_TIER_PRIORITY: Final = CostTrackingTestCase( name="azure-gpt-6-sol-service_tier_priority", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "6add01b22373 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "service_tier": "priority", "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer 6add01b22373", "refusal": None, "role": "assistant", }, } ], "created": 1791852029, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260922011332-060efdec-prefill-r0-dp0-prefill"}, "service_tier": "priority", "system_fingerprint": None, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 4, "engine_ttft_ms": 131, "engine_ttlt_ms": 157, "pre_inference_ms": 55, "service_tbt_ms": 5, "service_ttft_ms": 1034, "service_ttlt_ms": 1058, "user_visible_ttft_ms": 979, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), expected=ExactExpected( spend=0.01794, input_cost=0.008464, output_cost=0.009476, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_LUNA_INPUT_TEXT: Final = CostTrackingTestCase( name="azure-gpt-6-luna-input_text", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-luna", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "a6a8b0e9d64c summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer a6a8b0e9d64c", "refusal": None, "role": "assistant", }, } ], "created": 1791852029, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-luna-2026-09-22", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260922011332-060efdec-prefill-r0-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 4, "engine_ttft_ms": 131, "engine_ttlt_ms": 157, "pre_inference_ms": 55, "service_tbt_ms": 5, "service_ttft_ms": 1034, "service_ttlt_ms": 1058, "user_visible_ttft_ms": 979, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), expected=ExactExpected( spend=0.000507, input_cost=0.0002392, output_cost=0.0002678, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_LUNA_STREAM: Final = CostTrackingTestCase( name="azure-gpt-6-luna-stream", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-6-luna", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "b22d4ad4da33 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "choices": [], "created": 0, "id": "", "model": "", "object": "", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, }, { "choices": [ { "content_filter_results": {}, "delta": {"content": "", "refusal": None, "role": "assistant"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-luna-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [ { "content_filter_results": {"protected_material_text": {"detected": False, "filtered": False}}, "delta": {"content": "scripted answer b22d4ad4da33"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-luna-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [ {"content_filter_results": {}, "delta": {}, "finish_reason": "stop", "index": 0, "logprobs": None} ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-luna-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-luna-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "routing": {"serving_pipereplica": "d20260925225746-6787865d-prefill-r11-dp0-prefill"}, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 4, "engine_ttft_ms": 131, "engine_ttlt_ms": 157, "pre_inference_ms": 55, "service_tbt_ms": 5, "service_ttft_ms": 1034, "service_ttlt_ms": 1058, "user_visible_ttft_ms": 979, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), ), expected=ExactExpected( spend=0.000507, input_cost=0.0002392, output_cost=0.0002678, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_ASTRA_INPUT_TEXT: Final = CostTrackingTestCase( name="azure-gpt-6-astra-input_text", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-astra", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "41ccdf63f9d7 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer 41ccdf63f9d7", "refusal": None, "role": "assistant", }, } ], "created": 1791852029, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-astra-2026-09-03", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260922011332-060efdec-prefill-r0-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 4, "engine_ttft_ms": 131, "engine_ttlt_ms": 157, "pre_inference_ms": 55, "service_tbt_ms": 5, "service_ttft_ms": 1034, "service_ttlt_ms": 1058, "user_visible_ttft_ms": 979, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), expected=ExactExpected( spend=0.04875, input_cost=0.023, output_cost=0.02575, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_ASTRA_STREAM: Final = CostTrackingTestCase( name="azure-gpt-6-astra-stream", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-6-astra", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "480ff10f91fb summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "choices": [], "created": 0, "id": "", "model": "", "object": "", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, }, { "choices": [ { "content_filter_results": {}, "delta": {"content": "", "refusal": None, "role": "assistant"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-astra-2026-09-03", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [ { "content_filter_results": {"protected_material_text": {"detected": False, "filtered": False}}, "delta": {"content": "scripted answer 480ff10f91fb"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-astra-2026-09-03", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [ {"content_filter_results": {}, "delta": {}, "finish_reason": "stop", "index": 0, "logprobs": None} ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-astra-2026-09-03", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-astra-2026-09-03", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "routing": {"serving_pipereplica": "d20260925225746-6787865d-prefill-r11-dp0-prefill"}, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 4, "engine_ttft_ms": 131, "engine_ttlt_ms": 157, "pre_inference_ms": 55, "service_tbt_ms": 5, "service_ttft_ms": 1034, "service_ttlt_ms": 1058, "user_visible_ttft_ms": 979, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), ), expected=ExactExpected( spend=0.04875, input_cost=0.023, output_cost=0.02575, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_1_SOL_INPUT_TEXT: Final = CostTrackingTestCase( name="azure-gpt-6.1-sol-input_text", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6.1-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "89ad6904966e summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer 89ad6904966e", "refusal": None, "role": "assistant", }, } ], "created": 1791852029, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6.1-sol-2026-09-29", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260922011332-060efdec-prefill-r0-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 4, "engine_ttft_ms": 131, "engine_ttlt_ms": 157, "pre_inference_ms": 55, "service_tbt_ms": 5, "service_ttft_ms": 1034, "service_ttlt_ms": 1058, "user_visible_ttft_ms": 979, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), expected=ExactExpected( spend=0.00936, input_cost=0.004416, output_cost=0.004944, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_1_SOL_STREAM: Final = CostTrackingTestCase( name="azure-gpt-6.1-sol-stream", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-6.1-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "493cd994b1de summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "stream_options": {"include_usage": True}, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "choices": [], "created": 0, "id": "", "model": "", "object": "", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, }, { "choices": [ { "content_filter_results": {}, "delta": {"content": "", "refusal": None, "role": "assistant"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6.1-sol-2026-09-29", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [ { "content_filter_results": {"protected_material_text": {"detected": False, "filtered": False}}, "delta": {"content": "scripted answer 493cd994b1de"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6.1-sol-2026-09-29", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [ {"content_filter_results": {}, "delta": {}, "finish_reason": "stop", "index": 0, "logprobs": None} ], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6.1-sol-2026-09-29", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "usage": None, }, { "choices": [], "created": 1791852023, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6.1-sol-2026-09-29", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "routing": {"serving_pipereplica": "d20260925225746-6787865d-prefill-r11-dp0-prefill"}, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 4, "engine_ttft_ms": 131, "engine_ttlt_ms": 157, "pre_inference_ms": 55, "service_tbt_ms": 5, "service_ttft_ms": 1034, "service_ttlt_ms": 1058, "user_visible_ttft_ms": 979, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), ), expected=ExactExpected( spend=0.00936, input_cost=0.004416, output_cost=0.004944, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_SOL_REASONING: Final = CostTrackingTestCase( name="azure/gpt-6-sol-reasoning", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "5c0e79234ed5 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "reasoning_effort": "medium", "allowed_openai_params": ["reasoning_effort"], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer 5c0e79234ed5", "refusal": None, "role": "assistant", }, } ], "created": 1791855585, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260925225746-6787865d-prefill-r15-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 4040, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 3480, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 6, "engine_ttft_ms": 152, "engine_ttlt_ms": 305, "pre_inference_ms": 102, "service_tbt_ms": 9, "service_ttft_ms": 389, "service_ttlt_ms": 608, "user_visible_ttft_ms": 288, }, "prompt_tokens": 1240, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 5280, }, }, ), expected=ExactExpected( spend=0.049312, input_cost=0.002852, output_cost=0.04646, prompt_tokens=1240, completion_tokens=4040 ), ) AZURE_GPT_6_SOL_STREAM_NO_USAGE: Final = CostTrackingTestCase( name="azure/gpt-6-sol-stream_no_usage", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-6-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "29fbe99c40db summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "choices": [], "created": 0, "id": "", "model": "", "object": "", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, }, { "choices": [ { "content_filter_results": {}, "delta": {"content": "", "refusal": None, "role": "assistant"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "5A3jk", }, { "choices": [ { "content_filter_results": {"protected_material_text": {"detected": False, "filtered": False}}, "delta": {"content": "scripted answer 29fbe99c40db"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "Q2x", }, { "choices": [ {"content_filter_results": {}, "delta": {}, "finish_reason": "stop", "index": 0, "logprobs": None} ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "Uz14j7Ajk4CYaTB", }, ), ), expected=RecountExpected(recount=RecountRates(input_cost_per_token=2.3e-06, output_cost_per_token=1.15e-05)), ) AZURE_GPT_6_LUNA_REASONING: Final = CostTrackingTestCase( name="azure/gpt-6-luna-reasoning", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-luna", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "21c501e3e521 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "reasoning_effort": "medium", "allowed_openai_params": ["reasoning_effort"], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer 21c501e3e521", "refusal": None, "role": "assistant", }, } ], "created": 1791855585, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-luna-2026-09-22", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260925225746-6787865d-prefill-r15-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 4040, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 3480, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 6, "engine_ttft_ms": 152, "engine_ttlt_ms": 305, "pre_inference_ms": 102, "service_tbt_ms": 9, "service_ttft_ms": 389, "service_ttlt_ms": 608, "user_visible_ttft_ms": 288, }, "prompt_tokens": 1240, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 5280, }, }, ), expected=ExactExpected( spend=0.0027872, input_cost=0.0001612, output_cost=0.002626, prompt_tokens=1240, completion_tokens=4040 ), ) AZURE_GPT_6_LUNA_STREAM_NO_USAGE: Final = CostTrackingTestCase( name="azure/gpt-6-luna-stream_no_usage", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-6-luna", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "fef24d05a468 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "choices": [], "created": 0, "id": "", "model": "", "object": "", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, }, { "choices": [ { "content_filter_results": {}, "delta": {"content": "", "refusal": None, "role": "assistant"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-luna-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "5A3jk", }, { "choices": [ { "content_filter_results": {"protected_material_text": {"detected": False, "filtered": False}}, "delta": {"content": "scripted answer fef24d05a468"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-luna-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "Q2x", }, { "choices": [ {"content_filter_results": {}, "delta": {}, "finish_reason": "stop", "index": 0, "logprobs": None} ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-luna-2026-09-22", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "Uz14j7Ajk4CYaTB", }, ), ), expected=RecountExpected(recount=RecountRates(input_cost_per_token=1.3e-07, output_cost_per_token=6.5e-07)), ) AZURE_GPT_6_ASTRA_REASONING: Final = CostTrackingTestCase( name="azure/gpt-6-astra-reasoning", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-astra", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "d7f4aaa662f3 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "reasoning_effort": "medium", "allowed_openai_params": ["reasoning_effort"], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer d7f4aaa662f3", "refusal": None, "role": "assistant", }, } ], "created": 1791855585, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-astra-2026-09-03", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260925225746-6787865d-prefill-r15-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 4040, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 3480, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 6, "engine_ttft_ms": 152, "engine_ttlt_ms": 305, "pre_inference_ms": 102, "service_tbt_ms": 9, "service_ttft_ms": 389, "service_ttlt_ms": 608, "user_visible_ttft_ms": 288, }, "prompt_tokens": 1240, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 5280, }, }, ), expected=ExactExpected( spend=0.268, input_cost=0.0155, output_cost=0.2525, prompt_tokens=1240, completion_tokens=4040 ), ) AZURE_GPT_6_ASTRA_STREAM_NO_USAGE: Final = CostTrackingTestCase( name="azure/gpt-6-astra-stream_no_usage", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-6-astra", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "65e182029270 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "choices": [], "created": 0, "id": "", "model": "", "object": "", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, }, { "choices": [ { "content_filter_results": {}, "delta": {"content": "", "refusal": None, "role": "assistant"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-astra-2026-09-03", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "5A3jk", }, { "choices": [ { "content_filter_results": {"protected_material_text": {"detected": False, "filtered": False}}, "delta": {"content": "scripted answer 65e182029270"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-astra-2026-09-03", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "Q2x", }, { "choices": [ {"content_filter_results": {}, "delta": {}, "finish_reason": "stop", "index": 0, "logprobs": None} ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-astra-2026-09-03", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "Uz14j7Ajk4CYaTB", }, ), ), expected=RecountExpected(recount=RecountRates(input_cost_per_token=1.25e-05, output_cost_per_token=6.25e-05)), ) AZURE_GPT_6_1_SOL_REASONING: Final = CostTrackingTestCase( name="azure/gpt-6.1-sol-reasoning", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6.1-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "8ac8b47d17d4 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "reasoning_effort": "medium", "allowed_openai_params": ["reasoning_effort"], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer 8ac8b47d17d4", "refusal": None, "role": "assistant", }, } ], "created": 1791855585, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6.1-sol-2026-09-29", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260925225746-6787865d-prefill-r15-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 4040, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 3480, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 6, "engine_ttft_ms": 152, "engine_ttlt_ms": 305, "pre_inference_ms": 102, "service_tbt_ms": 9, "service_ttft_ms": 389, "service_ttlt_ms": 608, "user_visible_ttft_ms": 288, }, "prompt_tokens": 1240, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 5280, }, }, ), expected=ExactExpected( spend=0.051456, input_cost=0.002976, output_cost=0.04848, prompt_tokens=1240, completion_tokens=4040 ), ) AZURE_GPT_6_1_SOL_STREAM_NO_USAGE: Final = CostTrackingTestCase( name="azure/gpt-6.1-sol-stream_no_usage", covers="quota_management.spend_tracking.scripted_wire.logs_cost", model="azure/gpt-6.1-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "20e483d62a14 summarize the attached material in one line and name the city weather", } ], }, ], "stream": True, "allowed_openai_params": [], }, response=SseResponse( content_type="text/event-stream", frames=sse_frames( { "choices": [], "created": 0, "id": "", "model": "", "object": "", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, }, { "choices": [ { "content_filter_results": {}, "delta": {"content": "", "refusal": None, "role": "assistant"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6.1-sol-2026-09-29", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "5A3jk", }, { "choices": [ { "content_filter_results": {"protected_material_text": {"detected": False, "filtered": False}}, "delta": {"content": "scripted answer 20e483d62a14"}, "finish_reason": None, "index": 0, "logprobs": None, } ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6.1-sol-2026-09-29", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "Q2x", }, { "choices": [ {"content_filter_results": {}, "delta": {}, "finish_reason": "stop", "index": 0, "logprobs": None} ], "created": 1791855587, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6.1-sol-2026-09-29", "object": "chat.completion.chunk", "service_tier": "default", "system_fingerprint": None, "obfuscation": "Uz14j7Ajk4CYaTB", }, ), ), expected=RecountExpected(recount=RecountRates(input_cost_per_token=2.4e-06, output_cost_per_token=1.2e-05)), ) AZURE_GPT_6_SOL_UPSTREAM_404_ZERO_SPEND: Final = CostTrackingTestCase( name="azure/gpt-6-sol-upstream_404_zero_spend", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-sol", request={ "model": "$MODEL", "messages": [{"role": "user", "content": "scripted upstream failure 404"}], "stream": False, }, response=JsonResponse( content_type="application/json", body={ "error": { "type": "invalid_request_error", "code": "DeploymentNotFound", "message": "The API deployment for this resource does not exist. If you created the deployment within the last 5 minutes, please wait a moment and try again.", } }, status=404, ), expected=FailureExpected(failure=FailureDetails(status=404)), ) AZURE_GPT_6_SOL_INPUT_TEXT_ROLLUPS: Final = CostTrackingTestCase( name="azure/gpt-6-sol-input_text_rollups", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "c01175bb4811 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer c01175bb4811", "refusal": None, "role": "assistant", }, } ], "created": 1791855585, "id": "chatcmpl-$UNIQUE_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260925225746-6787865d-prefill-r15-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 6, "engine_ttft_ms": 152, "engine_ttlt_ms": 305, "pre_inference_ms": 102, "service_tbt_ms": 9, "service_ttft_ms": 389, "service_ttlt_ms": 608, "user_visible_ttft_ms": 288, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), expected=ExactExpected( spend=0.00897, input_cost=0.004232, output_cost=0.004738, prompt_tokens=1840, completion_tokens=412, rollups=True, ), ) AZURE_GPT_6_SOL_TOOL_CALL: Final = CostTrackingTestCase( name="azure/gpt-6-sol-tool_call", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-sol", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "59601dc5d1c2 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Get the current weather and a short forecast for a city.", "parameters": { "type": "object", "properties": { "city": {"type": "string", "description": "City name"}, "days": {"type": "integer", "description": "Forecast horizon in days"}, "units": {"type": "string", "enum": ["metric", "imperial"]}, }, "required": ["city"], }, }, } ], "tool_choice": "auto", "reasoning_effort": "none", "allowed_openai_params": ["tool_choice", "reasoning_effort"], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "tool_calls", "index": 0, "logprobs": None, "message": { "annotations": [], "content": None, "refusal": None, "role": "assistant", "tool_calls": [ { "function": { "arguments": '{"city":"Berlin","days":7,"units":"metric"}', "name": "get_weather", }, "id": "call_$REQUEST_ID", "type": "function", } ], }, } ], "created": 1791855585, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-sol-2026-09-22", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260925225746-6787865d-prefill-r15-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 6, "engine_ttft_ms": 152, "engine_ttlt_ms": 305, "pre_inference_ms": 102, "service_tbt_ms": 9, "service_ttft_ms": 389, "service_ttlt_ms": 608, "user_visible_ttft_ms": 288, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), expected=ExactExpected( spend=0.00897, input_cost=0.004232, output_cost=0.004738, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_LUNA_TOOL_CALL: Final = CostTrackingTestCase( name="azure/gpt-6-luna-tool_call", covers="quota_management.spend_tracking.cost_matrix.logs_cost", model="azure/gpt-6-luna", request={ "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "2dc3f74a8aa3 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Get the current weather and a short forecast for a city.", "parameters": { "type": "object", "properties": { "city": {"type": "string", "description": "City name"}, "days": {"type": "integer", "description": "Forecast horizon in days"}, "units": {"type": "string", "enum": ["metric", "imperial"]}, }, "required": ["city"], }, }, } ], "tool_choice": "auto", "reasoning_effort": "none", "allowed_openai_params": ["tool_choice", "reasoning_effort"], }, response=JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "tool_calls", "index": 0, "logprobs": None, "message": { "annotations": [], "content": None, "refusal": None, "role": "assistant", "tool_calls": [ { "function": { "arguments": '{"city":"Berlin","days":7,"units":"metric"}', "name": "get_weather", }, "id": "call_$REQUEST_ID", "type": "function", } ], }, } ], "created": 1791855585, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-luna-2026-09-22", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260925225746-6787865d-prefill-r15-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 412, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 6, "engine_ttft_ms": 152, "engine_ttlt_ms": 305, "pre_inference_ms": 102, "service_tbt_ms": 9, "service_ttft_ms": 389, "service_ttlt_ms": 608, "user_visible_ttft_ms": 288, }, "prompt_tokens": 1840, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, "total_tokens": 2252, }, }, ), expected=ExactExpected( spend=0.000507, input_cost=0.0002392, output_cost=0.0002678, prompt_tokens=1840, completion_tokens=412 ), ) AZURE_GPT_6_1_SOL_CACHE_READ: Final = AZURE_GPT_5_6_CACHE_READ.model_copy( update={ "name": "azure/gpt-6.1-sol-cache_read", "model": "azure/gpt-6.1-sol", "request": { "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "c3a6bc6e3512 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, "response": JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer c3a6bc6e3512", "refusal": None, "role": "assistant", }, } ], "created": 1792042948, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6.1-sol-2026-09-29", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260929042311-28ecf0ee-prefill-r1-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 380, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 23, "engine_ttft_ms": 484, "engine_ttlt_ms": 999, "pre_inference_ms": 151, "service_tbt_ms": 25, "service_ttft_ms": 1085, "service_ttlt_ms": 1610, "user_visible_ttft_ms": 934, }, "prompt_tokens": 12928, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 12288}, "total_tokens": 13308, }, }, ), "expected": ExactExpected( spend=0.00904512, input_cost=0.00448512, output_cost=0.00456, prompt_tokens=12928, completion_tokens=380, ), } ) AZURE_GPT_6_LUNA_CACHE_READ: Final = AZURE_GPT_5_6_CACHE_READ.model_copy( update={ "name": "azure/gpt-6-luna-cache_read", "model": "azure/gpt-6-luna", "request": { "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "67d7b9931ce9 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, "response": JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer 67d7b9931ce9", "refusal": None, "role": "assistant", }, } ], "created": 1792042952, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-luna-2026-09-22", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260919024711-372ad1ad-prefill-r2-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 380, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 7, "engine_ttft_ms": 110, "engine_ttlt_ms": 706, "pre_inference_ms": 254, "service_tbt_ms": 7, "service_ttft_ms": 647, "service_ttlt_ms": 1238, "user_visible_ttft_ms": 393, }, "prompt_tokens": 12928, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 12288}, "total_tokens": 13308, }, }, ), "expected": ExactExpected( spend=0.000489944, input_cost=0.000242944, output_cost=0.000247, prompt_tokens=12928, completion_tokens=380, ), } ) AZURE_GPT_6_ASTRA_CACHE_READ: Final = AZURE_GPT_5_6_CACHE_READ.model_copy( update={ "name": "azure/gpt-6-astra-cache_read", "model": "azure/gpt-6-astra", "request": { "model": "$MODEL", "messages": [ { "role": "system", "content": [ { "type": "text", "text": "You are a deterministic pricing-harness assistant. Keep answers to a single short line.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "84f5db610aa3 summarize the attached material in one line and name the city weather", } ], }, ], "stream": False, "allowed_openai_params": [], }, "response": JsonResponse( content_type="application/json", body={ "choices": [ { "content_filter_results": _GPT_6_CONTENT_FILTER_RESULTS, "finish_reason": "stop", "index": 0, "logprobs": None, "message": { "annotations": [], "content": "scripted answer 84f5db610aa3", "refusal": None, "role": "assistant", }, } ], "created": 1792042958, "id": "chatcmpl-$REQUEST_ID", "model": "gpt-6-astra-2026-09-03", "object": "chat.completion", "prompt_filter_results": _GPT_6_PROMPT_FILTER_RESULTS, "routing": {"serving_pipereplica": "d20260930073654-95d85d6a-prefill-r29-dp0-prefill"}, "service_tier": "default", "system_fingerprint": None, "usage": { "completion_tokens": 380, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 25, "engine_ttft_ms": 697, "engine_ttlt_ms": 1373, "pre_inference_ms": 142, "service_tbt_ms": 26, "service_ttft_ms": 1289, "service_ttlt_ms": 1956, "user_visible_ttft_ms": 1147, }, "prompt_tokens": 12928, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 12288}, "total_tokens": 13308, }, }, ), "expected": ExactExpected( spend=0.04711, input_cost=0.02336, output_cost=0.02375, prompt_tokens=12928, completion_tokens=380, ), } ) AZURE_GPT_6_SOL_MESSAGES_BRIDGED_JSON: Final = AZURE_GPT_6_SOL_INPUT_TEXT.model_copy( update={ "name": "azure-gpt-6-sol-messages_bridged_json", "endpoint": "/v1/messages", "request": { "model": "$MODEL", "max_tokens": 412, "messages": [{"role": "user", "content": "azure chat native fixture"}], }, } ) AZURE_GPT_6_LUNA_MESSAGES_BRIDGED_JSON: Final = AZURE_GPT_6_LUNA_INPUT_TEXT.model_copy( update={ "name": "azure-gpt-6-luna-messages_bridged_json", "endpoint": "/v1/messages", "request": { "model": "$MODEL", "max_tokens": 412, "messages": [{"role": "user", "content": "azure chat native fixture"}], }, } ) AZURE_GPT_6_ASTRA_MESSAGES_BRIDGED_JSON: Final = AZURE_GPT_6_ASTRA_INPUT_TEXT.model_copy( update={ "name": "azure-gpt-6-astra-messages_bridged_json", "endpoint": "/v1/messages", "request": { "model": "$MODEL", "max_tokens": 412, "messages": [{"role": "user", "content": "azure chat native fixture"}], }, } ) AZURE_GPT_6_1_SOL_MESSAGES_BRIDGED_JSON: Final = AZURE_GPT_6_1_SOL_INPUT_TEXT.model_copy( update={ "name": "azure-gpt-6.1-sol-messages_bridged_json", "endpoint": "/v1/messages", "request": { "model": "$MODEL", "max_tokens": 412, "messages": [{"role": "user", "content": "azure chat native fixture"}], }, } ) AZURE_GPT_6_SOL_TIERED_INPUT_ABOVE_272K: Final = with_usage( AZURE_GPT_6_SOL_INPUT_TEXT, "azure-gpt-6-sol-tiered_input_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, }, ExactExpected(spend=1.389476, input_cost=1.38, output_cost=0.009476, prompt_tokens=300000, completion_tokens=412), ) AZURE_GPT_6_SOL_TIERED_CACHE_READ_ABOVE_272K: Final = with_usage( AZURE_GPT_6_SOL_INPUT_TEXT, "azure-gpt-6-sol-tiered_cache_read_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 200000}, }, ExactExpected(spend=0.561476, input_cost=0.552, output_cost=0.009476, prompt_tokens=300000, completion_tokens=412), ) AZURE_GPT_6_SOL_TIERED_AT_272K_BOUNDARY: Final = with_usage( AZURE_GPT_6_SOL_INPUT_TEXT, "azure-gpt-6-sol-tiered_at_272k_boundary", { "prompt_tokens": 272000, "total_tokens": 272412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, }, ExactExpected(spend=0.630338, input_cost=0.6256, output_cost=0.004738, prompt_tokens=272000, completion_tokens=412), ) AZURE_GPT_6_SOL_TIERED_FLEX_ABOVE_272K: Final = with_usage( AZURE_GPT_6_SOL_SERVICE_TIER_FLEX, "azure-gpt-6-sol-tiered_flex_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, }, ExactExpected(spend=0.694738, input_cost=0.69, output_cost=0.004738, prompt_tokens=300000, completion_tokens=412), ) AZURE_GPT_6_SOL_TIERED_PRIORITY_ABOVE_272K: Final = with_usage( AZURE_GPT_6_SOL_SERVICE_TIER_PRIORITY, "azure-gpt-6-sol-tiered_priority_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, }, ExactExpected(spend=2.778952, input_cost=2.76, output_cost=0.018952, prompt_tokens=300000, completion_tokens=412), ) AZURE_GPT_6_LUNA_TIERED_INPUT_ABOVE_272K: Final = with_usage( AZURE_GPT_6_LUNA_INPUT_TEXT, "azure-gpt-6-luna-tiered_input_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, }, ExactExpected( spend=0.0785356, input_cost=0.078, output_cost=0.0005356, prompt_tokens=300000, completion_tokens=412 ), ) AZURE_GPT_6_LUNA_TIERED_CACHE_READ_ABOVE_272K: Final = with_usage( AZURE_GPT_6_LUNA_INPUT_TEXT, "azure-gpt-6-luna-tiered_cache_read_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 200000}, }, ExactExpected( spend=0.0317356, input_cost=0.0312, output_cost=0.0005356, prompt_tokens=300000, completion_tokens=412 ), ) AZURE_GPT_6_LUNA_TIERED_AT_272K_BOUNDARY: Final = with_usage( AZURE_GPT_6_LUNA_INPUT_TEXT, "azure-gpt-6-luna-tiered_at_272k_boundary", { "prompt_tokens": 272000, "total_tokens": 272412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, }, ExactExpected( spend=0.0356278, input_cost=0.03536, output_cost=0.0002678, prompt_tokens=272000, completion_tokens=412 ), ) AZURE_GPT_6_ASTRA_TIERED_INPUT_ABOVE_272K: Final = with_usage( AZURE_GPT_6_ASTRA_INPUT_TEXT, "azure-gpt-6-astra-tiered_input_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, }, ExactExpected(spend=7.5515, input_cost=7.5, output_cost=0.0515, prompt_tokens=300000, completion_tokens=412), ) AZURE_GPT_6_ASTRA_TIERED_CACHE_READ_ABOVE_272K: Final = with_usage( AZURE_GPT_6_ASTRA_INPUT_TEXT, "azure-gpt-6-astra-tiered_cache_read_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 200000}, }, ExactExpected(spend=3.0515, input_cost=3.0, output_cost=0.0515, prompt_tokens=300000, completion_tokens=412), ) AZURE_GPT_6_ASTRA_TIERED_AT_272K_BOUNDARY: Final = with_usage( AZURE_GPT_6_ASTRA_INPUT_TEXT, "azure-gpt-6-astra-tiered_at_272k_boundary", { "prompt_tokens": 272000, "total_tokens": 272412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, }, ExactExpected(spend=3.42575, input_cost=3.4, output_cost=0.02575, prompt_tokens=272000, completion_tokens=412), ) AZURE_GPT_6_1_SOL_TIERED_INPUT_ABOVE_272K: Final = with_usage( AZURE_GPT_6_1_SOL_INPUT_TEXT, "azure-gpt-6.1-sol-tiered_input_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, }, ExactExpected(spend=1.449888, input_cost=1.44, output_cost=0.009888, prompt_tokens=300000, completion_tokens=412), ) AZURE_GPT_6_1_SOL_TIERED_CACHE_READ_ABOVE_272K: Final = with_usage( AZURE_GPT_6_1_SOL_INPUT_TEXT, "azure-gpt-6.1-sol-tiered_cache_read_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 200000}, }, ExactExpected(spend=0.585888, input_cost=0.576, output_cost=0.009888, prompt_tokens=300000, completion_tokens=412), ) AZURE_GPT_6_1_SOL_TIERED_AT_272K_BOUNDARY: Final = with_usage( AZURE_GPT_6_1_SOL_INPUT_TEXT, "azure-gpt-6.1-sol-tiered_at_272k_boundary", { "prompt_tokens": 272000, "total_tokens": 272412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, }, ExactExpected(spend=0.657744, input_cost=0.6528, output_cost=0.004944, prompt_tokens=272000, completion_tokens=412), ) AZURE_GPT_6_1_SOL_CACHE_WRITE_5M: Final = with_response_usage( AZURE_GPT_6_1_SOL_CACHE_READ, "azure/gpt-6.1-sol-cache_write_5m", { "completion_tokens": 380, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 15, "engine_ttft_ms": 1118, "engine_ttlt_ms": 1221, "pre_inference_ms": 172, "service_tbt_ms": 15, "service_ttft_ms": 1562, "service_ttlt_ms": 1652, "user_visible_ttft_ms": 1390, }, "prompt_tokens": 12928, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 12288, "cached_tokens": 0}, "total_tokens": 13308, }, ExactExpected(spend=0.04296, input_cost=0.0384, output_cost=0.00456, prompt_tokens=12928, completion_tokens=380), ) AZURE_GPT_6_LUNA_CACHE_WRITE_5M: Final = with_response_usage( AZURE_GPT_6_LUNA_CACHE_READ, "azure/gpt-6-luna-cache_write_5m", { "completion_tokens": 380, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 7, "engine_ttft_ms": 143, "engine_ttlt_ms": 309, "pre_inference_ms": 132, "service_tbt_ms": 8, "service_ttft_ms": 566, "service_ttlt_ms": 748, "user_visible_ttft_ms": 434, }, "prompt_tokens": 12928, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 12288, "cached_tokens": 0}, "total_tokens": 13308, }, ExactExpected(spend=0.002327, input_cost=0.00208, output_cost=0.000247, prompt_tokens=12928, completion_tokens=380), choice_updates={ "content_filter_result": {"error": {"code": "content_filter_error", "message": "The contents are not filtered"}} }, ) AZURE_GPT_5_6_TERRA_INPUT_TEXT: Final = AZURE_GPT_6_LUNA_INPUT_TEXT.model_copy( update={ "name": "azure-gpt-5.6-terra-input_text", "model": "azure/gpt-5.6-terra", "response": _response_for_model( cast(JsonResponse, AZURE_GPT_6_LUNA_INPUT_TEXT.response), "gpt-5.6-terra-2026-07-09" ), "expected": ExactExpected( spend=0.0094864, input_cost=0.004048, output_cost=0.0054384, prompt_tokens=1840, completion_tokens=412, ), } ) AZURE_GPT_5_6_TERRA_STREAM: Final = AZURE_GPT_6_LUNA_STREAM.model_copy( update={ "name": "azure-gpt-5.6-terra-stream", "model": "azure/gpt-5.6-terra", "response": _stream_for_model( cast(SseResponse, AZURE_GPT_6_LUNA_STREAM.response), "gpt-5.6-terra-2026-07-09" ), "expected": ExactExpected( spend=0.0094864, input_cost=0.004048, output_cost=0.0054384, prompt_tokens=1840, completion_tokens=412, ), } ) AZURE_GPT_5_6_TERRA_SERVICE_TIER_FLEX: Final = AZURE_GPT_5_6_SERVICE_TIER_FLEX.model_copy( update={ "name": "azure-gpt-5.6-terra-service_tier_flex", "model": "azure/gpt-5.6-terra", "response": _response_for_model( cast(JsonResponse, AZURE_GPT_5_6_SERVICE_TIER_FLEX.response), "gpt-5.6-terra-2026-07-09" ), "expected": ExactExpected( spend=0.0047432, input_cost=0.002024, output_cost=0.0027192, prompt_tokens=1840, completion_tokens=412, ), } ) AZURE_GPT_5_6_TERRA_SERVICE_TIER_PRIORITY: Final = AZURE_GPT_5_6_SERVICE_TIER_PRIORITY.model_copy( update={ "name": "azure-gpt-5.6-terra-service_tier_priority", "model": "azure/gpt-5.6-terra", "response": _response_for_model( cast(JsonResponse, AZURE_GPT_5_6_SERVICE_TIER_PRIORITY.response), "gpt-5.6-terra-2026-07-09", service_tier="default", ), "expected": ExactExpected( spend=0.0189728, input_cost=0.008096, output_cost=0.0108768, prompt_tokens=1840, completion_tokens=412, ), "known_bug": "Azure GPT Terra priority service tier is billed at the base rate", } ) AZURE_GPT_5_6_TERRA_MESSAGES_BRIDGED_JSON: Final = AZURE_GPT_6_LUNA_MESSAGES_BRIDGED_JSON.model_copy( update={ "name": "azure-gpt-5.6-terra-messages_bridged_json", "model": "azure/gpt-5.6-terra", "response": _response_for_model( cast(JsonResponse, AZURE_GPT_6_LUNA_MESSAGES_BRIDGED_JSON.response), "gpt-5.6-terra-2026-07-09" ), "expected": ExactExpected( spend=0.0094864, input_cost=0.004048, output_cost=0.0054384, prompt_tokens=1840, completion_tokens=412, ), } ) AZURE_GPT_5_6_TERRA_CACHE_READ: Final = AZURE_GPT_6_LUNA_CACHE_READ.model_copy( update={ "name": "azure/gpt-5.6-terra-cache_read", "model": "azure/gpt-5.6-terra", "response": _response_for_model( cast(JsonResponse, AZURE_GPT_6_LUNA_CACHE_READ.response), "gpt-5.6-terra-2026-07-09" ), "expected": ExactExpected( spend=0.00912736, input_cost=0.00411136, output_cost=0.005016, prompt_tokens=12928, completion_tokens=380, ), } ) AZURE_GPT_5_6_TERRA_CACHE_WRITE_5M: Final = AZURE_GPT_6_LUNA_CACHE_WRITE_5M.model_copy( update={ "name": "azure/gpt-5.6-terra-cache_write_5m", "model": "azure/gpt-5.6-terra", "response": _response_for_model( cast(JsonResponse, AZURE_GPT_6_LUNA_CACHE_WRITE_5M.response), "gpt-5.6-terra-2026-07-09" ), "expected": ExactExpected( spend=0.040216, input_cost=0.0352, output_cost=0.005016, prompt_tokens=12928, completion_tokens=380, ), } ) AZURE_GPT_5_6_TERRA_REASONING: Final = AZURE_GPT_6_LUNA_REASONING.model_copy( update={ "name": "azure/gpt-5.6-terra-reasoning", "model": "azure/gpt-5.6-terra", "response": _response_for_model( cast(JsonResponse, AZURE_GPT_6_LUNA_REASONING.response), "gpt-5.6-terra-2026-07-09" ), "expected": ExactExpected( spend=0.056056, input_cost=0.002728, output_cost=0.053328, prompt_tokens=1240, completion_tokens=4040, ), } ) AZURE_GPT_5_6_TERRA_TOOL_CALL: Final = AZURE_GPT_6_LUNA_TOOL_CALL.model_copy( update={ "name": "azure/gpt-5.6-terra-tool_call", "model": "azure/gpt-5.6-terra", "response": _response_for_model( cast(JsonResponse, AZURE_GPT_6_LUNA_TOOL_CALL.response), "gpt-5.6-terra-2026-07-09" ), "expected": ExactExpected( spend=0.0094864, input_cost=0.004048, output_cost=0.0054384, prompt_tokens=1840, completion_tokens=412, ), } ) AZURE_GPT_6_ASTRA_CACHE_WRITE_5M: Final = with_response_usage( AZURE_GPT_6_ASTRA_CACHE_READ, "azure/gpt-6-astra-cache_write_5m", { "completion_tokens": 380, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0, "rejected_prediction_tokens": 0, }, "latency_checkpoint": { "engine_tbt_ms": 36, "engine_ttft_ms": 537, "engine_ttlt_ms": 751, "pre_inference_ms": 356, "service_tbt_ms": 41, "service_ttft_ms": 1166, "service_ttlt_ms": 1371, "user_visible_ttft_ms": 810, }, "prompt_tokens": 12928, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 12288, "cached_tokens": 0}, "total_tokens": 13308, }, ExactExpected(spend=0.22375, input_cost=0.2, output_cost=0.02375, prompt_tokens=12928, completion_tokens=380), ) AZURE_GPT_5_6_TERRA_TIERED_INPUT_ABOVE_272K: Final = with_usage( AZURE_GPT_5_6_TERRA_INPUT_TEXT, "azure/gpt-5.6-terra-tiered_input_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 0}, }, ExactExpected( spend=1.3281576, input_cost=1.32, output_cost=0.0081576, prompt_tokens=300000, completion_tokens=412 ), ) AZURE_GPT_5_6_TERRA_TIERED_CACHE_READ_ABOVE_272K: Final = with_usage( AZURE_GPT_5_6_TERRA_INPUT_TEXT, "azure/gpt-5.6-terra-tiered_cache_read_above_272k", { "prompt_tokens": 300000, "total_tokens": 300412, "prompt_tokens_details": {"audio_tokens": 0, "cache_write_tokens": 0, "cached_tokens": 200000}, }, ExactExpected( spend=0.5361576, input_cost=0.528, output_cost=0.0081576, prompt_tokens=300000, completion_tokens=412 ), ) AZURE_GPT_6_1_SOL_RESPONSES_JSON: Final = _azure_responses_json_case( AZURE_GPT_6_1_SOL_INPUT_TEXT, "azure-gpt-6.1-sol-responses_json", "gpt-6.1-sol", None ) AZURE_GPT_6_LUNA_RESPONSES_JSON: Final = _azure_responses_json_case( AZURE_GPT_6_LUNA_INPUT_TEXT, "azure-gpt-6-luna-responses_json", "gpt-6-luna", None ) AZURE_GPT_6_ASTRA_RESPONSES_JSON: Final = _azure_responses_json_case( AZURE_GPT_6_ASTRA_INPUT_TEXT, "azure-gpt-6-astra-responses_json", "gpt-6-astra", [] ) AZURE_GPT_5_6_TERRA_RESPONSES_JSON: Final = _azure_responses_json_case( AZURE_GPT_5_6_TERRA_INPUT_TEXT, "azure-gpt-5.6-terra-responses_json", "gpt-5.6-terra", None ) AZURE_GPT_6_1_SOL_RESPONSES_STREAM: Final = _responses_stream_case( AZURE_GPT_6_1_SOL_RESPONSES_JSON, "azure-gpt-6.1-sol-responses_stream", "gpt-6.1-sol", 14, include_content_filters=True, ) AZURE_GPT_6_LUNA_RESPONSES_STREAM: Final = _responses_stream_case( AZURE_GPT_6_LUNA_RESPONSES_JSON, "azure-gpt-6-luna-responses_stream", "gpt-6-luna", 25, include_content_filters=True, ) AZURE_GPT_6_ASTRA_RESPONSES_STREAM: Final = _responses_stream_case( AZURE_GPT_6_ASTRA_RESPONSES_JSON, "azure-gpt-6-astra-responses_stream", "gpt-6-astra", 16, include_content_filters=True, content_filters=[], ) AZURE_GPT_5_6_TERRA_RESPONSES_STREAM: Final = _responses_stream_case( AZURE_GPT_5_6_TERRA_RESPONSES_JSON, "azure-gpt-5.6-terra-responses_stream", "gpt-5.6-terra", 15, include_content_filters=True, ) AZURE_GPT_6_1_SOL_MESSAGES_BRIDGED_STREAM: Final = _azure_messages_stream_case( AZURE_GPT_6_1_SOL_MESSAGES_BRIDGED_JSON, AZURE_GPT_6_1_SOL_STREAM, "azure-gpt-6.1-sol-messages_bridged_stream" ) AZURE_GPT_6_LUNA_MESSAGES_BRIDGED_STREAM: Final = _azure_messages_stream_case( AZURE_GPT_6_LUNA_MESSAGES_BRIDGED_JSON, AZURE_GPT_6_LUNA_STREAM, "azure-gpt-6-luna-messages_bridged_stream" ) AZURE_GPT_6_ASTRA_MESSAGES_BRIDGED_STREAM: Final = _azure_messages_stream_case( AZURE_GPT_6_ASTRA_MESSAGES_BRIDGED_JSON, AZURE_GPT_6_ASTRA_STREAM, "azure-gpt-6-astra-messages_bridged_stream" ) AZURE_GPT_5_6_TERRA_MESSAGES_BRIDGED_STREAM: Final = _azure_messages_stream_case( AZURE_GPT_5_6_TERRA_MESSAGES_BRIDGED_JSON, AZURE_GPT_5_6_TERRA_STREAM, "azure-gpt-5.6-terra-messages_bridged_stream" ) CASES: Final[tuple[CostTrackingTestCase, ...]] = ( AZURE_GPT_6_SOL_MESSAGES_BRIDGED_JSON, AZURE_GPT_6_LUNA_MESSAGES_BRIDGED_JSON, AZURE_GPT_6_ASTRA_MESSAGES_BRIDGED_JSON, AZURE_GPT_6_1_SOL_MESSAGES_BRIDGED_JSON, AZURE_GPT_6_SOL_TIERED_INPUT_ABOVE_272K, AZURE_GPT_6_SOL_TIERED_CACHE_READ_ABOVE_272K, AZURE_GPT_6_SOL_TIERED_AT_272K_BOUNDARY, AZURE_GPT_6_SOL_TIERED_FLEX_ABOVE_272K, AZURE_GPT_6_SOL_TIERED_PRIORITY_ABOVE_272K, AZURE_GPT_6_LUNA_TIERED_INPUT_ABOVE_272K, AZURE_GPT_6_LUNA_TIERED_CACHE_READ_ABOVE_272K, AZURE_GPT_6_LUNA_TIERED_AT_272K_BOUNDARY, AZURE_GPT_6_ASTRA_TIERED_INPUT_ABOVE_272K, AZURE_GPT_6_ASTRA_TIERED_CACHE_READ_ABOVE_272K, AZURE_GPT_6_ASTRA_TIERED_AT_272K_BOUNDARY, AZURE_GPT_6_1_SOL_TIERED_INPUT_ABOVE_272K, AZURE_GPT_6_1_SOL_TIERED_CACHE_READ_ABOVE_272K, AZURE_GPT_6_1_SOL_TIERED_AT_272K_BOUNDARY, AZURE_GPT_5_4_MINI_INPUT_TEXT, AZURE_GPT_5_4_MINI_CACHE_READ, AZURE_GPT_5_4_MINI_AUDIO_INPUT, AZURE_GPT_5_4_MINI_AUDIO_OUTPUT, AZURE_GPT_5_4_MINI_REASONING, AZURE_GPT_5_4_MINI_SERVICE_TIER_FLEX, AZURE_GPT_5_4_MINI_SERVICE_TIER_PRIORITY, AZURE_GPT_5_4_MINI_WEB_SEARCH_MEDIUM, AZURE_GPT_5_4_MINI_WEB_SEARCH_LOW, AZURE_GPT_5_4_MINI_WEB_SEARCH_HIGH, AZURE_GPT_5_4_MINI_STREAM, AZURE_GPT_5_4_MINI_STREAM_NO_USAGE, AZURE_GPT_5_4_MINI_STREAM_NO_USAGE_TOOL_CALL, AZURE_GPT_5_4_MINI_STREAM_NO_USAGE_IMAGE_INPUT, AZURE_GPT_5_4_MINI_RESPONSE_MODEL_OVERRIDE, AZURE_GPT_5_4_MINI_STREAM_RESPONSE_MODEL_OVERRIDE, AZURE_GPT_5_4_MINI_TOOL_CALL, AZURE_GPT_5_4_MINI_STREAM_TOOL_CALL, AZURE_GPT_5_4_MINI_STREAM_FULL_USAGE, AZURE_GPT_5_6_INPUT_TEXT, AZURE_GPT_5_6_CACHE_READ, AZURE_GPT_5_6_AUDIO_INPUT, AZURE_GPT_5_6_AUDIO_OUTPUT, AZURE_GPT_5_6_REASONING, AZURE_GPT_5_6_SERVICE_TIER_FLEX, AZURE_GPT_5_6_SERVICE_TIER_PRIORITY, AZURE_GPT_5_6_WEB_SEARCH_MEDIUM, AZURE_GPT_5_6_WEB_SEARCH_LOW, AZURE_GPT_5_6_WEB_SEARCH_HIGH, AZURE_GPT_5_6_STREAM, AZURE_GPT_5_6_STREAM_NO_USAGE, AZURE_GPT_5_6_STREAM_NO_USAGE_TOOL_CALL, AZURE_GPT_5_6_STREAM_NO_USAGE_IMAGE_INPUT, AZURE_GPT_5_6_RESPONSE_MODEL_OVERRIDE, AZURE_GPT_5_6_STREAM_RESPONSE_MODEL_OVERRIDE, AZURE_GPT_5_6_TOOL_CALL, AZURE_GPT_5_6_STREAM_TOOL_CALL, AZURE_GPT_5_6_STREAM_FULL_USAGE, AZURE_WHISPER_NEXT_TRANSCRIPTIONS_DEPLOYMENT, AZURE_TTS_NEXT_SPEECH_DEPLOYMENT, AZURE_TEXT_EMBEDDINGS_4_LARGE_DEPLOYMENT, AZURE_PINNED_GPT_5_4_MINI_STREAM, AZURE_GPT_6_SOL_INPUT_TEXT, AZURE_GPT_6_SOL_STREAM, AZURE_GPT_6_SOL_SERVICE_TIER_FLEX, AZURE_GPT_6_SOL_SERVICE_TIER_PRIORITY, AZURE_GPT_6_LUNA_INPUT_TEXT, AZURE_GPT_6_LUNA_STREAM, AZURE_GPT_6_ASTRA_INPUT_TEXT, AZURE_GPT_6_ASTRA_STREAM, AZURE_GPT_6_1_SOL_INPUT_TEXT, AZURE_GPT_6_1_SOL_STREAM, AZURE_GPT_6_SOL_REASONING, AZURE_GPT_6_SOL_STREAM_NO_USAGE, AZURE_GPT_6_LUNA_REASONING, AZURE_GPT_6_LUNA_STREAM_NO_USAGE, AZURE_GPT_6_ASTRA_REASONING, AZURE_GPT_6_ASTRA_STREAM_NO_USAGE, AZURE_GPT_6_1_SOL_REASONING, AZURE_GPT_6_1_SOL_STREAM_NO_USAGE, AZURE_GPT_6_SOL_UPSTREAM_404_ZERO_SPEND, AZURE_GPT_6_SOL_INPUT_TEXT_ROLLUPS, AZURE_GPT_6_SOL_TOOL_CALL, AZURE_GPT_6_LUNA_TOOL_CALL, AZURE_GPT_6_1_SOL_CACHE_READ, AZURE_GPT_6_LUNA_CACHE_READ, AZURE_GPT_6_ASTRA_CACHE_READ, AZURE_GPT_6_1_SOL_CACHE_WRITE_5M, AZURE_GPT_6_LUNA_CACHE_WRITE_5M, AZURE_GPT_6_ASTRA_CACHE_WRITE_5M, AZURE_GPT_5_6_TERRA_INPUT_TEXT, AZURE_GPT_5_6_TERRA_TIERED_INPUT_ABOVE_272K, AZURE_GPT_5_6_TERRA_TIERED_CACHE_READ_ABOVE_272K, AZURE_GPT_5_6_TERRA_STREAM, AZURE_GPT_5_6_TERRA_SERVICE_TIER_FLEX, AZURE_GPT_5_6_TERRA_SERVICE_TIER_PRIORITY, AZURE_GPT_5_6_TERRA_MESSAGES_BRIDGED_JSON, AZURE_GPT_5_6_TERRA_CACHE_READ, AZURE_GPT_5_6_TERRA_CACHE_WRITE_5M, AZURE_GPT_5_6_TERRA_REASONING, AZURE_GPT_5_6_TERRA_TOOL_CALL, AZURE_GPT_6_1_SOL_RESPONSES_JSON, AZURE_GPT_6_1_SOL_RESPONSES_STREAM, AZURE_GPT_6_LUNA_RESPONSES_JSON, AZURE_GPT_6_LUNA_RESPONSES_STREAM, AZURE_GPT_6_ASTRA_RESPONSES_JSON, AZURE_GPT_6_ASTRA_RESPONSES_STREAM, AZURE_GPT_5_6_TERRA_RESPONSES_JSON, AZURE_GPT_5_6_TERRA_RESPONSES_STREAM, AZURE_GPT_6_1_SOL_MESSAGES_BRIDGED_STREAM, AZURE_GPT_6_LUNA_MESSAGES_BRIDGED_STREAM, AZURE_GPT_6_ASTRA_MESSAGES_BRIDGED_STREAM, AZURE_GPT_5_6_TERRA_MESSAGES_BRIDGED_STREAM, ) PARITY: Final[tuple[StreamParityTestCase, ...]] = ( StreamParityTestCase(plain=AZURE_GPT_5_6_INPUT_TEXT, streamed=AZURE_GPT_5_6_STREAM), StreamParityTestCase( plain=AZURE_GPT_5_6_RESPONSE_MODEL_OVERRIDE, streamed=AZURE_GPT_5_6_STREAM_RESPONSE_MODEL_OVERRIDE ), StreamParityTestCase(plain=AZURE_GPT_5_6_TOOL_CALL, streamed=AZURE_GPT_5_6_STREAM_TOOL_CALL), StreamParityTestCase(plain=AZURE_GPT_6_SOL_INPUT_TEXT, streamed=AZURE_GPT_6_SOL_STREAM), StreamParityTestCase(plain=AZURE_GPT_6_LUNA_INPUT_TEXT, streamed=AZURE_GPT_6_LUNA_STREAM), StreamParityTestCase(plain=AZURE_GPT_6_ASTRA_INPUT_TEXT, streamed=AZURE_GPT_6_ASTRA_STREAM), StreamParityTestCase(plain=AZURE_GPT_6_1_SOL_INPUT_TEXT, streamed=AZURE_GPT_6_1_SOL_STREAM), StreamParityTestCase(plain=AZURE_GPT_5_6_TERRA_INPUT_TEXT, streamed=AZURE_GPT_5_6_TERRA_STREAM), StreamParityTestCase(plain=AZURE_GPT_6_1_SOL_RESPONSES_JSON, streamed=AZURE_GPT_6_1_SOL_RESPONSES_STREAM), StreamParityTestCase(plain=AZURE_GPT_6_LUNA_RESPONSES_JSON, streamed=AZURE_GPT_6_LUNA_RESPONSES_STREAM), StreamParityTestCase(plain=AZURE_GPT_6_ASTRA_RESPONSES_JSON, streamed=AZURE_GPT_6_ASTRA_RESPONSES_STREAM), StreamParityTestCase(plain=AZURE_GPT_5_6_TERRA_RESPONSES_JSON, streamed=AZURE_GPT_5_6_TERRA_RESPONSES_STREAM), StreamParityTestCase( plain=AZURE_GPT_6_1_SOL_MESSAGES_BRIDGED_JSON, streamed=AZURE_GPT_6_1_SOL_MESSAGES_BRIDGED_STREAM ), StreamParityTestCase( plain=AZURE_GPT_6_LUNA_MESSAGES_BRIDGED_JSON, streamed=AZURE_GPT_6_LUNA_MESSAGES_BRIDGED_STREAM ), StreamParityTestCase( plain=AZURE_GPT_6_ASTRA_MESSAGES_BRIDGED_JSON, streamed=AZURE_GPT_6_ASTRA_MESSAGES_BRIDGED_STREAM ), StreamParityTestCase( plain=AZURE_GPT_5_6_TERRA_MESSAGES_BRIDGED_JSON, streamed=AZURE_GPT_5_6_TERRA_MESSAGES_BRIDGED_STREAM ), ) BRIDGE_COST_PARITY: Final[tuple[BridgeCostParityTestCase, ...]] = ( *bridge_pairs( (AZURE_GPT_5_6_INPUT_TEXT, AZURE_GPT_5_6_CACHE_READ, AZURE_GPT_5_6_STREAM, AZURE_GPT_5_6_REASONING), ("/v1/messages",), ), BridgeCostParityTestCase(native=AZURE_GPT_6_SOL_INPUT_TEXT, bridged=AZURE_GPT_6_SOL_MESSAGES_BRIDGED_JSON), BridgeCostParityTestCase(native=AZURE_GPT_6_LUNA_INPUT_TEXT, bridged=AZURE_GPT_6_LUNA_MESSAGES_BRIDGED_JSON), BridgeCostParityTestCase(native=AZURE_GPT_6_ASTRA_INPUT_TEXT, bridged=AZURE_GPT_6_ASTRA_MESSAGES_BRIDGED_JSON), BridgeCostParityTestCase(native=AZURE_GPT_6_1_SOL_INPUT_TEXT, bridged=AZURE_GPT_6_1_SOL_MESSAGES_BRIDGED_JSON), BridgeCostParityTestCase( native=AZURE_GPT_5_6_TERRA_INPUT_TEXT, bridged=AZURE_GPT_5_6_TERRA_MESSAGES_BRIDGED_JSON ), BridgeCostParityTestCase(native=AZURE_GPT_6_1_SOL_STREAM, bridged=AZURE_GPT_6_1_SOL_MESSAGES_BRIDGED_STREAM), BridgeCostParityTestCase(native=AZURE_GPT_6_LUNA_STREAM, bridged=AZURE_GPT_6_LUNA_MESSAGES_BRIDGED_STREAM), BridgeCostParityTestCase(native=AZURE_GPT_6_ASTRA_STREAM, bridged=AZURE_GPT_6_ASTRA_MESSAGES_BRIDGED_STREAM), BridgeCostParityTestCase( native=AZURE_GPT_5_6_TERRA_STREAM, bridged=AZURE_GPT_5_6_TERRA_MESSAGES_BRIDGED_STREAM ), )