@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.
Files changed (38) hide show
  1. package/README.md +83 -18
  2. package/dist/api.d.ts +4 -0
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js.map +1 -1
  5. package/dist/conditional-registration.d.ts.map +1 -1
  6. package/dist/conditional-registration.js +3 -1
  7. package/dist/conditional-registration.js.map +1 -1
  8. package/dist/index.js +66 -11
  9. package/dist/index.js.map +1 -1
  10. package/dist/profiles.d.ts.map +1 -1
  11. package/dist/profiles.js +13 -8
  12. package/dist/profiles.js.map +1 -1
  13. package/dist/tools/generic-layouts.d.ts +30 -0
  14. package/dist/tools/generic-layouts.d.ts.map +1 -0
  15. package/dist/tools/generic-layouts.js +458 -0
  16. package/dist/tools/generic-layouts.js.map +1 -0
  17. package/dist/tools/pages.d.ts.map +1 -1
  18. package/dist/tools/pages.js +177 -60
  19. package/dist/tools/pages.js.map +1 -1
  20. package/dist/tools/system.d.ts +2 -1
  21. package/dist/tools/system.d.ts.map +1 -1
  22. package/dist/tools/system.js +65 -1
  23. package/dist/tools/system.js.map +1 -1
  24. package/dist/tools/type-layouts.d.ts.map +1 -1
  25. package/dist/tools/type-layouts.js +38 -0
  26. package/dist/tools/type-layouts.js.map +1 -1
  27. package/dist/tools/version-check.d.ts +4 -0
  28. package/dist/tools/version-check.d.ts.map +1 -0
  29. package/dist/tools/version-check.js +105 -0
  30. package/dist/tools/version-check.js.map +1 -0
  31. package/dist/tools/widgets.d.ts.map +1 -1
  32. package/dist/tools/widgets.js +117 -273
  33. package/dist/tools/widgets.js.map +1 -1
  34. package/dist/url-parsing.d.ts +6 -0
  35. package/dist/url-parsing.d.ts.map +1 -0
  36. package/dist/url-parsing.js +25 -0
  37. package/dist/url-parsing.js.map +1 -0
  38. package/package.json +1 -1
@@ -33,9 +33,9 @@ export function registerPageTools(server, client) {
33
33
  name: z.string().describe("The name of the new page"),
34
34
  parentUID: z.string().optional().describe("The UID of the parent page for hierarchy (optional)"),
35
35
  content: z.string().optional().describe("HTML content for the page (optional). Use HTML markup, not markdown - e.g. '<strong>bold</strong>' not '**bold**'"),
36
- attributes: z.record(z.any()).optional().describe(`Custom attribute values as key-value pairs. Supports:
36
+ attributes: z.record(z.any()).optional().describe(`Custom attribute values as key-value pairs. 🔍 IMPORTANT: Use 'cplace_get_type_datamodel' tool first to understand attribute requirements and constraints. Supports:
37
37
  - String values: "text"
38
- - Numeric values: 42 or 3.14
38
+ - Numeric values: 42 or 3.14
39
39
  - Boolean values: true/false
40
40
  - Date values: "2024-01-15" or "2024-01-15T10:30:00"
41
41
  - Array values: ["value1", "value2"] for multi-valued attributes
@@ -48,10 +48,19 @@ The system automatically detects attribute types from the page type definition a
48
48
  - Type-aware processing based on actual attribute definitions
49
49
  - Proper multiplicity validation (single vs multi-valued)
50
50
  - Automatic type conversion and validation
51
- - Enhanced error messages with attribute-specific details`)
51
+ - Enhanced error messages with attribute-specific details`),
52
+ builtinAttributes: z.record(z.any()).optional().describe(`Builtin/mixin-provided attributes (optional for schedules). Supports:
53
+ - owner: Person UID as string (e.g., "person/123abc456") - Sets the page owner for schedules
54
+ - Use null to remove builtin attribute values
55
+
56
+ Supported page type:
57
+ - Schedule (cf.schedule): supports owner attribute
58
+
59
+ Example for schedule:
60
+ {"owner": "person/123abc456"}`)
52
61
  },
53
62
  annotations: { title: "Create Page" }
