@kwonye/mcpx 0.1.94 → 0.1.96

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 (69) hide show
  1. package/dist/adapters/claude-desktop.d.ts.map +1 -1
  2. package/dist/adapters/claude.d.ts +2 -1
  3. package/dist/adapters/claude.d.ts.map +1 -1
  4. package/dist/adapters/cline.d.ts +3 -1
  5. package/dist/adapters/cline.d.ts.map +1 -1
  6. package/dist/adapters/codex.d.ts +2 -1
  7. package/dist/adapters/codex.d.ts.map +1 -1
  8. package/dist/adapters/cursor.d.ts +2 -1
  9. package/dist/adapters/cursor.d.ts.map +1 -1
  10. package/dist/adapters/hermes.d.ts +11 -0
  11. package/dist/adapters/hermes.d.ts.map +1 -0
  12. package/dist/adapters/index.d.ts.map +1 -1
  13. package/dist/adapters/kiro.d.ts.map +1 -1
  14. package/dist/adapters/openclaw.d.ts +11 -0
  15. package/dist/adapters/openclaw.d.ts.map +1 -0
  16. package/dist/adapters/opencode.d.ts +2 -1
  17. package/dist/adapters/opencode.d.ts.map +1 -1
  18. package/dist/adapters/qwen.d.ts.map +1 -1
  19. package/dist/adapters/utils/index.d.ts +7 -1
  20. package/dist/adapters/utils/index.d.ts.map +1 -1
  21. package/dist/adapters/vscode.d.ts +2 -1
  22. package/dist/adapters/vscode.d.ts.map +1 -1
  23. package/dist/{cli-n8vt375e.js → cli-2vg0te30.js} +715 -211
  24. package/dist/{cli-154shqmt.js → cli-ap2jhwnz.js} +311 -95
  25. package/dist/{cli-tk8bggg5.js → cli-remv48t3.js} +4 -2
  26. package/dist/{cli-csfsg1yf.js → cli-v27bt25d.js} +79 -7
  27. package/dist/{cli-9fmn9y72.js → cli-z1fv3ra8.js} +105 -29
  28. package/dist/cli.d.ts.map +1 -1
  29. package/dist/cli.js +362 -75
  30. package/dist/compat/hermes.d.ts +7 -0
  31. package/dist/compat/hermes.d.ts.map +1 -0
  32. package/dist/compat/index.d.ts.map +1 -1
  33. package/dist/compat/openclaw.d.ts +7 -0
  34. package/dist/compat/openclaw.d.ts.map +1 -0
  35. package/dist/{config-dtc3c79c.js → config-5p08cb0c.js} +1 -1
  36. package/dist/core/add-command.d.ts.map +1 -1
  37. package/dist/core/config-store.d.ts +30 -0
  38. package/dist/core/config-store.d.ts.map +1 -1
  39. package/dist/core/config.d.ts.map +1 -1
  40. package/dist/core/daemon.d.ts +5 -1
  41. package/dist/core/daemon.d.ts.map +1 -1
  42. package/dist/core/errors.d.ts.map +1 -1
  43. package/dist/core/index.d.ts +2 -2
  44. package/dist/core/index.d.ts.map +1 -1
  45. package/dist/core/index.js +16 -67
  46. package/dist/core/managed-index-lock.d.ts +2 -0
  47. package/dist/core/managed-index-lock.d.ts.map +1 -0
  48. package/dist/core/oauth.d.ts.map +1 -1
  49. package/dist/core/plugin-host.d.ts +2 -0
  50. package/dist/core/plugin-host.d.ts.map +1 -0
  51. package/dist/core/plugin-manager.d.ts +19 -6
  52. package/dist/core/plugin-manager.d.ts.map +1 -1
  53. package/dist/core/plugin-parse.d.ts.map +1 -1
  54. package/dist/core/plugin-projections.d.ts.map +1 -1
  55. package/dist/core/skill-projections.d.ts +3 -0
  56. package/dist/core/skill-projections.d.ts.map +1 -0
  57. package/dist/core/status.d.ts.map +1 -1
  58. package/dist/core/sync.d.ts.map +1 -1
  59. package/dist/core/update-manager.d.ts.map +1 -1
  60. package/dist/gateway/server.d.ts.map +1 -1
  61. package/dist/plugin-host-73dvcen6.js +129 -0
  62. package/dist/{plugin-manager-1sjwfnah.js → plugin-manager-y5txkse1.js} +12 -4
  63. package/dist/{registry-n12thgf2.js → registry-bnjb2345.js} +1 -1
  64. package/dist/types.d.ts +3 -1
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/version.d.ts +1 -1
  67. package/dist/version.d.ts.map +1 -1
  68. package/package.json +3 -2
  69. package/dist/cli-mxmgxdm2.js +0 -2257
