import logging from fastapi import APIRouter from fastapi.responses import StreamingResponse from api.stored_data import stored_data from src.genai.brainstroming_agent.utils.utils import FinalStoryGenenrator router= APIRouter() app_logger = logging.getLogger("app_logger") error_logger = logging.getLogger("error_logger") @router.get("/generate-final-story") def generate_final_story_endpoint(): try: def event_stream(): for chunk in FinalStoryGenenrator().generate_final_story(stored_data.get('brainstorming_response') or stored_data.get('business_details')): yield chunk app_logger.info('Executed final story generation.') return StreamingResponse(event_stream(), media_type="text/event-stream") except Exception as e: error_logger.error(f'Unable to generate final story: {e}') raise