54
- }, async ({ workspaceId, typeInternalName, name, parentUID, content, attributes }) => {
63
+ }, async ({ workspaceId, typeInternalName, name, parentUID, content, attributes, builtinAttributes }) => {
55
64
  debugLogWithTag('CREATE_PAGE', `Starting page creation: ${name} of type ${typeInternalName} in workspace ${workspaceId}`);
56
65
  try {
57
66
  const requestBody = {
@@ -71,6 +80,10 @@ The system automatically detects attribute types from the page type definition a
71
80
  requestBody.attributes = attributes;
72
81
  debugLogWithTag('CREATE_PAGE', `Including attributes: ${JSON.stringify(Object.keys(attributes))}`);
73
82
  }
83
+ if (builtinAttributes && Object.keys(builtinAttributes).length > 0) {
84
+ requestBody.builtinAttributes = builtinAttributes;
85
+ debugLogWithTag('CREATE_PAGE', `Including builtinAttributes: ${JSON.stringify(Object.keys(builtinAttributes))}`);
86
+ }
74
87
  debugLogWithTag('CREATE_PAGE', `Request body: ${JSON.stringify(requestBody, null, 2)}`);
75
88
  const result = await client.makeApiRequest('json/page/create', 'POST', undefined, requestBody);
76
89
  debugLogWithTag('CREATE_PAGE', `Successfully created page: ${name}`);
@@ -90,16 +103,16 @@ The system automatically detects attribute types from the page type definition a
90
103
  }
91
104
  });
