{"version":3,"sources":["../interpreter/utils/json-to-xml.ts","../interpreter/utils/pipeline-input.ts"],"names":[],"mappings":"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","file":"chunk-7YZGUDWA.mjs","sourcesContent":["/**\n * Convert JSON data to SCREAMING_SNAKE_CASE XML format\n * Compatible with llmxml's style\n */\n\n/**\n * Convert a string to SCREAMING_SNAKE_CASE\n */\nfunction toScreamingSnakeCase(str: string): string {\n  return str\n    .replace(/([a-z])([A-Z])/g, '$1_$2') // camelCase to snake_case\n    .replace(/[\\s\\-\\.]+/g, '_') // spaces, hyphens, dots to underscores\n    .replace(/[^A-Z0-9_]/gi, '') // remove non-alphanumeric except underscores\n    .toUpperCase()\n    .replace(/^_+|_+$/g, ''); // trim underscores\n}\n\n/**\n * Escape XML special characters\n */\nfunction escapeXml(str: string): string {\n  return str\n    .replace(/&/g, '&amp;')\n    .replace(/</g, '&lt;')\n    .replace(/>/g, '&gt;')\n    .replace(/\"/g, '&quot;')\n    .replace(/'/g, '&apos;');\n}\n\n/**\n * Convert JSON to XML string\n */\nexport function jsonToXml(data: unknown, rootTag?: string): string {\n  const lines: string[] = [];\n  \n  function convertValue(value: unknown, tagName: string, indent: string = ''): void {\n    if (value === null || value === undefined) {\n      // Skip null/undefined values\n      return;\n    }\n    \n    const tag = toScreamingSnakeCase(tagName);\n    \n    if (Array.isArray(value)) {\n      // For arrays, create a container and items\n      lines.push(`${indent}<${tag}>`);\n      value.forEach((item, index) => {\n        convertValue(item, `item`, indent + '  ');\n      });\n      lines.push(`${indent}</${tag}>`);\n    } else if (typeof value === 'object' && value !== null) {\n      // For objects, create nested tags\n      const entries = Object.entries(value);\n      if (entries.length === 0) {\n        // Empty object\n        lines.push(`${indent}<${tag} />`);\n      } else if (rootTag && indent === '') {\n        // Root level object without wrapper\n        entries.forEach(([key, val]) => {\n          convertValue(val, key, indent);\n        });\n      } else {\n        // Nested object with wrapper\n        lines.push(`${indent}<${tag}>`);\n        entries.forEach(([key, val]) => {\n          convertValue(val, key, indent + '  ');\n        });\n        lines.push(`${indent}</${tag}>`);\n      }\n    } else {\n      // Primitive values\n      const content = escapeXml(String(value));\n      lines.push(`${indent}<${tag}>${content}</${tag}>`);\n    }\n  }\n  \n  // Handle root level\n  if (Array.isArray(data)) {\n    convertValue(data, rootTag || 'ROOT');\n  } else if (typeof data === 'object' && data !== null) {\n    // For root objects, output properties directly without wrapper\n    // This matches the expected test output: <NAME>Alice</NAME><AGE>30</AGE>\n    Object.entries(data).forEach(([key, value]) => {\n      convertValue(value, key, '');\n    });\n  } else {\n    // Primitive at root\n    return `<DOCUMENT>${escapeXml(String(data))}</DOCUMENT>`;\n  }\n  \n  return lines.join('\\n');\n}","import { MlldInterpreterError } from '@core/errors';\nimport { llmxmlInstance } from './llmxml-instance';\nimport { jsonToXml } from './json-to-xml';\nimport type { StructuredValue, StructuredValueType } from './structured-value';\nimport { STRUCTURED_VALUE_SYMBOL } from './structured-value';\n\nexport interface PipelineInput<T = unknown> extends StructuredValue<T> {\n  readonly csv?: any[][];\n  readonly xml?: any;\n}\n\n/**\n * Parse CSV text into a 2D array\n * Simple implementation - can be enhanced later\n */\nfunction parseCSV(text: string): any[][] {\n  const lines = text.trim().split('\\n');\n  return lines.map(line => {\n    // Simple CSV parsing - handle quoted values\n    const result: string[] = [];\n    let current = '';\n    let inQuotes = false;\n    \n    for (let i = 0; i < line.length; i++) {\n      const char = line[i];\n      \n      if (char === '\"') {\n        if (inQuotes && line[i + 1] === '\"') {\n          // Escaped quote\n          current += '\"';\n          i++;\n        } else {\n          // Toggle quote mode\n          inQuotes = !inQuotes;\n        }\n      } else if (char === ',' && !inQuotes) {\n        // End of field\n        result.push(current);\n        current = '';\n      } else {\n        current += char;\n      }\n    }\n    \n    // Add last field\n    if (current || line.endsWith(',')) {\n      result.push(current);\n    }\n    \n    return result;\n  });\n}\n\n/**\n * Parse XML text using our internal XML handling\n * This is a simplified synchronous version for pipeline compatibility\n * TODO: Add support for async parsing in the future\n */\nfunction parseXML(text: string): any {\n  try {\n    // Try to parse as JSON first\n    const parsed = JSON.parse(text);\n    // Use our JSON to XML converter for structured data\n    return jsonToXml(parsed);\n  } catch {\n    // For non-JSON text, we can't use llmxml synchronously\n    // So we'll just wrap in DOCUMENT tags for now\n    // TODO: Support async XML parsing in pipelines\n    return `<DOCUMENT>\\n${text}\\n</DOCUMENT>`;\n  }\n}\n\n/**\n * Create a pipeline input wrapper with lazy parsing\n */\nexport function createPipelineInput<T = unknown>(\n  text: string,\n  format: StructuredValueType = 'json'\n): PipelineInput<T> {\n  if (process.env.MLLD_DEBUG === 'true') {\n    console.error('createPipelineInput called with:', {\n      textType: typeof text,\n      textLength: typeof text === 'string' ? text.length : 'N/A',\n      format: format,\n      textPreview: typeof text === 'string' ? text.substring(0, 50) : String(text)\n    });\n  }\n  \n  const input: any = {\n    text: String(text), // Ensure it's a string\n    type: format,\n    _parsed: undefined\n  };\n\n  Object.defineProperty(input, STRUCTURED_VALUE_SYMBOL, {\n    value: true,\n    enumerable: false,\n    configurable: false,\n    writable: false\n  });\n\n  // Define lazy getters based on format\n  switch (format.toLowerCase()) {\n    case 'json':\n    default:\n      Object.defineProperty(input, 'data', {\n        get() {\n          if (this._parsed === undefined) {\n            try {\n              if (process.env.MLLD_DEBUG === 'true') {\n                console.error('JSON getter called');\n                console.error('this:', this);\n                console.error('this.text exists:', 'text' in this);\n                console.error('this.text value:', this.text);\n                console.error('Text type:', typeof this.text);\n                if (this.text) {\n                  console.error('Text length:', this.text.length);\n                  console.error('First 200 chars:', this.text.substring(0, 200));\n                }\n              }\n              \n              if (!this.text) {\n                throw new Error('PipelineInput.text is undefined or null');\n              }\n              \n              this._parsed = JSON.parse(this.text);\n            } catch (e: any) {\n              if (process.env.MLLD_DEBUG === 'true') {\n                console.error('Failed to parse JSON. Text was:', this.text);\n                console.error('First 100 chars:', this.text.substring(0, 100));\n              }\n              throw new MlldInterpreterError(`Failed to parse JSON: ${e.message}`);\n            }\n          }\n          return this._parsed;\n        },\n        enumerable: true,\n        configurable: true\n      });\n      break;\n\n    case 'csv':\n      Object.defineProperty(input, 'csv', {\n        get() {\n          if (this._parsed === undefined) {\n            try {\n              this._parsed = parseCSV(this.text);\n            } catch (e: any) {\n              throw new MlldInterpreterError(`Failed to parse CSV: ${e.message}`);\n            }\n          }\n          return this._parsed;\n        },\n        enumerable: true,\n        configurable: true\n      });\n      Object.defineProperty(input, 'data', {\n        get() {\n          return this.csv;\n        },\n        enumerable: true,\n        configurable: true\n      });\n      break;\n\n    case 'xml':\n      Object.defineProperty(input, 'xml', {\n        get() {\n          if (this._parsed === undefined) {\n            try {\n              this._parsed = parseXML(this.text);\n            } catch (e: any) {\n              throw new MlldInterpreterError(`Failed to parse XML: ${e.message}`);\n            }\n          }\n          return this._parsed;\n        },\n        enumerable: true,\n        configurable: true\n      });\n      Object.defineProperty(input, 'data', {\n        get() {\n          return this.xml;\n        },\n        enumerable: true,\n        configurable: true\n      });\n      break;\n\n    case 'text':\n      // No special parsing for text format\n      // The data property just returns the raw text\n      Object.defineProperty(input, 'data', {\n        get() {\n          return this.text;\n        },\n        enumerable: true,\n        configurable: true\n      });\n      break;\n  }\n\n  // Add toString() for backwards compatibility\n  Object.defineProperty(input, 'toString', {\n    value: function() {\n      if (process.env.MLLD_DEBUG === 'true') {\n        console.log('PipelineInput.toString() called - returning text property');\n        console.trace('toString call stack');\n      }\n      return this.text;\n    },\n    enumerable: false,\n    configurable: true\n  });\n\n  Object.defineProperty(input, 'valueOf', {\n    value: function() {\n      return this.text;\n    },\n    enumerable: false,\n    configurable: true\n  });\n\n  Object.defineProperty(input, Symbol.toPrimitive, {\n    value: function() {\n      return this.text;\n    },\n    enumerable: false,\n    configurable: true\n  });\n\n  return input;\n}\n\n/**\n * Check if a value is already a PipelineInput\n */\nexport function isPipelineInput(value: any): value is PipelineInput {\n  return value && \n         typeof value === 'object' && \n         'text' in value && \n         'type' in value &&\n         typeof value.text === 'string' &&\n         typeof value.type === 'string';\n}\n"]}