@1mcp/agent 0.23.1 → 0.24.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 (128) hide show
  1. package/build/commands/mcp/tokens.d.ts.map +1 -1
  2. package/build/commands/mcp/tokens.js +4 -2
  3. package/build/commands/mcp/tokens.js.map +1 -1
  4. package/build/commands/mcp/utils/configUtils.d.ts.map +1 -1
  5. package/build/commands/mcp/utils/configUtils.js +12 -1
  6. package/build/commands/mcp/utils/configUtils.js.map +1 -1
  7. package/build/commands/proxy/index.d.ts +20 -0
  8. package/build/commands/proxy/index.d.ts.map +1 -0
  9. package/build/commands/proxy/index.js +87 -0
  10. package/build/commands/proxy/index.js.map +1 -0
  11. package/build/commands/proxy/proxy.d.ts +6 -0
  12. package/build/commands/proxy/proxy.d.ts.map +1 -0
  13. package/build/commands/proxy/proxy.js +84 -0
  14. package/build/commands/proxy/proxy.js.map +1 -0
  15. package/build/commands/serve/serve.d.ts.map +1 -1
  16. package/build/commands/serve/serve.js +42 -4
  17. package/build/commands/serve/serve.js.map +1 -1
  18. package/build/config/mcpConfigManager.d.ts.map +1 -1
  19. package/build/config/mcpConfigManager.js +15 -6
  20. package/build/config/mcpConfigManager.js.map +1 -1
  21. package/build/constants.d.ts +1 -1
  22. package/build/constants.js +1 -1
  23. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts.map +1 -1
  24. package/build/core/capabilities/asyncLoadingOrchestrator.js +11 -8
  25. package/build/core/capabilities/asyncLoadingOrchestrator.js.map +1 -1
  26. package/build/core/capabilities/capabilityAggregator.js +8 -8
  27. package/build/core/capabilities/capabilityAggregator.js.map +1 -1
  28. package/build/{capabilities → core/capabilities}/capabilityManager.d.ts +1 -1
  29. package/build/core/capabilities/capabilityManager.d.ts.map +1 -0
  30. package/build/{capabilities → core/capabilities}/capabilityManager.js +3 -3
  31. package/build/core/capabilities/capabilityManager.js.map +1 -0
  32. package/build/core/client/clientManager.d.ts +17 -0
  33. package/build/core/client/clientManager.d.ts.map +1 -1
  34. package/build/core/client/clientManager.js +126 -6
  35. package/build/core/client/clientManager.js.map +1 -1
  36. package/build/core/filtering/filteringService.d.ts.map +1 -1
  37. package/build/core/filtering/filteringService.js +89 -55
  38. package/build/core/filtering/filteringService.js.map +1 -1
  39. package/build/core/instructions/instructionAggregator.d.ts.map +1 -1
  40. package/build/core/instructions/instructionAggregator.js +54 -26
  41. package/build/core/instructions/instructionAggregator.js.map +1 -1
  42. package/build/core/instructions/templateHelpers.d.ts +7 -0
  43. package/build/core/instructions/templateHelpers.d.ts.map +1 -0
  44. package/build/core/instructions/templateHelpers.js +116 -0
  45. package/build/core/instructions/templateHelpers.js.map +1 -0
  46. package/build/core/instructions/templateTypes.d.ts +14 -4
  47. package/build/core/instructions/templateTypes.d.ts.map +1 -1
  48. package/build/core/instructions/templateTypes.js +10 -2
  49. package/build/core/instructions/templateTypes.js.map +1 -1
  50. package/build/core/loading/loadingStateTracker.d.ts +16 -8
  51. package/build/core/loading/loadingStateTracker.d.ts.map +1 -1
  52. package/build/core/loading/loadingStateTracker.js +22 -10
  53. package/build/core/loading/loadingStateTracker.js.map +1 -1
  54. package/build/core/loading/mcpLoadingManager.d.ts +19 -9
  55. package/build/core/loading/mcpLoadingManager.d.ts.map +1 -1
  56. package/build/core/loading/mcpLoadingManager.js +29 -15
  57. package/build/core/loading/mcpLoadingManager.js.map +1 -1
  58. package/build/core/notifications/notificationManager.d.ts.map +1 -1
  59. package/build/core/notifications/notificationManager.js +9 -6
  60. package/build/core/notifications/notificationManager.js.map +1 -1
  61. package/build/core/server/serverManager.js +6 -6
  62. package/build/core/server/serverManager.js.map +1 -1
  63. package/build/core/types/transport.d.ts +32 -0
  64. package/build/core/types/transport.d.ts.map +1 -1
  65. package/build/core/types/transport.js +3 -1
  66. package/build/core/types/transport.js.map +1 -1
  67. package/build/handlers/requestHandlers.js +8 -8
  68. package/build/handlers/requestHandlers.js.map +1 -1
  69. package/build/index.js +16 -2
  70. package/build/index.js.map +1 -1
  71. package/build/logger/logger.d.ts +39 -0
  72. package/build/logger/logger.d.ts.map +1 -1
  73. package/build/logger/logger.js +133 -0
  74. package/build/logger/logger.js.map +1 -1
  75. package/build/server.d.ts.map +1 -1
  76. package/build/server.js +5 -2
  77. package/build/server.js.map +1 -1
  78. package/build/services/configReloadService.js +1 -1
  79. package/build/services/configReloadService.js.map +1 -1
  80. package/build/transport/http/middlewares/mcpAvailabilityMiddleware.d.ts.map +1 -1
  81. package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js +10 -4
  82. package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js.map +1 -1
  83. package/build/transport/http/middlewares/tagsExtractor.d.ts.map +1 -1
  84. package/build/transport/http/middlewares/tagsExtractor.js +9 -6
  85. package/build/transport/http/middlewares/tagsExtractor.js.map +1 -1
  86. package/build/transport/http/routes/oauthRoutes.d.ts.map +1 -1
  87. package/build/transport/http/routes/oauthRoutes.js +5 -21
  88. package/build/transport/http/routes/oauthRoutes.js.map +1 -1
  89. package/build/transport/restartableStdioTransport.d.ts.map +1 -1
  90. package/build/transport/restartableStdioTransport.js +7 -4
  91. package/build/transport/restartableStdioTransport.js.map +1 -1
  92. package/build/transport/stdioProxyTransport.d.ts +39 -0
  93. package/build/transport/stdioProxyTransport.d.ts.map +1 -0
  94. package/build/transport/stdioProxyTransport.js +138 -0
  95. package/build/transport/stdioProxyTransport.js.map +1 -0
  96. package/build/transport/transportFactory.d.ts.map +1 -1
  97. package/build/transport/transportFactory.js +29 -13
  98. package/build/transport/transportFactory.js.map +1 -1
  99. package/build/utils/appDiscovery.js +1 -1
  100. package/build/utils/appDiscovery.js.map +1 -1
  101. package/build/utils/clientFiltering.d.ts.map +1 -1
  102. package/build/utils/clientFiltering.js +64 -36
  103. package/build/utils/clientFiltering.js.map +1 -1
  104. package/build/utils/envProcessor.d.ts.map +1 -1
  105. package/build/utils/envProcessor.js +9 -7
  106. package/build/utils/envProcessor.js.map +1 -1
  107. package/build/utils/pagination.d.ts.map +1 -1
  108. package/build/utils/pagination.js +6 -4
  109. package/build/utils/pagination.js.map +1 -1
  110. package/build/utils/pidFileManager.d.ts +45 -0
  111. package/build/utils/pidFileManager.d.ts.map +1 -0
  112. package/build/utils/pidFileManager.js +120 -0
  113. package/build/utils/pidFileManager.js.map +1 -0
  114. package/build/utils/projectConfigLoader.d.ts +25 -0
  115. package/build/utils/projectConfigLoader.d.ts.map +1 -0
  116. package/build/utils/projectConfigLoader.js +74 -0
  117. package/build/utils/projectConfigLoader.js.map +1 -0
  118. package/build/utils/projectConfigTypes.d.ts +28 -0
  119. package/build/utils/projectConfigTypes.d.ts.map +1 -0
  120. package/build/utils/projectConfigTypes.js +22 -0
  121. package/build/utils/projectConfigTypes.js.map +1 -0
  122. package/build/utils/urlDetection.d.ts +14 -2
  123. package/build/utils/urlDetection.d.ts.map +1 -1
  124. package/build/utils/urlDetection.js +51 -4
  125. package/build/utils/urlDetection.js.map +1 -1
  126. package/package.json +2 -1
  127. package/build/capabilities/capabilityManager.d.ts.map +0 -1
  128. package/build/capabilities/capabilityManager.js.map +0 -1
