broker-sync/broker_sync/providers
Viktor Barzin 6efd03570a Add imap-ingest CLI + ImapProvider: route emails to IE/Schwab parsers
Wires the IE + Schwab email parsers into an actual runnable sync. Walks
the IMAP mailbox, routes each message by sender domain:
  - *@investengine.com → invest_engine.parse_invest_engine_email
  - *@schwab.com       → schwab.parse_schwab_email
then pushes the resulting Activities through the shared pipeline.

broker-sync imap-ingest — new CLI command taking IMAP_HOST/USER/PASSWORD/
DIRECTORY (mirrors the old wealthfolio-sync image's env shape so the
Terraform CronJob's existing env wiring works unchanged).

Verified: poetry run pytest -q → 109 passed + 1 skipped; mypy strict
clean (37 files); ruff + yapf clean.
2026-04-17 22:12:05 +00:00
..
parsers Add Schwab email parser (port from finance/) 2026-04-17 22:08:40 +00:00
__init__.py Add Provider protocol and normaliser 2026-04-17 19:20:12 +00:00
_checkpoint.py Add per-account cursor Checkpoint helper 2026-04-17 19:30:20 +00:00
base.py Add Provider protocol and normaliser 2026-04-17 19:20:12 +00:00
imap.py Add imap-ingest CLI + ImapProvider: route emails to IE/Schwab parsers 2026-04-17 22:12:05 +00:00
invest_engine.py Add InvestEngineProvider — Bearer-token HTTP client 2026-04-17 21:52:26 +00:00
trading212.py Wire T212 pagination, retries, and click<8.2 pin 2026-04-17 19:45:23 +00:00