webflow.getSiteInfo() + webflow.getIdToken()
Designer APIs provide site identity.
POST /auth/resolve-id-token
Exchanges the idToken for a backend JWT.
SiteContext
JWT held in memory only; silent re-auth on 401 via the onApiAuthError listener.
ConnectScreen
Onboarding + credential entry + recovery entry.
DashboardScreen
Per-mapping health rows — the home screen.
Panels
CollectionSettingsScreen · SyncJobsScreen · ScriptInstallScreen · ScriptReleasesScreen · SettingsScreen · NotificationsScreen · WebflowRecoveryScreen
Modals
CronJobModal — schedule + pause · ForceReindexModal — cost preview → typed confirmation → token · AdminKeyReauthModal
BuildModeShell → BuildModeV2
Entry point to the Build Mode v2 pipeline below.
Queries
site config · sync-jobs (refetch every 5 s while a job is in flight, off otherwise) · Algolia health (every 2 min) · script delivery status (every 2 min)
Mutations
useTriggerSync → POST /api/sites/:siteId/sync-now · useForceReindex → GET sync-cost-preview (returns confirmationToken) then POST force-reindex with the token
deriveHealth()
RowHealth union: syncing · synced · stale · retrying · needs-attention · never-synced · not-mapped
Registry
Component descriptors in @candidleap/wf-algolia-shared-types.
ExperiencePicker / PiecePicker
Catalog UI over the registry.
buildPieceSpec / buildDraftSpec
Assembles the element tree; required internal children auto-added.
insertElementSpec
webflow.insertElementFromWHTML() + wf-algolia-* attributes applied to the canvas.