UNPKG

mlld

Version:

mlld: llm scripting language

1 lines 2.03 kB
{"version":3,"sources":["../interpreter/eval/code-execution.ts"],"names":["evaluateCodeExecution","node","env","language","code","result","executeCode","processCommandOutput","processed","value"],"mappings":";;;AAcA,eAAsBA,qBAAAA,CACpBC,MACAC,GAAgB,EAAA;AAEhB,EAAM,MAAA,EAAEC,QAAUC,EAAAA,IAAAA,EAASH,GAAAA,IAAAA;AAI3B,EAAA,MAAMI,MAAS,GAAA,MAAMH,GAAII,CAAAA,WAAAA,CAAYF,MAAMD,QAAAA,CAAAA;AAI3C,EAAA,IAAI,CAACA,QAAYA,IAAAA,QAAAA,KAAa,QAAQA,QAAa,KAAA,MAAA,IAAUA,aAAa,OAAS,EAAA;AACjF,IAAA,MAAM,EAAEI,oBAAAA,EAAyB,GAAA,MAAM,OAAO,iCAAA,CAAA;AAC9C,IAAMC,MAAAA,SAAAA,GAAYD,qBAAqBF,MAAAA,CAAAA;AACvC,IAAO,OAAA;MAAEI,KAAOD,EAAAA,SAAAA;AAAWN,MAAAA;AAAI,KAAA;AACjC;AAEA,EAAO,OAAA;IAAEO,KAAOJ,EAAAA,MAAAA;AAAQH,IAAAA;AAAI,GAAA;AAC9B;AAnBsBF,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA","file":"code-execution-RAAJT3Y7.mjs","sourcesContent":["import type { Environment } from '../env/Environment';\nimport type { EvalResult } from '../core/interpreter';\n\ninterface CodeExecutionNode {\n type: 'code';\n language: string;\n code: string;\n hasRunKeyword?: boolean;\n}\n\n/**\n * Evaluate code execution nodes (from /var RHS)\n * Delegates to environment's executeCode method which uses proper executors\n */\nexport async function evaluateCodeExecution(\n node: CodeExecutionNode,\n env: Environment\n): Promise<EvalResult> {\n const { language, code } = node;\n \n // Delegate to environment's executeCode method which uses the proper executor\n // This ensures we use VM for Node.js, AsyncFunction for JS, etc.\n const result = await env.executeCode(code, language);\n \n // Apply automatic JSON parsing for shell commands that return JSON\n // (JavaScript/Node/Python executors handle their own return types)\n if (!language || language === 'sh' || language === 'bash' || language === 'shell') {\n const { processCommandOutput } = await import('@interpreter/utils/json-auto-parser');\n const processed = processCommandOutput(result);\n return { value: processed, env };\n }\n \n return { value: result, env };\n}"]}