@@ -0,0 +1,120 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import logger from '../logger/logger.js';
4
+ const PID_FILE_NAME = 'server.pid';
5
+ /**
6
+ * Get PID file path for a given config directory
7
+ */
8
+ export function getPidFilePath(configDir) {
9
+ return path.join(configDir, PID_FILE_NAME);
10
+ }
11
+ /**
12
+ * Check if a process is alive
13
+ * @param pid Process ID to check
14
+ * @returns true if process is alive, false otherwise
15
+ */
16
+ export function isProcessAlive(pid) {
17
+ try {
18
+ // Send signal 0 (no-op) to check if process exists
19
+ // This doesn't actually send a signal, just checks permissions
20
+ process.kill(pid, 0);
21
+ return true;
22
+ }
23
+ catch (err) {
24
+ // ESRCH = process doesn't exist
25
+ // EPERM = process exists but no permission (still alive)
26
+ return err.code === 'EPERM';
27
+ }
28
+ }
29
+ /**
30
+ * Write PID file with server information
31
+ * @param configDir Configuration directory
32
+ * @param serverInfo Server information to write
33
+ */
34
+ export function writePidFile(configDir, serverInfo) {
35
+ const pidFilePath = getPidFilePath(configDir);
36
+ try {
37
+ // Ensure config directory exists
38
+ if (!fs.existsSync(configDir)) {
39
+ fs.mkdirSync(configDir, { recursive: true });
40
+ }
41
+ // Write PID file atomically
42
+ const content = JSON.stringify(serverInfo, null, 2);
43
+ fs.writeFileSync(pidFilePath, content, { encoding: 'utf-8' });
44
+ logger.info(`PID file written: ${pidFilePath}`);
45
+ }
46
+ catch (error) {
47
+ logger.error(`Failed to write PID file: ${error}`);
48
+ throw error;
49
+ }
50
+ }
51
+ /**
52
+ * Read PID file and validate process is alive
53
+ * @param configDir Configuration directory
54
+ * @returns Server info if valid, null if file doesn't exist or process is dead
55
+ */
56
+ export function readPidFile(configDir) {
57
+ const pidFilePath = getPidFilePath(configDir);
58
+ try {
59
+ if (!fs.existsSync(pidFilePath)) {
60
+ return null;
61
+ }
62
+ const content = fs.readFileSync(pidFilePath, 'utf-8');
63
+ const serverInfo = JSON.parse(content);
64
+ // Validate required fields
65
+ if (!serverInfo.pid || !serverInfo.url || !serverInfo.port) {
66
+ logger.warn(`Invalid PID file format: ${pidFilePath}`);
67
+ return null;
68
+ }
69
+ // Check if process is still alive
70
+ if (!isProcessAlive(serverInfo.pid)) {
71
+ logger.warn(`PID file points to dead process (PID: ${serverInfo.pid})`);
72
+ return null;
73
+ }
74
+ return serverInfo;
75
+ }
76
+ catch (error) {
77
+ logger.error(`Failed to read PID file: ${error}`);
78
+ return null;
79
+ }
80
+ }
81
+ /**
82
+ * Cleanup (delete) PID file
83
+ * @param configDir Configuration directory
84
+ */
85
+ export function cleanupPidFile(configDir) {
86
+ const pidFilePath = getPidFilePath(configDir);
87
+ try {
88
+ if (fs.existsSync(pidFilePath)) {
89
+ fs.unlinkSync(pidFilePath);
90
+ logger.info(`PID file cleaned up: ${pidFilePath}`);
91
+ }
92
+ }
93
+ catch (error) {
94
+ logger.error(`Failed to cleanup PID file: ${error}`);
95
+ }
96
+ }
97
+ /**
98
+ * Register cleanup handlers to remove PID file on process exit
99
+ * @param configDir Configuration directory
100
+ */
101
+ export function registerPidFileCleanup(configDir) {
102
+ const cleanup = () => {
103
+ cleanupPidFile(configDir);
104
+ };
105
+ // Register cleanup for various exit scenarios
106
+ process.on('exit', cleanup);
107
+ process.on('SIGINT', () => {
108
+ cleanup();
109
+ process.exit(0);
110
+ });
111
+ process.on('SIGTERM', () => {
112
+ cleanup();
113
+ process.exit(0);
114
+ });
115
+ process.on('SIGHUP', () => {
116
+ cleanup();
117
+ process.exit(0);
118
+ });
119
+ }
120
+ //# sourceMappingURL=pidFileManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pidFileManager.js","sourceRoot":"","sources":["../../src/utils/pidFileManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { ProjectConfig } from './projectConfigTypes.js';
2
+ /**
3
+ * Project configuration file name
4
+ */
5
+ export declare const PROJECT_CONFIG_FILE = ".1mcprc";
6
+ /**
7
+ * Load project configuration from .1mcprc file
8
+ *
9
+ * Searches for .1mcprc in the current working directory.
10
+ * Returns null if file doesn't exist or is invalid.
11
+ *
12
+ * @param cwd - Current working directory (defaults to process.cwd())
13
+ * @returns ProjectConfig or null if not found/invalid
14
+ */
15
+ export declare function loadProjectConfig(cwd?: string): Promise<ProjectConfig | null>;
16
+ /**
17
+ * Normalize tags to array format
18
+ *
19
+ * Converts string (comma-separated) or array to normalized array.
20
+ *
21
+ * @param tags - Tags as string or array
22
+ * @returns Normalized array of tags
23
+ */
24
+ export declare function normalizeTags(tags: string | string[] | undefined): string[] | undefined;
25
+ //# sourceMappingURL=projectConfigLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectConfigLoader.d.ts","sourceRoot":"","sources":["../../src/utils/projectConfigLoader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAyB,MAAM,yBAAyB,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAoClG;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAavF"}
@@ -0,0 +1,74 @@
1
+ import { readFile } from 'fs/promises';
2
+ import JSON5 from 'json5';
3
+ import { resolve } from 'path';
4
+ import { existsSync } from 'fs';
5
+ import logger from '../logger/logger.js';
6
+ import { validateProjectConfig } from './projectConfigTypes.js';
7
+ /**
8
+ * Project configuration file name
9
+ */
10
+ export const PROJECT_CONFIG_FILE = '.1mcprc';
11
+ /**
12
+ * Load project configuration from .1mcprc file
13
+ *
14
+ * Searches for .1mcprc in the current working directory.
15
+ * Returns null if file doesn't exist or is invalid.
16
+ *
17
+ * @param cwd - Current working directory (defaults to process.cwd())
18
+ * @returns ProjectConfig or null if not found/invalid
19
+ */
20
+ export async function loadProjectConfig(cwd = process.cwd()) {
21
+ const configPath = resolve(cwd, PROJECT_CONFIG_FILE);
22
+ // Check if file exists
23
+ if (!existsSync(configPath)) {
24
+ logger.debug(`No ${PROJECT_CONFIG_FILE} found in ${cwd}`);
25
+ return null;
26
+ }
27
+ try {
28
+ logger.debug(`Loading project config from ${configPath}`);
29
+ // Read and parse JSON
30
+ const content = await readFile(configPath, 'utf-8');
31
+ const data = JSON5.parse(content);
32
+ // Validate with Zod schema
33
+ const config = validateProjectConfig(data);
34
+ logger.info(`📄 Loaded configuration from ${PROJECT_CONFIG_FILE}`, {
35
+ preset: config.preset,
36
+ tags: config.tags,
37
+ filter: config.filter,
38
+ });
39
+ return config;
40
+ }
41
+ catch (error) {
42
+ if (error instanceof SyntaxError) {
43
+ logger.warn(`Invalid JSON in ${PROJECT_CONFIG_FILE}: ${error.message}`);
44
+ }
45
+ else if (error instanceof Error) {
46
+ logger.warn(`Failed to load ${PROJECT_CONFIG_FILE}: ${error.message}`);
47
+ }
48
+ else {
49
+ logger.warn(`Failed to load ${PROJECT_CONFIG_FILE}: Unknown error`);
50
+ }
51
+ return null;
52
+ }
53
+ }
54
+ /**
55
+ * Normalize tags to array format
56
+ *
57
+ * Converts string (comma-separated) or array to normalized array.
58
+ *
59
+ * @param tags - Tags as string or array
60
+ * @returns Normalized array of tags
61
+ */
62
+ export function normalizeTags(tags) {
63
+ if (!tags) {
64
+ return undefined;
65
+ }
66
+ if (typeof tags === 'string') {
67
+ return tags
68
+ .split(',')
69
+ .map((tag) => tag.trim())
70
+ .filter((tag) => tag.length > 0);
71
+ }
72
+ return tags.filter((tag) => tag.length > 0);
73
+ }
74
+ //# sourceMappingURL=projectConfigLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectConfigLoader.js","sourceRoot":"","sources":["../../src/utils/projectConfigLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAiB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACjE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAErD,uBAAuB;IACvB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,mBAAmB,aAAa,GAAG,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;QAE1D,sBAAsB;QACtB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElC,2BAA2B;QAC3B,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,CAAC,IAAI,CAAC,gCAAgC,mBAAmB,EAAE,EAAE;YACjE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,mBAAmB,mBAAmB,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,kBAAkB,mBAAmB,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,kBAAkB,mBAAmB,iBAAiB,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAmC;IAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI;aACR,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;aACxB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Project-level configuration for .1mcprc file
4
+ *
5
+ * This file allows projects to specify default connection settings
6
+ * that will be automatically detected by the proxy command.
7
+ */
8
+ /**
9
+ * Zod schema for .1mcprc validation
10
+ */
11
+ export declare const ProjectConfigSchema: z.ZodObject<{
12
+ preset: z.ZodOptional<z.ZodString>;
13
+ tags: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
14
+ filter: z.ZodOptional<z.ZodString>;
15
+ }, z.core.$strip>;
16
+ /**
17
+ * TypeScript interface for project configuration
18
+ */
19
+ export interface ProjectConfig {
20
+ preset?: string;
21
+ tags?: string | string[];
22
+ filter?: string;
23
+ }
24
+ /**
25
+ * Validate project configuration
26
+ */
27
+ export declare function validateProjectConfig(data: unknown): ProjectConfig;
28
+ //# sourceMappingURL=projectConfigTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectConfigTypes.d.ts","sourceRoot":"","sources":["../../src/utils/projectConfigTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAElE"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Project-level configuration for .1mcprc file
4
+ *
5
+ * This file allows projects to specify default connection settings
6
+ * that will be automatically detected by the proxy command.
7
+ */
8
+ /**
9
+ * Zod schema for .1mcprc validation
10
+ */
11
+ export const ProjectConfigSchema = z.object({
12
+ preset: z.string().optional(),
13
+ tags: z.union([z.string(), z.array(z.string())]).optional(),
14
+ filter: z.string().optional(),
15
+ });
16
+ /**
17
+ * Validate project configuration
18
+ */
19
+ export function validateProjectConfig(data) {
20
+ return ProjectConfigSchema.parse(data);
21
+ }
22
+ //# sourceMappingURL=projectConfigTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectConfigTypes.js","sourceRoot":"","sources":["../../src/utils/projectConfigTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAWH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"}
@@ -18,11 +18,23 @@ export declare function detectRunningServerUrl(): Promise<string | null>;
18
18
  */
