mcp-use 1.9.0 → 1.9.1-canary.1

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.
Files changed (108) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/chunk-2EYAMIT3.js +76 -0
  3. package/dist/chunk-33U4IA4N.js +337 -0
  4. package/dist/chunk-362PI25Z.js +110 -0
  5. package/dist/chunk-LWVK6RXA.js +30 -0
  6. package/dist/context-storage-NA4MHWOZ.js +13 -0
  7. package/dist/conversion-5MA4VY3B.js +7 -0
  8. package/dist/conversion-OTRZZBUU.js +7 -0
  9. package/dist/src/server/context-storage.d.ts +8 -1
  10. package/dist/src/server/context-storage.d.ts.map +1 -1
  11. package/dist/src/server/endpoints/index.d.ts +7 -0
  12. package/dist/src/server/endpoints/index.d.ts.map +1 -0
  13. package/dist/src/server/endpoints/mount-mcp.d.ts +21 -0
  14. package/dist/src/server/endpoints/mount-mcp.d.ts.map +1 -0
  15. package/dist/src/server/index.cjs +4180 -3956
  16. package/dist/src/server/index.d.ts +4 -3
  17. package/dist/src/server/index.d.ts.map +1 -1
  18. package/dist/src/server/index.js +3590 -3040
  19. package/dist/src/server/inspector/index.d.ts +5 -0
  20. package/dist/src/server/inspector/index.d.ts.map +1 -0
  21. package/dist/src/server/inspector/mount.d.ts +33 -0
  22. package/dist/src/server/inspector/mount.d.ts.map +1 -0
  23. package/dist/src/server/logging.d.ts.map +1 -1
  24. package/dist/src/server/mcp-server.d.ts +91 -770
  25. package/dist/src/server/mcp-server.d.ts.map +1 -1
  26. package/dist/src/server/notifications/index.d.ts +7 -0
  27. package/dist/src/server/notifications/index.d.ts.map +1 -0
  28. package/dist/src/server/notifications/notification-registration.d.ts +82 -0
  29. package/dist/src/server/notifications/notification-registration.d.ts.map +1 -0
  30. package/dist/src/server/oauth/index.d.ts +1 -0
  31. package/dist/src/server/oauth/index.d.ts.map +1 -1
  32. package/dist/src/server/oauth/setup.d.ts +28 -0
  33. package/dist/src/server/oauth/setup.d.ts.map +1 -0
  34. package/dist/src/server/prompts/conversion.d.ts +22 -0
  35. package/dist/src/server/prompts/conversion.d.ts.map +1 -0
  36. package/dist/src/server/prompts/index.d.ts +60 -0
  37. package/dist/src/server/prompts/index.d.ts.map +1 -0
  38. package/dist/src/server/resources/conversion.d.ts +20 -0
  39. package/dist/src/server/resources/conversion.d.ts.map +1 -0
  40. package/dist/src/server/resources/index.d.ts +117 -0
  41. package/dist/src/server/resources/index.d.ts.map +1 -0
  42. package/dist/src/server/resources/subscriptions.d.ts +54 -0
  43. package/dist/src/server/resources/subscriptions.d.ts.map +1 -0
  44. package/dist/src/server/roots/index.d.ts +7 -0
  45. package/dist/src/server/roots/index.d.ts.map +1 -0
  46. package/dist/src/server/roots/roots-registration.d.ts +56 -0
  47. package/dist/src/server/roots/roots-registration.d.ts.map +1 -0
  48. package/dist/src/server/sessions/index.d.ts +6 -0
  49. package/dist/src/server/sessions/index.d.ts.map +1 -0
  50. package/dist/src/server/sessions/notifications.d.ts +25 -0
  51. package/dist/src/server/sessions/notifications.d.ts.map +1 -0
  52. package/dist/src/server/sessions/session-manager.d.ts +47 -0
  53. package/dist/src/server/sessions/session-manager.d.ts.map +1 -0
  54. package/dist/src/server/tools/index.d.ts +10 -0
  55. package/dist/src/server/tools/index.d.ts.map +1 -0
  56. package/dist/src/server/tools/schema-helpers.d.ts +54 -0
  57. package/dist/src/server/tools/schema-helpers.d.ts.map +1 -0
  58. package/dist/src/server/tools/tool-execution-helpers.d.ts +110 -0
  59. package/dist/src/server/tools/tool-execution-helpers.d.ts.map +1 -0
  60. package/dist/src/server/tools/tool-registration.d.ts +85 -0
  61. package/dist/src/server/tools/tool-registration.d.ts.map +1 -0
  62. package/dist/src/server/types/common.d.ts +24 -0
  63. package/dist/src/server/types/common.d.ts.map +1 -1
  64. package/dist/src/server/types/index.d.ts +5 -4
  65. package/dist/src/server/types/index.d.ts.map +1 -1
  66. package/dist/src/server/types/prompt.d.ts +61 -6
  67. package/dist/src/server/types/prompt.d.ts.map +1 -1
  68. package/dist/src/server/types/resource.d.ts +83 -8
  69. package/dist/src/server/types/resource.d.ts.map +1 -1
  70. package/dist/src/server/types/tool-context.d.ts +252 -0
  71. package/dist/src/server/types/tool-context.d.ts.map +1 -0
  72. package/dist/src/server/types/tool.d.ts +62 -5
  73. package/dist/src/server/types/tool.d.ts.map +1 -1
  74. package/dist/src/server/utils/hono-proxy.d.ts +21 -0
  75. package/dist/src/server/utils/hono-proxy.d.ts.map +1 -0
  76. package/dist/src/server/utils/index.d.ts +3 -0
  77. package/dist/src/server/utils/index.d.ts.map +1 -1
  78. package/dist/src/server/utils/jsonrpc-helpers.d.ts +94 -0
  79. package/dist/src/server/utils/jsonrpc-helpers.d.ts.map +1 -0
  80. package/dist/src/server/utils/response-helpers.d.ts +163 -7
  81. package/dist/src/server/utils/response-helpers.d.ts.map +1 -1
  82. package/dist/src/server/utils/server-helpers.d.ts +78 -0
  83. package/dist/src/server/utils/server-helpers.d.ts.map +1 -0
  84. package/dist/src/server/utils/server-lifecycle.d.ts +52 -0
  85. package/dist/src/server/utils/server-lifecycle.d.ts.map +1 -0
  86. package/dist/src/server/utils/session-helpers.d.ts +55 -0
  87. package/dist/src/server/utils/session-helpers.d.ts.map +1 -0
  88. package/dist/src/server/widgets/index.d.ts +30 -0
  89. package/dist/src/server/widgets/index.d.ts.map +1 -0
  90. package/dist/src/server/widgets/mcp-ui-adapter.d.ts.map +1 -0
  91. package/dist/src/server/widgets/mount-widgets-dev.d.ts +28 -0
  92. package/dist/src/server/widgets/mount-widgets-dev.d.ts.map +1 -0
  93. package/dist/src/server/widgets/mount-widgets-production.d.ts +27 -0
  94. package/dist/src/server/widgets/mount-widgets-production.d.ts.map +1 -0
  95. package/dist/src/server/widgets/setup-widget-routes.d.ts +23 -0
  96. package/dist/src/server/widgets/setup-widget-routes.d.ts.map +1 -0
  97. package/dist/src/server/widgets/ui-resource-registration.d.ts +75 -0
  98. package/dist/src/server/widgets/ui-resource-registration.d.ts.map +1 -0
  99. package/dist/src/server/widgets/widget-helpers.d.ts +277 -0
  100. package/dist/src/server/widgets/widget-helpers.d.ts.map +1 -0
  101. package/dist/src/server/widgets/widget-types.d.ts +49 -0
  102. package/dist/src/server/widgets/widget-types.d.ts.map +1 -0
  103. package/dist/tool-execution-helpers-BQJTPWPN.js +29 -0
  104. package/package.json +6 -5
  105. package/dist/chunk-F4UHAA5L.js +0 -854
  106. package/dist/oauth-U4NNKN4B.js +0 -30
  107. package/dist/src/server/adapters/mcp-ui-adapter.d.ts.map +0 -1
  108. /package/dist/src/server/{adapters → widgets}/mcp-ui-adapter.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Notification utilities