92
105
  server.registerTool("cplace_update_page", {
93
- description: "Update an existing page's attributes, content, or structure using the PATCH /page/{pageId} endpoint",
106
+ description: "Update an existing page's attributes, content, or structure",
94
107
  inputSchema: {
95
108
  pageUID: z.string().describe("The unique identifier (UID) of the page to update"),
96
109
  name: z.string().optional().describe("New name for the page (optional)"),
97
110
  content: z.string().optional().describe("New HTML content (optional). Use HTML markup, not markdown - e.g. '<em>italic</em>' not '*italic*'. Use empty string to remove content."),
98
111
  parentUID: z.string().optional().describe("New parent page UID (optional - for moving pages). Use empty string to remove parent."),
99
- attributes: z.record(z.any()).optional().describe(`Custom attributes to update as key-value pairs. Supports:
112
+ attributes: z.record(z.any()).optional().describe(`Custom attributes to update as key-value pairs. 🔍 IMPORTANT: Use 'cplace_get_type_datamodel' tool first to understand attribute requirements and constraints. Supports:
100
113
  - String values: "text"
101
114
  - Numeric values: 42 or 3.14
102
- - Boolean values: true/false
115
+ - Boolean values: true/false
103
116
  - Date values: "2024-01-15" or "2024-01-15T10:30:00"
104
117
  - Array values: ["value1", "value2"] for multi-valued attributes
105
118
  - Reference values: "page/ref123" for page references
@@ -114,10 +127,19 @@ The system automatically detects attribute types from the page type definition a
114
127
  - Type-aware processing based on actual attribute definitions
115
128
  - Proper multiplicity validation (single vs multi-valued)
116
129
  - Automatic type conversion and validation
117
- - Enhanced error messages with attribute-specific details`)
130
+ - Enhanced error messages with attribute-specific details`),
131
+ builtinAttributes: z.record(z.any()).optional().describe(`Builtin/mixin-provided attributes to update (optional for schedules). Supports:
132
+ - owner: Person UID as string (e.g., "person/456def789") - Updates the page owner for schedules
133
+ - Use null to remove builtin attribute values
134
+
135
+ Supported page type:
136
+ - Schedule (cf.schedule): supports owner attribute
137
+
138
+ Example for schedule:
139
+ {"owner": "person/123abc456"}`)
118
140
  },
119
141
  annotations: { title: "Update Page" }
120
- }, async ({ pageUID, name, content, parentUID, attributes }) => {
142
+ }, async ({ pageUID, name, content, parentUID, attributes, builtinAttributes }) => {
121
143
  debugLogWithTag('UPDATE_PAGE', `Starting page update for: ${pageUID}`);
122
144
  try {
123
145
  const requestBody = {
@@ -135,6 +157,9 @@ The system automatically detects attribute types from the page type definition a
135
157
  if (attributes && Object.keys(attributes).length > 0) {
136
158
  requestBody.attributes = attributes;
137
159
  }
160
+ if (builtinAttributes && Object.keys(builtinAttributes).length > 0) {
161
+ requestBody.builtinAttributes = builtinAttributes;
162
+ }
138
163
  if (Object.keys(requestBody).length === 1) {
139
164
  return {
140
165
  content: [{ type: "text", text: "No updates specified. At least one of name, content, parentId, or attributes must be provided." }]
@@ -154,57 +179,6 @@ The system automatically detects attribute types from the page type definition a
154
179
  };
155
180
  }
156
181
  });
157
- server.registerTool("cplace_update_page_attributes", {
158
- description: "Update page attributes (no content or structural changes) using the PATCH /page/{pageId} endpoint",
159
- inputSchema: {
160
- pageUID: z.string().describe("The unique identifier (UID) of the page to update"),
161
- attributes: z.record(z.any()).describe(`Attribute updates as key-value pairs. Supports all the same data types as the full update tool:
162
- - String values: "text"
163
- - Numeric values: 42 or 3.14
164
- - Boolean values: true/false
165
- - Date values: "2024-01-15" or "2024-01-15T10:30:00"
166
- - Array values: ["value1", "value2"] for multi-valued attributes
167
- - Reference values: "page/ref123" for page references
168
- - RichString values: "<p><strong>HTML markup</strong></p>" (use HTML, not markdown or plain text)
169
- - Localized string values: {"en": "English text", "de": "German text", "fr": "French text"}
170
- - Multi-valued localized strings: [{"en": "Text 1", "de": "Text 1"}, {"en": "Text 2", "de": "Text 2"}]
171
- - Null values: null (removes the attribute value)
172
- - Empty arrays: [] (removes all values for multi-valued attributes)
173
- - New attributes: will be added to the page
174
-
175
- The system automatically detects attribute types from the page type definition and handles:
176
- - Type-aware processing based on actual attribute definitions
177
- - Proper multiplicity validation (single vs multi-valued)
178
- - Automatic type conversion and validation
179
- - Enhanced error messages with attribute-specific details`)
180
- },
181
- annotations: { title: "Update Page Attributes" }
182
- }, async ({ pageUID, attributes }) => {
183
- debugLogWithTag('UPDATE_PAGE_ATTRS', `Starting attribute-only update for: ${pageUID}`);
184
- try {
185
- if (!attributes || Object.keys(attributes).length === 0) {
186
- return {
187
- content: [{ type: "text", text: "No attributes specified for update. The attributes parameter must contain at least one attribute." }]
188
- };
189
- }
190
- const requestBody = {
191
- pageUID,
192
- attributes: attributes
193
- };
194
- const result = await client.makeApiRequest('json/page', 'PATCH', undefined, requestBody);
195
- debugLogWithTag('UPDATE_PAGE_ATTRS', `Successfully updated attributes for page: ${pageUID}`);
196
- return {
197
- content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
198
- };
199
- }
200
- catch (error) {
201
- debugLogWithTag('UPDATE_PAGE_ATTRS', `Error updating page attributes: ${error instanceof Error ? error.message : String(error)}`);
202
- return {
203
- content: [{ type: "text", text: `Error updating page attributes: ${error instanceof Error ? error.message : String(error)}` }],
204
- isError: true
205
- };
206
- }
207
- });
208
182
  server.registerTool("cplace_delete_page", {
209
183
  description: "⚠️ DESTRUCTIVE OPERATION: Permanently delete a single page. Only works for leaf pages (pages without children). For pages with children, use cplace_delete_page_with_children.",
210
184
  inputSchema: {
@@ -280,5 +254,148 @@ The system automatically detects attribute types from the page type definition a
280
254
  };
281
255
  }
282
256
  });
257
+ server.registerTool("cplace_copy_page", {
258
+ description: "Copy a single page without children to a new location using the POST /page/copy endpoint. If the source page has children, the API will reject the request and direct you to use cplace_copy_page_with_children instead.",
259
+ inputSchema: {
260
+ sourcePageUID: z.string().describe("The UID of the page to copy (e.g., 'page/abc123def456')"),
261
+ targetWorkspaceId: z.string().optional().describe("Target workspace ID (e.g., 'workspace789'). Exactly one of targetWorkspaceId or targetParentUID must be provided."),
262
+ targetParentUID: z.string().optional().describe("UID of target parent page (e.g., 'page/parent123xyz'). Exactly one of targetWorkspaceId or targetParentUID must be provided."),
263
+ newName: z.string().optional().describe("New name for the copied page (optional). If not provided, the original page name will be used."),
264
+ includeComments: z.boolean().describe("Whether to copy comments from the page (required). Comments can add context but increase copy time."),
265
+ includeFiles: z.boolean().describe("Whether to copy files attached to the page (required). Files are typically needed for complete page copies but increase copy time and storage usage.")
266
+ },
267
+ annotations: { title: "Copy Page" }
268
+ }, async ({ sourcePageUID, targetWorkspaceId, targetParentUID, newName, includeComments, includeFiles }) => {
269
+ debugLogWithTag('COPY_PAGE', `Starting page copy for: ${sourcePageUID}, includeComments: ${includeComments}, includeFiles: ${includeFiles}`);
270
+ try {
271
+ const requestBody = {
272
+ sourcePageUID,
273
+ includeComments,
274
+ includeFiles
275
+ };
276
+ if (targetWorkspaceId) {
277
+ requestBody.targetWorkspaceId = targetWorkspaceId;
278
+ }
279
+ if (targetParentUID) {
280
+ requestBody.targetParentUID = targetParentUID;
281
+ }
282
+ if (newName) {
283
+ requestBody.newName = newName;
284
+ }
285
+ const hasWorkspace = !!targetWorkspaceId;
286
+ const hasParent = !!targetParentUID;
287
+ if (!hasWorkspace && !hasParent) {
288
+ debugLogWithTag('COPY_PAGE', 'Validation failed: No target specified');
289
+ return {
290
+ content: [{
291
+ type: "text",
292
+ text: "Either targetWorkspaceId or targetParentUID must be provided"
293
+ }],
294
+ isError: true
295
+ };
296
+ }
297
+ if (hasWorkspace && hasParent) {
298
+ debugLogWithTag('COPY_PAGE', 'Validation failed: Both targets specified');
299
+ return {
300
+ content: [{
301
+ type: "text",
302
+ text: "Only one of targetWorkspaceId or targetParentUID can be provided, not both"
303
+ }],
304
+ isError: true
305
+ };
306
+ }
307
+ debugLogWithTag('COPY_PAGE', `Request body: ${JSON.stringify(requestBody, null, 2)}`);
308
+ const result = await client.makeApiRequest('json/page/copy', 'POST', undefined, requestBody);
309
+ debugLogWithTag('COPY_PAGE', `Successfully copied page: ${sourcePageUID}`);
310
+ return {
311
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
312
+ };
313
+ }
314
+ catch (error) {
315
+ debugLogWithTag('COPY_PAGE', `Error copying page: ${error instanceof Error ? error.message : String(error)}`);
316
+ return {
317
+ content: [{
318
+ type: "text",
319
+ text: `Error copying page: ${error instanceof Error ? error.message : String(error)}`
320
+ }],
321
+ isError: true
322
+ };
323
+ }
324
+ });
325
+ server.registerTool("cplace_copy_page_with_children", {
326
+ description: "Copy a page including all its children using the POST /page/copy-with-children endpoint. Uses a two-phase workflow: first call (confirmCopyChildren: false) shows preview with child count, second call (confirmCopyChildren: true) performs the actual copy operation.",
327
+ inputSchema: {
328
+ sourcePageUID: z.string().describe("The UID of the page to copy (e.g., 'page/project123abc')"),
329
+ targetWorkspaceId: z.string().optional().describe("Target workspace ID (e.g., 'workspace789'). Exactly one of targetWorkspaceId or targetParentUID must be provided."),
330
+ targetParentUID: z.string().optional().describe("UID of target parent page (e.g., 'page/parent123xyz'). Exactly one of targetWorkspaceId or targetParentUID must be provided."),
331
+ newName: z.string().optional().describe("New name for the copied root page (optional). Children retain their original names."),
332
+ confirmCopyChildren: z.boolean().optional().default(false).describe("Explicit confirmation flag for copying children. Set to false (default) for preview, set to true to perform the actual copy operation."),
333
+ includeComments: z.boolean().optional().default(false).describe("Whether to copy comments from pages (default: false). Comments can significantly increase copy time."),
334
+ includeFiles: z.boolean().optional().default(true).describe("Whether to copy files attached to pages (default: true). Files are typically needed for complete page copies.")
335
+ },
336
+ annotations: { title: "Copy Page with Children" }
337
+ }, async ({ sourcePageUID, targetWorkspaceId, targetParentUID, newName, confirmCopyChildren = false, includeComments = false, includeFiles = true }) => {
338
+ debugLogWithTag('COPY_PAGE_WITH_CHILDREN', `Starting page copy with children for: ${sourcePageUID}, confirm: ${confirmCopyChildren}, includeComments: ${includeComments}, includeFiles: ${includeFiles}`);
339
+ try {
340
+ const requestBody = {
341
+ sourcePageUID,
342
+ confirmCopyChildren,
343
+ includeComments,
344
+ includeFiles
345
+ };
346
+ if (targetWorkspaceId) {
347
+ requestBody.targetWorkspaceId = targetWorkspaceId;
348
+ }
349
+ if (targetParentUID) {
350
+ requestBody.targetParentUID = targetParentUID;
351
+ }
352
+ if (newName) {
353
+ requestBody.newName = newName;
354
+ }
355
+ const hasWorkspace = !!targetWorkspaceId;
356
+ const hasParent = !!targetParentUID;
357
+ if (!hasWorkspace && !hasParent) {
358
+ debugLogWithTag('COPY_PAGE_WITH_CHILDREN', 'Validation failed: No target specified');
359
+ return {
360
+ content: [{
361
+ type: "text",
362
+ text: "Either targetWorkspaceId or targetParentUID must be provided"
363
+ }],
364
+ isError: true
365
+ };
366
+ }
367
+ if (hasWorkspace && hasParent) {
368
+ debugLogWithTag('COPY_PAGE_WITH_CHILDREN', 'Validation failed: Both targets specified');
369
+ return {
370
+ content: [{
371
+ type: "text",
372
+ text: "Only one of targetWorkspaceId or targetParentUID can be provided, not both"
373
+ }],
374
+ isError: true
375
+ };
376
+ }
377
+ debugLogWithTag('COPY_PAGE_WITH_CHILDREN', `Request body: ${JSON.stringify(requestBody, null, 2)}`);
378
+ const result = await client.makeApiRequest('json/page/copy-with-children', 'POST', undefined, requestBody);
379
+ if (confirmCopyChildren) {
380
+ debugLogWithTag('COPY_PAGE_WITH_CHILDREN', `Successfully copied page with children: ${sourcePageUID}`);
381
+ }
382
+ else {
383
+ debugLogWithTag('COPY_PAGE_WITH_CHILDREN', `Retrieved copy preview for: ${sourcePageUID}`);
384
+ }
385
+ return {
386
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
387
+ };
388
+ }
389
+ catch (error) {
390
+ debugLogWithTag('COPY_PAGE_WITH_CHILDREN', `Error copying page with children: ${error instanceof Error ? error.message : String(error)}`);
391
+ return {
392
+ content: [{
393
+ type: "text",
394
+ text: `Error copying page with children: ${error instanceof Error ? error.message : String(error)}`
395
+ }],
396
+ isError: true
397
+ };
398
+ }
399
+ });
283
400
  }
