{"version":3,"file":"status.mjs","names":[],"sources":["../../src/cli/status.ts"],"sourcesContent":["/**\n * Thin facade: the status/version resolution lives in services/status.ts.\n */\nexport * from \"../services/status\";\n\nimport { compareSemver } from \"../services/status\";\nimport { colors } from \"../utils/theme\";\n\n/** Outdated-framework warning, printed after the command's status probe. */\nexport async function warnIfOutdated(client: any, command: string): Promise<void> {\n  if (![\"dev\", \"build\", \"start\"].includes(command)) return;\n\n  try {\n    const status = await client.status();\n    if (status.status === \"error\" || !status.packages) return;\n\n    const frameworkPackages = [\"everything-dev\", \"every-plugin\"];\n\n    const linked = status.packages.filter((p: { isLinked?: boolean }) => p.isLinked);\n    const outdated = status.packages.filter(\n      (p: { name: string; installed?: string; latest?: string; isLinked?: boolean }) =>\n        !p.isLinked &&\n        p.installed &&\n        p.latest &&\n        compareSemver(p.installed, p.latest) < 0 &&\n        frameworkPackages.includes(p.name),\n    );\n\n    if (linked.length > 0) {\n      for (const pkg of linked) {\n        console.log(colors.dim(`    ${pkg.name} is linked locally (v${pkg.installed})`));\n      }\n    }\n\n    if (outdated.length === 0) return;\n\n    const warn = (line: string) => {\n      if (command === \"dev\" || command === \"start\") process.stderr.write(`${line}\\n`);\n      else console.log(line);\n    };\n    warn(\"\");\n    warn(colors.yellow(`  ! Outdated packages detected:`));\n    for (const pkg of outdated) {\n      warn(colors.dim(`    ${pkg.name}  ${pkg.installed} → ${pkg.latest}`));\n    }\n    warn(\n      colors.dim(\n        `    Run ${colors.cyan(\"bos upgrade\")} to update packages and sync template files.`,\n      ),\n    );\n    warn(\"\");\n  } catch {\n    // silently ignore if status check fails\n  }\n}\n"],"mappings":";;;;;AASA,eAAsB,eAAe,QAAa,SAAgC;CAChF,IAAI,CAAC;EAAC;EAAO;EAAS;CAAO,CAAC,CAAC,SAAS,OAAO,GAAG;CAElD,IAAI;EACF,MAAM,SAAS,MAAM,OAAO,OAAO;EACnC,IAAI,OAAO,WAAW,WAAW,CAAC,OAAO,UAAU;EAEnD,MAAM,oBAAoB,CAAC,kBAAkB,cAAc;EAE3D,MAAM,SAAS,OAAO,SAAS,QAAQ,MAA8B,EAAE,QAAQ;EAC/E,MAAM,WAAW,OAAO,SAAS,QAC9B,MACC,CAAC,EAAE,YACH,EAAE,aACF,EAAE,UACF,cAAc,EAAE,WAAW,EAAE,MAAM,IAAI,KACvC,kBAAkB,SAAS,EAAE,IAAI,CACrC;EAEA,IAAI,OAAO,SAAS,GAClB,KAAK,MAAM,OAAO,QAChB,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,KAAK,uBAAuB,IAAI,UAAU,EAAE,CAAC;EAInF,IAAI,SAAS,WAAW,GAAG;EAE3B,MAAM,QAAQ,SAAiB;GAC7B,IAAI,YAAY,SAAS,YAAY,SAAS,QAAQ,OAAO,MAAM,GAAG,KAAK,GAAG;QACzE,QAAQ,IAAI,IAAI;EACvB;EACA,KAAK,EAAE;EACP,KAAK,OAAO,OAAO,iCAAiC,CAAC;EACrD,KAAK,MAAM,OAAO,UAChB,KAAK,OAAO,IAAI,OAAO,IAAI,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,QAAQ,CAAC;EAEtE,KACE,OAAO,IACL,WAAW,OAAO,KAAK,aAAa,EAAE,6CACxC,CACF;EACA,KAAK,EAAE;CACT,QAAQ,CAER;AACF"}