toolception 0.3.0 → 0.4.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 +50 -28
- package/dist/core/DynamicToolManager.d.ts +45 -2
- package/dist/core/DynamicToolManager.d.ts.map +1 -1
- package/dist/core/ServerOrchestrator.d.ts +24 -2
- package/dist/core/ServerOrchestrator.d.ts.map +1 -1
- package/dist/http/FastifyTransport.d.ts +11 -0
- package/dist/http/FastifyTransport.d.ts.map +1 -1
- package/dist/index.js +679 -451
- package/dist/index.js.map +1 -1
- package/dist/meta/registerMetaTools.d.ts +14 -0
- package/dist/meta/registerMetaTools.d.ts.map +1 -1
- package/dist/mode/ModeResolver.d.ts +7 -0
- package/dist/mode/ModeResolver.d.ts.map +1 -1
- package/dist/permissions/PermissionAwareFastifyTransport.d.ts +2 -1
- package/dist/permissions/PermissionAwareFastifyTransport.d.ts.map +1 -1
- package/dist/permissions/PermissionResolver.d.ts +12 -0
- package/dist/permissions/PermissionResolver.d.ts.map +1 -1
- package/dist/permissions/createPermissionAwareBundle.d.ts +6 -0
- package/dist/permissions/createPermissionAwareBundle.d.ts.map +1 -1
- package/dist/server/createMcpServer.d.ts +4 -3
- package/dist/server/createMcpServer.d.ts.map +1 -1
- package/dist/server/createPermissionBasedMcpServer.d.ts.map +1 -1
- package/dist/session/ClientResourceCache.d.ts +34 -3
- package/dist/session/ClientResourceCache.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -171,7 +171,7 @@ process.on("SIGTERM", async () => {
|
|
|
171
171
|
|
|
172
172
|
## Static startup
|
|
173
173
|
|
|
174
|
-
Enable some or ALL toolsets at bootstrap.
|
|
174
|
+
Enable some or ALL toolsets at bootstrap. In STATIC mode, a single server instance is created and reused for all clients:
|
|
175
175
|
|
|
176
176
|
```ts
|
|
177
177
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
@@ -181,26 +181,30 @@ const staticCatalog = {
|
|
|
181
181
|
quotes: { name: "Quotes", description: "Market quotes", modules: ["quotes"] },
|
|
182
182
|
};
|
|
183
183
|
|
|
184
|
+
// Load specific toolsets
|
|
184
185
|
createMcpServer({
|
|
185
186
|
catalog: staticCatalog,
|
|
186
187
|
startup: { mode: "STATIC", toolsets: ["search", "quotes"] },
|
|
187
188
|
http: { port: 3001 },
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
189
|
+
createServer: () =>
|
|
190
|
+
new McpServer({
|
|
191
|
+
name: "static-1",
|
|
192
|
+
version: "0.0.0",
|
|
193
|
+
capabilities: { tools: { listChanged: false } },
|
|
194
|
+
}),
|
|
193
195
|
});
|
|
194
196
|
|
|
197
|
+
// Load ALL toolsets
|
|
195
198
|
createMcpServer({
|
|
196
199
|
catalog: staticCatalog,
|
|
197
200
|
startup: { mode: "STATIC", toolsets: "ALL" },
|
|
198
201
|
http: { port: 3002 },
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
202
|
+
createServer: () =>
|
|
203
|
+
new McpServer({
|
|
204
|
+
name: "static-2",
|
|
205
|
+
version: "0.0.0",
|
|
206
|
+
capabilities: { tools: { listChanged: false } },
|
|
207
|
+
}),
|
|
204
208
|
});
|
|
205
209
|
```
|
|
206
210
|
|
|
@@ -664,9 +668,11 @@ Startup precedence and validation
|
|
|
664
668
|
|
|
665
669
|
#### options.registerMetaTools (optional)
|
|
666
670
|
|
|
667
|
-
`boolean` (default: true in DYNAMIC mode; false in STATIC
|
|
671
|
+
`boolean` (default: true in DYNAMIC mode; false in STATIC mode)
|
|
668
672
|
|
|
669
|
-
- Whether to register
|
|
673
|
+
- Whether to register meta-tools for toolset management.
|
|
674
|
+
- In DYNAMIC mode: Registers all meta-tools (`enable_toolset`, `disable_toolset`, `list_toolsets`, `describe_toolset`, `list_tools`).
|
|
675
|
+
- In STATIC mode: Only registers `list_tools` (other meta-tools are not applicable since toolsets are fixed at startup).
|
|
670
676
|
|
|
671
677
|
#### options.exposurePolicy (optional)
|
|
672
678
|
|
|
@@ -805,13 +811,17 @@ Same as `createMcpServer` - see [options.moduleLoaders](#optionsmoduleloaders-op
|
|
|
805
811
|
|
|
806
812
|
`ExposurePolicy` (partial support)
|
|
807
813
|
|
|
808
|
-
Permission-based servers
|
|
814
|
+
Permission-based servers only support `namespaceToolsWithSetKey`. Other policy fields are ignored because toolset access is controlled by permissions:
|
|
815
|
+
|
|
816
|
+
| Field | Support |
|
|
817
|
+
| -------------------------- | ------------------------------------------------- |
|
|
818
|
+
| `namespaceToolsWithSetKey` | ✅ Supported (default: true) |
|
|
819
|
+
| `allowlist` | ⚠️ Ignored (determined by client permissions) |
|
|
820
|
+
| `denylist` | ⚠️ Ignored (use permissions instead) |
|
|
821
|
+
| `maxActiveToolsets` | ⚠️ Ignored (determined by permission count) |
|
|
822
|
+
| `onLimitExceeded` | ⚠️ Ignored (no toolset limits enforced) |
|
|
809
823
|
|
|
810
|
-
|
|
811
|
-
- `maxActiveToolsets`: Set automatically to match permission count
|
|
812
|
-
- `namespaceToolsWithSetKey`: Supported (default: true)
|
|
813
|
-
- `denylist`: Not supported (use permissions instead)
|
|
814
|
-
- `onLimitExceeded`: Not applicable
|
|
824
|
+
**Note:** If you provide ignored options, the server will log warnings at startup to alert you.
|
|
815
825
|
|
|
816
826
|
#### options.http (optional)
|
|
817
827
|
|
|
@@ -831,11 +841,21 @@ Same as `createMcpServer` - see [options.context](#optionscontext-optional).
|
|
|
831
841
|
|
|
832
842
|
### Meta-tools
|
|
833
843
|
|
|
834
|
-
|
|
844
|
+
Meta-tools are registered based on mode:
|
|
845
|
+
|
|
846
|
+
**DYNAMIC mode** (registered by default, or when `registerMetaTools` is true):
|
|
847
|
+
|
|
848
|
+
- `enable_toolset` - Enable a toolset by name
|
|
849
|
+
- `disable_toolset` - Disable a toolset by name (state only; tools remain registered)
|
|
850
|
+
- `list_toolsets` - List available toolsets with active status
|
|
851
|
+
- `describe_toolset` - Describe a specific toolset with definition and tools
|
|
852
|
+
- `list_tools` - List currently registered tool names
|
|
853
|
+
|
|
854
|
+
**STATIC mode** (when `registerMetaTools` is true):
|
|
855
|
+
|
|
856
|
+
- `list_tools` - List currently registered tool names
|
|
835
857
|
|
|
836
|
-
|
|
837
|
-
Only in DYNAMIC mode:
|
|
838
|
-
- `list_toolsets`, `describe_toolset`
|
|
858
|
+
Note: In STATIC mode, `enable_toolset`, `disable_toolset`, `list_toolsets`, and `describe_toolset` are not available since toolsets are fixed at startup.
|
|
839
859
|
|
|
840
860
|
## Permission-based client integration
|
|
841
861
|
|
|
@@ -1344,17 +1364,19 @@ Note on dynamic mode: Both direct and module-produced tools are supported. Modul
|
|
|
1344
1364
|
|
|
1345
1365
|
## Startup modes
|
|
1346
1366
|
|
|
1347
|
-
The server operates in one of two primary modes
|
|
1367
|
+
The server operates in one of two primary modes:
|
|
1348
1368
|
|
|
1349
|
-
1. Dynamic mode (startup.mode = "DYNAMIC")
|
|
1369
|
+
1. **Dynamic mode** (`startup.mode = "DYNAMIC"`)
|
|
1350
1370
|
|
|
1351
|
-
-
|
|
1371
|
+
- All meta-tools registered: `enable_toolset`, `disable_toolset`, `list_toolsets`, `describe_toolset`, `list_tools`
|
|
1352
1372
|
- Tools are loaded on-demand via meta-tool calls
|
|
1373
|
+
- Each client gets an isolated server instance
|
|
1353
1374
|
- Best for flexible, task-specific workflows where tool needs change
|
|
1354
1375
|
|
|
1355
|
-
2. Static mode (startup.mode = "STATIC")
|
|
1376
|
+
2. **Static mode** (`startup.mode = "STATIC"`)
|
|
1356
1377
|
- Pre-loads specific toolsets at startup (`toolsets` array or "ALL")
|
|
1357
|
-
-
|
|
1378
|
+
- Only `list_tools` meta-tool is available (toolsets cannot be changed at runtime)
|
|
1379
|
+
- A single server instance is reused for all clients
|
|
1358
1380
|
- Best for known, consistent tool requirements
|
|
1359
1381
|
|
|
1360
1382
|
## License
|
|
@@ -19,14 +19,48 @@ export declare class DynamicToolManager {
|
|
|
19
19
|
private readonly toolRegistry;
|
|
20
20
|
private readonly activeToolsets;
|
|
21
21
|
constructor(options: DynamicToolManagerOptions);
|
|
22
|
+
/**
|
|
23
|
+
* Sends a tool list change notification if configured.
|
|
24
|
+
* Logs warnings on failure instead of throwing.
|
|
25
|
+
* @returns Promise that resolves when notification is sent (or skipped)
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
private notifyToolsChanged;
|
|
22
29
|
getAvailableToolsets(): string[];
|
|
23
30
|
getActiveToolsets(): string[];
|
|
24
31
|
getToolsetDefinition(name: string): ToolSetDefinition | undefined;
|
|
25
32
|
isActive(name: string): boolean;
|
|
26
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Enables a single toolset by name.
|
|
35
|
+
* Validates the toolset, checks exposure policies, resolves tools, and registers them.
|
|
36
|
+
* @param toolsetName - The name of the toolset to enable
|
|
37
|
+
* @param skipNotification - If true, skips the tool list change notification (for batch operations)
|
|
38
|
+
* @returns Result object with success status and message
|
|
39
|
+
*/
|
|
40
|
+
enableToolset(toolsetName: string, skipNotification?: boolean): Promise<{
|
|
27
41
|
success: boolean;
|
|
28
42
|
message: string;
|
|
29
43
|
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Checks if a toolset is allowed by the exposure policy.
|
|
46
|
+
* @param toolsetName - The sanitized toolset name to check
|
|
47
|
+
* @returns Object indicating if allowed and reason message if not
|
|
48
|
+
* @private
|
|
49
|
+
*/
|
|
50
|
+
private checkExposurePolicy;
|
|
51
|
+
/**
|
|
52
|
+
* Registers a single tool with the MCP server.
|
|
53
|
+
* @param tool - The tool definition to register
|
|
54
|
+
* @param toolsetKey - The toolset key for tracking
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
private registerSingleTool;
|
|
58
|
+
/**
|
|
59
|
+
* Disables a toolset by name.
|
|
60
|
+
* Note: Due to MCP limitations, tools remain registered but the toolset is marked inactive.
|
|
61
|
+
* @param toolsetName - The name of the toolset to disable
|
|
62
|
+
* @returns Result object with success status and message
|
|
63
|
+
*/
|
|
30
64
|
disableToolset(toolsetName: string): Promise<{
|
|
31
65
|
success: boolean;
|
|
32
66
|
message: string;
|
|
@@ -40,6 +74,12 @@ export declare class DynamicToolManager {
|
|
|
40
74
|
tools: string[];
|
|
41
75
|
toolsetToTools: Record<string, string[]>;
|
|
42
76
|
};
|
|
77
|
+
/**
|
|
78
|
+
* Enables multiple toolsets in a batch operation.
|
|
79
|
+
* Sends a single notification after all toolsets are processed.
|
|
80
|
+
* @param toolsetNames - Array of toolset names to enable
|
|
81
|
+
* @returns Result object with overall success status and individual results
|
|
82
|
+
*/
|
|
43
83
|
enableToolsets(toolsetNames: string[]): Promise<{
|
|
44
84
|
success: boolean;
|
|
45
85
|
results: Array<{
|
|
@@ -50,7 +90,10 @@ export declare class DynamicToolManager {
|
|
|
50
90
|
}>;
|
|
51
91
|
message: string;
|
|
52
92
|
}>;
|
|
53
|
-
|
|
93
|
+
/**
|
|
94
|
+
* Enables all available toolsets in a batch operation.
|
|
95
|
+
* @returns Result object with overall success status and individual results
|
|
96
|
+
*/
|
|
54
97
|
enableAllToolsets(): Promise<{
|
|
55
98
|
success: boolean;
|
|
56
99
|
results: Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicToolManager.d.ts","sourceRoot":"","sources":["../../src/core/DynamicToolManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EACV,cAAc,EAEd,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAA6B;IACjE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAExC,OAAO,EAAE,yBAAyB;
|
|
1
|
+
{"version":3,"file":"DynamicToolManager.d.ts","sourceRoot":"","sources":["../../src/core/DynamicToolManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EACV,cAAc,EAEd,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAA6B;IACjE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAExC,OAAO,EAAE,yBAAyB;IAU9C;;;;;OAKG;YACW,kBAAkB;IASzB,oBAAoB,IAAI,MAAM,EAAE;IAIhC,iBAAiB,IAAI,MAAM,EAAE;IAI7B,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIjE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAItC;;;;;;OAMG;IACU,aAAa,CACxB,WAAW,EAAE,MAAM,EACnB,gBAAgB,UAAQ,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA4EjD;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAsC3B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;OAKG;IACU,cAAc,CACzB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAgC1C,SAAS;;;;;;;;;IAYhB;;;;;OAKG;IACU,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC3D,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,KAAK,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,OAAO,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,CAAC,EAAE,gBAAgB,CAAC;SACzB,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAuCF;;;OAGG;IACU,iBAAiB,IAAI,OAAO,CAAC;QACxC,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,KAAK,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,OAAO,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,CAAC,EAAE,gBAAgB,CAAC;SACzB,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CAIH"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { DynamicToolManager } from './DynamicToolManager.js';
|
|
3
|
-
import { ExposurePolicy, Mode, ToolSetCatalog } from '../types/index.js';
|
|
3
|
+
import { ExposurePolicy, Mode, ModuleLoader, ToolSetCatalog } from '../types/index.js';
|
|
4
4
|
export interface ServerOrchestratorOptions {
|
|
5
5
|
server: McpServer;
|
|
6
6
|
catalog: ToolSetCatalog;
|
|
7
|
-
moduleLoaders?: Record<string,
|
|
7
|
+
moduleLoaders?: Record<string, ModuleLoader>;
|
|
8
8
|
exposurePolicy?: ExposurePolicy;
|
|
9
9
|
context?: unknown;
|
|
10
10
|
notifyToolsListChanged?: () => Promise<void> | void;
|
|
@@ -19,7 +19,29 @@ export declare class ServerOrchestrator {
|
|
|
19
19
|
private readonly resolver;
|
|
20
20
|
private readonly manager;
|
|
21
21
|
private readonly toolsetValidator;
|
|
22
|
+
private readonly initPromise;
|
|
23
|
+
private initError;
|
|
22
24
|
constructor(options: ServerOrchestratorOptions);
|
|
25
|
+
/**
|
|
26
|
+
* Initializes toolsets asynchronously during construction.
|
|
27
|
+
* Stores any errors for later retrieval via ensureReady().
|
|
28
|
+
* @param initial - The toolsets to initialize or "ALL"
|
|
29
|
+
* @returns Promise that resolves when initialization is complete
|
|
30
|
+
* @private
|
|
31
|
+
*/
|
|
32
|
+
private initializeToolsets;
|
|
33
|
+
/**
|
|
34
|
+
* Waits for the orchestrator to be fully initialized.
|
|
35
|
+
* Call this before using the orchestrator to ensure all toolsets are loaded.
|
|
36
|
+
* @throws {Error} If initialization failed
|
|
37
|
+
*/
|
|
38
|
+
ensureReady(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Checks if the orchestrator has finished initialization.
|
|
41
|
+
* Does not throw on error - use ensureReady() for that.
|
|
42
|
+
* @returns Promise that resolves to true if ready, false if initialization failed
|
|
43
|
+
*/
|
|
44
|
+
isReady(): Promise<boolean>;
|
|
23
45
|
private resolveStartupConfig;
|
|
24
46
|
getMode(): Exclude<Mode, "ALL">;
|
|
25
47
|
getManager(): DynamicToolManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerOrchestrator.d.ts","sourceRoot":"","sources":["../../src/core/ServerOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ServerOrchestrator.d.ts","sourceRoot":"","sources":["../../src/core/ServerOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EACV,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,cAAc,EACf,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;KAAE,CAAC;IACvE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,SAAS,CAAsB;gBAE3B,OAAO,EAAE,yBAAyB;IAgC9C;;;;;;OAMG;YACW,kBAAkB;IAgBhC;;;;OAIG;IACU,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAOzC;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAKxC,OAAO,CAAC,oBAAoB;IAqDrB,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;IAI/B,UAAU,IAAI,kBAAkB;CAGxC"}
|
|
@@ -22,6 +22,17 @@ export declare class FastifyTransport {
|
|
|
22
22
|
orchestrator: ServerOrchestrator;
|
|
23
23
|
}, options?: FastifyTransportOptions, configSchema?: object);
|
|
24
24
|
start(): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Stops the Fastify server and cleans up all resources.
|
|
27
|
+
* Closes all client sessions and clears the cache.
|
|
28
|
+
*/
|
|
25
29
|
stop(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Cleans up resources associated with a client bundle.
|
|
32
|
+
* Closes all sessions within the bundle.
|
|
33
|
+
* @param bundle - The client bundle to clean up
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
36
|
+
private cleanupBundle;
|
|
26
37
|
}
|
|
27
38
|
//# sourceMappingURL=FastifyTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FastifyTransport.d.ts","sourceRoot":"","sources":["../../src/http/FastifyTransport.ts"],"names":[],"mappings":"AAAA,OAAgB,EACd,KAAK,eAAe,EAGrB,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAOtB;IACF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAG3B;IACF,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IAGvC,OAAO,CAAC,QAAQ,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"FastifyTransport.d.ts","sourceRoot":"","sources":["../../src/http/FastifyTransport.ts"],"names":[],"mappings":"AAAA,OAAgB,EACd,KAAK,eAAe,EAGrB,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAOtB;IACF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAG3B;IACF,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IAGvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CASzB;gBAGD,cAAc,EAAE,kBAAkB,EAClC,YAAY,EAAE,MAAM;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,YAAY,EAAE,kBAAkB,CAAA;KAAE,EAC3E,OAAO,GAAE,uBAA4B,EACrC,YAAY,CAAC,EAAE,MAAM;IAeV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8LnC;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYlC;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAkBtB"}
|