@cplace/mcp-server 1.5.2 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +44 -0
  2. package/dist/conditional-registration.d.ts.map +1 -1
  3. package/dist/conditional-registration.js +10 -0
  4. package/dist/conditional-registration.js.map +1 -1
  5. package/dist/profiles.d.ts.map +1 -1
  6. package/dist/profiles.js +7 -3
  7. package/dist/profiles.js.map +1 -1
  8. package/dist/tool-metadata.d.ts.map +1 -1
  9. package/dist/tool-metadata.js +8 -0
  10. package/dist/tool-metadata.js.map +1 -1
  11. package/dist/tools/board-widget.d.ts +140 -89
  12. package/dist/tools/board-widget.d.ts.map +1 -1
  13. package/dist/tools/board-widget.js +131 -112
  14. package/dist/tools/board-widget.js.map +1 -1
  15. package/dist/tools/documents.d.ts +18 -0
  16. package/dist/tools/documents.d.ts.map +1 -0
  17. package/dist/tools/documents.js +59 -0
  18. package/dist/tools/documents.js.map +1 -0
  19. package/dist/tools/expert-settings.d.ts +38 -0
  20. package/dist/tools/expert-settings.d.ts.map +1 -0
  21. package/dist/tools/expert-settings.js +145 -0
  22. package/dist/tools/expert-settings.js.map +1 -0
  23. package/dist/tools/job-schedule-trigger.d.ts +16 -0
  24. package/dist/tools/job-schedule-trigger.d.ts.map +1 -0
  25. package/dist/tools/job-schedule-trigger.js +32 -0
  26. package/dist/tools/job-schedule-trigger.js.map +1 -0
  27. package/dist/tools/job-scripts.d.ts +58 -0
  28. package/dist/tools/job-scripts.d.ts.map +1 -0
  29. package/dist/tools/job-scripts.js +215 -0
  30. package/dist/tools/job-scripts.js.map +1 -0
  31. package/dist/tools/layout-richstring-widgets.d.ts.map +1 -1
  32. package/dist/tools/layout-richstring-widgets.js +1 -42
  33. package/dist/tools/layout-richstring-widgets.js.map +1 -1
  34. package/dist/tools/layout.d.ts.map +1 -1
  35. package/dist/tools/layout.js +2 -34
  36. package/dist/tools/layout.js.map +1 -1
  37. package/dist/tools/resource-planner-widget.d.ts +280 -0
  38. package/dist/tools/resource-planner-widget.d.ts.map +1 -0
  39. package/dist/tools/resource-planner-widget.js +539 -0
  40. package/dist/tools/resource-planner-widget.js.map +1 -0
  41. package/dist/tools/widget-tool-helpers.d.ts +7 -0
  42. package/dist/tools/widget-tool-helpers.d.ts.map +1 -0
  43. package/dist/tools/widget-tool-helpers.js +43 -0
  44. package/dist/tools/widget-tool-helpers.js.map +1 -0
  45. package/dist/widget-specifications/cf.cplace.cboard.main.board/_implementation.md +24 -0
  46. package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/_implementation.md +42 -0
  47. package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/actionSearch.md +10 -0
  48. package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/attributesConfiguration.md +30 -0
  49. package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/chartSearch.md +10 -0
  50. package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/dateCalculation.md +8 -0
  51. package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/defaultColumnsConfiguration.md +7 -0
  52. package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/searchFirstGroup.md +8 -0
  53. package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/searchNode.md +8 -0
  54. package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/searchRootNode.md +10 -0
  55. package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/searchSecondGroup.md +8 -0
  56. package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/treeStructure.md +1 -0
  57. package/package.json +1 -1
@@ -1,24 +1,30 @@
1
1
  import { z } from "zod";
2
2
  import { debugLogWithTag } from "../logger.js";
3
3
  import { LayoutContextSchema } from './layout.js';
4
+ import { findWidgetById, buildUpdateRequestBody, determineApiEndpoint, buildRequestParams } from './widget-tool-helpers.js';
4
5
  const TOOL_BOARD_GET_CONFIGURATION = 'cplace_board_get_configuration';
