Files
JobRadar/agent_runtime/gateway.py
T

40 lines
1.1 KiB
Python

"""OpenAI Agents SDK 与本地运行模型之间的稳定适配边界。"""
from dataclasses import dataclass, field
from typing import Protocol
@dataclass(frozen=True)
class AgentExecutionRequest:
"""不包含 API Key、Cookie 等秘密的运行请求。"""
agent_run_id: str
user_id: int
input_summary: dict = field(default_factory=dict)
@dataclass(frozen=True)
class AgentExecutionResult:
"""Gateway 返回的脱敏运行结果。"""
succeeded: bool
output_summary: dict = field(default_factory=dict)
error_code: str = ""
error_summary: str = ""
class AgentRunnerGateway(Protocol):
"""第二阶段真实 SDK Gateway 必须实现的最小协议。"""
def run(self, request: AgentExecutionRequest) -> AgentExecutionResult: ...
class StubAgentRunnerGateway:
"""测试使用的确定性替身,不发起任何外部或付费调用。"""
def __init__(self, result: AgentExecutionResult):
self.result = result
def run(self, request: AgentExecutionRequest) -> AgentExecutionResult:
return self.result