VVibeFlui

Message Resolution

Feedback title and message text use the shared VibeFlui message pipeline.

Default priority

TS
messages: {
  sourcePriority: ["backend", "schema", "resolver", "default"]
}

VibeFlui checks sources in order:

SourceMeaning
backendmessage or error.message from the response source.
schemaschema.messages.defaults[key].
resolverregistry.messageResolvers[schema.messages.resolver].
defaultBuilt-in English defaults.

Operation message keys

Operation resultMessage key
Create successcreateSuccess
Update or edit successupdateSuccess
Delete successdeleteSuccess
Other action successactionSuccess
WarningrequestRejected
Delete errordeleteError
Create/update/edit errorsubmitError
Other action erroractionError

Feedback title keys

Feedback statusTitle key
successfeedbackSuccessTitle
warningfeedbackWarningTitle
errorfeedbackErrorTitle

Schema defaults

TS
export const usersSchema = {
  resource: "users",
  messages: {
    defaults: {
      feedbackSuccessTitle: "Done",
      feedbackWarningTitle: "Needs attention",
      feedbackErrorTitle: "Could not complete request",
      createSuccess: "User created.",
      updateSuccess: "User updated.",
      deleteSuccess: "User deleted.",
      requestRejected: "The request was not accepted."
    }
  }
} as const;

Message resolver

TS
import { createRegistry } from "@vibeflui/core";

export const registry = createRegistry({
  messageResolvers: {
    "users.messages": (key) => {
      const messages: Record<string, string> = {
        feedbackSuccessTitle: "Success",
        requestRejected: "This operation needs another approval step."
      };

      return messages[key];
    }
  }
});
TS
export const usersSchema = {
  resource: "users",
  messages: {
    resolver: "users.messages",
    sourcePriority: ["backend", "resolver", "schema", "default"]
  },
  registry: {
    messageResolvers: ["users.messages"]
  }
} as const;

Backend message extraction

VibeFlui can extract a message from:

  • new Error("...")
  • { message: "..." }
  • { error: "..." }
  • { error: { message: "..." } }
  • { data: { message: "..." } }
  • { response: { data: { message: "..." } } }