@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 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/client/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
@@ -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,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActionHandler = void 0;
4
+ /**
5
+ *
6
+ * @description
7
+ * This decorator is used to mark a method as an action handler.
8
+ * It adds metadata to the class prototype, allowing the server to recognize and handle actions.
9
+ * The method name and the action name are stored in the `_actions` array.
10
+ * @param {string} actionName - The name of the action to be handled.
11
+ * @returns {MethodDecorator} A method decorator that adds metadata to the class prototype.
12
+ */
13
+ // decorators/action.decorator.ts
14
+ function ActionHandler(actionName) {
15
+ return function (target, propertyKey) {
16
+ if (!target._actionsMap) {
17
+ target._actionsMap = {};
18
+ }
19
+ target._actionsMap[propertyKey] = actionName;
20
+ };
21
+ }
22
+ exports.ActionHandler = ActionHandler;
23
+ //# 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,SAAgB,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;AARD,sCAQC"}
@@ -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,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Completion = exports.COMPLETION_META = void 0;
4
+ exports.COMPLETION_META = Symbol("mcpCompletions");
5
+ /**
6
+ * @description
7
+ * Decorator to register a method as an MCP completion handler for prompts or resource templates.
8
+ * @param ref - The reference specifying the type ('prompt' | 'resource') and template/prompt name.
9
+ */
10
+ function Completion(ref) {
11
+ return function (target, propertyKey) {
12
+ if (!target[exports.COMPLETION_META]) {
13
+ target[exports.COMPLETION_META] = [];
14
+ }
15
+ target[exports.COMPLETION_META].push({
16
+ ref,
17
+ methodName: propertyKey,
18
+ });
19
+ };
20
+ }
21
+ exports.Completion = Completion;
22
+ //# 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,QAAA,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAExD;;;;GAIG;AACH,SAAgB,UAAU,CAAC,GAAkB;IAC3C,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,uBAAe,CAAC,EAAE;YAC5B,MAAM,CAAC,uBAAe,CAAC,GAAG,EAAE,CAAC;SAC9B;QACD,MAAM,CAAC,uBAAe,CAAC,CAAC,IAAI,CAAC;YAC3B,GAAG;YACH,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAVD,gCAUC"}
@@ -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,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Completion = exports.Unsubscribe = exports.Subscribe = exports.ResourceTemplate = exports.Resource = exports.Prompt = exports.Tool = exports.NotificationHandler = exports.ActionHandler = exports.UseServer = exports.RegisterServer = exports.RequestHandler = void 0;
4
+ var requestHandler_decorator_js_1 = require("./requestHandler.decorator.js");
5
+ Object.defineProperty(exports, "RequestHandler", { enumerable: true, get: function () { return requestHandler_decorator_js_1.RequestHandler; } });
6
+ var server_decorator_js_1 = require("./server.decorator.js");
7
+ Object.defineProperty(exports, "RegisterServer", { enumerable: true, get: function () { return server_decorator_js_1.RegisterServer; } });
8
+ Object.defineProperty(exports, "UseServer", { enumerable: true, get: function () { return server_decorator_js_1.UseServer; } });
9
+ var action_decorator_js_1 = require("./action.decorator.js");
10
+ Object.defineProperty(exports, "ActionHandler", { enumerable: true, get: function () { return action_decorator_js_1.ActionHandler; } });
11
+ var notification_decorator_js_1 = require("./notification.decorator.js");
12
+ Object.defineProperty(exports, "NotificationHandler", { enumerable: true, get: function () { return notification_decorator_js_1.NotificationHandler; } });
13
+ var tool_decorator_js_1 = require("./tool.decorator.js");
14
+ Object.defineProperty(exports, "Tool", { enumerable: true, get: function () { return tool_decorator_js_1.Tool; } });
15
+ var prompt_decorator_js_1 = require("./prompt.decorator.js");
16
+ Object.defineProperty(exports, "Prompt", { enumerable: true, get: function () { return prompt_decorator_js_1.Prompt; } });
17
+ var resource_decorator_js_1 = require("./resource.decorator.js");
18
+ Object.defineProperty(exports, "Resource", { enumerable: true, get: function () { return resource_decorator_js_1.Resource; } });
19
+ Object.defineProperty(exports, "ResourceTemplate", { enumerable: true, get: function () { return resource_decorator_js_1.ResourceTemplate; } });
20
+ var subscribe_decorator_js_1 = require("./subscribe.decorator.js");
21
+ Object.defineProperty(exports, "Subscribe", { enumerable: true, get: function () { return subscribe_decorator_js_1.Subscribe; } });
22
+ Object.defineProperty(exports, "Unsubscribe", { enumerable: true, get: function () { return subscribe_decorator_js_1.Unsubscribe; } });
23
+ var completion_decorator_js_1 = require("./completion.decorator.js");
24
+ Object.defineProperty(exports, "Completion", { enumerable: true, get: function () { return completion_decorator_js_1.Completion; } });
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/decorators/index.ts"],"names":[],"mappings":";;;AAAA,6EAA+D;AAAtD,6HAAA,cAAc,OAAA;AACvB,6DAAkE;AAAzD,qHAAA,cAAc,OAAA;AAAE,gHAAA,SAAS,OAAA;AAClC,6DAAsD;AAA7C,oHAAA,aAAa,OAAA;AACtB,yEAAkE;AAAzD,gIAAA,mBAAmB,OAAA;AAC5B,yDAA2C;AAAlC,yGAAA,IAAI,OAAA;AACb,6DAA+C;AAAtC,6GAAA,MAAM,OAAA;AACf,iEAAqE;AAA5D,iHAAA,QAAQ,OAAA;AAAE,yHAAA,gBAAgB,OAAA;AACnC,mEAAkE;AAAzD,mHAAA,SAAS,OAAA;AAAE,qHAAA,WAAW,OAAA;AAC/B,qEAAuD;AAA9C,qHAAA,UAAU,OAAA"}
@@ -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,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotificationHandler = exports.NOTIFICATION_META = void 0;
4
+ /**
5
+ * @description
6
+ * This decorator is used to mark a method as a notification handler.
7
+ * It adds metadata to the class prototype, allowing the server to recognize and handle notifications.
8
+ * The method name and the notification method are stored in the `_pendingNotifications` array.
9
+ * @param {string} method - The name of the notification method.
10
+ * @returns {MethodDecorator} - A method decorator that adds metadata to the class prototype.
11
+ */
12
+ // decorators/notification.decorator.ts
13
+ exports.NOTIFICATION_META = Symbol("pendingNotifications");
14
+ function NotificationHandler(method) {
15
+ return function (target, propertyKey) {
16
+ if (!target[exports.NOTIFICATION_META]) {
17
+ target[exports.NOTIFICATION_META] = [];
18
+ }
19
+ target[exports.NOTIFICATION_META].push({ method, methodName: propertyKey });
20
+ };
21
+ }
22
+ exports.NotificationHandler = NotificationHandler;
23
+ //# 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;AAC1B,QAAA,iBAAiB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEhE,SAAgB,mBAAmB,CAAC,MAAc;IAChD,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,yBAAiB,CAAC,EAAE;YAC9B,MAAM,CAAC,yBAAiB,CAAC,GAAG,EAAE,CAAC;SAChC;QAED,MAAM,CAAC,yBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC;AACJ,CAAC;AARD,kDAQC"}
@@ -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,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Prompt = exports.PROMPT_META = void 0;
4
+ exports.PROMPT_META = Symbol("mcpPrompts");
5
+ /**
6
+ * @description
7
+ * Decorator to register a method as an MCP Prompt.
8
+ * Handlers are dynamically collected and registered on the server.
9
+ * @param options - Options for the prompt including name, description, and arguments.
10
+ */
11
+ function Prompt(options) {
12
+ return function (target, propertyKey) {
13
+ if (!target[exports.PROMPT_META]) {
14
+ target[exports.PROMPT_META] = [];
15
+ }
16
+ target[exports.PROMPT_META].push({
17
+ options,
18
+ methodName: propertyKey,
19
+ });
20
+ };
21
+ }
22
+ exports.Prompt = Prompt;
23
+ //# 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,QAAA,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAEhD;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,OAAsB;IAC3C,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,mBAAW,CAAC,EAAE;YACxB,MAAM,CAAC,mBAAW,CAAC,GAAG,EAAE,CAAC;SAC1B;QACD,MAAM,CAAC,mBAAW,CAAC,CAAC,IAAI,CAAC;YACvB,OAAO;YACP,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAVD,wBAUC"}
@@ -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,33 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * @param schema - The schema to be used for validation.
5
+ * @description
6
+ * This decorator is used to mark a method as a request handler.
7
+ * It adds metadata to the class prototype, allowing the server to recognize and handle requests.
8
+ * @returns {MethodDecorator} A method decorator that adds metadata to the class prototype.
9
+ */
10
+ // export function RequestHandler(schema: any): MethodDecorator {
11
+ // return function (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) {
12
+ // // Save metadata on the class prototype (not register yet)
13
+ // if (!target._pendingHandlers) {
14
+ // target._pendingHandlers = [];
15
+ // }
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.RequestHandler = void 0;
18
+ // target._pendingHandlers.push({
19
+ // schema,
20
+ // methodName: propertyKey,
21
+ // });
22
+ // };
23
+ // }
24
+ function RequestHandler(schema) {
25
+ return function (target, propertyKey) {
26
+ if (!target._pendingHandlers) {
27
+ target._pendingHandlers = [];
28
+ }
29
+ target._pendingHandlers.push({ schema, methodName: propertyKey });
30
+ };
31
+ }
32
+ exports.RequestHandler = RequestHandler;
33
+ //# 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,SAAgB,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;AARD,wCAQC"}
@@ -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,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResourceTemplate = exports.Resource = exports.RESOURCE_TEMPLATE_META = exports.RESOURCE_META = void 0;
4
+ exports.RESOURCE_META = Symbol("mcpResources");
5
+ exports.RESOURCE_TEMPLATE_META = Symbol("mcpResourceTemplates");
6
+ /**
7
+ * @description
8
+ * Decorator to register a method as an MCP Resource handler.
9
+ * @param options - Options for the resource including uri, name, and mimeType.
10
+ */
11
+ function Resource(options) {
12
+ return function (target, propertyKey) {
13
+ if (!target[exports.RESOURCE_META]) {
14
+ target[exports.RESOURCE_META] = [];
15
+ }
16
+ target[exports.RESOURCE_META].push({
17
+ options,
18
+ methodName: propertyKey,
19
+ });
20
+ };
21
+ }
22
+ exports.Resource = Resource;
23
+ /**
24
+ * @description
25
+ * Decorator to register a method as an MCP Resource Template handler.
26
+ * @param options - Options for the resource template including uriTemplate, name, and mimeType.
27
+ */
28
+ function ResourceTemplate(options) {
29
+ return function (target, propertyKey) {
30
+ if (!target[exports.RESOURCE_TEMPLATE_META]) {
31
+ target[exports.RESOURCE_TEMPLATE_META] = [];
32
+ }
33
+ target[exports.RESOURCE_TEMPLATE_META].push({
34
+ options,
35
+ methodName: propertyKey,
36
+ });
37
+ };
38
+ }
39
+ exports.ResourceTemplate = ResourceTemplate;
40
+ //# 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,QAAA,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACvC,QAAA,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAErE;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,OAAwB;IAC/C,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,qBAAa,CAAC,EAAE;YAC1B,MAAM,CAAC,qBAAa,CAAC,GAAG,EAAE,CAAC;SAC5B;QACD,MAAM,CAAC,qBAAa,CAAC,CAAC,IAAI,CAAC;YACzB,OAAO;YACP,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAVD,4BAUC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,OAAgC;IAC/D,OAAO,UAAU,MAAW,EAAE,WAA4B;QACxD,IAAI,CAAC,MAAM,CAAC,8BAAsB,CAAC,EAAE;YACnC,MAAM,CAAC,8BAAsB,CAAC,GAAG,EAAE,CAAC;SACrC;QACD,MAAM,CAAC,8BAAsB,CAAC,CAAC,IAAI,CAAC;YAClC,OAAO;YACP,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAVD,4CAUC"}
@@ -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"}