easyeda-mcp-pro 0.2.0 → 0.3.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 (60) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -19
  3. package/dist/bridge/manager.d.ts +18 -11
  4. package/dist/bridge/manager.js +164 -113
  5. package/dist/bridge/manager.js.map +1 -1
  6. package/dist/bridge/protocol.d.ts +2 -4
  7. package/dist/bridge/protocol.js +2 -0
  8. package/dist/bridge/protocol.js.map +1 -1
  9. package/dist/bridge/types.d.ts +11 -42
  10. package/dist/bridge/types.js +3 -0
  11. package/dist/bridge/types.js.map +1 -1
  12. package/dist/config/env.d.ts +1 -0
  13. package/dist/config/env.js +1 -0
  14. package/dist/config/env.js.map +1 -1
  15. package/dist/config/profiles.js +6 -6
  16. package/dist/config/profiles.js.map +1 -1
  17. package/dist/index.d.ts +1 -2
  18. package/dist/index.js +22 -64
  19. package/dist/index.js.map +1 -1
  20. package/dist/schemas/common.d.ts +1 -108
  21. package/dist/schemas/common.js +0 -62
  22. package/dist/schemas/common.js.map +1 -1
  23. package/dist/server/factory.d.ts +6 -3
  24. package/dist/server/factory.js +18 -12
  25. package/dist/server/factory.js.map +1 -1
  26. package/dist/server/transports/http.js +83 -0
  27. package/dist/server/transports/http.js.map +1 -1
  28. package/dist/storage/database.js +5 -4
  29. package/dist/storage/database.js.map +1 -1
  30. package/dist/storage/types.d.ts +0 -9
  31. package/dist/storage/types.js +1 -8
  32. package/dist/storage/types.js.map +1 -1
  33. package/dist/tools/L0_diagnostics.js +28 -7
  34. package/dist/tools/L0_diagnostics.js.map +1 -1
  35. package/dist/tools/L1_board.js +43 -15
  36. package/dist/tools/L1_board.js.map +1 -1
  37. package/dist/tools/L1_bom.js +18 -0
  38. package/dist/tools/L1_bom.js.map +1 -1
  39. package/dist/tools/register.d.ts +3 -0
  40. package/dist/tools/register.js +15 -0
  41. package/dist/tools/register.js.map +1 -0
  42. package/dist/tools/registry.d.ts +2 -2
  43. package/dist/tools/registry.js +17 -16
  44. package/dist/tools/registry.js.map +1 -1
  45. package/dist/tools/types.d.ts +2 -21
  46. package/dist/vendors/jlcpcb/client.d.ts +3 -2
  47. package/dist/vendors/lcsc/client.d.ts +0 -9
  48. package/dist/vendors/lcsc/client.js.map +1 -1
  49. package/dist/vendors/mouser/client.d.ts +2 -5
  50. package/dist/vendors/mouser/client.js.map +1 -1
  51. package/package.json +7 -5
  52. package/dist/bridge/client.d.ts +0 -16
  53. package/dist/bridge/client.js +0 -48
  54. package/dist/bridge/client.js.map +0 -1
  55. package/dist/bridge/extension.d.ts +0 -26
  56. package/dist/bridge/extension.js +0 -556
  57. package/dist/bridge/extension.js.map +0 -1
  58. package/dist/server/errors.d.ts +0 -3
  59. package/dist/server/errors.js +0 -59
  60. package/dist/server/errors.js.map +0 -1
@@ -4,6 +4,8 @@ export declare const BridgeHandshakeSchema: z.ZodObject<{
4
4
  protocol: z.ZodLiteral<"easyeda-mcp-pro.bridge">;
5
5
  protocolVersion: z.ZodLiteral<"1.0.0">;
6
6
  clientName: z.ZodLiteral<"easyeda-mcp-pro">;
7
+ easyedaVersion: z.ZodOptional<z.ZodString>;
8
+ devMode: z.ZodOptional<z.ZodBoolean>;
7
9
  sessionToken: z.ZodOptional<z.ZodString>;
8
10
  }, z.core.$strip>;
