@kwonye/mcpx 0.1.74 → 0.1.77

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 (47) hide show
  1. package/dist/adapters/claude-desktop.d.ts.map +1 -1
  2. package/dist/adapters/cline.d.ts.map +1 -1
  3. package/dist/adapters/cursor.d.ts.map +1 -1
  4. package/dist/adapters/kiro.d.ts +2 -1
  5. package/dist/adapters/kiro.d.ts.map +1 -1
  6. package/dist/adapters/qwen.d.ts +2 -1
  7. package/dist/adapters/qwen.d.ts.map +1 -1
  8. package/dist/adapters/utils/index.d.ts.map +1 -1
  9. package/dist/adapters/vscode.d.ts.map +1 -1
  10. package/dist/cli-7bsf6akp.js +202 -0
  11. package/dist/{cli-33pamqwn.js → cli-f16kphtq.js} +591 -456
  12. package/dist/cli-fsf33sgp.js +105 -0
  13. package/dist/{cli-ezvj44tr.js → cli-htm5cf82.js} +590 -455
  14. package/dist/{cli-q8de7zb0.js → cli-s4gspqdf.js} +4 -1
  15. package/dist/cli-s4py8ckf.js +187 -0
  16. package/dist/cli.d.ts.map +1 -1
  17. package/dist/cli.js +506 -85
  18. package/dist/config-kayej21q.js +20 -0
  19. package/dist/core/auth-probe.d.ts.map +1 -1
  20. package/dist/core/config.d.ts +19 -1
  21. package/dist/core/config.d.ts.map +1 -1
  22. package/dist/core/daemon.d.ts.map +1 -1
  23. package/dist/core/index.d.ts +5 -2
  24. package/dist/core/index.d.ts.map +1 -1
  25. package/dist/core/index.js +44 -12
  26. package/dist/core/paths.d.ts +3 -0
  27. package/dist/core/paths.d.ts.map +1 -1
  28. package/dist/core/proxy.d.ts +2 -0
  29. package/dist/core/proxy.d.ts.map +1 -0
  30. package/dist/core/registry-client.d.ts +76 -0
  31. package/dist/core/registry-client.d.ts.map +1 -0
  32. package/dist/core/registry.d.ts +2 -0
  33. package/dist/core/registry.d.ts.map +1 -1
  34. package/dist/core/secrets.d.ts.map +1 -1
  35. package/dist/core/skills.d.ts +6 -0
  36. package/dist/core/skills.d.ts.map +1 -0
  37. package/dist/core/status.d.ts +6 -2
  38. package/dist/core/status.d.ts.map +1 -1
  39. package/dist/core/sync.d.ts.map +1 -1
  40. package/dist/gateway/server.d.ts +17 -0
  41. package/dist/gateway/server.d.ts.map +1 -1
  42. package/dist/registry-1s14wd58.js +24 -0
  43. package/dist/types.d.ts +17 -0
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js +1 -1
  46. package/dist/version.d.ts +1 -1
  47. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"claude-desktop.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-desktop.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA2B1G,qBAAa,oBAAqB,YAAW,aAAa;IACxD,QAAQ,CAAC,EAAE,EAAG,gBAAgB,CAAU;IAExC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IA6D9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;CAuDzE"}