3
+ *
4
+ * This module provides functions for managing client notifications with the MCP server.
5
+ */
6
+ export { getActiveSessions, sendNotification, sendNotificationToSession, type NotificationServerContext, } from "./notification-registration.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/notifications/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import type { SessionData } from "../sessions/index.js";
2
+ export interface NotificationServerContext {
3
+ sessions: Map<string, SessionData>;
4
+ }
5
+ /**
6
+ * Get array of active session IDs
7
+ *
8
+ * Returns an array of all currently active session IDs. This is useful for
9
+ * sending targeted notifications to specific clients or iterating over
10
+ * connected clients.
11
+ *
12
+ * Note: This only works in stateful mode. In stateless mode (edge environments),
13
+ * this will return an empty array.
14
+ *
15
+ * @returns Array of active session ID strings
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const sessions = server.getActiveSessions();
20
+ * console.log(`${sessions.length} clients connected`);
21
+ *
22
+ * // Send notification to first connected client
23
+ * if (sessions.length > 0) {
24
+ * server.sendNotificationToSession(sessions[0], "custom/hello", { message: "Hi!" });
25
+ * }
26
+ * ```
27
+ */
28
+ export declare function getActiveSessions(this: NotificationServerContext): string[];
29
+ /**
30
+ * Send a notification to all connected clients
31
+ *
32
+ * Broadcasts a JSON-RPC notification to all active sessions. Notifications are
33
+ * one-way messages that do not expect a response from the client.
34
+ *
35
+ * Note: This only works in stateful mode with active sessions. If no sessions
36
+ * are connected, the notification is silently discarded (per MCP spec: "server MAY send").
37
+ *
38
+ * @param method - The notification method name (e.g., "custom/my-notification")
39
+ * @param params - Optional parameters to include in the notification
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * // Send a simple notification to all clients
44
+ * server.sendNotification("custom/server-status", {
45
+ * status: "ready",
46
+ * timestamp: new Date().toISOString()
47
+ * });
48
+ *
49
+ * // Notify all clients that resources have changed
50
+ * server.sendNotification("notifications/resources/list_changed");
51
+ * ```
52
+ */
53
+ export declare function sendNotification(this: NotificationServerContext, method: string, params?: Record<string, unknown>): Promise<void>;
54
+ /**
55
+ * Send a notification to a specific client session
56
+ *
57
+ * Sends a JSON-RPC notification to a single client identified by their session ID.
58
+ * This allows sending customized notifications to individual clients.
59
+ *
60
+ * Note: This only works in stateful mode. If the session ID doesn't exist,
61
+ * the notification is silently discarded.
62
+ *
63
+ * @param sessionId - The target session ID (from getActiveSessions())
64
+ * @param method - The notification method name (e.g., "custom/my-notification")
65
+ * @param params - Optional parameters to include in the notification
66
+ * @returns true if the notification was sent, false if session not found
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * const sessions = server.getActiveSessions();
71
+ *
72
+ * // Send different messages to different clients
73
+ * sessions.forEach((sessionId, index) => {
74
+ * server.sendNotificationToSession(sessionId, "custom/welcome", {
75
+ * message: `Hello client #${index + 1}!`,
76
+ * clientNumber: index + 1
77
+ * });
78
+ * });
79
+ * ```
80
+ */
81
+ export declare function sendNotificationToSession(this: NotificationServerContext, sessionId: string, method: string, params?: Record<string, unknown>): Promise<boolean>;
82
+ //# sourceMappingURL=notification-registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-registration.d.ts","sourceRoot":"","sources":["../../../../src/server/notifications/notification-registration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,EAAE,CAE3E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,yBAAyB,EAC/B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,yBAAyB,EAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC,CAOlB"}
@@ -10,4 +10,5 @@ export { createBearerAuthMiddleware } from "./middleware.js";
10
10
  export { setupOAuthRoutes } from "./routes.js";
