[encoded data, 7374 characters]}{'session_id': session_id})
    except Exception as e:
        return jsonify({'error': str(e)}), 500


@app.route('/api/generate-report', methods=['POST'])
def generate_report():
    """문서 생성 (전체 프로세스)"""
    try:
        data = request.get_json()
        session_id = data.get('session_id')
        doc_type = data.get('doc_type', 'report')
        
        if not session_id:
            return jsonify({'error': 'session_id가 필요합니다.'}), 400
            
        processor = processors.get(doc_type)
        if not processor:
            return jsonify({'error': f'지원하지 않는 문서 타입입니다: {doc_type}'}), 400
            
        # 백그라운드 작업으로 실행하는 것이 좋으나, 여기서는 단순 구현을 위해 직접 실행
        result = processor.process(session_id, data)
        
        return jsonify(result)
    except Exception as e:
        import traceback
        return jsonify({'error': str(e), 'trace': traceback.format_exc()}), 500


# === 정적 파일 서빙 ===

@app.route('/output/<path:filename>')
def serve_output(filename):
    return send_file(os.path.join('output', filename))

@app.route('/static/<path:filename>')
def serve_static(filename):
    return send_file(os.path.join('static', filename))


if __name__ == '__main__':
    # DB 초기화 및 서버 실행
    app.run(host='0.0.0.0', port=5000, debug=True)