284
401
  //# sourceMappingURL=pages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,MAAuB;IAE1E,MAAM,CAAC,YAAY,CAAC,uBAAuB,EACzC;QACE,WAAW,EAAE,yEAAyE;QACtF,WAAW,EAAE;YACX,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;SAC5F;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE;KACzC,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAGhF,IAAI,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjE,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACrH,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAGF,MAAM,CAAC,YAAY,CAAC,oBAAoB,EACtC;QACE,WAAW,EAAE,8FAA8F;QAC3G,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;YAClG,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;YACvG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACrD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YAChG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mHAAmH,CAAC;YAC5J,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;0DAeA,CAAC;SACpD;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;KACtC,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;QAChF,eAAe,CAAC,aAAa,EAAE,2BAA2B,IAAI,YAAY,gBAAgB,iBAAiB,WAAW,EAAE,CAAC,CAAC;QAE1H,IAAI,CAAC;YACH,MAAM,WAAW,GAAQ;gBACvB,WAAW;gBACX,gBAAgB;gBAChB,IAAI;aACL,CAAC;YAEF,IAAI,SAAS,EAAE,CAAC;gBACd,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;gBAClC,eAAe,CAAC,aAAa,EAAE,wBAAwB,SAAS,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC9B,eAAe,CAAC,aAAa,EAAE,sBAAsB,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;YAChF,CAAC;YAED,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;gBACpC,eAAe,CAAC,aAAa,EAAE,yBAAyB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;YAED,eAAe,CAAC,aAAa,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAExF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAE/F,eAAe,CAAC,aAAa,EAAE,8BAA8B,IAAI,EAAE,CAAC,CAAC;YAErE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,aAAa,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/G,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBACzF,CAAC;gBACF,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACH,CAAC,CACF,CAAC;IAGF,MAAM,CAAC,YAAY,CAAC,oBAAoB,EACtC;QACE,WAAW,EAAE,qGAAqG;QAClH,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YACjF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACxE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yIAAyI,CAAC;YAClL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uFAAuF,CAAC;YAClI,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;0DAkBA,CAAC;SACpD;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;KACtC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE;QAC1D,eAAe,CAAC,aAAa,EAAE,6BAA6B,OAAO,EAAE,CAAC,CAAC;QAEvE,IAAI,CAAC;YACH,MAAM,WAAW,GAAQ;gBACvB,OAAO;aACR,CAAC;YAEF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;YAC1B,CAAC;YAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;YAChC,CAAC;YAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;YACpC,CAAC;YAED,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;YACtC,CAAC;YAGD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gGAAgG,EAAE,CAAC;iBACpI,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAEzF,eAAe,CAAC,aAAa,EAAE,8BAA8B,OAAO,EAAE,CAAC,CAAC;YAExE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,aAAa,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACjH,OAAO,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAGF,MAAM,CAAC,YAAY,CAAC,+BAA+B,EACjD;QACE,WAAW,EAAE,mGAAmG;QAChH,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YACjF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;0DAkBW,CAAC;SACpD;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;KACjD,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;QAChC,eAAe,CAAC,mBAAmB,EAAE,uCAAuC,OAAO,EAAE,CAAC,CAAC;QAEvF,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mGAAmG,EAAE,CAAC;iBACvI,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG;gBAClB,OAAO;gBACP,UAAU,EAAE,UAAU;aACvB,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAEzF,eAAe,CAAC,mBAAmB,EAAE,6CAA6C,OAAO,EAAE,CAAC,CAAC;YAE7F,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,mBAAmB,EAAE,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClI,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC5H,OAAO,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAGF,MAAM,CAAC,YAAY,CAAC,oBAAoB,EACtC;QACE,WAAW,EAAE,gLAAgL;QAC7L,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;SAC9G;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;KACtC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,eAAe,CAAC,aAAa,EAAE,sCAAsC,OAAO,EAAE,CAAC,CAAC;QAEhF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,gBAAgB,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;YAGhF,IAAI,YAAY,CAAC;YACjB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY,GAAG,MAAM,CAAC;gBACxB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;YAED,eAAe,CAAC,aAAa,EAAE,8BAA8B,OAAO,EAAE,CAAC,CAAC;YAExE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;aACnI,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,aAAa,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACjH,OAAO,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAGF,MAAM,CAAC,YAAY,CAAC,kCAAkC,EACpD;QACE,WAAW,EAAE,4LAA4L;QACzM,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YACjF,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yGAAyG,CAAC;SACjL;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE;KACpD,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,KAAK,EAAE,EAAE,EAAE;QACnD,eAAe,CAAC,2BAA2B,EAAE,6CAA6C,OAAO,cAAc,qBAAqB,EAAE,CAAC,CAAC;QAExI,IAAI,CAAC;YACH,MAAM,WAAW,GAAG;gBAClB,OAAO;gBACP,qBAAqB;aACtB,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAGnG,IAAI,YAAY,CAAC;YACjB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY,GAAG,MAAM,CAAC;gBACxB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;YAED,eAAe,CAAC,2BAA2B,EAAE,qCAAqC,OAAO,EAAE,CAAC,CAAC;YAE7F,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;aACnI,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,2BAA2B,EAAE,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7I,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC/H,OAAO,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerSystemTools(server: McpServer, config: any): void;
