{"version":3,"sources":["../src/cli/commands/graphs/get.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 getGraphCommand = async (\n  id: 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(`Fetching graph \"${id}\"...`).start();\n\n  try {\n    const response = await fetch(`${endpoint}/api/graphs/${id}`, {\n      headers: buildAuthHeaders({ apiKey }),\n    });\n\n    if (!response.ok) {\n      const message = await formatFetchError(response);\n      spinner.fail(`Failed to fetch graph: ${message}`);\n      process.exit(1);\n    }\n\n    const graph = (await response.json()) as {\n      id: string;\n      name: string;\n      dashboardId: string | null;\n      graph: Record<string, unknown>;\n      filters: Record<string, unknown> | null;\n      gridColumn: number;\n      gridRow: number;\n      colSpan: number;\n      rowSpan: number;\n      createdAt: string;\n      updatedAt: string;\n    };\n\n    spinner.succeed(`Graph \"${graph.name}\"`);\n\n    if (options?.format === \"json\") {\n      console.log(JSON.stringify(graph, null, 2));\n      return;\n    }\n\n    console.log();\n    console.log(`  ${chalk.gray(\"ID:\")}        ${chalk.green(graph.id)}`);\n    console.log(`  ${chalk.gray(\"Name:\")}      ${chalk.cyan(graph.name)}`);\n    console.log(\n      `  ${chalk.gray(\"Dashboard:\")} ${graph.dashboardId ?? chalk.gray(\"—\")}`\n    );\n    console.log(\n      `  ${chalk.gray(\"Position:\")}  (${graph.gridColumn}, ${graph.gridRow})`\n    );\n    console.log(`  ${chalk.gray(\"Size:\")}      ${graph.colSpan}x${graph.rowSpan}`);\n    if (graph.graph) {\n      const graphType = typeof graph.graph.type === \"string\" ? graph.graph.type : \"custom\";\n      console.log(`  ${chalk.gray(\"Type:\")}      ${graphType}`);\n    }\n    console.log(\n      `  ${chalk.gray(\"Created:\")}   ${new Date(graph.createdAt).toLocaleString()}`\n    );\n    console.log();\n  } catch (error) {\n    failSpinner({ spinner, error, action: \"fetch graph\" });\n    process.exit(1);\n  }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAOT,IAAM,kBAAkB,OAC7B,IACA,YACkB;AAXpB;AAYE,cAAY;AAEZ,QAAM,UAAS,aAAQ,IAAI,sBAAZ,YAAiC;AAChD,QAAM,WACJ,uBAAuB;AAEzB,QAAM,UAAU,IAAI,mBAAmB,EAAE,MAAM,EAAE,MAAM;AAEvD,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,eAAe,EAAE,IAAI;AAAA,MAC3D,SAAS,iBAAiB,EAAE,OAAO,CAAC;AAAA,IACtC,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,UAAU,MAAM,iBAAiB,QAAQ;AAC/C,cAAQ,KAAK,0BAA0B,OAAO,EAAE;AAChD,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,UAAM,QAAS,MAAM,SAAS,KAAK;AAcnC,YAAQ,QAAQ,UAAU,MAAM,IAAI,GAAG;AAEvC,SAAI,mCAAS,YAAW,QAAQ;AAC9B,cAAQ,IAAI,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC;AAC1C;AAAA,IACF;AAEA,YAAQ,IAAI;AACZ,YAAQ,IAAI,KAAK,MAAM,KAAK,KAAK,CAAC,WAAW,MAAM,MAAM,MAAM,EAAE,CAAC,EAAE;AACpE,YAAQ,IAAI,KAAK,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,KAAK,MAAM,IAAI,CAAC,EAAE;AACrE,YAAQ;AAAA,MACN,KAAK,MAAM,KAAK,YAAY,CAAC,KAAI,WAAM,gBAAN,YAAqB,MAAM,KAAK,QAAG,CAAC;AAAA,IACvE;AACA,YAAQ;AAAA,MACN,KAAK,MAAM,KAAK,WAAW,CAAC,MAAM,MAAM,UAAU,KAAK,MAAM,OAAO;AAAA,IACtE;AACA,YAAQ,IAAI,KAAK,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,OAAO,IAAI,MAAM,OAAO,EAAE;AAC7E,QAAI,MAAM,OAAO;AACf,YAAM,YAAY,OAAO,MAAM,MAAM,SAAS,WAAW,MAAM,MAAM,OAAO;AAC5E,cAAQ,IAAI,KAAK,MAAM,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE;AAAA,IAC1D;AACA,YAAQ;AAAA,MACN,KAAK,MAAM,KAAK,UAAU,CAAC,MAAM,IAAI,KAAK,MAAM,SAAS,EAAE,eAAe,CAAC;AAAA,IAC7E;AACA,YAAQ,IAAI;AAAA,EACd,SAAS,OAAO;AACd,gBAAY,EAAE,SAAS,OAAO,QAAQ,cAAc,CAAC;AACrD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":[]}