@1mcp/agent 0.22.2 → 0.23.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.
- package/build/commands/app/consolidate.d.ts.map +1 -1
- package/build/commands/app/consolidate.js +8 -2
- package/build/commands/app/consolidate.js.map +1 -1
- package/build/commands/mcp/add.d.ts.map +1 -1
- package/build/commands/mcp/add.js +9 -7
- package/build/commands/mcp/add.js.map +1 -1
- package/build/commands/mcp/enable.d.ts.map +1 -1
- package/build/commands/mcp/enable.js +19 -15
- package/build/commands/mcp/enable.js.map +1 -1
- package/build/commands/mcp/list.d.ts.map +1 -1
- package/build/commands/mcp/list.js +6 -4
- package/build/commands/mcp/list.js.map +1 -1
- package/build/commands/mcp/remove.d.ts.map +1 -1
- package/build/commands/mcp/remove.js +10 -8
- package/build/commands/mcp/remove.js.map +1 -1
- package/build/commands/mcp/status.d.ts.map +1 -1
- package/build/commands/mcp/status.js +11 -9
- package/build/commands/mcp/status.js.map +1 -1
- package/build/commands/mcp/tokens.d.ts +6 -0
- package/build/commands/mcp/tokens.d.ts.map +1 -1
- package/build/commands/mcp/tokens.js +185 -68
- package/build/commands/mcp/tokens.js.map +1 -1
- package/build/commands/mcp/update.d.ts.map +1 -1
- package/build/commands/mcp/update.js +10 -8
- package/build/commands/mcp/update.js.map +1 -1
- package/build/commands/mcp/utils/configUtils.d.ts +15 -8
- package/build/commands/mcp/utils/configUtils.d.ts.map +1 -1
- package/build/commands/mcp/utils/configUtils.js +51 -24
- package/build/commands/mcp/utils/configUtils.js.map +1 -1
- package/build/commands/serve/index.d.ts +6 -0
- package/build/commands/serve/index.d.ts.map +1 -1
- package/build/commands/serve/index.js +12 -0
- package/build/commands/serve/index.js.map +1 -1
- package/build/commands/serve/serve.d.ts +1 -0
- package/build/commands/serve/serve.d.ts.map +1 -1
- package/build/commands/serve/serve.js +99 -4
- package/build/commands/serve/serve.js.map +1 -1
- package/build/config/configContext.d.ts +35 -0
- package/build/config/configContext.d.ts.map +1 -0
- package/build/config/configContext.js +60 -0
- package/build/config/configContext.js.map +1 -0
- package/build/constants.d.ts +10 -1
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +19 -2
- package/build/constants.js.map +1 -1
- package/build/core/client/clientManager.d.ts +13 -0
- package/build/core/client/clientManager.d.ts.map +1 -1
- package/build/core/client/clientManager.js +48 -0
- package/build/core/client/clientManager.js.map +1 -1
- package/build/core/filtering/filteringService.d.ts +85 -0
- package/build/core/filtering/filteringService.d.ts.map +1 -0
- package/build/core/filtering/filteringService.js +253 -0
- package/build/core/filtering/filteringService.js.map +1 -0
- package/build/core/instructions/instructionAggregator.d.ts +141 -0
- package/build/core/instructions/instructionAggregator.d.ts.map +1 -0
- package/build/core/instructions/instructionAggregator.js +385 -0
- package/build/core/instructions/instructionAggregator.js.map +1 -0
- package/build/core/instructions/templateTypes.d.ts +77 -0
- package/build/core/instructions/templateTypes.d.ts.map +1 -0
- package/build/core/instructions/templateTypes.js +90 -0
- package/build/core/instructions/templateTypes.js.map +1 -0
- package/build/core/instructions/templateValidator.d.ts +53 -0
- package/build/core/instructions/templateValidator.d.ts.map +1 -0
- package/build/core/instructions/templateValidator.js +142 -0
- package/build/core/instructions/templateValidator.js.map +1 -0
- package/build/core/server/serverManager.d.ts +11 -0
- package/build/core/server/serverManager.d.ts.map +1 -1
- package/build/core/server/serverManager.js +38 -1
- package/build/core/server/serverManager.js.map +1 -1
- package/build/core/types/client.d.ts +2 -0
- package/build/core/types/client.d.ts.map +1 -1
- package/build/core/types/server.d.ts +2 -1
- package/build/core/types/server.d.ts.map +1 -1
- package/build/core/types/server.js.map +1 -1
- package/build/handlers/requestHandlers.d.ts.map +1 -1
- package/build/handlers/requestHandlers.js +14 -42
- package/build/handlers/requestHandlers.js.map +1 -1
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/server.d.ts +3 -0
- package/build/server.d.ts.map +1 -1
- package/build/server.js +13 -0
- package/build/server.js.map +1 -1
- package/package.json +5 -3
|
@@ -2,37 +2,44 @@ import { MCPServerParams } from '../../../core/types/index.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Configuration file utilities for server management commands
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Initialize the configuration context with CLI options
|
|
7
|
+
* This should be called at the beginning of each command
|
|
8
|
+
*/
|
|
9
|
+
export declare function initializeConfigContext(configPath?: string, configDir?: string): void;
|
|
5
10
|
export interface ServerConfig {
|
|
6
11
|
mcpServers: Record<string, MCPServerParams>;
|
|
7
12
|
}
|
|
8
13
|
/**
|
|
9
14
|
* Load the MCP configuration from a file
|
|
15
|
+
* Uses ConfigContext to resolve the appropriate config file path
|
|
10
16
|
*/
|
|
11
17
|
export declare function loadConfig(configPath?: string): ServerConfig;
|
|
12
18
|
/**
|
|
13
19
|
* Save the MCP configuration to a file
|
|
20
|
+
* Uses ConfigContext to resolve the appropriate config file path
|
|
14
21
|
*/
|
|
15
|
-
export declare function saveConfig(config: ServerConfig
|
|
22
|
+
export declare function saveConfig(config: ServerConfig): void;
|
|
16
23
|
/**
|
|
17
24
|
* Check if a server exists in the configuration
|
|
18
25
|
*/
|
|
19
|
-
export declare function serverExists(serverName: string
|
|
26
|
+
export declare function serverExists(serverName: string): boolean;
|
|
20
27
|
/**
|
|
21
28
|
* Get a specific server configuration
|
|
22
29
|
*/
|
|
23
|
-
export declare function getServer(serverName: string
|
|
30
|
+
export declare function getServer(serverName: string): MCPServerParams | null;
|
|
24
31
|
/**
|
|
25
32
|
* Add or update a server in the configuration
|
|
26
33
|
*/
|
|
27
|
-
export declare function setServer(serverName: string, serverConfig: MCPServerParams
|
|
34
|
+
export declare function setServer(serverName: string, serverConfig: MCPServerParams): void;
|
|
28
35
|
/**
|
|
29
36
|
* Remove a server from the configuration
|
|
30
37
|
*/
|
|
31
|
-
export declare function removeServer(serverName: string
|
|
38
|
+
export declare function removeServer(serverName: string): boolean;
|
|
32
39
|
/**
|
|
33
40
|
* Get all servers in the configuration
|
|
34
41
|
*/
|
|
35
|
-
export declare function getAllServers(
|
|
42
|
+
export declare function getAllServers(): Record<string, MCPServerParams>;
|
|
36
43
|
/**
|
|
37
44
|
* Parse environment variables from key=value format
|
|
38
45
|
*/
|
|
@@ -52,7 +59,7 @@ export declare function validateConfigPath(configPath?: string): string;
|
|
|
52
59
|
/**
|
|
53
60
|
* Create a backup of the configuration file
|
|
54
61
|
*/
|
|
55
|
-
export declare function backupConfig(
|
|
62
|
+
export declare function backupConfig(): string;
|
|
56
63
|
/**
|
|
57
64
|
* Validate server configuration against schema
|
|
58
65
|
*/
|
|
@@ -60,5 +67,5 @@ export declare function validateServerConfig(serverConfig: MCPServerParams): voi
|
|
|
60
67
|
/**
|
|
61
68
|
* Reload MCP config manager after configuration changes
|
|
62
69
|
*/
|
|
63
|
-
export declare function reloadMcpConfig(
|
|
70
|
+
export declare function reloadMcpConfig(): void;
|
|
64
71
|
//# sourceMappingURL=configUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configUtils.d.ts","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/configUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configUtils.d.ts","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/configUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAUrF;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAuB5D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAkBrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAOxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAOpE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,GAAG,IAAI,CAIjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAcxD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAO/D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwB5E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CASvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB9D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAarC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAkDxE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAYtC"}
|
|
@@ -1,13 +1,34 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { McpConfigManager } from '../../../config/mcpConfigManager.js';
|
|
4
|
-
import { getGlobalConfigPath } from '../../../constants.js';
|
|
5
4
|
import logger from '../../../logger/logger.js';
|
|
5
|
+
import ConfigContext from '../../../config/configContext.js';
|
|
6
|
+
/**
|
|
7
|
+
* Configuration file utilities for server management commands
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Initialize the configuration context with CLI options
|
|
11
|
+
* This should be called at the beginning of each command
|
|
12
|
+
*/
|
|
13
|
+
export function initializeConfigContext(configPath, configDir) {
|
|
14
|
+
const configContext = ConfigContext.getInstance();
|
|
15
|
+
if (configPath) {
|
|
16
|
+
configContext.setConfigPath(configPath);
|
|
17
|
+
}
|
|
18
|
+
else if (configDir) {
|
|
19
|
+
configContext.setConfigDir(configDir);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
configContext.reset(); // Use defaults
|
|
23
|
+
}
|
|
24
|
+
}
|
|
6
25
|
/**
|
|
7
26
|
* Load the MCP configuration from a file
|
|
27
|
+
* Uses ConfigContext to resolve the appropriate config file path
|
|
8
28
|
*/
|
|
9
29
|
export function loadConfig(configPath) {
|
|
10
|
-
const
|
|
30
|
+
const configContext = ConfigContext.getInstance();
|
|
31
|
+
const filePath = configPath || configContext.getResolvedConfigPath();
|
|
11
32
|
try {
|
|
12
33
|
if (!fs.existsSync(filePath)) {
|
|
13
34
|
throw new Error(`Configuration file not found: ${filePath}`);
|
|
@@ -28,14 +49,16 @@ export function loadConfig(configPath) {
|
|
|
28
49
|
}
|
|
29
50
|
/**
|
|
30
51
|
* Save the MCP configuration to a file
|
|
52
|
+
* Uses ConfigContext to resolve the appropriate config file path
|
|
31
53
|
*/
|
|
32
|
-
export function saveConfig(config
|
|
33
|
-
const
|
|
54
|
+
export function saveConfig(config) {
|
|
55
|
+
const configContext = ConfigContext.getInstance();
|
|
56
|
+
const filePath = configContext.getResolvedConfigPath();
|
|
34
57
|
try {
|
|
35
58
|
// Ensure directory exists
|
|
36
|
-
const
|
|
37
|
-
if (!fs.existsSync(
|
|
38
|
-
fs.mkdirSync(
|
|
59
|
+
const fileDir = path.dirname(filePath);
|
|
60
|
+
if (!fs.existsSync(fileDir)) {
|
|
61
|
+
fs.mkdirSync(fileDir, { recursive: true });
|
|
39
62
|
}
|
|
40
63
|
// Write configuration with pretty formatting
|
|
41
64
|
fs.writeFileSync(filePath, JSON.stringify(config, null, 2));
|
|
@@ -48,9 +71,9 @@ export function saveConfig(config, configPath) {
|
|
|
48
71
|
/**
|
|
49
72
|
* Check if a server exists in the configuration
|
|
50
73
|
*/
|
|
51
|
-
export function serverExists(serverName
|
|
74
|
+
export function serverExists(serverName) {
|
|
52
75
|
try {
|
|
53
|
-
const config = loadConfig(
|
|
76
|
+
const config = loadConfig();
|
|
54
77
|
return serverName in config.mcpServers;
|
|
55
78
|
}
|
|
56
79
|
catch (_error) {
|
|
@@ -60,9 +83,9 @@ export function serverExists(serverName, configPath) {
|
|
|
60
83
|
/**
|
|
61
84
|
* Get a specific server configuration
|
|
62
85
|
*/
|
|
63
|
-
export function getServer(serverName
|
|
86
|
+
export function getServer(serverName) {
|
|
64
87
|
try {
|
|
65
|
-
const config = loadConfig(
|
|
88
|
+
const config = loadConfig();
|
|
66
89
|
return config.mcpServers[serverName] || null;
|
|
67
90
|
}
|
|
68
91
|
catch (_error) {
|
|
@@ -72,22 +95,22 @@ export function getServer(serverName, configPath) {
|
|
|
72
95
|
/**
|
|
73
96
|
* Add or update a server in the configuration
|
|
74
97
|
*/
|
|
75
|
-
export function setServer(serverName, serverConfig
|
|
76
|
-
const config = loadConfig(
|
|
98
|
+
export function setServer(serverName, serverConfig) {
|
|
99
|
+
const config = loadConfig();
|
|
77
100
|
config.mcpServers[serverName] = serverConfig;
|
|
78
|
-
saveConfig(config
|
|
101
|
+
saveConfig(config);
|
|
79
102
|
}
|
|
80
103
|
/**
|
|
81
104
|
* Remove a server from the configuration
|
|
82
105
|
*/
|
|
83
|
-
export function removeServer(serverName
|
|
106
|
+
export function removeServer(serverName) {
|
|
84
107
|
try {
|
|
85
|
-
const config = loadConfig(
|
|
108
|
+
const config = loadConfig();
|
|
86
109
|
if (!(serverName in config.mcpServers)) {
|
|
87
110
|
return false;
|
|
88
111
|
}
|
|
89
112
|
delete config.mcpServers[serverName];
|
|
90
|
-
saveConfig(config
|
|
113
|
+
saveConfig(config);
|
|
91
114
|
return true;
|
|
92
115
|
}
|
|
93
116
|
catch (error) {
|
|
@@ -97,9 +120,9 @@ export function removeServer(serverName, configPath) {
|
|
|
97
120
|
/**
|
|
98
121
|
* Get all servers in the configuration
|
|
99
122
|
*/
|
|
100
|
-
export function getAllServers(
|
|
123
|
+
export function getAllServers() {
|
|
101
124
|
try {
|
|
102
|
-
const config = loadConfig(
|
|
125
|
+
const config = loadConfig();
|
|
103
126
|
return config.mcpServers;
|
|
104
127
|
}
|
|
105
128
|
catch (_error) {
|
|
@@ -166,7 +189,8 @@ export function parseTags(tagsString) {
|
|
|
166
189
|
* Validate configuration file path
|
|
167
190
|
*/
|
|
168
191
|
export function validateConfigPath(configPath) {
|
|
169
|
-
const
|
|
192
|
+
const configContext = ConfigContext.getInstance();
|
|
193
|
+
const filePath = configPath || configContext.getResolvedConfigPath();
|
|
170
194
|
try {
|
|
171
195
|
// Check if file exists
|
|
172
196
|
if (!fs.existsSync(filePath)) {
|
|
@@ -188,8 +212,9 @@ export function validateConfigPath(configPath) {
|
|
|
188
212
|
/**
|
|
189
213
|
* Create a backup of the configuration file
|
|
190
214
|
*/
|
|
191
|
-
export function backupConfig(
|
|
192
|
-
const
|
|
215
|
+
export function backupConfig() {
|
|
216
|
+
const configContext = ConfigContext.getInstance();
|
|
217
|
+
const filePath = configContext.getResolvedConfigPath();
|
|
193
218
|
const timestamp = Date.now();
|
|
194
219
|
const backupPath = `${filePath}.backup.${timestamp}`;
|
|
195
220
|
try {
|
|
@@ -252,10 +277,12 @@ export function validateServerConfig(serverConfig) {
|
|
|
252
277
|
/**
|
|
253
278
|
* Reload MCP config manager after configuration changes
|
|
254
279
|
*/
|
|
255
|
-
export function reloadMcpConfig(
|
|
280
|
+
export function reloadMcpConfig() {
|
|
256
281
|
try {
|
|
282
|
+
const configContext = ConfigContext.getInstance();
|
|
283
|
+
const filePath = configContext.getResolvedConfigPath();
|
|
257
284
|
// Get the config manager instance and reload it
|
|
258
|
-
const configManager = McpConfigManager.getInstance(
|
|
285
|
+
const configManager = McpConfigManager.getInstance(filePath);
|
|
259
286
|
configManager.reloadConfig();
|
|
260
287
|
logger.info('MCP configuration reloaded');
|
|
261
288
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configUtils.js","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/configUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"configUtils.js","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/configUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,12 @@ export declare const serverOptions: {
|
|
|
98
98
|
type: "boolean";
|
|
99
99
|
default: boolean;
|
|
100
100
|
};
|
|
101
|
+
'instructions-template': {
|
|
102
|
+
alias: string;
|
|
103
|
+
describe: string;
|
|
104
|
+
type: "string";
|
|
105
|
+
default: undefined;
|
|
106
|
+
};
|
|
101
107
|
};
|
|
102
108
|
/**
|
|
103
109
|
* Register serve command
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/serve/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAIlC;;;;GAIG;AAGH,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/serve/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAIlC;;;;GAIG;AAGH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAgDnD"}
|
|
@@ -100,6 +100,12 @@ export const serverOptions = {
|
|
|
100
100
|
type: 'boolean',
|
|
101
101
|
default: false,
|
|
102
102
|
},
|
|
103
|
+
'instructions-template': {
|
|
104
|
+
alias: 'T',
|
|
105
|
+
describe: 'Path to custom instructions template file (Handlebars format). Defaults to instructions-template.md in config directory',
|
|
106
|
+
type: 'string',
|
|
107
|
+
default: undefined,
|
|
108
|
+
},
|
|
103
109
|
};
|
|
104
110
|
/**
|
|
105
111
|
* Register serve command
|
|
@@ -115,6 +121,7 @@ export function setupServeCommand(yargs) {
|
|
|
115
121
|
['$0 serve --port=3000', 'Start HTTP server on port 3000'],
|
|
116
122
|
['$0 serve --filter="web,api"', 'Start server with filtered MCP servers'],
|
|
117
123
|
['$0 serve --enable-auth', 'Start server with OAuth authentication enabled'],
|
|
124
|
+
['$0 serve --instructions-template=./custom-template.md', 'Use custom instructions template'],
|
|
118
125
|
]).epilogue(`
|
|
119
126
|
TRANSPORT OPTIONS:
|
|
120
127
|
stdio: Use stdin/stdout for communication (for programmatic use)
|
|
@@ -129,6 +136,11 @@ AUTHENTICATION:
|
|
|
129
136
|
Use --enable-auth to enable OAuth 2.1 authentication with scope validation.
|
|
130
137
|
Configure OAuth providers in your MCP configuration file.
|
|
131
138
|
|
|
139
|
+
CUSTOM TEMPLATES:
|
|
140
|
+
Use --instructions-template to customize the instructions template sent to clients.
|
|
141
|
+
Template files use Handlebars syntax with variables like {{serverCount}}, {{serverList}}, etc.
|
|
142
|
+
Defaults to instructions-template.md in your config directory.
|
|
143
|
+
|
|
132
144
|
For more information: https://github.com/1mcp-app/agent
|
|
133
145
|
`);
|
|
134
146
|
}, async (argv) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/serve/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;;;GAIG;AAEH,wFAAwF;AACxF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,SAAS,EAAE;QACT,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,0DAA0D;QACpE,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAU;QAC1C,OAAO,EAAE,MAAM;KAChB;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,2DAA2D;QACrE,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,IAAI;KACd;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,2DAA2D;QACrE,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,IAAI;KACd;IACD,cAAc,EAAE;QACd,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,wEAAwE;QAClF,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,SAAS;KACnB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,oGAAoG;QAC9G,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,SAAS;KACnB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,mBAAmB;QAC7B,IAAI,EAAE,SAAkB;QACxB,OAAO,EAAE,KAAK;KACf;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,mEAAmE;QAC7E,IAAI,EAAE,SAAkB;QACxB,OAAO,EAAE,KAAK;KACf;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,mCAAmC;QAC7C,IAAI,EAAE,SAAkB;QACxB,OAAO,EAAE,KAAK;KACf;IACD,yBAAyB,EAAE;QACzB,QAAQ,EAAE,mCAAmC;QAC7C,IAAI,EAAE,SAAkB;QACxB,OAAO,EAAE,IAAI;KACd;IACD,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,qCAAqC;QAC/C,IAAI,EAAE,SAAkB;QACxB,OAAO,EAAE,KAAK;KACf;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,gCAAgC;QAC1C,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW;KAC9B;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,uCAAuC;QACjD,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,SAAS;KACnB;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,oCAAoC;QAC9C,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,EAAE;KACZ;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,GAAG;KACb;IACD,aAAa,EAAE;QACb,QAAQ,EACN,qHAAqH;QACvH,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,UAAU;KACpB;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,iEAAiE;QAC3E,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAU;QAC9C,OAAO,EAAE,SAAS;KACnB;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,uEAAuE;QACjF,IAAI,EAAE,SAAkB;QACxB,OAAO,EAAE,KAAK;KACf;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAW;IAC3C,OAAO,KAAK,CAAC,OAAO,CAClB,OAAO,EACP,uBAAuB,EACvB,CAAC,KAAK,EAAE,EAAE;QACR,OAAO,KAAK;aACT,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;aAC5B,OAAO,CAAC,aAAa,CAAC;aACtB,OAAO,CAAC;YACP,CAAC,UAAU,EAAE,4CAA4C,CAAC;YAC1D,CAAC,4BAA4B,EAAE,mCAAmC,CAAC;YACnE,CAAC,sBAAsB,EAAE,gCAAgC,CAAC;YAC1D,CAAC,6BAA6B,EAAE,wCAAwC,CAAC;YACzE,CAAC,wBAAwB,EAAE,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/serve/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/commands/serve/serve.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/commands/serve/serve.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,yBAAyB,EAAE,OAAO,CAAC;IACnC,0BAA0B,EAAE,OAAO,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,OAAO,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAqJD;;GAEG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgL1E"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
2
4
|
import { setupServer } from '../../server.js';
|
|
3
5
|
import logger from '../../logger/logger.js';
|
|
4
6
|
import configReloadService from '../../services/configReloadService.js';
|
|
@@ -7,10 +9,77 @@ import { ExpressServer } from '../../transport/http/server.js';
|
|
|
7
9
|
import { AgentConfigManager } from '../../core/server/agentConfig.js';
|
|
8
10
|
import { displayLogo } from '../../utils/logo.js';
|
|
9
11
|
import { TagQueryParser } from '../../utils/tagQueryParser.js';
|
|
12
|
+
import ConfigContext from '../../config/configContext.js';
|
|
13
|
+
import { getDefaultInstructionsTemplatePath } from '../../constants.js';
|
|
14
|
+
import { validateTemplateContent, formatValidationError } from '../../core/instructions/templateValidator.js';
|
|
15
|
+
/**
|
|
16
|
+
* Load custom instructions template from file with validation
|
|
17
|
+
* @param templatePath Path to template file (CLI option or default)
|
|
18
|
+
* @param configDir Config directory for default template location
|
|
19
|
+
* @returns Template content or undefined if not found/error
|
|
20
|
+
*/
|
|
21
|
+
function loadInstructionsTemplate(templatePath, configDir) {
|
|
22
|
+
let templateFilePath;
|
|
23
|
+
if (templatePath) {
|
|
24
|
+
// Use provided template path (resolve relative paths)
|
|
25
|
+
templateFilePath = path.isAbsolute(templatePath) ? templatePath : path.resolve(process.cwd(), templatePath);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
// Use default template file in config directory
|
|
29
|
+
templateFilePath = getDefaultInstructionsTemplatePath(configDir);
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
if (fs.existsSync(templateFilePath)) {
|
|
33
|
+
const templateContent = fs.readFileSync(templateFilePath, 'utf-8');
|
|
34
|
+
// Validate template content and syntax
|
|
35
|
+
const validation = validateTemplateContent(templateContent, templateFilePath);
|
|
36
|
+
if (!validation.valid) {
|
|
37
|
+
const errorMessage = formatValidationError(validation);
|
|
38
|
+
logger.error(`Invalid instructions template: ${errorMessage}`);
|
|
39
|
+
// For explicit template paths, this is a hard error
|
|
40
|
+
if (templatePath) {
|
|
41
|
+
logger.error('Template validation failed. Server will use built-in template.');
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
logger.info(`Loaded and validated custom instructions template from: ${templateFilePath}`);
|
|
46
|
+
logger.debug(`Template length: ${templateContent.length} characters`);
|
|
47
|
+
return templateContent;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
if (templatePath) {
|
|
51
|
+
// If user explicitly provided a template path, warn about missing file
|
|
52
|
+
logger.warn(`Custom instructions template file not found: ${templateFilePath}`);
|
|
53
|
+
logger.info('Template file resolution:');
|
|
54
|
+
logger.info(` • Check that the file path is correct`);
|
|
55
|
+
logger.info(` • Ensure the file has read permissions`);
|
|
56
|
+
logger.info(` • Use absolute paths or paths relative to current directory`);
|
|
57
|
+
logger.info(` • Server will use built-in template as fallback`);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
// If using default path, just log debug (it's optional)
|
|
61
|
+
logger.debug(`Default instructions template file not found: ${templateFilePath} (using built-in template)`);
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
68
|
+
logger.error(`Failed to load instructions template from ${templateFilePath}: ${errorMessage}`);
|
|
69
|
+
// Provide helpful troubleshooting guidance
|
|
70
|
+
logger.info('Template loading failed. Troubleshooting steps:');
|
|
71
|
+
logger.info(` • Verify file exists and has read permissions`);
|
|
72
|
+
logger.info(` • Check file encoding (should be UTF-8)`);
|
|
73
|
+
logger.info(` • Ensure no other process is locking the file`);
|
|
74
|
+
logger.info(` • Try using an absolute file path`);
|
|
75
|
+
logger.info(` • Server will use built-in template as fallback`);
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
10
79
|
/**
|
|
11
80
|
* Set up graceful shutdown handling
|
|
12
81
|
*/
|
|
13
|
-
function setupGracefulShutdown(serverManager, loadingManager, expressServer) {
|
|
82
|
+
function setupGracefulShutdown(serverManager, loadingManager, expressServer, instructionAggregator) {
|
|
14
83
|
const shutdown = async () => {
|
|
15
84
|
logger.info('Shutting down server...');
|
|
16
85
|
// Stop the configuration reload service
|
|
@@ -45,6 +114,16 @@ function setupGracefulShutdown(serverManager, loadingManager, expressServer) {
|
|
|
45
114
|
logger.error(`Error closing transport ${sessionId}: ${error}`);
|
|
46
115
|
}
|
|
47
116
|
}
|
|
117
|
+
// Cleanup InstructionAggregator if it exists
|
|
118
|
+
if (instructionAggregator && typeof instructionAggregator.cleanup === 'function') {
|
|
119
|
+
try {
|
|
120
|
+
instructionAggregator.cleanup();
|
|
121
|
+
logger.info('InstructionAggregator cleanup complete');
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
logger.error(`Error cleaning up InstructionAggregator: ${error}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
48
127
|
// Cleanup PresetManager if it exists
|
|
49
128
|
try {
|
|
50
129
|
const PresetManager = (await import('../../utils/presetManager.js')).PresetManager;
|
|
@@ -73,7 +152,20 @@ export async function serveCommand(parsedArgv) {
|
|
|
73
152
|
if (parsedArgv.transport !== 'stdio' && !parsedArgv['log-file']) {
|
|
74
153
|
displayLogo();
|
|
75
154
|
}
|
|
76
|
-
|
|
155
|
+
// Initialize ConfigContext with CLI options
|
|
156
|
+
const configContext = ConfigContext.getInstance();
|
|
157
|
+
if (parsedArgv.config) {
|
|
158
|
+
configContext.setConfigPath(parsedArgv.config);
|
|
159
|
+
}
|
|
160
|
+
else if (parsedArgv['config-dir']) {
|
|
161
|
+
configContext.setConfigDir(parsedArgv['config-dir']);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
configContext.reset();
|
|
165
|
+
}
|
|
166
|
+
// Initialize MCP config manager using resolved config path
|
|
167
|
+
const configFilePath = configContext.getResolvedConfigPath();
|
|
168
|
+
McpConfigManager.getInstance(configFilePath);
|
|
77
169
|
// Configure server settings from CLI arguments
|
|
78
170
|
const serverConfigManager = AgentConfigManager.getInstance();
|
|
79
171
|
// Handle backward compatibility for auth flag
|
|
@@ -123,7 +215,7 @@ export async function serveCommand(parsedArgv) {
|
|
|
123
215
|
const PresetManager = (await import('../../utils/presetManager.js')).PresetManager;
|
|
124
216
|
PresetManager.getInstance(parsedArgv['config-dir']);
|
|
125
217
|
// Initialize server and get server manager with custom config path if provided
|
|
126
|
-
const { serverManager, loadingManager, asyncOrchestrator } = await setupServer();
|
|
218
|
+
const { serverManager, loadingManager, asyncOrchestrator, instructionAggregator } = await setupServer();
|
|
127
219
|
let expressServer;
|
|
128
220
|
switch (parsedArgv.transport) {
|
|
129
221
|
case 'stdio': {
|
|
@@ -164,11 +256,14 @@ export async function serveCommand(parsedArgv) {
|
|
|
164
256
|
}
|
|
165
257
|
}
|
|
166
258
|
}
|
|
259
|
+
// Load custom instructions template if provided
|
|
260
|
+
const customTemplate = loadInstructionsTemplate(parsedArgv['instructions-template'], parsedArgv['config-dir']);
|
|
167
261
|
await serverManager.connectTransport(transport, 'stdio', {
|
|
168
262
|
tags,
|
|
169
263
|
tagExpression,
|
|
170
264
|
tagFilterMode,
|
|
171
265
|
enablePagination: parsedArgv.pagination,
|
|
266
|
+
customTemplate,
|
|
172
267
|
});
|
|
173
268
|
// Initialize notifications for async loading if enabled
|
|
174
269
|
if (asyncOrchestrator) {
|
|
@@ -196,7 +291,7 @@ export async function serveCommand(parsedArgv) {
|
|
|
196
291
|
process.exit(1);
|
|
197
292
|
}
|
|
198
293
|
// Set up graceful shutdown handling
|
|
199
|
-
setupGracefulShutdown(serverManager, loadingManager, expressServer);
|
|
294
|
+
setupGracefulShutdown(serverManager, loadingManager, expressServer, instructionAggregator);
|
|
200
295
|
// Log MCP loading progress (non-blocking)
|
|
201
296
|
loadingManager.on('loading-progress', (summary) => {
|
|
202
297
|
logger.info(`MCP loading progress: ${summary.ready}/${summary.totalServers} servers ready (${summary.loading} loading, ${summary.failed} failed)`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/commands/serve/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/commands/serve/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Singleton context for managing configuration file resolution
|
|
3
|
+
* Centralizes the logic for resolving config paths from CLI options
|
|
4
|
+
*/
|
|
5
|
+
declare class ConfigContext {
|
|
6
|
+
private static instance;
|
|
7
|
+
private configDir?;
|
|
8
|
+
private configPath?;
|
|
9
|
+
private constructor();
|
|
10
|
+
/**
|
|
11
|
+
* Get the singleton instance
|
|
12
|
+
*/
|
|
13
|
+
static getInstance(): ConfigContext;
|
|
14
|
+
/**
|
|
15
|
+
* Set the config directory
|
|
16
|
+
*/
|
|
17
|
+
setConfigDir(dir?: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Set the config path directly
|
|
20
|
+
*/
|
|
21
|
+
setConfigPath(path?: string): void;
|
|
22
|
+
/**
|
|
23
|
+
* Reset all configuration
|
|
24
|
+
*/
|
|
25
|
+
reset(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Get the resolved config path based on priority:
|
|
28
|
+
* 1. Explicit config path (highest priority)
|
|
29
|
+
* 2. Config directory + mcp.json
|
|
30
|
+
* 3. Default global config path
|
|
31
|
+
*/
|
|
32
|
+
getResolvedConfigPath(): string;
|
|
33
|
+
}
|
|
34
|
+
export default ConfigContext;
|
|
35
|
+
//# sourceMappingURL=configContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configContext.d.ts","sourceRoot":"","sources":["../../src/config/configContext.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IACrD,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAS;IAE5B,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC;;OAEG;IACH,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAKhC;;OAEG;IACH,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;;;OAKG;IACH,qBAAqB,IAAI,MAAM;CAWhC;AAED,eAAe,aAAa,CAAC"}
|