easyeda-mcp-pro 0.34.2 → 0.34.4

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
@@ -434,6 +434,8 @@ This checks:
434
434
 
435
435
  Copy `.env.example` to `.env` and edit. All variables have safe defaults — only configure what you need.
436
436
 
437
+ Boolean environment variables use strict literals: `true` / `1` enable a setting and `false` / `0` disable it. Matching is case-insensitive and surrounding whitespace is ignored. Other values—including `yes`, `no`, `on`, `off`, `enabled`, `disabled`, empty strings, and misspellings—fail startup validation and report the offending variable. Leave a variable unset to use its documented default.
438
+
437
439
  ### Essential
438
440
 
439
441
  | Variable | Default | Description |
@@ -504,15 +506,16 @@ When using `TRANSPORT=http`:
504
506
 
505
507
  | Variable | Default | Description |
506
508
  | --------------------- | ----------- | -------------------------------------------------- |
507
- | `HTTP_HOST` | `127.0.0.1` | Bind address (use `0.0.0.0` with caution) |
509
+ | `HTTP_HOST` | `127.0.0.1` | Bind address; non-loopback requires OAuth |
508
510
  | `HTTP_PORT` | `3000` | Port |
509
511
  | `HTTP_AUTH_DISABLED` | `false` | Disable HTTP auth for non-production loopback only |
510
512
  | `HTTP_RATE_LIMIT_MAX` | `100` | Max requests per minute per IP |
511
- | `CORS_ORIGIN` | `''` | Allowed CORS origin |
513
+ | `CORS_ORIGIN` | `''` | Legacy allowed origin for loopback browser clients |
514
+ | `ALLOWED_ORIGINS` | `''` | Explicit remote origin allowlist; `*` is rejected |
512
515
 
513
- #### Production HTTP Security
516
+ #### Remote HTTP Security
514
517
 
515
- For remote HTTP deployments, OAuth 2.0 / OpenID Connect is strongly recommended:
518
+ Every non-loopback HTTP deployment requires OAuth 2.0 / OpenID Connect authentication, regardless of `NODE_ENV`:
516
519
 
517
520
  | Variable | Default | Description |
518
521
  | ----------------------- | ----------------- | -------------------------------------------- |
@@ -524,11 +527,11 @@ For remote HTTP deployments, OAuth 2.0 / OpenID Connect is strongly recommended:
524
527
 
525
528
  When `OAUTH_ENABLED=true`, every request to `/mcp` must include an `Authorization: Bearer <token>` header unless `HTTP_AUTH_DISABLED=true` is explicitly set for non-production loopback development. Tokens are verified against `OAUTH_JWKS_URI`, `iss`/`aud` claims are validated, and `OAUTH_REQUIRED_SCOPES` is enforced against `scope`, `scp`, `permissions`, or `roles` claims.
526
529
 
527
- The server enforces startup safety checks: **non-loopback `HTTP_HOST` without OAuth is rejected**, and `HTTP_AUTH_DISABLED=true` is rejected outside non-production loopback deployments.
530
+ The server enforces startup safety checks in every environment: **non-loopback `HTTP_HOST` without OAuth is rejected**, `OAUTH_JWKS_URI` / `OAUTH_ISSUER` / `OAUTH_AUDIENCE` are required, wildcard `ALLOWED_ORIGINS=*` is rejected, and `HTTP_AUTH_DISABLED=true` remains limited to non-production loopback development. Requests without an `Origin` header still require a valid bearer token on authenticated deployments; CORS is not an authentication boundary.
528
531
 
529
532
  ### Docker defaults
530
533
 
531
- The Docker image starts in HTTP mode with `HTTP_HOST=127.0.0.1` so the default container boot path is safe and passes the same startup safety checks as local HTTP mode. For an externally reachable container, override the bind address and configure OAuth plus an explicit origin allowlist:
534
+ The Docker image starts in HTTP mode with `HTTP_HOST=127.0.0.1` so the default container boot path is safe and passes the same startup safety checks as local HTTP mode. For an externally reachable container, override the bind address and configure OAuth plus an explicit, non-wildcard origin allowlist:
532
535
 
