3825d25191
(cherry picked from commit bb4156c3881cbaf20736f0fcfd6c3cc5c861a6fb)
49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
"""Focused real-path coverage for the GPT-6 Astra baseline contract."""
|
|
|
|
from types import SimpleNamespace
|
|
|
|
|
|
def test_explicit_astra_resolves_and_uses_official_responses(monkeypatch, tmp_path):
|
|
"""A fresh profile resolves metadata and routes the official endpoint without live I/O."""
|
|
monkeypatch.setenv("HERMES_HOME", str(tmp_path))
|
|
monkeypatch.setattr("agent.models_dev.fetch_models_dev", lambda *args, **kwargs: {})
|
|
monkeypatch.setattr("agent.process_bootstrap.OpenAI", lambda **_kwargs: SimpleNamespace())
|
|
monkeypatch.setattr("model_tools.get_tool_definitions", lambda *args, **kwargs: [])
|
|
|
|
from run_agent import AIAgent
|
|
|
|
agent = AIAgent(
|
|
model="gpt-6-astra",
|
|
provider="openai",
|
|
api_key="test-key",
|
|
base_url="https://api.openai.com/v1",
|
|
platform="cli",
|
|
max_iterations=2,
|
|
quiet_mode=True,
|
|
skip_memory=True,
|
|
)
|
|
|
|
assert agent.api_mode == "codex_responses"
|
|
assert agent.context_compressor.context_length == 1_050_000
|
|
kwargs = agent._get_transport().build_kwargs(
|
|
model=agent.model,
|
|
messages=[{"role": "user", "content": "Hi"}],
|
|
tools=[],
|
|
provider=agent.provider,
|
|
base_url=agent.base_url,
|
|
reasoning_config={"enabled": False, "effort": "none"},
|
|
)
|
|
assert kwargs["reasoning"]["effort"] == "low"
|
|
assert kwargs["prompt_cache_options"] == {"ttl": "30m"}
|
|
|
|
|
|
def test_astra_codex_oauth_fallback_uses_backend_context_limit():
|
|
"""OAuth keeps the Codex backend's 272K fallback; direct API metadata remains 1.05M."""
|
|
from agent.model_metadata import (
|
|
DEFAULT_CONTEXT_LENGTHS,
|
|
_resolve_codex_oauth_context_length_with_source,
|
|
)
|
|
|
|
assert DEFAULT_CONTEXT_LENGTHS["gpt-6-astra"] == 1_050_000
|
|
assert _resolve_codex_oauth_context_length_with_source("gpt-6-astra") == (272_000, "fallback")
|