@cplace/test-mcp-server 0.1.14 → 1.0.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 (149) hide show
  1. package/README.md +275 -75
  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 +21 -3
  7. package/dist/conditional-registration.js.map +1 -1
  8. package/dist/index.js +82 -99
  9. package/dist/index.js.map +1 -1
  10. package/dist/preference-file.d.ts +16 -0
  11. package/dist/preference-file.d.ts.map +1 -0
  12. package/dist/preference-file.js +133 -0
  13. package/dist/preference-file.js.map +1 -0
  14. package/dist/profiles.d.ts +1 -3
  15. package/dist/profiles.d.ts.map +1 -1
  16. package/dist/profiles.js +60 -107
  17. package/dist/profiles.js.map +1 -1
  18. package/dist/searchConversion.d.ts.map +1 -1
  19. package/dist/searchConversion.js +18 -5
  20. package/dist/searchConversion.js.map +1 -1
  21. package/dist/searchSchema.d.ts +25 -25
  22. package/dist/searchSchema.d.ts.map +1 -1
  23. package/dist/searchSchema.js +5 -5
  24. package/dist/searchSchema.js.map +1 -1
  25. package/dist/token-hashing.d.ts +3 -0
  26. package/dist/token-hashing.d.ts.map +1 -0
  27. package/dist/token-hashing.js +18 -0
  28. package/dist/token-hashing.js.map +1 -0
  29. package/dist/tool-metadata.d.ts +2 -0
  30. package/dist/tool-metadata.d.ts.map +1 -0
  31. package/dist/tool-metadata.js +43 -0
  32. package/dist/tool-metadata.js.map +1 -0
  33. package/dist/tools/change-listeners.d.ts +30 -0
  34. package/dist/tools/change-listeners.d.ts.map +1 -1
  35. package/dist/tools/change-listeners.js +24 -18
  36. package/dist/tools/change-listeners.js.map +1 -1
  37. package/dist/tools/common-schemas.d.ts +2 -0
  38. package/dist/tools/common-schemas.d.ts.map +1 -1
  39. package/dist/tools/common-schemas.js +16 -0
  40. package/dist/tools/common-schemas.js.map +1 -1
  41. package/dist/tools/csv-export.d.ts +1849 -0
  42. package/dist/tools/csv-export.d.ts.map +1 -0
  43. package/dist/tools/csv-export.js +61 -0
  44. package/dist/tools/csv-export.js.map +1 -0
  45. package/dist/tools/generic-layouts.d.ts +332 -0
  46. package/dist/tools/generic-layouts.d.ts.map +1 -0
  47. package/dist/tools/generic-layouts.js +490 -0
  48. package/dist/tools/generic-layouts.js.map +1 -0
  49. package/dist/tools/get-operations.d.ts +16 -0
  50. package/dist/tools/get-operations.d.ts.map +1 -0
  51. package/dist/tools/get-operations.js +63 -0
  52. package/dist/tools/get-operations.js.map +1 -0
  53. package/dist/tools/pages.d.ts +55 -0
  54. package/dist/tools/pages.d.ts.map +1 -1
  55. package/dist/tools/pages.js +217 -209
  56. package/dist/tools/pages.js.map +1 -1
  57. package/dist/tools/ppt-export-schemas.d.ts +16 -16
  58. package/dist/tools/ppt-export.d.ts +1493 -0
  59. package/dist/tools/ppt-export.d.ts.map +1 -1
  60. package/dist/tools/ppt-export.js +23 -17
  61. package/dist/tools/ppt-export.js.map +1 -1
  62. package/dist/tools/profile-management.d.ts +20 -0
  63. package/dist/tools/profile-management.d.ts.map +1 -0
  64. package/dist/tools/profile-management.js +250 -0
  65. package/dist/tools/profile-management.js.map +1 -0
  66. package/dist/tools/references.d.ts +36 -0
  67. package/dist/tools/references.d.ts.map +1 -1
  68. package/dist/tools/references.js +48 -45
  69. package/dist/tools/references.js.map +1 -1
  70. package/dist/tools/richstring-widgets.d.ts +51 -0
  71. package/dist/tools/richstring-widgets.d.ts.map +1 -0
  72. package/dist/tools/richstring-widgets.js +173 -0
  73. package/dist/tools/richstring-widgets.js.map +1 -0
  74. package/dist/tools/schedule.d.ts +14 -0
  75. package/dist/tools/schedule.d.ts.map +1 -1
  76. package/dist/tools/schedule.js +7 -3
  77. package/dist/tools/schedule.js.map +1 -1
  78. package/dist/tools/script-logs.d.ts +29 -0
  79. package/dist/tools/script-logs.d.ts.map +1 -0
  80. package/dist/tools/script-logs.js +144 -0
  81. package/dist/tools/script-logs.js.map +1 -0
  82. package/dist/tools/search.d.ts +1870 -0
  83. package/dist/tools/search.d.ts.map +1 -1
  84. package/dist/tools/search.js +49 -75
  85. package/dist/tools/search.js.map +1 -1
  86. package/dist/tools/system.d.ts +2 -1
  87. package/dist/tools/system.d.ts.map +1 -1
  88. package/dist/tools/system.js +68 -2
  89. package/dist/tools/system.js.map +1 -1
  90. package/dist/tools/type-layouts.d.ts +37 -0
  91. package/dist/tools/type-layouts.d.ts.map +1 -1
  92. package/dist/tools/type-layouts.js +57 -11
  93. package/dist/tools/type-layouts.js.map +1 -1
  94. package/dist/tools/type-management.d.ts +134 -0
  95. package/dist/tools/type-management.d.ts.map +1 -0
  96. package/dist/tools/{workspace.js → type-management.js} +67 -307
  97. package/dist/tools/type-management.js.map +1 -0
  98. package/dist/tools/users.d.ts +19 -0
  99. package/dist/tools/users.d.ts.map +1 -1
  100. package/dist/tools/users.js +14 -28
  101. package/dist/tools/users.js.map +1 -1
  102. package/dist/tools/validators.d.ts +28 -0
  103. package/dist/tools/validators.d.ts.map +1 -1
  104. package/dist/tools/validators.js +21 -15
  105. package/dist/tools/validators.js.map +1 -1
  106. package/dist/tools/version-check.d.ts +4 -0
  107. package/dist/tools/version-check.d.ts.map +1 -0
  108. package/dist/tools/version-check.js +107 -0
  109. package/dist/tools/version-check.js.map +1 -0
  110. package/dist/tools/version-history.d.ts +48 -0
  111. package/dist/tools/version-history.d.ts.map +1 -1
  112. package/dist/tools/version-history.js +39 -29
  113. package/dist/tools/version-history.js.map +1 -1
  114. package/dist/tools/widgets.d.ts +182 -0
  115. package/dist/tools/widgets.d.ts.map +1 -1
  116. package/dist/tools/widgets.js +213 -590
  117. package/dist/tools/widgets.js.map +1 -1
  118. package/dist/tools/workflow-scripts.d.ts +40 -0
  119. package/dist/tools/workflow-scripts.d.ts.map +1 -0
  120. package/dist/tools/workflow-scripts.js +186 -0
  121. package/dist/tools/workflow-scripts.js.map +1 -0
  122. package/dist/tools/workflow.d.ts +70 -0
  123. package/dist/tools/workflow.d.ts.map +1 -0
  124. package/dist/tools/workflow.js +259 -0
  125. package/dist/tools/workflow.js.map +1 -0
  126. package/dist/tools/workspace-admin.d.ts +40 -0
  127. package/dist/tools/workspace-admin.d.ts.map +1 -0
  128. package/dist/tools/workspace-admin.js +125 -0
  129. package/dist/tools/workspace-admin.js.map +1 -0
  130. package/dist/tools/workspace-core.d.ts +45 -0
  131. package/dist/tools/workspace-core.d.ts.map +1 -0
  132. package/dist/tools/workspace-core.js +153 -0
  133. package/dist/tools/workspace-core.js.map +1 -0
  134. package/dist/types.d.ts +3 -3
  135. package/dist/types.d.ts.map +1 -1
  136. package/dist/url-parsing.d.ts +6 -0
  137. package/dist/url-parsing.d.ts.map +1 -0
  138. package/dist/url-parsing.js +25 -0
  139. package/dist/url-parsing.js.map +1 -0
  140. package/dist/utils/dateValidation.d.ts +5 -0
  141. package/dist/utils/dateValidation.d.ts.map +1 -0
  142. package/dist/utils/dateValidation.js +57 -0
  143. package/dist/utils/dateValidation.js.map +1 -0
  144. package/dist/utils.js +7 -7
  145. package/dist/utils.js.map +1 -1
  146. package/package.json +1 -1
  147. package/dist/tools/workspace.d.ts +0 -4
  148. package/dist/tools/workspace.d.ts.map +0 -1
  149. package/dist/tools/workspace.js.map +0 -1