533
536
  ```bash
534
537
  docker run --rm \
@@ -542,7 +545,7 @@ docker run --rm \
542
545
  ghcr.io/oaslananka/easyeda-mcp-pro:latest
543
546
  ```
544
547
 
545
- Do not expose non-loopback HTTP without OAuth. Use a reverse proxy or platform gateway for TLS termination and external access.
548
+ Do not expose non-loopback HTTP without OAuth. `ALLOWED_ORIGINS` restricts browsers but never replaces authentication. Use a reverse proxy or platform gateway for TLS termination and external access.
546
549
 
547
550
  #### HTTP Security Features
548
551
 
@@ -863,7 +866,7 @@ easyeda-bridge-extension/ # EasyEDA Pro bridge extension workspace package
863
866
 
864
867
  See [Security Architecture & Threat Model](docs/security-architecture.md) for the complete security reference, including deployment modes, authentication, tool safety controls, secrets management, safe defaults, supplier API security, threat scenarios, and deployment checklists.
865
868
 
866
- - **Production safety**: Validates config at startup — rejects non-loopback HTTP without OAuth, blocks dangerous features in production
869
+ - **Network safety**: Validates config at startup in every environment — rejects non-loopback HTTP without complete OAuth and an explicit non-wildcard origin allowlist
867
870
  - **OAuth/JWKS**: Bearer token validation via JWKS endpoint for HTTP transport (see [OAuth section](docs/security-architecture.md#21-oauth-20--openid-connect-http-transport))
868
871
  - **Rate limiting**: Per-IP sliding window rate limiter on HTTP transport (default 100 req/min)
869
872
  - **Path traversal protection**: All file export paths validated against `ARTIFACT_DIR`
@@ -357,14 +357,67 @@ export class CdpBridgeManager extends EventEmitter {
357
357
  return `async () => {}`.replace('async () => {}', `
358
358
  (async () => {
359
359
  ${this.runtimePrelude()}
360
- const currentPage = await callFirst(['DMT_Schematic.getCurrentSchematicPageInfo','dmt_Schematic.getCurrentSchematicPageInfo']);
361
- let pages = [];
362
- try {
363
- pages = await callFirst(['DMT_Schematic.getCurrentSchematicAllSchematicPagesInfo','DMT_Schematic.getAllSchematicPagesInfo','dmt_Schematic.getCurrentSchematicAllSchematicPagesInfo','dmt_Schematic.getAllSchematicPagesInfo']);
364
- } catch (error) {
365
- pages = { warning: String(error && error.message || error) };
360
+ const attempts = [];
361
+ const asRecord = (value) => value && typeof value === 'object' && !Array.isArray(value) && Object.keys(value).length > 0 ? value : undefined;
362
+ const asRecordArray = (value) => Array.isArray(value) ? value.filter((item) => item && typeof item === 'object' && !Array.isArray(item)) : [];
363
+ const tryCall = async (stage, paths, ...args) => {
364
+ try {
365
+ const value = await callFirst(paths, ...args);
366
+ const meaningful = Array.isArray(value) ? value.length > 0 : Boolean(asRecord(value)) || (value !== null && value !== undefined);
367
+ attempts.push({ stage, status: meaningful ? 'value' : 'empty' });
368
+ return value;
369
+ } catch (error) {
370
+ attempts.push({ stage, status: 'unavailable', error: String(error && error.message || error) });
371
+ return undefined;
372
+ }
373
+ };
374
+
375
+ let source;
376
+ let currentPage = asRecord(await tryCall('current_page', ['DMT_Schematic.getCurrentSchematicPageInfo','dmt_Schematic.getCurrentSchematicPageInfo']));
377
+ if (currentPage) source = 'current_page';
378
+
379
+ let pages = asRecordArray(await tryCall('current_page_list', ['DMT_Schematic.getCurrentSchematicAllSchematicPagesInfo','dmt_Schematic.getCurrentSchematicAllSchematicPagesInfo']));
380
+ if (pages.length === 0) {
381
+ pages = asRecordArray(await tryCall('all_page_list', ['DMT_Schematic.getAllSchematicPagesInfo','dmt_Schematic.getAllSchematicPagesInfo']));
382
+ }
383
+
384
+ const focusedDocument = asRecord(await tryCall('focused_document', ['DMT_SelectControl.getCurrentDocumentInfo','dmt_SelectControl.getCurrentDocumentInfo']));
385
+ const focusedPageUuid = typeof focusedDocument?.uuid === 'string' && focusedDocument.uuid.trim() ? focusedDocument.uuid : undefined;
386
+ let currentSchematic;
387
+ if (!currentPage || pages.length === 0) {
388
+ currentSchematic = asRecord(await tryCall('current_schematic', ['DMT_Schematic.getCurrentSchematicInfo','dmt_Schematic.getCurrentSchematicInfo']));
389
+ }
390
+
391
+ if (!currentPage && focusedPageUuid) {
392
+ currentPage = asRecord(await tryCall('focused_document_page', ['DMT_Schematic.getSchematicPageInfo','dmt_Schematic.getSchematicPageInfo'], focusedPageUuid));
393
+ if (currentPage) source = 'focused_document';
394
+ }
395
+
396
+ const schematicPages = asRecordArray(currentSchematic?.page);
397
+ if (pages.length === 0 && schematicPages.length > 0) pages = schematicPages;
398
+ if (!currentPage && focusedPageUuid && pages.length > 0) {
399
+ currentPage = pages.find((page) => page.uuid === focusedPageUuid);
400
+ if (currentPage) source = 'focused_document';
401
+ }
402
+ if (!currentPage && pages.length === 1 && currentSchematic) {
403
+ currentPage = pages[0];
404
+ source = 'current_schematic_page_list';
405
+ }
406
+
407
+ const diagnostics = {
408
+ stage: 'focused_sheet_resolution',
409
+ currentPageAvailable: Boolean(currentPage),
410
+ pageListAvailable: pages.length > 0,
411
+ focusedDocumentAvailable: Boolean(focusedDocument),
412
+ attempts,
413
+ };
414
+ if (!currentPage) {
415
+ const error = new Error('EasyEDA did not expose metadata for the focused schematic page.');
416
+ error.code = 'SHEET_INFO_UNAVAILABLE';
417
+ error.data = diagnostics;
418
+ throw error;
366
419
  }
367
- return { currentPage, pages };
420
+ return { currentPage, pages, source, focusedDocument, diagnostics };
368
421
  })()
369
422
  `);
370
423
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-manager.js","sourceRoot":"","sources":["../../src/bridge/cdp-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdp-manager.js","sourceRoot":"","sources":["../../src/bridge/cdp-manager.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,6 @@ export declare const EasyedaApiMethodSchema: z.ZodEnum<{
50
50
  "export.pickPlace": "export.pickPlace";
51
51
  "export.pdf": "export.pdf";
52
52
  "export.netlist": "export.netlist";
53
- "pcb.placeComponent": "pcb.placeComponent";
54
53
  "pcb.addTrack": "pcb.addTrack";
55
54
  "pcb.addVia": "pcb.addVia";
56
55
  "pcb.addZone": "pcb.addZone";
@@ -49,7 +49,6 @@ export const EasyedaApiMethodSchema = z.enum([
49
49
  'export.pickPlace',
50
50
  'export.pdf',
51
51
  'export.netlist',
52
- 'pcb.placeComponent',
53
52
  'pcb.addTrack',
54
53
  'pcb.addVia',
55
54
  'pcb.addZone',
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bridge/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,wBAAwB;IACxB,gCAAgC;IAChC,4BAA4B;IAC5B,0BAA0B;IAC1B,0BAA0B;IAC1B,wBAAwB;IACxB,wBAAwB;IACxB,2BAA2B;IAC3B,0BAA0B;IAC1B,oCAAoC;IACpC,qCAAqC;IACrC,mBAAmB;IACnB,mBAAmB;IACnB,wBAAwB;IACxB,qBAAqB;IACrB,sBAAsB;IACtB,2BAA2B;IAC3B,2BAA2B;IAC3B,yBAAyB;IACzB,yBAAyB;IACzB,2BAA2B;IAC3B,4BAA4B;IAC5B,2BAA2B;IAC3B,yBAAyB;IACzB,qBAAqB;IACrB,qBAAqB;IACrB,0BAA0B;IAC1B,qBAAqB;IACrB,UAAU;IACV,kBAAkB;IAClB,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,cAAc;IACd,cAAc;IACd,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;IACd,YAAY;IACZ,aAAa;IACb,aAAa;IACb,uBAAuB;IACvB,qBAAqB;IACrB,qBAAqB;IACrB,wBAAwB;IACxB,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,sBAAsB;IACtB,eAAe;IACf,2BAA2B;CAC5B,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bridge/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,wBAAwB;IACxB,gCAAgC;IAChC,4BAA4B;IAC5B,0BAA0B;IAC1B,0BAA0B;IAC1B,wBAAwB;IACxB,wBAAwB;IACxB,2BAA2B;IAC3B,0BAA0B;IAC1B,oCAAoC;IACpC,qCAAqC;IACrC,mBAAmB;IACnB,mBAAmB;IACnB,wBAAwB;IACxB,qBAAqB;IACrB,sBAAsB;IACtB,2BAA2B;IAC3B,2BAA2B;IAC3B,yBAAyB;IACzB,yBAAyB;IACzB,2BAA2B;IAC3B,4BAA4B;IAC5B,2BAA2B;IAC3B,yBAAyB;IACzB,qBAAqB;IACrB,qBAAqB;IACrB,0BAA0B;IAC1B,qBAAqB;IACrB,UAAU;IACV,kBAAkB;IAClB,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,cAAc;IACd,cAAc;IACd,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,aAAa;IACb,aAAa;IACb,uBAAuB;IACvB,qBAAqB;IACrB,qBAAqB;IACrB,wBAAwB;IACxB,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,sBAAsB;IACtB,eAAe;IACf,2BAA2B;CAC5B,CAAC,CAAC"}
@@ -6,7 +6,7 @@ import { execFile } from 'node:child_process';
6
6
  import { promisify } from 'node:util';
7
7
  import { ToolRegistry } from '../tools/registry.js';
8
8
  import { registerBuiltinTools } from '../tools/register.js';
9
- import { EnvSchema } from '../config/env.js';
9
+ import { EnvSchema, getBridgePairingConfigIssue, getHttpSecurityConfigIssues, } from '../config/env.js';
10
10
  import { parsePortScanSpec } from '../bridge/manager.js';
11
11
  function remoteBackendStatusFromConfig(config) {
12
12
  if (!config)
@@ -25,7 +25,7 @@ function remoteBackendStatusFromConfig(config) {
25
25
  warnings.push('No MCP_REMOTE_SESSION_ID configured; MCP clients must pass remoteSessionId per tool call.');
26
26
  }
27
27
  if (!oauthEnabled) {
28
- warnings.push('OAUTH_ENABLED=false; production remote relay should use OAuth for user identity.');
28
+ warnings.push('OAUTH_ENABLED=false; enable OAuth before exposing Remote Relay through a proxy, tunnel, VPN, or non-loopback listener.');
29
29
  }
30
30
  if (httpAuthDisabled) {
31
31
  warnings.push('HTTP_AUTH_DISABLED=true is only appropriate for loopback/local development.');
@@ -369,11 +369,18 @@ async function checkTcpPort(host, port, timeoutMs = 2000) {
369
369
  }
370
370
  function parseCliEnv() {
371
371
  const result = EnvSchema.safeParse(process.env);
372
- if (result.success)
373
- return { config: result.data, issues: [] };
374
- return {
375
- issues: result.error.issues.map((issue) => `${issue.path.join('.')}: ${issue.message}`),
376
- };
372
+ if (!result.success) {
373
+ return {
374
+ issues: result.error.issues.map((issue) => `${issue.path.join('.')}: ${issue.message}`),
375
+ };
376
+ }
377
+ const issues = getHttpSecurityConfigIssues(result.data);
378
+ const bridgePairingIssue = getBridgePairingConfigIssue(result.data);
379
+ if (bridgePairingIssue)
380
+ issues.unshift(bridgePairingIssue);
381
+ if (issues.length > 0)
382
+ return { issues };
383
+ return { config: result.data, issues: [] };
377
384
  }
378
385
  function readPackageInfo(packageRoot) {
379
386
  const raw = readFileSync(join(packageRoot, 'package.json'), 'utf8');
@@ -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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"}
@@ -34,14 +34,14 @@ export declare const EnvSchema: z.ZodObject<{
34
34
  }>>;
35
35
  HTTP_HOST: z.ZodDefault<z.ZodString>;
36
36
  HTTP_PORT: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
37
- HTTP_AUTH_DISABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
37
+ HTTP_AUTH_DISABLED: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
38
38
  HTTP_RATE_LIMIT_MAX: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
39
39
  CORS_ORIGIN: z.ZodDefault<z.ZodString>;
40
40
  ALLOWED_ORIGINS: z.ZodDefault<z.ZodString>;
41
- MCP_TASKS_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
42
- MCP_APPS_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
43
- MCP_V2_EXPERIMENTAL: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
44
- MCP_RAW_EXEC_EXPERIMENTAL: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
41
+ MCP_TASKS_ENABLED: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
42
+ MCP_APPS_ENABLED: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
43
+ MCP_V2_EXPERIMENTAL: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
44
+ MCP_RAW_EXEC_EXPERIMENTAL: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
45
45
  BRIDGE_HOST: z.ZodDefault<z.ZodString>;
46
46
  BRIDGE_PORT: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
47
47
  BRIDGE_PORT_SCAN: z.ZodDefault<z.ZodString>;
@@ -51,9 +51,9 @@ export declare const EnvSchema: z.ZodObject<{
51
51
  BRIDGE_WAIT_FOR_EDA_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
52
52
  BRIDGE_MAX_PAYLOAD_SIZE: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
53
53
  BRIDGE_TOKEN: z.ZodDefault<z.ZodString>;
54
- EASYEDA_DEV_BRIDGE: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
55
- BRIDGE_RAW_EXEC_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
56
- BRIDGE_HOT_SWAP_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
54
+ EASYEDA_DEV_BRIDGE: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
55
+ BRIDGE_RAW_EXEC_ENABLED: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
56
+ BRIDGE_HOT_SWAP_ENABLED: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
57
57
  BRIDGE_HOT_SWAP_WATCH: z.ZodDefault<z.ZodString>;
58
58
  BRIDGE_HOT_SWAP_CHUNK_BYTES: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
59
59
  DATA_DIR: z.ZodDefault<z.ZodString>;
@@ -71,7 +71,7 @@ export declare const EnvSchema: z.ZodObject<{
71
71
  AI_API_KEY: z.ZodDefault<z.ZodString>;
72
72
  AI_MAX_TOKENS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
73
73
  AI_TIMEOUT_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
74
- AI_ALLOW_DESIGN_MUTATIONS: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
74
+ AI_ALLOW_DESIGN_MUTATIONS: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
75
75
  JLCPCB_MODE: z.ZodDefault<z.ZodEnum<{
76
76
  disabled: "disabled";
77
77
  mock: "mock";
@@ -80,33 +80,33 @@ export declare const EnvSchema: z.ZodObject<{
80
80
  JLCPCB_CLIENT_ID: z.ZodDefault<z.ZodString>;
81
81
  JLCPCB_CLIENT_SECRET: z.ZodDefault<z.ZodString>;
82
82
  JLCPCB_API_BASE_URL: z.ZodDefault<z.ZodString>;
83
- JLCPCB_ENABLE_ORDERING: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
83
+ JLCPCB_ENABLE_ORDERING: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
84
84
  JLCPCB_DEFAULT_CURRENCY: z.ZodDefault<z.ZodEnum<{
85
85
  USD: "USD";
86
86
  CNY: "CNY";
87
87
  }>>;
88
- JLCSEARCH_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
88
+ JLCSEARCH_ENABLED: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
89
89
  JLCSEARCH_BASE_URL: z.ZodDefault<z.ZodString>;
90
90
  LCSC_API_KEY: z.ZodDefault<z.ZodString>;
91
91
  LCSC_API_SECRET: z.ZodDefault<z.ZodString>;
92
- KEYLESS_SOURCING_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
92
+ KEYLESS_SOURCING_ENABLED: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
93
93
  SOURCING_CACHE_TTL_SECONDS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
94
94
  VENDOR_MIN_REQUEST_INTERVAL_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
95
- MOUSER_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
95
+ MOUSER_ENABLED: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
96
96
  MOUSER_API_KEY: z.ZodDefault<z.ZodString>;
97
97
  MOUSER_API_BASE_URL: z.ZodDefault<z.ZodString>;
98
- DIGIKEY_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
98
+ DIGIKEY_ENABLED: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
99
99
  DIGIKEY_CLIENT_ID: z.ZodDefault<z.ZodString>;
100
100
  DIGIKEY_CLIENT_SECRET: z.ZodDefault<z.ZodString>;
101
- DIGIKEY_SANDBOX: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
101
+ DIGIKEY_SANDBOX: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
102
102
  DIGIKEY_LOCALE: z.ZodDefault<z.ZodString>;
103
103
  DIGIKEY_CURRENCY: z.ZodDefault<z.ZodString>;
104
- OAUTH_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
104
+ OAUTH_ENABLED: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
105
105
  OAUTH_ISSUER: z.ZodDefault<z.ZodString>;
106
106
  OAUTH_AUDIENCE: z.ZodDefault<z.ZodString>;
107
107
  OAUTH_JWKS_URI: z.ZodDefault<z.ZodString>;
108
108
  OAUTH_REQUIRED_SCOPES: z.ZodDefault<z.ZodString>;
109
- OTEL_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
109
+ OTEL_ENABLED: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>>;
110
110
  OTEL_SERVICE_NAME: z.ZodDefault<z.ZodString>;
111
111
  OTEL_EXPORTER_OTLP_ENDPOINT: z.ZodDefault<z.ZodString>;
112
112
  TRACE_SAMPLE_RATE: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
@@ -114,4 +114,6 @@ export declare const EnvSchema: z.ZodObject<{
114
114
  export type EnvConfig = z.infer<typeof EnvSchema>;
115
115
  export declare function detectUnknownEnvVars(env: Record<string, string | undefined>): string[];
116
116
  export declare function loadEnvConfig(): EnvConfig;
117
+ export declare function getBridgePairingConfigIssue(config: EnvConfig): string | undefined;
118
+ export declare function getHttpSecurityConfigIssues(config: EnvConfig): string[];
117
119
  export declare function validateSafeConfig(config: EnvConfig): void;
@@ -5,16 +5,19 @@ const DEFAULT_DATA_DIR = join(homedir(), '.easyeda-mcp-pro');
5
5
  const DEFAULT_SQLITE_PATH = join(DEFAULT_DATA_DIR, 'easyeda-mcp-pro.sqlite');
6
6
  const DEFAULT_ARTIFACT_DIR = join(DEFAULT_DATA_DIR, 'artifacts');
7
7
  const DEFAULT_CACHE_DIR = join(DEFAULT_DATA_DIR, 'cache');
8
+ const STRICT_BOOLEAN_MESSAGE = 'Invalid boolean literal. Expected one of: true, false, 1, or 0.';
8
9
  function envBoolean() {
9
- return z.preprocess((val) => {
10
- if (typeof val === 'string') {
11
- const lower = val.toLowerCase().trim();
12
- if (lower === 'false' || lower === '0' || lower === '')
13
- return false;
10
+ return z.union([z.boolean(), z.string()]).transform((value, ctx) => {
11
+ if (typeof value === 'boolean')
12
+ return value;
13
+ const normalized = value.trim().toLowerCase();
14
+ if (normalized === 'true' || normalized === '1')
14
15
  return true;
15
- }
16
- return val;
17
- }, z.boolean());
16
+ if (normalized === 'false' || normalized === '0')
17
+ return false;
18
+ ctx.addIssue({ code: 'custom', message: STRICT_BOOLEAN_MESSAGE });
19
+ return z.NEVER;
20
+ });
18
21
  }
19
22
  export const EnvSchema = z.object({
20
23
  NODE_ENV: z.enum(['development', 'test', 'production']).default('development'),
@@ -156,29 +159,39 @@ export function loadEnvConfig() {
156
159
  validateSafeConfig(result.data);
157
160
  return result.data;
158
161
  }
159
- /** Check whether HTTP_HOST refers to a loopback address. */
162
+ /** Check whether a host refers to a loopback address. */
160
163
  function isLoopbackHost(host) {
161
164
  return host === '127.0.0.1' || host === 'localhost' || host === '::1';
162
165
  }
163
- export function validateSafeConfig(config) {
164
- // ── CORS / origin policy ─────────────────────────────────
165
- if (config.TRANSPORT === 'http' && !isLoopbackHost(config.HTTP_HOST) && !config.ALLOWED_ORIGINS) {
166
- // Logger not yet initialized — env config is loaded first
167
- console.error('SAFETY: HTTP_HOST is not a loopback address but ALLOWED_ORIGINS is empty. ' +
168
- 'Non-loopback HTTP deployments must declare an explicit origin allowlist. ' +
169
- 'Set ALLOWED_ORIGINS to a comma-separated list of allowed origins or use HTTP_HOST=127.0.0.1.');
170
- process.exit(1);
166
+ export function getBridgePairingConfigIssue(config) {
167
+ if (isLoopbackHost(config.BRIDGE_HOST) || config.BRIDGE_TOKEN)
168
+ return undefined;
169
+ return ('SAFETY: BRIDGE_HOST is not a loopback address but BRIDGE_TOKEN is empty. ' +
170
+ 'Non-loopback bridge listeners require a pairing token. ' +
171
+ 'Set BRIDGE_TOKEN to a strong secret or use BRIDGE_HOST=127.0.0.1 for local operation.');
172
+ }
173
+ export function getHttpSecurityConfigIssues(config) {
174
+ if (config.TRANSPORT !== 'http' || isLoopbackHost(config.HTTP_HOST))
175
+ return [];
176
+ const issues = [];
177
+ const allowedOrigins = config.ALLOWED_ORIGINS.split(',')
178
+ .map((origin) => origin.trim())
179
+ .filter(Boolean);
180
+ if (allowedOrigins.length === 0) {
181
+ issues.push('SAFETY: HTTP_HOST is not a loopback address but ALLOWED_ORIGINS is empty. ' +
182
+ 'Non-loopback HTTP requires an explicit comma-separated origin allowlist.');
171
183
  }
172
- // ── HTTP auth bypass policy ───────────────────────────────
173
- if (config.TRANSPORT === 'http' && config.HTTP_AUTH_DISABLED) {
174
- if (config.NODE_ENV === 'production' || !isLoopbackHost(config.HTTP_HOST)) {
175
- console.error('SAFETY: HTTP_AUTH_DISABLED=true is only allowed for non-production loopback HTTP. ' +
176
- 'Use OAUTH_ENABLED=true for remote or production HTTP deployments.');
177
- process.exit(1);
178
- }
184
+ else if (allowedOrigins.includes('*')) {
185
+ issues.push('SAFETY: ALLOWED_ORIGINS=* is not allowed for non-loopback HTTP. ' +
186
+ 'Configure an explicit comma-separated origin allowlist. CORS is not an authentication boundary.');
179
187
  }
180
- // ── OAuth/JWKS validation ─────────────────────────────────
181
- if (config.OAUTH_ENABLED && !isLoopbackHost(config.HTTP_HOST)) {
188
+ if (!config.OAUTH_ENABLED) {
189
+ issues.push('SAFETY: HTTP_HOST is not a loopback address but OAUTH_ENABLED is false. ' +
190
+ 'Every non-loopback HTTP deployment requires OAuth/JWKS authentication, regardless of NODE_ENV. ' +
191
+ 'Set OAUTH_ENABLED=true with OAUTH_JWKS_URI, OAUTH_ISSUER, and OAUTH_AUDIENCE, ' +
192
+ 'or use HTTP_HOST=127.0.0.1 for local development.');
193
+ }
194
+ else {
182
195
  const missing = [];
183
196
  if (!config.OAUTH_JWKS_URI)
184
197
  missing.push('OAUTH_JWKS_URI');
@@ -187,12 +200,34 @@ export function validateSafeConfig(config) {
187
200
  if (!config.OAUTH_AUDIENCE)
188
201
  missing.push('OAUTH_AUDIENCE');
189
202
  if (missing.length > 0) {
190
- // Logger not yet initialized — env config is loaded first
191
- console.error(`SAFETY: OAuth is enabled for non-loopback HTTP but required variables are missing: ${missing.join(', ')}. ` +
192
- 'Set all required OAuth variables or use HTTP_HOST=127.0.0.1 for local development.');
203
+ issues.push(`SAFETY: OAuth is enabled for non-loopback HTTP but required variables are missing: ${missing.join(', ')}. ` +
204
+ 'Set every listed OAuth variable or use HTTP_HOST=127.0.0.1 for local development.');
205
+ }
206
+ }
207
+ return issues;
208
+ }
209
+ export function validateSafeConfig(config) {
210
+ // ── Bridge pairing policy ────────────────────────────────
211
+ const bridgePairingIssue = getBridgePairingConfigIssue(config);
212
+ if (bridgePairingIssue) {
213
+ console.error(bridgePairingIssue);
214
+ process.exit(1);
215
+ }
216
+ // ── HTTP auth bypass policy ───────────────────────────────
217
+ if (config.TRANSPORT === 'http' && config.HTTP_AUTH_DISABLED) {
218
+ if (config.NODE_ENV === 'production' || !isLoopbackHost(config.HTTP_HOST)) {
219
+ console.error('SAFETY: HTTP_AUTH_DISABLED=true is only allowed for non-production loopback HTTP. ' +
220
+ 'Use OAUTH_ENABLED=true for remote or production HTTP deployments.');
193
221
  process.exit(1);
194
222
  }
195
223
  }
224
+ // ── Non-loopback HTTP authentication policy ───────────────
225
+ const httpSecurityIssues = getHttpSecurityConfigIssues(config);
226
+ if (httpSecurityIssues.length > 0) {
227
+ for (const issue of httpSecurityIssues)
228
+ console.error(issue);
229
+ process.exit(1);
230
+ }
196
231
  // No weak-token fallback: if OAuth is enabled, JWKS must be configured
197
232
  if (config.OAUTH_ENABLED && !config.OAUTH_JWKS_URI) {
198
233
  // Logger not yet initialized — env config is loaded first
@@ -203,12 +238,6 @@ export function validateSafeConfig(config) {
203
238
  }
204
239
  // ── NODE_ENV production checks ──────────────────────────
205
240
  if (config.NODE_ENV === 'production') {
206
- if (!isLoopbackHost(config.HTTP_HOST) && !config.OAUTH_ENABLED) {
207
- // Logger not yet initialized — env config is loaded first
208
- console.error('SAFETY: HTTP_HOST is not localhost but OAUTH_ENABLED is false. ' +
209
- 'Set OAUTH_ENABLED=true or use HTTP_HOST=127.0.0.1.');
210
- process.exit(1);
211
- }
212
241
  if (config.BRIDGE_RAW_EXEC_ENABLED) {
213
242
  // Logger not yet initialized — env config is loaded first
214
243
  console.error('SAFETY: BRIDGE_RAW_EXEC_ENABLED=true is not allowed in production mode.');