main
py 18 lines 738 Bytes
Raw
1 from helpers.api import ApiHandler, Request, Response
2 from helpers import message_queue as mq
3 from agent import AgentContext
4 from helpers.state_monitor_integration import mark_dirty_for_context
5
6 class MessageQueueRemove(ApiHandler):
7 """Remove message(s) from queue."""
8
9 async def process(self, input: dict, request: Request) -> dict | Response:
10 context = AgentContext.get(input.get("context", ""))
11 if not context:
12 return Response("Context not found", status=404)
13
14 item_id = input.get("item_id") # None means clear all
15 remaining = mq.remove(context, item_id)
16 mark_dirty_for_context(context.id, reason="message_queue_remove")
17
18 return {"ok": True, "remaining": remaining}