@cplace/test-mcp-server 0.1.11 → 0.1.13
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 +30 -1
- package/dist/conditional-registration.d.ts.map +1 -1
- package/dist/conditional-registration.js +4 -2
- package/dist/conditional-registration.js.map +1 -1
- package/dist/index.js +242 -47
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/profiles.d.ts.map +1 -1
- package/dist/profiles.js +9 -2
- package/dist/profiles.js.map +1 -1
- package/dist/tools/change-listeners.d.ts.map +1 -1
- package/dist/tools/change-listeners.js +8 -5
- package/dist/tools/change-listeners.js.map +1 -1
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +16 -7
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/ppt-export-schemas.d.ts +1937 -0
- package/dist/tools/ppt-export-schemas.d.ts.map +1 -0
- package/dist/tools/{ppt-export-profiles.js → ppt-export-schemas.js} +15 -116
- package/dist/tools/ppt-export-schemas.js.map +1 -0
- package/dist/tools/{ppt-export-profiles.d.ts → ppt-export.d.ts} +1 -1
- package/dist/tools/ppt-export.d.ts.map +1 -0
- package/dist/tools/ppt-export.js +192 -0
- package/dist/tools/ppt-export.js.map +1 -0
- package/dist/tools/references.d.ts.map +1 -1
- package/dist/tools/references.js +4 -2
- package/dist/tools/references.js.map +1 -1
- package/dist/tools/schedule.d.ts +4 -0
- package/dist/tools/schedule.d.ts.map +1 -0
- package/dist/tools/schedule.js +42 -0
- package/dist/tools/schedule.js.map +1 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +8 -4
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/type-layouts.d.ts.map +1 -1
- package/dist/tools/type-layouts.js +4 -2
- package/dist/tools/type-layouts.js.map +1 -1
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +6 -3
- package/dist/tools/users.js.map +1 -1
- package/dist/tools/validators.d.ts.map +1 -1
- package/dist/tools/validators.js +8 -5
- package/dist/tools/validators.js.map +1 -1
- package/dist/tools/version-history.d.ts.map +1 -1
- package/dist/tools/version-history.js +8 -4
- package/dist/tools/version-history.js.map +1 -1
- package/dist/tools/widgets.d.ts.map +1 -1
- package/dist/tools/widgets.js +248 -21
- package/dist/tools/widgets.js.map +1 -1
- package/dist/tools/workspace.d.ts.map +1 -1
- package/dist/tools/workspace.js +165 -17
- package/dist/tools/workspace.js.map +1 -1
- package/dist/utils.d.ts +4 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +11 -0
- package/dist/utils.js.map +1 -1
- package/package.json +7 -2
- package/dist/tools/ppt-export-profiles.d.ts.map +0 -1
- package/dist/tools/ppt-export-profiles.js.map +0 -1
package/README.md
CHANGED
|
@@ -6,6 +6,11 @@ The server supports a profile-based tool loading system to optimize LLM context
|
|
|
6
6
|
|
|
7
7
|
## Installation & Setup
|
|
8
8
|
|
|
9
|
+
> **⚠️ Important**: The `CPLACE_URL` must end with a forward slash (`/`) when working with a tenant. Missing this slash will result in 404 errors.
|
|
10
|
+
>
|
|
11
|
+
> ✅ Correct: `https://your-cplace-instance.com/your-tenant/`
|
|
12
|
+
> ❌ Incorrect: `https://your-cplace-instance.com/your-tenant`
|
|
13
|
+
|
|
9
14
|
### Claude Desktop Installation
|
|
10
15
|
|
|
11
16
|
#### Basic Setup (All tools)
|
|
@@ -73,6 +78,13 @@ The `cplace-citizen-ai` repository must be part of the deployment. These plugins
|
|
|
73
78
|
* `cf.cplace.citizenAi`
|
|
74
79
|
* `cf.cplace.apiToken` - required for authentication
|
|
75
80
|
|
|
81
|
+
### Additional Configuration Properties
|
|
82
|
+
|
|
83
|
+
The following configuration properties must be set for API Token authentication to work:
|
|
84
|
+
|
|
85
|
+
* `cplace.plugins.cf.cplace.apiToken.enable=true` - Hidden property that actually enables API Token authentication (not documented in ops configuration reference, see [issue #750](https://github.com/collaborationFactory/cplace/issues/750))
|
|
86
|
+
* `cplace.plugins.cf.cplace.apiToken.headerName=X-Cplace-Api-Token` - HTTP header name for the API token (default value, should not be changed)
|
|
87
|
+
|
|
76
88
|
## Usage
|
|
77
89
|
|
|
78
90
|
1. Obtain an API Token for your cplace system (see [cplace documentation](https://docs.cplace.io/lowcode/low-code-cli/authentication/))
|
|
@@ -104,6 +116,7 @@ The server uses a profile-based tool loading system to optimize LLM context usag
|
|
|
104
116
|
| **low_code** | Validators and change listeners | Automation scripts and validation |
|
|
105
117
|
| **ppt_export** | PowerPoint export | Create PowerPoint export profiles |
|
|
106
118
|
| **csv_export** | CSV export functionality | Export search results to CSV |
|
|
119
|
+
| **schedule** | Schedule analysis | Cross-schedule dependencies and links |
|
|
107
120
|
|
|
108
121
|
### Profile Usage Examples
|
|
109
122
|
|
|
@@ -135,6 +148,9 @@ Essential operations including workspace navigation, page CRUD operations, searc
|
|
|
135
148
|
|
|
136
149
|
- `cplace_list_workspaces` - Get all workspaces with essential properties
|
|
137
150
|
- `cplace_get_workspace_details` - Get comprehensive details about a specific workspace including all metadata, permissions, type definitions, styling, and configuration
|
|
151
|
+
- `cplace_create_workspace` - Create a new workspace with specified configuration including name, permissions, and apps
|
|
152
|
+
- `cplace_list_workspace_apps` - Get comprehensive information about applications within a workspace, including installed apps, available apps for installation, dependency information, and compatibility status
|
|
153
|
+
- `cplace_install_workspace_app` - Install a specific application into a workspace, including automatic dependency resolution
|
|
138
154
|
- `cplace_list_types` - List all types available in a workspace
|
|
139
155
|
- `cplace_get_type_datamodel` - Get the datamodel of a type including its attributes, constraints, and permissions
|
|
140
156
|
- `cplace_get_page_by_id` - Get page by ID with full details
|
|
@@ -189,7 +205,8 @@ Validators and change listeners.
|
|
|
189
205
|
### PPT Export (Profile: ppt_export)
|
|
190
206
|
PowerPoint export profiles.
|
|
191
207
|
|
|
192
|
-
- `
|
|
208
|
+
- `cplace_create_ppt_export_profile` - Create PowerPoint Export Profiles with comprehensive configuration for page layout, timeline settings, task classes, and visual formatting
|
|
209
|
+
- `cplace_partial_update_ppt_export_profile` - Update existing PowerPoint Export Profiles using path-based granular updates
|
|
193
210
|
|
|
194
211
|
### History (Profile: history)
|
|
195
212
|
Version history and change tracking.
|
|
@@ -204,6 +221,18 @@ CSV export functionality for search results.
|
|
|
204
221
|
|
|
205
222
|
- `cplace_search_pages_csv` - Export search results to CSV format
|
|
206
223
|
|
|
224
|
+
### Schedule (Profile: schedule)
|
|
225
|
+
Schedule analysis and cross-schedule dependencies.
|
|
226
|
+
|
|
227
|
+
- `cplace_get_schedule_links` - Get schedule dependencies and links between work packages
|
|
228
|
+
|
|
207
229
|
## Development
|
|
208
230
|
|
|
209
231
|
For development setup, contribution guidelines, and extending the server, see [DEVELOPMENT.md](DEVELOPMENT.md).
|
|
232
|
+
|
|
233
|
+
## Troubleshooting
|
|
234
|
+
|
|
235
|
+
### 404 Errors
|
|
236
|
+
If you're getting 404 errors, ensure your `CPLACE_URL` ends with a forward slash (`/`) when working with a tenant:
|
|
237
|
+
- ✅ Correct: `https://your-cplace-instance.com/your-tenant/`
|
|
238
|
+
- ❌ Incorrect: `https://your-cplace-instance.com/your-tenant`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-registration.d.ts","sourceRoot":"","sources":["../src/conditional-registration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"conditional-registration.d.ts","sourceRoot":"","sources":["../src/conditional-registration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAqC3C,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GACxB,IAAI,CAeN"}
|
|
@@ -10,7 +10,8 @@ import { registerTypeLayoutTools } from './tools/type-layouts.js';
|
|
|
10
10
|
import { registerVersionHistoryTools } from './tools/version-history.js';
|
|
11
11
|
import { registerChangeListenerTools } from './tools/change-listeners.js';
|
|
12
12
|
import { registerValidatorTools } from './tools/validators.js';
|
|
13
|
-
import { registerPPTExportProfileTools } from './tools/ppt-export
|
|
13
|
+
import { registerPPTExportProfileTools } from './tools/ppt-export.js';
|
|
14
|
+
import { registerScheduleTools } from './tools/schedule.js';
|
|
14
15
|
const MODULE_REGISTRY = {
|
|
15
16
|
'workspace': registerWorkspaceTools,
|
|
16
17
|
'pages': registerPageTools,
|
|
@@ -22,7 +23,8 @@ const MODULE_REGISTRY = {
|
|
|
22
23
|
'version-history': registerVersionHistoryTools,
|
|
23
24
|
'change-listeners': registerChangeListenerTools,
|
|
24
25
|
'validators': registerValidatorTools,
|
|
25
|
-
'ppt-export
|
|
26
|
+
'ppt-export': registerPPTExportProfileTools,
|
|
27
|
+
'schedule': registerScheduleTools
|
|
26
28
|
};
|
|
27
29
|
export function registerActiveTools(server, client, activeGroups) {
|
|
28
30
|
const requiredModules = getRequiredModules(activeGroups);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-registration.js","sourceRoot":"","sources":["../src/conditional-registration.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"conditional-registration.js","sourceRoot":"","sources":["../src/conditional-registration.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,MAAM,eAAe,GAAyE;IAC5F,WAAW,EAAE,sBAAsB;IACnC,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,mBAAmB;IAC7B,OAAO,EAAE,iBAAiB;IAC1B,YAAY,EAAE,sBAAsB;IACpC,SAAS,EAAE,mBAAmB;IAC9B,cAAc,EAAE,uBAAuB;IACvC,iBAAiB,EAAE,2BAA2B;IAC9C,kBAAkB,EAAE,2BAA2B;IAC/C,YAAY,EAAE,sBAAsB;IACpC,YAAY,EAAE,6BAA6B;IAC3C,UAAU,EAAE,qBAAqB;CAClC,CAAC;AAKF,MAAM,UAAU,mBAAmB,CACjC,MAAiB,EACjB,MAAuB,EACvB,YAAyB;IAGzB,MAAM,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAEzD,eAAe,CAAC,KAAK,EAAE,oBAAoB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGrF,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,oBAAoB,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,oBAAoB,EAAE,CAAC;YACzB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,KAAK,EAAE,uDAAuD,UAAU,GAAG,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
5
|
+
import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
6
|
+
import express from "express";
|
|
7
|
+
import cors from "cors";
|
|
8
|
+
import { randomUUID } from "node:crypto";
|
|
4
9
|
import * as dotenv from 'dotenv';
|
|
5
10
|
import { CplaceApiClient } from './api.js';
|
|
6
11
|
import { parseProfiles, getActiveTools, TOOL_GROUPS } from './profiles.js';
|
|
@@ -22,55 +27,245 @@ debugLogWithTag('MCP', '====================================');
|
|
|
22
27
|
debugLogWithTag('MCP', `Active groups: ${Array.from(activeGroups).join(', ')}`);
|
|
23
28
|
debugLogWithTag('MCP', `Total tools to register: ${activeTools.size}`);
|
|
24
29
|
debugLogWithTag('MCP', '====================================');
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
name
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
name,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
30
|
+
function createStdioServer() {
|
|
31
|
+
const stdioServer = new McpServer({
|
|
32
|
+
name: `cplace-mcp-server`,
|
|
33
|
+
version: "1.0.0"
|
|
34
|
+
});
|
|
35
|
+
registerActiveTools(stdioServer, client, activeGroups);
|
|
36
|
+
registerSystemTools(stdioServer, config);
|
|
37
|
+
stdioServer.registerTool("cplace_profile_info", {
|
|
38
|
+
description: "Get information about active MCP profiles and available groups",
|
|
39
|
+
inputSchema: {},
|
|
40
|
+
annotations: { title: "Profile Information" }
|
|
41
|
+
}, async () => {
|
|
42
|
+
const groupDetails = Array.from(activeGroups).map(name => ({
|
|
43
|
+
name,
|
|
44
|
+
description: TOOL_GROUPS[name]?.description || 'Unknown group',
|
|
45
|
+
toolCount: TOOL_GROUPS[name]?.tools.length || 0,
|
|
46
|
+
tools: TOOL_GROUPS[name]?.tools || []
|
|
47
|
+
}));
|
|
48
|
+
const allGroups = Object.entries(TOOL_GROUPS).map(([name, group]) => ({
|
|
49
|
+
name,
|
|
50
|
+
description: group.description,
|
|
51
|
+
toolCount: group.tools.length,
|
|
52
|
+
active: activeGroups.has(name)
|
|
53
|
+
}));
|
|
54
|
+
return {
|
|
55
|
+
content: [{
|
|
56
|
+
type: "text",
|
|
57
|
+
text: JSON.stringify({
|
|
58
|
+
active_groups: Array.from(activeGroups),
|
|
59
|
+
total_active_tools: activeTools.size,
|
|
60
|
+
active_group_details: groupDetails,
|
|
61
|
+
all_available_groups: allGroups,
|
|
62
|
+
mode: "stdio",
|
|
63
|
+
credentials: {
|
|
64
|
+
cplace_url: config.url,
|
|
65
|
+
has_token: !!config.apiToken
|
|
66
|
+
},
|
|
67
|
+
usage_examples: {
|
|
68
|
+
minimal: "No --profiles argument (core only)",
|
|
69
|
+
page_editing: "--profiles=pages_write",
|
|
70
|
+
dashboard_dev: "--profiles=pages_write+layouts",
|
|
71
|
+
type_dev: "--profiles=types_write+low_code",
|
|
72
|
+
full_access: "--profiles=all"
|
|
73
|
+
}
|
|
74
|
+
}, null, 2)
|
|
75
|
+
}]
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
return stdioServer;
|
|
79
|
+
}
|
|
80
|
+
const isRemote = process.argv.includes('--remote') || process.env.MCP_TRANSPORT === 'http';
|
|
81
|
+
if (isRemote) {
|
|
82
|
+
startHttpServer();
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
runServer().catch((error) => {
|
|
86
|
+
debugLogWithTag('MCP', `Fatal error running server: ${error}`);
|
|
87
|
+
process.exit(1);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
67
90
|
async function runServer() {
|
|
91
|
+
const stdioServer = createStdioServer();
|
|
68
92
|
const transport = new StdioServerTransport();
|
|
69
|
-
await
|
|
93
|
+
await stdioServer.connect(transport);
|
|
70
94
|
debugLogWithTag('MCP', 'Server running on stdio');
|
|
71
95
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
96
|
+
function validateCredentials(cplaceUrl, apiToken) {
|
|
97
|
+
if (!cplaceUrl || !apiToken) {
|
|
98
|
+
return { valid: false, error: 'Missing cplace URL or API token' };
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
new URL(cplaceUrl);
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
return { valid: false, error: 'Invalid cplace URL format' };
|
|
105
|
+
}
|
|
106
|
+
if (apiToken.length < 10) {
|
|
107
|
+
return { valid: false, error: 'API token appears to be too short' };
|
|
108
|
+
}
|
|
109
|
+
return { valid: true };
|
|
110
|
+
}
|
|
111
|
+
function createSessionServer(cplaceUrl, apiToken) {
|
|
112
|
+
const sessionClient = new CplaceApiClient({ url: cplaceUrl, apiToken });
|
|
113
|
+
const sessionServer = new McpServer({
|
|
114
|
+
name: `cplace-mcp-server`,
|
|
115
|
+
version: "1.0.0"
|
|
116
|
+
});
|
|
117
|
+
registerActiveTools(sessionServer, sessionClient, activeGroups);
|
|
118
|
+
registerSystemTools(sessionServer, { url: cplaceUrl, apiToken, registerSystemInfoTool: config.registerSystemInfoTool });
|
|
119
|
+
sessionServer.registerTool("cplace_profile_info", {
|
|
120
|
+
description: "Get information about active MCP profiles and available groups",
|
|
121
|
+
inputSchema: {},
|
|
122
|
+
annotations: { title: "Profile Information" }
|
|
123
|
+
}, async () => {
|
|
124
|
+
const groupDetails = Array.from(activeGroups).map(name => ({
|
|
125
|
+
name,
|
|
126
|
+
description: TOOL_GROUPS[name]?.description || 'Unknown group',
|
|
127
|
+
toolCount: TOOL_GROUPS[name]?.tools.length || 0,
|
|
128
|
+
tools: TOOL_GROUPS[name]?.tools || []
|
|
129
|
+
}));
|
|
130
|
+
const allGroups = Object.entries(TOOL_GROUPS).map(([name, group]) => ({
|
|
131
|
+
name,
|
|
132
|
+
description: group.description,
|
|
133
|
+
toolCount: group.tools.length,
|
|
134
|
+
active: activeGroups.has(name)
|
|
135
|
+
}));
|
|
136
|
+
return {
|
|
137
|
+
content: [{
|
|
138
|
+
type: "text",
|
|
139
|
+
text: JSON.stringify({
|
|
140
|
+
active_groups: Array.from(activeGroups),
|
|
141
|
+
total_active_tools: activeTools.size,
|
|
142
|
+
active_group_details: groupDetails,
|
|
143
|
+
all_available_groups: allGroups,
|
|
144
|
+
session_credentials: {
|
|
145
|
+
cplace_url: cplaceUrl,
|
|
146
|
+
has_token: !!apiToken
|
|
147
|
+
},
|
|
148
|
+
usage_examples: {
|
|
149
|
+
minimal: "No --profiles argument (core only)",
|
|
150
|
+
page_editing: "--profiles=pages_write",
|
|
151
|
+
dashboard_dev: "--profiles=pages_write+layouts",
|
|
152
|
+
type_dev: "--profiles=types_write+low_code",
|
|
153
|
+
full_access: "--profiles=all"
|
|
154
|
+
}
|
|
155
|
+
}, null, 2)
|
|
156
|
+
}]
|
|
157
|
+
};
|
|
158
|
+
});
|
|
159
|
+
return { server: sessionServer, client: sessionClient };
|
|
160
|
+
}
|
|
161
|
+
function startHttpServer() {
|
|
162
|
+
const app = express();
|
|
163
|
+
const port = process.env.PORT || 3000;
|
|
164
|
+
const sessions = {};
|
|
165
|
+
app.use(cors({
|
|
166
|
+
origin: '*',
|
|
167
|
+
credentials: true,
|
|
168
|
+
allowedHeaders: ['Content-Type', 'mcp-session-id', 'cplace-url', 'cplace-api-token'],
|
|
169
|
+
exposedHeaders: ['mcp-session-id']
|
|
170
|
+
}));
|
|
171
|
+
app.use(express.json());
|
|
172
|
+
app.get('/health', (req, res) => {
|
|
173
|
+
const sessionStats = Object.values(sessions).reduce((acc, session) => {
|
|
174
|
+
const host = new URL(session.credentials.cplaceUrl).hostname;
|
|
175
|
+
acc[host] = (acc[host] || 0) + 1;
|
|
176
|
+
return acc;
|
|
177
|
+
}, {});
|
|
178
|
+
res.json({
|
|
179
|
+
status: 'healthy',
|
|
180
|
+
timestamp: new Date().toISOString(),
|
|
181
|
+
activeSessions: Object.keys(sessions).length,
|
|
182
|
+
sessionsByHost: sessionStats
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
app.post('/mcp', async (req, res) => {
|
|
186
|
+
const sessionId = req.headers['mcp-session-id'];
|
|
187
|
+
const cplaceUrl = req.headers['cplace-url'];
|
|
188
|
+
const apiToken = req.headers['cplace-api-token'];
|
|
189
|
+
let sessionInfo;
|
|
190
|
+
if (sessionId && sessions[sessionId]) {
|
|
191
|
+
debugLogWithTag('MCP', `📱 Reusing existing session: ${sessionId}`);
|
|
192
|
+
sessionInfo = sessions[sessionId];
|
|
193
|
+
}
|
|
194
|
+
else if (!sessionId && isInitializeRequest(req.body)) {
|
|
195
|
+
const validation = validateCredentials(cplaceUrl, apiToken);
|
|
196
|
+
if (!validation.valid) {
|
|
197
|
+
debugLogWithTag('MCP', `❌ Invalid credentials for new session: ${validation.error}`);
|
|
198
|
+
res.status(400).json({
|
|
199
|
+
jsonrpc: '2.0',
|
|
200
|
+
error: {
|
|
201
|
+
code: -32000,
|
|
202
|
+
message: `Bad Request: ${validation.error}`,
|
|
203
|
+
},
|
|
204
|
+
id: null,
|
|
205
|
+
});
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
debugLogWithTag('MCP', `🆕 Creating new MCP session for ${new URL(cplaceUrl).hostname}`);
|
|
209
|
+
const { server: sessionServer, client: sessionClient } = createSessionServer(cplaceUrl, apiToken);
|
|
210
|
+
const transport = new StreamableHTTPServerTransport({
|
|
211
|
+
sessionIdGenerator: () => randomUUID(),
|
|
212
|
+
onsessioninitialized: (newSessionId) => {
|
|
213
|
+
debugLogWithTag('MCP', `✅ Session initialized: ${newSessionId} for ${new URL(cplaceUrl).hostname}`);
|
|
214
|
+
sessions[newSessionId] = {
|
|
215
|
+
transport,
|
|
216
|
+
server: sessionServer,
|
|
217
|
+
client: sessionClient,
|
|
218
|
+
credentials: { cplaceUrl, apiToken }
|
|
219
|
+
};
|
|
220
|
+
},
|
|
221
|
+
enableDnsRebindingProtection: false,
|
|
222
|
+
allowedHosts: ['127.0.0.1', 'localhost'],
|
|
223
|
+
});
|
|
224
|
+
transport.onclose = () => {
|
|
225
|
+
if (transport.sessionId) {
|
|
226
|
+
debugLogWithTag('MCP', `🔚 Cleaning up session: ${transport.sessionId}`);
|
|
227
|
+
delete sessions[transport.sessionId];
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
await sessionServer.connect(transport);
|
|
231
|
+
sessionInfo = {
|
|
232
|
+
transport,
|
|
233
|
+
server: sessionServer,
|
|
234
|
+
client: sessionClient,
|
|
235
|
+
credentials: { cplaceUrl, apiToken }
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
debugLogWithTag('MCP', '❌ Invalid request: No valid session ID provided');
|
|
240
|
+
res.status(400).json({
|
|
241
|
+
jsonrpc: '2.0',
|
|
242
|
+
error: {
|
|
243
|
+
code: -32000,
|
|
244
|
+
message: 'Bad Request: No valid session ID provided',
|
|
245
|
+
},
|
|
246
|
+
id: null,
|
|
247
|
+
});
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
await sessionInfo.transport.handleRequest(req, res, req.body);
|
|
251
|
+
});
|
|
252
|
+
const handleSessionRequest = async (req, res) => {
|
|
253
|
+
const sessionId = req.headers['mcp-session-id'];
|
|
254
|
+
if (!sessionId || !sessions[sessionId]) {
|
|
255
|
+
debugLogWithTag('MCP', `❌ Invalid or missing session ID: ${sessionId}`);
|
|
256
|
+
res.status(400).send('Invalid or missing session ID');
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
const sessionInfo = sessions[sessionId];
|
|
260
|
+
debugLogWithTag('MCP', `🔄 Handling ${req.method} request for session: ${sessionId} (${new URL(sessionInfo.credentials.cplaceUrl).hostname})`);
|
|
261
|
+
await sessionInfo.transport.handleRequest(req, res);
|
|
262
|
+
};
|
|
263
|
+
app.get('/mcp', handleSessionRequest);
|
|
264
|
+
app.delete('/mcp', handleSessionRequest);
|
|
265
|
+
app.listen(port, () => {
|
|
266
|
+
debugLogWithTag('MCP', `🚀 Remote MCP server running on http://localhost:${port}`);
|
|
267
|
+
debugLogWithTag('MCP', `📡 MCP endpoint: http://localhost:${port}/mcp`);
|
|
268
|
+
debugLogWithTag('MCP', `🔧 Session management enabled with streamable-HTTP transport`);
|
|
269
|
+
});
|
|
270
|
+
}
|
|
76
271
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,CAAC,MAAM,EAAE,CAAC;AAGhB,MAAM,MAAM,GAAG;IACb,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE;IACjC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;IACrC,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,MAAM,IAAI,KAAK;CAClF,CAAC;AAGF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AAG3C,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACjD,MAAM,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAGjD,eAAe,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;AAC/D,eAAe,CAAC,KAAK,EAAE,yCAAyC,CAAC,CAAC;AAClE,eAAe,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;AAC/D,eAAe,CAAC,KAAK,EAAE,kBAAkB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChF,eAAe,CAAC,KAAK,EAAE,4BAA4B,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;AACvE,eAAe,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts
CHANGED
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,SAAuC,CAAC;AAOlE,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAY9C;AAKD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAElE"}
|
package/dist/logger.js
CHANGED
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC;AAOlE,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,OAAO,IAAI,CAAC;QAE7C,IAAI,CAAC;YACH,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;QAGjB,CAAC;IACH,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,OAAe;IAC1D,QAAQ,CAAC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/profiles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CA2FjD,CAAC;AAKF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CA2CzD;AAKD,wBAAgB,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAWrE;AAKD,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAWzE"}
|
package/dist/profiles.js
CHANGED
|
@@ -70,8 +70,8 @@ export const TOOL_GROUPS = {
|
|
|
70
70
|
},
|
|
71
71
|
ppt_export: {
|
|
72
72
|
description: "PowerPoint export",
|
|
73
|
-
tools: ["
|
|
74
|
-
modules: ['ppt-export
|
|
73
|
+
tools: ["cplace_create_ppt_export_profile", "cplace_partial_update_ppt_export_profile"],
|
|
74
|
+
modules: ['ppt-export']
|
|
75
75
|
},
|
|
76
76
|
history: {
|
|
77
77
|
description: "Version history",
|
|
@@ -82,6 +82,13 @@ export const TOOL_GROUPS = {
|
|
|
82
82
|
"cplace_get_page_changesets_summary"
|
|
83
83
|
],
|
|
84
84
|
modules: ['version-history']
|
|
85
|
+
},
|
|
86
|
+
schedule: {
|
|
87
|
+
description: "Schedule analysis and cross-schedule dependencies",
|
|
88
|
+
tools: [
|
|
89
|
+
"cplace_get_schedule_links"
|
|
90
|
+
],
|
|
91
|
+
modules: ['schedule']
|
|
85
92
|
}
|
|
86
93
|
};
|
|
87
94
|
export function parseProfiles(argv) {
|
package/dist/profiles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQ9C,MAAM,CAAC,MAAM,WAAW,GAA8B;IACpD,IAAI,EAAE;QACJ,WAAW,EAAE,qGAAqG;QAClH,KAAK,EAAE;YACL,wBAAwB;YACxB,8BAA8B;YAC9B,mBAAmB;YACnB,2BAA2B;YAC3B,uBAAuB;YACvB,oBAAoB;YACpB,oBAAoB;YACpB,+BAA+B;YAC/B,oBAAoB;YACpB,kCAAkC;YAClC,qBAAqB;YACrB,8BAA8B;YAC9B,2BAA2B;YAC3B,yBAAyB;YACzB,2BAA2B;YAC3B,yBAAyB;YACzB,qCAAqC;YACrC,qCAAqC;SACtC;QACD,OAAO,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC;KACjE;IACD,UAAU,EAAE;QACV,WAAW,EAAE,0BAA0B;QACvC,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,OAAO,EAAE,CAAC,QAAQ,CAAC;KACpB;IACD,OAAO,EAAE;QACP,WAAW,EAAE,8BAA8B;QAC3C,KAAK,EAAE;YACL,gCAAgC;YAChC,8BAA8B;YAC9B,iCAAiC;YACjC,2BAA2B;YAC3B,6BAA6B;YAC7B,kCAAkC;YAClC,gCAAgC;YAChC,8BAA8B;YAC9B,4BAA4B;YAC5B,sCAAsC;YACtC,2CAA2C;YAC3C,4BAA4B;YAC5B,+BAA+B;YAC/B,wBAAwB;YACxB,sCAAsC;SACvC;QACD,OAAO,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;KACrC;IACD,WAAW,EAAE;QACX,WAAW,EAAE,+BAA+B;QAC5C,KAAK,EAAE;YACL,+BAA+B;YAC/B,oCAAoC;SACrC;QACD,OAAO,EAAE,CAAC,WAAW,CAAC;KACvB;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,iCAAiC;QAC9C,KAAK,EAAE;YACL,mCAAmC;YACnC,yBAAyB;YACzB,qCAAqC;YACrC,+BAA+B;SAChC;QACD,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,CAAC;KAC5C;IACD,UAAU,EAAE;QACV,WAAW,EAAE,mBAAmB;QAChC,KAAK,EAAE,CAAC,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-listeners.d.ts","sourceRoot":"","sources":["../../src/tools/change-listeners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"change-listeners.d.ts","sourceRoot":"","sources":["../../src/tools/change-listeners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAwHrF"}
|
|
@@ -3,7 +3,7 @@ export function registerChangeListenerTools(server, client) {
|
|
|
3
3
|
server.registerTool("cplace_get_change_listeners_by_type", {
|
|
4
4
|
description: "Get all JavaScript automation scripts (change listeners) that run automatically when specific attributes of a page type are modified. Change listeners are used for business logic automation like calculated fields (e.g., margin = price - cost), status propagation (e.g., mark project complete when all tasks done), and attribute synchronization between related pages. Returns the JavaScript code, trigger attributes, and metadata for each listener.",
|
|
5
5
|
inputSchema: {
|
|
6
|
-
workspaceId: z.string().describe("The workspace
|
|
6
|
+
workspaceId: z.string().describe("The workspace ID (e.g., 'abc123')"),
|
|
7
7
|
typeInternalName: z.string().describe("The internal name of the type definition (e.g., 'cf.example.Project')")
|
|
8
8
|
},
|
|
9
9
|
annotations: { title: "Get Change Listeners by Type" }
|
|
@@ -19,7 +19,8 @@ export function registerChangeListenerTools(server, client) {
|
|
|
19
19
|
}
|
|
20
20
|
catch (error) {
|
|
21
21
|
return {
|
|
22
|
-
content: [{ type: "text", text: `Error retrieving change listeners: ${error instanceof Error ? error.message : String(error)}` }]
|
|
22
|
+
content: [{ type: "text", text: `Error retrieving change listeners: ${error instanceof Error ? error.message : String(error)}` }],
|
|
23
|
+
isError: true
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
26
|
});
|
|
@@ -27,7 +28,7 @@ export function registerChangeListenerTools(server, client) {
|
|
|
27
28
|
description: "Create or update JavaScript automation scripts (change listeners) that execute automatically when specified page attributes change. Common use cases: calculate derived values, propagate status changes, validate business rules, or synchronize data between pages. The script runs in the same transaction as the triggering change and has access to both old and new values via the 'changeEvent' object.",
|
|
28
29
|
inputSchema: {
|
|
29
30
|
operation: z.enum(["create", "update"]).describe("Operation type: 'create' for new change listeners, 'update' for existing change listeners"),
|
|
30
|
-
workspaceId: z.string().describe("Required: Target workspace ID (e.g., '
|
|
31
|
+
workspaceId: z.string().describe("Required: Target workspace ID (e.g., 'abc123')"),
|
|
31
32
|
typeInternalName: z.string().describe("Required: Type internal name (e.g., 'cf.example.Project')"),
|
|
32
33
|
identifier: z.string().describe("Required: Unique identifier for the listener"),
|
|
33
34
|
script: z.string().optional().describe("⚠️ REQUIRED: Review cplace Low-Code documentation before writing change listener scripts. Access via web (https://docs.cplace.io/lowcode/features/change-listeners/), MCP tools, or local file system."),
|
|
@@ -42,7 +43,8 @@ export function registerChangeListenerTools(server, client) {
|
|
|
42
43
|
if (params.operation === "create") {
|
|
43
44
|
if (!params.script || !params.attributeNames || params.attributeNames.length === 0) {
|
|
44
45
|
return {
|
|
45
|
-
content: [{ type: "text", text: "Error: Create operation requires script and attributeNames parameters" }]
|
|
46
|
+
content: [{ type: "text", text: "Error: Create operation requires script and attributeNames parameters" }],
|
|
47
|
+
isError: true
|
|
46
48
|
};
|
|
47
49
|
}
|
|
48
50
|
const requestBody = {
|
|
@@ -90,7 +92,8 @@ export function registerChangeListenerTools(server, client) {
|
|
|
90
92
|
catch (error) {
|
|
91
93
|
const operationText = params.operation === "create" ? "creating" : "updating";
|
|
92
94
|
return {
|
|
93
|
-
content: [{ type: "text", text: `Error ${operationText} change listener: ${error instanceof Error ? error.message : String(error)}` }]
|
|
95
|
+
content: [{ type: "text", text: `Error ${operationText} change listener: ${error instanceof Error ? error.message : String(error)}` }],
|
|
96
|
+
isError: true
|
|
94
97
|
};
|
|
95
98
|
}
|
|
96
99
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-listeners.js","sourceRoot":"","sources":["../../src/tools/change-listeners.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,MAAuB;IAEpF,MAAM,CAAC,YAAY,CAAC,qCAAqC,EACvD;QACE,WAAW,EAAE,icAAic;QAC9c,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"change-listeners.js","sourceRoot":"","sources":["../../src/tools/change-listeners.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,MAAuB;IAEpF,MAAM,CAAC,YAAY,CAAC,qCAAqC,EACvD;QACE,WAAW,EAAE,icAAic;QAC9c,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACrE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;SAC/G;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE;KACvD,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,uBAAuB,EAAE,KAAK,EAAE;gBACzE,WAAW;gBACX,gBAAgB;aACjB,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACjI,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAGF,MAAM,CAAC,YAAY,CAAC,+BAA+B,EACjD;QACE,WAAW,EAAE,gZAAgZ;QAC7Z,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,2FAA2F,CAAC;YAC7I,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YAClF,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;YAClG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YAC/E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wMAAwM,CAAC;YAChP,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sHAAsH,CAAC;YAC/K,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACxF,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gGAAgG,CAAC;YAC1J,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;SACrF;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;KACjD,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAElC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnF,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uEAAuE,EAAE,CAAC;wBAC1G,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAGD,MAAM,WAAW,GAAQ;oBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,cAAc,EAAE,MAAM,CAAC,cAAc;iBACtC,CAAC;gBAEF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC1B,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBACrD,CAAC;gBAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC/C,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,sBAAsB,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;gBAEnG,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YAEJ,CAAC;iBAAM,CAAC;gBAEN,MAAM,WAAW,GAAQ;oBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,gBAAgB,EAAE,MAAM,CAAC,UAAU;iBACpC,CAAC;gBAEF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBACrC,CAAC;gBAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACjC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACvC,CAAC;gBAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;oBACxC,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBACrD,CAAC;gBAED,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACrC,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC/C,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,sBAAsB,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;gBAEpG,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9E,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,aAAa,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACtI,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAI5C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/tools/pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAI5C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QA+U3E"}
|