mlld
Version:
mlld: llm scripting language
1 lines • 95.2 kB
Source Map (JSON)
{"version":3,"sources":["../core/errors/MlldError.ts","../core/errors/MlldParseError.ts","../core/errors/MlldResolutionError.ts","../core/errors/MlldInterpreterError.ts","../core/errors/MlldImportError.ts","../core/errors/MlldFileSystemError.ts","../core/errors/MlldFileNotFoundError.ts","../core/errors/MlldOutputError.ts","../core/errors/MlldDirectiveError.ts","../core/errors/PathValidationError.ts","../core/errors/DataEvaluationError.ts","../core/errors/VariableRedefinitionError.ts","../core/errors/MlldCommandExecutionError.ts","../core/errors/MlldDependencyError.ts","../core/errors/MlldConditionError.ts","../core/errors/ResolverError.ts","../core/errors/MlldWhenExpressionError.ts","../core/errors/DeprecationError.ts","../core/errors/GuardError.ts","../core/errors/GuardRetrySignal.ts","../core/errors/CircularReferenceError.ts","../core/errors/messages/paths.ts","../core/errors/FieldAccessError.ts","../core/errors/VariableResolutionError.ts","../core/errors/index.ts"],"names":["ErrorSeverity","MlldError","Error","message","options","cause","code","severity","details","sourceLocation","env","name","captureStackTrace","canBeWarning","getSourceContext","undefined","filePath","source","getSource","line","formatSourceContext","lines","split","lineNum","length","column","pointer","repeat","contextStart","Math","max","contextEnd","min","result","i","lineNumber","String","padStart","marker","toString","formatLocationForError","sourceContext","toJSON","MlldParseError","position","locationStr","start","location","end","Fatal","context","Object","setPrototypeOf","prototype","MlldResolutionError","formatMessage","msg","value","variableName","variableType","fieldPath","MlldInterpreterError","nodeType","isPreciseLocation","Recoverable","fullCauseMessage","getFullCauseMessage","nodeCount","state","error","MlldImportError","importChainStr","importChain","join","isCyclic","includes","MlldFileSystemError","command","cwd","MlldFileNotFoundError","MlldOutputError","format","MlldDirectiveError","directiveKind","PathErrorCode","PathValidationError","DataEvaluationError","dataPath","originalError","VariableRedefinitionError","newLocation","enhancedMessage","existingLocation","locStr","suggestion","Critical","variableRedefinitionContext","forSameFile","forImportConflict","importPath","isExistingImported","MlldCommandExecutionError","create","exitCode","duration","additionalContext","stdout","stderr","workingDirectory","process","directiveType","MlldDependencyError","missing","mismatched","getFormattedMessage","push","nodePackages","filter","p","pythonPackages","MlldConditionError","modifier","ResolverErrorCode","ResolverError","notFound","reference","contextMsg","operation","unsupportedCapability","resolverName","capability","missingCapability","invalidFormat","supportedFormats","suggestedFormat","resolutionFailed","nameProtected","isVariable","type","parts","availableResolvers","getSuggestions","suggestions","startsWith","MlldWhenExpressionError","DeprecationError","Warning","GuardError","resolvedReason","reason","defaultReasonForDecision","decision","resolvedMessage","formatGuardMessage","guardName","guardFilter","scope","inputPreview","outputPreview","timing","retryHint","guardContext","guardInput","reasons","guardResults","hints","guardLabel","formatGuardLabel","operationLabel","formatOperationLabel","hint","base","subtype","GuardRetrySignal","isGuardRetrySignal","CircularReferenceError","identifier","PathErrorMessages","EMPTY_PATH","NULL_BYTE","INVALID_PATH","FILE_NOT_FOUND","PATH_NOT_FOUND","NOT_A_FILE","NOT_A_DIRECTORY","CONTAINS_DOT_SEGMENTS","INVALID_PATH_FORMAT","RAW_ABSOLUTE_PATH","OUTSIDE_BASE_DIR","validation","rawAbsolutePath","slashesWithoutPathVariable","dotSegments","fileAccess","fileNotFound","directoryNotFound","permissionDenied","circular","circularImport","FieldAccessError","ResolutionErrorCode","FIELD_ACCESS_ERROR","VariableResolutionError"],"mappings":"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","file":"chunk-V5XE5YB5.mjs","sourcesContent":["/**\n * Defines the severity levels for Mlld errors.\n */\nexport enum ErrorSeverity {\n /** The operation can potentially continue */\n Recoverable = 'recoverable',\n /** The operation cannot continue */\n Fatal = 'fatal',\n /** Informational message, not strictly an error */\n Info = 'info',\n /** Warning message */\n Warning = 'warning',\n}\n\nimport { SourceLocation } from '@core/types';\n\nimport type { DirectiveTrace } from '@core/types/trace';\nimport type { Environment } from '@interpreter/env/Environment';\n\n/**\n * Base interface for Mlld error details.\n * Specific error types should extend this.\n */\nexport interface BaseErrorDetails {\n directiveTrace?: DirectiveTrace[]; // Optional directive trace\n [key: string]: any; // Allow arbitrary context\n}\n\n/**\n * Options for creating a MlldError instance.\n */\nexport interface MlldErrorOptions {\n code: string;\n severity: ErrorSeverity;\n details?: BaseErrorDetails;\n sourceLocation?: SourceLocation;\n cause?: unknown;\n env?: Environment; // Optional environment for source access\n}\n\nimport { formatLocationForError } from '@core/utils/locationFormatter';\n\n/**\n * Base class for all custom Mlld errors.\n * Provides structure for error codes, severity, details, and source location.\n */\nexport class MlldError extends Error {\n /** A unique code identifying the type of error */\n public readonly code: string;\n /** The severity level of the error */\n public readonly severity: ErrorSeverity;\n /** Additional context-specific details about the error */\n public readonly details?: BaseErrorDetails;\n /** Optional source location where the error occurred */\n public readonly sourceLocation?: SourceLocation;\n /** Optional environment for source access */\n private readonly env?: Environment;\n\n constructor(\n message: string,\n options: {\n code: string;\n severity: ErrorSeverity;\n details?: BaseErrorDetails;\n sourceLocation?: SourceLocation;\n cause?: unknown; // Allow chaining errors\n env?: Environment; // Optional environment for source access\n }\n ) {\n super(message, { cause: options.cause });\n this.name = this.constructor.name; // Set the error name to the class name\n this.code = options.code;\n this.severity = options.severity;\n this.details = options.details;\n this.sourceLocation = options.sourceLocation;\n this.env = options.env;\n\n // Standard way to maintain stack trace in V8\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n /**\n * Determines if the error represents a condition that could potentially be\n * treated as a warning rather than a fatal error, based on its severity.\n * Recoverable errors and explicit warnings can potentially be warnings.\n * \n * @returns {boolean} True if the error severity allows it to be a warning, false otherwise.\n */\n public canBeWarning(): boolean {\n return (\n this.severity === ErrorSeverity.Recoverable || \n this.severity === ErrorSeverity.Warning\n );\n }\n\n /**\n * Get source context for error display\n */\n private getSourceContext(): string | undefined {\n if (!this.sourceLocation || !this.env) {\n return undefined;\n }\n \n const filePath = this.sourceLocation.filePath;\n if (!filePath) {\n return undefined;\n }\n \n const source = this.env.getSource(filePath);\n if (!source || !this.sourceLocation.line) {\n return undefined;\n }\n \n return this.formatSourceContext(source);\n }\n \n /**\n * Format source context with visual indicators\n */\n private formatSourceContext(source: string): string {\n const lines = source.split('\\n');\n const lineNum = this.sourceLocation!.line! - 1; // Convert to 0-based index\n \n if (lineNum < 0 || lineNum >= lines.length) {\n return '';\n }\n \n const errorLine = lines[lineNum];\n const column = this.sourceLocation!.column || 1;\n const pointer = ' '.repeat(column - 1) + '^';\n \n // Include surrounding context (2 lines before/after)\n const contextStart = Math.max(0, lineNum - 2);\n const contextEnd = Math.min(lines.length - 1, lineNum + 2);\n \n let result = '';\n for (let i = contextStart; i <= contextEnd; i++) {\n const lineNumber = String(i + 1).padStart(4, ' ');\n const marker = i === lineNum ? '>' : ' ';\n result += `${marker} ${lineNumber} | ${lines[i]}\\n`;\n \n if (i === lineNum && this.sourceLocation!.column) {\n result += ` | ${pointer}\\n`;\n }\n }\n \n return result;\n }\n\n /**\n * Provides a string representation including code and severity.\n */\n public toString(): string {\n let result = `[${this.code}] ${this.message}`;\n \n if (this.sourceLocation) {\n result += ` at ${formatLocationForError(this.sourceLocation)}`;\n }\n \n result += ` (Severity: ${this.severity})`;\n \n const sourceContext = this.getSourceContext();\n if (sourceContext) {\n result += '\\n\\n' + sourceContext;\n }\n \n return result;\n }\n\n /**\n * Serializes the error to JSON with formatted location string.\n */\n public toJSON(): Record<string, any> {\n const result: Record<string, any> = {\n name: this.name,\n message: this.message,\n code: this.code,\n severity: this.severity,\n };\n\n if (this.details) {\n result.details = this.details;\n }\n\n if (this.sourceLocation) {\n result.sourceLocation = formatLocationForError(this.sourceLocation);\n }\n\n return result;\n }\n} ","import type { Location, Position } from '@core/types/index';\nimport { MlldError, ErrorSeverity } from '@core/errors/MlldError';\nimport { formatLocationForError } from '@core/utils/locationFormatter';\n\ninterface SerializedParseError {\n name: string;\n message: string;\n code: string;\n severity: ErrorSeverity;\n location?: Location;\n sourceLocation?: string;\n filePath?: string;\n cause?: string;\n details?: any;\n}\n\nexport interface MlldParseErrorOptions {\n cause?: Error;\n severity?: ErrorSeverity;\n context?: any;\n filePath?: string; // Add filePath to options\n peggyFormatted?: string; // Add this for Peggy's formatted output\n}\n\n/**\n * Error thrown when parsing Mlld content fails\n */\nexport class MlldParseError extends MlldError {\n /**\n * Location information for where the error occurred\n */\n public readonly location?: Location;\n // Explicitly store the cause passed in options\n public readonly cause?: unknown;\n\n constructor(\n message: string, \n position?: Position | Location,\n options: MlldParseErrorOptions = {}\n ) {\n // Format message with location if available\n const locationStr = position ? \n ` at line ${('line' in position ? position.line : position.start.line)}, ` +\n `column ${('column' in position ? position.column : position.start.column)}` +\n (('filePath' in position && position.filePath) ? ` in ${position.filePath}` : '')\n : '';\n \n // Convert Position to Location if needed\n let location: Location | undefined;\n let filePath: string | undefined;\n \n if (position) {\n if ('line' in position) {\n // It's a Position\n location = {\n start: position,\n end: position,\n filePath: undefined\n };\n } else {\n // It's already a Location\n location = position;\n }\n \n // Store filePath separately for easier access\n filePath = location?.filePath as string | undefined;\n }\n \n // Parse errors are typically fatal, but can be overridden\n const severity = options.severity || ErrorSeverity.Fatal;\n \n super(`Parse error: ${message}${locationStr}`, {\n // Pass filePath via details, not directly\n code: 'PARSE_ERROR', // Assign a default code or get from options if needed\n severity,\n details: {\n ...(options.context as Record<string, unknown>), // Keep existing context details\n filePath: options.filePath || filePath\n } as Record<string, unknown>,\n sourceLocation: location, // Use sourceLocation for the parsed location\n cause: options.cause\n });\n \n this.name = 'MlldParseError';\n this.location = location; // Keep this for direct access if needed\n this.cause = options.cause; // Store the cause\n\n // Ensure proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, MlldParseError.prototype);\n }\n\n /**\n * Custom serialization to avoid circular references and include only essential info\n */\n toJSON(): SerializedParseError {\n const cause = this.cause;\n return {\n name: this.name,\n message: this.message,\n code: this.code,\n severity: this.severity,\n location: this.location,\n sourceLocation: this.sourceLocation ? formatLocationForError(this.sourceLocation) : undefined,\n filePath: (this.details as Record<string, unknown>)?.filePath as string | undefined,\n cause: cause instanceof Error ? cause.message : String(cause),\n details: this.details\n } as SerializedParseError;\n }\n} ","import { MlldError, ErrorSeverity, BaseErrorDetails, ErrorSourceLocation } from './MlldError';\nimport { Location } from '@core/types/index';\n\n/**\n * Represents details specific to general resolution errors.\n */\nexport interface MlldResolutionErrorDetails extends BaseErrorDetails {\n value?: any; // The value being resolved\n context?: any; // The resolution context or relevant parts\n}\n\nexport interface ResolutionErrorDetails {\n value?: string;\n context?: string;\n location?: Location;\n variableName?: string;\n variableType?: 'text' | 'data' | 'path' | 'command';\n fieldPath?: string;\n contentPreview?: string;\n error?: string;\n availableHeadings?: string;\n suggestions?: string;\n // Additional properties used in VariableReferenceResolver\n variable?: string;\n field?: string;\n path?: string;\n index?: number;\n length?: number;\n type?: string;\n}\n\nexport interface MlldResolutionErrorOptions {\n details?: ResolutionErrorDetails;\n code?: string;\n cause?: Error;\n severity?: ErrorSeverity;\n filePath?: string;\n}\n\n/**\n * General error thrown during the resolution process for various reasons\n * not covered by more specific error types (like VariableResolutionError or PathValidationError).\n */\nexport class MlldResolutionError extends MlldError {\n constructor(\n message: string,\n options: {\n code: string; // e.g., E_RESOLVE_FAIL, E_INVALID_CONTEXT, E_TYPE_NOT_ALLOWED\n details?: MlldResolutionErrorDetails;\n severity?: ErrorSeverity;\n sourceLocation?: ErrorSourceLocation;\n cause?: unknown;\n }\n ) {\n super(message, {\n code: options.code,\n severity: options.severity || ErrorSeverity.Fatal,\n details: options.details,\n sourceLocation: options.sourceLocation,\n cause: options.cause,\n });\n }\n\n /**\n * Get a formatted error message including details\n */\n formatMessage(): string {\n let msg = `Resolution error: ${this.message}`;\n if (this.details?.value) {\n msg += `\\nValue: ${this.details.value}`;\n }\n if (this.details?.context) {\n msg += `\\nContext: ${this.details.context}`;\n }\n if (this.details?.variableName) {\n msg += `\\nVariable: ${this.details.variableName}`;\n if (this.details.variableType) {\n msg += ` (${this.details.variableType})`;\n }\n }\n if (this.details?.fieldPath) {\n msg += `\\nField path: ${this.details.fieldPath}`;\n }\n return msg;\n }\n} ","import { MlldError, ErrorSeverity } from '@core/errors/MlldError';\nimport { formatLocationForError } from '@core/utils/locationFormatter';\nimport { SourceLocation, isPreciseLocation } from '@core/types';\n\ninterface SerializedInterpreterError {\n name: string;\n message: string;\n nodeType: string;\n location?: SourceLocation;\n sourceLocation?: string;\n filePath?: string;\n cause?: string;\n fullCauseMessage?: string;\n severity: ErrorSeverity;\n code?: string;\n context?: {\n filePath?: string;\n nodeType?: string;\n nodeCount?: number;\n };\n}\n\nexport interface InterpreterErrorContext {\n filePath?: string;\n nodeType?: string;\n location?: SourceLocation;\n parentFilePath?: string;\n childFilePath?: string;\n state?: {\n filePath?: string;\n nodeCount?: number;\n };\n}\n\nexport interface MlldInterpreterErrorOptions {\n cause?: Error;\n context?: InterpreterErrorContext;\n severity?: ErrorSeverity;\n code?: string;\n}\n\n/**\n * Error thrown during interpretation of Mlld content\n */\nexport class MlldInterpreterError extends MlldError {\n public readonly nodeType: string;\n public readonly location?: SourceLocation;\n public readonly context?: InterpreterErrorContext;\n public readonly cause?: unknown;\n\n constructor(\n message: string,\n nodeType: string,\n location?: SourceLocation,\n options: MlldInterpreterErrorOptions = {}\n ) {\n // Format message with location if available\n const locationStr = location && isPreciseLocation(location)\n ? ` at line ${location.line}, column ${location.column}${location.filePath ? ` in ${location.filePath}` : ''}`\n : location?.filePath ? ` in ${location.filePath}` : '';\n \n // Interpreter errors are typically recoverable by default, but can be overridden\n const severity = options.severity || ErrorSeverity.Recoverable;\n const filePath = location?.filePath || options.context?.filePath;\n \n super(`Interpreter error (${nodeType}): ${message}${locationStr}`, {\n code: options.code || 'INTERPRETATION_FAILED',\n cause: options.cause,\n severity,\n details: {\n ...options.context,\n filePath: filePath,\n nodeType: nodeType\n },\n sourceLocation: location\n });\n \n this.name = 'MlldInterpreterError';\n this.nodeType = nodeType;\n this.location = location;\n this.context = options.context;\n this.cause = options.cause;\n \n // Ensure proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, MlldInterpreterError.prototype);\n }\n\n /**\n * Custom serialization to avoid circular references and include only essential info\n */\n toJSON(): SerializedInterpreterError {\n const cause = this.cause;\n return {\n name: this.name,\n message: this.message,\n nodeType: this.nodeType,\n location: this.location,\n sourceLocation: this.sourceLocation ? formatLocationForError(this.sourceLocation) : undefined,\n filePath: this.location?.filePath,\n cause: cause instanceof Error ? cause.message : String(cause),\n fullCauseMessage: cause instanceof Error ? this.getFullCauseMessage(cause) : undefined,\n severity: this.severity,\n code: this.code,\n context: this.context ? {\n filePath: this.context.filePath,\n nodeType: this.context.nodeType,\n nodeCount: this.context.state?.nodeCount\n } : undefined\n };\n }\n\n /**\n * Get the full cause message chain\n */\n private getFullCauseMessage(error: Error): string {\n if (!error) return '';\n \n let message = error.message || 'Unknown error';\n if ('cause' in error) {\n const cause = error.cause as unknown;\n if (cause instanceof Error) {\n message += ` -> ${this.getFullCauseMessage(cause)}`;\n }\n }\n \n return message;\n }\n} ","import { MlldError, ErrorSeverity } from '@core/errors/MlldError';\n\nexport interface ImportErrorDetails {\n importChain?: string[];\n filePath?: string;\n cause?: Error;\n variableName?: string;\n // Additional fields for enhanced circular import detection\n maxDepth?: number;\n fileName?: string;\n count?: number;\n}\n\nexport interface MlldImportErrorOptions {\n code?: string;\n details?: ImportErrorDetails;\n cause?: Error;\n severity?: ErrorSeverity;\n context?: any;\n}\n\n/**\n * Error thrown when import operations fail\n */\nexport class MlldImportError extends MlldError {\n public readonly details?: ImportErrorDetails;\n\n constructor(\n message: string,\n options: MlldImportErrorOptions = {}\n ) {\n const importChainStr = options.details?.importChain \n ? ` (chain: ${options.details.importChain.join(' → ')})`\n : '';\n \n // Circular imports are fatal, other import errors are typically recoverable\n const isCyclic = options.code === 'CIRCULAR_IMPORT' || message.includes('circular');\n const severity = options.severity || (isCyclic ? ErrorSeverity.Fatal : ErrorSeverity.Recoverable);\n \n super(`Import error${options.code ? ` (${options.code})` : ''}: ${message}${importChainStr}`, {\n code: options.code || 'IMPORT_FAILED',\n cause: options.cause || options.details?.cause,\n severity,\n details: {\n ...options.context,\n filePath: options.details?.filePath,\n importChain: options.details?.importChain,\n variableName: options.details?.variableName\n }\n });\n \n this.name = 'MlldImportError';\n this.details = options.details;\n \n // Ensure proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, MlldImportError.prototype);\n }\n} ","import { MlldError, ErrorSeverity, type BaseErrorDetails, type ErrorSourceLocation } from '@core/errors/MlldError';\nimport { formatLocationForError } from '@core/utils/locationFormatter';\n\n// Define options specific to FileSystemError, without extending MlldErrorOptions\nexport interface MlldFileSystemErrorOptions { \n command?: string;\n cwd?: string;\n // Include optional properties handled by MlldError constructor logic\n severity?: ErrorSeverity; \n code?: string; \n details?: BaseErrorDetails;\n sourceLocation?: ErrorSourceLocation;\n cause?: unknown;\n}\n\n/**\n * Error thrown when file system operations fail\n */\nexport class MlldFileSystemError extends MlldError {\n public readonly command?: string;\n public readonly cwd?: string;\n public readonly cause?: unknown;\n\n constructor(message: string, options: MlldFileSystemErrorOptions = {}) {\n // File system errors are typically fatal by default\n const severity = options.severity || ErrorSeverity.Fatal;\n const code = options.code || 'FILE_SYSTEM_ERROR';\n \n super(message, {\n severity: severity,\n code: code,\n details: options.details,\n sourceLocation: options.sourceLocation,\n cause: options.cause\n });\n \n this.name = 'MlldFileSystemError';\n this.command = options.command;\n this.cwd = options.cwd;\n this.cause = options.cause;\n \n // Ensure proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, MlldFileSystemError.prototype);\n }\n\n toJSON() {\n const cause = this.cause;\n return {\n name: this.name,\n message: this.message,\n code: this.code,\n severity: this.severity,\n command: this.command,\n cwd: this.cwd,\n filePath: this.details?.filePath,\n cause: cause instanceof Error ? cause.message : String(cause),\n details: this.details,\n sourceLocation: this.sourceLocation ? formatLocationForError(this.sourceLocation) : undefined\n };\n }\n} ","import { MlldError, ErrorSeverity, BaseErrorDetails, ErrorSourceLocation } from './MlldError';\n\n/**\n * Represents details specific to file not found errors.\n */\nexport interface MlldFileNotFoundErrorDetails extends BaseErrorDetails {\n filePath: string; // The path that was not found\n operation?: string; // e.g., 'read', 'write', 'import'\n}\n\nexport interface MlldFileNotFoundErrorOptions {\n cause?: Error;\n severity?: ErrorSeverity;\n context?: any;\n}\n\n/**\n * Error thrown when a required file cannot be found.\n */\nexport class MlldFileNotFoundError extends MlldError {\n constructor(\n message: string,\n options: {\n details: MlldFileNotFoundErrorDetails;\n severity?: ErrorSeverity;\n sourceLocation?: ErrorSourceLocation;\n cause?: unknown; // Often wraps a system error like ENOENT\n }\n ) {\n super(message, {\n code: 'E_FILE_NOT_FOUND', // Standard error code\n severity: options.severity || ErrorSeverity.Fatal, // Usually fatal if the file is required\n details: options.details,\n sourceLocation: options.sourceLocation,\n cause: options.cause,\n });\n }\n} ","import { MlldError, ErrorSeverity } from '@core/errors/MlldError';\nimport type { SourceLocation } from '@core/types';\nimport type { Environment } from '@interpreter/env/Environment';\n\nexport interface MlldOutputErrorOptions {\n cause?: Error;\n severity?: ErrorSeverity;\n context?: any;\n sourceLocation?: SourceLocation;\n env?: Environment;\n}\n\n/**\n * Error thrown when output generation fails\n */\nexport class MlldOutputError extends MlldError {\n public readonly format: string;\n\n constructor(\n message: string,\n format: string,\n options: MlldOutputErrorOptions = {}\n ) {\n // Output errors are typically recoverable by default\n const severity = options.severity || ErrorSeverity.Recoverable;\n \n super(`Output error (${format}): ${message}`, {\n code: 'OUTPUT_GENERATION_FAILED',\n cause: options.cause,\n severity,\n sourceLocation: options.sourceLocation,\n env: options.env,\n details: {\n ...options.context,\n format\n }\n });\n \n this.name = 'MlldOutputError';\n this.format = format;\n \n // Ensure proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, MlldOutputError.prototype);\n }\n} \n","import { MlldError, ErrorSeverity } from '@core/errors/MlldError';\nimport type { Environment } from '@interpreter/env/Environment';\n\nexport interface DirectiveLocation {\n line: number;\n column: number;\n filePath?: string;\n}\n\nexport interface MlldDirectiveErrorOptions {\n location?: DirectiveLocation;\n code?: string;\n cause?: Error;\n severity?: ErrorSeverity;\n context?: any;\n env?: Environment;\n}\n\nexport class MlldDirectiveError extends MlldError {\n public readonly directiveKind: string;\n public readonly location?: DirectiveLocation;\n\n constructor(\n message: string,\n directiveKind: string,\n options: MlldDirectiveErrorOptions = {}\n ) {\n const locationStr = options.location \n ? ` at line ${options.location.line}, column ${options.location.column}${options.location.filePath ? ` in ${options.location.filePath}` : ''}`\n : '';\n \n super(`Directive error (${directiveKind}): ${message}${locationStr}`, {\n code: options.code || 'VALIDATION_FAILED',\n cause: options.cause,\n severity: options.severity || ErrorSeverity.Recoverable, // Default to recoverable for directive errors\n // Pass context and filePath via details\n details: {\n ...options.context,\n directiveKind,\n filePath: options.location?.filePath, // Add filePath to details\n // Keep location in details as well if needed for context\n location: options.location \n },\n // Pass location as sourceLocation\n sourceLocation: options.location,\n // Pass environment for source access\n env: options.env\n });\n \n this.name = 'MlldDirectiveError';\n this.directiveKind = directiveKind;\n this.location = options.location;\n \n // Ensure proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, MlldDirectiveError.prototype);\n }\n} ","import { MlldError, ErrorSeverity, BaseErrorDetails, ErrorSourceLocation } from './MlldError';\nimport type { PathValidationContext } from '@core/types/paths';\n\nexport enum PathErrorCode {\n INVALID_PATH = 'INVALID_PATH',\n PATH_NOT_FOUND = 'PATH_NOT_FOUND',\n NOT_A_FILE = 'NOT_A_FILE',\n NOT_A_DIRECTORY = 'NOT_A_DIRECTORY',\n OUTSIDE_BASE_DIR = 'OUTSIDE_BASE_DIR',\n INVALID_VARIABLE = 'INVALID_VARIABLE',\n NULL_BYTE = 'NULL_BYTE',\n INVALID_CHARS = 'INVALID_CHARS'\n}\n\nexport interface PathValidationErrorOptions {\n cause?: Error;\n severity?: ErrorSeverity;\n context?: any;\n}\n\n/**\n * Represents details specific to path validation errors.\n */\nexport interface PathValidationErrorDetails extends BaseErrorDetails {\n pathString: string; // The original path string that failed validation\n validationContext?: Partial<PathValidationContext>;\n ruleFailed?: string; // e.g., 'allowAbsolute', 'maxLength', 'pattern', 'mustExist'\n reason?: string; // More specific reason, e.g., \"Path traversal detected\"\n}\n\n/**\n * Error thrown when path validation fails according to specified rules.\n */\nexport class PathValidationError extends MlldError {\n constructor(\n message: string,\n options: {\n code: string; // e.g., E_PATH_INVALID, E_PATH_FORBIDDEN, E_PATH_NOT_FOUND\n details: PathValidationErrorDetails;\n severity?: ErrorSeverity;\n sourceLocation?: ErrorSourceLocation;\n cause?: unknown;\n }\n ) {\n super(message, {\n code: options.code,\n severity: options.severity || ErrorSeverity.Fatal, // Path errors are often fatal\n details: options.details,\n sourceLocation: options.sourceLocation,\n cause: options.cause,\n });\n }\n} ","import { MlldError } from './MlldError';\n\n/**\n * Error thrown when evaluating complex data values fails.\n * This can happen when embedded directives, variable references, or templates\n * within @data directives fail to evaluate.\n */\nexport class DataEvaluationError extends MlldError {\n constructor(\n public dataPath: string,\n public originalError: Error\n ) {\n super(\n `Failed to evaluate data at ${dataPath}: ${originalError.message}`,\n 'DATA_EVALUATION_ERROR',\n undefined\n );\n this.name = 'DataEvaluationError';\n }\n}","import { MlldInterpreterError, MlldInterpreterErrorOptions } from './MlldInterpreterError';\nimport { ErrorSeverity } from './MlldError';\nimport { formatLocationForError } from '@core/utils/locationFormatter';\nimport { SourceLocation } from '@core/types';\n\nexport interface VariableRedefinitionContext {\n variableName: string;\n existingLocation?: SourceLocation;\n newLocation?: SourceLocation;\n filePath?: string;\n suggestion?: string;\n}\n\nexport interface VariableRedefinitionErrorOptions extends MlldInterpreterErrorOptions {\n context?: VariableRedefinitionContext;\n}\n\n/**\n * Error thrown when attempting to redefine an immutable variable\n */\nexport class VariableRedefinitionError extends MlldInterpreterError {\n public readonly variableRedefinitionContext?: VariableRedefinitionContext;\n\n constructor(\n message: string,\n options: VariableRedefinitionErrorOptions = {}\n ) {\n const context = options.context;\n const location = context?.newLocation;\n \n // Build enhanced error message with locations\n let enhancedMessage = message; // Use the specific message passed to constructor\n \n if (context?.existingLocation) {\n const locStr = formatLocationForError(context.existingLocation);\n enhancedMessage += `. Originally defined at ${locStr}`;\n }\n \n if (context?.suggestion) {\n enhancedMessage += `. ${context.suggestion}`;\n }\n\n super(\n enhancedMessage,\n 'variable-redefinition',\n location,\n {\n ...options,\n code: 'VARIABLE_REDEFINITION',\n severity: options.severity || ErrorSeverity.Critical\n }\n );\n\n this.name = 'VariableRedefinitionError';\n this.variableRedefinitionContext = context;\n\n // Ensure proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, VariableRedefinitionError.prototype);\n }\n\n /**\n * Create error for same-file redefinition\n */\n static forSameFile(\n variableName: string,\n existingLocation: SourceLocation,\n newLocation: SourceLocation\n ): VariableRedefinitionError {\n return new VariableRedefinitionError(\n `Variable '${variableName}' is already defined and cannot be redefined`,\n {\n context: {\n variableName,\n existingLocation,\n newLocation,\n filePath: newLocation?.filePath,\n suggestion: 'Variables in mlld are immutable by design. Use a different variable name or remove one of the definitions.'\n }\n }\n );\n }\n\n /**\n * Create error for import conflict\n */\n static forImportConflict(\n variableName: string,\n existingLocation: SourceLocation,\n newLocation: SourceLocation,\n importPath?: string,\n isExistingImported?: boolean\n ): VariableRedefinitionError {\n let message: string;\n let suggestion: string;\n \n if (isExistingImported) {\n message = `Variable '${variableName}' is already imported and cannot be redefined locally`;\n suggestion = importPath\n ? `Consider using import aliases: @import { ${variableName} as ${variableName}Imported } from \"${importPath}\"`\n : 'Consider using import aliases or a different variable name';\n } else {\n message = `Variable '${variableName}' is already defined locally and cannot be imported`;\n suggestion = `Consider using import aliases: @import { ${variableName} as ${variableName}Imported } from the import file`;\n }\n\n return new VariableRedefinitionError(\n message,\n {\n context: {\n variableName,\n existingLocation,\n newLocation,\n filePath: newLocation?.filePath,\n suggestion\n }\n }\n );\n }\n}","import { MlldError, ErrorSeverity } from './MlldError';\nimport type { SourceLocation } from '@core/types';\nimport type { Environment } from '@interpreter/env/Environment';\n\nexport interface CommandExecutionDetails {\n command: string;\n exitCode: number;\n duration: number;\n stdout?: string;\n stderr?: string;\n workingDirectory: string;\n directiveType?: string;\n}\n\nexport class MlldCommandExecutionError extends MlldError {\n constructor(\n message: string,\n sourceLocation?: SourceLocation,\n details?: CommandExecutionDetails,\n env?: Environment\n ) {\n super(message, {\n code: 'COMMAND_EXECUTION_FAILED',\n severity: ErrorSeverity.Recoverable,\n sourceLocation,\n details,\n env\n });\n }\n\n /**\n * Creates a command execution error with enhanced context\n */\n static create(\n command: string,\n exitCode: number,\n duration: number,\n sourceLocation?: SourceLocation,\n additionalContext?: {\n stdout?: string;\n stderr?: string;\n workingDirectory: string;\n directiveType?: string;\n env?: Environment;\n }\n ): MlldCommandExecutionError {\n const message = `Command execution failed: ${command}`;\n \n return new MlldCommandExecutionError(message, sourceLocation, {\n command,\n exitCode,\n duration,\n stdout: additionalContext?.stdout,\n stderr: additionalContext?.stderr,\n workingDirectory: additionalContext?.workingDirectory || process.cwd(),\n directiveType: additionalContext?.directiveType || 'run'\n }, additionalContext?.env);\n }\n}","import { MlldError } from './MlldError';\nimport type { SourceLocation } from '@core/types';\n\n/**\n * Error thrown when required dependencies are not satisfied\n */\nexport class MlldDependencyError extends MlldError {\n constructor(\n message: string,\n public readonly missing: string[],\n public readonly mismatched: string[],\n location?: SourceLocation\n ) {\n super(message, location);\n this.name = 'MlldDependencyError';\n }\n \n /**\n * Get a formatted error message with installation instructions\n */\n getFormattedMessage(): string {\n const lines: string[] = [this.message];\n \n if (this.missing.length > 0) {\n lines.push('');\n lines.push('To install missing packages:');\n \n // Group by package manager\n const nodePackages = this.missing.filter(p => p.includes('@'));\n const pythonPackages = this.missing.filter(p => !p.includes('@'));\n \n if (nodePackages.length > 0) {\n lines.push(` npm install ${nodePackages.join(' ')}`);\n }\n \n if (pythonPackages.length > 0) {\n lines.push(` pip install ${pythonPackages.join(' ')}`);\n }\n }\n \n if (this.mismatched.length > 0) {\n lines.push('');\n lines.push('Version mismatches detected. Update packages to satisfy constraints.');\n }\n \n return lines.join('\\n');\n }\n}","import { MlldDirectiveError } from './MlldDirectiveError';\n\nexport interface ErrorSummary {\n type: string;\n count: number;\n firstExample: {\n conditionIndex: number;\n message: string;\n details?: any;\n };\n}\n\nexport class MlldConditionError extends MlldDirectiveError {\n public readonly details: {\n exitCode?: number;\n stderr?: string;\n stdout?: string;\n command?: string;\n conditionIndex?: number;\n modifier?: 'first' | 'all' | 'any';\n originalError?: Error;\n errors?: ErrorSummary[];\n };\n\n constructor(\n message: string,\n modifier?: 'first' | 'all' | 'any',\n location?: { line: number; column: number; filePath?: string },\n details: {\n exitCode?: number;\n stderr?: string;\n stdout?: string;\n command?: string;\n conditionIndex?: number;\n originalError?: Error;\n errors?: ErrorSummary[];\n } = {}\n ) {\n super(message, 'when', {\n location,\n code: 'CONDITION_ERROR',\n context: { modifier, ...details }\n });\n \n this.details = { ...details, modifier };\n this.name = 'MlldConditionError';\n \n // Ensure proper prototype chain\n Object.setPrototypeOf(this, MlldConditionError.prototype);\n }\n}","import { MlldError, ErrorSeverity, BaseErrorDetails } from '@core/errors/MlldError';\nimport { ResolutionContext } from '@core/resolvers/types';\n\n/**\n * Error codes for resolver operations\n */\nexport enum ResolverErrorCode {\n NOT_FOUND = 'E_RESOLVER_NOT_FOUND',\n UNSUPPORTED_CONTEXT = 'E_RESOLVER_UNSUPPORTED_CONTEXT',\n UNSUPPORTED_CAPABILITY = 'E_RESOLVER_UNSUPPORTED_CAPABILITY', \n READONLY = 'E_RESOLVER_READONLY',\n INVALID_FORMAT = 'E_RESOLVER_INVALID_FORMAT',\n RESOLUTION_FAILED = 'E_RESOLVER_RESOLUTION_FAILED',\n NAME_PROTECTED = 'E_RESOLVER_NAME_PROTECTED',\n GENERIC = 'E_RESOLVER_ERROR'\n}\n\n/**\n * Error details for resolver operations\n */\nexport interface ResolverErrorDetails extends BaseErrorDetails {\n /**\n * The resolver that generated the error\n */\n resolverName?: string;\n \n /**\n * The reference that failed to resolve\n */\n reference?: string;\n \n /**\n * The context where resolution was attempted\n */\n context?: ResolutionContext;\n \n /**\n * The operation that failed\n */\n operation?: 'resolve' | 'write' | 'list' | 'validate';\n \n /**\n * Capability that was required but not supported\n */\n missingCapability?: string;\n \n /**\n * Available resolvers that could handle the context\n */\n availableResolvers?: string[];\n \n /**\n * Suggested format if format was invalid\n */\n suggestedFormat?: string;\n \n /**\n * Original error if wrapping another error\n */\n originalError?: Error;\n}\n\n/**\n * Error thrown by resolver operations\n */\nexport class ResolverError extends MlldError {\n public readonly details: ResolverErrorDetails;\n\n constructor(\n message: string, \n code: ResolverErrorCode = ResolverErrorCode.GENERIC,\n details: ResolverErrorDetails = {}\n ) {\n super(message, {\n code,\n severity: details.originalError ? ErrorSeverity.Fatal : ErrorSeverity.Recoverable,\n details,\n cause: details.originalError\n });\n this.details = details;\n this.name = 'ResolverError';\n }\n\n /**\n * Create error for missing resolver\n */\n static notFound(reference: string, context?: ResolutionContext): ResolverError {\n const contextMsg = context ? ` in ${context} context` : '';\n return new ResolverError(\n `No resolver found for reference '${reference}'${contextMsg}`,\n { reference, context, operation: 'resolve' }\n );\n }\n\n /**\n * Create error for unsupported capability\n */\n static unsupportedCapability(\n resolverName: string, \n capability: string, \n context?: ResolutionContext\n ): ResolverError {\n return new ResolverError(\n `Resolver '${resolverName}' does not support ${capability}`,\n { \n resolverName, \n context, \n missingCapability: capability,\n operation: 'validate' \n }\n );\n }\n\n /**\n * Create error for invalid format\n */\n static invalidFormat(\n resolverName: string, \n format: string, \n supportedFormats: string[]\n ): ResolverError {\n const suggestedFormat = supportedFormats[0] || 'default';\n return new ResolverError(\n `Resolver '${resolverName}' does not support format '${format}'. Supported formats: ${supportedFormats.join(', ')}`,\n {\n resolverName,\n operation: 'resolve',\n suggestedFormat\n }\n );\n }\n\n /**\n * Create error for resolution failure\n */\n static resolutionFailed(\n resolverName: string, \n reference: string, \n originalError: Error\n ): ResolverError {\n return new ResolverError(\n `${resolverName} failed to resolve '${reference}': ${originalError.message}`,\n {\n resolverName,\n reference,\n operation: 'resolve',\n originalError\n }\n );\n }\n\n /**\n * Create error for name protection violation\n */\n static nameProtected(name: string, isVariable: boolean = true): ResolverError {\n const type = isVariable ? 'variable' : 'import alias';\n return new ResolverError(\n `Cannot use '${name}' as ${type} name - it is a reserved resolver name`,\n {\n reference: name,\n operation: 'validate'\n }\n );\n }\n\n /**\n * Get formatted error message with attribution\n */\n getFormattedMessage(): string {\n const parts: string[] = [this.message];\n \n if (this.details.resolverName) {\n parts.push(`Resolver: ${this.details.resolverName}`);\n }\n \n if (this.details.context) {\n parts.push(`Context: ${this.details.context}`);\n }\n \n if (this.details.missingCapability) {\n parts.push(`Missing capability: ${this.details.missingCapability}`);\n }\n \n if (this.details.availableResolvers && this.details.availableResolvers.length > 0) {\n parts.push(`Available resolvers: ${this.details.availableResolvers.join(', ')}`);\n }\n \n if (this.details.suggestedFormat) {\n parts.push(`💡 Try using format: ${this.details.suggestedFormat}`);\n }\n \n return parts.join('\\n ');\n }\n\n /**\n * Get helpful suggestions based on error type\n */\n getSuggestions(): string[] {\n const suggestions: string[] = [];\n \n if (this.details.operation === 'resolve' && !this.details.resolverName) {\n suggestions.push('Check that the module or resolver is installed');\n suggestions.push('Verify the reference syntax is correct');\n if (this.details.reference?.startsWith('@')) {\n suggestions.push('For modules, use: @author/module');\n suggestions.push('For built-in resolvers, use: @time, @input, @payload, @state');\n }\n }\n \n if (this.details.missingCapability === 'supportsImports') {\n suggestions.push(`This resolver can only be used in path contexts, not imports`);\n suggestions.push(`Try using it with @path directive instead`);\n }\n \n if (this.details.missingCapability === 'supportsPaths') {\n suggestions.push(`This resolver can only be used in import contexts, not paths`);\n suggestions.push(`Try using it with @import directive instead`);\n }\n \n if (this.details.operation === 'validate' && this.message.includes('reserved resolver name')) {\n suggestions.push('Choose a different name that doesn\\'t conflict with built-in resolvers');\n suggestions.push('Built-in resolver names: TIME, DEBUG, INPUT, PROJECTPATH');\n }\n \n return suggestions;\n }\n}","/**\n * Error thrown when evaluating when expressions\n */\n\nimport { MlldError } from './MlldError';\nimport type { SourceLocation } from '../types';\n\nexport interface WhenExpressionErrorDetails {\n conditionIndex?: number;\n phase?: 'condition' | 'action';\n originalError?: Error;\n errors?: Error[];\n}\n\nexport class MlldWhenExpressionError extends MlldError {\n public readonly details?: WhenExpressionErrorDetails;\n\n constructor(\n message: string,\n location?: SourceLocation,\n details?: WhenExpressionErrorDetails\n ) {\n super(message, 'E_WHEN_EXPRESSION', location);\n this.details = details;\n this.name = 'MlldWhenExpressionError';\n }\n}","import { MlldError, ErrorSeverity, type BaseErrorDetails } from './MlldError';\n\n/**\n * Represents a deprecation notice. Non-fatal, Warning severity by default.\n */\nexport class DeprecationError extends MlldError {\n constructor(message: string, details?: BaseErrorDetails) {\n super(message, {\n code: 'DEPRECATION',\n severity: ErrorSeverity.Warning,\n details\n });\n }\n}\n\n","import type { SourceLocation } from '@core/types';\nimport type { OperationContext, GuardContextSnapshot } from '@interpreter/env/ContextManager';\nimport type { GuardScope } from '@core/types/guard';\nimport type { Environment } from '@interpreter/env/Environment';\nimport type { GuardHint, GuardResult } from '@core/types/guard';\nimport { MlldError, ErrorSeverity, type BaseErrorDetails } from './MlldError';\n\nexport interface GuardErrorDetails extends BaseErrorDetails {\n guardName?: string | null;\n guardFilter?: string;\n scope?: GuardScope;\n operation?: OperationContext;\n inputPreview?: string | null;\n outputPreview?: string | null;\n timing?: 'before' | 'after';\n decision: 'deny' | 'retry';\n retryHint?: string | null;\n reason?: string | null;\n guardContext?: GuardContextSnapshot;\n guardInput?: unknown;\n reasons?: string[];\n guardResults?: GuardResult[];\n hints?: GuardHint[];\n}\n\nexport interface GuardErrorOptions {\n decision: 'deny' | 'retry';\n guardName?: string | null;\n guardFilter?: string;\n scope?: GuardScope;\n operation?: OperationContext;\n inputPreview?: string | null;\n retryHint?: string | null;\n reason?: string | null;\n message?: string;\n sourceLocation?: SourceLocation | null;\n env?: Environment;\n guardContext?: GuardContextSnapshot;\n guardInput?: unknown;\n reasons?: string[];\n guardResults?: GuardResult[];\n hints?: GuardHint[];\n outputPreview?: string | null;\n timing?: 'before' | 'after';\n}\n\nexport class GuardError extends MlldError {\n public readonly decision: 'deny' | 'retry';\n public readonly retryHint?: string | null;\n public readonly reason?: string | null;\n\n constructor(options: GuardErrorOptions) {\n const resolvedReason = options.reason ?? defaultReasonForDecision(options.decision);\n const resolvedMessage = options.message ?? formatGuardMessage({\n ...options,\n reason: resolvedReason\n });\n\n const details: GuardErrorDetails = {\n guardName: options.guardName ?? null,\n guardFilter: options.guardFilter,\n scope: options.scope,\n operation: options.operation,\n inputPreview: options.inputPreview ?? null,\n outputPreview: options.outputPreview ?? null,\n timing: options.timing,\n decision: options.decision,\n retryHint: options.retryHint ?? null,\n reason: resolvedReason,\n guardContext: options.guardContext,\n guardInput: options.guardInput,\n reasons: options.reasons,\n guardResults: options.guardResults,\n hints: options.hints\n };\n\n super(resolvedMessage, {\n code: 'GUARD_ERROR',\n severity: ErrorSeverity.Fatal,\n details,\n sourceLocation: options.sourceLocation ?? undefined,\n env: options.env\n });\n\n this.decision = options.decision;\n this.retryHint = options.retryHint ?? null;\n this.reason = resolvedReason ?? null;\n }\n}\n\nfunction defaultReasonForDecision(decision: 'deny' | 'retry'): string {\n return decision === 'retry' ? 'Guard requested retry' : 'Guard denied operation';\n}\n\nfunction formatGuardMessage(options: GuardErrorOptions & { reason?: string | null }): string {\n const guardLabel = formatGuardLabel(options.guardName, options.guardFilter);\n const operationLabel = formatOperationLabel(options.operation);\n const lines: string[] = [];\n const reason = options.reason ?? defaultReasonForDecision(options.decision);\n const hint = options.retryHint ?? null;\n\n if (options.decision === 'retry') {\n lines.push(`Guard retry requested: ${hint ?? reason}`);\n } else if (hint) {\n lines.push(`Guard retry failed: ${reason}`);\n } else {\n lines.push(`Guard blocked operation: ${reason}`);\n }\n\n if (guardLabel) {\n lines.push(` Guard: ${guardLabel}`);\n }\n if (operationLabel) {\n lines.push(` Operation: ${operationLabel}`);\n }\n if (options.decision === 'retry' && hint) {\n lines.push(` Hint: ${hint}`);\n } else if (options.decision === 'deny' && hint) {\n lines.push(` Hint: ${hint}`);\n }\n\n return lines.join('\\n');\n}\n\nfunction formatGuardLabel(guardName?: string | null, guardFilter?: string): string {\n if (guardName && guardFilter) {\n return `${guardName} (for ${guardFilter})`;\n }\n if (guardName) {\n return guardName;\n }\n if (guardFilter) {\n return guardFilter;\n }\n return 'guard';\n}\n\nfunction formatOperationLabel(operation?: OperationContext): string | null {\n if (!operation || !operation.type) {\n return null;\n }\n const base = operation.type.startsWith('/') ? operation.type : `/${operation.type}`;\n const subtype = operation.subtype ? ` (${operation.subtype})` : '';\n return `${base}${subtype}`;\n}\n","import { GuardError, type GuardErrorOptions } from './GuardError';\n\nexport type GuardRetrySignalOptions = Omit<GuardErrorOptions, 'decision'>;\n\nexport class GuardRetrySignal extends GuardError {\n constructor(options: GuardRetrySignalOptions) {\n super({ ...options, decision: 'retry' });\n this.name = 'GuardRetrySignal';\n }\n}\n\nexport function isGuardRetrySignal(error: unknown): error is GuardRetrySignal {\n return error instanceof GuardRetrySignal;\n}\n","import { MlldError, ErrorSeverity } from '@core/errors/MlldError';\nimport type { SourceLocation } from '@core/types';\n\nexport interface CircularReferenceErrorContext {\n identifier?: string;\n filePath?: string;\n location?: SourceLocation;\n}\n\n/**\n * Error thrown when a circular reference is detected in executable resolution\n */\nexport class CircularReferenceError extends MlldError {\n public readonly identifier?: string;\n public readonly location?: SourceLocation;\n\n constructor(\n message: string,\n context?: CircularReferenceErrorContext\n ) {\n const locationStr = context?.location\n ? ` at line ${context.location.line}, column ${context.location.column}${context.location.filePath ? ` in ${context.location.filePath}` : ''}`\n : context?.filePath ? ` in ${context.filePath}` : '';\n\n super(`${message}${locationStr}`, {\n code: 'CIRCULAR_REFERENCE',\n severity: ErrorSeverity.Fatal,\n sourceLocation: context?.location,\n details: {\n identifier: context?.identifier,\n filePath: context?.location?.filePath || context?.filePath\n }\n });\n\n this.name = 'CircularReferenceError';\n this.identifier = context?.identifier;\n this.location = context?.location;\n\n Object.setPrototypeOf(this, CircularReferenceError.prototype);\n }\n}\n","import { ErrorSeverity } from '@core/errors/index';\n\n/**\n * Standard error messages for path-related errors\n */\nexport const PathErrorMessages = {\n // Basic validation errors\n EMPTY_PATH: 'Path cannot be empty',\n NULL_BYTE: 'Path contains null bytes which is a security risk',\n INVALID_PATH: 'Invalid path format',\n FILE_NOT_FOUND: 'File not found: {path}',\n PATH_NOT_FOUND: 'Path not found: {path}',\n \n // File type validation errors\n NOT_A_FILE: 'Path is not a file: {path}',\n NOT_A_DIRECTORY: 'Path is not a directory: {path}',\n \n // Mlld-specific path rule errors\n CONTAINS_DOT_SEGMENTS: 'Path cannot contain . or .. segments',\n INVALID_PATH_FORMAT: 'Invalid path format - paths with slashes must use $. or $~',\n RAW_ABSOLUTE_PATH: 'Raw absolute paths are not allowed - use $. or $~ instead',\n OUTSIDE_BASE_DIR: 'Path is outside of the base directory',\n\n /**\n * Error for path validation issues\n */\n validation: {\n /**\n * Guidance message for raw absolute paths\n */\n rawAbsolutePath: {\n message: 'For better cross-platform portability, consider using path variables like $. or $PROJECTPATH for project-relative paths and $~ or $HOMEPATH for home-relative paths. Raw absolute paths are allowed but may not work across different environments.',\n code: 'PATH_GUIDANCE',\n severity: 'info' as ErrorSeverity\n },\n\n /**\n * Guidance message for paths with slashes but no path variable\n */\n slashesWithoutPathVariable: {\n message: 'For better cross-platform portability, consider using path variables like $. or $PROJECTPATH for project-relative paths and $~ or $HOMEPATH for home-relative paths. Standard paths are allowed but may not work across different environments.',\n code: 'PATH_GUIDANCE',\n severity: 'info' as ErrorSeverity\n },\n\n /**\n * Guidance message for paths with dot segments\n */\n dotSegments: {\n message: 'For better cross-platform portability, consider using path variables like $. or $PROJECTPATH for project-relative paths and $~ or $HOMEPATH for home-relative paths. Relative paths with dot segments are allowed but may not work across different environments.',\n code: 'PATH_GUIDANCE',\n severity: 'info' as ErrorSeverity\n }\n },\n\n /**\n * Error messages for file access issues\n */\n fileAccess: {\n /**\n * Error message for file not found\n */\n fileNotFound: {\n message: 'File not found: {filePath}',\n code: 'FILE_NOT_FOUND',\n severity: 'recoverable' as ErrorSeverity\n },\n\n /**\n * Error message for directory not found\n */\n directoryNotFound: {\n message: 'Directory not found: {dirPath}',\n code: 'DIRECTORY_NOT_FOUND',\n severity: 'recoverable' as ErrorSeverity\n },\n\n /**\n * Error message for permission issues\n */\n permissionDenied: {\n message: 'Permission denied when accessing file: {filePath}',\n code: 'PERMISSION_DENIED',\n severity: 'recoverable' as ErrorSeverity\n }\n },\n\n /**\n * Error messages for circular dependency issues\n */\n circular: {\n /**\n * Error message for circular imports\n */\n circularImport: {\n message: 'Circular import detected in file: {filePath}',\n code: 'CIRCULAR_IMPORT',\n severity: 'recoverable' as ErrorSeverity\n }\n }\n};\n","import { MlldError, ErrorSeverity } from './MlldError';\nimport type { SourceLocation } from '@core/types';\nimport type { Environment } from '@interpreter/env/Environment';\nimport { ResolutionErrorCode } from './index';\nimport type { Field as AstField } from '@core/types/common';\n\n/**\n * Details specific to field access errors.\n */\nexport interface FieldAccessErrorDetails {\n /** The base object or value being accessed */\n baseValue: unknown;\n /** The sequence of field/index accesses attempted */\n fieldAccessChain: AstField[];\n /** The index in the chain where the access failed */\n failedAtIndex: number;\n /** The specific field/index key that failed */\n failedKey: string | number;\n /** Optional: human-readable access path strings */\n accessPath?: string[];\n /** Optional: available keys on the base object when applicable */\n availableKeys?: string[];\n}\n\n/**\n * Error class for issues encountered during field access (e.g., accessing a property on null/undefined, invalid index).\n */\nexport class FieldAccessError extends MlldError {\n public details: FieldAccessErrorDetails;\n\n constructor(\n message: string,\n details: FieldAccessErrorDetails,\n options?: { cause?: unknown; sourceLocation?: SourceLocation; env?: Environment }\n ) {\n super(message, {\n code: ResolutionErrorCode.FIELD_ACCESS_ERROR,\n severity: ErrorSeverity.Recoverable,\n details: details,\n cause: options?.cause,\n sourceLocation: options?.sourceLocation,\n env: options?.env\n });\n this.name = 'FieldAccessError';\n this.details = details;\n }\n} \n","import { MlldError, ErrorSeverity, BaseErrorDetails, ErrorSourceLocation } from './MlldError';\nimport type { VariableType, ResolutionContext } from '@core/types/index';\n\n/**\n * Represents details specific to variable resolution errors.\n */\nexport interface VariableResolutionErrorDetails extends BaseErrorDetails {\n variableName: string;\n variableType?: VariableType;\n resolutionContext?: Partial<ResolutionContext>; // Include relevant context if available\n availableVariables?: string[]; // Potentially list available vars for debugging\n}\n\n/**\n * Error thrown when resolving a variable fails\n * (e.g., variable not found, type mismatch, circular reference).\n */\nexport class VariableResolutionError extends MlldError {\n constructor(\n message: string,\n options: {\n code: string; // Specific code like E_VAR_NOT_FOUND, E_CIRCULAR_REF, E_TYPE_MISMATCH\n details: VariableResolutionErrorDetails;\n severity?: ErrorSeverity; // Defaults to Recoverable? Might depend on code\n sourceLocation?: ErrorSourceLocation;\n cause?: unknown;\n }\n ) {\n super(message, {\n code: options.code,\n severity: options.severity || ErrorSeverity.Recoverable,\n details: options.details,\n sourceLocation: options.sourceLocation,\n cause: options.cause,\n });\n }\n} ","/**\n * Central export point for Mlld error types.\n */\n\n// Export all error types from the errors directory\nexport { MlldError, ErrorSeverity } from './MlldError';\nexport { MlldParseError } from './MlldParseError';\nexport { MlldResolutionError } from './MlldResolutionError';\nexport { MlldInterpreterError } from './MlldInterpreterError';\nexport { MlldImportError } from './MlldImportError';\nexport { MlldFileSystemError } from './MlldFileSystemError';\nexport { MlldFileNotFoundError } from './MlldFileNotFoundError';\nexport { MlldOutputError } from './MlldOutputError';\nexport { MlldDirectiveError } from './MlldDirectiveError';\nexport { PathValidationError } from './PathValidationError';\nexport { DataEvaluationError } from './DataEvaluationError';\nexport { VariableRedefinitionError } from './VariableRedefinitionError';\nexport { MlldCommandExecutionError } from './MlldCommandExecutionError';\nexport type { CommandExecutionDetails } from './MlldCommandExecutionError';\nexport { MlldDependencyError } from './MlldDependencyError';\nexport { MlldConditionError } from './MlldConditionError';\nexport { ResolverError, ResolverErrorCode } from './ResolverError';\nexport type { ResolverErrorDetails } from './ResolverError';\nexport { MlldWhenExpressionError } from './MlldWhenExpressionError';\nexport type { WhenExpressionErrorDetails } from './MlldWhenExpressionError';\nexport { DeprecationError } from './DeprecationError';\nexport { GuardError } from './GuardError';\nexport { GuardRetrySignal } from './GuardRetrySignal';\nexport { CircularReferenceError } from './CircularReferenceError';\nexport type { CircularReferenceErrorContext } from './CircularReferenceError';\n\n// Export error message collections\nexport * from './messages/index'; \n\n// Add exports for specific errors as they are created:\nexport * from './FieldAccessError';\nexport * from './VariableResolutionError';\nexport * from './PathValidationError';\nexport * from './MlldResolutionError';\nexport * from './MlldFileNotFoundError';\nexport * from './DataEvaluationError';\n// ... other specific errors \n\n// Define and export shared error codes\nexport enum ResolutionErrorCode {\n FIELD_ACCESS_ERROR = 'FIELD_ACCESS_ERROR',\n VARIABLE_NOT_FOUND = 'VARIABLE_NOT_FOUND',\n INVALID_VARIABLE_TYPE = 'INVALID_VARIABLE_TYPE',\n CIRCULAR_REFERENCE = 'CIRCULAR_REFERENCE',\n MAX_DEPTH_EXCEEDED = 'MAX_DEPTH_EXCEEDED',\n SERVICE_UNAVAILABLE = 'SERVICE_UNAVAILABLE',\n STRINGIFY_FAILED = 'STRINGIFY_FAILED',\n // Add other relevant codes from MlldResolutionError, VariableResolutionError etc.\n // E.g., from MlldResolutionError.ts\n E_PARSE_FAILED = 'E_PARSE_FAILED',\n E_RESOLVE_CONTENT_FAILED = 'E_RESOLVE_CONTENT_FAILED',\n E_RESOLVE_TEXT_FAILED = 'E_RESOLVE_TEXT_FAILED',\n E_RESOLVE_DATA_FAILED = 'E_RESOLVE_DATA_FAILED',\n E_RESOLVE_INVALID_PATH_TYPE = 'E_RESOLVE_INVALID_PATH_TYPE',\n E_UNSUPPORTED_TYPE = 'E_UNSUPPORTED_TYPE',\n E_COMMAND_FAILED = 'E_COMMAND_FAILED',\n E_COMMAND_TYPE_UNSUPPORTED = 'E_COMMAND_TYPE_UNSUPPORTED',\n E_SECTION_NOT_FOUND = 'E_SECTION_NOT_FOUND',\n E_SECTION_EXTRACTION_FAILED = 'E_SECTION_EXTRACTION_FAILED',\n // E.g., from VariableResolutionError.ts\n E_VAR_NOT_FOUND = 'E_VAR_NOT_FOUND', // Duplicate of VARIABLE_NOT_FOUND, choose one\n E_UNEXPECTED_TYPE = 'E_UNEXPECTED_TYPE', // Maybe different from INVALID_VARIABLE_TYPE?\n E_PATH_VALIDATION_FAILED = 'E_PATH_VALIDATION_FAILED',\n}\n\n// TODO: Consolidate ErrorCode usage across all error types.\n// Other files might have their own enums (PathErrorCode, DirectiveErrorCode etc.)\n// that could potentially be merged or referenced here. \n"]}