Initial commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
|
||||
from opc.core.models import ExecutionMode
|
||||
from opc.layer1_perception.context_loader import LoadedContext
|
||||
from opc.layer1_perception.task_router import TaskRouter
|
||||
|
||||
|
||||
class _StubLLM:
|
||||
def __init__(self) -> None:
|
||||
self.called = False
|
||||
|
||||
async def simple_chat(self, prompt: str, system: str, task_type: str) -> str:
|
||||
_ = (prompt, system, task_type)
|
||||
self.called = True
|
||||
return "{}"
|
||||
|
||||
|
||||
class TaskRouterTests(unittest.IsolatedAsyncioTestCase):
|
||||
async def test_route_returns_default_task_mode_without_llm_call(self) -> None:
|
||||
llm = _StubLLM()
|
||||
router = TaskRouter(llm)
|
||||
|
||||
decision = await router.route("build a local product", LoadedContext())
|
||||
|
||||
self.assertEqual(decision.mode, ExecutionMode.TASK_MODE)
|
||||
self.assertEqual(decision.domains, ["general"])
|
||||
self.assertFalse(llm.called)
|
||||
|
||||
async def test_route_ignores_context_and_preferences(self) -> None:
|
||||
llm = _StubLLM()
|
||||
router = TaskRouter(llm)
|
||||
context = LoadedContext()
|
||||
context.session_execution_defaults = {
|
||||
"mode": "company_mode",
|
||||
"company_profile": "corporate",
|
||||
"preferred_agent": "codex",
|
||||
}
|
||||
|
||||
decision = await router.route(
|
||||
"continue the current project",
|
||||
context,
|
||||
preferences={"mode": "company_mode"},
|
||||
)
|
||||
|
||||
self.assertEqual(decision.mode, ExecutionMode.TASK_MODE)
|
||||
self.assertEqual(decision.domains, ["general"])
|
||||
self.assertFalse(llm.called)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user