{"version":3,"sources":["../src/cli/commands/suites/list.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport ora from \"ora\";\nimport { SuitesApiService } from \"@/client-sdk/services/suites\";\nimport { checkApiKey } from \"../../utils/apiKey\";\nimport { formatTable } from \"../../utils/formatting\";\nimport { failSpinner } from \"../../utils/spinnerError\";\n\nexport const listSuitesCommand = async (options?: { format?: string }): Promise<void> => {\n  checkApiKey();\n\n  const service = new SuitesApiService();\n  const spinner = ora(\"Fetching suites...\").start();\n\n  try {\n    const suites = await service.getAll();\n\n    spinner.succeed(\n      `Found ${suites.length} suite${suites.length !== 1 ? \"s\" : \"\"}`,\n    );\n\n    if (options?.format === \"json\") {\n      console.log(JSON.stringify(suites, null, 2));\n      return;\n    }\n\n    if (suites.length === 0) {\n      console.log();\n      console.log(chalk.gray(\"No suites (run plans) found in this project.\"));\n      console.log(chalk.gray(\"Create your first suite with:\"));\n      console.log(\n        chalk.cyan(\n          '  langwatch suite create \"My Suite\" --scenarios <id1>,<id2> --targets http:<agentId>',\n        ),\n      );\n      return;\n    }\n\n    console.log();\n\n    const tableData = suites.map((suite) => ({\n      Name: suite.name,\n      ID: suite.id,\n      Slug: suite.slug,\n      Scenarios: `${suite.scenarioIds.length}`,\n      Targets: `${suite.targets.length}`,\n      Repeat: `${suite.repeatCount}`,\n    }));\n\n    formatTable({\n      data: tableData,\n      headers: [\"Name\", \"ID\", \"Slug\", \"Scenarios\", \"Targets\", \"Repeat\"],\n      colorMap: {\n        Name: chalk.cyan,\n        ID: chalk.green,\n        Slug: chalk.yellow,\n      },\n    });\n\n    console.log();\n    console.log(\n      chalk.gray(\n        `Use ${chalk.cyan(\"langwatch suite get <id>\")} to view details or ${chalk.cyan(\"langwatch suite run <id>\")} to execute`,\n      ),\n    );\n  } catch (error) {\n    failSpinner({ spinner, error, action: \"fetch suites\" });\n    process.exit(1);\n  }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAMT,IAAM,oBAAoB,OAAO,YAAiD;AACvF,cAAY;AAEZ,QAAM,UAAU,IAAI,iBAAiB;AACrC,QAAM,UAAU,IAAI,oBAAoB,EAAE,MAAM;AAEhD,MAAI;AACF,UAAM,SAAS,MAAM,QAAQ,OAAO;AAEpC,YAAQ;AAAA,MACN,SAAS,OAAO,MAAM,SAAS,OAAO,WAAW,IAAI,MAAM,EAAE;AAAA,IAC/D;AAEA,SAAI,mCAAS,YAAW,QAAQ;AAC9B,cAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAC3C;AAAA,IACF;AAEA,QAAI,OAAO,WAAW,GAAG;AACvB,cAAQ,IAAI;AACZ,cAAQ,IAAI,MAAM,KAAK,8CAA8C,CAAC;AACtE,cAAQ,IAAI,MAAM,KAAK,+BAA+B,CAAC;AACvD,cAAQ;AAAA,QACN,MAAM;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AACA;AAAA,IACF;AAEA,YAAQ,IAAI;AAEZ,UAAM,YAAY,OAAO,IAAI,CAAC,WAAW;AAAA,MACvC,MAAM,MAAM;AAAA,MACZ,IAAI,MAAM;AAAA,MACV,MAAM,MAAM;AAAA,MACZ,WAAW,GAAG,MAAM,YAAY,MAAM;AAAA,MACtC,SAAS,GAAG,MAAM,QAAQ,MAAM;AAAA,MAChC,QAAQ,GAAG,MAAM,WAAW;AAAA,IAC9B,EAAE;AAEF,gBAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,CAAC,QAAQ,MAAM,QAAQ,aAAa,WAAW,QAAQ;AAAA,MAChE,UAAU;AAAA,QACR,MAAM,MAAM;AAAA,QACZ,IAAI,MAAM;AAAA,QACV,MAAM,MAAM;AAAA,MACd;AAAA,IACF,CAAC;AAED,YAAQ,IAAI;AACZ,YAAQ;AAAA,MACN,MAAM;AAAA,QACJ,OAAO,MAAM,KAAK,0BAA0B,CAAC,uBAAuB,MAAM,KAAK,0BAA0B,CAAC;AAAA,MAC5G;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,gBAAY,EAAE,SAAS,OAAO,QAAQ,eAAe,CAAC;AACtD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":[]}