# AWOOOI API Dependencies
# =======================
# CTO-101: BFF Gateway 骨架
# 版本: 2026-03-20

# Core Framework
fastapi>=0.109.0
uvicorn[standard]>=0.27.0
starlette>=0.35.0

# Configuration & Validation
pydantic>=2.5.0
pydantic-settings>=2.1.0

# Async HTTP Client
httpx>=0.26.0

# Database
asyncpg>=0.29.0
redis>=5.0.0

# Logging
structlog>=24.1.0

# SSE Support
sse-starlette>=1.8.0

# ==========================================================================
# OpenTelemetry (SigNoz Integration)
# P0 基礎設施: 可觀測性鐵律
# ==========================================================================
opentelemetry-api>=1.20.0
opentelemetry-sdk>=1.20.0
opentelemetry-exporter-otlp>=1.20.0
opentelemetry-instrumentation-fastapi>=0.41b0
opentelemetry-instrumentation-httpx>=0.41b0
opentelemetry-instrumentation-logging>=0.41b0

# ==========================================================================
# Langfuse (LLMOps Observability)
# Phase 15.1: LLM 呼叫追蹤、成本監控、Prompt 版本管理
# ==========================================================================
# 2026-04-02 Claude Code: 鎖定 v2.60.x — v3.x/v4.x 移除 client.trace() API，與 langfuse_client.py 不相容
langfuse>=2.0.0,<3.0.0

# ==========================================================================
# Phase 4: 動態異常偵測 (ADR-084)
# ==========================================================================
# Holt-Winters 指數平滑（動態基線）
statsmodels>=0.14.0
# Log clustering（Drain3 演算法）
drain3>=0.9.11
# numpy 已為 statsmodels 依賴，顯式列出確保可用（線性趨勢預測）
numpy>=1.24.0

# Development
pytest>=7.4.0
pytest-asyncio>=0.23.0
ruff>=0.1.0
sentry-sdk[fastapi]>=2.0.0

# AwoooP Ansible runtime readiness
# 2026-05-31 Codex: production API image must include ansible-playbook before
# truth-chain can honestly mark check-mode executor readiness as available.
ansible-core>=2.16.0,<2.18.0
