"""Consulta offline do contrato; não exige runtime ou serviço fiscal."""
import argparse
import json

from acbr import AcbrError, describe_field


def main() -> int:
    parser = argparse.ArgumentParser(description=__doc__)
    parser.add_argument("caminho", nargs="?", default="Det[].Prod.vProd")
    args = parser.parse_args()
    try:
        descricao = describe_field(args.caminho)
    except AcbrError as erro:
        print(json.dumps(erro.diagnostico.to_dict(), ensure_ascii=False))
        return 1
    print(json.dumps(descricao, ensure_ascii=False, indent=2))
    return 0


if __name__ == "__main__":
    raise SystemExit(main())
