@1mcp/agent 0.18.0 → 0.19.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 (36) hide show
  1. package/README.md +4 -0
  2. package/build/commands/mcp/add.d.ts +3 -0
  3. package/build/commands/mcp/add.d.ts.map +1 -1
  4. package/build/commands/mcp/add.js +24 -0
  5. package/build/commands/mcp/add.js.map +1 -1
  6. package/build/commands/mcp/index.d.ts.map +1 -1
  7. package/build/commands/mcp/index.js +24 -0
  8. package/build/commands/mcp/index.js.map +1 -1
  9. package/build/commands/mcp/list.js +12 -0
  10. package/build/commands/mcp/list.js.map +1 -1
  11. package/build/commands/mcp/update.d.ts +3 -0
  12. package/build/commands/mcp/update.d.ts.map +1 -1
  13. package/build/commands/mcp/update.js +21 -0
  14. package/build/commands/mcp/update.js.map +1 -1
  15. package/build/config/mcpConfigManager.d.ts +5 -0
  16. package/build/config/mcpConfigManager.d.ts.map +1 -1
  17. package/build/config/mcpConfigManager.js +56 -8
  18. package/build/config/mcpConfigManager.js.map +1 -1
  19. package/build/constants.d.ts +1 -1
  20. package/build/constants.js +1 -1
  21. package/build/core/types/transport.d.ts +27 -5
  22. package/build/core/types/transport.d.ts.map +1 -1
  23. package/build/core/types/transport.js +7 -2
  24. package/build/core/types/transport.js.map +1 -1
  25. package/build/transport/restartableStdioTransport.d.ts +84 -0
  26. package/build/transport/restartableStdioTransport.d.ts.map +1 -0
  27. package/build/transport/restartableStdioTransport.js +185 -0
  28. package/build/transport/restartableStdioTransport.js.map +1 -0
  29. package/build/transport/transportFactory.d.ts.map +1 -1
  30. package/build/transport/transportFactory.js +38 -2
  31. package/build/transport/transportFactory.js.map +1 -1
  32. package/build/utils/envProcessor.d.ts +45 -0
  33. package/build/utils/envProcessor.d.ts.map +1 -0
  34. package/build/utils/envProcessor.js +214 -0
  35. package/build/utils/envProcessor.js.map +1 -0
  36. package/package.json +1 -1
