33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
import argparse
|
|
import shutil
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
POLICY_DIR = ROOT / "contas_mcp" / "servers" / "contas_mcp_server"
|
|
ACTIVE = POLICY_DIR / "line_policy.py"
|
|
CHOICES = {
|
|
"alt1": POLICY_DIR / "line_policy_alt1.py",
|
|
"alt2": POLICY_DIR / "line_policy_alt2.py",
|
|
}
|
|
|
|
|
|
def main() -> int:
|
|
parser = argparse.ArgumentParser(description="Seleciona a política de linha ativa do Agent Contas.")
|
|
parser.add_argument("policy", choices=sorted(CHOICES), help="alt1=linha autenticada apenas; alt2=linhas relacionadas autorizadas")
|
|
args = parser.parse_args()
|
|
source = CHOICES[args.policy]
|
|
if not source.exists():
|
|
raise SystemExit(f"Fonte de política não encontrado: {source}")
|
|
shutil.copy2(source, ACTIVE)
|
|
print(f"Política ativa: {args.policy}")
|
|
print(f"Fonte: {source.relative_to(ROOT)}")
|
|
print(f"Ativo: {ACTIVE.relative_to(ROOT)}")
|
|
print("Reinicie o backend/MCP Server para carregar a política selecionada.")
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|