easyeda-mcp-pro 0.35.4 → 1.0.0-rc.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.
Files changed (83) hide show
  1. package/README.md +35 -22
  2. package/THIRD_PARTY_NOTICES.md +49 -0
  3. package/config/runtime-policy.json +4 -1
  4. package/dist/bridge/cdp-manager.d.ts +1 -0
  5. package/dist/bridge/cdp-manager.js +61 -38
  6. package/dist/bridge/cdp-manager.js.map +1 -1
  7. package/dist/cli/local-setup.d.ts +20 -2
  8. package/dist/cli/local-setup.js +197 -29
  9. package/dist/cli/local-setup.js.map +1 -1
  10. package/dist/config/env.d.ts +165 -11
  11. package/dist/config/env.js +17 -11
  12. package/dist/config/env.js.map +1 -1
  13. package/dist/config/version.d.ts +1 -1
  14. package/dist/config/version.js +1 -1
  15. package/dist/config/version.js.map +1 -1
  16. package/dist/index.js +4 -2
  17. package/dist/index.js.map +1 -1
  18. package/dist/package-build-manifest.json +2957 -0
  19. package/dist/pcb-layout/component-transform.d.ts +36 -0
  20. package/dist/pcb-layout/component-transform.js +108 -0
  21. package/dist/pcb-layout/component-transform.js.map +1 -0
  22. package/dist/pcb-layout/index.d.ts +1 -0
  23. package/dist/pcb-layout/index.js +1 -0
  24. package/dist/pcb-layout/index.js.map +1 -1
  25. package/dist/release/published-release-verifier.d.ts +2 -1
  26. package/dist/release/published-release-verifier.js +1 -0
  27. package/dist/release/published-release-verifier.js.map +1 -1
  28. package/dist/remote/gateway.d.ts +0 -1
  29. package/dist/remote/gateway.js +13 -22
  30. package/dist/remote/gateway.js.map +1 -1
  31. package/dist/remote/invocation-grants.d.ts +24 -0
  32. package/dist/remote/invocation-grants.js +44 -0
  33. package/dist/remote/invocation-grants.js.map +1 -0
  34. package/dist/tools/L1_export.js +2 -2
  35. package/dist/tools/L1_export.js.map +1 -1
  36. package/dist/tools/L1_pcb_write.js +259 -80
  37. package/dist/tools/L1_pcb_write.js.map +1 -1
  38. package/dist/tools/L1_transactions.js +1 -1
  39. package/dist/tools/L1_transactions.js.map +1 -1
  40. package/dist/tools/L2_workflows.js +32 -4
  41. package/dist/tools/L2_workflows.js.map +1 -1
  42. package/dist/tools/registry.js +18 -4
  43. package/dist/tools/registry.js.map +1 -1
  44. package/dist/tools/types.d.ts +4 -1
  45. package/dist/transactions/manager.d.ts +2 -2
  46. package/dist/transactions/manager.js +4 -4
  47. package/dist/transactions/manager.js.map +1 -1
  48. package/dist/transactions/model.d.ts +1 -1
  49. package/dist/workflows/schematic-layout-qa-geometry-rules.d.ts +7 -0
  50. package/dist/workflows/schematic-layout-qa-geometry-rules.js +302 -0
  51. package/dist/workflows/schematic-layout-qa-geometry-rules.js.map +1 -0
  52. package/dist/workflows/schematic-layout-qa-topology-rules.d.ts +6 -0
  53. package/dist/workflows/schematic-layout-qa-topology-rules.js +282 -0
  54. package/dist/workflows/schematic-layout-qa-topology-rules.js.map +1 -0
  55. package/dist/workflows/schematic-layout-qa.js +7 -480
  56. package/dist/workflows/schematic-layout-qa.js.map +1 -1
  57. package/easyeda-bridge-extension.checksums.json +34 -0
  58. package/easyeda-bridge-extension.eext +0 -0
  59. package/package.json +21 -9
  60. package/dist/router/astar.d.ts +0 -23
  61. package/dist/router/astar.js +0 -177
  62. package/dist/router/astar.js.map +0 -1
  63. package/dist/router/geometry.d.ts +0 -39
  64. package/dist/router/geometry.js +0 -240
  65. package/dist/router/geometry.js.map +0 -1
  66. package/dist/router/grid.d.ts +0 -24
  67. package/dist/router/grid.js +0 -50
  68. package/dist/router/grid.js.map +0 -1
  69. package/dist/router/obstacles.d.ts +0 -33
  70. package/dist/router/obstacles.js +0 -243
  71. package/dist/router/obstacles.js.map +0 -1
  72. package/dist/router/path-simplifier.d.ts +0 -6
  73. package/dist/router/path-simplifier.js +0 -35
  74. package/dist/router/path-simplifier.js.map +0 -1
  75. package/dist/router/pin-escape.d.ts +0 -24
  76. package/dist/router/pin-escape.js +0 -155
  77. package/dist/router/pin-escape.js.map +0 -1
  78. package/dist/router/route-cost.d.ts +0 -10
  79. package/dist/router/route-cost.js +0 -82
  80. package/dist/router/route-cost.js.map +0 -1
  81. package/dist/router/types.d.ts +0 -187
  82. package/dist/router/types.js +0 -2
  83. package/dist/router/types.js.map +0 -1
