{"version":3,"sources":["../src/cli/commands/prompt/restore.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 promptRestoreCommand = async (\n  handle: string,\n  versionId: string,\n  options?: { format?: string }\n): Promise<void> => {\n  checkApiKey();\n\n  const apiKey = process.env.LANGWATCH_API_KEY ?? \"\";\n  const endpoint =\n    resolveControlPlaneUrl();\n\n  const spinner = ora(\n    `Restoring \"${handle}\" to version ${versionId}...`\n  ).start();\n\n  try {\n    const response = await fetch(\n      `${endpoint}/api/prompts/${encodeURIComponent(handle)}/versions/${encodeURIComponent(versionId)}/restore`,\n      {\n        method: \"POST\",\n        headers: {\n          \"Content-Type\": \"application/json\",\n          ...buildAuthHeaders({ apiKey }),\n        },\n      }\n    );\n\n    if (!response.ok) {\n      const message = await formatFetchError(response);\n      spinner.fail(`Failed to restore \"${handle}\" to ${versionId}: ${message}`);\n      process.exit(1);\n    }\n\n    const restored = (await response.json()) as {\n      id: string;\n      version: number;\n      commitMessage: string | null;\n    };\n\n    spinner.succeed(\n      `Restored \"${handle}\" — new version v${restored.version} created`\n    );\n\n    if (options?.format === \"json\") {\n      console.log(JSON.stringify(restored, null, 2));\n      return;\n    }\n\n    console.log();\n    console.log(\n      `  ${chalk.gray(\"New version:\")} ${chalk.cyan(`v${restored.version}`)}`\n    );\n    console.log(\n      `  ${chalk.gray(\"Message:\")}     ${restored.commitMessage ?? chalk.gray(\"—\")}`\n    );\n    console.log();\n  } catch (error) {\n    failSpinner({ spinner, error, action: \"restore prompt\" });\n    process.exit(1);\n  }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAOT,IAAM,uBAAuB,OAClC,QACA,WACA,YACkB;AAZpB;AAaE,cAAY;AAEZ,QAAM,UAAS,aAAQ,IAAI,sBAAZ,YAAiC;AAChD,QAAM,WACJ,uBAAuB;AAEzB,QAAM,UAAU;AAAA,IACd,cAAc,MAAM,gBAAgB,SAAS;AAAA,EAC/C,EAAE,MAAM;AAER,MAAI;AACF,UAAM,WAAW,MAAM;AAAA,MACrB,GAAG,QAAQ,gBAAgB,mBAAmB,MAAM,CAAC,aAAa,mBAAmB,SAAS,CAAC;AAAA,MAC/F;AAAA,QACE,QAAQ;AAAA,QACR,SAAS;AAAA,UACP,gBAAgB;AAAA,WACb,iBAAiB,EAAE,OAAO,CAAC;AAAA,MAElC;AAAA,IACF;AAEA,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,UAAU,MAAM,iBAAiB,QAAQ;AAC/C,cAAQ,KAAK,sBAAsB,MAAM,QAAQ,SAAS,KAAK,OAAO,EAAE;AACxE,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,UAAM,WAAY,MAAM,SAAS,KAAK;AAMtC,YAAQ;AAAA,MACN,aAAa,MAAM,yBAAoB,SAAS,OAAO;AAAA,IACzD;AAEA,SAAI,mCAAS,YAAW,QAAQ;AAC9B,cAAQ,IAAI,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAC7C;AAAA,IACF;AAEA,YAAQ,IAAI;AACZ,YAAQ;AAAA,MACN,KAAK,MAAM,KAAK,cAAc,CAAC,IAAI,MAAM,KAAK,IAAI,SAAS,OAAO,EAAE,CAAC;AAAA,IACvE;AACA,YAAQ;AAAA,MACN,KAAK,MAAM,KAAK,UAAU,CAAC,SAAQ,cAAS,kBAAT,YAA0B,MAAM,KAAK,QAAG,CAAC;AAAA,IAC9E;AACA,YAAQ,IAAI;AAAA,EACd,SAAS,OAAO;AACd,gBAAY,EAAE,SAAS,OAAO,QAAQ,iBAAiB,CAAC;AACxD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":[]}