# ============================================================
# Axonix 文本编辑器后端依赖
# Python 3.10+
# ============================================================

# ------------------------------------------------------------
# 阶段 0：基础链路（FastAPI + PostgreSQL）
# ------------------------------------------------------------

# Web 框架
fastapi==0.115.5
uvicorn[standard]==0.32.1

# ORM & 数据库
sqlalchemy==2.0.36
asyncpg==0.30.0          # PostgreSQL 异步驱动
alembic==1.14.0          # 数据库迁移

# 数据校验
pydantic==2.10.3
pydantic-settings==2.6.1  # 环境变量配置（config.py）

# 工具
python-dotenv==1.0.1     # .env 文件支持
python-multipart==0.0.12 # 文件上传（multipart/form-data）

# .doc 导出（阶段 0，Blocks → .doc）
python-docx==1.1.2

# ------------------------------------------------------------
# 阶段 1：Word 模板 + 工作流文档编辑
# ------------------------------------------------------------

# DOCX 模板渲染（Jinja2 语法填充变量）
docxtpl==0.19.0

# ------------------------------------------------------------
# 阶段 2：oil-agent 跨平台集成（Token 会话 + SSE + WebSocket）
# ------------------------------------------------------------

# Redis 客户端（Token 会话存储）
redis==5.2.1

# JWT 生成与验证
PyJWT==2.10.1

# SSE 推送（mod-chat 通信链路）
sse-starlette==2.1.3

# WebSocket 由 FastAPI/Starlette 内置支持，无需额外依赖

# ------------------------------------------------------------
# 阶段 3：编辑器增强（PDF 导出 + 版本管理）
# ------------------------------------------------------------

# PDF 导出
weasyprint==63.1

# ------------------------------------------------------------
# 安全
# ------------------------------------------------------------

# 请求签名校验（Webhook HMAC 验证）
cryptography==44.0.0

# ------------------------------------------------------------
# 开发 & 测试（可选，生产不需要）
# ------------------------------------------------------------

# pytest==8.3.4
# pytest-asyncio==0.24.0
httpx==0.28.1           # 下载 Word 文件 + 测试 FastAPI AsyncClient