package/README.md CHANGED
@@ -150,6 +150,8 @@ node scripts/check-runtime.mjs --require-pnpm
150
150
 
151
151
  ## Installation & Client Configuration
152
152
 
153
+ > Testing the v1 release candidate? Follow [Migrating to v1](docs/MIGRATING_TO_V1.md). Stable npm and container channels remain on `0.35.4` during the candidate soak.
154
+
153
155
  You can configure `easyeda-mcp-pro` automatically or manually.
154
156
 
155
157
  ### 1. Automatic Configuration (CLI)
@@ -437,8 +439,12 @@ pnpm doctor
437
439
  This checks:
438
440
 
439
441
  1. Node.js version compatibility.
440
- 2. Existence of build files and the `.eext` extension package.
441
- 3. Bridge port availability. _Note: The bridge status will show as offline until an MCP client starts the server and connects to the EasyEDA Pro extension._
442
+ 2. Runtime mode: source checkout, installed package, or production runtime.
443
+ 3. The CLI entry shebang and the `.eext` extension package checksum.
444
+ 4. Bridge port availability. _Note: The bridge status will show as offline until an MCP client starts the server and connects to the EasyEDA Pro extension._
445
+
446
+ pnpm is required only for a source checkout and must match the repository pin. pnpm is not required for an installed package or production runtime, including the hardened Docker image.
447
+ Doctor exits with status `1` for unsupported required runtimes, invalid configuration, or missing/corrupt runtime artifacts; an offline bridge by itself remains informational.
442
448
 
443
449
  ---
444
450
 
@@ -465,30 +471,29 @@ For Remote Relay experiments, run `npx easyeda-mcp-pro doctor --fix` after setti
465
471
 
466
472
  ### Bridge (EasyEDA Pro connection)
467
473
 
