easyeda-mcp-pro 0.35.1 → 0.35.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/README.md CHANGED
@@ -129,8 +129,19 @@ The server connects to EasyEDA Pro via a WebSocket bridge extension, enabling re
129
129
 
130
130
  ## Prerequisites
131
131
 
132
- - **Node.js** >=24 <27 (required for the latest JavaScript features)
133
- - **pnpm** >=11 (for local development; the npm package is self-contained)
132
+ - **Node.js**: Node.js 24.x is required; repository automation is pinned to **24.18.0**.
133
+ - **pnpm**: local development and automation require exactly **11.5.1**.
134
+
135
+ Prepare the supported runtime before installing dependencies:
136
+
137
+ ```bash
138
+ nvm install 24.18.0
139
+ nvm use 24.18.0
140
+ corepack enable
141
+ corepack prepare pnpm@11.5.1 --activate
142
+ node scripts/check-runtime.mjs --require-pnpm
143
+ ```
144
+
134
145
  - **EasyEDA Pro** with the bundled bridge extension installed and running
135
146
  - For supplier integration: API credentials from JLCPCB, LCSC, Mouser, or DigiKey
136
147
 
@@ -770,8 +781,19 @@ qualified human review before purchase, fabrication, or assembly.
770
781
 
771
782
  ### Prerequisites
772
783
 
773
- - **Node.js** >=24 <27
774
- - **pnpm** >=11
784
+ - **Node.js**: Node.js 24.x is required; repository automation is pinned to **24.18.0**.
785
+ - **pnpm**: local development and automation require exactly **11.5.1**.
786
+
787
+ Prepare the supported runtime before installing dependencies:
788
+
789
+ ```bash
790
+ nvm install 24.18.0
791
+ nvm use 24.18.0
792
+ corepack enable
793
+ corepack prepare pnpm@11.5.1 --activate
794
+ node scripts/check-runtime.mjs --require-pnpm
795
+ ```
796
+
775
797
  - **Go Task** (optional, for Taskfile commands)
776
798
 
777
799
  ### Quick Start
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "node": {
4
+ "supportedMajor": 24,
5
+ "pinnedVersion": "24.18.0"
6
+ },
7
+ "pnpm": {
8
+ "pinnedVersion": "11.5.1"
9
+ }
10
+ }
@@ -1,3 +1,4 @@
1
+ export { evaluateNodeRuntime, evaluatePnpmRuntime } from '../runtime/policy.js';
1
2
  type CliCommand = 'server' | 'setup-local' | 'setup' | 'extension' | 'doctor' | 'help' | 'version' | 'init';
