@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.
@@ -1 +1 @@
1
- {"version":3,"file":"acpClient.test.js","sourceRoot":"","sources":["../../src/__tests__/acpClient.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acpClient.test.js","sourceRoot":"","sources":["../../src/__tests__/acpClient.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { describeAgentInfo } from "../agentInfo.js";
3
+ /** A minimal initialize response, with only what a test cares about set. */
4
+ function initResult(overrides = {}) {
5
+ return { protocolVersion: 1, ...overrides };
6
+ }
7
+ describe("describeAgentInfo", () => {
8
+ it("should name the agent as it named itself", () => {
9
+ const text = describeAgentInfo(initResult({
10
+ agentInfo: { name: "antigravity-acp", title: "Google Antigravity", version: "1.2.3" },
11
+ }), "some-binary --acp");
12
+ expect(text.split("\n")[0]).toBe("antigravity-acp — Google Antigravity 1.2.3");
13
+ });
14
+ it("should not repeat a title that only restates the name", () => {
15
+ const text = describeAgentInfo(initResult({ agentInfo: { name: "gemini", title: "gemini" } }), "gemini --acp");
16
+ expect(text.split("\n")[0]).toBe("gemini");
17
+ });
18
+ it("should fall back to how the agent was launched when it names no name", () => {
19
+ expect(describeAgentInfo(initResult(), "gemini --acp").split("\n")[0]).toBe("gemini --acp");
20
+ expect(describeAgentInfo(initResult({ agentInfo: { version: "1.0" } }), "gemini --acp").split("\n")[0]).toBe("gemini --acp");
21
+ });
22
+ it("should report the protocol version the agent negotiated", () => {
23
+ expect(describeAgentInfo(initResult({ protocolVersion: 2 }), "x")).toContain("ACP protocol version 2");
24
+ });
25
+ it("should read a capability supplied as {} as supported", () => {
26
+ const text = describeAgentInfo(initResult({
27
+ agentCapabilities: {
28
+ loadSession: true,
29
+ sessionCapabilities: { list: {}, resume: {} },
30
+ },
31
+ }), "x");
32
+ expect(text).toContain("session/load yes");
33
+ expect(text).toContain("session/list yes");
34
+ expect(text).toContain("session/resume yes");
35
+ // Absent, null and false all mean the agent does not support it.
36
+ expect(text).toContain("session/close no");
37
+ expect(text).toContain("session/fork no");
38
+ });
39
+ it("should treat an explicitly false or null capability as unsupported", () => {
40
+ const text = describeAgentInfo(initResult({
41
+ agentCapabilities: {
42
+ loadSession: false,
43
+ sessionCapabilities: { resume: null },
44
+ promptCapabilities: { image: false, audio: true, embeddedContext: true },
45
+ },
46
+ }), "x");
47
+ expect(text).toContain("session/load no");
48
+ expect(text).toContain("session/resume no");
49
+ expect(text).toContain("image no");
50
+ expect(text).toContain("audio yes");
51
+ expect(text).toContain("embedded context yes");
52
+ });
53
+ it("should report every MCP transport, including the unstable acp one", () => {
54
+ const text = describeAgentInfo(initResult({ agentCapabilities: { mcpCapabilities: { http: true, sse: true } } }), "x");
55
+ expect(text).toContain("http yes");
56
+ expect(text).toContain("sse yes");
57
+ expect(text).toContain("acp no");
58
+ });
59
+ it("should list the login methods alongside logout support", () => {
60
+ const text = describeAgentInfo(initResult({
61
+ agentCapabilities: { auth: { logout: {} } },
62
+ authMethods: [{ id: "oauth-personal", name: "Log in with Google" }],
63
+ }), "x");
64
+ expect(text).toContain("logout yes");
65
+ expect(text).toContain("Log in with Google (oauth-personal)");
66
+ });
67
+ it("should say plainly when an agent needs no login at all", () => {
68
+ const text = describeAgentInfo(initResult(), "x");
69
+ expect(text).toContain("logout no");
70
+ expect(text).toContain("no authentication methods");
71
+ });
72
+ it("should describe an agent that reports no capabilities at all", () => {
73
+ const text = describeAgentInfo(initResult({ agentCapabilities: null }), "x");
74
+ expect(text).toContain("session/load no");
75
+ expect(text).toContain("image no");
76
+ expect(text).toContain("http no");
77
+ });
78
+ });
79
+ //# sourceMappingURL=agentInfo.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentInfo.test.js","sourceRoot":"","sources":["../../src/__tests__/agentInfo.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,342 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
2
+ import { execFileSync } from "node:child_process";
3
+ import { mkdtemp, readFile, rm, stat, writeFile } from "node:fs/promises";
4
+ import { existsSync } from "node:fs";
5
+ import { tmpdir } from "node:os";
6
+ import * as path from "node:path";
7
+ import { archiveKind, assertChecksum, assertVerifiable, defaultCacheDir, downloadArchive, extractArchive, installBinaryAgent, installDir, moveInto, resolveAgentLaunch, runExtractionTool, resolveExecutable, sha256, } from "../agentInstall.js";
8
+ const agent = {
9
+ id: "demo-acp",
10
+ name: "Demo Agent",
11
+ version: "1.2.3",
12
+ description: "A demo agent",
13
+ distribution: {},
14
+ };
15
+ /** Builds a real .tar.gz containing an executable, so extraction is exercised for real. */
16
+ async function makeTarball(cmdName, contents) {
17
+ const staging = await mkdtemp(path.join(tmpdir(), "acp-gateway-fixture-"));
18
+ try {
19
+ await writeFile(path.join(staging, cmdName), contents);
20
+ const archive = path.join(staging, "out.tar.gz");
21
+ execFileSync("tar", ["-czf", archive, "-C", staging, cmdName]);
22
+ return new Uint8Array(await readFile(archive));
23
+ }
24
+ finally {
25
+ await rm(staging, { recursive: true, force: true });
26
+ }
27
+ }
28
+ function okResponse(data) {
29
+ return {
30
+ ok: true,
31
+ status: 200,
32
+ statusText: "OK",
33
+ arrayBuffer: async () => data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength),
34
+ };
35
+ }
36
+ describe("agentInstall", () => {
37
+ let cacheDir;
38
+ let errorSpy;
39
+ beforeEach(async () => {
40
+ cacheDir = await mkdtemp(path.join(tmpdir(), "acp-gateway-cache-"));
41
+ errorSpy = vi.spyOn(console, "error").mockImplementation(() => { });
42
+ });
43
+ afterEach(async () => {
44
+ errorSpy.mockRestore();
45
+ await rm(cacheDir, { recursive: true, force: true });
46
+ });
47
+ describe("defaultCacheDir", () => {
48
+ it("uses XDG_CACHE_HOME where it is set", () => {
49
+ expect(defaultCacheDir("linux", { XDG_CACHE_HOME: "/xdg" })).toBe(path.join("/xdg", "acp-gateway", "agents"));
50
+ });
51
+ it("falls back to the per-user cache on macOS and Linux", () => {
52
+ expect(defaultCacheDir("darwin", {})).toMatch(/\.cache[\\/]acp-gateway[\\/]agents$/);
53
+ });
54
+ it("uses LOCALAPPDATA on Windows", () => {
55
+ expect(defaultCacheDir("win32", { LOCALAPPDATA: "C:\\Users\\me\\AppData\\Local" })).toBe(path.join("C:\\Users\\me\\AppData\\Local", "acp-gateway", "agents"));
56
+ expect(defaultCacheDir("win32", {})).toMatch(/AppData[\\/]Local[\\/]acp-gateway/);
57
+ });
58
+ });
59
+ describe("archiveKind", () => {
60
+ it("recognises every format the registry allows", () => {
61
+ expect(archiveKind("https://x/y.zip")).toBe("zip");
62
+ expect(archiveKind("https://x/y.tar.gz")).toBe("tar.gz");
63
+ expect(archiveKind("https://x/y.tgz")).toBe("tar.gz");
64
+ expect(archiveKind("https://x/y.tar.bz2")).toBe("tar.bz2");
65
+ expect(archiveKind("https://x/y.tbz2")).toBe("tar.bz2");
66
+ });
67
+ it("ignores query strings and fragments", () => {
68
+ expect(archiveKind("https://x/y.ZIP?token=abc#frag")).toBe("zip");
69
+ });
70
+ it("treats anything else as a raw executable", () => {
71
+ expect(archiveKind("https://x/agent-darwin-arm64")).toBe("raw");
72
+ });
73
+ });
74
+ describe("installDir", () => {
75
+ it("keeps each version and platform apart", () => {
76
+ expect(installDir("/cache", "demo", "darwin-aarch64", "1.2.3")).toBe(path.join("/cache", "demo@1.2.3", "darwin-aarch64"));
77
+ });
78
+ });
79
+ describe("resolveExecutable", () => {
80
+ it("resolves the registry's cmd inside the install directory", () => {
81
+ expect(resolveExecutable("/cache/demo", "./bin/agent")).toBe(path.resolve("/cache/demo/bin/agent"));
82
+ });
83
+ it("refuses a cmd that climbs out of the install directory", () => {
84
+ expect(() => resolveExecutable("/cache/demo", "../../../usr/bin/curl")).toThrow(/points outside its install directory/);
85
+ });
86
+ });
87
+ describe("assertVerifiable", () => {
88
+ const unverifiable = { archive: "https://x/y.zip", cmd: "./demo" };
89
+ it("refuses an archive the registry publishes no checksum for", () => {
90
+ expect(() => assertVerifiable(agent, unverifiable, false)).toThrow(/publishes no sha256 for "demo-acp".*--allow-unverified-agent/s);
91
+ });
92
+ it("allows it once the user has explicitly opted in", () => {
93
+ expect(() => assertVerifiable(agent, unverifiable, true)).not.toThrow();
94
+ });
95
+ it("allows an archive that does publish a checksum", () => {
96
+ expect(() => assertVerifiable(agent, { ...unverifiable, sha256: "a".repeat(64) }, false)).not.toThrow();
97
+ });
98
+ });
99
+ describe("assertChecksum", () => {
100
+ const data = new Uint8Array([1, 2, 3]);
101
+ it("accepts a download that matches, whatever the case", () => {
102
+ const digest = sha256(data);
103
+ expect(() => assertChecksum(agent, { archive: "https://x/y", cmd: "./d", sha256: digest.toUpperCase() }, data)).not.toThrow();
104
+ });
105
+ it("refuses a download that does not match", () => {
106
+ expect(() => assertChecksum(agent, { archive: "https://x/y", cmd: "./d", sha256: "b".repeat(64) }, data)).toThrow(/Checksum mismatch for "demo-acp"/);
107
+ });
108
+ it("has nothing to check when the registry publishes no checksum", () => {
109
+ expect(() => assertChecksum(agent, { archive: "https://x/y", cmd: "./d" }, data)).not.toThrow();
110
+ });
111
+ });
112
+ describe("downloadArchive", () => {
113
+ it("returns the bytes", async () => {
114
+ const data = new Uint8Array([9, 8, 7]);
115
+ const fetchImpl = vi.fn().mockResolvedValue(okResponse(data));
116
+ expect(await downloadArchive("https://x/y.zip", fetchImpl)).toEqual(data);
117
+ });
118
+ it("reports a failed download", async () => {
119
+ const fetchImpl = vi
120
+ .fn()
121
+ .mockResolvedValue({ ok: false, status: 403, statusText: "Forbidden" });
122
+ await expect(downloadArchive("https://x/y.zip", fetchImpl)).rejects.toThrow(/Failed to download https:\/\/x\/y.zip: 403 Forbidden/);
123
+ });
124
+ });
125
+ describe("extractArchive", () => {
126
+ it("writes a raw download straight out as the executable", async () => {
127
+ const dir = path.join(cacheDir, "raw");
128
+ await extractArchive(new Uint8Array([1, 2]), "raw", dir, "./demo-agent");
129
+ expect(await readFile(path.join(dir, "demo-agent"))).toEqual(Buffer.from([1, 2]));
130
+ });
131
+ it("unpacks a real tarball and removes the archive afterwards", async () => {
132
+ const tarball = await makeTarball("demo", "#!/bin/sh\necho hi\n");
133
+ const dir = path.join(cacheDir, "tar");
134
+ await extractArchive(tarball, "tar.gz", dir, "./demo");
135
+ expect(await readFile(path.join(dir, "demo"), "utf8")).toContain("echo hi");
136
+ expect(existsSync(path.join(dir, "archive.tar.gz"))).toBe(false);
137
+ });
138
+ it("uses unzip for zips on Linux, where tar cannot read them", async () => {
139
+ const dir = path.join(cacheDir, "zip");
140
+ // `unzip` is not guaranteed on every machine, so assert on the failure
141
+ // message rather than on a successful extraction.
142
+ await expect(extractArchive(new Uint8Array([1]), "zip", dir, "./demo", "linux")).rejects.toThrow(/unzip/);
143
+ });
144
+ it("reports an extraction tool that is not installed", async () => {
145
+ await expect(runExtractionTool("acp-gateway-no-such-tool", [], cacheDir)).rejects.toThrow(/Could not run "acp-gateway-no-such-tool" to unpack the agent archive/);
146
+ });
147
+ it("reports a corrupt archive with the tool's own diagnostics", async () => {
148
+ const dir = path.join(cacheDir, "bad");
149
+ await expect(extractArchive(new Uint8Array([1, 2, 3]), "tar.gz", dir, "./demo", "darwin")).rejects.toThrow(/failed to unpack the agent archive/);
150
+ });
151
+ });
152
+ describe("moveInto", () => {
153
+ it("copies when the staged install cannot simply be renamed into place", async () => {
154
+ const from = await mkdtemp(path.join(tmpdir(), "acp-gateway-move-"));
155
+ await writeFile(path.join(from, "demo"), "binary");
156
+ // A destination whose parents do not exist: rename() fails, and the copy
157
+ // fallback — the same path taken when the temp dir is another mount —
158
+ // has to create the tree.
159
+ const to = path.join(cacheDir, "deep", "deeper", "install");
160
+ await moveInto(from, to);
161
+ expect(await readFile(path.join(to, "demo"), "utf8")).toBe("binary");
162
+ await rm(from, { recursive: true, force: true });
163
+ });
164
+ });
165
+ describe("installBinaryAgent", () => {
166
+ async function install(overrides = {}) {
167
+ const tarball = await makeTarball("demo", "#!/bin/sh\nexit 0\n");
168
+ const target = {
169
+ archive: "https://example.com/demo.tar.gz",
170
+ sha256: sha256(tarball),
171
+ cmd: "./demo",
172
+ args: ["--acp"],
173
+ ...overrides.target,
174
+ };
175
+ const fetchImpl = vi.fn().mockResolvedValue(okResponse(tarball));
176
+ const spec = await installBinaryAgent({
177
+ agent,
178
+ target,
179
+ platformTarget: "darwin-aarch64",
180
+ cacheDir,
181
+ fetchImpl: fetchImpl,
182
+ platform: "darwin",
183
+ ...overrides.options,
184
+ });
185
+ return { spec, fetchImpl, tarball };
186
+ }
187
+ it("downloads, verifies, unpacks and makes the agent executable", async () => {
188
+ const { spec } = await install();
189
+ expect(spec).toEqual({
190
+ command: path.join(cacheDir, "demo-acp@1.2.3", "darwin-aarch64", "demo"),
191
+ args: ["--acp"],
192
+ env: undefined,
193
+ kind: "binary",
194
+ });
195
+ expect(existsSync(spec.command)).toBe(true);
196
+ // 0o111 — executable by someone.
197
+ expect((await stat(spec.command)).mode & 0o111).toBeGreaterThan(0);
198
+ });
199
+ it("skips the executable bit on Windows, which has none", async () => {
200
+ const { spec } = await install({ options: { platform: "win32" } });
201
+ expect(existsSync(spec.command)).toBe(true);
202
+ });
203
+ it("reuses a cached install instead of downloading again", async () => {
204
+ await install();
205
+ const { fetchImpl } = await install();
206
+ expect(fetchImpl).not.toHaveBeenCalled();
207
+ expect(errorSpy.mock.calls.flat().join("\n")).toContain("Using cached demo-acp 1.2.3");
208
+ });
209
+ it("refuses an archive with no published checksum", async () => {
210
+ await expect(install({ target: { sha256: undefined } })).rejects.toThrow(/publishes no sha256/);
211
+ });
212
+ it("installs an unverified archive when explicitly allowed, and says so", async () => {
213
+ const { spec } = await install({
214
+ target: { sha256: undefined },
215
+ options: { allowUnverified: true },
216
+ });
217
+ expect(existsSync(spec.command)).toBe(true);
218
+ expect(errorSpy.mock.calls.flat().join("\n")).toContain("publishes no checksum");
219
+ });
220
+ it("refuses a download that does not match the checksum", async () => {
221
+ await expect(install({ target: { sha256: "c".repeat(64) } })).rejects.toThrow(/Checksum mismatch/);
222
+ });
223
+ it("leaves nothing cached when the archive lacks the promised command", async () => {
224
+ await expect(install({ target: { cmd: "./not-in-archive" } })).rejects.toThrow(/does not contain "\.\/not-in-archive"/);
225
+ expect(existsSync(installDir(cacheDir, agent.id, "darwin-aarch64", agent.version))).toBe(false);
226
+ });
227
+ });
228
+ describe("resolveAgentLaunch", () => {
229
+ const gemini = {
230
+ id: "gemini",
231
+ name: "Gemini CLI",
232
+ version: "0.58.0",
233
+ description: "Google's CLI",
234
+ distribution: { npx: { package: "@google/gemini-cli@0.58.0", args: ["--acp"] } },
235
+ };
236
+ const pyAgent = {
237
+ id: "fast-agent",
238
+ name: "fast-agent",
239
+ version: "1.0.0",
240
+ description: "A Python agent",
241
+ distribution: { uvx: { package: "fast-agent-mcp" } },
242
+ };
243
+ const binaryOnly = {
244
+ ...agent,
245
+ distribution: {
246
+ binary: {
247
+ "linux-x86_64": { archive: "https://x/y.tar.gz", sha256: "a".repeat(64), cmd: "./demo" },
248
+ },
249
+ },
250
+ };
251
+ const registry = {
252
+ version: "1.0.0",
253
+ agents: [gemini, pyAgent, binaryOnly],
254
+ };
255
+ it("runs npm-distributed agents through npx without downloading anything", async () => {
256
+ const fetchImpl = vi.fn();
257
+ const spec = await resolveAgentLaunch({
258
+ id: "gemini",
259
+ registry,
260
+ platformTarget: "darwin-aarch64",
261
+ fetchImpl: fetchImpl,
262
+ });
263
+ expect(spec).toEqual({
264
+ command: "npx",
265
+ args: ["-y", "@google/gemini-cli@0.58.0", "--acp"],
266
+ env: undefined,
267
+ kind: "npx",
268
+ });
269
+ expect(fetchImpl).not.toHaveBeenCalled();
270
+ });
271
+ it("names npx explicitly on Windows, where a bare npx cannot be spawned", async () => {
272
+ const spec = await resolveAgentLaunch({
273
+ id: "gemini",
274
+ registry,
275
+ platformTarget: "windows-x86_64",
276
+ platform: "win32",
277
+ });
278
+ expect(spec.command).toBe("npx.cmd");
279
+ });
280
+ it("runs PyPI-distributed agents through uvx", async () => {
281
+ const spec = await resolveAgentLaunch({
282
+ id: "fast-agent",
283
+ registry,
284
+ platformTarget: "linux-x86_64",
285
+ });
286
+ expect(spec).toEqual({
287
+ command: "uvx",
288
+ args: ["fast-agent-mcp"],
289
+ env: undefined,
290
+ kind: "uvx",
291
+ });
292
+ });
293
+ it("installs the binary when that is the only distribution", async () => {
294
+ const tarball = await makeTarball("demo", "#!/bin/sh\nexit 0\n");
295
+ const registryWithDigest = {
296
+ version: "1.0.0",
297
+ agents: [
298
+ {
299
+ ...binaryOnly,
300
+ distribution: {
301
+ binary: {
302
+ "linux-x86_64": {
303
+ archive: "https://x/y.tar.gz",
304
+ sha256: sha256(tarball),
305
+ cmd: "./demo",
306
+ },
307
+ },
308
+ },
309
+ },
310
+ ],
311
+ };
312
+ const fetchImpl = vi.fn().mockResolvedValue(okResponse(tarball));
313
+ const spec = await resolveAgentLaunch({
314
+ id: "demo-acp",
315
+ registry: registryWithDigest,
316
+ platformTarget: "linux-x86_64",
317
+ cacheDir,
318
+ fetchImpl: fetchImpl,
319
+ platform: "linux",
320
+ });
321
+ expect(spec.kind).toBe("binary");
322
+ expect(existsSync(spec.command)).toBe(true);
323
+ });
324
+ it("reports an id the registry does not list", async () => {
325
+ await expect(resolveAgentLaunch({ id: "nope", registry, platformTarget: "linux-x86_64" })).rejects.toThrow(/No agent "nope" in the ACP registry/);
326
+ });
327
+ it("reports an agent that has no build for this machine", async () => {
328
+ await expect(resolveAgentLaunch({ id: "demo-acp", registry, platformTarget: "windows-aarch64" })).rejects.toThrow(/publishes no build of "demo-acp" for windows-aarch64 \(it publishes: binary\)/);
329
+ });
330
+ it("says so when an agent publishes no distribution at all", async () => {
331
+ const empty = {
332
+ version: "1.0.0",
333
+ agents: [{ ...agent, distribution: {} }],
334
+ };
335
+ await expect(resolveAgentLaunch({ id: "demo-acp", registry: empty, platformTarget: "linux-x86_64" })).rejects.toThrow(/it publishes: nothing/);
336
+ });
337
+ it("reports an unsupported platform by name", async () => {
338
+ await expect(resolveAgentLaunch({ id: "demo-acp", registry, platformTarget: undefined })).rejects.toThrow(/publishes no build of "demo-acp" for/);
339
+ });
340
+ });
341
+ });
342
+ //# sourceMappingURL=agentInstall.test.js.map