feat(mma): Decouple UI from API calls using UserRequestEvent and AsyncEventQueue
This commit is contained in:
20
events.py
20
events.py
@@ -63,3 +63,23 @@ class AsyncEventQueue:
|
||||
A tuple containing (event_name, payload).
|
||||
"""
|
||||
return await self._queue.get()
|
||||
|
||||
class UserRequestEvent:
|
||||
"""
|
||||
Payload for a user request event.
|
||||
"""
|
||||
def __init__(self, prompt: str, stable_md: str, file_items: List[Any], disc_text: str, base_dir: str):
|
||||
self.prompt = prompt
|
||||
self.stable_md = stable_md
|
||||
self.file_items = file_items
|
||||
self.disc_text = disc_text
|
||||
self.base_dir = base_dir
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
return {
|
||||
"prompt": self.prompt,
|
||||
"stable_md": self.stable_md,
|
||||
"file_items": self.file_items,
|
||||
"disc_text": self.disc_text,
|
||||
"base_dir": self.base_dir
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user