Skip to main content

Install generated UI support

Generated UI rendering is part of the BFF. Complexity handles generation and history. There is no required separate renderer service or hosted Gateway.

Install the matching package set​

Use the pinned @openuidev/lang-core@1.0.1 and @openuidev/react-lang@1.0.1 versions with the repository lockfiles. Preserve BFF patches/ and its workspace patch registration. The patch prevents automatic development DevTools loading from an external CDN. Use normal dependency installation instead of manual node_modules changes.

Update the source version's schema and both Prisma clients through the controlled installation path. Preserve existing data, identifiers, keys, and volumes. A reset or destructive startup flag is not an update.

Persistent state and revisions​

Canonical migrations reside in mailGen/ECS_MovePST_To_TempSQL/DB_Lib/Sql/. They create state, group mapping, canonical tool-ID CHECK support, and nullable Submit input settings. Development setup gives the exact ordered filenames and generation requirements.

20261016_complexity_ui_state_revisions.sql widens the known ui_states_revision_check from ui_revision = 1 to positive UI revisions. Answer revision and CAS version stay positive. This adds no column, backfill, or Prisma mapping change.

The guarded upgrade stops for unknown/unvalidated constraints. An already-correct CHECK remains unchanged. EF and fresh installation use the same positive-revision condition. Prisma synchronization alone does not install these SQL constraints.

Preserve rows, foreign keys, unique keys, indexes, and encryption keys. Revision support does not rewrite old output or saved state. It needs no additional environment variable, credential, dependency, or infrastructure service.

Permissions and source compatibility​

BFF, Complexity, and Getter must share the compatible source contract. Refresh Admin for policy-catalog changes. The group's Agent tool access needs explicit displayOpenUI and displayMarkdown. Registration alone is insufficient.

Policy and prompt defaults​

Use matching updated BFF, Complexity, and Admin source. Default SYSTEM prompt changes affect new runs. Old prompt snapshots and tenant overrides remain. Inspect Admin LLM configuration to identify the effective default or override.

New generated interfaces stream inline according to display rules. Legacy display-tool history rendering remains. This policy change alone needs no migration or new environment field.

After installation, check a disposable conversation's generation, interaction, history reopening, and language display. See generated UI usage.

Startup checks for persistent UI state​

Unified Docker initialization runs Prisma schema synchronization, the database feature installer, then the seed step. The installer checks positive answer/UI/CAS revisions, equal bounded tool/output identities with colon support, and nullable bounded linked-group identities.

A missing CHECK validates all existing rows. An identical, validated CHECK keeps its PostgreSQL object identifier (OID). Only exact known legacy revision and tool/output identity definitions qualify for replacement. Unknown definitions, unvalidated constraints, different constraint types, or invalid rows stop the transaction and initialization.

If initialization stops, inspect the database catalog and existing rows. Do not bypass validation or use destructive startup flags. Prisma manages the relational objects. The SQL files remain the explicit upgrade definitions.

For an isolated instance, use its verified schema path instead of the legacy migration script's Coolify target lookup. Read the startup contract and target boundaries for exact CHECK limits and target selection. A normal restart that skips initialization does not install these checks.