feat(aws-bedrock-mantle/openai.gpt-5.6-luna): add new models [bot]#1755
Conversation
|
/test-models |
Gateway test results
Failures (12)
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "What is the capital of France?"},
],
stream=False,
)
print(response.choices[0].message.content)
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
},
]
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
],
tools=tools,
tool_choice="auto",
stream=False,
)
_message = response.choices[0].message
if _message.tool_calls:
for _tc in _message.tool_calls:
print(f"Function: {_tc.function.name}")
print(f"Arguments: {_tc.function.arguments}")
else:
print(_message.content)
if not _message.tool_calls or len(_message.tool_calls) == 0:
raise Exception("VALIDATION FAILED: tool-call - no tool calls in response")
print("VALIDATION: tool-call SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
],
reasoning_effort="medium",
stream=False,
)
_usage = getattr(response, "usage", None)
_reasoning_detected = False
_choices = getattr(response, "choices", None)
if _choices and len(_choices) > 0:
_message = getattr(_choices[0], "message", None)
else:
_message = None
if _message and getattr(_message, "content", None) is not None:
print(_message.content)
if _usage is not None:
_output_token_details = getattr(_usage, "completion_tokens_details", None)
if _output_token_details and getattr(_output_token_details, "reasoning_tokens", 0) > 0:
_reasoning_detected = True
elif getattr(_usage, "reasoning", None) is not None:
_reasoning_detected = True
if getattr(_message, "reasoning_content", None) is not None:
_reasoning_detected = True
elif getattr(_message, "reasoning", None) is not None:
_reasoning_detected = True
if not _reasoning_detected:
print("Response: ", response)
raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
print("VALIDATION: reasoning SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "List 3 colors with their hex codes in JSON."},
],
response_format={"type": "json_object"},
stream=False,
)
import json as _json
_content = response.choices[0].message.content
print(_content)
if not _content:
raise Exception("VALIDATION FAILED: json-output - response content is empty")
_json.loads(_content)
print("VALIDATION: json-output SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "What is the capital of France?"},
],
stream=True,
)
for chunk in response:
if chunk.choices and len(chunk.choices) > 0:
delta = chunk.choices[0].delta
if delta.content is not None:
print(delta.content, end="", flush=True)
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
},
]
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London and Paris. You MUST make both tool calls strictly in parallel, not sequentially."},
],
tools=tools,
tool_choice="auto",
parallel_tool_calls=True,
stream=False,
)
_message = response.choices[0].message
if _message.tool_calls:
print(f"Number of parallel tool calls: {len(_message.tool_calls)}")
for _tc in _message.tool_calls:
print(f"Function: {_tc.function.name}")
print(f"Arguments: {_tc.function.arguments}")
else:
print(_message.content)
if not _message.tool_calls or len(_message.tool_calls) < 1:
raise Exception(
f"VALIDATION FAILED: parallel-tool-call - expected at least 1 tool call, "
f"got {len(_message.tool_calls) if _message.tool_calls else 0}"
)
print("VALIDATION: parallel-tool-call SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
},
]
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London and Paris. You MUST make both tool calls strictly in parallel, not sequentially."},
],
tools=tools,
tool_choice="auto",
parallel_tool_calls=True,
stream=True,
)
_tool_call_indices = set()
for chunk in response:
if chunk.choices and len(chunk.choices) > 0:
delta = chunk.choices[0].delta
if delta.content is not None:
print(delta.content, end="", flush=True)
if delta.tool_calls:
for _tc in delta.tool_calls:
_tool_call_indices.add(_tc.index)
if _tc.function:
print(_tc.function.arguments or "", end="", flush=True)
if len(_tool_call_indices) < 1:
raise Exception(
f"VALIDATION FAILED: parallel-tool-call stream - expected at least 1 tool call, "
f"got {len(_tool_call_indices)}"
)
print(f"\nNumber of parallel tool calls: {len(_tool_call_indices)}")
print("VALIDATION: parallel-tool-call stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
],
reasoning_effort="medium",
stream=True,
)
_reasoning_detected = False
for chunk in response:
if chunk.choices and len(chunk.choices) > 0:
delta = chunk.choices[0].delta
if delta.content is not None:
print(delta.content, end="", flush=True)
if getattr(delta, "reasoning_content", None) is not None:
_reasoning_detected = True
if getattr(delta, "reasoning", None) is not None:
_reasoning_detected = True
_usage = getattr(chunk, "usage", None)
if _usage is not None:
_details = getattr(_usage, "completion_tokens_details", None)
if _details and getattr(_details, "reasoning_tokens", 0) > 0:
_reasoning_detected = True
if not _reasoning_detected:
raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
print("\nVALIDATION: reasoning stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "List 3 colors with their hex codes in JSON."},
],
response_format={"type": "json_object"},
stream=True,
)
import json as _json
_accumulated = ""
for chunk in response:
if chunk.choices and len(chunk.choices) > 0:
delta = chunk.choices[0].delta
if delta.content is not None:
_accumulated += delta.content
print(delta.content, end="", flush=True)
if not _accumulated:
raise Exception("VALIDATION FAILED: json-output stream - no content received")
_json.loads(_accumulated)
print("\nVALIDATION: json-output stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
import json
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response_schema = json.loads('''{
"title": "CalendarEvent",
"type": "object",
"properties": {
"name": { "type": "string" },
"date": { "type": "string" },
"participants": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["name", "date", "participants"],
"additionalProperties": false
}''')
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "Alice and Bob are going to a science fair on Friday. Extract the event details as JSON."},
],
response_format={"type": "json_schema", "json_schema": {"name": "CalendarEvent", "schema": response_schema}},
stream=True,
)
import json as _json
_accumulated = ""
for chunk in response:
if chunk.choices and len(chunk.choices) > 0:
delta = chunk.choices[0].delta
if delta.content is not None:
_accumulated += delta.content
print(delta.content, end="", flush=True)
if not _accumulated:
raise Exception("VALIDATION FAILED: structured-output stream - no content received")
_parsed = _json.loads(_accumulated)
if "name" not in _parsed or "date" not in _parsed or "participants" not in _parsed:
raise Exception("VALIDATION FAILED: structured-output stream - missing expected fields (name, date, participants)")
if not isinstance(_parsed.get("participants"), list):
raise Exception("VALIDATION FAILED: structured-output stream - 'participants' is not a list, schema not enforced")
if set(_parsed.keys()) != {"name", "date", "participants"}:
raise Exception(
f"VALIDATION FAILED: structured-output stream - unexpected keys present: {set(_parsed.keys())}"
)
print("\nVALIDATION: structured-output stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
import json
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response_schema = json.loads('''{
"title": "CalendarEvent",
"type": "object",
"properties": {
"name": { "type": "string" },
"date": { "type": "string" },
"participants": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["name", "date", "participants"],
"additionalProperties": false
}''')
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "Alice and Bob are going to a science fair on Friday. Extract the event details as JSON."},
],
response_format={"type": "json_schema", "json_schema": {"name": "CalendarEvent", "schema": response_schema}},
stream=False,
)
import json as _json
_content = response.choices[0].message.content
print(_content)
if not _content:
raise Exception("VALIDATION FAILED: structured-output - response content is empty")
_parsed = _json.loads(_content)
if "name" not in _parsed or "date" not in _parsed or "participants" not in _parsed:
raise Exception("VALIDATION FAILED: structured-output - missing expected fields (name, date, participants)")
if not isinstance(_parsed.get("participants"), list):
raise Exception("VALIDATION FAILED: structured-output - 'participants' is not a list, schema not enforced")
if set(_parsed.keys()) != {"name", "date", "participants"}:
raise Exception(
f"VALIDATION FAILED: structured-output - unexpected keys present: {set(_parsed.keys())}"
)
print("VALIDATION: structured-output SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
},
]
response = client.chat.completions.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
messages=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
],
tools=tools,
tool_choice="auto",
stream=True,
)
_tool_calls_made = False
for chunk in response:
if chunk.choices and len(chunk.choices) > 0:
delta = chunk.choices[0].delta
if delta.content is not None:
print(delta.content, end="", flush=True)
if delta.tool_calls:
_tool_calls_made = True
for _tc in delta.tool_calls:
if _tc.function:
print(_tc.function.arguments or "", end="", flush=True)
if not _tool_calls_made:
raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
print("\nVALIDATION: tool-call stream SUCCESS") |
|
/test-models |
…na-20260714-000538
|
/test-models |
Gateway test results
Failures (12)
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
]
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
],
tools=tools,
tool_choice="auto",
stream=False,
)
_tool_calls = [_item for _item in response.output if _item.type == "function_call"]
if not _tool_calls:
print(response.output_text)
print(f"Tools sent: {len(response.tools)}, tool_choice: {response.tool_choice}")
raise Exception(
"VALIDATION FAILED: tool-call - no tool calls in response"
)
for _tc in _tool_calls:
print(f"Function: {_tc.name}")
print(f"Arguments: {_tc.arguments}")
print("VALIDATION: tool-call SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
],
reasoning={"effort": "medium"},
stream=True,
)
_completed_response = None
for event in response:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
if event.type == "response.completed":
_completed_response = event.response
if _completed_response is None:
raise Exception(
"VALIDATION FAILED: reasoning stream - no completed response received"
)
_reasoning_items = [
_item for _item in (getattr(_completed_response, "output", None) or [])
if getattr(_item, "type", None) == "reasoning"
]
_usage = getattr(_completed_response, "usage", None)
_details = getattr(_usage, "output_tokens_details", None) if _usage else None
_reasoning_tokens = getattr(_details, "reasoning_tokens", 0) if _details else 0
if not _reasoning_items and not _reasoning_tokens:
raise Exception(
"VALIDATION FAILED: reasoning stream - no reasoning output items or reasoning tokens in response"
)
print("\nVALIDATION: reasoning stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
]
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London and Paris. You MUST make both tool calls strictly in parallel, not sequentially."},
],
tools=tools,
tool_choice="auto",
parallel_tool_calls=True,
stream=True,
)
_completed_response = None
for event in response:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
if event.type == "response.completed":
_completed_response = event.response
if _completed_response is None:
raise Exception(
"VALIDATION FAILED: parallel-tool-call stream - no completed response received"
)
_tool_calls = [_item for _item in _completed_response.output if _item.type == "function_call"]
if len(_tool_calls) < 1:
print(_completed_response.output_text)
print(f"Tools sent: {len(_completed_response.tools)}, tool_choice: {_completed_response.tool_choice}")
raise Exception(
f"VALIDATION FAILED: parallel-tool-call stream - expected at least 1 tool call, "
f"got {len(_tool_calls)}"
)
for _tc in _tool_calls:
print(f"\nFunction: {_tc.name}")
print(f"Arguments: {_tc.arguments}")
print("\nVALIDATION: parallel-tool-call stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "What is the capital of France?"},
],
stream=False,
)
print(response.output_text)
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
]
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London and Paris. You MUST make both tool calls strictly in parallel, not sequentially."},
],
tools=tools,
tool_choice="auto",
parallel_tool_calls=True,
stream=False,
)
_tool_calls = [_item for _item in response.output if _item.type == "function_call"]
if len(_tool_calls) < 1:
print(response.output_text)
print(f"Tools sent: {len(response.tools)}, tool_choice: {response.tool_choice}")
raise Exception(
f"VALIDATION FAILED: parallel-tool-call - expected at least 1 tool call, "
f"got {len(_tool_calls)}"
)
for _tc in _tool_calls:
print(f"Function: {_tc.name}")
print(f"Arguments: {_tc.arguments}")
print("VALIDATION: parallel-tool-call SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "What is the capital of France?"},
],
stream=True,
)
for event in response:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
]
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
],
tools=tools,
tool_choice="auto",
stream=True,
)
_completed_response = None
for event in response:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
if event.type == "response.completed":
_completed_response = event.response
if _completed_response is None:
raise Exception(
"VALIDATION FAILED: tool-call stream - no completed response received"
)
_tool_calls = [_item for _item in _completed_response.output if _item.type == "function_call"]
if not _tool_calls:
print(_completed_response.output_text)
print(f"Tools sent: {len(_completed_response.tools)}, tool_choice: {_completed_response.tool_choice}")
raise Exception(
"VALIDATION FAILED: tool-call stream - no tool calls in response"
)
for _tc in _tool_calls:
print(f"\nFunction: {_tc.name}")
print(f"Arguments: {_tc.arguments}")
print("\nVALIDATION: tool-call stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
import json
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response_schema = json.loads('''{
"title": "CalendarEvent",
"type": "object",
"properties": {
"name": { "type": "string" },
"date": { "type": "string" },
"participants": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["name", "date", "participants"],
"additionalProperties": false
}''')
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Alice and Bob are going to a science fair on Friday. Extract the event details as JSON."},
],
text={"format": {"type": "json_schema", "name": "CalendarEvent", "strict": True, "schema": response_schema}},
stream=True,
)
import json as _json
_accumulated = ""
for event in response:
if event.type == "response.output_text.delta":
_accumulated += event.delta
print(event.delta, end="", flush=True)
if not _accumulated:
raise Exception("VALIDATION FAILED: structured-output stream - no content received")
_parsed = _json.loads(_accumulated)
if "name" not in _parsed or "date" not in _parsed or "participants" not in _parsed:
raise Exception("VALIDATION FAILED: structured-output stream - missing expected fields (name, date, participants)")
if not isinstance(_parsed.get("participants"), list):
raise Exception("VALIDATION FAILED: structured-output stream - 'participants' is not a list, schema not enforced")
if set(_parsed.keys()) != {"name", "date", "participants"}:
raise Exception(
f"VALIDATION FAILED: structured-output stream - unexpected keys present: {set(_parsed.keys())}"
)
print("\nVALIDATION: structured-output stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
import json
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response_schema = json.loads('''{
"title": "CalendarEvent",
"type": "object",
"properties": {
"name": { "type": "string" },
"date": { "type": "string" },
"participants": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["name", "date", "participants"],
"additionalProperties": false
}''')
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Alice and Bob are going to a science fair on Friday. Extract the event details as JSON."},
],
text={"format": {"type": "json_schema", "name": "CalendarEvent", "strict": True, "schema": response_schema}},
stream=False,
)
import json as _json
_content = response.output_text
print(_content)
if not _content:
raise Exception("VALIDATION FAILED: structured-output - response content is empty")
_parsed = _json.loads(_content)
if "name" not in _parsed or "date" not in _parsed or "participants" not in _parsed:
raise Exception("VALIDATION FAILED: structured-output - missing expected fields (name, date, participants)")
if not isinstance(_parsed.get("participants"), list):
raise Exception("VALIDATION FAILED: structured-output - 'participants' is not a list, schema not enforced")
if set(_parsed.keys()) != {"name", "date", "participants"}:
raise Exception(
f"VALIDATION FAILED: structured-output - unexpected keys present: {set(_parsed.keys())}"
)
print("VALIDATION: structured-output SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "List 3 colors with their hex codes in JSON."},
],
text={"format": {"type": "json_object"}},
stream=False,
)
import json as _json
_content = response.output_text
print(_content)
if not _content:
raise Exception("VALIDATION FAILED: json-output - response content is empty")
_json.loads(_content)
print("VALIDATION: json-output SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
],
reasoning={"effort": "medium"},
stream=False,
)
_reasoning_items = [
_item for _item in (getattr(response, "output", None) or [])
if getattr(_item, "type", None) == "reasoning"
]
_usage = getattr(response, "usage", None)
_details = getattr(_usage, "output_tokens_details", None) if _usage else None
_reasoning_tokens = getattr(_details, "reasoning_tokens", 0) if _details else 0
if response.output_text:
print(response.output_text)
if not _reasoning_items and not _reasoning_tokens:
raise Exception(
"VALIDATION FAILED: reasoning - no reasoning output items or reasoning tokens in response"
)
print("VALIDATION: reasoning SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "List 3 colors with their hex codes in JSON."},
],
text={"format": {"type": "json_object"}},
stream=True,
)
import json as _json
_accumulated = ""
for event in response:
if event.type == "response.output_text.delta":
_accumulated += event.delta
print(event.delta, end="", flush=True)
if not _accumulated:
raise Exception("VALIDATION FAILED: json-output stream - no content received")
_json.loads(_accumulated)
print("\nVALIDATION: json-output stream SUCCESS") |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 56b8689. Configure here.
| status: active | ||
| supportedModes: | ||
| - responses | ||
| thinking: true |
There was a problem hiding this comment.
Missing reasoning effort params
Medium Severity
The catalog sets thinking: true but omits a params entry for reasoning_effort, unlike other Bedrock Mantle OpenAI reasoning models (e.g. openai.gpt-5.4) and the OpenAI/Azure Luna definitions linked in sources. Gateway scenarios for params and reasoning rely on that metadata, so consumers may not advertise or validate reasoning effort correctly for this model.
Reviewed by Cursor Bugbot for commit 56b8689. Configure here.
Gateway test results
Failures (12)
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
]
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
],
tools=tools,
tool_choice="auto",
stream=True,
)
_completed_response = None
for event in response:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
if event.type == "response.completed":
_completed_response = event.response
if _completed_response is None:
raise Exception(
"VALIDATION FAILED: tool-call stream - no completed response received"
)
_tool_calls = [_item for _item in _completed_response.output if _item.type == "function_call"]
if not _tool_calls:
print(_completed_response.output_text)
print(f"Tools sent: {len(_completed_response.tools)}, tool_choice: {_completed_response.tool_choice}")
raise Exception(
"VALIDATION FAILED: tool-call stream - no tool calls in response"
)
for _tc in _tool_calls:
print(f"\nFunction: {_tc.name}")
print(f"Arguments: {_tc.arguments}")
print("\nVALIDATION: tool-call stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
],
reasoning={"effort": "medium"},
stream=False,
)
_reasoning_items = [
_item for _item in (getattr(response, "output", None) or [])
if getattr(_item, "type", None) == "reasoning"
]
_usage = getattr(response, "usage", None)
_details = getattr(_usage, "output_tokens_details", None) if _usage else None
_reasoning_tokens = getattr(_details, "reasoning_tokens", 0) if _details else 0
if response.output_text:
print(response.output_text)
if not _reasoning_items and not _reasoning_tokens:
raise Exception(
"VALIDATION FAILED: reasoning - no reasoning output items or reasoning tokens in response"
)
print("VALIDATION: reasoning SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
]
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
],
tools=tools,
tool_choice="auto",
stream=False,
)
_tool_calls = [_item for _item in response.output if _item.type == "function_call"]
if not _tool_calls:
print(response.output_text)
print(f"Tools sent: {len(response.tools)}, tool_choice: {response.tool_choice}")
raise Exception(
"VALIDATION FAILED: tool-call - no tool calls in response"
)
for _tc in _tool_calls:
print(f"Function: {_tc.name}")
print(f"Arguments: {_tc.arguments}")
print("VALIDATION: tool-call SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
]
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London and Paris. You MUST make both tool calls strictly in parallel, not sequentially."},
],
tools=tools,
tool_choice="auto",
parallel_tool_calls=True,
stream=True,
)
_completed_response = None
for event in response:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
if event.type == "response.completed":
_completed_response = event.response
if _completed_response is None:
raise Exception(
"VALIDATION FAILED: parallel-tool-call stream - no completed response received"
)
_tool_calls = [_item for _item in _completed_response.output if _item.type == "function_call"]
if len(_tool_calls) < 1:
print(_completed_response.output_text)
print(f"Tools sent: {len(_completed_response.tools)}, tool_choice: {_completed_response.tool_choice}")
raise Exception(
f"VALIDATION FAILED: parallel-tool-call stream - expected at least 1 tool call, "
f"got {len(_tool_calls)}"
)
for _tc in _tool_calls:
print(f"\nFunction: {_tc.name}")
print(f"Arguments: {_tc.arguments}")
print("\nVALIDATION: parallel-tool-call stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "List 3 colors with their hex codes in JSON."},
],
text={"format": {"type": "json_object"}},
stream=False,
)
import json as _json
_content = response.output_text
print(_content)
if not _content:
raise Exception("VALIDATION FAILED: json-output - response content is empty")
_json.loads(_content)
print("VALIDATION: json-output SUCCESS")
ErrorCode snippetfrom openai import OpenAI
import json
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response_schema = json.loads('''{
"title": "CalendarEvent",
"type": "object",
"properties": {
"name": { "type": "string" },
"date": { "type": "string" },
"participants": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["name", "date", "participants"],
"additionalProperties": false
}''')
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Alice and Bob are going to a science fair on Friday. Extract the event details as JSON."},
],
text={"format": {"type": "json_schema", "name": "CalendarEvent", "strict": True, "schema": response_schema}},
stream=False,
)
import json as _json
_content = response.output_text
print(_content)
if not _content:
raise Exception("VALIDATION FAILED: structured-output - response content is empty")
_parsed = _json.loads(_content)
if "name" not in _parsed or "date" not in _parsed or "participants" not in _parsed:
raise Exception("VALIDATION FAILED: structured-output - missing expected fields (name, date, participants)")
if not isinstance(_parsed.get("participants"), list):
raise Exception("VALIDATION FAILED: structured-output - 'participants' is not a list, schema not enforced")
if set(_parsed.keys()) != {"name", "date", "participants"}:
raise Exception(
f"VALIDATION FAILED: structured-output - unexpected keys present: {set(_parsed.keys())}"
)
print("VALIDATION: structured-output SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
tools = [
{
"type": "function",
"name": "get_weather",
"description": "Get the current weather for a location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name, e.g. London",
},
},
"required": ["location"],
"additionalProperties": False,
},
"strict": True,
},
]
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Use the get_weather tool to check the weather in London and Paris. You MUST make both tool calls strictly in parallel, not sequentially."},
],
tools=tools,
tool_choice="auto",
parallel_tool_calls=True,
stream=False,
)
_tool_calls = [_item for _item in response.output if _item.type == "function_call"]
if len(_tool_calls) < 1:
print(response.output_text)
print(f"Tools sent: {len(response.tools)}, tool_choice: {response.tool_choice}")
raise Exception(
f"VALIDATION FAILED: parallel-tool-call - expected at least 1 tool call, "
f"got {len(_tool_calls)}"
)
for _tc in _tool_calls:
print(f"Function: {_tc.name}")
print(f"Arguments: {_tc.arguments}")
print("VALIDATION: parallel-tool-call SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
],
reasoning={"effort": "medium"},
stream=True,
)
_completed_response = None
for event in response:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
if event.type == "response.completed":
_completed_response = event.response
if _completed_response is None:
raise Exception(
"VALIDATION FAILED: reasoning stream - no completed response received"
)
_reasoning_items = [
_item for _item in (getattr(_completed_response, "output", None) or [])
if getattr(_item, "type", None) == "reasoning"
]
_usage = getattr(_completed_response, "usage", None)
_details = getattr(_usage, "output_tokens_details", None) if _usage else None
_reasoning_tokens = getattr(_details, "reasoning_tokens", 0) if _details else 0
if not _reasoning_items and not _reasoning_tokens:
raise Exception(
"VALIDATION FAILED: reasoning stream - no reasoning output items or reasoning tokens in response"
)
print("\nVALIDATION: reasoning stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "What is the capital of France?"},
],
stream=False,
)
print(response.output_text)
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "List 3 colors with their hex codes in JSON."},
],
text={"format": {"type": "json_object"}},
stream=True,
)
import json as _json
_accumulated = ""
for event in response:
if event.type == "response.output_text.delta":
_accumulated += event.delta
print(event.delta, end="", flush=True)
if not _accumulated:
raise Exception("VALIDATION FAILED: json-output stream - no content received")
_json.loads(_accumulated)
print("\nVALIDATION: json-output stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
import json
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response_schema = json.loads('''{
"title": "CalendarEvent",
"type": "object",
"properties": {
"name": { "type": "string" },
"date": { "type": "string" },
"participants": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["name", "date", "participants"],
"additionalProperties": false
}''')
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "Alice and Bob are going to a science fair on Friday. Extract the event details as JSON."},
],
text={"format": {"type": "json_schema", "name": "CalendarEvent", "strict": True, "schema": response_schema}},
stream=True,
)
import json as _json
_accumulated = ""
for event in response:
if event.type == "response.output_text.delta":
_accumulated += event.delta
print(event.delta, end="", flush=True)
if not _accumulated:
raise Exception("VALIDATION FAILED: structured-output stream - no content received")
_parsed = _json.loads(_accumulated)
if "name" not in _parsed or "date" not in _parsed or "participants" not in _parsed:
raise Exception("VALIDATION FAILED: structured-output stream - missing expected fields (name, date, participants)")
if not isinstance(_parsed.get("participants"), list):
raise Exception("VALIDATION FAILED: structured-output stream - 'participants' is not a list, schema not enforced")
if set(_parsed.keys()) != {"name", "date", "participants"}:
raise Exception(
f"VALIDATION FAILED: structured-output stream - unexpected keys present: {set(_parsed.keys())}"
)
print("\nVALIDATION: structured-output stream SUCCESS")
ErrorCode snippetfrom openai import OpenAI
client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")
response = client.responses.create(
model="test-v2-aws-bedrock-mantle/openai.gpt-5.6-luna",
input=[
{"role": "user", "content": "What is the capital of France?"},
],
stream=True,
)
for event in response:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True) |


Auto-generated by model-addition-agent for
aws-bedrock-mantle/openai.gpt-5.6-luna.Note
Low Risk
Declarative model metadata only; no application or routing logic changes.
Overview
Adds a new aws-bedrock-mantle model catalog entry for
openai.gpt-5.6-luna, registering it as an active serverless responses-mode model with thinking enabled.The definition includes per-region token pricing (us-west-2, us-east-2, us-east-1), a 272k context window, text/image input, and standard capability flags (function calling, prompt caching, structured/JSON output, etc.), with links to AWS and OpenAI model docs.
Reviewed by Cursor Bugbot for commit 56b8689. Bugbot is set up for automated code reviews on this repo. Configure here.