Skip to content

PromptScript API


Interface: CanonicalExtendBlock

Defined in: core/src/types/ast.ts:625

Immutable canonical extension block.

Extends

Properties

body

readonly body: BlockBody

Defined in: core/src/types/ast.ts:628


content

readonly content: { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | { inlineUses?: readonly object[]; listItems?: readonly (PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly... | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; })[]; loc: { column: number; file: string; line: number; offset?: number; }; properties: {[key: string]: PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[] | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; }; }; type: "ObjectContent"; } | { elements: readonly (PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly... | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; })[]; loc: { column: number; file: string; line: number; offset?: number; }; type: "ArrayContent"; } | { inlineUses?: readonly object[]; listItems?: readonly (PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly... | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; })[]; loc: { column: number; file: string; line: number; offset?: number; }; properties: {[key: string]: PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[] | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; }; }; text?: { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; }; type: "MixedContent"; }

Defined in: core/src/types/ast.ts:629

Union Members

Type Literal

{ loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; }

loc

readonly loc: object

Source location

loc.column

readonly column: number

Column number (1-indexed)

loc.file

readonly file: string

File path

loc.line

readonly line: number

Line number (1-indexed)

loc.offset?

readonly optional offset?: number

Byte offset from start of file

type

readonly type: "TextContent"

Node type discriminator

value

readonly value: string

Text value (without delimiters)


Type Literal

{ inlineUses?: readonly object[]; listItems?: readonly (PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly... | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; })[]; loc: { column: number; file: string; line: number; offset?: number; }; properties: {[key: string]: PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[] | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; }; }; type: "ObjectContent"; }

inlineUses?

readonly optional inlineUses?: readonly object[]

Inline

Use

declarations (consumed by resolver, ephemeral)

listItems?

readonly optional listItems?: readonly (PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly... | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; })[]

Dash-list entries interleaved with properties

loc

readonly loc: object

Source location

loc.column

readonly column: number

Column number (1-indexed)

loc.file

readonly file: string

File path

loc.line

readonly line: number

Line number (1-indexed)

loc.offset?

readonly optional offset?: number

Byte offset from start of file

properties

readonly properties: object

Properties

Index Signature

[key: string]: PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[] | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; }

type

readonly type: "ObjectContent"

Node type discriminator


Type Literal

{ elements: readonly (PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly... | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; })[]; loc: { column: number; file: string; line: number; offset?: number; }; type: "ArrayContent"; }

elements

readonly elements: readonly (PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly... | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; })[]

Array elements

loc

readonly loc: object

Source location

loc.column

readonly column: number

Column number (1-indexed)

loc.file

readonly file: string

File path

loc.line

readonly line: number

Line number (1-indexed)

loc.offset?

readonly optional offset?: number

Byte offset from start of file

type

readonly type: "ArrayContent"

Node type discriminator


Type Literal

{ inlineUses?: readonly object[]; listItems?: readonly (PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly... | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; })[]; loc: { column: number; file: string; line: number; offset?: number; }; properties: {[key: string]: PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[] | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; }; }; text?: { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; }; type: "MixedContent"; }

inlineUses?

readonly optional inlineUses?: readonly object[]

Inline

Use

declarations (consumed by resolver, ephemeral)

listItems?

readonly optional listItems?: readonly (PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly...; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly (PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly... | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; })[]

Dash-list entries interleaved with text or properties

loc

readonly loc: object

Source location

loc.column

readonly column: number

Column number (1-indexed)

loc.file

readonly file: string

File path

loc.line

readonly line: number

Line number (1-indexed)

loc.offset?

readonly optional offset?: number

Byte offset from start of file

properties

readonly properties: object

Properties

Index Signature

[key: string]: PrimitiveValue | { constraints?: { max?: number; min?: number; options?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; }; kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; loc: { column: number; file: string; line: number; offset?: number; }; params?: readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[]; type: "TypeExpression"; } | { loc: { column: number; file: string; line: number; offset?: number; }; type: "TextContent"; value: string; } | readonly PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...[] | {[key: string]: PrimitiveValue | { readonly type: "TypeExpression"; readonly kind: "string" | "number" | "boolean" | "enum" | "range" | "list"; readonly params?: readonly (PrimitiveValue | ... 4 more ... | { ...; })[] | undefined; readonly constraints?: { ...; } | undefined; readonly loc: { ...; }; } | { ...; } | readonly (Primitiv...; } | { loc: { column: number; file: string; line: number; offset?: number; }; name: string; type: "TemplateExpression"; }

text?

readonly optional text?: object

Optional text content

text.loc

readonly loc: object

Source location

text.loc.column

readonly column: number

Column number (1-indexed)

text.loc.file

readonly file: string

File path

text.loc.line

readonly line: number

Line number (1-indexed)

text.loc.offset?

readonly optional offset?: number

Byte offset from start of file

text.type

readonly type: "TextContent"

Node type discriminator

text.value

readonly value: string

Text value (without delimiters)

type

readonly type: "MixedContent"

Node type discriminator


loc

readonly loc: object

Defined in: core/src/types/ast.ts:467

column

readonly column: number

Column number (1-indexed)

file

readonly file: string

File path

line

readonly line: number

Line number (1-indexed)

offset?

readonly optional offset?: number

Byte offset from start of file

Inherited from

CanonicalNode.loc


replacements?

readonly optional replacements?: readonly object[]

Defined in: core/src/types/ast.ts:630


targetPath

readonly targetPath: string

Defined in: core/src/types/ast.ts:627


type

readonly type: "CanonicalExtendBlock"

Defined in: core/src/types/ast.ts:626

Overrides

CanonicalNode.type