easyeda-mcp-pro 0.5.2 → 0.6.0

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 (67) hide show
  1. package/README.md +37 -24
  2. package/dist/bom-quality/types.js.map +1 -1
  3. package/dist/bridge/manager.js +3 -7
  4. package/dist/bridge/manager.js.map +1 -1
  5. package/dist/bridge/protocol.d.ts +13 -2
  6. package/dist/bridge/protocol.js +10 -3
  7. package/dist/bridge/protocol.js.map +1 -1
  8. package/dist/bridge/types.d.ts +27 -27
  9. package/dist/circuit/circuit-ir.d.ts +235 -0
  10. package/dist/circuit/circuit-ir.js +174 -3
  11. package/dist/circuit/circuit-ir.js.map +1 -1
  12. package/dist/circuit/compiler.js +106 -5
  13. package/dist/circuit/compiler.js.map +1 -1
  14. package/dist/cli/auto-setup.js +6 -4
  15. package/dist/cli/auto-setup.js.map +1 -1
  16. package/dist/cli/client-definitions.js.map +1 -1
  17. package/dist/cli/local-setup.d.ts +7 -0
  18. package/dist/cli/local-setup.js +42 -0
  19. package/dist/cli/local-setup.js.map +1 -1
  20. package/dist/config/env.d.ts +2 -0
  21. package/dist/config/env.js +11 -0
  22. package/dist/config/env.js.map +1 -1
  23. package/dist/config/feature-flags.d.ts +1 -0
  24. package/dist/config/feature-flags.js +1 -0
  25. package/dist/config/feature-flags.js.map +1 -1
  26. package/dist/config/profiles.js +5 -5
  27. package/dist/config/profiles.js.map +1 -1
  28. package/dist/config/version.d.ts +1 -1
  29. package/dist/config/version.js +1 -1
  30. package/dist/easyeda-runtime/inventory.d.ts +69 -0
  31. package/dist/easyeda-runtime/inventory.js +165 -0
  32. package/dist/easyeda-runtime/inventory.js.map +1 -0
  33. package/dist/export-manifest/validation.js +9 -18
  34. package/dist/export-manifest/validation.js.map +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/live/easyeda-smoke.d.ts +47 -0
  37. package/dist/live/easyeda-smoke.js +167 -0
  38. package/dist/live/easyeda-smoke.js.map +1 -0
  39. package/dist/net-validation/validation.js +16 -18
  40. package/dist/net-validation/validation.js.map +1 -1
  41. package/dist/safety/runtime-safety.d.ts +43 -0
  42. package/dist/safety/runtime-safety.js +137 -0
  43. package/dist/safety/runtime-safety.js.map +1 -0
  44. package/dist/server/factory.js +2 -0
  45. package/dist/server/factory.js.map +1 -1
  46. package/dist/server/resources-prompts.d.ts +3 -0
  47. package/dist/server/resources-prompts.js +176 -0
  48. package/dist/server/resources-prompts.js.map +1 -0
  49. package/dist/server/transports/http.d.ts +1 -0
  50. package/dist/server/transports/http.js +105 -23
  51. package/dist/server/transports/http.js.map +1 -1
  52. package/dist/tools/L0_diagnostics_api.js +43 -41
  53. package/dist/tools/L0_diagnostics_api.js.map +1 -1
  54. package/dist/tools/L0_diagnostics_core.js +24 -0
  55. package/dist/tools/L0_diagnostics_core.js.map +1 -1
  56. package/dist/tools/L1_schematic_read.js.map +1 -1
  57. package/dist/tools/L1_schematic_write.js +1 -4
  58. package/dist/tools/L1_schematic_write.js.map +1 -1
  59. package/dist/tools/registry.d.ts +3 -0
  60. package/dist/tools/registry.js +109 -12
  61. package/dist/tools/registry.js.map +1 -1
  62. package/dist/tools/transaction.d.ts +68 -0
  63. package/dist/tools/transaction.js +80 -0
  64. package/dist/tools/transaction.js.map +1 -0
  65. package/dist/tools/types.d.ts +13 -0
  66. package/easyeda-bridge-extension.eext +0 -0
  67. package/package.json +15 -10