19
19
  export declare function detectUrlFromEnv(): string | null;
20
20
  /**
21
- * Method 4: Combined detection with priority fallback (primary implementation)
21
+ * Method 4: Detect URL from PID file (for proxy command)
22
+ */
23
+ export declare function detectUrlFromPidFile(configDir?: string): Promise<string | null>;
24
+ /**
25
+ * Method 5: Combined detection with priority fallback (primary implementation)
22
26
  */
23
27
  export declare function detectServer1mcpUrl(): Promise<string>;
24
28
  /**
25
- * Method 5: Get URL with user override (for command-specific URLs)
29
+ * Method 6: Combined detection with PID file support (for proxy command)
30
+ * Priority: user URL → PID file → port scanning → error
31
+ */
32
+ export declare function discoverServerWithPidFile(configDir?: string, userUrl?: string): Promise<{
33
+ url: string;
34
+ source: 'user' | 'pidfile' | 'portscan';
35
+ }>;
36
+ /**
37
+ * Method 7: Get URL with user override (for command-specific URLs)
26
38
  */
27
39
  export declare function getServer1mcpUrl(userOverrideUrl?: string): Promise<string>;
28
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"urlDetection.d.ts","sourceRoot":"","sources":["../../src/utils/urlDetection.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAiB7C;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAShD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAe3D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOhF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAChE,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CA2BD"}
1
+ {"version":3,"file":"urlDetection.d.ts","sourceRoot":"","sources":["../../src/utils/urlDetection.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAiB7C;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAShD;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAerF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAe3D;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;CAAE,CAAC,CA2BnE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOhF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAChE,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CA2BD"}
@@ -1,3 +1,6 @@
1
+ import { readPidFile, cleanupPidFile } from './pidFileManager.js';
2
+ import { getConfigDir } from '../constants.js';
3
+ import { createSafeErrorMessage } from '../logger/secureLogger.js';
1
4
  /**
2
5
  * Multi-method URL detection system for app commands.
3
6
  *
@@ -56,7 +59,24 @@ export function detectUrlFromEnv() {
56
59
  return `http://${host}:${port}/mcp`;
57
60
  }
58
61
  /**
59
- * Method 4: Combined detection with priority fallback (primary implementation)
62
+ * Method 4: Detect URL from PID file (for proxy command)
63
+ */
64
+ export async function detectUrlFromPidFile(configDir) {
65
+ const dir = getConfigDir(configDir);
66
+ const serverInfo = readPidFile(dir);
67
+ if (serverInfo) {
68
+ // Validate server is still responding
69
+ const validation = await validateServer1mcpUrl(serverInfo.url);
70
+ if (validation.valid) {
71
+ return serverInfo.url;
72
+ }
73
+ // Server is dead, clean up stale PID file
74
+ cleanupPidFile(dir);
75
+ }
76
+ return null;
77
+ }
78
+ /**
79
+ * Method 5: Combined detection with priority fallback (primary implementation)
60
80
  */
61
81
  export async function detectServer1mcpUrl() {
62
82
  // 1. Try CLI args first (highest priority)
@@ -75,7 +95,34 @@ export async function detectServer1mcpUrl() {
75
95
  return 'http://localhost:3050/mcp';
76
96
  }
77
97
  /**
78
- * Method 5: Get URL with user override (for command-specific URLs)
98
+ * Method 6: Combined detection with PID file support (for proxy command)
99
+ * Priority: user URL → PID file → port scanning → error
100
+ */
101
+ export async function discoverServerWithPidFile(configDir, userUrl) {
102
+ // 1. User override (highest priority)
103
+ if (userUrl) {
104
+ const normalizedUrl = userUrl.endsWith('/mcp') ? userUrl : `${userUrl}/mcp`;
105
+ return { url: normalizedUrl, source: 'user' };
106
+ }
107
+ // 2. Try PID file
108
+ const pidFileUrl = await detectUrlFromPidFile(configDir);
109
+ if (pidFileUrl) {
110
+ return { url: pidFileUrl, source: 'pidfile' };
111
+ }
112
+ // 3. Fallback to port scanning
113
+ const portScanUrl = await detectRunningServerUrl();
114
+ if (portScanUrl) {
115
+ return { url: portScanUrl, source: 'portscan' };
116
+ }
117
+ // 4. No server found
118
+ throw new Error('No running 1MCP server found.\n\n' +
119
+ 'Start a server first:\n' +
120
+ ' 1mcp serve\n\n' +
121
+ 'Or specify URL manually:\n' +
122
+ ' 1mcp proxy --url http://localhost:3050/mcp');
123
+ }
124
+ /**
125
+ * Method 7: Get URL with user override (for command-specific URLs)
79
126
  */
80
127
  export async function getServer1mcpUrl(userOverrideUrl) {
81
128
  if (userOverrideUrl) {
@@ -98,7 +145,7 @@ export async function validateServer1mcpUrl(url) {
98
145
  if (!oauthResponse.ok) {
99
146
  return {
100
147
  valid: false,
101
- error: `1mcp server not responding (HTTP ${oauthResponse.status})`,
148
+ error: createSafeErrorMessage(`1mcp server not responding (HTTP ${oauthResponse.status})`),
102
149
  };
103
150
  }
104
151
  // For MCP endpoint, we just verify OAuth is working since MCP requires POST with specific payload
@@ -108,7 +155,7 @@ export async function validateServer1mcpUrl(url) {
108
155
  catch (error) {
109
156
  return {
110
157
  valid: false,
111
- error: `Cannot connect to 1mcp server: ${error.message}`,
158
+ error: createSafeErrorMessage(`Cannot connect to 1mcp server: ${error.message}`),
112
159
  };
113
160
  }
114
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"urlDetection.js","sourceRoot":"","sources":["../../src/utils/urlDetection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"urlDetection.js","sourceRoot":"","sources":["../../src/utils/urlDetection.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.23.1",
3
+ "version": "0.24.0",
4
4
  "description": "One MCP server to aggregate them all - A unified Model Context Protocol server implementation",
5
5
  "keywords": [
6
6
  "mcp",
@@ -135,6 +135,7 @@
135
135
  "test:e2e": "vitest run --config vitest.e2e.config.ts",
136
136
  "test:e2e:watch": "vitest --config vitest.e2e.config.ts",
137
137
  "test:e2e:coverage": "vitest run --config vitest.e2e.config.ts --coverage",
138
+ "test:e2e:performance": "node scripts/test-e2e-performance.js",
138
139
  "docs:dev": "vitepress dev docs",
139
140
  "docs:build": "vitepress build docs",
140
141
  "docs:preview": "vitepress preview docs",
@@ -1 +0,0 @@
1
- {"version":3,"file":"capabilityManager.d.ts","sourceRoot":"","sources":["../../src/capabilities/capabilityManager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhF;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;GAYlG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"capabilityManager.js","sourceRoot":"","sources":["../../src/capabilities/capabilityManager.ts"],"names":[],"mappings":"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"}