Add reviewer, artifact store, and paginated queries

This commit is contained in:
2026-07-03 21:44:46 +03:00
parent 50178a4e69
commit 648f0f9024
17 changed files with 441 additions and 16 deletions
+9 -2
View File
@@ -1,3 +1,5 @@
from datetime import UTC, datetime
import httpx
from ai_orchestrator.application.services.execution import (
@@ -32,6 +34,7 @@ from ai_orchestrator.infrastructure.mcp_client import McpHttpClient, McpToolGate
from ai_orchestrator.infrastructure.model_router import StaticMockModelProvider
from ai_orchestrator.infrastructure.policy import StaticProjectPolicyEvaluator
from ai_orchestrator.infrastructure.storage.memory import (
InMemoryArtifactStore,
InMemoryConfirmationRepository,
InMemoryEventStore,
InMemoryGraphRepository,
@@ -223,6 +226,7 @@ def test_smoke_policy_confirm_and_full_auto() -> None:
def test_smoke_mcp_and_worker_results_are_stored_and_finalizer_runs() -> None:
invocation_store = InMemoryInvocationStore()
artifact_store = InMemoryArtifactStore()
def handler(request: httpx.Request) -> httpx.Response:
return httpx.Response(
@@ -244,6 +248,7 @@ def test_smoke_mcp_and_worker_results_are_stored_and_finalizer_runs() -> None:
project_configs={"default": _project_config()},
client=McpHttpClient(transport=httpx.MockTransport(handler)),
invocation_store=invocation_store,
artifact_store=artifact_store,
)
worker_repository = InMemoryWorkerRepository()
event_store = InMemoryEventStore()
@@ -252,6 +257,7 @@ def test_smoke_mcp_and_worker_results_are_stored_and_finalizer_runs() -> None:
worker_repository=worker_repository,
event_store=event_store,
invocation_store=invocation_store,
artifact_store=artifact_store,
connection_manager=InMemoryWorkerConnectionManager(),
)
worker = worker_service.register(
@@ -279,8 +285,8 @@ def test_smoke_mcp_and_worker_results_are_stored_and_finalizer_runs() -> None:
task_id="task_1",
tool="file.read",
status="success",
started_at=__import__("datetime").datetime.now(__import__("datetime").UTC),
finished_at=__import__("datetime").datetime.now(__import__("datetime").UTC),
started_at=datetime.now(UTC),
finished_at=datetime.now(UTC),
duration_ms=1,
result={"content": "ok"},
),
@@ -318,4 +324,5 @@ def test_smoke_mcp_and_worker_results_are_stored_and_finalizer_runs() -> None:
assert queued.status == "queued"
assert tool_result.status == "success"
assert len(invocation_store.list_tool_invocations("task_1")) >= 2
assert artifact_store.list_by_task("task_1") == []
assert graph.nodes[-1].output_data["status"] == "completed"