@credibledata/cred-cli 0.0.105 → 0.0.106
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 +12 -4
- package/dist/agent-contract.spec.js +21 -6
- package/dist/agent-contract.spec.js.map +1 -1
- package/dist/client/api.js +454 -66
- package/dist/client/api.js.map +1 -1
- package/dist/client-codeassist/api.js.map +1 -1
- package/dist/commands/misc/mcp.boot.harness.js +14 -0
- package/dist/commands/misc/mcp.boot.harness.js.map +1 -0
- package/dist/commands/misc/mcp.harness.js +9 -0
- package/dist/commands/misc/mcp.harness.js.map +1 -0
- package/dist/commands/misc/mcp.js +258 -0
- package/dist/commands/misc/mcp.js.map +1 -0
- package/dist/commands/misc/mcp.spec.js +213 -0
- package/dist/commands/misc/mcp.spec.js.map +1 -0
- package/dist/commands/misc/setup.js +72 -3
- package/dist/commands/misc/setup.js.map +1 -1
- package/dist/commands/misc/setup.spec.js +51 -6
- package/dist/commands/misc/setup.spec.js.map +1 -1
- package/dist/commands/misc/status.js +7 -1
- package/dist/commands/misc/status.js.map +1 -1
- package/dist/commands/misc/status.spec.js +34 -0
- package/dist/commands/misc/status.spec.js.map +1 -1
- package/dist/index.js +52 -11
- package/dist/index.js.map +1 -1
- package/dist/setup-core/briefing.d.ts +68 -0
- package/dist/setup-core/briefing.js +20 -11
- package/dist/setup-core/briefing.js.map +1 -1
- package/dist/setup-core/credstore.d.ts +229 -0
- package/dist/setup-core/environments.d.ts +112 -0
- package/dist/setup-core/flow.d.ts +171 -0
- package/dist/setup-core/flow.js +54 -28
- package/dist/setup-core/flow.js.map +1 -1
- package/dist/setup-core/flow.spec.js +135 -54
- package/dist/setup-core/flow.spec.js.map +1 -1
- package/dist/setup-core/folderconfig.d.ts +184 -0
- package/dist/setup-core/folderconfig.js +82 -21
- package/dist/setup-core/folderconfig.js.map +1 -1
- package/dist/setup-core/git.d.ts +57 -0
- package/dist/setup-core/git.js +37 -0
- package/dist/setup-core/git.js.map +1 -1
- package/dist/setup-core/host.d.ts +121 -0
- package/dist/setup-core/importconnections.d.ts +171 -0
- package/dist/setup-core/liveness.d.ts +17 -0
- package/dist/setup-core/localpublisherconfig.d.ts +10 -0
- package/dist/setup-core/mcpconfig.d.ts +132 -0
- package/dist/setup-core/mcpconfig.js +41 -17
- package/dist/setup-core/mcpconfig.js.map +1 -1
- package/dist/setup-core/mcpconfig.spec.js +17 -6
- package/dist/setup-core/mcpconfig.spec.js.map +1 -1
- package/dist/setup-core/packagemanifest.d.ts +28 -0
- package/dist/setup-core/ports.d.ts +95 -0
- package/dist/setup-core/ports.js +6 -5
- package/dist/setup-core/ports.js.map +1 -1
- package/dist/setup-core/publisherconfig.d.ts +163 -0
- package/dist/setup-core/publisherversion.d.ts +22 -0
- package/dist/setup-core/publisherversion.js +1 -1
- package/dist/setup-core/readylines.d.ts +109 -0
- package/dist/setup-core/refresh.d.ts +80 -0
- package/dist/setup-core/skills.d.ts +114 -0
- package/dist/setup-core/skills.js +34 -11
- package/dist/setup-core/skills.js.map +1 -1
- package/dist/setup-core/skills.spec.js +20 -0
- package/dist/setup-core/skills.spec.js.map +1 -1
- package/dist/setup-core/staleservers.d.ts +27 -0
- package/dist/setup-core/staleservers.js +97 -0
- package/dist/setup-core/staleservers.js.map +1 -0
- package/dist/setup-core/staleservers.spec.js +63 -0
- package/dist/setup-core/staleservers.spec.js.map +1 -0
- package/dist/setup-core/supervisor.d.ts +187 -0
- package/dist/setup-core/supervisor.js +1 -0
- package/dist/setup-core/supervisor.js.map +1 -1
- package/dist/setup-core/writefile.d.ts +27 -0
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client-codeassist/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client-codeassist/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// Stands in for `cred mcp` waiting on a `cred dev` that never gets ready, for
|
|
4
|
+
// mcp.spec.ts's signal-during-boot case. Prints the child's pid on stderr.
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
6
|
+
const mcp_1 = require("./mcp");
|
|
7
|
+
const boot = (0, mcp_1.guardBoot)();
|
|
8
|
+
const child = (0, child_process_1.spawn)(process.execPath, ["-e", "setInterval(() => {}, 1000)"], {
|
|
9
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
10
|
+
});
|
|
11
|
+
boot.adopt(child);
|
|
12
|
+
process.stderr.write(`child ${child.pid}\n`);
|
|
13
|
+
void (0, mcp_1.waitForReady)(child);
|
|
14
|
+
//# sourceMappingURL=mcp.boot.harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.boot.harness.js","sourceRoot":"","sources":["../../../src/commands/misc/mcp.boot.harness.ts"],"names":[],"mappings":";;AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,iDAAsC;AACtC,+BAAgD;AAEhD,MAAM,IAAI,GAAG,IAAA,eAAS,GAAE,CAAC;AACzB,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,6BAA6B,CAAC,EAAE;IAC1E,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;CACnC,CAAC,CAAC;AACH,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAC7C,KAAK,IAAA,kBAAY,EAAC,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// Runs `bridge` alone for mcp.spec.ts: stdio on one side, the URL in argv on
|
|
4
|
+
// the other. The spec drives it with a real MCP client.
|
|
5
|
+
const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/client/streamableHttp.js");
|
|
6
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
7
|
+
const mcp_1 = require("./mcp");
|
|
8
|
+
void (0, mcp_1.bridge)(new stdio_js_1.StdioServerTransport(), new streamableHttp_js_1.StreamableHTTPClientTransport(new URL(process.argv[2]))).then(() => process.exit(0));
|
|
9
|
+
//# sourceMappingURL=mcp.harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.harness.js","sourceRoot":"","sources":["../../../src/commands/misc/mcp.harness.ts"],"names":[],"mappings":";;AAAA,6EAA6E;AAC7E,wDAAwD;AACxD,0FAAmG;AACnG,wEAAiF;AACjF,+BAA+B;AAE/B,KAAK,IAAA,YAAM,EACR,IAAI,+BAAoB,EAAE,EAC1B,IAAI,iDAA6B,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.McpStartError = void 0;
|
|
16
|
+
exports.resolveUpstream = resolveUpstream;
|
|
17
|
+
exports.startDevChild = startDevChild;
|
|
18
|
+
exports.waitForReady = waitForReady;
|
|
19
|
+
exports.guardBoot = guardBoot;
|
|
20
|
+
exports.bridge = bridge;
|
|
21
|
+
exports.mcp = mcp;
|
|
22
|
+
const child_process_1 = require("child_process");
|
|
23
|
+
const readline_1 = __importDefault(require("readline"));
|
|
24
|
+
const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/client/streamableHttp.js");
|
|
25
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
26
|
+
const logger_1 = require("../../logger");
|
|
27
|
+
const folderconfig_1 = require("../../setup-core/folderconfig");
|
|
28
|
+
const flow_1 = require("../../setup-core/flow");
|
|
29
|
+
const mcpconfig_1 = require("../../setup-core/mcpconfig");
|
|
30
|
+
const refresh_1 = require("../../setup-core/refresh");
|
|
31
|
+
const setup_1 = require("./setup");
|
|
32
|
+
class McpStartError extends Error {
|
|
33
|
+
}
|
|
34
|
+
exports.McpStartError = McpStartError;
|
|
35
|
+
/**
|
|
36
|
+
* Find this directory's running Publisher, or start one with `cred dev`.
|
|
37
|
+
*
|
|
38
|
+
* `startDev` is injectable so a spec can stand in for the real child.
|
|
39
|
+
*/
|
|
40
|
+
function resolveUpstream(cwd_1) {
|
|
41
|
+
return __awaiter(this, arguments, void 0, function* (cwd, startDev = startDevChild) {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
const found = (0, folderconfig_1.findFolderConfig)(cwd);
|
|
44
|
+
if (!found) {
|
|
45
|
+
throw new McpStartError("This directory is not set up for Credible, so there is no local Publisher to serve. Run `cred dev` here in a terminal, then reconnect this server (in Claude Code, /mcp).");
|
|
46
|
+
}
|
|
47
|
+
const ports = found.config.ports;
|
|
48
|
+
if (ports && (yield (0, flow_1.isOwnSessionRunning)(found.root, ports.uiPort))) {
|
|
49
|
+
return { mcpUrl: (0, mcpconfig_1.localPublisherUrl)(ports.mcpPort) };
|
|
50
|
+
}
|
|
51
|
+
// `cred dev` would start a login it cannot show: there is no terminal, and
|
|
52
|
+
// a sign-in URL in the MCP log is one nobody reads.
|
|
53
|
+
const { credStore, deployment } = (0, setup_1.resolveTarget)(found.root);
|
|
54
|
+
const refreshed = yield (0, refresh_1.ensureFreshTokens)(credStore);
|
|
55
|
+
if (refreshed.status === "logged-out" || !credStore.isTokenValid().valid) {
|
|
56
|
+
throw new McpStartError(`Not logged in to ${deployment}. Run \`cred login\` in a terminal, then reconnect this server (in Claude Code, /mcp).`);
|
|
57
|
+
}
|
|
58
|
+
// The pin may have come with a cloned repository, and the agent's trust
|
|
59
|
+
// prompt shows only `cred mcp`. Say what is about to be served, and as whom.
|
|
60
|
+
const pin = found.config;
|
|
61
|
+
logger_1.logger.info(`Starting a local Publisher for ${(_a = pin.organization) !== null && _a !== void 0 ? _a : "(no organization)"}/${(_b = pin.environment) !== null && _b !== void 0 ? _b : "(no environment)"} on ${deployment}, as pinned in ${found.root}/.credible/config.json.`);
|
|
62
|
+
return startDev(found.root);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Run `cred dev --no-open --yes` in `root` and resolve once it prints its
|
|
67
|
+
* ready line. Its stderr is passed through, so its errors reach the MCP log.
|
|
68
|
+
* `adopt` is handed the child as soon as it exists, so a stop during the boot
|
|
69
|
+
* can reach it.
|
|
70
|
+
*/
|
|
71
|
+
function startDevChild(root, adopt = () => undefined) {
|
|
72
|
+
var _a;
|
|
73
|
+
const child = (0, child_process_1.spawn)(process.execPath, [process.argv[1], "dev", "--no-open", "--yes"], {
|
|
74
|
+
cwd: root,
|
|
75
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
76
|
+
env: Object.assign(Object.assign({}, process.env), { CRED_NON_INTERACTIVE: "1" }),
|
|
77
|
+
});
|
|
78
|
+
adopt(child);
|
|
79
|
+
(_a = child.stderr) === null || _a === void 0 ? void 0 : _a.pipe(process.stderr);
|
|
80
|
+
return waitForReady(child);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Resolve on the child's ready line; reject if it exits first.
|
|
84
|
+
*
|
|
85
|
+
* Keyed on `running`, not `ready`: a Publisher whose only package failed to
|
|
86
|
+
* compile is the one the agent most needs, to fix the model over MCP.
|
|
87
|
+
*/
|
|
88
|
+
function waitForReady(child) {
|
|
89
|
+
return new Promise((resolve, reject) => {
|
|
90
|
+
const lines = readline_1.default.createInterface({ input: child.stdout });
|
|
91
|
+
const onExit = (code) => reject(new McpStartError(`\`cred dev\` exited${code === null ? "" : ` with code ${code}`} before the local Publisher was ready. Its output is above.`));
|
|
92
|
+
child.once("exit", onExit);
|
|
93
|
+
const exited = new Promise((settle) => child.once("exit", () => settle()));
|
|
94
|
+
let ready = false;
|
|
95
|
+
lines.on("line", (line) => {
|
|
96
|
+
var _a;
|
|
97
|
+
let mcpUrl;
|
|
98
|
+
try {
|
|
99
|
+
const parsed = JSON.parse(line);
|
|
100
|
+
mcpUrl = ((_a = parsed === null || parsed === void 0 ? void 0 : parsed.publisher) === null || _a === void 0 ? void 0 : _a.running)
|
|
101
|
+
? parsed.publisher.mcpUrl
|
|
102
|
+
: null;
|
|
103
|
+
}
|
|
104
|
+
catch (_b) {
|
|
105
|
+
mcpUrl = null;
|
|
106
|
+
}
|
|
107
|
+
// Everything else `cred dev` prints on stdout, the Publisher's
|
|
108
|
+
// compile and reload output included, goes to the MCP log: stdout
|
|
109
|
+
// here is the MCP channel.
|
|
110
|
+
if (ready || typeof mcpUrl !== "string") {
|
|
111
|
+
process.stderr.write(`${line}\n`);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
ready = true;
|
|
115
|
+
child.off("exit", onExit);
|
|
116
|
+
resolve({ mcpUrl, stop: () => stopChild(child), exited });
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
const STOP_SIGNALS = ["SIGTERM", "SIGINT", "SIGHUP"];
|
|
121
|
+
/**
|
|
122
|
+
* Stop a Publisher `cred mcp` is still waiting on when a signal ends it.
|
|
123
|
+
*
|
|
124
|
+
* A client that gives up during the boot (Claude Code at `MCP_TIMEOUT`, or on
|
|
125
|
+
* exit) ends `cred mcp` with a signal. Dying on the default action would leave
|
|
126
|
+
* the `cred dev` it started running with no parent, holding its ports and
|
|
127
|
+
* token file. `bridge` takes over the signals once the Publisher is ready.
|
|
128
|
+
*/
|
|
129
|
+
function guardBoot() {
|
|
130
|
+
let child;
|
|
131
|
+
let stopping = false;
|
|
132
|
+
const onSignal = () => {
|
|
133
|
+
if (stopping)
|
|
134
|
+
return;
|
|
135
|
+
stopping = true;
|
|
136
|
+
void (child ? stopChild(child) : Promise.resolve()).then(() => process.exit(0));
|
|
137
|
+
};
|
|
138
|
+
for (const signal of STOP_SIGNALS)
|
|
139
|
+
process.on(signal, onSignal);
|
|
140
|
+
return {
|
|
141
|
+
adopt: (started) => {
|
|
142
|
+
child = started;
|
|
143
|
+
},
|
|
144
|
+
release: () => {
|
|
145
|
+
for (const signal of STOP_SIGNALS)
|
|
146
|
+
process.off(signal, onSignal);
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/** SIGINT first, so the supervisor removes the session's token file. */
|
|
151
|
+
function stopChild(child) {
|
|
152
|
+
if (child.exitCode !== null || child.signalCode !== null) {
|
|
153
|
+
return Promise.resolve();
|
|
154
|
+
}
|
|
155
|
+
return new Promise((resolve) => {
|
|
156
|
+
const force = setTimeout(() => child.kill("SIGKILL"), 10000);
|
|
157
|
+
child.once("exit", () => {
|
|
158
|
+
clearTimeout(force);
|
|
159
|
+
resolve();
|
|
160
|
+
});
|
|
161
|
+
child.kill("SIGINT");
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
/** The JSON-RPC id of a request, or undefined for a notification or response. */
|
|
165
|
+
function requestId(message) {
|
|
166
|
+
return "method" in message && "id" in message ? message.id : undefined;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Forward messages both ways until either side closes. A request the
|
|
170
|
+
* Publisher could not take gets an error response, so the agent is not left
|
|
171
|
+
* waiting on an answer that will never come.
|
|
172
|
+
*/
|
|
173
|
+
function bridge(downstream, upstream) {
|
|
174
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
yield new Promise((resolve) => {
|
|
176
|
+
let closed = false;
|
|
177
|
+
const signals = STOP_SIGNALS;
|
|
178
|
+
const close = () => {
|
|
179
|
+
if (closed)
|
|
180
|
+
return;
|
|
181
|
+
closed = true;
|
|
182
|
+
for (const signal of signals)
|
|
183
|
+
process.off(signal, close);
|
|
184
|
+
void Promise.allSettled([downstream.close(), upstream.close()]).then(() => resolve());
|
|
185
|
+
};
|
|
186
|
+
downstream.onmessage = (message) => {
|
|
187
|
+
upstream.send(message).catch((error) => {
|
|
188
|
+
const text = error instanceof Error ? error.message : String(error);
|
|
189
|
+
logger_1.logger.error(`The local Publisher did not take a message: ${text}`);
|
|
190
|
+
const id = requestId(message);
|
|
191
|
+
if (id !== undefined) {
|
|
192
|
+
void downstream.send({
|
|
193
|
+
jsonrpc: "2.0",
|
|
194
|
+
id,
|
|
195
|
+
error: {
|
|
196
|
+
code: -32603,
|
|
197
|
+
// Another session's `cred mcp` may have started it and
|
|
198
|
+
// stopped it on close. A new `cred mcp` starts one.
|
|
199
|
+
message: `The local Publisher did not answer: ${text}. If it has stopped, reconnect this server (in Claude Code, /mcp) to start it again.`,
|
|
200
|
+
},
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
};
|
|
205
|
+
upstream.onmessage = (message) => {
|
|
206
|
+
void downstream.send(message);
|
|
207
|
+
};
|
|
208
|
+
upstream.onerror = (error) => logger_1.logger.error(`Local Publisher connection: ${error.message}`);
|
|
209
|
+
downstream.onclose = close;
|
|
210
|
+
upstream.onclose = close;
|
|
211
|
+
// The stdio transport reads stdin but does not close when it ends,
|
|
212
|
+
// which is how the agent says the session is over.
|
|
213
|
+
process.stdin.once("end", close);
|
|
214
|
+
// A client may end the server with a signal instead, as Claude Code
|
|
215
|
+
// does on exit. Dying on it would leave the Publisher cred mcp started
|
|
216
|
+
// running, holding its ports, with no parent.
|
|
217
|
+
for (const signal of signals)
|
|
218
|
+
process.once(signal, close);
|
|
219
|
+
void upstream.start().then(() => downstream.start());
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
function mcp() {
|
|
224
|
+
return __awaiter(this, arguments, void 0, function* (cwd = process.cwd()) {
|
|
225
|
+
var _a;
|
|
226
|
+
let upstream;
|
|
227
|
+
const boot = guardBoot();
|
|
228
|
+
try {
|
|
229
|
+
upstream = yield resolveUpstream(cwd, (root) => startDevChild(root, boot.adopt));
|
|
230
|
+
}
|
|
231
|
+
catch (error) {
|
|
232
|
+
logger_1.logger.error(error instanceof Error ? error.message : String(error));
|
|
233
|
+
process.exit(1);
|
|
234
|
+
}
|
|
235
|
+
finally {
|
|
236
|
+
boot.release();
|
|
237
|
+
}
|
|
238
|
+
logger_1.logger.info(`Serving the local Publisher at ${upstream.mcpUrl} over stdio.`);
|
|
239
|
+
try {
|
|
240
|
+
const bridged = bridge(new stdio_js_1.StdioServerTransport(), new streamableHttp_js_1.StreamableHTTPClientTransport(new URL(upstream.mcpUrl)));
|
|
241
|
+
// A Publisher that dies mid-session would leave the agent showing a
|
|
242
|
+
// connected server whose every call fails. Exiting marks it failed.
|
|
243
|
+
const died = upstream.exited
|
|
244
|
+
? upstream.exited.then(() => "died")
|
|
245
|
+
: new Promise(() => undefined);
|
|
246
|
+
if ((yield Promise.race([bridged, died])) === "died") {
|
|
247
|
+
logger_1.logger.error("The local Publisher cred mcp started has exited. Reconnect this server (in Claude Code, /mcp) to start it again.");
|
|
248
|
+
process.exit(1);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
finally {
|
|
252
|
+
yield ((_a = upstream.stop) === null || _a === void 0 ? void 0 : _a.call(upstream));
|
|
253
|
+
}
|
|
254
|
+
// After a signal stdin is still open, and would keep Node running.
|
|
255
|
+
process.exit(0);
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/commands/misc/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const chai_1 = require("chai");
|
|
16
|
+
const child_process_1 = require("child_process");
|
|
17
|
+
const fs_1 = __importDefault(require("fs"));
|
|
18
|
+
const http_1 = __importDefault(require("http"));
|
|
19
|
+
const os_1 = __importDefault(require("os"));
|
|
20
|
+
const path_1 = __importDefault(require("path"));
|
|
21
|
+
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
22
|
+
const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
|
|
23
|
+
const index_js_1 = require("@modelcontextprotocol/sdk/client/index.js");
|
|
24
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/client/stdio.js");
|
|
25
|
+
const mcp_1 = require("./mcp");
|
|
26
|
+
describe("cred mcp", () => {
|
|
27
|
+
let workDir;
|
|
28
|
+
beforeEach(() => {
|
|
29
|
+
workDir = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), "cred-mcp-"));
|
|
30
|
+
});
|
|
31
|
+
afterEach(() => fs_1.default.rmSync(workDir, { recursive: true, force: true }));
|
|
32
|
+
describe("resolveUpstream", () => {
|
|
33
|
+
it("refuses outside a set-up directory, naming cred dev", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
+
const error = yield (0, mcp_1.resolveUpstream)(workDir, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
|
+
throw new Error("must not start a publisher");
|
|
36
|
+
})).catch((e) => e);
|
|
37
|
+
(0, chai_1.expect)(error).to.be.instanceOf(mcp_1.McpStartError);
|
|
38
|
+
(0, chai_1.expect)(error.message).to.contain("Run `cred dev` here");
|
|
39
|
+
}));
|
|
40
|
+
});
|
|
41
|
+
describe("waitForReady", () => {
|
|
42
|
+
const fakeDev = (script) => (0, child_process_1.spawn)(process.execPath, ["-e", script], {
|
|
43
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
44
|
+
});
|
|
45
|
+
it("resolves with the URL from cred dev's ready line, skipping other output", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
+
const child = fakeDev(`console.log("not json"); console.log(JSON.stringify({publisher:{running:true,ready:true,mcpUrl:"http://127.0.0.1:4555/mcp"}})); setInterval(()=>{},1000);`);
|
|
47
|
+
const upstream = yield (0, mcp_1.waitForReady)(child);
|
|
48
|
+
(0, chai_1.expect)(upstream.mcpUrl).to.equal("http://127.0.0.1:4555/mcp");
|
|
49
|
+
yield upstream.stop();
|
|
50
|
+
(0, chai_1.expect)(child.exitCode !== null || child.signalCode !== null).to.equal(true);
|
|
51
|
+
}));
|
|
52
|
+
// A degraded boot is the session the agent needs to fix the model.
|
|
53
|
+
it("resolves on a degraded ready line, running but not ready", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
54
|
+
const child = fakeDev(`console.log(JSON.stringify({publisher:{running:true,ready:false,mcpUrl:"http://127.0.0.1:4556/mcp"}})); setInterval(()=>{},1000);`);
|
|
55
|
+
const upstream = yield (0, mcp_1.waitForReady)(child);
|
|
56
|
+
(0, chai_1.expect)(upstream.mcpUrl).to.equal("http://127.0.0.1:4556/mcp");
|
|
57
|
+
yield upstream.stop();
|
|
58
|
+
}));
|
|
59
|
+
// After the ready line, stdout still carries the Publisher's compile
|
|
60
|
+
// output, which must reach the MCP log; and cred mcp must learn when
|
|
61
|
+
// the child dies.
|
|
62
|
+
it("passes later stdout to stderr and settles exited when the child dies", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
+
const child = fakeDev(`console.log("compiling"); console.log(JSON.stringify({publisher:{running:true,ready:true,mcpUrl:"http://127.0.0.1:4557/mcp"}})); console.log("reload failed"); setTimeout(()=>process.exit(3),200);`);
|
|
64
|
+
const written = [];
|
|
65
|
+
const write = process.stderr.write.bind(process.stderr);
|
|
66
|
+
process.stderr.write = ((chunk) => {
|
|
67
|
+
written.push(String(chunk));
|
|
68
|
+
return true;
|
|
69
|
+
});
|
|
70
|
+
try {
|
|
71
|
+
const upstream = yield (0, mcp_1.waitForReady)(child);
|
|
72
|
+
yield upstream.exited;
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
process.stderr.write = write;
|
|
76
|
+
}
|
|
77
|
+
(0, chai_1.expect)(written).to.include("compiling\n");
|
|
78
|
+
(0, chai_1.expect)(written).to.include("reload failed\n");
|
|
79
|
+
}));
|
|
80
|
+
it("rejects with the exit code when cred dev exits before it is ready", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
81
|
+
const error = yield (0, mcp_1.waitForReady)(fakeDev("process.exit(2)")).catch((e) => e);
|
|
82
|
+
(0, chai_1.expect)(error).to.be.instanceOf(mcp_1.McpStartError);
|
|
83
|
+
(0, chai_1.expect)(error.message).to.contain("exited with code 2");
|
|
84
|
+
}));
|
|
85
|
+
});
|
|
86
|
+
describe("a signal while the Publisher boots", () => {
|
|
87
|
+
it("stops the cred dev it started, and exits 0", function () {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
this.timeout(30000);
|
|
90
|
+
const harness = (0, child_process_1.spawn)(process.execPath, [
|
|
91
|
+
"-r",
|
|
92
|
+
"ts-node/register",
|
|
93
|
+
path_1.default.join(__dirname, "mcp.boot.harness.ts"),
|
|
94
|
+
], { stdio: ["ignore", "ignore", "pipe"] });
|
|
95
|
+
// The harness names its stand-in cred dev, which never gets ready.
|
|
96
|
+
const childPid = yield new Promise((resolve) => {
|
|
97
|
+
let text = "";
|
|
98
|
+
harness.stderr.on("data", (chunk) => {
|
|
99
|
+
text += chunk.toString();
|
|
100
|
+
const match = /child (\d+)/.exec(text);
|
|
101
|
+
if (match)
|
|
102
|
+
resolve(Number(match[1]));
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
const exited = new Promise((resolve) => harness.once("exit", (code, signal) => resolve([code, signal])));
|
|
106
|
+
harness.kill("SIGTERM");
|
|
107
|
+
(0, chai_1.expect)(yield exited).to.deep.equal([0, null]);
|
|
108
|
+
(0, chai_1.expect)(() => process.kill(childPid, 0), "cred dev left running").to.throw();
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
// The real oracle: an MCP client over stdio, through the real `cred mcp`
|
|
113
|
+
// process, to a real Streamable HTTP MCP server standing in for the
|
|
114
|
+
// Publisher. Nothing here re-implements the protocol.
|
|
115
|
+
describe("forwarding, end to end", () => {
|
|
116
|
+
let server;
|
|
117
|
+
let mcpPort;
|
|
118
|
+
beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
119
|
+
server = http_1.default.createServer((request, response) => __awaiter(void 0, void 0, void 0, function* () {
|
|
120
|
+
const mcp = new mcp_js_1.McpServer({ name: "fake-publisher", version: "1" });
|
|
121
|
+
mcp.registerTool("compile_model", { description: "fake" }, () => __awaiter(void 0, void 0, void 0, function* () { return ({ content: [{ type: "text", text: "compiled" }] }); }));
|
|
122
|
+
const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
|
|
123
|
+
sessionIdGenerator: undefined,
|
|
124
|
+
});
|
|
125
|
+
yield mcp.connect(transport);
|
|
126
|
+
yield transport.handleRequest(request, response);
|
|
127
|
+
}));
|
|
128
|
+
yield new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
|
|
129
|
+
mcpPort = server.address().port;
|
|
130
|
+
}));
|
|
131
|
+
afterEach(() => server.close());
|
|
132
|
+
it("lists and calls the Publisher's tools through stdio, and exits when stdin closes", function () {
|
|
133
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
134
|
+
this.timeout(30000);
|
|
135
|
+
const client = new index_js_1.Client({ name: "test", version: "1" });
|
|
136
|
+
const transport = new stdio_js_1.StdioClientTransport({
|
|
137
|
+
command: process.execPath,
|
|
138
|
+
args: [
|
|
139
|
+
"-r",
|
|
140
|
+
"ts-node/register",
|
|
141
|
+
path_1.default.join(__dirname, "mcp.harness.ts"),
|
|
142
|
+
`http://127.0.0.1:${mcpPort}/mcp`,
|
|
143
|
+
],
|
|
144
|
+
stderr: "inherit",
|
|
145
|
+
});
|
|
146
|
+
yield client.connect(transport);
|
|
147
|
+
const tools = yield client.listTools();
|
|
148
|
+
(0, chai_1.expect)(tools.tools.map((tool) => tool.name)).to.deep.equal([
|
|
149
|
+
"compile_model",
|
|
150
|
+
]);
|
|
151
|
+
const result = yield client.callTool({
|
|
152
|
+
name: "compile_model",
|
|
153
|
+
arguments: {},
|
|
154
|
+
});
|
|
155
|
+
(0, chai_1.expect)(result.content).to.deep.equal([
|
|
156
|
+
{ type: "text", text: "compiled" },
|
|
157
|
+
]);
|
|
158
|
+
const pid = transport.pid;
|
|
159
|
+
yield client.close();
|
|
160
|
+
yield new Promise((resolve) => setTimeout(resolve, 1000));
|
|
161
|
+
(0, chai_1.expect)(() => process.kill(pid, 0), "bridge still running").to.throw();
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
it("returns on SIGTERM with stdin still open, so cred mcp can stop the Publisher it started", function () {
|
|
165
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
166
|
+
this.timeout(30000);
|
|
167
|
+
const harness = (0, child_process_1.spawn)(process.execPath, [
|
|
168
|
+
"-r",
|
|
169
|
+
"ts-node/register",
|
|
170
|
+
path_1.default.join(__dirname, "mcp.harness.ts"),
|
|
171
|
+
`http://127.0.0.1:${mcpPort}/mcp`,
|
|
172
|
+
], { stdio: ["pipe", "pipe", "inherit"] });
|
|
173
|
+
const answered = new Promise((resolve) => harness.stdout.once("data", resolve));
|
|
174
|
+
harness.stdin.write(JSON.stringify({
|
|
175
|
+
jsonrpc: "2.0",
|
|
176
|
+
id: 1,
|
|
177
|
+
method: "initialize",
|
|
178
|
+
params: {
|
|
179
|
+
protocolVersion: "2025-06-18",
|
|
180
|
+
capabilities: {},
|
|
181
|
+
clientInfo: { name: "test", version: "1" },
|
|
182
|
+
},
|
|
183
|
+
}) + "\n");
|
|
184
|
+
yield answered;
|
|
185
|
+
const exited = new Promise((resolve) => harness.once("exit", (code, signal) => resolve([code, signal])));
|
|
186
|
+
harness.kill("SIGTERM");
|
|
187
|
+
// The harness exits 0 only when bridge returns; dying on the signal
|
|
188
|
+
// reports it as [null, "SIGTERM"].
|
|
189
|
+
(0, chai_1.expect)(yield exited).to.deep.equal([0, null]);
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
it("answers a request with an error when the Publisher is gone", function () {
|
|
193
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
194
|
+
this.timeout(30000);
|
|
195
|
+
const client = new index_js_1.Client({ name: "test", version: "1" });
|
|
196
|
+
const transport = new stdio_js_1.StdioClientTransport({
|
|
197
|
+
command: process.execPath,
|
|
198
|
+
args: [
|
|
199
|
+
"-r",
|
|
200
|
+
"ts-node/register",
|
|
201
|
+
path_1.default.join(__dirname, "mcp.harness.ts"),
|
|
202
|
+
"http://127.0.0.1:59875/mcp",
|
|
203
|
+
],
|
|
204
|
+
stderr: "ignore",
|
|
205
|
+
});
|
|
206
|
+
const error = yield client.connect(transport).catch((e) => e);
|
|
207
|
+
(0, chai_1.expect)(String(error)).to.contain("The local Publisher did not answer");
|
|
208
|
+
yield client.close();
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
//# sourceMappingURL=mcp.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.spec.js","sourceRoot":"","sources":["../../../src/commands/misc/mcp.spec.ts"],"names":[],"mappings":"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"}
|