@fentz26/envcp 1.2.0-exp.bafb368 → 1.2.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 (102) hide show
  1. package/README.md +21 -36
  2. package/VERSION +1 -1
  3. package/dist/adapters/base.d.ts +25 -2
  4. package/dist/adapters/base.d.ts.map +1 -1
  5. package/dist/adapters/base.js +111 -29
  6. package/dist/adapters/base.js.map +1 -1
  7. package/dist/adapters/gemini.d.ts +6 -4
  8. package/dist/adapters/gemini.d.ts.map +1 -1
  9. package/dist/adapters/gemini.js +43 -116
  10. package/dist/adapters/gemini.js.map +1 -1
  11. package/dist/adapters/openai.d.ts +6 -4
  12. package/dist/adapters/openai.d.ts.map +1 -1
  13. package/dist/adapters/openai.js +54 -131
  14. package/dist/adapters/openai.js.map +1 -1
  15. package/dist/adapters/rest.d.ts +1 -0
  16. package/dist/adapters/rest.d.ts.map +1 -1
  17. package/dist/adapters/rest.js +14 -6
  18. package/dist/adapters/rest.js.map +1 -1
  19. package/dist/cli/index.js +1463 -424
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/config/config-guard.d.ts.map +1 -1
  22. package/dist/config/config-guard.js +9 -4
  23. package/dist/config/config-guard.js.map +1 -1
  24. package/dist/config/config-hmac.d.ts.map +1 -1
  25. package/dist/config/config-hmac.js +7 -3
  26. package/dist/config/config-hmac.js.map +1 -1
  27. package/dist/config/manager.d.ts +12 -2
  28. package/dist/config/manager.d.ts.map +1 -1
  29. package/dist/config/manager.js +189 -105
  30. package/dist/config/manager.js.map +1 -1
  31. package/dist/mcp/server.d.ts.map +1 -1
  32. package/dist/mcp/server.js +2 -1
  33. package/dist/mcp/server.js.map +1 -1
  34. package/dist/server/unified.d.ts +1 -0
  35. package/dist/server/unified.d.ts.map +1 -1
  36. package/dist/server/unified.js +54 -30
  37. package/dist/server/unified.js.map +1 -1
  38. package/dist/service/config.d.ts.map +1 -1
  39. package/dist/service/config.js +5 -10
  40. package/dist/service/config.js.map +1 -1
  41. package/dist/service/generators.d.ts.map +1 -1
  42. package/dist/service/generators.js +6 -8
  43. package/dist/service/generators.js.map +1 -1
  44. package/dist/service/index.js +4 -3
  45. package/dist/service/index.js.map +1 -1
  46. package/dist/service/platform.js +2 -2
  47. package/dist/service/platform.js.map +1 -1
  48. package/dist/storage/index.d.ts +1 -1
  49. package/dist/storage/index.d.ts.map +1 -1
  50. package/dist/storage/index.js +35 -27
  51. package/dist/storage/index.js.map +1 -1
  52. package/dist/types.d.ts +265 -4
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/types.js +25 -1
  55. package/dist/types.js.map +1 -1
  56. package/dist/utils/crypto.d.ts +5 -3
  57. package/dist/utils/crypto.d.ts.map +1 -1
  58. package/dist/utils/crypto.js +7 -8
  59. package/dist/utils/crypto.js.map +1 -1
  60. package/dist/utils/fs.d.ts +11 -1
  61. package/dist/utils/fs.d.ts.map +1 -1
  62. package/dist/utils/fs.js +22 -13
  63. package/dist/utils/fs.js.map +1 -1
  64. package/dist/utils/hsm.d.ts +8 -8
  65. package/dist/utils/hsm.d.ts.map +1 -1
  66. package/dist/utils/hsm.js +13 -8
  67. package/dist/utils/hsm.js.map +1 -1
  68. package/dist/utils/http.d.ts +1 -1
  69. package/dist/utils/http.d.ts.map +1 -1
  70. package/dist/utils/http.js +9 -4
  71. package/dist/utils/http.js.map +1 -1
  72. package/dist/utils/keychain.js +4 -4
  73. package/dist/utils/keychain.js.map +1 -1
  74. package/dist/utils/lock.d.ts.map +1 -1
  75. package/dist/utils/lock.js +2 -1
  76. package/dist/utils/lock.js.map +1 -1
  77. package/dist/utils/lockout.d.ts +2 -2
  78. package/dist/utils/lockout.d.ts.map +1 -1
  79. package/dist/utils/lockout.js +3 -3
  80. package/dist/utils/lockout.js.map +1 -1
  81. package/dist/utils/prompt.d.ts +11 -0
  82. package/dist/utils/prompt.d.ts.map +1 -1
  83. package/dist/utils/prompt.js +242 -5
  84. package/dist/utils/prompt.js.map +1 -1
  85. package/dist/utils/secure-memory.d.ts.map +1 -1
  86. package/dist/utils/secure-memory.js +6 -3
  87. package/dist/utils/secure-memory.js.map +1 -1
  88. package/dist/utils/session.d.ts +3 -1
  89. package/dist/utils/session.d.ts.map +1 -1
  90. package/dist/utils/session.js +41 -19
  91. package/dist/utils/session.js.map +1 -1
  92. package/dist/utils/update-checker.d.ts +3 -0
  93. package/dist/utils/update-checker.d.ts.map +1 -1
  94. package/dist/utils/update-checker.js +51 -5
  95. package/dist/utils/update-checker.js.map +1 -1
  96. package/dist/vault/index.d.ts.map +1 -1
  97. package/dist/vault/index.js +5 -3
  98. package/dist/vault/index.js.map +1 -1
  99. package/dist/version.js +3 -3
  100. package/dist/version.js.map +1 -1
  101. package/package.json +2 -2
  102. package/scripts/sync-version.js +65 -23
