@agentrq/acp-gateway 0.2.3 → 0.2.5
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 +96 -1
- package/dist/__tests__/acpClient.test.js +220 -106
- package/dist/__tests__/acpClient.test.js.map +1 -1
- package/dist/__tests__/agentInfo.test.js +79 -0
- package/dist/__tests__/agentInfo.test.js.map +1 -0
- package/dist/__tests__/agentInstall.test.js +342 -0
- package/dist/__tests__/agentInstall.test.js.map +1 -0
- package/dist/__tests__/auth.test.js +283 -0
- package/dist/__tests__/auth.test.js.map +1 -0
- package/dist/__tests__/config.test.js +45 -0
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/index.test.js +544 -12
- package/dist/__tests__/index.test.js.map +1 -1
- package/dist/__tests__/mcpClient.test.js +12 -0
- package/dist/__tests__/mcpClient.test.js.map +1 -1
- package/dist/__tests__/registry.test.js +175 -0
- package/dist/__tests__/registry.test.js.map +1 -0
- package/dist/acpClient.js +215 -59
- package/dist/acpClient.js.map +1 -1
- package/dist/agentInfo.js +69 -0
- package/dist/agentInfo.js.map +1 -0
- package/dist/agentInstall.js +241 -0
- package/dist/agentInstall.js.map +1 -0
- package/dist/auth.js +189 -0
- package/dist/auth.js.map +1 -0
- package/dist/config.js +50 -16
- package/dist/config.js.map +1 -1
- package/dist/index.js +508 -46
- package/dist/index.js.map +1 -1
- package/dist/mcpClient.js +12 -1
- package/dist/mcpClient.js.map +1 -1
- package/dist/registry.js +118 -0
- package/dist/registry.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentInstall.test.js","sourceRoot":"","sources":["../../src/__tests__/agentInstall.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
2
|
+
import { EventEmitter } from "node:events";
|
|
3
|
+
import { spawn } from "node:child_process";
|
|
4
|
+
import { createInterface } from "node:readline/promises";
|
|
5
|
+
import { AUTH_REQUIRED_CODE, authMethodType, describeAuthMethods, isAuthRequiredError, login, logout, pickAuthMethod, promptForAuthMethod, runAuthMethod, runTerminalAuth, supportsLogout, } from "../auth.js";
|
|
6
|
+
vi.mock("node:child_process", () => ({ spawn: vi.fn() }));
|
|
7
|
+
vi.mock("node:readline/promises", () => ({ createInterface: vi.fn() }));
|
|
8
|
+
const spawnMock = vi.mocked(spawn);
|
|
9
|
+
const createInterfaceMock = vi.mocked(createInterface);
|
|
10
|
+
const agentMethod = {
|
|
11
|
+
id: "agent-login",
|
|
12
|
+
name: "Agent login",
|
|
13
|
+
description: "Sign in through the agent",
|
|
14
|
+
};
|
|
15
|
+
const terminalMethod = {
|
|
16
|
+
type: "terminal",
|
|
17
|
+
id: "cli-login",
|
|
18
|
+
name: "CLI login",
|
|
19
|
+
args: ["auth", "login"],
|
|
20
|
+
env: { AUTH_MODE: "interactive" },
|
|
21
|
+
};
|
|
22
|
+
const launch = { command: "gemini", args: ["--acp"], env: { FROM_CONFIG: "1" } };
|
|
23
|
+
/** An `auth_required` refusal as the SDK surfaces it to the caller. */
|
|
24
|
+
function authRequiredError() {
|
|
25
|
+
return Object.assign(new Error("Authentication required: run login first"), {
|
|
26
|
+
code: AUTH_REQUIRED_CODE,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
describe("auth", () => {
|
|
30
|
+
let errorSpy;
|
|
31
|
+
let logSpy;
|
|
32
|
+
beforeEach(() => {
|
|
33
|
+
vi.clearAllMocks();
|
|
34
|
+
errorSpy = vi.spyOn(console, "error").mockImplementation(() => { });
|
|
35
|
+
logSpy = vi.spyOn(console, "log").mockImplementation(() => { });
|
|
36
|
+
});
|
|
37
|
+
afterEach(() => {
|
|
38
|
+
errorSpy.mockRestore();
|
|
39
|
+
logSpy.mockRestore();
|
|
40
|
+
});
|
|
41
|
+
describe("authMethodType", () => {
|
|
42
|
+
it("treats a missing type as the agent-driven default", () => {
|
|
43
|
+
expect(authMethodType(agentMethod)).toBe("agent");
|
|
44
|
+
expect(authMethodType({ ...agentMethod, type: "agent" })).toBe("agent");
|
|
45
|
+
});
|
|
46
|
+
it("recognises terminal methods", () => {
|
|
47
|
+
expect(authMethodType(terminalMethod)).toBe("terminal");
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe("describeAuthMethods", () => {
|
|
51
|
+
it("says so when the agent needs no login", () => {
|
|
52
|
+
expect(describeAuthMethods([])).toMatch(/no authentication methods/);
|
|
53
|
+
expect(describeAuthMethods(undefined)).toMatch(/no authentication methods/);
|
|
54
|
+
expect(describeAuthMethods(null)).toMatch(/no authentication methods/);
|
|
55
|
+
});
|
|
56
|
+
it("numbers the methods and marks terminal ones", () => {
|
|
57
|
+
const text = describeAuthMethods([agentMethod, terminalMethod]);
|
|
58
|
+
expect(text).toContain("1. Agent login (agent-login) — Sign in through the agent");
|
|
59
|
+
expect(text).toContain("2. CLI login (cli-login) [terminal login]");
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
describe("isAuthRequiredError", () => {
|
|
63
|
+
it("recognises the protocol's auth_required refusal", () => {
|
|
64
|
+
expect(isAuthRequiredError(authRequiredError())).toBe(true);
|
|
65
|
+
});
|
|
66
|
+
it("reads the error out of a nested JSON-RPC envelope", () => {
|
|
67
|
+
expect(isAuthRequiredError({
|
|
68
|
+
error: { code: AUTH_REQUIRED_CODE, message: "auth_required" },
|
|
69
|
+
})).toBe(true);
|
|
70
|
+
});
|
|
71
|
+
it("reads the top level when `error` is not an envelope", () => {
|
|
72
|
+
expect(isAuthRequiredError({
|
|
73
|
+
error: "auth_required",
|
|
74
|
+
code: AUTH_REQUIRED_CODE,
|
|
75
|
+
message: "Authentication required",
|
|
76
|
+
})).toBe(true);
|
|
77
|
+
});
|
|
78
|
+
it("ignores other failures that share the -32000 code", () => {
|
|
79
|
+
expect(isAuthRequiredError(Object.assign(new Error("permission failed"), { code: AUTH_REQUIRED_CODE }))).toBe(false);
|
|
80
|
+
});
|
|
81
|
+
it("ignores errors with a different code or no shape at all", () => {
|
|
82
|
+
expect(isAuthRequiredError(Object.assign(new Error("Authentication required"), { code: -32603 }))).toBe(false);
|
|
83
|
+
expect(isAuthRequiredError({ code: AUTH_REQUIRED_CODE })).toBe(false);
|
|
84
|
+
expect(isAuthRequiredError(new Error("Authentication required"))).toBe(false);
|
|
85
|
+
expect(isAuthRequiredError("nope")).toBe(false);
|
|
86
|
+
expect(isAuthRequiredError(null)).toBe(false);
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
describe("pickAuthMethod", () => {
|
|
90
|
+
it("returns nothing when the agent advertises no methods", () => {
|
|
91
|
+
expect(pickAuthMethod([])).toBeUndefined();
|
|
92
|
+
expect(pickAuthMethod(undefined)).toBeUndefined();
|
|
93
|
+
});
|
|
94
|
+
it("honours an explicitly named method, terminal included", () => {
|
|
95
|
+
expect(pickAuthMethod([agentMethod, terminalMethod], { preferredId: "cli-login" })).toBe(terminalMethod);
|
|
96
|
+
});
|
|
97
|
+
it("returns nothing when the named method is not advertised", () => {
|
|
98
|
+
expect(pickAuthMethod([agentMethod], { preferredId: "missing" })).toBeUndefined();
|
|
99
|
+
});
|
|
100
|
+
it("prefers agent-driven methods, which need no human", () => {
|
|
101
|
+
expect(pickAuthMethod([terminalMethod, agentMethod])).toBe(agentMethod);
|
|
102
|
+
});
|
|
103
|
+
it("falls back to a terminal method only when a terminal is available", () => {
|
|
104
|
+
expect(pickAuthMethod([terminalMethod])).toBeUndefined();
|
|
105
|
+
expect(pickAuthMethod([terminalMethod], { allowTerminal: true })).toBe(terminalMethod);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
describe("promptForAuthMethod", () => {
|
|
109
|
+
it("returns nothing when there is nothing to choose from", async () => {
|
|
110
|
+
expect(await promptForAuthMethod([], vi.fn())).toBeUndefined();
|
|
111
|
+
});
|
|
112
|
+
it("does not ask when the agent offers a single method", async () => {
|
|
113
|
+
const ask = vi.fn();
|
|
114
|
+
expect(await promptForAuthMethod([agentMethod], ask)).toBe(agentMethod);
|
|
115
|
+
expect(ask).not.toHaveBeenCalled();
|
|
116
|
+
});
|
|
117
|
+
it("takes the first method when the user just hits enter", async () => {
|
|
118
|
+
const ask = vi.fn().mockResolvedValue(" ");
|
|
119
|
+
expect(await promptForAuthMethod([agentMethod, terminalMethod], ask)).toBe(agentMethod);
|
|
120
|
+
});
|
|
121
|
+
it("accepts a selection by number", async () => {
|
|
122
|
+
const ask = vi.fn().mockResolvedValue("2");
|
|
123
|
+
expect(await promptForAuthMethod([agentMethod, terminalMethod], ask)).toBe(terminalMethod);
|
|
124
|
+
});
|
|
125
|
+
it("accepts a selection by method id", async () => {
|
|
126
|
+
const ask = vi.fn().mockResolvedValue("cli-login");
|
|
127
|
+
expect(await promptForAuthMethod([agentMethod, terminalMethod], ask)).toBe(terminalMethod);
|
|
128
|
+
});
|
|
129
|
+
it("re-asks after an answer that matches nothing", async () => {
|
|
130
|
+
const ask = vi.fn().mockResolvedValueOnce("99").mockResolvedValueOnce("1");
|
|
131
|
+
expect(await promptForAuthMethod([agentMethod, terminalMethod], ask)).toBe(agentMethod);
|
|
132
|
+
expect(ask).toHaveBeenCalledTimes(2);
|
|
133
|
+
expect(errorSpy).toHaveBeenCalledWith('[auth] "99" is not one of the listed methods.');
|
|
134
|
+
});
|
|
135
|
+
it("gives up after three unusable answers", async () => {
|
|
136
|
+
const ask = vi.fn().mockResolvedValue("nonsense");
|
|
137
|
+
expect(await promptForAuthMethod([agentMethod, terminalMethod], ask)).toBeUndefined();
|
|
138
|
+
expect(ask).toHaveBeenCalledTimes(3);
|
|
139
|
+
});
|
|
140
|
+
it("asks on the terminal when no asker is supplied", async () => {
|
|
141
|
+
const close = vi.fn();
|
|
142
|
+
createInterfaceMock.mockReturnValue({
|
|
143
|
+
question: vi.fn().mockResolvedValue("2"),
|
|
144
|
+
close,
|
|
145
|
+
});
|
|
146
|
+
expect(await promptForAuthMethod([agentMethod, terminalMethod])).toBe(terminalMethod);
|
|
147
|
+
expect(createInterfaceMock).toHaveBeenCalledWith({
|
|
148
|
+
input: process.stdin,
|
|
149
|
+
output: process.stderr,
|
|
150
|
+
});
|
|
151
|
+
expect(close).toHaveBeenCalled();
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
describe("runTerminalAuth", () => {
|
|
155
|
+
it("re-runs the agent invocation with the method's args and env", async () => {
|
|
156
|
+
const child = new EventEmitter();
|
|
157
|
+
spawnMock.mockReturnValue(child);
|
|
158
|
+
const pending = runTerminalAuth(terminalMethod, launch);
|
|
159
|
+
child.emit("exit", 0, null);
|
|
160
|
+
await expect(pending).resolves.toBeUndefined();
|
|
161
|
+
expect(spawnMock).toHaveBeenCalledWith("gemini", ["--acp", "auth", "login"], expect.objectContaining({
|
|
162
|
+
stdio: "inherit",
|
|
163
|
+
env: expect.objectContaining({ FROM_CONFIG: "1", AUTH_MODE: "interactive" }),
|
|
164
|
+
}));
|
|
165
|
+
});
|
|
166
|
+
it("passes no extra args or env when the method declares none", async () => {
|
|
167
|
+
const child = new EventEmitter();
|
|
168
|
+
spawnMock.mockReturnValue(child);
|
|
169
|
+
const pending = runTerminalAuth({ ...agentMethod, type: "terminal" }, {
|
|
170
|
+
command: "gemini",
|
|
171
|
+
args: ["--acp"],
|
|
172
|
+
});
|
|
173
|
+
child.emit("exit", 0, null);
|
|
174
|
+
await pending;
|
|
175
|
+
expect(spawnMock).toHaveBeenCalledWith("gemini", ["--acp"], expect.anything());
|
|
176
|
+
});
|
|
177
|
+
it("fails when the login process exits non-zero", async () => {
|
|
178
|
+
const child = new EventEmitter();
|
|
179
|
+
spawnMock.mockReturnValue(child);
|
|
180
|
+
const pending = runTerminalAuth(terminalMethod, launch);
|
|
181
|
+
child.emit("exit", 1, null);
|
|
182
|
+
await expect(pending).rejects.toThrow(/Terminal login "cli-login" failed \(code=1/);
|
|
183
|
+
});
|
|
184
|
+
it("fails when the login process cannot start", async () => {
|
|
185
|
+
const child = new EventEmitter();
|
|
186
|
+
spawnMock.mockReturnValue(child);
|
|
187
|
+
const pending = runTerminalAuth(terminalMethod, launch);
|
|
188
|
+
child.emit("error", new Error("ENOENT"));
|
|
189
|
+
await expect(pending).rejects.toThrow(/failed to start: ENOENT/);
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
describe("runAuthMethod", () => {
|
|
193
|
+
it("asks the agent to authenticate for agent-driven methods", async () => {
|
|
194
|
+
const connection = { authenticate: vi.fn().mockResolvedValue({}), logout: vi.fn() };
|
|
195
|
+
await runAuthMethod(connection, agentMethod, launch);
|
|
196
|
+
expect(connection.authenticate).toHaveBeenCalledWith({ methodId: "agent-login" });
|
|
197
|
+
});
|
|
198
|
+
it("never sends a terminal method to authenticate", async () => {
|
|
199
|
+
const child = new EventEmitter();
|
|
200
|
+
spawnMock.mockReturnValue(child);
|
|
201
|
+
const connection = { authenticate: vi.fn(), logout: vi.fn() };
|
|
202
|
+
const pending = runAuthMethod(connection, terminalMethod, launch);
|
|
203
|
+
child.emit("exit", 0, null);
|
|
204
|
+
await pending;
|
|
205
|
+
expect(connection.authenticate).not.toHaveBeenCalled();
|
|
206
|
+
expect(spawnMock).toHaveBeenCalled();
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
describe("login", () => {
|
|
210
|
+
const connection = () => ({ authenticate: vi.fn().mockResolvedValue({}), logout: vi.fn() });
|
|
211
|
+
it("does nothing when the agent advertises no login", async () => {
|
|
212
|
+
const conn = connection();
|
|
213
|
+
expect(await login({ connection: conn, methods: [], launch })).toBeUndefined();
|
|
214
|
+
expect(conn.authenticate).not.toHaveBeenCalled();
|
|
215
|
+
});
|
|
216
|
+
it("logs in with the method the user named", async () => {
|
|
217
|
+
const conn = connection();
|
|
218
|
+
const used = await login({
|
|
219
|
+
connection: conn,
|
|
220
|
+
methods: [agentMethod, { ...agentMethod, id: "other", name: "Other" }],
|
|
221
|
+
launch,
|
|
222
|
+
preferredId: "other",
|
|
223
|
+
});
|
|
224
|
+
expect(used?.id).toBe("other");
|
|
225
|
+
expect(conn.authenticate).toHaveBeenCalledWith({ methodId: "other" });
|
|
226
|
+
});
|
|
227
|
+
it("rejects a method the agent does not advertise", async () => {
|
|
228
|
+
await expect(login({ connection: connection(), methods: [agentMethod], launch, preferredId: "nope" })).rejects.toThrow(/Unknown authentication method "nope"/);
|
|
229
|
+
});
|
|
230
|
+
it("picks an agent-driven method when running unattended", async () => {
|
|
231
|
+
const conn = connection();
|
|
232
|
+
const used = await login({ connection: conn, methods: [terminalMethod, agentMethod], launch });
|
|
233
|
+
expect(used).toBe(agentMethod);
|
|
234
|
+
});
|
|
235
|
+
it("asks the user which method to use when a terminal is available", async () => {
|
|
236
|
+
const conn = connection();
|
|
237
|
+
const ask = vi.fn().mockResolvedValue("1");
|
|
238
|
+
const used = await login({
|
|
239
|
+
connection: conn,
|
|
240
|
+
methods: [agentMethod, terminalMethod],
|
|
241
|
+
launch,
|
|
242
|
+
interactive: true,
|
|
243
|
+
ask,
|
|
244
|
+
});
|
|
245
|
+
expect(used).toBe(agentMethod);
|
|
246
|
+
expect(ask).toHaveBeenCalled();
|
|
247
|
+
});
|
|
248
|
+
it("fails when only a terminal login is offered and no terminal is available", async () => {
|
|
249
|
+
await expect(login({ connection: connection(), methods: [terminalMethod], launch })).rejects.toThrow(/No usable authentication method/);
|
|
250
|
+
});
|
|
251
|
+
it("fails when the user does not choose a method", async () => {
|
|
252
|
+
await expect(login({
|
|
253
|
+
connection: connection(),
|
|
254
|
+
methods: [agentMethod, terminalMethod],
|
|
255
|
+
launch,
|
|
256
|
+
interactive: true,
|
|
257
|
+
ask: vi.fn().mockResolvedValue("nonsense"),
|
|
258
|
+
})).rejects.toThrow(/No usable authentication method/);
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
describe("supportsLogout", () => {
|
|
262
|
+
it("is true only when the agent advertises the capability", () => {
|
|
263
|
+
expect(supportsLogout({ auth: { logout: {} } })).toBe(true);
|
|
264
|
+
expect(supportsLogout({ auth: { logout: null } })).toBe(false);
|
|
265
|
+
expect(supportsLogout({ auth: {} })).toBe(false);
|
|
266
|
+
expect(supportsLogout({})).toBe(false);
|
|
267
|
+
expect(supportsLogout(undefined)).toBe(false);
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
describe("logout", () => {
|
|
271
|
+
it("skips agents that do not implement logout", async () => {
|
|
272
|
+
const conn = { authenticate: vi.fn(), logout: vi.fn() };
|
|
273
|
+
expect(await logout(conn, {})).toBe(false);
|
|
274
|
+
expect(conn.logout).not.toHaveBeenCalled();
|
|
275
|
+
});
|
|
276
|
+
it("ends the authenticated state when supported", async () => {
|
|
277
|
+
const conn = { authenticate: vi.fn(), logout: vi.fn().mockResolvedValue({}) };
|
|
278
|
+
expect(await logout(conn, { auth: { logout: {} } })).toBe(true);
|
|
279
|
+
expect(conn.logout).toHaveBeenCalledWith({});
|
|
280
|
+
});
|
|
281
|
+
});
|
|
282
|
+
});
|
|
283
|
+
//# sourceMappingURL=auth.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../src/__tests__/auth.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,51 @@ describe("config", () => {
|
|
|
31
31
|
headers: undefined,
|
|
32
32
|
});
|
|
33
33
|
});
|
|
34
|
+
it("should pass an sse server through as its own transport", () => {
|
|
35
|
+
vi.mocked(resolve).mockImplementation((...args) => args.join("/"));
|
|
36
|
+
vi.mocked(readFileSync).mockReturnValue(JSON.stringify({
|
|
37
|
+
mcpServers: { "events": { type: "sse", url: "http://example.com/sse" } }
|
|
38
|
+
}));
|
|
39
|
+
expect(loadMcpConfig("/dummy")[0].type).toBe("sse");
|
|
40
|
+
});
|
|
41
|
+
it("should refuse a transport it cannot hand to an agent", () => {
|
|
42
|
+
vi.mocked(resolve).mockImplementation((...args) => args.join("/"));
|
|
43
|
+
vi.mocked(readFileSync).mockReturnValue(JSON.stringify({
|
|
44
|
+
mcpServers: { "odd": { type: "websocket", url: "ws://example.com" } }
|
|
45
|
+
}));
|
|
46
|
+
// Silently treating this as stdio produced a server with no command and
|
|
47
|
+
// an agent that could not say what was wrong.
|
|
48
|
+
expect(() => loadMcpConfig("/dummy")).toThrow(/transport "websocket"/);
|
|
49
|
+
expect(() => loadMcpConfig("/dummy")).toThrow(/http, sse, stdio/);
|
|
50
|
+
});
|
|
51
|
+
it("should refuse an entry missing the field its transport needs", () => {
|
|
52
|
+
vi.mocked(resolve).mockImplementation((...args) => args.join("/"));
|
|
53
|
+
vi.mocked(readFileSync).mockReturnValue(JSON.stringify({
|
|
54
|
+
mcpServers: { "agentrq": { type: "http" } }
|
|
55
|
+
}));
|
|
56
|
+
expect(() => loadMcpConfig("/dummy")).toThrow(/is http but has no url/);
|
|
57
|
+
vi.mocked(readFileSync).mockReturnValue(JSON.stringify({
|
|
58
|
+
mcpServers: { "local": { type: "stdio", args: ["x"] } }
|
|
59
|
+
}));
|
|
60
|
+
expect(() => loadMcpConfig("/dummy")).toThrow(/is stdio but has no command/);
|
|
61
|
+
});
|
|
62
|
+
it("should report a mistake in the file it found rather than looking further up", () => {
|
|
63
|
+
vi.mocked(resolve).mockImplementation((...args) => args.join("/"));
|
|
64
|
+
vi.mocked(readFileSync).mockReturnValue(JSON.stringify({
|
|
65
|
+
mcpServers: { "odd": { type: "websocket", url: "ws://example.com" } }
|
|
66
|
+
}));
|
|
67
|
+
expect(() => loadMcpConfig("/dummy")).not.toThrow(/Could not find/);
|
|
68
|
+
});
|
|
69
|
+
it("should keep looking when a candidate file cannot be read or parsed", () => {
|
|
70
|
+
vi.mocked(resolve).mockImplementation((...args) => args.join("/"));
|
|
71
|
+
vi.mocked(readFileSync)
|
|
72
|
+
.mockImplementationOnce(() => { throw new Error("ENOENT"); })
|
|
73
|
+
.mockReturnValueOnce("{ not json")
|
|
74
|
+
.mockReturnValue(JSON.stringify({
|
|
75
|
+
mcpServers: { "agentrq": { type: "http", url: "http://localhost:8080" } }
|
|
76
|
+
}));
|
|
77
|
+
expect(loadMcpConfig("/dummy")[0].name).toBe("agentrq");
|
|
78
|
+
});
|
|
34
79
|
it("should handle missing mcpServers in JSON", () => {
|
|
35
80
|
vi.mocked(resolve).mockImplementation((...args) => args.join("/"));
|
|
36
81
|
vi.mocked(readFileSync).mockReturnValue(JSON.stringify({}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"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"}
|