{"version":3,"sources":["../src/cli/commands/secrets/create.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport ora from \"ora\";\nimport { checkApiKey } from \"../../utils/apiKey\";\nimport { formatFetchError } from \"../../utils/formatFetchError\";\nimport { failSpinner } from \"../../utils/spinnerError\";\nimport { buildAuthHeaders } from \"@/internal/api/auth\";\n\nimport { resolveControlPlaneUrl } from \"@/cli/utils/governance/resolveEndpoint\";\nexport const createSecretCommand = async (\n  name: string,\n  options: { value: string; format?: string }\n): Promise<void> => {\n  checkApiKey();\n\n  if (!/^[A-Z][A-Z0-9_]*$/.test(name)) {\n    console.error(\n      chalk.red(\n        \"Error: Secret name must contain only uppercase letters, digits, and underscores, and must start with a letter (e.g. MY_API_KEY)\"\n      )\n    );\n    process.exit(1);\n  }\n\n  const apiKey = process.env.LANGWATCH_API_KEY ?? \"\";\n  const endpoint =\n    resolveControlPlaneUrl();\n\n  const spinner = ora(`Creating secret \"${name}\"...`).start();\n\n  try {\n    const response = await fetch(`${endpoint}/api/secrets`, {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n        ...buildAuthHeaders({ apiKey }),\n      },\n      body: JSON.stringify({ name, value: options.value }),\n    });\n\n    if (!response.ok) {\n      const message = await formatFetchError(response);\n      spinner.fail(`Failed to create secret: ${message}`);\n      process.exit(1);\n    }\n\n    const secret = (await response.json()) as {\n      id: string;\n      name: string;\n    };\n\n    spinner.succeed(`Secret \"${secret.name}\" created (${secret.id})`);\n\n    if (options.format === \"json\") {\n      console.log(JSON.stringify(secret, null, 2));\n      return;\n    }\n\n    console.log();\n    console.log(`  ${chalk.gray(\"ID:\")}   ${chalk.green(secret.id)}`);\n    console.log(`  ${chalk.gray(\"Name:\")} ${chalk.cyan(secret.name)}`);\n    console.log();\n  } catch (error) {\n    failSpinner({ spinner, error, action: \"create secret\" });\n    process.exit(1);\n  }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAOT,IAAM,sBAAsB,OACjC,MACA,YACkB;AAXpB;AAYE,cAAY;AAEZ,MAAI,CAAC,oBAAoB,KAAK,IAAI,GAAG;AACnC,YAAQ;AAAA,MACN,MAAM;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,UAAS,aAAQ,IAAI,sBAAZ,YAAiC;AAChD,QAAM,WACJ,uBAAuB;AAEzB,QAAM,UAAU,IAAI,oBAAoB,IAAI,MAAM,EAAE,MAAM;AAE1D,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,gBAAgB;AAAA,MACtD,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,SACb,iBAAiB,EAAE,OAAO,CAAC;AAAA,MAEhC,MAAM,KAAK,UAAU,EAAE,MAAM,OAAO,QAAQ,MAAM,CAAC;AAAA,IACrD,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,UAAU,MAAM,iBAAiB,QAAQ;AAC/C,cAAQ,KAAK,4BAA4B,OAAO,EAAE;AAClD,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,UAAM,SAAU,MAAM,SAAS,KAAK;AAKpC,YAAQ,QAAQ,WAAW,OAAO,IAAI,cAAc,OAAO,EAAE,GAAG;AAEhE,QAAI,QAAQ,WAAW,QAAQ;AAC7B,cAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAC3C;AAAA,IACF;AAEA,YAAQ,IAAI;AACZ,YAAQ,IAAI,KAAK,MAAM,KAAK,KAAK,CAAC,MAAM,MAAM,MAAM,OAAO,EAAE,CAAC,EAAE;AAChE,YAAQ,IAAI,KAAK,MAAM,KAAK,OAAO,CAAC,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,EAAE;AACjE,YAAQ,IAAI;AAAA,EACd,SAAS,OAAO;AACd,gBAAY,EAAE,SAAS,OAAO,QAAQ,gBAAgB,CAAC;AACvD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":[]}