File size: 986 Bytes
67b6ab0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | from helpers.api import ApiHandler, Request, Response
from helpers import message_queue as mq
from agent import AgentContext
from helpers.state_monitor_integration import mark_dirty_for_context
class MessageQueueAdd(ApiHandler):
"""Add a message to the queue."""
async def process(self, input: dict, request: Request) -> dict | Response:
context = AgentContext.get(input.get("context", ""))
if not context:
return Response("Context not found", status=404)
text = input.get("text", "").strip()
attachments = input.get("attachments", []) # filenames from /upload API
item_id = input.get("item_id")
if not text and not attachments:
return Response("Empty message", status=400)
item = mq.add(context, text, attachments, item_id)
mark_dirty_for_context(context.id, reason="message_queue_add")
return {"ok": True, "item_id": item["id"], "queue_length": len(mq.get_queue(context))}
|