VisualBlock
VisualBlock = {
id:string;markdown:string;type:"rich-text"; } | {id:string;markdown:string;tone:CalloutTone;type:"callout"; } | {entries:FileTreeEntry[];id:string;title?:string;type:"file-tree"; } | {annotations?:DiffAnnotation[];file?:DiffFile;id:string;path:string;summary:string;type:"diff"; } | {code?:string;filename:string;id:string;truncated?:boolean;type:"code"; } | {annotations?:DiffAnnotation[];code?:string;filename:string;id:string;truncated?:boolean;type:"annotated-code"; } | {entities:object[];id:string;inferred?:boolean;relations?:object[];type:"data-model"; } | {change?:string;deprecated?:boolean;id:string;inferred?:boolean;method:string;params?:object[];path:string;responses?:object[];summary?:string;type:"api-endpoint"; } | {columns:string[];id:string;rows:string[][];type:"table"; } | {id:string;items:object[];type:"checklist"; } | {caption?:string;id:string;inferred?:boolean;source:string;type:"mermaid"; } | {caption?:string;html:string;id:string;surface:"browser"|"desktop"|"mobile"|"popover"|"panel";type:"wireframe"; } | {id:string;questions:PlanQuestion[];type:"question-form"; }
Defined in: src/visual-blocks.ts:25
Union Members
Section titled “Union Members”Type Literal
Section titled “Type Literal”{ id: string; markdown: string; type: "rich-text"; }
Type Literal
Section titled “Type Literal”{ id: string; markdown: string; tone: CalloutTone; type: "callout"; }
Type Literal
Section titled “Type Literal”{ entries: FileTreeEntry[]; id: string; title?: string; type: "file-tree"; }
Type Literal
Section titled “Type Literal”{ annotations?: DiffAnnotation[]; file?: DiffFile; id: string; path: string; summary: string; type: "diff"; }
annotations?
Section titled “annotations?”
optionalannotations?:DiffAnnotation[]
optionalfile?:DiffFile
Server-joined real diff; populated by joinDiffBlocks — never from LLM input.
id:
string
path:
string
summary
Section titled “summary”summary:
string
type:
"diff"
Type Literal
Section titled “Type Literal”{ code?: string; filename: string; id: string; truncated?: boolean; type: "code"; }
optionalcode?:string
Server-populated from DiffFile — never from LLM input.
filename
Section titled “filename”filename:
string
id:
string
truncated?
Section titled “truncated?”
optionaltruncated?:boolean
type:
"code"
Type Literal
Section titled “Type Literal”{ annotations?: DiffAnnotation[]; code?: string; filename: string; id: string; truncated?: boolean; type: "annotated-code"; }
annotations?
Section titled “annotations?”
optionalannotations?:DiffAnnotation[]
Prose-only annotations — no line anchors (decision #4).
optionalcode?:string
Server-populated from DiffFile — never from LLM input.
filename
Section titled “filename”filename:
string
id:
string
truncated?
Section titled “truncated?”
optionaltruncated?:boolean
type:
"annotated-code"
Type Literal
Section titled “Type Literal”{ entities: object[]; id: string; inferred?: boolean; relations?: object[]; type: "data-model"; }
entities
Section titled “entities”entities:
object[]
id:
string
inferred?
Section titled “inferred?”
optionalinferred?:boolean
Server-forced to true — never trusted from LLM input.
relations?
Section titled “relations?”
optionalrelations?:object[]
type:
"data-model"
Type Literal
Section titled “Type Literal”{ change?: string; deprecated?: boolean; id: string; inferred?: boolean; method: string; params?: object[]; path: string; responses?: object[]; summary?: string; type: "api-endpoint"; }
change?
Section titled “change?”
optionalchange?:string
deprecated?
Section titled “deprecated?”
optionaldeprecated?:boolean
id:
string
inferred?
Section titled “inferred?”
optionalinferred?:boolean
Server-forced to true — never trusted from LLM input.
method
Section titled “method”method:
string
params?
Section titled “params?”
optionalparams?:object[]
path:
string
responses?
Section titled “responses?”
optionalresponses?:object[]
summary?
Section titled “summary?”
optionalsummary?:string
type:
"api-endpoint"
Type Literal
Section titled “Type Literal”{ columns: string[]; id: string; rows: string[][]; type: "table"; }
Type Literal
Section titled “Type Literal”{ id: string; items: object[]; type: "checklist"; }
Type Literal
Section titled “Type Literal”{ caption?: string; id: string; inferred?: boolean; source: string; type: "mermaid"; }
Type Literal
Section titled “Type Literal”{ caption?: string; html: string; id: string; surface: "browser" | "desktop" | "mobile" | "popover" | "panel"; type: "wireframe"; }
Type Literal
Section titled “Type Literal”{ id: string; questions: PlanQuestion[]; type: "question-form"; }