mlld
Version:
mlld: a modular prompt scripting language
1 lines • 78.3 kB
Source Map (JSON)
{"version":3,"sources":["../interpreter/eval/with-clause.ts","../interpreter/eval/exec-invocation.ts"],"names":["applyWithClause","input","withClause","env","result","pipeline","length","format","executePipeline","undefined","trust","validateTrust","needs","checkDependencies","value","stdout","stderr","exitCode","trustLevel","MlldInterpreterError","file","exists","fileSystem","SimpleMetadataShelf","shelf","Map","storeMetadata","isLoadContentResultArray","item","isLoadContentResult","set","content","restoreMetadata","Array","isArray","restored","hasRestorable","has","push","get","clear","metadataShelf","evaluateExecInvocation","node","process","DEBUG_WHEN","DEBUG_EXEC","logger","debug","commandRef","commandName","args","name","arguments","identifier","identifierNode","type","Error","variable","commandRefWithObject","objectReference","objectRef","objectVar","getVariable","extractVariableValue","objectValue","objectVarType","objectVarValue","objectVarIsComplex","isComplex","objectValueType","isString","objectKeys","Object","keys","JSON","stringify","substring","fields","currentValue","field","fieldType","fieldValue","currentValueType","currentValueKeys","resultType","resultKeys","properties","__executable","metadata","capturedShadowEnvs","needsDeserialization","entries","some","lang","deserializeShadowEnvs","DEBUG_MODULE_EXPORT","console","error","hasMetadata","hasCapturedEnvs","createExecutableVariable","paramNames","directive","syntax","hasInterpolation","isMultiLine","executableDef","isExecutableVariable","isBuiltinTransformer","transformerImplementation","arg","varRef","varName","varObj","typeInfo","subtype","primitiveType","objValue","arrValue","execDef","source","String","inputValue","interpolate","definition","execEnv","createChild","params","evaluatedArgStrings","evaluatedArgs","argValue","argValueAny","evaluateDataValue","evalArray","index","parseInt","isNaN","e","InterpolationContext","Default","parse","originalVariables","i","MLLD_DEBUG","variableType","variableSubtype","isPrimitive","paramName","argStringValue","paramVar","originalVar","isSystem","isParameter","createObjectVariable","createArrayVariable","createPrimitiveVariable","createSimpleTextVariable","setParameterVariable","isTemplateExecutable","template","isCommandExecutable","command","commandTemplate","ShellCommand","envVars","commandOutput","executeCommand","trim","trimmed","startsWith","endsWith","isCodeExecutable","language","whenExprNode","codeTemplate","evaluateWhenExpression","whenResult","forExprNode","evaluateForExpression","code","map","join","ASTEvaluator","codeParams","variableMetadata","hasParamVar","paramVarType","isPipelineInput","prepareValueForShadow","extractVal","resolvedValue","resolvedVar","unwrappedValue","AutoUnwrapManager","unwrap","unwrappedVar","isVariable","evaluateToRuntime","isNumber","evaluatedArgs_i","evaluatedArgStrings_i","capturedEnvs","__capturedShadowEnvs","codeResult","executeCode","processedResult","test","parsed","isCommandRefExecutable","refName","refCommand","refInvocation","refResult","isSectionExecutable","filePath","pathTemplate","sectionName","sectionTemplate","fileContent","readFile","llmxmlInstance","getLlmxml","sectionContent","titleWithoutHash","replace","getSection","includeNested","extractSection","renameTemplate","newTitle","lines","split","match","newTitleTrimmed","newHeadingMatch","originalText","originalLevel","isResolverExecutable","resolverPath","RegExp","payload","payloadTemplate","payloadStr","resolverManager","getResolverManager","resolverResult","resolve","context","basePath","getBasePath","stringResult","envs","shadowObj","func"],"mappings":"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","file":"exec-invocation-BKHC2VUW.mjs","sourcesContent":["import type { WithClause, PipelineCommand, TrustLevel } from '@core/types';\nimport type { Environment } from '../env/Environment';\nimport type { EvalResult } from '../core/interpreter';\nimport { MlldInterpreterError } from '@core/errors';\n\n/**\n * Apply withClause transformations to a result\n * This handles pipeline commands, trust validation, and dependency checks\n */\nexport async function applyWithClause(\n input: string,\n withClause: WithClause,\n env: Environment\n): Promise<EvalResult> {\n let result = input;\n \n // Apply pipeline transformations\n if (withClause.pipeline && withClause.pipeline.length > 0) {\n // Extract format from with clause if specified\n const format = withClause.format as string | undefined;\n \n // Import the pipeline execution function\n const { executePipeline } = await import('./pipeline');\n \n // Execute the entire pipeline with format\n result = await executePipeline(\n result,\n withClause.pipeline,\n env,\n undefined, // location\n format\n );\n }\n \n // Apply trust validation\n if (withClause.trust) {\n validateTrust(result, withClause.trust);\n }\n \n // Check dependencies if specified\n if (withClause.needs) {\n await checkDependencies(withClause.needs, env);\n }\n \n return {\n value: result,\n env,\n stdout: result,\n stderr: '',\n exitCode: 0\n };\n}\n\n/**\n * Validate trust level\n */\nfunction validateTrust(result: string, trustLevel: TrustLevel): void {\n // TODO: Implement trust validation\n // For now, just log a warning\n if (trustLevel === 'never') {\n throw new MlldInterpreterError('Trust level \"never\" not yet implemented');\n }\n \n // 'always' means no validation needed\n // 'verify' would prompt user for confirmation (not implemented)\n}\n\n/**\n * Check dependencies\n */\nasync function checkDependencies(\n needs: Record<string, any>,\n env: Environment\n): Promise<void> {\n // TODO: Implement dependency checking\n // For now, just validate that files exist if specified\n if (needs.file) {\n const exists = await env.fileSystem.exists(needs.file);\n if (!exists) {\n throw new MlldInterpreterError(`Required file not found: ${needs.file}`);\n }\n }\n}","import type { ExecInvocation, WithClause } from '@core/types';\nimport type { Environment } from '../env/Environment';\nimport type { EvalResult } from '../core/interpreter';\nimport type { ExecutableDefinition } from '@core/types/executable';\nimport { isCommandExecutable, isCodeExecutable, isTemplateExecutable, isCommandRefExecutable, isSectionExecutable, isResolverExecutable } from '@core/types/executable';\nimport { interpolate } from '../core/interpreter';\nimport { InterpolationContext } from '../core/interpolation-context';\nimport { isExecutableVariable, createSimpleTextVariable, createObjectVariable, createArrayVariable, createPrimitiveVariable } from '@core/types/variable';\nimport { applyWithClause } from './with-clause';\nimport { MlldInterpreterError } from '@core/errors';\nimport { logger } from '@core/utils/logger';\nimport { extractSection } from './show';\nimport { prepareValueForShadow } from '../env/variable-proxy';\nimport type { ShadowEnvironmentCapture } from '../env/types/ShadowEnvironmentCapture';\nimport { isLoadContentResult, isLoadContentResultArray, LoadContentResult } from '@core/types/load-content';\nimport { AutoUnwrapManager } from './auto-unwrap-manager';\n\n/**\n * Simple metadata shelf for preserving LoadContentResult metadata\n * This is a module-level implementation that works for synchronous operations\n */\nclass SimpleMetadataShelf {\n private shelf: Map<string, LoadContentResult> = new Map();\n \n storeMetadata(value: any): void {\n if (isLoadContentResultArray(value)) {\n for (const item of value) {\n if (isLoadContentResult(item)) {\n this.shelf.set(item.content, item);\n }\n }\n } else if (isLoadContentResult(value)) {\n this.shelf.set(value.content, value);\n }\n }\n \n restoreMetadata(value: any): any {\n if (!Array.isArray(value)) return value;\n \n const restored: any[] = [];\n let hasRestorable = false;\n \n for (const item of value) {\n if (typeof item === 'string' && this.shelf.has(item)) {\n restored.push(this.shelf.get(item));\n hasRestorable = true;\n } else {\n restored.push(item);\n }\n }\n \n return hasRestorable ? restored : value;\n }\n \n clear(): void {\n this.shelf.clear();\n }\n}\n\n// Module-level shelf instance\nconst metadataShelf = new SimpleMetadataShelf();\n\n/**\n * Evaluate an ExecInvocation node\n * This executes a previously defined exec command with arguments and optional tail modifiers\n */\nexport async function evaluateExecInvocation(\n node: ExecInvocation,\n env: Environment\n): Promise<EvalResult> {\n if (process.env.DEBUG_WHEN || process.env.DEBUG_EXEC) {\n logger.debug('evaluateExecInvocation called with:', { commandRef: node.commandRef });\n }\n \n // Get the command name from the command reference or legacy format\n let commandName: string;\n let args: any[] = [];\n \n // Handle legacy format where name and arguments are directly on the node\n if (!node.commandRef && (node as any).name) {\n commandName = (node as any).name;\n args = (node as any).arguments || [];\n } else if (node.commandRef) {\n // Handle new format with commandRef\n if ((node.commandRef as any).name) {\n commandName = (node.commandRef as any).name;\n args = node.commandRef.args || [];\n } else if (typeof node.commandRef.identifier === 'string') {\n // If identifier is a string, use it directly\n commandName = node.commandRef.identifier;\n args = node.commandRef.args || [];\n } else if (Array.isArray((node.commandRef as any).identifier) && (node.commandRef as any).identifier.length > 0) {\n // If identifier is an array, extract from the first node\n const identifierNode = (node.commandRef as any).identifier[0];\n if (identifierNode.type === 'VariableReference' && identifierNode.identifier) {\n commandName = identifierNode.identifier as string;\n } else if (identifierNode.type === 'Text' && identifierNode.content) {\n commandName = identifierNode.content;\n } else {\n throw new Error('Unable to extract command name from identifier array');\n }\n args = node.commandRef.args || [];\n } else {\n throw new Error('CommandReference missing both name and identifier');\n }\n } else {\n throw new Error('ExecInvocation node missing both commandRef and name');\n }\n \n if (!commandName) {\n throw new MlldInterpreterError('ExecInvocation has no command identifier');\n }\n \n // Check if this is a field access exec invocation (e.g., @demo.valueCmd())\n let variable;\n const commandRefWithObject = node.commandRef as any & { objectReference?: any }; // Type assertion to handle objectReference\n if (node.commandRef && commandRefWithObject.objectReference) {\n // Get the object first\n const objectRef = commandRefWithObject.objectReference;\n const objectVar = env.getVariable(objectRef.identifier);\n if (!objectVar) {\n throw new MlldInterpreterError(`Object not found: ${objectRef.identifier}`);\n }\n \n // Extract Variable value for object field access - WHY: Need raw object to access fields\n const { extractVariableValue } = await import('../utils/variable-resolution');\n const objectValue = await extractVariableValue(objectVar, env);\n \n if (process.env.DEBUG_EXEC) {\n logger.debug('Object reference in exec invocation', {\n objectRef: objectRef.identifier,\n objectVarType: objectVar.type,\n objectVarValue: typeof objectVar.value,\n objectVarIsComplex: (objectVar as any).isComplex,\n objectValueType: typeof objectValue,\n isString: typeof objectValue === 'string',\n objectKeys: typeof objectValue === 'object' && objectValue !== null ? Object.keys(objectValue) : 'not-object',\n objectValue: typeof objectValue === 'object' && objectValue !== null ? JSON.stringify(objectValue, null, 2).substring(0, 500) : objectValue\n });\n }\n \n // Access the field\n if (objectRef.fields && objectRef.fields.length > 0) {\n // Navigate through nested fields\n let currentValue = objectValue;\n for (const field of objectRef.fields) {\n if (process.env.DEBUG_EXEC) {\n logger.debug('Accessing field', {\n fieldType: field.type,\n fieldValue: field.value,\n currentValueType: typeof currentValue,\n currentValueKeys: typeof currentValue === 'object' && currentValue !== null ? Object.keys(currentValue) : 'not-object'\n });\n }\n if (typeof currentValue === 'object' && currentValue !== null) {\n currentValue = (currentValue as any)[field.value];\n if (process.env.DEBUG_EXEC) {\n logger.debug('Field access result', {\n fieldValue: field.value,\n resultType: typeof currentValue,\n resultKeys: typeof currentValue === 'object' && currentValue !== null ? Object.keys(currentValue) : 'not-object'\n });\n }\n } else {\n throw new MlldInterpreterError(`Cannot access field ${field.value} on non-object`);\n }\n }\n // Now access the command field\n if (typeof currentValue === 'object' && currentValue !== null) {\n const fieldValue = (currentValue as any)[commandName];\n variable = fieldValue;\n }\n } else {\n // Direct field access on the object\n if (typeof objectValue === 'object' && objectValue !== null) {\n // Handle AST object structure with type and properties\n let fieldValue;\n if (objectValue.type === 'object' && objectValue.properties) {\n fieldValue = objectValue.properties[commandName];\n } else {\n fieldValue = (objectValue as any)[commandName];\n }\n \n variable = fieldValue;\n }\n }\n \n if (!variable) {\n throw new MlldInterpreterError(`Method not found: ${commandName} on ${objectRef.identifier}`);\n }\n \n // Handle __executable objects from resolved imports\n if (typeof variable === 'object' && variable !== null && '__executable' in variable && variable.__executable) {\n // Deserialize shadow environments if needed\n let metadata = variable.metadata || {};\n if (metadata.capturedShadowEnvs && typeof metadata.capturedShadowEnvs === 'object') {\n // Check if it needs deserialization (is plain object, not Map)\n const needsDeserialization = Object.entries(metadata.capturedShadowEnvs).some(\n ([lang, env]) => env && !(env instanceof Map)\n );\n \n if (needsDeserialization) {\n metadata = {\n ...metadata,\n capturedShadowEnvs: deserializeShadowEnvs(metadata.capturedShadowEnvs)\n };\n }\n }\n \n if (process.env.DEBUG_MODULE_EXPORT || process.env.DEBUG_EXEC) {\n console.error('[DEBUG] Converting __executable object to ExecutableVariable:', {\n commandName,\n hasMetadata: !!metadata,\n hasCapturedEnvs: !!(metadata.capturedShadowEnvs),\n metadata\n });\n }\n // Convert the __executable object to a proper ExecutableVariable\n const { createExecutableVariable } = await import('@core/types/variable/VariableFactories');\n variable = createExecutableVariable(\n commandName,\n 'command', // Default type - the real type is in executableDef\n '', // Empty template - the real template is in executableDef\n variable.paramNames || [],\n undefined, // No language here - it's in executableDef\n {\n directive: 'exe',\n syntax: 'braces',\n hasInterpolation: false,\n isMultiLine: false\n },\n {\n executableDef: variable.executableDef,\n ...metadata\n }\n );\n }\n } else {\n // Regular command lookup\n variable = env.getVariable(commandName);\n if (!variable) {\n throw new MlldInterpreterError(`Command not found: ${commandName}`);\n }\n }\n \n // Ensure it's an executable variable\n if (!isExecutableVariable(variable)) {\n throw new MlldInterpreterError(`Variable ${commandName} is not executable (type: ${variable.type})`);\n }\n \n // Special handling for built-in transformers\n if (variable.metadata?.isBuiltinTransformer && variable.metadata?.transformerImplementation) {\n // Args were already extracted above\n \n // Special handling for @typeof - we need the Variable object, not just the value\n if (commandName === 'typeof' || commandName === 'TYPEOF') {\n if (args.length > 0) {\n const arg = args[0];\n \n // Check if it's a variable reference\n if (arg && typeof arg === 'object' && 'type' in arg && arg.type === 'VariableReference') {\n const varRef = arg as any;\n const varName = varRef.identifier;\n const varObj = env.getVariable(varName);\n \n if (varObj) {\n // Generate type information from the Variable object\n let typeInfo = varObj.type;\n \n // Handle subtypes for text variables\n if (varObj.type === 'simple-text' && 'subtype' in varObj) {\n // For simple-text, show the main type unless it has a special subtype\n const subtype = (varObj as any).subtype;\n if (subtype && subtype !== 'simple' && subtype !== 'interpolated-text') {\n typeInfo = subtype;\n }\n } else if (varObj.type === 'primitive' && 'primitiveType' in varObj) {\n typeInfo = `primitive (${(varObj as any).primitiveType})`;\n } else if (varObj.type === 'object') {\n const objValue = varObj.value;\n if (objValue && typeof objValue === 'object') {\n const keys = Object.keys(objValue);\n typeInfo = `object (${keys.length} properties)`;\n }\n } else if (varObj.type === 'array') {\n const arrValue = varObj.value;\n if (Array.isArray(arrValue)) {\n typeInfo = `array (${arrValue.length} items)`;\n }\n } else if (varObj.type === 'executable') {\n // Get executable type from metadata\n const execDef = varObj.metadata?.executableDef;\n if (execDef && 'type' in execDef) {\n typeInfo = `executable (${execDef.type})`;\n }\n }\n \n // Add source information if available\n if (varObj.source?.directive) {\n typeInfo += ` [from /${varObj.source.directive}]`;\n }\n \n // Pass the type info with a special marker\n const result = await variable.metadata.transformerImplementation(`__MLLD_VARIABLE_OBJECT__:${typeInfo}`);\n \n // Apply withClause transformations if present\n if (node.withClause) {\n return applyWithClause(String(result), node.withClause, env);\n }\n \n return {\n value: String(result),\n env,\n stdout: String(result),\n