@@ -0,0 +1,7 @@
1
+ export declare function parseHermesArgs(args: string[]): {
2
+ name: string;
3
+ spec: Record<string, unknown>;
4
+ } | {
5
+ error: string;
6
+ };
7
+ //# sourceMappingURL=hermes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes.d.ts","sourceRoot":"","sources":["../../src/compat/hermes.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CA6EnH"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uFAAuF;IACvF,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAoF1E;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAG7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uFAAuF;IACvF,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAsH1E;AA8BD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAG7D"}
@@ -0,0 +1,7 @@
1
+ export declare function parseOpenClawArgs(args: string[]): {
2
+ name: string;
3
+ spec: Record<string, unknown>;
4
+ } | {
5
+ error: string;
6
+ };
7
+ //# sourceMappingURL=openclaw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw.d.ts","sourceRoot":"","sources":["../../src/compat/openclaw.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAyIrH"}
@@ -8,7 +8,7 @@ import {
8
8
  resolveActiveConfig,
9
9
  saveConfig,
10
10
  saveProjectConfig
11
- } from "./cli-csfsg1yf.js";
11
+ } from "./cli-v27bt25d.js";
12
12
  import"./cli-zjepj3sj.js";
13
13
  import"./cli-s4gspqdf.js";
14
14
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"add-command.d.ts","sourceRoot":"","sources":["../../src/core/add-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAwD7D;AAmBD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CA6B9F"}
1
+ {"version":3,"file":"add-command.d.ts","sourceRoot":"","sources":["../../src/core/add-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAwD7D;AAmBD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAqC9F"}
@@ -1,3 +1,33 @@
1
+ import { type ProjectLocalConfig } from "./config.js";
1
2
  import type { McpxConfig } from "../types.js";
3
+ /**
4
+ * Generic read-modify-write helper: serializes mutations to a single file
5
+ * both within this process (an in-process queue) and across processes (an
6
+ * exclusive-create lock file), reloading fresh from disk inside the lock so
7
+ * concurrent writers never clobber each other's changes.
8
+ */
9
+ export declare function mutateFile<C, T>(filePath: string, load: (path: string) => C, save: (data: C, path: string) => void, fn: (data: C) => T | Promise<T>): Promise<T>;
2
10
  export declare function mutateConfig<T>(fn: (config: McpxConfig) => T | Promise<T>, configPath?: string): Promise<T>;
11
+ export declare function mutateProjectConfig<T>(projectConfigPath: string, fn: (config: ProjectLocalConfig) => T | Promise<T>): Promise<T>;
12
+ export interface MutateActiveConfigResult<T> {
13
+ type: "global" | "project";
14
+ configPath: string;
15
+ projectPath?: string;
16
+ result: T;
17
+ }
18
+ /**
19
+ * Locked equivalent of resolveActiveConfig(): resolves global vs. project vs.
20
+ * local-project scope exactly as resolveActiveConfig does, but runs the
21
+ * mutator against a config reloaded fresh from disk inside a lock scoped to
22
+ * the file that will actually be written, so concurrent CLI invocations
23
+ * (e.g. several `mcpx add` calls run in parallel) can never clobber each
24
+ * other's changes.
25
+ */
26
+ export declare function mutateActiveConfig<T>(options: {
27
+ global?: boolean;
28
+ local?: boolean;
29
+ }, mutator: (config: McpxConfig, ctx: {
30
+ type: "global" | "project";
31
+ projectPath?: string;
32
+ }) => T | Promise<T>): Promise<MutateActiveConfigResult<T>>;
3
33
  //# sourceMappingURL=config-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/core/config-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA+C9C,wBAAsB,YAAY,CAAC,CAAC,EAClC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC1C,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,CAAC,CAQZ"}
1
+ {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/core/config-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACpH,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,aAAa,CAAC;AAmDlE;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,EACrC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC,CAWZ;AA+BD,wBAAgB,YAAY,CAAC,CAAC,EAC5B,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC1C,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,iBAAiB,EAAE,MAAM,EACzB,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjD,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC;CACX;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAC9C,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE;IAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACzG,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CA4CtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6C,KAAK,UAAU,EAAwB,KAAK,kBAAkB,EAAuE,MAAM,aAAa,CAAC;AAK7M,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEf,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE;CAMnE;AA0GD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC7C;AAOD,wBAAgB,aAAa,IAAI,UAAU,CAa1C;AAED,wBAAgB,UAAU,CAAC,UAAU,SAAkB,GAAG,UAAU,CAyDnE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,SAAkB,GAAG,IAAI,CAMjF;AAED,wBAAgB,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,kBAAkB,CAmB/G;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAK7F;AAED,wBAAgB,gBAAgB,CAAC,UAAU,SAAkB,GAAG,UAAU,CA+BzE;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CA0B1H;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,mBAAmB,CAyB5G"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6C,KAAK,UAAU,EAAwB,KAAK,kBAAkB,EAAuE,MAAM,aAAa,CAAC;AAK7M,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEf,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE;CAMnE;AA0GD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC7C;AAOD,wBAAgB,aAAa,IAAI,UAAU,CAa1C;AAED,wBAAgB,UAAU,CAAC,UAAU,SAAkB,GAAG,UAAU,CAyDnE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,SAAkB,GAAG,IAAI,CAMjF;AAED,wBAAgB,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,kBAAkB,CAmB/G;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAK7F;AAED,wBAAgB,gBAAgB,CAAC,UAAU,SAAkB,GAAG,UAAU,CA+BzE;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CA0B1H;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,mBAAmB,CAgD5G"}
@@ -6,6 +6,7 @@ export interface DaemonStatus {
6
6
  pidFile: string;
7
7
  logFile: string;
8
8
  port?: number;
9
+ portMismatch?: boolean;
9
10
  }
10
11
  export interface DaemonStartResult {
11
12
  started: boolean;
@@ -13,7 +14,10 @@ export interface DaemonStartResult {
13
14
  port: number;
14
15
  message: string;
15
16
  }
16
- export declare function resolveGatewayPort(config: McpxConfig, secrets?: SecretsManager): Promise<number>;
17
+ export declare function resolveGatewayPort(config: McpxConfig, secrets?: SecretsManager): Promise<{
18
+ port: number;
19
+ fellBackFrom?: number;
20
+ }>;
17
21
  export declare function getDaemonStatus(config: McpxConfig): DaemonStatus;
18
22
  export declare function startDaemon(config: McpxConfig, cliPath: string, secrets: SecretsManager): Promise<DaemonStartResult>;
19
23
  export declare function stopDaemon(): {
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/core/daemon.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AA6CD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAgCtG;AA6BD,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAmBhE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+C1H;AAED,wBAAgB,UAAU,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA8ClE;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAG5H;AAED,wBAAgB,cAAc,CAAC,QAAQ,SAAM,GAAG,MAAM,CAQrD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB5G"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/core/daemon.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAO9C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAkDD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgCvI;AA6BD,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAsBhE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6D1H;AAED,wBAAgB,UAAU,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA+ClE;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAG5H;AAED,wBAAgB,cAAc,CAAC,QAAQ,SAAM,GAAG,MAAM,CAQrD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB5G"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,aAAa,GACb,SAAS,GACT,gBAAgB,CAAC;AAErB,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;gBAEtB,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE;CAQhI;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAoB;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,UAAU,EAAE,MAAM;CAK/B;AAaD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,aAAa,CA0Bf"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,aAAa,GACb,SAAS,GACT,gBAAgB,CAAC;AAErB,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;gBAEtB,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE;CAQhI;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAoB;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,UAAU,EAAE,MAAM;CAK/B;AAkBD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,aAAa,CA6Bf"}
@@ -1,5 +1,5 @@
1
1
  export { loadConfig, saveConfig, defaultConfig, loadMergedConfig, loadProjectConfig, saveProjectConfig, ConfigLoadError, migrateProjectServers } from "./config.js";
2
- export { mutateConfig } from "./config-store.js";
2
+ export { mutateConfig, mutateProjectConfig, mutateActiveConfig } from "./config-store.js";
3
3
  export { UpstreamError, SecretNotFoundError, classifyUpstreamError } from "./errors.js";
4
4
  export type { UpstreamErrorCode } from "./errors.js";
5
5
  export { parseCliAddCommand, tokenizeCommandLine } from "./add-command.js";
@@ -26,7 +26,7 @@ export { syncPluginsToClient, prunePluginProjections, pruneAllPluginProjections
26
26
  export { PluginLifecycle } from "./plugin-lifecycle.js";
27
27
  export { parseSource } from "./plugin-source.js";
28
28
  export { readManifest, discoverComponents, hasManifest } from "./plugin-parse.js";
29
- export { inspectPlugin, installPlugin, preparePlugin, updatePlugin, uninstallPlugin, enablePlugin, disablePlugin, approvePluginComponent, getPluginStatus, listPlugins } from "./plugin-manager.js";
29
+ export { inspectPlugin, installPlugin, preparePlugin, updatePlugin, uninstallPlugin, enablePlugin, disablePlugin, approvePluginComponent, getPluginStatus, listPlugins, pluginConfigSet, pluginSync, resolvePluginId } from "./plugin-manager.js";
30
30
  export { getConfigPath, getManagedIndexPath } from "./paths.js";
31
31
  export { checkForUpdates, getStagedUpdate, getStagedCliPath, clearStagedUpdate, compareVersions, shouldUseStagedCli } from "./update.js";
32
32
  export type { UpdateStatus, StagedUpdateInfo } from "./update.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,9 @@ import {
17
17
  listAuthBindings,
18
18
  mapRegistryToSpec,
19
19
  maybePrefixBearer,
20
+ mutateActiveConfig,
21
+ mutateConfig,
22
+ mutateProjectConfig,
20
23
  oauthReferenceServerName,
21
24
  performRollback,
22
25
  performUpdate,
@@ -34,7 +37,7 @@ import {
34
37
  startDaemon,
35
38
  stopDaemon,
36
39
  toSecretRef
37
- } from "../cli-mxmgxdm2.js";
40
+ } from "../cli-ap2jhwnz.js";
38
41
  import {
39
42
  PluginCache,
40
43
  PluginDataManager,
@@ -50,11 +53,14 @@ import {
50
53
  installPlugin,
51
54
  listPlugins,
52
55
  parseSource,
56
+ pluginConfigSet,
57
+ pluginSync,
53
58
  preparePlugin,
54
59
  readManifest,
60
+ resolvePluginId,
55
61
  uninstallPlugin,
56
62
  updatePlugin
57
- } from "../cli-9fmn9y72.js";
63
+ } from "../cli-z1fv3ra8.js";
58
64
  import {
59
65
  deleteSkill,
60
66
  getGatewayUrl,
@@ -67,7 +73,7 @@ import {
67
73
  saveSkill,
68
74
  syncAllClients,
69
75
  syncPluginsToClient
70
- } from "../cli-n8vt375e.js";
76
+ } from "../cli-2vg0te30.js";
71
77
  import {
72
78
  ConfigLoadError,
73
79
  defaultConfig,
@@ -79,7 +85,7 @@ import {
79
85
  saveConfig,
80
86
  saveProjectConfig,
81
87
  tokenizeCommandLine
82
- } from "../cli-csfsg1yf.js";
88
+ } from "../cli-v27bt25d.js";
83
89
  import {
84
90
  SecretNotFoundError,
85
91
  SecretsManager,
@@ -94,74 +100,12 @@ import {
94
100
  setServerEnabled,
95
101
  unregisterProject,
96
102
  updateServer
97
- } from "../cli-tk8bggg5.js";
103
+ } from "../cli-remv48t3.js";
98
104
  import {
99
105
  getConfigPath,
100
106
  getManagedIndexPath
101
107
  } from "../cli-zjepj3sj.js";
102
108
  import"../cli-s4gspqdf.js";
103
- // src/core/config-store.ts
104
- import fs from "node:fs";
105
- var LOCK_STALE_MS = 5000;
106
- var LOCK_RETRY_MS = 50;
107
- var LOCK_MAX_RETRIES = 40;
108
- var inProcessQueue = Promise.resolve();
109
- function getLockPath(configPath) {
110
- return `${configPath}.lock`;
111
- }
112
- function acquireLock(configPath) {
113
- const lockPath = getLockPath(configPath);
114
- try {
115
- const fd = fs.openSync(lockPath, "wx");
116
- fs.writeSync(fd, String(process.pid));
117
- fs.closeSync(fd);
118
- return true;
119
- } catch (err) {
120
- if (err.code !== "EEXIST") {
121
- return false;
122
- }
123
- try {
124
- const stat = fs.statSync(lockPath);
125
- if (Date.now() - stat.mtimeMs > LOCK_STALE_MS) {
126
- fs.unlinkSync(lockPath);
127
- return acquireLock(configPath);
128
- }
129
- } catch {
130
- return acquireLock(configPath);
131
- }
132
- return false;
133
- }
134
- }
135
- function releaseLock(configPath) {
136
- try {
137
- fs.unlinkSync(getLockPath(configPath));
138
- } catch {}
139
- }
140
- async function mutateConfig(fn, configPath) {
141
- const resolvedPath = configPath ?? getConfigPath();
142
- const result = await (inProcessQueue = inProcessQueue.then(() => executeWithLock(fn, resolvedPath)));
143
- return result;
144
- }
145
- async function executeWithLock(fn, configPath) {
146
- let acquired = false;
147
- for (let attempt = 0;attempt < LOCK_MAX_RETRIES; attempt++) {
148
- acquired = acquireLock(configPath);
149
- if (acquired)
150
- break;
151
- await new Promise((r) => setTimeout(r, LOCK_RETRY_MS));
152
- }
153
- if (!acquired) {
154
- throw new Error(`Could not acquire config lock for ${configPath}.`);
155
- }
156
- try {
157
- const config = loadConfig(configPath);
158
- const result = await fn(config);
159
- saveConfig(config, configPath);
160
- return result;
161
- } finally {
162
- releaseLock(configPath);
163
- }
164
- }
165
109
  export {
166
110
  updateServer,
167
111
  updatePlugin,
@@ -186,6 +130,7 @@ export {
186
130
  runDaemonForeground,
187
131
  rotateGatewayToken,
188
132
  restartDaemon,
133
+ resolvePluginId,
189
134
  resolveAuthTarget,
190
135
  removeServer,
191
136
  removeAuthReference,
@@ -196,13 +141,17 @@ export {
196
141
  pruneAllPluginProjections,
197
142
  probeHttpAuthRequirement,
198
143
  preparePlugin,
144
+ pluginSync,
145
+ pluginConfigSet,
199
146
  persistSyncState,
200
147
  performUpdate,
201
148
  performRollback,
202
149
  parseSource,
203
150
  parseCliAddCommand,
204
151
  oauthReferenceServerName,
152
+ mutateProjectConfig,
205
153
  mutateConfig,
154
+ mutateActiveConfig,
206
155
  migrateProjectServers,
207
156
  maybePrefixBearer,
208
157
  mapRegistryToSpec,
@@ -0,0 +1,2 @@
1
+ export declare function withManagedIndexLock<T>(lockPath: string, fn: () => T): T;
2
+ //# sourceMappingURL=managed-index-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-index-lock.d.ts","sourceRoot":"","sources":["../../src/core/managed-index-lock.ts"],"names":[],"mappings":"AAYA,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAsBxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/core/oauth.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA8B9C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9D;AAoOD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7E;AAED,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC9C,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC,CAiEnD;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,OAAO,CAAC,MAAM,CAAC,CA0DjB"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/core/oauth.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA8B9C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9D;AAoOD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7E;AAED,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC9C,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC,CAmEnD;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,OAAO,CAAC,MAAM,CAAC,CA0DjB"}
@@ -0,0 +1,2 @@
1
+ export declare function runPluginHost(pluginNameOrId: string, serverId: string): void;
2
+ //# sourceMappingURL=plugin-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-host.d.ts","sourceRoot":"","sources":["../../src/core/plugin-host.ts"],"names":[],"mappings":"AA6BA,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAgG5E"}
@@ -41,12 +41,25 @@ export declare function installPlugin(source: string, options?: {
41
41
  enabled?: boolean;
42
42
  approvals?: Partial<Record<PluginComponent, boolean>>;
43
43
  }): Promise<ManagedPlugin>;
44
- export declare function updatePlugin(name: string): Promise<ManagedPlugin>;
45
- export declare function uninstallPlugin(name: string, keepData?: boolean): Promise<void>;
46
- export declare function enablePlugin(name: string): Promise<void>;
47
- export declare function disablePlugin(name: string): Promise<void>;
48
- export declare function approvePluginComponent(name: string, component: string): Promise<void>;
49
- export declare function getPluginStatus(name?: string): Promise<ManagedPlugin | null>;
44
+ export declare function updatePlugin(nameOrId: string): Promise<ManagedPlugin>;
45
+ export declare function uninstallPlugin(nameOrId: string, keepData?: boolean): Promise<void>;
46
+ export declare function enablePlugin(nameOrId: string): Promise<void>;
47
+ export declare function disablePlugin(nameOrId: string): Promise<void>;
48
+ export declare function setPluginProjectOverride(nameOrId: string, projectPath: string, override: {
49
+ enabled?: boolean;
50
+ components?: Partial<Record<string, boolean>>;
51
+ }): Promise<void>;
52
+ export declare function approvePluginComponent(nameOrId: string, component: string): Promise<void>;
53
+ export declare function getPluginStatus(nameOrId?: string): Promise<ManagedPlugin | null>;
50
54
  export declare function listPlugins(): Promise<ManagedPlugin[]>;
55
+ /**
56
+ * Resolve a plugin identifier — accepts either the full id (`name@sha`) or the
57
+ * user-facing plugin name. Throws if ambiguous or not found.
58
+ */
59
+ export declare function resolvePluginId(config: {
60
+ plugins?: Record<string, ManagedPlugin>;
61
+ }, nameOrId: string): string;
62
+ export declare function pluginConfigSet(nameOrId: string, key: string, value: string, projectPath?: string): Promise<void>;
63
+ export declare function pluginSync(): Promise<void>;
51
64
  export declare function preparePlugin(name: string): Promise<void>;
52
65
  //# sourceMappingURL=plugin-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../src/core/plugin-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../src/core/plugin-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-parse.d.ts","sourceRoot":"","sources":["../../src/core/plugin-parse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAA6D,MAAM,aAAa,CAAC;AASnI,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAmBtE;AA6JD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAQ3E;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK5F"}
1
+ {"version":3,"file":"plugin-parse.d.ts","sourceRoot":"","sources":["../../src/core/plugin-parse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAA6D,MAAM,aAAa,CAAC;AAcnI,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAmBtE;AA6JD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAQ3E;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK5F"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-projections.d.ts","sourceRoot":"","sources":["../../src/core/plugin-projections.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAA6B,MAAM,aAAa,CAAC;AAsDhG,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAYhF;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAKjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAQrF;AA0QD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAoClG"}
1
+ {"version":3,"file":"plugin-projections.d.ts","sourceRoot":"","sources":["../../src/core/plugin-projections.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAA6B,MAAM,aAAa,CAAC;AAuDhG,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAYhF;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAKjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAQrF;AA8UD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAsClG"}
@@ -0,0 +1,3 @@
1
+ import type { Skill } from "../types.js";
2
+ export declare function projectSkillsToDir(targetDir: string, skills: Skill[], layout: "dir" | "flat"): void;
3
+ //# sourceMappingURL=skill-projections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-projections.d.ts","sourceRoot":"","sources":["../../src/core/skill-projections.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AA8BzC,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAqCnG"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/core/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAAmB,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItK,eAAO,MAAM,cAAc,EAAE,QAAQ,EAAmG,CAAC;AAEzI,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAyED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,YAAsC,GAC7C,OAAO,CAAC,YAAY,CAAC,CAiEvB"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/core/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAAmB,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItK,eAAO,MAAM,cAAc,EAAE,QAAQ,EAAyH,CAAC;AAE/J,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAyED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,YAAsC,GAC7C,OAAO,CAAC,YAAY,CAAC,CAoEvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/core/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,QAAQ,EACR,YAAY,EAEZ,UAAU,EAEV,gBAAgB,EAEhB,gBAAgB,EAChB,UAAU,EACX,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnH,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACpC;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAExD;AAiND,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,EAAE,GACjC,WAAW,CAgFb;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAK/E"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/core/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,QAAQ,EACR,YAAY,EAEZ,UAAU,EAEV,gBAAgB,EAEhB,gBAAgB,EAChB,UAAU,EACX,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnH,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACpC;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAExD;AA6OD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,EAAE,GACjC,WAAW,CAkFb;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAK/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-manager.d.ts","sourceRoot":"","sources":["../../src/core/update-manager.ts"],"names":[],"mappings":"AAgHA,wBAAgB,0BAA0B,IAAI,IAAI,CA2BjD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAczD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBpF;AAED,wBAAgB,eAAe,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAavE"}
1
+ {"version":3,"file":"update-manager.d.ts","sourceRoot":"","sources":["../../src/core/update-manager.ts"],"names":[],"mappings":"AAyHA,wBAAgB,0BAA0B,IAAI,IAAI,CA8BjD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAczD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BpF;AAED,wBAAgB,eAAe,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAavE"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/gateway/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,oBAAoB,EAGrB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,6BAA6B,EAAuB,MAAM,oDAAoD,CAAC;AAIxH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,KAAK,EAIV,UAAU,EAIV,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAarB,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,oBAAoB,GAAG,6BAA6B,CAAC;CACjE;AAED,UAAU,uBAAuB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtC;AAED,UAAU,mBAAmB;IAC3B,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC1D,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,kBAAkB,CAAA;KAAE,CAAC,CAAC;IAC7E,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AA6MD,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAoE7C;AA+vBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAkM9E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/gateway/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,oBAAoB,EAGrB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,6BAA6B,EAAuB,MAAM,oDAAoD,CAAC;AAIxH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,KAAK,EAIV,UAAU,EAIV,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAarB,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,oBAAoB,GAAG,6BAA6B,CAAC;CACjE;AAED,UAAU,uBAAuB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtC;AAED,UAAU,mBAAmB;IAC3B,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC1D,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,kBAAkB,CAAA;KAAE,CAAC,CAAC;IAC7E,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AA6MD,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAoE7C;AAyyBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC,MAAM,CA6M9E"}
@@ -0,0 +1,129 @@
1
+ import {
2
+ resolvePluginId,
3
+ resolvePluginVars
4
+ } from "./cli-z1fv3ra8.js";
5
+ import"./cli-2vg0te30.js";
6
+ import {
7
+ loadConfig
8
+ } from "./cli-v27bt25d.js";
9
+ import"./cli-remv48t3.js";
10
+ import"./cli-zjepj3sj.js";
11
+ import"./cli-s4gspqdf.js";
12
+
13
+ // src/core/plugin-host.ts
14
+ import path from "node:path";
15
+ import { spawn } from "node:child_process";
16
+ var ALLOWLISTED_ENV = new Set(["PATH", "HOME", "TMPDIR", "LANG", "SHELL"]);
17
+ function isAncestorOrSelf(ancestor, child) {
18
+ const rel = child.startsWith(ancestor) ? child.slice(ancestor.length) : null;
19
+ return rel !== null && (rel === "" || rel.startsWith("/"));
20
+ }
21
+ function getProjectOverride(plugin) {
22
+ const cwd = process.cwd();
23
+ const overrides = plugin.projectOverrides;
24
+ if (!overrides)
25
+ return null;
26
+ let best = null;
27
+ for (const overridePath of Object.keys(overrides)) {
28
+ if (isAncestorOrSelf(overridePath, cwd)) {
29
+ if (!best || overridePath.length > best.length) {
30
+ best = overridePath;
31
+ }
32
+ }
33
+ }
34
+ return best ? overrides[best] : null;
35
+ }
36
+ function runPluginHost(pluginNameOrId, serverId) {
37
+ const config = loadConfig();
38
+ const id = resolvePluginId(config, pluginNameOrId);
39
+ const plugin = config.plugins?.[id];
40
+ if (!plugin) {
41
+ process.stderr.write(`[mcpx] Plugin "${pluginNameOrId}" not found
42
+ `);
43
+ process.exit(1);
44
+ }
45
+ if (!plugin.enabled) {
46
+ process.stderr.write(`[mcpx] Plugin "${plugin.name}" is disabled
47
+ `);
48
+ process.exit(1);
49
+ }
50
+ if (plugin.approvals?.mcpServers === false) {
51
+ process.stderr.write(`[mcpx] MCP servers for plugin "${plugin.name}" are not approved
52
+ `);
53
+ process.exit(1);
54
+ }
55
+ const projectOverride = getProjectOverride(plugin);
56
+ if (projectOverride) {
57
+ if (projectOverride.enabled === false) {
58
+ process.stderr.write(`[mcpx] Plugin "${plugin.name}" is disabled for this project
59
+ `);
60
+ process.exit(1);
61
+ }
62
+ if (projectOverride.components?.mcpServers === false) {
63
+ process.stderr.write(`[mcpx] MCP servers for plugin "${plugin.name}" are disabled for this project
64
+ `);
65
+ process.exit(1);
66
+ }
67
+ }
68
+ const serverDef = plugin.discovered.mcpServers.find((s) => s.id === serverId);
69
+ if (!serverDef) {
70
+ process.stderr.write(`[mcpx] Server "${serverId}" not found in plugin "${plugin.name}"
71
+ `);
72
+ process.exit(1);
73
+ }
74
+ const pluginRoot = plugin.root;
75
+ const dataDir = plugin.dataDir;
76
+ const command = resolvePluginVars(serverDef.command, pluginRoot, dataDir);
77
+ const args = (serverDef.args ?? []).map((a) => resolvePluginVars(a, pluginRoot, dataDir));
78
+ const serverEnv = serverDef.env ?? {};
79
+ const resolvedEnv = {};
80
+ for (const [k, v] of Object.entries(serverEnv)) {
81
+ resolvedEnv[k] = resolvePluginVars(v, pluginRoot, dataDir);
82
+ }
83
+ const allPaths = [command, ...args, ...Object.values(resolvedEnv)];
84
+ const resolvedPluginRoot = path.resolve(pluginRoot);
85
+ const resolvedDataDir = path.resolve(dataDir);
86
+ for (const p of allPaths) {
87
+ if (p.includes("..") || p.startsWith("/")) {
88
+ const resolved = path.resolve(resolvePluginVars(p, pluginRoot, dataDir));
89
+ const withinRoot = resolved === resolvedPluginRoot || resolved.startsWith(resolvedPluginRoot + path.sep);
90
+ const withinData = resolved === resolvedDataDir || resolved.startsWith(resolvedDataDir + path.sep);
91
+ if (!withinRoot && !withinData) {
92
+ process.stderr.write(`[mcpx] Rejected path escapes plugin root: ${p}
93
+ `);
94
+ process.exit(1);
95
+ }
96
+ }
97
+ }
98
+ const env = {};
99
+ for (const key of ALLOWLISTED_ENV) {
100
+ const val = process.env[key];
101
+ if (val)
102
+ env[key] = val;
103
+ }
104
+ for (const [k, v] of Object.entries(resolvedEnv)) {
105
+ env[k] = v;
106
+ }
107
+ for (const [k, v] of Object.entries(process.env)) {
108
+ if (k.startsWith("LC_") && v) {
109
+ env[k] = v;
110
+ }
111
+ }
112
+ env.MCPX_PLUGIN_ROOT = pluginRoot;
113
+ env.MCPX_PLUGIN_DATA = dataDir;
114
+ env.CLAUDE_PLUGIN_ROOT = pluginRoot;
115
+ env.CLAUDE_PLUGIN_DATA = dataDir;
116
+ const child = spawn(command, args, {
117
+ stdio: "inherit",
118
+ cwd: pluginRoot,
119
+ env
120
+ });
121
+ process.on("SIGINT", () => child.kill("SIGINT"));
122
+ process.on("SIGTERM", () => child.kill("SIGTERM"));
123
+ child.on("exit", (code) => {
124
+ process.exit(code ?? 1);
125
+ });
126
+ }
127
+ export {
128
+ runPluginHost
129
+ };
@@ -7,19 +7,27 @@ import {
7
7
  inspectPlugin,
8
8
  installPlugin,
9
9
  listPlugins,
10
+ pluginConfigSet,
11
+ pluginSync,
10
12
  preparePlugin,
13
+ resolvePluginId,
14
+ setPluginProjectOverride,
11
15
  uninstallPlugin,
12
16
  updatePlugin
13
- } from "./cli-9fmn9y72.js";
14
- import"./cli-n8vt375e.js";
15
- import"./cli-csfsg1yf.js";
16
- import"./cli-tk8bggg5.js";
17
+ } from "./cli-z1fv3ra8.js";
18
+ import"./cli-2vg0te30.js";
19
+ import"./cli-v27bt25d.js";
20
+ import"./cli-remv48t3.js";
17
21
  import"./cli-zjepj3sj.js";
18
22
  import"./cli-s4gspqdf.js";
19
23
  export {
20
24
  updatePlugin,
21
25
  uninstallPlugin,
26
+ setPluginProjectOverride,
27
+ resolvePluginId,
22
28
  preparePlugin,
29
+ pluginSync,
30
+ pluginConfigSet,
23
31
  listPlugins,
24
32
  installPlugin,
25
33
  inspectPlugin,
@@ -10,7 +10,7 @@ import {
10
10
  unregisterProject,
11
11
  updateServer,
12
12
  validateServerName
13
- } from "./cli-tk8bggg5.js";
13
+ } from "./cli-remv48t3.js";
14
14
  import"./cli-zjepj3sj.js";
15
15
  import"./cli-s4gspqdf.js";
16
16
  export {