test(mcp-server): assert listing invariant via public catalog
This commit is contained in:
@@ -11,6 +11,7 @@ import { z } from "zod";
|
|||||||
|
|
||||||
import { createTestLogger } from "../../test-utils/test-logger.js";
|
import { createTestLogger } from "../../test-utils/test-logger.js";
|
||||||
import { createAgentMcpServer } from "./mcp-server.js";
|
import { createAgentMcpServer } from "./mcp-server.js";
|
||||||
|
import { createPaseoToolCatalog } from "./tools/paseo-tools.js";
|
||||||
import { AgentManager, type ManagedAgent } from "./agent-manager.js";
|
import { AgentManager, type ManagedAgent } from "./agent-manager.js";
|
||||||
import { AgentStorage, type StoredAgentRecord } from "./agent-storage.js";
|
import { AgentStorage, type StoredAgentRecord } from "./agent-storage.js";
|
||||||
import { createTestAgentClients } from "../test-utils/fake-agent-client.js";
|
import { createTestAgentClients } from "../test-utils/fake-agent-client.js";
|
||||||
@@ -666,7 +667,7 @@ describe("browser MCP tools", () => {
|
|||||||
ok: true,
|
ok: true,
|
||||||
result: { command: "list_tabs", tabs: [] },
|
result: { command: "list_tabs", tabs: [] },
|
||||||
});
|
});
|
||||||
const server = await createAgentMcpServer({
|
const serverOptions = {
|
||||||
agentManager: agentManager as AgentManager,
|
agentManager: agentManager as AgentManager,
|
||||||
agentStorage: agentStorage as AgentStorage,
|
agentStorage: agentStorage as AgentStorage,
|
||||||
providerSnapshotManager:
|
providerSnapshotManager:
|
||||||
@@ -674,7 +675,8 @@ describe("browser MCP tools", () => {
|
|||||||
browserToolsBroker: broker as BrowserToolsBroker,
|
browserToolsBroker: broker as BrowserToolsBroker,
|
||||||
callerAgentId: "agent-1",
|
callerAgentId: "agent-1",
|
||||||
logger,
|
logger,
|
||||||
});
|
};
|
||||||
|
const server = await createAgentMcpServer(serverOptions);
|
||||||
const client = await connectInMemoryMcpClient(server);
|
const client = await connectInMemoryMcpClient(server);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -708,14 +710,11 @@ describe("browser MCP tools", () => {
|
|||||||
|
|
||||||
const listedTools = await client.listTools();
|
const listedTools = await client.listTools();
|
||||||
const toolsByName = new Map(listedTools.tools.map((tool) => [tool.name, tool]));
|
const toolsByName = new Map(listedTools.tools.map((tool) => [tool.name, tool]));
|
||||||
const registeredTools = Reflect.get(server, "_registeredTools") as Record<
|
const catalog = createPaseoToolCatalog(serverOptions);
|
||||||
string,
|
|
||||||
RegisteredMcpTool
|
|
||||||
>;
|
|
||||||
|
|
||||||
for (const [name, tool] of Object.entries(registeredTools)) {
|
for (const tool of catalog.tools.values()) {
|
||||||
if (tool.outputSchema !== undefined) {
|
if (tool.outputSchema !== undefined) {
|
||||||
expect(toolsByName.get(name)?.outputSchema, `${name} outputSchema`).toEqual(
|
expect(toolsByName.get(tool.name)?.outputSchema, `${tool.name} outputSchema`).toEqual(
|
||||||
expect.objectContaining({ type: "object" }),
|
expect.objectContaining({ type: "object" }),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user