@hegemonart/get-design-done 1.54.0 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1718,6 +1718,32 @@ var require_health_mirror = __commonJS({
1718
1718
  }
1719
1719
  checks.push({ name: "stack_addendums", status, detail });
1720
1720
  }
1721
+ {
1722
+ let status;
1723
+ let detail;
1724
+ try {
1725
+ const gddRoot = resolveDashboardRoot(rootDir);
1726
+ const binPresent = dashboardBinResolves(gddRoot);
1727
+ const dataPlaneOk = dashboardDataPlaneLoads(gddRoot);
1728
+ if (binPresent && dataPlaneOk) {
1729
+ status = "ok";
1730
+ detail = "dashboard: bin/gdd-dashboard present; data plane ok";
1731
+ } else {
1732
+ status = "warn";
1733
+ if (!binPresent && !dataPlaneOk) {
1734
+ detail = "dashboard: bin missing; data plane unavailable";
1735
+ } else if (!binPresent) {
1736
+ detail = "dashboard: bin missing";
1737
+ } else {
1738
+ detail = "dashboard: data plane unavailable";
1739
+ }
1740
+ }
1741
+ } catch {
1742
+ status = "warn";
1743
+ detail = "dashboard: unavailable";
1744
+ }
1745
+ checks.push({ name: "dashboard_reachable", status, detail });
1746
+ }
1721
1747
  return { checks };
1722
1748
  }
1723
1749
  function sessionStartWiresInject(rootDir) {
@@ -1772,6 +1798,50 @@ var require_health_mirror = __commonJS({
1772
1798
  return false;
1773
1799
  }
1774
1800
  }
1801
+ function findGddPackageRoot(startDir) {
1802
+ try {
1803
+ let dir = path.resolve(startDir);
1804
+ for (let i = 0; i < 12; i++) {
1805
+ try {
1806
+ const pkg = JSON.parse(fs.readFileSync(path.join(dir, "package.json"), "utf8"));
1807
+ if (pkg && typeof pkg.name === "string") {
1808
+ if (pkg.name === "get-design-done" || /\/get-design-done$/.test(pkg.name)) {
1809
+ return dir;
1810
+ }
1811
+ }
1812
+ } catch {
1813
+ }
1814
+ const parent = path.dirname(dir);
1815
+ if (parent === dir) break;
1816
+ dir = parent;
1817
+ }
1818
+ return null;
1819
+ } catch {
1820
+ return null;
1821
+ }
1822
+ }
1823
+ function resolveDashboardRoot(rootDir) {
1824
+ const fromRoot = findGddPackageRoot(rootDir);
1825
+ if (fromRoot) return fromRoot;
1826
+ return findGddPackageRoot(__dirname);
1827
+ }
1828
+ function dashboardBinResolves(gddRoot) {
1829
+ if (!gddRoot) return false;
1830
+ try {
1831
+ return fs.statSync(path.join(gddRoot, "bin", "gdd-dashboard")).isFile();
1832
+ } catch {
1833
+ return false;
1834
+ }
1835
+ }
1836
+ function dashboardDataPlaneLoads(gddRoot) {
1837
+ if (!gddRoot) return false;
1838
+ try {
1839
+ const mod = require(path.join(gddRoot, "sdk", "dashboard", "data", "source.cjs"));
1840
+ return !!(mod && typeof mod.loadDashboardModel === "function");
1841
+ } catch {
1842
+ return false;
1843
+ }
1844
+ }
1775
1845
  module2.exports = { getHealthChecks: getHealthChecks2 };
1776
1846
  }
1777
1847
  });