@ananay-nag/mcp-decorators 1.0.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.
Files changed (214) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +561 -0
  3. package/banner.svg +111 -0
  4. package/dist/cjs/index.d.ts +3 -0
  5. package/dist/cjs/index.d.ts.map +1 -0
  6. package/dist/cjs/index.js +36 -0
  7. package/dist/cjs/index.js.map +1 -0
  8. package/dist/cjs/package.json +1 -0
  9. package/dist/cjs/src/client/decorators/client.decorator.d.ts +66 -0
  10. package/dist/cjs/src/client/decorators/client.decorator.d.ts.map +1 -0
  11. package/dist/cjs/src/client/decorators/client.decorator.js +206 -0
  12. package/dist/cjs/src/client/decorators/client.decorator.js.map +1 -0
  13. package/dist/cjs/src/client/decorators/index.d.ts +4 -0
  14. package/dist/cjs/src/client/decorators/index.d.ts.map +1 -0
  15. package/dist/cjs/src/client/decorators/index.js +23 -0
  16. package/dist/cjs/src/client/decorators/index.js.map +1 -0
  17. package/dist/cjs/src/client/decorators/notification.decorator.d.ts +8 -0
  18. package/dist/cjs/src/client/decorators/notification.decorator.d.ts.map +1 -0
  19. package/dist/cjs/src/client/decorators/notification.decorator.js +19 -0
  20. package/dist/cjs/src/client/decorators/notification.decorator.js.map +1 -0
  21. package/dist/cjs/src/client/decorators/requestHandler.decorator.d.ts +7 -0
  22. package/dist/cjs/src/client/decorators/requestHandler.decorator.d.ts.map +1 -0
  23. package/dist/cjs/src/client/decorators/requestHandler.decorator.js +18 -0
  24. package/dist/cjs/src/client/decorators/requestHandler.decorator.js.map +1 -0
  25. package/dist/cjs/src/client/index.d.ts +4 -0
  26. package/dist/cjs/src/client/index.d.ts.map +1 -0
  27. package/dist/cjs/src/client/index.js +20 -0
  28. package/dist/cjs/src/client/index.js.map +1 -0
  29. package/dist/cjs/src/client/types/client/client.d.ts +14 -0
  30. package/dist/cjs/src/client/types/client/client.d.ts.map +1 -0
  31. package/dist/cjs/src/client/types/client/client.js +3 -0
  32. package/dist/cjs/src/client/types/client/client.js.map +1 -0
  33. package/dist/cjs/src/client/types/index.d.ts +3 -0
  34. package/dist/cjs/src/client/types/index.d.ts.map +1 -0
  35. package/dist/cjs/src/client/types/index.js +19 -0
  36. package/dist/cjs/src/client/types/index.js.map +1 -0
  37. package/dist/cjs/src/client/utils/clientRegistry.d.ts +10 -0
  38. package/dist/cjs/src/client/utils/clientRegistry.d.ts.map +1 -0
  39. package/dist/cjs/src/client/utils/clientRegistry.js +38 -0
  40. package/dist/cjs/src/client/utils/clientRegistry.js.map +1 -0
  41. package/dist/cjs/src/client/utils/index.d.ts +2 -0
  42. package/dist/cjs/src/client/utils/index.d.ts.map +1 -0
  43. package/dist/cjs/src/client/utils/index.js +18 -0
  44. package/dist/cjs/src/client/utils/index.js.map +1 -0
  45. package/dist/cjs/src/server/decorators/action.decorator.d.ts +11 -0
  46. package/dist/cjs/src/server/decorators/action.decorator.d.ts.map +1 -0
  47. package/dist/cjs/src/server/decorators/action.decorator.js +23 -0
  48. package/dist/cjs/src/server/decorators/action.decorator.js.map +1 -0
  49. package/dist/cjs/src/server/decorators/completion.decorator.d.ts +12 -0
  50. package/dist/cjs/src/server/decorators/completion.decorator.d.ts.map +1 -0
  51. package/dist/cjs/src/server/decorators/completion.decorator.js +22 -0
  52. package/dist/cjs/src/server/decorators/completion.decorator.js.map +1 -0
  53. package/dist/cjs/src/server/decorators/index.d.ts +10 -0
  54. package/dist/cjs/src/server/decorators/index.d.ts.map +1 -0
  55. package/dist/cjs/src/server/decorators/index.js +25 -0
  56. package/dist/cjs/src/server/decorators/index.js.map +1 -0
  57. package/dist/cjs/src/server/decorators/notification.decorator.d.ts +11 -0
  58. package/dist/cjs/src/server/decorators/notification.decorator.d.ts.map +1 -0
  59. package/dist/cjs/src/server/decorators/notification.decorator.js +23 -0
  60. package/dist/cjs/src/server/decorators/notification.decorator.js.map +1 -0
  61. package/dist/cjs/src/server/decorators/prompt.decorator.d.ts +19 -0
  62. package/dist/cjs/src/server/decorators/prompt.decorator.d.ts.map +1 -0
  63. package/dist/cjs/src/server/decorators/prompt.decorator.js +23 -0
  64. package/dist/cjs/src/server/decorators/prompt.decorator.js.map +1 -0
  65. package/dist/cjs/src/server/decorators/requestHandler.decorator.d.ts +10 -0
  66. package/dist/cjs/src/server/decorators/requestHandler.decorator.d.ts.map +1 -0
  67. package/dist/cjs/src/server/decorators/requestHandler.decorator.js +33 -0
  68. package/dist/cjs/src/server/decorators/requestHandler.decorator.js.map +1 -0
  69. package/dist/cjs/src/server/decorators/resource.decorator.d.ts +27 -0
  70. package/dist/cjs/src/server/decorators/resource.decorator.d.ts.map +1 -0
  71. package/dist/cjs/src/server/decorators/resource.decorator.js +40 -0
  72. package/dist/cjs/src/server/decorators/resource.decorator.js.map +1 -0
  73. package/dist/cjs/src/server/decorators/server.decorator.d.ts +18 -0
  74. package/dist/cjs/src/server/decorators/server.decorator.d.ts.map +1 -0
  75. package/dist/cjs/src/server/decorators/server.decorator.js +385 -0
  76. package/dist/cjs/src/server/decorators/server.decorator.js.map +1 -0
  77. package/dist/cjs/src/server/decorators/subscribe.decorator.d.ts +13 -0
  78. package/dist/cjs/src/server/decorators/subscribe.decorator.d.ts.map +1 -0
  79. package/dist/cjs/src/server/decorators/subscribe.decorator.js +26 -0
  80. package/dist/cjs/src/server/decorators/subscribe.decorator.js.map +1 -0
  81. package/dist/cjs/src/server/decorators/tool.decorator.d.ts +15 -0
  82. package/dist/cjs/src/server/decorators/tool.decorator.d.ts.map +1 -0
  83. package/dist/cjs/src/server/decorators/tool.decorator.js +23 -0
  84. package/dist/cjs/src/server/decorators/tool.decorator.js.map +1 -0
  85. package/dist/cjs/src/server/index.d.ts +4 -0
  86. package/dist/cjs/src/server/index.d.ts.map +1 -0
  87. package/dist/cjs/src/server/index.js +33 -0
  88. package/dist/cjs/src/server/index.js.map +1 -0
  89. package/dist/cjs/src/server/types/index.d.ts +3 -0
  90. package/dist/cjs/src/server/types/index.d.ts.map +1 -0
  91. package/dist/cjs/src/server/types/index.js +19 -0
  92. package/dist/cjs/src/server/types/index.js.map +1 -0
  93. package/dist/cjs/src/server/types/server/index.d.ts +2 -0
  94. package/dist/cjs/src/server/types/server/index.d.ts.map +1 -0
  95. package/dist/cjs/src/server/types/server/index.js +18 -0
  96. package/dist/cjs/src/server/types/server/index.js.map +1 -0
  97. package/dist/cjs/src/server/types/server/server.d.ts +35 -0
  98. package/dist/cjs/src/server/types/server/server.d.ts.map +1 -0
  99. package/dist/cjs/src/server/types/server/server.js +3 -0
  100. package/dist/cjs/src/server/types/server/server.js.map +1 -0
  101. package/dist/cjs/src/server/utils/index.d.ts +2 -0
  102. package/dist/cjs/src/server/utils/index.d.ts.map +1 -0
  103. package/dist/cjs/src/server/utils/index.js +18 -0
  104. package/dist/cjs/src/server/utils/index.js.map +1 -0
  105. package/dist/cjs/src/server/utils/serverRegistry.d.ts +81 -0
  106. package/dist/cjs/src/server/utils/serverRegistry.d.ts.map +1 -0
  107. package/dist/cjs/src/server/utils/serverRegistry.js +151 -0
  108. package/dist/cjs/src/server/utils/serverRegistry.js.map +1 -0
  109. package/dist/esm/index.d.ts +3 -0
  110. package/dist/esm/index.d.ts.map +1 -0
  111. package/dist/esm/index.js +3 -0
  112. package/dist/esm/index.js.map +1 -0
  113. package/dist/esm/package.json +1 -0
  114. package/dist/esm/src/client/decorators/client.decorator.d.ts +66 -0
  115. package/dist/esm/src/client/decorators/client.decorator.d.ts.map +1 -0
  116. package/dist/esm/src/client/decorators/client.decorator.js +198 -0
  117. package/dist/esm/src/client/decorators/client.decorator.js.map +1 -0
  118. package/dist/esm/src/client/decorators/index.d.ts +4 -0
  119. package/dist/esm/src/client/decorators/index.d.ts.map +1 -0
  120. package/dist/esm/src/client/decorators/index.js +4 -0
  121. package/dist/esm/src/client/decorators/index.js.map +1 -0
  122. package/dist/esm/src/client/decorators/notification.decorator.d.ts +8 -0
  123. package/dist/esm/src/client/decorators/notification.decorator.d.ts.map +1 -0
  124. package/dist/esm/src/client/decorators/notification.decorator.js +15 -0
  125. package/dist/esm/src/client/decorators/notification.decorator.js.map +1 -0
  126. package/dist/esm/src/client/decorators/requestHandler.decorator.d.ts +7 -0
  127. package/dist/esm/src/client/decorators/requestHandler.decorator.d.ts.map +1 -0
  128. package/dist/esm/src/client/decorators/requestHandler.decorator.js +14 -0
  129. package/dist/esm/src/client/decorators/requestHandler.decorator.js.map +1 -0
  130. package/dist/esm/src/client/index.d.ts +4 -0
  131. package/dist/esm/src/client/index.d.ts.map +1 -0
  132. package/dist/esm/src/client/index.js +4 -0
  133. package/dist/esm/src/client/index.js.map +1 -0
  134. package/dist/esm/src/client/types/client/client.d.ts +14 -0
  135. package/dist/esm/src/client/types/client/client.d.ts.map +1 -0
  136. package/dist/esm/src/client/types/client/client.js +2 -0
  137. package/dist/esm/src/client/types/client/client.js.map +1 -0
  138. package/dist/esm/src/client/types/index.d.ts +3 -0
  139. package/dist/esm/src/client/types/index.d.ts.map +1 -0
  140. package/dist/esm/src/client/types/index.js +3 -0
  141. package/dist/esm/src/client/types/index.js.map +1 -0
  142. package/dist/esm/src/client/utils/clientRegistry.d.ts +10 -0
  143. package/dist/esm/src/client/utils/clientRegistry.d.ts.map +1 -0
  144. package/dist/esm/src/client/utils/clientRegistry.js +33 -0
  145. package/dist/esm/src/client/utils/clientRegistry.js.map +1 -0
  146. package/dist/esm/src/client/utils/index.d.ts +2 -0
  147. package/dist/esm/src/client/utils/index.d.ts.map +1 -0
  148. package/dist/esm/src/client/utils/index.js +2 -0
  149. package/dist/esm/src/client/utils/index.js.map +1 -0
  150. package/dist/esm/src/server/decorators/action.decorator.d.ts +11 -0
  151. package/dist/esm/src/server/decorators/action.decorator.d.ts.map +1 -0
  152. package/dist/esm/src/server/decorators/action.decorator.js +19 -0
  153. package/dist/esm/src/server/decorators/action.decorator.js.map +1 -0
  154. package/dist/esm/src/server/decorators/completion.decorator.d.ts +12 -0
  155. package/dist/esm/src/server/decorators/completion.decorator.d.ts.map +1 -0
  156. package/dist/esm/src/server/decorators/completion.decorator.js +18 -0
  157. package/dist/esm/src/server/decorators/completion.decorator.js.map +1 -0
  158. package/dist/esm/src/server/decorators/index.d.ts +10 -0
  159. package/dist/esm/src/server/decorators/index.d.ts.map +1 -0
  160. package/dist/esm/src/server/decorators/index.js +10 -0
  161. package/dist/esm/src/server/decorators/index.js.map +1 -0
  162. package/dist/esm/src/server/decorators/notification.decorator.d.ts +11 -0
  163. package/dist/esm/src/server/decorators/notification.decorator.d.ts.map +1 -0
  164. package/dist/esm/src/server/decorators/notification.decorator.js +19 -0
  165. package/dist/esm/src/server/decorators/notification.decorator.js.map +1 -0
  166. package/dist/esm/src/server/decorators/prompt.decorator.d.ts +19 -0
  167. package/dist/esm/src/server/decorators/prompt.decorator.d.ts.map +1 -0
  168. package/dist/esm/src/server/decorators/prompt.decorator.js +19 -0
  169. package/dist/esm/src/server/decorators/prompt.decorator.js.map +1 -0
  170. package/dist/esm/src/server/decorators/requestHandler.decorator.d.ts +10 -0
  171. package/dist/esm/src/server/decorators/requestHandler.decorator.d.ts.map +1 -0
  172. package/dist/esm/src/server/decorators/requestHandler.decorator.js +29 -0
  173. package/dist/esm/src/server/decorators/requestHandler.decorator.js.map +1 -0
  174. package/dist/esm/src/server/decorators/resource.decorator.d.ts +27 -0
  175. package/dist/esm/src/server/decorators/resource.decorator.d.ts.map +1 -0
  176. package/dist/esm/src/server/decorators/resource.decorator.js +35 -0
  177. package/dist/esm/src/server/decorators/resource.decorator.js.map +1 -0
  178. package/dist/esm/src/server/decorators/server.decorator.d.ts +18 -0
  179. package/dist/esm/src/server/decorators/server.decorator.d.ts.map +1 -0
  180. package/dist/esm/src/server/decorators/server.decorator.js +378 -0
  181. package/dist/esm/src/server/decorators/server.decorator.js.map +1 -0
  182. package/dist/esm/src/server/decorators/subscribe.decorator.d.ts +13 -0
  183. package/dist/esm/src/server/decorators/subscribe.decorator.d.ts.map +1 -0
  184. package/dist/esm/src/server/decorators/subscribe.decorator.js +21 -0
  185. package/dist/esm/src/server/decorators/subscribe.decorator.js.map +1 -0
  186. package/dist/esm/src/server/decorators/tool.decorator.d.ts +15 -0
  187. package/dist/esm/src/server/decorators/tool.decorator.d.ts.map +1 -0
  188. package/dist/esm/src/server/decorators/tool.decorator.js +19 -0
  189. package/dist/esm/src/server/decorators/tool.decorator.js.map +1 -0
  190. package/dist/esm/src/server/index.d.ts +4 -0
  191. package/dist/esm/src/server/index.d.ts.map +1 -0
  192. package/dist/esm/src/server/index.js +4 -0
  193. package/dist/esm/src/server/index.js.map +1 -0
  194. package/dist/esm/src/server/types/index.d.ts +3 -0
  195. package/dist/esm/src/server/types/index.d.ts.map +1 -0
  196. package/dist/esm/src/server/types/index.js +3 -0
  197. package/dist/esm/src/server/types/index.js.map +1 -0
  198. package/dist/esm/src/server/types/server/index.d.ts +2 -0
  199. package/dist/esm/src/server/types/server/index.d.ts.map +1 -0
  200. package/dist/esm/src/server/types/server/index.js +2 -0
  201. package/dist/esm/src/server/types/server/index.js.map +1 -0
  202. package/dist/esm/src/server/types/server/server.d.ts +35 -0
  203. package/dist/esm/src/server/types/server/server.d.ts.map +1 -0
  204. package/dist/esm/src/server/types/server/server.js +2 -0
  205. package/dist/esm/src/server/types/server/server.js.map +1 -0
  206. package/dist/esm/src/server/utils/index.d.ts +2 -0
  207. package/dist/esm/src/server/utils/index.d.ts.map +1 -0
  208. package/dist/esm/src/server/utils/index.js +2 -0
  209. package/dist/esm/src/server/utils/index.js.map +1 -0
  210. package/dist/esm/src/server/utils/serverRegistry.d.ts +81 -0
  211. package/dist/esm/src/server/utils/serverRegistry.d.ts.map +1 -0
  212. package/dist/esm/src/server/utils/serverRegistry.js +140 -0
  213. package/dist/esm/src/server/utils/serverRegistry.js.map +1 -0
  214. package/package.json +50 -0
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @description
3
+ * This interface defines the options for registering a server.
4
+ * The name is a required field, while the version is optional.
5
+ * additional properties can be added as needed.
6
+ */
7
+ interface BaseServer {
8
+ name: string;
9
+ version?: string;
10
+ [key: string]: any;
11
+ }
12
+ /**
13
+ * @description
14
+ * This interface defines the options for registering a server.
15
+ * The name is a required field, while the version is optional.
16
+ */
17
+ export interface RegisterServerOptions extends BaseServer {
18
+ }
19
+ /**
20
+ * @description
21
+ * This interface defines the options for using a server.
22
+ * The name is a required field, while the version is optional.
23
+ */
24
+ export interface UseServerOptions extends BaseServer {
25
+ }
26
+ /**
27
+ * @description
28
+ * This interface defines the metadata for a server.
29
+ * It includes the server name is required, version is optional, and the server instance itself.
30
+ */
31
+ export interface ServerMetadata extends BaseServer {
32
+ server: any;
33
+ }
34
+ export {};
35
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../../src/server/types/server/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAsB,SAAQ,UAAU;CAAG;AAE5D;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;CAAG;AAEvD;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,MAAM,EAAE,GAAG,CAAC;CACb"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../../src/server/types/server/server.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./serverRegistry.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,18 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./serverRegistry.js"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAmC"}
@@ -0,0 +1,81 @@
1
+ import { RegisterServerOptions, UseServerOptions } from "../types/index.js";
2
+ /**
3
+ * Registers a server with the given options.
4
+ * Stores the server metadata in a registry.
5
+ * Throws an error if a server with the same name and version is already registered.
6
+ * @param options - Options for registering the server (name, version).
7
+ * @param server - The server instance to register.
8
+ */
9
+ export declare function registerServer(options: RegisterServerOptions, server: any): void;
10
+ /**
11
+ * Retrieves a registered server based on the provided options.
12
+ * Returns the server instance if found, otherwise undefined.
13
+ * If a version is specified, it returns the server with that specific version.
14
+ * If no version is specified and only one version is registered, it returns that server.
15
+ * Otherwise, it returns undefined.
16
+ * @param options - Options for retrieving the server (name, optional version).
17
+ * @returns The registered server instance or undefined.
18
+ */
19
+ export declare function getServer(options: UseServerOptions): any | undefined;
20
+ /**
21
+ * Metadata registration structure for server instances.
22
+ * Stores decorators data globally mapped to their respective server.
23
+ */
24
+ export interface ServerRegistration {
25
+ server: any;
26
+ tools: Map<string, {
27
+ options: any;
28
+ handler: Function;
29
+ }>;
30
+ prompts: Map<string, {
31
+ options: any;
32
+ handler: Function;
33
+ }>;
34
+ resources: Map<string, {
35
+ options: any;
36
+ handler: Function;
37
+ }>;
38
+ resourceTemplates: Map<string, {
39
+ options: any;
40
+ handler: Function;
41
+ }>;
42
+ subscribers: Map<string, Set<string>>;
43
+ subscribeHandler?: Function;
44
+ unsubscribeHandler?: Function;
45
+ completionHandlers: Array<{
46
+ ref: any;
47
+ handler: Function;
48
+ }>;
49
+ }
50
+ /**
51
+ * Get or create server registration details for tracking decorator features.
52
+ */
53
+ export declare function getOrCreateServerRegistration(server: any): ServerRegistration;
54
+ /**
55
+ * Match a URI against a URI template and extract parameters.
56
+ * E.g. template: "mysql://{tableName}/schema" matches uri: "mysql://users/schema"
57
+ * and returns { tableName: "users" }.
58
+ */
59
+ export declare function matchUriTemplate(template: string, uri: string): Record<string, string> | null;
60
+ /**
61
+ * Helper to notify clients that a resource has updated.
62
+ */
63
+ export declare function notifyResourceUpdated(server: any, uri: string): Promise<void>;
64
+ /**
65
+ * Helper to send progress notifications to a client from a server handler.
66
+ */
67
+ export declare function sendProgress(server: any, progressToken: string | number, progress: number, total?: number, message?: string): Promise<void>;
68
+ /**
69
+ * Helper to send logging messages/notifications from a server.
70
+ */
71
+ export declare function sendLoggingMessage(server: any, level: "debug" | "info" | "notice" | "warning" | "error" | "critical" | "alert" | "emergency", data: unknown, logger?: string): Promise<void>;
72
+ /**
73
+ * Helper to request elicitation (input/form) from the client.
74
+ */
75
+ export declare function elicitInput(server: any, params: {
76
+ mode: "form" | "url";
77
+ message?: string;
78
+ requestedSchema?: Record<string, unknown>;
79
+ url?: string;
80
+ }, options?: any): Promise<any>;
81
+ //# sourceMappingURL=serverRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/server/utils/serverRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAK3B;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,GAAG,GACV,IAAI,CAgBN;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,GAAG,GAAG,SAAS,CAqBpE;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IACxD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC1D,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC5D,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IACpE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,kBAAkB,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;CAC5D;AAID;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,GAAG,GAAG,kBAAkB,CAe7E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAoB7F;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,MAAM,GAAG,MAAM,EAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,EAC7F,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE;IACN,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,EACD,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,GAAG,CAAC,CAUd"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.elicitInput = exports.sendLoggingMessage = exports.sendProgress = exports.notifyResourceUpdated = exports.matchUriTemplate = exports.getOrCreateServerRegistration = exports.getServer = exports.registerServer = void 0;
4
+ const zod_1 = require("zod");
5
+ const serverRegistry = new Map();
6
+ /**
7
+ * Registers a server with the given options.
8
+ * Stores the server metadata in a registry.
9
+ * Throws an error if a server with the same name and version is already registered.
10
+ * @param options - Options for registering the server (name, version).
11
+ * @param server - The server instance to register.
12
+ */
13
+ function registerServer(options, server) {
14
+ const { name, version } = options;
15
+ const serverMetadata = { name, version, server };
16
+ const existingServers = serverRegistry.get(name) || [];
17
+ const alreadyRegistered = existingServers.some((s) => s.version === version);
18
+ if (alreadyRegistered) {
19
+ throw new Error(`Server with name "${name}" and version "${version}" is already registered.`);
20
+ }
21
+ serverRegistry.set(name, [...existingServers, serverMetadata]);
22
+ }
23
+ exports.registerServer = registerServer;
24
+ /**
25
+ * Retrieves a registered server based on the provided options.
26
+ * Returns the server instance if found, otherwise undefined.
27
+ * If a version is specified, it returns the server with that specific version.
28
+ * If no version is specified and only one version is registered, it returns that server.
29
+ * Otherwise, it returns undefined.
30
+ * @param options - Options for retrieving the server (name, optional version).
31
+ * @returns The registered server instance or undefined.
32
+ */
33
+ function getServer(options) {
34
+ const { name, version } = options;
35
+ const serverMetadataList = serverRegistry.get(name);
36
+ if (!serverMetadataList || serverMetadataList.length === 0) {
37
+ return undefined;
38
+ }
39
+ if (version) {
40
+ const foundServer = serverMetadataList.find((s) => s.version === version);
41
+ return foundServer === null || foundServer === void 0 ? void 0 : foundServer.server;
42
+ }
43
+ if (serverMetadataList.length === 1) {
44
+ return serverMetadataList[0].server;
45
+ }
46
+ if (!version) {
47
+ console.log(`Server version not passed, will return same name version ${serverMetadataList[0].name} with index 0 found in registry.`);
48
+ }
49
+ return serverMetadataList[0].server; // No specific version requested and multiple versions exist
50
+ }
51
+ exports.getServer = getServer;
52
+ const activeServers = new Map();
53
+ /**
54
+ * Get or create server registration details for tracking decorator features.
55
+ */
56
+ function getOrCreateServerRegistration(server) {
57
+ let reg = activeServers.get(server);
58
+ if (!reg) {
59
+ reg = {
60
+ server,
61
+ tools: new Map(),
62
+ prompts: new Map(),
63
+ resources: new Map(),
64
+ resourceTemplates: new Map(),
65
+ subscribers: new Map(),
66
+ completionHandlers: [],
67
+ };
68
+ activeServers.set(server, reg);
69
+ }
70
+ return reg;
71
+ }
72
+ exports.getOrCreateServerRegistration = getOrCreateServerRegistration;
73
+ /**
74
+ * Match a URI against a URI template and extract parameters.
75
+ * E.g. template: "mysql://{tableName}/schema" matches uri: "mysql://users/schema"
76
+ * and returns { tableName: "users" }.
77
+ */
78
+ function matchUriTemplate(template, uri) {
79
+ const paramNames = [];
80
+ const regexStr = "^" + template
81
+ .replace(/[.+*?^$()|[\]\\\/\s]/g, "\\$&") // Escape regex special chars except {}
82
+ .replace(/\{([^}]+)\}/g, (_, name) => {
83
+ paramNames.push(name);
84
+ return "([^/]+)";
85
+ }) + "$";
86
+ const regex = new RegExp(regexStr);
87
+ const match = uri.match(regex);
88
+ if (!match) {
89
+ return null;
90
+ }
91
+ const params = {};
92
+ for (let i = 0; i < paramNames.length; i++) {
93
+ params[paramNames[i]] = match[i + 1];
94
+ }
95
+ return params;
96
+ }
97
+ exports.matchUriTemplate = matchUriTemplate;
98
+ /**
99
+ * Helper to notify clients that a resource has updated.
100
+ */
101
+ async function notifyResourceUpdated(server, uri) {
102
+ const underlyingServer = server.server || server;
103
+ await underlyingServer.notification({
104
+ method: "notifications/resources/updated",
105
+ params: { uri }
106
+ });
107
+ }
108
+ exports.notifyResourceUpdated = notifyResourceUpdated;
109
+ /**
110
+ * Helper to send progress notifications to a client from a server handler.
111
+ */
112
+ async function sendProgress(server, progressToken, progress, total, message) {
113
+ const underlyingServer = server.server || server;
114
+ await underlyingServer.notification({
115
+ method: "notifications/progress",
116
+ params: {
117
+ progressToken,
118
+ progress,
119
+ total,
120
+ message
121
+ }
122
+ });
123
+ }
124
+ exports.sendProgress = sendProgress;
125
+ /**
126
+ * Helper to send logging messages/notifications from a server.
127
+ */
128
+ async function sendLoggingMessage(server, level, data, logger) {
129
+ const underlyingServer = server.server || server;
130
+ await underlyingServer.notification({
131
+ method: "notifications/message",
132
+ params: {
133
+ level,
134
+ data,
135
+ logger
136
+ }
137
+ });
138
+ }
139
+ exports.sendLoggingMessage = sendLoggingMessage;
140
+ /**
141
+ * Helper to request elicitation (input/form) from the client.
142
+ */
143
+ async function elicitInput(server, params, options) {
144
+ const underlyingServer = server.server || server;
145
+ return underlyingServer.request({
146
+ method: "elicitation/create",
147
+ params
148
+ }, zod_1.z.any(), options);
149
+ }
150
+ exports.elicitInput = elicitInput;
151
+ //# sourceMappingURL=serverRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRegistry.js","sourceRoot":"","sources":["../../../../../src/server/utils/serverRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./src/server/index.js";
2
+ export { RegisterClient, UseClient, CallTool, ListTools, GetPrompt, ListPrompts, ReadResource, ListResources, ListResourceTemplates, SubscribeResource, UnsubscribeResource, CompletePromptOrResource, SetLoggingLevel, PingServer, getClient, registerClient } from "./src/client/index.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,cAAc,EACd,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,UAAU,EACV,SAAS,EACT,cAAc,EACf,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./src/server/index.js";
2
+ export { RegisterClient, UseClient, CallTool, ListTools, GetPrompt, ListPrompts, ReadResource, ListResources, ListResourceTemplates, SubscribeResource, UnsubscribeResource, CompletePromptOrResource, SetLoggingLevel, PingServer, getClient, registerClient } from "./src/client/index.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,cAAc,EACd,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,UAAU,EACV,SAAS,EACT,cAAc,EACf,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ {"type": "module"}
@@ -0,0 +1,66 @@
1
+ import { UseClientOptions } from "../types/index.js";
2
+ /**
3
+ * Class decorator to auto-register an MCP Client instance.
4
+ */
5
+ export declare function RegisterClient(): ClassDecorator;
6
+ /**
7
+ * Register low-level request handlers on the client instance.
8
+ */
9
+ export declare function registerRequestHandlers(target: any, instance: any, client: any): void;
10
+ /**
11
+ * Register low-level notification handlers on the client instance.
12
+ */
13
+ export declare function registerNotificationHandlers(target: any, instance: any, client: any): void;
14
+ /**
15
+ * Class decorator to inject a registered client instance and bind decorators.
16
+ */
17
+ export declare function UseClient(options: UseClientOptions): ClassDecorator;
18
+ /**
19
+ * Decorator to call a tool on the server.
20
+ */
21
+ export declare const CallTool: (customName?: string) => MethodDecorator;
22
+ /**
23
+ * Decorator to list available tools on the server.
24
+ */
25
+ export declare const ListTools: (customName?: string) => MethodDecorator;
26
+ /**
27
+ * Decorator to get a prompt from the server.
28
+ */
29
+ export declare const GetPrompt: (customName?: string) => MethodDecorator;
30
+ /**
31
+ * Decorator to list available prompts on the server.
32
+ */
33
+ export declare const ListPrompts: (customName?: string) => MethodDecorator;
34
+ /**
35
+ * Decorator to read a resource from the server.
36
+ */
37
+ export declare const ReadResource: (customName?: string) => MethodDecorator;
38
+ /**
39
+ * Decorator to list available resources on the server.
40
+ */
41
+ export declare const ListResources: (customName?: string) => MethodDecorator;
42
+ /**
43
+ * Decorator to list available resource templates on the server.
44
+ */
45
+ export declare const ListResourceTemplates: (customName?: string) => MethodDecorator;
46
+ /**
47
+ * Decorator to subscribe to resource updates on the server.
48
+ */
49
+ export declare const SubscribeResource: (customName?: string) => MethodDecorator;
50
+ /**
51
+ * Decorator to unsubscribe from resource updates on the server.
52
+ */
53
+ export declare const UnsubscribeResource: (customName?: string) => MethodDecorator;
54
+ /**
55
+ * Decorator to complete a prompt/resource template argument on the server.
56
+ */
57
+ export declare const CompletePromptOrResource: (customName?: string) => MethodDecorator;
58
+ /**
59
+ * Decorator to set the server logging level.
60
+ */
61
+ export declare const SetLoggingLevel: (customName?: string) => MethodDecorator;
62
+ /**
63
+ * Decorator to ping the server.
64
+ */
65
+ export declare function PingServer(): MethodDecorator;
66
+ //# sourceMappingURL=client.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/client/decorators/client.decorator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAerD;;GAEG;AACH,wBAAgB,cAAc,IAAI,cAAc,CAoB/C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAgB9E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAgBnF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CA2BnE;AAqCD;;GAEG;AACH,eAAO,MAAM,QAAQ,gBAlCW,MAAM,KAAG,eAqCtC,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,SAAS,gBA1CU,MAAM,KAAG,eA0CyC,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,SAAS,gBA/CU,MAAM,KAAG,eAkDtC,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,WAAW,gBAvDQ,MAAM,KAAG,eAuD+C,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,YAAY,gBA5DO,MAAM,KAAG,eAiEvC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,gBAtEM,MAAM,KAAG,eAsEqD,CAAC;AAE/F;;GAEG;AACH,eAAO,MAAM,qBAAqB,gBA3EF,MAAM,KAAG,eA2E+E,CAAC;AAEzH;;GAEG;AACH,eAAO,MAAM,iBAAiB,gBAhFE,MAAM,KAAG,eAqFvC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB,gBA1FA,MAAM,KAAG,eA+FvC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB,gBApGL,MAAM,KAAG,eAoGgE,CAAC;AAE1G;;GAEG;AACH,eAAO,MAAM,eAAe,gBAzGI,MAAM,KAAG,eA8GvC,CAAC;AAEH;;GAEG;AACH,wBAAgB,UAAU,IAAI,eAAe,CAU5C"}
@@ -0,0 +1,198 @@
1
+ import { getClient, registerClient } from "../utils/clientRegistry.js";
2
+ import { z } from "zod";
3
+ import { NOTIFICATION_META } from "./notification.decorator.js";
4
+ import { CallToolResultSchema, ListToolsResultSchema, GetPromptResultSchema, ListPromptsResultSchema, ReadResourceResultSchema, ListResourcesResultSchema, ListResourceTemplatesResultSchema, CompleteResultSchema, EmptyResultSchema, } from "@modelcontextprotocol/sdk/types.js";
5
+ /**
6
+ * Class decorator to auto-register an MCP Client instance.
7
+ */
8
+ export function RegisterClient() {
9
+ return function (target) {
10
+ const originalConstructor = target;
11
+ const newConstructor = function (...args) {
12
+ let clientInfo = args[0];
13
+ const instance = new originalConstructor(...args);
14
+ console.log(`[Client] Registering client "${JSON.stringify(clientInfo)}"`);
15
+ // Relaxed check to support both SDK v1 Client and SDK v2 Client
16
+ if (instance && (typeof instance.connect === "function")) {
17
+ registerClient(clientInfo, instance);
18
+ }
19
+ return instance;
20
+ };
21
+ newConstructor.prototype = originalConstructor.prototype;
22
+ return newConstructor;
23
+ };
24
+ }
25
+ /**
26
+ * Register low-level request handlers on the client instance.
27
+ */
28
+ export function registerRequestHandlers(target, instance, client) {
29
+ const pendingHandlers = target.prototype._pendingHandlers || [];
30
+ for (const { schema, methodName } of pendingHandlers) {
31
+ const handlerFn = instance[methodName].bind(instance);
32
+ let normalizedSchema = schema;
33
+ if (typeof schema === "string") {
34
+ normalizedSchema = z.object({
35
+ method: z.literal(schema),
36
+ params: z.any().optional(),
37
+ });
38
+ }
39
+ client.setRequestHandler(normalizedSchema, handlerFn);
40
+ console.log(`[Client] ✅ Registered request handler "${typeof schema === "string" ? schema : schema.shape.method.value}" -> ${String(methodName)}`);
41
+ }
42
+ }
43
+ /**
44
+ * Register low-level notification handlers on the client instance.
45
+ */
46
+ export function registerNotificationHandlers(target, instance, client) {
47
+ const pendingNotifications = target.prototype[NOTIFICATION_META] || [];
48
+ for (const { method, methodName } of pendingNotifications) {
49
+ const handlerFn = instance[methodName].bind(instance);
50
+ let normalizedSchema = method;
51
+ if (typeof method === "string") {
52
+ normalizedSchema = z.object({
53
+ method: z.literal(method),
54
+ params: z.any().optional(),
55
+ });
56
+ }
57
+ client.setNotificationHandler(normalizedSchema, handlerFn);
58
+ console.log(`[Client] ✅ Registered notification handler "${typeof method === "string" ? method : method.shape.method.value}" -> ${String(methodName)}`);
59
+ }
60
+ }
61
+ /**
62
+ * Class decorator to inject a registered client instance and bind decorators.
63
+ */
64
+ export function UseClient(options) {
65
+ return function (target) {
66
+ const originalConstructor = target;
67
+ function newConstructor(...args) {
68
+ const instance = new originalConstructor(...args);
69
+ if (!options.name) {
70
+ throw new Error("Client name is required in @UseClient options.");
71
+ }
72
+ const client = getClient(options);
73
+ if (!client) {
74
+ throw new Error(`Client with name "${options.name}" not found.`);
75
+ }
76
+ instance.client = client;
77
+ registerRequestHandlers(target, instance, client);
78
+ registerNotificationHandlers(target, instance, client);
79
+ return instance;
80
+ }
81
+ newConstructor.prototype = originalConstructor.prototype;
82
+ return newConstructor;
83
+ };
84
+ }
85
+ /**
86
+ * Helper to build client request decorators.
87
+ */
88
+ function makeRequestDecorator(method, resultSchema, getParams) {
89
+ return function (customName) {
90
+ return function (target, propertyKey, descriptor) {
91
+ const name = customName || String(propertyKey);
92
+ const originalMethod = descriptor.value;
93
+ descriptor.value = async function (args, options) {
94
+ if (!this.client) {
95
+ throw new Error(`Client instance not injected. Make sure class is decorated with @UseClient.`);
96
+ }
97
+ let processedArgs = args;
98
+ if (originalMethod) {
99
+ const result = await originalMethod.apply(this, [args, options]);
100
+ if (result !== undefined) {
101
+ processedArgs = result;
102
+ }
103
+ }
104
+ const params = getParams ? getParams(processedArgs, name) : (processedArgs || {});
105
+ return this.client.request({
106
+ method,
107
+ params
108
+ }, resultSchema, options);
109
+ };
110
+ return descriptor;
111
+ };
112
+ };
113
+ }
114
+ /**
115
+ * Decorator to call a tool on the server.
116
+ */
117
+ export const CallTool = makeRequestDecorator("tools/call", CallToolResultSchema, (args, name) => ({
118
+ name,
119
+ arguments: args
120
+ }));
121
+ /**
122
+ * Decorator to list available tools on the server.
123
+ */
124
+ export const ListTools = makeRequestDecorator("tools/list", ListToolsResultSchema);
125
+ /**
126
+ * Decorator to get a prompt from the server.
127
+ */
128
+ export const GetPrompt = makeRequestDecorator("prompts/get", GetPromptResultSchema, (args, name) => ({
129
+ name,
130
+ arguments: args
131
+ }));
132
+ /**
133
+ * Decorator to list available prompts on the server.
134
+ */
135
+ export const ListPrompts = makeRequestDecorator("prompts/list", ListPromptsResultSchema);
136
+ /**
137
+ * Decorator to read a resource from the server.
138
+ */
139
+ export const ReadResource = makeRequestDecorator("resources/read", ReadResourceResultSchema, (args) => {
140
+ if (typeof args === "string") {
141
+ return { uri: args };
142
+ }
143
+ return args;
144
+ });
145
+ /**
146
+ * Decorator to list available resources on the server.
147
+ */
148
+ export const ListResources = makeRequestDecorator("resources/list", ListResourcesResultSchema);
149
+ /**
150
+ * Decorator to list available resource templates on the server.
151
+ */
152
+ export const ListResourceTemplates = makeRequestDecorator("resources/templates/list", ListResourceTemplatesResultSchema);
153
+ /**
154
+ * Decorator to subscribe to resource updates on the server.
155
+ */
156
+ export const SubscribeResource = makeRequestDecorator("resources/subscribe", EmptyResultSchema, (args) => {
157
+ if (typeof args === "string") {
158
+ return { uri: args };
159
+ }
160
+ return args;
161
+ });
162
+ /**
163
+ * Decorator to unsubscribe from resource updates on the server.
164
+ */
165
+ export const UnsubscribeResource = makeRequestDecorator("resources/unsubscribe", EmptyResultSchema, (args) => {
166
+ if (typeof args === "string") {
167
+ return { uri: args };
168
+ }
169
+ return args;
170
+ });
171
+ /**
172
+ * Decorator to complete a prompt/resource template argument on the server.
173
+ */
174
+ export const CompletePromptOrResource = makeRequestDecorator("completion/complete", CompleteResultSchema);
175
+ /**
176
+ * Decorator to set the server logging level.
177
+ */
178
+ export const SetLoggingLevel = makeRequestDecorator("logging/setLevel", EmptyResultSchema, (args) => {
179
+ if (typeof args === "string") {
180
+ return { level: args };
181
+ }
182
+ return args;
183
+ });
184
+ /**
185
+ * Decorator to ping the server.
186
+ */
187
+ export function PingServer() {
188
+ return function (target, propertyKey, descriptor) {
189
+ descriptor.value = async function (options) {
190
+ if (!this.client) {
191
+ throw new Error(`Client instance not injected. Make sure class is decorated with @UseClient.`);
192
+ }
193
+ return this.client.ping(options);
194
+ };
195
+ return descriptor;
196
+ };
197
+ }
198
+ //# sourceMappingURL=client.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.decorator.js","sourceRoot":"","sources":["../../../../../src/client/decorators/client.decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { RequestHandler } from "../../server/decorators/requestHandler.decorator.js";
2
+ export { NotificationHandler } from "../../server/decorators/notification.decorator.js";
3
+ export { RegisterClient, UseClient, CallTool, ListTools, GetPrompt, ListPrompts, ReadResource, ListResources, ListResourceTemplates, SubscribeResource, UnsubscribeResource, CompletePromptOrResource, SetLoggingLevel, PingServer } from "./client.decorator.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EACL,cAAc,EACd,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,UAAU,EACX,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { RequestHandler } from "../../server/decorators/requestHandler.decorator.js";
2
+ export { NotificationHandler } from "../../server/decorators/notification.decorator.js";
3
+ export { RegisterClient, UseClient, CallTool, ListTools, GetPrompt, ListPrompts, ReadResource, ListResources, ListResourceTemplates, SubscribeResource, UnsubscribeResource, CompletePromptOrResource, SetLoggingLevel, PingServer } from "./client.decorator.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/client/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EACL,cAAc,EACd,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,UAAU,EACX,MAAM,uBAAuB,CAAC"}