@getmcp/cli 0.5.1 → 0.6.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/README.md +77 -12
- package/dist/app-selection.d.ts +44 -0
- package/dist/app-selection.d.ts.map +1 -0
- package/dist/app-selection.js +99 -0
- package/dist/app-selection.js.map +1 -0
- package/dist/bin.js +54 -1
- package/dist/bin.js.map +1 -1
- package/dist/commands/add.d.ts +6 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +215 -11
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/check.d.ts +4 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +44 -8
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/doctor.d.ts +17 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +179 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/import.d.ts +13 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +148 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/list.d.ts +2 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +75 -6
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/remove.d.ts +3 -0
- package/dist/commands/remove.d.ts.map +1 -1
- package/dist/commands/remove.js +20 -8
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/sync.d.ts +19 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +214 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/update.d.ts +2 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +3 -3
- package/dist/commands/update.js.map +1 -1
- package/dist/config-file.d.ts +4 -0
- package/dist/config-file.d.ts.map +1 -1
- package/dist/config-file.js +12 -1
- package/dist/config-file.js.map +1 -1
- package/dist/detect.d.ts +17 -7
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +40 -17
- package/dist/detect.js.map +1 -1
- package/dist/errors.d.ts +3 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +8 -9
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lock.d.ts +47 -1
- package/dist/lock.d.ts.map +1 -1
- package/dist/lock.js +36 -3
- package/dist/lock.js.map +1 -1
- package/dist/utils.d.ts +14 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +49 -1
- package/dist/utils.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `getmcp sync` command.
|
|
3
|
+
*
|
|
4
|
+
* Reads a project manifest (getmcp.json) and installs all declared
|
|
5
|
+
* servers into detected AI applications.
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from "node:fs";
|
|
8
|
+
import * as path from "node:path";
|
|
9
|
+
import * as p from "@clack/prompts";
|
|
10
|
+
import { ProjectManifest } from "@getmcp/core";
|
|
11
|
+
import { getServer } from "@getmcp/registry";
|
|
12
|
+
import { getGenerator, getAppIds, generators } from "@getmcp/generators";
|
|
13
|
+
import { detectApps, resolveAppForScope } from "../detect.js";
|
|
14
|
+
import { mergeServerIntoConfig, writeConfigFile } from "../config-file.js";
|
|
15
|
+
import { trackInstallation } from "../lock.js";
|
|
16
|
+
import { getSavedSelectedApps, saveSelectedApps } from "../preferences.js";
|
|
17
|
+
import { shortenPath, isNonInteractive as checkNonInteractive } from "../utils.js";
|
|
18
|
+
import { InvalidAppError, formatError } from "../errors.js";
|
|
19
|
+
export async function syncCommand(options = {}) {
|
|
20
|
+
const manifestPath = options.manifestPath ?? path.resolve("getmcp.json");
|
|
21
|
+
if (!fs.existsSync(manifestPath)) {
|
|
22
|
+
if (options.json) {
|
|
23
|
+
console.log(JSON.stringify({ error: "getmcp.json not found" }, null, 2));
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
p.intro("getmcp sync");
|
|
27
|
+
p.log.error("No getmcp.json found in current directory.");
|
|
28
|
+
p.log.info("Create one with: getmcp init --manifest");
|
|
29
|
+
p.outro("Done");
|
|
30
|
+
}
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
// Parse manifest
|
|
34
|
+
let manifest;
|
|
35
|
+
try {
|
|
36
|
+
const raw = fs.readFileSync(manifestPath, "utf-8");
|
|
37
|
+
manifest = ProjectManifest.parse(JSON.parse(raw));
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
if (options.json) {
|
|
41
|
+
console.log(JSON.stringify({ error: `Invalid getmcp.json: ${err instanceof Error ? err.message : String(err)}` }, null, 2));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
p.intro("getmcp sync");
|
|
45
|
+
p.log.error(`Invalid getmcp.json: ${err instanceof Error ? err.message : String(err)}`);
|
|
46
|
+
p.outro("Done");
|
|
47
|
+
}
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const serverIds = Object.keys(manifest.servers);
|
|
51
|
+
if (serverIds.length === 0) {
|
|
52
|
+
if (options.json) {
|
|
53
|
+
console.log(JSON.stringify({ servers: [], results: [] }, null, 2));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
p.intro("getmcp sync");
|
|
57
|
+
p.log.info("No servers declared in getmcp.json.");
|
|
58
|
+
p.outro("Done");
|
|
59
|
+
}
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const isNonInteractive = checkNonInteractive(options);
|
|
63
|
+
if (!options.json) {
|
|
64
|
+
p.intro("getmcp sync");
|
|
65
|
+
}
|
|
66
|
+
// Resolve target apps
|
|
67
|
+
const allApps = detectApps();
|
|
68
|
+
const detected = allApps.filter((app) => app.exists);
|
|
69
|
+
let defaultApps;
|
|
70
|
+
if (options.allApps) {
|
|
71
|
+
defaultApps = detected;
|
|
72
|
+
}
|
|
73
|
+
else if (options.apps && options.apps.length > 0) {
|
|
74
|
+
const validIds = getAppIds();
|
|
75
|
+
defaultApps = [];
|
|
76
|
+
for (const appId of options.apps) {
|
|
77
|
+
if (!validIds.includes(appId)) {
|
|
78
|
+
if (!options.json) {
|
|
79
|
+
p.log.error(new InvalidAppError(appId, validIds).format());
|
|
80
|
+
}
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
const app = allApps.find((a) => a.id === appId);
|
|
84
|
+
if (app)
|
|
85
|
+
defaultApps.push(app);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else if (isNonInteractive) {
|
|
89
|
+
defaultApps = detected;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
const notDetectedProjectScoped = allApps.filter((app) => !app.exists && generators[app.id].app.configPaths !== null);
|
|
93
|
+
if (detected.length === 0 && notDetectedProjectScoped.length === 0) {
|
|
94
|
+
p.log.warn("No AI applications detected on this system.");
|
|
95
|
+
p.outro("Done");
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const savedApps = getSavedSelectedApps();
|
|
99
|
+
const hasSavedPreferences = savedApps !== null;
|
|
100
|
+
const choices = [
|
|
101
|
+
...detected.map((app) => ({
|
|
102
|
+
label: app.name,
|
|
103
|
+
value: app,
|
|
104
|
+
hint: shortenPath(app.configPath),
|
|
105
|
+
})),
|
|
106
|
+
...notDetectedProjectScoped.map((app) => ({
|
|
107
|
+
label: app.name,
|
|
108
|
+
value: app,
|
|
109
|
+
hint: `${shortenPath(app.configPath)} (not detected)`,
|
|
110
|
+
})),
|
|
111
|
+
];
|
|
112
|
+
const initialValues = choices
|
|
113
|
+
.filter((c) => (hasSavedPreferences ? savedApps.includes(c.value.id) : c.value.exists))
|
|
114
|
+
.map((c) => c.value);
|
|
115
|
+
const initialIds = new Set(initialValues.map((v) => v.id));
|
|
116
|
+
choices.sort((a, b) => {
|
|
117
|
+
const aSelected = initialIds.has(a.value.id) ? 0 : 1;
|
|
118
|
+
const bSelected = initialIds.has(b.value.id) ? 0 : 1;
|
|
119
|
+
return aSelected - bSelected;
|
|
120
|
+
});
|
|
121
|
+
const selected = await p.multiselect({
|
|
122
|
+
message: "Select apps to sync:",
|
|
123
|
+
options: choices,
|
|
124
|
+
initialValues,
|
|
125
|
+
required: true,
|
|
126
|
+
});
|
|
127
|
+
if (p.isCancel(selected)) {
|
|
128
|
+
p.cancel("Operation cancelled.");
|
|
129
|
+
process.exit(0);
|
|
130
|
+
}
|
|
131
|
+
defaultApps = selected;
|
|
132
|
+
saveSelectedApps(defaultApps.map((app) => app.id));
|
|
133
|
+
}
|
|
134
|
+
if (!options.json) {
|
|
135
|
+
p.log.info(`Syncing ${serverIds.length} server(s) from getmcp.json`);
|
|
136
|
+
}
|
|
137
|
+
if (options.dryRun && !options.json) {
|
|
138
|
+
p.log.step("Dry run — showing what would be written:\n");
|
|
139
|
+
}
|
|
140
|
+
const results = [];
|
|
141
|
+
for (const serverId of serverIds) {
|
|
142
|
+
const serverOverrides = manifest.servers[serverId];
|
|
143
|
+
const registryEntry = getServer(serverId);
|
|
144
|
+
if (!registryEntry) {
|
|
145
|
+
results.push({ serverId, ok: false, apps: [], error: "Not found in registry" });
|
|
146
|
+
if (!options.json) {
|
|
147
|
+
p.log.warn(`"${serverId}": not found in registry, skipping.`);
|
|
148
|
+
}
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
// Build config with overrides
|
|
152
|
+
const config = structuredClone(registryEntry.config);
|
|
153
|
+
if (serverOverrides && "env" in serverOverrides && serverOverrides.env) {
|
|
154
|
+
if ("command" in config && config.env) {
|
|
155
|
+
Object.assign(config.env, serverOverrides.env);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// Determine target apps for this server
|
|
159
|
+
let targetApps;
|
|
160
|
+
if (serverOverrides && "apps" in serverOverrides && serverOverrides.apps) {
|
|
161
|
+
targetApps = defaultApps.filter((a) => serverOverrides.apps.includes(a.id));
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
targetApps = defaultApps;
|
|
165
|
+
}
|
|
166
|
+
// Resolve scope for dual-scope apps
|
|
167
|
+
const serverScope = (serverOverrides && "scope" in serverOverrides && serverOverrides.scope) ||
|
|
168
|
+
(options.global ? "global" : "project");
|
|
169
|
+
targetApps = targetApps.map((app) => resolveAppForScope(app, serverScope));
|
|
170
|
+
const configuredApps = [];
|
|
171
|
+
for (const app of targetApps) {
|
|
172
|
+
try {
|
|
173
|
+
const generator = getGenerator(app.id);
|
|
174
|
+
const generatedConfig = generator.generate(registryEntry.id, config);
|
|
175
|
+
if (options.dryRun) {
|
|
176
|
+
if (!options.json) {
|
|
177
|
+
const serialized = generator.serialize(generatedConfig);
|
|
178
|
+
p.note(`File: ${shortenPath(app.configPath)}\n\n${serialized}`, `${registryEntry.name} → ${app.name}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
const merged = mergeServerIntoConfig(app.configPath, generatedConfig);
|
|
183
|
+
writeConfigFile(app.configPath, merged);
|
|
184
|
+
}
|
|
185
|
+
configuredApps.push(app.id);
|
|
186
|
+
}
|
|
187
|
+
catch (err) {
|
|
188
|
+
if (!options.json) {
|
|
189
|
+
p.log.error(`${registryEntry.name} → ${app.name}: ${formatError(err)}`);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (configuredApps.length > 0 && !options.dryRun) {
|
|
194
|
+
const scopes = {};
|
|
195
|
+
for (const appId of configuredApps) {
|
|
196
|
+
const app = targetApps.find((a) => a.id === appId);
|
|
197
|
+
scopes[appId] = app?.supportsBothScopes ? serverScope : "project";
|
|
198
|
+
}
|
|
199
|
+
trackInstallation(registryEntry.id, configuredApps, registryEntry.requiredEnvVars, undefined, scopes);
|
|
200
|
+
}
|
|
201
|
+
results.push({ serverId, ok: configuredApps.length > 0, apps: configuredApps });
|
|
202
|
+
if (!options.json && configuredApps.length > 0) {
|
|
203
|
+
p.log.success(`${registryEntry.name}: ${configuredApps.join(", ")}`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (options.json) {
|
|
207
|
+
console.log(JSON.stringify({ servers: serverIds, results }, null, 2));
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const succeeded = results.filter((r) => r.ok).length;
|
|
211
|
+
const action = options.dryRun ? "would be synced" : "synced";
|
|
212
|
+
p.outro(`${succeeded}/${serverIds.length} server(s) ${action}.`);
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ export interface UpdateOptions {
|
|
|
9
9
|
apps?: string[];
|
|
10
10
|
allApps?: boolean;
|
|
11
11
|
dryRun?: boolean;
|
|
12
|
+
global?: boolean;
|
|
13
|
+
project?: boolean;
|
|
12
14
|
}
|
|
13
15
|
export declare function updateCommand(options?: UpdateOptions): Promise<void>;
|
|
14
16
|
//# sourceMappingURL=update.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6G9E"}
|
package/dist/commands/update.js
CHANGED
|
@@ -10,10 +10,10 @@ import { getGenerator } from "@getmcp/generators";
|
|
|
10
10
|
import { getTrackedServers, trackInstallation } from "../lock.js";
|
|
11
11
|
import { detectApps } from "../detect.js";
|
|
12
12
|
import { mergeServerIntoConfig, writeConfigFile } from "../config-file.js";
|
|
13
|
-
import { shortenPath } from "../utils.js";
|
|
13
|
+
import { shortenPath, isNonInteractive as checkNonInteractive } from "../utils.js";
|
|
14
14
|
import { formatError } from "../errors.js";
|
|
15
15
|
export async function updateCommand(options = {}) {
|
|
16
|
-
const isNonInteractive = options
|
|
16
|
+
const isNonInteractive = checkNonInteractive(options);
|
|
17
17
|
p.intro("getmcp update");
|
|
18
18
|
const lock = getTrackedServers();
|
|
19
19
|
const entries = Object.entries(lock.installations);
|
|
@@ -90,7 +90,7 @@ export async function updateCommand(options = {}) {
|
|
|
90
90
|
}
|
|
91
91
|
// Update tracking timestamp
|
|
92
92
|
if (!options.dryRun) {
|
|
93
|
-
trackInstallation(serverId, targetAppIds, installation.envVars);
|
|
93
|
+
trackInstallation(serverId, targetAppIds, installation.envVars, undefined, installation.scopes);
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
spin.stop("Update complete.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAW3C,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAyB,EAAE;IAC7D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAEtD,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAEzB,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACvF,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,iBAAiB;IACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;YAChC,OAAO,EAAE,UAAU,OAAO,CAAC,MAAM,qBAAqB;YACtD,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAEzC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,OAAO,EAAE,CAAC;QAC/C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE1C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,mCAAmC,CAAC,CAAC;YAC1D,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,mCAAmC,CAAC,CAAC;YAC3D,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC,MAAM,CAA0B,CAAC;QAE9E,iCAAiC;QACjC,IAAI,YAAyB,CAAC;QAE9B,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,MAAM,KAAK,sCAAsC,CAAC,CAAC;gBAC3E,OAAO,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvC,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAE7D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC1D,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;oBACxD,CAAC,CAAC,IAAI,CACJ,SAAS,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,UAAU,EAAE,EACvD,GAAG,aAAa,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,EAAE,CACtC,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;oBACtE,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,aAAa,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1E,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,iBAAiB,CACf,QAAQ,EACR,YAAY,EACZ,YAAY,CAAC,OAAO,EACpB,SAAS,EACT,YAAY,CAAC,MAAM,CACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAE9B,CAAC,CAAC,KAAK,CAAC,YAAY,OAAO,cAAc,OAAO,aAAa,MAAM,EAAE,CAAC,CAAC;AACzE,CAAC"}
|
package/dist/config-file.d.ts
CHANGED
|
@@ -50,6 +50,10 @@ export declare function mergeServerIntoConfig(filePath: string, generatedConfig:
|
|
|
50
50
|
* Format is auto-detected from the file extension.
|
|
51
51
|
*/
|
|
52
52
|
export declare function removeServerFromConfig(filePath: string, serverName: string): Record<string, unknown> | null;
|
|
53
|
+
/**
|
|
54
|
+
* Known root keys used by all supported AI apps for MCP server configuration.
|
|
55
|
+
*/
|
|
56
|
+
export declare const ROOT_KEYS: readonly ["mcpServers", "servers", "extensions", "mcp", "context_servers", "mcp_servers"];
|
|
53
57
|
/**
|
|
54
58
|
* List all server names found in a config file.
|
|
55
59
|
* Scans known root keys: mcpServers, servers, extensions, mcp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../src/config-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA8DtD;AA6CD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUxE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CASvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAehC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAa9D"}
|
|
1
|
+
{"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../src/config-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA8DtD;AA6CD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUxE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CASvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAehC;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,2FAOZ,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAa9D"}
|
package/dist/config-file.js
CHANGED
|
@@ -198,6 +198,17 @@ export function removeServerFromConfig(filePath, serverName) {
|
|
|
198
198
|
}
|
|
199
199
|
return found ? existing : null;
|
|
200
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Known root keys used by all supported AI apps for MCP server configuration.
|
|
203
|
+
*/
|
|
204
|
+
export const ROOT_KEYS = [
|
|
205
|
+
"mcpServers",
|
|
206
|
+
"servers",
|
|
207
|
+
"extensions",
|
|
208
|
+
"mcp",
|
|
209
|
+
"context_servers",
|
|
210
|
+
"mcp_servers",
|
|
211
|
+
];
|
|
201
212
|
/**
|
|
202
213
|
* List all server names found in a config file.
|
|
203
214
|
* Scans known root keys: mcpServers, servers, extensions, mcp,
|
|
@@ -206,7 +217,7 @@ export function removeServerFromConfig(filePath, serverName) {
|
|
|
206
217
|
*/
|
|
207
218
|
export function listServersInConfig(filePath) {
|
|
208
219
|
const existing = readConfigFile(filePath);
|
|
209
|
-
const rootKeys =
|
|
220
|
+
const rootKeys = ROOT_KEYS;
|
|
210
221
|
const servers = [];
|
|
211
222
|
for (const rootKey of rootKeys) {
|
|
212
223
|
const section = existing[rootKey];
|
package/dist/config-file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-file.js","sourceRoot":"","sources":["../src/config-file.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config-file.js","sourceRoot":"","sources":["../src/config-file.ts"],"names":[],"mappings":"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"}
|
package/dist/detect.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* App auto-detection.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Resolves platform-specific config paths and delegates installation
|
|
5
|
+
* detection to each generator's `detectInstalled()` method.
|
|
6
6
|
*/
|
|
7
7
|
import type { AppIdType, AppMetadata } from "@getmcp/core";
|
|
8
8
|
/**
|
|
@@ -11,23 +11,33 @@ import type { AppIdType, AppMetadata } from "@getmcp/core";
|
|
|
11
11
|
export declare function resolvePath(configPath: string): string;
|
|
12
12
|
/**
|
|
13
13
|
* Get the resolved config path for an app on the current platform.
|
|
14
|
-
*
|
|
14
|
+
*
|
|
15
|
+
* - No scope: returns project path if available, else global path.
|
|
16
|
+
* - "project": returns project path only.
|
|
17
|
+
* - "global": returns global path only.
|
|
15
18
|
*/
|
|
16
|
-
export declare function getConfigPath(app: AppMetadata): string | undefined;
|
|
19
|
+
export declare function getConfigPath(app: AppMetadata, requestedScope?: "project" | "global"): string | undefined;
|
|
17
20
|
export interface DetectedApp {
|
|
18
21
|
id: AppIdType;
|
|
19
22
|
name: string;
|
|
20
23
|
configPath: string;
|
|
21
24
|
exists: boolean;
|
|
22
|
-
|
|
25
|
+
supportsBothScopes: boolean;
|
|
26
|
+
globalConfigPath?: string;
|
|
23
27
|
}
|
|
24
28
|
/**
|
|
25
|
-
* Detect which AI apps are
|
|
26
|
-
*
|
|
29
|
+
* Detect which AI apps are available by resolving config paths and
|
|
30
|
+
* checking installation status via each generator's `detectInstalled()`.
|
|
27
31
|
*/
|
|
28
32
|
export declare function detectApps(): DetectedApp[];
|
|
29
33
|
/**
|
|
30
34
|
* Get only the apps that appear to be installed.
|
|
31
35
|
*/
|
|
32
36
|
export declare function detectInstalledApps(): DetectedApp[];
|
|
37
|
+
/**
|
|
38
|
+
* Resolve a detected app's config path for a specific scope.
|
|
39
|
+
* For single-scope apps, returns the app unchanged.
|
|
40
|
+
* For dual-scope apps, swaps the config path when global is chosen.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveAppForScope(app: DetectedApp, scope: "project" | "global"): DetectedApp;
|
|
33
43
|
//# sourceMappingURL=detect.d.ts.map
|
package/dist/detect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3D;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAwBtD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,WAAW,EAChB,cAAc,CAAC,EAAE,SAAS,GAAG,QAAQ,GACpC,MAAM,GAAG,SAAS,CAgBpB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,SAAS,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,WAAW,EAAE,CAqB1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,EAAE,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAM7F"}
|
package/dist/detect.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* App auto-detection.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Resolves platform-specific config paths and delegates installation
|
|
5
|
+
* detection to each generator's `detectInstalled()` method.
|
|
6
6
|
*/
|
|
7
|
-
import * as fs from "node:fs";
|
|
8
7
|
import * as path from "node:path";
|
|
9
8
|
import * as os from "node:os";
|
|
10
9
|
import { generators } from "@getmcp/generators";
|
|
10
|
+
import { supportsBothScopes } from "@getmcp/core";
|
|
11
11
|
/**
|
|
12
12
|
* Resolve platform-specific path placeholders.
|
|
13
13
|
*/
|
|
@@ -27,18 +27,29 @@ export function resolvePath(configPath) {
|
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Get the resolved config path for an app on the current platform.
|
|
30
|
-
*
|
|
30
|
+
*
|
|
31
|
+
* - No scope: returns project path if available, else global path.
|
|
32
|
+
* - "project": returns project path only.
|
|
33
|
+
* - "global": returns global path only.
|
|
31
34
|
*/
|
|
32
|
-
export function getConfigPath(app) {
|
|
35
|
+
export function getConfigPath(app, requestedScope) {
|
|
33
36
|
const platform = process.platform;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return undefined;
|
|
37
|
-
|
|
37
|
+
if (requestedScope === "global") {
|
|
38
|
+
const p = app.globalConfigPaths?.[platform];
|
|
39
|
+
return p ? resolvePath(p) : undefined;
|
|
40
|
+
}
|
|
41
|
+
if (requestedScope === "project") {
|
|
42
|
+
return app.configPaths ?? undefined;
|
|
43
|
+
}
|
|
44
|
+
// Default: project if available, else global
|
|
45
|
+
if (app.configPaths)
|
|
46
|
+
return app.configPaths;
|
|
47
|
+
const globalPath = app.globalConfigPaths?.[platform];
|
|
48
|
+
return globalPath ? resolvePath(globalPath) : undefined;
|
|
38
49
|
}
|
|
39
50
|
/**
|
|
40
|
-
* Detect which AI apps are
|
|
41
|
-
*
|
|
51
|
+
* Detect which AI apps are available by resolving config paths and
|
|
52
|
+
* checking installation status via each generator's `detectInstalled()`.
|
|
42
53
|
*/
|
|
43
54
|
export function detectApps() {
|
|
44
55
|
const results = [];
|
|
@@ -46,16 +57,15 @@ export function detectApps() {
|
|
|
46
57
|
const configPath = getConfigPath(generator.app);
|
|
47
58
|
if (!configPath)
|
|
48
59
|
continue;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const fileExists = fs.existsSync(configPath);
|
|
52
|
-
const parentExists = fs.existsSync(path.dirname(configPath));
|
|
60
|
+
const hasBothScopes = supportsBothScopes(generator.app);
|
|
61
|
+
const globalConfigPath = hasBothScopes ? getConfigPath(generator.app, "global") : undefined;
|
|
53
62
|
results.push({
|
|
54
63
|
id: generator.app.id,
|
|
55
64
|
name: generator.app.name,
|
|
56
65
|
configPath,
|
|
57
|
-
exists:
|
|
58
|
-
|
|
66
|
+
exists: generator.detectInstalled(),
|
|
67
|
+
supportsBothScopes: hasBothScopes,
|
|
68
|
+
...(globalConfigPath ? { globalConfigPath } : {}),
|
|
59
69
|
});
|
|
60
70
|
}
|
|
61
71
|
return results;
|
|
@@ -66,4 +76,17 @@ export function detectApps() {
|
|
|
66
76
|
export function detectInstalledApps() {
|
|
67
77
|
return detectApps().filter((app) => app.exists);
|
|
68
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Resolve a detected app's config path for a specific scope.
|
|
81
|
+
* For single-scope apps, returns the app unchanged.
|
|
82
|
+
* For dual-scope apps, swaps the config path when global is chosen.
|
|
83
|
+
*/
|
|
84
|
+
export function resolveAppForScope(app, scope) {
|
|
85
|
+
if (!app.supportsBothScopes)
|
|
86
|
+
return app;
|
|
87
|
+
if (scope === "global" && app.globalConfigPath) {
|
|
88
|
+
return { ...app, configPath: app.globalConfigPath };
|
|
89
|
+
}
|
|
90
|
+
return app;
|
|
91
|
+
}
|
|
69
92
|
//# sourceMappingURL=detect.js.map
|
package/dist/detect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Custom error classes with actionable remediation messages.
|
|
3
3
|
*/
|
|
4
|
+
export type CliErrorCode = "CONFIG_PARSE_ERROR" | "APP_NOT_DETECTED" | "INVALID_APP" | "SERVER_NOT_FOUND" | "NON_INTERACTIVE";
|
|
4
5
|
/**
|
|
5
6
|
* Base class for CLI errors that include remediation steps.
|
|
6
7
|
*/
|
|
7
8
|
export declare class CliError extends Error {
|
|
8
9
|
readonly remediation: string;
|
|
9
|
-
|
|
10
|
+
readonly code?: CliErrorCode;
|
|
11
|
+
constructor(message: string, remediation: string, code?: CliErrorCode);
|
|
10
12
|
format(): string;
|
|
11
13
|
}
|
|
12
14
|
/**
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,aAAa,GACb,kBAAkB,GAClB,iBAAiB,CAAC;AAEtB;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY;IAOrE,MAAM,IAAI,MAAM;CAGjB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAY7C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;;CAShD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;CAK9C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM;CAS7B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,MAAM,EAAE,MAAM;CAQ3B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAQhD"}
|
package/dist/errors.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Custom error classes with actionable remediation messages.
|
|
3
|
-
*/
|
|
4
1
|
/**
|
|
5
2
|
* Base class for CLI errors that include remediation steps.
|
|
6
3
|
*/
|
|
7
4
|
export class CliError extends Error {
|
|
8
5
|
remediation;
|
|
9
|
-
|
|
6
|
+
code;
|
|
7
|
+
constructor(message, remediation, code) {
|
|
10
8
|
super(message);
|
|
11
9
|
this.name = "CliError";
|
|
12
10
|
this.remediation = remediation;
|
|
11
|
+
this.code = code;
|
|
13
12
|
}
|
|
14
13
|
format() {
|
|
15
14
|
return `${this.message}\n\n Hint: ${this.remediation}`;
|
|
@@ -24,7 +23,7 @@ export class ConfigParseError extends CliError {
|
|
|
24
23
|
const msg = cause
|
|
25
24
|
? `Failed to parse config file: ${filePath} (${cause})`
|
|
26
25
|
: `Failed to parse config file: ${filePath}`;
|
|
27
|
-
super(msg, `Check the file for syntax errors, or delete it and re-run the command to create a fresh config
|
|
26
|
+
super(msg, `Check the file for syntax errors, or delete it and re-run the command to create a fresh config.`, "CONFIG_PARSE_ERROR");
|
|
28
27
|
this.name = "ConfigParseError";
|
|
29
28
|
this.filePath = filePath;
|
|
30
29
|
}
|
|
@@ -34,7 +33,7 @@ export class ConfigParseError extends CliError {
|
|
|
34
33
|
*/
|
|
35
34
|
export class AppNotDetectedError extends CliError {
|
|
36
35
|
constructor() {
|
|
37
|
-
super("No AI applications detected on this system.", `Make sure at least one supported app is installed, or use --app <id> to specify a target manually
|
|
36
|
+
super("No AI applications detected on this system.", `Make sure at least one supported app is installed, or use --app <id> to specify a target manually.`, "APP_NOT_DETECTED");
|
|
38
37
|
this.name = "AppNotDetectedError";
|
|
39
38
|
}
|
|
40
39
|
}
|
|
@@ -44,7 +43,7 @@ export class AppNotDetectedError extends CliError {
|
|
|
44
43
|
export class InvalidAppError extends CliError {
|
|
45
44
|
appId;
|
|
46
45
|
constructor(appId, validIds) {
|
|
47
|
-
super(`Unknown app: "${appId}"`, `Valid app IDs: ${validIds.join(", ")}
|
|
46
|
+
super(`Unknown app: "${appId}"`, `Valid app IDs: ${validIds.join(", ")}`, "INVALID_APP");
|
|
48
47
|
this.name = "InvalidAppError";
|
|
49
48
|
this.appId = appId;
|
|
50
49
|
}
|
|
@@ -55,7 +54,7 @@ export class InvalidAppError extends CliError {
|
|
|
55
54
|
export class ServerNotFoundError extends CliError {
|
|
56
55
|
serverId;
|
|
57
56
|
constructor(serverId) {
|
|
58
|
-
super(`Server "${serverId}" not found in registry.`, `Run "getmcp list" to see available servers, or "getmcp find" to search interactively
|
|
57
|
+
super(`Server "${serverId}" not found in registry.`, `Run "getmcp list" to see available servers, or "getmcp find" to search interactively.`, "SERVER_NOT_FOUND");
|
|
59
58
|
this.name = "ServerNotFoundError";
|
|
60
59
|
this.serverId = serverId;
|
|
61
60
|
}
|
|
@@ -65,7 +64,7 @@ export class ServerNotFoundError extends CliError {
|
|
|
65
64
|
*/
|
|
66
65
|
export class NonInteractiveError extends CliError {
|
|
67
66
|
constructor(detail) {
|
|
68
|
-
super(`Cannot prompt for input in non-interactive mode: ${detail}`, `Provide the required values via flags. Run "getmcp --help" for usage
|
|
67
|
+
super(`Cannot prompt for input in non-interactive mode: ${detail}`, `Provide the required values via flags. Run "getmcp --help" for usage.`, "NON_INTERACTIVE");
|
|
69
68
|
this.name = "NonInteractiveError";
|
|
70
69
|
}
|
|
71
70
|
}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,WAAW,CAAS;IACpB,IAAI,CAAgB;IAE7B,YAAY,OAAe,EAAE,WAAmB,EAAE,IAAmB;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,GAAG,IAAI,CAAC,OAAO,eAAe,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IACnC,QAAQ,CAAS;IAE1B,YAAY,QAAgB,EAAE,KAAc;QAC1C,MAAM,GAAG,GAAG,KAAK;YACf,CAAC,CAAC,gCAAgC,QAAQ,KAAK,KAAK,GAAG;YACvD,CAAC,CAAC,gCAAgC,QAAQ,EAAE,CAAC;QAC/C,KAAK,CACH,GAAG,EACH,iGAAiG,EACjG,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C;QACE,KAAK,CACH,6CAA6C,EAC7C,oGAAoG,EACpG,kBAAkB,CACnB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAClC,KAAK,CAAS;IAEvB,YAAY,KAAa,EAAE,QAAkB;QAC3C,KAAK,CAAC,iBAAiB,KAAK,GAAG,EAAE,kBAAkB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QACzF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IACtC,QAAQ,CAAS;IAE1B,YAAY,QAAgB;QAC1B,KAAK,CACH,WAAW,QAAQ,0BAA0B,EAC7C,uFAAuF,EACvF,kBAAkB,CACnB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,MAAc;QACxB,KAAK,CACH,oDAAoD,MAAM,EAAE,EAC5D,uEAAuE,EACvE,iBAAiB,CAClB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC"}
|