@ibm/ibmi-mcp-server 0.3.0 → 0.3.2
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 +116 -0
- package/dist/config/index.d.ts +12 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +52 -0
- package/dist/config/index.js.map +1 -1
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts +3 -2
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js +10 -9
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js.map +1 -1
- package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts +52 -9
- package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/services/baseConnectionPool.js +177 -17
- package/dist/ibmi-mcp-server/services/baseConnectionPool.js.map +1 -1
- package/dist/ibmi-mcp-server/services/sourceManager.d.ts +12 -4
- package/dist/ibmi-mcp-server/services/sourceManager.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/services/sourceManager.js +16 -5
- package/dist/ibmi-mcp-server/services/sourceManager.js.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolFactory.js +8 -1
- package/dist/ibmi-mcp-server/utils/config/toolFactory.js.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolProcessor.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolProcessor.js +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolProcessor.js.map +1 -1
- package/dist/index.js +30 -19
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.js +13 -2
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
- package/dist/utils/security/rateLimiter.d.ts +2 -1
- package/dist/utils/security/rateLimiter.d.ts.map +1 -1
- package/dist/utils/security/rateLimiter.js +6 -4
- package/dist/utils/security/rateLimiter.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,6 +10,7 @@ import { ErrorHandler, logger } from "../../utils/internal/index.js";
|
|
|
10
10
|
import { requestContextService, } from "../../utils/internal/requestContext.js";
|
|
11
11
|
import { JsonRpcErrorCode, McpError } from "../../types-global/errors.js";
|
|
12
12
|
import { SqlSecurityValidator } from "../utils/security/sqlSecurityValidator.js";
|
|
13
|
+
import { config } from "../../config/index.js";
|
|
13
14
|
/**
|
|
14
15
|
* Base connection pool manager that provides shared functionality
|
|
15
16
|
* for all IBM i connection pools in the application
|
|
@@ -17,20 +18,27 @@ import { SqlSecurityValidator } from "../utils/security/sqlSecurityValidator.js"
|
|
|
17
18
|
export class BaseConnectionPool {
|
|
18
19
|
pools = new Map();
|
|
19
20
|
initializationPromises = new Map();
|
|
21
|
+
idleCheckInterval = null;
|
|
22
|
+
/** Registry of all BaseConnectionPool instances for coordinated shutdown */
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
+
static instances = new Set();
|
|
25
|
+
constructor() {
|
|
26
|
+
BaseConnectionPool.instances.add(this);
|
|
27
|
+
}
|
|
20
28
|
/**
|
|
21
29
|
* Create a daemon server configuration from connection config
|
|
22
30
|
* @param config - Connection configuration
|
|
23
31
|
* @param context - Request context for logging
|
|
24
32
|
*/
|
|
25
|
-
async createDaemonServer(
|
|
33
|
+
async createDaemonServer(poolConfig, context) {
|
|
26
34
|
const server = {
|
|
27
|
-
host:
|
|
28
|
-
user:
|
|
29
|
-
password:
|
|
30
|
-
rejectUnauthorized: !(
|
|
35
|
+
host: poolConfig.host,
|
|
36
|
+
user: poolConfig.user,
|
|
37
|
+
password: poolConfig.password,
|
|
38
|
+
rejectUnauthorized: !(poolConfig.ignoreUnauthorized ?? true),
|
|
31
39
|
};
|
|
32
40
|
// Get SSL certificate if needed
|
|
33
|
-
if (!(
|
|
41
|
+
if (!(poolConfig.ignoreUnauthorized ?? true)) {
|
|
34
42
|
logger.debug(context, "Fetching SSL certificate for secure connection");
|
|
35
43
|
server.ca = await getRootCertificate(server);
|
|
36
44
|
}
|
|
@@ -39,10 +47,10 @@ export class BaseConnectionPool {
|
|
|
39
47
|
/**
|
|
40
48
|
* Initialize a connection pool for the given identifier
|
|
41
49
|
* @param poolId - Unique identifier for the pool
|
|
42
|
-
* @param
|
|
50
|
+
* @param poolConfig - Connection configuration
|
|
43
51
|
* @param context - Request context for logging
|
|
44
52
|
*/
|
|
45
|
-
async initializePool(poolId,
|
|
53
|
+
async initializePool(poolId, poolConfig, context) {
|
|
46
54
|
// Check if there's already an initialization in progress
|
|
47
55
|
const existingPromise = this.initializationPromises.get(poolId);
|
|
48
56
|
if (existingPromise) {
|
|
@@ -56,7 +64,8 @@ export class BaseConnectionPool {
|
|
|
56
64
|
isInitialized: false,
|
|
57
65
|
isConnecting: false,
|
|
58
66
|
healthStatus: "unknown",
|
|
59
|
-
config,
|
|
67
|
+
config: poolConfig,
|
|
68
|
+
lastActivityAt: new Date(),
|
|
60
69
|
};
|
|
61
70
|
this.pools.set(poolId, poolState);
|
|
62
71
|
}
|
|
@@ -114,6 +123,9 @@ export class BaseConnectionPool {
|
|
|
114
123
|
poolState.isInitialized = true;
|
|
115
124
|
poolState.healthStatus = "healthy";
|
|
116
125
|
poolState.lastHealthCheck = new Date();
|
|
126
|
+
poolState.lastActivityAt = new Date();
|
|
127
|
+
// Start idle timer (idempotent — safe to call on every init)
|
|
128
|
+
this.startIdleTimer();
|
|
117
129
|
logger.info(context, `Connection pool initialized successfully: ${String(poolId).substring(0, 7)}***`);
|
|
118
130
|
}
|
|
119
131
|
catch (error) {
|
|
@@ -132,6 +144,109 @@ export class BaseConnectionPool {
|
|
|
132
144
|
poolState.isConnecting = false;
|
|
133
145
|
}
|
|
134
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Wrap a promise with a configurable timeout.
|
|
149
|
+
* On timeout: marks pool unhealthy, closes it async so next request re-inits.
|
|
150
|
+
* If queryTimeoutMs <= 0, passes through without timeout (disabled).
|
|
151
|
+
*/
|
|
152
|
+
async executeWithTimeout(poolId, promise, context) {
|
|
153
|
+
const timeoutMs = config.poolTimeouts.queryTimeoutMs;
|
|
154
|
+
if (timeoutMs <= 0) {
|
|
155
|
+
return promise;
|
|
156
|
+
}
|
|
157
|
+
let timer;
|
|
158
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
159
|
+
timer = setTimeout(() => {
|
|
160
|
+
reject(new McpError(JsonRpcErrorCode.Timeout, `Query timed out after ${timeoutMs}ms on pool '${String(poolId)}'. The connection may be stale. Pool will be re-initialized on the next request.`, { poolId: String(poolId), timeoutMs }));
|
|
161
|
+
}, timeoutMs);
|
|
162
|
+
});
|
|
163
|
+
try {
|
|
164
|
+
return await Promise.race([promise, timeoutPromise]);
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
// If it's our timeout error, mark pool unhealthy and close it
|
|
168
|
+
if (error instanceof McpError && error.code === JsonRpcErrorCode.Timeout) {
|
|
169
|
+
const poolState = this.pools.get(poolId);
|
|
170
|
+
if (poolState) {
|
|
171
|
+
poolState.healthStatus = "unhealthy";
|
|
172
|
+
}
|
|
173
|
+
logger.error({ ...context, timeoutMs, poolId: String(poolId) }, `Query timed out on pool '${String(poolId)}'. Closing pool for re-initialization.`);
|
|
174
|
+
// Close pool async — don't await, let it clean up in background
|
|
175
|
+
this.closePool(poolId, context).catch(() => {
|
|
176
|
+
// best-effort
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
throw error;
|
|
180
|
+
}
|
|
181
|
+
finally {
|
|
182
|
+
clearTimeout(timer);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Start the idle pool check timer. Idempotent — safe to call multiple times.
|
|
187
|
+
* Uses interval of max(10s, timeout/2) following existing StatefulTransportManager pattern.
|
|
188
|
+
* If idleTimeoutMs <= 0, this is a no-op (disabled).
|
|
189
|
+
*/
|
|
190
|
+
startIdleTimer() {
|
|
191
|
+
const idleTimeoutMs = config.poolTimeouts.idleTimeoutMs;
|
|
192
|
+
if (idleTimeoutMs <= 0 || this.idleCheckInterval) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const checkIntervalMs = Math.max(10_000, Math.floor(idleTimeoutMs / 2));
|
|
196
|
+
this.idleCheckInterval = setInterval(() => {
|
|
197
|
+
this.closeIdlePools();
|
|
198
|
+
}, checkIntervalMs);
|
|
199
|
+
// Don't let the timer prevent process exit
|
|
200
|
+
this.idleCheckInterval.unref();
|
|
201
|
+
logger.info(requestContextService.createRequestContext({
|
|
202
|
+
operation: "StartIdleTimer",
|
|
203
|
+
}), `Pool idle timer started: checking every ${checkIntervalMs}ms, closing pools idle for ${idleTimeoutMs}ms`);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Stop the idle pool check timer. Called during shutdown.
|
|
207
|
+
*/
|
|
208
|
+
stopIdleTimer() {
|
|
209
|
+
if (this.idleCheckInterval) {
|
|
210
|
+
clearInterval(this.idleCheckInterval);
|
|
211
|
+
this.idleCheckInterval = null;
|
|
212
|
+
logger.debug(requestContextService.createRequestContext({
|
|
213
|
+
operation: "StopIdleTimer",
|
|
214
|
+
}), "Pool idle timer stopped");
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Close pools that have been idle longer than the configured timeout.
|
|
219
|
+
* The existing lazy-init path in executeQuery() will re-initialize on next use.
|
|
220
|
+
*/
|
|
221
|
+
closeIdlePools() {
|
|
222
|
+
const idleTimeoutMs = config.poolTimeouts.idleTimeoutMs;
|
|
223
|
+
if (idleTimeoutMs <= 0) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const now = Date.now();
|
|
227
|
+
let context;
|
|
228
|
+
for (const [poolId, poolState] of this.pools.entries()) {
|
|
229
|
+
if (!poolState.isInitialized || !poolState.pool) {
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
const idleDuration = now - poolState.lastActivityAt.getTime();
|
|
233
|
+
if (idleDuration > idleTimeoutMs) {
|
|
234
|
+
context ??= requestContextService.createRequestContext({
|
|
235
|
+
operation: "CloseIdlePools",
|
|
236
|
+
});
|
|
237
|
+
logger.info({
|
|
238
|
+
...context,
|
|
239
|
+
poolId: String(poolId),
|
|
240
|
+
idleDurationMs: idleDuration,
|
|
241
|
+
idleTimeoutMs,
|
|
242
|
+
}, `Closing idle pool '${String(poolId)}' (idle for ${Math.round(idleDuration / 1000)}s)`);
|
|
243
|
+
// Close async — don't block the interval
|
|
244
|
+
this.closePool(poolId, context).catch(() => {
|
|
245
|
+
// best-effort
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
135
250
|
/**
|
|
136
251
|
* Execute a SQL query on a specific pool
|
|
137
252
|
* @param poolId - Pool identifier
|
|
@@ -194,9 +309,9 @@ export class BaseConnectionPool {
|
|
|
194
309
|
if (securityConfig) {
|
|
195
310
|
SqlSecurityValidator.validateQuery(query, securityConfig, operationContext);
|
|
196
311
|
}
|
|
197
|
-
const result = await poolState.pool.execute(query, {
|
|
312
|
+
const result = await this.executeWithTimeout(poolId, poolState.pool.execute(query, {
|
|
198
313
|
parameters: params,
|
|
199
|
-
});
|
|
314
|
+
}), operationContext);
|
|
200
315
|
logger.debug({
|
|
201
316
|
...operationContext,
|
|
202
317
|
rowCount: result.data?.length || 0,
|
|
@@ -204,9 +319,10 @@ export class BaseConnectionPool {
|
|
|
204
319
|
sqlReturnCode: result.sql_rc,
|
|
205
320
|
executionTime: result.execution_time,
|
|
206
321
|
}, `Query executed successfully on pool: ${String(poolId)}`);
|
|
207
|
-
// Update health status on successful query
|
|
322
|
+
// Update health status and activity timestamp on successful query
|
|
208
323
|
poolState.healthStatus = "healthy";
|
|
209
324
|
poolState.lastHealthCheck = new Date();
|
|
325
|
+
poolState.lastActivityAt = new Date();
|
|
210
326
|
return result;
|
|
211
327
|
}, {
|
|
212
328
|
operation: "ExecuteQuery",
|
|
@@ -251,8 +367,8 @@ export class BaseConnectionPool {
|
|
|
251
367
|
}, "Executing SQL query with pagination");
|
|
252
368
|
// Create query object with parameters
|
|
253
369
|
const queryObj = poolState.pool.query(query, { parameters: params });
|
|
254
|
-
// Execute initial query
|
|
255
|
-
let result = await queryObj.execute();
|
|
370
|
+
// Execute initial query — wrap with timeout to catch stale connections
|
|
371
|
+
let result = await this.executeWithTimeout(poolId, queryObj.execute(), operationContext);
|
|
256
372
|
const allData = [];
|
|
257
373
|
if (result.success && result.data) {
|
|
258
374
|
allData.push(...result.data);
|
|
@@ -282,6 +398,8 @@ export class BaseConnectionPool {
|
|
|
282
398
|
sqlReturnCode: result.sql_rc,
|
|
283
399
|
executionTime: result.execution_time,
|
|
284
400
|
}, "Paginated query completed");
|
|
401
|
+
// Update activity timestamp on successful paginated query
|
|
402
|
+
poolState.lastActivityAt = new Date();
|
|
285
403
|
return {
|
|
286
404
|
data: allData,
|
|
287
405
|
success: result.success,
|
|
@@ -319,6 +437,7 @@ export class BaseConnectionPool {
|
|
|
319
437
|
status: "unknown",
|
|
320
438
|
initialized: false,
|
|
321
439
|
connecting: poolState.isConnecting,
|
|
440
|
+
lastActivity: poolState.lastActivityAt,
|
|
322
441
|
};
|
|
323
442
|
}
|
|
324
443
|
// Execute a simple query to test connection
|
|
@@ -331,6 +450,7 @@ export class BaseConnectionPool {
|
|
|
331
450
|
lastCheck: poolState.lastHealthCheck,
|
|
332
451
|
initialized: true,
|
|
333
452
|
connecting: false,
|
|
453
|
+
lastActivity: poolState.lastActivityAt,
|
|
334
454
|
};
|
|
335
455
|
}
|
|
336
456
|
catch (error) {
|
|
@@ -346,6 +466,7 @@ export class BaseConnectionPool {
|
|
|
346
466
|
lastCheck: new Date(),
|
|
347
467
|
initialized: poolState.isInitialized,
|
|
348
468
|
connecting: poolState.isConnecting,
|
|
469
|
+
lastActivity: poolState.lastActivityAt,
|
|
349
470
|
};
|
|
350
471
|
}
|
|
351
472
|
}
|
|
@@ -379,9 +500,6 @@ export class BaseConnectionPool {
|
|
|
379
500
|
}, `Error closing connection pool: ${String(poolId)}`);
|
|
380
501
|
}
|
|
381
502
|
}
|
|
382
|
-
/**
|
|
383
|
-
* Close all connection pools gracefully
|
|
384
|
-
|
|
385
503
|
/**
|
|
386
504
|
* Close all connection pools gracefully
|
|
387
505
|
* @param context - Request context for logging
|
|
@@ -398,6 +516,45 @@ export class BaseConnectionPool {
|
|
|
398
516
|
closedCount: results.length,
|
|
399
517
|
}, "All connection pools closed");
|
|
400
518
|
}
|
|
519
|
+
/**
|
|
520
|
+
* Graceful shutdown for this pool instance.
|
|
521
|
+
* Stops the idle timer and closes all connections.
|
|
522
|
+
* Subclasses may override to clean up additional state.
|
|
523
|
+
* @param context - Request context for logging
|
|
524
|
+
*/
|
|
525
|
+
async shutdown(context) {
|
|
526
|
+
this.stopIdleTimer();
|
|
527
|
+
await this.closeAllPools(context);
|
|
528
|
+
}
|
|
529
|
+
/**
|
|
530
|
+
* Shut down all registered BaseConnectionPool instances.
|
|
531
|
+
* Each instance's shutdown() is called via Promise.allSettled
|
|
532
|
+
* so one failure does not prevent others from closing.
|
|
533
|
+
* @param context - Request context for logging
|
|
534
|
+
*/
|
|
535
|
+
static async shutdownAll(context) {
|
|
536
|
+
const operationContext = context ||
|
|
537
|
+
requestContextService.createRequestContext({
|
|
538
|
+
operation: "ShutdownAllPools",
|
|
539
|
+
});
|
|
540
|
+
const instances = Array.from(BaseConnectionPool.instances);
|
|
541
|
+
if (instances.length === 0) {
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
544
|
+
logger.info({ ...operationContext, poolCount: instances.length }, `Shutting down ${instances.length} connection pool(s)`);
|
|
545
|
+
const results = await Promise.allSettled(instances.map((instance) => instance.shutdown(operationContext)));
|
|
546
|
+
for (const result of results) {
|
|
547
|
+
if (result.status === "rejected") {
|
|
548
|
+
logger.error({
|
|
549
|
+
...operationContext,
|
|
550
|
+
error: result.reason instanceof Error
|
|
551
|
+
? result.reason.message
|
|
552
|
+
: String(result.reason),
|
|
553
|
+
}, "Error during pool instance shutdown");
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
BaseConnectionPool.instances.clear();
|
|
557
|
+
}
|
|
401
558
|
/**
|
|
402
559
|
* Get status of a specific pool
|
|
403
560
|
* @param poolId - Pool identifier
|
|
@@ -411,6 +568,7 @@ export class BaseConnectionPool {
|
|
|
411
568
|
initialized: poolState.isInitialized,
|
|
412
569
|
connecting: poolState.isConnecting,
|
|
413
570
|
healthStatus: poolState.healthStatus,
|
|
571
|
+
lastActivityAt: poolState.lastActivityAt,
|
|
414
572
|
};
|
|
415
573
|
}
|
|
416
574
|
/**
|
|
@@ -423,8 +581,10 @@ export class BaseConnectionPool {
|
|
|
423
581
|
* Clear all pools (for testing)
|
|
424
582
|
*/
|
|
425
583
|
clearAllPools() {
|
|
584
|
+
this.stopIdleTimer();
|
|
426
585
|
this.pools.clear();
|
|
427
586
|
this.initializationPromises.clear();
|
|
587
|
+
BaseConnectionPool.instances.delete(this);
|
|
428
588
|
}
|
|
429
589
|
}
|
|
430
590
|
//# sourceMappingURL=baseConnectionPool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseConnectionPool.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/baseConnectionPool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"baseConnectionPool.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/baseConnectionPool.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { BindingValue, QueryResult } from "@ibm/mapepire-js";
|
|
8
8
|
import { SourceConfig, SqlToolSecurityConfig } from "../schemas/index.js";
|
|
9
9
|
import { RequestContext } from "../../utils/internal/requestContext.js";
|
|
10
|
-
import { BaseConnectionPool, PoolHealth } from "./baseConnectionPool.js";
|
|
10
|
+
import { BaseConnectionPool, PoolHealth, PoolHealthStatus } from "./baseConnectionPool.js";
|
|
11
11
|
/**
|
|
12
12
|
* Source health information
|
|
13
13
|
*/
|
|
@@ -62,17 +62,25 @@ export declare class SourceManager extends BaseConnectionPool<string> {
|
|
|
62
62
|
* @param context - Request context for logging
|
|
63
63
|
*/
|
|
64
64
|
closeAllSources(context?: RequestContext): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Graceful shutdown: close all pools and clear source configs.
|
|
67
|
+
* @param context - Request context for logging
|
|
68
|
+
*/
|
|
69
|
+
shutdown(context?: RequestContext): Promise<void>;
|
|
65
70
|
/**
|
|
66
71
|
* Get list of registered source names
|
|
67
72
|
*/
|
|
68
73
|
getRegisteredSources(): string[];
|
|
69
74
|
/**
|
|
70
|
-
* Get
|
|
75
|
+
* Get a lightweight health summary for all sources.
|
|
76
|
+
* Reads cached pool state only — no SQL queries executed.
|
|
77
|
+
* Suitable for health probe endpoints.
|
|
71
78
|
*/
|
|
72
|
-
|
|
79
|
+
getHealthSummary(): Record<string, {
|
|
73
80
|
initialized: boolean;
|
|
74
81
|
connecting: boolean;
|
|
75
|
-
healthStatus:
|
|
82
|
+
healthStatus: PoolHealthStatus;
|
|
83
|
+
lastActivityAt?: Date;
|
|
76
84
|
}>;
|
|
77
85
|
/**
|
|
78
86
|
* Clear all registered sources (for testing)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceManager.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/sourceManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAEL,cAAc,EACf,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,kBAAkB,EAElB,UAAU,
|
|
1
|
+
{"version":3,"file":"sourceManager.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/sourceManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAEL,cAAc,EACf,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,kBAAkB,EAElB,UAAU,EACV,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA4B;IACnD,OAAO,CAAC,aAAa,CAAwC;IAE7D;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC;;;;;OAKG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAuDhB;;;;;;OAMG;IACG,YAAY,CAAC,CAAC,GAAG,OAAO,EAC5B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,YAAY,EAAE,EACvB,OAAO,CAAC,EAAE,cAAc,EACxB,cAAc,CAAC,EAAE,qBAAqB,GACrC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAU1B;;;;OAIG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,YAAY,CAAC;IAQxB;;;OAGG;IACG,mBAAmB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAc5E;;;;OAIG;IACG,WAAW,CACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAMhB;;;OAGG;IACG,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9D;;;OAGG;IACG,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvD;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAIhC;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,CACxB,MAAM,EACN;QACE,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,gBAAgB,CAAC;QAC/B,cAAc,CAAC,EAAE,IAAI,CAAC;KACvB,CACF;IAqBD;;OAEG;IACH,eAAe,IAAI,IAAI;CAIxB"}
|
|
@@ -60,6 +60,7 @@ export class SourceManager extends BaseConnectionPool {
|
|
|
60
60
|
isConnecting: false,
|
|
61
61
|
healthStatus: "unknown",
|
|
62
62
|
config: poolConfig,
|
|
63
|
+
lastActivityAt: new Date(),
|
|
63
64
|
});
|
|
64
65
|
logger.info(operationContext, `Source registered successfully: ${sourceName}`);
|
|
65
66
|
}, {
|
|
@@ -121,6 +122,14 @@ export class SourceManager extends BaseConnectionPool {
|
|
|
121
122
|
// Clean up all source configs
|
|
122
123
|
this.sourceConfigs.clear();
|
|
123
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Graceful shutdown: close all pools and clear source configs.
|
|
127
|
+
* @param context - Request context for logging
|
|
128
|
+
*/
|
|
129
|
+
async shutdown(context) {
|
|
130
|
+
await super.shutdown(context);
|
|
131
|
+
this.sourceConfigs.clear();
|
|
132
|
+
}
|
|
124
133
|
/**
|
|
125
134
|
* Get list of registered source names
|
|
126
135
|
*/
|
|
@@ -128,17 +137,19 @@ export class SourceManager extends BaseConnectionPool {
|
|
|
128
137
|
return this.getRegisteredPools();
|
|
129
138
|
}
|
|
130
139
|
/**
|
|
131
|
-
* Get
|
|
140
|
+
* Get a lightweight health summary for all sources.
|
|
141
|
+
* Reads cached pool state only — no SQL queries executed.
|
|
142
|
+
* Suitable for health probe endpoints.
|
|
132
143
|
*/
|
|
133
|
-
|
|
134
|
-
const
|
|
144
|
+
getHealthSummary() {
|
|
145
|
+
const summary = {};
|
|
135
146
|
for (const sourceName of this.getRegisteredPools()) {
|
|
136
147
|
const poolStatus = this.getPoolStatus(sourceName);
|
|
137
148
|
if (poolStatus) {
|
|
138
|
-
|
|
149
|
+
summary[sourceName] = poolStatus;
|
|
139
150
|
}
|
|
140
151
|
}
|
|
141
|
-
return
|
|
152
|
+
return summary;
|
|
142
153
|
}
|
|
143
154
|
/**
|
|
144
155
|
* Clear all registered sources (for testing)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceManager.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/sourceManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,qBAAqB,GAEtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"sourceManager.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/sourceManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolFactory.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/toolFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAEL,cAAc,EACf,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"toolFactory.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/toolFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAEL,cAAc,EACf,MAAM,oCAAoC,CAAC;AAO5C;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAgB;IAE5C;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAWrD;;;;;;;;;;OAUG;WACU,8BAA8B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,oBAAoB,GAAE,gBAAgB,EAAO,EAC7C,OAAO,CAAC,EAAE,cAAc,EACxB,cAAc,CAAC,EAAE,qBAAqB,GACrC,OAAO,CAAC,sBAAsB,CAAC;IA2LlC;;;;;;;;;;OAUG;mBACkB,sBAAsB;IA0D3C;;;OAGG;IACH,MAAM,CAAC,aAAa,IAAI,OAAO;IAI/B;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,IAAI,aAAa,GAAG,SAAS;CAGrD"}
|
|
@@ -10,6 +10,7 @@ import { requestContextService, } from "../../../utils/internal/requestContext.j
|
|
|
10
10
|
import { JsonRpcErrorCode, McpError } from "../../../types-global/errors.js";
|
|
11
11
|
import { ParameterProcessor } from "../sql/parameterProcessor.js";
|
|
12
12
|
import { authContext } from "../../../mcp-server/transports/auth/index.js";
|
|
13
|
+
import { SqlSecurityValidator } from "../security/sqlSecurityValidator.js";
|
|
13
14
|
/**
|
|
14
15
|
* SQL execution engine for YAML-defined tools
|
|
15
16
|
* Handles parameter binding and multi-source query execution
|
|
@@ -113,6 +114,12 @@ export class SQLToolFactory {
|
|
|
113
114
|
}, `SQL used as-is (no parameters defined)`);
|
|
114
115
|
}
|
|
115
116
|
// Execute the query with auth-aware routing
|
|
117
|
+
// SECURITY: Always validate the *runtime* SQL before routing.
|
|
118
|
+
// The authenticated (IBMi token) execution path historically did not
|
|
119
|
+
// receive `securityConfig`, allowing bypass of YAML tool security.
|
|
120
|
+
if (securityConfig) {
|
|
121
|
+
SqlSecurityValidator.validateQuery(processedSql, securityConfig, operationContext);
|
|
122
|
+
}
|
|
116
123
|
const result = await this.executeWithAuthRouting(processedSql, bindingParameters, sourceName, operationContext, securityConfig);
|
|
117
124
|
const executionTime = Date.now() - startTime;
|
|
118
125
|
logger.debug({
|
|
@@ -172,7 +179,7 @@ export class SQLToolFactory {
|
|
|
172
179
|
routingMode: "authenticated",
|
|
173
180
|
}, "Executing SQL via authenticated pool");
|
|
174
181
|
const poolManager = AuthenticatedPoolManager.getInstance();
|
|
175
|
-
return poolManager.executeQuery(authInfo.ibmiToken, sql, parameters, context);
|
|
182
|
+
return poolManager.executeQuery(authInfo.ibmiToken, sql, parameters, context, securityConfig);
|
|
176
183
|
}
|
|
177
184
|
else {
|
|
178
185
|
// Fall back to regular source manager (environment credentials)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolFactory.js","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/toolFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAMtF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,qBAAqB,GAEtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"toolFactory.js","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/toolFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolProcessor.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/toolProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,OAAO,EAEL,cAAc,EACf,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAEL,gBAAgB,EAEhB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOxD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,KAAK,CAAC,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,WAAW,CAA0B;IAG7C,OAAO,CAAC,MAAM,CAAC,eAAe,CAGhB;IACd,OAAO,CAAC,MAAM,CAAC,cAAc,CAAK;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,MAAM,CAAC,YAAY,CAA0B;;IAQrD;;;OAGG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDzD;;;;OAIG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"toolProcessor.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/toolProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,7 +116,7 @@ export class ToolProcessor {
|
|
|
116
116
|
sourceCount: Object.keys(this.yamlConfig?.sources || {}).length,
|
|
117
117
|
stats: {
|
|
118
118
|
toolsProcessed: this.processedTools.length,
|
|
119
|
-
sourcesRegistered:
|
|
119
|
+
sourcesRegistered: this.sourceManager.getRegisteredSources().length,
|
|
120
120
|
toolsetMappings: this.toolsetManager.getToolsetStats().totalTools,
|
|
121
121
|
},
|
|
122
122
|
};
|