1
+ {"version":3,"file":"claude-desktop.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-desktop.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAuB,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoC/H,qBAAa,oBAAqB,YAAW,aAAa;IACxD,QAAQ,CAAC,EAAE,EAAG,gBAAgB,CAAU;IAExC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAUjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IA6D9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;CAsDzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"cline.d.ts","sourceRoot":"","sources":["../../src/adapters/cline.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqC1G,qBAAa,YAAa,YAAW,aAAa;IAChD,QAAQ,CAAC,EAAE,EAAG,OAAO,CAAU;IAE/B,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAWjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAgE9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;CAuDzE"}
1
+ {"version":3,"file":"cline.d.ts","sourceRoot":"","sources":["../../src/adapters/cline.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiD1G,qBAAa,YAAa,YAAW,aAAa;IAChD,QAAQ,CAAC,EAAE,EAAG,OAAO,CAAU;IAE/B,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAWjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAgE9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;CAuDzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA8B1G,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,EAAE,EAAG,QAAQ,CAAU;IAEhC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAgE9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;CA4DzE"}
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA8B1G,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,EAAE,EAAG,QAAQ,CAAU;IAEhC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAUjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAgE9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;CA4DzE"}
@@ -1,9 +1,10 @@
1
- import type { ClientAdapter, ManagedIndex, McpxConfig, SyncClientOptions, SyncResult } from "../types.js";
1
+ import type { ClientAdapter, ManagedIndex, McpxConfig, Skill, SyncClientOptions, SyncResult } from "../types.js";
2
2
  export declare class KiroAdapter implements ClientAdapter {
3
3
  readonly id: "kiro";
4
4
  detectConfigPath(): string | null;
5
5
  supportsHttp(): boolean;
6
6
  scanForImports(_config: McpxConfig, managedIndex: ManagedIndex): import("../types.js").ClientImportScanResult;
7
7
  syncGateway(_config: McpxConfig, options: SyncClientOptions): SyncResult;
8
+ syncSkills(skills: Skill[]): void;
8
9
  }
9
10
  //# sourceMappingURL=kiro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kiro.d.ts","sourceRoot":"","sources":["../../src/adapters/kiro.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6B1G,qBAAa,WAAY,YAAW,aAAa;IAC/C,QAAQ,CAAC,EAAE,EAAG,MAAM,CAAU;IAE9B,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAgE9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;CAuDzE"}
1
+ {"version":3,"file":"kiro.d.ts","sourceRoot":"","sources":["../../src/adapters/kiro.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6BjH,qBAAa,WAAY,YAAW,aAAa;IAC/C,QAAQ,CAAC,EAAE,EAAG,MAAM,CAAU;IAE9B,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAgE9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;IAwDxE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;CAyBlC"}
@@ -1,9 +1,10 @@
1
- import type { ClientAdapter, ManagedIndex, McpxConfig, SyncClientOptions, SyncResult } from "../types.js";
1
+ import type { ClientAdapter, ManagedIndex, McpxConfig, Skill, SyncClientOptions, SyncResult } from "../types.js";
2
2
  export declare class QwenAdapter implements ClientAdapter {
3
3
  readonly id: "qwen";
4
4
  detectConfigPath(): string | null;
5
5
  supportsHttp(): boolean;
6
6
  scanForImports(_config: McpxConfig, managedIndex: ManagedIndex): import("../types.js").ClientImportScanResult;
7
7
  syncGateway(_config: McpxConfig, options: SyncClientOptions): SyncResult;
8
+ syncSkills(skills: Skill[]): void;
8
9
  }
9
10
  //# sourceMappingURL=qwen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"qwen.d.ts","sourceRoot":"","sources":["../../src/adapters/qwen.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA2B1G,qBAAa,WAAY,YAAW,aAAa;IAC/C,QAAQ,CAAC,EAAE,EAAG,MAAM,CAAU;IAE9B,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAgE9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;CAsDzE"}
1
+ {"version":3,"file":"qwen.d.ts","sourceRoot":"","sources":["../../src/adapters/qwen.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA2BjH,qBAAa,WAAY,YAAW,aAAa;IAC/C,QAAQ,CAAC,EAAE,EAAG,MAAM,CAAU;IAE9B,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAgE9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;IAuDxE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;CAuBlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAGxB,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CAE7F;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzG;AAED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,cAAc,EAAE,MAAM,EAAE,GACvB,IAAI,CAQN;AAED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,OAAO,GACrB,MAAM,GAAG,IAAI,CAUf;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,IAAI,CAeN;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAO7F;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAMjF;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAO3G;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAM7E;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAErE;AAaD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,CAgBhF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAE7F;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAO/F;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,SAAkB,GAC3B,wBAAwB,CAQ1B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,CAIvG;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,YAAY,EAAE,MAAM,EAAE,EACtB,cAAc,EAAE,mBAAmB,EAAE,GACpC,IAAI,CAON;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,YAAY,EAAE,MAAM,EAAE,EACtB,cAAc,EAAE,mBAAmB,EAAE,GACpC,IAAI,CASN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAGxB,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CAE7F;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzG;AAED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,cAAc,EAAE,MAAM,EAAE,GACvB,IAAI,CAcN;AAED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,OAAO,GACrB,MAAM,GAAG,IAAI,CAUf;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,IAAI,CAeN;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAO7F;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAMjF;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAO3G;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAM7E;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAErE;AAaD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,CAgBhF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAE7F;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAO/F;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,SAAkB,GAC3B,wBAAwB,CAQ1B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,CAIvG;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,YAAY,EAAE,MAAM,EAAE,EACtB,cAAc,EAAE,mBAAmB,EAAE,GACpC,IAAI,CAON;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,YAAY,EAAE,MAAM,EAAE,EACtB,cAAc,EAAE,mBAAmB,EAAE,GACpC,IAAI,CASN"}
@@ -1 +1 @@
1
- {"version":3,"file":"vscode.d.ts","sourceRoot":"","sources":["../../src/adapters/vscode.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA8B1G,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,EAAE,EAAG,QAAQ,CAAU;IAEhC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAgE9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;CA4DzE"}
1
+ {"version":3,"file":"vscode.d.ts","sourceRoot":"","sources":["../../src/adapters/vscode.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA8B1G,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,EAAE,EAAG,QAAQ,CAAU;IAEhC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAUjC,YAAY,IAAI,OAAO;IAIvB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAgE9D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;CA4DzE"}
@@ -0,0 +1,202 @@
1
+ import {
2
+ findProjectConfigPath,
3
+ getConfigPath,
4
+ readJsonFile,
5
+ writeJsonAtomic
6
+ } from "./cli-fsf33sgp.js";
7
+ import {
8
+ normalizeServerSpecEnabled
9
+ } from "./cli-s4gspqdf.js";
10
+
11
+ // src/core/config.ts
12
+ import { z } from "zod";
13
+ import path from "node:path";
14
+ import fs from "node:fs";
15
+ var clientStateSchema = z.object({
16
+ status: z.enum(["SYNCED", "UNSUPPORTED_HTTP", "ERROR", "SKIPPED"]),
17
+ lastSyncAt: z.string().optional(),
18
+ message: z.string().optional(),
19
+ configPath: z.string().optional()
20
+ });
21
+ var httpServerSchema = z.object({
22
+ transport: z.literal("http"),
23
+ url: z.url(),
24
+ headers: z.record(z.string(), z.string()).optional(),
25
+ enabled: z.boolean().default(true)
26
+ });
27
+ var stdioServerSchema = z.object({
28
+ transport: z.literal("stdio"),
29
+ command: z.string().min(1),
30
+ args: z.array(z.string()).optional(),
31
+ env: z.record(z.string(), z.string()).optional(),
32
+ cwd: z.string().min(1).optional(),
33
+ enabled: z.boolean().default(true)
34
+ });
35
+ var serverSchema = z.discriminatedUnion("transport", [httpServerSchema, stdioServerSchema]);
36
+ var projectEntrySchema = z.object({
37
+ name: z.string(),
38
+ path: z.string()
39
+ });
40
+ var configSchema = z.object({
41
+ schemaVersion: z.literal(1).default(1),
42
+ gateway: z.object({
43
+ port: z.number().int().min(1).max(65535).default(37373),
44
+ tokenRef: z.string().default("secret://local_gateway_token"),
45
+ autoStart: z.boolean().default(true)
46
+ }).default({
47
+ port: 37373,
48
+ tokenRef: "secret://local_gateway_token",
49
+ autoStart: true
50
+ }),
51
+ servers: z.record(z.string(), serverSchema).default({}),
52
+ clients: z.record(z.string(), clientStateSchema).default({}),
53
+ projects: z.record(z.string(), projectEntrySchema).default({})
54
+ });
55
+ var projectConfigSchema = z.object({
56
+ name: z.string().min(1).optional(),
57
+ servers: z.record(z.string(), serverSchema).default({})
58
+ });
59
+ function defaultConfig() {
60
+ return {
61
+ schemaVersion: 1,
62
+ gateway: {
63
+ port: 37373,
64
+ tokenRef: "secret://local_gateway_token",
65
+ autoStart: true
66
+ },
67
+ servers: {},
68
+ clients: {},
69
+ projects: {}
70
+ };
71
+ }
72
+ function loadConfig(configPath = getConfigPath()) {
73
+ const raw = readJsonFile(configPath, defaultConfig());
74
+ const parsed = configSchema.safeParse(raw);
75
+ if (!parsed.success) {
76
+ return defaultConfig();
77
+ }
78
+ const clientEntries = {};
79
+ for (const [key, value] of Object.entries(parsed.data.clients)) {
80
+ if (["claude", "claude-desktop", "codex", "cursor", "cline", "opencode", "kiro", "vscode", "qwen"].includes(key)) {
81
+ clientEntries[key] = value;
82
+ }
83
+ }
84
+ const servers = Object.fromEntries(Object.entries(parsed.data.servers).map(([name, spec]) => [name, normalizeServerSpecEnabled(spec)]));
85
+ return {
86
+ schemaVersion: 1,
87
+ gateway: parsed.data.gateway,
88
+ servers,
89
+ clients: clientEntries,
90
+ projects: parsed.data.projects
91
+ };
92
+ }
93
+ function saveConfig(config, configPath = getConfigPath()) {
94
+ config.servers = Object.fromEntries(Object.entries(config.servers).map(([name, spec]) => [name, normalizeServerSpecEnabled(spec)]));
95
+ let serversToSave = { ...config.servers };
96
+ if (configPath === getConfigPath() && config.projects) {
97
+ for (const [projectPath, projectEntry] of Object.entries(config.projects)) {
98
+ const localPath = path.join(projectPath, ".mcpx.json");
99
+ if (fs.existsSync(localPath)) {
100
+ try {
101
+ const localConfig = loadProjectConfig(localPath);
102
+ const projectName = localConfig.name || projectEntry.name || path.basename(projectPath);
103
+ for (const serverName of Object.keys(localConfig.servers)) {
104
+ const namespacedName = `${projectName}.${serverName}`;
105
+ delete serversToSave[namespacedName];
106
+ }
107
+ } catch {}
108
+ }
109
+ }
110
+ }
111
+ const cleanedConfig = {
112
+ ...config,
113
+ servers: serversToSave
114
+ };
115
+ writeJsonAtomic(configPath, cleanedConfig);
116
+ }
117
+ function loadProjectConfig(projectConfigPath) {
118
+ const raw = readJsonFile(projectConfigPath, { servers: {} });
119
+ const parsed = projectConfigSchema.safeParse(raw);
120
+ if (!parsed.success) {
121
+ return { servers: {} };
122
+ }
123
+ return parsed.data;
124
+ }
125
+ function saveProjectConfig(config, projectConfigPath) {
126
+ config.servers = Object.fromEntries(Object.entries(config.servers).map(([name, spec]) => [name, normalizeServerSpecEnabled(spec)]));
127
+ writeJsonAtomic(projectConfigPath, config);
128
+ }
129
+ function loadMergedConfig(configPath = getConfigPath()) {
130
+ const config = loadConfig(configPath);
131
+ if (!config.projects) {
132
+ config.projects = {};
133
+ }
134
+ for (const [projectPath, projectEntry] of Object.entries(config.projects)) {
135
+ const localPath = path.join(projectPath, ".mcpx.json");
136
+ if (!fs.existsSync(localPath)) {
137
+ continue;
138
+ }
139
+ try {
140
+ const localConfig = loadProjectConfig(localPath);
141
+ const projectName = localConfig.name || projectEntry.name || path.basename(projectPath);
142
+ for (const [serverName, spec] of Object.entries(localConfig.servers)) {
143
+ const namespacedName = `${projectName}.${serverName}`;
144
+ const normalized = normalizeServerSpecEnabled(spec);
145
+ if (normalized.transport === "stdio" && !normalized.cwd) {
146
+ normalized.cwd = projectPath;
147
+ }
148
+ config.servers[namespacedName] = normalized;
149
+ }
150
+ } catch {}
151
+ }
152
+ return config;
153
+ }
154
+ function resolveActiveConfig(options = {}) {
155
+ if (options.global) {
156
+ const globalPath2 = getConfigPath();
157
+ const config2 = loadConfig(globalPath2);
158
+ return {
159
+ type: "global",
160
+ configPath: globalPath2,
161
+ config: config2,
162
+ save: () => saveConfig(config2, globalPath2)
163
+ };
164
+ }
165
+ const projectConfigPath = findProjectConfigPath();
166
+ if (options.local || projectConfigPath) {
167
+ const targetPath = projectConfigPath || path.join(process.cwd(), ".mcpx.json");
168
+ const projectPath = path.dirname(targetPath);
169
+ const projectConfig = loadProjectConfig(targetPath);
170
+ const dummyConfig = {
171
+ schemaVersion: 1,
172
+ name: projectConfig.name,
173
+ gateway: {
174
+ port: 37373,
175
+ tokenRef: "secret://local_gateway_token",
176
+ autoStart: true
177
+ },
178
+ servers: projectConfig.servers,
179
+ clients: {}
180
+ };
181
+ return {
182
+ type: "project",
183
+ configPath: targetPath,
184
+ projectPath,
185
+ config: dummyConfig,
186
+ save: () => {
187
+ projectConfig.servers = dummyConfig.servers;
188
+ saveProjectConfig(projectConfig, targetPath);
189
+ }
190
+ };
191
+ }
192
+ const globalPath = getConfigPath();
193
+ const config = loadConfig(globalPath);
194
+ return {
195
+ type: "global",
196
+ configPath: globalPath,
197
+ config,
198
+ save: () => saveConfig(config, globalPath)
199
+ };
200
+ }
201
+
202
+ export { defaultConfig, loadConfig, saveConfig, loadProjectConfig, saveProjectConfig, loadMergedConfig, resolveActiveConfig };