@syke1/mcp-server 1.3.14 → 1.3.15

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.
@@ -2719,6 +2719,11 @@ async function loadProjectInfo() {
2719
2719
  }
2720
2720
  hideServerOffline();
2721
2721
  updateLicenseBadge(info.plan, info.expiresAt);
2722
+ // Bottom bar: version + update date
2723
+ const verEl = document.getElementById("bottom-version");
2724
+ const updEl = document.getElementById("bottom-updated");
2725
+ if (verEl && info.sykeVersion) verEl.textContent = "SYKE v" + info.sykeVersion;
2726
+ if (updEl) updEl.textContent = "Updated: " + new Date().toISOString().slice(0, 10);
2722
2727
  } catch (e) {
2723
2728
  console.warn("[SYKE] Failed to load project info:", e);
2724
2729
  // Don't immediately show offline — let health check handle it
@@ -296,6 +296,12 @@
296
296
  </div>
297
297
  </div>
298
298
 
299
+ <!-- Bottom status bar -->
300
+ <div id="bottom-bar">
301
+ <span id="bottom-version">SYKE v---</span>
302
+ <span id="bottom-updated">Updated: ---</span>
303
+ </div>
304
+
299
305
  <script src="app.js"></script>
300
306
  </body>
301
307
  </html>
@@ -2321,3 +2321,24 @@ main {
2321
2321
  font-size: 14px;
2322
2322
  opacity: 0.5;
2323
2323
  }
2324
+
2325
+ /* ── Bottom status bar ── */
2326
+ #bottom-bar {
2327
+ position: fixed;
2328
+ bottom: 0;
2329
+ left: 0;
2330
+ right: 380px;
2331
+ height: 28px;
2332
+ background: rgba(5, 10, 24, 0.85);
2333
+ border-top: 1px solid rgba(0, 212, 255, 0.1);
2334
+ display: flex;
2335
+ align-items: center;
2336
+ justify-content: space-between;
2337
+ padding: 0 16px;
2338
+ font-family: 'JetBrains Mono', monospace;
2339
+ font-size: 11px;
2340
+ color: rgba(160, 180, 210, 0.6);
2341
+ z-index: 50;
2342
+ backdrop-filter: blur(8px);
2343
+ }
2344
+ #bottom-bar span { letter-spacing: 0.5px; }
@@ -732,6 +732,13 @@ function createWebServer(getGraphFn, initialFileCache, switchProjectFn, getProje
732
732
  for (const deps of graph.forward.values())
733
733
  edgeCount += deps.length;
734
734
  const license = getLicenseStatus?.();
735
+ // Read SYKE version from package.json
736
+ let sykeVersion = "unknown";
737
+ try {
738
+ const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json"), "utf-8"));
739
+ sykeVersion = pkg.version || "unknown";
740
+ }
741
+ catch { }
735
742
  res.json({
736
743
  projectRoot: getProjectRoot ? getProjectRoot() : graph.projectRoot,
737
744
  packageName: getPackageName ? getPackageName() : "",
@@ -741,6 +748,7 @@ function createWebServer(getGraphFn, initialFileCache, switchProjectFn, getProje
741
748
  plan: license?.plan || "free",
742
749
  expiresAt: license?.expiresAt || null,
743
750
  freeFileLimit: 50,
751
+ sykeVersion,
744
752
  });
745
753
  });
746
754
  // GET /api/browse-dirs — List subdirectories for folder browser
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syke1/mcp-server",
3
- "version": "1.3.14",
3
+ "version": "1.3.15",
4
4
  "mcpName": "io.github.khalomsky/syke",
5
5
  "description": "AI code impact analysis MCP server — dependency graphs, cascade detection, and a mandatory build gate for AI coding agents",
6
6
  "main": "dist/index.js",