@cplace/mcp-server 1.10.8 โ 1.11.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 +7 -2
- package/dist/index.js +83 -26
- package/dist/index.js.map +1 -1
- package/dist/plugins/low-code.d.ts.map +1 -1
- package/dist/plugins/low-code.js +11 -1
- package/dist/plugins/low-code.js.map +1 -1
- package/dist/session-cleanup.d.ts +11 -0
- package/dist/session-cleanup.d.ts.map +1 -0
- package/dist/session-cleanup.js +20 -0
- package/dist/session-cleanup.js.map +1 -0
- package/dist/tools/enum-provider-simulation.d.ts +20 -0
- package/dist/tools/enum-provider-simulation.d.ts.map +1 -0
- package/dist/tools/enum-provider-simulation.js +139 -0
- package/dist/tools/enum-provider-simulation.js.map +1 -0
- package/dist/tools/enum-providers.d.ts +45 -0
- package/dist/tools/enum-providers.d.ts.map +1 -0
- package/dist/tools/enum-providers.js +190 -0
- package/dist/tools/enum-providers.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -309,7 +309,7 @@ The MCP server uses a profile-based tool loading system to optimize LLM context
|
|
|
309
309
|
| `layouts` | Widget and layout management |
|
|
310
310
|
| `resource-management` | Resource planner widget configuration |
|
|
311
311
|
| `types-write` | Type and attribute management |
|
|
312
|
-
| `low-code` | Validators, change listeners, workflows, script execution, job scripts |
|
|
312
|
+
| `low-code` | Validators, enum providers, change listeners, workflows, script execution, job scripts |
|
|
313
313
|
| `jobs` | Job monitoring and management |
|
|
314
314
|
| `project-planning` | Schedule analysis and PowerPoint export |
|
|
315
315
|
| `solution-management` | Solution package management and inspection |
|
|
@@ -475,13 +475,18 @@ Type and attribute creation, updates, and deletion.
|
|
|
475
475
|
- `cplace_delete_attribute_definition` - Delete an attribute definition from a type
|
|
476
476
|
|
|
477
477
|
### Low-Code (Profile: low-code)
|
|
478
|
-
Validators, change listeners, workflow state machines, workflow scripts, script linting, script logging, script execution, job scripts, and job schedule triggers.
|
|
478
|
+
Validators, enum providers, change listeners, workflow state machines, workflow scripts, script linting, script logging, script execution, job scripts, and job schedule triggers.
|
|
479
479
|
|
|
480
480
|
**Validators:**
|
|
481
481
|
- `cplace_get_validator_by_attribute` - Get JavaScript validator script and metadata for a specific attribute
|
|
482
482
|
- `cplace_manage_validator` - Create or update JavaScript validators for attribute definitions
|
|
483
483
|
- `cplace_delete_validator` - Delete a validator from an attribute definition
|
|
484
484
|
|
|
485
|
+
**Enum Providers:**
|
|
486
|
+
- `cplace_get_enum_provider_by_attribute` - Get the low-code enum provider script and the current enumeration options for an enumeration attribute
|
|
487
|
+
- `cplace_manage_enum_provider` - Create or update a low-code enum provider script that computes enumeration options dynamically (incl. enable/disable)
|
|
488
|
+
- `cplace_delete_enum_provider` - Remove an enum provider from an attribute; the last computed options remain as a static list
|
|
489
|
+
|
|
485
490
|
**Change Listeners:**
|
|
486
491
|
- `cplace_get_change_listeners_by_type` - Get all JavaScript automation scripts (change listeners) for a type
|
|
487
492
|
- `cplace_manage_change_listener` - Create or update JavaScript automation scripts that execute when specified attributes change
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,7 @@ import { primeCustomConstraintTypeCache } from './tools/type-management.js';
|
|
|
18
18
|
import { debugLogWithTag } from './logger.js';
|
|
19
19
|
import { parseUrlCredentials, hasEmbeddedCredentials } from './url-parsing.js';
|
|
20
20
|
import { loadExternalPlugins } from './plugin-loader.js';
|
|
21
|
+
import { cleanupIdleSessions } from './session-cleanup.js';
|
|
21
22
|
import { readFileSync } from 'fs';
|
|
22
23
|
import { join } from 'path';
|
|
23
24
|
import { fileURLToPath } from 'url';
|
|
@@ -25,8 +26,17 @@ const __filename = fileURLToPath(import.meta.url);
|
|
|
25
26
|
const __dirname = join(__filename, '..');
|
|
26
27
|
const packageJson = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
|
|
27
28
|
dotenv.config();
|
|
28
|
-
|
|
29
|
-
const
|
|
29
|
+
function parsePositiveIntEnv(name, defaultMs) {
|
|
30
|
+
const raw = process.env[name];
|
|
31
|
+
if (!raw)
|
|
32
|
+
return defaultMs;
|
|
33
|
+
const parsed = parseInt(raw, 10);
|
|
34
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : defaultMs;
|
|
35
|
+
}
|
|
36
|
+
const SESSION_IDLE_TIMEOUT_MS = parsePositiveIntEnv('SESSION_IDLE_TIMEOUT_MS', 30 * 60 * 1000);
|
|
37
|
+
const CLEANUP_INTERVAL_MS = parsePositiveIntEnv('CLEANUP_INTERVAL_MS', 5 * 60 * 1000);
|
|
38
|
+
const SSE_KEEPALIVE_MS = parsePositiveIntEnv('SSE_KEEPALIVE_MS', 15 * 1000);
|
|
39
|
+
const SSE_MAX_STREAM_LIFETIME_MS = parsePositiveIntEnv('SSE_MAX_STREAM_LIFETIME_MS', 60 * 60 * 1000);
|
|
30
40
|
function ensureTrailingSlash(url) {
|
|
31
41
|
if (!url)
|
|
32
42
|
return url;
|
|
@@ -169,22 +179,6 @@ function createSessionServer(cplaceUrl, apiToken) {
|
|
|
169
179
|
registerProfileManagementTools(sessionServer, () => ({ apiToken, cplaceUrl }), registry);
|
|
170
180
|
return { server: sessionServer, client: sessionClient };
|
|
171
181
|
}
|
|
172
|
-
function cleanupIdleSessions(sessions) {
|
|
173
|
-
const now = Date.now();
|
|
174
|
-
let cleanedCount = 0;
|
|
175
|
-
for (const [sessionId, session] of Object.entries(sessions)) {
|
|
176
|
-
const idleTime = now - session.lastActivityAt.getTime();
|
|
177
|
-
if (idleTime > SESSION_IDLE_TIMEOUT_MS) {
|
|
178
|
-
const idleMinutes = Math.round(idleTime / 60000);
|
|
179
|
-
debugLogWithTag('MCP', `โฐ Session ${sessionId} timed out after ${idleMinutes} minutes of inactivity`);
|
|
180
|
-
session.transport.close();
|
|
181
|
-
cleanedCount++;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
if (cleanedCount > 0) {
|
|
185
|
-
debugLogWithTag('MCP', `๐งน Initiated cleanup of ${cleanedCount} idle session(s)`);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
182
|
function startHttpServer() {
|
|
189
183
|
const app = express();
|
|
190
184
|
const port = process.env.PORT || 3000;
|
|
@@ -202,7 +196,8 @@ function startHttpServer() {
|
|
|
202
196
|
client: sessionClient,
|
|
203
197
|
credentials: { cplaceUrl, apiToken },
|
|
204
198
|
createdAt: now,
|
|
205
|
-
lastActivityAt: now
|
|
199
|
+
lastActivityAt: now,
|
|
200
|
+
activeStreamCount: 0
|
|
206
201
|
};
|
|
207
202
|
},
|
|
208
203
|
enableDnsRebindingProtection: false,
|
|
@@ -225,11 +220,15 @@ function startHttpServer() {
|
|
|
225
220
|
client: sessionClient,
|
|
226
221
|
credentials: { cplaceUrl, apiToken },
|
|
227
222
|
createdAt: now,
|
|
228
|
-
lastActivityAt: now
|
|
223
|
+
lastActivityAt: now,
|
|
224
|
+
activeStreamCount: 0
|
|
229
225
|
};
|
|
230
226
|
};
|
|
231
|
-
const
|
|
232
|
-
|
|
227
|
+
const counters = { expiredSessions: 0, goneResponses: 0 };
|
|
228
|
+
const cleanupTimer = setInterval(() => {
|
|
229
|
+
counters.expiredSessions += cleanupIdleSessions(sessions, SESSION_IDLE_TIMEOUT_MS);
|
|
230
|
+
}, CLEANUP_INTERVAL_MS);
|
|
231
|
+
debugLogWithTag('MCP', `๐ Session cleanup timer started (interval: ${CLEANUP_INTERVAL_MS / 60000} min, idle timeout: ${SESSION_IDLE_TIMEOUT_MS / 60000} min, SSE keepalive: ${SSE_KEEPALIVE_MS / 1000}s, max stream lifetime: ${SSE_MAX_STREAM_LIFETIME_MS / 60000} min)`);
|
|
233
232
|
process.on('SIGTERM', () => clearInterval(cleanupTimer));
|
|
234
233
|
process.on('SIGINT', () => clearInterval(cleanupTimer));
|
|
235
234
|
app.use(cors({
|
|
@@ -255,8 +254,10 @@ function startHttpServer() {
|
|
|
255
254
|
app.get('/authorize', oauthNotSupported);
|
|
256
255
|
app.get('/health', (req, res) => {
|
|
257
256
|
const now = Date.now();
|
|
258
|
-
const
|
|
259
|
-
const
|
|
257
|
+
const sessionValues = Object.values(sessions);
|
|
258
|
+
const sessionAges = sessionValues.map(s => now - s.createdAt.getTime());
|
|
259
|
+
const sessionIdleTimes = sessionValues.map(s => now - s.lastActivityAt.getTime());
|
|
260
|
+
const activeStreams = sessionValues.reduce((sum, s) => sum + s.activeStreamCount, 0);
|
|
260
261
|
const oldestSessionAgeMinutes = sessionAges.length > 0
|
|
261
262
|
? Math.round(Math.max(...sessionAges) / 60000)
|
|
262
263
|
: 0;
|
|
@@ -268,9 +269,20 @@ function startHttpServer() {
|
|
|
268
269
|
version: packageJson.version,
|
|
269
270
|
buildTime: process.env.BUILD_TIME || 'unknown',
|
|
270
271
|
timestamp: new Date().toISOString(),
|
|
271
|
-
activeSessions:
|
|
272
|
+
activeSessions: sessionValues.length,
|
|
273
|
+
activeStreams,
|
|
272
274
|
oldestSessionAgeMinutes,
|
|
273
|
-
maxIdleTimeMinutes
|
|
275
|
+
maxIdleTimeMinutes,
|
|
276
|
+
config: {
|
|
277
|
+
sessionIdleTimeoutMs: SESSION_IDLE_TIMEOUT_MS,
|
|
278
|
+
cleanupIntervalMs: CLEANUP_INTERVAL_MS,
|
|
279
|
+
sseKeepaliveMs: SSE_KEEPALIVE_MS,
|
|
280
|
+
sseMaxStreamLifetimeMs: SSE_MAX_STREAM_LIFETIME_MS
|
|
281
|
+
},
|
|
282
|
+
counters: {
|
|
283
|
+
expiredSessions: counters.expiredSessions,
|
|
284
|
+
goneResponses: counters.goneResponses
|
|
285
|
+
}
|
|
274
286
|
});
|
|
275
287
|
});
|
|
276
288
|
const handlePostRequest = async (req, res) => {
|
|
@@ -296,6 +308,7 @@ function startHttpServer() {
|
|
|
296
308
|
sessionInfo.lastActivityAt = new Date();
|
|
297
309
|
}
|
|
298
310
|
else if (sessionId && !sessions[sessionId]) {
|
|
311
|
+
counters.goneResponses++;
|
|
299
312
|
debugLogWithTag('MCP', `โ Session not found or expired: ${sessionId}`);
|
|
300
313
|
res.status(410).json({
|
|
301
314
|
jsonrpc: '2.0',
|
|
@@ -348,7 +361,51 @@ function startHttpServer() {
|
|
|
348
361
|
return;
|
|
349
362
|
}
|
|
350
363
|
const sessionInfo = sessions[sessionId];
|
|
364
|
+
sessionInfo.lastActivityAt = new Date();
|
|
351
365
|
debugLogWithTag('MCP', `๐ Handling ${req.method} request for session: ${sessionId} (${new URL(sessionInfo.credentials.cplaceUrl).hostname})`);
|
|
366
|
+
if (req.method === 'GET') {
|
|
367
|
+
sessionInfo.activeStreamCount++;
|
|
368
|
+
let cleaned = false;
|
|
369
|
+
const cleanup = () => {
|
|
370
|
+
if (cleaned)
|
|
371
|
+
return;
|
|
372
|
+
cleaned = true;
|
|
373
|
+
clearInterval(keepaliveTimer);
|
|
374
|
+
clearTimeout(maxLifetimeTimer);
|
|
375
|
+
sessionInfo.activeStreamCount = Math.max(0, sessionInfo.activeStreamCount - 1);
|
|
376
|
+
sessionInfo.lastActivityAt = new Date();
|
|
377
|
+
};
|
|
378
|
+
const keepaliveTimer = setInterval(() => {
|
|
379
|
+
if (res.writableEnded || res.destroyed) {
|
|
380
|
+
cleanup();
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
try {
|
|
384
|
+
res.write(':\n\n');
|
|
385
|
+
}
|
|
386
|
+
catch {
|
|
387
|
+
cleanup();
|
|
388
|
+
try {
|
|
389
|
+
res.end();
|
|
390
|
+
}
|
|
391
|
+
catch { }
|
|
392
|
+
}
|
|
393
|
+
}, SSE_KEEPALIVE_MS);
|
|
394
|
+
const maxLifetimeTimer = setTimeout(() => {
|
|
395
|
+
if (cleaned)
|
|
396
|
+
return;
|
|
397
|
+
debugLogWithTag('MCP', `โณ SSE stream for session ${sessionId} hit max lifetime (${SSE_MAX_STREAM_LIFETIME_MS / 60000} min); forcing close`);
|
|
398
|
+
cleanup();
|
|
399
|
+
try {
|
|
400
|
+
res.end();
|
|
401
|
+
}
|
|
402
|
+
catch { }
|
|
403
|
+
}, SSE_MAX_STREAM_LIFETIME_MS);
|
|
404
|
+
res.on('close', cleanup);
|
|
405
|
+
res.on('finish', cleanup);
|
|
406
|
+
req.on('close', cleanup);
|
|
407
|
+
req.on('aborted', cleanup);
|
|
408
|
+
}
|
|
352
409
|
await sessionInfo.transport.handleRequest(req, res);
|
|
353
410
|
};
|
|
354
411
|
app.get('/mcp', handleSessionRequest);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"low-code.d.ts","sourceRoot":"","sources":["../../src/plugins/low-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"low-code.d.ts","sourceRoot":"","sources":["../../src/plugins/low-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA+CpD,eAAO,MAAM,aAAa,EAAE,SAwD3B,CAAC"}
|
package/dist/plugins/low-code.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PLUGIN_VERSION } from './version.js';
|
|
2
2
|
import { registerValidatorTools, VALIDATOR_TOOL_DEFINITIONS } from '../tools/validators.js';
|
|
3
|
+
import { registerEnumProviderTools, ENUM_PROVIDER_TOOL_DEFINITIONS, } from '../tools/enum-providers.js';
|
|
3
4
|
import { registerChangeListenerTools, CHANGE_LISTENER_TOOL_DEFINITIONS, } from '../tools/change-listeners.js';
|
|
4
5
|
import { registerWorkflowTools, WORKFLOW_TOOL_DEFINITIONS } from '../tools/workflow.js';
|
|
5
6
|
import { registerWorkflowScriptTools, WORKFLOW_SCRIPT_TOOL_DEFINITIONS, } from '../tools/workflow-scripts.js';
|
|
@@ -12,6 +13,7 @@ import { registerJobScheduleTriggerTools, JOB_SCHEDULE_TRIGGER_TOOL_DEFINITIONS,
|
|
|
12
13
|
import { registerWorkflowExecutionTools, WORKFLOW_EXECUTION_TOOL_DEFINITIONS, } from '../tools/workflow-execution.js';
|
|
13
14
|
import { registerWidgetSimulationTools, WIDGET_SIMULATION_TOOL_DEFINITIONS, } from '../tools/widget-simulation.js';
|
|
14
15
|
import { registerPageActionSimulationTools, PAGE_ACTION_SIMULATION_TOOL_DEFINITIONS, } from '../tools/page-action-simulation.js';
|
|
16
|
+
import { registerEnumProviderSimulationTools, ENUM_PROVIDER_SIMULATION_TOOL_DEFINITIONS, } from '../tools/enum-provider-simulation.js';
|
|
15
17
|
import { fileURLToPath } from 'url';
|
|
16
18
|
import { dirname } from 'path';
|
|
17
19
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -19,10 +21,14 @@ const __dirname = dirname(__filename);
|
|
|
19
21
|
export const lowCodePlugin = {
|
|
20
22
|
name: 'low-code',
|
|
21
23
|
version: PLUGIN_VERSION,
|
|
22
|
-
description: 'Validators, change listeners, workflow management, script logs, script execution, and job monitoring',
|
|
24
|
+
description: 'Validators, enum providers, change listeners, workflow management, script logs, script execution, and job monitoring',
|
|
23
25
|
sourcePath: __dirname,
|
|
24
26
|
modules: {
|
|
25
27
|
validators: { register: registerValidatorTools, toolDefinitions: VALIDATOR_TOOL_DEFINITIONS },
|
|
28
|
+
'enum-providers': {
|
|
29
|
+
register: registerEnumProviderTools,
|
|
30
|
+
toolDefinitions: ENUM_PROVIDER_TOOL_DEFINITIONS,
|
|
31
|
+
},
|
|
26
32
|
'change-listeners': {
|
|
27
33
|
register: registerChangeListenerTools,
|
|
28
34
|
toolDefinitions: CHANGE_LISTENER_TOOL_DEFINITIONS,
|
|
@@ -62,6 +68,10 @@ export const lowCodePlugin = {
|
|
|
62
68
|
register: registerPageActionSimulationTools,
|
|
63
69
|
toolDefinitions: PAGE_ACTION_SIMULATION_TOOL_DEFINITIONS,
|
|
64
70
|
},
|
|
71
|
+
'enum-provider-simulation': {
|
|
72
|
+
register: registerEnumProviderSimulationTools,
|
|
73
|
+
toolDefinitions: ENUM_PROVIDER_SIMULATION_TOOL_DEFINITIONS,
|
|
74
|
+
},
|
|
65
75
|
},
|
|
66
76
|
};
|
|
67
77
|
//# sourceMappingURL=low-code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"low-code.js","sourceRoot":"","sources":["../../src/plugins/low-code.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,EACL,+BAA+B,EAC/B,qCAAqC,GACtC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,GACpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iCAAiC,EACjC,uCAAuC,GACxC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,cAAc;IACvB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"low-code.js","sourceRoot":"","sources":["../../src/plugins/low-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface CleanupSession {
|
|
2
|
+
lastActivityAt: Date;
|
|
3
|
+
activeStreamCount: number;
|
|
4
|
+
transport: {
|
|
5
|
+
close: () => void | Promise<void>;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export declare function cleanupIdleSessions<T extends CleanupSession>(sessions: {
|
|
9
|
+
[sessionId: string]: T;
|
|
10
|
+
}, idleTimeoutMs: number, now?: number): number;
|
|
11
|
+
//# sourceMappingURL=session-cleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-cleanup.d.ts","sourceRoot":"","sources":["../src/session-cleanup.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,IAAI,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;CAClD;AAUD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAC1D,QAAQ,EAAE;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAA;CAAE,EACpC,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,MAAmB,GACvB,MAAM,CAoBR"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { debugLogWithTag } from './logger.js';
|
|
2
|
+
export function cleanupIdleSessions(sessions, idleTimeoutMs, now = Date.now()) {
|
|
3
|
+
let cleanedCount = 0;
|
|
4
|
+
for (const [sessionId, session] of Object.entries(sessions)) {
|
|
5
|
+
if (session.activeStreamCount > 0)
|
|
6
|
+
continue;
|
|
7
|
+
const idleTime = now - session.lastActivityAt.getTime();
|
|
8
|
+
if (idleTime > idleTimeoutMs) {
|
|
9
|
+
const idleMinutes = Math.round(idleTime / 60000);
|
|
10
|
+
debugLogWithTag('MCP', `โฐ Session ${sessionId} idle-timed-out after ${idleMinutes} minutes`);
|
|
11
|
+
session.transport.close();
|
|
12
|
+
cleanedCount++;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
if (cleanedCount > 0) {
|
|
16
|
+
debugLogWithTag('MCP', `๐งน Initiated cleanup of ${cleanedCount} idle session(s)`);
|
|
17
|
+
}
|
|
18
|
+
return cleanedCount;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=session-cleanup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-cleanup.js","sourceRoot":"","sources":["../src/session-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAqB9C,MAAM,UAAU,mBAAmB,CACjC,QAAoC,EACpC,aAAqB,EACrB,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,IAAI,OAAO,CAAC,iBAAiB,GAAG,CAAC;YAAE,SAAS;QAE5C,MAAM,QAAQ,GAAG,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QACxD,IAAI,QAAQ,GAAG,aAAa,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;YACjD,eAAe,CAAC,KAAK,EAAE,aAAa,SAAS,yBAAyB,WAAW,UAAU,CAAC,CAAC;YAE7F,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC1B,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,eAAe,CAAC,KAAK,EAAE,2BAA2B,YAAY,kBAAkB,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { CplaceApiClient } from '../api.js';
|
|
4
|
+
export declare const ENUM_PROVIDER_SIMULATION_TOOL_DEFINITIONS: {
|
|
5
|
+
readonly cplace_simulate_enum_provider: {
|
|
6
|
+
readonly description: "Execute an enum provider script under the production enum-provider engine context โ without persisting anything.\n\n**Two primary use cases:**\n1. **Pre-attach testing of a candidate script.** Attaching a provider via\ncplace_manage_enum_provider is destructive: its enumOptions() result REPLACES the\nattribute's stored enumeration options and the old static list cannot be recovered.\nSimulate the candidate first to see exactly what it would compute โ zero changes\nto the attribute.\n2. **Per-page filterByValues verification.** filterByValues(ownerEntity) runs per\nentity at display time only; no write triggers it, so no other tool can verify it.\nPass ownerEntityUid to see the filtered subset a specific page would show.\n\n**Four modes** from the two optional parameters:\n- no `script`, no `ownerEntityUid`: re-runs the stored provider (cheap \"does the\n stored script still run\" check; executes the attached script even when the\n provider is disabled)\n- `script` only: candidate options preview\n- `script` + `ownerEntityUid`: candidate options + filtered subset for that page\n- `ownerEntityUid` only: stored provider options + filtered subset for that page\n\n**โ ๏ธ Mode-dependent intersection semantics for filteredOptions:**\n- **Stored mode** (no `script`) mirrors what the page shows TODAY: the\n filterByValues result is intersected with the attribute's currently stored\n elements (production's display formula).\n- **Candidate mode** (`script` given) predicts the POST-ATTACH state: the\n filterByValues result is intersected with the candidate's own enumOptions()\n output instead.\nThe same script text can therefore yield different filteredOptions in the two\nmodes. The response names the base used in `intersectionBase`\n(\"storedElements\" | \"candidateOptions\").\n\n**Response**: `mode`, `options` (the enumOptions() output as\n{value, localizedName?, icon?}), `invalidOptionValues` (only when present:\noptions whose value is missing or type-mismatched for the attribute kind), and โ\nonly when `ownerEntityUid` was given โ `filterByValuesPresent`,\n`filteredOptions`, `intersectionBase`. When the script has no filterByValues,\n`filterByValuesPresent` is false and `filteredOptions` equals the full\nintersection base (production: no filtering). Script errors return\n{error: {message, line}}.\n\n**Injected bindings** (replicating the production engine row โ see\n`script-context-cards/enum-provider.md`): `messages` (the type's message\nprovider), `enumValues` (the stored enumeration elements as primitives),\n`defaultValues` (the attribute's default values as primitives),\n`customAttribute` (the attribute's internal name).\n**Allowed type classes**: `Search`, `Filters`. **Mode**: read-only โ the\nprovider script's execution path never writes. **Timeout**: 30 seconds.\n\n**Known deviations from production**: runs with the caller's read permissions\n(production suspends read checks); plugin-extension enumeration filters\n(FilterEnumerationValuesPluginExtension) are not applied.\n\n**Script contract**: the script must end with a top-level return of an object\nwith a mandatory enumOptions() function returning an array of options\n(plain value or {value, name, icon}), and an optional\nfilterByValues(ownerEntity) function. triggerEntities()/systemTriggers() may be\npresent but are not exercised by the simulation โ nothing is persisted, so no\ntrigger registration happens. Only for low-code ENUM_PROVIDER scripts โ\nnot the Java-class DynamicEnumerationProvider.";
|
|
7
|
+
readonly inputSchema: {
|
|
8
|
+
readonly workspaceId: z.ZodString;
|
|
9
|
+
readonly typeInternalName: z.ZodString;
|
|
10
|
+
readonly attributeName: z.ZodString;
|
|
11
|
+
readonly script: z.ZodOptional<z.ZodString>;
|
|
12
|
+
readonly ownerEntityUid: z.ZodOptional<z.ZodString>;
|
|
13
|
+
};
|
|
14
|
+
readonly annotations: {
|
|
15
|
+
readonly title: "Simulate Enum Provider Script";
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export declare function registerEnumProviderSimulationTools(server: McpServer, client: CplaceApiClient): void;
|
|
20
|
+
//# sourceMappingURL=enum-provider-simulation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-provider-simulation.d.ts","sourceRoot":"","sources":["../../src/tools/enum-provider-simulation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAQ5C,eAAO,MAAM,yCAAyC;;;;;;;;;;;;;;CAwF5C,CAAC;AAEX,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAsE7F"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { debugLogWithTag } from '../logger.js';
|
|
3
|
+
import { checkResponseSize } from '../utils.js';
|
|
4
|
+
import { CPLACEJS_COMMON_API_CHEAT_SHEET } from './common-schemas.js';
|
|
5
|
+
import { formatEnumProviderError } from './enum-providers.js';
|
|
6
|
+
const TOOL_SIMULATE_ENUM_PROVIDER = 'cplace_simulate_enum_provider';
|
|
7
|
+
export const ENUM_PROVIDER_SIMULATION_TOOL_DEFINITIONS = {
|
|
8
|
+
[TOOL_SIMULATE_ENUM_PROVIDER]: {
|
|
9
|
+
description: `Execute an enum provider script under the production enum-provider engine context โ without persisting anything.
|
|
10
|
+
|
|
11
|
+
**Two primary use cases:**
|
|
12
|
+
1. **Pre-attach testing of a candidate script.** Attaching a provider via
|
|
13
|
+
cplace_manage_enum_provider is destructive: its enumOptions() result REPLACES the
|
|
14
|
+
attribute's stored enumeration options and the old static list cannot be recovered.
|
|
15
|
+
Simulate the candidate first to see exactly what it would compute โ zero changes
|
|
16
|
+
to the attribute.
|
|
17
|
+
2. **Per-page filterByValues verification.** filterByValues(ownerEntity) runs per
|
|
18
|
+
entity at display time only; no write triggers it, so no other tool can verify it.
|
|
19
|
+
Pass ownerEntityUid to see the filtered subset a specific page would show.
|
|
20
|
+
|
|
21
|
+
**Four modes** from the two optional parameters:
|
|
22
|
+
- no \`script\`, no \`ownerEntityUid\`: re-runs the stored provider (cheap "does the
|
|
23
|
+
stored script still run" check; executes the attached script even when the
|
|
24
|
+
provider is disabled)
|
|
25
|
+
- \`script\` only: candidate options preview
|
|
26
|
+
- \`script\` + \`ownerEntityUid\`: candidate options + filtered subset for that page
|
|
27
|
+
- \`ownerEntityUid\` only: stored provider options + filtered subset for that page
|
|
28
|
+
|
|
29
|
+
**โ ๏ธ Mode-dependent intersection semantics for filteredOptions:**
|
|
30
|
+
- **Stored mode** (no \`script\`) mirrors what the page shows TODAY: the
|
|
31
|
+
filterByValues result is intersected with the attribute's currently stored
|
|
32
|
+
elements (production's display formula).
|
|
33
|
+
- **Candidate mode** (\`script\` given) predicts the POST-ATTACH state: the
|
|
34
|
+
filterByValues result is intersected with the candidate's own enumOptions()
|
|
35
|
+
output instead.
|
|
36
|
+
The same script text can therefore yield different filteredOptions in the two
|
|
37
|
+
modes. The response names the base used in \`intersectionBase\`
|
|
38
|
+
("storedElements" | "candidateOptions").
|
|
39
|
+
|
|
40
|
+
**Response**: \`mode\`, \`options\` (the enumOptions() output as
|
|
41
|
+
{value, localizedName?, icon?}), \`invalidOptionValues\` (only when present:
|
|
42
|
+
options whose value is missing or type-mismatched for the attribute kind), and โ
|
|
43
|
+
only when \`ownerEntityUid\` was given โ \`filterByValuesPresent\`,
|
|
44
|
+
\`filteredOptions\`, \`intersectionBase\`. When the script has no filterByValues,
|
|
45
|
+
\`filterByValuesPresent\` is false and \`filteredOptions\` equals the full
|
|
46
|
+
intersection base (production: no filtering). Script errors return
|
|
47
|
+
{error: {message, line}}.
|
|
48
|
+
|
|
49
|
+
**Injected bindings** (replicating the production engine row โ see
|
|
50
|
+
\`script-context-cards/enum-provider.md\`): \`messages\` (the type's message
|
|
51
|
+
provider), \`enumValues\` (the stored enumeration elements as primitives),
|
|
52
|
+
\`defaultValues\` (the attribute's default values as primitives),
|
|
53
|
+
\`customAttribute\` (the attribute's internal name).
|
|
54
|
+
**Allowed type classes**: \`Search\`, \`Filters\`. **Mode**: read-only โ the
|
|
55
|
+
provider script's execution path never writes. **Timeout**: 30 seconds.
|
|
56
|
+
|
|
57
|
+
**Known deviations from production**: runs with the caller's read permissions
|
|
58
|
+
(production suspends read checks); plugin-extension enumeration filters
|
|
59
|
+
(FilterEnumerationValuesPluginExtension) are not applied.
|
|
60
|
+
|
|
61
|
+
**Script contract**: the script must end with a top-level return of an object
|
|
62
|
+
with a mandatory enumOptions() function returning an array of options
|
|
63
|
+
(plain value or {value, name, icon}), and an optional
|
|
64
|
+
filterByValues(ownerEntity) function. triggerEntities()/systemTriggers() may be
|
|
65
|
+
present but are not exercised by the simulation โ nothing is persisted, so no
|
|
66
|
+
trigger registration happens. Only for low-code ENUM_PROVIDER scripts โ
|
|
67
|
+
not the Java-class DynamicEnumerationProvider.`,
|
|
68
|
+
inputSchema: {
|
|
69
|
+
workspaceId: z.string().describe("The workspace identifier (e.g., 'abc123')"),
|
|
70
|
+
typeInternalName: z
|
|
71
|
+
.string()
|
|
72
|
+
.describe("The internal name of the type definition (e.g., 'cf.example.task')"),
|
|
73
|
+
attributeName: z
|
|
74
|
+
.string()
|
|
75
|
+
.describe("The name of the textEnumeration or numberEnumeration attribute (e.g., 'taskCategory')"),
|
|
76
|
+
script: z
|
|
77
|
+
.string()
|
|
78
|
+
.optional()
|
|
79
|
+
.describe(`Candidate enum provider script to simulate (candidate mode). When omitted, the attribute's stored provider script is simulated instead (stored mode).
|
|
80
|
+
The script must end with a top-level return of an object with a mandatory enumOptions() function returning an array of options ('alpha' or { value: 'alpha', name: { en: 'Alpha' }, icon: 'fa-flag' }), and an optional filterByValues(ownerEntity) function.` +
|
|
81
|
+
CPLACEJS_COMMON_API_CHEAT_SHEET),
|
|
82
|
+
ownerEntityUid: z
|
|
83
|
+
.string()
|
|
84
|
+
.optional()
|
|
85
|
+
.describe('Page UID bound as `ownerEntity` for filterByValues. When given, the response also contains filteredOptions (the subset this page would show) and intersectionBase. Must be an existing page.'),
|
|
86
|
+
},
|
|
87
|
+
annotations: { title: 'Simulate Enum Provider Script' },
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
export function registerEnumProviderSimulationTools(server, client) {
|
|
91
|
+
server.registerTool(TOOL_SIMULATE_ENUM_PROVIDER, ENUM_PROVIDER_SIMULATION_TOOL_DEFINITIONS[TOOL_SIMULATE_ENUM_PROVIDER], async ({ workspaceId, typeInternalName, attributeName, script, ownerEntityUid }) => {
|
|
92
|
+
debugLogWithTag('ENUM_PROVIDER_SIM', `Simulating enum provider (${script ? 'candidate' : 'stored'} mode) attribute=${attributeName} type=${typeInternalName}${ownerEntityUid ? ` ownerEntity=${ownerEntityUid}` : ''}`);
|
|
93
|
+
try {
|
|
94
|
+
const requestBody = {
|
|
95
|
+
workspaceId,
|
|
96
|
+
typeInternalName,
|
|
97
|
+
attributeName,
|
|
98
|
+
};
|
|
99
|
+
if (script !== undefined) {
|
|
100
|
+
requestBody.script = script;
|
|
101
|
+
}
|
|
102
|
+
if (ownerEntityUid !== undefined) {
|
|
103
|
+
requestBody.ownerEntityUid = ownerEntityUid;
|
|
104
|
+
}
|
|
105
|
+
const response = await client.makeApiRequest('json/enum-provider/simulateScript', 'POST', undefined, requestBody);
|
|
106
|
+
const result = { result: response };
|
|
107
|
+
const sizeCheck = checkResponseSize(result);
|
|
108
|
+
if (sizeCheck.tooLarge) {
|
|
109
|
+
debugLogWithTag('ENUM_PROVIDER_SIM', `Response too large: ${sizeCheck.actualSize} characters`);
|
|
110
|
+
return {
|
|
111
|
+
content: [
|
|
112
|
+
{
|
|
113
|
+
type: 'text',
|
|
114
|
+
text: `Enum provider simulation result too large (${sizeCheck.actualSize} characters). Modify your script to return less data.`,
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
isError: true,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
debugLogWithTag('ENUM_PROVIDER_SIM', 'Enum provider script simulated successfully');
|
|
121
|
+
return {
|
|
122
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
debugLogWithTag('ENUM_PROVIDER_SIM', `Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
127
|
+
return {
|
|
128
|
+
content: [
|
|
129
|
+
{
|
|
130
|
+
type: 'text',
|
|
131
|
+
text: formatEnumProviderError('Error simulating enum provider', error),
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
isError: true,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=enum-provider-simulation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-provider-simulation.js","sourceRoot":"","sources":["../../src/tools/enum-provider-simulation.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 function formatEnumProviderError(prefix: string, error: unknown): string;
|
|
5
|
+
export declare const ENUM_PROVIDER_TOOL_DEFINITIONS: {
|
|
6
|
+
readonly cplace_get_enum_provider_by_attribute: {
|
|
7
|
+
readonly description: string;
|
|
8
|
+
readonly inputSchema: {
|
|
9
|
+
readonly workspaceId: z.ZodString;
|
|
10
|
+
readonly typeInternalName: z.ZodString;
|
|
11
|
+
readonly attributeName: z.ZodString;
|
|
12
|
+
};
|
|
13
|
+
readonly annotations: {
|
|
14
|
+
readonly title: "Get Enum Provider by Attribute";
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
readonly cplace_manage_enum_provider: {
|
|
18
|
+
readonly description: string;
|
|
19
|
+
readonly inputSchema: {
|
|
20
|
+
readonly operation: z.ZodEnum<["create", "update"]>;
|
|
21
|
+
readonly workspaceId: z.ZodString;
|
|
22
|
+
readonly typeInternalName: z.ZodString;
|
|
23
|
+
readonly attributeName: z.ZodString;
|
|
24
|
+
readonly script: z.ZodOptional<z.ZodString>;
|
|
25
|
+
readonly enabled: z.ZodOptional<z.ZodBoolean>;
|
|
26
|
+
readonly description: z.ZodOptional<z.ZodString>;
|
|
27
|
+
};
|
|
28
|
+
readonly annotations: {
|
|
29
|
+
readonly title: "Manage Enum Provider";
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
readonly cplace_delete_enum_provider: {
|
|
33
|
+
readonly description: string;
|
|
34
|
+
readonly inputSchema: {
|
|
35
|
+
readonly workspaceId: z.ZodString;
|
|
36
|
+
readonly typeInternalName: z.ZodString;
|
|
37
|
+
readonly attributeName: z.ZodString;
|
|
38
|
+
};
|
|
39
|
+
readonly annotations: {
|
|
40
|
+
readonly title: "Delete Enum Provider";
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export declare function registerEnumProviderTools(server: McpServer, client: CplaceApiClient): void;
|
|
45
|
+
//# sourceMappingURL=enum-providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-providers.d.ts","sourceRoot":"","sources":["../../src/tools/enum-providers.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;AAuB5C,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAM9E;AAGD,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DjC,CAAC;AAEX,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QA6JnF"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { debugLogWithTag } from '../logger.js';
|
|
3
|
+
const TOOL_GET_ENUM_PROVIDER_BY_ATTRIBUTE = 'cplace_get_enum_provider_by_attribute';
|
|
4
|
+
const TOOL_MANAGE_ENUM_PROVIDER = 'cplace_manage_enum_provider';
|
|
5
|
+
const TOOL_DELETE_ENUM_PROVIDER = 'cplace_delete_enum_provider';
|
|
6
|
+
const SCRIPT_PARAMETER_DESCRIPTION = 'โ ๏ธ REQUIRED for create: Review cplace Low-Code documentation before writing enum provider scripts (https://docs.cplace.io/lowcode/features/enumeration-provider/). ' +
|
|
7
|
+
'The script must end with a top-level return of an object containing a mandatory enumOptions() function that returns an array of options. ' +
|
|
8
|
+
"Each option is a plain value ('alpha') or an object { value: 'alpha', name: { en: 'Alpha' }, icon: 'fa-flag' } (name accepts a string or a localized object; icon is optional). " +
|
|
9
|
+
'Optional functions: filterByValues(ownerEntity) โ narrows the visible options per entity at display time. ' +
|
|
10
|
+
"triggerEntities() โ returns an array of entity UIDs (e.g. 'page/<id>'); when any of those entities is created, updated, or deleted, cplace automatically re-runs enumOptions() and replaces the stored options. " +
|
|
11
|
+
"systemTriggers() โ returns an array of 'SPACES' | 'TYPES' | 'ATTRIBUTES' (case-insensitive) to re-run enumOptions() whenever any workspace, type definition, or attribute definition changes. " +
|
|
12
|
+
'Both trigger functions are evaluated and registered when the script is saved; invalid UIDs or unknown system-trigger values make the save fail. ' +
|
|
13
|
+
'Without them, the stored options only refresh on script save or via cplace.actions().updateEnumOptions(...). Triggers affect enumOptions() only โ never filterByValues().';
|
|
14
|
+
export function formatEnumProviderError(prefix, error) {
|
|
15
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
16
|
+
if (message.includes('(Status: 404)')) {
|
|
17
|
+
return `${prefix}: ${message}\nThis may mean the cplace instance does not yet support enum provider endpoints. Check with cplace_check_version_compatibility.`;
|
|
18
|
+
}
|
|
19
|
+
return `${prefix}: ${message}`;
|
|
20
|
+
}
|
|
21
|
+
export const ENUM_PROVIDER_TOOL_DEFINITIONS = {
|
|
22
|
+
[TOOL_GET_ENUM_PROVIDER_BY_ATTRIBUTE]: {
|
|
23
|
+
description: 'Retrieves the low-code enumeration provider script and metadata for a textEnumeration or numberEnumeration attribute, including the currently stored enumeration options (values, labels, icons). ' +
|
|
24
|
+
'Returns workspace, type, and attribute context; the elements are returned even when no provider exists. ' +
|
|
25
|
+
'Not related to the Java-class DynamicEnumerationProvider used by dynamicEnumeration attributes.',
|
|
26
|
+
inputSchema: {
|
|
27
|
+
workspaceId: z.string().describe("The workspace identifier (e.g., 'abc123')"),
|
|
28
|
+
typeInternalName: z
|
|
29
|
+
.string()
|
|
30
|
+
.describe("The internal name of the type definition (e.g., 'cf.example.task')"),
|
|
31
|
+
attributeName: z.string().describe("The name of the attribute (e.g., 'taskCategory')"),
|
|
32
|
+
},
|
|
33
|
+
annotations: { title: 'Get Enum Provider by Attribute' },
|
|
34
|
+
},
|
|
35
|
+
[TOOL_MANAGE_ENUM_PROVIDER]: {
|
|
36
|
+
description: 'Create or update a low-code enumeration provider script on a textEnumeration or numberEnumeration attribute. ' +
|
|
37
|
+
'The script must return an object with a mandatory enumOptions() function โ its result REPLACES the stored enumeration options on save, and the response includes the computed options for verification. ' +
|
|
38
|
+
'Optional functions: filterByValues(ownerEntity) (narrows the visible options per entity at display time โ not reflected in the computed options), triggerEntities(), systemTriggers(). ' +
|
|
39
|
+
'Invalid scripts are rejected on save with a specific validation message. ' +
|
|
40
|
+
'Setting enabled: false disables the provider without deleting it (current options stay unchanged); re-enabling recomputes the options. ' +
|
|
41
|
+
'Only for low-code ENUM_PROVIDER scripts โ not the Java-class DynamicEnumerationProvider.',
|
|
42
|
+
inputSchema: {
|
|
43
|
+
operation: z
|
|
44
|
+
.enum(['create', 'update'])
|
|
45
|
+
.describe("Operation type: 'create' for new enum providers, 'update' for existing enum providers"),
|
|
46
|
+
workspaceId: z.string().describe("Required: Target workspace identifier (e.g., 'abc123')"),
|
|
47
|
+
typeInternalName: z
|
|
48
|
+
.string()
|
|
49
|
+
.describe("Required: Target type internal name (e.g., 'cf.example.task')"),
|
|
50
|
+
attributeName: z.string().describe("Required: Target attribute name (e.g., 'taskCategory')"),
|
|
51
|
+
script: z.string().optional().describe(SCRIPT_PARAMETER_DESCRIPTION),
|
|
52
|
+
enabled: z
|
|
53
|
+
.boolean()
|
|
54
|
+
.optional()
|
|
55
|
+
.describe('Whether the provider is active. Disabled providers are skipped; the current enumeration options remain unchanged. Defaults to true on create.'),
|
|
56
|
+
description: z
|
|
57
|
+
.string()
|
|
58
|
+
.optional()
|
|
59
|
+
.describe('Optional: Human-readable description of the enum provider'),
|
|
60
|
+
},
|
|
61
|
+
annotations: { title: 'Manage Enum Provider' },
|
|
62
|
+
},
|
|
63
|
+
[TOOL_DELETE_ENUM_PROVIDER]: {
|
|
64
|
+
description: 'Removes the low-code enumeration provider script from an attribute. The last computed enumeration options remain as a static list; the attribute becomes a normal static enumeration. ' +
|
|
65
|
+
'To temporarily turn a provider off without losing the script, use cplace_manage_enum_provider with enabled: false instead.',
|
|
66
|
+
inputSchema: {
|
|
67
|
+
workspaceId: z.string().describe("The workspace identifier (e.g., 'abc123')"),
|
|
68
|
+
typeInternalName: z
|
|
69
|
+
.string()
|
|
70
|
+
.describe("The internal name of the type definition (e.g., 'cf.example.task')"),
|
|
71
|
+
attributeName: z
|
|
72
|
+
.string()
|
|
73
|
+
.describe("The name of the attribute whose enum provider to delete (e.g., 'taskCategory')"),
|
|
74
|
+
},
|
|
75
|
+
annotations: { title: 'Delete Enum Provider' },
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
export function registerEnumProviderTools(server, client) {
|
|
79
|
+
server.registerTool(TOOL_GET_ENUM_PROVIDER_BY_ATTRIBUTE, ENUM_PROVIDER_TOOL_DEFINITIONS[TOOL_GET_ENUM_PROVIDER_BY_ATTRIBUTE], async ({ workspaceId, typeInternalName, attributeName }) => {
|
|
80
|
+
try {
|
|
81
|
+
const result = await client.makeApiRequest('json/enum-provider', 'GET', {
|
|
82
|
+
workspaceId,
|
|
83
|
+
typeInternalName,
|
|
84
|
+
attributeName,
|
|
85
|
+
});
|
|
86
|
+
return {
|
|
87
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
return {
|
|
92
|
+
content: [
|
|
93
|
+
{
|
|
94
|
+
type: 'text',
|
|
95
|
+
text: formatEnumProviderError('Error retrieving enum provider', error),
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
isError: true,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
server.registerTool(TOOL_MANAGE_ENUM_PROVIDER, ENUM_PROVIDER_TOOL_DEFINITIONS[TOOL_MANAGE_ENUM_PROVIDER], async (params) => {
|
|
103
|
+
try {
|
|
104
|
+
if (params.operation === 'create') {
|
|
105
|
+
if (!params.script) {
|
|
106
|
+
return {
|
|
107
|
+
content: [
|
|
108
|
+
{ type: 'text', text: 'Error: Create operation requires script parameter' },
|
|
109
|
+
],
|
|
110
|
+
isError: true,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
const requestBody = {
|
|
114
|
+
workspaceId: params.workspaceId,
|
|
115
|
+
typeInternalName: params.typeInternalName,
|
|
116
|
+
attributeName: params.attributeName,
|
|
117
|
+
script: params.script,
|
|
118
|
+
};
|
|
119
|
+
if (params.enabled !== undefined) {
|
|
120
|
+
requestBody.enabled = params.enabled;
|
|
121
|
+
}
|
|
122
|
+
if (params.description) {
|
|
123
|
+
requestBody.description = params.description;
|
|
124
|
+
}
|
|
125
|
+
const result = await client.makeApiRequest('json/enum-provider', 'POST', undefined, requestBody);
|
|
126
|
+
return {
|
|
127
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
const requestBody = {
|
|
132
|
+
workspaceId: params.workspaceId,
|
|
133
|
+
typeInternalName: params.typeInternalName,
|
|
134
|
+
attributeName: params.attributeName,
|
|
135
|
+
};
|
|
136
|
+
if (params.script !== undefined) {
|
|
137
|
+
requestBody.script = params.script;
|
|
138
|
+
}
|
|
139
|
+
if (params.enabled !== undefined) {
|
|
140
|
+
requestBody.enabled = params.enabled;
|
|
141
|
+
}
|
|
142
|
+
if (params.description !== undefined) {
|
|
143
|
+
requestBody.description = params.description;
|
|
144
|
+
}
|
|
145
|
+
const result = await client.makeApiRequest('json/enum-provider', 'PATCH', undefined, requestBody);
|
|
146
|
+
return {
|
|
147
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
const operationText = params.operation === 'create' ? 'creating' : 'updating';
|
|
153
|
+
return {
|
|
154
|
+
content: [
|
|
155
|
+
{
|
|
156
|
+
type: 'text',
|
|
157
|
+
text: formatEnumProviderError(`Error ${operationText} enum provider`, error),
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
isError: true,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
server.registerTool(TOOL_DELETE_ENUM_PROVIDER, ENUM_PROVIDER_TOOL_DEFINITIONS[TOOL_DELETE_ENUM_PROVIDER], async ({ workspaceId, typeInternalName, attributeName }) => {
|
|
165
|
+
debugLogWithTag('ENUM_PROVIDER_DELETE', `Deleting enum provider for attribute '${attributeName}' on type '${typeInternalName}'`);
|
|
166
|
+
try {
|
|
167
|
+
const result = await client.makeApiRequest('json/enum-provider', 'DELETE', {
|
|
168
|
+
workspaceId,
|
|
169
|
+
typeInternalName,
|
|
170
|
+
attributeName,
|
|
171
|
+
});
|
|
172
|
+
debugLogWithTag('ENUM_PROVIDER_DELETE', `Successfully deleted enum provider for attribute '${attributeName}'`);
|
|
173
|
+
return {
|
|
174
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
return {
|
|
179
|
+
content: [
|
|
180
|
+
{
|
|
181
|
+
type: 'text',
|
|
182
|
+
text: formatEnumProviderError('Error deleting enum provider', error),
|
|
183
|
+
},
|
|
184
|
+
],
|
|
185
|
+
isError: true,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=enum-providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-providers.js","sourceRoot":"","sources":["../../src/tools/enum-providers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED