052591281d
- Complete agent system with planning and execution - Bridge API with FastAPI server - WhatsApp-style mobile dashboard - Enhanced web search with query improvement - Security guards and policy checks - Comprehensive documentation
30 lines
808 B
Python
30 lines
808 B
Python
"""Unified adapter contract for Bridge V1.2.
|
|
|
|
Every adapter must expose:
|
|
execute(prompt: str) -> AdapterResult
|
|
|
|
AdapterResult fields:
|
|
response - string output on success, None on error
|
|
error - error message on failure, None on success
|
|
exit_code - 0 = success, non-zero = failure
|
|
mode - "real" or "stub"
|
|
metadata - adapter-specific extra data (e.g. agent_run_id)
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass, field
|
|
from typing import Any, Optional
|
|
|
|
|
|
@dataclass
|
|
class AdapterResult:
|
|
response: Optional[str]
|
|
error: Optional[str]
|
|
exit_code: int
|
|
mode: str # "real" | "stub"
|
|
metadata: dict[str, Any] = field(default_factory=dict)
|
|
|
|
@property
|
|
def ok(self) -> bool:
|
|
return self.exit_code == 0 and self.error is None
|