@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,8 @@
1
+ export declare const NOTIFICATION_META: unique symbol;
2
+ /**
3
+ * @description
4
+ * Decorator to register a method as an MCP client notification handler.
5
+ * @param method - Zod Schema or string method name.
6
+ */
7
+ export declare function NotificationHandler(method: string | any): MethodDecorator;
8
+ //# sourceMappingURL=notification.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/client/decorators/notification.decorator.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,eAAiC,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,eAAe,CAOzE"}
@@ -0,0 +1,15 @@
1
+ export const NOTIFICATION_META = Symbol("pendingNotifications");
2
+ /**
3
+ * @description
4
+ * Decorator to register a method as an MCP client notification handler.
5
+ * @param method - Zod Schema or string method name.
6
+ */
7
+ export function NotificationHandler(method) {
8
+ return function (target, propertyKey) {
9
+ if (!target[NOTIFICATION_META]) {
10
+ target[NOTIFICATION_META] = [];
11
+ }
12
+ target[NOTIFICATION_META].push({ method, methodName: propertyKey });
13
+ };
14
+ }
15
+ //# sourceMappingURL=notification.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.decorator.js","sourceRoot":"","sources":["../../../../../src/client/decorators/notification.decorator.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YAC9B,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;SAChC;QACD,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @description
3
+ * Decorator to register a method as an MCP client request handler.
4
+ * @param schema - Zod Schema or string method name.
5
+ */
6
+ export declare function RequestHandler(schema: any): MethodDecorator;
7
+ //# sourceMappingURL=requestHandler.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestHandler.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/client/decorators/requestHandler.decorator.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,eAAe,CAO3D"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @description
3
+ * Decorator to register a method as an MCP client request handler.
4
+ * @param schema - Zod Schema or string method name.
5
+ */
6
+ export function RequestHandler(schema) {
7
+ return function (target, propertyKey) {
8
+ if (!target._pendingHandlers) {
9
+ target._pendingHandlers = [];
10
+ }
11
+ target._pendingHandlers.push({ schema, methodName: propertyKey });
12
+ };
13
+ }
14
+ //# sourceMappingURL=requestHandler.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestHandler.decorator.js","sourceRoot":"","sources":["../../../../../src/client/decorators/requestHandler.decorator.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAW;IACxC,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC5B,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC9B;QACD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./decorators/index.js";
2
+ export * from "./types/index.js";
3
+ export * from "./utils/index.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./decorators/index.js";
2
+ export * from "./types/index.js";
3
+ export * from "./utils/index.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,14 @@
1
+ interface BaseClient {
2
+ name: string;
3
+ version?: string;
4
+ [key: string]: any;
5
+ }
6
+ export interface RegisterClientOptions extends BaseClient {
7
+ }
8
+ export interface UseClientOptions extends BaseClient {
9
+ }
10
+ export interface ClientMetadata extends BaseClient {
11
+ client: any;
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/client/types/client/client.ts"],"names":[],"mappings":"AAAA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,UAAU;CAAG;AAC5D,MAAM,WAAW,gBAAiB,SAAQ,UAAU;CAAG;AACvD,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,MAAM,EAAE,GAAG,CAAC;CACb"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../../src/client/types/client/client.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from "@modelcontextprotocol/sdk/types.js";
2
+ export * from "./client/client.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "@modelcontextprotocol/sdk/types.js";
2
+ export * from "./client/client.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/client/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { RegisterClientOptions, UseClientOptions } from "../types/index.js";
2
+ /**
3
+ * Registers a client instance in the global registry.
4
+ */
5
+ export declare function registerClient(options: RegisterClientOptions, client: any): void;
6
+ /**
7
+ * Retrieves a registered client instance.
8
+ */
9
+ export declare function getClient(options: UseClientOptions): any | undefined;
10
+ //# sourceMappingURL=clientRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/client/utils/clientRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAI3B;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,GAAG,GACV,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,GAAG,GAAG,SAAS,CAkBpE"}
@@ -0,0 +1,33 @@
1
+ const clientRegistry = new Map();
2
+ /**
3
+ * Registers a client instance in the global registry.
4
+ */
5
+ export function registerClient(options, client) {
6
+ const { name, version } = options;
7
+ const clientMetadata = { name, version, client };
8
+ const existingClients = clientRegistry.get(name) || [];
9
+ const alreadyRegistered = existingClients.some((c) => c.version === version);
10
+ if (alreadyRegistered) {
11
+ throw new Error(`Client with name "${name}" and version "${version}" is already registered.`);
12
+ }
13
+ clientRegistry.set(name, [...existingClients, clientMetadata]);
14
+ }
15
+ /**
16
+ * Retrieves a registered client instance.
17
+ */
18
+ export function getClient(options) {
19
+ const { name, version } = options;
20
+ const clientMetadataList = clientRegistry.get(name);
21
+ if (!clientMetadataList || clientMetadataList.length === 0) {
22
+ return undefined;
23
+ }
24
+ if (version) {
25
+ const foundClient = clientMetadataList.find((c) => c.version === version);
26
+ return foundClient === null || foundClient === void 0 ? void 0 : foundClient.client;
27
+ }
28
+ if (clientMetadataList.length === 1) {
29
+ return clientMetadataList[0].client;
30
+ }
31
+ return clientMetadataList[0].client;
32
+ }
33
+ //# sourceMappingURL=clientRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientRegistry.js","sourceRoot":"","sources":["../../../../../src/client/utils/clientRegistry.ts"],"names":[],"mappings":"AAOA,MAAM,cAAc,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE3D;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA8B,EAC9B,MAAW;IAEX,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,cAAc,GAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACjE,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAEvD,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAC7B,CAAC;IAEF,IAAI,iBAAiB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,kBAAkB,OAAO,0BAA0B,CAC7E,CAAC;KACH;IAED,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAyB;IACjD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,kBAAkB,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAA0B,CAAC;IAE7E,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1D,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,OAAO,EAAE;QACX,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QAC1E,OAAO,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAC;KAC5B;IAED,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;QACnC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;KACrC;IAED,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./clientRegistry.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./clientRegistry.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/client/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ *
3
+ * @description
4
+ * This decorator is used to mark a method as an action handler.
5
+ * It adds metadata to the class prototype, allowing the server to recognize and handle actions.
6
+ * The method name and the action name are stored in the `_actions` array.
7
+ * @param {string} actionName - The name of the action to be handled.
8
+ * @returns {MethodDecorator} A method decorator that adds metadata to the class prototype.
9
+ */
10
+ export declare function ActionHandler(actionName: string): MethodDecorator;
11
+ //# sourceMappingURL=action.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/server/decorators/action.decorator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAQjE"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ *
3
+ * @description
4
+ * This decorator is used to mark a method as an action handler.
5
+ * It adds metadata to the class prototype, allowing the server to recognize and handle actions.
6
+ * The method name and the action name are stored in the `_actions` array.
7
+ * @param {string} actionName - The name of the action to be handled.
8
+ * @returns {MethodDecorator} A method decorator that adds metadata to the class prototype.
9
+ */
10
+ // decorators/action.decorator.ts
11
+ export function ActionHandler(actionName) {
12
+ return function (target, propertyKey) {
13
+ if (!target._actionsMap) {
14
+ target._actionsMap = {};
15
+ }
16
+ target._actionsMap[propertyKey] = actionName;
17
+ };
18
+ }
19
+ //# sourceMappingURL=action.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.decorator.js","sourceRoot":"","sources":["../../../../../src/server/decorators/action.decorator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,iCAAiC;AACjC,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACvB,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;SACzB;QAED,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface CompletionRef {
2
+ type: "prompt" | "resource";
3
+ name: string;
4
+ }
5
+ export declare const COMPLETION_META: unique symbol;
6
+ /**
7
+ * @description
8
+ * Decorator to register a method as an MCP completion handler for prompts or resource templates.
9
+ * @param ref - The reference specifying the type ('prompt' | 'resource') and template/prompt name.
10
+ */
11
+ export declare function Completion(ref: CompletionRef): MethodDecorator;
12
+ //# sourceMappingURL=completion.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/server/decorators/completion.decorator.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,eAAe,eAA2B,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,eAAe,CAU9D"}
@@ -0,0 +1,18 @@
1
+ export const COMPLETION_META = Symbol("mcpCompletions");
2
+ /**
3
+ * @description
4
+ * Decorator to register a method as an MCP completion handler for prompts or resource templates.
5
+ * @param ref - The reference specifying the type ('prompt' | 'resource') and template/prompt name.
6
+ */
7
+ export function Completion(ref) {
8
+ return function (target, propertyKey) {
9
+ if (!target[COMPLETION_META]) {
10
+ target[COMPLETION_META] = [];
11
+ }
12
+ target[COMPLETION_META].push({
13
+ ref,
14
+ methodName: propertyKey,
15
+ });
16
+ };
17
+ }
18
+ //# sourceMappingURL=completion.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.decorator.js","sourceRoot":"","sources":["../../../../../src/server/decorators/completion.decorator.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAkB;IAC3C,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;YAC5B,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;SAC9B;QACD,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;YAC3B,GAAG;YACH,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { RequestHandler } from "./requestHandler.decorator.js";
2
+ export { RegisterServer, UseServer } from "./server.decorator.js";
3
+ export { ActionHandler } from "./action.decorator.js";
4
+ export { NotificationHandler } from "./notification.decorator.js";
5
+ export { Tool } from "./tool.decorator.js";
6
+ export { Prompt } from "./prompt.decorator.js";
7
+ export { Resource, ResourceTemplate } from "./resource.decorator.js";
8
+ export { Subscribe, Unsubscribe } from "./subscribe.decorator.js";
9
+ export { Completion } from "./completion.decorator.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { RequestHandler } from "./requestHandler.decorator.js";
2
+ export { RegisterServer, UseServer } from "./server.decorator.js";
3
+ export { ActionHandler } from "./action.decorator.js";
4
+ export { NotificationHandler } from "./notification.decorator.js";
5
+ export { Tool } from "./tool.decorator.js";
6
+ export { Prompt } from "./prompt.decorator.js";
7
+ export { Resource, ResourceTemplate } from "./resource.decorator.js";
8
+ export { Subscribe, Unsubscribe } from "./subscribe.decorator.js";
9
+ export { Completion } from "./completion.decorator.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @description
3
+ * This decorator is used to mark a method as a notification handler.
4
+ * It adds metadata to the class prototype, allowing the server to recognize and handle notifications.
5
+ * The method name and the notification method are stored in the `_pendingNotifications` array.
6
+ * @param {string} method - The name of the notification method.
7
+ * @returns {MethodDecorator} - A method decorator that adds metadata to the class prototype.
8
+ */
9
+ export declare const NOTIFICATION_META: unique symbol;
10
+ export declare function NotificationHandler(method: string): MethodDecorator;
11
+ //# sourceMappingURL=notification.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/server/decorators/notification.decorator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,iBAAiB,eAAiC,CAAC;AAEhE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAQnE"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @description
3
+ * This decorator is used to mark a method as a notification handler.
4
+ * It adds metadata to the class prototype, allowing the server to recognize and handle notifications.
5
+ * The method name and the notification method are stored in the `_pendingNotifications` array.
6
+ * @param {string} method - The name of the notification method.
7
+ * @returns {MethodDecorator} - A method decorator that adds metadata to the class prototype.
8
+ */
9
+ // decorators/notification.decorator.ts
10
+ export const NOTIFICATION_META = Symbol("pendingNotifications");
11
+ export function NotificationHandler(method) {
12
+ return function (target, propertyKey) {
13
+ if (!target[NOTIFICATION_META]) {
14
+ target[NOTIFICATION_META] = [];
15
+ }
16
+ target[NOTIFICATION_META].push({ method, methodName: propertyKey });
17
+ };
18
+ }
19
+ //# sourceMappingURL=notification.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.decorator.js","sourceRoot":"","sources":["../../../../../src/server/decorators/notification.decorator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,uCAAuC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEhE,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YAC9B,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;SAChC;QAED,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface PromptArgument {
2
+ name: string;
3
+ description?: string;
4
+ required?: boolean;
5
+ }
6
+ export interface PromptOptions {
7
+ name: string;
8
+ description?: string;
9
+ arguments?: PromptArgument[];
10
+ }
11
+ export declare const PROMPT_META: unique symbol;
12
+ /**
13
+ * @description
14
+ * Decorator to register a method as an MCP Prompt.
15
+ * Handlers are dynamically collected and registered on the server.
16
+ * @param options - Options for the prompt including name, description, and arguments.
17
+ */
18
+ export declare function Prompt(options: PromptOptions): MethodDecorator;
19
+ //# sourceMappingURL=prompt.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/server/decorators/prompt.decorator.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,eAAuB,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAU9D"}
@@ -0,0 +1,19 @@
1
+ export const PROMPT_META = Symbol("mcpPrompts");
2
+ /**
3
+ * @description
4
+ * Decorator to register a method as an MCP Prompt.
5
+ * Handlers are dynamically collected and registered on the server.
6
+ * @param options - Options for the prompt including name, description, and arguments.
7
+ */
8
+ export function Prompt(options) {
9
+ return function (target, propertyKey) {
10
+ if (!target[PROMPT_META]) {
11
+ target[PROMPT_META] = [];
12
+ }
13
+ target[PROMPT_META].push({
14
+ options,
15
+ methodName: propertyKey,
16
+ });
17
+ };
18
+ }
19
+ //# sourceMappingURL=prompt.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.decorator.js","sourceRoot":"","sources":["../../../../../src/server/decorators/prompt.decorator.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;YACxB,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1B;QACD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YACvB,OAAO;YACP,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ *
3
+ * @param schema - The schema to be used for validation.
4
+ * @description
5
+ * This decorator is used to mark a method as a request handler.
6
+ * It adds metadata to the class prototype, allowing the server to recognize and handle requests.
7
+ * @returns {MethodDecorator} A method decorator that adds metadata to the class prototype.
8
+ */
9
+ export declare function RequestHandler(schema: any): MethodDecorator;
10
+ //# sourceMappingURL=requestHandler.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestHandler.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/server/decorators/requestHandler.decorator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,eAAe,CAQ3D"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ *
3
+ * @param schema - The schema to be used for validation.
4
+ * @description
5
+ * This decorator is used to mark a method as a request handler.
6
+ * It adds metadata to the class prototype, allowing the server to recognize and handle requests.
7
+ * @returns {MethodDecorator} A method decorator that adds metadata to the class prototype.
8
+ */
9
+ // export function RequestHandler(schema: any): MethodDecorator {
10
+ // return function (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) {
11
+ // // Save metadata on the class prototype (not register yet)
12
+ // if (!target._pendingHandlers) {
13
+ // target._pendingHandlers = [];
14
+ // }
15
+ // target._pendingHandlers.push({
16
+ // schema,
17
+ // methodName: propertyKey,
18
+ // });
19
+ // };
20
+ // }
21
+ export function RequestHandler(schema) {
22
+ return function (target, propertyKey) {
23
+ if (!target._pendingHandlers) {
24
+ target._pendingHandlers = [];
25
+ }
26
+ target._pendingHandlers.push({ schema, methodName: propertyKey });
27
+ };
28
+ }
29
+ //# sourceMappingURL=requestHandler.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestHandler.decorator.js","sourceRoot":"","sources":["../../../../../src/server/decorators/requestHandler.decorator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,iEAAiE;AACjE,kGAAkG;AAClG,iEAAiE;AACjE,sCAAsC;AACtC,sCAAsC;AACtC,QAAQ;AAER,qCAAqC;AACrC,gBAAgB;AAChB,iCAAiC;AACjC,UAAU;AACV,OAAO;AACP,IAAI;AAEJ,MAAM,UAAU,cAAc,CAAC,MAAW;IACxC,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC5B,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC9B;QAED,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ export interface ResourceOptions {
2
+ uri: string;
3
+ name: string;
4
+ description?: string;
5
+ mimeType?: string;
6
+ }
7
+ export interface ResourceTemplateOptions {
8
+ uriTemplate: string;
9
+ name: string;
10
+ description?: string;
11
+ mimeType?: string;
12
+ }
13
+ export declare const RESOURCE_META: unique symbol;
14
+ export declare const RESOURCE_TEMPLATE_META: unique symbol;
15
+ /**
16
+ * @description
17
+ * Decorator to register a method as an MCP Resource handler.
18
+ * @param options - Options for the resource including uri, name, and mimeType.
19
+ */
20
+ export declare function Resource(options: ResourceOptions): MethodDecorator;
21
+ /**
22
+ * @description
23
+ * Decorator to register a method as an MCP Resource Template handler.
24
+ * @param options - Options for the resource template including uriTemplate, name, and mimeType.
25
+ */
26
+ export declare function ResourceTemplate(options: ResourceTemplateOptions): MethodDecorator;
27
+ //# sourceMappingURL=resource.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/server/decorators/resource.decorator.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,eAAyB,CAAC;AACpD,eAAO,MAAM,sBAAsB,eAAiC,CAAC;AAErE;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAUlE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,eAAe,CAUlF"}
@@ -0,0 +1,35 @@
1
+ export const RESOURCE_META = Symbol("mcpResources");
2
+ export const RESOURCE_TEMPLATE_META = Symbol("mcpResourceTemplates");
3
+ /**
4
+ * @description
5
+ * Decorator to register a method as an MCP Resource handler.
6
+ * @param options - Options for the resource including uri, name, and mimeType.
7
+ */
8
+ export function Resource(options) {
9
+ return function (target, propertyKey) {
10
+ if (!target[RESOURCE_META]) {
11
+ target[RESOURCE_META] = [];
12
+ }
13
+ target[RESOURCE_META].push({
14
+ options,
15
+ methodName: propertyKey,
16
+ });
17
+ };
18
+ }
19
+ /**
20
+ * @description
21
+ * Decorator to register a method as an MCP Resource Template handler.
22
+ * @param options - Options for the resource template including uriTemplate, name, and mimeType.
23
+ */
24
+ export function ResourceTemplate(options) {
25
+ return function (target, propertyKey) {
26
+ if (!target[RESOURCE_TEMPLATE_META]) {
27
+ target[RESOURCE_TEMPLATE_META] = [];
28
+ }
29
+ target[RESOURCE_TEMPLATE_META].push({
30
+ options,
31
+ methodName: propertyKey,
32
+ });
33
+ };
34
+ }
35
+ //# sourceMappingURL=resource.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.decorator.js","sourceRoot":"","sources":["../../../../../src/server/decorators/resource.decorator.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAErE;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC/C,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;YAC1B,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;SAC5B;QACD,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC;YACzB,OAAO;YACP,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE;YACnC,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC;SACrC;QACD,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC;YAClC,OAAO;YACP,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { UseServerOptions } from "../types/index.js";
2
+ /**
3
+ * @description
4
+ * This decorator is used to register a server instance.
5
+ * @returns {ClassDecorator} A class decorator that registers the server instance.
6
+ */
7
+ export declare function RegisterServer(): ClassDecorator;
8
+ export declare function registerRequestHandlers(target: any, instance: any, server: any): void;
9
+ export declare function registerNotificationHandlers(target: any, instance: any, server: any): void;
10
+ /**
11
+ * @description
12
+ * This decorator is used to inject a server instance into a class.
13
+ * It fetches the server instance from the registry and injects it into the class.
14
+ * @param {UseServerOptions} options - Options for the decorator.
15
+ * @returns {ClassDecorator} A class decorator that injects the server instance.
16
+ */
17
+ export declare function UseServer(options: UseServerOptions): ClassDecorator;
18
+ //# sourceMappingURL=server.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/server/decorators/server.decorator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAuBrD;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,cAAc,CAoB/C;AAGD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAoE9E;AAGD,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAkBnF;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CA2InE"}