This commit is contained in:
2026-03-27 15:51:10 +03:00
parent 15586f9a8c
commit 51378c5d66
1234 changed files with 95644 additions and 543076 deletions
@@ -0,0 +1,44 @@
from __future__ import annotations
from types import SimpleNamespace
from app.core.exceptions import AppError
from app.modules.agent.task_runtime.facade import AgentTaskRuntimeFacade
from app.modules.agent_api.domain.models.agent_session import AgentSession
from app.modules.orchestration.context.execution_context import ExecutionContext
from app.schemas.common import ModuleName
class TaskRuntimeAdapter:
def __init__(self, runtime: AgentTaskRuntimeFacade) -> None:
self._runtime = runtime
async def run(self, context: ExecutionContext) -> SimpleNamespace:
rag_session_id = context.session.active_rag_session_id
if not rag_session_id:
raise AppError(
"rag_session_not_bound",
"Agent session has no active rag_session_id for process v2.",
ModuleName.RAG,
)
def progress_cb(stage: str, message: str, kind: str = "task_progress", meta: dict | None = None):
payload = dict(meta or {})
payload.setdefault("kind", kind)
return context.publisher.publish_status(
context.request.request_id,
stage,
message,
payload,
)
return await self._runtime.run(
task_id=context.request.request_id,
dialog_session_id=context.session.session_id,
rag_session_id=rag_session_id,
mode="auto",
message=context.request.message,
attachments=[],
files=[],
progress_cb=progress_cb,
)