Interface: UIGenerateRequest
@kortexya/reasoninglayer / UIGenerateRequest
Interface: UIGenerateRequest
Section titled “Interface: UIGenerateRequest”Defined in: src/types/ui.ts:495
Request to generate a certified UI specification from a natural-language prompt.
Remarks
Section titled “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
Section titled “Properties”allowNewSorts?
Section titled “allowNewSorts?”
optionalallowNewSorts?:boolean
Defined in: src/types/ui.ts:500
Allow write actions targeting sorts absent from the live schema
(default: false — a generated UI writing to nonexistent schema is a hallucination).
basePage?
Section titled “basePage?”
optionalbasePage?:string|null
Defined in: src/types/ui.ts:506
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?
Section titled “conversationId?”
optionalconversationId?:string|null
Defined in: src/types/ui.ts:514
Existing conversation to append this exchange to. Omit to start a new conversation.
Remarks
Section titled “Remarks”It must name a generative_ui conversation of the caller: an id the caller does
not own is refused 404, a conversation of another kind 409.
interactive?
Section titled “interactive?”
optionalinteractive?:boolean|null
Defined in: src/types/ui.ts:519
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?
Section titled “loadData?”
optionalloadData?:boolean
Defined in: src/types/ui.ts:521
Whether to execute the spec’s load query and inline real rows (default: true).
maxComponents?
Section titled “maxComponents?”
optionalmaxComponents?:number
Defined in: src/types/ui.ts:523
Maximum number of components (default: 120).
maxDepth?
Section titled “maxDepth?”
optionalmaxDepth?:number
Defined in: src/types/ui.ts:525
Maximum nesting depth (default: 8).
pipeline?
Section titled “pipeline?”
optionalpipeline?:string|null
Defined in: src/types/ui.ts:531
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
Section titled “prompt”prompt:
string
Defined in: src/types/ui.ts:533
What the user wants (“a dashboard of drugs with name and dosage…”).
saveAsPage?
Section titled “saveAsPage?”
optionalsaveAsPage?:string|null
Defined in: src/types/ui.ts:535
Save the certified spec as a named, versioned page.
trace?
Section titled “trace?”
optionaltrace?:boolean|null
Defined in: src/types/ui.ts:537
Dev/debug: request the per-stage catalog-pipeline trace.