/** * Lowering Error Types * * Defines error types for MEL IR → Core IR lowering. * * @see SPEC v0.4.0 §17.6 */ /** * Lowering error codes. * * @see SPEC v0.4.0 §17.6 */ export type LoweringErrorCode = /** var in non-effect context, sys in schema */ "INVALID_KIND_FOR_CONTEXT" /** Unknown function name in call node */ | "UNKNOWN_CALL_FN" /** Disallowed dollar namespace path */ | "INVALID_SYS_PATH" /** get.base is not var(item) */ | "UNSUPPORTED_BASE" /** Malformed node structure */ | "INVALID_SHAPE" /** Unknown node kind */ | "UNKNOWN_NODE_KIND"; /** * Lowering error class. * * Thrown when MEL IR cannot be lowered to Core IR. * * @see SPEC v0.4.0 §17.6 */ export declare class LoweringError extends Error { readonly code: LoweringErrorCode; readonly path?: string[]; readonly details?: Record; constructor(code: LoweringErrorCode, message: string, options?: { path?: string[]; details?: Record; }); } /** * Create a lowering error for invalid kind in context. * * @example * throw invalidKindForContext("var", "schema"); */ export declare function invalidKindForContext(kind: string, context: string, path?: string[]): LoweringError; /** * Create a lowering error for unknown call function. * * @example * throw unknownCallFn("unknownFunc"); */ export declare function unknownCallFn(fn: string, path?: string[]): LoweringError; /** * Create a lowering error for invalid dollar namespace path. * * @example * throw invalidSysPath(["system", "uuid"]); */ export declare function invalidSysPath(sysPath: string[], path?: string[]): LoweringError; /** * Create a lowering error for unsupported base expression. * * @example * throw unsupportedBase("call"); */ export declare function unsupportedBase(baseKind: string, path?: string[]): LoweringError; /** * Create a lowering error for invalid shape. * * @example * throw invalidShape("missing 'value' field"); */ export declare function invalidShape(description: string, path?: string[]): LoweringError; /** * Create a lowering error for unknown node kind. * * @example * throw unknownNodeKind("foo"); */ export declare function unknownNodeKind(kind: string, path?: string[]): LoweringError;