468
- | Variable | Default | Description |
469
- | ------------------------------- | ------------- | ------------------------------------------------------------------------ |
470
- | `BRIDGE_HOST` | `127.0.0.1` | Bridge WebSocket host |
471
- | `BRIDGE_PORT` | `49620` | Primary bridge port |
472
- | `BRIDGE_PORT_SCAN` | `49620-49629` | Port scan spec (comma/range) |
473
- | `BRIDGE_TIMEOUT_MS` | `15000` | Bridge call timeout (ms) |
474
- | `BRIDGE_HEARTBEAT_MS` | `10000` | Heartbeat interval (ms) |
475
- | `BRIDGE_RECONNECT_MAX_ATTEMPTS` | `0` | Max reconnect attempts (`0` = infinite) |
476
- | `BRIDGE_WAIT_FOR_EDA_MS` | `30000` | Wait for EasyEDA Pro on startup (ms) |
477
- | `BRIDGE_MAX_PAYLOAD_SIZE` | `1048576` | Max bridge payload (bytes, default 1 MiB) |
478
- | `BRIDGE_TOKEN` | `''` | Session token for extension auth |
479
- | `BRIDGE_RAW_EXEC_ENABLED` | `false` | First explicit gate for raw EasyEDA runtime JavaScript execution |
480
- | `MCP_RAW_EXEC_EXPERIMENTAL` | `false` | Second experimental gate required before `easyeda_execute` is registered |
474
+ | Variable | Default | Description |
475
+ | --------------------------- | ------------- | ------------------------------------------------------------------------ |
476
+ | `BRIDGE_HOST` | `127.0.0.1` | Bridge WebSocket host |
477
+ | `BRIDGE_PORT` | `49620` | Primary bridge port |
478
+ | `BRIDGE_PORT_SCAN` | `49620-49629` | Port scan spec (comma/range) |
479
+ | `BRIDGE_TIMEOUT_MS` | `15000` | Bridge call timeout (ms) |
480
+ | `BRIDGE_HEARTBEAT_MS` | `10000` | Heartbeat interval (ms) |
481
+ | `BRIDGE_WAIT_FOR_EDA_MS` | `30000` | Wait for EasyEDA Pro on startup (ms) |
482
+ | `BRIDGE_MAX_PAYLOAD_SIZE` | `1048576` | Max bridge payload (bytes, default 1 MiB) |
483
+ | `BRIDGE_TOKEN` | `''` | Session token for extension auth |
484
+ | `BRIDGE_RAW_EXEC_ENABLED` | `false` | First explicit gate for raw EasyEDA runtime JavaScript execution |
485
+ | `MCP_RAW_EXEC_EXPERIMENTAL` | `false` | Second experimental gate required before `easyeda_execute` is registered |
481
486
 
482
487
  ### Storage
483
488
 
484
- | Variable | Default | Description |
485
- | -------------- | ------------------------------------------- | ------------------------------------------- |
486
- | `DATA_DIR` | `~/.easyeda-mcp-pro` | Data directory (cache, database, artifacts) |
487
- | `SQLITE_PATH` | `~/.easyeda-mcp-pro/easyeda-mcp-pro.sqlite` | SQLite database path |
488
- | `ARTIFACT_DIR` | `~/.easyeda-mcp-pro/artifacts` | Artifact export directory |
489
- | `CACHE_DIR` | `~/.easyeda-mcp-pro/cache` | Cache directory |
489
+ | Variable | Default | Description |
490
+ | -------------- | ----------------------------------- | --------------------------------------- |
491
+ | `DATA_DIR` | `~/.easyeda-mcp-pro` | Base directory for writable local state |
492
+ | `SQLITE_PATH` | `<DATA_DIR>/easyeda-mcp-pro.sqlite` | SQLite database path |
493
+ | `ARTIFACT_DIR` | `<DATA_DIR>/artifacts` | Artifact export directory |
494
+ | `CACHE_DIR` | `<DATA_DIR>/cache` | Cache directory |
490
495
 
491
- These defaults are resolved with the operating system user home directory, not the MCP process working directory. Explicitly configured paths keep their supplied absolute or relative semantics.
496
+ Storage paths are resolved in two stages. `DATA_DIR` is resolved first; each subordinate path is then derived from it with the current operating system's native path separator unless that variable was explicitly supplied. Setting only `DATA_DIR` therefore relocates the default database, artifact, and cache paths together. Explicit overrides are applied independently and retain their supplied absolute or relative semantics; relative paths remain relative to the MCP process working directory. Changing these settings does not migrate existing data automatically.
492
497
 
