Skip to content

Interface: UIGenerateRequest

@kortexya/reasoninglayer


@kortexya/reasoninglayer / UI / UIGenerateRequest

Interface: UIGenerateRequest

Defined in: src/types/ui.ts:249

Request to generate a certified UI specification from a natural-language prompt.

Remarks

The pipeline is certify-or-abstain: an LLM proposes a component tree over the UiSort vocabulary, the exact engine screens every component sort, data binding, load query and action against the tenant’s live schema, and either certifies the spec, repairs it once, or abstains with suggestions. Rows always come from OSFQL execution after certification — never from the model.

The tenant is taken from the authenticated principal (never a body field).

Properties

allowNewSorts?

optional allowNewSorts: boolean

Defined in: src/types/ui.ts:254

Allow write actions targeting sorts absent from the live schema (default: false — a generated UI writing to nonexistent schema is a hallucination).


basePage?

optional basePage: string | null

Defined in: src/types/ui.ts:260

Iterate on an existing page: its latest version is embedded in the prompt as “the current interface” and UIGenerateRequest.prompt becomes the change instruction. The result saves as the page’s next version.


conversationId?

optional conversationId: string | null

Defined in: src/types/ui.ts:264

Existing conversation to append this exchange to. Omit to start a new conversation.


interactive?

optional interactive: boolean | null

Defined in: src/types/ui.ts:269

Frontend metadata: whether the generated app renders its write controls as live (interactive) vs preview-only. Passed through untouched; the backend does not branch on it.


loadData?

optional loadData: boolean

Defined in: src/types/ui.ts:271

Whether to execute the spec’s load query and inline real rows (default: true).


maxComponents?

optional maxComponents: number

Defined in: src/types/ui.ts:273

Maximum number of components (default: 120).


maxDepth?

optional maxDepth: number

Defined in: src/types/ui.ts:275

Maximum nesting depth (default: 8).


pipeline?

optional pipeline: string | null

Defined in: src/types/ui.ts:281

Which generation pipeline to run: "classic" (default — single-call certify-or-abstain) or "catalog" (the intent pipeline). Catalog mode only applies to a fresh screen: iteration on a UIGenerateRequest.basePage always runs classic.


prompt

prompt: string

Defined in: src/types/ui.ts:283

What the user wants (“a dashboard of drugs with name and dosage…“).


saveAsPage?

optional saveAsPage: string | null

Defined in: src/types/ui.ts:285

Save the certified spec as a named, versioned page.


trace?

optional trace: boolean | null

Defined in: src/types/ui.ts:287

Dev/debug: request the per-stage catalog-pipeline trace.