@@ -1,2 +1,2 @@
1
- export const SERVER_VERSION = '0.5.2';
1
+ export const SERVER_VERSION = '0.6.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,69 @@
1
+ import { z } from 'zod';
2
+ import { type BridgeManager } from '../bridge/manager.js';
3
+ import { type BridgeHello } from '../bridge/protocol.js';
4
+ export declare const RUNTIME_INVENTORY_SCHEMA_VERSION = 1;
5
+ export declare const RuntimeInventoryClassSchema: z.ZodObject<{
6
+ className: z.ZodString;
7
+ runtimePaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
8
+ methods: z.ZodDefault<z.ZodArray<z.ZodString>>;
9
+ }, z.core.$strip>;
10
+ export declare const RuntimeInventorySnapshotSchema: z.ZodObject<{
11
+ schemaVersion: z.ZodLiteral<1>;
12
+ generatedAt: z.ZodString;
13
+ filter: z.ZodOptional<z.ZodString>;
14
+ easyedaVersion: z.ZodOptional<z.ZodString>;
15
+ bridgeVersion: z.ZodOptional<z.ZodString>;
16
+ methodRegistryHash: z.ZodOptional<z.ZodString>;
17
+ total: z.ZodNumber;
18
+ classes: z.ZodArray<z.ZodObject<{
19
+ className: z.ZodString;
20
+ runtimePaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
21
+ methods: z.ZodDefault<z.ZodArray<z.ZodString>>;
22
+ }, z.core.$strip>>;
23
+ }, z.core.$strip>;
24
+ export type RuntimeInventoryClass = z.infer<typeof RuntimeInventoryClassSchema>;
25
+ export type RuntimeInventorySnapshot = z.infer<typeof RuntimeInventorySnapshotSchema>;
26
+ export interface RuntimeInventoryCaptureConfig {
27
+ enabled: boolean;
28
+ filter?: string;
29
+ outputPath: string;
30
+ timeoutMs: number;
31
+ }
32
+ export interface RuntimeInventoryClassDiff {
33
+ className: string;
34
+ addedRuntimePaths: string[];
35
+ removedRuntimePaths: string[];
36
+ addedMethods: string[];
37
+ removedMethods: string[];
38
+ }
39
+ export interface RuntimeInventoryDiff {
40
+ status: 'same' | 'changed';
41
+ baseTotal: number;
42
+ currentTotal: number;
43
+ addedClasses: RuntimeInventoryClass[];
44
+ removedClasses: RuntimeInventoryClass[];
45
+ changedClasses: RuntimeInventoryClassDiff[];
46
+ summary: {
47
+ addedClasses: number;
48
+ removedClasses: number;
49
+ changedClasses: number;
50
+ addedMethods: number;
51
+ removedMethods: number;
52
+ };
53
+ }
54
+ export declare function normalizeRuntimeInventoryClasses(classes: RuntimeInventoryClass[]): RuntimeInventoryClass[];
55
+ export declare function createRuntimeInventorySnapshot(input: {
56
+ classes: RuntimeInventoryClass[];
57
+ filter?: string;
58
+ hello?: BridgeHello | null;
59
+ methodRegistryHash?: string;
60
+ generatedAt?: string;
61
+ }): RuntimeInventorySnapshot;
62
+ export declare function parseBooleanEnv(value: string | undefined): boolean;
63
+ export declare function parseRuntimeInventoryCaptureConfig(env: Record<string, string | undefined>): RuntimeInventoryCaptureConfig;
64
+ export declare function validateRuntimeInventoryCaptureConfig(config: RuntimeInventoryCaptureConfig): string[];
65
+ export declare function captureRuntimeInventorySnapshot(bridge: Pick<BridgeManager, 'connect' | 'disconnect' | 'call' | 'hello' | 'methodRegistryHash'>, config: RuntimeInventoryCaptureConfig): Promise<RuntimeInventorySnapshot | null>;
66
+ export declare function diffRuntimeInventorySnapshots(base: RuntimeInventorySnapshot, current: RuntimeInventorySnapshot): RuntimeInventoryDiff;
67
+ export declare function readRuntimeInventorySnapshot(path: string): Promise<RuntimeInventorySnapshot>;
68
+ export declare function writeRuntimeInventorySnapshot(path: string, snapshot: RuntimeInventorySnapshot): Promise<void>;
69
+ export declare function writeRuntimeInventoryDiff(path: string, diff: RuntimeInventoryDiff): Promise<void>;
@@ -0,0 +1,165 @@
1
+ import { mkdir, readFile, writeFile } from 'node:fs/promises';
2
+ import { dirname } from 'node:path';
3
+ import { z } from 'zod';
4
+ export const RUNTIME_INVENTORY_SCHEMA_VERSION = 1;
5
+ export const RuntimeInventoryClassSchema = z.object({
6
+ className: z.string().min(1),
7
+ runtimePaths: z.array(z.string()).default([]),
8
+ methods: z.array(z.string()).default([]),
9
+ });
10
+ export const RuntimeInventorySnapshotSchema = z.object({
11
+ schemaVersion: z.literal(RUNTIME_INVENTORY_SCHEMA_VERSION),
12
+ generatedAt: z.string(),
13
+ filter: z.string().optional(),
14
+ easyedaVersion: z.string().optional(),
15
+ bridgeVersion: z.string().optional(),
16
+ methodRegistryHash: z.string().optional(),
17
+ total: z.number().int().nonnegative(),
18
+ classes: z.array(RuntimeInventoryClassSchema),
19
+ });
20
+ function sortedUnique(values) {
21
+ return Array.from(new Set(values.filter((value) => value.trim()).map((value) => value.trim()))).sort();
22
+ }
23
+ export function normalizeRuntimeInventoryClasses(classes) {
24
+ return classes
25
+ .map((entry) => ({
26
+ className: entry.className.trim(),
27
+ runtimePaths: sortedUnique(entry.runtimePaths),
28
+ methods: sortedUnique(entry.methods),
29
+ }))
30
+ .filter((entry) => entry.className.length > 0)
31
+ .sort((a, b) => a.className.localeCompare(b.className));
32
+ }
33
+ export function createRuntimeInventorySnapshot(input) {
34
+ const classes = normalizeRuntimeInventoryClasses(input.classes);
35
+ return RuntimeInventorySnapshotSchema.parse({
36
+ schemaVersion: RUNTIME_INVENTORY_SCHEMA_VERSION,
37
+ generatedAt: input.generatedAt ?? new Date().toISOString(),
38
+ filter: input.filter || undefined,
39
+ easyedaVersion: input.hello?.easyedaVersion,
40
+ bridgeVersion: input.hello?.bridgeVersion,
41
+ methodRegistryHash: input.hello?.methodRegistryHash ?? input.methodRegistryHash,
42
+ total: classes.length,
43
+ classes,
44
+ });
45
+ }
46
+ export function parseBooleanEnv(value) {
47
+ if (!value)
48
+ return false;
49
+ return ['1', 'true', 'yes', 'on'].includes(value.trim().toLowerCase());
50
+ }
51
+ export function parseRuntimeInventoryCaptureConfig(env) {
52
+ return {
53
+ enabled: parseBooleanEnv(env.EASYEDA_RUNTIME_INVENTORY_CAPTURE),
54
+ filter: env.EASYEDA_RUNTIME_INVENTORY_FILTER?.trim() || undefined,
55
+ outputPath: env.EASYEDA_RUNTIME_INVENTORY_PATH?.trim() ||
56
+ '.easyeda-mcp-pro/runtime-inventory/latest.json',
57
+ timeoutMs: Number.parseInt(env.EASYEDA_RUNTIME_INVENTORY_TIMEOUT_MS ?? '30000', 10),
58
+ };
59
+ }
60
+ export function validateRuntimeInventoryCaptureConfig(config) {
61
+ const errors = [];
62
+ if (!Number.isFinite(config.timeoutMs) ||
63
+ config.timeoutMs < 1_000 ||
64
+ config.timeoutMs > 120_000) {
65
+ errors.push('EASYEDA_RUNTIME_INVENTORY_TIMEOUT_MS must be between 1000 and 120000.');
66
+ }
67
+ return errors;
68
+ }
69
+ export async function captureRuntimeInventorySnapshot(bridge, config) {
70
+ if (!config.enabled)
71
+ return null;
72
+ const errors = validateRuntimeInventoryCaptureConfig(config);
73
+ if (errors.length > 0)
74
+ throw new Error(errors.join(' '));
75
+ await bridge.connect();
76
+ try {
77
+ const response = await bridge.call('system.apiInventory', { filter: config.filter }, { timeoutMs: config.timeoutMs });
78
+ return createRuntimeInventorySnapshot({
79
+ classes: response.classes,
80
+ filter: config.filter,
81
+ hello: bridge.hello,
82
+ methodRegistryHash: bridge.methodRegistryHash,
83
+ });
84
+ }
85
+ finally {
86
+ bridge.disconnect('runtime inventory capture complete');
87
+ }
88
+ }
89
+ function mapByClassName(snapshot) {
90
+ return new Map(snapshot.classes.map((entry) => [entry.className, entry]));
91
+ }
92
+ function difference(current, base) {
93
+ const baseSet = new Set(base);
94
+ return current.filter((value) => !baseSet.has(value));
95
+ }
96
+ export function diffRuntimeInventorySnapshots(base, current) {
97
+ const normalizedBase = createRuntimeInventorySnapshot({
98
+ classes: base.classes,
99
+ filter: base.filter,
100
+ generatedAt: base.generatedAt,
101
+ });
102
+ const normalizedCurrent = createRuntimeInventorySnapshot({
103
+ classes: current.classes,
104
+ filter: current.filter,
105
+ generatedAt: current.generatedAt,
106
+ });
107
+ const baseMap = mapByClassName(normalizedBase);
108
+ const currentMap = mapByClassName(normalizedCurrent);
109
+ const addedClasses = normalizedCurrent.classes.filter((entry) => !baseMap.has(entry.className));
110
+ const removedClasses = normalizedBase.classes.filter((entry) => !currentMap.has(entry.className));
111
+ const changedClasses = [];
112
+ for (const [className, currentEntry] of currentMap) {
113
+ const baseEntry = baseMap.get(className);
114
+ if (!baseEntry)
115
+ continue;
116
+ const classDiff = {
117
+ className,
118
+ addedRuntimePaths: difference(currentEntry.runtimePaths, baseEntry.runtimePaths),
119
+ removedRuntimePaths: difference(baseEntry.runtimePaths, currentEntry.runtimePaths),
120
+ addedMethods: difference(currentEntry.methods, baseEntry.methods),
121
+ removedMethods: difference(baseEntry.methods, currentEntry.methods),
122
+ };
123
+ if (classDiff.addedRuntimePaths.length > 0 ||
124
+ classDiff.removedRuntimePaths.length > 0 ||
125
+ classDiff.addedMethods.length > 0 ||
126
+ classDiff.removedMethods.length > 0) {
127
+ changedClasses.push(classDiff);
128
+ }
129
+ }
130
+ const summary = {
131
+ addedClasses: addedClasses.length,
132
+ removedClasses: removedClasses.length,
133
+ changedClasses: changedClasses.length,
134
+ addedMethods: changedClasses.reduce((sum, entry) => sum + entry.addedMethods.length, 0),
135
+ removedMethods: changedClasses.reduce((sum, entry) => sum + entry.removedMethods.length, 0),
136
+ };
137
+ const status = summary.addedClasses === 0 &&
138
+ summary.removedClasses === 0 &&
139
+ summary.changedClasses === 0 &&
140
+ summary.addedMethods === 0 &&
141
+ summary.removedMethods === 0
142
+ ? 'same'
143
+ : 'changed';
144
+ return {
145
+ status,
146
+ baseTotal: normalizedBase.total,
147
+ currentTotal: normalizedCurrent.total,
148
+ addedClasses,
149
+ removedClasses,
150
+ changedClasses,
151
+ summary,
152
+ };
153
+ }
154
+ export async function readRuntimeInventorySnapshot(path) {
155
+ return RuntimeInventorySnapshotSchema.parse(JSON.parse(await readFile(path, 'utf8')));
156
+ }
157
+ export async function writeRuntimeInventorySnapshot(path, snapshot) {
158
+ await mkdir(dirname(path), { recursive: true });
159
+ await writeFile(path, `${JSON.stringify(RuntimeInventorySnapshotSchema.parse(snapshot), null, 2)}\n`, 'utf8');
160
+ }
161
+ export async function writeRuntimeInventoryDiff(path, diff) {
162
+ await mkdir(dirname(path), { recursive: true });
163
+ await writeFile(path, `${JSON.stringify(diff, null, 2)}\n`, 'utf8');
164
+ }
165
+ //# sourceMappingURL=inventory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../src/easyeda-runtime/inventory.ts"],"names":[],"mappings":"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"}
@@ -44,8 +44,7 @@ function checkSourceProject(input) {
44
44
  }));
