File size: 481 Bytes
2c5ae19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from dataclasses import dataclass
from typing import Dict, Any

@dataclass
class CodeEvalResult:
    language: str
    success: bool
    diagnostics: Dict[str, Any]
    stdout: str | None = None
    stderr: str | None = None

class CodeTaskEngine:
    def __init__(self) -> None:
        self.python = PythonEvaluator()
        self.js = JSEvaluator()
        # later: bash, async, pipeline, etc.

    def eval_snippet(self, language: str, code: str) -> CodeEvalResult:
        ...