2
+ import { CplaceApiClient } from "../api.js";
3
+ export declare function registerSystemTools(server: McpServer, config: any, client?: CplaceApiClient): void;
3
4
  //# sourceMappingURL=system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,QAwBjE"}
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAI5C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,eAAe,QA2G3F"}
@@ -1,5 +1,7 @@
1
+ import { z } from "zod";
1
2
  import { DEBUG_LOGGING } from "../logger.js";
2
- export function registerSystemTools(server, config) {
3
+ import { registerVersionCheckTool } from "./version-check.js";
4
+ export function registerSystemTools(server, config, client) {
3
5
  if (config.registerSystemInfoTool) {
4
6
  server.registerTool("cplace_get_system_info", {
5
7
  description: "Get system information about the MCP server - including current working directory, CPLACE_URL setting, and debug state",
@@ -18,5 +20,67 @@ export function registerSystemTools(server, config) {
18
20
  };
19
21
  });
20
22
  }
23
+ if (client) {
24
+ server.registerTool("cplace_get_icon_names", {
25
+ description: "Get all available icon names in the cplace system. Returns icon names from FontAwesome (fa-*), cplace custom icons (cf-*), and HUI utility icons (hui-*). Use this to discover valid icon names when configuring type definitions, layouts, workspaces, and widgets.\n\n⚠️ IMPORTANT: Single search terms often return suboptimal results. ALWAYS perform multiple searches with related terms to find the best icon. For example, when searching for project icons, try: 'project', 'folder', 'briefcase', 'tasks', 'board', 'chart', etc. Compare results and select the most appropriate icon.",
26
+ inputSchema: {
27
+ prefix: z.array(z.string()).optional().describe("Filter by icon prefixes. Available: ['fa', 'cf', 'hui']. Example: ['fa', 'cf']"),
28
+ search: z.string().optional().describe("Filter icons by search term (searches in icon names). Example: 'project', 'user', 'home'. TIP: Try multiple related search terms to find the best icon."),
29
+ limit: z.number().min(1).optional().describe("Maximum number of icons to return. If not specified, returns all matching icons."),
30
+ includeAll: z.boolean().optional().describe("Optional: If true, bypasses all filters and returns all available icons. Default: false")
31
+ },
32
+ annotations: { title: "Get Available Icon Names" }
33
+ }, async (params) => {
34
+ try {
35
+ const result = await client.makeApiRequest('json/icon-names', 'GET', {});
36
+ let iconNames = [];
37
+ if (result && typeof result === 'object' && 'result' in result && Array.isArray(result.result)) {
38
+ iconNames = result.result;
39
+ }
40
+ else if (Array.isArray(result)) {
41
+ iconNames = result;
42
+ }
43
+ else {
44
+ throw new Error('Unexpected response format from icon names API');
45
+ }
46
+ if (params.includeAll) {
47
+ return {
48
+ content: [{ type: "text", text: JSON.stringify({ result: iconNames, totalCount: iconNames.length }, null, 2) }]
49
+ };
50
+ }
51
+ let filteredIcons = iconNames;
52
+ if (params.prefix && params.prefix.length > 0) {
53
+ filteredIcons = filteredIcons.filter(icon => params.prefix.some(prefix => icon.startsWith(`${prefix}-`)));
54
+ }
55
+ if (params.search) {
56
+ const searchLower = params.search.toLowerCase();
57
+ filteredIcons = filteredIcons.filter(icon => icon.toLowerCase().includes(searchLower));
58
+ }
59
+ if (params.limit) {
60
+ filteredIcons = filteredIcons.slice(0, params.limit);
61
+ }
62
+ const response = {
63
+ result: filteredIcons,
64
+ totalCount: filteredIcons.length,
65
+ totalAvailable: iconNames.length,
66
+ filters: {
67
+ prefix: params.prefix || null,
68
+ search: params.search || null,
69
+ limit: params.limit || null
70
+ }
71
+ };
72
+ return {
73
+ content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
74
+ };
75
+ }
76
+ catch (error) {
77
+ return {
78
+ content: [{ type: "text", text: `Error retrieving icon names: ${error instanceof Error ? error.message : String(error)}` }],
79
+ isError: true
80
+ };
81
+ }
82
+ });
83
+ registerVersionCheckTool(server, client);
84
+ }
21
85
  }
22
86
  //# sourceMappingURL=system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAW;IAEhE,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,wBAAwB,EAC5C;YACE,WAAW,EAAE,wHAAwH;YACrI,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;SACjD,EACD,KAAK,IAAI,EAAE;YACT,MAAM,UAAU,GAAG;gBACjB,uBAAuB,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtC,SAAS,EAAE,MAAM,CAAC,GAAG,IAAI,SAAS;gBAClC,YAAY,EAAE,aAAa;gBAC3B,WAAW,EAAE,OAAO,CAAC,OAAO;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACvE,CAAC;QACJ,CAAC,CACF,CAAC;IACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-layouts.d.ts","sourceRoot":"","sources":["../../src/tools/type-layouts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAU5C,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAuEjF"}
1
+ {"version":3,"file":"type-layouts.d.ts","sourceRoot":"","sources":["../../src/tools/type-layouts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAU5C,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAqHjF"}
@@ -54,5 +54,43 @@ export function registerTypeLayoutTools(server, client) {
54
54
  };
55
55
  }
56
56
  });