45
45
  }
46
46
  // Check each artifact for source project
47
- for (let i = 0; i < input.artifacts.length; i++) {
48
- const artifact = input.artifacts[i];
47
+ for (const [i, artifact] of input.artifacts.entries()) {
49
48
  if (!artifact.sourceProject || artifact.sourceProject.trim().length === 0) {
50
49
  issues.push(manifestWarning(ExportManifestCode.MISSING_SOURCE_PROJECT, `Artifact "${artifact.filename}" is missing a source project reference`, {
51
50
  path: `artifacts[${i}]`,
@@ -67,8 +66,7 @@ function checkGeneratedTimestamps(input) {
67
66
  }));
68
67
  }
69
68
  // Check per-artifact timestamps
70
- for (let i = 0; i < input.artifacts.length; i++) {
71
- const artifact = input.artifacts[i];
69
+ for (const [i, artifact] of input.artifacts.entries()) {
72
70
  if (!artifact.timestamp || artifact.timestamp.trim().length === 0) {
73
71
  issues.push(manifestWarning(ExportManifestCode.MISSING_GENERATED_TIMESTAMP, `Artifact "${artifact.filename}" is missing a generation timestamp`, {
74
72
  path: `artifacts[${i}]`,
@@ -82,8 +80,7 @@ function checkGeneratedTimestamps(input) {
82
80
  // ── Rule: missing purpose ────────────────────────────────────────────────────
83
81
  function checkMissingPurposes(input) {
84
82
  const issues = [];
85
- for (let i = 0; i < input.artifacts.length; i++) {
86
- const artifact = input.artifacts[i];
83
+ for (const [i, artifact] of input.artifacts.entries()) {
87
84
  if (!artifact.purpose || artifact.purpose.trim().length === 0) {
88
85
  issues.push(manifestWarning(ExportManifestCode.MISSING_PURPOSE, `Artifact "${artifact.filename}" is missing a purpose description`, {
89
86
  path: `artifacts[${i}]`,
@@ -97,8 +94,7 @@ function checkMissingPurposes(input) {
97
94
  // ── Rule: empty files ────────────────────────────────────────────────────────
98
95
  function checkEmptyFiles(input) {
99
96
  const issues = [];
100
- for (let i = 0; i < input.artifacts.length; i++) {
101
- const artifact = input.artifacts[i];
97
+ for (const [i, artifact] of input.artifacts.entries()) {
102
98
  if (artifact.fileSize !== undefined && artifact.fileSize === 0) {
103
99
  issues.push(manifestError(ExportManifestCode.EMPTY_FILE, `Artifact "${artifact.filename}" is empty (0 bytes)`, {
104
100
  path: `artifacts[${i}]`,
@@ -114,8 +110,7 @@ function checkEmptyFiles(input) {
114
110
  // ── Rule: stale files ────────────────────────────────────────────────────────
115
111
  function checkStaleFiles(input) {
116
112
  const issues = [];
117
- for (let i = 0; i < input.artifacts.length; i++) {
118
- const artifact = input.artifacts[i];
113
+ for (const [i, artifact] of input.artifacts.entries()) {
119
114
  if (artifact.stale) {
120
115
  issues.push(manifestWarning(ExportManifestCode.STALE_FILE, `Artifact "${artifact.filename}" is stale and may not reflect the current design`, {
121
116
  path: `artifacts[${i}]`,
@@ -131,8 +126,7 @@ function checkStaleFiles(input) {
131
126
  // ── Rule: checksum mismatch ─────────────────────────────────────────────────
132
127
  function checkChecksumMismatches(input) {
133
128
  const issues = [];
134
- for (let i = 0; i < input.artifacts.length; i++) {
135
- const artifact = input.artifacts[i];
129
+ for (const [i, artifact] of input.artifacts.entries()) {
136
130
  if (artifact.checksum !== undefined &&
137
131
  artifact.checksum !== null &&
138
132
  artifact.checksum.trim().length > 0 &&
@@ -163,8 +157,7 @@ function checkMissingRequiredFiles(input) {
163
157
  return issues;
164
158
  }
165
159
  const exportedNames = new Set(input.artifacts.map((a) => a.filename));
166
- for (let i = 0; i < input.expectedArtifacts.length; i++) {
167
- const expected = input.expectedArtifacts[i];
160
+ for (const [i, expected] of input.expectedArtifacts.entries()) {
168
161
  const isRequired = expected.required ?? true; // default to required
169
162
  if (isRequired && !exportedNames.has(expected.filename)) {
170
163
  issues.push(manifestError(ExportManifestCode.MISSING_REQUIRED_FILE, `Required artifact "${expected.filename}" (${expected.fileType}) was not found in the export output`, {
@@ -187,8 +180,7 @@ function checkUnexpectedFiles(input) {
187
180
  return issues;
188
181
  }
189
182
  const expectedNames = new Set(input.expectedArtifacts.map((a) => a.filename));
190
- for (let i = 0; i < input.artifacts.length; i++) {
191
- const artifact = input.artifacts[i];
183
+ for (const [i, artifact] of input.artifacts.entries()) {
192
184
  if (!expectedNames.has(artifact.filename)) {
193
185
  issues.push(manifestWarning(ExportManifestCode.UNEXPECTED_FILE, `Unexpected artifact "${artifact.filename}" was found but is not listed in expected artifacts`, {
194
186
  path: `artifacts[${i}]`,
@@ -212,8 +204,7 @@ function checkWrongFileTypes(input) {
212
204
  for (const expected of input.expectedArtifacts) {
213
205
  expectedTypeByFile.set(expected.filename, expected.fileType);
214
206
  }
215
- for (let i = 0; i < input.artifacts.length; i++) {
216
- const artifact = input.artifacts[i];
207
+ for (const [i, artifact] of input.artifacts.entries()) {
217
208
  const expectedType = expectedTypeByFile.get(artifact.filename);
218
209
  if (expectedType && artifact.fileType !== expectedType) {
219
210
  issues.push(manifestError(ExportManifestCode.WRONG_FILE_TYPE, `Artifact "${artifact.filename}" has type "${artifact.fileType}" but expected "${expectedType}"`, {
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/export-manifest/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/export-manifest/validation.ts"],"names":[],"mappings":"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"}
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":"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"}
@@ -0,0 +1,47 @@
1
+ import { type BridgeManager } from '../bridge/manager.js';
2
+ export type LiveSmokeStatus = 'skipped' | 'passed' | 'failed';
3
+ export type LiveSmokeCheckKind = 'bridge' | 'schematic' | 'bom' | 'design' | 'system';
4
+ export interface LiveSmokeConfig {
5
+ enabled: boolean;
6
+ projectId: string;
7
+ writeEnabled: boolean;
8
+ outputPath: string;
9
+ timeoutMs: number;
10
+ }
11
+ export interface LiveSmokeCheck {
12
+ id: string;
13
+ title: string;
14
+ kind: LiveSmokeCheckKind;
15
+ method: string;
16
+ params: Record<string, unknown>;
17
+ mutates: boolean;
18
+ requiredForReadOnly: boolean;
19
+ }
20
+ export interface LiveSmokeCheckResult {
21
+ id: string;
22
+ title: string;
23
+ kind: LiveSmokeCheckKind;
24
+ method: string;
25
+ status: 'passed' | 'failed';
26
+ durationMs: number;
27
+ mutates: boolean;
28
+ error?: string;
29
+ }
30
+ export interface LiveSmokeReport {
31
+ status: LiveSmokeStatus;
32
+ generatedAt: string;
33
+ projectId: string;
34
+ easyedaVersion?: string;
35
+ bridgeVersion?: string;
36
+ methodRegistryHash?: string;
37
+ writeEnabled: boolean;
38
+ checks: LiveSmokeCheckResult[];
39
+ skippedReason?: string;
40
+ }
41
+ export declare function parseBooleanEnv(value: string | undefined): boolean;
42
+ export declare function parseLiveSmokeConfig(env: Record<string, string | undefined>): LiveSmokeConfig;
43
+ export declare function validateLiveSmokeConfig(config: LiveSmokeConfig): string[];
44
+ export declare function buildLiveSmokeChecks(config: LiveSmokeConfig): LiveSmokeCheck[];
45
+ export declare function skippedLiveSmokeReport(reason: string, config: LiveSmokeConfig): LiveSmokeReport;
46
+ export declare function runLiveSmokeChecks(bridge: Pick<BridgeManager, 'connect' | 'disconnect' | 'call' | 'hello' | 'methodRegistryHash'>, config: LiveSmokeConfig): Promise<LiveSmokeReport>;
47
+ export declare function writeLiveSmokeReport(path: string, report: LiveSmokeReport): Promise<void>;
@@ -0,0 +1,167 @@
1
+ import { writeFile } from 'node:fs/promises';
2
+ import { dirname } from 'node:path';
3
+ import { mkdir } from 'node:fs/promises';
4
+ export function parseBooleanEnv(value) {
5
+ if (!value)
6
+ return false;
7
+ return ['1', 'true', 'yes', 'on'].includes(value.trim().toLowerCase());
8
+ }
9
+ export function parseLiveSmokeConfig(env) {
10
+ return {
11
+ enabled: parseBooleanEnv(env.EASYEDA_LIVE_TESTS),
12
+ projectId: env.EASYEDA_TEST_PROJECT_ID?.trim() ?? '',
13
+ writeEnabled: parseBooleanEnv(env.EASYEDA_LIVE_WRITE_TESTS),
14
+ outputPath: env.EASYEDA_LIVE_REPORT_PATH?.trim() || '.easyeda-mcp-pro/live-smoke-report.json',
15
+ timeoutMs: Number.parseInt(env.EASYEDA_LIVE_TIMEOUT_MS ?? '30000', 10),
16
+ };
17
+ }
18
+ export function validateLiveSmokeConfig(config) {
19
+ const errors = [];
20
+ if (config.enabled && !config.projectId) {
21
+ errors.push('EASYEDA_TEST_PROJECT_ID is required when EASYEDA_LIVE_TESTS=true.');
22
+ }
23
+ if (!Number.isFinite(config.timeoutMs) ||
24
+ config.timeoutMs < 1_000 ||
25
+ config.timeoutMs > 120_000) {
26
+ errors.push('EASYEDA_LIVE_TIMEOUT_MS must be between 1000 and 120000.');
27
+ }
28
+ return errors;
29
+ }
30
+ export function buildLiveSmokeChecks(config) {
31
+ const projectParams = { projectId: config.projectId };
32
+ const checks = [
33
+ {
34
+ id: 'system_status',
35
+ title: 'Read EasyEDA bridge system status',
36
+ kind: 'system',
37
+ method: 'system.getStatus',
38
+ params: {},
39
+ mutates: false,
40
+ requiredForReadOnly: true,
41
+ },
42
+ {
43
+ id: 'api_inventory',
44
+ title: 'Read EasyEDA runtime API inventory',
45
+ kind: 'system',
46
+ method: 'system.apiInventory',
47
+ params: {},
48
+ mutates: false,
49
+ requiredForReadOnly: true,
50
+ },
51
+ {
52
+ id: 'schematic_nets',
53
+ title: 'List schematic nets',
54
+ kind: 'schematic',
55
+ method: 'schematic.listNets',
56
+ params: projectParams,
57
+ mutates: false,
58
+ requiredForReadOnly: true,
59
+ },
60
+ {
61
+ id: 'schematic_components',
62
+ title: 'List schematic components',
63
+ kind: 'schematic',
64
+ method: 'schematic.listComponents',
65
+ params: projectParams,
66
+ mutates: false,
67
+ requiredForReadOnly: true,
68
+ },
69
+ {
70
+ id: 'bom_generate',
71
+ title: 'Generate BOM snapshot',
72
+ kind: 'bom',
73
+ method: 'bom.generate',
74
+ params: { ...projectParams, format: 'json', groupBy: 'value' },
75
+ mutates: false,
76
+ requiredForReadOnly: true,
77
+ },
78
+ {
79
+ id: 'erc_check',
80
+ title: 'Run ERC check',
81
+ kind: 'design',
82
+ method: 'design.erc',
83
+ params: projectParams,
84
+ mutates: false,
85
+ requiredForReadOnly: true,
86
+ },
87
+ ];
88
+ if (config.writeEnabled) {
89
+ checks.push({
90
+ id: 'project_save',
91
+ title: 'Save test project after explicit live write opt-in',
92
+ kind: 'bridge',
93
+ method: 'project.save',
94
+ params: projectParams,
95
+ mutates: true,
96
+ requiredForReadOnly: false,
97
+ });
98
+ }
99
+ return checks;
100
+ }
101
+ export function skippedLiveSmokeReport(reason, config) {
102
+ return {
103
+ status: 'skipped',
104
+ generatedAt: new Date().toISOString(),
105
+ projectId: config.projectId,
106
+ writeEnabled: config.writeEnabled,
107
+ checks: [],
108
+ skippedReason: reason,
109
+ };
110
+ }
111
+ export async function runLiveSmokeChecks(bridge, config) {
112
+ const errors = validateLiveSmokeConfig(config);
113
+ if (!config.enabled)
114
+ return skippedLiveSmokeReport('EASYEDA_LIVE_TESTS is not enabled.', config);
115
+ if (errors.length > 0)
116
+ throw new Error(errors.join(' '));
117
+ await bridge.connect();
118
+ const hello = bridge.hello;
119
+ const results = [];
120
+ try {
121
+ for (const check of buildLiveSmokeChecks(config)) {
122
+ const startedAt = Date.now();
123
+ try {
124
+ await bridge.call(check.method, check.params, { timeoutMs: config.timeoutMs });
125
+ results.push({
126
+ id: check.id,
127
+ title: check.title,
128
+ kind: check.kind,
129
+ method: check.method,
130
+ status: 'passed',
131
+ durationMs: Date.now() - startedAt,
132
+ mutates: check.mutates,
133
+ });
134
+ }
135
+ catch (error) {
136
+ results.push({
137
+ id: check.id,
138
+ title: check.title,
139
+ kind: check.kind,
140
+ method: check.method,
141
+ status: 'failed',
142
+ durationMs: Date.now() - startedAt,
143
+ mutates: check.mutates,
144
+ error: error instanceof Error ? error.message : String(error),
145
+ });
146
+ }
147
+ }
148
+ }
149
+ finally {
150
+ bridge.disconnect('live smoke complete');
151
+ }
152
+ return {
153
+ status: results.every((result) => result.status === 'passed') ? 'passed' : 'failed',
154
+ generatedAt: new Date().toISOString(),
155
+ projectId: config.projectId,
156
+ easyedaVersion: hello?.easyedaVersion,
157
+ bridgeVersion: hello?.bridgeVersion,
158
+ methodRegistryHash: hello?.methodRegistryHash ?? bridge.methodRegistryHash,
159
+ writeEnabled: config.writeEnabled,
160
+ checks: results,
161
+ };
162
+ }
163
+ export async function writeLiveSmokeReport(path, report) {
164
+ await mkdir(dirname(path), { recursive: true });
165
+ await writeFile(path, `${JSON.stringify(report, null, 2)}\n`, 'utf8');
166
+ }
167
+ //# sourceMappingURL=easyeda-smoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easyeda-smoke.js","sourceRoot":"","sources":["../../src/live/easyeda-smoke.ts"],"names":[],"mappings":"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"}