aboutsummaryrefslogtreecommitdiff
path: root/agent/orchestrator/models/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'agent/orchestrator/models/__init__.py')
-rw-r--r--agent/orchestrator/models/__init__.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/agent/orchestrator/models/__init__.py b/agent/orchestrator/models/__init__.py
new file mode 100644
index 0000000..10b2b5a
--- /dev/null
+++ b/agent/orchestrator/models/__init__.py
@@ -0,0 +1,24 @@
+"""The public surface for model invocation.
+
+Other modules import `call_model` and use it without knowing which backend is
+configured. Switching backends means changing one assignment here.
+"""
+
+from .base import Message, ModelBackend, ModelRequest, ModelResponse
+from .claude_code import ClaudeCodeBackend
+
+_backend: ModelBackend = ClaudeCodeBackend()
+
+
+def call_model(request: ModelRequest) -> ModelResponse:
+ """Invoke the configured model backend."""
+ return _backend.call(request)
+
+
+__all__ = [
+ "Message",
+ "ModelBackend",
+ "ModelRequest",
+ "ModelResponse",
+ "call_model",
+]