493
498
  ### Supplier integration
494
499
 
@@ -499,6 +504,14 @@ Enable suppliers by setting their credentials. All suppliers are disabled by def
499
504
  - **Mouser**: `MOUSER_ENABLED=true` + API key
500
505
  - **DigiKey**: `DIGIKEY_ENABLED=true` + OAuth2 client ID/secret
501
506
 
507
+ Shared sourcing behavior is controlled independently of any one vendor:
508
+
509
+ | Variable | Default | Description |
510
+ | -------------------------------- | ------- | -------------------------------------------------------------------- |
511
+ | `KEYLESS_SOURCING_ENABLED` | `true` | Allow supported public keyless fallbacks when credentials are absent |
512
+ | `SOURCING_CACHE_TTL_SECONDS` | `21600` | Cache sourcing responses for six hours (`0` disables cache reuse) |
513
+ | `VENDOR_MIN_REQUEST_INTERVAL_MS` | `150` | Minimum delay between outbound requests to the same sourcing vendor |
514
+
502
515
  ### Reserved AI configuration
503
516
 
504
517
  No in-process AI provider client is currently implemented. The `AI_*` variables remain accepted for
@@ -0,0 +1,49 @@
1
+ # Third-Party Notices
2
+
3
+ This project is distributed under the MIT License. This notice file summarizes third-party materials and external services that maintainers should review before each release. It is not legal advice.
4
+
5
+ ## Runtime and development dependencies
6
+
7
+ The npm package depends on third-party open source packages declared in `package.json` and resolved in `pnpm-lock.yaml`. Maintain release evidence through:
8
+
9
+ - `pnpm audit --audit-level low`
10
+ - generated CycloneDX SBOM from the release workflow
11
+ - npm package provenance / GitHub attestations
12
+ - dependency review via Renovate, Dependabot, and CodeQL
13
+
14
+ Before a v1.0 release, attach the SBOM to the GitHub release and retain the generated artifact with the release notes.
15
+
16
+ ## Bundled extension artifact
17
+
18
+ The npm package includes `easyeda-bridge-extension.eext`. The source for that artifact lives under `easyeda-bridge-extension/` and is built by `pnpm build:extension`.
19
+
20
+ The extension interacts with EasyEDA Pro through the user's installed EasyEDA environment. It must not claim endorsement by EasyEDA, JLCPCB, LCSC, Mouser, DigiKey, or any other vendor unless that vendor has granted explicit permission.
21
+
22
+ ## External services and trademarks
23
+
24
+ `easyeda-mcp-pro` can integrate with or reference external services:
25
+
26
+ | Service | Project use | Maintainer note |
27
+ | ---------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
28
+ | EasyEDA Pro | Local editor/runtime bridge | Users must comply with EasyEDA's terms for their own account, projects, and extension use. |
29
+ | JLCPCB | Quote/manufacturing workflow preparation | Quote and order workflows must remain non-binding unless explicit human review and credentials are configured. |
30
+ | LCSC / jlcsearch | Part search, availability, and BOM context | Public search data must be treated as advisory and rechecked before ordering. |
31
+ | Mouser | Optional supplier search/cart/order API integration | Requires user-provided credentials and compliance with Mouser API/account terms. |
32
+ | DigiKey | Optional supplier API integration | Requires user-provided credentials and compliance with DigiKey developer/account terms. |
33
+
34
+ All vendor names, logos, product names, and trademarks belong to their respective owners. This repository does not redistribute vendor databases, datasheets, pricing feeds, or proprietary EasyEDA/JLCPCB/LCSC/Mouser/DigiKey content.
35
+
36
+ ## Generated outputs
37
+
38
+ The server can generate local review, manifest, BOM, export, benchmark, and QA artifacts. Generated outputs are user/project data and are not part of the project license unless explicitly committed by the maintainer.
39
+
40
+ ## Release checklist
41
+
42
+ Before each public release:
43
+
44
+ - Run the complete CI gate from `docs/release-ci-runbook.md`.
45
+ - Confirm `npm pack --dry-run` includes only intended files.
46
+ - Verify `easyeda-bridge-extension.eext` is rebuilt and checksummed.
47
+ - Review `docs/vendor-terms.md` for stale vendor links or unsupported workflows.
48
+ - Attach SBOM and extension artifacts to the GitHub release.
49
+ - Do not include credentials, private designs, vendor API responses, or generated customer data in release artifacts.
@@ -1,10 +1,13 @@
1
1
  {
2
- "schemaVersion": 1,
2
+ "schemaVersion": 2,
3
3
  "node": {
4
4
  "supportedMajor": 24,
5
5
  "pinnedVersion": "24.18.0"
6
6
  },
7
7
  "pnpm": {
8
8
  "pinnedVersion": "11.5.1"
9
+ },
10
+ "docker": {
11
+ "nodeAlpineImage": "node@sha256:a0b9bf06e4e6193cf7a0f58816cc935ff8c2a908f81e6f1a95432d679c54fbfd"
9
12
  }
10
13
  }
