Skip to main content
Provider is the Well platform’s catalog entry for every external service or application that a workspace can connect to or interact with via the Well extension. Each Provider record carries identity metadata (name, slug, URL, logo), geographic availability, category classification, and an optional Vision Agent skill (a SKILL.md payload that the AI navigator uses at runtime). Providers are global platform records — not scoped to a specific workspace — and are managed exclusively by the platform via seed scripts and the Vision Agent pipeline. Workspaces link to providers through the workspace_providers join entity, and connectors are associated with providers through the provider_connectors junction table.
Internal object. Not currently exposed on the public REST API. The operations below describe the intended contract.

API operations

Data model

Attributes

Relationships

System-computed

  • provider_id — generated server-side via gen_random_uuid() database default on INSERT; never accepted from client input
  • created_at — set to now() by database default on INSERT; never modified
  • updated_at — automatically set to now() by MikroORM onUpdate hook on every entity flush
  • deleted_at — set by soft-delete logic in the service layer; null on all active records; excluded from the active skill planner index
  • skill_status — state-machine transitions driven exclusively by VisionAgentSkillService.nextStatus(); values advance from none→draft→yellow→green based on EWMA confidence scoring and successfulUses counter; never set by user input
  • skill_version — monotonically incremented by the skill pipeline on every regeneration cycle; initial default 0 set by migration
  • skill_metadata.successful_uses / total_uses — incremented atomically by the Vision Agent executor after each run; JSONB field so updates do not bump the row version for ORM change detection
  • skill_metadata.pending_revision — populated by the incremental re-synthesis loop when an active YELLOW or GREEN skill has a candidate replacement awaiting human review; cleared on promotion or rejection
  • popularity_score — maintained by the platform scoring pipeline (Migration20260417100000_provider_scoring_task_layer); not computed on-the-fly per request
  • category — seeded and bulk-updated by migrations (Migration20260413200000_expand_provider_categories); entity initializer default is ‘General’
  • blueprint_json — populated by ContributionService.publishBlueprint or one-shot backfill scripts; not user-editable via public API

Example

Source: /Users/maximechampoux/platform/apps/api/src/database/entities/Provider.ts · domain: ingestion · tier: Platform