@cmssy/mcp-server 0.67.0 → 0.69.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/dist/__tests__/shared-bucket-round-trip.test.js +32 -17
- package/dist/__tests__/shared-bucket-round-trip.test.js.map +1 -1
- package/dist/__tests__/tool-catalogue.test.d.ts +2 -0
- package/dist/__tests__/tool-catalogue.test.d.ts.map +1 -0
- package/dist/__tests__/tool-catalogue.test.js +110 -0
- package/dist/__tests__/tool-catalogue.test.js.map +1 -0
- package/dist/ai-tools-binder.d.ts +1 -0
- package/dist/ai-tools-binder.d.ts.map +1 -1
- package/dist/ai-tools-binder.js +7 -0
- package/dist/ai-tools-binder.js.map +1 -1
- package/dist/queries.d.ts +6 -6
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +9 -14
- package/dist/queries.js.map +1 -1
- package/dist/tool-catalogue.d.ts +20 -0
- package/dist/tool-catalogue.d.ts.map +1 -0
- package/dist/tool-catalogue.js +67 -0
- package/dist/tool-catalogue.js.map +1 -0
- package/package.json +3 -1
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { describe, expect, it, vi } from "vitest";
|
|
2
2
|
import { createMcpWorkspaceOps } from "../ai-tools-ops.js";
|
|
3
|
-
import
|
|
3
|
+
import * as queries from "../queries.js";
|
|
4
|
+
const ROW = { label: "Docs", url: "/docs", icon: "Code" };
|
|
4
5
|
const HEADER = {
|
|
5
6
|
id: "b1",
|
|
6
7
|
type: "header",
|
|
7
8
|
region: "header",
|
|
8
9
|
order: 0,
|
|
9
10
|
isActive: true,
|
|
10
|
-
content: {
|
|
11
|
+
content: {
|
|
12
|
+
en: { navigation: [ROW] },
|
|
13
|
+
pl: { navigation: [{ ...ROW, label: "Dokumenty" }] },
|
|
14
|
+
},
|
|
11
15
|
settings: {},
|
|
12
16
|
style: null,
|
|
13
17
|
advanced: null,
|
|
14
|
-
|
|
15
|
-
logo: "logo-1",
|
|
16
|
-
navigation: [{ columns: "3", children: [{ url: "/docs", icon: "Code" }] }],
|
|
17
|
-
},
|
|
18
|
-
translations: { en: { status: "completed" } },
|
|
18
|
+
translations: { en: { status: "completed" }, pl: { status: "completed" } },
|
|
19
19
|
defaultLanguage: "en",
|
|
20
20
|
metadata: null,
|
|
21
21
|
blockVersion: null,
|
|
@@ -23,7 +23,10 @@ const HEADER = {
|
|
|
23
23
|
function pageClient() {
|
|
24
24
|
const sent = [];
|
|
25
25
|
const query = vi.fn(async (document, variables) => {
|
|
26
|
-
sent.push({
|
|
26
|
+
sent.push({
|
|
27
|
+
document,
|
|
28
|
+
variables: (variables ?? {}),
|
|
29
|
+
});
|
|
27
30
|
if (document.includes("updateLayout")) {
|
|
28
31
|
return { page: { updateLayout: { id: "p1", blockWarnings: null } } };
|
|
29
32
|
}
|
|
@@ -45,21 +48,33 @@ function pageClient() {
|
|
|
45
48
|
});
|
|
46
49
|
return { client: { query }, sent };
|
|
47
50
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
function blockDocuments() {
|
|
52
|
+
return Object.entries(queries).filter(([, document]) => typeof document === "string" && document.includes("advanced"));
|
|
53
|
+
}
|
|
54
|
+
describe("MCP reads whole rows, not the storage split (CMS-1793)", () => {
|
|
55
|
+
it("reads content folded on every block selection", () => {
|
|
56
|
+
const documents = blockDocuments();
|
|
57
|
+
expect(documents.length).toBeGreaterThan(0);
|
|
58
|
+
for (const [name, document] of documents) {
|
|
59
|
+
expect((document.match(/contentWithShared/g) ?? []).length, `${name} selects a block without asking for the folded content, so an agent reading it sees labels with no url to address`).toBe((document.match(/advanced/g) ?? []).length);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
it("never asks for the raw shared bucket", () => {
|
|
63
|
+
for (const [name, document] of blockDocuments()) {
|
|
64
|
+
expect(document.match(/shared/g), `${name} still reads the bucket split; where a field is stored is the server's business`).toBeNull();
|
|
54
65
|
}
|
|
55
66
|
});
|
|
56
|
-
it("
|
|
67
|
+
it("sends whole rows back and names no bucket the server owns", async () => {
|
|
57
68
|
const { client, sent } = pageClient();
|
|
58
69
|
const ops = createMcpWorkspaceOps(client);
|
|
59
|
-
await ops.pages.updateBlock("p1", "b1", {
|
|
70
|
+
await ops.pages.updateBlock("p1", "b1", { pl: { navigation: [{ ...ROW, label: "Dokumentacja" }] } }, undefined, "merge", undefined);
|
|
60
71
|
const write = sent.find((s) => s.document.includes("updateLayout"));
|
|
61
72
|
const written = (write?.variables.input).layoutBlocks[0];
|
|
62
|
-
expect(written
|
|
73
|
+
expect(Object.hasOwn(written, "shared"), "an omitted bucket keeps its stored value (CMS-1792); naming it here would write back a copy the client never had a say in").toBe(false);
|
|
74
|
+
expect(written.content, "translating one language must not cost the others the url they were read with").toStrictEqual({
|
|
75
|
+
en: { navigation: [ROW] },
|
|
76
|
+
pl: { navigation: [{ ...ROW, label: "Dokumentacja" }] },
|
|
77
|
+
});
|
|
63
78
|
});
|
|
64
79
|
});
|
|
65
80
|
//# sourceMappingURL=shared-bucket-round-trip.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-bucket-round-trip.test.js","sourceRoot":"","sources":["../../src/__tests__/shared-bucket-round-trip.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"shared-bucket-round-trip.test.js","sourceRoot":"","sources":["../../src/__tests__/shared-bucket-round-trip.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-catalogue.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/tool-catalogue.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { describe, it, expect, vi } from "vitest";
|
|
2
|
+
import { boundTools, buildCatalogue, catalogueOfServer, catalogueDrift, catalogueFrom, } from "../tool-catalogue.js";
|
|
3
|
+
import { boundDeclarations } from "../ai-tools-binder.js";
|
|
4
|
+
import { createServer } from "../server.js";
|
|
5
|
+
const client = { query: vi.fn() };
|
|
6
|
+
describe("catalogueFrom", () => {
|
|
7
|
+
it("publishes one row per bound tool, ordered by name", () => {
|
|
8
|
+
const rows = catalogueFrom({ publish_page: {}, add_block_to_page: {} }, [
|
|
9
|
+
{ name: "publish_page", requiredPermissions: ["pages:publish"] },
|
|
10
|
+
{ name: "add_block_to_page", requiredPermissions: ["pages:edit"] },
|
|
11
|
+
]);
|
|
12
|
+
expect(rows).toEqual([
|
|
13
|
+
{
|
|
14
|
+
name: "add_block_to_page",
|
|
15
|
+
permission: "pages:edit",
|
|
16
|
+
description: "",
|
|
17
|
+
},
|
|
18
|
+
{ name: "publish_page", permission: "pages:publish", description: "" },
|
|
19
|
+
]);
|
|
20
|
+
});
|
|
21
|
+
it("joins every permission a tool needs", () => {
|
|
22
|
+
const rows = catalogueFrom({ edit_order: {} }, [
|
|
23
|
+
{
|
|
24
|
+
name: "edit_order",
|
|
25
|
+
requiredPermissions: ["orders:manage", "models:edit"],
|
|
26
|
+
},
|
|
27
|
+
]);
|
|
28
|
+
expect(rows[0]?.permission).toBe("orders:manage, models:edit");
|
|
29
|
+
});
|
|
30
|
+
it("leaves the permission empty for a tool that needs none", () => {
|
|
31
|
+
const rows = catalogueFrom({ get_workspace_info: {} }, [
|
|
32
|
+
{ name: "get_workspace_info", requiredPermissions: [] },
|
|
33
|
+
]);
|
|
34
|
+
expect(rows[0]?.permission).toBe("");
|
|
35
|
+
});
|
|
36
|
+
it("collapses the whitespace a multi-line description carries", () => {
|
|
37
|
+
const rows = catalogueFrom({ get_page: { description: " One\n two. " } }, [{ name: "get_page", requiredPermissions: ["pages:view"] }]);
|
|
38
|
+
expect(rows[0]?.description).toBe("One two.");
|
|
39
|
+
});
|
|
40
|
+
it("falls back to the declared description when the binding carries none", () => {
|
|
41
|
+
const rows = catalogueFrom({ get_page: {} }, [
|
|
42
|
+
{ name: "get_page", description: "Reads a page." },
|
|
43
|
+
]);
|
|
44
|
+
expect(rows[0]?.description).toBe("Reads a page.");
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe("boundTools", () => {
|
|
48
|
+
it("refuses to publish an empty catalogue", () => {
|
|
49
|
+
expect(() => boundTools({})).toThrow(/no tools/);
|
|
50
|
+
expect(() => boundTools({ _registeredTools: {} })).toThrow(/no tools/);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
describe("buildCatalogue", () => {
|
|
54
|
+
const rows = buildCatalogue();
|
|
55
|
+
it("lists every tool the server binds, and no more", () => {
|
|
56
|
+
const server = createServer(client);
|
|
57
|
+
const registered = Object.keys(boundTools(server)).sort();
|
|
58
|
+
expect(rows.map((row) => row.name)).toEqual(registered);
|
|
59
|
+
expect(rows.length).toBeGreaterThan(50);
|
|
60
|
+
});
|
|
61
|
+
it("has a declaration behind every binding, so no permission is guessed", () => {
|
|
62
|
+
const server = createServer(client);
|
|
63
|
+
expect(Object.keys(boundTools(server)).filter((name) => !boundDeclarations(server).has(name))).toEqual([]);
|
|
64
|
+
});
|
|
65
|
+
it("describes every tool it publishes", () => {
|
|
66
|
+
expect(rows.filter((row) => row.description === "")).toEqual([]);
|
|
67
|
+
});
|
|
68
|
+
it("refuses a tool bound past the binder, whose permissions it cannot know", () => {
|
|
69
|
+
const rogue = {
|
|
70
|
+
_registeredTools: { sneak_in: { description: "bound directly" } },
|
|
71
|
+
};
|
|
72
|
+
expect(() => catalogueOfServer(rogue)).toThrow(/sneak_in/);
|
|
73
|
+
});
|
|
74
|
+
it("names a write tool's permission, not none", () => {
|
|
75
|
+
const write = rows.find((row) => row.name === "update_region_settings");
|
|
76
|
+
expect(write?.permission).toBe("pages:edit");
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
describe("catalogueDrift", () => {
|
|
80
|
+
const built = [
|
|
81
|
+
{ name: "get_page", permission: "pages:view", description: "Reads." },
|
|
82
|
+
];
|
|
83
|
+
it("stays quiet when the page lists exactly what the server exposes", () => {
|
|
84
|
+
expect(catalogueDrift(built, [...built])).toEqual([]);
|
|
85
|
+
});
|
|
86
|
+
it("reports a tool the page never got", () => {
|
|
87
|
+
expect(catalogueDrift(built, [])).toEqual(["get_page is not on the page"]);
|
|
88
|
+
});
|
|
89
|
+
it("reports a tool the page kept after the server dropped it", () => {
|
|
90
|
+
expect(catalogueDrift(built, [
|
|
91
|
+
...built,
|
|
92
|
+
{ name: "old_tool", permission: "", description: "" },
|
|
93
|
+
])).toEqual(["old_tool is on the page but the server does not expose it"]);
|
|
94
|
+
});
|
|
95
|
+
it("reports a row the page lists twice, which a lookup would swallow", () => {
|
|
96
|
+
expect(catalogueDrift(built, [...built, ...built])).toEqual([
|
|
97
|
+
"get_page is listed twice on the page",
|
|
98
|
+
]);
|
|
99
|
+
});
|
|
100
|
+
it("reports a permission and a description that moved", () => {
|
|
101
|
+
const drift = catalogueDrift(built, [
|
|
102
|
+
{ name: "get_page", permission: "pages:edit", description: "Writes." },
|
|
103
|
+
]);
|
|
104
|
+
expect(drift).toEqual([
|
|
105
|
+
"get_page requires pages:view, the page says pages:edit",
|
|
106
|
+
"get_page is described differently on the page",
|
|
107
|
+
]);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=tool-catalogue.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-catalogue.test.js","sourceRoot":"","sources":["../../src/__tests__/tool-catalogue.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import type { AiTool, WorkspaceOps } from "@cmssy/ai-tools";
|
|
3
|
+
export declare function boundDeclarations(server: McpServer): Map<string, AiTool>;
|
|
3
4
|
export declare function bindSharedTool(server: McpServer, tool: AiTool, ops: WorkspaceOps): void;
|
|
4
5
|
//# sourceMappingURL=ai-tools-binder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-tools-binder.d.ts","sourceRoot":"","sources":["../src/ai-tools-binder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-tools-binder.d.ts","sourceRoot":"","sources":["../src/ai-tools-binder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc5D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAExE;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,YAAY,GAChB,IAAI,CAkCN"}
|
package/dist/ai-tools-binder.js
CHANGED
|
@@ -10,7 +10,14 @@ const jsonPreprocess = (val) => {
|
|
|
10
10
|
return val;
|
|
11
11
|
}
|
|
12
12
|
};
|
|
13
|
+
const declarations = new WeakMap();
|
|
14
|
+
export function boundDeclarations(server) {
|
|
15
|
+
return declarations.get(server) ?? new Map();
|
|
16
|
+
}
|
|
13
17
|
export function bindSharedTool(server, tool, ops) {
|
|
18
|
+
const declared = declarations.get(server) ?? new Map();
|
|
19
|
+
declared.set(tool.name, tool);
|
|
20
|
+
declarations.set(server, declared);
|
|
14
21
|
const shape = tool.inputSchema
|
|
15
22
|
.shape;
|
|
16
23
|
const mcpShape = Object.fromEntries(Object.entries(shape).map(([key, schema]) => [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-tools-binder.js","sourceRoot":"","sources":["../src/ai-tools-binder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,EAAE;IACtC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAC5B,MAAiB,EACjB,IAAY,EACZ,GAAiB;IAEjB,MAAM,KAAK,GAAI,IAAI,CAAC,WAAqD;SACtE,KAAK,CAAC;IACT,MAAM,QAAQ,GAAkB,MAAM,CAAC,WAAW,CAChD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QAC3C,GAAG;QACH,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,MAAsB,CAAC;KACrD,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAc,EAAE,EAAE;QAC1E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBACjE;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACvD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"ai-tools-binder.js","sourceRoot":"","sources":["../src/ai-tools-binder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,EAAE;IACtC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,IAAI,OAAO,EAAkC,CAAC;AAEnE,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,OAAO,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAAiB,EACjB,IAAY,EACZ,GAAiB;IAEjB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;IACvE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEnC,MAAM,KAAK,GAAI,IAAI,CAAC,WAAqD;SACtE,KAAK,CAAC;IACT,MAAM,QAAQ,GAAkB,MAAM,CAAC,WAAW,CAChD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QAC3C,GAAG;QACH,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,MAAsB,CAAC;KACrD,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAc,EAAE,EAAE;QAC1E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBACjE;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACvD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/queries.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const PAGES_QUERY = "\n query Pages($search: String) {\n page { list(search: $search) {\n id\n name\n slug\n description\n displayName\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n pageType\n parentId\n customFields { fieldKey value }\n order\n version\n createdAt\n updatedAt\n } }\n }\n";
|
|
2
2
|
export declare const PAGE_VERSION_QUERY = "\n query PageVersion($pageId: ID!) {\n page { get(pageId: $pageId) {\n id\n version\n } }\n }\n";
|
|
3
|
-
export declare const PAGE_BY_ID_QUERY = "\n query PageById($pageId: ID!) {\n page { get(pageId: $pageId) {\n id\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n customFields { fieldKey value }\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n pageType\n parentId\n order\n version\n blocks {\n id\n type\n content\n settings\n style\n advanced\n
|
|
3
|
+
export declare const PAGE_BY_ID_QUERY = "\n query PageById($pageId: ID!) {\n page { get(pageId: $pageId) {\n id\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n customFields { fieldKey value }\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n pageType\n parentId\n order\n version\n blocks {\n id\n type\n content: contentWithShared\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n publishedBlocks {\n id\n type\n content: contentWithShared\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n layoutBlocks {\n id type region order isActive\n content: contentWithShared settings style advanced\n translations defaultLanguage\n metadata { createdAt updatedAt createdBy version }\n blockVersion\n }\n publishedLayoutBlocks {\n id type region order isActive\n content: contentWithShared settings style advanced\n translations defaultLanguage\n metadata { createdAt updatedAt createdBy version }\n blockVersion\n }\n layoutOverrides { region action blockId }\n layoutRegionSettings { region values }\n inheritsLayout\n createdAt\n updatedAt\n } }\n }\n";
|
|
4
4
|
export declare const PAGE_RESOLVED_LAYOUTS_QUERY = "\n query PageResolvedLayouts($pageId: ID!) {\n page { resolvedLayouts(pageId: $pageId) {\n region\n isInherited\n sourcePageId\n settings\n settingsAreInherited\n settingsSourcePageId\n } }\n }\n";
|
|
5
5
|
export declare const LAYOUT_REGIONS_QUERY = "\n query LayoutRegions {\n blockManifest { get { regions } }\n }\n";
|
|
6
6
|
export declare const PAGE_REGION_SETTINGS_QUERY = "\n query PageRegionSettings($pageId: ID!) {\n page { get(pageId: $pageId) {\n id\n version\n layoutRegionSettings { region values }\n } }\n }\n";
|
|
@@ -18,9 +18,9 @@ export declare const MEDIA_FOLDERS_QUERY = "\n query MediaFolders($parentId: ID
|
|
|
18
18
|
export declare const CREATE_MEDIA_FOLDER_MUTATION = "\n mutation CreateMediaFolder($input: CreateMediaFolderInput!) {\n media {\n createFolder(input: $input) {\n id\n name\n parentId\n }\n }\n }\n";
|
|
19
19
|
export declare const UPDATE_MEDIA_FOLDER_MUTATION = "\n mutation UpdateMediaFolder($id: ID!, $input: UpdateMediaFolderInput!) {\n media {\n updateFolder(id: $id, input: $input) {\n id\n name\n parentId\n }\n }\n }\n";
|
|
20
20
|
export declare const DELETE_MEDIA_FOLDER_MUTATION = "\n mutation DeleteMediaFolder($id: ID!, $deleteContents: Boolean, $force: Boolean) {\n media {\n deleteFolder(id: $id, deleteContents: $deleteContents, force: $force) {\n id\n deleted\n }\n }\n }\n";
|
|
21
|
-
export declare const SAVE_PAGE_MUTATION = "\n mutation SavePage($input: SavePageInput!) {\n page { save(input: $input) {\n id\n blockWarnings\n version\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n customFields { fieldKey value }\n published\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n pageType\n parentId\n blocks {\n id\n type\n content\n settings\n style\n advanced\n
|
|
21
|
+
export declare const SAVE_PAGE_MUTATION = "\n mutation SavePage($input: SavePageInput!) {\n page { save(input: $input) {\n id\n blockWarnings\n version\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n customFields { fieldKey value }\n published\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n pageType\n parentId\n blocks {\n id\n type\n content: contentWithShared\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n createdAt\n updatedAt\n } }\n }\n";
|
|
22
22
|
export declare const PATCH_BLOCK_CONTENT_MUTATION = "\n mutation PatchBlockContent($input: PatchBlockContentInput!) {\n page { patchBlockContent(input: $input) {\n id\n blockWarnings\n slug\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n } }\n }\n";
|
|
23
|
-
export declare const DEV_DRAFT_QUERY = "\n query DevDraft($pageId: String!) {\n page { devDraft(pageId: $pageId) {\n pageId\n updatedAt\n blocks {\n id\n type\n content\n settings\n style\n advanced\n
|
|
23
|
+
export declare const DEV_DRAFT_QUERY = "\n query DevDraft($pageId: String!) {\n page { devDraft(pageId: $pageId) {\n pageId\n updatedAt\n blocks {\n id\n type\n content: contentWithShared\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n } }\n }\n";
|
|
24
24
|
export declare const SAVE_DEV_DRAFT_MUTATION = "\n mutation SaveDevDraft($input: SaveDevDraftInput!) {\n page { saveDevDraft(input: $input) {\n pageId\n updatedAt\n } }\n }\n";
|
|
25
25
|
export declare const PROMOTE_DEV_DRAFT_MUTATION = "\n mutation PromoteDevDraft($input: PromoteDevDraftInput!) {\n page { promoteDevDraft(input: $input) {\n id\n blockWarnings\n updatedAt\n } }\n }\n";
|
|
26
26
|
export declare const UPDATE_PAGE_SETTINGS_MUTATION = "\n mutation UpdatePageSettings($input: UpdatePageSettingsInput!) {\n page { updateSettings(input: $input) {\n id\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n customFields { fieldKey value }\n pageType\n parentId\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n } }\n }\n";
|
|
@@ -31,12 +31,12 @@ export declare const DELETE_PAGE_TYPE_MUTATION = "\n mutation DeletePageType($i
|
|
|
31
31
|
export declare const CREATE_PAGE_TYPE_MUTATION = "\n mutation CreatePageType($input: CreatePageTypeInput!) {\n pageType {\n create(input: $input) {\n id\n name\n slug\n description\n icon\n schemaType\n urlPrefix\n allowChildren\n fields { key label type required description options defaultValue }\n }\n }\n }\n";
|
|
32
32
|
export declare const TAKE_OVER_PAGE_LOCK_MUTATION = "\n mutation TakeOverPageLock($pageId: ID!) {\n page { takeOverLock(pageId: $pageId) {\n lockHolderId\n lockHeldByMe\n } }\n }\n";
|
|
33
33
|
export declare const TOGGLE_PUBLISH_MUTATION = "\n mutation TogglePublish($id: ID!) {\n page { togglePublish(id: $id) {\n id\n slug\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n } }\n }\n";
|
|
34
|
-
export declare const PUBLISH_PAGE_CONTENT_MUTATION = "\n mutation PublishPageContent($id: ID!) {\n page { publishContent(id: $id) {\n id\n slug\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n blocks {\n id\n type\n content\n settings\n style\n advanced\n
|
|
34
|
+
export declare const PUBLISH_PAGE_CONTENT_MUTATION = "\n mutation PublishPageContent($id: ID!) {\n page { publishContent(id: $id) {\n id\n slug\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n blocks {\n id\n type\n content: contentWithShared\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n } }\n }\n";
|
|
35
35
|
export declare const PUBLISH_PAGE_LAYOUT_MUTATION = "\n mutation PublishPageLayout($id: ID!) {\n page { publishLayout(id: $id) {\n id\n slug\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n } }\n }\n";
|
|
36
|
-
export declare const REVERT_CONTENT_TO_PUBLISHED_MUTATION = "\n mutation RevertContentToPublished($id: ID!) {\n page { revertContentToPublished(id: $id) {\n id\n name\n slug\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n blocks {\n id type content settings style advanced\n translations defaultLanguage blockVersion\n }\n } }\n }\n";
|
|
36
|
+
export declare const REVERT_CONTENT_TO_PUBLISHED_MUTATION = "\n mutation RevertContentToPublished($id: ID!) {\n page { revertContentToPublished(id: $id) {\n id\n name\n slug\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n blocks {\n id type content: contentWithShared settings style advanced\n translations defaultLanguage blockVersion\n }\n } }\n }\n";
|
|
37
37
|
export declare const REVERT_LAYOUT_TO_PUBLISHED_MUTATION = "\n mutation RevertLayoutToPublished($id: ID!) {\n page { revertLayoutToPublished(id: $id) {\n id\n name\n slug\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n } }\n }\n";
|
|
38
38
|
export declare const REMOVE_PAGE_MUTATION = "\n mutation RemovePage($id: ID!) {\n page { delete(id: $id) { deleted } }\n }\n";
|
|
39
|
-
export declare const UPDATE_PAGE_LAYOUT_MUTATION = "\n mutation UpdatePageLayout($input: UpdatePageLayoutInput!) {\n page { updateLayout(input: $input) {\n id\n blockWarnings\n slug\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n layoutBlocks {\n id type region order isActive\n content settings style advanced
|
|
39
|
+
export declare const UPDATE_PAGE_LAYOUT_MUTATION = "\n mutation UpdatePageLayout($input: UpdatePageLayoutInput!) {\n page { updateLayout(input: $input) {\n id\n blockWarnings\n slug\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n layoutBlocks {\n id type region order isActive\n content: contentWithShared settings style advanced\n translations defaultLanguage\n metadata { createdAt updatedAt createdBy version }\n blockVersion\n }\n layoutOverrides { region action blockId }\n inheritsLayout\n } }\n }\n";
|
|
40
40
|
export declare const UPDATE_LAYOUT_REGION_SETTINGS_MUTATION = "\n mutation UpdateLayoutRegionSettings($input: UpdatePageLayoutInput!) {\n page { updateLayout(input: $input) {\n id\n version\n blockWarnings\n hasUnpublishedLayoutChanges\n updatedAt\n layoutRegionSettings { region values }\n } }\n }\n";
|
|
41
41
|
export declare const FORMS_QUERY = "\n query Forms($status: String, $skip: Int, $limit: Int) {\n form {\n list(status: $status, skip: $skip, limit: $limit) {\n forms { \n id\n name\n slug\n description\n status\n fields {\n id name fieldType\n label placeholder helpText\n defaultValue\n validation { required minLength maxLength minValue maxValue pattern customMessage }\n options { value label disabled }\n width order showWhen\n }\n settings {\n actionType webhookUrl emailRecipients\n submitButtonLabel successMessage errorMessage\n redirectUrl requireLogin\n saveSubmissions sendEmailNotification emailConfigurationId\n }\n submissionCount\n createdAt updatedAt createdBy updatedBy\n }\n total\n hasMore\n }\n }\n }\n";
|
|
42
42
|
export declare const FORM_BY_ID_QUERY = "\n query Form($formId: ID!) {\n form {\n get(formId: $formId) {\n \n id\n name\n slug\n description\n status\n fields {\n id name fieldType\n label placeholder helpText\n defaultValue\n validation { required minLength maxLength minValue maxValue pattern customMessage }\n options { value label disabled }\n width order showWhen\n }\n settings {\n actionType webhookUrl emailRecipients\n submitButtonLabel successMessage errorMessage\n redirectUrl requireLogin\n saveSubmissions sendEmailNotification emailConfigurationId\n }\n submissionCount\n createdAt updatedAt createdBy updatedBy\n\n }\n }\n }\n";
|
package/dist/queries.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,mZAqBvB,CAAC;AAIF,eAAO,MAAM,kBAAkB,sHAO9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
|
package/dist/queries.js
CHANGED
|
@@ -54,11 +54,10 @@ export const PAGE_BY_ID_QUERY = `
|
|
|
54
54
|
blocks {
|
|
55
55
|
id
|
|
56
56
|
type
|
|
57
|
-
content
|
|
57
|
+
content: contentWithShared
|
|
58
58
|
settings
|
|
59
59
|
style
|
|
60
60
|
advanced
|
|
61
|
-
shared
|
|
62
61
|
translations
|
|
63
62
|
defaultLanguage
|
|
64
63
|
metadata {
|
|
@@ -72,11 +71,10 @@ export const PAGE_BY_ID_QUERY = `
|
|
|
72
71
|
publishedBlocks {
|
|
73
72
|
id
|
|
74
73
|
type
|
|
75
|
-
content
|
|
74
|
+
content: contentWithShared
|
|
76
75
|
settings
|
|
77
76
|
style
|
|
78
77
|
advanced
|
|
79
|
-
shared
|
|
80
78
|
translations
|
|
81
79
|
defaultLanguage
|
|
82
80
|
metadata {
|
|
@@ -89,14 +87,14 @@ export const PAGE_BY_ID_QUERY = `
|
|
|
89
87
|
}
|
|
90
88
|
layoutBlocks {
|
|
91
89
|
id type region order isActive
|
|
92
|
-
content settings style advanced
|
|
90
|
+
content: contentWithShared settings style advanced
|
|
93
91
|
translations defaultLanguage
|
|
94
92
|
metadata { createdAt updatedAt createdBy version }
|
|
95
93
|
blockVersion
|
|
96
94
|
}
|
|
97
95
|
publishedLayoutBlocks {
|
|
98
96
|
id type region order isActive
|
|
99
|
-
content settings style advanced
|
|
97
|
+
content: contentWithShared settings style advanced
|
|
100
98
|
translations defaultLanguage
|
|
101
99
|
metadata { createdAt updatedAt createdBy version }
|
|
102
100
|
blockVersion
|
|
@@ -360,11 +358,10 @@ export const SAVE_PAGE_MUTATION = `
|
|
|
360
358
|
blocks {
|
|
361
359
|
id
|
|
362
360
|
type
|
|
363
|
-
content
|
|
361
|
+
content: contentWithShared
|
|
364
362
|
settings
|
|
365
363
|
style
|
|
366
364
|
advanced
|
|
367
|
-
shared
|
|
368
365
|
translations
|
|
369
366
|
defaultLanguage
|
|
370
367
|
metadata {
|
|
@@ -405,11 +402,10 @@ export const DEV_DRAFT_QUERY = `
|
|
|
405
402
|
blocks {
|
|
406
403
|
id
|
|
407
404
|
type
|
|
408
|
-
content
|
|
405
|
+
content: contentWithShared
|
|
409
406
|
settings
|
|
410
407
|
style
|
|
411
408
|
advanced
|
|
412
|
-
shared
|
|
413
409
|
translations
|
|
414
410
|
defaultLanguage
|
|
415
411
|
metadata {
|
|
@@ -605,11 +601,10 @@ export const PUBLISH_PAGE_CONTENT_MUTATION = `
|
|
|
605
601
|
blocks {
|
|
606
602
|
id
|
|
607
603
|
type
|
|
608
|
-
content
|
|
604
|
+
content: contentWithShared
|
|
609
605
|
settings
|
|
610
606
|
style
|
|
611
607
|
advanced
|
|
612
|
-
shared
|
|
613
608
|
translations
|
|
614
609
|
defaultLanguage
|
|
615
610
|
metadata {
|
|
@@ -646,7 +641,7 @@ export const REVERT_CONTENT_TO_PUBLISHED_MUTATION = `
|
|
|
646
641
|
hasUnpublishedLayoutChanges
|
|
647
642
|
updatedAt
|
|
648
643
|
blocks {
|
|
649
|
-
id type content settings style advanced
|
|
644
|
+
id type content: contentWithShared settings style advanced
|
|
650
645
|
translations defaultLanguage blockVersion
|
|
651
646
|
}
|
|
652
647
|
} }
|
|
@@ -680,7 +675,7 @@ export const UPDATE_PAGE_LAYOUT_MUTATION = `
|
|
|
680
675
|
updatedAt
|
|
681
676
|
layoutBlocks {
|
|
682
677
|
id type region order isActive
|
|
683
|
-
content settings style advanced
|
|
678
|
+
content: contentWithShared settings style advanced
|
|
684
679
|
translations defaultLanguage
|
|
685
680
|
metadata { createdAt updatedAt createdBy version }
|
|
686
681
|
blockVersion
|
package/dist/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB1B,CAAC;AAEF,8EAA8E;AAC9E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;CAOjC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
export interface CatalogueRow {
|
|
3
|
+
name: string;
|
|
4
|
+
permission: string;
|
|
5
|
+
description: string;
|
|
6
|
+
}
|
|
7
|
+
export interface BoundTool {
|
|
8
|
+
description?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface DeclaredTool {
|
|
11
|
+
name: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
requiredPermissions?: readonly string[];
|
|
14
|
+
}
|
|
15
|
+
export declare function catalogueFrom(bound: Record<string, BoundTool>, declared: readonly DeclaredTool[]): CatalogueRow[];
|
|
16
|
+
export declare function boundTools(server: unknown): Record<string, BoundTool>;
|
|
17
|
+
export declare function catalogueOfServer(server: McpServer): CatalogueRow[];
|
|
18
|
+
export declare function buildCatalogue(): CatalogueRow[];
|
|
19
|
+
export declare function catalogueDrift(built: readonly CatalogueRow[], published: readonly CatalogueRow[]): string[];
|
|
20
|
+
//# sourceMappingURL=tool-catalogue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-catalogue.d.ts","sourceRoot":"","sources":["../src/tool-catalogue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAChC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAChC,YAAY,EAAE,CAahB;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAUrE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,EAAE,CAcnE;AAED,wBAAgB,cAAc,IAAI,YAAY,EAAE,CAE/C;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,SAAS,EAAE,SAAS,YAAY,EAAE,GACjC,MAAM,EAAE,CAqCV"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { createServer } from "./server.js";
|
|
2
|
+
import { boundDeclarations } from "./ai-tools-binder.js";
|
|
3
|
+
export function catalogueFrom(bound, declared) {
|
|
4
|
+
const byName = new Map(declared.map((tool) => [tool.name, tool]));
|
|
5
|
+
return Object.entries(bound)
|
|
6
|
+
.map(([name, tool]) => {
|
|
7
|
+
const declaration = byName.get(name);
|
|
8
|
+
const description = tool.description ?? declaration?.description ?? "";
|
|
9
|
+
return {
|
|
10
|
+
name,
|
|
11
|
+
permission: (declaration?.requiredPermissions ?? []).join(", "),
|
|
12
|
+
description: description.replace(/\s+/g, " ").trim(),
|
|
13
|
+
};
|
|
14
|
+
})
|
|
15
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
16
|
+
}
|
|
17
|
+
export function boundTools(server) {
|
|
18
|
+
const registered = server._registeredTools;
|
|
19
|
+
if (!registered || Object.keys(registered).length === 0) {
|
|
20
|
+
throw new Error("the server exposes no tools - the MCP SDK no longer keeps them on _registeredTools");
|
|
21
|
+
}
|
|
22
|
+
return registered;
|
|
23
|
+
}
|
|
24
|
+
export function catalogueOfServer(server) {
|
|
25
|
+
const registered = boundTools(server);
|
|
26
|
+
const declared = boundDeclarations(server);
|
|
27
|
+
const undeclared = Object.keys(registered).filter((name) => !declared.has(name));
|
|
28
|
+
if (undeclared.length > 0) {
|
|
29
|
+
throw new Error(`bound without a declaration, so their permissions cannot be published: ${undeclared.join(", ")}`);
|
|
30
|
+
}
|
|
31
|
+
return catalogueFrom(registered, [...declared.values()]);
|
|
32
|
+
}
|
|
33
|
+
export function buildCatalogue() {
|
|
34
|
+
return catalogueOfServer(createServer({}));
|
|
35
|
+
}
|
|
36
|
+
export function catalogueDrift(built, published) {
|
|
37
|
+
const drift = [];
|
|
38
|
+
const live = new Map();
|
|
39
|
+
for (const row of published) {
|
|
40
|
+
if (live.has(row.name)) {
|
|
41
|
+
drift.push(`${row.name} is listed twice on the page`);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
live.set(row.name, row);
|
|
45
|
+
}
|
|
46
|
+
for (const row of built) {
|
|
47
|
+
const onPage = live.get(row.name);
|
|
48
|
+
if (!onPage) {
|
|
49
|
+
drift.push(`${row.name} is not on the page`);
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (onPage.permission !== row.permission) {
|
|
53
|
+
drift.push(`${row.name} requires ${row.permission || "no permission"}, the page says ${onPage.permission || "none"}`);
|
|
54
|
+
}
|
|
55
|
+
if (onPage.description !== row.description) {
|
|
56
|
+
drift.push(`${row.name} is described differently on the page`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const exposed = new Set(built.map((row) => row.name));
|
|
60
|
+
for (const row of published) {
|
|
61
|
+
if (!exposed.has(row.name)) {
|
|
62
|
+
drift.push(`${row.name} is on the page but the server does not expose it`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return drift;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=tool-catalogue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-catalogue.js","sourceRoot":"","sources":["../src/tool-catalogue.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cmssy/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.69.0",
|
|
4
4
|
"description": "MCP server for Cmssy CMS \u2014 enables AI-driven page creation and management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
"sync-schema": "node scripts/sync-schema.mjs",
|
|
13
13
|
"fetch-prod-schema": "node scripts/fetch-prod-schema.mjs",
|
|
14
14
|
"check-schema-drift": "node scripts/check-schema-drift.mjs",
|
|
15
|
+
"catalogue": "pnpm build && node scripts/publish-tool-catalogue.mjs",
|
|
16
|
+
"catalogue:check": "pnpm build && node scripts/publish-tool-catalogue.mjs --check",
|
|
15
17
|
"dev": "tsx src/index.ts",
|
|
16
18
|
"typecheck": "tsc --noEmit",
|
|
17
19
|
"test": "vitest run"
|