{"version":3,"sources":["../src/cli/commands/dataset/get.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport ora from \"ora\";\nimport { checkApiKey } from \"../../utils/apiKey\";\nimport { formatTable, formatRelativeTime } from \"../../utils/formatting\";\nimport { createDatasetService } from \"./service-factory\";\nimport { handleDatasetCommandError } from \"./error-handler\";\n\n/**\n * Gets dataset details by slug or ID, showing metadata and a preview of records.\n */\nexport const getCommand = async (slugOrId: string, options?: { format?: string }): Promise<void> => {\n  checkApiKey();\n\n  const service = createDatasetService();\n  const spinner = ora(`Fetching dataset \"${slugOrId}\"...`).start();\n\n  try {\n    const dataset = await service.getDataset(slugOrId);\n\n    spinner.succeed(`Dataset: ${chalk.cyan(dataset.name)}`);\n\n    if (options?.format === \"json\") {\n      console.log(JSON.stringify(dataset, null, 2));\n      return;\n    }\n\n    console.log();\n    console.log(`  ${chalk.bold(\"Slug:\")}       ${dataset.slug}`);\n    console.log(`  ${chalk.bold(\"ID:\")}         ${dataset.id}`);\n\n    if (dataset.columnTypes.length > 0) {\n      const colStr = dataset.columnTypes\n        .map((c) => `${c.name}:${c.type}`)\n        .join(\", \");\n      console.log(`  ${chalk.bold(\"Columns:\")}    ${colStr}`);\n    }\n\n    console.log(`  ${chalk.bold(\"Records:\")}    ${dataset.entries.length}`);\n\n    if (dataset.createdAt) {\n      console.log(\n        `  ${chalk.bold(\"Created:\")}    ${formatRelativeTime(dataset.createdAt)}`,\n      );\n    }\n    if (dataset.updatedAt) {\n      console.log(\n        `  ${chalk.bold(\"Updated:\")}    ${formatRelativeTime(dataset.updatedAt)}`,\n      );\n    }\n    const viewUrl = dataset.platformUrl;\n    if (viewUrl) {\n      console.log(`  ${chalk.bold(\"View:\")}       ${chalk.underline(viewUrl)}`);\n    }\n\n    // Show a preview of the first 10 records\n    if (dataset.entries.length > 0) {\n      console.log();\n      console.log(chalk.bold(\"Preview (first 10 records):\"));\n\n      const previewEntries = dataset.entries.slice(0, 10);\n\n      // Collect all keys from entries\n      const allKeys = new Set<string>();\n      previewEntries.forEach((entry) => {\n        Object.keys(entry.entry).forEach((key) => allKeys.add(key));\n      });\n      const headers = Array.from(allKeys);\n\n      const tableData = previewEntries.map((entry) => {\n        const row: Record<string, string> = {};\n        headers.forEach((key) => {\n          const value = entry.entry[key];\n          row[key] =\n            value === null || value === undefined\n              ? \"\"\n              : typeof value === \"string\"\n                ? value.length > 50\n                  ? value.substring(0, 47) + \"...\"\n                  : value\n                : JSON.stringify(value).substring(0, 50);\n        });\n        return row;\n      });\n\n      formatTable({ data: tableData, headers });\n\n      if (dataset.entries.length > 10) {\n        console.log(\n          chalk.gray(\n            `  ... and ${dataset.entries.length - 10} more record(s)`,\n          ),\n        );\n      }\n    }\n  } catch (error) {\n    handleDatasetCommandError({ spinner, error, context: \"fetch dataset\" });\n  }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAST,IAAM,aAAa,OAAO,UAAkB,YAAiD;AAClG,cAAY;AAEZ,QAAM,UAAU,qBAAqB;AACrC,QAAM,UAAU,IAAI,qBAAqB,QAAQ,MAAM,EAAE,MAAM;AAE/D,MAAI;AACF,UAAM,UAAU,MAAM,QAAQ,WAAW,QAAQ;AAEjD,YAAQ,QAAQ,YAAY,MAAM,KAAK,QAAQ,IAAI,CAAC,EAAE;AAEtD,SAAI,mCAAS,YAAW,QAAQ;AAC9B,cAAQ,IAAI,KAAK,UAAU,SAAS,MAAM,CAAC,CAAC;AAC5C;AAAA,IACF;AAEA,YAAQ,IAAI;AACZ,YAAQ,IAAI,KAAK,MAAM,KAAK,OAAO,CAAC,UAAU,QAAQ,IAAI,EAAE;AAC5D,YAAQ,IAAI,KAAK,MAAM,KAAK,KAAK,CAAC,YAAY,QAAQ,EAAE,EAAE;AAE1D,QAAI,QAAQ,YAAY,SAAS,GAAG;AAClC,YAAM,SAAS,QAAQ,YACpB,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAChC,KAAK,IAAI;AACZ,cAAQ,IAAI,KAAK,MAAM,KAAK,UAAU,CAAC,OAAO,MAAM,EAAE;AAAA,IACxD;AAEA,YAAQ,IAAI,KAAK,MAAM,KAAK,UAAU,CAAC,OAAO,QAAQ,QAAQ,MAAM,EAAE;AAEtE,QAAI,QAAQ,WAAW;AACrB,cAAQ;AAAA,QACN,KAAK,MAAM,KAAK,UAAU,CAAC,OAAO,mBAAmB,QAAQ,SAAS,CAAC;AAAA,MACzE;AAAA,IACF;AACA,QAAI,QAAQ,WAAW;AACrB,cAAQ;AAAA,QACN,KAAK,MAAM,KAAK,UAAU,CAAC,OAAO,mBAAmB,QAAQ,SAAS,CAAC;AAAA,MACzE;AAAA,IACF;AACA,UAAM,UAAU,QAAQ;AACxB,QAAI,SAAS;AACX,cAAQ,IAAI,KAAK,MAAM,KAAK,OAAO,CAAC,UAAU,MAAM,UAAU,OAAO,CAAC,EAAE;AAAA,IAC1E;AAGA,QAAI,QAAQ,QAAQ,SAAS,GAAG;AAC9B,cAAQ,IAAI;AACZ,cAAQ,IAAI,MAAM,KAAK,6BAA6B,CAAC;AAErD,YAAM,iBAAiB,QAAQ,QAAQ,MAAM,GAAG,EAAE;AAGlD,YAAM,UAAU,oBAAI,IAAY;AAChC,qBAAe,QAAQ,CAAC,UAAU;AAChC,eAAO,KAAK,MAAM,KAAK,EAAE,QAAQ,CAAC,QAAQ,QAAQ,IAAI,GAAG,CAAC;AAAA,MAC5D,CAAC;AACD,YAAM,UAAU,MAAM,KAAK,OAAO;AAElC,YAAM,YAAY,eAAe,IAAI,CAAC,UAAU;AAC9C,cAAM,MAA8B,CAAC;AACrC,gBAAQ,QAAQ,CAAC,QAAQ;AACvB,gBAAM,QAAQ,MAAM,MAAM,GAAG;AAC7B,cAAI,GAAG,IACL,UAAU,QAAQ,UAAU,SACxB,KACA,OAAO,UAAU,WACf,MAAM,SAAS,KACb,MAAM,UAAU,GAAG,EAAE,IAAI,QACzB,QACF,KAAK,UAAU,KAAK,EAAE,UAAU,GAAG,EAAE;AAAA,QAC/C,CAAC;AACD,eAAO;AAAA,MACT,CAAC;AAED,kBAAY,EAAE,MAAM,WAAW,QAAQ,CAAC;AAExC,UAAI,QAAQ,QAAQ,SAAS,IAAI;AAC/B,gBAAQ;AAAA,UACN,MAAM;AAAA,YACJ,aAAa,QAAQ,QAAQ,SAAS,EAAE;AAAA,UAC1C;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,8BAA0B,EAAE,SAAS,OAAO,SAAS,gBAAgB,CAAC;AAAA,EACxE;AACF;","names":[]}