diff --git a/backend/src/v1/agent/service.py b/backend/src/v1/agent/service.py index 893056c..45f037e 100644 --- a/backend/src/v1/agent/service.py +++ b/backend/src/v1/agent/service.py @@ -32,6 +32,9 @@ if TYPE_CHECKING: logger = get_logger("v1.agent.service") +DEFAULT_RATE_LIMIT = 60 +EMPTY_USAGE = {"input_tokens": 0, "output_tokens": 0, "cost": "0"} + class ResumeDecisionResult(BaseModel): applied: bool @@ -83,8 +86,8 @@ class AgentChatService(BaseService): await enforce_rate_limit( scope="agent_run", identifier=str(user_id), - limit=60, - window_seconds=60, + limit=DEFAULT_RATE_LIMIT, + window_seconds=DEFAULT_RATE_LIMIT, ) now = datetime.now(timezone.utc) @@ -272,26 +275,17 @@ class AgentChatService(BaseService): self, *, message: str, context: dict[str, object] ) -> dict[str, object]: context["intent"] = "default" - return { - "content": message, - "usage": {"input_tokens": 0, "output_tokens": 0, "cost": "0"}, - } + return {"content": message, "usage": EMPTY_USAGE} async def _execution_stage( self, *, message: str, context: dict[str, object] ) -> dict[str, object]: - return { - "content": message, - "usage": {"input_tokens": 0, "output_tokens": 0, "cost": "0"}, - } + return {"content": message, "usage": EMPTY_USAGE} async def _organization_stage( self, *, message: str, context: dict[str, object] ) -> dict[str, object]: - return { - "content": message, - "usage": {"input_tokens": 0, "output_tokens": 0, "cost": "0"}, - } + return {"content": message, "usage": EMPTY_USAGE} async def get_state_snapshot(self, session_id: UUID) -> dict | None: stmt = select(AgentChatSession).where(AgentChatSession.id == session_id)