{"version":3,"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n\n/** Output streams used by the `vitest-evals` CLI runner. */\nexport type VitestEvalsCliIo = {\n  stdout?: Pick<NodeJS.WriteStream, \"write\">;\n};\n\n/** Options for running the `vitest-evals` CLI. */\nexport type RunVitestEvalsCliOptions = VitestEvalsCliIo & {\n  cwd?: string;\n};\n\n/** Runs the product-facing `vitest-evals` CLI. */\nexport async function runVitestEvalsCli(\n  args = process.argv.slice(2),\n  options: RunVitestEvalsCliOptions = {},\n) {\n  const [command, ...commandArgs] = args;\n\n  if (\n    !command ||\n    command === \"help\" ||\n    command === \"--help\" ||\n    command === \"-h\"\n  ) {\n    writeLine(options.stdout, usage());\n    return;\n  }\n\n  switch (command) {\n    case \"serve\": {\n      const { runReportUiCli } = await import(\"@vitest-evals/report-ui\");\n      await runReportUiCli(commandArgs, {\n        commandName: \"vitest-evals serve\",\n        cwd: options.cwd,\n        stdout: options.stdout,\n      });\n      return;\n    }\n    default:\n      throw new Error(`Unknown command: ${command}\\n\\n${usage()}`);\n  }\n}\n\nfunction usage() {\n  return [\n    \"Usage: vitest-evals <command>\",\n    \"\",\n    \"Commands:\",\n    \"  serve [json | dir | glob]   Serve the local report UI\",\n    \"\",\n    \"Run `vitest-evals serve --help` for report UI options.\",\n  ].join(\"\\n\");\n}\n\nfunction writeLine(\n  stdout: Pick<NodeJS.WriteStream, \"write\"> | undefined,\n  message: string,\n) {\n  (stdout ?? process.stdout).write(`${message}\\n`);\n}\n\ndeclare const require: NodeJS.Require | undefined;\ndeclare const module: NodeJS.Module | undefined;\n\nif (\n  typeof require !== \"undefined\" &&\n  typeof module !== \"undefined\" &&\n  require.main === module\n) {\n  runVitestEvalsCli().catch((error) => {\n    console.error(error instanceof Error ? error.message : String(error));\n    process.exitCode = 1;\n  });\n}\n"],"mappings":";;;;;;;;;AAaA,eAAsB,kBACpB,OAAO,QAAQ,KAAK,MAAM,CAAC,GAC3B,UAAoC,CAAC,GACrC;AACA,QAAM,CAAC,SAAS,GAAG,WAAW,IAAI;AAElC,MACE,CAAC,WACD,YAAY,UACZ,YAAY,YACZ,YAAY,MACZ;AACA,cAAU,QAAQ,QAAQ,MAAM,CAAC;AACjC;AAAA,EACF;AAEA,UAAQ,SAAS;AAAA,IACf,KAAK,SAAS;AACZ,YAAM,EAAE,eAAe,IAAI,MAAM,OAAO,yBAAyB;AACjE,YAAM,eAAe,aAAa;AAAA,QAChC,aAAa;AAAA,QACb,KAAK,QAAQ;AAAA,QACb,QAAQ,QAAQ;AAAA,MAClB,CAAC;AACD;AAAA,IACF;AAAA,IACA;AACE,YAAM,IAAI,MAAM,oBAAoB,OAAO;AAAA;AAAA,EAAO,MAAM,CAAC,EAAE;AAAA,EAC/D;AACF;AAEA,SAAS,QAAQ;AACf,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AACb;AAEA,SAAS,UACP,QACA,SACA;AACA,GAAC,UAAU,QAAQ,QAAQ,MAAM,GAAG,OAAO;AAAA,CAAI;AACjD;AAKA,IACE,OAAO,cAAY,eACnB,OAAO,WAAW,eAClB,UAAQ,SAAS,QACjB;AACA,oBAAkB,EAAE,MAAM,CAAC,UAAU;AACnC,YAAQ,MAAM,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AACpE,YAAQ,WAAW;AAAA,EACrB,CAAC;AACH;","names":[]}