@cplace/test-mcp-server 0.1.13 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -18
- package/dist/api.d.ts +4 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/conditional-registration.d.ts.map +1 -1
- package/dist/conditional-registration.js +3 -1
- package/dist/conditional-registration.js.map +1 -1
- package/dist/index.js +66 -11
- package/dist/index.js.map +1 -1
- package/dist/profiles.d.ts.map +1 -1
- package/dist/profiles.js +13 -8
- package/dist/profiles.js.map +1 -1
- package/dist/tools/generic-layouts.d.ts +30 -0
- package/dist/tools/generic-layouts.d.ts.map +1 -0
- package/dist/tools/generic-layouts.js +458 -0
- package/dist/tools/generic-layouts.js.map +1 -0
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +177 -60
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/system.d.ts +2 -1
- package/dist/tools/system.d.ts.map +1 -1
- package/dist/tools/system.js +65 -1
- package/dist/tools/system.js.map +1 -1
- package/dist/tools/type-layouts.d.ts.map +1 -1
- package/dist/tools/type-layouts.js +38 -0
- package/dist/tools/type-layouts.js.map +1 -1
- package/dist/tools/version-check.d.ts +4 -0
- package/dist/tools/version-check.d.ts.map +1 -0
- package/dist/tools/version-check.js +105 -0
- package/dist/tools/version-check.js.map +1 -0
- package/dist/tools/widgets.d.ts.map +1 -1
- package/dist/tools/widgets.js +117 -273
- package/dist/tools/widgets.js.map +1 -1
- package/dist/url-parsing.d.ts +6 -0
- package/dist/url-parsing.d.ts.map +1 -0
- package/dist/url-parsing.js +25 -0
- package/dist/url-parsing.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { debugLogWithTag } from "../logger.js";
|
|
3
|
+
import { PositionSchema, WIDGET_CONFIG_DESCRIPTION } from './common-schemas.js';
|
|
4
|
+
export const LayoutContextSchema = z.union([
|
|
5
|
+
z.object({
|
|
6
|
+
type: z.literal("page"),
|
|
7
|
+
pageUID: z.string().describe("Page UID (e.g., 'page/abc123')")
|
|
8
|
+
}),
|
|
9
|
+
z.object({
|
|
10
|
+
type: z.literal("type"),
|
|
11
|
+
workspaceId: z.string().describe("Workspace ID (e.g., 'workspace123')"),
|
|
12
|
+
typeInternalName: z.string().describe("Type internal name (e.g., 'cf.example.myType')"),
|
|
13
|
+
alternativeLayoutName: z.string().optional().describe("Alternative layout name (optional)")
|
|
14
|
+
})
|
|
15
|
+
]).describe("Layout target - specify whether operating on page or type layout");
|
|
16
|
+
function determineApiEndpoint(context, operation) {
|
|
17
|
+
const baseEndpoint = context.type === "page" ? "json/pageLayout" : "json/typeLayout";
|
|
18
|
+
return baseEndpoint;
|
|
19
|
+
}
|
|
20
|
+
function buildRequestParams(context, additionalParams = {}) {
|
|
21
|
+
if (context.type === "page") {
|
|
22
|
+
return { pageUID: context.pageUID, ...additionalParams };
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return {
|
|
26
|
+
workspaceId: context.workspaceId,
|
|
27
|
+
typeInternalName: context.typeInternalName,
|
|
28
|
+
...(context.alternativeLayoutName && { alternativeLayoutName: context.alternativeLayoutName }),
|
|
29
|
+
...additionalParams
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async function handleLayoutOperation(client, context, operation, params = {}) {
|
|
34
|
+
const endpoint = determineApiEndpoint(context, operation);
|
|
35
|
+
const requestParams = buildRequestParams(context, params);
|
|
36
|
+
debugLogWithTag('LAYOUT', `${operation} operation on ${context.type} layout via ${endpoint}`);
|
|
37
|
+
if (operation === 'getOverview') {
|
|
38
|
+
return await client.makeApiRequest(endpoint, 'GET', requestParams);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
const requestBody = {
|
|
42
|
+
...requestParams,
|
|
43
|
+
operation: { type: operation, ...params }
|
|
44
|
+
};
|
|
45
|
+
return await client.makeApiRequest(endpoint, 'PATCH', undefined, requestBody);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function mapOperationName(context, operation) {
|
|
49
|
+
const operationMapping = {
|
|
50
|
+
page: {
|
|
51
|
+
'add_widget': 'ADD',
|
|
52
|
+
'remove_widget': 'REMOVE',
|
|
53
|
+
'update_widget': 'UPDATE',
|
|
54
|
+
'move_widget': 'MOVE',
|
|
55
|
+
'add_row': 'ADD_ROW',
|
|
56
|
+
'compact': 'COMPACT'
|
|
57
|
+
},
|
|
58
|
+
type: {
|
|
59
|
+
'add_widget': 'ADD',
|
|
60
|
+
'remove_widget': 'REMOVE',
|
|
61
|
+
'update_widget': 'UPDATE',
|
|
62
|
+
'move_widget': 'MOVE',
|
|
63
|
+
'add_row': 'ADD',
|
|
64
|
+
'compact': 'COMPACT'
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const contextMapping = operationMapping[context.type];
|
|
68
|
+
return contextMapping[operation] || operation;
|
|
69
|
+
}
|
|
70
|
+
export function registerLayoutTools(server, client) {
|
|
71
|
+
server.registerTool("cplace_layout_get_overview", {
|
|
72
|
+
description: "Get layout structure for page or type. Provides an overview of the layout grid including rows, columns, and widget summaries for both page and type layouts.",
|
|
73
|
+
inputSchema: {
|
|
74
|
+
context: LayoutContextSchema
|
|
75
|
+
},
|
|
76
|
+
annotations: { title: "Get Layout Overview" }
|
|
77
|
+
}, async ({ context }) => {
|
|
78
|
+
debugLogWithTag('LAYOUT', `Starting layout overview request for ${context.type} layout`);
|
|
79
|
+
try {
|
|
80
|
+
const result = await handleLayoutOperation(client, context, 'getOverview');
|
|
81
|
+
const overview = {
|
|
82
|
+
context,
|
|
83
|
+
rows: result.rows?.map((row, rowIndex) => ({
|
|
84
|
+
rowIndex,
|
|
85
|
+
columns: row.columns?.map((column, colIndex) => ({
|
|
86
|
+
columnIndex: colIndex,
|
|
87
|
+
proportion: column.proportion,
|
|
88
|
+
widgets: column.widgets?.map((widget) => ({
|
|
89
|
+
id: widget.id,
|
|
90
|
+
widgetType: widget.widgetType,
|
|
91
|
+
configurationCount: widget.configuration?.length || 0
|
|
92
|
+
})) || []
|
|
93
|
+
})) || []
|
|
94
|
+
})) || []
|
|
95
|
+
};
|
|
96
|
+
debugLogWithTag('LAYOUT', `Retrieved ${context.type} layout overview successfully`);
|
|
97
|
+
return {
|
|
98
|
+
content: [{ type: "text", text: JSON.stringify(overview, null, 2) }]
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
debugLogWithTag('LAYOUT', `Error getting layout overview: ${error instanceof Error ? error.message : String(error)}`);
|
|
103
|
+
return {
|
|
104
|
+
content: [{
|
|
105
|
+
type: "text",
|
|
106
|
+
text: `Error getting ${context.type} layout overview: ${error instanceof Error ? error.message : String(error)}`
|
|
107
|
+
}],
|
|
108
|
+
isError: true
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
server.registerTool("cplace_layout_add_widget", {
|
|
113
|
+
description: "Add widget to page or type layout. Works with both page and type layouts using the same interface and behavior.",
|
|
114
|
+
inputSchema: {
|
|
115
|
+
context: LayoutContextSchema,
|
|
116
|
+
widgetType: z.string().describe("Widget type identifier (e.g., 'cf.cplace.platform.table', 'cf.platform.wiki')"),
|
|
117
|
+
position: PositionSchema,
|
|
118
|
+
configuration: z.record(z.any()).optional().describe(WIDGET_CONFIG_DESCRIPTION)
|
|
119
|
+
},
|
|
120
|
+
annotations: { title: "Add Widget to Layout" }
|
|
121
|
+
}, async ({ context, widgetType, position, configuration }) => {
|
|
122
|
+
debugLogWithTag('LAYOUT', `Adding widget ${widgetType} to ${context.type} layout`);
|
|
123
|
+
try {
|
|
124
|
+
const operationType = mapOperationName(context, 'add_widget');
|
|
125
|
+
const operationParams = {
|
|
126
|
+
widgetType,
|
|
127
|
+
position: {
|
|
128
|
+
rowIndex: position.rowIndex,
|
|
129
|
+
columnIndex: position.columnIndex,
|
|
130
|
+
widgetIndex: position.widgetIndex
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
if (configuration && Object.keys(configuration).length > 0) {
|
|
134
|
+
operationParams.configuration = configuration;
|
|
135
|
+
debugLogWithTag('LAYOUT', `Including configuration: ${JSON.stringify(Object.keys(configuration))}`);
|
|
136
|
+
}
|
|
137
|
+
const result = await handleLayoutOperation(client, context, operationType, operationParams);
|
|
138
|
+
debugLogWithTag('LAYOUT', `Successfully added widget to ${context.type} layout`);
|
|
139
|
+
const response = {
|
|
140
|
+
operation: "ADD",
|
|
141
|
+
status: "SUCCESS",
|
|
142
|
+
context,
|
|
143
|
+
widgetType,
|
|
144
|
+
position,
|
|
145
|
+
message: `Widget added successfully to ${context.type} layout`
|
|
146
|
+
};
|
|
147
|
+
return {
|
|
148
|
+
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
debugLogWithTag('LAYOUT', `Error adding widget: ${error instanceof Error ? error.message : String(error)}`);
|
|
153
|
+
const errorResponse = {
|
|
154
|
+
operation: "ADD",
|
|
155
|
+
status: "ERROR",
|
|
156
|
+
context,
|
|
157
|
+
widgetType,
|
|
158
|
+
position,
|
|
159
|
+
error: error instanceof Error ? error.message : String(error),
|
|
160
|
+
message: `Failed to add widget to ${context.type} layout`
|
|
161
|
+
};
|
|
162
|
+
return {
|
|
163
|
+
content: [{ type: "text", text: JSON.stringify(errorResponse, null, 2) }],
|
|
164
|
+
isError: true
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
server.registerTool("cplace_layout_remove_widget", {
|
|
169
|
+
description: "Remove widget from page or type layout. Works with both page and type layouts using the same interface.",
|
|
170
|
+
inputSchema: {
|
|
171
|
+
context: LayoutContextSchema,
|
|
172
|
+
widgetId: z.string().describe("The unique identifier of the widget to remove")
|
|
173
|
+
},
|
|
174
|
+
annotations: { title: "Remove Widget from Layout" }
|
|
175
|
+
}, async ({ context, widgetId }) => {
|
|
176
|
+
debugLogWithTag('LAYOUT', `Removing widget ${widgetId} from ${context.type} layout`);
|
|
177
|
+
try {
|
|
178
|
+
const operationType = mapOperationName(context, 'remove_widget');
|
|
179
|
+
const result = await handleLayoutOperation(client, context, operationType, { widgetId });
|
|
180
|
+
debugLogWithTag('LAYOUT', `Successfully removed widget from ${context.type} layout`);
|
|
181
|
+
const response = {
|
|
182
|
+
operation: "REMOVE",
|
|
183
|
+
status: "SUCCESS",
|
|
184
|
+
context,
|
|
185
|
+
widgetId,
|
|
186
|
+
message: `Widget removed successfully from ${context.type} layout`
|
|
187
|
+
};
|
|
188
|
+
return {
|
|
189
|
+
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
debugLogWithTag('LAYOUT', `Error removing widget: ${error instanceof Error ? error.message : String(error)}`);
|
|
194
|
+
const errorResponse = {
|
|
195
|
+
operation: "REMOVE",
|
|
196
|
+
status: "ERROR",
|
|
197
|
+
context,
|
|
198
|
+
widgetId,
|
|
199
|
+
error: error instanceof Error ? error.message : String(error),
|
|
200
|
+
message: `Failed to remove widget from ${context.type} layout`
|
|
201
|
+
};
|
|
202
|
+
return {
|
|
203
|
+
content: [{ type: "text", text: JSON.stringify(errorResponse, null, 2) }],
|
|
204
|
+
isError: true
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
server.registerTool("cplace_layout_add_row", {
|
|
209
|
+
description: "Add row structure to page or type layout. Creates new row with specific column layout. Essential for multi-column structures as widget placement alone cannot create columns.",
|
|
210
|
+
inputSchema: {
|
|
211
|
+
context: LayoutContextSchema,
|
|
212
|
+
rowIndex: z.number().min(0).describe("Row index where to insert the new row (0-based). If rowIndex >= current row count, adds at the end. Otherwise, inserts at position and shifts existing rows down."),
|
|
213
|
+
columnProportions: z.array(z.number().min(1)).min(1).describe("Array of column width proportions that must sum to 12 (Bootstrap grid system). Examples: [12] (single column), [6,6] (two equal columns), [4,4,4] (three equal columns), [3,9] (sidebar + main)")
|
|
214
|
+
},
|
|
215
|
+
annotations: { title: "Add Row to Layout" }
|
|
216
|
+
}, async ({ context, rowIndex, columnProportions }) => {
|
|
217
|
+
debugLogWithTag('LAYOUT', `Adding row ${rowIndex} with proportions ${JSON.stringify(columnProportions)} to ${context.type} layout`);
|
|
218
|
+
try {
|
|
219
|
+
const operationType = mapOperationName(context, 'add_row');
|
|
220
|
+
const result = await handleLayoutOperation(client, context, operationType, {
|
|
221
|
+
rowIndex,
|
|
222
|
+
columnProportions
|
|
223
|
+
});
|
|
224
|
+
debugLogWithTag('LAYOUT', `Successfully added row to ${context.type} layout`);
|
|
225
|
+
const response = {
|
|
226
|
+
operation: "ADD_ROW",
|
|
227
|
+
status: "SUCCESS",
|
|
228
|
+
context,
|
|
229
|
+
rowIndex,
|
|
230
|
+
columnProportions,
|
|
231
|
+
columnsCreated: columnProportions.length,
|
|
232
|
+
message: `Row added successfully to ${context.type} layout with ${columnProportions.length} column${columnProportions.length === 1 ? '' : 's'} [${columnProportions.join(',')}]`
|
|
233
|
+
};
|
|
234
|
+
return {
|
|
235
|
+
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
debugLogWithTag('LAYOUT', `Error adding row: ${error instanceof Error ? error.message : String(error)}`);
|
|
240
|
+
const errorResponse = {
|
|
241
|
+
operation: "ADD_ROW",
|
|
242
|
+
status: "ERROR",
|
|
243
|
+
context,
|
|
244
|
+
rowIndex,
|
|
245
|
+
columnProportions,
|
|
246
|
+
error: error instanceof Error ? error.message : String(error),
|
|
247
|
+
message: `Failed to add row to ${context.type} layout`
|
|
248
|
+
};
|
|
249
|
+
return {
|
|
250
|
+
content: [{ type: "text", text: JSON.stringify(errorResponse, null, 2) }],
|
|
251
|
+
isError: true
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
server.registerTool("cplace_layout_get_widget_details", {
|
|
256
|
+
description: "Get detailed widget configuration from page or type layout. Extracts specific widget information from the layout structure.",
|
|
257
|
+
inputSchema: {
|
|
258
|
+
context: LayoutContextSchema,
|
|
259
|
+
widgetId: z.string().describe("The unique widget identifier to get details for")
|
|
260
|
+
},
|
|
261
|
+
annotations: { title: "Get Widget Details from Layout" }
|
|
262
|
+
}, async ({ context, widgetId }) => {
|
|
263
|
+
debugLogWithTag('LAYOUT', `Getting widget details for ${widgetId} from ${context.type} layout`);
|
|
264
|
+
try {
|
|
265
|
+
const layoutResult = await handleLayoutOperation(client, context, 'getOverview');
|
|
266
|
+
let foundWidget = null;
|
|
267
|
+
const findWidget = (rows) => {
|
|
268
|
+
for (const row of rows || []) {
|
|
269
|
+
for (const column of row.columns || []) {
|
|
270
|
+
for (const widget of column.widgets || []) {
|
|
271
|
+
if (widget.id === widgetId) {
|
|
272
|
+
return widget;
|
|
273
|
+
}
|
|
274
|
+
if (widget.widgetsLayout?.rows) {
|
|
275
|
+
const nestedWidget = findWidget(widget.widgetsLayout.rows);
|
|
276
|
+
if (nestedWidget)
|
|
277
|
+
return nestedWidget;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
return null;
|
|
283
|
+
};
|
|
284
|
+
foundWidget = findWidget(layoutResult.rows);
|
|
285
|
+
if (!foundWidget) {
|
|
286
|
+
return {
|
|
287
|
+
content: [{ type: "text", text: `Widget with ID ${widgetId} not found in ${context.type} layout` }]
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
debugLogWithTag('LAYOUT', `Retrieved widget details for: ${widgetId} from ${context.type} layout`);
|
|
291
|
+
const response = {
|
|
292
|
+
context,
|
|
293
|
+
widgetId,
|
|
294
|
+
widget: foundWidget
|
|
295
|
+
};
|
|
296
|
+
return {
|
|
297
|
+
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
debugLogWithTag('LAYOUT', `Error getting widget details: ${error instanceof Error ? error.message : String(error)}`);
|
|
302
|
+
return {
|
|
303
|
+
content: [{
|
|
304
|
+
type: "text",
|
|
305
|
+
text: `Error getting widget details from ${context.type} layout: ${error instanceof Error ? error.message : String(error)}`
|
|
306
|
+
}],
|
|
307
|
+
isError: true
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
server.registerTool("cplace_layout_update_widget", {
|
|
312
|
+
description: "Update widget configuration or collapse state in page or type layout. Allows modification of widget properties and display settings.",
|
|
313
|
+
inputSchema: {
|
|
314
|
+
context: LayoutContextSchema,
|
|
315
|
+
widgetId: z.string().describe("The unique identifier of the widget to update"),
|
|
316
|
+
newConfiguration: z.record(z.any()).optional().describe(`Updated widget configuration as key-value pairs (optional). ${WIDGET_CONFIG_DESCRIPTION}`),
|
|
317
|
+
collapsed: z.boolean().optional().describe("Widget collapse state (optional)")
|
|
318
|
+
},
|
|
319
|
+
annotations: { title: "Update Widget in Layout" }
|
|
320
|
+
}, async ({ context, widgetId, newConfiguration, collapsed }) => {
|
|
321
|
+
debugLogWithTag('LAYOUT', `Updating widget ${widgetId} in ${context.type} layout`);
|
|
322
|
+
try {
|
|
323
|
+
const operationType = mapOperationName(context, 'update_widget');
|
|
324
|
+
const operationParams = {
|
|
325
|
+
widgetId
|
|
326
|
+
};
|
|
327
|
+
if (newConfiguration && Object.keys(newConfiguration).length > 0) {
|
|
328
|
+
operationParams.newConfiguration = newConfiguration;
|
|
329
|
+
debugLogWithTag('LAYOUT', `Including new configuration: ${JSON.stringify(Object.keys(newConfiguration))}`);
|
|
330
|
+
}
|
|
331
|
+
if (collapsed !== undefined) {
|
|
332
|
+
operationParams.collapsed = collapsed;
|
|
333
|
+
debugLogWithTag('LAYOUT', `Setting collapsed state to: ${collapsed}`);
|
|
334
|
+
}
|
|
335
|
+
if (!operationParams.newConfiguration && operationParams.collapsed === undefined) {
|
|
336
|
+
return {
|
|
337
|
+
content: [{ type: "text", text: "No updates specified. At least one of newConfiguration or collapsed must be provided." }]
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
const result = await handleLayoutOperation(client, context, operationType, operationParams);
|
|
341
|
+
debugLogWithTag('LAYOUT', `Successfully updated widget in ${context.type} layout`);
|
|
342
|
+
const response = {
|
|
343
|
+
operation: "UPDATE",
|
|
344
|
+
status: "SUCCESS",
|
|
345
|
+
context,
|
|
346
|
+
widgetId,
|
|
347
|
+
message: `Widget updated successfully in ${context.type} layout`
|
|
348
|
+
};
|
|
349
|
+
return {
|
|
350
|
+
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
catch (error) {
|
|
354
|
+
debugLogWithTag('LAYOUT', `Error updating widget: ${error instanceof Error ? error.message : String(error)}`);
|
|
355
|
+
const errorResponse = {
|
|
356
|
+
operation: "UPDATE",
|
|
357
|
+
status: "ERROR",
|
|
358
|
+
context,
|
|
359
|
+
widgetId,
|
|
360
|
+
error: error instanceof Error ? error.message : String(error),
|
|
361
|
+
message: `Failed to update widget in ${context.type} layout`
|
|
362
|
+
};
|
|
363
|
+
return {
|
|
364
|
+
content: [{ type: "text", text: JSON.stringify(errorResponse, null, 2) }],
|
|
365
|
+
isError: true
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
server.registerTool("cplace_layout_move_widget", {
|
|
370
|
+
description: "Move widget to different position in page or type layout. Relocates widget to specified grid position.",
|
|
371
|
+
inputSchema: {
|
|
372
|
+
context: LayoutContextSchema,
|
|
373
|
+
widgetId: z.string().describe("The unique identifier of the widget to move"),
|
|
374
|
+
newPosition: PositionSchema
|
|
375
|
+
},
|
|
376
|
+
annotations: { title: "Move Widget in Layout" }
|
|
377
|
+
}, async ({ context, widgetId, newPosition }) => {
|
|
378
|
+
debugLogWithTag('LAYOUT', `Moving widget ${widgetId} in ${context.type} layout to position ${JSON.stringify(newPosition)}`);
|
|
379
|
+
try {
|
|
380
|
+
const operationType = mapOperationName(context, 'move_widget');
|
|
381
|
+
const operationParams = {
|
|
382
|
+
widgetId,
|
|
383
|
+
newPosition: {
|
|
384
|
+
rowIndex: newPosition.rowIndex,
|
|
385
|
+
columnIndex: newPosition.columnIndex,
|
|
386
|
+
widgetIndex: newPosition.widgetIndex
|
|
387
|
+
}
|
|
388
|
+
};
|
|
389
|
+
const result = await handleLayoutOperation(client, context, operationType, operationParams);
|
|
390
|
+
debugLogWithTag('LAYOUT', `Successfully moved widget in ${context.type} layout`);
|
|
391
|
+
const response = {
|
|
392
|
+
operation: "MOVE",
|
|
393
|
+
status: "SUCCESS",
|
|
394
|
+
context,
|
|
395
|
+
oldWidgetId: widgetId,
|
|
396
|
+
newPosition,
|
|
397
|
+
message: `Widget moved successfully in ${context.type} layout`
|
|
398
|
+
};
|
|
399
|
+
return {
|
|
400
|
+
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
catch (error) {
|
|
404
|
+
debugLogWithTag('LAYOUT', `Error moving widget: ${error instanceof Error ? error.message : String(error)}`);
|
|
405
|
+
const errorResponse = {
|
|
406
|
+
operation: "MOVE",
|
|
407
|
+
status: "ERROR",
|
|
408
|
+
context,
|
|
409
|
+
oldWidgetId: widgetId,
|
|
410
|
+
newPosition,
|
|
411
|
+
error: error instanceof Error ? error.message : String(error),
|
|
412
|
+
message: `Failed to move widget in ${context.type} layout`
|
|
413
|
+
};
|
|
414
|
+
return {
|
|
415
|
+
content: [{ type: "text", text: JSON.stringify(errorResponse, null, 2) }],
|
|
416
|
+
isError: true
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
});
|
|
420
|
+
server.registerTool("cplace_layout_compact", {
|
|
421
|
+
description: "Remove empty rows from page or type layout. Compacts the layout by keeping only rows that contain widgets while preserving order and configurations.",
|
|
422
|
+
inputSchema: {
|
|
423
|
+
context: LayoutContextSchema
|
|
424
|
+
},
|
|
425
|
+
annotations: { title: "Compact Layout" }
|
|
426
|
+
}, async ({ context }) => {
|
|
427
|
+
debugLogWithTag('LAYOUT', `Compacting ${context.type} layout`);
|
|
428
|
+
try {
|
|
429
|
+
const operationType = mapOperationName(context, 'compact');
|
|
430
|
+
const result = await handleLayoutOperation(client, context, operationType);
|
|
431
|
+
debugLogWithTag('LAYOUT', `Successfully compacted ${context.type} layout`);
|
|
432
|
+
const response = {
|
|
433
|
+
operation: "COMPACT_LAYOUT",
|
|
434
|
+
status: "SUCCESS",
|
|
435
|
+
context,
|
|
436
|
+
message: `Layout compacted successfully - empty rows removed from ${context.type} layout`
|
|
437
|
+
};
|
|
438
|
+
return {
|
|
439
|
+
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
440
|
+
};
|
|
441
|
+
}
|
|
442
|
+
catch (error) {
|
|
443
|
+
debugLogWithTag('LAYOUT', `Error compacting layout: ${error instanceof Error ? error.message : String(error)}`);
|
|
444
|
+
const errorResponse = {
|
|
445
|
+
operation: "COMPACT_LAYOUT",
|
|
446
|
+
status: "ERROR",
|
|
447
|
+
context,
|
|
448
|
+
error: error instanceof Error ? error.message : String(error),
|
|
449
|
+
message: `Failed to compact ${context.type} layout`
|
|
450
|
+
};
|
|
451
|
+
return {
|
|
452
|
+
content: [{ type: "text", text: JSON.stringify(errorResponse, null, 2) }],
|
|
453
|
+
isError: true
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
//# sourceMappingURL=generic-layouts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-layouts.js","sourceRoot":"","sources":["../../src/tools/generic-layouts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAI5C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QA+
|
|
1
|
+
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAI5C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QA+d3E"}
|