@@ -1,5 +1,5 @@
1
- import * as crypto from 'crypto';
2
- import * as os from 'os';
1
+ import * as crypto from 'node:crypto';
2
+ import * as os from 'node:os';
3
3
  const HMAC_ALGORITHM = 'sha256';
4
4
  const PBKDF2_ITERATIONS = 100000;
5
5
  const PBKDF2_KEY_LENGTH = 32;
@@ -14,7 +14,11 @@ export function verifyConfigHmac(configContent, hmac, key) {
14
14
  if (!hmac.startsWith('sha256:'))
15
15
  return false;
16
16
  const expected = generateConfigHmac(configContent, key);
17
- return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(hmac));
17
+ const expectedBuffer = Buffer.from(expected);
18
+ const providedBuffer = Buffer.from(hmac);
19
+ if (expectedBuffer.length !== providedBuffer.length)
20
+ return false;
21
+ return crypto.timingSafeEqual(expectedBuffer, providedBuffer);
18
22
  }
19
23
  export function deriveHmacKey(password) {
20
24
  const salt = Buffer.from(PBKDF2_SALT, 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"config-hmac.js","sourceRoot":"","sources":["../../src/config/config-hmac.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,cAAc,GAAG,QAAQ,CAAC;AAChC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAE3C,MAAM,UAAU,kBAAkB,CAAC,aAAqB,EAAE,GAAW;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,UAAU,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,aAAqB,EAAE,IAAY,EAAE,GAAW;IAC/E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAClG,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IAC9F,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,OAAO,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"config-hmac.js","sourceRoot":"","sources":["../../src/config/config-hmac.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,cAAc,GAAG,QAAQ,CAAC;AAChC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAE3C,MAAM,UAAU,kBAAkB,CAAC,aAAqB,EAAE,GAAW;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,UAAU,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,aAAqB,EAAE,IAAY,EAAE,GAAW;IAC/E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,cAAc,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAClE,OAAO,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAClG,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IAC9F,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,OAAO,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;AACnC,CAAC"}
@@ -1,11 +1,14 @@
1
1
  import { EnvCPConfig } from '../types.js';
2
+ export type ConfigScope = 'project' | 'home' | 'merged';
2
3
  export declare function loadConfig(projectPath: string): Promise<EnvCPConfig>;
4
+ export declare function loadScopedConfig(projectPath: string, scope: ConfigScope): Promise<EnvCPConfig>;
3
5
  export declare function saveConfigSignature(projectPath: string, configContent: string, key: string): Promise<void>;
4
6
  export interface ConfigPathOptions {
5
7
  global?: boolean;
6
8
  }
7
9
  export declare function getConfigFilePath(projectPath: string, options?: ConfigPathOptions): string;
8
10
  export declare function saveConfig(config: EnvCPConfig, projectPath: string, options?: ConfigPathOptions): Promise<void>;
11
+ export declare function saveScopedConfig(config: EnvCPConfig, projectPath: string, scope: Exclude<ConfigScope, 'merged'>): Promise<void>;
9
12
  export declare function initConfig(projectPath: string, projectName?: string, options?: ConfigPathOptions): Promise<EnvCPConfig>;
10
13
  interface McpTarget {
11
14
  name: string;
@@ -25,9 +28,10 @@ export declare function registerMcpConfig(projectPath: string): Promise<{
25
28
  manual: string[];
26
29
  }>;
27
30
  /**
28
- * Parses a `.env` file into a key/value map.
31
+ * Parses a `.env` file into a key/value map with strict dotenv semantics.
29
32
  * Handles double-quoted values with backslash escape sequences (`\"`, `\\`).
30
33
  * Single-quoted values are taken literally. Lines starting with `#` are ignored.
34
+ * Keys that are not valid POSIX identifiers are dropped.
31
35
  * @param content - Raw text content of a `.env` file
32
36
  */
33
37
  export declare function parseEnvFile(content: string): Record<string, string>;
@@ -39,12 +43,18 @@ export declare function matchesPattern(name: string, pattern: string): boolean;
39
43
  * @security This is the primary access-control gate for AI-facing operations.
40
44
  */
41
45
  export declare function canAccess(name: string, config: EnvCPConfig): boolean;
46
+ export type VariableAccessOperation = 'read' | 'write' | 'delete' | 'export' | 'execute';
47
+ export declare function isVariableRuleActive(name: string, config: EnvCPConfig, now?: Date, clientId?: string): boolean;
48
+ export declare function getDefaultAccessFlag(config: EnvCPConfig, operation: VariableAccessOperation, clientId?: string): boolean;
49
+ export declare function resolveAccessRuleFlag(name: string, config: EnvCPConfig, operation: VariableAccessOperation, clientId?: string): boolean;
50
+ export declare function canAccessVariable(name: string, config: EnvCPConfig, operation: VariableAccessOperation, clientId?: string): boolean;
51
+ export declare function requiresConfirmationForVariable(name: string, config: EnvCPConfig, clientId?: string): boolean;
42
52
  /**
43
53
  * Returns true if the variable `name` matches any `blacklist_patterns` entry.
44
54
  * Blacklisted variables are always denied regardless of other access rules.
45
55
  */
46
56
  export declare function isBlacklisted(name: string, config: EnvCPConfig): boolean;
47
- export declare function canAIActiveCheck(config: EnvCPConfig): boolean;
57
+ export declare function canAIActiveCheck(config: EnvCPConfig, clientId?: string): boolean;
48
58
  export declare function requiresUserReference(config: EnvCPConfig): boolean;
49
59
  export {};
50
60
  //# sourceMappingURL=manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAyG7D,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAwC1E;AAED,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhH;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAI1F;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CASrH;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B7H;AAGD,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACzE,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,GAAG,mBAAmB,CAAC;CACxF;AAsFD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,CAsC9C;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAkD7I;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0BpE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CASrE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAoBpE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAKxE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAE7D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAElE"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAuI7D,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExD,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAsB1E;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAwBpG;AAED,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhH;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAI1F;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CASrH;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQrI;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B7H;AAGD,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACzE,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,GAAG,mBAAmB,CAAC;CACxF;AA+DD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,CAsC9C;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAkD7I;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CASrE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAoBpE;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAyCzF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,GAAG,GAAE,IAAiB,EACtB,QAAQ,SAAK,GACZ,OAAO,CAIT;AAyBD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ,SAAK,GAAG,OAAO,CAcpH;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,uBAAuB,EAClC,QAAQ,SAAK,GACZ,OAAO,CAET;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,uBAAuB,EAClC,QAAQ,SAAK,GACZ,OAAO,CAkBT;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,SAAK,GAAG,OAAO,CAOzG;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAKxE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,SAAK,GAAG,OAAO,CAE5E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAElE"}
@@ -1,7 +1,7 @@
1
- import * as fs from 'fs/promises';
2
- import * as path from 'path';
1
+ import * as fs from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
3
  import * as yaml from 'js-yaml';
4
- import { ensureDir, pathExists } from '../utils/fs.js';
4
+ import { ensureDir, pathExists, parseEnv } from '../utils/fs.js';
5
5
  import { EnvCPConfigSchema } from '../types.js';
6
6
  import { generateConfigHmac, verifyConfigHmac, deriveHmacKey, getSystemIdentifier } from './config-hmac.js';
7
7
  const DEFAULT_CONFIG = {
@@ -15,6 +15,8 @@ const DEFAULT_CONFIG = {
15
15
  encrypted: true,
16
16
  },
17
17
  access: {
18
+ variable_rules: {},
19
+ client_rules: {},
18
20
  allow_ai_read: false,
19
21
  allow_ai_write: false,
20
22
  allow_ai_delete: false,
@@ -99,44 +101,72 @@ function deepMerge(target, source) {
99
101
  result[key] = deepMerge(tgtVal, srcVal);
100
102
  }
101
103
  else {
102
- /* istanbul ignore next -- branch mapped incorrectly, statement covered */
104
+ /* c8 ignore next -- branch mapped incorrectly, statement covered */
103
105
  result[key] = srcVal;
104
106
  }
105
107
  }
106
108
  return result;
107
109
  }
108
- export async function loadConfig(projectPath) {
109
- /* c8 ignore next -- at least HOME or USERPROFILE is always set in supported environments */
110
- const home = process.env.HOME || process.env.USERPROFILE || '';
111
- const globalConfigPath = path.join(home, '.envcp', 'config.yaml');
110
+ async function loadYamlObjectIfExists(filePath) {
111
+ if (!await pathExists(filePath)) {
112
+ return null;
113
+ }
114
+ const content = await fs.readFile(filePath, 'utf8');
115
+ const parsed = yaml.load(content, { schema: yaml.JSON_SCHEMA });
116
+ return parsed && typeof parsed === 'object' ? parsed : null;
117
+ }
118
+ function getHomeDir() {
119
+ return process.env.HOME || process.env.USERPROFILE || '';
120
+ }
121
+ async function verifyProjectConfigSignature(projectPath) {
112
122
  const projectConfigPath = path.join(projectPath, 'envcp.yaml');
113
123
  const sigPath = path.join(projectPath, '.envcp', '.config_signature');
114
124
  const hmacKey = deriveHmacKey(getSystemIdentifier());
115
- if (await pathExists(sigPath)) {
116
- if (await pathExists(projectConfigPath)) {
117
- const storedHmac = await fs.readFile(sigPath, 'utf8');
118
- const projectContent = await fs.readFile(projectConfigPath, 'utf8');
119
- if (!verifyConfigHmac(projectContent, storedHmac, hmacKey)) {
120
- throw new Error('Config integrity check failed: envcp.yaml has been tampered with or corrupted. Verify the file or remove .envcp/.config_signature to regenerate.');
121
- }
125
+ if (await pathExists(sigPath) && await pathExists(projectConfigPath)) {
126
+ const storedHmac = await fs.readFile(sigPath, 'utf8');
127
+ const projectContent = await fs.readFile(projectConfigPath, 'utf8');
128
+ if (!verifyConfigHmac(projectContent, storedHmac, hmacKey)) {
129
+ throw new Error('Config integrity check failed: envcp.yaml has been tampered with or corrupted. Verify the file or remove .envcp/.config_signature to regenerate.');
122
130
  }
123
131
  }
132
+ }
133
+ export async function loadConfig(projectPath) {
134
+ const home = getHomeDir();
135
+ const globalConfigPath = path.join(home, '.envcp', 'config.yaml');
136
+ const projectConfigPath = path.join(projectPath, 'envcp.yaml');
137
+ await verifyProjectConfigSignature(projectPath);
124
138
  let merged = DEFAULT_CONFIG;
125
139
  // Layer 1: global config (~/.envcp/config.yaml)
126
- if (await pathExists(globalConfigPath)) {
127
- const content = await fs.readFile(globalConfigPath, 'utf8');
128
- const parsed = yaml.load(content, { schema: yaml.JSON_SCHEMA });
129
- if (parsed && typeof parsed === 'object') {
130
- merged = deepMerge(merged, parsed);
131
- }
140
+ const globalConfig = await loadYamlObjectIfExists(globalConfigPath);
141
+ if (globalConfig) {
142
+ merged = deepMerge(merged, globalConfig);
132
143
  }
133
144
  // Layer 2: project config (envcp.yaml) — overrides global
134
- if (await pathExists(projectConfigPath)) {
135
- const content = await fs.readFile(projectConfigPath, 'utf8');
136
- const parsed = yaml.load(content, { schema: yaml.JSON_SCHEMA });
137
- if (parsed && typeof parsed === 'object') {
138
- merged = deepMerge(merged, parsed);
145
+ const projectConfig = await loadYamlObjectIfExists(projectConfigPath);
146
+ if (projectConfig) {
147
+ merged = deepMerge(merged, projectConfig);
148
+ }
149
+ return EnvCPConfigSchema.parse(merged);
150
+ }
151
+ export async function loadScopedConfig(projectPath, scope) {
152
+ if (scope === 'merged') {
153
+ return loadConfig(projectPath);
154
+ }
155
+ const home = getHomeDir();
156
+ let merged = DEFAULT_CONFIG;
157
+ if (scope === 'home') {
158
+ const globalConfigPath = path.join(home, '.envcp', 'config.yaml');
159
+ const globalConfig = await loadYamlObjectIfExists(globalConfigPath);
160
+ if (globalConfig) {
161
+ merged = deepMerge(merged, globalConfig);
139
162
  }
163
+ return EnvCPConfigSchema.parse(merged);
164
+ }
165
+ await verifyProjectConfigSignature(projectPath);
166
+ const projectConfigPath = path.join(projectPath, 'envcp.yaml');
167
+ const projectConfig = await loadYamlObjectIfExists(projectConfigPath);
168
+ if (projectConfig) {
169
+ merged = deepMerge(merged, projectConfig);
140
170
  }
141
171
  return EnvCPConfigSchema.parse(merged);
142
172
  }
@@ -162,6 +192,14 @@ export async function saveConfig(config, projectPath, options) {
162
192
  const key = deriveHmacKey(getSystemIdentifier());
163
193
  await saveConfigSignature(projectPath, content, key);
164
194
  }
195
+ export async function saveScopedConfig(config, projectPath, scope) {
196
+ if (scope === 'home') {
197
+ const home = getHomeDir();
198
+ await saveConfig(config, home, { global: true });
199
+ return;
200
+ }
201
+ await saveConfig(config, projectPath);
202
+ }
165
203
  export async function initConfig(projectPath, projectName, options) {
166
204
  const envcpDir = path.join(projectPath, '.envcp');
167
205
  await ensureDir(envcpDir);
@@ -190,59 +228,34 @@ export async function initConfig(projectPath, projectName, options) {
190
228
  }
191
229
  return config;
192
230
  }
231
+ function globalMcpTarget(name, getPath, format) {
232
+ return { name, getPath, projectLocal: false, requireExisting: true, format };
233
+ }
234
+ function getRoamingConfigPath(home, ...segments) {
235
+ const appData = process.env.APPDATA || path.join(home, 'AppData', 'Roaming');
236
+ return path.join(appData, ...segments);
237
+ }
193
238
  function getMcpTargets() {
194
239
  return [
195
240
  // --- Global configs (require existing file = tool is installed) ---
196
- {
197
- name: 'Claude Desktop',
198
- getPath: (_proj, home, platform) => {
199
- if (platform === 'darwin')
200
- return path.join(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
201
- if (platform === 'win32')
202
- return path.join(process.env.APPDATA || path.join(home, 'AppData', 'Roaming'), 'Claude', 'claude_desktop_config.json');
203
- return path.join(home, '.config', 'Claude', 'claude_desktop_config.json');
204
- },
205
- projectLocal: false, requireExisting: true, format: 'mcpServers',
206
- },
207
- {
208
- name: 'Claude Code',
209
- getPath: (_proj, home) => path.join(home, '.claude', 'mcp.json'),
210
- projectLocal: false, requireExisting: true, format: 'mcpServers',
211
- },
212
- {
213
- name: 'Cursor',
214
- getPath: (_proj, home) => path.join(home, '.cursor', 'mcp.json'),
215
- projectLocal: false, requireExisting: true, format: 'mcpServers',
216
- },
217
- {
218
- name: 'Windsurf',
219
- getPath: (_proj, home) => path.join(home, '.codeium', 'windsurf', 'mcp_config.json'),
220
- projectLocal: false, requireExisting: true, format: 'mcpServers',
221
- },
222
- {
223
- name: 'Zed',
224
- getPath: (_proj, home, platform) => {
225
- if (platform === 'win32')
226
- return path.join(process.env.APPDATA || path.join(home, 'AppData', 'Roaming'), 'Zed', 'settings.json');
227
- return path.join(home, '.config', 'zed', 'settings.json');
228
- },
229
- projectLocal: false, requireExisting: true, format: 'context_servers',
230
- },
231
- {
232
- name: 'Continue.dev',
233
- getPath: (_proj, home) => path.join(home, '.continue', 'mcp.json'),
234
- projectLocal: false, requireExisting: true, format: 'mcpServers',
235
- },
236
- {
237
- name: 'OpenCode',
238
- getPath: (_proj, home) => path.join(home, '.config', 'opencode', 'opencode.json'),
239
- projectLocal: false, requireExisting: true, format: 'mcp_key',
240
- },
241
- {
242
- name: 'GitHub Copilot CLI',
243
- getPath: (_proj, home) => path.join(home, '.copilot', 'mcp-config.json'),
244
- projectLocal: false, requireExisting: true, format: 'mcp_servers_array',
245
- },
241
+ globalMcpTarget('Claude Desktop', (_proj, home, platform) => {
242
+ if (platform === 'darwin')
243
+ return path.join(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
244
+ if (platform === 'win32')
245
+ return getRoamingConfigPath(home, 'Claude', 'claude_desktop_config.json');
246
+ return path.join(home, '.config', 'Claude', 'claude_desktop_config.json');
247
+ }, 'mcpServers'),
248
+ globalMcpTarget('Claude Code', (_proj, home) => path.join(home, '.claude', 'mcp.json'), 'mcpServers'),
249
+ globalMcpTarget('Cursor', (_proj, home) => path.join(home, '.cursor', 'mcp.json'), 'mcpServers'),
250
+ globalMcpTarget('Windsurf', (_proj, home) => path.join(home, '.codeium', 'windsurf', 'mcp_config.json'), 'mcpServers'),
251
+ globalMcpTarget('Zed', (_proj, home, platform) => {
252
+ if (platform === 'win32')
253
+ return getRoamingConfigPath(home, 'Zed', 'settings.json');
254
+ return path.join(home, '.config', 'zed', 'settings.json');
255
+ }, 'context_servers'),
256
+ globalMcpTarget('Continue.dev', (_proj, home) => path.join(home, '.continue', 'mcp.json'), 'mcpServers'),
257
+ globalMcpTarget('OpenCode', (_proj, home) => path.join(home, '.config', 'opencode', 'opencode.json'), 'mcp_key'),
258
+ globalMcpTarget('GitHub Copilot CLI', (_proj, home) => path.join(home, '.copilot', 'mcp-config.json'), 'mcp_servers_array'),
246
259
  // --- Project-local configs (create if tool dir detected) ---
247
260
  {
248
261
  name: 'Cursor (project)',
@@ -326,7 +339,7 @@ export function writeToConfig(config, format, entry) {
326
339
  }
327
340
  }
328
341
  export async function registerMcpConfig(projectPath) {
329
- /* istanbul ignore next -- HOME or USERPROFILE always set in supported environments */
342
+ /* c8 ignore next -- HOME or USERPROFILE always set in supported environments */
330
343
  const home = process.env.HOME || process.env.USERPROFILE || '';
331
344
  const platform = process.platform;
332
345
  const targets = getMcpTargets();
@@ -365,40 +378,20 @@ export async function registerMcpConfig(projectPath) {
365
378
  registered.push(target.name);
366
379
  }
367
380
  catch {
368
- /* istanbul ignore next -- rare: invalid JSON or permission errors are silently skipped */
381
+ /* c8 ignore next -- rare: invalid JSON or permission errors are silently skipped */
369
382
  }
370
383
  }
371
384
  return { registered, alreadyConfigured, manual };
372
385
  }
373
386
  /**
374
- * Parses a `.env` file into a key/value map.
387
+ * Parses a `.env` file into a key/value map with strict dotenv semantics.
375
388
  * Handles double-quoted values with backslash escape sequences (`\"`, `\\`).
376
389
  * Single-quoted values are taken literally. Lines starting with `#` are ignored.
390
+ * Keys that are not valid POSIX identifiers are dropped.
377
391
  * @param content - Raw text content of a `.env` file
378
392
  */
379
393
  export function parseEnvFile(content) {
380
- const vars = {};
381
- for (const line of content.split('\n')) {
382
- const trimmed = line.trim();
383
- if (!trimmed || trimmed.startsWith('#'))
384
- continue;
385
- const eqIndex = trimmed.indexOf('=');
386
- if (eqIndex === -1)
387
- continue;
388
- const key = trimmed.substring(0, eqIndex).trim();
389
- let value = trimmed.substring(eqIndex + 1).trim();
390
- // Strip quotes and unescape
391
- if (value.startsWith('"') && value.endsWith('"')) {
392
- value = value.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
393
- }
394
- else if (value.startsWith("'") && value.endsWith("'")) {
395
- value = value.slice(1, -1);
396
- }
397
- if (validateVariableName(key)) {
398
- vars[key] = value;
399
- }
400
- }
401
- return vars;
394
+ return parseEnv(content, { validateNames: true, escapeStyle: 'dotenv' });
402
395
  }
403
396
  export function validateVariableName(name) {
404
397
  return /^[A-Za-z_][A-Za-z0-9_]*$/.test(name);
@@ -407,9 +400,9 @@ const _patternCache = new Map();
407
400
  export function matchesPattern(name, pattern) {
408
401
  let regex = _patternCache.get(pattern);
409
402
  if (!regex) {
410
- const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
403
+ const escaped = pattern.replaceAll(/[.+?^${}()|[\]\\]/g, '\\$&');
411
404
  // eslint-disable-next-line security/detect-non-literal-regexp -- glob pattern from config; metacharacters escaped above
412
- regex = new RegExp('^' + escaped.replace(/\*/g, '.*') + '$');
405
+ regex = new RegExp('^' + escaped.replaceAll('*', '.*') + '$');
413
406
  _patternCache.set(pattern, regex);
414
407
  }
415
408
  return regex.test(name);
@@ -437,6 +430,97 @@ export function canAccess(name, config) {
437
430
  }
438
431
  return true;
439
432
  }
433
+ function toMinutes(value) {
434
+ const [hours, minutes] = value.split(':').map((part) => Number.parseInt(part, 10));
435
+ return hours * 60 + minutes;
436
+ }
437
+ function isWindowActive(window, now) {
438
+ if (!window) {
439
+ return true;
440
+ }
441
+ const currentMinutes = now.getHours() * 60 + now.getMinutes();
442
+ const startMinutes = toMinutes(window.start);
443
+ const endMinutes = toMinutes(window.end);
444
+ if (startMinutes === endMinutes) {
445
+ return true;
446
+ }
447
+ if (startMinutes < endMinutes) {
448
+ return currentMinutes >= startMinutes && currentMinutes < endMinutes;
449
+ }
450
+ return currentMinutes >= startMinutes || currentMinutes < endMinutes;
451
+ }
452
+ function getClientRule(config, clientId = '') {
453
+ if (!clientId) {
454
+ return undefined;
455
+ }
456
+ return config.access.client_rules?.[clientId];
457
+ }
458
+ function getClientVariableRule(name, config, clientId = '') {
459
+ return getClientRule(config, clientId)?.variable_rules?.[name];
460
+ }
461
+ export function isVariableRuleActive(name, config, now = new Date(), clientId = '') {
462
+ const globalWindow = config.access.variable_rules?.[name]?.active_window;
463
+ const clientWindow = getClientVariableRule(name, config, clientId)?.active_window;
464
+ return isWindowActive(globalWindow, now) && isWindowActive(clientWindow, now);
465
+ }
466
+ function getVariableRuleFlag(name, config, operation, clientId = '') {
467
+ const clientRule = getClientVariableRule(name, config, clientId);
468
+ const rule = config.access.variable_rules?.[name];
469
+ switch (operation) {
470
+ case 'read':
471
+ return clientRule?.allow_ai_read ?? rule?.allow_ai_read;
472
+ case 'write':
473
+ return clientRule?.allow_ai_write ?? rule?.allow_ai_write;
474
+ case 'delete':
475
+ return clientRule?.allow_ai_delete ?? rule?.allow_ai_delete;
476
+ case 'export':
477
+ return clientRule?.allow_ai_export ?? rule?.allow_ai_export;
478
+ case 'execute':
479
+ return clientRule?.allow_ai_execute ?? rule?.allow_ai_execute;
480
+ }
481
+ }
482
+ export function getDefaultAccessFlag(config, operation, clientId = '') {
483
+ const clientRule = getClientRule(config, clientId);
484
+ switch (operation) {
485
+ case 'read':
486
+ return clientRule?.allow_ai_read ?? config.access.allow_ai_read;
487
+ case 'write':
488
+ return clientRule?.allow_ai_write ?? config.access.allow_ai_write;
489
+ case 'delete':
490
+ return clientRule?.allow_ai_delete ?? config.access.allow_ai_delete;
491
+ case 'export':
492
+ return clientRule?.allow_ai_export ?? config.access.allow_ai_export;
493
+ case 'execute':
494
+ return clientRule?.allow_ai_execute ?? config.access.allow_ai_execute;
495
+ }
496
+ }
497
+ export function resolveAccessRuleFlag(name, config, operation, clientId = '') {
498
+ return getVariableRuleFlag(name, config, operation, clientId) ?? getDefaultAccessFlag(config, operation, clientId);
499
+ }
500
+ export function canAccessVariable(name, config, operation, clientId = '') {
501
+ if (isBlacklisted(name, config)) {
502
+ return false;
503
+ }
504
+ if (!isVariableRuleActive(name, config, new Date(), clientId)) {
505
+ return false;
506
+ }
507
+ const ruleFlag = getVariableRuleFlag(name, config, operation, clientId);
508
+ if (ruleFlag === false) {
509
+ return false;
510
+ }
511
+ if (ruleFlag === true) {
512
+ return true;
513
+ }
514
+ return getDefaultAccessFlag(config, operation, clientId) && canAccess(name, config);
515
+ }
516
+ export function requiresConfirmationForVariable(name, config, clientId = '') {
517
+ const clientRule = getClientVariableRule(name, config, clientId);
518
+ const clientDefaults = getClientRule(config, clientId);
519
+ return clientRule?.require_confirmation
520
+ ?? config.access.variable_rules?.[name]?.require_confirmation
521
+ ?? clientDefaults?.require_confirmation
522
+ ?? config.access.require_confirmation === true;
523
+ }
440
524
  /**
441
525
  * Returns true if the variable `name` matches any `blacklist_patterns` entry.
442
526
  * Blacklisted variables are always denied regardless of other access rules.
@@ -447,8 +531,8 @@ export function isBlacklisted(name, config) {
447
531
  }
448
532
  return false;
449
533
  }
450
- export function canAIActiveCheck(config) {
451
- return config.access.allow_ai_active_check === true;
534
+ export function canAIActiveCheck(config, clientId = '') {
535
+ return getClientRule(config, clientId)?.allow_ai_active_check ?? config.access.allow_ai_active_check === true;
452
536
  }
453
537
  export function requiresUserReference(config) {
454
538
  return config.access.require_user_reference === true;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ1C,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAa;gBAEhB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAWjH,OAAO,CAAC,aAAa;IAiCf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ1C,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAa;gBAEhB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAWjH,OAAO,CAAC,aAAa;IAkCf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
@@ -28,9 +28,10 @@ export class EnvCPServer {
28
28
  const { name, arguments: args } = request.params;
29
29
  const clientInfo = this.server
30
30
  .getClientVersion?.();
31
+ /* c8 ignore next -- MCP SDK getClientVersion rarely returns a named client in tests */
31
32
  const clientId = clientInfo?.name || 'mcp';
32
33
  try {
33
- const result = await this.adapter.callTool(name, (args || {}), clientId);
34
+ const result = await this.adapter.callTool(name, args || {}, clientId);
34
35
  return {
35
36
  content: [
36
37
  {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,QAAQ,GACT,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,MAAM,UAAW,SAAQ,WAAW;IACxB,aAAa;QACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IACd,MAAM,CAAS;IACf,OAAO,CAAa;IAE5B,YAAY,MAAmB,EAAE,WAAmB,EAAE,QAAiB,EAAE,SAAkB,EAAE,WAAoB;QAC/G,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAErF,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EACnC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACjE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,UAAU;aAC7B,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,MAAM,UAAU,GAAI,IAAI,CAAC,MAAgF;iBACtG,gBAAgB,EAAE,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,UAAU,EAAE,IAAI,IAAI,KAAK,CAAC;YAE3C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAA4B,EAAE,QAAQ,CAAC,CAAC;gBACpG,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EACT,QAAQ,GACT,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,MAAM,UAAW,SAAQ,WAAW;IACxB,aAAa;QACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IACd,MAAM,CAAS;IACf,OAAO,CAAa;IAE5B,YAAY,MAAmB,EAAE,WAAmB,EAAE,QAAiB,EAAE,SAAkB,EAAE,WAAoB;QAC/G,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAErF,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EACnC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACjE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,UAAU;aAC7B,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,MAAM,UAAU,GAAI,IAAI,CAAC,MAAgF;iBACtG,gBAAgB,EAAE,EAAE,CAAC;YACxB,uFAAuF;YACvF,MAAM,QAAQ,GAAG,UAAU,EAAE,IAAI,IAAI,KAAK,CAAC;YAE3C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACvE,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -11,6 +11,7 @@ export declare class UnifiedServer {
11
11
  private mcpServer;
12
12
  private httpServer;
13
13
  private rateLimiter;
14
+ private apiKeyLockoutManager?;
14
15
  private logs;
15
16
  private shutdownHandlers;
16
17
  constructor(config: EnvCPConfig, serverConfig: ServerConfig, projectPath: string, password?: string);
@@ -1 +1 @@
1
- {"version":3,"file":"unified.d.ts","sourceRoot":"","sources":["../../src/server/unified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASpE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAE1B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,gBAAgB,CAA4D;gBAExE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAQnG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU;IA0C1E,OAAO,CAAC,mBAAmB;IA+BrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA2Ld,iBAAiB;YA0FjB,mBAAmB;YA6EnB,mBAAmB;IAiFjC,IAAI,IAAI,IAAI;CAuBb"}
1
+ {"version":3,"file":"unified.d.ts","sourceRoot":"","sources":["../../src/server/unified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUpE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAE1B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,gBAAgB,CAA4D;gBAExE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAQnG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU;IA0C1E,OAAO,CAAC,mBAAmB;IA+BrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAqPd,iBAAiB;YA0FjB,mBAAmB;YAiEnB,mBAAmB;IAsEjC,IAAI,IAAI,IAAI;CAuBb"}