@@ -59,6 +59,7 @@ export declare class CdpBridgeManager extends EventEmitter {
59
59
  private genericBridgeCallExpression;
60
60
  private statusExpression;
61
61
  private inventoryExpression;
62
+ private resetRuntimeState;
62
63
  private rejectPending;
63
64
  private computeMethodRegistryHash;
64
65
  }
@@ -66,42 +66,54 @@ export class CdpBridgeManager extends EventEmitter {
66
66
  const prev = this.state;
67
67
  this.state = 'connecting';
68
68
  this.emit('stateChanged', this.state, prev);
69
- const logger = getLogger();
70
- const baseUrl = this.getCdpBaseUrl();
71
- const targets = await this.fetchJson(`${baseUrl}/json/list`);
72
- const target = this.selectEasyedaTarget(targets);
73
- if (!target?.webSocketDebuggerUrl) {
69
+ try {
70
+ const logger = getLogger();
71
+ const baseUrl = this.getCdpBaseUrl();
72
+ const targets = await this.fetchJson(`${baseUrl}/json/list`);
73
+ const target = this.selectEasyedaTarget(targets);
74
+ if (!target?.webSocketDebuggerUrl) {
75
+ throw new Error('CDP bridge could not find an EasyEDA editor page target. Start EasyEDA Pro with --remote-debugging-port=9222 and open a project.');
76
+ }
77
+ this._target = target;
78
+ this._activePort = Number(new URL(baseUrl).port || '9222');
79
+ this.ws = await this.openWebSocket(target.webSocketDebuggerUrl);
80
+ this.attachSocketHandlers(this.ws);
81
+ await this.cdp('Runtime.enable');
82
+ const status = await this.evaluateObject(`(() => ({
83
+ title: document.title,
84
+ href: location.href,
85
+ appVersion: globalThis?.navigator?.userAgent?.match(/EasyEDAPro\\/([^ ]+)/)?.[1]
86
+ }))()`);
87
+ this.state = 'connected';
88
+ this._connectedAtMs = Date.now();
89
+ this._lastHeartbeatMs = Date.now();
90
+ this.hello = {
91
+ type: 'hello',
92
+ bridgeVersion: SERVER_VERSION,
93
+ contractVersion: BRIDGE_CONTRACT_VERSION,
94
+ supportedProtocolVersions: [...SUPPORTED_PROTOCOL_VERSIONS],
95
+ easyedaVersion: status.appVersion,
96
+ capabilities: EasyedaApiMethodSchema.options,
97
+ methodRegistryHash: this._methodRegistryHash,
98
+ maxPayloadSize: this.config.BRIDGE_MAX_PAYLOAD_SIZE,
99
+ devMode: true,
100
+ };
101
+ logger.info({ title: target.title, url: target.url }, 'cdp bridge connected to EasyEDA renderer');
102
+ this.emit('stateChanged', 'connected', prev);
103
+ this.emit('connected', this.hello);
104
+ }
105
+ catch (error) {
106
+ const connectionError = error instanceof Error ? error : new Error(String(error));
107
+ this.rejectPending(connectionError);
108
+ const socket = this.ws;
109
+ this.ws = null;
110
+ this.resetRuntimeState();
74
111
  this.state = 'error';
112
+ if (socket)
113
+ socket.close();
75
114
  this.emit('stateChanged', 'error', 'connecting');
76
- throw new Error('CDP bridge could not find an EasyEDA editor page target. Start EasyEDA Pro with --remote-debugging-port=9222 and open a project.');
77
- }
78
- this._target = target;
79
- this._activePort = Number(new URL(baseUrl).port || '9222');
80
- this.ws = await this.openWebSocket(target.webSocketDebuggerUrl);
81
- this.attachSocketHandlers(this.ws);
82
- await this.cdp('Runtime.enable');
83
- const status = await this.evaluateObject(`(() => ({
84
- title: document.title,
85
- href: location.href,
86
- appVersion: globalThis?.navigator?.userAgent?.match(/EasyEDAPro\\/([^ ]+)/)?.[1]
87
- }))()`);
88
- this.state = 'connected';
89
- this._connectedAtMs = Date.now();
90
- this._lastHeartbeatMs = Date.now();
91
- this.hello = {
92
- type: 'hello',
93
- bridgeVersion: SERVER_VERSION,
94
- contractVersion: BRIDGE_CONTRACT_VERSION,
95
- supportedProtocolVersions: [...SUPPORTED_PROTOCOL_VERSIONS],
96
- easyedaVersion: status.appVersion,
97
- capabilities: EasyedaApiMethodSchema.options,
98
- methodRegistryHash: this._methodRegistryHash,
99
- maxPayloadSize: this.config.BRIDGE_MAX_PAYLOAD_SIZE,
100
- devMode: true,
101
- };
102
- logger.info({ title: target.title, url: target.url }, 'cdp bridge connected to EasyEDA renderer');
103
- this.emit('stateChanged', 'connected', prev);
104
- this.emit('connected', this.hello);
115
+ throw connectionError;
116
+ }
105
117
  }
