Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license

This commit is contained in:
2026-09-05 13:26:46 +03:00
commit 03634b1ca3
11340 changed files with 3442369 additions and 0 deletions
@@ -0,0 +1,48 @@
"""Tests for agent.api_max_retries config surface.
Closes #11616 — make the hardcoded ``max_retries = 3`` in the agent's API
retry loop user-configurable so fallback-provider setups can fail over
faster on flaky primaries instead of burning ~3x180s on the same stall.
"""
from unittest.mock import patch
from run_agent import AIAgent
def _make_agent(api_max_retries=None):
"""Build an AIAgent with a mocked config.load_config that returns a
config tree containing the given agent.api_max_retries (or default)."""
cfg = {"agent": {}}
if api_max_retries is not None:
cfg["agent"]["api_max_retries"] = api_max_retries
with patch("run_agent.OpenAI"), \
patch("hermes_cli.config.load_config", return_value=cfg), \
patch("hermes_cli.config.load_config_readonly", return_value=cfg):
return AIAgent(
api_key="test-key",
base_url="https://openrouter.ai/api/v1",
model="test/model",
quiet_mode=True,
skip_context_files=True,
skip_memory=True,
)
def test_default_api_max_retries_is_three():
"""No config override → legacy default of 3 retries preserved."""
agent = _make_agent()
assert agent._api_max_retries == 3
def test_api_max_retries_honors_config_override():
"""Setting agent.api_max_retries in config propagates to the agent."""
agent = _make_agent(api_max_retries=1)
assert agent._api_max_retries == 1
agent2 = _make_agent(api_max_retries=5)
assert agent2._api_max_retries == 5