Backend:
- app/platforms/__init__.py: add SUPPORTED_PLATFORMS frozenset (single
source of truth for platform validation); add must_include_mode and
adapter fields to SearchFilters dataclass
- api/main.py: add platform: str = Query("ebay") to both /api/search
and /api/search/async; validate against SUPPORTED_PLATFORMS (422 on
unknown platform); thread platform into structured log lines; document
Phase 2 registry extension point in _make_adapter
Frontend:
- SearchView.vue: platform tab strip (eBay active, Mercari + Poshmark
disabled with "soon" badge) above search bar; eBay-specific controls
(category select, data source, pages, keywords) hidden when platform
!== 'ebay'; platform passed to SearchProgress
- search.ts: platform?: string added to SearchFilters; included in
async search params when non-eBay
- SearchProgress.vue: platform prop + PLATFORM_LABELS map; status line
reads "Searching eBay for…" / "Searching Mercari for…" dynamically
|
||
|---|---|---|
| .. | ||
| db | ||
| llm | ||
| mcp | ||
| platforms | ||
| tasks | ||
| trust | ||
| ui | ||
| wizard | ||
| __init__.py | ||
| tiers.py | ||