57
+ server.registerTool("cplace_create_type_alternative_layout", {
58
+ description: "Creates a new alternative layout for a specific type definition. Alternative layouts allow types to support different presentation modes or views while maintaining the same underlying data structure. Each alternative layout has its own internal name, localized display names, and optional icon.",
59
+ inputSchema: {
60
+ workspaceId: z.string().describe("Required: ID of the workspace containing the type (e.g., 'workspace/abc123')"),
61
+ typeInternalName: z.string().describe("Required: Internal name of the type definition (e.g., 'cf.project.Task')"),
62
+ internalName: z.string().describe("Required: Unique internal name for the new layout (e.g., 'compactView')"),
63
+ localizedNames: z.record(z.string()).optional().describe("Optional: Map of language codes to localized display names (e.g., {\"en\": \"Compact View\", \"de\": \"Kompakte Ansicht\"})"),
64
+ iconName: z.string().optional().describe("Optional: Font Awesome icon name for the layout (e.g., 'fa-compress')")
65
+ },
66
+ annotations: { title: "Create Type Alternative Layout" }
67
+ }, async ({ workspaceId, typeInternalName, internalName, localizedNames, iconName }) => {
68
+ debugLogWithTag('TYPE_LAYOUT', `Creating alternative layout '${internalName}' for type ${typeInternalName} in workspace ${workspaceId}`);
69
+ try {
70
+ const requestBody = {
71
+ workspaceId,
72
+ typeInternalName,
73
+ internalName
74
+ };
75
+ if (localizedNames) {
76
+ requestBody.localizedNames = localizedNames;
77
+ }
78
+ if (iconName) {
79
+ requestBody.iconName = iconName;
80
+ }
81
+ const result = await client.makeApiRequest('json/typeLayout/create', 'POST', undefined, requestBody);
82
+ debugLogWithTag('TYPE_LAYOUT', `Successfully created alternative layout '${internalName}' for type ${typeInternalName}`);
83
+ return {
84
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
85
+ };
86
+ }
87
+ catch (error) {
88
+ debugLogWithTag('TYPE_LAYOUT', `Error creating alternative layout: ${error instanceof Error ? error.message : String(error)}`);
89
+ return {
90
+ content: [{ type: "text", text: `Error creating alternative layout: ${error instanceof Error ? error.message : String(error)}` }],
91
+ isError: true
92
+ };
93
+ }
94
+ });
57
95
  }
58
96
  //# sourceMappingURL=type-layouts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-layouts.js","sourceRoot":"","sources":["../../src/tools/type-layouts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-layouts.js","sourceRoot":"","sources":["../../src/tools/type-layouts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { CplaceApiClient } from "../api.js";
3
+ export declare function registerVersionCheckTool(server: McpServer, client: CplaceApiClient): void;
4
+ //# sourceMappingURL=version-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/tools/version-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AA2B5C,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAmFlF"}