#!/usr/bin/env python3 """Write content to a file under /workspace.""" import json import os import sys args = json.loads(sys.stdin.read()) path = args.get("path", "") content = args.get("content", "") append = args.get("append", False) WORKSPACE = os.environ.get("WORKSPACE", "/workspace") resolved = os.path.realpath(path) if not resolved.startswith(WORKSPACE + "/") and resolved != WORKSPACE: print(f"[error: path must be under {WORKSPACE}]") sys.exit(0) if os.path.isdir(resolved): print(f"[error: {path} is a directory]") sys.exit(0) try: os.makedirs(os.path.dirname(resolved), exist_ok=True) mode = "a" if append else "w" with open(resolved, mode) as f: f.write(content) size = os.path.getsize(resolved) action = "appended to" if append else "wrote" print(f"[{action} {path} ({size} bytes)]") except Exception as e: print(f"[error: {e}]")