11
11
  export { getAuth, hasScope, hasAnyScope, requireScope, requireAnyScope, } from "./utils.js";
12
12
  export type { AuthInfo } from "./utils.js";
13
+ export { setupOAuthForServer, type OAuthSetupState } from "./setup.js";
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * OAuth Setup
3
+ *
4
+ * Handles OAuth provider initialization and configuration for MCP servers.
5
+ */
6
+ import type { Hono as HonoType } from "hono";
7
+ /**
8
+ * OAuth setup state
9
+ */
10
+ export interface OAuthSetupState {
11
+ provider?: any;
12
+ middleware?: any;
13
+ complete: boolean;
14
+ }
15
+ /**
16
+ * Setup OAuth authentication for MCP server
17
+ *
18
+ * Initializes OAuth provider, creates bearer auth middleware,
19
+ * sets up OAuth routes, and applies auth to /mcp endpoints.
20
+ *
21
+ * @param app - Hono app instance
22
+ * @param oauthProvider - OAuth provider instance
23
+ * @param baseUrl - Server base URL for OAuth redirects
24
+ * @param state - OAuth setup state to track completion
25
+ * @returns Updated OAuth setup state with provider and middleware
26
+ */
27
+ export declare function setupOAuthForServer(app: HonoType, oauthProvider: any, baseUrl: string, state: OAuthSetupState): Promise<OAuthSetupState>;
28
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;AAI7C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,QAAQ,EACb,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,eAAe,CAAC,CAkC1B"}
@@ -0,0 +1,22 @@
1
+ import type { CallToolResult, GetPromptResult } from "@modelcontextprotocol/sdk/types.js";
2
+ /**
3
+ * Convert CallToolResult to GetPromptResult
4
+ *
5
+ * This function enables using tool response helpers (text(), object(), image(), etc.)
6
+ * in prompt callbacks by converting them to the proper prompt message format.
7
+ *
8
+ * According to the MCP spec, prompts return messages with roles and content.
9
+ * We convert tool-style content to user-role messages.
10
+ *
11
+ * @param result - CallToolResult or GetPromptResult to convert
12
+ * @returns GetPromptResult with proper prompt messages
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const toolResult = text("Please review this code");
17
+ * const promptResult = convertToolResultToPromptResult(toolResult);
18
+ * // Returns: { messages: [{ role: "user", content: { type: "text", text: "Please review this code" } }] }
19
+ * ```
20
+ */
21
+ export declare function convertToolResultToPromptResult(result: CallToolResult | GetPromptResult): GetPromptResult;
22
+ //# sourceMappingURL=conversion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../../src/server/prompts/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAEhB,MAAM,oCAAoC,CAAC;AAW5C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,cAAc,GAAG,eAAe,GACvC,eAAe,CAuFjB"}
@@ -0,0 +1,60 @@
1
+ import type { GetPromptResult } from "@modelcontextprotocol/sdk/types.js";
2
+ import type { PromptDefinition, PromptDefinitionWithoutCallback, PromptCallback } from "../types.js";
3
+ export interface PromptServerContext {
4
+ server: {
5
+ registerPrompt(name: string, metadata: {
6
+ title?: string;
7
+ description: string;
8
+ argsSchema: any;
9
+ }, getPromptCallback: (params: any) => Promise<GetPromptResult>): void;
10
+ };
11
+ registeredPrompts: string[];
12
+ createParamsSchema: (args: any[]) => any;
13
+ convertZodSchemaToParams: (schema: any) => any;
14
+ }
15
+ /**
16
+ * Define a prompt template
17
+ *
18
+ * Registers a prompt template with the MCP server that clients can use to generate
19
+ * structured prompts for AI models. Prompts can now use the same response helpers
20
+ * as tools (text(), object(), markdown(), etc.) for a unified API.
21
+ *
22
+ * Supports two patterns:
23
+ * 1. Old API: Single object with cb property
24
+ * 2. New API: Definition object + separate callback (like tools and resources)
25
+ *
26
+ * @param promptDefinition - Configuration object containing prompt metadata
27
+ * @param promptDefinition.name - Unique identifier for the prompt template
28
+ * @param promptDefinition.description - Human-readable description of the prompt's purpose
29
+ * @param promptDefinition.args - Array of argument definitions (legacy, use schema instead)
30
+ * @param promptDefinition.schema - Zod object schema for input validation (preferred)
31
+ * @param callback - Optional separate callback function (new API pattern)
32
+ * @returns The server instance for method chaining
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * // New API: Using response helpers (recommended)
37
+ * server.prompt(
38
+ * {
39
+ * name: 'code-review',
40
+ * description: 'Generates a code review prompt',
41
+ * schema: z.object({ language: z.string(), code: z.string() })
42
+ * },
43
+ * async ({ language, code }) => text(`Please review this ${language} code:\n\n${code}`)
44
+ * )
45
+ *
46
+ * // Old API: Still supported for backward compatibility
47
+ * server.prompt({
48
+ * name: 'greeting',
49
+ * args: [{ name: 'name', type: 'string', required: true }],
50
+ * cb: async ({ name }) => ({
51
+ * messages: [{
52
+ * role: 'user',
53
+ * content: { type: 'text', text: `Hello, ${name}!` }
54
+ * }]
55
+ * })
56
+ * })
57
+ * ```
58
+ */
59
+ export declare function registerPrompt(this: PromptServerContext, promptDefinition: PromptDefinition | PromptDefinitionWithoutCallback, callback?: PromptCallback): PromptServerContext;
60
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,gBAAgB,EAChB,+BAA+B,EAC/B,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE;QACN,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,GAAG,CAAC;SACjB,EACD,iBAAiB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,eAAe,CAAC,GAC3D,IAAI,CAAC;KACT,CAAC;IACF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACzC,wBAAwB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,mBAAmB,EACzB,gBAAgB,EAAE,gBAAgB,GAAG,+BAA+B,EACpE,QAAQ,CAAC,EAAE,cAAc,GACxB,mBAAmB,CAiFrB"}
@@ -0,0 +1,20 @@
1
+ import type { CallToolResult, ReadResourceResult } from "@modelcontextprotocol/sdk/types.js";
2
+ /**
3
+ * Convert CallToolResult to ReadResourceResult
4
+ *
5
+ * This function enables using tool response helpers (text(), object(), image(), etc.)
6
+ * in resource callbacks by converting them to the proper resource format.
7
+ *
8
+ * @param uri - The resource URI
9
+ * @param result - CallToolResult or ReadResourceResult to convert
10
+ * @returns ReadResourceResult with proper resource contents
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const toolResult = text("Hello World");
15
+ * const resourceResult = convertToolResultToResourceResult("app://greeting", toolResult);
16
+ * // Returns: { contents: [{ uri: "app://greeting", mimeType: "text/plain", text: "Hello World" }] }
17
+ * ```
18
+ */
19
+ export declare function convertToolResultToResourceResult(uri: string, result: CallToolResult | ReadResourceResult): ReadResourceResult;
20
+ //# sourceMappingURL=conversion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../../src/server/resources/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAEnB,MAAM,oCAAoC,CAAC;AA4D5C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,GAAG,kBAAkB,GAC1C,kBAAkB,CA6FpB"}
@@ -0,0 +1,117 @@
1
+ import type { ResourceDefinition, ReadResourceCallback, ReadResourceTemplateCallback, ResourceDefinitionWithoutCallback, ResourceTemplateDefinitionWithoutCallback } from "../types/index.js";
2
+ import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
3
+ import type { ReadResourceResult } from "@modelcontextprotocol/sdk/types.js";
4
+ import type { ResourceTemplateDefinition } from "../types/index.js";
5
+ export { ResourceSubscriptionManager } from "./subscriptions.js";
6
+ export interface ResourceServerContext {
7
+ server: {
8
+ registerResource(name: string, uri: string, metadata: {
9
+ title?: string;
10
+ description?: string;
11
+ mimeType: string;
12
+ _meta?: Record<string, unknown>;
13
+ }, readCallback: () => Promise<ReadResourceResult>): void;
14
+ };
15
+ registeredResources: string[];
16
+ }
17
+ /**
18
+ * Define a static resource that can be accessed by clients
19
+ *
20
+ * Registers a resource with the MCP server that clients can access via HTTP.
21
+ * Resources are static content like files, data, or pre-computed results that
22
+ * can be retrieved by clients without requiring parameters.
23
+ *
24
+ * Supports two patterns:
25
+ * 1. Old API: Single object with readCallback property
26
+ * 2. New API: Definition object + separate callback (like tools)
27
+ *
28
+ * @param resourceDefinition - Configuration object containing resource metadata
29
+ * @param resourceDefinition.name - Unique identifier for the resource
30
+ * @param resourceDefinition.uri - URI pattern for accessing the resource
31
+ * @param resourceDefinition.title - Optional human-readable title for the resource
32
+ * @param resourceDefinition.description - Optional description of the resource
33
+ * @param resourceDefinition.mimeType - MIME type (optional when using callback with response helpers)
34
+ * @param resourceDefinition.annotations - Optional annotations (audience, priority, lastModified)
35
+ * @param callback - Optional separate callback function (new API pattern)
36
+ * @returns The server instance for method chaining
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // New API: Using response helpers (recommended)
41
+ * server.resource(
42
+ * { name: 'greeting', uri: 'app://greeting', title: 'Greeting' },
43
+ * async () => text('Hello World!')
44
+ * )
45
+ *
46
+ * server.resource(
47
+ * { name: 'config', uri: 'config://settings' },
48
+ * async () => object({ theme: 'dark', version: '1.0' })
49
+ * )
50
+ *
51
+ * // Old API: Still supported for backward compatibility
52
+ * server.resource({
53
+ * name: 'config',
54
+ * uri: 'config://app-settings',
55
+ * mimeType: 'application/json',
56
+ * readCallback: async () => ({
57
+ * contents: [{
58
+ * uri: 'config://app-settings',
59
+ * mimeType: 'application/json',
60
+ * text: JSON.stringify({ theme: 'dark' })
61
+ * }]
62
+ * })
63
+ * })
64
+ * ```
65
+ */
66
+ export declare function registerResource(this: ResourceServerContext, resourceDefinition: ResourceDefinition | ResourceDefinitionWithoutCallback, callback?: ReadResourceCallback): ResourceServerContext;
67
+ export interface ResourceTemplateServerContext {
68
+ server: {
69
+ registerResource(name: string, template: ResourceTemplate, metadata: any, readCallback: (uri: URL) => Promise<any>): void;
70
+ };
71
+ registeredResources: string[];
72
+ parseTemplateUri(uriTemplate: string, uri: string): Record<string, string>;
73
+ }
74
+ /**
75
+ * Define a dynamic resource template with parameters
76
+ *
77
+ * Registers a parameterized resource template with the MCP server. Templates use URI
78
+ * patterns with placeholders that can be filled in at request time, allowing dynamic
79
+ * resource generation based on parameters.
80
+ *
81
+ * Supports two patterns:
82
+ * 1. Old API: Single object with readCallback property
83
+ * 2. New API: Definition object + separate callback (like tools)
84
+ *
85
+ * @param resourceTemplateDefinition - Configuration object for the resource template
86
+ * @param resourceTemplateDefinition.name - Unique identifier for the template
87
+ * @param resourceTemplateDefinition.resourceTemplate - ResourceTemplate object with uriTemplate and metadata
88
+ * @param callback - Optional separate callback function (new API pattern)
89
+ * @returns The server instance for method chaining
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * // New API: Using response helpers (recommended)
94
+ * server.resourceTemplate(
95
+ * { name: 'user', resourceTemplate: { uriTemplate: 'user://{id}' } },
96
+ * async (uri, { id }) => object(await getUserData(id))
97
+ * )
98
+ *
99
+ * // Old API: Still supported for backward compatibility
100
+ * server.resourceTemplate({
101
+ * name: 'user-profile',
102
+ * resourceTemplate: {
103
+ * uriTemplate: 'user://{userId}/profile',
104
+ * mimeType: 'application/json'
105
+ * },
106
+ * readCallback: async (uri, params) => ({
107
+ * contents: [{
108
+ * uri: uri.toString(),
109
+ * mimeType: 'application/json',
110
+ * text: JSON.stringify({ userId: params.userId })
111
+ * }]
112
+ * })
113
+ * })
114
+ * ```
115
+ */
116
+ export declare function registerResourceTemplate(this: ResourceTemplateServerContext, resourceTemplateDefinition: ResourceTemplateDefinition | ResourceTemplateDefinitionWithoutCallback, callback?: ReadResourceTemplateCallback): ResourceTemplateServerContext;
117
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,iCAAiC,EACjC,yCAAyC,EAC1C,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAIpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACjC,EACD,YAAY,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,GAC9C,IAAI,CAAC;KACT,CAAC;IACF,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,qBAAqB,EAC3B,kBAAkB,EAAE,kBAAkB,GAAG,iCAAiC,EAC1E,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,qBAAqB,CA+EvB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE;QACN,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,GAAG,EACb,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GACvC,IAAI,CAAC;KACT,CAAC;IACF,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,6BAA6B,EACnC,0BAA0B,EACtB,0BAA0B,GAC1B,yCAAyC,EAC7C,QAAQ,CAAC,EAAE,4BAA4B,GACtC,6BAA6B,CAkG/B"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Resource Subscription Management
3
+ *
4
+ * Handles subscription tracking and notifications for MCP resource updates.
5
+ * Implements the MCP resources/subscribe and resources/unsubscribe protocol.
6
+ */
7
+ import type { McpServer as OfficialMcpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
8
+ import type { SessionData } from "../sessions/index.js";
9
+ /**
10
+ * Subscription manager for tracking resource subscriptions across sessions
11
+ */
12
+ export declare class ResourceSubscriptionManager {
13
+ /**
14
+ * Tracks resource subscriptions per session
15
+ * Map structure: uri -> Set<sessionId>
16
+ */
17
+ private subscriptions;
18
+ /**
19
+ * Register subscription handlers with an MCP server instance
20
+ *
21
+ * @param server - The native MCP server instance
22
+ * @param sessions - Map of active sessions
23
+ */
24
+ registerHandlers(server: OfficialMcpServer, sessions: Map<string, SessionData>): void;
25
+ /**
26
+ * Get session ID from request context or sessions map
27
+ *
28
+ * @param sessions - Map of active sessions
29
+ * @param server - The server instance to match against
30
+ * @returns The session ID, or undefined if not found
31
+ */
32
+ private getSessionIdFromContext;
33
+ /**
34
+ * Notify subscribed clients that a resource has been updated
35
+ *
36
+ * This method sends a `notifications/resources/updated` notification to all
37
+ * sessions that have subscribed to the specified resource URI.
38
+ *
39
+ * @param uri - The URI of the resource that changed
40
+ * @param sessions - Map of active sessions
41
+ * @returns Promise that resolves when all notifications have been sent
42
+ */
43
+ notifyResourceUpdated(uri: string, sessions: Map<string, SessionData>): Promise<void>;
44
+ /**
45
+ * Clean up resource subscriptions for a closed session
46
+ *
47
+ * This method is called automatically when a session is closed to remove
48
+ * all resource subscriptions associated with that session.
49
+ *
50
+ * @param sessionId - The session ID to clean up
51
+ */
52
+ cleanupSession(sessionId: string): void;
53
+ }
54
+ //# sourceMappingURL=subscriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../src/server/resources/subscriptions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAK9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;GAEG;AACH,qBAAa,2BAA2B;IACtC;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAkC;IAEvD;;;;;OAKG;IACI,gBAAgB,CACrB,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACjC,IAAI;IAgEP;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;;;;;;;;OASG;IACU,qBAAqB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;;;;;OAOG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAW/C"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Roots management utilities
3
+ *
4
+ * This module provides functions for managing roots with the MCP server.
5
+ */
6
+ export { onRootsChanged, listRoots } from "./roots-registration.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/roots/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Roots Registration
3
+ *
4
+ * This module handles roots-related functionality for the MCP server.
5
+ * Roots represent the file system or project roots that clients have access to.
6
+ */
7
+ /**
8
+ * Register a callback for when a client's roots change
9
+ *
10
+ * When a client sends a `notifications/roots/list_changed` notification,
11
+ * the server will automatically request the updated roots list and call
12
+ * this callback with the new roots.
13
+ *
14
+ * @param callback - Function called with the updated roots array
15
+ * @returns The server instance for method chaining
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * server.onRootsChanged(async (roots) => {
20
+ * console.log("Client roots updated:", roots);
21
+ * roots.forEach(root => {
22
+ * console.log(` - ${root.name || "unnamed"}: ${root.uri}`);
23
+ * });
24
+ * });
25
+ * ```
26
+ */
27
+ export declare function onRootsChanged(this: any, callback: (roots: Array<{
28
+ uri: string;
29
+ name?: string;
30
+ }>) => void | Promise<void>): any;
31
+ /**
32
+ * Request the current roots list from a specific client session
33
+ *
34
+ * This sends a `roots/list` request to the client and returns
35
+ * the list of roots the client has configured.
36
+ *
37
+ * @param sessionId - The session ID of the client to query
38
+ * @returns Array of roots, or null if the session doesn't exist or request fails
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const sessions = server.getActiveSessions();
43
+ * if (sessions.length > 0) {
44
+ * const roots = await server.listRoots(sessions[0]);
45
+ * if (roots) {
46
+ * console.log(`Client has ${roots.length} roots:`);
47
+ * roots.forEach(r => console.log(` - ${r.uri}`));
48
+ * }
49
+ * }
50
+ * ```
51
+ */
52
+ export declare function listRoots(this: any, sessionId: string): Promise<Array<{
53
+ uri: string;
54
+ name?: string;
55
+ }> | null>;
56
+ //# sourceMappingURL=roots-registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roots-registration.d.ts","sourceRoot":"","sources":["../../../../src/server/roots/roots-registration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,CACR,KAAK,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,KACzC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACxB,GAAG,CAGL;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CA2BvD"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Session Management Exports
3
+ */
4
+ export { type SessionData, startIdleCleanup } from "./session-manager.js";
5
+ export { sendNotificationToAll, sendNotificationToSession, } from "./notifications.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/sessions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Session Notifications
3
+ *
4
+ * Utility functions for sending JSON-RPC notifications to MCP sessions.
5
+ */
6
+ import type { SessionData } from "./session-manager.js";
7
+ /**
8
+ * Send a notification to all connected sessions
9
+ *
10
+ * @param sessions - Map of active sessions
11
+ * @param method - The notification method name
12
+ * @param params - Optional parameters to include in the notification
13
+ */
14
+ export declare function sendNotificationToAll(sessions: Map<string, SessionData>, method: string, params?: Record<string, unknown>): Promise<void>;
15
+ /**
16
+ * Send a notification to a specific session
17
+ *
18
+ * @param sessions - Map of active sessions
19
+ * @param sessionId - The target session ID
20
+ * @param method - The notification method name
21
+ * @param params - Optional parameters to include in the notification
22
+ * @returns true if the notification was sent, false if session not found
23
+ */
24
+ export declare function sendNotificationToSession(sessions: Map<string, SessionData>, sessionId: string, method: string, params?: Record<string, unknown>): Promise<boolean>;
25
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../../src/server/sessions/notifications.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Session Manager
3
+ *
4
+ * Simplified session management for tracking active sessions.
5
+ * The native SDK transport handles session lifecycle internally.
6
+ */
7
+ import type { Context } from "hono";
8
+ /**
9
+ * Session data stored for each active MCP session
10
+ * Following official SDK pattern - each session has its own transport and server
11
+ */
12
+ export interface SessionData {
13
+ /** Reference to this session's transport instance */
14
+ transport: any;
15
+ /** Reference to this session's server instance */
16
+ server?: any;
17
+ /** Timestamp of last activity for idle timeout tracking */
18
+ lastAccessedAt: number;
19
+ /** Hono context for this session's current request */
20
+ context?: Context;
21
+ /** Progress token for current tool call (if any) */
22
+ progressToken?: number;
23
+ /** Function to send notifications to the client */
24
+ sendNotification?: (notification: {
25
+ method: string;
26
+ params: Record<string, any>;
27
+ }) => Promise<void>;
28
+ /** Express-like response object for notifications */
29
+ expressRes?: any;
30
+ /** Hono context for direct response access */
31
+ honoContext?: Context;
32
+ /** Minimum log level for filtering log messages (RFC 5424 levels) */
33
+ logLevel?: string;
34
+ }
35
+ /**
36
+ * Start idle session cleanup interval
37
+ *
38
+ * Monitors sessions and removes them if they've been inactive for too long.
39
+ * Note: This only cleans up our session metadata. The transport manages
40
+ * its own session state.
41
+ *
42
+ * @param sessions - Map of active sessions
43
+ * @param idleTimeoutMs - Idle timeout in milliseconds
44
+ * @param mcpServerInstance - Optional MCP server instance for cleanup callbacks
45
+ */
46
+ export declare function startIdleCleanup(sessions: Map<string, SessionData>, idleTimeoutMs: number, mcpServerInstance?: any): NodeJS.Timeout | undefined;
47
+ //# sourceMappingURL=session-manager.d.ts.map