@1mcp/agent 0.25.4 → 0.26.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/auth/sdkOAuthClientProvider.d.ts.map +1 -1
- package/build/auth/sdkOAuthClientProvider.js +3 -5
- package/build/auth/sdkOAuthClientProvider.js.map +1 -1
- package/build/auth/sessionTypes.d.ts +10 -0
- package/build/auth/sessionTypes.d.ts.map +1 -1
- package/build/auth/storage/fileStorageService.d.ts +25 -1
- package/build/auth/storage/fileStorageService.d.ts.map +1 -1
- package/build/auth/storage/fileStorageService.js +155 -27
- package/build/auth/storage/fileStorageService.js.map +1 -1
- package/build/auth/storage/oauthStorageService.js +1 -1
- package/build/auth/storage/oauthStorageService.js.map +1 -1
- package/build/commands/mcp/index.d.ts.map +1 -1
- package/build/commands/mcp/index.js +3 -2
- package/build/commands/mcp/index.js.map +1 -1
- package/build/commands/registry/index.d.ts +6 -0
- package/build/commands/registry/index.d.ts.map +1 -0
- package/build/commands/registry/index.js +67 -0
- package/build/commands/registry/index.js.map +1 -0
- package/build/commands/registry/options.d.ts +47 -0
- package/build/commands/registry/options.d.ts.map +1 -0
- package/build/commands/registry/options.js +39 -0
- package/build/commands/registry/options.js.map +1 -0
- package/build/commands/registry/search.d.ts +21 -0
- package/build/commands/registry/search.d.ts.map +1 -0
- package/build/commands/registry/search.js +186 -0
- package/build/commands/registry/search.js.map +1 -0
- package/build/commands/registry/show.d.ts +25 -0
- package/build/commands/registry/show.d.ts.map +1 -0
- package/build/commands/registry/show.js +87 -0
- package/build/commands/registry/show.js.map +1 -0
- package/build/commands/registry/status.d.ts +16 -0
- package/build/commands/registry/status.d.ts.map +1 -0
- package/build/commands/registry/status.js +86 -0
- package/build/commands/registry/status.js.map +1 -0
- package/build/commands/registry/versions.d.ts +21 -0
- package/build/commands/registry/versions.d.ts.map +1 -0
- package/build/commands/registry/versions.js +76 -0
- package/build/commands/registry/versions.js.map +1 -0
- package/build/constants/auth.d.ts +27 -0
- package/build/constants/auth.d.ts.map +1 -1
- package/build/constants/auth.js +31 -0
- package/build/constants/auth.js.map +1 -1
- package/build/constants/mcp.d.ts +1 -1
- package/build/constants/mcp.js +1 -1
- package/build/core/tools/handlers/registryHandler.d.ts +11 -0
- package/build/core/tools/handlers/registryHandler.d.ts.map +1 -0
- package/build/core/tools/handlers/registryHandler.js +49 -0
- package/build/core/tools/handlers/registryHandler.js.map +1 -0
- package/build/core/tools/handlers/searchHandler.d.ts +19 -0
- package/build/core/tools/handlers/searchHandler.d.ts.map +1 -0
- package/build/core/tools/handlers/searchHandler.js +104 -0
- package/build/core/tools/handlers/searchHandler.js.map +1 -0
- package/build/core/tools/handlers/showHandler.d.ts +10 -0
- package/build/core/tools/handlers/showHandler.d.ts.map +1 -0
- package/build/core/tools/handlers/showHandler.js +44 -0
- package/build/core/tools/handlers/showHandler.js.map +1 -0
- package/build/core/tools/handlers/versionsHandler.d.ts +10 -0
- package/build/core/tools/handlers/versionsHandler.d.ts.map +1 -0
- package/build/core/tools/handlers/versionsHandler.js +44 -0
- package/build/core/tools/handlers/versionsHandler.js.map +1 -0
- package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
- package/build/domains/preset/manager/presetManager.js +2 -2
- package/build/domains/preset/manager/presetManager.js.map +1 -1
- package/build/domains/registry/cacheManager.d.ts +61 -0
- package/build/domains/registry/cacheManager.d.ts.map +1 -0
- package/build/domains/registry/cacheManager.js +158 -0
- package/build/domains/registry/cacheManager.js.map +1 -0
- package/build/domains/registry/formatters/commonFormatters.d.ts +34 -0
- package/build/domains/registry/formatters/commonFormatters.d.ts.map +1 -0
- package/build/domains/registry/formatters/commonFormatters.js +154 -0
- package/build/domains/registry/formatters/commonFormatters.js.map +1 -0
- package/build/domains/registry/formatters/serverDetailFormatter.d.ts +6 -0
- package/build/domains/registry/formatters/serverDetailFormatter.d.ts.map +1 -0
- package/build/domains/registry/formatters/serverDetailFormatter.js +310 -0
- package/build/domains/registry/formatters/serverDetailFormatter.js.map +1 -0
- package/build/domains/registry/formatters/versionsFormatter.d.ts +6 -0
- package/build/domains/registry/formatters/versionsFormatter.d.ts.map +1 -0
- package/build/domains/registry/formatters/versionsFormatter.js +84 -0
- package/build/domains/registry/formatters/versionsFormatter.js.map +1 -0
- package/build/domains/registry/mcpRegistryClient.d.ts +101 -0
- package/build/domains/registry/mcpRegistryClient.d.ts.map +1 -0
- package/build/domains/registry/mcpRegistryClient.js +464 -0
- package/build/domains/registry/mcpRegistryClient.js.map +1 -0
- package/build/domains/registry/mcpToolSchemas.d.ts +63 -0
- package/build/domains/registry/mcpToolSchemas.d.ts.map +1 -0
- package/build/domains/registry/mcpToolSchemas.js +52 -0
- package/build/domains/registry/mcpToolSchemas.js.map +1 -0
- package/build/domains/registry/searchFiltering.d.ts +48 -0
- package/build/domains/registry/searchFiltering.d.ts.map +1 -0
- package/build/domains/registry/searchFiltering.js +201 -0
- package/build/domains/registry/searchFiltering.js.map +1 -0
- package/build/domains/registry/types.d.ts +204 -0
- package/build/domains/registry/types.d.ts.map +1 -0
- package/build/domains/registry/types.js +5 -0
- package/build/domains/registry/types.js.map +1 -0
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/transport/http/restorableStreamableTransport.d.ts +52 -0
- package/build/transport/http/restorableStreamableTransport.d.ts.map +1 -0
- package/build/transport/http/restorableStreamableTransport.js +68 -0
- package/build/transport/http/restorableStreamableTransport.js.map +1 -0
- package/build/transport/http/routes/streamableHttpRoutes.d.ts +2 -1
- package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/streamableHttpRoutes.js +113 -30
- package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
- package/build/transport/http/server.d.ts +2 -0
- package/build/transport/http/server.d.ts.map +1 -1
- package/build/transport/http/server.js +10 -2
- package/build/transport/http/server.js.map +1 -1
- package/build/transport/http/storage/streamableSessionRepository.d.ts +57 -0
- package/build/transport/http/storage/streamableSessionRepository.d.ts.map +1 -0
- package/build/transport/http/storage/streamableSessionRepository.js +156 -0
- package/build/transport/http/storage/streamableSessionRepository.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import { OFFICIAL_REGISTRY_KEY, } from '../../../domains/registry/types.js';
|
|
2
|
+
import boxen from 'boxen';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { formatDate, formatRelativeDate } from './commonFormatters.js';
|
|
5
|
+
/**
|
|
6
|
+
* Format a server's details for display
|
|
7
|
+
*/
|
|
8
|
+
export function formatServerDetails(server, format = 'table') {
|
|
9
|
+
switch (format) {
|
|
10
|
+
case 'json':
|
|
11
|
+
return JSON.stringify(server, null, 2);
|
|
12
|
+
case 'detailed':
|
|
13
|
+
return formatDetailedServer(server);
|
|
14
|
+
case 'table':
|
|
15
|
+
default:
|
|
16
|
+
return formatTableServer(server);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Format server as table
|
|
21
|
+
*/
|
|
22
|
+
function formatTableServer(server) {
|
|
23
|
+
const meta = server._meta[OFFICIAL_REGISTRY_KEY];
|
|
24
|
+
const basicInfo = {
|
|
25
|
+
Name: server.name,
|
|
26
|
+
Description: server.description,
|
|
27
|
+
Status: server.status,
|
|
28
|
+
Version: server.version,
|
|
29
|
+
'Repository URL': server.repository.url,
|
|
30
|
+
'Repository Source': server.repository.source,
|
|
31
|
+
};
|
|
32
|
+
if (server.repository.subfolder) {
|
|
33
|
+
basicInfo['Repository Subfolder'] = server.repository.subfolder;
|
|
34
|
+
}
|
|
35
|
+
const packages = server.packages || [];
|
|
36
|
+
if (packages.length > 0) {
|
|
37
|
+
basicInfo['Package Count'] = packages.length.toString();
|
|
38
|
+
basicInfo['Registry Types'] =
|
|
39
|
+
packages
|
|
40
|
+
.map((p) => p.registryType)
|
|
41
|
+
.filter(Boolean)
|
|
42
|
+
.join(', ') || 'unknown';
|
|
43
|
+
basicInfo['Transport Types'] =
|
|
44
|
+
packages
|
|
45
|
+
.map((p) => formatDetailTransport(p.transport))
|
|
46
|
+
.filter(Boolean)
|
|
47
|
+
.join(', ') || 'stdio';
|
|
48
|
+
}
|
|
49
|
+
const remotes = server.remotes || [];
|
|
50
|
+
if (remotes.length > 0) {
|
|
51
|
+
basicInfo['Remote Endpoints'] = remotes.length.toString();
|
|
52
|
+
basicInfo['Remote Types'] = remotes.map((r) => r.type).join(', ');
|
|
53
|
+
}
|
|
54
|
+
basicInfo['Published At'] = formatDate(meta.publishedAt);
|
|
55
|
+
basicInfo['Updated At'] = formatDate(meta.updatedAt);
|
|
56
|
+
basicInfo['Is Latest'] = meta.isLatest ? 'Yes' : 'No';
|
|
57
|
+
basicInfo['Registry ID'] = meta.serverId;
|
|
58
|
+
let result = '\nServer Details:\n';
|
|
59
|
+
console.table([basicInfo]);
|
|
60
|
+
// Add packages table if available
|
|
61
|
+
if (packages.length > 0) {
|
|
62
|
+
result += '\nPackages:\n';
|
|
63
|
+
const packageData = packages.map((pkg, index) => ({
|
|
64
|
+
Index: index + 1,
|
|
65
|
+
'Registry Type': pkg.registryType || 'unknown',
|
|
66
|
+
Identifier: pkg.identifier,
|
|
67
|
+
Version: pkg.version || server.version,
|
|
68
|
+
Transport: formatDetailTransport(pkg.transport) || 'stdio',
|
|
69
|
+
Runtime: pkg.runtimeHint || 'N/A',
|
|
70
|
+
'Env Vars': (pkg.environmentVariables?.length || 0) > 0 ? pkg.environmentVariables?.length : 'None',
|
|
71
|
+
Args: (pkg.packageArguments?.length || 0) + (pkg.runtimeArguments?.length || 0) || 'None',
|
|
72
|
+
}));
|
|
73
|
+
console.table(packageData);
|
|
74
|
+
}
|
|
75
|
+
// Add environment variables table if available
|
|
76
|
+
const allEnvVars = packages.flatMap((pkg) => pkg.environmentVariables || []);
|
|
77
|
+
if (allEnvVars.length > 0) {
|
|
78
|
+
result += '\nEnvironment Variables:\n';
|
|
79
|
+
const envVarData = allEnvVars.map((envVar, index) => ({
|
|
80
|
+
Index: index + 1,
|
|
81
|
+
Name: envVar.value || 'ENV_VAR',
|
|
82
|
+
Required: envVar.isRequired ? 'Yes' : 'No',
|
|
83
|
+
Secret: envVar.isSecret ? 'Yes' : 'No',
|
|
84
|
+
Default: envVar.default || 'N/A',
|
|
85
|
+
Description: envVar.description || 'N/A',
|
|
86
|
+
}));
|
|
87
|
+
console.table(envVarData);
|
|
88
|
+
}
|
|
89
|
+
// Add arguments table if available
|
|
90
|
+
const allArgs = packages.flatMap((pkg) => [
|
|
91
|
+
...(pkg.packageArguments || []).map((arg) => ({ ...arg, type: 'Package' })),
|
|
92
|
+
...(pkg.runtimeArguments || []).map((arg) => ({ ...arg, type: 'Runtime' })),
|
|
93
|
+
]);
|
|
94
|
+
if (allArgs.length > 0) {
|
|
95
|
+
result += '\nArguments:\n';
|
|
96
|
+
const argData = allArgs.map((arg, index) => ({
|
|
97
|
+
Index: index + 1,
|
|
98
|
+
Name: arg.name || 'arg',
|
|
99
|
+
Type: arg.type || 'N/A',
|
|
100
|
+
Required: arg.isRequired ? 'Yes' : 'No',
|
|
101
|
+
Secret: arg.isSecret ? 'Yes' : 'No',
|
|
102
|
+
Repeated: arg.isRepeated ? 'Yes' : 'No',
|
|
103
|
+
Default: arg.default || 'N/A',
|
|
104
|
+
Description: arg.description || 'N/A',
|
|
105
|
+
}));
|
|
106
|
+
console.table(argData);
|
|
107
|
+
}
|
|
108
|
+
// Add remotes table if available
|
|
109
|
+
if (remotes.length > 0) {
|
|
110
|
+
result += '\nRemote Endpoints:\n';
|
|
111
|
+
const remoteData = remotes.map((remote, index) => ({
|
|
112
|
+
Index: index + 1,
|
|
113
|
+
Type: remote.type,
|
|
114
|
+
URL: remote.url,
|
|
115
|
+
Headers: (remote.headers?.length || 0) > 0 ? remote.headers?.length : 'None',
|
|
116
|
+
}));
|
|
117
|
+
console.table(remoteData);
|
|
118
|
+
}
|
|
119
|
+
return result;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Format server with enhanced detailed display
|
|
123
|
+
*/
|
|
124
|
+
function formatDetailedServer(server) {
|
|
125
|
+
const meta = server._meta[OFFICIAL_REGISTRY_KEY];
|
|
126
|
+
// Status badge with color
|
|
127
|
+
const statusColor = server.status === 'active' ? 'green' : server.status === 'deprecated' ? 'yellow' : 'red';
|
|
128
|
+
const statusBadge = chalk[statusColor].bold(`● ${server.status.toUpperCase()}`);
|
|
129
|
+
// Header with enhanced information
|
|
130
|
+
const header = chalk.cyan.bold(server.name) + ' ' + chalk.gray(`(${server.version})`) + ' ' + statusBadge;
|
|
131
|
+
// Description with enhanced formatting
|
|
132
|
+
const description = chalk.white(server.description);
|
|
133
|
+
// Enhanced basic info section
|
|
134
|
+
const basicInfo = [
|
|
135
|
+
`${chalk.cyan('Repository:')} ${server.repository.url}`,
|
|
136
|
+
`${chalk.cyan('Source:')} ${server.repository.source}`,
|
|
137
|
+
server.repository.subfolder ? `${chalk.cyan('Subfolder:')} ${server.repository.subfolder}` : '',
|
|
138
|
+
server.websiteUrl ? `${chalk.cyan('Website:')} ${server.websiteUrl}` : '',
|
|
139
|
+
`${chalk.cyan('Published:')} ${formatRelativeDate(meta.publishedAt)}`,
|
|
140
|
+
`${chalk.cyan('Updated:')} ${formatRelativeDate(meta.updatedAt)}`,
|
|
141
|
+
`${chalk.cyan('Latest Version:')} ${meta.isLatest ? chalk.green('Yes') : chalk.yellow('No')}`,
|
|
142
|
+
]
|
|
143
|
+
.filter(Boolean)
|
|
144
|
+
.join('\n');
|
|
145
|
+
let content = `${header}\n\n${description}\n\n${basicInfo}`;
|
|
146
|
+
// Enhanced packages section with installation instructions
|
|
147
|
+
const packages = server.packages || [];
|
|
148
|
+
if (packages.length > 0) {
|
|
149
|
+
const packagesList = packages
|
|
150
|
+
.map((pkg, index) => {
|
|
151
|
+
const registryType = pkg.registryType || 'unknown';
|
|
152
|
+
const transport = formatDetailTransport(pkg.transport) || 'stdio';
|
|
153
|
+
const installCmd = generateInstallCommand(pkg, server.version);
|
|
154
|
+
let packageDetails = ` ${index + 1}. ${chalk.yellow(registryType)} - ${pkg.identifier} ${chalk.gray(`(${transport})`)}
|
|
155
|
+
${chalk.gray(`Install: ${installCmd}`)}`;
|
|
156
|
+
// Add runtime hint if available
|
|
157
|
+
if (pkg.runtimeHint) {
|
|
158
|
+
packageDetails += `\n ${chalk.blue('Runtime:')} ${pkg.runtimeHint}`;
|
|
159
|
+
}
|
|
160
|
+
// Add file hash if available
|
|
161
|
+
if (pkg.fileSha256) {
|
|
162
|
+
packageDetails += `\n ${chalk.magenta('SHA256:')} ${pkg.fileSha256.substring(0, 16)}...`;
|
|
163
|
+
}
|
|
164
|
+
return packageDetails;
|
|
165
|
+
})
|
|
166
|
+
.join('\n');
|
|
167
|
+
content += `\n\n${chalk.cyan.bold('Packages:')} ${chalk.gray(`(${packages.length})`)}
|
|
168
|
+
${packagesList}`;
|
|
169
|
+
// Add environment variables if any packages have them
|
|
170
|
+
const allEnvVars = packages.flatMap((pkg) => pkg.environmentVariables || []);
|
|
171
|
+
if (allEnvVars.length > 0) {
|
|
172
|
+
const envVarsList = allEnvVars
|
|
173
|
+
.map((envVar, index) => {
|
|
174
|
+
const required = envVar.isRequired ? chalk.red('*') : '';
|
|
175
|
+
const secret = envVar.isSecret ? chalk.yellow('🔒') : '';
|
|
176
|
+
const defaultVal = envVar.default ? chalk.gray(` (default: ${envVar.default})`) : '';
|
|
177
|
+
const description = envVar.description ? ` - ${envVar.description}` : '';
|
|
178
|
+
return ` ${index + 1}. ${envVar.value || 'ENV_VAR'}${required}${secret}${defaultVal}${description}`;
|
|
179
|
+
})
|
|
180
|
+
.join('\n');
|
|
181
|
+
content += `\n\n${chalk.cyan.bold('Environment Variables:')} ${chalk.gray(`(${allEnvVars.length})`)}
|
|
182
|
+
${envVarsList}`;
|
|
183
|
+
}
|
|
184
|
+
// Add package arguments if any packages have them
|
|
185
|
+
const allPackageArgs = packages.flatMap((pkg) => pkg.packageArguments || []);
|
|
186
|
+
const allRuntimeArgs = packages.flatMap((pkg) => pkg.runtimeArguments || []);
|
|
187
|
+
if (allPackageArgs.length > 0) {
|
|
188
|
+
const packageArgsList = allPackageArgs
|
|
189
|
+
.map((arg, index) => {
|
|
190
|
+
const required = arg.isRequired ? chalk.red('*') : '';
|
|
191
|
+
const secret = arg.isSecret ? chalk.yellow('🔒') : '';
|
|
192
|
+
const repeated = arg.isRepeated ? chalk.blue('[]') : '';
|
|
193
|
+
const defaultVal = arg.default ? chalk.gray(` (default: ${arg.default})`) : '';
|
|
194
|
+
const type = arg.type ? chalk.magenta(`<${arg.type}>`) : '';
|
|
195
|
+
const description = arg.description ? ` - ${arg.description}` : '';
|
|
196
|
+
return ` ${index + 1}. ${arg.name || 'arg'}${required}${secret}${repeated} ${type}${defaultVal}${description}`;
|
|
197
|
+
})
|
|
198
|
+
.join('\n');
|
|
199
|
+
content += `\n\n${chalk.cyan.bold('Package Arguments:')} ${chalk.gray(`(${allPackageArgs.length})`)}
|
|
200
|
+
${packageArgsList}`;
|
|
201
|
+
}
|
|
202
|
+
if (allRuntimeArgs.length > 0) {
|
|
203
|
+
const runtimeArgsList = allRuntimeArgs
|
|
204
|
+
.map((arg, index) => {
|
|
205
|
+
const required = arg.isRequired ? chalk.red('*') : '';
|
|
206
|
+
const secret = arg.isSecret ? chalk.yellow('🔒') : '';
|
|
207
|
+
const repeated = arg.isRepeated ? chalk.blue('[]') : '';
|
|
208
|
+
const defaultVal = arg.default ? chalk.gray(` (default: ${arg.default})`) : '';
|
|
209
|
+
const type = arg.type ? chalk.magenta(`<${arg.type}>`) : '';
|
|
210
|
+
const hint = arg.valueHint ? chalk.cyan(` (hint: ${arg.valueHint})`) : '';
|
|
211
|
+
const description = arg.description ? ` - ${arg.description}` : '';
|
|
212
|
+
return ` ${index + 1}. ${arg.name || 'arg'}${required}${secret}${repeated} ${type}${defaultVal}${hint}${description}`;
|
|
213
|
+
})
|
|
214
|
+
.join('\n');
|
|
215
|
+
content += `\n\n${chalk.cyan.bold('Runtime Arguments:')} ${chalk.gray(`(${allRuntimeArgs.length})`)}
|
|
216
|
+
${runtimeArgsList}`;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
// Enhanced remotes section
|
|
220
|
+
const remotes = server.remotes || [];
|
|
221
|
+
if (remotes.length > 0) {
|
|
222
|
+
const remotesList = remotes
|
|
223
|
+
.map((remote, index) => {
|
|
224
|
+
let remoteDetails = ` ${index + 1}. ${chalk.yellow(remote.type)} - ${remote.url}`;
|
|
225
|
+
// Add headers if available
|
|
226
|
+
if (remote.headers && remote.headers.length > 0) {
|
|
227
|
+
const headersList = remote.headers
|
|
228
|
+
.map((header) => {
|
|
229
|
+
const description = header.description ? ` (${header.description})` : '';
|
|
230
|
+
const required = header.isRequired ? chalk.red('*') : '';
|
|
231
|
+
const secret = header.isSecret ? chalk.yellow('🔒') : '';
|
|
232
|
+
return ` ${header.value || 'header'}${required}${secret}${description}`;
|
|
233
|
+
})
|
|
234
|
+
.join('\n');
|
|
235
|
+
remoteDetails += `\n ${chalk.cyan('Headers:')}\n${headersList}`;
|
|
236
|
+
}
|
|
237
|
+
return remoteDetails;
|
|
238
|
+
})
|
|
239
|
+
.join('\n');
|
|
240
|
+
content += `\n\n${chalk.cyan.bold('Remote Endpoints:')} ${chalk.gray(`(${remotes.length})`)}
|
|
241
|
+
${remotesList}`;
|
|
242
|
+
}
|
|
243
|
+
// Enhanced registry and metadata info
|
|
244
|
+
const metaInfo = [
|
|
245
|
+
`${chalk.cyan('Registry ID:')} ${meta.serverId}`,
|
|
246
|
+
`${chalk.cyan('Version ID:')} ${meta.versionId}`,
|
|
247
|
+
].filter(Boolean);
|
|
248
|
+
content += `\n\n${chalk.cyan.bold('Registry Information:')}
|
|
249
|
+
${metaInfo.join('\n ')}`;
|
|
250
|
+
// MCP Usage Instructions section
|
|
251
|
+
content += `\n\n${chalk.cyan.bold('MCP Usage Instructions:')}
|
|
252
|
+
${chalk.gray('• Add to your MCP client configuration')}
|
|
253
|
+
${chalk.gray('• Use with 1MCP proxy for multiple server management')}
|
|
254
|
+
${chalk.gray('• Check transport compatibility with your client')}`;
|
|
255
|
+
// Additional package information if available
|
|
256
|
+
const packageInfo = [];
|
|
257
|
+
if (packages.length > 0) {
|
|
258
|
+
const registryTypes = [...new Set(packages.map((p) => p.registryType).filter(Boolean))];
|
|
259
|
+
const transports = [...new Set(packages.map((p) => formatDetailTransport(p.transport)).filter(Boolean))];
|
|
260
|
+
if (registryTypes.length > 0) {
|
|
261
|
+
packageInfo.push(`${chalk.cyan('Registry Types:')} ${registryTypes.join(', ')}`);
|
|
262
|
+
}
|
|
263
|
+
if (transports.length > 0) {
|
|
264
|
+
packageInfo.push(`${chalk.cyan('Transport Types:')} ${transports.join(', ')}`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
if (packageInfo.length > 0) {
|
|
268
|
+
content += `\n\n${chalk.cyan.bold('Package Information:')}
|
|
269
|
+
${packageInfo.join('\n ')}`;
|
|
270
|
+
}
|
|
271
|
+
return boxen(content, {
|
|
272
|
+
padding: 1,
|
|
273
|
+
margin: 1,
|
|
274
|
+
borderStyle: 'round',
|
|
275
|
+
borderColor: 'cyan',
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Generate installation command based on package type
|
|
280
|
+
*/
|
|
281
|
+
function generateInstallCommand(pkg, version) {
|
|
282
|
+
const registryType = pkg.registryType;
|
|
283
|
+
const identifier = pkg.identifier;
|
|
284
|
+
const pkgVersion = pkg.version || version;
|
|
285
|
+
switch (registryType) {
|
|
286
|
+
case 'npm':
|
|
287
|
+
return `npm install ${identifier}@${pkgVersion}`;
|
|
288
|
+
case 'pypi':
|
|
289
|
+
return `pip install ${identifier}==${pkgVersion}`;
|
|
290
|
+
case 'docker':
|
|
291
|
+
return `docker pull ${identifier}:${pkgVersion}`;
|
|
292
|
+
default:
|
|
293
|
+
return `${registryType}: ${identifier}@${pkgVersion}`;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Format transport value to handle objects and undefined values for detailed display
|
|
298
|
+
*/
|
|
299
|
+
function formatDetailTransport(transport) {
|
|
300
|
+
if (!transport)
|
|
301
|
+
return '';
|
|
302
|
+
if (typeof transport === 'string')
|
|
303
|
+
return transport;
|
|
304
|
+
if (typeof transport === 'object') {
|
|
305
|
+
// Handle case where transport is an object
|
|
306
|
+
return transport.type || String(transport);
|
|
307
|
+
}
|
|
308
|
+
return String(transport);
|
|
309
|
+
}
|
|
310
|
+
//# sourceMappingURL=serverDetailFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverDetailFormatter.js","sourceRoot":"","sources":["../../../../src/domains/registry/formatters/serverDetailFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { OutputFormat, ServerVersionsResponse } from '../../../domains/registry/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Format server versions for display
|
|
4
|
+
*/
|
|
5
|
+
export declare function formatServerVersions(versionsResponse: ServerVersionsResponse, format?: OutputFormat): string;
|
|
6
|
+
//# sourceMappingURL=versionsFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versionsFormatter.d.ts","sourceRoot":"","sources":["../../../../src/domains/registry/formatters/versionsFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAOtF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,GAAE,YAAsB,GAAG,MAAM,CAUrH"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import boxen from 'boxen';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { formatDate, formatRelativeDate } from './commonFormatters.js';
|
|
4
|
+
/**
|
|
5
|
+
* Format server versions for display
|
|
6
|
+
*/
|
|
7
|
+
export function formatServerVersions(versionsResponse, format = 'table') {
|
|
8
|
+
switch (format) {
|
|
9
|
+
case 'json':
|
|
10
|
+
return JSON.stringify(versionsResponse, null, 2);
|
|
11
|
+
case 'detailed':
|
|
12
|
+
return formatDetailedVersions(versionsResponse);
|
|
13
|
+
case 'table':
|
|
14
|
+
default:
|
|
15
|
+
return formatTableVersions(versionsResponse);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Format versions as table
|
|
20
|
+
*/
|
|
21
|
+
function formatTableVersions(versionsResponse) {
|
|
22
|
+
const { versions, name } = versionsResponse;
|
|
23
|
+
if (versions.length === 0) {
|
|
24
|
+
return `\nNo versions found for server: ${name}\n`;
|
|
25
|
+
}
|
|
26
|
+
// Sort versions by publishedAt descending (newest first)
|
|
27
|
+
const sortedVersions = [...versions].sort((a, b) => new Date(b.publishedAt).getTime() - new Date(a.publishedAt).getTime());
|
|
28
|
+
const tableData = sortedVersions.map((version) => ({
|
|
29
|
+
Version: version.version,
|
|
30
|
+
Status: version.status,
|
|
31
|
+
Latest: version.isLatest ? 'Yes' : 'No',
|
|
32
|
+
Published: formatDate(version.publishedAt),
|
|
33
|
+
Updated: formatDate(version.updatedAt),
|
|
34
|
+
}));
|
|
35
|
+
let result = `\nVersions for ${name} (${versions.length} total):\n`;
|
|
36
|
+
console.table(tableData);
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Format versions with enhanced detailed display
|
|
41
|
+
*/
|
|
42
|
+
function formatDetailedVersions(versionsResponse) {
|
|
43
|
+
const { versions, name, serverId } = versionsResponse;
|
|
44
|
+
if (versions.length === 0) {
|
|
45
|
+
return chalk.yellow(`No versions found for server: ${name}`);
|
|
46
|
+
}
|
|
47
|
+
// Sort versions by publishedAt descending (newest first)
|
|
48
|
+
const sortedVersions = [...versions].sort((a, b) => new Date(b.publishedAt).getTime() - new Date(a.publishedAt).getTime());
|
|
49
|
+
// Header
|
|
50
|
+
const versionText = versions.length === 1 ? 'version' : 'versions';
|
|
51
|
+
const header = chalk.cyan.bold(name) + chalk.gray(` (${versions.length} ${versionText})`);
|
|
52
|
+
// Version list
|
|
53
|
+
const versionsList = sortedVersions
|
|
54
|
+
.map((version, index) => {
|
|
55
|
+
const statusColor = version.status === 'active' ? 'green' : version.status === 'deprecated' ? 'yellow' : 'red';
|
|
56
|
+
const statusBadge = chalk[statusColor](`● ${version.status}`);
|
|
57
|
+
const latestBadge = version.isLatest ? chalk.yellow.bold(' [LATEST]') : '';
|
|
58
|
+
const versionNumber = chalk.white.bold(version.version);
|
|
59
|
+
const publishedDate = chalk.gray(`Published: ${formatRelativeDate(version.publishedAt)}`);
|
|
60
|
+
const updatedDate = version.updatedAt !== version.publishedAt
|
|
61
|
+
? chalk.gray(`Updated: ${formatRelativeDate(version.updatedAt)}`)
|
|
62
|
+
: '';
|
|
63
|
+
return ` ${chalk.gray(`${index + 1}.`)} ${versionNumber}${latestBadge} ${statusBadge}
|
|
64
|
+
${publishedDate}
|
|
65
|
+
${updatedDate}`
|
|
66
|
+
.split('\n')
|
|
67
|
+
.filter((line) => line.trim())
|
|
68
|
+
.join('\n');
|
|
69
|
+
})
|
|
70
|
+
.join('\n\n');
|
|
71
|
+
const content = `${header}\n\n${versionsList}`;
|
|
72
|
+
// Add server info at bottom
|
|
73
|
+
const serverInfo = `\n${chalk.cyan.bold('Server Information:')}
|
|
74
|
+
${chalk.cyan('Server ID:')} ${serverId}
|
|
75
|
+
${chalk.cyan('Active Versions:')} ${sortedVersions.filter((v) => v.status === 'active').length}
|
|
76
|
+
${chalk.cyan('Deprecated Versions:')} ${sortedVersions.filter((v) => v.status === 'deprecated').length}`;
|
|
77
|
+
return boxen(content + serverInfo, {
|
|
78
|
+
padding: 1,
|
|
79
|
+
margin: 1,
|
|
80
|
+
borderStyle: 'round',
|
|
81
|
+
borderColor: 'cyan',
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=versionsFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versionsFormatter.js","sourceRoot":"","sources":["../../../../src/domains/registry/formatters/versionsFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { RegistryClientOptions, RegistryOptions, RegistryServer, RegistryStatusResult, SearchOptions, ServerListOptions, ServersListResponse, ServerVersionsResponse } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* HTTP client for the MCP Registry API
|
|
4
|
+
* https://registry.modelcontextprotocol.io/docs
|
|
5
|
+
* https://registry.modelcontextprotocol.io/openapi.yaml
|
|
6
|
+
*/
|
|
7
|
+
export declare class MCPRegistryClient {
|
|
8
|
+
private baseUrl;
|
|
9
|
+
private timeout;
|
|
10
|
+
private cache;
|
|
11
|
+
private proxyConfig?;
|
|
12
|
+
private axiosInstance;
|
|
13
|
+
constructor(options: RegistryClientOptions);
|
|
14
|
+
/**
|
|
15
|
+
* Get servers from the registry with optional filtering
|
|
16
|
+
*/
|
|
17
|
+
getServers(options?: ServerListOptions): Promise<RegistryServer[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Get servers from the registry with full response metadata (including pagination)
|
|
20
|
+
*/
|
|
21
|
+
getServersWithMetadata(options?: ServerListOptions): Promise<ServersListResponse>;
|
|
22
|
+
/**
|
|
23
|
+
* Get a specific server by ID
|
|
24
|
+
*/
|
|
25
|
+
getServerById(id: string, version?: string): Promise<RegistryServer>;
|
|
26
|
+
/**
|
|
27
|
+
* Get all versions for a specific server
|
|
28
|
+
*/
|
|
29
|
+
getServerVersions(id: string): Promise<ServerVersionsResponse>;
|
|
30
|
+
/**
|
|
31
|
+
* Search servers with advanced filtering
|
|
32
|
+
*/
|
|
33
|
+
searchServers(searchOptions: SearchOptions): Promise<RegistryServer[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Get registry status and statistics
|
|
36
|
+
*/
|
|
37
|
+
getRegistryStatus(includeStats?: boolean): Promise<RegistryStatusResult>;
|
|
38
|
+
/**
|
|
39
|
+
* Invalidate cache for specific patterns
|
|
40
|
+
*/
|
|
41
|
+
invalidateCache(pattern?: string): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Get cache statistics
|
|
44
|
+
*/
|
|
45
|
+
getCacheStats(): {
|
|
46
|
+
totalEntries: number;
|
|
47
|
+
validEntries: number;
|
|
48
|
+
expiredEntries: number;
|
|
49
|
+
maxSize: number;
|
|
50
|
+
hitRatio: number;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Clean up resources
|
|
54
|
+
*/
|
|
55
|
+
destroy(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Generic cache wrapper that handles the cache-check-call-store pattern
|
|
58
|
+
*/
|
|
59
|
+
private withCache;
|
|
60
|
+
/**
|
|
61
|
+
* Get all servers using pagination to handle large result sets
|
|
62
|
+
*/
|
|
63
|
+
private getAllServersWithPagination;
|
|
64
|
+
/**
|
|
65
|
+
* Create axios instance with timeout and proxy support
|
|
66
|
+
*/
|
|
67
|
+
private createAxiosInstance;
|
|
68
|
+
/**
|
|
69
|
+
* Make HTTP request with timeout and proxy support
|
|
70
|
+
*/
|
|
71
|
+
private makeRequest;
|
|
72
|
+
/**
|
|
73
|
+
* Get proxy configuration from options or environment
|
|
74
|
+
*/
|
|
75
|
+
private getProxyConfig;
|
|
76
|
+
/**
|
|
77
|
+
* Find proxy URL from environment variables
|
|
78
|
+
*/
|
|
79
|
+
private findProxyUrlFromEnv;
|
|
80
|
+
/**
|
|
81
|
+
* Parse proxy URL and extract configuration
|
|
82
|
+
*/
|
|
83
|
+
private parseProxyUrl;
|
|
84
|
+
/**
|
|
85
|
+
* Build query parameters object from options
|
|
86
|
+
*/
|
|
87
|
+
private buildParams;
|
|
88
|
+
/**
|
|
89
|
+
* Build query string from parameters
|
|
90
|
+
*/
|
|
91
|
+
private buildQueryString;
|
|
92
|
+
/**
|
|
93
|
+
* Calculate statistics from server list
|
|
94
|
+
*/
|
|
95
|
+
private calculateStats;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Create a registry client instance with CLI options or defaults
|
|
99
|
+
*/
|
|
100
|
+
export declare function createRegistryClient(cliOptions?: RegistryOptions): MCPRegistryClient;
|
|
101
|
+
//# sourceMappingURL=mcpRegistryClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpRegistryClient.d.ts","sourceRoot":"","sources":["../../../src/domains/registry/mcpRegistryClient.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAiC;IACrD,OAAO,CAAC,aAAa,CAAgB;gBAEzB,OAAO,EAAE,qBAAqB;IAQ1C;;OAEG;IACG,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqB5E;;OAEG;IACG,sBAAsB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmB3F;;OAEG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAwB1E;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAyCpE;;OAEG;IACG,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAuB5E;;OAEG;IACG,iBAAiB,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+C5E;;OAEG;IACG,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD;;OAEG;IACH,aAAa;;;;;;;IAIb;;OAEG;IACH,OAAO,IAAI,IAAI;IAWf;;OAEG;YACW,SAAS;IA2BvB;;OAEG;YACW,2BAA2B;IA8BzC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8C3B;;OAEG;YACW,WAAW;IAsBzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAkBnB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,OAAO,CAAC,cAAc;CAsCvB;AAgDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAGpF"}
|