{"version":3,"file":"db.mjs","names":[],"sources":["../../../src/cli/commands/db.ts"],"sourcesContent":["import { colors } from \"../../utils/theme\";\nimport { exitCodeFor } from \"../exit-codes\";\nimport type { ResultRenderer } from \"./context\";\n\nexport const dbRenderers: Record<string, ResultRenderer> = {\n  dbStudio: async (result, _ctx) => {\n    if (exitCodeFor(result) === 1) {\n      console.error(`[CLI] ${result.error || \"Unknown error\"}`);\n      process.exit(1);\n    }\n\n    return;\n  },\n\n  dbDoctor: async (result, _ctx) => {\n    if (exitCodeFor(result) === 1) {\n      console.error(`[CLI] ${result.error || \"Diagnosis failed\"}`);\n      process.exit(1);\n    }\n\n    const statusIcon = (() => {\n      switch (result.diagnosis) {\n        case \"healthy\":\n          return \"✓\";\n        case \"empty\":\n          return \"○\";\n        case \"unapplied\":\n          return \"○\";\n        case \"untracked-existing-schema\":\n          return \"○\";\n        case \"drift-safe-repair\":\n          return \"⚠\";\n        case \"drift-manual\":\n          return \"✗\";\n        default:\n          return \"?\";\n      }\n    })();\n\n    console.log(`\\n${statusIcon}  ${result.plugin}`);\n    console.log(`  ${colors.dim(`Journal:`)} ${result.journalSchema}.${result.journalTable}`);\n    console.log(`  ${colors.dim(`Local migrations:`)} ${result.localMigrationCount}`);\n    console.log(`  ${colors.dim(`Applied hashes:`)} ${result.appliedHashCount}`);\n    if (result.expectedTables.length > 0) {\n      console.log(`  ${colors.dim(`Expected tables:`)} ${result.expectedTables.join(\", \")}`);\n    }\n    if (result.missingTables.length > 0) {\n      console.log(`  ${colors.yellow(`Missing tables:`)} ${result.missingTables.join(\", \")}`);\n    }\n    console.log(`  ${colors.dim(`Diagnosis:`)} ${result.diagnosis}`);\n    if (result.workspaceDir) {\n      console.log(`  ${colors.dim(`Workspace:`)} ${result.workspaceDir}`);\n    }\n    console.log();\n    return;\n  },\n\n  dbRepair: async (result, _ctx) => {\n    if (result.status === \"refused\") {\n      console.log(\n        `\\n${colors.yellow(\"!\")}  Repair refused for ${result.diagnosis?.plugin ?? result.message}`,\n      );\n      console.log(`  ${result.message}`);\n      console.log();\n      process.exit(0);\n    }\n\n    if (exitCodeFor(result) === 1) {\n      console.error(`\\n${colors.error(\"✗\")}  Repair failed`);\n      console.error(`  ${result.message}`);\n      console.error();\n      process.exit(1);\n    }\n\n    console.log(`\\n${colors.green(\"✓\")}  Repair complete`);\n    console.log(`  ${result.message}`);\n    console.log();\n    return;\n  },\n};\n"],"mappings":";;;;AAIA,MAAa,cAA8C;CACzD,UAAU,OAAO,QAAQ,SAAS;EAChC,IAAI,YAAY,MAAM,MAAM,GAAG;GAC7B,QAAQ,MAAM,SAAS,OAAO,SAAS,iBAAiB;GACxD,QAAQ,KAAK,CAAC;EAChB;CAGF;CAEA,UAAU,OAAO,QAAQ,SAAS;EAChC,IAAI,YAAY,MAAM,MAAM,GAAG;GAC7B,QAAQ,MAAM,SAAS,OAAO,SAAS,oBAAoB;GAC3D,QAAQ,KAAK,CAAC;EAChB;EAEA,MAAM,oBAAoB;GACxB,QAAQ,OAAO,WAAf;IACE,KAAK,WACH,OAAO;IACT,KAAK,SACH,OAAO;IACT,KAAK,aACH,OAAO;IACT,KAAK,6BACH,OAAO;IACT,KAAK,qBACH,OAAO;IACT,KAAK,gBACH,OAAO;IACT,SACE,OAAO;GACX;EACF,EAAC,CAAE;EAEH,QAAQ,IAAI,KAAK,WAAW,IAAI,OAAO,QAAQ;EAC/C,QAAQ,IAAI,KAAK,OAAO,IAAI,UAAU,EAAE,GAAG,OAAO,cAAc,GAAG,OAAO,cAAc;EACxF,QAAQ,IAAI,KAAK,OAAO,IAAI,mBAAmB,EAAE,GAAG,OAAO,qBAAqB;EAChF,QAAQ,IAAI,KAAK,OAAO,IAAI,iBAAiB,EAAE,GAAG,OAAO,kBAAkB;EAC3E,IAAI,OAAO,eAAe,SAAS,GACjC,QAAQ,IAAI,KAAK,OAAO,IAAI,kBAAkB,EAAE,GAAG,OAAO,eAAe,KAAK,IAAI,GAAG;EAEvF,IAAI,OAAO,cAAc,SAAS,GAChC,QAAQ,IAAI,KAAK,OAAO,OAAO,iBAAiB,EAAE,GAAG,OAAO,cAAc,KAAK,IAAI,GAAG;EAExF,QAAQ,IAAI,KAAK,OAAO,IAAI,YAAY,EAAE,GAAG,OAAO,WAAW;EAC/D,IAAI,OAAO,cACT,QAAQ,IAAI,KAAK,OAAO,IAAI,YAAY,EAAE,GAAG,OAAO,cAAc;EAEpE,QAAQ,IAAI;CAEd;CAEA,UAAU,OAAO,QAAQ,SAAS;EAChC,IAAI,OAAO,WAAW,WAAW;GAC/B,QAAQ,IACN,KAAK,OAAO,OAAO,GAAG,EAAE,uBAAuB,OAAO,WAAW,UAAU,OAAO,SACpF;GACA,QAAQ,IAAI,KAAK,OAAO,SAAS;GACjC,QAAQ,IAAI;GACZ,QAAQ,KAAK,CAAC;EAChB;EAEA,IAAI,YAAY,MAAM,MAAM,GAAG;GAC7B,QAAQ,MAAM,KAAK,OAAO,MAAM,GAAG,EAAE,gBAAgB;GACrD,QAAQ,MAAM,KAAK,OAAO,SAAS;GACnC,QAAQ,MAAM;GACd,QAAQ,KAAK,CAAC;EAChB;EAEA,QAAQ,IAAI,KAAK,OAAO,MAAM,GAAG,EAAE,kBAAkB;EACrD,QAAQ,IAAI,KAAK,OAAO,SAAS;EACjC,QAAQ,IAAI;CAEd;AACF"}