SIGN IN SIGN UP

Implement frontend-backend integration from next_steps.md

Schema reconciliation:
- Unified supabase_schema.sql: merged items (added draft_url, listing_screenshot_url,
  listing_preview_payload), conversations (added user_id, listing_url, seller, status),
  messages (added target_price), completed_trades (added listing_url, seller,
  conversation_id, run_id), plus agent_runs and agent_run_events tables
- Updated migration 0002 to match unified schema with frontend column names
- Updated RLS policies for cross-table access patterns

Backend changes:
- buy_writeback.py: column names aligned (sender/text instead of role/content),
  added item_id, username, last_message, last_message_at to conversation upserts
- orchestrator.py: passes item_id from session metadata to buy writeback
- Fixed test_buy_writeback.py to match new column names
- API_CONTRACT.md: documented all 7 authenticated endpoints

Frontend changes:
- New frontend/lib/api.ts: typed FastAPI client with auth headers for all endpoints
- New frontend/lib/sse.ts: fetch-based SSE client for React Native
- New frontend/constants/config.ts: backend URL configuration
- AuthContext: exposed accessToken for API calls
- Item detail: Start Selling/Buying buttons, real-time agent progress,
  sell listing review UI, buy results display, sell results display
- Agents settings: backend status indicator and agent list from /agents endpoint

Tests: 403 passed (7 pre-existing Windows path failures unchanged)
Frontend: TypeScript compiles clean (0 errors)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
S
samsam324 committed
10342836b019bd744b430fa158d5a4bee6e0637c
Parent: 5554161