@futdevpro/nts-dynamo 1.15.292 → 1.15.294
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/build/_collections/global-settings.const.d.ts.map +1 -1
- package/build/_collections/global-settings.const.js +1 -0
- package/build/_collections/global-settings.const.js.map +1 -1
- package/build/_models/interfaces/global-settings.interface.d.ts +6 -0
- package/build/_models/interfaces/global-settings.interface.d.ts.map +1 -1
- package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +1 -1
- package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts.map +1 -1
- package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +40 -2
- package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js.map +1 -1
- package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.d.ts +9 -6
- package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.d.ts.map +1 -1
- package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.js +17 -9
- package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.js.map +1 -1
- package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts.map +1 -1
- package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js +9 -8
- package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js.map +1 -1
- package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts +2 -2
- package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts.map +1 -1
- package/build/_modules/discord-bot/_collections/dibo-operations.util.js +40 -2
- package/build/_modules/discord-bot/_collections/dibo-operations.util.js.map +1 -1
- package/build/_modules/discord-bot/_collections/discord-js-range.const.d.ts +6 -0
- package/build/_modules/discord-bot/_collections/discord-js-range.const.d.ts.map +1 -0
- package/build/_modules/discord-bot/_collections/discord-js-range.const.js +9 -0
- package/build/_modules/discord-bot/_collections/discord-js-range.const.js.map +1 -0
- package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts +8 -2
- package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts.map +1 -1
- package/build/_modules/discord-bot/_services/dibo-main.control-service.js +65 -5
- package/build/_modules/discord-bot/_services/dibo-main.control-service.js.map +1 -1
- package/build/_modules/mcp/_collections/mcp-tool-load.util.d.ts +46 -0
- package/build/_modules/mcp/_collections/mcp-tool-load.util.d.ts.map +1 -0
- package/build/_modules/mcp/_collections/mcp-tool-load.util.js +93 -0
- package/build/_modules/mcp/_collections/mcp-tool-load.util.js.map +1 -0
- package/build/_modules/mcp/_enums/mcp-tool-exposure.type-enum.d.ts +14 -0
- package/build/_modules/mcp/_enums/mcp-tool-exposure.type-enum.d.ts.map +1 -0
- package/build/_modules/mcp/_enums/mcp-tool-exposure.type-enum.js +18 -0
- package/build/_modules/mcp/_enums/mcp-tool-exposure.type-enum.js.map +1 -0
- package/build/_modules/mcp/_models/control-models/mcp-tool-params.control-model.d.ts +63 -0
- package/build/_modules/mcp/_models/control-models/mcp-tool-params.control-model.d.ts.map +1 -0
- package/build/_modules/mcp/_models/control-models/mcp-tool-params.control-model.js +115 -0
- package/build/_modules/mcp/_models/control-models/mcp-tool-params.control-model.js.map +1 -0
- package/build/_modules/mcp/_models/interfaces/mcp-settings.interface.d.ts +15 -0
- package/build/_modules/mcp/_models/interfaces/mcp-settings.interface.d.ts.map +1 -0
- package/build/_modules/mcp/_models/interfaces/mcp-settings.interface.js +3 -0
- package/build/_modules/mcp/_models/interfaces/mcp-settings.interface.js.map +1 -0
- package/build/_modules/mcp/index.d.ts +4 -0
- package/build/_modules/mcp/index.d.ts.map +1 -1
- package/build/_modules/mcp/index.js +7 -0
- package/build/_modules/mcp/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyNTS_discordJsRange = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The supported version range of the optional `discord.js` peer - kept in sync with `peerDependencies` in
|
|
6
|
+
* package.json (HP-DOPL MP-0.6).
|
|
7
|
+
*/
|
|
8
|
+
exports.DyNTS_discordJsRange = '~14.24.2';
|
|
9
|
+
//# sourceMappingURL=discord-js-range.const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discord-js-range.const.js","sourceRoot":"","sources":["../../../../src/_modules/discord-bot/_collections/discord-js-range.const.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,oBAAoB,GAAW,UAAU,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Client, Guild, Message, Role, TextChannel } from 'discord.js';
|
|
1
|
+
import type { Client, Guild, Message, Role, TextChannel } from 'discord.js';
|
|
2
2
|
import { DyNTS_SingletonService } from '../../../_services/base/singleton.service';
|
|
3
3
|
import { DyNTS_DiBo_Commands_ControlService } from './dibo-commands.control-service';
|
|
4
4
|
import { DyNTS_DiBo_IO_ControlService } from './dibo-io.control-service';
|
|
@@ -38,7 +38,13 @@ import { DyNTS_DiBo_Routines_ControlService } from './dibo-routines.control-serv
|
|
|
38
38
|
*
|
|
39
39
|
*/
|
|
40
40
|
export declare abstract class DyNTS_DIBO_Main_ControlService extends DyNTS_SingletonService {
|
|
41
|
-
|
|
41
|
+
/** The Discord client - created right after construction, once discord.js is loaded (see `clientReady`). */
|
|
42
|
+
client: Client;
|
|
43
|
+
/**
|
|
44
|
+
* Resolves with the client once the optional discord.js peer is loaded (HP-DOPL MP-0.6). `setup()` and `start()`
|
|
45
|
+
* await it, so the order of a bot is unchanged; a missing discord.js rejects it with `DyNTS-OPT-MIS`.
|
|
46
|
+
*/
|
|
47
|
+
protected readonly clientReady: Promise<Client>;
|
|
42
48
|
private _discordServer;
|
|
43
49
|
get discordServer(): Guild;
|
|
44
50
|
get botClientId(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dibo-main.control-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/discord-bot/_services/dibo-main.control-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dibo-main.control-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/discord-bot/_services/dibo-main.control-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAqB,KAAK,EAA2B,OAAO,EAAY,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWlI,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAuBrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,8BAAsB,8BAA+B,SAAQ,sBAAsB;IAWjF,4GAA4G;IAC5G,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhD,OAAO,CAAC,cAAc,CAAQ;IAC9B,IAAI,aAAa,IAAI,KAAK,CAEzB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IACD,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,SAAS,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,4BAA4B;IAEzE,SAAS,CAAC,WAAW,EAAE,kCAAkC,CAAC;IAC1D,SAAS,CAAC,QAAQ,CAAC,yBAAyB,IAAI,kCAAkC;IAElF,SAAS,CAAC,WAAW,EAAE,kCAAkC,CAAC;IAC1D,SAAS,CAAC,QAAQ,CAAC,yBAAyB,IAAI,kCAAkC;IAElF,OAAO,CAAC,gBAAgB,CAEjB;IAEP,OAAO,CAAC,aAAa,CAEd;IAEP,SAAS,CAAC,QAAQ,UAAS;IAE3B,SAAS,aACP,kBAAkB,CAAC,EAAE,OAAO;IA8BxB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8LpC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCpC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMpD,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ9D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMrC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAS5C,0BAA0B,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IAkDb,YAAY,CAChB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;CAyCjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,wFAAwF;AACxF,OAAO,EAAE,8BAA8B,IAAI,8BAA8B,EAAE,CAAC"}
|
|
@@ -1,13 +1,64 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.DyNTS_DiBo_Main_ControlService = exports.DyNTS_DIBO_Main_ControlService = void 0;
|
|
4
|
-
const discord_js_1 = require("discord.js");
|
|
5
37
|
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
38
|
+
const discord_js_range_const_1 = require("../_collections/discord-js-range.const");
|
|
6
39
|
const dibo_global_settings_conts_1 = require("../_collections/dibo-global-settings.conts");
|
|
7
40
|
const dibo_operations_util_1 = require("../_collections/dibo-operations.util");
|
|
8
41
|
const global_settings_const_1 = require("../../../_collections/global-settings.const");
|
|
42
|
+
const optional_peer_util_1 = require("../../../_collections/optional-peer.util");
|
|
9
43
|
const singleton_service_1 = require("../../../_services/base/singleton.service");
|
|
10
44
|
const global_service_1 = require("../../../_services/core/global.service");
|
|
45
|
+
/**
|
|
46
|
+
* Loads the optional discord.js peer lazily and creates the client with the bot settings (HP-DOPL MP-0.6).
|
|
47
|
+
* Module-level on purpose: the prototype of the service stays unchanged for its consumers.
|
|
48
|
+
* @throws 501 `DyNTS-OPT-MIS` when discord.js is not installed
|
|
49
|
+
*/
|
|
50
|
+
async function DyNTS_DiBo_createClient() {
|
|
51
|
+
const discord = await optional_peer_util_1.DyNTS_OptionalPeer_Util.load({
|
|
52
|
+
packageName: 'discord.js', range: discord_js_range_const_1.DyNTS_discordJsRange, feature: 'the Discord bot',
|
|
53
|
+
importer: () => Promise.resolve().then(() => __importStar(require('discord.js'))),
|
|
54
|
+
});
|
|
55
|
+
const client = new discord.Client({
|
|
56
|
+
intents: global_settings_const_1.DyNTS_global_settings.bot_settings.intents,
|
|
57
|
+
partials: global_settings_const_1.DyNTS_global_settings.bot_settings.partials,
|
|
58
|
+
});
|
|
59
|
+
fsm_dynamo_1.DyFM_Log.success('Discord client initialized');
|
|
60
|
+
return client;
|
|
61
|
+
}
|
|
11
62
|
/**
|
|
12
63
|
* This is the main control service for the Discord Bot.
|
|
13
64
|
*
|
|
@@ -50,7 +101,13 @@ class DyNTS_DIBO_Main_ControlService extends singleton_service_1.DyNTS_Singleton
|
|
|
50
101
|
/* static getInstance(): DyNTS_DiBo_Main_ControlService {
|
|
51
102
|
return DyNTS_DiBo_Main_ControlService.getSingletonInstance();
|
|
52
103
|
} */
|
|
104
|
+
/** The Discord client - created right after construction, once discord.js is loaded (see `clientReady`). */
|
|
53
105
|
client;
|
|
106
|
+
/**
|
|
107
|
+
* Resolves with the client once the optional discord.js peer is loaded (HP-DOPL MP-0.6). `setup()` and `start()`
|
|
108
|
+
* await it, so the order of a bot is unchanged; a missing discord.js rejects it with `DyNTS-OPT-MIS`.
|
|
109
|
+
*/
|
|
110
|
+
clientReady;
|
|
54
111
|
_discordServer;
|
|
55
112
|
get discordServer() {
|
|
56
113
|
return this._discordServer;
|
|
@@ -76,17 +133,19 @@ class DyNTS_DIBO_Main_ControlService extends singleton_service_1.DyNTS_Singleton
|
|
|
76
133
|
errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DiBo-MCS-C000`,
|
|
77
134
|
});
|
|
78
135
|
}
|
|
79
|
-
this.
|
|
80
|
-
|
|
81
|
-
|
|
136
|
+
this.clientReady = DyNTS_DiBo_createClient().then((client) => {
|
|
137
|
+
this.client = client;
|
|
138
|
+
return client;
|
|
82
139
|
});
|
|
83
|
-
|
|
140
|
+
// observed here, so a failed load is never an unhandled rejection; setup()/start() still get the error
|
|
141
|
+
this.clientReady.catch(() => undefined);
|
|
84
142
|
if (setupAutomatically) {
|
|
85
143
|
this.setup('system-init');
|
|
86
144
|
}
|
|
87
145
|
}
|
|
88
146
|
async setup(issuer) {
|
|
89
147
|
try {
|
|
148
|
+
await this.clientReady;
|
|
90
149
|
await fsm_dynamo_1.DyFM_Async.delay(100);
|
|
91
150
|
if (!global_settings_const_1.DyNTS_global_settings.env_settings.discord.guildId) {
|
|
92
151
|
throw new Error(`No discord server id found!` +
|
|
@@ -232,6 +291,7 @@ class DyNTS_DIBO_Main_ControlService extends singleton_service_1.DyNTS_Singleton
|
|
|
232
291
|
}
|
|
233
292
|
async start(issuer) {
|
|
234
293
|
try {
|
|
294
|
+
await this.clientReady;
|
|
235
295
|
if (!this.discordServer) {
|
|
236
296
|
throw new fsm_dynamo_1.DyFM_Error({
|
|
237
297
|
...this.getDefaultErrorSettings('start', new Error('Discord server not yet initialized, ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dibo-main.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/discord-bot/_services/dibo-main.control-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dibo-main.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/discord-bot/_services/dibo-main.control-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { DyNTS_McpTool_Params } from '../_models/control-models/mcp-tool-params.control-model';
|
|
2
|
+
import { DyNTS_Mcp_Settings } from '../_models/interfaces/mcp-settings.interface';
|
|
3
|
+
/**
|
|
4
|
+
* Load protection of MCP tool calls (HP-DOPL MP-3.2, DMCP-013) — the FAM `assertHeapCapacity` +
|
|
5
|
+
* `FAM_OperationQueue_Service` pattern at bedrock level. Only HEAVY tools (`DyNTS_McpTool_Params.isHeavy`) are guarded;
|
|
6
|
+
* a light call runs immediately.
|
|
7
|
+
*
|
|
8
|
+
* For a heavy call, in this order:
|
|
9
|
+
* 1. **load shed** — while the installed `DyNTS_MemoryGuard` reports critical pressure the call is rejected with 503
|
|
10
|
+
* `DyNTS-MTL-SHD` (retryable), so a new heavy job does not push a strained heap into OOM;
|
|
11
|
+
* 2. **serialization** — at most `mcp_settings.heavyToolConcurrency` (default 1) heavy calls run at once; the rest
|
|
12
|
+
* wait in FIFO order. A failed call releases its slot too.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* const result: unknown = await DyNTS_McpToolLoad_Util.run(scanTool, () => scanTool.operation.run(ctx, path));
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare class DyNTS_McpToolLoad_Util {
|
|
20
|
+
/** Heavy calls running now. */
|
|
21
|
+
private static running;
|
|
22
|
+
/** Resolvers of the heavy calls waiting for a slot (FIFO). */
|
|
23
|
+
private static readonly waiters;
|
|
24
|
+
/**
|
|
25
|
+
* Runs the task with the load protection of the tool.
|
|
26
|
+
* @param tool - the tool being called
|
|
27
|
+
* @param task - the call itself
|
|
28
|
+
* @param settings - the MCP settings (default: `DyNTS_global_settings.mcp_settings`)
|
|
29
|
+
* @throws 503 `DyNTS-MTL-SHD` when a heavy call is shed under memory pressure
|
|
30
|
+
*/
|
|
31
|
+
static run<T>(tool: DyNTS_McpTool_Params, task: () => Promise<T>, settings?: DyNTS_Mcp_Settings | null): Promise<T>;
|
|
32
|
+
/** Heavy calls running and waiting — for health endpoints and specs. */
|
|
33
|
+
static stats(): {
|
|
34
|
+
running: number;
|
|
35
|
+
queued: number;
|
|
36
|
+
};
|
|
37
|
+
/** Rejects a heavy call while the installed memory guard wants to shed load. */
|
|
38
|
+
private static assertMemoryCapacity;
|
|
39
|
+
/** Waits for a heavy slot (FIFO). */
|
|
40
|
+
private static acquire;
|
|
41
|
+
/** Hands the slot to the next waiter, or frees it. */
|
|
42
|
+
private static release;
|
|
43
|
+
/** The heavy concurrency limit (at least 1). */
|
|
44
|
+
private static limit;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=mcp-tool-load.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tool-load.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/mcp/_collections/mcp-tool-load.util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAGlF;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,sBAAsB;IACjC,+BAA+B;IAC/B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAa;IAEnC,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAErD;;;;;;OAMG;WACU,GAAG,CAAC,CAAC,EAChB,IAAI,EAAE,oBAAoB,EAC1B,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,QAAQ,GAAE,kBAAkB,GAAG,IAAyC,GACvE,OAAO,CAAC,CAAC,CAAC;IAgBb,wEAAwE;IACxE,MAAM,CAAC,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAInD,gFAAgF;IAChF,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAenC,qCAAqC;mBAChB,OAAO;IAa5B,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAC,OAAO;IAYtB,gDAAgD;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK;CAGrB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyNTS_McpToolLoad_Util = void 0;
|
|
4
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
+
const global_settings_const_1 = require("../../../_collections/global-settings.const");
|
|
6
|
+
const memory_guard_service_1 = require("../../../_services/core/memory-guard.service");
|
|
7
|
+
/**
|
|
8
|
+
* Load protection of MCP tool calls (HP-DOPL MP-3.2, DMCP-013) — the FAM `assertHeapCapacity` +
|
|
9
|
+
* `FAM_OperationQueue_Service` pattern at bedrock level. Only HEAVY tools (`DyNTS_McpTool_Params.isHeavy`) are guarded;
|
|
10
|
+
* a light call runs immediately.
|
|
11
|
+
*
|
|
12
|
+
* For a heavy call, in this order:
|
|
13
|
+
* 1. **load shed** — while the installed `DyNTS_MemoryGuard` reports critical pressure the call is rejected with 503
|
|
14
|
+
* `DyNTS-MTL-SHD` (retryable), so a new heavy job does not push a strained heap into OOM;
|
|
15
|
+
* 2. **serialization** — at most `mcp_settings.heavyToolConcurrency` (default 1) heavy calls run at once; the rest
|
|
16
|
+
* wait in FIFO order. A failed call releases its slot too.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const result: unknown = await DyNTS_McpToolLoad_Util.run(scanTool, () => scanTool.operation.run(ctx, path));
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
class DyNTS_McpToolLoad_Util {
|
|
24
|
+
/** Heavy calls running now. */
|
|
25
|
+
static running = 0;
|
|
26
|
+
/** Resolvers of the heavy calls waiting for a slot (FIFO). */
|
|
27
|
+
static waiters = [];
|
|
28
|
+
/**
|
|
29
|
+
* Runs the task with the load protection of the tool.
|
|
30
|
+
* @param tool - the tool being called
|
|
31
|
+
* @param task - the call itself
|
|
32
|
+
* @param settings - the MCP settings (default: `DyNTS_global_settings.mcp_settings`)
|
|
33
|
+
* @throws 503 `DyNTS-MTL-SHD` when a heavy call is shed under memory pressure
|
|
34
|
+
*/
|
|
35
|
+
static async run(tool, task, settings = global_settings_const_1.DyNTS_global_settings.mcp_settings) {
|
|
36
|
+
if (!tool.isHeavy) {
|
|
37
|
+
return task();
|
|
38
|
+
}
|
|
39
|
+
DyNTS_McpToolLoad_Util.assertMemoryCapacity(tool, settings);
|
|
40
|
+
await DyNTS_McpToolLoad_Util.acquire(settings);
|
|
41
|
+
try {
|
|
42
|
+
return await task();
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
DyNTS_McpToolLoad_Util.release(settings);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/** Heavy calls running and waiting — for health endpoints and specs. */
|
|
49
|
+
static stats() {
|
|
50
|
+
return { running: DyNTS_McpToolLoad_Util.running, queued: DyNTS_McpToolLoad_Util.waiters.length };
|
|
51
|
+
}
|
|
52
|
+
/** Rejects a heavy call while the installed memory guard wants to shed load. */
|
|
53
|
+
static assertMemoryCapacity(tool, settings) {
|
|
54
|
+
const guard = memory_guard_service_1.DyNTS_MemoryGuard.getInstance();
|
|
55
|
+
if (settings?.shedHeavyToolsUnderMemoryPressure === false || !guard.isInstalled() || !guard.shouldShedLoad()) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
throw new fsm_dynamo_1.DyFM_Error({
|
|
59
|
+
status: 503,
|
|
60
|
+
errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-MTL-SHD`,
|
|
61
|
+
message: `heavy MCP tool "${tool.tool}" rejected under memory pressure - retry when the pressure eases`,
|
|
62
|
+
additionalContent: { tool: tool.tool, pressure: guard.pressure() },
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/** Waits for a heavy slot (FIFO). */
|
|
66
|
+
static async acquire(settings) {
|
|
67
|
+
if (DyNTS_McpToolLoad_Util.running < DyNTS_McpToolLoad_Util.limit(settings)) {
|
|
68
|
+
DyNTS_McpToolLoad_Util.running++;
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
// the slot is handed over by release(), so `running` already counts this call when it resumes
|
|
72
|
+
await new Promise((resolve) => {
|
|
73
|
+
DyNTS_McpToolLoad_Util.waiters.push(resolve);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/** Hands the slot to the next waiter, or frees it. */
|
|
77
|
+
static release(settings) {
|
|
78
|
+
const next = DyNTS_McpToolLoad_Util.running <= DyNTS_McpToolLoad_Util.limit(settings) ?
|
|
79
|
+
DyNTS_McpToolLoad_Util.waiters.shift() : undefined;
|
|
80
|
+
if (next) {
|
|
81
|
+
next();
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
DyNTS_McpToolLoad_Util.running--;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/** The heavy concurrency limit (at least 1). */
|
|
88
|
+
static limit(settings) {
|
|
89
|
+
return Math.max(1, Math.floor(settings?.heavyToolConcurrency ?? 1));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.DyNTS_McpToolLoad_Util = DyNTS_McpToolLoad_Util;
|
|
93
|
+
//# sourceMappingURL=mcp-tool-load.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tool-load.util.js","sourceRoot":"","sources":["../../../../src/_modules/mcp/_collections/mcp-tool-load.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How an operation is exposed as an MCP tool (HP-DOPL MP-3.2, DMCP-001/018).
|
|
3
|
+
*
|
|
4
|
+
* - `default` — advertised in `tools/list`, except on a read-only MCP server (`mcp_settings.readOnly`);
|
|
5
|
+
* - `none` — never advertised (the operation stays REST/CLI only; the coverage review counts it as deliberate);
|
|
6
|
+
* - `read-only` — the tool has no side effects: advertised on a read-only server too, with the MCP
|
|
7
|
+
* `readOnlyHint` annotation.
|
|
8
|
+
*/
|
|
9
|
+
export declare enum DyNTS_McpToolExposure_Type {
|
|
10
|
+
default = "default",
|
|
11
|
+
none = "none",
|
|
12
|
+
readOnly = "read-only"
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=mcp-tool-exposure.type-enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tool-exposure.type-enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/mcp/_enums/mcp-tool-exposure.type-enum.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,oBAAY,0BAA0B;IACpC,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,cAAc;CACvB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyNTS_McpToolExposure_Type = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* How an operation is exposed as an MCP tool (HP-DOPL MP-3.2, DMCP-001/018).
|
|
6
|
+
*
|
|
7
|
+
* - `default` — advertised in `tools/list`, except on a read-only MCP server (`mcp_settings.readOnly`);
|
|
8
|
+
* - `none` — never advertised (the operation stays REST/CLI only; the coverage review counts it as deliberate);
|
|
9
|
+
* - `read-only` — the tool has no side effects: advertised on a read-only server too, with the MCP
|
|
10
|
+
* `readOnlyHint` annotation.
|
|
11
|
+
*/
|
|
12
|
+
var DyNTS_McpToolExposure_Type;
|
|
13
|
+
(function (DyNTS_McpToolExposure_Type) {
|
|
14
|
+
DyNTS_McpToolExposure_Type["default"] = "default";
|
|
15
|
+
DyNTS_McpToolExposure_Type["none"] = "none";
|
|
16
|
+
DyNTS_McpToolExposure_Type["readOnly"] = "read-only";
|
|
17
|
+
})(DyNTS_McpToolExposure_Type || (exports.DyNTS_McpToolExposure_Type = DyNTS_McpToolExposure_Type = {}));
|
|
18
|
+
//# sourceMappingURL=mcp-tool-exposure.type-enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tool-exposure.type-enum.js","sourceRoot":"","sources":["../../../../src/_modules/mcp/_enums/mcp-tool-exposure.type-enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,iDAAmB,CAAA;IACnB,2CAAa,CAAA;IACb,oDAAsB,CAAA;AACxB,CAAC,EAJW,0BAA0B,0CAA1B,0BAA0B,QAIrC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { DyFM_Operation_JsonSchema, DyFM_Operation_Settings } from '@futdevpro/fsm-dynamo';
|
|
2
|
+
import { DyNTS_McpToolExposure_Type } from '../../_enums/mcp-tool-exposure.type-enum';
|
|
3
|
+
import { DyNTS_Mcp_Settings } from '../interfaces/mcp-settings.interface';
|
|
4
|
+
/**
|
|
5
|
+
* An operation exposed as an MCP tool (HP-DOPL MP-3.2, decision B+C): the MCP-specific settings on top of a
|
|
6
|
+
* transport-independent `DyFM_Operation_Settings` — the tool name, the exposure, an optional input schema override
|
|
7
|
+
* and the load protection flag. The operation stays the single source of the implementation (`run`).
|
|
8
|
+
*
|
|
9
|
+
* Follows the Dynamo settings pattern: a `set` constructor, defaults applied in the constructor, construction-time
|
|
10
|
+
* validation with a coded `DyFM_Error` that carries the construction location.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const getNoteTool: DyNTS_McpTool_Params = new DyNTS_McpTool_Params({
|
|
15
|
+
* operation: getNote, // name: 'notes.get'
|
|
16
|
+
* exposure: DyNTS_McpToolExposure_Type.readOnly,
|
|
17
|
+
* });
|
|
18
|
+
* // getNoteTool.getToolName() === 'notes.get' (or 'organizer.notes.get' with mcp_settings.toolPrefix)
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare class DyNTS_McpTool_Params {
|
|
22
|
+
/** The operation this tool runs. */
|
|
23
|
+
readonly operation: DyFM_Operation_Settings<unknown, unknown[], unknown>;
|
|
24
|
+
/** The tool name without the server prefix; default: the operation name (`<domain>.<action>`). */
|
|
25
|
+
readonly tool: string;
|
|
26
|
+
/** The tool description for the agent; default: the operation description. */
|
|
27
|
+
readonly description: string;
|
|
28
|
+
/** How the tool is advertised; default: `default`. */
|
|
29
|
+
readonly exposure: DyNTS_McpToolExposure_Type;
|
|
30
|
+
/** The input schema; default: generated from the operation (`DyFM_OperationSchema_Util.inputSchema`). */
|
|
31
|
+
readonly inputSchema: DyFM_Operation_JsonSchema;
|
|
32
|
+
/** A heavy tool is serialized and shed under memory pressure (DMCP-013); default: `false`. */
|
|
33
|
+
readonly isHeavy: boolean;
|
|
34
|
+
/** Source location of the construction, for debugging a misconfigured tool. */
|
|
35
|
+
readonly stackLocation: string;
|
|
36
|
+
/**
|
|
37
|
+
* Validates the settings and applies the defaults.
|
|
38
|
+
* @param set - the tool settings; throws a coded `DyFM_Error` when invalid
|
|
39
|
+
*/
|
|
40
|
+
constructor(set: {
|
|
41
|
+
operation: DyFM_Operation_Settings<unknown, unknown[], unknown>;
|
|
42
|
+
tool?: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
exposure?: DyNTS_McpToolExposure_Type;
|
|
45
|
+
inputSchema?: DyFM_Operation_JsonSchema;
|
|
46
|
+
isHeavy?: boolean;
|
|
47
|
+
stackLocation?: string;
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* The advertised tool name: the server prefix (`mcp_settings.toolPrefix`) + the tool name.
|
|
51
|
+
* @param settings - the MCP settings (default: `DyNTS_global_settings.mcp_settings`)
|
|
52
|
+
* @throws `DyNTS-MTP-PFX` when the prefixed name is not a valid tool name
|
|
53
|
+
*/
|
|
54
|
+
getToolName(settings?: DyNTS_Mcp_Settings | null): string;
|
|
55
|
+
/**
|
|
56
|
+
* Whether the tool appears in `tools/list`: never for `none`; on a read-only server only for `read-only`.
|
|
57
|
+
* @param settings - the MCP settings (default: `DyNTS_global_settings.mcp_settings`)
|
|
58
|
+
*/
|
|
59
|
+
isAdvertised(settings?: DyNTS_Mcp_Settings | null): boolean;
|
|
60
|
+
/** Builds the construction error with a stable error code and the construction location. */
|
|
61
|
+
private static invalid;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=mcp-tool-params.control-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tool-params.control-model.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/mcp/_models/control-models/mcp-tool-params.control-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAC0C,yBAAyB,EAAE,uBAAuB,EAElG,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAM1E;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,oBAAoB;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACzE,kGAAkG;IAClG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,yGAAyG;IACzG,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC;IAChD,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;;OAGG;gBACS,GAAG,EAAE;QACf,SAAS,EAAE,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,0BAA0B,CAAC;QACtC,WAAW,CAAC,EAAE,yBAAyB,CAAC;QACxC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;IA4DD;;;;OAIG;IACH,WAAW,CAAC,QAAQ,GAAE,kBAAkB,GAAG,IAAyC,GAAG,MAAM;IAY7F;;;OAGG;IACH,YAAY,CAAC,QAAQ,GAAE,kBAAkB,GAAG,IAAyC,GAAG,OAAO;IAQ/F,4FAA4F;IAC5F,OAAO,CAAC,MAAM,CAAC,OAAO;CAQvB"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyNTS_McpTool_Params = void 0;
|
|
4
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
+
const global_settings_const_1 = require("../../../../_collections/global-settings.const");
|
|
6
|
+
const mcp_tool_exposure_type_enum_1 = require("../../_enums/mcp-tool-exposure.type-enum");
|
|
7
|
+
/** MCP tool name characters (MCP specification: letters, digits, `_`, `-`, `.`; 1–128 characters). */
|
|
8
|
+
const DyNTS_mcpToolName = /^[A-Za-z0-9_.-]{1,128}$/;
|
|
9
|
+
/**
|
|
10
|
+
* An operation exposed as an MCP tool (HP-DOPL MP-3.2, decision B+C): the MCP-specific settings on top of a
|
|
11
|
+
* transport-independent `DyFM_Operation_Settings` — the tool name, the exposure, an optional input schema override
|
|
12
|
+
* and the load protection flag. The operation stays the single source of the implementation (`run`).
|
|
13
|
+
*
|
|
14
|
+
* Follows the Dynamo settings pattern: a `set` constructor, defaults applied in the constructor, construction-time
|
|
15
|
+
* validation with a coded `DyFM_Error` that carries the construction location.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* const getNoteTool: DyNTS_McpTool_Params = new DyNTS_McpTool_Params({
|
|
20
|
+
* operation: getNote, // name: 'notes.get'
|
|
21
|
+
* exposure: DyNTS_McpToolExposure_Type.readOnly,
|
|
22
|
+
* });
|
|
23
|
+
* // getNoteTool.getToolName() === 'notes.get' (or 'organizer.notes.get' with mcp_settings.toolPrefix)
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
class DyNTS_McpTool_Params {
|
|
27
|
+
/** The operation this tool runs. */
|
|
28
|
+
operation;
|
|
29
|
+
/** The tool name without the server prefix; default: the operation name (`<domain>.<action>`). */
|
|
30
|
+
tool;
|
|
31
|
+
/** The tool description for the agent; default: the operation description. */
|
|
32
|
+
description;
|
|
33
|
+
/** How the tool is advertised; default: `default`. */
|
|
34
|
+
exposure;
|
|
35
|
+
/** The input schema; default: generated from the operation (`DyFM_OperationSchema_Util.inputSchema`). */
|
|
36
|
+
inputSchema;
|
|
37
|
+
/** A heavy tool is serialized and shed under memory pressure (DMCP-013); default: `false`. */
|
|
38
|
+
isHeavy;
|
|
39
|
+
/** Source location of the construction, for debugging a misconfigured tool. */
|
|
40
|
+
stackLocation;
|
|
41
|
+
/**
|
|
42
|
+
* Validates the settings and applies the defaults.
|
|
43
|
+
* @param set - the tool settings; throws a coded `DyFM_Error` when invalid
|
|
44
|
+
*/
|
|
45
|
+
constructor(set) {
|
|
46
|
+
const stackLocation = set?.stackLocation ?? (0, fsm_dynamo_1.DyFM_getConstructionStackLocation)();
|
|
47
|
+
const operation = set?.operation;
|
|
48
|
+
// a plain object would skip the construction-time validation of the operation
|
|
49
|
+
if (typeof operation?.name !== 'string' || !operation?.expose) {
|
|
50
|
+
throw DyNTS_McpTool_Params.invalid('DyNTS-MTP-OPR', 'operation must be a constructed DyFM_Operation_Settings', stackLocation);
|
|
51
|
+
}
|
|
52
|
+
const label = operation.name;
|
|
53
|
+
if (operation.expose.mcp === false) {
|
|
54
|
+
throw DyNTS_McpTool_Params.invalid('DyNTS-MTP-EXP', `operation "${label}" is not exposed on MCP (expose.mcp: false)`, stackLocation);
|
|
55
|
+
}
|
|
56
|
+
if (typeof operation.run !== 'function') {
|
|
57
|
+
throw DyNTS_McpTool_Params.invalid('DyNTS-MTP-RUN', `operation "${label}" has no run implementation, so it can not be a tool`, stackLocation);
|
|
58
|
+
}
|
|
59
|
+
const tool = set.tool ?? operation.name;
|
|
60
|
+
if (typeof tool !== 'string' || !DyNTS_mcpToolName.test(tool)) {
|
|
61
|
+
throw DyNTS_McpTool_Params.invalid('DyNTS-MTP-NAM', `tool name must be 1-128 letters, digits, "_", "-" or "." (got: ${JSON.stringify(tool)})`, stackLocation);
|
|
62
|
+
}
|
|
63
|
+
const exposure = set.exposure ?? mcp_tool_exposure_type_enum_1.DyNTS_McpToolExposure_Type.default;
|
|
64
|
+
if (!Object.values(mcp_tool_exposure_type_enum_1.DyNTS_McpToolExposure_Type).includes(exposure)) {
|
|
65
|
+
throw DyNTS_McpTool_Params.invalid('DyNTS-MTP-EXV', `unknown exposure ${JSON.stringify(exposure)} (tool "${tool}")`, stackLocation);
|
|
66
|
+
}
|
|
67
|
+
// an MCP tool input is always a JSON object (the arguments of tools/call)
|
|
68
|
+
if (set.inputSchema !== undefined && set.inputSchema?.type !== 'object') {
|
|
69
|
+
throw DyNTS_McpTool_Params.invalid('DyNTS-MTP-SCH', `inputSchema override must be an object schema (tool "${tool}")`, stackLocation);
|
|
70
|
+
}
|
|
71
|
+
if (set.isHeavy !== undefined && typeof set.isHeavy !== 'boolean') {
|
|
72
|
+
throw DyNTS_McpTool_Params.invalid('DyNTS-MTP-HVY', `isHeavy must be a boolean (tool "${tool}")`, stackLocation);
|
|
73
|
+
}
|
|
74
|
+
this.operation = operation;
|
|
75
|
+
this.tool = tool;
|
|
76
|
+
this.description = set.description ?? operation.description;
|
|
77
|
+
this.exposure = exposure;
|
|
78
|
+
this.inputSchema = set.inputSchema ?? fsm_dynamo_1.DyFM_OperationSchema_Util.inputSchema(operation);
|
|
79
|
+
this.isHeavy = set.isHeavy === true;
|
|
80
|
+
this.stackLocation = stackLocation;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The advertised tool name: the server prefix (`mcp_settings.toolPrefix`) + the tool name.
|
|
84
|
+
* @param settings - the MCP settings (default: `DyNTS_global_settings.mcp_settings`)
|
|
85
|
+
* @throws `DyNTS-MTP-PFX` when the prefixed name is not a valid tool name
|
|
86
|
+
*/
|
|
87
|
+
getToolName(settings = global_settings_const_1.DyNTS_global_settings.mcp_settings) {
|
|
88
|
+
const name = `${settings?.toolPrefix ?? ''}${this.tool}`;
|
|
89
|
+
if (!DyNTS_mcpToolName.test(name)) {
|
|
90
|
+
throw DyNTS_McpTool_Params.invalid('DyNTS-MTP-PFX', `the prefixed tool name is invalid: ${JSON.stringify(name)}`, this.stackLocation);
|
|
91
|
+
}
|
|
92
|
+
return name;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Whether the tool appears in `tools/list`: never for `none`; on a read-only server only for `read-only`.
|
|
96
|
+
* @param settings - the MCP settings (default: `DyNTS_global_settings.mcp_settings`)
|
|
97
|
+
*/
|
|
98
|
+
isAdvertised(settings = global_settings_const_1.DyNTS_global_settings.mcp_settings) {
|
|
99
|
+
if (this.exposure === mcp_tool_exposure_type_enum_1.DyNTS_McpToolExposure_Type.none) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
return settings?.readOnly === true ? this.exposure === mcp_tool_exposure_type_enum_1.DyNTS_McpToolExposure_Type.readOnly : true;
|
|
103
|
+
}
|
|
104
|
+
/** Builds the construction error with a stable error code and the construction location. */
|
|
105
|
+
static invalid(code, reason, stackLocation) {
|
|
106
|
+
return new fsm_dynamo_1.DyFM_Error({
|
|
107
|
+
status: 500,
|
|
108
|
+
errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|${code}`,
|
|
109
|
+
message: `DyNTS_McpTool_Params construction failed: ${reason}`,
|
|
110
|
+
additionalContent: { stackLocation: stackLocation },
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.DyNTS_McpTool_Params = DyNTS_McpTool_Params;
|
|
115
|
+
//# sourceMappingURL=mcp-tool-params.control-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tool-params.control-model.js","sourceRoot":"","sources":["../../../../../src/_modules/mcp/_models/control-models/mcp-tool-params.control-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-wide MCP defaults (`DyNTS_global_settings.mcp_settings`, HP-DOPL MP-3.2). `null` (the default) means every
|
|
3
|
+
* field below takes its documented default.
|
|
4
|
+
*/
|
|
5
|
+
export interface DyNTS_Mcp_Settings {
|
|
6
|
+
/** Prepended to every generated tool name (e.g. `organizer.` → `organizer.notes.get`); default: none. */
|
|
7
|
+
toolPrefix?: string;
|
|
8
|
+
/** A read-only MCP server advertises only `read-only` tools; default: `false`. */
|
|
9
|
+
readOnly?: boolean;
|
|
10
|
+
/** How many HEAVY tool calls may run at once (DMCP-013 serialization); default: `1`. */
|
|
11
|
+
heavyToolConcurrency?: number;
|
|
12
|
+
/** Reject a HEAVY tool call with 503 while the memory guard reports critical pressure (DMCP-013); default: `true`. */
|
|
13
|
+
shedHeavyToolsUnderMemoryPressure?: boolean;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=mcp-settings.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-settings.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/mcp/_models/interfaces/mcp-settings.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,yGAAyG;IACzG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wFAAwF;IACxF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sHAAsH;IACtH,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAC7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-settings.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/mcp/_models/interfaces/mcp-settings.interface.ts"],"names":[],"mappings":""}
|