Coverage for src / apcore_cli / _sandbox_runner.py: 94%

16 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-04-26 10:23 +0800

1"""Entry point for sandboxed module execution (FE-05).""" 

2 

3from __future__ import annotations 

4 

5import json 

6import os 

7import sys 

8 

9 

10def main() -> None: 

11 module_id = sys.argv[1] 

12 input_data = json.loads(sys.stdin.read()) 

13 extensions_root = os.environ.get("APCORE_EXTENSIONS_ROOT", "./extensions") 

14 

15 from apcore import Executor, Registry 

16 

17 registry = Registry(extensions_dir=extensions_root) 

18 registry.discover() 

19 executor = Executor(registry) 

20 result = executor.call(module_id, input_data) 

21 json.dump(result, sys.stdout) 

22 

23 

24if __name__ == "__main__": 

25 main()