@novu/api 0.4.0 → 0.6.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 (236) hide show
  1. package/README.md +97 -64
  2. package/bin/mcp-server.js +240 -175
  3. package/bin/mcp-server.js.map +67 -66
  4. package/docs/sdks/authentication/README.md +17 -17
  5. package/docs/sdks/integrations/README.md +55 -55
  6. package/docs/sdks/novu/README.md +146 -146
  7. package/docs/sdks/novumessages/README.md +34 -34
  8. package/docs/sdks/stats/README.md +14 -14
  9. package/docs/sdks/subscribers/README.md +82 -82
  10. package/jsr.json +1 -1
  11. package/lib/config.d.ts +3 -3
  12. package/lib/config.js +3 -3
  13. package/lib/sdks.d.ts.map +1 -1
  14. package/lib/sdks.js +2 -8
  15. package/lib/sdks.js.map +1 -1
  16. package/lib/security.d.ts +4 -3
  17. package/lib/security.d.ts.map +1 -1
  18. package/lib/security.js +6 -1
  19. package/lib/security.js.map +1 -1
  20. package/mcp-server/cli/start/command.d.ts.map +1 -1
  21. package/mcp-server/cli/start/command.js +9 -0
  22. package/mcp-server/cli/start/command.js.map +1 -1
  23. package/mcp-server/cli/start/impl.d.ts +1 -0
  24. package/mcp-server/cli/start/impl.d.ts.map +1 -1
  25. package/mcp-server/cli/start/impl.js +2 -0
  26. package/mcp-server/cli/start/impl.js.map +1 -1
  27. package/mcp-server/extensions.d.ts +11 -0
  28. package/mcp-server/extensions.d.ts.map +1 -0
  29. package/mcp-server/extensions.js +6 -0
  30. package/mcp-server/extensions.js.map +1 -0
  31. package/mcp-server/mcp-server.js +1 -1
  32. package/mcp-server/prompts.d.ts +26 -0
  33. package/mcp-server/prompts.d.ts.map +1 -0
  34. package/mcp-server/prompts.js +48 -0
  35. package/mcp-server/prompts.js.map +1 -0
  36. package/mcp-server/resources.d.ts +9 -4
  37. package/mcp-server/resources.d.ts.map +1 -1
  38. package/mcp-server/resources.js +38 -10
  39. package/mcp-server/resources.js.map +1 -1
  40. package/mcp-server/server.d.ts +1 -0
  41. package/mcp-server/server.d.ts.map +1 -1
  42. package/mcp-server/server.js +33 -25
  43. package/mcp-server/server.js.map +1 -1
  44. package/mcp-server/tools/integrationsCreate.js +1 -1
  45. package/mcp-server/tools/integrationsDelete.js +1 -1
  46. package/mcp-server/tools/integrationsList.js +1 -1
  47. package/mcp-server/tools/integrationsListActive.js +1 -1
  48. package/mcp-server/tools/integrationsSetAsPrimary.js +1 -1
  49. package/mcp-server/tools/integrationsUpdate.js +1 -1
  50. package/mcp-server/tools/integrationsWebhooksRetrieve.js +1 -1
  51. package/mcp-server/tools/messagesDelete.js +1 -1
  52. package/mcp-server/tools/messagesDeleteByTransactionId.js +1 -1
  53. package/mcp-server/tools/messagesRetrieve.js +1 -1
  54. package/mcp-server/tools/notificationsList.js +1 -1
  55. package/mcp-server/tools/notificationsRetrieve.js +1 -1
  56. package/mcp-server/tools/notificationsStatsGraph.js +1 -1
  57. package/mcp-server/tools/notificationsStatsRetrieve.js +1 -1
  58. package/mcp-server/tools/subscribersAuthenticationChatAccessOauth.js +1 -1
  59. package/mcp-server/tools/subscribersAuthenticationChatAccessOauthCallBack.js +1 -1
  60. package/mcp-server/tools/subscribersCreate.js +1 -1
  61. package/mcp-server/tools/subscribersCreateBulk.js +1 -1
  62. package/mcp-server/tools/subscribersCredentialsAppend.js +1 -1
  63. package/mcp-server/tools/subscribersCredentialsDelete.js +1 -1
  64. package/mcp-server/tools/subscribersCredentialsUpdate.js +1 -1
  65. package/mcp-server/tools/subscribersDelete.js +1 -1
  66. package/mcp-server/tools/subscribersList.js +1 -1
  67. package/mcp-server/tools/subscribersMessagesMarkAll.js +1 -1
  68. package/mcp-server/tools/subscribersMessagesMarkAllAs.js +1 -1
  69. package/mcp-server/tools/subscribersMessagesUpdateAsSeen.js +1 -1
  70. package/mcp-server/tools/subscribersNotificationsFeed.js +1 -1
  71. package/mcp-server/tools/subscribersNotificationsUnseenCount.js +1 -1
  72. package/mcp-server/tools/subscribersPatch.js +1 -1
  73. package/mcp-server/tools/subscribersPreferencesList.js +1 -1
  74. package/mcp-server/tools/subscribersPreferencesUpdate.js +1 -1
  75. package/mcp-server/tools/subscribersPropertiesUpdateOnlineFlag.js +1 -1
  76. package/mcp-server/tools/subscribersRetrieve.js +1 -1
  77. package/mcp-server/tools/subscribersSearch.js +1 -1
  78. package/mcp-server/tools/topicsCreate.js +1 -1
  79. package/mcp-server/tools/topicsDelete.js +1 -1
  80. package/mcp-server/tools/topicsList.js +1 -1
  81. package/mcp-server/tools/topicsRename.js +1 -1
  82. package/mcp-server/tools/topicsRetrieve.js +1 -1
  83. package/mcp-server/tools/topicsSubscribersAssign.js +1 -1
  84. package/mcp-server/tools/topicsSubscribersRemove.js +1 -1
  85. package/mcp-server/tools/topicsSubscribersRetrieve.js +1 -1
  86. package/mcp-server/tools.d.ts +1 -1
  87. package/mcp-server/tools.d.ts.map +1 -1
  88. package/mcp-server/tools.js +8 -1
  89. package/mcp-server/tools.js.map +1 -1
  90. package/models/components/activitynotificationjobresponsedto.d.ts +9 -0
  91. package/models/components/activitynotificationjobresponsedto.d.ts.map +1 -1
  92. package/models/components/activitynotificationjobresponsedto.js +2 -0
  93. package/models/components/activitynotificationjobresponsedto.js.map +1 -1
  94. package/models/components/channelsettingsdto.d.ts +8 -8
  95. package/models/components/channelsettingsdto.d.ts.map +1 -1
  96. package/models/components/channelsettingsdto.js +14 -13
  97. package/models/components/channelsettingsdto.js.map +1 -1
  98. package/models/components/index.d.ts +0 -1
  99. package/models/components/index.d.ts.map +1 -1
  100. package/models/components/index.js +0 -1
  101. package/models/components/index.js.map +1 -1
  102. package/models/components/integrationresponsedto.d.ts +8 -8
  103. package/models/components/integrationresponsedto.d.ts.map +1 -1
  104. package/models/components/integrationresponsedto.js +13 -14
  105. package/models/components/integrationresponsedto.js.map +1 -1
  106. package/models/components/markallmessageasrequestdto.d.ts +8 -8
  107. package/models/components/markallmessageasrequestdto.d.ts.map +1 -1
  108. package/models/components/markallmessageasrequestdto.js +14 -13
  109. package/models/components/markallmessageasrequestdto.js.map +1 -1
  110. package/models/components/messagemarkasrequestdto.d.ts +8 -8
  111. package/models/components/messagemarkasrequestdto.d.ts.map +1 -1
  112. package/models/components/messagemarkasrequestdto.js +13 -14
  113. package/models/components/messagemarkasrequestdto.js.map +1 -1
  114. package/models/components/overrides.d.ts +8 -8
  115. package/models/components/overrides.d.ts.map +1 -1
  116. package/models/components/overrides.js +14 -13
  117. package/models/components/overrides.js.map +1 -1
  118. package/models/components/patchsubscriberrequestdto.d.ts +15 -15
  119. package/models/components/patchsubscriberrequestdto.d.ts.map +1 -1
  120. package/models/components/patchsubscriberrequestdto.js +19 -20
  121. package/models/components/patchsubscriberrequestdto.js.map +1 -1
  122. package/models/components/subscriberchanneldto.d.ts +8 -8
  123. package/models/components/subscriberchanneldto.d.ts.map +1 -1
  124. package/models/components/subscriberchanneldto.js +13 -14
  125. package/models/components/subscriberchanneldto.js.map +1 -1
  126. package/models/components/subscriberpayloaddto.d.ts +13 -13
  127. package/models/components/subscriberpayloaddto.d.ts.map +1 -1
  128. package/models/components/subscriberpayloaddto.js +16 -17
  129. package/models/components/subscriberpayloaddto.js.map +1 -1
  130. package/models/operations/eventscontrollercancel.d.ts +2 -3
  131. package/models/operations/eventscontrollercancel.d.ts.map +1 -1
  132. package/models/operations/eventscontrollercancel.js +2 -3
  133. package/models/operations/eventscontrollercancel.js.map +1 -1
  134. package/models/operations/notificationscontrollerlistnotifications.d.ts +2 -2
  135. package/package.json +2 -1
  136. package/sdk/authentication.d.ts +4 -4
  137. package/sdk/authentication.d.ts.map +1 -1
  138. package/sdk/authentication.js +6 -6
  139. package/sdk/authentication.js.map +1 -1
  140. package/sdk/integrations.d.ts +7 -7
  141. package/sdk/integrations.d.ts.map +1 -1
  142. package/sdk/integrations.js +9 -9
  143. package/sdk/integrations.js.map +1 -1
  144. package/sdk/novumessages.d.ts +4 -4
  145. package/sdk/novumessages.d.ts.map +1 -1
  146. package/sdk/novumessages.js +6 -6
  147. package/sdk/novumessages.js.map +1 -1
  148. package/sdk/sdk.d.ts +12 -12
  149. package/sdk/sdk.d.ts.map +1 -1
  150. package/sdk/sdk.js +15 -15
  151. package/sdk/sdk.js.map +1 -1
  152. package/sdk/stats.d.ts +4 -4
  153. package/sdk/stats.d.ts.map +1 -1
  154. package/sdk/stats.js +6 -6
  155. package/sdk/stats.js.map +1 -1
  156. package/sdk/subscribers.d.ts +26 -26
  157. package/sdk/subscribers.d.ts.map +1 -1
  158. package/sdk/subscribers.js +29 -29
  159. package/sdk/subscribers.js.map +1 -1
  160. package/sources/json-development.json +1239 -1145
  161. package/src/lib/config.ts +3 -3
  162. package/src/lib/sdks.ts +2 -7
  163. package/src/lib/security.ts +11 -3
  164. package/src/mcp-server/cli/start/command.ts +9 -0
  165. package/src/mcp-server/cli/start/impl.ts +3 -0
  166. package/src/mcp-server/extensions.ts +17 -0
  167. package/src/mcp-server/mcp-server.ts +1 -1
  168. package/src/mcp-server/prompts.ts +110 -0
  169. package/src/mcp-server/resources.ts +76 -14
  170. package/src/mcp-server/server.ts +50 -25
  171. package/src/mcp-server/tools/integrationsCreate.ts +1 -1
  172. package/src/mcp-server/tools/integrationsDelete.ts +1 -1
  173. package/src/mcp-server/tools/integrationsList.ts +1 -1
  174. package/src/mcp-server/tools/integrationsListActive.ts +1 -1
  175. package/src/mcp-server/tools/integrationsSetAsPrimary.ts +1 -1
  176. package/src/mcp-server/tools/integrationsUpdate.ts +1 -1
  177. package/src/mcp-server/tools/integrationsWebhooksRetrieve.ts +1 -1
  178. package/src/mcp-server/tools/messagesDelete.ts +1 -1
  179. package/src/mcp-server/tools/messagesDeleteByTransactionId.ts +1 -1
  180. package/src/mcp-server/tools/messagesRetrieve.ts +1 -1
  181. package/src/mcp-server/tools/notificationsList.ts +1 -1
  182. package/src/mcp-server/tools/notificationsRetrieve.ts +1 -1
  183. package/src/mcp-server/tools/notificationsStatsGraph.ts +1 -1
  184. package/src/mcp-server/tools/notificationsStatsRetrieve.ts +1 -1
  185. package/src/mcp-server/tools/subscribersAuthenticationChatAccessOauth.ts +1 -1
  186. package/src/mcp-server/tools/subscribersAuthenticationChatAccessOauthCallBack.ts +1 -1
  187. package/src/mcp-server/tools/subscribersCreate.ts +1 -1
  188. package/src/mcp-server/tools/subscribersCreateBulk.ts +1 -1
  189. package/src/mcp-server/tools/subscribersCredentialsAppend.ts +1 -1
  190. package/src/mcp-server/tools/subscribersCredentialsDelete.ts +1 -1
  191. package/src/mcp-server/tools/subscribersCredentialsUpdate.ts +1 -1
  192. package/src/mcp-server/tools/subscribersDelete.ts +1 -1
  193. package/src/mcp-server/tools/subscribersList.ts +1 -1
  194. package/src/mcp-server/tools/subscribersMessagesMarkAll.ts +1 -1
  195. package/src/mcp-server/tools/subscribersMessagesMarkAllAs.ts +1 -1
  196. package/src/mcp-server/tools/subscribersMessagesUpdateAsSeen.ts +1 -1
  197. package/src/mcp-server/tools/subscribersNotificationsFeed.ts +1 -1
  198. package/src/mcp-server/tools/subscribersNotificationsUnseenCount.ts +1 -1
  199. package/src/mcp-server/tools/subscribersPatch.ts +1 -1
  200. package/src/mcp-server/tools/subscribersPreferencesList.ts +1 -1
  201. package/src/mcp-server/tools/subscribersPreferencesUpdate.ts +1 -1
  202. package/src/mcp-server/tools/subscribersPropertiesUpdateOnlineFlag.ts +1 -1
  203. package/src/mcp-server/tools/subscribersRetrieve.ts +1 -1
  204. package/src/mcp-server/tools/subscribersSearch.ts +1 -1
  205. package/src/mcp-server/tools/topicsCreate.ts +1 -1
  206. package/src/mcp-server/tools/topicsDelete.ts +1 -1
  207. package/src/mcp-server/tools/topicsList.ts +1 -1
  208. package/src/mcp-server/tools/topicsRename.ts +1 -1
  209. package/src/mcp-server/tools/topicsRetrieve.ts +1 -1
  210. package/src/mcp-server/tools/topicsSubscribersAssign.ts +1 -1
  211. package/src/mcp-server/tools/topicsSubscribersRemove.ts +1 -1
  212. package/src/mcp-server/tools/topicsSubscribersRetrieve.ts +1 -1
  213. package/src/mcp-server/tools.ts +10 -0
  214. package/src/models/components/activitynotificationjobresponsedto.ts +7 -0
  215. package/src/models/components/channelsettingsdto.ts +14 -18
  216. package/src/models/components/index.ts +0 -1
  217. package/src/models/components/integrationresponsedto.ts +18 -14
  218. package/src/models/components/markallmessageasrequestdto.ts +14 -18
  219. package/src/models/components/messagemarkasrequestdto.ts +18 -14
  220. package/src/models/components/overrides.ts +14 -16
  221. package/src/models/components/patchsubscriberrequestdto.ts +23 -37
  222. package/src/models/components/subscriberchanneldto.ts +18 -14
  223. package/src/models/components/subscriberpayloaddto.ts +37 -19
  224. package/src/models/operations/eventscontrollercancel.ts +4 -5
  225. package/src/models/operations/notificationscontrollerlistnotifications.ts +2 -2
  226. package/src/sdk/authentication.ts +16 -16
  227. package/src/sdk/integrations.ts +17 -17
  228. package/src/sdk/novumessages.ts +16 -16
  229. package/src/sdk/sdk.ts +24 -24
  230. package/src/sdk/stats.ts +10 -10
  231. package/src/sdk/subscribers.ts +61 -61
  232. package/models/components/databooleandto.d.ts +0 -29
  233. package/models/components/databooleandto.d.ts.map +0 -1
  234. package/models/components/databooleandto.js +0 -59
  235. package/models/components/databooleandto.js.map +0 -1
  236. package/src/models/components/databooleandto.ts +0 -62
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createMCPServer = void 0;
7
7
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
8
8
  const core_js_1 = require("../core.js");
