VVibeFlui

Provider Config

Providers execute list, detail, create, update, delete, and custom action operations.

Resolution order

Operations resolve in this order: action.handlerschema.handlers[action.key]/schema.handlers[operation]schema.provideraction.endpoint/schema.endpoint. The first source that resolves wins. See Action Config: Resolution order for the action-level detail, and No-op behavior for what happens when nothing resolves.

Runtime provider

Type: FluiKitDataProvider.

MethodType
list(context: FluiKitListContext) => Promise<unknown>
detail(context: FluiKitDetailContext) => Promise<unknown>
create(context: FluiKitMutationContext) => Promise<unknown>
update(context: FluiKitMutationContext) => Promise<unknown>
delete(context: FluiKitMutationContext) => Promise<unknown>
action(context: FluiKitActionExecutionContext) => Promise<unknown>

Provider registration

TSX
<FluiKitProvider
  providers={{
    adminApi: {
      list: async ({ query }) => fetchUsers(query),
      create: async ({ values }) => createUser(values)
    }
  }}
>
  <FluiKit schema={usersSchema} />
</FluiKitProvider>

Schema usage

Type: FluiKitDataProviderConfig.

PropertyTypeRequiredDescription
type"rest" | "graphql" | "trpc" | "supabase" | "firebase" | "custom"NoProvider category metadata. Built-in execution is automatic for rest only when name is not set (see below). "graphql", "trpc", "supabase", "firebase", and "custom" are metadata-only labels — they do not auto-wire an integration and still require a name pointing at a runtime provider registered through FluiKitProvider (or a plugin) to execute anything.
namestringNoNamed runtime provider registered through FluiKitProvider. When set, it is used regardless of type — even type: "rest" defers to the named provider instead of the built-in endpoint provider.
querystringNoQuery metadata for providers that use a query key or operation string.
TS
provider: {
  name: "adminApi"
}

Endpoint config

Type: FluiKitEndpointConfig.

An endpoint config can be a string or an operation map. Operation map values can be endpoint strings or endpoint objects.

Endpoint object shape:

PropertyTypeRequiredDescription
urlstringYesEndpoint URL or URL pattern.
method"GET" | "POST" | "PUT" | "PATCH" | "DELETE"NoHTTP method. Defaults by operation when omitted: createPOST, updatePATCH, deleteDELETE, actionPOST, everything else (e.g. list, detail) → GET.
headersRecord<string, string>NoStatic request headers.
queryRecord<string, unknown>NoStatic query values merged into the request.

Built-in endpoint provider

When a schema uses REST-style endpoints, VibeFlui can execute endpoint requests through the built-in endpoint provider utilities.

TS
provider: {
  type: "rest"
}

For plugin-backed providers, use type: "custom" with name.

TS
provider: {
  type: "custom",
  name: "reactQuery"
}