/** * Structured language metadata for Builder / editors. * Keywords, operators, modifiers, and builtins are derived directly from * their authoritative sources (lexer, property-modifiers registry, live * RuntimeEngine). The categorized construct lists below are curated subsets: * asserted against the lexer at call time and drift-tested against the * parser source in language-metadata.test.ts — but a new parser construct * still needs a human to categorize it here. */ import { type PropertyModifier } from './property-modifiers.js'; export interface BuiltinMetadata { name: string; } export interface LanguageMetadata { /** Sorted reserved words from the lexer KEYWORDS set. */ keywords: string[]; /** Sorted operator tokens from the lexer. */ operators: string[]; /** Property modifiers from IR PropertyModifier / schema. */ modifiers: readonly PropertyModifier[]; /** Relationship kinds (subset of keywords, asserted). */ relationshipKinds: string[]; /** Command/action constructs (subset of keywords, asserted). */ commandActionConstructs: string[]; /** Top-level declaration constructs (subset of keywords, asserted). */ topLevelConstructs: string[]; /** * Top-level constructs parsed as contextual identifiers rather than * reserved words (value, role, schedule). Valid at the start of a * top-level declaration but usable elsewhere as plain identifiers. */ contextualTopLevelConstructs: string[]; /** * All contextual identifiers (superset of contextualTopLevelConstructs): * identifiers with syntactic meaning at specific declaration sites * (external, mixin, retry, rateLimit, cron, …) that remain legal as plain * property/parameter names elsewhere. */ contextualKeywords: string[]; /** Keyword primitive type names + date/time primitives from semantics. */ primitiveTypes: string[]; /** Core builtin function names from RuntimeEngine.getBuiltins(). */ builtins: BuiltinMetadata[]; /** * Hover/completion documentation identifiers — currently the keyword and * builtin names themselves. Builder/LSP resolve docs by these ids. */ documentationIds: string[]; } /** * Authoritative language metadata for Builder editing/discovery. * Derive-only: keywords ← lexer, modifiers ← IR, builtins ← RuntimeEngine. */ export declare function getLanguageMetadata(): LanguageMetadata; //# sourceMappingURL=language-metadata.d.ts.map