9
+ const prompts_js_1 = require("./prompts.js");
10
+ const resources_js_1 = require("./resources.js");
9
11
  const scopes_js_1 = require("./scopes.js");
10
12
  const tools_js_1 = require("./tools.js");
11
13
  const cancel_js_1 = require("./tools/cancel.js");
@@ -57,7 +59,7 @@ const triggerBulk_js_1 = require("./tools/triggerBulk.js");
57
59
  function createMCPServer(deps) {
58
60
  const server = new mcp_js_1.McpServer({
59
61
  name: "Novu",
60
- version: "0.4.0",
62
+ version: "0.6.0",
61
63
  });
62
64
  const client = new core_js_1.NovuCore({
63
65
  secretKey: deps.secretKey,
@@ -65,50 +67,56 @@ function createMCPServer(deps) {
65
67
  serverIdx: deps.serverIdx,
66
68
  });
67
69
  const scopes = new Set(deps.scopes ?? scopes_js_1.mcpScopes);
68
- const tool = (0, tools_js_1.createRegisterTool)(deps.logger, server, client, scopes);
70
+ const allowedTools = deps.allowedTools && new Set(deps.allowedTools);
71
+ const tool = (0, tools_js_1.createRegisterTool)(deps.logger, server, client, scopes, allowedTools);
72
+ const resource = (0, resources_js_1.createRegisterResource)(deps.logger, server, client, scopes);
73
+ const resourceTemplate = (0, resources_js_1.createRegisterResourceTemplate)(deps.logger, server, client, scopes);
74
+ const prompt = (0, prompts_js_1.createRegisterPrompt)(deps.logger, server, client, scopes);
75
+ const register = { tool, resource, resourceTemplate, prompt };
76
+ void register; // suppress unused warnings
69
77
  tool(trigger_js_1.tool$trigger);
70
- tool(triggerBulk_js_1.tool$triggerBulk);
71
- tool(triggerBroadcast_js_1.tool$triggerBroadcast);
72
78
  tool(cancel_js_1.tool$cancel);
73
- tool(notificationsList_js_1.tool$notificationsList);
74
- tool(notificationsRetrieve_js_1.tool$notificationsRetrieve);
75
- tool(integrationsList_js_1.tool$integrationsList);
76
- tool(integrationsCreate_js_1.tool$integrationsCreate);
77
- tool(integrationsListActive_js_1.tool$integrationsListActive);
78
- tool(integrationsUpdate_js_1.tool$integrationsUpdate);
79
- tool(integrationsDelete_js_1.tool$integrationsDelete);
80
- tool(integrationsSetAsPrimary_js_1.tool$integrationsSetAsPrimary);
81
- tool(subscribersList_js_1.tool$subscribersList);
82
- tool(subscribersCreateBulk_js_1.tool$subscribersCreateBulk);
79
+ tool(triggerBroadcast_js_1.tool$triggerBroadcast);
80
+ tool(triggerBulk_js_1.tool$triggerBulk);
83
81
  tool(subscribersSearch_js_1.tool$subscribersSearch);
84
82
  tool(subscribersCreate_js_1.tool$subscribersCreate);
85
83
  tool(subscribersRetrieve_js_1.tool$subscribersRetrieve);
86
84
  tool(subscribersPatch_js_1.tool$subscribersPatch);
87
85
  tool(subscribersDelete_js_1.tool$subscribersDelete);
86
+ tool(subscribersList_js_1.tool$subscribersList);
87
+ tool(subscribersCreateBulk_js_1.tool$subscribersCreateBulk);
88
+ tool(integrationsList_js_1.tool$integrationsList);
89
+ tool(integrationsCreate_js_1.tool$integrationsCreate);
90
+ tool(integrationsUpdate_js_1.tool$integrationsUpdate);
91
+ tool(integrationsDelete_js_1.tool$integrationsDelete);
92
+ tool(integrationsSetAsPrimary_js_1.tool$integrationsSetAsPrimary);
93
+ tool(integrationsListActive_js_1.tool$integrationsListActive);
88
94
  tool(messagesRetrieve_js_1.tool$messagesRetrieve);
89
95
  tool(messagesDelete_js_1.tool$messagesDelete);
90
96
  tool(messagesDeleteByTransactionId_js_1.tool$messagesDeleteByTransactionId);
97
+ tool(notificationsList_js_1.tool$notificationsList);
98
+ tool(notificationsRetrieve_js_1.tool$notificationsRetrieve);
91
99
  tool(topicsCreate_js_1.tool$topicsCreate);
92
100
  tool(topicsList_js_1.tool$topicsList);
93
101
  tool(topicsDelete_js_1.tool$topicsDelete);
94
102
  tool(topicsRetrieve_js_1.tool$topicsRetrieve);
95
103
  tool(topicsRename_js_1.tool$topicsRename);
96
- tool(notificationsStatsRetrieve_js_1.tool$notificationsStatsRetrieve);
97
- tool(notificationsStatsGraph_js_1.tool$notificationsStatsGraph);
98
- tool(integrationsWebhooksRetrieve_js_1.tool$integrationsWebhooksRetrieve);
104
+ tool(subscribersPreferencesList_js_1.tool$subscribersPreferencesList);
105
+ tool(subscribersPreferencesUpdate_js_1.tool$subscribersPreferencesUpdate);
99
106
  tool(subscribersCredentialsUpdate_js_1.tool$subscribersCredentialsUpdate);
100
107
  tool(subscribersCredentialsAppend_js_1.tool$subscribersCredentialsAppend);
101
108
  tool(subscribersCredentialsDelete_js_1.tool$subscribersCredentialsDelete);
102
- tool(subscribersPropertiesUpdateOnlineFlag_js_1.tool$subscribersPropertiesUpdateOnlineFlag);
109
+ tool(subscribersAuthenticationChatAccessOauth_js_1.tool$subscribersAuthenticationChatAccessOauth);
110
+ tool(subscribersAuthenticationChatAccessOauthCallBack_js_1.tool$subscribersAuthenticationChatAccessOauthCallBack);
111
+ tool(subscribersMessagesUpdateAsSeen_js_1.tool$subscribersMessagesUpdateAsSeen);
112
+ tool(subscribersMessagesMarkAll_js_1.tool$subscribersMessagesMarkAll);
113
+ tool(subscribersMessagesMarkAllAs_js_1.tool$subscribersMessagesMarkAllAs);
103
114
  tool(subscribersNotificationsFeed_js_1.tool$subscribersNotificationsFeed);
104
115
  tool(subscribersNotificationsUnseenCount_js_1.tool$subscribersNotificationsUnseenCount);
105
- tool(subscribersMessagesMarkAllAs_js_1.tool$subscribersMessagesMarkAllAs);
106
- tool(subscribersMessagesMarkAll_js_1.tool$subscribersMessagesMarkAll);
107
- tool(subscribersMessagesUpdateAsSeen_js_1.tool$subscribersMessagesUpdateAsSeen);
108
- tool(subscribersAuthenticationChatAccessOauthCallBack_js_1.tool$subscribersAuthenticationChatAccessOauthCallBack);
109
- tool(subscribersAuthenticationChatAccessOauth_js_1.tool$subscribersAuthenticationChatAccessOauth);
110
- tool(subscribersPreferencesList_js_1.tool$subscribersPreferencesList);
111
- tool(subscribersPreferencesUpdate_js_1.tool$subscribersPreferencesUpdate);
116
+ tool(subscribersPropertiesUpdateOnlineFlag_js_1.tool$subscribersPropertiesUpdateOnlineFlag);
117
+ tool(integrationsWebhooksRetrieve_js_1.tool$integrationsWebhooksRetrieve);
118
+ tool(notificationsStatsGraph_js_1.tool$notificationsStatsGraph);
119
+ tool(notificationsStatsRetrieve_js_1.tool$notificationsStatsRetrieve);
112
120
  tool(topicsSubscribersAssign_js_1.tool$topicsSubscribersAssign);
113
121
  tool(topicsSubscribersRetrieve_js_1.tool$topicsSubscribersRetrieve);
114
122
  tool(topicsSubscribersRemove_js_1.tool$topicsSubscribersRemove);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/mcp-server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/mcp-server/server.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ const args = {
36
36
  idempotencyKey: z.string().optional(),
37
37
  };
38
38
  exports.tool$integrationsCreate = {
39
- name: "integrations_create",
39
+ name: "integrations-create",
40
40
  description: `Create integration
41
41
 
42
42
  Create an integration for the current environment the user is based on the API key provided`,
@@ -35,7 +35,7 @@ const args = {
35
35
  idempotencyKey: z.string().optional(),
36
36
  };
37
37
  exports.tool$integrationsDelete = {
38
- name: "integrations_delete",
38
+ name: "integrations-delete",
39
39
  description: `Delete integration`,
40
40
  args,
41
41
  tool: async (client, args, ctx) => {
@@ -34,7 +34,7 @@ const args = {
34
34
  idempotencyKey: z.string().optional(),
35
35
  };
36
36
  exports.tool$integrationsList = {
37
- name: "integrations_list",
37
+ name: "integrations-list",
38
38
  description: `Get integrations
39
39
 
40
40
  Return all the integrations the user has created for that organization. Review v.0.17.0 changelog for a breaking change`,
@@ -34,7 +34,7 @@ const args = {
34
34
  idempotencyKey: z.string().optional(),
35
35
  };
36
36
  exports.tool$integrationsListActive = {
37
- name: "integrations_list-active",
37
+ name: "integrations-list-active",
38
38
  description: `Get active integrations
39
39
 
40
40
  Return all the active integrations the user has created for that organization. Review v.0.17.0 changelog for a breaking change`,
@@ -35,7 +35,7 @@ const args = {
35
35
  idempotencyKey: z.string().optional(),
36
36
  };
37
37
  exports.tool$integrationsSetAsPrimary = {
38
- name: "integrations_set-as-primary",
38
+ name: "integrations-set-as-primary",
39
39
  description: `Set integration as primary`,
40
40
  args,
41
41
  tool: async (client, args, ctx) => {
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$integrationsUpdate = {
40
- name: "integrations_update",
40
+ name: "integrations-update",
41
41
  description: `Update integration`,
42
42
  args,
43
43
  tool: async (client, args, ctx) => {
@@ -35,7 +35,7 @@ const args = {
35
35
  idempotencyKey: z.string().optional(),
36
36
  };
37
37
  exports.tool$integrationsWebhooksRetrieve = {
38
- name: "integrations-webhooks_retrieve",
38
+ name: "integrations-webhooks-retrieve",
39
39
  description: `Get webhook support status for provider
40
40
 
41
41
  Return the status of the webhook for this provider, if it is supported or if it is not based on a boolean value`,
@@ -35,7 +35,7 @@ const args = {
35
35
  idempotencyKey: z.string().optional(),
36
36
  };
37
37
  exports.tool$messagesDelete = {
38
- name: "messages_delete",
38
+ name: "messages-delete",
39
39
  description: `Delete message
40
40
 
41
41
  Deletes a message entity from the Novu platform`,
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$messagesDeleteByTransactionId = {
40
- name: "messages_delete-by-transaction-id",
40
+ name: "messages-delete-by-transaction-id",
41
41
  description: `Delete messages by transactionId
42
42
 
43
43
  Deletes messages entity from the Novu platform using TransactionId of message`,
@@ -34,7 +34,7 @@ const args = {
34
34
  request: operations.MessagesControllerGetMessagesRequest$inboundSchema,
35
35
  };
36
36
  exports.tool$messagesRetrieve = {
37
- name: "messages_retrieve",
37
+ name: "messages-retrieve",
38
38
  description: `Get messages
39
39
 
40
40
  Returns a list of messages, could paginate using the \`page\` query parameter`,
@@ -34,7 +34,7 @@ const args = {
34
34
  request: operations.NotificationsControllerListNotificationsRequest$inboundSchema,
35
35
  };
36
36
  exports.tool$notificationsList = {
37
- name: "notifications_list",
37
+ name: "notifications-list",
38
38
  description: `Get notifications`,
39
39
  args,
40
40
  tool: async (client, args, ctx) => {
@@ -35,7 +35,7 @@ const args = {
35
35
  idempotencyKey: z.string().optional(),
36
36
  };
37
37
  exports.tool$notificationsRetrieve = {
38
- name: "notifications_retrieve",
38
+ name: "notifications-retrieve",
39
39
  description: `Get notification`,
40
40
  args,
41
41
  tool: async (client, args, ctx) => {
@@ -35,7 +35,7 @@ const args = {
35
35
  idempotencyKey: z.string().optional(),
36
36
  };
37
37
  exports.tool$notificationsStatsGraph = {
38
- name: "notifications-stats_graph",
38
+ name: "notifications-stats-graph",
39
39
  description: `Get notification graph statistics`,
40
40
  args,
41
41
  tool: async (client, args, ctx) => {
@@ -34,7 +34,7 @@ const args = {
34
34
  idempotencyKey: z.string().optional(),
35
35
  };
36
36
  exports.tool$notificationsStatsRetrieve = {
37
- name: "notifications-stats_retrieve",
37
+ name: "notifications-stats-retrieve",
38
38
  description: `Get notification statistics`,
39
39
  args,
40
40
  tool: async (client, args, ctx) => {
@@ -34,7 +34,7 @@ const args = {
34
34
  request: operations.SubscribersV1ControllerChatAccessOauthRequest$inboundSchema,
35
35
  };
36
36
  exports.tool$subscribersAuthenticationChatAccessOauth = {
37
- name: "subscribers-authentication_chat-access-oauth",
37
+ name: "subscribers-authentication-chat-access-oauth",
38
38
  description: `Handle chat oauth`,
39
39
  args,
40
40
  tool: async (client, args, ctx) => {
@@ -34,7 +34,7 @@ const args = {
34
34
  request: operations.SubscribersV1ControllerChatOauthCallbackRequest$inboundSchema,
35
35
  };
36
36
  exports.tool$subscribersAuthenticationChatAccessOauthCallBack = {
37
- name: "subscribers-authentication_chat-access-oauth-call-back",
37
+ name: "subscribers-authentication-chat-access-oauth-call-back",
38
38
  description: `Handle providers oauth redirect`,
39
39
  args,
40
40
  tool: async (client, args, ctx) => {
@@ -36,7 +36,7 @@ const args = {
36
36
  idempotencyKey: z.string().optional(),
37
37
  };
38
38
  exports.tool$subscribersCreate = {
39
- name: "subscribers_create",
39
+ name: "subscribers-create",
40
40
  description: `Create subscriber
41
41
 
42
42
  Create subscriber with the given data`,
@@ -36,7 +36,7 @@ const args = {
36
36
  idempotencyKey: z.string().optional(),
37
37
  };
38
38
  exports.tool$subscribersCreateBulk = {
39
- name: "subscribers_create-bulk",
39
+ name: "subscribers-create-bulk",
40
40
  description: `Bulk create subscribers
41
41
 
42
42
 
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$subscribersCredentialsAppend = {
40
- name: "subscribers-credentials_append",
40
+ name: "subscribers-credentials-append",
41
41
  description: `Modify subscriber credentials
42
42
 
43
43
  Subscriber credentials associated to the delivery methods such as slack and push tokens.
@@ -36,7 +36,7 @@ const args = {
36
36
  idempotencyKey: z.string().optional(),
37
37
  };
38
38
  exports.tool$subscribersCredentialsDelete = {
39
- name: "subscribers-credentials_delete",
39
+ name: "subscribers-credentials-delete",
40
40
  description: `Delete subscriber credentials by providerId
41
41
 
42
42
  Delete subscriber credentials such as slack and expo tokens.`,
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$subscribersCredentialsUpdate = {
40
- name: "subscribers-credentials_update",
40
+ name: "subscribers-credentials-update",
41
41
  description: `Update subscriber credentials
42
42
 
43
43
  Subscriber credentials associated to the delivery methods such as slack and push tokens.`,
@@ -35,7 +35,7 @@ const args = {
35
35
  idempotencyKey: z.string().optional(),
36
36
  };
37
37
  exports.tool$subscribersDelete = {
38
- name: "subscribers_delete",
38
+ name: "subscribers-delete",
39
39
  description: `Delete subscriber
40
40
 
41
41
  Deletes a subscriber entity from the Novu platform`,
@@ -36,7 +36,7 @@ const args = {
36
36
  idempotencyKey: z.string().optional(),
37
37
  };
38
38
  exports.tool$subscribersList = {
39
- name: "subscribers_list",
39
+ name: "subscribers-list",
40
40
  description: `Get subscribers
41
41
 
42
42
  Returns a list of subscribers, could paginated using the \`page\` and \`limit\` query parameter`,
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$subscribersMessagesMarkAll = {
40
- name: "subscribers-messages_mark-all",
40
+ name: "subscribers-messages-mark-all",
41
41
  description: `Marks all the subscriber messages as read, unread, seen or unseen. Optionally you can pass feed id (or array) to mark messages of a particular feed.`,
42
42
  args,
43
43
  tool: async (client, args, ctx) => {
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$subscribersMessagesMarkAllAs = {
40
- name: "subscribers-messages_mark-all-as",
40
+ name: "subscribers-messages-mark-all-as",
41
41
  description: `Mark a subscriber messages as seen, read, unseen or unread`,
42
42
  args,
43
43
  tool: async (client, args, ctx) => {
@@ -34,7 +34,7 @@ const args = {
34
34
  request: operations.SubscribersV1ControllerMarkActionAsSeenRequest$inboundSchema,
35
35
  };
36
36
  exports.tool$subscribersMessagesUpdateAsSeen = {
37
- name: "subscribers-messages_update-as-seen",
37
+ name: "subscribers-messages-update-as-seen",
38
38
  description: `Mark message action as seen`,
39
39
  args,
40
40
  tool: async (client, args, ctx) => {
@@ -34,7 +34,7 @@ const args = {
34
34
  request: operations.SubscribersV1ControllerGetNotificationsFeedRequest$inboundSchema,
35
35
  };
36
36
  exports.tool$subscribersNotificationsFeed = {
37
- name: "subscribers-notifications_feed",
37
+ name: "subscribers-notifications-feed",
38
38
  description: `Get in-app notification feed for a particular subscriber`,
39
39
  args,
40
40
  tool: async (client, args, ctx) => {
@@ -34,7 +34,7 @@ const args = {
34
34
  request: operations.SubscribersV1ControllerGetUnseenCountRequest$inboundSchema,
35
35
  };
36
36
  exports.tool$subscribersNotificationsUnseenCount = {
37
- name: "subscribers-notifications_unseen-count",
37
+ name: "subscribers-notifications-unseen-count",
38
38
  description: `Get the unseen in-app notifications count for subscribers feed`,
39
39
  args,
40
40
  tool: async (client, args, ctx) => {
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$subscribersPatch = {
40
- name: "subscribers_patch",
40
+ name: "subscribers-patch",
41
41
  description: `Patch subscriber
42
42
 
43
43
  Patch subscriber by your internal id used to identify the subscriber`,
@@ -35,7 +35,7 @@ const args = {
35
35
  idempotencyKey: z.string().optional(),
36
36
  };
37
37
  exports.tool$subscribersPreferencesList = {
38
- name: "subscribers-preferences_list",
38
+ name: "subscribers-preferences-list",
39
39
  description: `Get subscriber preferences
40
40
 
41
41
  Get subscriber global and workflow specific preferences`,
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$subscribersPreferencesUpdate = {
40
- name: "subscribers-preferences_update",
40
+ name: "subscribers-preferences-update",
41
41
  description: `Update subscriber global or workflow specific preferences
42
42
 
43
43
  Update subscriber global or workflow specific preferences`,
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$subscribersPropertiesUpdateOnlineFlag = {
40
- name: "subscribers-properties_update-online-flag",
40
+ name: "subscribers-properties-update-online-flag",
41
41
  description: `Update subscriber online status
42
42
 
43
43
  Used to update the subscriber isOnline flag.`,
@@ -35,7 +35,7 @@ const args = {
35
35
  idempotencyKey: z.string().optional(),
36
36
  };
37
37
  exports.tool$subscribersRetrieve = {
38
- name: "subscribers_retrieve",
38
+ name: "subscribers-retrieve",
39
39
  description: `Get subscriber
40
40
 
41
41
  Get subscriber by your internal id used to identify the subscriber`,
@@ -34,7 +34,7 @@ const args = {
34
34
  request: operations.SubscribersControllerSearchSubscribersRequest$inboundSchema,
35
35
  };
36
36
  exports.tool$subscribersSearch = {
37
- name: "subscribers_search",
37
+ name: "subscribers-search",
38
38
  description: `Search for subscribers`,
39
39
  args,
40
40
  tool: async (client, args, ctx) => {
@@ -36,7 +36,7 @@ const args = {
36
36
  idempotencyKey: z.string().optional(),
37
37
  };
38
38
  exports.tool$topicsCreate = {
39
- name: "topics_create",
39
+ name: "topics-create",
40
40
  description: `Topic creation
41
41
 
42
42
  Create a topic`,
@@ -35,7 +35,7 @@ const args = {
35
35
  idempotencyKey: z.string().optional(),
36
36
  };
37
37
  exports.tool$topicsDelete = {
38
- name: "topics_delete",
38
+ name: "topics-delete",
39
39
  description: `Delete topic
40
40
 
41
41
  Delete a topic by its topic key if it has no subscribers`,
@@ -34,7 +34,7 @@ const args = {
34
34
  request: operations.TopicsControllerListTopicsRequest$inboundSchema,
35
35
  };
36
36
  exports.tool$topicsList = {
37
- name: "topics_list",
37
+ name: "topics-list",
38
38
  description: `Get topic list filtered
39
39
 
40
40
  Returns a list of topics that can be paginated using the \`page\` query parameter and filtered by the topic key with the \`key\` query parameter`,
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$topicsRename = {
40
- name: "topics_rename",
40
+ name: "topics-rename",
41
41
  description: `Rename a topic
42
42
 
43
43
  Rename a topic by providing a new name`,
@@ -35,7 +35,7 @@ const args = {
35
35
  idempotencyKey: z.string().optional(),
36
36
  };
37
37
  exports.tool$topicsRetrieve = {
38
- name: "topics_retrieve",
38
+ name: "topics-retrieve",
39
39
  description: `Get topic
40
40
 
41
41
  Get a topic by its topic key`,
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$topicsSubscribersAssign = {
40
- name: "topics-subscribers_assign",
40
+ name: "topics-subscribers-assign",
41
41
  description: `Subscribers addition
42
42
 
43
43
  Add subscribers to a topic by key`,
@@ -37,7 +37,7 @@ const args = {
37
37
  idempotencyKey: z.string().optional(),
38
38
  };
39
39
  exports.tool$topicsSubscribersRemove = {
40
- name: "topics-subscribers_remove",
40
+ name: "topics-subscribers-remove",
41
41
  description: `Subscribers removal
42
42
 
43
43
  Remove subscribers from a topic`,
@@ -36,7 +36,7 @@ const args = {
36
36
  idempotencyKey: z.string().optional(),
37
37
  };
38
38
  exports.tool$topicsSubscribersRetrieve = {
39
- name: "topics-subscribers_retrieve",
39
+ name: "topics-subscribers-retrieve",
40
40
  description: `Check topic subscriber
41
41
 
42
42
  Check if a subscriber belongs to a certain topic`,
@@ -21,5 +21,5 @@ export type ToolDefinition<Args extends undefined | ZodRawShape = undefined> = A
21
21
  export declare function formatResult(value: unknown, init: {
22
22
  response?: Response | undefined;
23
23
  }): Promise<CallToolResult>;
24
- export declare function createRegisterTool(logger: ConsoleLogger, server: McpServer, sdk: NovuCore, allowedScopes: Set<MCPScope>): <A extends ZodRawShape | undefined>(tool: ToolDefinition<A>) => void;
24
+ export declare function createRegisterTool(logger: ConsoleLogger, server: McpServer, sdk: NovuCore, allowedScopes: Set<MCPScope>, allowedTools?: Set<string>): <A extends ZodRawShape | undefined>(tool: ToolDefinition<A>) => void;
25
25
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/mcp-server/tools.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,SAAS,GAAG,WAAW,GAAG,SAAS,IACzE,IAAI,SAAS,WAAW,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,CACJ,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,EACxC,KAAK,EAAE,mBAAmB,KACvB,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC/C,GACC;IACA,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,CACJ,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,mBAAmB,KACvB,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC/C,CAAC;AAEN,wBAAsB,YAAY,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,GACxC,OAAO,CAAC,cAAc,CAAC,CAkCzB;AAkBD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,QAAQ,EACb,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,GAC3B,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAmBtE"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/mcp-server/tools.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,SAAS,GAAG,WAAW,GAAG,SAAS,IACzE,IAAI,SAAS,WAAW,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,CACJ,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,EACxC,KAAK,EAAE,mBAAmB,KACvB,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC/C,GACC;IACA,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,CACJ,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,mBAAmB,KACvB,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC/C,CAAC;AAGN,wBAAsB,YAAY,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,GACxC,OAAO,CAAC,cAAc,CAAC,CAkCzB;AAkBD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,QAAQ,EACb,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,EAC5B,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CA2BtE"}
@@ -5,6 +5,7 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createRegisterTool = exports.formatResult = void 0;
7
7
  const shared_js_1 = require("./shared.js");
8
+ // Optional function to assist with formatting tool results
8
9
  async function formatResult(value, init) {
9
10
  if (typeof value === "undefined") {
10
11
  return { content: [] };
@@ -52,9 +53,15 @@ async function consumeSSE(value) {
52
53
  }
53
54
  return content;
54
55
  }
55
- function createRegisterTool(logger, server, sdk, allowedScopes) {
56
+ function createRegisterTool(logger, server, sdk, allowedScopes, allowedTools) {
56
57
  return (tool) => {
58
+ if (allowedTools && !allowedTools.has(tool.name)) {
59
+ return;
60
+ }
57
61
  const toolScopes = tool.scopes ?? [];
62
+ if (allowedScopes.size > 0 && toolScopes.length === 0) {
63
+ return;
64
+ }
58
65
  if (!toolScopes.every((s) => allowedScopes.has(s))) {
59
66
  return;
60
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/mcp-server/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/mcp-server/tools.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AASH,2CAA2E;AAyB3E,2DAA2D;AACpD,KAAK,UAAU,YAAY,CAChC,KAAc,EACd,IAAyC;IAEzC,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,MAAM,WAAW,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAChE,IAAI,OAAO,GAA8B,EAAE,CAAC;IAE5C,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,IACL,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC;WACxC,IAAA,2BAAe,EAAC,KAAK,CAAC,EACzB,CAAC;QACD,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,IAAA,wBAAY,EAAC,KAAK,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAa,EAAC,KAAK,CAAC,CAAC;QACxC,OAAO,GAAG,IAAI,IAAI,IAAI;YACpB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,8BAA8B,WAAW,GAAG;iBACnD,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AArCD,oCAqCC;AAED,KAAK,UAAU,UAAU,CACvB,KAA6B;IAE7B,MAAM,OAAO,GAA8B,EAAE,CAAC;IAE9C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,kBAAkB,CAChC,MAAqB,EACrB,MAAiB,EACjB,GAAa,EACb,aAA4B,EAC5B,YAA0B;IAE1B,OAAO,CAAoC,IAAuB,EAAQ,EAAE;QAC1E,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;gBACtE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACrD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC;AAjCD,gDAiCC"}