| |
| """Document Memory Plugin""" |
| from typing import Dict, Any, Optional |
|
|
| class DocumentMemory: |
| """Cache and manage uploaded documents.""" |
| def __init__(self): |
| self.documents = {} |
| self.metadata = {} |
| |
| def store_document(self, doc_id: str, content: Any, metadata: Dict[str, Any]): |
| """Store document with metadata.""" |
| self.documents[doc_id] = content |
| self.metadata[doc_id] = metadata |
| |
| def get_document(self, doc_id: str) -> Optional[Any]: |
| """Retrieve document by ID.""" |
| return self.documents.get(doc_id) |
| |
| def list_documents(self) -> Dict[str, Dict[str, Any]]: |
| """List all stored documents with metadata.""" |
| return {doc_id: self.metadata[doc_id] for doc_id in self.documents.keys()} |
| |
| def clear(self): |
| """Clear all documents.""" |
| self.documents.clear() |
| self.metadata.clear() |
|
|