{"version":3,"sources":["../interpreter/eval/pipeline/command-execution.ts"],"names":["interpolate","t"],"mappings":"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","file":"command-execution-2DKN4BY5.mjs","sourcesContent":["import type { Environment } from '../../env/Environment';\nimport type { PipelineCommand, VariableSource } from '@core/types';\nimport { MlldCommandExecutionError } from '@core/errors';\nimport { createPipelineInputVariable, createSimpleTextVariable, createArrayVariable, createObjectVariable, createStructuredValueVariable } from '@core/types/variable';\nimport { createPipelineInput } from '../../utils/pipeline-input';\nimport { asText, isStructuredValue, wrapStructured, type StructuredValue } from '../../utils/structured-value';\nimport { wrapExecResult } from '../../utils/structured-exec';\nimport { normalizeTransformerResult } from '../../utils/transformer-result';\nimport type { Variable } from '@core/types/variable/VariableTypes';\nimport { logger } from '@core/utils/logger';\n\nexport type RetrySignal = { value: 'retry'; hint?: any; from?: number };\ntype CommandExecutionPrimitive = string | number | boolean | null | undefined;\nexport type CommandExecutionResult =\n  | CommandExecutionPrimitive\n  | StructuredValue\n  | Record<string, unknown>\n  | unknown[]\n  | RetrySignal;\n\nconst STRUCTURED_PIPELINE_LANGUAGES = new Set([\n  'mlld-for',\n  'mlld-foreach',\n  'js',\n  'javascript',\n  'node',\n  'nodejs',\n  'python'\n]);\n\nfunction shouldAutoParsePipelineInput(language?: string | null): boolean {\n  if (!language) return false;\n  return STRUCTURED_PIPELINE_LANGUAGES.has(language.toLowerCase());\n}\n\nfunction parseStructuredJson(text: string): any | null {\n  if (!text) return null;\n  const trimmed = text.trim();\n  if (!trimmed) return null;\n  const firstChar = trimmed[0];\n  if (firstChar !== '{' && firstChar !== '[') {\n    return null;\n  }\n  try {\n    const parsed = JSON.parse(trimmed);\n    if (parsed && typeof parsed === 'object') {\n      return parsed;\n    }\n  } catch {\n    const sanitized = sanitizeJsonStringControlChars(trimmed);\n    if (sanitized !== trimmed) {\n      try {\n        const reparsed = JSON.parse(sanitized);\n        if (reparsed && typeof reparsed === 'object') {\n          return reparsed;\n        }\n      } catch {\n        return null;\n      }\n    }\n  }\n  return null;\n}\n\nfunction sanitizeJsonStringControlChars(input: string): string {\n  let inString = false;\n  let escaping = false;\n  let changed = false;\n  let result = '';\n\n  for (let i = 0; i < input.length; i++) {\n    const char = input[i];\n\n    if (escaping) {\n      result += char;\n      escaping = false;\n      continue;\n    }\n\n    if (char === '\\\\') {\n      result += char;\n      escaping = true;\n      continue;\n    }\n\n    if (char === '\"') {\n      inString = !inString;\n      result += char;\n      continue;\n    }\n\n    if (inString) {\n      const code = char.charCodeAt(0);\n      if (code >= 0 && code < 0x20) {\n        changed = true;\n        switch (char) {\n          case '\\n':\n            result += '\\\\n';\n            continue;\n          case '\\r':\n            result += '\\\\r';\n            continue;\n          case '\\t':\n            result += '\\\\t';\n            continue;\n          case '\\f':\n            result += '\\\\f';\n            continue;\n          case '\\b':\n            result += '\\\\b';\n            continue;\n          case '\\v':\n            result += '\\\\u000b';\n            continue;\n          default:\n            result += `\\\\u${code.toString(16).padStart(4, '0')}`;\n            continue;\n        }\n      }\n    }\n\n    result += char;\n  }\n\n  return changed ? result : input;\n}\n\nfunction unwrapStructuredDeep(value: any): any {\n  if (isStructuredValue(value)) {\n    return unwrapStructuredDeep(value.data);\n  }\n\n  if (Array.isArray(value)) {\n    return value.map(item => unwrapStructuredDeep(item));\n  }\n\n  if (value && typeof value === 'object') {\n    const result: Record<string, any> = {};\n    for (const [key, val] of Object.entries(value)) {\n      result[key] = unwrapStructuredDeep(val);\n    }\n    return result;\n  }\n\n  return value;\n}\n\n/**\n * Maintain text/data duality on parsed pipeline values.\n * WHY: Pipelines auto-parse JSON for native stages but downstream\n *      string-based transformers still expect the original text view.\n * CONTEXT: Hooks stay non-enumerable to avoid leaking helper props\n *          into user iteration or JSON serialization.\n */\nfunction attachOriginalTextHooks(target: any, original: string): void {\n  if (!target || (typeof target !== 'object' && typeof target !== 'function')) {\n    return;\n  }\n  try {\n    Object.defineProperty(target, 'text', {\n      value: original,\n      enumerable: false,\n      configurable: true\n    });\n  } catch {}\n  try {\n    Object.defineProperty(target, 'raw', {\n      value: original,\n      enumerable: false,\n      configurable: true\n    });\n  } catch {}\n  try {\n    Object.defineProperty(target, 'data', {\n      get: () => target,\n      enumerable: false,\n      configurable: true\n    });\n  } catch {}\n  try {\n    Object.defineProperty(target, 'toString', {\n      value: () => original,\n      enumerable: false,\n      configurable: true\n    });\n  } catch {}\n  try {\n    Object.defineProperty(target, 'valueOf', {\n      value: () => original,\n      enumerable: false,\n      configurable: true\n    });\n  } catch {}\n  try {\n    Object.defineProperty(target, Symbol.toPrimitive, {\n      value: (hint: string) => {\n        if (hint === 'number') {\n          const coerced = Number(original);\n          return Number.isNaN(coerced) ? original : coerced;\n        }\n        return original;\n      },\n      enumerable: false,\n      configurable: true\n    });\n  } catch {}\n}\n\n/**\n * Provide string fallbacks for structured pipeline data via Proxy.\n * WHY: Stage chaining mixes native mlld (object/array access) with\n *      transformers that call string helpers like `.trim()`.\n * CONTEXT: Delegates unknown properties to String.prototype so the\n *          proxy behaves like the original text when requested.\n */\nfunction wrapPipelineStructuredValue<T extends object>(parsedValue: T, original: string): T {\n  if (!parsedValue || typeof parsedValue !== 'object') {\n    return parsedValue;\n  }\n\n  attachOriginalTextHooks(parsedValue, original);\n\n  const stringPrototype = String.prototype as Record<PropertyKey, any>;\n\n  const proxy = new Proxy(parsedValue as Record<PropertyKey, any>, {\n    get(target, prop, receiver) {\n      if (prop === 'text' || prop === 'raw' || prop === 'data') {\n        return Reflect.get(target, prop, receiver);\n      }\n      if (prop === Symbol.toPrimitive) {\n        const primitive = Reflect.get(target, prop, receiver);\n        if (typeof primitive === 'function') {\n          return primitive;\n        }\n        return (hint: string) => {\n          if (hint === 'number') {\n            const numeric = Number(original);\n            return Number.isNaN(numeric) ? original : numeric;\n          }\n          return original;\n        };\n      }\n\n      if (prop === 'toString' || prop === 'valueOf') {\n        return Reflect.get(target, prop, receiver);\n      }\n\n      if (prop === 'length' && !Reflect.has(target, prop) && typeof original === 'string') {\n        return original.length;\n      }\n\n      if (Reflect.has(target, prop)) {\n        const value = Reflect.get(target, prop, receiver);\n        if (typeof value === 'function') {\n          return value.bind(target);\n        }\n        return value;\n      }\n\n      if (typeof original === 'string') {\n        if (prop in stringPrototype) {\n          const candidate = stringPrototype[prop];\n          if (typeof candidate === 'function') {\n            return candidate.bind(original);\n          }\n          return candidate;\n        }\n        if (prop === Symbol.iterator) {\n          const iterator = stringPrototype[Symbol.iterator];\n          if (typeof iterator === 'function') {\n            return iterator.bind(original);\n          }\n        }\n      }\n\n      return undefined;\n    },\n    has(target, prop) {\n      if (prop === 'text' || prop === 'raw' || prop === 'data') {\n        return true;\n      }\n      if (typeof original === 'string' && (prop in stringPrototype)) {\n        return true;\n      }\n      return Reflect.has(target, prop);\n    },\n    ownKeys(target) {\n      const keys = new Set<PropertyKey>(Reflect.ownKeys(target));\n      keys.add('text');\n      keys.add('raw');\n      keys.add('data');\n      return Array.from(keys);\n    },\n    getOwnPropertyDescriptor(target, prop) {\n      if (prop === 'text' || prop === 'raw') {\n        return {\n          configurable: true,\n          enumerable: false,\n          value: original\n        };\n      }\n      if (prop === 'data') {\n        return {\n          configurable: true,\n          enumerable: false,\n          value: target\n        };\n      }\n      return Reflect.getOwnPropertyDescriptor(target, prop);\n    },\n    set(target, prop, value, receiver) {\n      return Reflect.set(target, prop, value, receiver);\n    }\n  });\n\n  return proxy as T;\n}\n\nfunction wrapJsonLikeString(text: string): StructuredValue | null {\n  if (typeof text !== 'string') {\n    return null;\n  }\n\n  const trimmed = text.trim();\n  if (!trimmed) {\n    return null;\n  }\n\n  const firstChar = trimmed[0];\n  if (firstChar !== '{' && firstChar !== '[') {\n    return null;\n  }\n\n  try {\n    const parsed = JSON.parse(trimmed);\n    if (Array.isArray(parsed)) {\n      return wrapStructured(parsed, 'array', text);\n    }\n    if (parsed !== null && typeof parsed === 'object') {\n      return wrapStructured(parsed, 'object', text);\n    }\n  } catch (error) {\n    if (process.env.MLLD_DEBUG === 'true') {\n      try {\n        const codes = Array.from(trimmed).map(ch => ch.charCodeAt(0));\n        const details = error instanceof Error ? error.stack || error.message : String(error);\n        console.error('[wrapJsonLikeString] Failed to parse JSON-like text:', JSON.stringify(text), codes, details);\n      } catch {}\n    }\n    return null;\n  }\n\n  return null;\n}\n\nfunction createTypedPipelineVariable(\n  paramName: string,\n  parsedValue: any,\n  originalText: string\n): Variable {\n  const pipelineSource: VariableSource = {\n    directive: 'var',\n    syntax: 'pipeline',\n    hasInterpolation: false,\n    isMultiLine: false\n  };\n  const metadata: Record<string, any> = {\n    isPipelineParameter: true,\n    pipelineOriginal: originalText,\n    pipelineFormat: 'json'\n  };\n\n  if (Array.isArray(parsedValue)) {\n    const bridged = wrapPipelineStructuredValue(parsedValue, originalText);\n    metadata.pipelineType = 'array';\n    metadata.customToString = () => originalText;\n    return createArrayVariable(paramName, bridged, false, pipelineSource, metadata);\n  }\n\n  if (parsedValue && typeof parsedValue === 'object') {\n    const bridged = wrapPipelineStructuredValue(parsedValue, originalText);\n    metadata.pipelineType = 'object';\n    metadata.customToString = () => originalText;\n    return createObjectVariable(paramName, bridged as Record<string, any>, false, pipelineSource, metadata);\n  }\n\n  const textSource: VariableSource = {\n    directive: 'var',\n    syntax: 'quoted',\n    hasInterpolation: false,\n    isMultiLine: false\n  };\n  return createSimpleTextVariable(paramName, originalText, textSource, { isPipelineParameter: true });\n}\n\nfunction resolveExecutableLanguage(commandVar: any, execDef: any): string | undefined {\n  if (execDef?.language) return String(execDef.language);\n  if (commandVar?.metadata?.executableDef?.language) {\n    return String(commandVar.metadata.executableDef.language);\n  }\n  if (commandVar?.value?.language) {\n    return String(commandVar.value.language);\n  }\n  if (commandVar?.language) {\n    return String(commandVar.language);\n  }\n  return undefined;\n}\n\n/**\n * Resolve a command reference to an executable variable\n */\n/**\n * Resolve a pipeline command reference to an executable or value.\n * WHY: Commands may be object methods, executables, or values with field access.\n * CONTEXT: Used by pipeline execution to resolve identifiers from the stage env.\n */\nexport async function resolveCommandReference(\n  command: PipelineCommand,\n  env: Environment\n): Promise<any> {\n  // The command.identifier is already an array of nodes from the parser\n  if (!command.identifier || command.identifier.length === 0) {\n    return null;\n  }\n  \n  // Use the first node (should be a VariableReference node)\n  const varRefNode = command.identifier[0];\n  \n  // Check if this is a variable reference with field access\n  if (varRefNode.type === 'VariableReference') {\n    const varRef = varRefNode as any;\n    const baseVar = env.getVariable(varRef.identifier);\n    \n    if (!baseVar) {\n      return null;\n    }\n    \n    const variantMap = baseVar.metadata?.transformerVariants as Record<string, any> | undefined;\n    let value: any;\n    let remainingFields = Array.isArray(varRef.fields) ? [...varRef.fields] : [];\n\n    if (variantMap && remainingFields.length > 0) {\n      const firstField = remainingFields[0];\n      if (firstField.type === 'field' || firstField.type === 'stringIndex' || firstField.type === 'numericField') {\n        const variantName = String(firstField.value);\n        const variant = variantMap[variantName];\n        if (!variant) {\n          throw new Error(`Pipeline function '@${varRef.identifier}.${variantName}' is not defined`);\n        }\n        value = variant;\n        remainingFields = remainingFields.slice(1);\n      }\n    }\n\n    if (typeof value === 'undefined') {\n      if (baseVar.type === 'executable') {\n        return baseVar;\n      }\n      // Extract value for non-executable variables\n      const { extractVariableValue } = await import('../../utils/variable-resolution');\n      value = await extractVariableValue(baseVar, env);\n    }\n    \n    if (remainingFields.length > 0) {\n      for (const field of remainingFields) {\n        if ((field.type === 'field' || field.type === 'stringIndex' || field.type === 'numericField') && typeof value === 'object' && value !== null) {\n          value = (value as Record<string, unknown>)[String(field.value)];\n        } else if (field.type === 'arrayIndex' && Array.isArray(value)) {\n          value = value[Number(field.value)];\n        } else {\n          const fieldName = String(field.value);\n          throw new Error(`Cannot access field '${fieldName}' on ${typeof value}`);\n        }\n      }\n    }\n    \n    // Return the resolved value\n    return value;\n  }\n  \n  return null;\n}\n\n/**\n * Execute a command variable with arguments\n */\n/**\n * Execute a resolved command variable with arguments in a stage environment.\n * WHY: Handle built-in transformers, code/command/template execs, and when-expressions.\n * CONTEXT: First parameter in pipeline gets @input (format-aware), other params bind explicitly.\n */\nexport async function executeCommandVariable(\n  commandVar: any,\n  args: any[],\n  env: Environment,\n  stdinInput?: string,\n  structuredInput?: StructuredValue\n): Promise<CommandExecutionResult> {\n  const finalizeResult = (\n    value: unknown,\n    options?: { type?: string; text?: string }\n  ): CommandExecutionResult => {\n    return wrapExecResult(value, options);\n  };\n\n  // Built-in transformer handling\n  if (commandVar && commandVar.metadata?.isBuiltinTransformer && commandVar.metadata?.transformerImplementation) {\n    try {\n      const result = await commandVar.metadata.transformerImplementation(stdinInput || '');\n      const normalized = normalizeTransformerResult(commandVar?.name, result);\n      return finalizeResult(normalized.value, normalized.options);\n    } catch (error) {\n      throw new MlldCommandExecutionError(\n        `Transformer ${commandVar.name} failed: ${error.message}`,\n        undefined,\n        {\n          command: commandVar.name,\n          exitCode: 1,\n          duration: 0,\n          workingDirectory: process.cwd()\n        }\n      );\n    }\n  }\n  \n  // Handle both wrapped executable variables and direct definitions\n  let execDef: any;\n  \n  if (commandVar && commandVar.type === 'executable' && commandVar.value) {\n    // Check if we have the full ExecutableDefinition in metadata\n    if (commandVar.metadata?.executableDef) {\n      execDef = commandVar.metadata.executableDef;\n      \n      // Also copy paramNames from the variable if not in execDef\n      if (!execDef.paramNames && commandVar.paramNames) {\n        execDef.paramNames = commandVar.paramNames;\n      }\n    } else {\n      // Fall back to the simplified value structure\n      const simplifiedValue = commandVar.value;\n      if (simplifiedValue.type === 'code') {\n        execDef = {\n          type: 'code',\n          codeTemplate: simplifiedValue.template,\n          language: simplifiedValue.language || 'javascript',\n          paramNames: commandVar.paramNames || []\n        };\n      } else if (simplifiedValue.type === 'command') {\n        execDef = {\n          type: 'command',\n          commandTemplate: simplifiedValue.template,\n          paramNames: commandVar.paramNames || []\n        };\n      } else {\n        execDef = simplifiedValue;\n      }\n    }\n    \n    // Debug logging\n    if (process.env.MLLD_DEBUG === 'true') {\n      logger.debug('Executable definition extracted:', {\n        type: execDef?.type,\n        hasParamNames: !!execDef?.paramNames,\n        hasCommandTemplate: !!execDef?.commandTemplate,\n        hasCodeTemplate: !!execDef?.codeTemplate,\n        hasTemplateContent: !!execDef?.templateContent,\n        hasTemplate: !!execDef?.template,\n        language: execDef?.language,\n        fromMetadata: !!commandVar.metadata?.executableDef\n      });\n    }\n  } else if (commandVar && (commandVar.type === 'command' || commandVar.type === 'code' || commandVar.type === 'template') && (commandVar.commandTemplate || commandVar.codeTemplate || commandVar.templateContent)) {\n    // This is a direct executable definition\n    execDef = commandVar;\n  } else {\n    // Enhanced error message with more detail\n    const varInfo = {\n      type: commandVar?.type,\n      hasValue: !!commandVar?.value,\n      valueType: commandVar?.value?.type,\n      valueKeys: commandVar?.value ? Object.keys(commandVar.value) : [],\n      hasCommandTemplate: !!(commandVar?.commandTemplate),\n      hasCodeTemplate: !!(commandVar?.codeTemplate),\n      hasTemplateContent: !!(commandVar?.templateContent),\n      hasTemplate: !!(commandVar?.template),\n      keys: commandVar ? Object.keys(commandVar) : [],\n      valueStructure: commandVar?.value ? {\n        type: commandVar.value.type,\n        hasTemplate: !!(commandVar.value.template),\n        hasCodeTemplate: !!(commandVar.value.codeTemplate),\n        hasCommandTemplate: !!(commandVar.value.commandTemplate),\n        language: commandVar.value.language,\n        paramNames: commandVar.value.paramNames\n      } : null\n    };\n    throw new Error(`Cannot execute non-executable variable in pipeline: ${JSON.stringify(varInfo, null, 2)}`);\n  }\n  \n  // Create environment with parameter bindings\n  const execEnv = env.createChild();\n  \n  // Get the format from the pipeline context\n  const pipelineCtx = env.getPipelineContext();\n  const format = pipelineCtx?.format;\n  const stageLanguage = resolveExecutableLanguage(commandVar, execDef);\n  \n  // Parameter binding for executable functions\n  if (execDef.paramNames) {\n    for (let i = 0; i < execDef.paramNames.length; i++) {\n      const paramName = execDef.paramNames[i];\n      // In pipelines, explicit args bind starting from the SECOND parameter\n      // First parameter always gets @input (stdinInput) implicitly\n      const argIndex = pipelineCtx !== undefined && stdinInput !== undefined ? i - 1 : i;\n      const argValue = argIndex >= 0 && argIndex < args.length ? args[argIndex] : null;\n      \n      // First parameter in pipeline context ALWAYS gets @input\n      const isPipelineParam = i === 0 && pipelineCtx !== undefined && stdinInput !== undefined;\n      \n      if (isPipelineParam) {\n        const { AutoUnwrapManager } = await import('../auto-unwrap-manager');\n        const textValue = structuredInput ? structuredInput.text : (stdinInput ?? '');\n        const unwrapSource = structuredInput ?? textValue;\n        const unwrappedStdin = AutoUnwrapManager.unwrap(unwrapSource);\n\n        const hasNativeStructuredInput =\n          structuredInput && structuredInput.type && structuredInput.type !== 'text';\n\n        if (hasNativeStructuredInput) {\n          const typedVar = createTypedPipelineVariable(paramName, structuredInput.data, textValue);\n          execEnv.setParameterVariable(paramName, typedVar);\n          continue;\n        }\n\n        if (!format) {\n          const shouldParse = shouldAutoParsePipelineInput(stageLanguage);\n          if (shouldParse) {\n            const candidate = typeof unwrappedStdin === 'string' ? unwrappedStdin : textValue;\n            const parsed = parseStructuredJson(candidate);\n            if (parsed !== null) {\n              const typedVar = createTypedPipelineVariable(paramName, parsed, candidate);\n              execEnv.setParameterVariable(paramName, typedVar);\n              continue;\n            }\n          }\n          const resolvedText = typeof unwrappedStdin === 'string' ? unwrappedStdin : textValue;\n          const textSource: VariableSource = {\n            directive: 'var',\n            syntax: 'quoted',\n            hasInterpolation: false,\n            isMultiLine: false\n          };\n\n          const textVar = createSimpleTextVariable(\n            paramName,\n            resolvedText,\n            textSource,\n            { isPipelineParameter: true }\n          );\n\n          execEnv.setParameterVariable(paramName, textVar);\n          continue;\n        } else {\n          const resolvedText = typeof unwrappedStdin === 'string' ? unwrappedStdin : textValue;\n          const wrappedInput = createPipelineInput(resolvedText, format);\n\n          const pipelineSource: VariableSource = {\n            directive: 'var',\n            syntax: 'template',\n            hasInterpolation: false,\n            isMultiLine: false\n          };\n\n          const pipelineVar = createPipelineInputVariable(\n            paramName,\n            wrappedInput,\n            format as 'json' | 'csv' | 'xml' | 'text',\n            resolvedText,\n            pipelineSource,\n            pipelineCtx?.stage\n          );\n\n          execEnv.setParameterVariable(paramName, pipelineVar);\n          continue;\n        }\n      } else {\n        // Regular parameter handling\n        if (isStructuredValue(argValue)) {\n          const structuredVar = createStructuredValueVariable(\n            paramName,\n            argValue,\n            {\n              directive: 'var',\n              syntax: 'reference',\n              hasInterpolation: false,\n              isMultiLine: false\n            },\n            {\n              isParameter: true\n            }\n          );\n          execEnv.setParameterVariable(paramName, structuredVar);\n          continue;\n        }\n\n        let paramValue: any;\n        \n        if (argValue === null) {\n          paramValue = '';\n        } else if (typeof argValue === 'string' || typeof argValue === 'number' || typeof argValue === 'boolean') {\n          paramValue = argValue;\n        } else if (argValue && typeof argValue === 'object') {\n          if (!Array.isArray(argValue) && argValue.type === 'Text' && argValue.content !== undefined) {\n            paramValue = argValue.content;\n          } else if (!Array.isArray(argValue) && argValue.content !== undefined) {\n            paramValue = argValue.content;\n          } else {\n            paramValue = argValue;\n          }\n        } else {\n          paramValue = String(argValue);\n        }\n        \n        if (isStructuredValue(paramValue)) {\n          const structuredVar = createStructuredValueVariable(\n            paramName,\n            paramValue,\n            {\n              directive: 'var',\n              syntax: 'reference',\n              hasInterpolation: false,\n              isMultiLine: false\n            },\n            { isParameter: true }\n          );\n          execEnv.setParameterVariable(paramName, structuredVar);\n        } else if (Array.isArray(paramValue)) {\n          const paramVar = createArrayVariable(\n            paramName,\n            paramValue,\n            true,\n            {\n              directive: 'var',\n              syntax: 'array',\n              hasInterpolation: false,\n              isMultiLine: false\n            },\n            { isParameter: true }\n          );\n          execEnv.setParameterVariable(paramName, paramVar);\n        } else if (paramValue !== null && typeof paramValue === 'object') {\n          const paramVar = createObjectVariable(\n            paramName,\n            paramValue,\n            true,\n            {\n              directive: 'var',\n              syntax: 'object',\n              hasInterpolation: false,\n              isMultiLine: false\n            },\n            { \n              isParameter: true,\n              isPipelineContext: paramValue.stage !== undefined\n            }\n          );\n          \n          execEnv.setParameterVariable(paramName, paramVar);\n        } else {\n          const paramSource: VariableSource = {\n            directive: 'var',\n            syntax: 'quoted',\n            hasInterpolation: false,\n            isMultiLine: false\n          };\n          \n          const paramVar = createSimpleTextVariable(\n            paramName,\n            String(paramValue),\n            paramSource,\n            { isParameter: true }\n          );\n          \n          execEnv.setParameterVariable(paramName, paramVar);\n        }\n      }\n    }\n  }\n  \n  // Execute based on type\n  if (execDef.type === 'command' && execDef.commandTemplate) {\n    // Interpolate command template with parameters\n    const { interpolate } = await import('../../core/interpreter');\n    const { InterpolationContext } = await import('../../core/interpolation-context');\n    \n    const command = await interpolate(execDef.commandTemplate, execEnv, InterpolationContext.ShellCommand);\n\n    // Always pass pipeline input as stdin when available\n    let commandOutput: unknown = await env.executeCommand(command, { input: stdinInput } as any);\n\n    const withClause = execDef.withClause;\n    if (withClause) {\n      if (withClause.needs) {\n        const { checkDependencies, DefaultDependencyChecker } = await import('../dependencies');\n        const checker = new DefaultDependencyChecker();\n        await checkDependencies(withClause.needs, checker, commandVar.metadata?.definedAt);\n      }\n\n      if (withClause.pipeline && withClause.pipeline.length > 0) {\n        const { processPipeline } = await import('./unified-processor');\n        const processed = await processPipeline({\n          value: commandOutput,\n          env,\n          pipeline: withClause.pipeline,\n          format: withClause.format as string | undefined,\n          isRetryable: false,\n          identifier: commandVar?.name,\n          location: commandVar.metadata?.definedAt\n        });\n        if (processed === 'retry') {\n          return 'retry';\n        }\n        if (processed && typeof processed === 'object' && (processed as any).value === 'retry') {\n          return processed as RetrySignal;\n        }\n        commandOutput = processed;\n      }\n    }\n\n    return finalizeResult(commandOutput);\n  } else if (execDef.type === 'code' && execDef.codeTemplate) {\n    // Special handling for mlld-when expressions\n    if (execDef.language === 'mlld-when') {\n      // The codeTemplate contains the WhenExpression node\n      const whenExprNode = execDef.codeTemplate[0];\n      if (!whenExprNode || whenExprNode.type !== 'WhenExpression') {\n        throw new Error('mlld-when executable missing WhenExpression node');\n      }\n      \n      // Evaluate the when expression with the parameter environment\n      const { evaluateWhenExpression } = await import('../when-expression');\n      const whenResult = await evaluateWhenExpression(whenExprNode, execEnv);\n      \n      // Check if this is a retry signal\n      let resultValue = whenResult.value;\n      if (resultValue && typeof resultValue === 'object' && resultValue.value === 'retry') {\n        // This is a retry signal - return it as-is for the pipeline to handle\n        return resultValue;\n      }\n      if (resultValue === 'retry') {\n        return 'retry';\n      }\n      \n      // If when-expression produced a side-effect show inside a pipeline,\n      // propagate the input forward (so the stage doesn't terminate) while\n      // still letting the effect line be emitted by the action itself.\n      const inPipeline = !!env.getPipelineContext();\n      const showEffect =\n        resultValue &&\n        typeof resultValue === 'object' &&\n        (resultValue as any).__whenEffect === 'show';\n      const structuredShowEffect =\n        isStructuredValue(resultValue) &&\n        resultValue.data &&\n        typeof resultValue.data === 'object' &&\n        (resultValue.data as any).__whenEffect === 'show';\n\n      if (inPipeline && (showEffect || structuredShowEffect)) {\n        // If this is the last stage, suppress echo to avoid showing seed text.\n        // If there are more stages, propagate input forward to keep pipeline alive.\n        const pctx = env.getPipelineContext?.();\n        const isLastStage = pctx && typeof pctx.stage === 'number' && typeof pctx.totalStages === 'number'\n          ? pctx.stage >= pctx.totalStages\n          : false;\n        return finalizeResult(isLastStage ? '' : (stdinInput || ''));\n      }\n\n      // Check if the result needs interpolation (wrapped template)\n      if (resultValue && typeof resultValue === 'object' && 'wrapperType' in resultValue && Array.isArray(resultValue.content)) {\n        // This is a wrapped template that needs interpolation\n        const { interpolate } = await import('../../core/interpreter');\n        try {\n          resultValue = await interpolate(resultValue.content, execEnv);\n        } catch (e) {\n          resultValue = String(resultValue);\n        }\n      }\n      // Unwrap tagged show effects for non-pipeline contexts\n      if (showEffect) {\n        resultValue = (resultValue as any).text ?? '';\n      } else if (structuredShowEffect) {\n        const data = (resultValue as any).data;\n        resultValue = (data as any)?.text ?? asText(resultValue);\n      }\n      \n      // Return the result in the configured format\n      return finalizeResult(resultValue ?? '');\n    } else if (execDef.language === 'mlld-foreach') {\n      const foreachNode = execDef.codeTemplate[0];\n      const { evaluateForeachCommand } = await import('../foreach');\n      const results = await evaluateForeachCommand(foreachNode, execEnv);\n      const normalized = results.map(item => {\n        if (isStructuredValue(item)) {\n          return item.data ?? item.text;\n        }\n        if (typeof item === 'string' || item instanceof String) {\n          const strValue = item instanceof String ? item.valueOf() : item;\n          try {\n            return JSON.parse(strValue as string);\n          } catch {\n            return strValue;\n          }\n        }\n        return item;\n      });\n      const text = (() => {\n        try {\n          return JSON.stringify(normalized);\n        } catch {\n          return String(normalized);\n        }\n      })();\n      return finalizeResult(normalized, { type: 'array', text });\n    } else if (execDef.language === 'mlld-for') {\n      const forNode = execDef.codeTemplate[0];\n      const { evaluateForExpression } = await import('../for');\n      const arrayVar = await evaluateForExpression(forNode, execEnv);\n      const { extractVariableValue } = await import('../../utils/variable-resolution');\n      const value = await extractVariableValue(arrayVar, execEnv);\n      const text = (() => {\n        try {\n          return JSON.stringify(value);\n        } catch {\n          return String(value);\n        }\n      })();\n      return finalizeResult(value, { type: 'array', text });\n    }\n    \n    // Regular JavaScript/code execution\n    const { interpolate } = await import('../../core/interpreter');\n    const { InterpolationContext } = await import('../../core/interpolation-context');\n    \n    const code = await interpolate(execDef.codeTemplate, execEnv, InterpolationContext.Default);\n    \n    // Build parameters object from bound variables\n    const params: Record<string, any> = {};\n    if (execDef.paramNames) {\n      for (const paramName of execDef.paramNames) {\n        const paramVar = execEnv.getVariable(paramName);\n        if (paramVar) {\n          // Check if this is a pipeline input variable\n          if (paramVar.type === 'pipeline-input') {\n            // PipelineInputVariable stores the PipelineInput object in value\n            params[paramName] = paramVar.value;\n          } else if (paramVar.metadata?.isPipelineInput && paramVar.metadata?.pipelineInput) {\n            // Legacy: Use the wrapped pipeline input from metadata\n            params[paramName] = paramVar.metadata.pipelineInput;\n          } else {\n            // Regular variable - use the value directly\n            params[paramName] = paramVar.value;\n          }\n        }\n      }\n    }\n    \n    const result = await env.executeCode(code, execDef.language || 'javascript', params);\n\n    if (result && typeof result === 'object' && 'text' in result && 'type' in result) {\n      const text =\n        typeof (result as any).text === 'string'\n          ? (result as any).text\n          : String((result as any).text ?? '');\n      const type =\n        typeof (result as any).type === 'string' ? (result as any).type : undefined;\n      return finalizeResult(result, { type, text });\n    }\n\n    if (\n      typeof result === 'string' &&\n      pipelineCtx !== undefined &&\n      !format &&\n      shouldAutoParsePipelineInput(stageLanguage)\n    ) {\n      const wrapped = wrapJsonLikeString(result);\n      if (wrapped) {\n        return finalizeResult(wrapped);\n      }\n    }\n\n    return finalizeResult(result);\n  } else if (execDef.type === 'template' && execDef.template) {\n    // Interpolate template\n    const { interpolate } = await import('../../core/interpreter');\n    const { InterpolationContext } = await import('../../core/interpolation-context');\n    \n    const result = await interpolate(execDef.template, execEnv, InterpolationContext.Default);\n    return result;\n  } else if (execDef.type === 'commandRef') {\n    /**\n     * Handle command references\n     * WHY: The reference might be an executable or a parameter/value in the execution scope.\n     * CONTEXT: Prefer the execution parameter scope so pipeline parameters (e.g., input) are visible.\n     */\n    const refRaw = execDef.commandRef || '';\n    // Use the provided identifier as-is; evaluateExe should have normalized it from AST\n    const refName = String(refRaw);\n\n    // Prefer resolving in the execution parameter scope first (execEnv)\n    const fromParamScope = (execEnv as Environment).getVariable(refName);\n\n    if (fromParamScope) {\n      // If this is an executable, recursively execute it in the same param scope\n      if ((fromParamScope as any).type === 'executable') {\n        return await executeCommandVariable(fromParamScope as any, execDef.commandArgs ?? [], execEnv, stdinInput, structuredInput);\n      }\n      // Non-executable reference in exec scope: this is most likely a mistake now that\n      // identity bodies compile to template executables.\n      const t = (fromParamScope as any).type;\n      throw new Error(`Referenced symbol '${refName}' is not executable (type: ${t}). Use a template executable (e.g., \\`@${refName}\\`) or refactor the definition.`);\n    }\n\n    // Fallback to stage environment lookup for global executables/variables\n    const refVar = env.getVariable(refName);\n    if (!refVar) {\n      throw new Error(`Referenced executable not found: ${execDef.commandRef}`);\n    }\n\n    if ( (refVar as any).type === 'executable') {\n      return await executeCommandVariable(refVar as any, execDef.commandArgs ?? [], env, stdinInput, structuredInput);\n    }\n    // Non-executable reference in stage env: surface clear guidance\n    const t = (refVar as any).type;\n    throw new Error(`Referenced symbol '${refName}' is not executable (type: ${t}). Use a template executable or a function.`);\n  }\n  \n  throw new Error(`Unsupported executable type in pipeline: ${execDef.type}`);\n}\n"]}