2026-03-26 10:35:47 +00:00
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
from fastapi import Request
|
|
|
|
|
|
2026-04-08 14:58:35 +01:00
|
|
|
from stirling.agents import (
|
2026-04-21 16:59:31 +01:00
|
|
|
DocumentExtractorAgent,
|
2026-04-08 14:58:35 +01:00
|
|
|
ExecutionPlanningAgent,
|
|
|
|
|
FormAnalyserAgent,
|
|
|
|
|
FormFillerAgent,
|
|
|
|
|
OrchestratorAgent,
|
|
|
|
|
PdfEditAgent,
|
|
|
|
|
PdfQuestionAgent,
|
|
|
|
|
UserSpecAgent,
|
|
|
|
|
)
|
2026-04-17 10:36:45 +01:00
|
|
|
from stirling.agents.ledger import MathAuditorAgent
|
2026-04-21 12:42:33 +01:00
|
|
|
from stirling.rag import RagService
|
2026-03-26 10:35:47 +00:00
|
|
|
from stirling.services import AppRuntime
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_runtime(request: Request) -> AppRuntime:
|
|
|
|
|
return request.app.state.runtime
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_orchestrator_agent(request: Request) -> OrchestratorAgent:
|
|
|
|
|
return request.app.state.orchestrator_agent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_pdf_edit_agent(request: Request) -> PdfEditAgent:
|
|
|
|
|
return request.app.state.pdf_edit_agent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_pdf_question_agent(request: Request) -> PdfQuestionAgent:
|
|
|
|
|
return request.app.state.pdf_question_agent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_user_spec_agent(request: Request) -> UserSpecAgent:
|
|
|
|
|
return request.app.state.user_spec_agent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_execution_planning_agent(request: Request) -> ExecutionPlanningAgent:
|
|
|
|
|
return request.app.state.execution_planning_agent
|
2026-04-08 14:58:35 +01:00
|
|
|
|
|
|
|
|
|
2026-04-21 12:42:33 +01:00
|
|
|
def get_rag_service(request: Request) -> RagService:
|
|
|
|
|
return request.app.state.runtime.rag_service
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_rag_embedding_model(request: Request) -> str:
|
|
|
|
|
return request.app.state.runtime.settings.rag_embedding_model
|
|
|
|
|
|
|
|
|
|
|
2026-04-17 10:36:45 +01:00
|
|
|
def get_math_auditor_agent(request: Request) -> MathAuditorAgent:
|
|
|
|
|
return request.app.state.math_auditor_agent
|
2026-04-22 13:13:12 +01:00
|
|
|
|
|
|
|
|
|
2026-04-08 14:58:35 +01:00
|
|
|
def get_form_analyser_agent(request: Request) -> FormAnalyserAgent:
|
|
|
|
|
return request.app.state.form_analyser_agent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_form_filler_agent(request: Request) -> FormFillerAgent:
|
|
|
|
|
return request.app.state.form_filler_agent
|
2026-04-21 16:59:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_document_extractor_agent(request: Request) -> DocumentExtractorAgent:
|
|
|
|
|
return request.app.state.document_extractor_agent
|