Skip to content

Commit 1de4084

Browse files
jsonbaileyclaude
andcommitted
refactor: remove deprecated ModelRunner and AgentRunner protocols
ModelRunner and AgentRunner are superseded by the unified Runner protocol per the AIRUNNER spec. Neither was used in any production SDK logic — ManagedModel and ManagedAgent already accept Runner directly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 87007b9 commit 1de4084

5 files changed

Lines changed: 1 addition & 89 deletions

File tree

packages/sdk/server-ai/src/ldai/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
AgentGraphResult,
3636
AgentGraphRunner,
3737
AgentGraphRunnerResult,
38-
AgentRunner,
3938
GraphMetrics,
4039
GraphMetricSummary,
4140
ManagedGraphResult,
@@ -50,7 +49,6 @@
5049
__all__ = [
5150
'LDAIClient',
5251
'Evaluator',
53-
'AgentRunner',
5452
'AgentGraphRunner',
5553
'AgentGraphResult',
5654
'AgentGraphRunnerResult',

packages/sdk/server-ai/src/ldai/providers/__init__.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
from ldai.providers.agent_graph_runner import AgentGraphRunner
2-
from ldai.providers.agent_runner import AgentRunner
32
from ldai.providers.ai_provider import AIProvider
4-
from ldai.providers.model_runner import ModelRunner
53
from ldai.providers.runner import Runner
64
from ldai.providers.runner_factory import RunnerFactory
75
from ldai.providers.types import (
@@ -22,14 +20,12 @@
2220
'AgentGraphResult',
2321
'AgentGraphRunner',
2422
'AgentGraphRunnerResult',
25-
'AgentRunner',
2623
'GraphMetrics',
2724
'GraphMetricSummary',
2825
'JudgeResult',
2926
'LDAIMetrics',
3027
'ManagedGraphResult',
3128
'ManagedResult',
32-
'ModelRunner',
3329
'Runner',
3430
'RunnerFactory',
3531
'RunnerResult',

packages/sdk/server-ai/src/ldai/providers/agent_runner.py

Lines changed: 0 additions & 28 deletions
This file was deleted.

packages/sdk/server-ai/src/ldai/providers/model_runner.py

Lines changed: 0 additions & 24 deletions
This file was deleted.

packages/sdk/server-ai/tests/test_runner_abcs.py

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,11 @@
11
import pytest
22

3-
from ldai.providers import AgentGraphResult, AgentGraphRunner, AgentRunner, ToolRegistry
3+
from ldai.providers import AgentGraphResult, AgentGraphRunner, ToolRegistry
44
from ldai.providers.types import LDAIMetrics, RunnerResult
55

66

77
# --- Concrete test doubles ---
88

9-
class ConcreteAgentRunner:
10-
async def run(self, input):
11-
return RunnerResult(
12-
content=f"agent response to: {input}",
13-
metrics=LDAIMetrics(success=True),
14-
raw={"raw": input},
15-
)
16-
17-
189
class ConcreteAgentGraphRunner:
1910
async def run(self, input):
2011
return AgentGraphResult(
@@ -28,26 +19,6 @@ class MissingRunMethod:
2819
pass
2920

3021

31-
# --- AgentRunner ---
32-
33-
def test_agent_runner_structural_check_passes():
34-
assert isinstance(ConcreteAgentRunner(), AgentRunner)
35-
36-
37-
def test_agent_runner_structural_check_fails_when_run_missing():
38-
assert not isinstance(MissingRunMethod(), AgentRunner)
39-
40-
41-
@pytest.mark.asyncio
42-
async def test_agent_runner_run_returns_runner_result():
43-
runner = ConcreteAgentRunner()
44-
result = await runner.run("hello")
45-
assert isinstance(result, RunnerResult)
46-
assert result.content == "agent response to: hello"
47-
assert result.raw == {"raw": "hello"}
48-
assert result.metrics.success is True
49-
50-
5122
@pytest.mark.asyncio
5223
async def test_runner_result_fields():
5324
metrics = LDAIMetrics(success=True)
@@ -101,7 +72,6 @@ def test_tool_registry_is_dict_of_callables():
10172

10273
def test_top_level_exports():
10374
import ldai
104-
assert hasattr(ldai, 'AgentRunner')
10575
assert hasattr(ldai, 'AgentGraphRunner')
10676
assert hasattr(ldai, 'AgentGraphResult')
10777
assert hasattr(ldai, 'RunnerResult')

0 commit comments

Comments
 (0)