# Multi-Language Script Engine (6 Languages with Monaco Editor, Sandbox, Library Management, and Policy Evaluation) ## Module ReleaseOrchestrator ## Status IMPLEMENTED ## Description Polyglot script execution engine supporting C#, Python, Java, Go, Bash, and TypeScript with containerized isolation, resource limits, timeout enforcement, Monaco-based editor with language server protocol IntelliSense, security sandbox with network/filesystem/resource policies, dependency resolution with version pinning, policy-based script approval and signing, and runtime image management per language. ## Implementation Details - **Modules**: `src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Scripts/` - **Key Classes**: - `ScriptExecutor` (`src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Scripts/Execution/ScriptExecutor.cs`) - executes scripts in containerized sandboxes with resource limits and timeout enforcement - `ScriptLibraryManager` (`src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Scripts/Library/ScriptLibraryManager.cs`) - manages script libraries with dependency resolution and version pinning - `RuntimeImageManager` (`src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Scripts/Runtime/RuntimeImageManager.cs`) - manages per-language runtime container images - `ScriptPolicyEvaluator` (`src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Scripts/Policies/ScriptPolicyEvaluator.cs`) - evaluates policy-based script approval and signing rules - **Interfaces**: `IScriptExecutor`, `IScriptLibraryManager`, `IRuntimeImageManager`, `IScriptPolicyEvaluator` - **Source**: SPRINT_20260117_040_ReleaseOrchestrator_multi_language_scripts.md ## E2E Test Plan - [ ] Execute a script in each supported language (C#, Python, Java, Go, Bash, TypeScript) via `ScriptExecutor` and verify output - [ ] Verify containerized isolation: run a script that attempts filesystem access and verify it is blocked by the sandbox - [ ] Verify resource limits: run a script that exceeds memory/CPU limits and verify it is terminated - [ ] Verify timeout enforcement: run a long-running script and verify it is killed after timeout - [ ] Add a library dependency via `ScriptLibraryManager` and verify version pinning in execution - [ ] Verify `ScriptPolicyEvaluator` rejects an unapproved/unsigned script - [ ] Verify `RuntimeImageManager` manages and pulls per-language container images