9
11
  export declare const BridgeHelloSchema: z.ZodObject<{
@@ -51,11 +53,7 @@ export declare const BridgeHeartbeatSchema: z.ZodObject<{
51
53
  type: z.ZodLiteral<"heartbeat">;
52
54
  timestamp: z.ZodNumber;
53
55
  }, z.core.$strip>;
54
- export type BridgeHandshake = z.infer<typeof BridgeHandshakeSchema>;
55
56
  export type BridgeHello = z.infer<typeof BridgeHelloSchema>;
56
- export type BridgeRequest<TParams = unknown> = Omit<z.infer<typeof BridgeRequestSchema>, 'params'> & {
57
- params?: TParams;
58
- };
59
57
  export type BridgeResponse<TResult = unknown> = Omit<z.infer<typeof BridgeResponseSchema>, 'result' | 'error'> & {
60
58
  result?: TResult;
61
59
  error?: {
@@ -4,6 +4,8 @@ export const BridgeHandshakeSchema = z.object({
4
4
  protocol: z.literal('easyeda-mcp-pro.bridge'),
5
5
  protocolVersion: z.literal('1.0.0'),
6
6
  clientName: z.literal('easyeda-mcp-pro'),
7
+ easyedaVersion: z.string().optional(),
8
+ devMode: z.boolean().optional(),
7
9
  sessionToken: z.string().optional(),
8
10
  });
9
11
  export const BridgeHelloSchema = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/bridge/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;IAC7C,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACxC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YACX,kBAAkB;YAClB,oBAAoB;YACpB,kBAAkB;YAClB,mBAAmB;YACnB,SAAS;YACT,gBAAgB;YAChB,cAAc;YACd,mBAAmB;YACnB,SAAS;SACV,CAAC;QACF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC5B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC;SACD,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/bridge/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;IAC7C,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACxC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YACX,kBAAkB;YAClB,oBAAoB;YACpB,kBAAkB;YAClB,mBAAmB;YACnB,SAAS;YACT,gBAAgB;YAChB,cAAc;YACd,mBAAmB;YACnB,SAAS;SACV,CAAC;QACF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC5B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC;SACD,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
@@ -1,52 +1,21 @@
1
1
  import { z } from 'zod';
2
2
  export declare const EasyedaApiMethodSchema: z.ZodEnum<{
3
+ "project.open": "project.open";
4
+ "project.save": "project.save";
5
+ "project.export": "project.export";
3
6
  "schematic.listNets": "schematic.listNets";
4
7
  "schematic.listComponents": "schematic.listComponents";
5
- "bom.generate": "bom.generate";
6
- "bom.validate": "bom.validate";
7
- "inventory.search": "inventory.search";
8
- "design.drc": "design.drc";
9
- "design.erc": "design.erc";
10
8
  "board.listLayers": "board.listLayers";
11
9
  "board.getStackup": "board.getStackup";
10
+ "board.getDimensions": "board.getDimensions";
11
+ "board.getFeatures": "board.getFeatures";
12
12
  "board.exportGerbers": "board.exportGerbers";
13
- "project.export": "project.export";
14
- "project.open": "project.open";
15
- "project.save": "project.save";
13
+ "bom.generate": "bom.generate";
14
+ "bom.validate": "bom.validate";
15
+ "inventory.search": "inventory.search";
16
16
  "inventory.getPrice": "inventory.getPrice";
17
17
  "design.ruleCheck": "design.ruleCheck";
18
+ "design.erc": "design.erc";
19
+ "design.drc": "design.drc";
20
+ "system.getStatus": "system.getStatus";
18
21
  }>;
19
- export type EasyedaApiMethod = z.infer<typeof EasyedaApiMethodSchema>;
20
- export interface BridgeCallOptions {
21
- timeoutMs?: number;
22
- signal?: AbortSignal;
23
- }
24
- export interface BridgeCallResult<T = unknown> {
25
- success: boolean;
26
- data?: T;
27
- error?: {
28
- code: string;
29
- message: string;
30
- };
31
- }
32
- export interface EasyedaProjectInfo {
33
- id: string;
34
- name: string;
35
- path: string;
36
- modifiedAt: string;
37
- }
38
- export interface EasyedaSchematicNet {
39
- netName: string;
40
- nodes: Array<{
41
- component: string;
42
- pin: string;
43
- }>;
44
- }
45
- export interface EasyedaComponent {
46
- reference: string;
47
- value: string;
48
- footprint: string;
49
- lcsc?: string;
50
- manufacturer?: string;
51
- datasheet?: string;
52
- }
@@ -7,6 +7,8 @@ export const EasyedaApiMethodSchema = z.enum([
7
7
  'schematic.listComponents',
8
8
  'board.listLayers',
9
9
  'board.getStackup',
10
+ 'board.getDimensions',
11
+ 'board.getFeatures',
10
12
  'board.exportGerbers',
11
13
  'bom.generate',
12
14
  'bom.validate',
@@ -15,5 +17,6 @@ export const EasyedaApiMethodSchema = z.enum([
15
17
  'design.ruleCheck',
16
18
  'design.erc',
17
19
  'design.drc',
20
+ 'system.getStatus',
18
21
  ]);
19
22
  //# sourceMappingURL=types.js.map
@@ -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,0BAA0B;IAC1B,kBAAkB;IAClB,kBAAkB;IAClB,qBAAqB;IACrB,cAAc;IACd,cAAc;IACd,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,YAAY;IACZ,YAAY;CACb,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,0BAA0B;IAC1B,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;CACnB,CAAC,CAAC"}
@@ -29,6 +29,7 @@ export declare const EnvSchema: z.ZodObject<{
29
29
  HTTP_HOST: z.ZodDefault<z.ZodString>;
30
30
  HTTP_PORT: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
31
31
  HTTP_AUTH_DISABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
32
+ HTTP_RATE_LIMIT_MAX: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
32
33
  CORS_ORIGIN: z.ZodDefault<z.ZodString>;
33
34
  MCP_TASKS_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
34
35
  MCP_APPS_ENABLED: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
@@ -19,6 +19,7 @@ export const EnvSchema = z.object({
19
19
  HTTP_HOST: z.string().default('127.0.0.1'),
20
20
  HTTP_PORT: z.coerce.number().int().min(1).max(65535).default(3000),
21
21
  HTTP_AUTH_DISABLED: envBoolean().default(false),
22
+ HTTP_RATE_LIMIT_MAX: z.coerce.number().int().min(1).max(10000).default(100),
22
23
  CORS_ORIGIN: z.string().default(''),
23
24
  MCP_TASKS_ENABLED: envBoolean().default(false),
24
25
  MCP_APPS_ENABLED: envBoolean().default(false),
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,SAAS,UAAU;IACjB,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,EAAE;gBAAE,OAAO,KAAK,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9E,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjG,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACpF,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;IAEtD,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACrD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAClE,kBAAkB,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/C,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC3E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAEnC,iBAAiB,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,gBAAgB,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7C,mBAAmB,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEhD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACrE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACzD,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/E,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChF,4BAA4B,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpC,kBAAkB,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/C,uBAAuB,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEpD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC;IAC1E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;IAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IAEvD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC3F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACvE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3E,yBAAyB,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEtD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC7E,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACjE,sBAAsB,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnD,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAE9D,iBAAiB,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC;IACzE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAEvC,cAAc,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IAEjE,eAAe,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,eAAe,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAC3C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAE3C,aAAa,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACrD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;IAEzD,YAAY,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACxD,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;CAChE,CAAC,CAAC;AAIH,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAiB;IAC3C,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9D,OAAO,CAAC,KAAK,CACX,iEAAiE;gBAC/D,oDAAoD,CACvD,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;YACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,WAAW,KAAK,cAAc,EAAE,CAAC;YAC3E,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -2,22 +2,22 @@ export const PROFILE_DEFINITIONS = {
2
2
  core: {
3
3
  name: 'core',
4
4
  label: 'Core',
5
- description: 'High-confidence MVP tools: inspect, export, BOM, DRC/ERC, LCSC, snapshots',
6
- approxToolCount: '35–50',
5
+ description: 'High-confidence tools: diagnostics, schematic, BOM, DRC/ERC, board layers/stackup, Gerber export',
6
+ approxToolCount: '22',
7
7
  isDefault: true,
8
8
  },
9
9
  pro: {
10
10
  name: 'pro',
11
11
  label: 'Pro',
12
- description: 'Workflows: manufacturing pack, sourcing, AI reviews, placement helpers',
13
- approxToolCount: '80–120',
12
+ description: 'Adds pick-and-place, PDF, netlist export for manufacturing workflows',
13
+ approxToolCount: '25',
14
14
  isDefault: false,
15
15
  },
16
16
  full: {
17
17
  name: 'full',
18
18
  label: 'Full',
19
- description: 'All validated atomic EasyEDA wrappers',
20
- approxToolCount: '200+ when validated',
19
+ description: 'All validated atomic EasyEDA wrappers (includes dev/experimental tools)',
20
+ approxToolCount: '26',
21
21
  isDefault: false,
22
22
  },
23
23
  dev: {
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,mBAAmB,GAA2C;IACzE,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,2EAA2E;QACxF,eAAe,EAAE,OAAO;QACxB,SAAS,EAAE,IAAI;KAChB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,wEAAwE;QACrF,eAAe,EAAE,QAAQ;QACzB,SAAS,EAAE,KAAK;KACjB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,uCAAuC;QACpD,eAAe,EAAE,qBAAqB;QACtC,SAAS,EAAE,KAAK;KACjB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,8CAA8C;QAC3D,eAAe,EAAE,UAAU;QAC3B,SAAS,EAAE,KAAK;KACjB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,0DAA0D;QACvE,eAAe,EAAE,UAAU;QAC3B,SAAS,EAAE,KAAK;KACjB;CACF,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,MAAM,KAAK,GAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,mBAAmB,GAA2C;IACzE,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,WAAW,EACT,kGAAkG;QACpG,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,IAAI;KAChB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,sEAAsE;QACnF,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,KAAK;KACjB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,yEAAyE;QACtF,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,KAAK;KACjB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,8CAA8C;QAC3D,eAAe,EAAE,UAAU;QAC3B,SAAS,EAAE,KAAK;KACjB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,0DAA0D;QACvE,eAAe,EAAE,UAAU;QAC3B,SAAS,EAAE,KAAK;KACjB;CACF,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,MAAM,KAAK,GAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1 @@
1
- #!/usr/bin/env node
2
- export {};
1
+ import 'dotenv/config';
package/dist/index.js CHANGED
@@ -1,76 +1,34 @@
1
- #!/usr/bin/env node
2
- import { config as loadDotEnv } from 'dotenv';
3
- loadDotEnv({ quiet: true });
1
+ import 'dotenv/config';
4
2
  import { loadEnvConfig } from './config/env.js';
5
3
  import { createServer } from './server/factory.js';
6
- import { registerDiagnostics } from './tools/L0_diagnostics.js';
7
- import { registerSchematicTools } from './tools/L1_schematic.js';
8
- import { registerBomTools } from './tools/L1_bom.js';
9
- import { registerDrcErcTools } from './tools/L1_drc_erc.js';
10
- import { registerBoardTools } from './tools/L1_board.js';
11
- import { registerExportTools } from './tools/L1_export.js';
12
- import { getLogger } from './utils/logger.js';
13
- import { BridgeManager } from './bridge/manager.js';
14
4
  import { createHttpTransport } from './server/transports/http.js';
15
5
  async function main() {
16
- const envConfig = loadEnvConfig();
17
- const { server, registry, transport, httpTransport, context, storage: _storage, shutdown, } = await createServer(envConfig);
18
- registerDiagnostics(registry, envConfig);
19
- registerSchematicTools(registry, envConfig);
20
- registerBomTools(registry, envConfig);
21
- registerDrcErcTools(registry, envConfig);
22
- registerBoardTools(registry, envConfig);
23
- registerExportTools(registry, envConfig);
24
- const logger = getLogger();
25
- registry.registerAllOnServer(server, context);
26
- const bridgeManager = new BridgeManager(envConfig);
27
- bridgeManager.on('connected', (hello) => {
28
- logger.info({ bridgeVersion: hello.bridgeVersion }, 'bridge connected');
29
- context.bridge.call = async (method, params, opts) => {
30
- return bridgeManager.call(method, params, opts);
31
- };
32
- });
33
- bridgeManager.on('error', (err) => {
34
- logger.error({ err }, 'bridge error');
35
- });
36
- process.on('SIGINT', async () => {
37
- logger.info('received SIGINT');
38
- bridgeManager.disconnect('SIGINT');
39
- if (httpTransport)
40
- await httpTransport.close();
41
- await shutdown();
42
- process.exit(0);
43
- });
44
- process.on('SIGTERM', async () => {
45
- logger.info('received SIGTERM');
46
- bridgeManager.disconnect('SIGTERM');
47
- if (httpTransport)
48
- await httpTransport.close();
49
- await shutdown();
50
- process.exit(0);
51
- });
52
- process.on('uncaughtException', (err) => {
53
- logger.fatal({ err }, 'uncaught exception');
54
- process.exit(1);
55
- });
56
- process.on('unhandledRejection', (reason) => {
57
- logger.error({ reason }, 'unhandled rejection');
58
- });
59
- if (envConfig.TRANSPORT === 'stdio') {
60
- logger.info('starting server in stdio mode');
61
- await server.connect(transport);
6
+ const config = loadEnvConfig();
7
+ const instance = await createServer(config);
8
+ if (config.TRANSPORT === 'http') {
9
+ const httpTransport = createHttpTransport(config);
10
+ instance.httpTransport = httpTransport;
11
+ instance.transport = httpTransport.transport;
12
+ await instance.server.connect(httpTransport.transport);
13
+ await httpTransport.start();
62
14
  }
63
15
  else {
64
- logger.info({ host: envConfig.HTTP_HOST, port: envConfig.HTTP_PORT }, 'starting HTTP transport');
65
- const http = createHttpTransport(envConfig);
66
- await server.connect(http.transport);
67
- await http.start();
68
- const result = { ...httpTransport, ...http };
69
- result.shutdown = shutdown;
16
+ await instance.server.connect(instance.transport);
70
17
  }
18
+ process.stderr.write(`easyeda-mcp-pro ready on ${config.TRANSPORT} transport\n`);
19
+ const shutdown = async () => {
20
+ await instance.httpTransport?.close();
21
+ await instance.shutdown();
22
+ };
23
+ process.once('SIGINT', () => {
24
+ void shutdown().finally(() => process.exit(0));
25
+ });
26
+ process.once('SIGTERM', () => {
27
+ void shutdown().finally(() => process.exit(0));
28
+ });
71
29
  }
72
30
  main().catch((err) => {
73
- console.error('Fatal startup error:', err);
31
+ process.stderr.write(`Critical server error: ${err}\n`);
74
32
  process.exit(1);
75
33
  });
76
34
  //# sourceMappingURL=index.js.map
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":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAE5C,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClD,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;QACvC,QAAQ,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QAC7C,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACvD,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;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"}
@@ -1,65 +1,4 @@
1
- import { z } from 'zod';
2
- export declare const PaginationInput: z.ZodObject<{
3
- limit: z.ZodDefault<z.ZodNumber>;
4
- offset: z.ZodDefault<z.ZodNumber>;
5
- }, z.core.$strip>;
6
- export declare const PaginationOutput: z.ZodObject<{
7
- total: z.ZodNumber;
8
- has_more: z.ZodBoolean;
9
- }, z.core.$strip>;
10
- export declare const ConfirmationInput: z.ZodObject<{
11
- confirm: z.ZodDefault<z.ZodBoolean>;
12
- confirmation_text: z.ZodOptional<z.ZodString>;
13
- dry_run: z.ZodDefault<z.ZodBoolean>;
14
- }, z.core.$strip>;
15
- export declare const ErrorCode: z.ZodEnum<{
16
- EASYEDA_API_ERROR: "EASYEDA_API_ERROR";
17
- CONFIG_INVALID: "CONFIG_INVALID";
18
- BRIDGE_NOT_CONNECTED: "BRIDGE_NOT_CONNECTED";
19
- BRIDGE_TIMEOUT: "BRIDGE_TIMEOUT";
20
- BRIDGE_METHOD_NOT_AVAILABLE: "BRIDGE_METHOD_NOT_AVAILABLE";
21
- SCHEMA_VALIDATION_FAILED: "SCHEMA_VALIDATION_FAILED";
22
- USER_CONFIRMATION_REQUIRED: "USER_CONFIRMATION_REQUIRED";
23
- FEATURE_DISABLED: "FEATURE_DISABLED";
24
- PROFILE_NOT_ENABLED: "PROFILE_NOT_ENABLED";
25
- CREDENTIALS_MISSING: "CREDENTIALS_MISSING";
26
- VENDOR_API_UNAVAILABLE: "VENDOR_API_UNAVAILABLE";
27
- RATE_LIMITED: "RATE_LIMITED";
28
- ARTIFACT_EXPORT_FAILED: "ARTIFACT_EXPORT_FAILED";
29
- SNAPSHOT_FAILED: "SNAPSHOT_FAILED";
30
- AI_PROVIDER_DISABLED: "AI_PROVIDER_DISABLED";
31
- AI_RESPONSE_INVALID: "AI_RESPONSE_INVALID";
32
- NOT_IMPLEMENTED: "NOT_IMPLEMENTED";
33
- INTERNAL_ERROR: "INTERNAL_ERROR";
34
- }>;
35
- export declare const ActionableError: z.ZodObject<{
36
- code: z.ZodEnum<{
37
- EASYEDA_API_ERROR: "EASYEDA_API_ERROR";
38
- CONFIG_INVALID: "CONFIG_INVALID";
39
- BRIDGE_NOT_CONNECTED: "BRIDGE_NOT_CONNECTED";
40
- BRIDGE_TIMEOUT: "BRIDGE_TIMEOUT";
41
- BRIDGE_METHOD_NOT_AVAILABLE: "BRIDGE_METHOD_NOT_AVAILABLE";
42
- SCHEMA_VALIDATION_FAILED: "SCHEMA_VALIDATION_FAILED";
43
- USER_CONFIRMATION_REQUIRED: "USER_CONFIRMATION_REQUIRED";
44
- FEATURE_DISABLED: "FEATURE_DISABLED";
45
- PROFILE_NOT_ENABLED: "PROFILE_NOT_ENABLED";
46
- CREDENTIALS_MISSING: "CREDENTIALS_MISSING";
47
- VENDOR_API_UNAVAILABLE: "VENDOR_API_UNAVAILABLE";
48
- RATE_LIMITED: "RATE_LIMITED";
49
- ARTIFACT_EXPORT_FAILED: "ARTIFACT_EXPORT_FAILED";
50
- SNAPSHOT_FAILED: "SNAPSHOT_FAILED";
51
- AI_PROVIDER_DISABLED: "AI_PROVIDER_DISABLED";
52
- AI_RESPONSE_INVALID: "AI_RESPONSE_INVALID";
53
- NOT_IMPLEMENTED: "NOT_IMPLEMENTED";
54
- INTERNAL_ERROR: "INTERNAL_ERROR";
55
- }>;
56
- message: z.ZodString;
57
- suggestion: z.ZodString;
58
- retryable: z.ZodBoolean;
59
- details: z.ZodOptional<z.ZodUnknown>;
60
- correlation_id: z.ZodOptional<z.ZodString>;
61
- }, z.core.$strip>;
62
- export type EasyEdaMcpErrorCode = z.infer<typeof ErrorCode>;
1
+ export type EasyEdaMcpErrorCode = 'CONFIG_INVALID' | 'BRIDGE_NOT_CONNECTED' | 'BRIDGE_TIMEOUT' | 'BRIDGE_METHOD_NOT_AVAILABLE' | 'EASYEDA_API_ERROR' | 'SCHEMA_VALIDATION_FAILED' | 'USER_CONFIRMATION_REQUIRED' | 'FEATURE_DISABLED' | 'PROFILE_NOT_ENABLED' | 'CREDENTIALS_MISSING' | 'VENDOR_API_UNAVAILABLE' | 'RATE_LIMITED' | 'ARTIFACT_EXPORT_FAILED' | 'SNAPSHOT_FAILED' | 'AI_PROVIDER_DISABLED' | 'AI_RESPONSE_INVALID' | 'NOT_IMPLEMENTED' | 'INTERNAL_ERROR';
63
2
  export declare class EasyEdaMcpError extends Error {
64
3
  readonly code: EasyEdaMcpErrorCode;
65
4
  readonly suggestion: string;
@@ -75,49 +14,3 @@ export declare class EasyEdaMcpError extends Error {
75
14
  correlation_id?: string;
76
15
  });
77
16
  }
78
- export declare const ToolSource: z.ZodEnum<{
79
- "official-docs": "official-docs";
80
- "pro-api-types": "pro-api-types";
81
- "runtime-probe": "runtime-probe";
82
- "official-skill": "official-skill";
83
- "source-format": "source-format";
84
- "vendor-api-docs": "vendor-api-docs";
85
- inferred: "inferred";
86
- }>;
87
- export type ToolSource = z.infer<typeof ToolSource>;
88
- export declare const ToolEvidenceMeta: z.ZodObject<{
89
- profile: z.ZodEnum<{
90
- core: "core";
91
- pro: "pro";
92
- full: "full";
93
- dev: "dev";
94
- experimental: "experimental";
95
- }>;
96
- status: z.ZodEnum<{
97
- experimental: "experimental";
98
- deprecated: "deprecated";
99
- implemented: "implemented";
100
- beta: "beta";
101
- planned: "planned";
102
- }>;
103
- evidence: z.ZodArray<z.ZodEnum<{
104
- "official-docs": "official-docs";
105
- "pro-api-types": "pro-api-types";
106
- "runtime-probe": "runtime-probe";
107
- "official-skill": "official-skill";
108
- "source-format": "source-format";
109
- "vendor-api-docs": "vendor-api-docs";
110
- inferred: "inferred";
111
- }>>;
112
- risk: z.ZodEnum<{
113
- low: "low";
114
- medium: "medium";
115
- high: "high";
116
- }>;
117
- requiresBridge: z.ZodBoolean;
118
- requiresNetwork: z.ZodBoolean;
119
- requiresCredentials: z.ZodBoolean;
120
- destructive: z.ZodBoolean;
121
- snapshotRecommended: z.ZodBoolean;
122
- }, z.core.$strip>;
123
- export type ToolEvidenceMetaType = z.infer<typeof ToolEvidenceMeta>;
@@ -1,45 +1,3 @@
1
- import { z } from 'zod';
2
- export const PaginationInput = z.object({
3
- limit: z.number().int().min(1).max(500).default(100),
4
- offset: z.number().int().min(0).default(0),
5
- });
6
- export const PaginationOutput = z.object({
7
- total: z.number().int().nonnegative(),
8
- has_more: z.boolean(),
9
- });
10
- export const ConfirmationInput = z.object({
11
- confirm: z.boolean().default(false),
12
- confirmation_text: z.string().optional(),
13
- dry_run: z.boolean().default(true),
14
- });
15
- export const ErrorCode = z.enum([
16
- 'CONFIG_INVALID',
17
- 'BRIDGE_NOT_CONNECTED',
18
- 'BRIDGE_TIMEOUT',
19
- 'BRIDGE_METHOD_NOT_AVAILABLE',
20
- 'EASYEDA_API_ERROR',
21
- 'SCHEMA_VALIDATION_FAILED',
22
- 'USER_CONFIRMATION_REQUIRED',
23
- 'FEATURE_DISABLED',
24
- 'PROFILE_NOT_ENABLED',
25
- 'CREDENTIALS_MISSING',
26
- 'VENDOR_API_UNAVAILABLE',
27
- 'RATE_LIMITED',
28
- 'ARTIFACT_EXPORT_FAILED',
29
- 'SNAPSHOT_FAILED',
30
- 'AI_PROVIDER_DISABLED',
31
- 'AI_RESPONSE_INVALID',
32
- 'NOT_IMPLEMENTED',
33
- 'INTERNAL_ERROR',
34
- ]);
35
- export const ActionableError = z.object({
36
- code: ErrorCode,
37
- message: z.string(),
38
- suggestion: z.string(),
39
- retryable: z.boolean(),
40
- details: z.unknown().optional(),
41
- correlation_id: z.string().optional(),
42
- });
43
1
  export class EasyEdaMcpError extends Error {
44
2
  code;
45
3
  suggestion;
@@ -56,24 +14,4 @@ export class EasyEdaMcpError extends Error {
56
14
  this.correlation_id = opts.correlation_id;
57
15
  }
58
16
  }
59
- export const ToolSource = z.enum([
60
- 'official-docs',
61
- 'pro-api-types',
62
- 'runtime-probe',
63
- 'official-skill',
64
- 'source-format',
65
- 'vendor-api-docs',
66
- 'inferred',
67
- ]);
68
- export const ToolEvidenceMeta = z.object({
69
- profile: z.enum(['core', 'pro', 'full', 'dev', 'experimental']),
70
- status: z.enum(['implemented', 'beta', 'experimental', 'planned', 'deprecated']),
71
- evidence: z.array(ToolSource),
72
- risk: z.enum(['low', 'medium', 'high']),
73
- requiresBridge: z.boolean(),
74
- requiresNetwork: z.boolean(),
75
- requiresCredentials: z.boolean(),
76
- destructive: z.boolean(),
77
- snapshotRecommended: z.boolean(),
78
- });
79
17
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAoBA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxB,IAAI,CAAsB;IAC1B,UAAU,CAAS;IACnB,SAAS,CAAU;IACnB,OAAO,CAAU;IACjB,cAAc,CAAqB;IAEnD,YAAY,IAOX;QACC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC5C,CAAC;CACF"}
@@ -1,17 +1,20 @@
1
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
+ import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
3
4
  import { type EnvConfig } from '../config/env.js';
4
5
  import { ToolRegistry } from '../tools/registry.js';
5
6
  import { type ToolContext } from '../tools/types.js';
6
7
  import { Storage } from '../storage/index.js';
7
8
  import { type HttpTransportInstance } from './transports/http.js';
9
+ import { BridgeManager } from '../bridge/manager.js';
8
10
  export interface McpServerInstance {
9
- server: Server;
11
+ server: McpServer;
10
12
  registry: ToolRegistry;
11
- transport: StdioServerTransport;
13
+ transport: StdioServerTransport | StreamableHTTPServerTransport;
12
14
  httpTransport?: HttpTransportInstance;
13
15
  context: ToolContext;
14
16
  storage?: Storage;
17
+ bridge: BridgeManager;
15
18
  shutdown: () => Promise<void>;
16
19
  }
17
20
  export declare function createServer(config: EnvConfig): Promise<McpServerInstance>;
@@ -1,11 +1,12 @@
1
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
- import { ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
4
3
  import { createLogger } from '../utils/logger.js';
5
4
  import { ToolRegistry } from '../tools/registry.js';
6
5
  import { redactObject } from '../utils/redaction.js';
7
6
  import { loadFeatureFlags } from '../config/feature-flags.js';
8
7
  import { Storage } from '../storage/index.js';
8
+ import { BridgeManager } from '../bridge/manager.js';
9
+ import { registerBuiltinTools } from '../tools/register.js';
9
10
  export async function createServer(config) {
10
11
  const logger = createLogger(config);
11
12
  const flags = loadFeatureFlags(config);
@@ -15,7 +16,7 @@ export async function createServer(config) {
15
16
  nodeVersion: process.version,
16
17
  flags: redactObject(flags),
17
18
  }, 'server initializing');
18
- const server = new Server({
19
+ const server = new McpServer({
19
20
  name: 'easyeda-mcp-pro',
20
21
  version: '0.2.0',
21
22
  }, {
@@ -26,25 +27,29 @@ export async function createServer(config) {
26
27
  ...(flags.mcpTasksEnabled ? {} : undefined),
27
28
  },
28
29
  });
30
+ const bridge = new BridgeManager(config);
31
+ await bridge.connect();
29
32
  const registry = new ToolRegistry();
30
33
  registry.setProfile(config.TOOL_PROFILE);
34
+ registerBuiltinTools(registry, config);
31
35
  const context = {
32
36
  profile: config.TOOL_PROFILE,
33
37
  bridge: {
34
- call: async (method, _params, _opts) => {
35
- logger.info({ method }, 'bridge call');
36
- throw new Error(`Bridge not connected: ${method}`);
38
+ get connected() {
39
+ return bridge.connected;
40
+ },
41
+ call: async (method, params, opts) => {
42
+ logger.debug({ method }, 'bridge call');
43
+ return bridge.call(method, params, opts);
37
44
  },
38
45
  },
39
46
  config: {
40
47
  bridgeTimeoutMs: config.BRIDGE_TIMEOUT_MS,
48
+ artifactDir: config.ARTIFACT_DIR,
41
49
  },
42
50
  };
43
- server.setRequestHandler(ListToolsRequestSchema, async () => {
44
- const tools = registry.getToolDefinitions();
45
- return { tools };
46
- });
47
- server.onerror = (error) => {
51
+ registry.registerAllOnServer(server, context);
52
+ server.server.onerror = (error) => {
48
53
  logger.error({ err: error }, 'server error');
49
54
  };
50
55
  const storage = new Storage(config);
@@ -53,8 +58,9 @@ export async function createServer(config) {
53
58
  const shutdown = async () => {
54
59
  logger.info('server shutting down');
55
60
  storage.close();
61
+ bridge.disconnect('server shutdown');
56
62
  await server.close();
57
63
  };
58
- return { server, registry, transport, context, storage, shutdown };
64
+ return { server, registry, transport, context, storage, bridge, shutdown };
59
65
  }
60
66
  //# sourceMappingURL=factory.js.map