|
Some checks failed
CI / verify (push) Has been cancelled
Resolves 630/374 plum-vs-origin divergence by resetting plum to origin/main and
porting forward the genuinely net-new plum work atop apricot's evolution.
Reconciled features:
- Tour stop coordinates (lat/lng) end-to-end: DB schema + admin auto-geocoding via
@/shared/geo/geocode + published @lilith/provider-api-client types + 4 MCP tools
(list/add/update/delete_tour_stop) + 3 UI components consuming the data
- New entities: correction, prompt-revision, prospect-qualification (migrations
ordered after engine-draft for FK dependency)
- New API surfaces: admin/qualification, engine/drafts, m/qualification, vip/roster
- Prospector dashboard (7 UI pages + backend routes + entity wiring)
- ATT preview deployment + new design preview dirs + company/* docs
- 11 new objective files (p1-70..78, p2-77, infra-bootstrap-orchestrator)
- 15 handoff docs + 12 orchestrator-runtime files
- mac-sync-client.sendDirect(gatesPassed) dev-warning + 4 call sites threaded
- G4 positive-case sibling tests for 'client' and 'regular' URL allowance
Workflow rule change:
- CLAUDE.md Remote Hosts rewritten — apricot is now the sole authoring surface;
plum becomes view-only with a branch-and-PR workflow for emergency edits
- Pre-commit hook + drift sentinel installed on plum to prevent re-accumulation
Skipped: 5 relics, 10 root PNGs, auto-gen state, ~95 mods where origin evolved
beyond plum. Safety: origin/plum-pre-rebase-2026-05-13 preserves original tip
|
||
|---|---|---|
| .. | ||
| src | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.test.json | ||
| tsup.config.ts | ||
@lilith/provider-api-client
Type-safe HTTP client for the provider API public surface.
Base URL resolution
import.meta.env.VITE_QUINN_API_BASE_URL(Vite env override)localhost/127.0.0.1→http://localhost:3040- Otherwise →
https://api.quinn.apricot.local
Exports
Types
BlogPostSummary, BlogPost, ContactChannel, ContactPayload, ContactResult, TouringPayload, TouringResult, TrackAvailability, RosterApplicationPayload, RosterApplicationResult, AnalyticsEventPayload
Error classes
ApiError, NotFoundError, RateLimitError, ValidationError, NetworkError
Endpoints
| Function | Method | Path |
|---|---|---|
fetchBlogPosts() |
GET | /www/blog |
fetchBlogPost(slug) |
GET | /www/blog/:slug |
submitContact(payload) |
POST | /public/contact |
subscribeToTouring(payload) |
POST | /public/touring/subscribe |
fetchAvailability() |
GET | /public/roster/availability |
fetchAvailabilityBySlug(slug) |
GET | /public/roster/availability/:slug |
submitRosterApplication(payload) |
POST | /public/roster/apply |
trackEvent(path, payload) |
POST | /public/analytics/track/* (fire-and-forget) |
Low-level
apiFetch<T>(url, init?) — typed fetch with automatic error mapping
resolveBaseUrl() — base URL resolution