5
6
  const TOOL_BOARD_CONFIGURE_CARDS = 'cplace_board_configure_cards';
6
7
  const TOOL_BOARD_CONFIGURE_COLUMNS = 'cplace_board_configure_columns';
7
8
  const TOOL_BOARD_CONFIGURE_SWIMLANES = 'cplace_board_configure_swimlanes';
8
9
  const TOOL_BOARD_CONFIGURE_VISUAL = 'cplace_board_configure_visual';
9
10
  const BOARD_WIDGET_TYPE = 'cf.cplace.cboard.main.board';
10
- const DisplayAttributesSchema = z.object({
11
- description: z.string().optional().describe("Attribute for card body text"),
12
- date: z.string().optional().describe("Attribute for date display"),
13
- tags: z.string().optional().describe("Attribute for colored tag pills"),
14
- customIcons: z.array(z.string()).optional().describe("Attributes for icon indicators"),
15
- additional: z.array(z.string()).optional().describe("Extra attributes shown on card")
11
+ const CardDisplaySchema = z.object({
12
+ dateAttribute: z.string().optional().describe("Attribute for date shown in card footer (e.g., 'cf.myType.dueDate')"),
13
+ tagAttributes: z.array(z.string()).optional().describe("Attributes for colored tag badges on cards (e.g., ['cf.myType.category'])"),
14
+ colorAttribute: z.object({
15
+ attribute: z.string().describe("Enumeration attribute for dynamic left-border color (e.g., 'cf.myType.status')"),
16
+ colorMapping: z.record(z.string()).describe("Map of enumeration values to hex colors (e.g., {\"Open\": \"#4CAF50\", \"Closed\": \"#F44336\"})")
17
+ }).optional().describe("Dynamic card border color based on an enumeration attribute"),
18
+ iconAttributes: z.array(z.object({
19
+ attribute: z.string().describe("Attribute name for icon indicator"),
20
+ enabled: z.boolean().optional().default(true).describe("Whether this icon is active (default: true)")
21
+ })).optional().describe("Attributes shown as icon indicators on cards")
16
22
  }).optional();
17
23
  const CardConfigurationSchema = z.object({
18
24
  searchId: z.string().describe("Unique identifier for this card source - used to link columns/swimlanes"),
19
25
  search: z.string().describe("WARNING: Do not manually construct! Use cplaceJson from cplace_search_pages response. Must have 'filters' array, e.g., {\"filters\":[{\"relativeSpace\":\"true\"},{\"types\":[\"cf.myType\"]}]}"),
20
26
  typeId: z.string().optional().describe("Explicit page type (optional, inferred from search)"),
21
- displayAttributes: DisplayAttributesSchema
27
+ cardDisplay: CardDisplaySchema
22
28
  });
23
29
  const CardsInputSchema = z.array(CardConfigurationSchema)
24
30
  .min(1)
@@ -30,7 +36,12 @@ const LocalizedNamesSchema = z.object({
30
36
  const MappingSchema = z.object({
31
37
  searchId: z.string().describe("Must match a searchId from card configurations"),
32
38
  attribute: z.string().describe("Attribute determining placement (e.g., 'cf.myType.status')"),
33
- values: z.array(z.string()).describe("Attribute values mapping to this column/swimlane")
39
+ values: z.array(z.string()).optional().describe("Enumeration attribute values mapping to this column/swimlane"),
40
+ referenceValues: z.array(z.string()).optional().describe("Reference attribute values as page UIDs (e.g., '6a0pydt3gd31ea3d42hdhqf4t')"),
41
+ dateRange: z.object({
42
+ start: z.string(),
43
+ end: z.string()
44
+ }).optional().describe("Date range for date-type attribute mapping")
34
45
  });
35
46
  const StaticColumnSchema = z.object({
36
47
  columnId: z.string().describe("Unique identifier for this column"),
@@ -46,13 +57,7 @@ const DynamicConfigSchema = z.object({
46
57
  mappedAttributes: z.array(z.object({
47
58
  searchId: z.string(),
48
59
  attribute: z.string()
49
- })).min(1),
50
- timeGranularity: z.enum(["day", "week", "month", "quarter", "year"]).optional(),
51
- dateRange: z.object({
52
- start: z.string(),
53
- end: z.string()
54
- }).optional(),
55
- dateFormatId: z.string().optional()
60
+ })).min(1).describe("Attribute mappings per card source. Dynamic mode requires enumeration attributes.")
56
61
  });
57
62
  const BOARD_TOOL_DEFINITIONS = {
58
63
  [TOOL_BOARD_GET_CONFIGURATION]: {
@@ -79,7 +84,7 @@ IMPORTANT: Configure cards BEFORE columns/swimlanes, as they reference cards via
79
84
  Each card source defines:
80
85
  - searchId: Unique identifier used by columns/swimlanes to reference this source
81
86
  - search: cplaceJson from cplace_search_pages (defines which pages become cards)
82
- - displayAttributes: How card data is displayed (description, date, tags, icons)
87
+ - cardDisplay: Visual card appearance (date footer, tag badges, border color, icon indicators)
83
88
 
84
89
  **WARNING**: Do not manually construct search JSON! The search parameter requires a specific format with a "filters" array.
85
90
 
@@ -111,11 +116,19 @@ MODES:
111
116
  - static: Explicitly define columns with value mappings (most common)
112
117
  - dynamic: Auto-generate columns from attribute values
113
118
 
119
+ VALID ATTRIBUTE TYPES for column mapping: Enumeration, Reference, Date, or linked attributes of these types.
120
+ NOT valid: Workflow (excluded despite resembling enumerations), Number, Boolean, Color (these are only valid for card display attributes).
121
+
122
+ VALUE MAPPING FIELDS (mutually exclusive per mapping):
123
+ - values: For enumeration attributes (string values like "Open", "Closed")
124
+ - referenceValues: For reference attributes (page UIDs like "6a0pydt3gd31ea3d42hdhqf4t")
125
+ - dateRange: For date attributes ({start, end} date strings)
126
+
114
127
  IMPORTANT: All searchId references must exist in the board's card configurations.
115
128
  Configure cards first if adding new card sources.
116
129
 
117
130
  STATIC MODE: Array order = column order (left to right)
118
- DYNAMIC MODE: Columns auto-generated; use for date-based or value-based grouping
131
+ DYNAMIC MODE: Columns auto-generated from enumeration attribute values. Date-based dynamic columns are not supported.
119
132
 
120
133
  WORKFLOW:
121
134
  1. Ensure cards are configured with desired searchIds
@@ -138,7 +151,15 @@ SET enabled: false to remove all swimlanes (flat board).
138
151
 
139
152
  MODES (when enabled):
140
153
  - static: Explicitly define swimlanes with value mappings
141
- - dynamic: Auto-generate swimlanes from attribute values
154
+ - dynamic: Auto-generate swimlanes from enumeration attribute values. Date-based dynamic swimlanes are not supported.
155
+
156
+ VALID ATTRIBUTE TYPES for swimlane mapping: Enumeration, Reference, Date, or linked attributes of these types.
157
+ NOT valid: Workflow (excluded despite resembling enumerations), Number, Boolean, Color (these are only valid for card display attributes).
158
+
159
+ VALUE MAPPING FIELDS (mutually exclusive per mapping):
160
+ - values: For enumeration attributes (string values like "Open", "Closed")
161
+ - referenceValues: For reference attributes (page UIDs like "6a0pydt3gd31ea3d42hdhqf4t")
162
+ - dateRange: For date attributes ({start, end} date strings)
142
163
 
143
164
  IMPORTANT: All searchId references must exist in the board's card configurations.
144
165
 
@@ -185,23 +206,6 @@ Omitted settings retain their current values (this tool does partial updates for
185
206
  annotations: { title: "Configure Board Visual Settings" }
186
207
  }
187
208
  };
188
- function findWidgetById(rows, widgetId) {
189
- for (const row of rows || []) {
190
- for (const column of row.columns || []) {
191
- for (const widget of column.widgets || []) {
192
- if (widget.id === widgetId) {
193
- return widget;
194
- }
195
- if (widget.widgetsLayout?.rows) {
196
- const nested = findWidgetById(widget.widgetsLayout.rows, widgetId);
197
- if (nested)
198
- return nested;
199
- }
200
- }
201
- }
202
- }
203
- return null;
204
- }
205
209
  function extractWidgetConfiguration(widget) {
206
210
  const config = {};
207
211
  const CBOARD_PREFIX = 'cf.cplace.cboard.';
@@ -254,18 +258,36 @@ function validateSearchIdReferences(referencedIds, availableIds, contextDescript
254
258
  return { valid: true };
255
259
  }
256
260
  function transformRawToFriendly(rawConfig) {
257
- const cards = (rawConfig.searchConfigurations || []).map((sc) => ({
258
- searchId: sc.searchId,
259
- search: sc.search,
260
- typeId: sc.typeId,
261
- displayAttributes: sc.attributesConfiguration ? {
262
- description: sc.attributesConfiguration.descriptionAttribute,
263
- date: sc.attributesConfiguration.dateAttribute,
264
- tags: sc.attributesConfiguration.tagsAttribute,
265
- customIcons: sc.attributesConfiguration.customIconsAttributes,
266
- additional: sc.attributesConfiguration.displayAttributes
267
- } : undefined
268
- }));
261
+ const cards = (rawConfig.searchConfigurations || []).map((sc) => {
262
+ const card = {
263
+ searchId: sc.searchId,
264
+ search: sc.search,
265
+ typeId: sc.typeId
266
+ };
267
+ const hasCardDisplay = sc.visibleDateAttribute || sc.attributeTags || sc.colorAttribute || sc.customIconAttributes;
268
+ if (hasCardDisplay) {
269
+ card.cardDisplay = {};
270
+ if (sc.visibleDateAttribute) {
271
+ card.cardDisplay.dateAttribute = sc.visibleDateAttribute;
272
+ }
273
+ if (sc.attributeTags?.length) {
274
+ card.cardDisplay.tagAttributes = sc.attributeTags;
275
+ }
276
+ if (sc.colorAttribute) {
277
+ card.cardDisplay.colorAttribute = {
278
+ attribute: sc.colorAttribute.attributeSimpleName,
279
+ colorMapping: sc.colorAttribute.selection || {}
280
+ };
281
+ }
282
+ if (sc.customIconAttributes?.length) {
283
+ card.cardDisplay.iconAttributes = sc.customIconAttributes.map((cia) => ({
284
+ attribute: cia.attributeSimpleName,
285
+ enabled: cia.enabled
286
+ }));
287
+ }
288
+ }
289
+ return card;
290
+ });
269
291
  let columns = null;
270
292
  if (rawConfig.columnMapping) {
271
293
  try {
@@ -336,7 +358,14 @@ function transformMappingToFriendly(raw, elementType) {
336
358
  mappings: el.mappedValues?.map((mv) => ({
337
359
  searchId: mv.searchId,
338
360
  attribute: raw.mappedAttributes?.find((ma) => ma.searchId === mv.searchId)?.attributeSimpleName,
339
- values: mv.values
361
+ values: mv.values?.length ? mv.values : undefined,
362
+ referenceValues: mv.referenceValues?.length
363
+ ? mv.referenceValues.map((rv) => {
364
+ const uid = rv.linkUid || '';
365
+ return uid.startsWith('page/') ? uid.slice(5) : uid;
366
+ })
367
+ : undefined,
368
+ dateRange: mv.dateRange || undefined
340
369
  }))
341
370
  }))
342
371
  };
@@ -354,18 +383,49 @@ function transformVisualToFriendly(raw) {
354
383
  };
355
384
  }
356
385
  function transformCardsToRaw(cards) {
357
- return cards.map(card => ({
358
- searchId: card.searchId,
359
- search: card.search,
360
- typeId: card.typeId,
361
- attributesConfiguration: card.displayAttributes ? {
362
- descriptionAttribute: card.displayAttributes.description,
363
- dateAttribute: card.displayAttributes.date,
364
- tagsAttribute: card.displayAttributes.tags,
365
- customIconsAttributes: card.displayAttributes.customIcons,
366
- displayAttributes: card.displayAttributes.additional
367
- } : undefined
368
- }));
386
+ return cards.map(card => {
387
+ const raw = {
388
+ searchId: card.searchId,
389
+ search: card.search,
390
+ typeId: card.typeId
391
+ };
392
+ if (card.cardDisplay) {
393
+ if (card.cardDisplay.dateAttribute) {
394
+ raw.visibleDateAttribute = card.cardDisplay.dateAttribute;
395
+ }
396
+ if (card.cardDisplay.tagAttributes) {
397
+ raw.attributeTags = card.cardDisplay.tagAttributes;
398
+ }
399
+ if (card.cardDisplay.colorAttribute) {
400
+ raw.colorAttribute = {
401
+ attributeSimpleName: card.cardDisplay.colorAttribute.attribute,
402
+ selection: card.cardDisplay.colorAttribute.colorMapping
403
+ };
404
+ }
405
+ if (card.cardDisplay.iconAttributes) {
406
+ raw.customIconAttributes = card.cardDisplay.iconAttributes.map((ia) => ({
407
+ enabled: ia.enabled !== false,
408
+ attributeSimpleName: ia.attribute
409
+ }));
410
+ }
411
+ }
412
+ return raw;
413
+ });
414
+ }
415
+ function transformMappedValuesToRaw(mapping) {
416
+ const raw = {
417
+ searchId: mapping.searchId,
418
+ values: mapping.values || [],
419
+ referenceValues: (mapping.referenceValues || []).map((uid) => ({
420
+ linkUid: uid.startsWith('page/') ? uid : `page/${uid}`,
421
+ linkName: '',
422
+ linkIcon: ''
423
+ }))
424
+ };
425
+ if (mapping.dateRange) {
426
+ raw.dateRange = mapping.dateRange;
427
+ }
428
+ return raw;
369
429
  }
370
430
  function transformColumnsToRaw(columnsConfig) {
371
431
  if (columnsConfig.mode === "dynamic") {
@@ -375,9 +435,6 @@ function transformColumnsToRaw(columnsConfig) {
375
435
  searchId: ma.searchId,
376
436
  attributeSimpleName: ma.attribute
377
437
  })),
378
- timeGranularity: columnsConfig.dynamicConfig.timeGranularity?.toUpperCase(),
379
- dateRange: columnsConfig.dynamicConfig.dateRange,
380
- dateFormatId: columnsConfig.dynamicConfig.dateFormatId,
381
438
  elements: []
382
439
  });
383
440
  }
@@ -396,10 +453,7 @@ function transformColumnsToRaw(columnsConfig) {
396
453
  elements: columnsConfig.columns.map((col) => ({
397
454
  id: col.columnId,
398
455
  localizedNames: col.names,
399
- mappedValues: col.mappings.map((m) => ({
400
- searchId: m.searchId,
401
- values: m.values
402
- }))
456
+ mappedValues: col.mappings.map(transformMappedValuesToRaw)
403
457
  }))
404
458
  });