2
3
  export interface ParsedCliArgs {
3
4
  command: CliCommand;
@@ -34,11 +35,24 @@ export interface RemoteBackendDoctorStatus {
34
35
  httpAuthDisabled: boolean;
35
36
  warnings: string[];
36
37
  }
38
+ export interface UserServiceRuntimeStatus {
39
+ applicable: boolean;
40
+ installed: boolean;
41
+ unitPath: string;
42
+ execStart?: string;
43
+ nodePath?: string;
44
+ nodePathExists?: boolean;
45
+ nodeVersion?: string | null;
46
+ nodeSupported?: boolean;
47
+ issues: string[];
48
+ }
37
49
  export interface DoctorReport {
38
50
  setup: LocalSetupInfo;
39
51
  nodeVersion: string;
40
52
  nodeSupported: boolean;
41
53
  pnpmVersion: string | null;
54
+ pnpmSupported: boolean;
55
+ userServiceRuntime?: UserServiceRuntimeStatus;
42
56
  envValid: boolean;
43
57
  envIssues: string[];
44
58
  bridgeHost: string;
@@ -53,11 +67,18 @@ export interface DoctorReport {
53
67
  remoteBackend?: RemoteBackendDoctorStatus;
54
68
  }
55
69
  export declare function parseCliArgs(args: string[]): ParsedCliArgs;
56
- export declare function formatSetupLocalReport(setup?: LocalSetupInfo): string;
70
+ export declare function formatSetupLocalReport(setup?: LocalSetupInfo, nodeExecutablePath?: string): string;
71
+ export declare function pnpmExecutableForPlatform(platform: NodeJS.Platform): string;
72
+ export declare function inspectUserServiceRuntime(options?: {
73
+ platform?: NodeJS.Platform;
74
+ unitPath?: string;
75
+ unitText?: string | null;
76
+ executableExists?: (path: string) => boolean;
77
+ readNodeVersion?: (path: string) => Promise<string | null>;
78
+ }): Promise<UserServiceRuntimeStatus>;
57
79
  export declare function createDoctorReport(packageRoot?: string): Promise<DoctorReport>;
58
80
  export declare function formatDoctorReport(report: DoctorReport, options?: {
59
81
  fix?: boolean;
60
82
  }): string;
61
83
  export declare function formatHelp(): string;
62
84
  export declare function formatVersion(packageRoot?: string): string;
63
- export {};
@@ -1,4 +1,5 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
2
3
  import { connect as createConnection } from 'node:net';
3
4
  import { join } from 'node:path';
4
5
  import { fileURLToPath } from 'node:url';
@@ -8,6 +9,8 @@ import { ToolRegistry } from '../tools/registry.js';
8
9
  import { registerBuiltinTools } from '../tools/register.js';
9
10
  import { EnvSchema, getBridgePairingConfigIssue, getHttpSecurityConfigIssues, } from '../config/env.js';
10
11
  import { parsePortScanSpec } from '../bridge/manager.js';
12
+ import { evaluateNodeRuntime, evaluatePnpmRuntime, PINNED_NODE_VERSION, PINNED_PNPM_VERSION, } from '../runtime/policy.js';
13
+ export { evaluateNodeRuntime, evaluatePnpmRuntime } from '../runtime/policy.js';
11
14
  function remoteBackendStatusFromConfig(config) {
12
15
  if (!config)
13
16
  return undefined;
@@ -142,7 +145,7 @@ function getLocalSetupInfo(packageRoot = resolvePackageRoot()) {
142
145
  extensionPackageExists: existsSync(extensionPackagePath),
143
146
  };
144
147
  }
145
- export function formatSetupLocalReport(setup = getLocalSetupInfo()) {
148
+ export function formatSetupLocalReport(setup = getLocalSetupInfo(), nodeExecutablePath = process.execPath) {
146
149
  return [
147
150
  'easyeda-mcp-pro local setup',
148
151
  '',
@@ -154,7 +157,7 @@ export function formatSetupLocalReport(setup = getLocalSetupInfo()) {
154
157
  stringifyConfig({
155
158
  mcpServers: {
156
159
  'easyeda-mcp-pro': {
157
- command: 'node',
160
+ command: nodeExecutablePath,
158
161
  args: [setup.serverEntryPath],
159
162
  },
160
163
  },
@@ -174,10 +177,98 @@ export function formatSetupLocalReport(setup = getLocalSetupInfo()) {
174
177
  '1. Install or reload the EasyEDA extension package above.',
175
178
  '2. Add one MCP config block to your MCP client.',
176
179
  '3. Open an EasyEDA Pro project, then use MCP Bridge > Connect.',
177
- '4. Do not run node dist/index.js manually when your MCP client auto-starts it.',
180
+ `4. Rerun setup after replacing or moving this Node runtime: ${nodeExecutablePath}`,
178
181
  ].join('\n');
179
182
  }
180
183
  const execFileAsync = promisify(execFile);
184
+ export function pnpmExecutableForPlatform(platform) {
185
+ return platform === 'win32' ? 'pnpm.cmd' : 'pnpm';
186
+ }
187
+ function parseSystemdExecStart(unitText) {
188
+ const line = unitText
189
+ .split(/\r?\n/)
190
+ .map((entry) => entry.trim())
191
+ .find((entry) => entry.startsWith('ExecStart='));
192
+ if (!line)
193
+ return undefined;
194
+ return line.slice('ExecStart='.length).trim() || undefined;
195
+ }
196
+ function firstCommandToken(command) {
197
+ if (command.startsWith('"')) {
198
+ const end = command.indexOf('"', 1);
199
+ return end > 1 ? command.slice(1, end) : undefined;
200
+ }
201
+ return /^\S+/.exec(command)?.[0];
202
+ }
203
+ export async function inspectUserServiceRuntime(options = {}) {
204
+ const platform = options.platform ?? process.platform;
205
+ const unitPath = options.unitPath ??
206
+ join(process.env.XDG_CONFIG_HOME ?? join(homedir(), '.config'), 'systemd', 'user', 'easyeda-mcp-pro.service');
207
+ if (platform !== 'linux') {
208
+ return { applicable: false, installed: false, unitPath, issues: [] };
209
+ }
210
+ const installed = options.unitText !== undefined ? options.unitText !== null : existsSync(unitPath);
211
+ if (!installed)
212
+ return { applicable: true, installed: false, unitPath, issues: [] };
213
+ const unitText = options.unitText ?? readFileSync(unitPath, 'utf8');
214
+ const execStart = parseSystemdExecStart(unitText);
215
+ const issues = [];
216
+ if (!execStart) {
217
+ issues.push('User service has no ExecStart command.');
218
+ return { applicable: true, installed: true, unitPath, issues };
219
+ }
220
+ const nodePath = firstCommandToken(execStart);
221
+ if (!nodePath) {
222
+ issues.push('User service ExecStart command could not be parsed.');
223
+ return { applicable: true, installed: true, unitPath, execStart, issues };
224
+ }
225
+ const executableExists = options.executableExists ?? existsSync;
226
+ const nodePathExists = executableExists(nodePath);
227
+ if (!nodePathExists) {
228
+ issues.push(`ExecStart Node executable does not exist: ${nodePath}.`);
229
+ if (/^Restart=on-failure$/m.test(unitText)) {
230
+ issues.push('Restart=on-failure can turn this missing executable into a restart loop.');
231
+ }
232
+ return {
233
+ applicable: true,
234
+ installed: true,
235
+ unitPath,
236
+ execStart,
237
+ nodePath,
238
+ nodePathExists,
239
+ nodeVersion: null,
240
+ nodeSupported: false,
241
+ issues,
242
+ };
243
+ }
244
+ const readNodeVersion = options.readNodeVersion ??
245
+ (async (path) => {
246
+ try {
247
+ const { stdout } = await execFileAsync(path, ['--version']);
248
+ return stdout.trim().replace(/^v/, '');
249
+ }
250
+ catch {
251
+ return null;
252
+ }
253
+ });
254
+ const nodeVersion = await readNodeVersion(nodePath);
255
+ const nodeSupported = nodeVersion ? evaluateNodeRuntime(nodeVersion).supported : false;
256
+ if (!nodeVersion)
257
+ issues.push(`Unable to read Node.js version from ${nodePath}.`);
258
+ else if (!nodeSupported)
259
+ issues.push(`User service requires Node.js 24.x but ${nodePath} reports ${nodeVersion}.`);
260
+ return {
261
+ applicable: true,
262
+ installed: true,
263
+ unitPath,
264
+ execStart,
265
+ nodePath,
266
+ nodePathExists,
267
+ nodeVersion,
268
+ nodeSupported,
269
+ issues,
270
+ };
271
+ }
181
272
  export async function createDoctorReport(packageRoot = resolvePackageRoot()) {
182
273
  const setup = getLocalSetupInfo(packageRoot);
183
274
  const env = parseCliEnv();
@@ -192,12 +283,17 @@ export async function createDoctorReport(packageRoot = resolvePackageRoot()) {
192
283
  }
193
284
  let pnpmVersion = null;
194
285
  try {
195
- const { stdout } = await execFileAsync('pnpm', ['--version']);
286
+ const { stdout } = await execFileAsync(pnpmExecutableForPlatform(process.platform), [
287
+ '--version',
288
+ ]);
196
289
  pnpmVersion = stdout.trim();
197
290
  }
198
291
  catch {
199
292
  // Ignore if pnpm is not found
200
293
  }
294
+ const nodeEvaluation = evaluateNodeRuntime(process.versions.node);
295
+ const pnpmEvaluation = evaluatePnpmRuntime(pnpmVersion);
296
+ const userServiceRuntime = await inspectUserServiceRuntime();
201
297
  let toolCounts = undefined;
202
298
  if (env.config) {
203
299
  const registry = new ToolRegistry();
@@ -215,8 +311,10 @@ export async function createDoctorReport(packageRoot = resolvePackageRoot()) {
215
311
  return {
216
312
  setup,
217
313
  nodeVersion: process.versions.node,
218
- nodeSupported: isSupportedNodeVersion(process.versions.node),
314
+ nodeSupported: nodeEvaluation.supported,
219
315
  pnpmVersion,
316
+ pnpmSupported: pnpmEvaluation.supported,
317
+ userServiceRuntime,
220
318
  envValid: env.issues.length === 0,
221
319
  envIssues: env.issues,
222
320
  bridgeHost,
@@ -232,11 +330,15 @@ function buildSuggestedFixes(report) {
232
330
  const fixes = [];
233
331
  const reachable = report.bridgePorts.find((port) => port.reachable);
234
332
  if (!report.nodeSupported) {
235
- const major = Number(report.nodeVersion.split('.')[0]);
236
- fixes.push(`Node.js ${report.nodeVersion} is not supported (need >=24 <27, found major ${Number.isFinite(major) ? major : '?'}).`, ' Fix: nvm install 24 && nvm use 24 (or upgrade Node.js from https://nodejs.org)');
333
+ fixes.push(`Node.js ${report.nodeVersion} is not supported (required: 24.x; pinned: ${PINNED_NODE_VERSION}).`, ` Fix: nvm install ${PINNED_NODE_VERSION} && nvm use ${PINNED_NODE_VERSION} (or install the pinned Node.js runtime from https://nodejs.org)`);
334
+ }
335
+ if (!report.pnpmSupported) {
336
+ fixes.push(report.pnpmVersion
337
+ ? `pnpm ${report.pnpmVersion} is not supported (required: ${PINNED_PNPM_VERSION}).`
338
+ : 'pnpm was not found on PATH.', ' Fix: corepack enable', ` Fix: corepack prepare pnpm@${PINNED_PNPM_VERSION} --activate`);
237
339
  }
238
- if (!report.pnpmVersion) {
239
- fixes.push('pnpm was not found on PATH.', ' Fix: npm install -g pnpm (only needed for local development, not for npx usage)');
340
+ if (report.userServiceRuntime?.installed && report.userServiceRuntime.issues.length > 0) {
341
+ fixes.push(...report.userServiceRuntime.issues, ' Fix: systemctl --user disable --now easyeda-mcp-pro.service', ' Fix: Rerun your MCP client setup under the supported Node.js runtime; do not preserve a stale absolute ExecStart path.');
240
342
  }
241
343
  if (!report.envValid) {
242
344
  fixes.push('Environment configuration is invalid:');
@@ -292,14 +394,24 @@ export function formatDoctorReport(report, options) {
292
394
  const remoteBackendStr = report.remoteBackend
293
395
  ? `${report.remoteBackend.backend} / transport=${report.remoteBackend.transport} / session=${report.remoteBackend.remoteSessionConfigured ? 'configured' : 'per-request'} / oauth=${report.remoteBackend.oauthEnabled ? 'enabled' : 'disabled'}${report.remoteBackend.warnings.length ? ` / warnings=${report.remoteBackend.warnings.length}` : ''}`
294
396
  : 'Unknown remote backend configuration';
397
+ let pnpmStatus = 'MISSING';
398
+ if (report.pnpmVersion)
399
+ pnpmStatus = report.pnpmSupported ? 'OK' : 'UNSUPPORTED';
400
+ const pnpmVersionSuffix = report.pnpmVersion ? ` ${report.pnpmVersion}` : '';
295
401
  const lines = [
296
402
  'easyeda-mcp-pro doctor',
297
403
  '',
298
- `Node.js: ${status(report.nodeSupported)} ${report.nodeVersion} (supported: >=24 <27)`,
299
- `pnpm: ${report.pnpmVersion ? 'OK ' + report.pnpmVersion : 'MISSING'}`,
404
+ `Node.js: ${report.nodeSupported ? 'OK' : 'UNSUPPORTED'} ${report.nodeVersion} (required: 24.x; pinned: ${PINNED_NODE_VERSION})`,
405
+ `pnpm: ${pnpmStatus}${pnpmVersionSuffix} (required: ${PINNED_PNPM_VERSION})`,
300
406
  `Environment: ${status(report.envValid)}${report.envIssues.length ? ` ${report.envIssues.join('; ')}` : ''}`,
301
407
  `MCP server entry: ${status(report.setup.serverEntryExists)} ${report.setup.serverEntryPath}`,
302
408
  `EasyEDA extension package: ${status(report.setup.extensionPackageExists)} ${report.setup.extensionPackagePath}`,
409
+ ...(report.userServiceRuntime?.installed
410
+ ? [
411
+ `User service runtime: ${report.userServiceRuntime.issues.length === 0 ? 'OK' : 'BROKEN'} ${report.userServiceRuntime.nodePath ?? report.userServiceRuntime.execStart ?? report.userServiceRuntime.unitPath}`,
412
+ ...report.userServiceRuntime.issues.map((issue) => `User service warning: ${issue}`),
413
+ ]
414
+ : []),
303
415
  `Bridge server: ${reachable ? 'OK' : 'INFO'} ${bridgeStatus}`,
304
416
  `Remote backend: ${remoteBackendStr}`,
305
417
  ...(report.remoteBackend?.warnings.length
@@ -390,10 +502,6 @@ function readPackageInfo(packageRoot) {
390
502
  version: parsed.version ?? '0.0.0',
391
503
  };
392
504
  }
393
- function isSupportedNodeVersion(version) {
394
- const major = Number(version.split('.')[0]);
395
- return Number.isInteger(major) && major >= 24 && major < 27;
396
- }
397
505
  function status(ok) {
398
506
  return ok ? 'OK' : 'MISSING';
399
507
  }
@@ -1 +1 @@
1
- {"version":3,"file":"local-setup.js","sourceRoot":"","sources":["../../src/cli/local-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-setup.js","sourceRoot":"","sources":["../../src/cli/local-setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const SERVER_VERSION = "0.35.1";
1
+ export declare const SERVER_VERSION = "0.35.2";
@@ -1,2 +1,2 @@
1
- export const SERVER_VERSION = '0.35.1'; // x-release-please-version
1
+ export const SERVER_VERSION = '0.35.2'; // x-release-please-version
2
2
  //# sourceMappingURL=version.js.map
package/dist/index.js CHANGED
@@ -6,8 +6,11 @@ import { loadEnvConfig } from './config/env.js';
6
6
  import { createServer } from './server/factory.js';
7
7
  import { createHttpTransport } from './server/transports/http.js';
8
8
  import { RemoteGateway } from './remote/gateway.js';
9
+ import { assertSupportedNodeRuntime } from './runtime/policy.js';
9
10
  async function main() {
10
11
  const cli = parseCliArgs(process.argv.slice(2));
12
+ if (!['doctor', 'help', 'version'].includes(cli.command))
13
+ assertSupportedNodeRuntime();
11
14
  if (cli.command === 'init') {
12
15
  await runInteractiveInit();
13
16
  return;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,sBAAsB,EACtB,aAAa,EACb,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,0BAA0B,EAAE,CAAC;IAEvF,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,kBAAkB,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,WAAqC,EAAE,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,CAClG,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,sBAAsB,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,kBAAkB,CAAC,MAAM,kBAAkB,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAC9E,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,aAAa,GACjB,MAAM,CAAC,kBAAkB,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IAE/D,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,EAAE;YAChD,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,QAAQ,CAAC,mBAAmB;SAC5C,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;QACvC,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,SAAS,cAAc,CAAC,CAAC;IAEjF,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;QACtC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC1B,KAAK,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;QAC3B,KAAK,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;QACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -51,7 +51,7 @@ class RemoteDispatchTimeoutError extends Error {
51
51
  class RemoteSessionUnavailableError extends Error {
52
52
  sessionId;
53
53
  constructor(sessionId) {
54
- super(`Remote extension session ${sessionId} disconnected before dispatch.`);
54
+ super(`Remote extension session ${sessionId} became unavailable during dispatch.`);
55
55
  this.sessionId = sessionId;
56
56
  this.name = 'RemoteSessionUnavailableError';
57
57
  }
@@ -680,25 +680,36 @@ export class RemoteGateway {
680
680
  ...payload,
681
681
  }));
682
682
  };
683
+ const rejectPending = (error) => {
684
+ for (const handler of pending.values())
685
+ handler.reject(error);
686
+ pending.clear();
687
+ };
688
+ const disconnectCurrentSession = () => {
689
+ const currentSessionId = sessionId;
690
+ if (!currentSessionId)
691
+ return;
692
+ this.disconnect(currentSessionId);
693
+ rejectPending(new RemoteSessionUnavailableError(currentSessionId));
694
+ sessionId = undefined;
695
+ };
696
+ const messageMatchesCurrentSession = (messageSessionId) => {
697
+ if (messageSessionId === sessionId)
698
+ return true;
699
+ send({
700
+ type: 'error',
701
+ code: 'SESSION_MISMATCH',
702
+ message: 'Relay message sessionId does not match the active socket session.',
703
+ });
704
+ return false;
705
+ };
683
706
  const dispatch = async (request) => {
684
- if (ws.readyState !== ws.OPEN)
685
- throw new Error('Remote relay socket is closed.');
707
+ if (ws.readyState !== ws.OPEN) {
708
+ throw new RemoteSessionUnavailableError(request.sessionId);
709
+ }
686
710
  ws.send(JSON.stringify(request));
687
711
  return await new Promise((resolve, reject) => {
688
- const timeout = setTimeout(() => {
689
- pending.delete(request.messageId);
690
- reject(new Error('Remote extension did not respond before the deadline.'));
691
- }, request.deadlineMs ?? 30_000);
692
- pending.set(request.messageId, {
693
- resolve: (response) => {
694
- clearTimeout(timeout);
695
- resolve(response);
696
- },
697
- reject: (error) => {
698
- clearTimeout(timeout);
699
- reject(error);
700
- },
701
- });
712
+ pending.set(request.messageId, { resolve, reject });
702
713
  });
703
714
  };
704
715
  ws.on('message', (raw) => {
@@ -721,6 +732,7 @@ export class RemoteGateway {
721
732
  return;
722
733
  }
723
734
  if (message.data.type === 'register_session') {
735
+ disconnectCurrentSession();
724
736
  const session = this.registerExtension({
725
737
  connectionId,
726
738
  mode: message.data.mode,
@@ -760,6 +772,8 @@ export class RemoteGateway {
760
772
  return;
761
773
  }
762
774
  if (message.data.type === 'approval_result') {
775
+ if (!messageMatchesCurrentSession(message.data.sessionId))
776
+ return;
763
777
  const resolved = this.resolveApprovalFromExtension({
764
778
  sessionId,
765
779
  approvalId: message.data.approvalId,
@@ -775,24 +789,29 @@ export class RemoteGateway {
775
789
  return;
776
790
  }
777
791
  if (message.data.type === 'tool_response') {
792
+ if (!messageMatchesCurrentSession(message.data.sessionId))
793
+ return;
778
794
  const handler = pending.get(message.data.requestMessageId);
779
- if (handler) {
780
- pending.delete(message.data.requestMessageId);
781
- handler.resolve(message.data);
795
+ if (!handler) {
796
+ send({
797
+ type: 'error',
798
+ code: 'REQUEST_NOT_FOUND',
799
+ message: 'Tool response did not match an active relay request.',
800
+ });
801
+ return;
782
802
  }
803
+ pending.delete(message.data.requestMessageId);
804
+ handler.resolve(message.data);
783
805
  return;
784
806
  }
785
807
  if (message.data.type === 'session_closed') {
786
- this.disconnect(sessionId);
787
- sessionId = undefined;
808
+ if (!messageMatchesCurrentSession(message.data.sessionId))
809
+ return;
810
+ disconnectCurrentSession();
788
811
  }
789
812
  });
790
813
  ws.on('close', () => {
791
- if (sessionId)
792
- this.disconnect(sessionId);
793
- for (const handler of pending.values())
794
- handler.reject(new Error('Remote relay socket closed.'));
795
- pending.clear();
814
+ disconnectCurrentSession();
796
815
  });
797
816
  }
798
817
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/remote/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/remote/gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare const SUPPORTED_NODE_MAJOR = 24;
2
+ export declare const PINNED_NODE_VERSION = "24.18.0";
3
+ export declare const PINNED_PNPM_VERSION = "11.5.1";
4
+ export interface RuntimeVersionEvaluation {
5
+ version: string | null;
6
+ supported: boolean;
7
+ required: string;
8
+ pinned?: string;
9
+ }
10
+ export declare function evaluateNodeRuntime(version: string): RuntimeVersionEvaluation;
11
+ export declare function evaluatePnpmRuntime(version: string | null): RuntimeVersionEvaluation;
12
+ export declare function assertSupportedNodeRuntime(version?: string): void;
@@ -0,0 +1,32 @@
1
+ export const SUPPORTED_NODE_MAJOR = 24;
2
+ export const PINNED_NODE_VERSION = '24.18.0';
3
+ export const PINNED_PNPM_VERSION = '11.5.1';
4
+ function normalizeVersion(value) {
5
+ const match = value?.trim().match(/^v?(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/);
6
+ return match ? `${match[1]}.${match[2]}.${match[3]}` : null;
7
+ }
8
+ export function evaluateNodeRuntime(version) {
9
+ const normalized = normalizeVersion(version);
10
+ const major = normalized ? Number(normalized.split('.')[0]) : Number.NaN;
11
+ return {
12
+ version: normalized,
13
+ supported: Number.isInteger(major) && major === SUPPORTED_NODE_MAJOR,
14
+ required: `${SUPPORTED_NODE_MAJOR}.x`,
15
+ pinned: PINNED_NODE_VERSION,
16
+ };
17
+ }
18
+ export function evaluatePnpmRuntime(version) {
19
+ const normalized = normalizeVersion(version);
20
+ return {
21
+ version: normalized,
22
+ supported: normalized === PINNED_PNPM_VERSION,
23
+ required: PINNED_PNPM_VERSION,
24
+ };
25
+ }
26
+ export function assertSupportedNodeRuntime(version = process.versions.node) {
27
+ const result = evaluateNodeRuntime(version);
28
+ if (result.supported)
29
+ return;
30
+ throw new Error(`Unsupported Node.js ${version}. easyeda-mcp-pro requires Node.js ${result.required}. Install the pinned ${PINNED_NODE_VERSION} runtime and rerun the command.`);
31
+ }
32
+ //# sourceMappingURL=policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/runtime/policy.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAC7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAS5C,SAAS,gBAAgB,CAAC,KAAgC;IACxD,MAAM,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxE,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACzE,OAAO;QACL,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,oBAAoB;QACpE,QAAQ,EAAE,GAAG,oBAAoB,IAAI;QACrC,MAAM,EAAE,mBAAmB;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAsB;IACxD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO;QACL,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,UAAU,KAAK,mBAAmB;QAC7C,QAAQ,EAAE,mBAAmB;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI;IACxE,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO;IAC7B,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,sCAAsC,MAAM,CAAC,QAAQ,wBAAwB,mBAAmB,iCAAiC,CAChK,CAAC;AACJ,CAAC"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easyeda-mcp-pro",
3
- "version": "0.35.1",
3
+ "version": "0.35.2",
4
4
  "mcpName": "io.github.oaslananka/easyeda-mcp-pro",
5
5
  "description": "MCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.",
6
6
  "keywords": [
@@ -35,19 +35,21 @@
35
35
  "dist",
36
36
  "easyeda-bridge-extension.eext",
37
37
  "README.md",
38
- "LICENSE"
38
+ "LICENSE",
39
+ "config/runtime-policy.json",
40
+ "scripts/check-runtime.mjs"
39
41
  ],
40
42
  "packageManager": "pnpm@11.5.1",
41
43
  "engines": {
42
- "node": ">=24 <27",
43
- "pnpm": ">=11"
44
+ "node": ">=24 <25",
45
+ "pnpm": "11.5.1"
44
46
  },
45
47
  "scripts": {
46
48
  "dev": "tsx watch src/index.ts",
47
49
  "dev:extension": "pnpm --filter @easyeda-mcp-pro/bridge-extension build:watch",
48
50
  "dev:hotloop": "BRIDGE_HOT_SWAP_ENABLED=true BRIDGE_HOT_SWAP_WATCH=easyeda-bridge-extension/dist/dispatcher.js TOOL_PROFILE=dev tsx watch src/index.ts",
49
51
  "clean": "node scripts/clean.mjs",
50
- "prebuild": "node scripts/sync-versions.mjs",
52
+ "prebuild": "pnpm runtime:check && node scripts/sync-versions.mjs",
51
53
  "build": "pnpm clean && tsc -p tsconfig.build.json",
52
54
  "build:extension": "pnpm --filter @easyeda-mcp-pro/bridge-extension build",
53
55
  "setup:local": "pnpm build && pnpm build:extension && node dist/index.js --setup-local",
@@ -69,9 +71,11 @@
69
71
  "inspector": "pnpm build && npx @modelcontextprotocol/inspector node dist/index.js",
70
72
  "generate:methods": "tsx scripts/generate-method-registry.ts",
71
73
  "generate:tools-doc": "tsx scripts/generate-tools-doc.ts",
74
+ "generate:compatibility": "node scripts/generate-easyeda-compatibility.mjs",
75
+ "check:compatibility": "node scripts/generate-easyeda-compatibility.mjs --check",
72
76
  "verify:tool-coverage": "tsx scripts/verify-tool-coverage.mts",
73
77
  "docs:dev": "vitepress dev docs",
74
- "docs:build": "vitepress build docs",
78
+ "docs:build": "pnpm check:compatibility && vitepress build docs",
75
79
  "docs:preview": "vitepress preview docs",
76
80
  "check:metadata": "node scripts/check-metadata.mjs",
77
81
  "inventory:capture": "tsx scripts/capture-runtime-inventory.mts",
@@ -90,7 +94,20 @@
90
94
  "test:extension:ci": "node -e \"require('node:fs').mkdirSync('reports',{recursive:true})\" && pnpm --filter @easyeda-mcp-pro/bridge-extension exec vitest run --coverage --reporter=default --reporter=junit --outputFile.junit=../reports/extension.junit.xml",
91
95
  "check:extension-size": "node scripts/check-extension-size-budget.mjs",
92
96
  "validate:codecov": "curl --fail-with-body --silent --show-error --retry 3 --retry-all-errors --data-binary @codecov.yml https://codecov.io/validate",
93
- "analyze:extension-bundle:ci": "bundle-analyzer easyeda-bridge-extension/dist --bundle-name=easyeda-bridge-extension --upload-token=$CODECOV_TOKEN --ignore-patterns='*.map' --ignore-patterns='*.json'"
97
+ "analyze:extension-bundle:ci": "bundle-analyzer easyeda-bridge-extension/dist --bundle-name=easyeda-bridge-extension --upload-token=$CODECOV_TOKEN --ignore-patterns='*.map' --ignore-patterns='*.json'",
98
+ "runtime:check": "node scripts/check-runtime.mjs --require-pnpm",
99
+ "preverify": "pnpm runtime:check",
100
+ "prepack": "pnpm runtime:check",
101
+ "pretest": "pnpm runtime:check",
102
+ "pretest:extension": "pnpm runtime:check",
103
+ "predev": "pnpm runtime:check",
104
+ "predev:extension": "pnpm runtime:check",
105
+ "predev:hotloop": "pnpm runtime:check",
106
+ "presetup:local": "pnpm runtime:check",
107
+ "pretest:watch": "pnpm runtime:check",
108
+ "pretest:coverage": "pnpm runtime:check",
109
+ "pretest:coverage:ci": "pnpm runtime:check",
110
+ "pretest:extension:ci": "pnpm runtime:check"
94
111
  },
95
112
  "dependencies": {
96
113
  "@modelcontextprotocol/sdk": "^1.29.0",
@@ -0,0 +1,100 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { execFileSync } from 'node:child_process';
4
+ import { readFileSync } from 'node:fs';
5
+ import { dirname, resolve } from 'node:path';
6
+ import { fileURLToPath } from 'node:url';
7
+
8
+ const repoRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..');
9
+ const policy = JSON.parse(readFileSync(resolve(repoRoot, 'config/runtime-policy.json'), 'utf8'));
10
+
11
+ export function normalizeVersion(value) {
12
+ const match = /^v?(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/.exec(String(value ?? '').trim());
13
+ return match ? `${match[1]}.${match[2]}.${match[3]}` : null;
14
+ }
15
+
16
+ export function evaluateNodeVersion(value) {
17
+ const normalized = normalizeVersion(value);
18
+ const major = normalized ? Number(normalized.split('.')[0]) : Number.NaN;
19
+ return {
20
+ version: normalized,
21
+ supported: Number.isInteger(major) && major === policy.node.supportedMajor,
22
+ required: `${policy.node.supportedMajor}.x`,
23
+ pinned: policy.node.pinnedVersion,
24
+ };
25
+ }
26
+
27
+ export function evaluatePnpmVersion(value) {
28
+ const normalized = normalizeVersion(value);
29
+ return {
30
+ version: normalized,
31
+ supported: normalized === policy.pnpm.pinnedVersion,
32
+ required: policy.pnpm.pinnedVersion,
33
+ };
34
+ }
35
+
36
+ function optionValue(name) {
37
+ const index = process.argv.indexOf(name);
38
+ return index === -1 ? undefined : process.argv[index + 1];
39
+ }
40
+
41
+ function detectPnpmVersion() {
42
+ const override = optionValue('--pnpm-version');
43
+ if (override !== undefined) return override;
44
+
45
+ const userAgent = process.env.npm_config_user_agent ?? '';
46
+ const match = /(?:^|\s)pnpm\/([^\s]+)/.exec(userAgent);
47
+ if (match?.[1]) return match[1];
48
+
49
+ try {
50
+ return execFileSync(process.platform === 'win32' ? 'pnpm.cmd' : 'pnpm', ['--version'], {
51
+ encoding: 'utf8',
52
+ stdio: ['ignore', 'pipe', 'ignore'],
53
+ env: { ...process.env, EASYEDA_MCP_RUNTIME_CHECK_ACTIVE: '1' },
54
+ }).trim();
55
+ } catch {
56
+ return null;
57
+ }
58
+ }
59
+
60
+ export function validateRuntime({ nodeVersion, pnpmVersion, requirePnpm }) {
61
+ const errors = [];
62
+ const node = evaluateNodeVersion(nodeVersion);
63
+ if (!node.supported) {
64
+ errors.push(
65
+ `Unsupported Node.js ${nodeVersion || '(missing)'}. easyeda-mcp-pro repository automation requires Node.js ${node.required}; use the pinned ${node.pinned}.`,
66
+ );
67
+ }
68
+
69
+ const pnpm = evaluatePnpmVersion(pnpmVersion);
70
+ if (requirePnpm && !pnpm.supported) {
71
+ errors.push(
72
+ pnpm.version
73
+ ? `Unsupported pnpm ${pnpm.version}. This repository requires pnpm ${pnpm.required}.`
74
+ : `pnpm was not found. This repository requires pnpm ${pnpm.required}.`,
75
+ );
76
+ }
77
+ return { ok: errors.length === 0, errors, node, pnpm };
78
+ }
79
+
80
+ function main() {
81
+ const nodeVersion = optionValue('--node-version') ?? process.versions.node;
82
+ const requirePnpm =
83
+ process.argv.includes('--require-pnpm') && !process.argv.includes('--node-only');
84
+ const pnpmVersion = requirePnpm ? detectPnpmVersion() : null;
85
+ const result = validateRuntime({ nodeVersion, pnpmVersion, requirePnpm });
86
+
87
+ if (!result.ok) {
88
+ for (const error of result.errors) console.error(`Runtime preflight failed: ${error}`);
89
+ console.error(`Recovery: install Node.js ${policy.node.pinnedVersion}, then run:`);
90
+ console.error(' corepack enable');
91
+ console.error(` corepack prepare pnpm@${policy.pnpm.pinnedVersion} --activate`);
92
+ process.exitCode = 1;
93
+ return;
94
+ }
95
+
96
+ const pnpmSummary = requirePnpm ? `; pnpm ${result.pnpm.version}` : '';
97
+ console.log(`Runtime preflight passed: Node.js ${result.node.version}${pnpmSummary}.`);
98
+ }
99
+
100
+ if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.url)) main();