"""Owned startup entry. No user environment/config changes or override discovery.""" import json import os from pathlib import Path import subprocess import sys import threading from native_speech_mux import NativeSpeechMux, stdio_invocation, verified_original from bekci_watch import Ledger, WatchOwner def main(manifest, args): cfg = json.loads(Path(manifest).read_text(encoding='utf-8-sig')) original = verified_original(cfg['original'], cfg['original_sha256']) if not stdio_invocation(args): return subprocess.call([original,*args]) # Existing public catalog and original model passthrough handler is reused. # A per-child CLI setting selects the ephemeral owned bridge; no global file edit. saved_env = dict(os.environ) os.environ['AITURK_CODEX_BRIDGE_HOME'] = cfg['bridge_home'] os.environ['HERMES_HOME'] = cfg['hermes_home'] try: import kopru finally: os.environ.clear(); os.environ.update(saved_env) from http.server import ThreadingHTTPServer server = ThreadingHTTPServer(('127.0.0.1',0), kopru.H) mux = NativeSpeechMux([original,*args,'-c',f'openai_base_url="http://127.0.0.1:{server.server_port}/backend-api/codex"'],observer=True) Path(cfg['bridge_home']).mkdir(parents=True,exist_ok=True) owner = WatchOwner(mux,Ledger(str(Path(cfg['bridge_home'])/'native-watch-ledger.sqlite3'))) kopru.WATCH_OWNER = owner threading.Thread(target=server.serve_forever,daemon=True).start() try: return mux.run() finally: owner.close(); server.shutdown(); server.server_close() if __name__ == '__main__': try: raise SystemExit(main(sys.argv[1],sys.argv[2:])) except (OSError,ValueError,KeyError): sys.stderr.write('Owned native launcher configuration/integrity failure.\n') raise SystemExit(78)