@plitzi/sdk-server 0.30.19 → 0.31.1
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/CHANGELOG.md +21 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/helpers/cache/TtlCache.js +2 -0
- package/dist/index.js +6 -1
- package/dist/modules/ai/AIEngine.js +120 -0
- package/dist/modules/mcp/handler.js +35 -16
- package/dist/modules/mcp/helpers.js +75 -0
- package/dist/modules/mcp/resources/glossary/binding.js +73 -0
- package/dist/modules/mcp/resources/glossary/collection.js +76 -0
- package/dist/modules/mcp/resources/glossary/displayMode.js +50 -0
- package/dist/modules/mcp/resources/glossary/element.js +68 -0
- package/dist/modules/mcp/resources/glossary/environment.js +48 -0
- package/dist/modules/mcp/resources/glossary/interaction.js +62 -0
- package/dist/modules/mcp/resources/glossary/page.js +70 -0
- package/dist/modules/mcp/resources/glossary/plugin.js +96 -0
- package/dist/modules/mcp/resources/glossary/resource.js +75 -0
- package/dist/modules/mcp/resources/glossary/schema.js +69 -0
- package/dist/modules/mcp/resources/glossary/schemaVariable.js +60 -0
- package/dist/modules/mcp/resources/glossary/segment.js +59 -0
- package/dist/modules/mcp/resources/glossary/space.js +73 -0
- package/dist/modules/mcp/resources/glossary/style.js +81 -0
- package/dist/modules/mcp/resources/glossary/styleSelector.js +77 -0
- package/dist/modules/mcp/resources/glossary/styleVariable.js +72 -0
- package/dist/modules/mcp/resources/index.js +71 -0
- package/dist/modules/mcp/resources/workflows/data.js +49 -0
- package/dist/modules/mcp/resources/workflows/elements.js +53 -0
- package/dist/modules/mcp/resources/workflows/segments.js +55 -0
- package/dist/modules/mcp/resources/workflows/styles.js +91 -0
- package/dist/modules/mcp/server.js +23 -113
- package/dist/modules/mcp/tools/collections/createCollection.js +25 -0
- package/dist/modules/mcp/tools/collections/createCollectionRecord.js +27 -0
- package/dist/modules/mcp/tools/collections/deleteCollection.js +16 -0
- package/dist/modules/mcp/tools/collections/deleteCollectionRecord.js +16 -0
- package/dist/modules/mcp/tools/collections/getCollection.js +21 -0
- package/dist/modules/mcp/tools/collections/getCollectionRecord.js +25 -0
- package/dist/modules/mcp/tools/collections/getCollectionRecords.js +29 -0
- package/dist/modules/mcp/tools/collections/getCollections.js +19 -0
- package/dist/modules/mcp/tools/collections/updateCollection.js +28 -0
- package/dist/modules/mcp/tools/collections/updateCollectionRecord.js +31 -0
- package/dist/modules/mcp/tools/docs/listResources.js +16 -0
- package/dist/modules/mcp/tools/docs/readResource.js +23 -0
- package/dist/modules/mcp/tools/index.js +150 -0
- package/dist/modules/mcp/tools/plugins/addPlugin.js +24 -0
- package/dist/modules/mcp/tools/plugins/listPlugins.js +20 -0
- package/dist/modules/mcp/tools/plugins/removePlugin.js +16 -0
- package/dist/modules/mcp/tools/plugins/updatePlugin.js +23 -0
- package/dist/modules/mcp/tools/resources/addResource.js +33 -0
- package/dist/modules/mcp/tools/resources/getResource.js +29 -0
- package/dist/modules/mcp/tools/resources/getResources.js +27 -0
- package/dist/modules/mcp/tools/resources/moveResource.js +30 -0
- package/dist/modules/mcp/tools/resources/removeResource.js +19 -0
- package/dist/modules/mcp/tools/segment/createSegment.js +27 -0
- package/dist/modules/mcp/tools/segment/deleteSegment.js +16 -0
- package/dist/modules/mcp/tools/segment/getSegment.js +19 -0
- package/dist/modules/mcp/tools/segment/getSegments.js +27 -0
- package/dist/modules/mcp/tools/segment/schema/elements/createSegmentElement.js +24 -0
- package/dist/modules/mcp/tools/segment/schema/elements/deleteSegmentElement.js +19 -0
- package/dist/modules/mcp/tools/segment/schema/elements/moveSegmentElement.js +28 -0
- package/dist/modules/mcp/tools/segment/schema/elements/updateSegmentElement.js +23 -0
- package/dist/modules/mcp/tools/segment/schema/variables/createSegmentVariable.js +41 -0
- package/dist/modules/mcp/tools/segment/schema/variables/deleteSegmentVariable.js +19 -0
- package/dist/modules/mcp/tools/segment/schema/variables/updateSegmentVariable.js +41 -0
- package/dist/modules/mcp/tools/segment/style/variables/createSegmentStyleVariable.js +34 -0
- package/dist/modules/mcp/tools/segment/style/variables/deleteSegmentStyleVariable.js +21 -0
- package/dist/modules/mcp/tools/segment/style/variables/updateSegmentStyleVariable.js +34 -0
- package/dist/modules/mcp/tools/segment/updateSegment.js +30 -0
- package/dist/modules/mcp/tools/space/schema/applyPreview.js +33 -0
- package/dist/modules/mcp/tools/space/schema/elements/cloneElement.js +34 -0
- package/dist/modules/mcp/tools/space/schema/elements/createElement.js +50 -0
- package/dist/modules/mcp/tools/space/schema/elements/deleteElement.js +16 -0
- package/dist/modules/mcp/tools/space/schema/elements/getElement.js +17 -0
- package/dist/modules/mcp/tools/space/schema/elements/getElements.js +21 -0
- package/dist/modules/mcp/tools/space/schema/elements/listElements.js +28 -0
- package/dist/modules/mcp/tools/space/schema/elements/moveElement.js +27 -0
- package/dist/modules/mcp/tools/space/schema/elements/updateElement.js +49 -0
- package/dist/modules/mcp/tools/space/schema/getSpaceSettings.js +46 -0
- package/dist/modules/mcp/tools/space/schema/pageFolders/createPageFolder.js +24 -0
- package/dist/modules/mcp/tools/space/schema/pageFolders/deletePageFolder.js +16 -0
- package/dist/modules/mcp/tools/space/schema/pageFolders/getPageFolder.js +17 -0
- package/dist/modules/mcp/tools/space/schema/pageFolders/getPageFolders.js +17 -0
- package/dist/modules/mcp/tools/space/schema/pageFolders/updatePageFolder.js +28 -0
- package/dist/modules/mcp/tools/space/schema/pages/createPage.js +37 -0
- package/dist/modules/mcp/tools/space/schema/pages/deletePage.js +16 -0
- package/dist/modules/mcp/tools/space/schema/pages/getPage.js +28 -0
- package/dist/modules/mcp/tools/space/schema/pages/getPageBySlug.js +17 -0
- package/dist/modules/mcp/tools/space/schema/pages/getPages.js +17 -0
- package/dist/modules/mcp/tools/space/schema/pages/updatePage.js +25 -0
- package/dist/modules/mcp/tools/space/schema/schemas.js +53 -0
- package/dist/modules/mcp/tools/space/schema/updateSpaceSettings.js +23 -0
- package/dist/modules/mcp/tools/space/schema/variables/createVariable.js +38 -0
- package/dist/modules/mcp/tools/space/schema/variables/deleteVariable.js +16 -0
- package/dist/modules/mcp/tools/space/schema/variables/getVariable.js +17 -0
- package/dist/modules/mcp/tools/space/schema/variables/getVariables.js +17 -0
- package/dist/modules/mcp/tools/space/schema/variables/updateVariable.js +38 -0
- package/dist/modules/mcp/tools/space/style/selectors/createStyleSelector.js +37 -0
- package/dist/modules/mcp/tools/space/style/selectors/deleteStyleSelector.js +24 -0
- package/dist/modules/mcp/tools/space/style/selectors/getStyleSelectors.js +20 -0
- package/dist/modules/mcp/tools/space/style/selectors/updateStyleSelector.js +37 -0
- package/dist/modules/mcp/tools/space/style/variables/createStyleVariable.js +33 -0
- package/dist/modules/mcp/tools/space/style/variables/deleteStyleVariable.js +20 -0
- package/dist/modules/mcp/tools/space/style/variables/getStyleVariable.js +19 -0
- package/dist/modules/mcp/tools/space/style/variables/getStyleVariables.js +16 -0
- package/dist/modules/mcp/tools/space/style/variables/updateStyleVariable.js +33 -0
- package/dist/package.js +62 -0
- package/dist/package.json.d.ts +67 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/modules/ai/AIEngine.d.ts +20 -0
- package/dist/src/modules/ai/index.d.ts +3 -0
- package/dist/src/modules/mcp/handler.d.ts +5 -2
- package/dist/src/modules/mcp/helpers.d.ts +9 -0
- package/dist/src/modules/mcp/helpers.test.d.ts +1 -0
- package/dist/src/modules/mcp/index.d.ts +5 -0
- package/dist/src/modules/mcp/resources/glossary/binding.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/collection.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/displayMode.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/element.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/environment.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/interaction.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/page.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/plugin.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/resource.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/schema.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/schemaVariable.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/segment.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/space.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/style.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/styleSelector.d.ts +7 -0
- package/dist/src/modules/mcp/resources/glossary/styleVariable.d.ts +7 -0
- package/dist/src/modules/mcp/resources/index.d.ts +10 -0
- package/dist/src/modules/mcp/resources/workflows/data.d.ts +7 -0
- package/dist/src/modules/mcp/resources/workflows/elements.d.ts +7 -0
- package/dist/src/modules/mcp/resources/workflows/segments.d.ts +7 -0
- package/dist/src/modules/mcp/resources/workflows/styles.d.ts +7 -0
- package/dist/src/modules/mcp/server.d.ts +4 -3
- package/dist/src/modules/mcp/tools/collections/collections.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/collections/createCollection.d.ts +3 -0
- package/dist/src/modules/mcp/tools/collections/createCollectionRecord.d.ts +3 -0
- package/dist/src/modules/mcp/tools/collections/deleteCollection.d.ts +3 -0
- package/dist/src/modules/mcp/tools/collections/deleteCollectionRecord.d.ts +3 -0
- package/dist/src/modules/mcp/tools/collections/getCollection.d.ts +3 -0
- package/dist/src/modules/mcp/tools/collections/getCollectionRecord.d.ts +3 -0
- package/dist/src/modules/mcp/tools/collections/getCollectionRecords.d.ts +3 -0
- package/dist/src/modules/mcp/tools/collections/getCollections.d.ts +3 -0
- package/dist/src/modules/mcp/tools/collections/index.d.ts +10 -0
- package/dist/src/modules/mcp/tools/collections/updateCollection.d.ts +3 -0
- package/dist/src/modules/mcp/tools/collections/updateCollectionRecord.d.ts +3 -0
- package/dist/src/modules/mcp/tools/docs/index.d.ts +2 -0
- package/dist/src/modules/mcp/tools/docs/listResources.d.ts +3 -0
- package/dist/src/modules/mcp/tools/docs/readResource.d.ts +3 -0
- package/dist/src/modules/mcp/tools/index.d.ts +6 -0
- package/dist/src/modules/mcp/tools/plugins/addPlugin.d.ts +3 -0
- package/dist/src/modules/mcp/tools/plugins/index.d.ts +5 -0
- package/dist/src/modules/mcp/tools/plugins/listPlugins.d.ts +3 -0
- package/dist/src/modules/mcp/tools/plugins/plugins.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/plugins/removePlugin.d.ts +3 -0
- package/dist/src/modules/mcp/tools/plugins/updatePlugin.d.ts +3 -0
- package/dist/src/modules/mcp/tools/resources/addResource.d.ts +3 -0
- package/dist/src/modules/mcp/tools/resources/getResource.d.ts +3 -0
- package/dist/src/modules/mcp/tools/resources/getResources.d.ts +3 -0
- package/dist/src/modules/mcp/tools/resources/index.d.ts +6 -0
- package/dist/src/modules/mcp/tools/resources/moveResource.d.ts +3 -0
- package/dist/src/modules/mcp/tools/resources/removeResource.d.ts +3 -0
- package/dist/src/modules/mcp/tools/resources/resources.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/segment/createSegment.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/deleteSegment.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/getSegment.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/getSegments.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/index.d.ts +8 -0
- package/dist/src/modules/mcp/tools/segment/schema/elements/createSegmentElement.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/schema/elements/deleteSegmentElement.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/schema/elements/index.d.ts +5 -0
- package/dist/src/modules/mcp/tools/segment/schema/elements/moveSegmentElement.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/schema/elements/segmentElements.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/segment/schema/elements/updateSegmentElement.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/schema/index.d.ts +2 -0
- package/dist/src/modules/mcp/tools/segment/schema/variables/createSegmentVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/schema/variables/deleteSegmentVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/schema/variables/index.d.ts +4 -0
- package/dist/src/modules/mcp/tools/segment/schema/variables/segmentVariables.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/segment/schema/variables/updateSegmentVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/segment.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/segment/style/index.d.ts +1 -0
- package/dist/src/modules/mcp/tools/segment/style/variables/createSegmentStyleVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/style/variables/deleteSegmentStyleVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/style/variables/index.d.ts +4 -0
- package/dist/src/modules/mcp/tools/segment/style/variables/segmentStyleVariables.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/segment/style/variables/updateSegmentStyleVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/segment/updateSegment.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/index.d.ts +2 -0
- package/dist/src/modules/mcp/tools/space/schema/applyPreview.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/elements/cloneElement.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/elements/createElement.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/elements/deleteElement.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/elements/elements.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/space/schema/elements/getElement.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/elements/getElements.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/elements/index.d.ts +9 -0
- package/dist/src/modules/mcp/tools/space/schema/elements/listElements.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/elements/moveElement.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/elements/updateElement.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/getSpaceSettings.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/index.d.ts +8 -0
- package/dist/src/modules/mcp/tools/space/schema/pageFolders/createPageFolder.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/pageFolders/deletePageFolder.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/pageFolders/getPageFolder.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/pageFolders/getPageFolders.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/pageFolders/index.d.ts +6 -0
- package/dist/src/modules/mcp/tools/space/schema/pageFolders/pageFolders.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/space/schema/pageFolders/updatePageFolder.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/pages/createPage.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/pages/deletePage.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/pages/getPage.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/pages/getPageBySlug.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/pages/getPages.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/pages/index.d.ts +7 -0
- package/dist/src/modules/mcp/tools/space/schema/pages/pages.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/space/schema/pages/updatePage.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/schemas.d.ts +66 -0
- package/dist/src/modules/mcp/tools/space/schema/updateSpaceSettings.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/variables/createVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/variables/deleteVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/variables/getVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/variables/getVariables.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/variables/index.d.ts +6 -0
- package/dist/src/modules/mcp/tools/space/schema/variables/updateVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/schema/variables/variables.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/space/space.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/space/style/index.d.ts +2 -0
- package/dist/src/modules/mcp/tools/space/style/selectors/createStyleSelector.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/style/selectors/deleteStyleSelector.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/style/selectors/getStyleSelectors.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/style/selectors/index.d.ts +5 -0
- package/dist/src/modules/mcp/tools/space/style/selectors/styleSelectors.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/space/style/selectors/updateStyleSelector.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/style/variables/createStyleVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/style/variables/deleteStyleVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/style/variables/getStyleVariable.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/style/variables/getStyleVariables.d.ts +3 -0
- package/dist/src/modules/mcp/tools/space/style/variables/index.d.ts +6 -0
- package/dist/src/modules/mcp/tools/space/style/variables/styleVariables.test.d.ts +1 -0
- package/dist/src/modules/mcp/tools/space/style/variables/updateStyleVariable.d.ts +3 -0
- package/package.json +18 -14
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/createSegment.ts
|
|
4
|
+
var createSegmentTool = {
|
|
5
|
+
name: "create_segment",
|
|
6
|
+
adapterName: "createSegment",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Create Segment",
|
|
9
|
+
description: "Create a new segment — a reusable UI template with its own isolated schema and style.\n\nAfter creating, use create_segment_element to add elements inside it. The output includes baseElementId — the root element ID for the segment.",
|
|
10
|
+
inputSchema: z.object({
|
|
11
|
+
name: z.string().describe("Name of the segment"),
|
|
12
|
+
description: z.string().describe("Description of the segment")
|
|
13
|
+
}),
|
|
14
|
+
outputSchema: z.object({
|
|
15
|
+
identifier: z.string().describe("Segment identifier"),
|
|
16
|
+
definition: z.object({
|
|
17
|
+
name: z.string().describe("Segment name"),
|
|
18
|
+
description: z.string().describe("Segment description"),
|
|
19
|
+
baseElementId: z.string().describe("Root element ID")
|
|
20
|
+
}).describe("Segment definition"),
|
|
21
|
+
id: z.string().optional().describe("Segment ID")
|
|
22
|
+
}).describe("The created segment")
|
|
23
|
+
},
|
|
24
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
export { createSegmentTool as default };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/deleteSegment.ts
|
|
4
|
+
var deleteSegmentTool = {
|
|
5
|
+
name: "delete_segment",
|
|
6
|
+
adapterName: "deleteSegment",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Delete Segment",
|
|
9
|
+
description: "Delete a segment and its entire isolated schema and style. This action cannot be undone.",
|
|
10
|
+
inputSchema: z.object({ segmentId: z.string().describe("ID of the segment to delete") }),
|
|
11
|
+
outputSchema: z.literal(true).describe("Always true on successful deletion")
|
|
12
|
+
},
|
|
13
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { deleteSegmentTool as default };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/getSegment.ts
|
|
4
|
+
var getSegmentTool = {
|
|
5
|
+
name: "get_segment",
|
|
6
|
+
adapterName: "getSegment",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Get Segment",
|
|
9
|
+
description: "Get the full details of a specific segment by ID or identifier — includes its schema (element tree) and style.\n\nUse get_segments to list available segments first if you do not know the ID or identifier.",
|
|
10
|
+
inputSchema: z.object({
|
|
11
|
+
segmentId: z.string().optional().describe("Segment ID (_id). Provide either segmentId or identifier."),
|
|
12
|
+
identifier: z.string().optional().describe("Segment identifier string. Provide either segmentId or identifier.")
|
|
13
|
+
}),
|
|
14
|
+
outputSchema: z.record(z.string(), z.unknown()).nullable().describe("Full segment object including schema and style, or null if not found")
|
|
15
|
+
},
|
|
16
|
+
definition: { allowedModes: getAllowedModes("read") }
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { getSegmentTool as default };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/getSegments.ts
|
|
4
|
+
var getSegmentsTool = {
|
|
5
|
+
name: "get_segments",
|
|
6
|
+
adapterName: "getSegments",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Get Segments",
|
|
9
|
+
description: "List all segments in the space — reusable UI templates with their own isolated schema and style.\n\nReturns name, identifier, and base element ID for each segment. Use get_segment with a segmentId to fetch the full schema and style of a specific segment.",
|
|
10
|
+
inputSchema: z.object({
|
|
11
|
+
cursor: z.string().optional().describe("Pagination cursor from a previous response"),
|
|
12
|
+
limit: z.number().int().min(1).max(100).optional().default(20).describe("Maximum number of segments to return")
|
|
13
|
+
}),
|
|
14
|
+
outputSchema: z.array(z.object({
|
|
15
|
+
id: z.string().optional().describe("Segment ID"),
|
|
16
|
+
identifier: z.string().describe("Segment identifier"),
|
|
17
|
+
definition: z.object({
|
|
18
|
+
name: z.string().describe("Segment name"),
|
|
19
|
+
description: z.string().optional().describe("Segment description"),
|
|
20
|
+
baseElementId: z.string().optional().describe("Root element ID")
|
|
21
|
+
}).describe("Segment metadata")
|
|
22
|
+
})).describe("List of segments")
|
|
23
|
+
},
|
|
24
|
+
definition: { allowedModes: getAllowedModes("read") }
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
export { getSegmentsTool as default };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/schema/elements/createSegmentElement.ts
|
|
4
|
+
var createSegmentElementTool = {
|
|
5
|
+
name: "create_segment_element",
|
|
6
|
+
adapterName: "createSegmentElement",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Create Segment Element",
|
|
9
|
+
description: "Add an element (component instance) to a segment schema.",
|
|
10
|
+
inputSchema: z.object({
|
|
11
|
+
segmentId: z.string().describe("ID of the segment"),
|
|
12
|
+
element: z.object({
|
|
13
|
+
type: z.string().describe("Element type identifier — same values as create_element. Get valid values from get_builder_context (elementDefaults keys)."),
|
|
14
|
+
label: z.string().describe("Human-readable name for the element"),
|
|
15
|
+
props: z.record(z.string(), z.unknown()).optional().describe("Component props")
|
|
16
|
+
}).describe("Element to add"),
|
|
17
|
+
parentId: z.string().describe("Parent element ID — use the segment baseElementId as the root parent, or any existing segment element ID")
|
|
18
|
+
}),
|
|
19
|
+
outputSchema: z.object({ id: z.string().describe("Generated element ID") }).catchall(z.unknown()).describe("The created segment element")
|
|
20
|
+
},
|
|
21
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { createSegmentElementTool as default };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/schema/elements/deleteSegmentElement.ts
|
|
4
|
+
var deleteSegmentElementTool = {
|
|
5
|
+
name: "delete_segment_element",
|
|
6
|
+
adapterName: "deleteSegmentElement",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Delete Segment Element",
|
|
9
|
+
description: "Remove an element from a segment.",
|
|
10
|
+
inputSchema: z.object({
|
|
11
|
+
segmentId: z.string().describe("ID of the segment"),
|
|
12
|
+
elementId: z.string().describe("ID of the element to remove")
|
|
13
|
+
}),
|
|
14
|
+
outputSchema: z.literal(true).describe("Always true on successful deletion")
|
|
15
|
+
},
|
|
16
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { deleteSegmentElementTool as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/schema/elements/moveSegmentElement.ts
|
|
4
|
+
var moveSegmentElementTool = {
|
|
5
|
+
name: "move_segment_element",
|
|
6
|
+
adapterName: "moveSegmentElement",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Move Segment Element",
|
|
9
|
+
description: "Move an element to a different parent or reorder it within its current parent inside a segment.",
|
|
10
|
+
inputSchema: z.object({
|
|
11
|
+
segmentId: z.string().describe("ID of the segment"),
|
|
12
|
+
elementId: z.string().describe("ID of the element to move"),
|
|
13
|
+
toParentId: z.string().describe("ID of the new parent element"),
|
|
14
|
+
dropPosition: z.enum([
|
|
15
|
+
"top",
|
|
16
|
+
"bottom",
|
|
17
|
+
"left",
|
|
18
|
+
"right",
|
|
19
|
+
"inside",
|
|
20
|
+
"custom"
|
|
21
|
+
]).optional().describe("Where to drop relative to the target parent: \"inside\" appends as last child (default), \"top\"/\"bottom\" inserts before/after siblings")
|
|
22
|
+
}),
|
|
23
|
+
outputSchema: z.literal(true).describe("Always true on successful move")
|
|
24
|
+
},
|
|
25
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { moveSegmentElementTool as default };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/schema/elements/updateSegmentElement.ts
|
|
4
|
+
var updateSegmentElementTool = {
|
|
5
|
+
name: "update_segment_element",
|
|
6
|
+
adapterName: "updateSegmentElement",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Update Segment Element",
|
|
9
|
+
description: "Update an element inside a segment.",
|
|
10
|
+
inputSchema: z.object({
|
|
11
|
+
segmentId: z.string().describe("ID of the segment"),
|
|
12
|
+
elementId: z.string().describe("ID of the element to update"),
|
|
13
|
+
updates: z.object({
|
|
14
|
+
label: z.string().optional().describe("New label for the element"),
|
|
15
|
+
props: z.record(z.string(), z.unknown()).optional().describe("New props for the element")
|
|
16
|
+
}).describe("Fields to update")
|
|
17
|
+
}),
|
|
18
|
+
outputSchema: z.object({ id: z.string().describe("Element ID") }).catchall(z.unknown()).describe("The updated segment element")
|
|
19
|
+
},
|
|
20
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { updateSegmentElementTool as default };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/schema/variables/createSegmentVariable.ts
|
|
4
|
+
var variableTypesSchema = z.enum([
|
|
5
|
+
"text",
|
|
6
|
+
"number",
|
|
7
|
+
"email",
|
|
8
|
+
"password",
|
|
9
|
+
"select",
|
|
10
|
+
"select2",
|
|
11
|
+
"checkbox",
|
|
12
|
+
"textarea",
|
|
13
|
+
"color",
|
|
14
|
+
"switch"
|
|
15
|
+
]);
|
|
16
|
+
var createSegmentVariableTool = {
|
|
17
|
+
name: "create_segment_variable",
|
|
18
|
+
adapterName: "createSegmentVariable",
|
|
19
|
+
mcpDefinition: {
|
|
20
|
+
title: "Create Segment Variable",
|
|
21
|
+
description: "Create a schema variable inside a segment — a typed, named value that segment elements can reference via data bindings.\n\nAll values are stored as strings regardless of type.",
|
|
22
|
+
inputSchema: z.object({
|
|
23
|
+
segmentId: z.string().describe("ID of the segment"),
|
|
24
|
+
variable: z.object({
|
|
25
|
+
name: z.string().describe("Variable name"),
|
|
26
|
+
type: variableTypesSchema.describe("Variable type"),
|
|
27
|
+
value: z.string().describe("Variable default value"),
|
|
28
|
+
category: z.string().describe("Grouping label shown in the builder UI (e.g. \"Colors\", \"Layout\")")
|
|
29
|
+
}).describe("Variable to create")
|
|
30
|
+
}),
|
|
31
|
+
outputSchema: z.object({
|
|
32
|
+
name: z.string().describe("Variable name"),
|
|
33
|
+
type: z.string().describe("Variable type"),
|
|
34
|
+
value: z.string().describe("Variable value"),
|
|
35
|
+
category: z.string().describe("Grouping label shown in the builder UI (e.g. \"Colors\", \"Layout\")")
|
|
36
|
+
}).describe("The created segment variable")
|
|
37
|
+
},
|
|
38
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
39
|
+
};
|
|
40
|
+
//#endregion
|
|
41
|
+
export { createSegmentVariableTool as default };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/schema/variables/deleteSegmentVariable.ts
|
|
4
|
+
var deleteSegmentVariableTool = {
|
|
5
|
+
name: "delete_segment_variable",
|
|
6
|
+
adapterName: "deleteSegmentVariable",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Delete Segment Variable",
|
|
9
|
+
description: "Delete a schema variable from a segment. Any element bindings referencing this variable will break.",
|
|
10
|
+
inputSchema: z.object({
|
|
11
|
+
segmentId: z.string().describe("ID of the segment"),
|
|
12
|
+
name: z.string().describe("Name of the variable to delete")
|
|
13
|
+
}),
|
|
14
|
+
outputSchema: z.literal(true).describe("Always true on successful deletion")
|
|
15
|
+
},
|
|
16
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { deleteSegmentVariableTool as default };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/schema/variables/updateSegmentVariable.ts
|
|
4
|
+
var variableTypesSchema = z.enum([
|
|
5
|
+
"text",
|
|
6
|
+
"number",
|
|
7
|
+
"email",
|
|
8
|
+
"password",
|
|
9
|
+
"select",
|
|
10
|
+
"select2",
|
|
11
|
+
"checkbox",
|
|
12
|
+
"textarea",
|
|
13
|
+
"color",
|
|
14
|
+
"switch"
|
|
15
|
+
]);
|
|
16
|
+
var updateSegmentVariableTool = {
|
|
17
|
+
name: "update_segment_variable",
|
|
18
|
+
adapterName: "updateSegmentVariable",
|
|
19
|
+
mcpDefinition: {
|
|
20
|
+
title: "Update Segment Variable",
|
|
21
|
+
description: "Update an existing schema variable inside a segment. Identified by name; only the provided fields are changed.",
|
|
22
|
+
inputSchema: z.object({
|
|
23
|
+
segmentId: z.string().describe("ID of the segment"),
|
|
24
|
+
variable: z.object({
|
|
25
|
+
name: z.string().describe("Variable name"),
|
|
26
|
+
type: variableTypesSchema.optional().describe("Variable type"),
|
|
27
|
+
value: z.string().optional().describe("Variable value"),
|
|
28
|
+
category: z.string().optional().describe("Grouping label shown in the builder UI")
|
|
29
|
+
}).describe("Variable fields to update")
|
|
30
|
+
}),
|
|
31
|
+
outputSchema: z.object({
|
|
32
|
+
name: z.string().describe("Variable name"),
|
|
33
|
+
type: z.string().describe("Variable type"),
|
|
34
|
+
value: z.string().describe("Variable value"),
|
|
35
|
+
category: z.string().describe("Grouping label shown in the builder UI")
|
|
36
|
+
}).describe("The updated segment variable")
|
|
37
|
+
},
|
|
38
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
39
|
+
};
|
|
40
|
+
//#endregion
|
|
41
|
+
export { updateSegmentVariableTool as default };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { StyleVariableCategory } from "@plitzi/sdk-shared";
|
|
4
|
+
//#region src/modules/mcp/tools/segment/style/variables/createSegmentStyleVariable.ts
|
|
5
|
+
var createSegmentStyleVariableTool = {
|
|
6
|
+
name: "create_segment_style_variable",
|
|
7
|
+
adapterName: "createSegmentStyleVariable",
|
|
8
|
+
mcpDefinition: {
|
|
9
|
+
title: "Create Segment Style Variable",
|
|
10
|
+
description: "Create a scoped CSS design token inside a segment — a named value for color, spacing, shadow, or a custom CSS property.\n\nColor values can be theme-aware: pass { light: \"#fff\", dark: \"#000\", default: \"#fff\" }. Scoped tokens only apply within this segment.",
|
|
11
|
+
inputSchema: z.object({
|
|
12
|
+
segmentId: z.string().describe("ID of the segment"),
|
|
13
|
+
category: z.nativeEnum(StyleVariableCategory).describe("Token category: \"color\" for hex/rgba values, \"spacing\" for size/spacing units, \"shadow\" for box-shadow values, \"custom\" for any other CSS property"),
|
|
14
|
+
name: z.string().describe("Token name — used as the CSS variable key (e.g. \"primary\", \"md\", \"card\")"),
|
|
15
|
+
value: z.union([
|
|
16
|
+
z.string(),
|
|
17
|
+
z.number(),
|
|
18
|
+
z.record(z.string(), z.unknown())
|
|
19
|
+
]).describe("Token value. Use a plain string/number for a fixed value, or { light: \"...\", dark: \"...\", default: \"...\" } for theme-aware values")
|
|
20
|
+
}),
|
|
21
|
+
outputSchema: z.object({
|
|
22
|
+
category: z.string().describe("Token category: \"color\", \"spacing\", \"shadow\", or \"custom\""),
|
|
23
|
+
name: z.string().describe("Token name"),
|
|
24
|
+
value: z.union([
|
|
25
|
+
z.string(),
|
|
26
|
+
z.number(),
|
|
27
|
+
z.record(z.string(), z.string())
|
|
28
|
+
]).describe("Token value")
|
|
29
|
+
}).describe("The created segment style variable")
|
|
30
|
+
},
|
|
31
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
export { createSegmentStyleVariableTool as default };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { StyleVariableCategory } from "@plitzi/sdk-shared";
|
|
4
|
+
//#region src/modules/mcp/tools/segment/style/variables/deleteSegmentStyleVariable.ts
|
|
5
|
+
var deleteSegmentStyleVariableTool = {
|
|
6
|
+
name: "delete_segment_style_variable",
|
|
7
|
+
adapterName: "deleteSegmentStyleVariable",
|
|
8
|
+
mcpDefinition: {
|
|
9
|
+
title: "Delete Segment Style Variable",
|
|
10
|
+
description: "Delete a scoped CSS design token from a segment. Any style rules inside the segment referencing this token will lose its value.",
|
|
11
|
+
inputSchema: z.object({
|
|
12
|
+
segmentId: z.string().describe("ID of the segment"),
|
|
13
|
+
category: z.nativeEnum(StyleVariableCategory).describe("Token category: \"color\", \"spacing\", \"shadow\", or \"custom\""),
|
|
14
|
+
name: z.string().describe("Token name to delete")
|
|
15
|
+
}),
|
|
16
|
+
outputSchema: z.literal(true).describe("Always true on successful deletion")
|
|
17
|
+
},
|
|
18
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { deleteSegmentStyleVariableTool as default };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { StyleVariableCategory } from "@plitzi/sdk-shared";
|
|
4
|
+
//#region src/modules/mcp/tools/segment/style/variables/updateSegmentStyleVariable.ts
|
|
5
|
+
var updateSegmentStyleVariableTool = {
|
|
6
|
+
name: "update_segment_style_variable",
|
|
7
|
+
adapterName: "updateSegmentStyleVariable",
|
|
8
|
+
mcpDefinition: {
|
|
9
|
+
title: "Update Segment Style Variable",
|
|
10
|
+
description: "Update an existing scoped CSS design token inside a segment (color, spacing, shadow, or custom).",
|
|
11
|
+
inputSchema: z.object({
|
|
12
|
+
segmentId: z.string().describe("ID of the segment"),
|
|
13
|
+
category: z.nativeEnum(StyleVariableCategory).describe("Token category: \"color\" for hex/rgba values, \"spacing\" for size/spacing units, \"shadow\" for box-shadow values, \"custom\" for any other CSS property"),
|
|
14
|
+
name: z.string().describe("Token name to update"),
|
|
15
|
+
value: z.union([
|
|
16
|
+
z.string(),
|
|
17
|
+
z.number(),
|
|
18
|
+
z.record(z.string(), z.unknown())
|
|
19
|
+
]).describe("New token value. Use a plain string/number for a fixed value, or { light: \"...\", dark: \"...\", default: \"...\" } for theme-aware values")
|
|
20
|
+
}),
|
|
21
|
+
outputSchema: z.object({
|
|
22
|
+
category: z.string().describe("Token category: \"color\", \"spacing\", \"shadow\", or \"custom\""),
|
|
23
|
+
name: z.string().describe("Token name"),
|
|
24
|
+
value: z.union([
|
|
25
|
+
z.string(),
|
|
26
|
+
z.number(),
|
|
27
|
+
z.record(z.string(), z.string())
|
|
28
|
+
]).describe("Updated token value")
|
|
29
|
+
}).describe("The updated segment style variable")
|
|
30
|
+
},
|
|
31
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
export { updateSegmentStyleVariableTool as default };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/segment/updateSegment.ts
|
|
4
|
+
var updateSegmentTool = {
|
|
5
|
+
name: "update_segment",
|
|
6
|
+
adapterName: "updateSegment",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Update Segment",
|
|
9
|
+
description: "Update a segment name or description.",
|
|
10
|
+
inputSchema: z.object({
|
|
11
|
+
segmentId: z.string().describe("ID of the segment to update"),
|
|
12
|
+
updates: z.object({
|
|
13
|
+
name: z.string().optional().describe("New name for the segment"),
|
|
14
|
+
description: z.string().optional().describe("New description for the segment")
|
|
15
|
+
}).describe("Fields to update")
|
|
16
|
+
}),
|
|
17
|
+
outputSchema: z.object({
|
|
18
|
+
identifier: z.string().describe("Segment identifier"),
|
|
19
|
+
definition: z.object({
|
|
20
|
+
name: z.string().describe("Segment name"),
|
|
21
|
+
description: z.string().describe("Segment description"),
|
|
22
|
+
baseElementId: z.string().describe("Root element ID")
|
|
23
|
+
}).describe("Segment definition"),
|
|
24
|
+
id: z.string().optional().describe("Segment ID")
|
|
25
|
+
}).describe("The updated segment")
|
|
26
|
+
},
|
|
27
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
28
|
+
};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { updateSegmentTool as default };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/space/schema/applyPreview.ts
|
|
4
|
+
var applyPreviewTool = {
|
|
5
|
+
name: "apply_preview",
|
|
6
|
+
adapterName: "applyPreview",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Apply Preview",
|
|
9
|
+
description: "Insert a preview (from preview_concept or sketch_wireframe) into the actual space schema.\n\nTakes the schema and style from a previous preview result and writes them to the space. Use targetParentId to specify which existing element the preview should be inserted into (e.g. the current page ID). Optionally merges the preview style into the space style.",
|
|
10
|
+
inputSchema: z.object({
|
|
11
|
+
schema: z.object({ flat: z.record(z.string(), z.unknown()) }).describe("Preview schema containing the flat element map"),
|
|
12
|
+
style: z.record(z.string(), z.unknown()).optional().describe("Preview style to merge into the space style"),
|
|
13
|
+
baseElementId: z.string().describe("Root element ID of the preview to insert"),
|
|
14
|
+
targetParentId: z.string().describe("ID of the existing space element to insert the preview into"),
|
|
15
|
+
dropPosition: z.enum([
|
|
16
|
+
"inside",
|
|
17
|
+
"top",
|
|
18
|
+
"bottom",
|
|
19
|
+
"left",
|
|
20
|
+
"right",
|
|
21
|
+
"custom"
|
|
22
|
+
]).optional().default("inside").describe("Where to place the preview relative to the target (default: inside as a child)")
|
|
23
|
+
}),
|
|
24
|
+
outputSchema: z.object({
|
|
25
|
+
baseElementId: z.string().describe("Root element ID that was inserted"),
|
|
26
|
+
targetParentId: z.string().describe("Parent element where the preview was inserted"),
|
|
27
|
+
elementCount: z.number().describe("Total number of elements inserted")
|
|
28
|
+
})
|
|
29
|
+
},
|
|
30
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
export { applyPreviewTool as default };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/space/schema/elements/cloneElement.ts
|
|
4
|
+
var compactElementSchema = z.object({
|
|
5
|
+
id: z.string().describe("Element ID"),
|
|
6
|
+
label: z.string().describe("Element label"),
|
|
7
|
+
type: z.string().describe("Element type"),
|
|
8
|
+
parentId: z.string().nullish().describe("Parent element ID (null for root elements)"),
|
|
9
|
+
items: z.array(z.string()).optional().describe("Child element IDs")
|
|
10
|
+
});
|
|
11
|
+
var cloneElementTool = {
|
|
12
|
+
name: "clone_element",
|
|
13
|
+
adapterName: "cloneElement",
|
|
14
|
+
mcpDefinition: {
|
|
15
|
+
title: "Clone Element",
|
|
16
|
+
description: "Duplicate an element and all its children to a new location in the schema.\n\nThe server fetches the element and its full subtree automatically — just provide the elementId. Use get_element or list_elements first to find the element ID.",
|
|
17
|
+
inputSchema: z.object({
|
|
18
|
+
elementId: z.string().describe("ID of the element to clone"),
|
|
19
|
+
to: z.string().describe("Target element ID — where to place the clone"),
|
|
20
|
+
dropPosition: z.enum([
|
|
21
|
+
"inside",
|
|
22
|
+
"top",
|
|
23
|
+
"bottom",
|
|
24
|
+
"left",
|
|
25
|
+
"right",
|
|
26
|
+
"custom"
|
|
27
|
+
]).describe("Position relative to the target: inside as a child, top/bottom as a sibling")
|
|
28
|
+
}),
|
|
29
|
+
outputSchema: z.array(compactElementSchema).nullable().describe("Cloned elements as compact summaries, or null on failure")
|
|
30
|
+
},
|
|
31
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
export { cloneElementTool as default };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/space/schema/elements/createElement.ts
|
|
4
|
+
var elementSchema = z.object({
|
|
5
|
+
id: z.string().describe("Element ID"),
|
|
6
|
+
attributes: z.record(z.string(), z.unknown()).describe("Element attributes"),
|
|
7
|
+
definition: z.object({
|
|
8
|
+
rootId: z.string().describe("Root element ID"),
|
|
9
|
+
label: z.string().describe("Element label"),
|
|
10
|
+
type: z.string().describe("Element type"),
|
|
11
|
+
parentId: z.string().optional().describe("Parent element ID"),
|
|
12
|
+
items: z.array(z.string()).optional().describe("Child element IDs"),
|
|
13
|
+
runtime: z.enum([
|
|
14
|
+
"server",
|
|
15
|
+
"client",
|
|
16
|
+
"shared"
|
|
17
|
+
]).optional().describe("Rendering runtime"),
|
|
18
|
+
loadStrategy: z.enum([
|
|
19
|
+
"eager",
|
|
20
|
+
"lazy",
|
|
21
|
+
"visible"
|
|
22
|
+
]).optional().describe("Load strategy")
|
|
23
|
+
}).describe("Element definition")
|
|
24
|
+
});
|
|
25
|
+
var createElementTool = {
|
|
26
|
+
name: "create_element",
|
|
27
|
+
adapterName: "createElement",
|
|
28
|
+
mcpDefinition: {
|
|
29
|
+
title: "Create Element",
|
|
30
|
+
description: "Add a new element (component instance) to the schema.",
|
|
31
|
+
inputSchema: z.object({
|
|
32
|
+
element: z.object({
|
|
33
|
+
type: z.string().describe("Element type identifier — determines which component renders this element. Get valid values from get_builder_context (elementDefaults keys) or by inspecting existing elements via get_schema."),
|
|
34
|
+
label: z.string().describe("Human-readable name for the element"),
|
|
35
|
+
props: z.record(z.string(), z.unknown()).optional().describe("Component props/attributes"),
|
|
36
|
+
runtime: z.enum([
|
|
37
|
+
"server",
|
|
38
|
+
"client",
|
|
39
|
+
"shared"
|
|
40
|
+
]).optional().describe("Rendering runtime")
|
|
41
|
+
}).describe("Element to create"),
|
|
42
|
+
parentId: z.string().optional().describe("Parent element ID; omit to place at root"),
|
|
43
|
+
position: z.number().optional().describe("Zero-based insertion index within the parent")
|
|
44
|
+
}),
|
|
45
|
+
outputSchema: elementSchema.describe("The created element")
|
|
46
|
+
},
|
|
47
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
48
|
+
};
|
|
49
|
+
//#endregion
|
|
50
|
+
export { createElementTool as default };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/space/schema/elements/deleteElement.ts
|
|
4
|
+
var deleteElementTool = {
|
|
5
|
+
name: "delete_element",
|
|
6
|
+
adapterName: "deleteElement",
|
|
7
|
+
mcpDefinition: {
|
|
8
|
+
title: "Delete Element",
|
|
9
|
+
description: "Remove an element and all its descendants from the schema. This action cannot be undone.",
|
|
10
|
+
inputSchema: z.object({ elementId: z.string().describe("ID of the element to delete") }),
|
|
11
|
+
outputSchema: z.literal(true).describe("Always true on successful deletion")
|
|
12
|
+
},
|
|
13
|
+
definition: { allowedModes: getAllowedModes("write") }
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { deleteElementTool as default };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { elementSchema } from "../schemas.js";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
//#region src/modules/mcp/tools/space/schema/elements/getElement.ts
|
|
5
|
+
var getElementTool = {
|
|
6
|
+
name: "get_element",
|
|
7
|
+
adapterName: "getElement",
|
|
8
|
+
mcpDefinition: {
|
|
9
|
+
title: "Get Element",
|
|
10
|
+
description: "Get the full details of a single element by ID — attributes, definition, style selectors, bindings, and interactions. Lighter than get_schema when you only need one element.",
|
|
11
|
+
inputSchema: z.object({ elementId: z.string().describe("Element ID") }),
|
|
12
|
+
outputSchema: elementSchema.nullable().describe("The full element details, or null if not found")
|
|
13
|
+
},
|
|
14
|
+
definition: { allowedModes: getAllowedModes("read") }
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { getElementTool as default };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { elementSchema } from "../schemas.js";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
//#region src/modules/mcp/tools/space/schema/elements/getElements.ts
|
|
5
|
+
var getElementsTool = {
|
|
6
|
+
name: "get_elements",
|
|
7
|
+
adapterName: "getElements",
|
|
8
|
+
mcpDefinition: {
|
|
9
|
+
title: "Get Elements",
|
|
10
|
+
description: "Get elements from the space with optional filters.\n\nFilters are combined with AND logic. Use pageId to scope to a specific page, type to find all elements of a certain kind, or parentId to get direct children of an element. For a full unfiltered element list use list_elements. For a single element use get_element.",
|
|
11
|
+
inputSchema: z.object({
|
|
12
|
+
pageId: z.string().optional().describe("Filter elements by page (rootId). Returns only elements belonging to this page"),
|
|
13
|
+
type: z.string().optional().describe("Filter elements by type (e.g. \"button\", \"box\", \"text\")"),
|
|
14
|
+
parentId: z.string().optional().describe("Filter elements by direct parent ID")
|
|
15
|
+
}),
|
|
16
|
+
outputSchema: z.array(elementSchema).describe("Elements matching the provided filters")
|
|
17
|
+
},
|
|
18
|
+
definition: { allowedModes: getAllowedModes("read") }
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { getElementsTool as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { getAllowedModes } from "../../../../helpers.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/modules/mcp/tools/space/schema/elements/listElements.ts
|
|
4
|
+
var inputSchema = z.object({
|
|
5
|
+
rootId: z.string().optional().describe("Filter to elements belonging to a specific page (by page element ID)"),
|
|
6
|
+
parentId: z.string().optional().describe("Filter to direct children of a specific element"),
|
|
7
|
+
type: z.string().optional().describe("Filter by element type (e.g. \"button\", \"box\", \"text\")")
|
|
8
|
+
});
|
|
9
|
+
var compactElementSchema = z.object({
|
|
10
|
+
id: z.string().describe("Element ID"),
|
|
11
|
+
label: z.string().describe("Element label"),
|
|
12
|
+
type: z.string().describe("Element type"),
|
|
13
|
+
parentId: z.string().nullish().describe("Parent element ID (null for root elements)"),
|
|
14
|
+
items: z.array(z.string()).optional().describe("Child element IDs")
|
|
15
|
+
});
|
|
16
|
+
var listElementsTool = {
|
|
17
|
+
name: "list_elements",
|
|
18
|
+
adapterName: "listElements",
|
|
19
|
+
mcpDefinition: {
|
|
20
|
+
title: "List Elements",
|
|
21
|
+
description: "List elements in the space as compact summaries (id, label, type, parentId, items).\n\nUse rootId to scope to a specific page, parentId to get direct children of an element, or type to find all elements of a certain kind. Filters combine with AND logic. Use get_element for the full details of a specific element.",
|
|
22
|
+
inputSchema,
|
|
23
|
+
outputSchema: z.array(compactElementSchema).describe("Matching elements as compact summaries")
|
|
24
|
+
},
|
|
25
|
+
definition: { allowedModes: getAllowedModes("read") }
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { listElementsTool as default };
|