main
py 36 lines 1.14 KB
Raw
1 """POST /api/plugins/_a0_connector/v1/nudge."""
2 from __future__ import annotations
3
4 from helpers.api import Request, Response
5 import plugins._a0_connector.api.v1.base as connector_base
6
7
8 class Nudge(connector_base.ProtectedConnectorApiHandler):
9 async def process(self, input: dict, request: Request) -> dict | Response:
10 from agent import AgentContext
11
12 context_id = str(input.get("context_id", "")).strip()
13 if not context_id:
14 return Response(
15 response='{"error": "context_id is required"}',
16 status=400,
17 mimetype="application/json",
18 )
19
20 context = AgentContext.get(context_id)
21 if context is None:
22 return Response(
23 response='{"error": "Context not found"}',
24 status=404,
25 mimetype="application/json",
26 )
27
28 context.nudge()
29 message = "Process reset, agent nudged."
30 context.log.log(type="info", content=message)
31 return {
32 "ok": True,
33 "context_id": context_id,
34 "status": "nudged",
35 "message": message,
36 }