@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.
- package/README.md +275 -75
- package/dist/api.d.ts +4 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/conditional-registration.d.ts.map +1 -1
- package/dist/conditional-registration.js +21 -3
- package/dist/conditional-registration.js.map +1 -1
- package/dist/index.js +82 -99
- package/dist/index.js.map +1 -1
- package/dist/preference-file.d.ts +16 -0
- package/dist/preference-file.d.ts.map +1 -0
- package/dist/preference-file.js +133 -0
- package/dist/preference-file.js.map +1 -0
- package/dist/profiles.d.ts +1 -3
- package/dist/profiles.d.ts.map +1 -1
- package/dist/profiles.js +60 -107
- package/dist/profiles.js.map +1 -1
- package/dist/searchConversion.d.ts.map +1 -1
- package/dist/searchConversion.js +18 -5
- package/dist/searchConversion.js.map +1 -1
- package/dist/searchSchema.d.ts +25 -25
- package/dist/searchSchema.d.ts.map +1 -1
- package/dist/searchSchema.js +5 -5
- package/dist/searchSchema.js.map +1 -1
- package/dist/token-hashing.d.ts +3 -0
- package/dist/token-hashing.d.ts.map +1 -0
- package/dist/token-hashing.js +18 -0
- package/dist/token-hashing.js.map +1 -0
- package/dist/tool-metadata.d.ts +2 -0
- package/dist/tool-metadata.d.ts.map +1 -0
- package/dist/tool-metadata.js +43 -0
- package/dist/tool-metadata.js.map +1 -0
- package/dist/tools/change-listeners.d.ts +30 -0
- package/dist/tools/change-listeners.d.ts.map +1 -1
- package/dist/tools/change-listeners.js +24 -18
- package/dist/tools/change-listeners.js.map +1 -1
- package/dist/tools/common-schemas.d.ts +2 -0
- package/dist/tools/common-schemas.d.ts.map +1 -1
- package/dist/tools/common-schemas.js +16 -0
- package/dist/tools/common-schemas.js.map +1 -1
- package/dist/tools/csv-export.d.ts +1849 -0
- package/dist/tools/csv-export.d.ts.map +1 -0
- package/dist/tools/csv-export.js +61 -0
- package/dist/tools/csv-export.js.map +1 -0
- package/dist/tools/generic-layouts.d.ts +332 -0
- package/dist/tools/generic-layouts.d.ts.map +1 -0
- package/dist/tools/generic-layouts.js +490 -0
- package/dist/tools/generic-layouts.js.map +1 -0
- package/dist/tools/get-operations.d.ts +16 -0
- package/dist/tools/get-operations.d.ts.map +1 -0
- package/dist/tools/get-operations.js +63 -0
- package/dist/tools/get-operations.js.map +1 -0
- package/dist/tools/pages.d.ts +55 -0
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +217 -209
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/ppt-export-schemas.d.ts +16 -16
- package/dist/tools/ppt-export.d.ts +1493 -0
- package/dist/tools/ppt-export.d.ts.map +1 -1
- package/dist/tools/ppt-export.js +23 -17
- package/dist/tools/ppt-export.js.map +1 -1
- package/dist/tools/profile-management.d.ts +20 -0
- package/dist/tools/profile-management.d.ts.map +1 -0
- package/dist/tools/profile-management.js +250 -0
- package/dist/tools/profile-management.js.map +1 -0
- package/dist/tools/references.d.ts +36 -0
- package/dist/tools/references.d.ts.map +1 -1
- package/dist/tools/references.js +48 -45
- package/dist/tools/references.js.map +1 -1
- package/dist/tools/richstring-widgets.d.ts +51 -0
- package/dist/tools/richstring-widgets.d.ts.map +1 -0
- package/dist/tools/richstring-widgets.js +173 -0
- package/dist/tools/richstring-widgets.js.map +1 -0
- package/dist/tools/schedule.d.ts +14 -0
- package/dist/tools/schedule.d.ts.map +1 -1
- package/dist/tools/schedule.js +7 -3
- package/dist/tools/schedule.js.map +1 -1
- package/dist/tools/script-logs.d.ts +29 -0
- package/dist/tools/script-logs.d.ts.map +1 -0
- package/dist/tools/script-logs.js +144 -0
- package/dist/tools/script-logs.js.map +1 -0
- package/dist/tools/search.d.ts +1870 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +49 -75
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/system.d.ts +2 -1
- package/dist/tools/system.d.ts.map +1 -1
- package/dist/tools/system.js +68 -2
- package/dist/tools/system.js.map +1 -1
- package/dist/tools/type-layouts.d.ts +37 -0
- package/dist/tools/type-layouts.d.ts.map +1 -1
- package/dist/tools/type-layouts.js +57 -11
- package/dist/tools/type-layouts.js.map +1 -1
- package/dist/tools/type-management.d.ts +134 -0
- package/dist/tools/type-management.d.ts.map +1 -0
- package/dist/tools/{workspace.js → type-management.js} +67 -307
- package/dist/tools/type-management.js.map +1 -0
- package/dist/tools/users.d.ts +19 -0
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +14 -28
- package/dist/tools/users.js.map +1 -1
- package/dist/tools/validators.d.ts +28 -0
- package/dist/tools/validators.d.ts.map +1 -1
- package/dist/tools/validators.js +21 -15
- package/dist/tools/validators.js.map +1 -1
- package/dist/tools/version-check.d.ts +4 -0
- package/dist/tools/version-check.d.ts.map +1 -0
- package/dist/tools/version-check.js +107 -0
- package/dist/tools/version-check.js.map +1 -0
- package/dist/tools/version-history.d.ts +48 -0
- package/dist/tools/version-history.d.ts.map +1 -1
- package/dist/tools/version-history.js +39 -29
- package/dist/tools/version-history.js.map +1 -1
- package/dist/tools/widgets.d.ts +182 -0
- package/dist/tools/widgets.d.ts.map +1 -1
- package/dist/tools/widgets.js +213 -590
- package/dist/tools/widgets.js.map +1 -1
- package/dist/tools/workflow-scripts.d.ts +40 -0
- package/dist/tools/workflow-scripts.d.ts.map +1 -0
- package/dist/tools/workflow-scripts.js +186 -0
- package/dist/tools/workflow-scripts.js.map +1 -0
- package/dist/tools/workflow.d.ts +70 -0
- package/dist/tools/workflow.d.ts.map +1 -0
- package/dist/tools/workflow.js +259 -0
- package/dist/tools/workflow.js.map +1 -0
- package/dist/tools/workspace-admin.d.ts +40 -0
- package/dist/tools/workspace-admin.d.ts.map +1 -0
- package/dist/tools/workspace-admin.js +125 -0
- package/dist/tools/workspace-admin.js.map +1 -0
- package/dist/tools/workspace-core.d.ts +45 -0
- package/dist/tools/workspace-core.d.ts.map +1 -0
- package/dist/tools/workspace-core.js +153 -0
- package/dist/tools/workspace-core.js.map +1 -0
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/url-parsing.d.ts +6 -0
- package/dist/url-parsing.d.ts.map +1 -0
- package/dist/url-parsing.js +25 -0
- package/dist/url-parsing.js.map +1 -0
- package/dist/utils/dateValidation.d.ts +5 -0
- package/dist/utils/dateValidation.d.ts.map +1 -0
- package/dist/utils/dateValidation.js +57 -0
- package/dist/utils/dateValidation.js.map +1 -0
- package/dist/utils.js +7 -7
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/tools/workspace.d.ts +0 -4
- package/dist/tools/workspace.d.ts.map +0 -1
- package/dist/tools/workspace.js.map +0 -1
package/dist/tools/pages.d.ts
CHANGED
|
@@ -1,4 +1,59 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { z } from "zod";
|
|
2
3
|
import { CplaceApiClient } from '../api.js';
|
|
4
|
+
export declare const PAGE_TOOL_DEFINITIONS: {
|
|
5
|
+
readonly cplace_delete_page: {
|
|
6
|
+
readonly 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.";
|
|
7
|
+
readonly inputSchema: {
|
|
8
|
+
readonly pageUID: z.ZodString;
|
|
9
|
+
};
|
|
10
|
+
readonly annotations: {
|
|
11
|
+
readonly title: "Delete Page";
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
readonly cplace_delete_page_with_children: {
|
|
15
|
+
readonly description: "⚠️ DESTRUCTIVE OPERATION: Permanently delete a page and optionally all its children. Uses a two-phase workflow: first call shows preview, second call with confirmation performs deletion.";
|
|
16
|
+
readonly inputSchema: {
|
|
17
|
+
readonly pageUID: z.ZodString;
|
|
18
|
+
readonly confirmDeleteChildren: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
19
|
+
};
|
|
20
|
+
readonly annotations: {
|
|
21
|
+
readonly title: "Delete Page with Children";
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
readonly cplace_copy_page: {
|
|
25
|
+
readonly description: "Copy a page with optional hierarchical copy. Set includeChildren=false for single page copy (leaf pages only), or includeChildren=true for copying page with all children. When includeChildren=true, uses a two-phase workflow: first call shows preview, second call with confirmCopyChildren=true performs the copy.";
|
|
26
|
+
readonly inputSchema: {
|
|
27
|
+
readonly sourcePageUID: z.ZodString;
|
|
28
|
+
readonly includeChildren: z.ZodBoolean;
|
|
29
|
+
readonly confirmCopyChildren: z.ZodOptional<z.ZodBoolean>;
|
|
30
|
+
readonly targetWorkspaceId: z.ZodOptional<z.ZodString>;
|
|
31
|
+
readonly targetParentUID: z.ZodOptional<z.ZodString>;
|
|
32
|
+
readonly newName: z.ZodOptional<z.ZodString>;
|
|
33
|
+
readonly includeComments: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
34
|
+
readonly includeFiles: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
35
|
+
};
|
|
36
|
+
readonly annotations: {
|
|
37
|
+
readonly title: "Copy Page";
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
readonly cplace_manage_page: {
|
|
41
|
+
readonly description: "Create or update a page. Use operation='create' to create new pages with workspace and type. Use operation='update' to modify existing pages by UID. 🔍 IMPORTANT: Use 'cplace_get_type_datamodel' before creating pages to understand attribute requirements.";
|
|
42
|
+
readonly inputSchema: {
|
|
43
|
+
readonly operation: z.ZodEnum<["create", "update"]>;
|
|
44
|
+
readonly workspaceId: z.ZodOptional<z.ZodString>;
|
|
45
|
+
readonly typeInternalName: z.ZodOptional<z.ZodString>;
|
|
46
|
+
readonly pageUID: z.ZodOptional<z.ZodString>;
|
|
47
|
+
readonly name: z.ZodOptional<z.ZodString>;
|
|
48
|
+
readonly parentUID: z.ZodOptional<z.ZodString>;
|
|
49
|
+
readonly content: z.ZodOptional<z.ZodString>;
|
|
50
|
+
readonly attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
51
|
+
readonly builtinAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
52
|
+
};
|
|
53
|
+
readonly annotations: {
|
|
54
|
+
readonly title: "Manage Page";
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
};
|
|
3
58
|
export declare function registerPageTools(server: McpServer, client: CplaceApiClient): void;
|
|
4
59
|
//# sourceMappingURL=pages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/tools/pages.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;AAY5C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ExB,CAAC;AAEX,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAsS3E"}
|
package/dist/tools/pages.js
CHANGED
|
@@ -1,242 +1,174 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { debugLogWithTag } from "../logger.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import { DATE_TIME_FORMAT_DESCRIPTION } from "./common-schemas.js";
|
|
4
|
+
const TOOL_DELETE_PAGE = 'cplace_delete_page';
|
|
5
|
+
const TOOL_DELETE_PAGE_WITH_CHILDREN = 'cplace_delete_page_with_children';
|
|
6
|
+
const TOOL_COPY_PAGE = 'cplace_copy_page';
|
|
7
|
+
const TOOL_MANAGE_PAGE = 'cplace_manage_page';
|
|
8
|
+
export const PAGE_TOOL_DEFINITIONS = {
|
|
9
|
+
[TOOL_DELETE_PAGE]: {
|
|
10
|
+
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.",
|
|
7
11
|
inputSchema: {
|
|
8
|
-
|
|
12
|
+
pageUID: z.string().describe("The unique identifier (UID) of the page to delete (e.g., 'page/abc123def456')")
|
|
9
13
|
},
|
|
10
|
-
annotations: { title: "
|
|
11
|
-
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (result.documents && Array.isArray(result.documents)) {
|
|
15
|
-
result.documents = truncateDocumentSummaries(result.documents);
|
|
16
|
-
}
|
|
17
|
-
return {
|
|
18
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
return {
|
|
23
|
-
content: [{ type: "text", text: `Error retrieving page: ${error instanceof Error ? error.message : String(error)}` }],
|
|
24
|
-
isError: true
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
server.registerTool("cplace_create_page", {
|
|
29
|
-
description: "Create a new page with specified attributes and content using the POST /page/create endpoint",
|
|
14
|
+
annotations: { title: "Delete Page" }
|
|
15
|
+
},
|
|
16
|
+
[TOOL_DELETE_PAGE_WITH_CHILDREN]: {
|
|
17
|
+
description: "⚠️ DESTRUCTIVE OPERATION: Permanently delete a page and optionally all its children. Uses a two-phase workflow: first call shows preview, second call with confirmation performs deletion.",
|
|
30
18
|
inputSchema: {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
name: z.string().describe("The name of the new page"),
|
|
34
|
-
parentUID: z.string().optional().describe("The UID of the parent page for hierarchy (optional)"),
|
|
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:
|
|
37
|
-
- String values: "text"
|
|
38
|
-
- Numeric values: 42 or 3.14
|
|
39
|
-
- Boolean values: true/false
|
|
40
|
-
- Date values: "2024-01-15" or "2024-01-15T10:30:00"
|
|
41
|
-
- Array values: ["value1", "value2"] for multi-valued attributes
|
|
42
|
-
- Reference values: "page/ref123" for page references
|
|
43
|
-
- RichString values: "<p><strong>HTML markup</strong></p>" (use HTML, not markdown or plain text)
|
|
44
|
-
- Localized string values: {"en": "English text", "de": "German text", "fr": "French text"}
|
|
45
|
-
- Multi-valued localized strings: [{"en": "Text 1", "de": "Text 1"}, {"en": "Text 2", "de": "Text 2"}]
|
|
46
|
-
|
|
47
|
-
The system automatically detects attribute types from the page type definition and handles:
|
|
48
|
-
- Type-aware processing based on actual attribute definitions
|
|
49
|
-
- Proper multiplicity validation (single vs multi-valued)
|
|
50
|
-
- Automatic type conversion and validation
|
|
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
|
-
Example for schedules:
|
|
57
|
-
{"owner": "person/123abc456"}
|
|
58
|
-
|
|
59
|
-
Supported page types:
|
|
60
|
-
- Schedule (cf.schedule): supports owner attribute`)
|
|
19
|
+
pageUID: z.string().describe("The unique identifier (UID) of the page to delete"),
|
|
20
|
+
confirmDeleteChildren: z.boolean().optional().default(false).describe("Explicit confirmation flag for bulk deletion. Set to true to confirm deletion of page and all children.")
|
|
61
21
|
},
|
|
62
|
-
annotations: { title: "
|
|
63
|
-
},
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const requestBody = {
|
|
67
|
-
workspaceId,
|
|
68
|
-
typeInternalName,
|
|
69
|
-
name
|
|
70
|
-
};
|
|
71
|
-
if (parentUID) {
|
|
72
|
-
requestBody.parentUID = parentUID;
|
|
73
|
-
debugLogWithTag('CREATE_PAGE', `Including parentUID: ${parentUID}`);
|
|
74
|
-
}
|
|
75
|
-
if (content) {
|
|
76
|
-
requestBody.content = content;
|
|
77
|
-
debugLogWithTag('CREATE_PAGE', `Including content (${content.length} chars)`);
|
|
78
|
-
}
|
|
79
|
-
if (attributes && Object.keys(attributes).length > 0) {
|
|
80
|
-
requestBody.attributes = attributes;
|
|
81
|
-
debugLogWithTag('CREATE_PAGE', `Including attributes: ${JSON.stringify(Object.keys(attributes))}`);
|
|
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
|
-
}
|
|
87
|
-
debugLogWithTag('CREATE_PAGE', `Request body: ${JSON.stringify(requestBody, null, 2)}`);
|
|
88
|
-
const result = await client.makeApiRequest('json/page/create', 'POST', undefined, requestBody);
|
|
89
|
-
debugLogWithTag('CREATE_PAGE', `Successfully created page: ${name}`);
|
|
90
|
-
return {
|
|
91
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
debugLogWithTag('CREATE_PAGE', `Error creating page: ${error instanceof Error ? error.message : String(error)}`);
|
|
96
|
-
return {
|
|
97
|
-
content: [{
|
|
98
|
-
type: "text",
|
|
99
|
-
text: `Error creating page: ${error instanceof Error ? error.message : String(error)}`
|
|
100
|
-
}],
|
|
101
|
-
isError: true
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
server.registerTool("cplace_update_page", {
|
|
106
|
-
description: "Update an existing page's attributes, content, or structure using the PATCH /page/{pageId} endpoint",
|
|
22
|
+
annotations: { title: "Delete Page with Children" }
|
|
23
|
+
},
|
|
24
|
+
[TOOL_COPY_PAGE]: {
|
|
25
|
+
description: "Copy a page with optional hierarchical copy. Set includeChildren=false for single page copy (leaf pages only), or includeChildren=true for copying page with all children. When includeChildren=true, uses a two-phase workflow: first call shows preview, second call with confirmCopyChildren=true performs the copy.",
|
|
107
26
|
inputSchema: {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
27
|
+
sourcePageUID: z.string().describe("The UID of the page to copy (e.g., 'page/abc123def456')"),
|
|
28
|
+
includeChildren: z.boolean().describe("Whether to copy child pages. false (default) for single page copy (will fail if page has children), true for hierarchical copy with all descendants."),
|
|
29
|
+
confirmCopyChildren: z.boolean().optional().describe("Required confirmation when includeChildren=true. Set to false (or omit) for preview showing child count, set to true to perform the actual bulk copy operation. Ignored when includeChildren=false."),
|
|
30
|
+
targetWorkspaceId: z.string().optional().describe("Target workspace ID (e.g., 'workspace789'). Exactly one of targetWorkspaceId or targetParentUID must be provided."),
|
|
31
|
+
targetParentUID: z.string().optional().describe("UID of target parent page (e.g., 'page/parent123xyz'). Exactly one of targetWorkspaceId or targetParentUID must be provided."),
|
|
32
|
+
newName: z.string().optional().describe("New name for the copied page (optional). If not provided, uses original page name. When includeChildren=true, only the root page is renamed; children retain their original names."),
|
|
33
|
+
includeComments: z.boolean().optional().default(false).describe("Whether to copy comments from the page(s). Default: false for single page copy, false for hierarchical copy. Comments add context but increase copy time significantly for large hierarchies."),
|
|
34
|
+
includeFiles: z.boolean().optional().default(true).describe("Whether to copy files attached to the page(s). Default: true for single page copy, true for hierarchical copy. Files are typically needed for complete page copies but increase copy time and storage usage.")
|
|
35
|
+
},
|
|
36
|
+
annotations: { title: "Copy Page" }
|
|
37
|
+
},
|
|
38
|
+
[TOOL_MANAGE_PAGE]: {
|
|
39
|
+
description: "Create or update a page. Use operation='create' to create new pages with workspace and type. Use operation='update' to modify existing pages by UID. 🔍 IMPORTANT: Use 'cplace_get_type_datamodel' before creating pages to understand attribute requirements.",
|
|
40
|
+
inputSchema: {
|
|
41
|
+
operation: z.enum(["create", "update"]).describe("Operation to perform: 'create' for new pages, 'update' for existing pages"),
|
|
42
|
+
workspaceId: z.string().optional().describe("Required for create: The workspace ID where the page should be created (e.g., 'abc123')"),
|
|
43
|
+
typeInternalName: z.string().optional().describe("Required for create: The type internal name (e.g., 'cf.example.myType')"),
|
|
44
|
+
pageUID: z.string().optional().describe("Required for update: The UID of the page to update (e.g., 'page/abc123def456')"),
|
|
45
|
+
name: z.string().optional().describe("Page name. For create operations: optional if type has name generation pattern (auto-generates from pattern), otherwise required. For update operations: optional. Name generation pattern syntax: <attributeName> for attribute values, {###} for sequential counter, {0000} for zero-padded counter. Example: '<title>-{0000}' generates 'ProjectAlpha-0001'. Provide explicit name to override pattern. Use cplace_get_type_datamodel to check if type supports name generation."),
|
|
46
|
+
parentUID: z.string().optional().describe("Parent page UID for hierarchy. For create: sets initial parent. For update: moves page (use empty string to remove parent)."),
|
|
47
|
+
content: z.string().optional().describe("HTML content for the page. Use HTML markup, not markdown - e.g. '<strong>bold</strong>' not '**bold**'. For update: use empty string to remove content."),
|
|
48
|
+
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:
|
|
113
49
|
- String values: "text"
|
|
114
50
|
- Numeric values: 42 or 3.14
|
|
115
51
|
- Boolean values: true/false
|
|
116
|
-
- Date values:
|
|
52
|
+
- Date values: ${DATE_TIME_FORMAT_DESCRIPTION}
|
|
117
53
|
- Array values: ["value1", "value2"] for multi-valued attributes
|
|
118
54
|
- Reference values: "page/ref123" for page references
|
|
119
55
|
- RichString values: "<p><strong>HTML markup</strong></p>" (use HTML, not markdown or plain text)
|
|
120
56
|
- Localized string values: {"en": "English text", "de": "German text", "fr": "French text"}
|
|
121
57
|
- Multi-valued localized strings: [{"en": "Text 1", "de": "Text 1"}, {"en": "Text 2", "de": "Text 2"}]
|
|
122
|
-
-
|
|
123
|
-
- Empty arrays: [] (removes all values for multi-valued attributes)
|
|
124
|
-
- New attributes: will be added to the page
|
|
58
|
+
- For update only: null (removes the attribute value), [] (removes all values for multi-valued attributes)
|
|
125
59
|
|
|
126
60
|
The system automatically detects attribute types from the page type definition and handles:
|
|
127
61
|
- Type-aware processing based on actual attribute definitions
|
|
128
62
|
- Proper multiplicity validation (single vs multi-valued)
|
|
129
63
|
- Automatic type conversion and validation
|
|
130
64
|
- Enhanced error messages with attribute-specific details`),
|
|
131
|
-
builtinAttributes: z.record(z.any()).optional().describe(`Builtin/mixin-provided attributes
|
|
132
|
-
- owner: Person UID as string (e.g., "person/
|
|
133
|
-
- Use null to remove builtin attribute values
|
|
65
|
+
builtinAttributes: z.record(z.any()).optional().describe(`Builtin/mixin-provided attributes (optional for schedules). Supports:
|
|
66
|
+
- owner: Person UID as string (e.g., "person/123abc456") - Sets/updates the page owner for schedules
|
|
67
|
+
- For update only: Use null to remove builtin attribute values
|
|
134
68
|
|
|
135
|
-
|
|
136
|
-
|
|
69
|
+
Supported page type:
|
|
70
|
+
- Schedule (cf.schedule): supports owner attribute
|
|
137
71
|
|
|
138
|
-
|
|
139
|
-
|
|
72
|
+
Example for schedule:
|
|
73
|
+
{"owner": "person/123abc456"}`)
|
|
140
74
|
},
|
|
141
|
-
annotations: { title: "
|
|
142
|
-
}
|
|
143
|
-
|
|
75
|
+
annotations: { title: "Manage Page" }
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
export function registerPageTools(server, client) {
|
|
79
|
+
server.registerTool(TOOL_MANAGE_PAGE, PAGE_TOOL_DEFINITIONS[TOOL_MANAGE_PAGE], async (params) => {
|
|
80
|
+
const { operation } = params;
|
|
81
|
+
debugLogWithTag('MANAGE_PAGE', `${operation} page operation`);
|
|
144
82
|
try {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
requestBody
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
83
|
+
if (operation === "create") {
|
|
84
|
+
if (!params.workspaceId || !params.typeInternalName) {
|
|
85
|
+
return {
|
|
86
|
+
content: [{
|
|
87
|
+
type: "text",
|
|
88
|
+
text: "Error: workspaceId and typeInternalName are required when operation='create'."
|
|
89
|
+
}],
|
|
90
|
+
isError: true
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const requestBody = {
|
|
94
|
+
workspaceId: params.workspaceId,
|
|
95
|
+
typeInternalName: params.typeInternalName
|
|
96
|
+
};
|
|
97
|
+
if (params.name !== undefined && params.name !== null && params.name !== "") {
|
|
98
|
+
requestBody.name = params.name;
|
|
99
|
+
}
|
|
100
|
+
if (params.parentUID) {
|
|
101
|
+
requestBody.parentUID = params.parentUID;
|
|
102
|
+
debugLogWithTag('MANAGE_PAGE', `Including parentUID: ${params.parentUID}`);
|
|
103
|
+
}
|
|
104
|
+
if (params.content) {
|
|
105
|
+
requestBody.content = params.content;
|
|
106
|
+
debugLogWithTag('MANAGE_PAGE', `Including content (${params.content.length} chars)`);
|
|
107
|
+
}
|
|
108
|
+
if (params.attributes && Object.keys(params.attributes).length > 0) {
|
|
109
|
+
requestBody.attributes = params.attributes;
|
|
110
|
+
debugLogWithTag('MANAGE_PAGE', `Including attributes: ${JSON.stringify(Object.keys(params.attributes))}`);
|
|
111
|
+
}
|
|
112
|
+
if (params.builtinAttributes && Object.keys(params.builtinAttributes).length > 0) {
|
|
113
|
+
requestBody.builtinAttributes = params.builtinAttributes;
|
|
114
|
+
debugLogWithTag('MANAGE_PAGE', `Including builtinAttributes: ${JSON.stringify(Object.keys(params.builtinAttributes))}`);
|
|
115
|
+
}
|
|
116
|
+
debugLogWithTag('MANAGE_PAGE', `Request body: ${JSON.stringify(requestBody, null, 2)}`);
|
|
117
|
+
const result = await client.makeApiRequest('json/page/create', 'POST', undefined, requestBody);
|
|
118
|
+
debugLogWithTag('MANAGE_PAGE', `Successfully created page: ${params.name}`);
|
|
164
119
|
return {
|
|
165
|
-
content: [{ type: "text", text:
|
|
120
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
166
121
|
};
|
|
167
122
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
The system automatically detects attribute types from the page type definition and handles:
|
|
201
|
-
- Type-aware processing based on actual attribute definitions
|
|
202
|
-
- Proper multiplicity validation (single vs multi-valued)
|
|
203
|
-
- Automatic type conversion and validation
|
|
204
|
-
- Enhanced error messages with attribute-specific details`)
|
|
205
|
-
},
|
|
206
|
-
annotations: { title: "Update Page Attributes" }
|
|
207
|
-
}, async ({ pageUID, attributes }) => {
|
|
208
|
-
debugLogWithTag('UPDATE_PAGE_ATTRS', `Starting attribute-only update for: ${pageUID}`);
|
|
209
|
-
try {
|
|
210
|
-
if (!attributes || Object.keys(attributes).length === 0) {
|
|
123
|
+
else {
|
|
124
|
+
if (!params.pageUID) {
|
|
125
|
+
return {
|
|
126
|
+
content: [{
|
|
127
|
+
type: "text",
|
|
128
|
+
text: "Error: pageUID is required when operation='update'. Specify the UID of the page to update."
|
|
129
|
+
}],
|
|
130
|
+
isError: true
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
const requestBody = {
|
|
134
|
+
pageUID: params.pageUID
|
|
135
|
+
};
|
|
136
|
+
if (params.name !== undefined)
|
|
137
|
+
requestBody.name = params.name;
|
|
138
|
+
if (params.content !== undefined)
|
|
139
|
+
requestBody.content = params.content;
|
|
140
|
+
if (params.parentUID !== undefined)
|
|
141
|
+
requestBody.parentUID = params.parentUID;
|
|
142
|
+
if (params.attributes && Object.keys(params.attributes).length > 0) {
|
|
143
|
+
requestBody.attributes = params.attributes;
|
|
144
|
+
}
|
|
145
|
+
if (params.builtinAttributes && Object.keys(params.builtinAttributes).length > 0) {
|
|
146
|
+
requestBody.builtinAttributes = params.builtinAttributes;
|
|
147
|
+
}
|
|
148
|
+
if (Object.keys(requestBody).length === 1) {
|
|
149
|
+
return {
|
|
150
|
+
content: [{ type: "text", text: "No updates specified. At least one of name, content, parentUID, attributes, or builtinAttributes must be provided." }]
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
const result = await client.makeApiRequest('json/page', 'PATCH', undefined, requestBody);
|
|
154
|
+
debugLogWithTag('MANAGE_PAGE', `Successfully updated page: ${params.pageUID}`);
|
|
211
155
|
return {
|
|
212
|
-
content: [{ type: "text", text:
|
|
156
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
213
157
|
};
|
|
214
158
|
}
|
|
215
|
-
const requestBody = {
|
|
216
|
-
pageUID,
|
|
217
|
-
attributes: attributes
|
|
218
|
-
};
|
|
219
|
-
const result = await client.makeApiRequest('json/page', 'PATCH', undefined, requestBody);
|
|
220
|
-
debugLogWithTag('UPDATE_PAGE_ATTRS', `Successfully updated attributes for page: ${pageUID}`);
|
|
221
|
-
return {
|
|
222
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
223
|
-
};
|
|
224
159
|
}
|
|
225
160
|
catch (error) {
|
|
226
|
-
debugLogWithTag('
|
|
161
|
+
debugLogWithTag('MANAGE_PAGE', `Error ${operation} page: ${error instanceof Error ? error.message : String(error)}`);
|
|
227
162
|
return {
|
|
228
|
-
content: [{
|
|
163
|
+
content: [{
|
|
164
|
+
type: "text",
|
|
165
|
+
text: `Error ${operation} page: ${error instanceof Error ? error.message : String(error)}`
|
|
166
|
+
}],
|
|
229
167
|
isError: true
|
|
230
168
|
};
|
|
231
169
|
}
|
|
232
170
|
});
|
|
233
|
-
server.registerTool(
|
|
234
|
-
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.",
|
|
235
|
-
inputSchema: {
|
|
236
|
-
pageUID: z.string().describe("The unique identifier (UID) of the page to delete (e.g., 'page/abc123def456')")
|
|
237
|
-
},
|
|
238
|
-
annotations: { title: "Delete Page" }
|
|
239
|
-
}, async ({ pageUID }) => {
|
|
171
|
+
server.registerTool(TOOL_DELETE_PAGE, PAGE_TOOL_DEFINITIONS[TOOL_DELETE_PAGE], async ({ pageUID }) => {
|
|
240
172
|
debugLogWithTag('DELETE_PAGE', `Starting single page deletion for: ${pageUID}`);
|
|
241
173
|
try {
|
|
242
174
|
const result = await client.makeApiRequest(`page?pageUID=${pageUID}`, 'DELETE');
|
|
@@ -265,14 +197,7 @@ The system automatically detects attribute types from the page type definition a
|
|
|
265
197
|
};
|
|
266
198
|
}
|
|
267
199
|
});
|
|
268
|
-
server.registerTool(
|
|
269
|
-
description: "⚠️ DESTRUCTIVE OPERATION: Permanently delete a page and optionally all its children. Uses a two-phase workflow: first call shows preview, second call with confirmation performs deletion.",
|
|
270
|
-
inputSchema: {
|
|
271
|
-
pageUID: z.string().describe("The unique identifier (UID) of the page to delete"),
|
|
272
|
-
confirmDeleteChildren: z.boolean().optional().default(false).describe("Explicit confirmation flag for bulk deletion. Set to true to confirm deletion of page and all children.")
|
|
273
|
-
},
|
|
274
|
-
annotations: { title: "Delete Page with Children" }
|
|
275
|
-
}, async ({ pageUID, confirmDeleteChildren = false }) => {
|
|
200
|
+
server.registerTool(TOOL_DELETE_PAGE_WITH_CHILDREN, PAGE_TOOL_DEFINITIONS[TOOL_DELETE_PAGE_WITH_CHILDREN], async ({ pageUID, confirmDeleteChildren = false }) => {
|
|
276
201
|
debugLogWithTag('DELETE_PAGE_WITH_CHILDREN', `Starting page deletion with children for: ${pageUID}, confirm: ${confirmDeleteChildren}`);
|
|
277
202
|
try {
|
|
278
203
|
const requestBody = {
|
|
@@ -305,5 +230,88 @@ The system automatically detects attribute types from the page type definition a
|
|
|
305
230
|
};
|
|
306
231
|
}
|
|
307
232
|
});
|
|
233
|
+
server.registerTool(TOOL_COPY_PAGE, PAGE_TOOL_DEFINITIONS[TOOL_COPY_PAGE], async (params) => {
|
|
234
|
+
const { includeChildren = false } = params;
|
|
235
|
+
debugLogWithTag('COPY_PAGE', `Copying page ${params.sourcePageUID}, includeChildren=${includeChildren}, confirmCopyChildren=${params.confirmCopyChildren}`);
|
|
236
|
+
try {
|
|
237
|
+
const hasWorkspace = !!params.targetWorkspaceId;
|
|
238
|
+
const hasParent = !!params.targetParentUID;
|
|
239
|
+
if (!hasWorkspace && !hasParent) {
|
|
240
|
+
debugLogWithTag('COPY_PAGE', 'Validation failed: No target specified');
|
|
241
|
+
return {
|
|
242
|
+
content: [{
|
|
243
|
+
type: "text",
|
|
244
|
+
text: "Error: Either targetWorkspaceId or targetParentUID must be provided. Specify exactly one target location for the copied page."
|
|
245
|
+
}],
|
|
246
|
+
isError: true
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
if (hasWorkspace && hasParent) {
|
|
250
|
+
debugLogWithTag('COPY_PAGE', 'Validation failed: Both targets specified');
|
|
251
|
+
return {
|
|
252
|
+
content: [{
|
|
253
|
+
type: "text",
|
|
254
|
+
text: "Error: Only one of targetWorkspaceId or targetParentUID can be provided, not both. Choose a single target location."
|
|
255
|
+
}],
|
|
256
|
+
isError: true
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
const endpoint = includeChildren
|
|
260
|
+
? 'json/page/copy-with-children'
|
|
261
|
+
: 'json/page/copy';
|
|
262
|
+
const requestBody = {
|
|
263
|
+
sourcePageUID: params.sourcePageUID,
|
|
264
|
+
includeComments: params.includeComments ?? false,
|
|
265
|
+
includeFiles: params.includeFiles ?? true
|
|
266
|
+
};
|
|
267
|
+
if (params.targetWorkspaceId)
|
|
268
|
+
requestBody.targetWorkspaceId = params.targetWorkspaceId;
|
|
269
|
+
if (params.targetParentUID)
|
|
270
|
+
requestBody.targetParentUID = params.targetParentUID;
|
|
271
|
+
if (params.newName)
|
|
272
|
+
requestBody.newName = params.newName;
|
|
273
|
+
if (includeChildren) {
|
|
274
|
+
requestBody.confirmCopyChildren = params.confirmCopyChildren ?? false;
|
|
275
|
+
}
|
|
276
|
+
debugLogWithTag('COPY_PAGE', `Request body: ${JSON.stringify(requestBody, null, 2)}`);
|
|
277
|
+
const result = await client.makeApiRequest(endpoint, 'POST', undefined, requestBody);
|
|
278
|
+
if (includeChildren) {
|
|
279
|
+
if (params.confirmCopyChildren) {
|
|
280
|
+
debugLogWithTag('COPY_PAGE', `Successfully copied page with children: ${params.sourcePageUID}`);
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
debugLogWithTag('COPY_PAGE', `Retrieved copy preview for: ${params.sourcePageUID}`);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
debugLogWithTag('COPY_PAGE', `Successfully copied page: ${params.sourcePageUID}`);
|
|
288
|
+
}
|
|
289
|
+
return {
|
|
290
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
catch (error) {
|
|
294
|
+
debugLogWithTag('COPY_PAGE', `Error copying page: ${error instanceof Error ? error.message : String(error)}`);
|
|
295
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
296
|
+
const childMatch = errorMessage.match(/Found (\d+) child items/);
|
|
297
|
+
if (childMatch) {
|
|
298
|
+
const childCount = childMatch[1];
|
|
299
|
+
return {
|
|
300
|
+
content: [{
|
|
301
|
+
type: "text",
|
|
302
|
+
text: `This page has ${childCount} children. Retry with includeChildren: true and confirmCopyChildren: false to preview.`
|
|
303
|
+
}],
|
|
304
|
+
isError: true
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
return {
|
|
308
|
+
content: [{
|
|
309
|
+
type: "text",
|
|
310
|
+
text: `Error copying page: ${errorMessage}`
|
|
311
|
+
}],
|
|
312
|
+
isError: true
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
});
|
|
308
316
|
}
|
|
309
317
|
//# sourceMappingURL=pages.js.map
|
package/dist/tools/pages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"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"}
|