@@ -0,0 +1,259 @@
1
+ import { z } from "zod";
2
+ import { debugLogWithTag } from "../logger.js";
3
+ const TOOL_MANAGE_WORKFLOW_STATE = 'cplace_manage_workflow_state';
4
+ const TOOL_DELETE_WORKFLOW_STATE = 'cplace_delete_workflow_state';
5
+ const TOOL_MANAGE_WORKFLOW_TRANSITION = 'cplace_manage_workflow_transition';
6
+ const TOOL_DELETE_WORKFLOW_TRANSITION = 'cplace_delete_workflow_transition';
7
+ export const WORKFLOW_TOOL_DEFINITIONS = {
8
+ [TOOL_MANAGE_WORKFLOW_STATE]: {
9
+ description: "Create or update workflow states with specified display properties. State internal names must be unique within the workflow and are immutable after creation.",
10
+ inputSchema: {
11
+ operation: z.enum(["create", "update"]).describe("Operation type: 'create' for new workflow state, 'update' for existing workflow state"),
12
+ workspaceId: z.string().describe("UID of the workspace containing the type (e.g., 'workspace/abc123')"),
13
+ typeDefinitionInternalName: z.string().describe("Internal name of the type definition (e.g., 'cf.example.Task')"),
14
+ attributeName: z.string().describe("Name of the workflow attribute (e.g., 'status')"),
15
+ internalName: z.string().optional().describe("Required for create: Unique internal name for the new state - immutable after creation (e.g., 'in-review')"),
16
+ stateInternalName: z.string().optional().describe("Required for update: Internal name of the state to update - immutable identifier (e.g., 'in-review')"),
17
+ displayNames: z.record(z.string()).optional().describe("Localized display names as language code -> text map. For create: required. For update: optional (e.g., {\"en\": \"In Review\", \"de\": \"In Überprüfung\"})"),
18
+ icon: z.string().optional().describe("FontAwesome icon name without 'fa-' prefix (e.g., 'eye', 'check')"),
19
+ color: z.string().optional().describe("Hex color code (e.g., '#3498db')"),
20
+ isDefault: z.boolean().optional().describe("Whether this state should be the default for new pages (default: false)")
21
+ },
22
+ annotations: { title: "Manage Workflow State" }
23
+ },
24
+ [TOOL_DELETE_WORKFLOW_STATE]: {
25
+ description: "Remove a workflow state and all transitions involving it. Does NOT migrate existing pages - pages in the deleted state become uneditable (but remain readable). Returns warning with affected page count. Fixed states (isFixed=true) and default states (isDefault=true) cannot be deleted.",
26
+ inputSchema: {
27
+ workspaceId: z.string().describe("UID of the workspace containing the type (e.g., 'workspace/abc123')"),
28
+ typeDefinitionInternalName: z.string().describe("Internal name of the type definition (e.g., 'cf.example.Task')"),
29
+ attributeName: z.string().describe("Name of the workflow attribute (e.g., 'status')"),
30
+ stateInternalName: z.string().describe("Internal name of the state to delete (e.g., 'in-review')")
31
+ },
32
+ annotations: { title: "Delete Workflow State" }
33
+ },
34
+ [TOOL_MANAGE_WORKFLOW_TRANSITION]: {
35
+ description: "Create or update workflow transitions between states with specified display properties. Both state names must exist in the workflow. Transitions are uniquely identified by the composite key (previousStateName, nextStateName).",
36
+ inputSchema: {
37
+ operation: z.enum(["create", "update"]).describe("Operation type: 'create' for new workflow transition, 'update' for existing workflow transition"),
38
+ workspaceId: z.string().describe("UID of the workspace containing the type (e.g., 'workspace/abc123')"),
39
+ typeDefinitionInternalName: z.string().describe("Internal name of the type definition (e.g., 'cf.example.Task')"),
40
+ attributeName: z.string().describe("Name of the workflow attribute (e.g., 'status')"),
41
+ previousStateName: z.string().describe("Source state internal name - must exist (e.g., 'open')"),
42
+ nextStateName: z.string().describe("Target state internal name - must exist (e.g., 'in-review')"),
43
+ displayNames: z.record(z.string()).optional().describe("Localized display names for the transition button. For create: required. For update: optional (e.g., {\"en\": \"Submit for Review\", \"de\": \"Zur Überprüfung einreichen\"})"),
44
+ icon: z.string().optional().describe("FontAwesome icon name without 'fa-' prefix (e.g., 'arrow-right')"),
45
+ color: z.string().optional().describe("Hex color code for the transition button (e.g., '#3498db')"),
46
+ successMessage: z.string().optional().describe("Message shown after successful transition (optional)"),
47
+ confirm: z.boolean().optional().describe("Whether to show confirmation dialog (default: false)"),
48
+ executeValidators: z.boolean().optional().describe("Whether to run validators before transition (default: true)")
49
+ },
50
+ annotations: { title: "Manage Workflow Transition" }
51
+ },
52
+ [TOOL_DELETE_WORKFLOW_TRANSITION]: {
53
+ description: "Remove a workflow transition. Fixed transitions (isFixed=true) cannot be deleted. Deleting a transition only removes the ability to transition between the states - it does not affect existing pages or the states themselves.",
54
+ inputSchema: {
55
+ workspaceId: z.string().describe("UID of the workspace containing the type (e.g., 'workspace/abc123')"),
56
+ typeDefinitionInternalName: z.string().describe("Internal name of the type definition (e.g., 'cf.example.Task')"),
57
+ attributeName: z.string().describe("Name of the workflow attribute (e.g., 'status')"),
58
+ previousStateName: z.string().describe("Source state internal name (e.g., 'open')"),
59
+ nextStateName: z.string().describe("Target state internal name (e.g., 'in-review')")
60
+ },
61
+ annotations: { title: "Delete Workflow Transition" }
62
+ }
63
+ };
64
+ export function registerWorkflowTools(server, client) {
65
+ server.registerTool(TOOL_MANAGE_WORKFLOW_STATE, WORKFLOW_TOOL_DEFINITIONS[TOOL_MANAGE_WORKFLOW_STATE], async (params) => {
66
+ if (params.operation === "create") {
67
+ if (!params.internalName || !params.displayNames) {
68
+ return {
69
+ content: [{ type: "text", text: "Error: Create operation requires internalName and displayNames parameters" }],
70
+ isError: true
71
+ };
72
+ }
73
+ debugLogWithTag('WORKFLOW_STATE', `Creating state '${params.internalName}' for ${params.typeDefinitionInternalName}.${params.attributeName}`);
74
+ try {
75
+ const requestBody = {
76
+ workspaceId: params.workspaceId,
77
+ typeDefinitionInternalName: params.typeDefinitionInternalName,
78
+ attributeName: params.attributeName,
79
+ internalName: params.internalName,
80
+ displayNames: params.displayNames
81
+ };
82
+ if (params.icon !== undefined)
83
+ requestBody.icon = params.icon;
84
+ if (params.color !== undefined)
85
+ requestBody.color = params.color;
86
+ if (params.isDefault !== undefined)
87
+ requestBody.isDefault = params.isDefault;
88
+ const result = await client.makeApiRequest('json/workflow-state', 'POST', undefined, requestBody);
89
+ debugLogWithTag('WORKFLOW_STATE', `Successfully created state '${params.internalName}'`);
90
+ return {
91
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
92
+ };
93
+ }
94
+ catch (error) {
95
+ return {
96
+ content: [{ type: "text", text: `Error creating workflow state: ${error instanceof Error ? error.message : String(error)}` }],
97
+ isError: true
98
+ };
99
+ }
100
+ }
101
+ else {
102
+ if (!params.stateInternalName) {
103
+ return {
104
+ content: [{ type: "text", text: "Error: Update operation requires stateInternalName parameter" }],
105
+ isError: true
106
+ };
107
+ }
108
+ debugLogWithTag('WORKFLOW_STATE', `Updating state '${params.stateInternalName}' for ${params.typeDefinitionInternalName}.${params.attributeName}`);
109
+ try {
110
+ const requestBody = {
111
+ workspaceId: params.workspaceId,
112
+ typeDefinitionInternalName: params.typeDefinitionInternalName,
113
+ attributeName: params.attributeName,
114
+ stateInternalName: params.stateInternalName
115
+ };
116
+ if (params.displayNames !== undefined)
117
+ requestBody.displayNames = params.displayNames;
118
+ if (params.icon !== undefined)
119
+ requestBody.icon = params.icon;
120
+ if (params.color !== undefined)
121
+ requestBody.color = params.color;
122
+ if (params.isDefault !== undefined)
123
+ requestBody.isDefault = params.isDefault;
124
+ const result = await client.makeApiRequest('json/workflow-state', 'PATCH', undefined, requestBody);
125
+ debugLogWithTag('WORKFLOW_STATE', `Successfully updated state '${params.stateInternalName}'`);
126
+ return {
127
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
128
+ };
129
+ }
130
+ catch (error) {
131
+ return {
132
+ content: [{ type: "text", text: `Error updating workflow state: ${error instanceof Error ? error.message : String(error)}` }],
133
+ isError: true
134
+ };
135
+ }
136
+ }
137
+ });
138
+ server.registerTool(TOOL_DELETE_WORKFLOW_STATE, WORKFLOW_TOOL_DEFINITIONS[TOOL_DELETE_WORKFLOW_STATE], async ({ workspaceId, typeDefinitionInternalName, attributeName, stateInternalName }) => {
139
+ debugLogWithTag('WORKFLOW_STATE', `Deleting state '${stateInternalName}' for ${typeDefinitionInternalName}.${attributeName}`);
140
+ try {
141
+ const result = await client.makeApiRequest('json/workflow-state', 'DELETE', {
142
+ workspaceId,
143
+ typeDefinitionInternalName,
144
+ attributeName,
145
+ stateInternalName
146
+ });
147
+ debugLogWithTag('WORKFLOW_STATE', `Successfully deleted state '${stateInternalName}'`);
148
+ return {
149
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
150
+ };
151
+ }
152
+ catch (error) {
153
+ return {
154
+ content: [{ type: "text", text: `Error deleting workflow state: ${error instanceof Error ? error.message : String(error)}` }],
155
+ isError: true
156
+ };
157
+ }
158
+ });
159
+ server.registerTool(TOOL_MANAGE_WORKFLOW_TRANSITION, WORKFLOW_TOOL_DEFINITIONS[TOOL_MANAGE_WORKFLOW_TRANSITION], async (params) => {
160
+ if (params.operation === "create") {
161
+ if (!params.displayNames) {
162
+ return {
163
+ content: [{ type: "text", text: "Error: Create operation requires displayNames parameter" }],
164
+ isError: true
165
+ };
166
+ }
167
+ debugLogWithTag('WORKFLOW_TRANSITION', `Creating transition '${params.previousStateName}' -> '${params.nextStateName}' for ${params.typeDefinitionInternalName}.${params.attributeName}`);
168
+ try {
169
+ const requestBody = {
170
+ workspaceId: params.workspaceId,
171
+ typeDefinitionInternalName: params.typeDefinitionInternalName,
172
+ attributeName: params.attributeName,
173
+ previousStateName: params.previousStateName,
174
+ nextStateName: params.nextStateName,
175
+ displayNames: params.displayNames
176
+ };
177
+ if (params.icon !== undefined)
178
+ requestBody.icon = params.icon;
179
+ if (params.color !== undefined)
180
+ requestBody.color = params.color;
181
+ if (params.successMessage !== undefined)
182
+ requestBody.successMessage = params.successMessage;
183
+ if (params.confirm !== undefined)
184
+ requestBody.confirm = params.confirm;
185
+ if (params.executeValidators !== undefined)
186
+ requestBody.executeValidators = params.executeValidators;
187
+ const result = await client.makeApiRequest('json/workflow-transition', 'POST', undefined, requestBody);
188
+ debugLogWithTag('WORKFLOW_TRANSITION', `Successfully created transition '${params.previousStateName}' -> '${params.nextStateName}'`);
189
+ return {
190
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
191
+ };
192
+ }
193
+ catch (error) {
194
+ return {
195
+ content: [{ type: "text", text: `Error creating workflow transition: ${error instanceof Error ? error.message : String(error)}` }],
196
+ isError: true
197
+ };
198
+ }
199
+ }
200
+ else {
201
+ debugLogWithTag('WORKFLOW_TRANSITION', `Updating transition '${params.previousStateName}' -> '${params.nextStateName}' for ${params.typeDefinitionInternalName}.${params.attributeName}`);
202
+ try {
203
+ const requestBody = {
204
+ workspaceId: params.workspaceId,
205
+ typeDefinitionInternalName: params.typeDefinitionInternalName,
206
+ attributeName: params.attributeName,
207
+ previousStateName: params.previousStateName,
208
+ nextStateName: params.nextStateName
209
+ };
210
+ if (params.displayNames !== undefined)
211
+ requestBody.displayNames = params.displayNames;
212
+ if (params.icon !== undefined)
213
+ requestBody.icon = params.icon;
214
+ if (params.color !== undefined)
215
+ requestBody.color = params.color;
216
+ if (params.successMessage !== undefined)
217
+ requestBody.successMessage = params.successMessage;
218
+ if (params.confirm !== undefined)
219
+ requestBody.confirm = params.confirm;
220
+ if (params.executeValidators !== undefined)
221
+ requestBody.executeValidators = params.executeValidators;
222
+ const result = await client.makeApiRequest('json/workflow-transition', 'PATCH', undefined, requestBody);
223
+ debugLogWithTag('WORKFLOW_TRANSITION', `Successfully updated transition '${params.previousStateName}' -> '${params.nextStateName}'`);
224
+ return {
225
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
226
+ };
227
+ }
228
+ catch (error) {
229
+ return {
230
+ content: [{ type: "text", text: `Error updating workflow transition: ${error instanceof Error ? error.message : String(error)}` }],
231
+ isError: true
232
+ };
233
+ }
234
+ }
235
+ });
236
+ server.registerTool(TOOL_DELETE_WORKFLOW_TRANSITION, WORKFLOW_TOOL_DEFINITIONS[TOOL_DELETE_WORKFLOW_TRANSITION], async ({ workspaceId, typeDefinitionInternalName, attributeName, previousStateName, nextStateName }) => {
237
+ debugLogWithTag('WORKFLOW_TRANSITION', `Deleting transition '${previousStateName}' -> '${nextStateName}' for ${typeDefinitionInternalName}.${attributeName}`);
238
+ try {
239
+ const result = await client.makeApiRequest('json/workflow-transition', 'DELETE', {
240
+ workspaceId,
241
+ typeDefinitionInternalName,
242
+ attributeName,
243
+ previousStateName,
244
+ nextStateName
245
+ });
246
+ debugLogWithTag('WORKFLOW_TRANSITION', `Successfully deleted transition '${previousStateName}' -> '${nextStateName}'`);
247
+ return {
248
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
249
+ };
250
+ }
251
+ catch (error) {
252
+ return {
253
+ content: [{ type: "text", text: `Error deleting workflow transition: ${error instanceof Error ? error.message : String(error)}` }],
254
+ isError: true
255
+ };
256
+ }
257
+ });
258
+ }
259
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { z } from "zod";
3
+ import { CplaceApiClient } from '../api.js';
4
+ export declare const WORKSPACE_ADMIN_TOOL_DEFINITIONS: {
5
+ readonly cplace_create_workspace: {
6
+ readonly description: "Create a new workspace (PageSpace) with specified configuration including name, permissions, and apps. Requires global CREATE_PAGE_SPACE permission.";
7
+ readonly inputSchema: {
8
+ readonly name: z.ZodString;
9
+ readonly administratorUids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10
+ readonly readerUids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
+ readonly writerUids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
12
+ readonly layouterUids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
13
+ readonly apps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
14
+ };
15
+ readonly annotations: {
16
+ readonly title: "Create Workspace";
17
+ };
18
+ };
19
+ readonly cplace_list_workspace_apps: {
20
+ readonly description: "Get comprehensive information about applications within a workspace, including installed apps, available apps for installation, dependency information, and compatibility status";
21
+ readonly inputSchema: {
22
+ readonly workspaceId: z.ZodString;
23
+ };
24
+ readonly annotations: {
25
+ readonly title: "List Workspace Apps";
26
+ };
27
+ };
28
+ readonly cplace_install_workspace_app: {
29
+ readonly description: "Install a specific application into a workspace, including automatic dependency resolution. Validates permissions, app compatibility, and automatically installs required dependencies.";
30
+ readonly inputSchema: {
31
+ readonly workspaceId: z.ZodString;
32
+ readonly appQualifiedName: z.ZodString;
33
+ };
34
+ readonly annotations: {
35
+ readonly title: "Install Workspace App";
36
+ };
37
+ };
38
+ };
39
+ export declare function registerWorkspaceAdminTools(server: McpServer, client: CplaceApiClient): void;
40
+ //# sourceMappingURL=workspace-admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-admin.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-admin.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;AAU5C,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BnC,CAAC;AAEX,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAgHrF"}
@@ -0,0 +1,125 @@
1
+ import { z } from "zod";
2
+ import { debugLogWithTag } from "../logger.js";
3
+ import { checkResponseSize } from '../utils.js';
4
+ const TOOL_CREATE_WORKSPACE = 'cplace_create_workspace';
5
+ const TOOL_LIST_WORKSPACE_APPS = 'cplace_list_workspace_apps';
6
+ const TOOL_INSTALL_WORKSPACE_APP = 'cplace_install_workspace_app';
7
+ export const WORKSPACE_ADMIN_TOOL_DEFINITIONS = {
8
+ [TOOL_CREATE_WORKSPACE]: {
9
+ description: "Create a new workspace (PageSpace) with specified configuration including name, permissions, and apps. Requires global CREATE_PAGE_SPACE permission.",
10
+ inputSchema: {
11
+ name: z.string().describe("Required: Internal workspace name (must be unique across the system)"),
12
+ administratorUids: z.array(z.string()).optional().describe("Optional: List of administrator principal UIDs (e.g., ['person/user123', 'person/admin456']). Defaults to current user if not provided."),
13
+ readerUids: z.array(z.string()).optional().describe("Optional: List of reader principal UIDs (e.g., ['person/reader789'])"),
14
+ writerUids: z.array(z.string()).optional().describe("Optional: List of writer principal UIDs (e.g., ['person/writer456'])"),
15
+ layouterUids: z.array(z.string()).optional().describe("Optional: List of layouter principal UIDs (e.g., ['person/layouter123'])"),
16
+ apps: z.array(z.string()).optional().describe("Optional: List of app qualified names to install (e.g., ['cf.cplace.solution.safe', 'cf.cplace.solution.ppm']). Apps are installed best-effort - incompatible apps are skipped with warnings.")
17
+ },
18
+ annotations: { title: "Create Workspace" }
19
+ },
20
+ [TOOL_LIST_WORKSPACE_APPS]: {
21
+ description: "Get comprehensive information about applications within a workspace, including installed apps, available apps for installation, dependency information, and compatibility status",
22
+ inputSchema: {
23
+ workspaceId: z.string().describe("The ID of the workspace to query for apps (e.g., 'abc123')")
24
+ },
25
+ annotations: { title: "List Workspace Apps" }
26
+ },
27
+ [TOOL_INSTALL_WORKSPACE_APP]: {
28
+ description: "Install a specific application into a workspace, including automatic dependency resolution. Validates permissions, app compatibility, and automatically installs required dependencies.",
29
+ inputSchema: {
30
+ workspaceId: z.string().describe("The ID of the workspace to install the app in (e.g., 'abc123')"),
31
+ appQualifiedName: z.string().describe("The qualified name of the app to install (e.g., 'cf.cplace.solution.safe')")
32
+ },
33
+ annotations: { title: "Install Workspace App" }
34
+ }
35
+ };
36
+ export function registerWorkspaceAdminTools(server, client) {
37
+ server.registerTool(TOOL_CREATE_WORKSPACE, WORKSPACE_ADMIN_TOOL_DEFINITIONS[TOOL_CREATE_WORKSPACE], async ({ name, administratorUids, readerUids, writerUids, layouterUids, apps }) => {
38
+ debugLogWithTag('WORKSPACES', `Creating workspace: ${name}`);
39
+ try {
40
+ const requestBody = { name };
41
+ if (administratorUids)
42
+ requestBody.administratorUids = administratorUids;
43
+ if (readerUids)
44
+ requestBody.readerUids = readerUids;
45
+ if (writerUids)
46
+ requestBody.writerUids = writerUids;
47
+ if (layouterUids)
48
+ requestBody.layouterUids = layouterUids;
49
+ if (apps)
50
+ requestBody.apps = apps;
51
+ const result = await client.makeApiRequest('json/workspace/create', 'POST', undefined, requestBody);
52
+ debugLogWithTag('WORKSPACES', `Successfully created workspace: ${name} with ID: ${result.result?.workspaceId}`);
53
+ return {
54
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
55
+ };
56
+ }
57
+ catch (error) {
58
+ debugLogWithTag('WORKSPACES', `Error creating workspace ${name}: ${error instanceof Error ? error.message : String(error)}`);
59
+ return {
60
+ content: [{ type: "text", text: `Error creating workspace: ${error instanceof Error ? error.message : String(error)}` }],
61
+ isError: true
62
+ };
63
+ }
64
+ });
65
+ server.registerTool(TOOL_LIST_WORKSPACE_APPS, WORKSPACE_ADMIN_TOOL_DEFINITIONS[TOOL_LIST_WORKSPACE_APPS], async ({ workspaceId }) => {
66
+ debugLogWithTag('WORKSPACES', `Getting apps for workspace: ${workspaceId}`);
67
+ try {
68
+ const result = await client.makeApiRequest('json/apps', 'GET', { workspaceId });
69
+ debugLogWithTag('WORKSPACES', `Retrieved apps data for workspace ${workspaceId}`);
70
+ debugLogWithTag('WORKSPACES', `Installed apps: ${result.result?.installed?.length || 0}, Available apps: ${result.result?.available?.length || 0}`);
71
+ const sizeCheck = checkResponseSize(result);
72
+ if (sizeCheck.tooLarge) {
73
+ return {
74
+ content: [{ type: "text", text: `Response too large (${sizeCheck.actualSize} characters, max allowed: 45000). The apps data for this workspace is too large to display. Consider using the workspace details tool for basic app information.` }],
75
+ isError: true
76
+ };
77
+ }
78
+ return {
79
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
80
+ };
81
+ }
82
+ catch (error) {
83
+ debugLogWithTag('WORKSPACES', `Error getting apps for workspace ${workspaceId}: ${error instanceof Error ? error.message : String(error)}`);
84
+ return {
85
+ content: [{ type: "text", text: `Error retrieving workspace apps: ${error instanceof Error ? error.message : String(error)}` }],
86
+ isError: true
87
+ };
88
+ }
89
+ });
90
+ server.registerTool(TOOL_INSTALL_WORKSPACE_APP, WORKSPACE_ADMIN_TOOL_DEFINITIONS[TOOL_INSTALL_WORKSPACE_APP], async ({ workspaceId, appQualifiedName }) => {
91
+ debugLogWithTag('WORKSPACES', `Installing app: ${appQualifiedName} in workspace: ${workspaceId}`);
92
+ try {
93
+ const requestBody = {
94
+ workspaceId,
95
+ appQualifiedName
96
+ };
97
+ const result = await client.makeApiRequest('json/install-app', 'POST', undefined, requestBody);
98
+ debugLogWithTag('WORKSPACES', `Successfully installed app: ${appQualifiedName}`);
99
+ const sizeCheck = checkResponseSize(result);
100
+ if (sizeCheck.tooLarge) {
101
+ return {
102
+ content: [{
103
+ type: "text",
104
+ text: `App installed successfully but response too large (${sizeCheck.actualSize} characters, max allowed: 45000). Use cplace_list_workspace_apps to see updated app information.`
105
+ }],
106
+ isError: true
107
+ };
108
+ }
109
+ return {
110
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
111
+ };
112
+ }
113
+ catch (error) {
114
+ debugLogWithTag('WORKSPACES', `Error installing app ${appQualifiedName} in workspace ${workspaceId}: ${error instanceof Error ? error.message : String(error)}`);
115
+ return {
116
+ content: [{
117
+ type: "text",
118
+ text: `Error installing app: ${error instanceof Error ? error.message : String(error)}`
119
+ }],
120
+ isError: true
121
+ };
122
+ }
123
+ });
124
+ }
125
+ //# sourceMappingURL=workspace-admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-admin.js","sourceRoot":"","sources":["../../src/tools/workspace-admin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { z } from "zod";
3
+ import { CplaceApiClient } from '../api.js';
4
+ export declare const WORKSPACE_CORE_TOOL_DEFINITIONS: {
5
+ readonly cplace_list_workspaces: {
6
+ readonly description: "Get a list of all workspaces with essential properties (id, name, displayName, totalPages, isFavorite, installed apps)";
7
+ readonly inputSchema: {
8
+ readonly limit: z.ZodOptional<z.ZodNumber>;
9
+ readonly offset: z.ZodDefault<z.ZodNumber>;
10
+ };
11
+ readonly annotations: {
12
+ readonly title: "List Workspaces";
13
+ };
14
+ };
15
+ readonly cplace_list_types: {
16
+ readonly description: "List all types available in a workspace";
17
+ readonly inputSchema: {
18
+ readonly workspaceId: z.ZodString;
19
+ };
20
+ readonly annotations: {
21
+ readonly title: "List Types";
22
+ };
23
+ };
24
+ readonly cplace_get_workspace_details: {
25
+ readonly description: "Get comprehensive details about a specific workspace including all metadata, permissions, type definitions (count only), styling, and configuration. Provides access to rootPageId and other fields not available in the list view. For the full list of types, use cplace_list_types.";
26
+ readonly inputSchema: {
27
+ readonly workspaceId: z.ZodString;
28
+ };
29
+ readonly annotations: {
30
+ readonly title: "Get Workspace Details";
31
+ };
32
+ };
33
+ readonly cplace_get_type_datamodel: {
34
+ readonly description: "Get the datamodel of a type including its attributes, constraints, and permissions. Use this before performing a search to understand the type structure.";
35
+ readonly inputSchema: {
36
+ readonly workspaceId: z.ZodString;
37
+ readonly internalName: z.ZodString;
38
+ };
39
+ readonly annotations: {
40
+ readonly title: "Get Type Details";
41
+ };
42
+ };
43
+ };
44
+ export declare function registerWorkspaceCoreTools(server: McpServer, client: CplaceApiClient): void;
45
+ //# sourceMappingURL=workspace-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-core.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAqB,MAAM,WAAW,CAAC;AAW/D,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BlC,CAAC;AAEX,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAwJpF"}