405
459
  }
@@ -418,9 +472,6 @@ function transformSwimlanesToRaw(swimlanesConfig) {
418
472
  searchId: ma.searchId,
419
473
  attributeSimpleName: ma.attribute
420
474
  })),
421
- timeGranularity: swimlanesConfig.dynamicConfig.timeGranularity?.toUpperCase(),
422
- dateRange: swimlanesConfig.dynamicConfig.dateRange,
423
- dateFormatId: swimlanesConfig.dynamicConfig.dateFormatId,
424
475
  elements: []
425
476
  });
426
477
  }
@@ -439,10 +490,7 @@ function transformSwimlanesToRaw(swimlanesConfig) {
439
490
  elements: swimlanesConfig.swimlanes.map((sl) => ({
440
491
  id: sl.swimlaneId,
441
492
  localizedNames: sl.names,
442
- mappedValues: sl.mappings.map((m) => ({
443
- searchId: m.searchId,
444
- values: m.values
445
- }))
493
+ mappedValues: sl.mappings.map(transformMappedValuesToRaw)
446
494
  }))
447
495
  });
448
496
  }
@@ -465,33 +513,10 @@ function transformVisualToRaw(friendlyVisual) {
465
513
  }
466
514
  return raw;
467
515
  }
468
- function buildUpdateRequestBody(context, widgetId, configuration) {
469
- const baseParams = context.type === "page"
470
- ? { pageUID: context.pageUID }
471
- : {
472
- workspaceId: context.workspaceId,
473
- typeInternalName: context.typeInternalName,
474
- ...(context.alternativeLayoutName && { alternativeLayoutName: context.alternativeLayoutName })
475
- };
476
- return {
477
- ...baseParams,
478
- operation: {
479
- type: "UPDATE",
480
- widgetId,
481
- newConfiguration: configuration
482
- }
483
- };
484
- }
485
516
  async function getCurrentBoardConfig(client, context, widgetId) {
486
517
  try {
487
- const endpoint = context.type === "page" ? "json/pageLayout" : "json/typeLayout";
488
- const params = context.type === "page"
489
- ? { pageUID: context.pageUID }
490
- : {
491
- workspaceId: context.workspaceId,
492
- typeInternalName: context.typeInternalName,
493
- ...(context.alternativeLayoutName && { alternativeLayoutName: context.alternativeLayoutName })
494
- };
518
+ const endpoint = determineApiEndpoint(context);
519
+ const params = buildRequestParams(context);
495
520
  const layoutResult = await client.makeApiRequest(endpoint, 'GET', params);
496
521
  const widget = findWidgetById(layoutResult.rows, widgetId);
497
522
  if (!widget) {
@@ -515,14 +540,8 @@ export function registerBoardWidgetTools(server, client) {
515
540
  server.registerTool(TOOL_BOARD_GET_CONFIGURATION, BOARD_TOOL_DEFINITIONS[TOOL_BOARD_GET_CONFIGURATION], async ({ context, widgetId }) => {
516
541
  debugLogWithTag('BOARD', `Getting board configuration for widget ${widgetId}`);
517
542
  try {
518
- const endpoint = context.type === "page" ? "json/pageLayout" : "json/typeLayout";
519
- const params = context.type === "page"
520
- ? { pageUID: context.pageUID }
521
- : {
522
- workspaceId: context.workspaceId,
523
- typeInternalName: context.typeInternalName,
524
- ...(context.alternativeLayoutName && { alternativeLayoutName: context.alternativeLayoutName })
525
- };
543
+ const endpoint = determineApiEndpoint(context);
544
+ const params = buildRequestParams(context);
526
545
  const layoutResult = await client.makeApiRequest(endpoint, 'GET', params);
527
546
  const widget = findWidgetById(layoutResult.rows, widgetId);
528
547
  if (!widget) {
@@ -590,7 +609,7 @@ export function registerBoardWidgetTools(server, client) {
590
609
  };
591
610
  }
592
611
  const rawSearchConfigurations = transformCardsToRaw(cards);
593
- const endpoint = context.type === "page" ? "json/pageLayout" : "json/typeLayout";
612
+ const endpoint = determineApiEndpoint(context);
594
613
  const searchConfigurationsValue = rawSearchConfigurations.map(sc => JSON.stringify(sc));
595
614
  debugLogWithTag('BOARD', `searchConfigurationsValue: ${JSON.stringify(searchConfigurationsValue)}`);
596
615
  const requestBody = buildUpdateRequestBody(context, widgetId, {
@@ -652,7 +671,7 @@ export function registerBoardWidgetTools(server, client) {
652
671
  };
653
672
  }
654
673
  const rawColumnMapping = transformColumnsToRaw({ mode, columns, dynamicConfig });
655
- const endpoint = context.type === "page" ? "json/pageLayout" : "json/typeLayout";
674
+ const endpoint = determineApiEndpoint(context);
656
675
  const requestBody = buildUpdateRequestBody(context, widgetId, {
657
676
  'cf.cplace.cboard.columnMapping': rawColumnMapping
658
677
  });
@@ -683,7 +702,7 @@ export function registerBoardWidgetTools(server, client) {
683
702
  try {
684
703
  if (!enabled) {
685
704
  const rawSwimlaneMapping = transformSwimlanesToRaw({ enabled: false });
686
- const endpoint = context.type === "page" ? "json/pageLayout" : "json/typeLayout";
705
+ const endpoint = determineApiEndpoint(context);
687
706
  const requestBody = buildUpdateRequestBody(context, widgetId, {
688
707
  'cf.cplace.cboard.swimlaneMapping': rawSwimlaneMapping
689
708
  });
@@ -736,7 +755,7 @@ export function registerBoardWidgetTools(server, client) {
736
755
  };
737
756
  }
738
757
  const rawSwimlaneMapping = transformSwimlanesToRaw({ enabled: true, mode, swimlanes, dynamicConfig });
739
- const endpoint = context.type === "page" ? "json/pageLayout" : "json/typeLayout";
758
+ const endpoint = determineApiEndpoint(context);
740
759
  const requestBody = buildUpdateRequestBody(context, widgetId, {
741
760
  'cf.cplace.cboard.swimlaneMapping': rawSwimlaneMapping
742
761
  });
@@ -778,7 +797,7 @@ export function registerBoardWidgetTools(server, client) {
778
797
  const newRaw = transformVisualToRaw(visualSettings);
779
798
  const mergedRaw = { ...currentRaw, ...newRaw };
780
799
  const rawVisualComponents = JSON.stringify(mergedRaw);
781
- const endpoint = context.type === "page" ? "json/pageLayout" : "json/typeLayout";
800
+ const endpoint = determineApiEndpoint(context);
782
801
  const requestBody = buildUpdateRequestBody(context, widgetId, {
783
802
  'cf.cplace.cboard.visualComponents': rawVisualComponents
784
803
  });
@@ -1 +1 @@
1
- {"version":3,"file":"board-widget.js","sourceRoot":"","sources":["../../src/tools/board-widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"board-widget.js","sourceRoot":"","sources":["../../src/tools/board-widget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { z } from "zod";
3
+ import { CplaceApiClient } from '../api.js';
4
+ export declare const DOCUMENT_TOOL_DEFINITIONS: {
5
+ readonly cplace_get_document: {
6
+ readonly description: "Get document details including fulltext content. Retrieves metadata and extracted text for a document by its UID. Document UIDs are found in page responses (documents array). Supports reading large documents in chunks via fulltextOffset and fulltextMaxLength parameters.";
7
+ readonly inputSchema: {
8
+ readonly documentUID: z.ZodString;
9
+ readonly fulltextOffset: z.ZodOptional<z.ZodNumber>;
10
+ readonly fulltextMaxLength: z.ZodOptional<z.ZodNumber>;
11
+ };
12
+ readonly annotations: {
13
+ readonly title: "Get Document";
14
+ };
15
+ };
16
+ };
17
+ export declare function registerDocumentTools(server: McpServer, client: CplaceApiClient): void;
18
+ //# sourceMappingURL=documents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAQ5C,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAU5B,CAAC;AAEX,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAuD/E"}
@@ -0,0 +1,59 @@
1
+ import { z } from "zod";
2
+ import { debugLogWithTag } from "../logger.js";
3
+ import { checkResponseSize } from "../utils.js";
4
+ const TOOL_GET_DOCUMENT = 'cplace_get_document';
5
+ export const DOCUMENT_TOOL_DEFINITIONS = {
6
+ [TOOL_GET_DOCUMENT]: {
7
+ description: "Get document details including fulltext content. Retrieves metadata and extracted text for a document by its UID. Document UIDs are found in page responses (documents array). Supports reading large documents in chunks via fulltextOffset and fulltextMaxLength parameters.",
8
+ inputSchema: {
9
+ documentUID: z.string().describe("The unique identifier of the document (e.g., 'document/abc123'). Found in the documents array of page responses."),
10
+ fulltextOffset: z.number().min(0).optional().describe("Character position to start reading fulltext from (default: 0). Use with fulltextMaxLength to read large documents in chunks."),
11
+ fulltextMaxLength: z.number().min(0).optional().describe("Maximum number of fulltext characters to return (default: 40000). Set to 0 to exclude fulltext entirely and return metadata only.")
12
+ },
13
+ annotations: { title: "Get Document" }
14
+ }
15
+ };
16
+ export function registerDocumentTools(server, client) {
17
+ server.registerTool(TOOL_GET_DOCUMENT, DOCUMENT_TOOL_DEFINITIONS[TOOL_GET_DOCUMENT], async ({ documentUID, fulltextOffset, fulltextMaxLength }) => {
18
+ debugLogWithTag('DOCUMENTS', `Getting document: ${documentUID}`);
19
+ const offset = fulltextOffset ?? 0;
20
+ const maxLength = fulltextMaxLength ?? 40000;
21
+ try {
22
+ const result = await client.makeApiRequest('json/document', 'GET', { documentUID });
23
+ if (result.fulltext && typeof result.fulltext === 'string') {
24
+ const originalLength = result.fulltext.length;
25
+ if (maxLength === 0) {
26
+ delete result.fulltext;
27
+ result.fulltextTruncated = true;
28
+ result.fulltextOriginalLength = originalLength;
29
+ result.fulltextOffset = 0;
30
+ }
31
+ else if (offset > 0 || originalLength > offset + maxLength) {
32
+ result.fulltext = result.fulltext.substring(offset, offset + maxLength);
33
+ result.fulltextTruncated = true;
34
+ result.fulltextOriginalLength = originalLength;
35
+ result.fulltextOffset = offset;
36
+ }
37
+ }
38
+ const sizeCheck = checkResponseSize(result);
39
+ if (sizeCheck.tooLarge) {
40
+ return {
41
+ content: [{ type: "text", text: `Response too large (${sizeCheck.actualSize} characters, max: 45000). Try reducing fulltextMaxLength (current: ${maxLength}) or set fulltextMaxLength to 0 to retrieve metadata only.` }],
42
+ isError: true
43
+ };
44
+ }
45
+ debugLogWithTag('DOCUMENTS', `Successfully retrieved document: ${documentUID}`);
46
+ return {
47
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
48
+ };
49
+ }
50
+ catch (error) {
51
+ debugLogWithTag('DOCUMENTS', `Error getting document: ${error instanceof Error ? error.message : String(error)}`);
52
+ return {
53
+ content: [{ type: "text", text: `Error retrieving document: ${error instanceof Error ? error.message : String(error)}` }],
54
+ isError: true
55
+ };
56
+ }
57
+ });
58
+ }
59
+ //# sourceMappingURL=documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAGhD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,CAAC,iBAAiB,CAAC,EAAE;QACnB,WAAW,EAAE,gRAAgR;QAC7R,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kHAAkH,CAAC;YACpJ,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+HAA+H,CAAC;YACtL,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mIAAmI,CAAC;SAC9L;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;KACvC;CACO,CAAC;AAEX,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAuB;IAC9E,MAAM,CAAC,YAAY,CAAC,iBAAiB,EACnC,yBAAyB,CAAC,iBAAiB,CAAC,EAC5C,KAAK,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,EAAE;QAC3D,eAAe,CAAC,WAAW,EAAE,qBAAqB,WAAW,EAAE,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,iBAAiB,IAAI,KAAK,CAAC;QAE7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAGpF,IAAI,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAE9C,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBAEpB,OAAO,MAAM,CAAC,QAAQ,CAAC;oBACvB,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAChC,MAAM,CAAC,sBAAsB,GAAG,cAAc,CAAC;oBAC/C,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;gBAC5B,CAAC;qBAAM,IAAI,MAAM,GAAG,CAAC,IAAI,cAAc,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC;oBAE7D,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;oBACxE,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAChC,MAAM,CAAC,sBAAsB,GAAG,cAAc,CAAC;oBAC/C,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC;gBACjC,CAAC;YAEH,CAAC;YAGD,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,SAAS,CAAC,UAAU,sEAAsE,SAAS,4DAA4D,EAAE,CAAC;oBACzN,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,eAAe,CAAC,WAAW,EAAE,oCAAoC,WAAW,EAAE,CAAC,CAAC;YAEhF,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,WAAW,EAAE,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACzH,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}