@@ -0,0 +1,84 @@
1
+ import { StdioServerParameters } from '@modelcontextprotocol/sdk/client/stdio.js';
2
+ import { JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
3
+ import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
4
+ import { Stream } from 'node:stream';
5
+ /**
6
+ * Configuration for the restartable stdio transport
7
+ */
8
+ export interface RestartableTransportConfig {
9
+ readonly restartOnExit: boolean;
10
+ readonly maxRestarts?: number;
11
+ readonly restartDelay?: number;
12
+ }
13
+ /**
14
+ * Wrapper around StdioClientTransport that provides automatic restart functionality
15
+ * Implements Transport interface and adds OAuth provider support
16
+ */
17
+ export declare class RestartableStdioTransport implements Transport {
18
+ private readonly serverParams;
19
+ private readonly restartConfig;
20
+ private _currentTransport;
21
+ private _restartCount;
22
+ private _isStarting;
23
+ private _isClosing;
24
+ private _restartTimer;
25
+ timeout?: number;
26
+ tags?: string[];
27
+ oauthProvider?: any;
28
+ onclose?: () => void;
29
+ onerror?: (error: Error) => void;
30
+ onmessage?: (message: JSONRPCMessage) => void;
31
+ constructor(serverParams: StdioServerParameters, restartConfig: RestartableTransportConfig);
32
+ /**
33
+ * Creates a new underlying transport instance
34
+ */
35
+ private createTransport;
36
+ /**
37
+ * Handles transport close events
38
+ */
39
+ private handleTransportClose;
40
+ /**
41
+ * Handles transport error events
42
+ */
43
+ private handleTransportError;
44
+ /**
45
+ * Handles transport message events
46
+ */
47
+ private handleTransportMessage;
48
+ /**
49
+ * Attempts to restart the transport
50
+ */
51
+ private attemptRestart;
52
+ /**
53
+ * Restarts the underlying transport
54
+ */
55
+ private restartTransport;
56
+ /**
57
+ * Starts the transport
58
+ */
59
+ start(): Promise<void>;
60
+ /**
61
+ * Gets the stderr stream from the current transport
62
+ */
63
+ get stderr(): Stream | null;
64
+ /**
65
+ * Gets the process PID from the current transport
66
+ */
67
+ get pid(): number | null;
68
+ /**
69
+ * Sends a message through the current transport
70
+ */
71
+ send(message: JSONRPCMessage): Promise<void>;
72
+ /**
73
+ * Closes the transport and prevents restart
74
+ */
75
+ close(): Promise<void>;
76
+ /**
77
+ * Gets restart statistics
78
+ */
79
+ getRestartStats(): {
80
+ restartCount: number;
81
+ isRestarting: boolean;
82
+ };
83
+ }
84
+ //# sourceMappingURL=restartableStdioTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restartableStdioTransport.d.ts","sourceRoot":"","sources":["../../src/transport/restartableStdioTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,SAAS;IAkBvD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAlBhC,OAAO,CAAC,iBAAiB,CAAqC;IAC9D,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAA8C;IAG5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,GAAG,CAAC;IAGpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;gBAGlC,YAAY,EAAE,qBAAqB,EACnC,aAAa,EAAE,0BAA0B;IAK5D;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;OAEG;YACW,gBAAgB;IAqB9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,GAAG,IAAI,CAEvB;IAED;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5B;;OAEG;IACH,eAAe,IAAI;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE;CAMnE"}
@@ -0,0 +1,185 @@
1
+ import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
2
+ import logger from '../logger/logger.js';
3
+ /**
4
+ * Wrapper around StdioClientTransport that provides automatic restart functionality
5
+ * Implements Transport interface and adds OAuth provider support
6
+ */
7
+ export class RestartableStdioTransport {
8
+ serverParams;
9
+ restartConfig;
10
+ _currentTransport = null;
11
+ _restartCount = 0;
12
+ _isStarting = false;
13
+ _isClosing = false;
14
+ _restartTimer = null;
15
+ // Extended properties for AuthProviderTransport compatibility
16
+ timeout;
17
+ tags;
18
+ oauthProvider;
19
+ // Event handlers
20
+ onclose;
21
+ onerror;
22
+ onmessage;
23
+ constructor(serverParams, restartConfig) {
24
+ this.serverParams = serverParams;
25
+ this.restartConfig = restartConfig;
26
+ logger.debug(`Creating RestartableStdioTransport for command: ${serverParams.command}`);
27
+ }
28
+ /**
29
+ * Creates a new underlying transport instance
30
+ */
31
+ createTransport() {
32
+ const transport = new StdioClientTransport(this.serverParams);
33
+ // Forward event handlers
34
+ transport.onclose = () => this.handleTransportClose();
35
+ transport.onerror = (error) => this.handleTransportError(error);
36
+ transport.onmessage = (message) => this.handleTransportMessage(message);
37
+ return transport;
38
+ }
39
+ /**
40
+ * Handles transport close events
41
+ */
42
+ handleTransportClose() {
43
+ if (this._isClosing) {
44
+ // Expected close, forward the event
45
+ this.onclose?.();
46
+ return;
47
+ }
48
+ // Unexpected close, attempt restart if configured
49
+ if (this.restartConfig.restartOnExit) {
50
+ this.attemptRestart();
51
+ }
52
+ else {
53
+ // No restart configured, forward close event
54
+ this.onclose?.();
55
+ }
56
+ }
57
+ /**
58
+ * Handles transport error events
59
+ */
60
+ handleTransportError(error) {
61
+ logger.error(`Transport error: ${error.message}`);
62
+ this.onerror?.(error);
63
+ }
64
+ /**
65
+ * Handles transport message events
66
+ */
67
+ handleTransportMessage(message) {
68
+ this.onmessage?.(message);
69
+ }
70
+ /**
71
+ * Attempts to restart the transport
72
+ */
73
+ attemptRestart() {
74
+ if (this._isClosing) {
75
+ return; // Don't restart if we're intentionally closing
76
+ }
77
+ const maxRestarts = this.restartConfig.maxRestarts;
78
+ if (maxRestarts !== undefined && this._restartCount >= maxRestarts) {
79
+ logger.error(`Max restart limit reached (${maxRestarts}), stopping transport`);
80
+ this.onerror?.(new Error(`Transport failed after ${maxRestarts} restart attempts`));
81
+ return;
82
+ }
83
+ this._restartCount++;
84
+ const restartDelay = this.restartConfig.restartDelay ?? 1000;
85
+ logger.info(`Attempting transport restart ${this._restartCount} in ${restartDelay}ms...`);
86
+ this._restartTimer = setTimeout(async () => {
87
+ this._restartTimer = null;
88
+ try {
89
+ await this.restartTransport();
90
+ logger.info(`Transport restarted successfully (attempt ${this._restartCount})`);
91
+ }
92
+ catch (error) {
93
+ logger.error(`Transport restart failed: ${error}`);
94
+ this.onerror?.(error instanceof Error ? error : new Error(String(error)));
95
+ }
96
+ }, restartDelay);
97
+ }
98
+ /**
99
+ * Restarts the underlying transport
100
+ */
101
+ async restartTransport() {
102
+ if (this._isStarting || this._isClosing) {
103
+ return;
104
+ }
105
+ this._isStarting = true;
106
+ try {
107
+ // Close old transport if it exists
108
+ if (this._currentTransport) {
109
+ await this._currentTransport.close();
110
+ }
111
+ // Create and start new transport
112
+ this._currentTransport = this.createTransport();
113
+ await this._currentTransport.start();
114
+ }
115
+ finally {
116
+ this._isStarting = false;
117
+ }
118
+ }
119
+ /**
120
+ * Starts the transport
121
+ */
122
+ async start() {
123
+ if (this._currentTransport) {
124
+ throw new Error('RestartableStdioTransport already started!');
125
+ }
126
+ this._isStarting = true;
127
+ this._restartCount = 0;
128
+ try {
129
+ this._currentTransport = this.createTransport();
130
+ await this._currentTransport.start();
131
+ logger.debug('RestartableStdioTransport started successfully');
132
+ }
133
+ finally {
134
+ this._isStarting = false;
135
+ }
136
+ }
137
+ /**
138
+ * Gets the stderr stream from the current transport
139
+ */
140
+ get stderr() {
141
+ return this._currentTransport?.stderr ?? null;
142
+ }
143
+ /**
144
+ * Gets the process PID from the current transport
145
+ */
146
+ get pid() {
147
+ return this._currentTransport?.pid ?? null;
148
+ }
149
+ /**
150
+ * Sends a message through the current transport
151
+ */
152
+ async send(message) {
153
+ if (!this._currentTransport) {
154
+ throw new Error('Transport not started');
155
+ }
156
+ return this._currentTransport.send(message);
157
+ }
158
+ /**
159
+ * Closes the transport and prevents restart
160
+ */
161
+ async close() {
162
+ this._isClosing = true;
163
+ // Clear any pending restart timer
164
+ if (this._restartTimer) {
165
+ clearTimeout(this._restartTimer);
166
+ this._restartTimer = null;
167
+ }
168
+ // Close current transport if it exists
169
+ if (this._currentTransport) {
170
+ await this._currentTransport.close();
171
+ this._currentTransport = null;
172
+ }
173
+ logger.debug('RestartableStdioTransport closed');
174
+ }
175
+ /**
176
+ * Gets restart statistics
177
+ */
178
+ getRestartStats() {
179
+ return {
180
+ restartCount: this._restartCount,
181
+ isRestarting: this._isStarting,
182
+ };
183
+ }
184
+ }
185
+ //# sourceMappingURL=restartableStdioTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restartableStdioTransport.js","sourceRoot":"","sources":["../../src/transport/restartableStdioTransport.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transportFactory.d.ts","sourceRoot":"","sources":["../../src/transport/transportFactory.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAyB,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAKzD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAuBzF;AA4HD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CA2B/G"}
1
+ {"version":3,"file":"transportFactory.d.ts","sourceRoot":"","sources":["../../src/transport/transportFactory.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAyB,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAOzD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAuBzF;AAmKD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CA2B/G"}
@@ -7,6 +7,8 @@ import { transportConfigSchema } from '../core/types/index.js';
7
7
  import { SDKOAuthClientProvider } from '../auth/sdkOAuthClientProvider.js';
8
8
  import { AUTH_CONFIG } from '../constants.js';
9
9
  import { AgentConfigManager } from '../core/server/agentConfig.js';
10
+ import { processEnvironment } from '../utils/envProcessor.js';
11
+ import { RestartableStdioTransport } from './restartableStdioTransport.js';
10
12
  /**
11
13
  * Infers transport type from configuration parameters
12
14
  */
@@ -82,13 +84,47 @@ function createHTTPTransport(name, validatedTransport) {
82
84
  return transport;
83
85
  }
84
86
  /**
85
- * Creates stdio transport
87
+ * Creates stdio transport with enhanced environment processing and optional restart capability
86
88
  */
87
89
  function createStdioTransport(name, validatedTransport) {
88
90
  if (!validatedTransport.command) {
89
91
  throw new Error(`Command is required for stdio transport: ${name}`);
90
92
  }
91
- return new StdioClientTransport(validatedTransport);
93
+ // Process environment variables with new features
94
+ const envResult = processEnvironment({
95
+ inheritParentEnv: validatedTransport.inheritParentEnv,
96
+ envFilter: validatedTransport.envFilter,
97
+ env: validatedTransport.env,
98
+ });
99
+ logger.debug(`Environment processing for ${name}:`, {
100
+ totalVariables: Object.keys(envResult.processedEnv).length,
101
+ sdkDefaults: envResult.sources.sdkDefaults.length,
102
+ inherited: envResult.sources.inherited.length,
103
+ custom: envResult.sources.custom.length,
104
+ filtered: envResult.sources.filtered.length,
105
+ });
106
+ // Create SDK-compatible parameters with processed environment
107
+ const stdioParams = {
108
+ command: validatedTransport.command,
109
+ args: validatedTransport.args,
110
+ stderr: validatedTransport.stderr, // IOType validation is complex, trust Zod validation
111
+ cwd: validatedTransport.cwd,
112
+ env: envResult.processedEnv,
113
+ };
114
+ // Create transport with restart capability if enabled
115
+ if (validatedTransport.restartOnExit) {
116
+ logger.info(`Creating restartable stdio transport for: ${name}`);
117
+ const restartableTransport = new RestartableStdioTransport(stdioParams, {
118
+ restartOnExit: true,
119
+ maxRestarts: validatedTransport.maxRestarts, // Use config value or undefined for unlimited
120
+ restartDelay: validatedTransport.restartDelay ?? 1000, // Use config value or default to 1 second
121
+ });
122
+ // Add AuthProviderTransport properties
123
+ return restartableTransport;
124
+ }
125
+ // Create standard stdio transport
126
+ logger.debug(`Creating standard stdio transport for: ${name}`);
127
+ return new StdioClientTransport(stdioParams);
92
128
  }
93
129
  /**
94
130
  * Creates a single transport instance
@@ -1 +1 @@
1
- {"version":3,"file":"transportFactory.js","sourceRoot":"","sources":["../../src/transport/transportFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transportFactory.js","sourceRoot":"","sources":["../../src/transport/transportFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Configuration for environment processing
3
+ */
4
+ export interface EnvProcessingConfig {
5
+ readonly inheritParentEnv?: boolean;
6
+ readonly envFilter?: string[];
7
+ readonly env?: Record<string, string> | string[];
8
+ }
9
+ /**
10
+ * Result of environment processing
11
+ */
12
+ export interface ProcessedEnvironment {
13
+ readonly processedEnv: Record<string, string>;
14
+ readonly sources: {
15
+ readonly sdkDefaults: string[];
16
+ readonly inherited: string[];
17
+ readonly custom: string[];
18
+ readonly filtered: string[];
19
+ };
20
+ }
21
+ /**
22
+ * Converts environment array format to object format
23
+ * @param envArray Array in format ["KEY=value", "PATH=/usr/bin"]
24
+ * @returns Object in format {KEY: "value", PATH: "/usr/bin"}
25
+ */
26
+ export declare function parseEnvArray(envArray: string[]): Record<string, string>;
27
+ /**
28
+ * Substitutes environment variables in configuration values
29
+ * @param configValue Configuration value that may contain ${VAR} patterns
30
+ * @returns Value with environment variables substituted
31
+ */
32
+ export declare function substituteEnvVars(configValue: string): string;
33
+ /**
34
+ * Recursively substitutes environment variables in a configuration object
35
+ * @param config Configuration object
36
+ * @returns Configuration object with environment variables substituted
37
+ */
38
+ export declare function substituteEnvVarsInConfig(config: any): any;
39
+ /**
40
+ * Processes environment configuration for stdio transport
41
+ * @param config Environment processing configuration
42
+ * @returns Processed environment variables with metadata
43
+ */
44
+ export declare function processEnvironment(config: EnvProcessingConfig): ProcessedEnvironment;
45
+ //# sourceMappingURL=envProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envProcessor.d.ts","sourceRoot":"","sources":["../../src/utils/envProcessor.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBxE;AAwGD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAS7D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAkB1D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,oBAAoB,CAiEpF"}
@@ -0,0 +1,214 @@
1
+ import { getDefaultEnvironment } from '@modelcontextprotocol/sdk/client/stdio.js';
2
+ import logger from '../logger/logger.js';
3
+ /**
4
+ * Converts environment array format to object format
5
+ * @param envArray Array in format ["KEY=value", "PATH=/usr/bin"]
6
+ * @returns Object in format {KEY: "value", PATH: "/usr/bin"}
7
+ */
8
+ export function parseEnvArray(envArray) {
9
+ const envObject = {};
10
+ for (const entry of envArray) {
11
+ const equalIndex = entry.indexOf('=');
12
+ if (equalIndex === -1) {
13
+ // No equals sign, treat as inheritance key
14
+ const key = entry.trim();
15
+ const value = process.env[key];
16
+ if (value !== undefined) {
17
+ envObject[key] = value;
18
+ }
19
+ }
20
+ else {
21
+ // Has equals sign, treat as key=value assignment
22
+ const key = entry.slice(0, equalIndex).trim();
23
+ const value = entry.slice(equalIndex + 1);
24
+ envObject[key] = value;
25
+ }
26
+ }
27
+ return envObject;
28
+ }
29
+ /**
30
+ * Checks if an environment variable key matches any pattern
31
+ * @param key Environment variable key
32
+ * @param patterns Array of patterns with optional ! prefix for denial
33
+ * @returns true if key should be included, false if denied or not matched
34
+ */
35
+ function matchesEnvPattern(key, patterns) {
36
+ let matched = false;
37
+ let denied = false;
38
+ for (const pattern of patterns) {
39
+ if (pattern.startsWith('!')) {
40
+ // Denial pattern
41
+ const denyPattern = pattern.slice(1);
42
+ if (matchesGlobPattern(key, denyPattern)) {
43
+ denied = true;
44
+ }
45
+ }
46
+ else {
47
+ // Allow pattern
48
+ if (matchesGlobPattern(key, pattern)) {
49
+ matched = true;
50
+ }
51
+ }
52
+ }
53
+ // If explicitly denied, return false
54
+ // If matched by allow pattern and not denied, return true
55
+ // If no allow patterns specified but denied patterns exist, default to true unless denied
56
+ if (denied)
57
+ return false;
58
+ if (matched)
59
+ return true;
60
+ // Check if there are any allow patterns - if not, default to allow (only deny patterns)
61
+ const hasAllowPatterns = patterns.some((p) => !p.startsWith('!'));
62
+ return !hasAllowPatterns;
63
+ }
64
+ /**
65
+ * Simple glob pattern matching for environment variable names
66
+ * Supports * wildcard at the end of patterns
67
+ * @param text Text to match
68
+ * @param pattern Pattern with optional * wildcard
69
+ * @returns true if text matches pattern
70
+ */
71
+ function matchesGlobPattern(text, pattern) {
72
+ if (pattern === text) {
73
+ return true;
74
+ }
75
+ if (pattern.endsWith('*')) {
76
+ const prefix = pattern.slice(0, -1);
77
+ return text.startsWith(prefix);
78
+ }
79
+ return false;
80
+ }
81
+ /**
82
+ * Applies environment variable filtering based on patterns
83
+ * @param env Environment variables to filter
84
+ * @param patterns Array of allow/deny patterns
85
+ * @returns Filtered environment variables and list of filtered keys
86
+ */
87
+ function applyEnvPatterns(env, patterns) {
88
+ const filtered = {};
89
+ const filteredKeys = [];
90
+ for (const [key, value] of Object.entries(env)) {
91
+ if (matchesEnvPattern(key, patterns)) {
92
+ filtered[key] = value;
93
+ }
94
+ else {
95
+ filteredKeys.push(key);
96
+ }
97
+ }
98
+ return { filtered, filteredKeys };
99
+ }
100
+ /**
101
+ * Gets environment variables from parent process, excluding dangerous ones
102
+ * @returns Safe environment variables from parent process
103
+ */
104
+ function getParentEnvironment() {
105
+ const parentEnv = {};
106
+ for (const [key, value] of Object.entries(process.env)) {
107
+ if (value === undefined)
108
+ continue;
109
+ // Skip bash functions and other potentially dangerous variables
110
+ if (value.startsWith('()')) {
111
+ logger.debug(`Skipping dangerous environment variable: ${key}`);
112
+ continue;
113
+ }
114
+ parentEnv[key] = value;
115
+ }
116
+ return parentEnv;
117
+ }
118
+ /**
119
+ * Substitutes environment variables in configuration values
120
+ * @param configValue Configuration value that may contain ${VAR} patterns
121
+ * @returns Value with environment variables substituted
122
+ */
123
+ export function substituteEnvVars(configValue) {
124
+ return configValue.replace(/\$\{([^}]+)\}/g, (match, envVar) => {
125
+ const value = process.env[envVar.trim()];
126
+ if (value === undefined) {
127
+ logger.warn(`Environment variable ${envVar} not found, keeping placeholder: ${match}`);
128
+ return match;
129
+ }
130
+ return value;
131
+ });
132
+ }
133
+ /**
134
+ * Recursively substitutes environment variables in a configuration object
135
+ * @param config Configuration object
136
+ * @returns Configuration object with environment variables substituted
137
+ */
138
+ export function substituteEnvVarsInConfig(config) {
139
+ if (typeof config === 'string') {
140
+ return substituteEnvVars(config);
141
+ }
142
+ if (Array.isArray(config)) {
143
+ return config.map((item) => substituteEnvVarsInConfig(item));
144
+ }
145
+ if (config && typeof config === 'object') {
146
+ const result = {};
147
+ for (const [key, value] of Object.entries(config)) {
148
+ result[key] = substituteEnvVarsInConfig(value);
149
+ }
150
+ return result;
151
+ }
152
+ return config;
153
+ }
154
+ /**
155
+ * Processes environment configuration for stdio transport
156
+ * @param config Environment processing configuration
157
+ * @returns Processed environment variables with metadata
158
+ */
159
+ export function processEnvironment(config) {
160
+ // 1. Start with SDK safe defaults
161
+ const sdkDefaults = getDefaultEnvironment();
162
+ const sdkDefaultKeys = Object.keys(sdkDefaults);
163
+ logger.debug(`SDK default environment variables: ${sdkDefaultKeys.join(', ')}`);
164
+ // 2. Optionally inherit from parent process
165
+ let inheritedEnv = {};
166
+ let inheritedKeys = [];
167
+ if (config.inheritParentEnv) {
168
+ const parentEnv = getParentEnvironment();
169
+ inheritedEnv = { ...parentEnv };
170
+ inheritedKeys = Object.keys(parentEnv).filter((key) => !sdkDefaultKeys.includes(key));
171
+ logger.debug(`Inheriting ${inheritedKeys.length} additional environment variables from parent`);
172
+ }
173
+ // 3. Combine SDK defaults and inherited environment
174
+ let combinedEnv = { ...sdkDefaults, ...inheritedEnv };
175
+ // 4. Apply pattern filtering if specified
176
+ let filteredKeys = [];
177
+ if (config.envFilter && config.envFilter.length > 0) {
178
+ const filterResult = applyEnvPatterns(combinedEnv, config.envFilter);
179
+ combinedEnv = filterResult.filtered;
180
+ filteredKeys = filterResult.filteredKeys;
181
+ logger.debug(`Environment filtering removed ${filteredKeys.length} variables: ${filteredKeys.join(', ')}`);
182
+ }
183
+ // 5. Add custom environment variables
184
+ let customEnv = {};
185
+ let customKeys = [];
186
+ if (config.env) {
187
+ if (Array.isArray(config.env)) {
188
+ customEnv = parseEnvArray(config.env);
189
+ }
190
+ else {
191
+ customEnv = { ...config.env };
192
+ }
193
+ // Apply environment variable substitution to custom env
194
+ for (const [key, value] of Object.entries(customEnv)) {
195
+ customEnv[key] = substituteEnvVars(value);
196
+ }
197
+ customKeys = Object.keys(customEnv);
198
+ logger.debug(`Adding ${customKeys.length} custom environment variables: ${customKeys.join(', ')}`);
199
+ }
200
+ // 6. Final merge (custom env overrides everything)
201
+ const processedEnv = { ...combinedEnv, ...customEnv };
202
+ const result = {
203
+ processedEnv,
204
+ sources: {
205
+ sdkDefaults: sdkDefaultKeys,
206
+ inherited: inheritedKeys,
207
+ custom: customKeys,
208
+ filtered: filteredKeys,
209
+ },
210
+ };
211
+ logger.debug(`Environment processing complete. Total variables: ${Object.keys(processedEnv).length}`);
212
+ return result;
213
+ }
214
+ //# sourceMappingURL=envProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envProcessor.js","sourceRoot":"","sources":["../../src/utils/envProcessor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1mcp/agent",
3
- "version": "0.18.0",
3
+ "version": "0.19.0",
4
4
  "description": "One MCP server to aggregate them all - A unified Model Context Protocol server implementation",
5
5
  "keywords": [
6
6
  "mcp",