{"version":3,"sources":["../src/cli/commands/triggers/list.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport ora from \"ora\";\nimport { checkApiKey } from \"../../utils/apiKey\";\nimport { formatFetchError } from \"../../utils/formatFetchError\";\nimport { formatTable } from \"../../utils/formatting\";\nimport { failSpinner } from \"../../utils/spinnerError\";\nimport { buildAuthHeaders } from \"@/internal/api/auth\";\n\nimport { resolveControlPlaneUrl } from \"@/cli/utils/governance/resolveEndpoint\";\nexport const listTriggersCommand = async (options?: { format?: string }): Promise<void> => {\n  checkApiKey();\n\n  const apiKey = process.env.LANGWATCH_API_KEY ?? \"\";\n  const endpoint = resolveControlPlaneUrl();\n\n  const spinner = ora(\"Fetching triggers...\").start();\n\n  try {\n    const response = await fetch(`${endpoint}/api/triggers`, {\n      headers: buildAuthHeaders({ apiKey }),\n    });\n\n    if (!response.ok) {\n      const message = await formatFetchError(response);\n      spinner.fail(`Failed to fetch triggers: ${message}`);\n      process.exit(1);\n    }\n\n    const triggers = await response.json() as Array<{\n      id: string;\n      name: string;\n      action: string;\n      active: boolean;\n      alertType: string | null;\n    }>;\n\n    spinner.succeed(`Found ${triggers.length} trigger${triggers.length !== 1 ? \"s\" : \"\"}`);\n\n    if (options?.format === \"json\") {\n      console.log(JSON.stringify(triggers, null, 2));\n      return;\n    }\n\n    if (triggers.length === 0) {\n      console.log();\n      console.log(chalk.gray(\"No triggers found.\"));\n      console.log(chalk.gray(\"Create one with:\"));\n      console.log(chalk.cyan('  langwatch trigger create \"My Alert\" --action SEND_EMAIL'));\n      return;\n    }\n\n    console.log();\n\n    const tableData = triggers.map((t) => ({\n      Name: t.name,\n      ID: t.id,\n      Action: t.action,\n      Status: t.active ? chalk.green(\"active\") : chalk.gray(\"inactive\"),\n      Alert: t.alertType ?? chalk.gray(\"—\"),\n    }));\n\n    formatTable({\n      data: tableData,\n      headers: [\"Name\", \"ID\", \"Action\", \"Status\", \"Alert\"],\n      colorMap: {\n        Name: chalk.cyan,\n        ID: chalk.green,\n      },\n    });\n\n    console.log();\n  } catch (error) {\n    failSpinner({ spinner, error, action: \"fetch triggers\" });\n    process.exit(1);\n  }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAQT,IAAM,sBAAsB,OAAO,YAAiD;AAT3F;AAUE,cAAY;AAEZ,QAAM,UAAS,aAAQ,IAAI,sBAAZ,YAAiC;AAChD,QAAM,WAAW,uBAAuB;AAExC,QAAM,UAAU,IAAI,sBAAsB,EAAE,MAAM;AAElD,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,iBAAiB;AAAA,MACvD,SAAS,iBAAiB,EAAE,OAAO,CAAC;AAAA,IACtC,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,UAAU,MAAM,iBAAiB,QAAQ;AAC/C,cAAQ,KAAK,6BAA6B,OAAO,EAAE;AACnD,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,UAAM,WAAW,MAAM,SAAS,KAAK;AAQrC,YAAQ,QAAQ,SAAS,SAAS,MAAM,WAAW,SAAS,WAAW,IAAI,MAAM,EAAE,EAAE;AAErF,SAAI,mCAAS,YAAW,QAAQ;AAC9B,cAAQ,IAAI,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAC7C;AAAA,IACF;AAEA,QAAI,SAAS,WAAW,GAAG;AACzB,cAAQ,IAAI;AACZ,cAAQ,IAAI,MAAM,KAAK,oBAAoB,CAAC;AAC5C,cAAQ,IAAI,MAAM,KAAK,kBAAkB,CAAC;AAC1C,cAAQ,IAAI,MAAM,KAAK,2DAA2D,CAAC;AACnF;AAAA,IACF;AAEA,YAAQ,IAAI;AAEZ,UAAM,YAAY,SAAS,IAAI,CAAC,MAAG;AArDvC,UAAAA;AAqD2C;AAAA,QACrC,MAAM,EAAE;AAAA,QACR,IAAI,EAAE;AAAA,QACN,QAAQ,EAAE;AAAA,QACV,QAAQ,EAAE,SAAS,MAAM,MAAM,QAAQ,IAAI,MAAM,KAAK,UAAU;AAAA,QAChE,QAAOA,MAAA,EAAE,cAAF,OAAAA,MAAe,MAAM,KAAK,QAAG;AAAA,MACtC;AAAA,KAAE;AAEF,gBAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,CAAC,QAAQ,MAAM,UAAU,UAAU,OAAO;AAAA,MACnD,UAAU;AAAA,QACR,MAAM,MAAM;AAAA,QACZ,IAAI,MAAM;AAAA,MACZ;AAAA,IACF,CAAC;AAED,YAAQ,IAAI;AAAA,EACd,SAAS,OAAO;AACd,gBAAY,EAAE,SAAS,OAAO,QAAQ,iBAAiB,CAAC;AACxD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":["_a"]}