@unified-product-graph/mcp-server 0.6.1 → 0.6.2

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to `@unified-product-graph/mcp-server` are documented in this file. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
4
4
 
5
+ ## [0.6.2] - 2026-05-26
6
+
7
+ ### Fixed
8
+
9
+ - **Server failed to start when launched through a symlinked path** — which broke the primary install path `claude mcp add upg -- npx @unified-product-graph/mcp-server`, npx `.bin` shims, global installs, and macOS `/tmp`. The entrypoint guard compared `process.argv[1]` (literal invocation path) to `import.meta.url` (symlink-resolved by the ESM loader) as raw strings; when they diverged the server exited 0 with no output, which MCP clients report as "Failed to connect." The guard now compares realpaths. Added a regression test that spawns the built binary through a symlink.
10
+
11
+ ## [0.6.1] - 2026-05-26
12
+
13
+ ### Changed
14
+
15
+ - Metadata only: `UPG_VERSION` aligned to 0.6.1 and `repository` repointed to the public `unified-product-graph/tools` mirror. No runtime changes.
16
+
5
17
  ## [0.6.0] - 2026-05-22
6
18
 
7
19
  Aligned with `@unified-product-graph/core@0.6.0` launch train.
package/dist/index.js CHANGED
@@ -50098,6 +50098,7 @@ function createServer(store) {
50098
50098
  // src/index.ts
50099
50099
  import { nanoid } from "nanoid";
50100
50100
  import { fileURLToPath as fileURLToPath2 } from "url";
50101
+ import { realpathSync as realpathSync2 } from "fs";
50101
50102
  async function discoverUPGFile(explicitFile) {
50102
50103
  if (explicitFile) return path6.resolve(explicitFile);
50103
50104
  const cwd = process.cwd();
@@ -50270,8 +50271,15 @@ ${lines.join("\n")}
50270
50271
  process.on("SIGINT", shutdown);
50271
50272
  process.on("SIGTERM", shutdown);
50272
50273
  }
50273
- var isMainModule = process.argv[1] === fileURLToPath2(import.meta.url);
50274
- if (isMainModule) {
50274
+ function isEntrypoint() {
50275
+ if (!process.argv[1]) return false;
50276
+ try {
50277
+ return realpathSync2(process.argv[1]) === realpathSync2(fileURLToPath2(import.meta.url));
50278
+ } catch {
50279
+ return false;
50280
+ }
50281
+ }
50282
+ if (isEntrypoint()) {
50275
50283
  runMcpServer().catch((err) => {
50276
50284
  process.stderr.write(`Fatal: ${err}
50277
50285
  `);