KoalaTrapLord
b57fc9dc2f
fix: add missing stdlib imports (threading, os, re, csv, io, datetime) across route modules
2026-03-16 01:55:17 +00:00
KoalaTrapLord
e1f2b5d89f
fix: add missing os import to collection.py
2026-03-16 01:53:17 +00:00
KoalaTrapLord
9b354e019b
fix: add missing Path import to collection.py
2026-03-16 01:42:37 +00:00
KoalaTrapLord
ac3b76793b
fix: add missing Path, os, threading imports to routes/collection.py
2026-03-15 21:05:35 -04:00
KoalaTrapLord
c60719a0a9
refactor: extract deckgen (14) + coach (12) routes
...
- routes/deckgen.py: classic generator, Perplexity V1, V3 generator + exports
Helpers: _resolve_commander, _generate_deck, _build_collection_summary,
_call_pplx_api, _fill_basic_lands, etc.
Uses _coach._deck_gen_v3 via module reference for V3 state
- routes/coach.py: all coaching endpoints + init_coach_service(),
_build_deck_report_from_db, globals (_coach_service, _deck_gen_v3, etc.)
- lab_api.py: 3265 -> 1063 lines (16 remaining: ML + SPA catch-all)
- Total: 90 extracted + 16 remaining = 106 endpoints verified
2026-03-15 07:26:09 +00:00
KoalaTrapLord
87a2090c68
refactor: extract scanner (6) + deepseek/sim (9) routes
...
- routes/scanner.py: scan, scan/add, re-enrich, auto-classify, auto-classify-all, edhrec
- routes/deepseek.py: sim/run, sim/status, sim/result, sim/run-from-deck,
sim/run-deepseek, deepseek/connect, deepseek/status, deepseek/configure, deepseek/logs
- lab_api.py: 4464 -> 3265 lines (42 remaining endpoints)
- Total: 64 extracted + 42 remaining = 106 endpoints verified
2026-03-15 06:56:02 +00:00
KoalaTrapLord
8a6fbfaa8a
fix: 3 post-refactor bugs (COMMANDER_META, PRECON_INDEX, startup)
...
Task 1: Move BUILTIN_COMMANDERS + load_commander_meta() to shared.py
Fix import_routes.py to use _shared.COMMANDER_META (module ref)
Task 2: Rewrite precon.py to use _shared.PRECON_INDEX (module ref)
Task 3: Add @app.on_event('startup') safety net for uvicorn --reload
2026-03-14 19:08:21 +00:00
KoalaTrapLord
36077c94ab
refactor: extract 49 endpoints into 5 route modules
...
- Extract collection (10), deckbuilder (18), precon (4), import (5), lab (12) routes
- All share helpers/models/state from routes/shared.py
- Gut lab_api.py from 8872 to 4487 lines (57 remaining endpoints)
- Delete routes/_wire.py and routes/_autoload.py (replaced by include_router)
- Add _scryfall_fuzzy_lookup to shared.py
- 106 total endpoints verified: 49 extracted + 57 remaining
2026-03-14 18:55:32 +00:00
KoalaTrapLord
c52eb1c3ef
refactor: extract all shared state, helpers, models into routes/shared.py
2026-03-14 03:15:12 -04:00
KoalaTrapLord
c14402494b
feat(routes): add _autoload.py — FastAPI startup event that wires routers
...
Adds an @app.on_event('startup') hook that imports routes._wire.
This means lab_api.py needs zero changes — the routers self-register
when the app boots. Drop this file into the repo root and it works.
Alternatively, add to lab_api.py after app creation:
from routes import _autoload # noqa
2026-03-14 01:49:52 -04:00
KoalaTrapLord
5ea512bfef
feat(routes): add _wire.py — registers shared symbols and includes all routers
...
Called via `import routes._wire` at the bottom of lab_api.py (after all
symbols are defined). Registers every shared object into routes.shared
and mounts all five APIRouters onto the FastAPI app.
Batch 6/6 — final wiring step.
2026-03-14 01:49:18 -04:00
KoalaTrapLord
d92345927f
refactor: Batch 5 — routes/deckbuilder.py (deck CRUD, cards, analysis, recs, bulk-add, export)
2026-03-14 01:47:04 -04:00
KoalaTrapLord
e1a46202b2
refactor: Batch 4 — routes/collection.py (collection CRUD, import, export, scryfall cache)
2026-03-14 01:46:33 -04:00
KoalaTrapLord
553e07980f
refactor: Batch 3 — routes/import_routes.py and routes/precon.py
2026-03-14 01:45:58 -04:00
KoalaTrapLord
b0666bb3fd
refactor: Batch 2 — routes/lab.py (simulator, status, decks-list, profiles, analytics, deepseek)
2026-03-14 01:45:17 -04:00
KoalaTrapLord
4b1d2f71f5
refactor: Batch 1 — add routes/ package with shared state, config, and models
2026-03-14 01:44:37 -04:00