{"version":3,"sources":["../src/cli-doctor.ts","../src/cli.ts"],"names":[],"mappings":"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","file":"cli.cjs","sourcesContent":["/**\n * `shipping doctor` — diagnoses the @ar-agents/shipping environment.\n *\n * The package wraps three carriers, each with its own credentials. None\n * is required; the doctor reports which carriers are wired and which\n * tools fall back to MockShippingAdapter.\n *\n *   Andreani: client_id + client_secret + contract number\n *   OCA: usuario + password + cuit + operativa\n *   Correo Argentino: api_key\n */\n\nconst C = {\n  reset: \"\\x1b[0m\",\n  dim: \"\\x1b[2m\",\n  red: \"\\x1b[31m\",\n  green: \"\\x1b[32m\",\n  yellow: \"\\x1b[33m\",\n  cyan: \"\\x1b[36m\",\n  bold: \"\\x1b[1m\",\n};\nconst NO_COLOR = process.env.NO_COLOR != null || !process.stdout.isTTY;\nconst c = (col: keyof typeof C, s: string) =>\n  NO_COLOR ? s : `${C[col]}${s}${C.reset}`;\n\ntype CheckResult =\n  | { kind: \"ok\"; line: string; detail?: string }\n  | { kind: \"warn\"; line: string; detail?: string }\n  | { kind: \"fail\"; line: string; detail?: string };\n\nfunction fmt(r: CheckResult): string {\n  const icon =\n    r.kind === \"ok\" ? c(\"green\", \"✓\") : r.kind === \"warn\" ? c(\"yellow\", \"⚠\") : c(\"red\", \"✗\");\n  const detail = r.detail ? `\\n  ${c(\"dim\", \"→ \" + r.detail)}` : \"\";\n  return `${icon} ${r.line}${detail}`;\n}\n\nfunction checkNode(): CheckResult {\n  const major = Number(process.versions.node.split(\".\")[0]);\n  if (major >= 20) return { kind: \"ok\", line: `Node ${process.versions.node} (>= 20.0.0)` };\n  return { kind: \"fail\", line: `Node ${process.versions.node} too old`, detail: \"Requires 20+.\" };\n}\n\nfunction checkAndreani(): CheckResult {\n  const id = process.env.ANDREANI_CLIENT_ID?.trim();\n  const secret = process.env.ANDREANI_CLIENT_SECRET?.trim();\n  const contract = process.env.ANDREANI_CONTRACT?.trim();\n  const present = [id, secret, contract].filter(Boolean).length;\n\n  if (present === 0) {\n    return {\n      kind: \"warn\",\n      line: \"Andreani not configured\",\n      detail: \"Set ANDREANI_CLIENT_ID + ANDREANI_CLIENT_SECRET + ANDREANI_CONTRACT to enable cotizar/crear/trackear/cancelar via Andreani.\",\n    };\n  }\n  if (present < 3) {\n    return {\n      kind: \"fail\",\n      line: `Andreani partially configured (${present}/3 vars set)`,\n      detail: \"Need ANDREANI_CLIENT_ID + ANDREANI_CLIENT_SECRET + ANDREANI_CONTRACT.\",\n    };\n  }\n  return { kind: \"ok\", line: `Andreani configured (contract ${contract!.slice(0, 4)}…)` };\n}\n\nfunction checkOca(): CheckResult {\n  const present = [\n    process.env.OCA_USUARIO,\n    process.env.OCA_PASSWORD,\n    process.env.OCA_CUIT,\n    process.env.OCA_OPERATIVA,\n  ].filter(Boolean).length;\n\n  if (present === 0) {\n    return {\n      kind: \"warn\",\n      line: \"OCA not configured\",\n      detail: \"Set OCA_USUARIO + OCA_PASSWORD + OCA_CUIT + OCA_OPERATIVA to enable cotizar via OCA. Crear/trackear/cancelar require E-Pak SOAP (planned for v0.2).\",\n    };\n  }\n  if (present < 4) {\n    return { kind: \"fail\", line: `OCA partially configured (${present}/4 vars set)` };\n  }\n  return { kind: \"ok\", line: \"OCA configured (cotizar + sucursales available)\" };\n}\n\nfunction checkCorreo(): CheckResult {\n  const k = process.env.CORREO_API_KEY?.trim();\n  if (!k) {\n    return {\n      kind: \"warn\",\n      line: \"Correo Argentino not configured\",\n      detail: \"Set CORREO_API_KEY to enable cotizar/trackear via Correo Argentino.\",\n    };\n  }\n  return { kind: \"ok\", line: \"Correo Argentino configured\" };\n}\n\nasync function checkPeerDep(name: string): Promise<CheckResult> {\n  try {\n    await import(name);\n    return { kind: \"ok\", line: `${name} installed` };\n  } catch {\n    return { kind: \"fail\", line: `${name} not installed`, detail: `Required: pnpm add ${name}` };\n  }\n}\n\ntype Manifest = { tools: Array<{ name: string }> };\nasync function loadManifest(): Promise<Manifest | null> {\n  const fs = await import(\"node:fs/promises\");\n  for (const rel of [\"../tools.manifest.json\", \"../../tools.manifest.json\"]) {\n    try {\n      const url = new URL(rel, import.meta.url);\n      return JSON.parse(await fs.readFile(url, \"utf-8\")) as Manifest;\n    } catch {\n      // try next\n    }\n  }\n  return null;\n}\n\nexport async function runDoctor(): Promise<number> {\n  const lines: string[] = [];\n  lines.push(\"\");\n  lines.push(c(\"bold\", `${c(\"cyan\", \"@ar-agents/shipping\")} doctor`));\n  lines.push(c(\"dim\", \"  diagnosing your carriers\"));\n  lines.push(\"\");\n\n  lines.push(fmt(checkNode()));\n  lines.push(\"\");\n  lines.push(c(\"bold\", \"Carriers:\"));\n  lines.push(fmt(checkAndreani()));\n  lines.push(fmt(checkOca()));\n  lines.push(fmt(checkCorreo()));\n  lines.push(\"\");\n  lines.push(fmt(await checkPeerDep(\"ai\")));\n  lines.push(fmt(await checkPeerDep(\"zod\")));\n  lines.push(\"\");\n\n  const manifest = await loadManifest();\n  if (manifest) {\n    lines.push(c(\"bold\", `Tools registered: ${manifest.tools.length}`));\n    for (const t of manifest.tools) lines.push(`  ${c(\"dim\", \"→\")} ${t.name}`);\n    lines.push(\"\");\n    lines.push(\n      c(\"yellow\", \"cotizar_envio_todos compares all configured carriers in parallel and returns the cheapest.\"),\n    );\n  }\n  lines.push(\"\");\n\n  process.stdout.write(lines.join(\"\\n\") + \"\\n\");\n  return lines.some((l) => l.includes(\"✗\")) ? 1 : 0;\n}\n","import { runDoctor } from \"./cli-doctor\";\n\nconst HELP = `\\\n@ar-agents/shipping CLI\n\nCommands:\n  doctor               Diagnose carriers (Andreani / OCA / Correo Argentino)\n  help                 Print this message\n  version              Print the installed package version\n\nEnvironment:\n  ANDREANI_CLIENT_ID         Andreani OAuth (optional).\n  ANDREANI_CLIENT_SECRET     Andreani OAuth (optional).\n  ANDREANI_CONTRACT          Andreani contract number (optional).\n  OCA_USUARIO                OCA Tarifador credentials (optional).\n  OCA_PASSWORD               OCA Tarifador credentials (optional).\n  OCA_CUIT                   OCA CUIT (optional).\n  OCA_OPERATIVA              OCA operativa code (optional).\n  CORREO_API_KEY             Correo Argentino API key (optional).\n\nDocs: https://github.com/ar-agents/ar-agents/tree/main/packages/shipping\n`;\n\nasync function readVersion(): Promise<string> {\n  for (const rel of [\"../package.json\", \"../../package.json\"]) {\n    try {\n      const url = new URL(rel, import.meta.url);\n      const fs = await import(\"node:fs/promises\");\n      const pkg = JSON.parse(await fs.readFile(url, \"utf-8\")) as { version?: string };\n      if (pkg.version) return pkg.version;\n    } catch {\n      // try next\n    }\n  }\n  return \"unknown\";\n}\n\nexport async function runCli(argv: string[]): Promise<number> {\n  const [, , cmd] = argv;\n  if (!cmd || cmd === \"help\" || cmd === \"--help\" || cmd === \"-h\") {\n    process.stdout.write(HELP);\n    return 0;\n  }\n  if (cmd === \"version\" || cmd === \"--version\" || cmd === \"-v\") {\n    process.stdout.write(`@ar-agents/shipping ${await readVersion()}\\n`);\n    return 0;\n  }\n  if (cmd === \"doctor\") return runDoctor();\n  process.stderr.write(`Unknown command: ${cmd}\\n\\nRun \\`shipping help\\` for usage.\\n`);\n  return 2;\n}\n"]}