{"version":3,"sources":["../src/cli/commands/workflows/update.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 updateWorkflowCommand = async (\n  id: string,\n  options: { name?: string; icon?: string; description?: string; format?: string },\n): Promise<void> => {\n  checkApiKey();\n\n  const apiKey = process.env.LANGWATCH_API_KEY ?? \"\";\n  const endpoint = resolveControlPlaneUrl();\n\n  const spinner = ora(`Updating workflow \"${id}\"...`).start();\n\n  try {\n    const body: Record<string, string> = {};\n    if (options.name) body.name = options.name;\n    if (options.icon) body.icon = options.icon;\n    if (options.description) body.description = options.description;\n\n    if (Object.keys(body).length === 0) {\n      spinner.fail(\"No fields to update. Use --name, --icon, or --description.\");\n      process.exit(1);\n    }\n\n    const response = await fetch(\n      `${endpoint}/api/workflows/${encodeURIComponent(id)}`,\n      {\n        method: \"PATCH\",\n        headers: {\n          \"Content-Type\": \"application/json\",\n          ...buildAuthHeaders({ apiKey }),\n        },\n        body: JSON.stringify(body),\n      },\n    );\n\n    if (!response.ok) {\n      const message = await formatFetchError(response);\n      spinner.fail(`Failed to update workflow: ${message}`);\n      process.exit(1);\n    }\n\n    const workflow = await response.json() as {\n      id: string;\n      name: string;\n      icon: string | null;\n      description: string | null;\n    };\n\n    spinner.succeed(`Workflow \"${workflow.name}\" updated`);\n\n    if (options.format === \"json\") {\n      console.log(JSON.stringify(workflow, null, 2));\n      return;\n    }\n\n    console.log();\n    console.log(`  ${chalk.gray(\"ID:\")}          ${chalk.green(workflow.id)}`);\n    console.log(`  ${chalk.gray(\"Name:\")}        ${chalk.cyan(workflow.name)}`);\n    console.log(`  ${chalk.gray(\"Icon:\")}        ${workflow.icon ?? chalk.gray(\"—\")}`);\n    console.log(`  ${chalk.gray(\"Description:\")} ${workflow.description ?? chalk.gray(\"—\")}`);\n    console.log();\n  } catch (error) {\n    failSpinner({ spinner, error, action: \"update workflow\" });\n    process.exit(1);\n  }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAOT,IAAM,wBAAwB,OACnC,IACA,YACkB;AAXpB;AAYE,cAAY;AAEZ,QAAM,UAAS,aAAQ,IAAI,sBAAZ,YAAiC;AAChD,QAAM,WAAW,uBAAuB;AAExC,QAAM,UAAU,IAAI,sBAAsB,EAAE,MAAM,EAAE,MAAM;AAE1D,MAAI;AACF,UAAM,OAA+B,CAAC;AACtC,QAAI,QAAQ,KAAM,MAAK,OAAO,QAAQ;AACtC,QAAI,QAAQ,KAAM,MAAK,OAAO,QAAQ;AACtC,QAAI,QAAQ,YAAa,MAAK,cAAc,QAAQ;AAEpD,QAAI,OAAO,KAAK,IAAI,EAAE,WAAW,GAAG;AAClC,cAAQ,KAAK,4DAA4D;AACzE,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,UAAM,WAAW,MAAM;AAAA,MACrB,GAAG,QAAQ,kBAAkB,mBAAmB,EAAE,CAAC;AAAA,MACnD;AAAA,QACE,QAAQ;AAAA,QACR,SAAS;AAAA,UACP,gBAAgB;AAAA,WACb,iBAAiB,EAAE,OAAO,CAAC;AAAA,QAEhC,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B;AAAA,IACF;AAEA,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,UAAU,MAAM,iBAAiB,QAAQ;AAC/C,cAAQ,KAAK,8BAA8B,OAAO,EAAE;AACpD,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,UAAM,WAAW,MAAM,SAAS,KAAK;AAOrC,YAAQ,QAAQ,aAAa,SAAS,IAAI,WAAW;AAErD,QAAI,QAAQ,WAAW,QAAQ;AAC7B,cAAQ,IAAI,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAC7C;AAAA,IACF;AAEA,YAAQ,IAAI;AACZ,YAAQ,IAAI,KAAK,MAAM,KAAK,KAAK,CAAC,aAAa,MAAM,MAAM,SAAS,EAAE,CAAC,EAAE;AACzE,YAAQ,IAAI,KAAK,MAAM,KAAK,OAAO,CAAC,WAAW,MAAM,KAAK,SAAS,IAAI,CAAC,EAAE;AAC1E,YAAQ,IAAI,KAAK,MAAM,KAAK,OAAO,CAAC,YAAW,cAAS,SAAT,YAAiB,MAAM,KAAK,QAAG,CAAC,EAAE;AACjF,YAAQ,IAAI,KAAK,MAAM,KAAK,cAAc,CAAC,KAAI,cAAS,gBAAT,YAAwB,MAAM,KAAK,QAAG,CAAC,EAAE;AACxF,YAAQ,IAAI;AAAA,EACd,SAAS,OAAO;AACd,gBAAY,EAAE,SAAS,OAAO,QAAQ,kBAAkB,CAAC;AACzD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":[]}