metis-desk/scripts/codex-playwright-wsl.sh

27 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# Alternativa explícita si el cliente no carga el MCP de proyecto.
set -euo pipefail
script_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
exec python3 -c "$(cat <<'PY'
import json
import os
import pathlib
import shutil
import sys
import tomllib
root = pathlib.Path(sys.argv[1]).resolve()
executable = shutil.which(os.environ.get('METIS_CODEX_BIN', 'codex'))
if executable is None:
sys.exit('Error: instala Codex CLI en WSL o indica METIS_CODEX_BIN.')
with (root / '.codex/config.toml').open('rb') as source:
config = tomllib.load(source)['mcp_servers']['playwright']
overrides = []
for key in ('command', 'args', 'startup_timeout_sec', 'tool_timeout_sec'):
overrides.extend(['-c', 'mcp_servers.playwright.' + key + '=' + json.dumps(config[key])])
overrides.extend(['-c', 'mcp_servers.playwright.enabled=true'])
# exec conserva terminal, señales y código de salida; no copia configuración ni credenciales.
os.execv(executable, [executable, '-C', str(root), *overrides, *sys.argv[2:]])
PY
)" "$script_dir/.." "$@"