""" Helper Utilities Common utility functions for MOXIE. """ import hashlib from typing import Any, Dict from datetime import datetime def generate_id() -> str: """Generate a unique ID.""" import uuid return str(uuid.uuid4()) def hash_content(content: bytes) -> str: """Generate a hash for content.""" return hashlib.sha256(content).hexdigest() def timestamp_now() -> str: """Get current timestamp in ISO format.""" return datetime.now().isoformat() def truncate_text(text: str, max_length: int = 100) -> str: """Truncate text with ellipsis.""" if len(text) <= max_length: return text return text[:max_length - 3] + "..." def safe_json(obj: Any) -> Dict: """Safely convert object to JSON-serializable dict.""" if hasattr(obj, 'model_dump'): return obj.model_dump() elif hasattr(obj, 'dict'): return obj.dict() elif isinstance(obj, dict): return obj else: return str(obj)