Commit Graph

7 Commits

Author SHA1 Message Date
urbnywrt 94c01fe532 feat: add FastAPI app with config delivery endpoint 2026-05-15 00:08:00 +03:00
urbnywrt 5000079cbe fix: guard against empty YAML and missing proxy name in expander
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 00:05:03 +03:00
urbnywrt c597a1add7 feat: add config expander and Mihomo config builder
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 23:57:45 +03:00
urbnywrt e7b44eb99a fix: use get_running_loop, guard updatedAt, pass auth on wait_ready 2026-05-14 23:56:15 +03:00
urbnywrt 21437c78ad feat: add Mihomo API client with refresh polling
Implements MihomoClient wrapping Mihomo's REST API with provider refresh
polling, config reload, and startup readiness check. Also fixes a
Python 3.14 + respx 0.21.1 compatibility issue where the httpcore mocker
passes bytes method to httpx.Request causing Method pattern matching to
fail; resolved by switching respx DEFAULT_MOCKER to the httpx-level mocker.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 23:49:17 +03:00
urbnywrt 927abe6111 feat: add database models with cascade delete
Implements SQLAlchemy 2.0 async ORM models (Config, Subscription, ExportLog) with cascade delete-orphan relationships. Upgrades SQLAlchemy to 2.0.49 for Python 3.14 compatibility. Adds pytest conftest with in-memory SQLite fixture; all 4 TDD tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 23:35:50 +03:00
urbnywrt e8b0c3ce0f feat: add Python app Dockerfile and dependencies 2026-05-14 23:27:41 +03:00