106
118
  async call(method, params, opts) {
107
119
  if (!this.connected) {
@@ -136,8 +148,7 @@ export class CdpBridgeManager extends EventEmitter {
136
148
  this.ws.close();
137
149
  this.ws = null;
138
150
  }
139
- this.hello = null;
140
- this._target = null;
151
+ this.resetRuntimeState();
141
152
  this.emit('stateChanged', this.state, prev);
142
153
  this.emit('disconnected', reason ?? 'unknown');
143
154
  }
@@ -259,11 +270,17 @@ export class CdpBridgeManager extends EventEmitter {
259
270
  }
260
271
  });
261
272
  ws.on('close', (code, reason) => {
262
- if (this.state !== 'disconnected') {
273
+ if (this.ws !== ws)
274
+ return;
275
+ this.ws = null;
276
+ const disconnectReason = reason.toString() || `cdp_close_${code}`;
277
+ this.rejectPending(new Error(`CDP bridge disconnected: ${disconnectReason}`));
278
+ this.resetRuntimeState();
279
+ if (this.state !== 'disconnected' && this.state !== 'error') {
263
280
  const prev = this.state;
264
281
  this.state = 'connecting';
265
282
  this.emit('stateChanged', 'connecting', prev);
266
- this.emit('disconnected', reason.toString() || `cdp_close_${code}`);
283
+ this.emit('disconnected', disconnectReason);
267
284
  }
268
285
  });
269
286
  ws.on('error', (err) => {
@@ -728,6 +745,12 @@ export class CdpBridgeManager extends EventEmitter {
728
745
  };
729
746
  })()`;
730
747
  }
748
+ resetRuntimeState() {
749
+ this.hello = null;
750
+ this._target = null;
751
+ this._connectedAtMs = 0;
752
+ this._lastHeartbeatMs = 0;
753
+ }
731
754
  rejectPending(error) {
732
755
  for (const [, pending] of this.pending) {
733
756
  clearTimeout(pending.timer);
@@ -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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"}
@@ -8,14 +8,21 @@ export interface ParsedCliArgs {
8
8
  extensionCopy?: string;
9
9
  doctorFix?: boolean;
10
10
  }
11
+ export type DoctorInstallationMode = 'source-checkout' | 'installed-package' | 'production-runtime';
11
12
  export interface LocalSetupInfo {
12
13
  packageName: string;
13
14
  packageVersion: string;
14
15
  packageRoot: string;
16
+ installationMode?: DoctorInstallationMode;
15
17
  serverEntryPath: string;
16
18
  extensionPackagePath: string;
19
+ extensionChecksumPath?: string;
17
20
  serverEntryExists: boolean;
18
21
  extensionPackageExists: boolean;
22
+ extensionChecksumExists?: boolean;
23
+ serverEntryValid?: boolean;
24
+ extensionPackageValid?: boolean;
25
+ artifactIssues?: string[];
19
26
  }
20
27
  interface DoctorPortResult {
21
28
  port: number;
@@ -48,10 +55,12 @@ export interface UserServiceRuntimeStatus {
48
55
  }
49
56
  export interface DoctorReport {
50
57
  setup: LocalSetupInfo;
58
+ installationMode?: DoctorInstallationMode;
51
59
  nodeVersion: string;
52
60
  nodeSupported: boolean;
53
61
  pnpmVersion: string | null;
54
62
  pnpmSupported: boolean;
63
+ pnpmRequired?: boolean;
55
64
  userServiceRuntime?: UserServiceRuntimeStatus;
56
65
  envValid: boolean;
57
66
  envIssues: string[];
@@ -66,9 +75,17 @@ export interface DoctorReport {
66
75
  vendorDiagnostics?: Record<string, VendorDoctorStatus>;
67
76
  remoteBackend?: RemoteBackendDoctorStatus;
68
77
  }
78
+ export interface CreateDoctorReportOptions {
79
+ nodeEnv?: string;
80
+ pnpmVersion?: string | null;
81
+ }
69
82
  export declare function parseCliArgs(args: string[]): ParsedCliArgs;
70
83
  export declare function formatSetupLocalReport(setup?: LocalSetupInfo, nodeExecutablePath?: string): string;
71
- export declare function pnpmExecutableForPlatform(platform: NodeJS.Platform): string;
84
+ export interface PnpmVersionCommand {
85
+ executable: string;
86
+ args: string[];
87
+ }
88
+ export declare function pnpmVersionCommandForPlatform(platform: NodeJS.Platform, comSpec?: string | undefined): PnpmVersionCommand;
72
89
  export declare function inspectUserServiceRuntime(options?: {
73
90
  platform?: NodeJS.Platform;
74
91
  unitPath?: string;
@@ -76,7 +93,8 @@ export declare function inspectUserServiceRuntime(options?: {
76
93
  executableExists?: (path: string) => boolean;
77
94
  readNodeVersion?: (path: string) => Promise<string | null>;
78
95
  }): Promise<UserServiceRuntimeStatus>;
79
- export declare function createDoctorReport(packageRoot?: string): Promise<DoctorReport>;
96
+ export declare function createDoctorReport(packageRoot?: string, options?: CreateDoctorReportOptions): Promise<DoctorReport>;
97
+ export declare function doctorExitCode(report: DoctorReport): 0 | 1;
80
98
  export declare function formatDoctorReport(report: DoctorReport, options?: {
81
99
  fix?: boolean;
82
100
  }): string;