@rudderhq/server 0.5.2-canary.2 → 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 (386) hide show
  1. package/dist/bootstrap/register-api-routes.d.ts.map +1 -1
  2. package/dist/bootstrap/register-api-routes.js +15 -0
  3. package/dist/bootstrap/register-api-routes.js.map +1 -1
  4. package/dist/bootstrap/types.d.ts +11 -0
  5. package/dist/bootstrap/types.d.ts.map +1 -1
  6. package/dist/bundled-plugins/plugin-linear/dist/worker.js +741 -7
  7. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +3 -3
  8. package/dist/config.d.ts +2 -0
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +3 -0
  11. package/dist/config.js.map +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +28 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/local-runtime.d.ts +7 -0
  16. package/dist/local-runtime.d.ts.map +1 -1
  17. package/dist/local-runtime.js +15 -1
  18. package/dist/local-runtime.js.map +1 -1
  19. package/dist/middleware/auth.js +2 -2
  20. package/dist/middleware/auth.js.map +1 -1
  21. package/dist/middleware/error-handler.d.ts.map +1 -1
  22. package/dist/middleware/error-handler.js +3 -2
  23. package/dist/middleware/error-handler.js.map +1 -1
  24. package/dist/middleware/logger.d.ts +4 -0
  25. package/dist/middleware/logger.d.ts.map +1 -1
  26. package/dist/middleware/logger.js +82 -7
  27. package/dist/middleware/logger.js.map +1 -1
  28. package/dist/middleware/logger.test.js +94 -1
  29. package/dist/middleware/logger.test.js.map +1 -1
  30. package/dist/routes/chats.annotation-routes.d.ts +47 -0
  31. package/dist/routes/chats.annotation-routes.d.ts.map +1 -0
  32. package/dist/routes/chats.annotation-routes.js +164 -0
  33. package/dist/routes/chats.annotation-routes.js.map +1 -0
  34. package/dist/routes/chats.d.ts.map +1 -1
  35. package/dist/routes/chats.js +467 -165
  36. package/dist/routes/chats.js.map +1 -1
  37. package/dist/routes/chats.stream-routes.d.ts +1 -10
  38. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  39. package/dist/routes/chats.stream-routes.js +168 -110
  40. package/dist/routes/chats.stream-routes.js.map +1 -1
  41. package/dist/routes/chats.stream-support.d.ts +79 -0
  42. package/dist/routes/chats.stream-support.d.ts.map +1 -0
  43. package/dist/routes/chats.stream-support.js +121 -0
  44. package/dist/routes/chats.stream-support.js.map +1 -0
  45. package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
  46. package/dist/routes/issues.comments-attachments.js +16 -2
  47. package/dist/routes/issues.comments-attachments.js.map +1 -1
  48. package/dist/routes/issues.d.ts.map +1 -1
  49. package/dist/routes/issues.js +21 -4
  50. package/dist/routes/issues.js.map +1 -1
  51. package/dist/routes/issues.mutations.d.ts.map +1 -1
  52. package/dist/routes/issues.mutations.js +20 -33
  53. package/dist/routes/issues.mutations.js.map +1 -1
  54. package/dist/routes/managed-mcp-agent-bindings.d.ts +15 -0
  55. package/dist/routes/managed-mcp-agent-bindings.d.ts.map +1 -0
  56. package/dist/routes/managed-mcp-agent-bindings.js +66 -0
  57. package/dist/routes/managed-mcp-agent-bindings.js.map +1 -0
  58. package/dist/routes/managed-mcp-connections.d.ts +8 -0
  59. package/dist/routes/managed-mcp-connections.d.ts.map +1 -0
  60. package/dist/routes/managed-mcp-connections.js +189 -0
  61. package/dist/routes/managed-mcp-connections.js.map +1 -0
  62. package/dist/routes/managed-mcp-runtime.d.ts +5 -0
  63. package/dist/routes/managed-mcp-runtime.d.ts.map +1 -0
  64. package/dist/routes/managed-mcp-runtime.js +148 -0
  65. package/dist/routes/managed-mcp-runtime.js.map +1 -0
  66. package/dist/routes/messenger.d.ts.map +1 -1
  67. package/dist/routes/messenger.js +1 -1
  68. package/dist/routes/messenger.js.map +1 -1
  69. package/dist/services/access.d.ts.map +1 -1
  70. package/dist/services/access.js +91 -12
  71. package/dist/services/access.js.map +1 -1
  72. package/dist/services/agent-run-context.d.ts +1 -0
  73. package/dist/services/agent-run-context.d.ts.map +1 -1
  74. package/dist/services/agent-run-context.js +5 -1
  75. package/dist/services/agent-run-context.js.map +1 -1
  76. package/dist/services/board-auth.d.ts +2 -2
  77. package/dist/services/chat-annotation-copy-lineage.d.ts +32 -0
  78. package/dist/services/chat-annotation-copy-lineage.d.ts.map +1 -0
  79. package/dist/services/chat-annotation-copy-lineage.js +110 -0
  80. package/dist/services/chat-annotation-copy-lineage.js.map +1 -0
  81. package/dist/services/chat-assistant.annotations.d.ts +16 -0
  82. package/dist/services/chat-assistant.annotations.d.ts.map +1 -0
  83. package/dist/services/chat-assistant.annotations.js +108 -0
  84. package/dist/services/chat-assistant.annotations.js.map +1 -0
  85. package/dist/services/chat-assistant.annotations.test.d.ts +2 -0
  86. package/dist/services/chat-assistant.annotations.test.d.ts.map +1 -0
  87. package/dist/services/chat-assistant.annotations.test.js +257 -0
  88. package/dist/services/chat-assistant.annotations.test.js.map +1 -0
  89. package/dist/services/chat-assistant.d.ts.map +1 -1
  90. package/dist/services/chat-assistant.helpers.d.ts +2 -3
  91. package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
  92. package/dist/services/chat-assistant.helpers.js +37 -53
  93. package/dist/services/chat-assistant.helpers.js.map +1 -1
  94. package/dist/services/chat-assistant.js +61 -5
  95. package/dist/services/chat-assistant.js.map +1 -1
  96. package/dist/services/chat-generation-protocol.d.ts +8 -15
  97. package/dist/services/chat-generation-protocol.d.ts.map +1 -1
  98. package/dist/services/chat-generation-protocol.js +19 -59
  99. package/dist/services/chat-generation-protocol.js.map +1 -1
  100. package/dist/services/chat-generation-protocol.test.js +168 -6
  101. package/dist/services/chat-generation-protocol.test.js.map +1 -1
  102. package/dist/services/chat-generation-provenance.d.ts +14 -0
  103. package/dist/services/chat-generation-provenance.d.ts.map +1 -0
  104. package/dist/services/chat-generation-provenance.js +71 -0
  105. package/dist/services/chat-generation-provenance.js.map +1 -0
  106. package/dist/services/chat-inline-annotation-rendering.d.ts +2 -0
  107. package/dist/services/chat-inline-annotation-rendering.d.ts.map +1 -0
  108. package/dist/services/chat-inline-annotation-rendering.js +265 -0
  109. package/dist/services/chat-inline-annotation-rendering.js.map +1 -0
  110. package/dist/services/chat-inline-annotation-resolved-labels.d.ts +11 -0
  111. package/dist/services/chat-inline-annotation-resolved-labels.d.ts.map +1 -0
  112. package/dist/services/chat-inline-annotation-resolved-labels.js +490 -0
  113. package/dist/services/chat-inline-annotation-resolved-labels.js.map +1 -0
  114. package/dist/services/chat-inline-annotation-validation.d.ts +15 -0
  115. package/dist/services/chat-inline-annotation-validation.d.ts.map +1 -0
  116. package/dist/services/chat-inline-annotation-validation.js +430 -0
  117. package/dist/services/chat-inline-annotation-validation.js.map +1 -0
  118. package/dist/services/chat-inline-annotations.d.ts +18 -0
  119. package/dist/services/chat-inline-annotations.d.ts.map +1 -0
  120. package/dist/services/chat-inline-annotations.js +52 -0
  121. package/dist/services/chat-inline-annotations.js.map +1 -0
  122. package/dist/services/chat-inline-annotations.test.d.ts +2 -0
  123. package/dist/services/chat-inline-annotations.test.d.ts.map +1 -0
  124. package/dist/services/chat-inline-annotations.test.js +1306 -0
  125. package/dist/services/chat-inline-annotations.test.js.map +1 -0
  126. package/dist/services/chat-queued-message-materialization.d.ts +126 -0
  127. package/dist/services/chat-queued-message-materialization.d.ts.map +1 -0
  128. package/dist/services/chat-queued-message-materialization.js +327 -0
  129. package/dist/services/chat-queued-message-materialization.js.map +1 -0
  130. package/dist/services/chat-steer-messages.d.ts +3 -3
  131. package/dist/services/chat-steer-messages.d.ts.map +1 -1
  132. package/dist/services/chat-steer-messages.js +50 -80
  133. package/dist/services/chat-steer-messages.js.map +1 -1
  134. package/dist/services/chat-work-manifest.d.ts.map +1 -1
  135. package/dist/services/chat-work-manifest.js +5 -1
  136. package/dist/services/chat-work-manifest.js.map +1 -1
  137. package/dist/services/chats.annotation-persistence.d.ts +20 -0
  138. package/dist/services/chats.annotation-persistence.d.ts.map +1 -0
  139. package/dist/services/chats.annotation-persistence.js +206 -0
  140. package/dist/services/chats.annotation-persistence.js.map +1 -0
  141. package/dist/services/chats.d.ts +129 -96
  142. package/dist/services/chats.d.ts.map +1 -1
  143. package/dist/services/chats.helpers.d.ts +2 -2
  144. package/dist/services/chats.inline-visual-persistence.d.ts +3 -3
  145. package/dist/services/chats.inline-visual-persistence.d.ts.map +1 -1
  146. package/dist/services/chats.inline-visual-persistence.js +114 -54
  147. package/dist/services/chats.inline-visual-persistence.js.map +1 -1
  148. package/dist/services/chats.js +743 -252
  149. package/dist/services/chats.js.map +1 -1
  150. package/dist/services/finance.d.ts +1 -1
  151. package/dist/services/index.d.ts +8 -0
  152. package/dist/services/index.d.ts.map +1 -1
  153. package/dist/services/index.js +8 -0
  154. package/dist/services/index.js.map +1 -1
  155. package/dist/services/integrations/agent-integrations.d.ts +2 -2
  156. package/dist/services/integrations/custom-integrations.d.ts +3 -1
  157. package/dist/services/integrations/custom-integrations.d.ts.map +1 -1
  158. package/dist/services/integrations/custom-integrations.js +13 -2
  159. package/dist/services/integrations/custom-integrations.js.map +1 -1
  160. package/dist/services/issues.comments-attachments.d.ts +7 -1
  161. package/dist/services/issues.comments-attachments.d.ts.map +1 -1
  162. package/dist/services/issues.comments-attachments.js +13 -1
  163. package/dist/services/issues.comments-attachments.js.map +1 -1
  164. package/dist/services/issues.d.ts +6 -0
  165. package/dist/services/issues.d.ts.map +1 -1
  166. package/dist/services/issues.js +22 -3
  167. package/dist/services/issues.js.map +1 -1
  168. package/dist/services/knowledge-portability/organization-portability.core.d.ts +4 -1
  169. package/dist/services/knowledge-portability/organization-portability.core.d.ts.map +1 -1
  170. package/dist/services/knowledge-portability/organization-portability.core.js +17 -3
  171. package/dist/services/knowledge-portability/organization-portability.core.js.map +1 -1
  172. package/dist/services/knowledge-portability/organization-portability.export.d.ts.map +1 -1
  173. package/dist/services/knowledge-portability/organization-portability.export.js +2 -2
  174. package/dist/services/knowledge-portability/organization-portability.export.js.map +1 -1
  175. package/dist/services/knowledge-portability/organization-portability.import.d.ts.map +1 -1
  176. package/dist/services/knowledge-portability/organization-portability.import.js +13 -3
  177. package/dist/services/knowledge-portability/organization-portability.import.js.map +1 -1
  178. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +3 -0
  179. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
  180. package/dist/services/knowledge-portability/organization-skills.catalog.js +54 -23
  181. package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
  182. package/dist/services/knowledge-portability/organization-skills.d.ts.map +1 -1
  183. package/dist/services/knowledge-portability/organization-skills.js +627 -124
  184. package/dist/services/knowledge-portability/organization-skills.js.map +1 -1
  185. package/dist/services/knowledge-portability/organization-skills.sources.d.ts +1 -0
  186. package/dist/services/knowledge-portability/organization-skills.sources.d.ts.map +1 -1
  187. package/dist/services/knowledge-portability/organization-skills.sources.js +53 -10
  188. package/dist/services/knowledge-portability/organization-skills.sources.js.map +1 -1
  189. package/dist/services/mcp/authorizer-lock.d.ts +9 -0
  190. package/dist/services/mcp/authorizer-lock.d.ts.map +1 -0
  191. package/dist/services/mcp/authorizer-lock.js +15 -0
  192. package/dist/services/mcp/authorizer-lock.js.map +1 -0
  193. package/dist/services/mcp/managed-bindings.d.ts +17 -0
  194. package/dist/services/mcp/managed-bindings.d.ts.map +1 -0
  195. package/dist/services/mcp/managed-bindings.js +332 -0
  196. package/dist/services/mcp/managed-bindings.js.map +1 -0
  197. package/dist/services/mcp/managed-client.d.ts +64 -0
  198. package/dist/services/mcp/managed-client.d.ts.map +1 -0
  199. package/dist/services/mcp/managed-client.js +238 -0
  200. package/dist/services/mcp/managed-client.js.map +1 -0
  201. package/dist/services/mcp/managed-client.test.d.ts +2 -0
  202. package/dist/services/mcp/managed-client.test.d.ts.map +1 -0
  203. package/dist/services/mcp/managed-client.test.js +398 -0
  204. package/dist/services/mcp/managed-client.test.js.map +1 -0
  205. package/dist/services/mcp/managed-connections.d.ts +81 -0
  206. package/dist/services/mcp/managed-connections.d.ts.map +1 -0
  207. package/dist/services/mcp/managed-connections.js +920 -0
  208. package/dist/services/mcp/managed-connections.js.map +1 -0
  209. package/dist/services/mcp/managed-runtime.d.ts +134 -0
  210. package/dist/services/mcp/managed-runtime.d.ts.map +1 -0
  211. package/dist/services/mcp/managed-runtime.js +282 -0
  212. package/dist/services/mcp/managed-runtime.js.map +1 -0
  213. package/dist/services/mcp/oauth-provider.d.ts +48 -0
  214. package/dist/services/mcp/oauth-provider.d.ts.map +1 -0
  215. package/dist/services/mcp/oauth-provider.js +120 -0
  216. package/dist/services/mcp/oauth-provider.js.map +1 -0
  217. package/dist/services/mcp/oauth-scope.test.d.ts +2 -0
  218. package/dist/services/mcp/oauth-scope.test.d.ts.map +1 -0
  219. package/dist/services/mcp/oauth-scope.test.js +69 -0
  220. package/dist/services/mcp/oauth-scope.test.js.map +1 -0
  221. package/dist/services/mcp/oauth-session-gc.d.ts +14 -0
  222. package/dist/services/mcp/oauth-session-gc.d.ts.map +1 -0
  223. package/dist/services/mcp/oauth-session-gc.js +34 -0
  224. package/dist/services/mcp/oauth-session-gc.js.map +1 -0
  225. package/dist/services/mcp/oauth-session-gc.test.d.ts +2 -0
  226. package/dist/services/mcp/oauth-session-gc.test.d.ts.map +1 -0
  227. package/dist/services/mcp/oauth-session-gc.test.js +66 -0
  228. package/dist/services/mcp/oauth-session-gc.test.js.map +1 -0
  229. package/dist/services/mcp/oauth.d.ts +61 -0
  230. package/dist/services/mcp/oauth.d.ts.map +1 -0
  231. package/dist/services/mcp/oauth.js +1690 -0
  232. package/dist/services/mcp/oauth.js.map +1 -0
  233. package/dist/services/mcp/pinned-fetch.d.ts +15 -0
  234. package/dist/services/mcp/pinned-fetch.d.ts.map +1 -0
  235. package/dist/services/mcp/pinned-fetch.js +400 -0
  236. package/dist/services/mcp/pinned-fetch.js.map +1 -0
  237. package/dist/services/mcp/pinned-fetch.test.d.ts +2 -0
  238. package/dist/services/mcp/pinned-fetch.test.d.ts.map +1 -0
  239. package/dist/services/mcp/pinned-fetch.test.js +190 -0
  240. package/dist/services/mcp/pinned-fetch.test.js.map +1 -0
  241. package/dist/services/mcp/provider-registry.d.ts +77 -0
  242. package/dist/services/mcp/provider-registry.d.ts.map +1 -0
  243. package/dist/services/mcp/provider-registry.js +80 -0
  244. package/dist/services/mcp/provider-registry.js.map +1 -0
  245. package/dist/services/mcp/provider-registry.test.d.ts +2 -0
  246. package/dist/services/mcp/provider-registry.test.d.ts.map +1 -0
  247. package/dist/services/mcp/provider-registry.test.js +80 -0
  248. package/dist/services/mcp/provider-registry.test.js.map +1 -0
  249. package/dist/services/mcp/security-policy.d.ts +48 -0
  250. package/dist/services/mcp/security-policy.d.ts.map +1 -0
  251. package/dist/services/mcp/security-policy.js +344 -0
  252. package/dist/services/mcp/security-policy.js.map +1 -0
  253. package/dist/services/mcp/security-policy.test.d.ts +2 -0
  254. package/dist/services/mcp/security-policy.test.d.ts.map +1 -0
  255. package/dist/services/mcp/security-policy.test.js +226 -0
  256. package/dist/services/mcp/security-policy.test.js.map +1 -0
  257. package/dist/services/mcp/tool-discovery.d.ts +49 -0
  258. package/dist/services/mcp/tool-discovery.d.ts.map +1 -0
  259. package/dist/services/mcp/tool-discovery.js +198 -0
  260. package/dist/services/mcp/tool-discovery.js.map +1 -0
  261. package/dist/services/mcp/tool-discovery.test.d.ts +2 -0
  262. package/dist/services/mcp/tool-discovery.test.d.ts.map +1 -0
  263. package/dist/services/mcp/tool-discovery.test.js +168 -0
  264. package/dist/services/mcp/tool-discovery.test.js.map +1 -0
  265. package/dist/services/messenger.d.ts +1 -1
  266. package/dist/services/messenger.d.ts.map +1 -1
  267. package/dist/services/messenger.js +21 -3
  268. package/dist/services/messenger.js.map +1 -1
  269. package/dist/services/plugin-registry.d.ts +3 -3
  270. package/dist/services/runtime-kernel/heartbeat.core.d.ts +1 -1
  271. package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
  272. package/dist/services/runtime-kernel/heartbeat.core.js +30 -4
  273. package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
  274. package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
  275. package/dist/services/runtime-kernel/heartbeat.wakeup.js +38 -23
  276. package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
  277. package/dist/services/secrets.d.ts +64 -6
  278. package/dist/services/secrets.d.ts.map +1 -1
  279. package/dist/services/secrets.js +38 -15
  280. package/dist/services/secrets.js.map +1 -1
  281. package/dist/services/side-chats.d.ts +1 -1
  282. package/dist/services/side-chats.d.ts.map +1 -1
  283. package/dist/services/side-chats.js +56 -14
  284. package/dist/services/side-chats.js.map +1 -1
  285. package/dist/services/workspace-runtime.services.d.ts +2 -2
  286. package/dist/services/workspace-web-preview.js +1 -1
  287. package/package.json +16 -13
  288. package/resources/bundled-skills/rudder-docs/references/operating-practices.md +12 -5
  289. package/skills/rudder-docs/references/operating-practices.md +12 -5
  290. package/ui-dist/assets/LibraryLiveSurface-CKOthw54.js +1 -0
  291. package/ui-dist/assets/{abnfDiagram-VRR7QNED-KGtP7zoC.js → abnfDiagram-VRR7QNED-C6a_wMho.js} +1 -1
  292. package/ui-dist/assets/{arc-JjnKyiOb.js → arc-CP0En6KA.js} +1 -1
  293. package/ui-dist/assets/architectureDiagram-ZJ3FMSHR-AHfOdcaZ.js +36 -0
  294. package/ui-dist/assets/{blockDiagram-677ZJIJ3-D7YzMYrz.js → blockDiagram-677ZJIJ3-Bkl9lp63.js} +1 -1
  295. package/ui-dist/assets/{c4Diagram-LMCZKHZV-Dpf7UQxl.js → c4Diagram-LMCZKHZV-BpZareVt.js} +1 -1
  296. package/ui-dist/assets/channel-DqxL_Zcy.js +1 -0
  297. package/ui-dist/assets/{chunk-2Q5K7J3B-UJ3gsGlQ.js → chunk-2Q5K7J3B-BQAwVuXc.js} +1 -1
  298. package/ui-dist/assets/{chunk-32BRIVSS-BeHl2j2l.js → chunk-32BRIVSS-YkmfA08F.js} +1 -1
  299. package/ui-dist/assets/{chunk-5VM5RSS4-STE9fJd0.js → chunk-5VM5RSS4-DvvjwTnG.js} +1 -1
  300. package/ui-dist/assets/{chunk-EX3LRPZG-Bj8g8j4B.js → chunk-EX3LRPZG-TXD_Yhg5.js} +1 -1
  301. package/ui-dist/assets/{chunk-JWPE2WC7-0V4Pwta-.js → chunk-JWPE2WC7-CgMlj6XI.js} +1 -1
  302. package/ui-dist/assets/{chunk-MOJQB5TN-DNPn50gm.js → chunk-MOJQB5TN-BnJjU8Rc.js} +1 -1
  303. package/ui-dist/assets/{chunk-RYQCIY6F-Befmnv8r.js → chunk-RYQCIY6F-D9B64JKM.js} +1 -1
  304. package/ui-dist/assets/{chunk-V7JOEXUC-Boh8TjHj.js → chunk-V7JOEXUC-PS09QVpl.js} +1 -1
  305. package/ui-dist/assets/{chunk-VR4S4FIN-B_yEQSo3.js → chunk-VR4S4FIN-DQXb7pRS.js} +1 -1
  306. package/ui-dist/assets/{chunk-XXDRQBXY-Cf1GnUFx.js → chunk-XXDRQBXY-B1UdLiF2.js} +1 -1
  307. package/ui-dist/assets/classDiagram-OUVF2IWQ-DMwjzuJE.js +1 -0
  308. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-DMwjzuJE.js +1 -0
  309. package/ui-dist/assets/cose-bilkent-JH36ORCC-lqqmMB3m.js +1 -0
  310. package/ui-dist/assets/{cynefin-VYW2F7L2-Dv1yELYC.js → cynefin-VYW2F7L2-C9hu0XqZ.js} +1 -1
  311. package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-CeFwjFoZ.js → cynefinDiagram-TSTJHNR4-Uuhz4c-1.js} +1 -1
  312. package/ui-dist/assets/{dagre-VKFMJZFB-8idd_4sX.js → dagre-VKFMJZFB-ChDrQYse.js} +1 -1
  313. package/ui-dist/assets/{diagram-FQU43EPY-BBVua6hM.js → diagram-FQU43EPY-DLtjkVSN.js} +1 -1
  314. package/ui-dist/assets/{diagram-G47NLZAW-D1zLQZlp.js → diagram-G47NLZAW-DCvEm4D0.js} +1 -1
  315. package/ui-dist/assets/{diagram-NH7WQ7WH-DE_FTSNv.js → diagram-NH7WQ7WH-Dz5jlsPG.js} +1 -1
  316. package/ui-dist/assets/{diagram-OA4YK3LP-61VSKBEn.js → diagram-OA4YK3LP-BXmQLO-Q.js} +1 -1
  317. package/ui-dist/assets/{diagram-WEI45ONY-C-tED6BJ.js → diagram-WEI45ONY-JnMU3xrx.js} +1 -1
  318. package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-BEB8WGt0.js → ebnfDiagram-CCIWWBDH-Kryuqj4r.js} +1 -1
  319. package/ui-dist/assets/{erDiagram-Q63AITRT-AN_jm1TZ.js → erDiagram-Q63AITRT-Bn7g2mSW.js} +1 -1
  320. package/ui-dist/assets/{flowDiagram-23GEKE2U-BwLC6tI7.js → flowDiagram-23GEKE2U-DcjqTK91.js} +4 -4
  321. package/ui-dist/assets/ganttDiagram-NO4QXBWP-BRkw9-GE.js +292 -0
  322. package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-D9HCL9rY.js → gitGraphDiagram-IHSO6WYX-Cexcp6kR.js} +1 -1
  323. package/ui-dist/assets/graph-Cu7OV4Oi.js +1 -0
  324. package/ui-dist/assets/{index-BQXnpwke.js → index-ASZMPBYm.js} +5 -5
  325. package/ui-dist/assets/{index-5OM32_rf.js → index-B17BqCTj.js} +1 -1
  326. package/ui-dist/assets/{index-Cf0gLy6a.js → index-B9MccU1g.js} +1 -1
  327. package/ui-dist/assets/{index-BoSJ4Rx1.js → index-BPqbtW_X.js} +1 -1
  328. package/ui-dist/assets/{index-CpIdZ4-7.js → index-C2HjDa98.js} +1 -1
  329. package/ui-dist/assets/index-CMPtpj0A.js +1 -0
  330. package/ui-dist/assets/{index-p0ZGU1_7.js → index-CZXgOYtk.js} +1 -1
  331. package/ui-dist/assets/{index-74cx3ESJ.js → index-CknAauOP.js} +1 -1
  332. package/ui-dist/assets/index-Cu1GuH0a.js +1 -0
  333. package/ui-dist/assets/index-D8PdEImm.css +1 -0
  334. package/ui-dist/assets/{index-DrVDiJhe.js → index-DB1YX9-p.js} +1 -1
  335. package/ui-dist/assets/{index-vHMnAQSb.js → index-DBxLZXK7.js} +624 -610
  336. package/ui-dist/assets/{index-CpEfk5zb.js → index-DOCVOD97.js} +1 -1
  337. package/ui-dist/assets/{index-DMuWG0YN.js → index-DUbakRAC.js} +1 -1
  338. package/ui-dist/assets/{index-AT8juaIi.js → index-Dbg1ZwO2.js} +1 -1
  339. package/ui-dist/assets/index-DwbLsoLt.js +1 -0
  340. package/ui-dist/assets/index-hCLSotmS.js +1 -0
  341. package/ui-dist/assets/index-jrhEFc-j.js +1 -0
  342. package/ui-dist/assets/index-kz8ueXgo.js +1 -0
  343. package/ui-dist/assets/{infoDiagram-FWYZ7A6U-CyO3CAA1.js → infoDiagram-FWYZ7A6U-DugVGI3K.js} +1 -1
  344. package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-BLLZuF1_.js → ishikawaDiagram-FXEZZL3T-CHy06Oev.js} +1 -1
  345. package/ui-dist/assets/{journeyDiagram-5HDEW3XC-CWzQocvE.js → journeyDiagram-5HDEW3XC-BI0w53rb.js} +1 -1
  346. package/ui-dist/assets/{kanban-definition-HUTT4EX6-Dz4SFU-I.js → kanban-definition-HUTT4EX6-v_bLwx7B.js} +1 -1
  347. package/ui-dist/assets/layout-Dwp1s_bo.js +1 -0
  348. package/ui-dist/assets/{linear-BlzDlAaL.js → linear-DAV4STLZ.js} +1 -1
  349. package/ui-dist/assets/map-Bs6QpaaQ.js +1 -0
  350. package/ui-dist/assets/{mermaid.core-BtCydd-w.js → mermaid.core-fVmaL47V.js} +4 -4
  351. package/ui-dist/assets/{mindmap-definition-LN4V7U3C-BeIkKRBx.js → mindmap-definition-LN4V7U3C-5dWD4dxm.js} +1 -1
  352. package/ui-dist/assets/{pegDiagram-2B236MQR-BZgpT4TN.js → pegDiagram-2B236MQR-DB2XsDPN.js} +1 -1
  353. package/ui-dist/assets/{pieDiagram-ENE6RG2P-BRFggcg2.js → pieDiagram-ENE6RG2P-Bc5teLCS.js} +1 -1
  354. package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-CibUo3gT.js → quadrantDiagram-ABIIQ3AL-BlfNdETt.js} +1 -1
  355. package/ui-dist/assets/{railroadDiagram-RFXS5EU6-DINJqhgn.js → railroadDiagram-RFXS5EU6-BbXywkq3.js} +1 -1
  356. package/ui-dist/assets/{requirementDiagram-TGXJPOKE-NegluQIe.js → requirementDiagram-TGXJPOKE-DU-CapdF.js} +1 -1
  357. package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-Kq41yHAd.js → sankeyDiagram-HTMAVEWB-Ftvh3MqA.js} +1 -1
  358. package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-CngfEI4f.js → sequenceDiagram-DBY2YBRQ-CCtHt9V4.js} +1 -1
  359. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-DUWRNlme.js → sizeCapture-X5ZJPWSS-x0jnIKHx.js} +1 -1
  360. package/ui-dist/assets/{stateDiagram-2N3HPSRC-BwHC_Fz4.js → stateDiagram-2N3HPSRC-2qCrydE7.js} +1 -1
  361. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-CvGRUgRf.js +1 -0
  362. package/ui-dist/assets/{swimlanes-5IMT3BWC-Cqp2rT1K.js → swimlanes-5IMT3BWC-6kqJq5Xf.js} +2 -2
  363. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-EBa7-qSc.js +8 -0
  364. package/ui-dist/assets/{timeline-definition-FHXFAJF6-BG3GYPCu.js → timeline-definition-FHXFAJF6-BuRz8KHZ.js} +1 -1
  365. package/ui-dist/assets/{vennDiagram-L72KCM5P-D1IFU27N.js → vennDiagram-L72KCM5P-BKzMZ_Rv.js} +1 -1
  366. package/ui-dist/assets/{wardleyDiagram-EHGQE667-DboO2kYu.js → wardleyDiagram-EHGQE667-8uXlFtBV.js} +1 -1
  367. package/ui-dist/assets/{xychartDiagram-FW5EYKEG-vI2BGrXP.js → xychartDiagram-FW5EYKEG-CWKGlpF9.js} +1 -1
  368. package/ui-dist/index.html +2 -2
  369. package/ui-dist/assets/architectureDiagram-ZJ3FMSHR-DHyfFgK0.js +0 -36
  370. package/ui-dist/assets/channel-TMGI9Qt9.js +0 -1
  371. package/ui-dist/assets/classDiagram-OUVF2IWQ-r5zIpY6G.js +0 -1
  372. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-r5zIpY6G.js +0 -1
  373. package/ui-dist/assets/cose-bilkent-JH36ORCC-fSNs9447.js +0 -1
  374. package/ui-dist/assets/ganttDiagram-NO4QXBWP-CJYhBF1C.js +0 -292
  375. package/ui-dist/assets/graph-DdBT9W3J.js +0 -1
  376. package/ui-dist/assets/index-6UIO-gg7.js +0 -1
  377. package/ui-dist/assets/index-BVkQVMFn.js +0 -1
  378. package/ui-dist/assets/index-BaAPxkqh.css +0 -1
  379. package/ui-dist/assets/index-CmCERTmS.js +0 -1
  380. package/ui-dist/assets/index-Cr4lUIaJ.js +0 -1
  381. package/ui-dist/assets/index-D0fAqlES.js +0 -1
  382. package/ui-dist/assets/index-DfNcAyZq.js +0 -1
  383. package/ui-dist/assets/layout-D3tY9q4Q.js +0 -1
  384. package/ui-dist/assets/map-Ctg1-a9N.js +0 -1
  385. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-C6P3NY96.js +0 -1
  386. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-BNdDt62J.js +0 -8
@@ -0,0 +1,17 @@
1
+ import type { Db } from "@rudderhq/db";
2
+ import { type ManagedExternalMcpBinding, type McpAgentConnectionSummary, type UpsertMcpAgentBinding } from "@rudderhq/shared";
3
+ export interface ManagedMcpBindingActor {
4
+ userId?: string | null;
5
+ agentId?: string | null;
6
+ }
7
+ export declare class RequiredManagedMcpConnectionUnavailableError extends Error {
8
+ readonly serverName: string;
9
+ constructor(serverName: string);
10
+ }
11
+ export declare function managedMcpBindingService(db: Db): {
12
+ listForAgent: (orgId: string, agentId: string) => Promise<McpAgentConnectionSummary[]>;
13
+ upsert: (orgId: string, agentId: string, connectionId: string, rawInput: UpsertMcpAgentBinding, actor?: ManagedMcpBindingActor) => Promise<McpAgentConnectionSummary>;
14
+ revoke: (orgId: string, agentId: string, connectionId: string, actor?: ManagedMcpBindingActor) => Promise<McpAgentConnectionSummary | null>;
15
+ listRuntimeBindings: (orgId: string, agentId: string) => Promise<ManagedExternalMcpBinding[]>;
16
+ };
17
+ //# sourceMappingURL=managed-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-bindings.d.ts","sourceRoot":"","sources":["../../../src/services/mcp/managed-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AASvC,OAAO,EAEL,KAAK,yBAAyB,EAE9B,KAAK,yBAAyB,EAG9B,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAS1B,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAsFD,qBAAa,4CAA6C,SAAQ,KAAK;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM;CAIxC;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,EAAE;0BA8BpC,MAAM,WACJ,MAAM,KACd,OAAO,CAAC,yBAAyB,EAAE,CAAC;oBA0C9B,MAAM,WACJ,MAAM,gBACD,MAAM,YACV,qBAAqB,UACxB,sBAAsB,KAC5B,OAAO,CAAC,yBAAyB,CAAC;oBA6F5B,MAAM,WACJ,MAAM,gBACD,MAAM,UACb,sBAAsB,KAC5B,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;iCA4CnC,MAAM,WACJ,MAAM,KACd,OAAO,CAAC,yBAAyB,EAAE,CAAC;EAqGxC"}
@@ -0,0 +1,332 @@
1
+ import { activityLog, agentCustomIntegrationBindings, agents, customIntegrationTools, mcpConnections, mcpOAuthGrants, } from "@rudderhq/db";
2
+ import { upsertMcpAgentBindingSchema, } from "@rudderhq/shared";
3
+ import { and, asc, eq, inArray, ne, sql } from "drizzle-orm";
4
+ import { notFound, unprocessable } from "../../errors.js";
5
+ import { managedMcpRuntimeServerName } from "./tool-discovery.js";
6
+ function publicConnection(row) {
7
+ return {
8
+ id: row.id,
9
+ orgId: row.orgId,
10
+ name: row.name,
11
+ displayName: row.displayName,
12
+ provider: row.provider,
13
+ transport: row.transport,
14
+ externalScope: row.externalScope,
15
+ accessMode: row.accessMode,
16
+ status: row.status,
17
+ safeConfig: row.safeConfig,
18
+ startupTimeoutMs: row.startupTimeoutMs,
19
+ toolTimeoutMs: row.toolTimeoutMs,
20
+ enabled: row.enabled,
21
+ required: row.required,
22
+ hasCredentials: Boolean(row.credentialSecretId),
23
+ lastDiscoveredAt: row.lastDiscoveredAt,
24
+ activatedAt: row.activatedAt,
25
+ disabledAt: row.disabledAt,
26
+ revokedAt: row.revokedAt,
27
+ createdAt: row.createdAt,
28
+ updatedAt: row.updatedAt,
29
+ };
30
+ }
31
+ function publicBinding(row) {
32
+ if (!row.connectionId) {
33
+ throw new Error("Managed MCP binding is missing its connection");
34
+ }
35
+ return {
36
+ id: row.id,
37
+ connectionId: row.connectionId,
38
+ agentId: row.agentId,
39
+ status: row.status,
40
+ enabledToolIds: row.enabledToolIds,
41
+ };
42
+ }
43
+ function publicTool(row) {
44
+ if (!row.connectionId) {
45
+ throw new Error("Managed MCP tool is missing its connection");
46
+ }
47
+ return {
48
+ id: row.id,
49
+ connectionId: row.connectionId,
50
+ externalToolName: row.externalToolName,
51
+ rudderToolName: row.rudderToolName,
52
+ description: row.description,
53
+ inputSchema: row.inputSchema,
54
+ outputSchema: row.outputSchema,
55
+ enabled: row.enabled,
56
+ removedAt: row.removedAt,
57
+ };
58
+ }
59
+ function activityValues(input) {
60
+ return {
61
+ orgId: input.orgId,
62
+ actorType: input.actor.agentId
63
+ ? "agent"
64
+ : input.actor.userId
65
+ ? "user"
66
+ : "system",
67
+ actorId: input.actor.agentId ?? input.actor.userId ?? "system",
68
+ action: input.action,
69
+ entityType: "mcp_agent_binding",
70
+ entityId: input.bindingId,
71
+ agentId: input.agentId,
72
+ details: {
73
+ connectionId: input.connectionId,
74
+ ...input.details,
75
+ },
76
+ };
77
+ }
78
+ export class RequiredManagedMcpConnectionUnavailableError extends Error {
79
+ serverName;
80
+ constructor(serverName) {
81
+ super(`Required managed MCP connection ${serverName} is unavailable`);
82
+ this.serverName = serverName;
83
+ this.name = "RequiredManagedMcpConnectionUnavailableError";
84
+ }
85
+ }
86
+ export function managedMcpBindingService(db) {
87
+ async function assertAgentInOrg(orgId, agentId) {
88
+ const agent = await db.select({ id: agents.id, orgId: agents.orgId })
89
+ .from(agents)
90
+ .where(eq(agents.id, agentId))
91
+ .then((rows) => rows[0] ?? null);
92
+ if (!agent)
93
+ throw notFound("Agent not found");
94
+ if (agent.orgId !== orgId) {
95
+ throw unprocessable("Agent must belong to same organization");
96
+ }
97
+ }
98
+ async function summarize(connection, binding) {
99
+ const tools = await db.select().from(customIntegrationTools)
100
+ .where(and(eq(customIntegrationTools.orgId, connection.orgId), eq(customIntegrationTools.connectionId, connection.id)))
101
+ .orderBy(asc(customIntegrationTools.rudderToolName));
102
+ return {
103
+ connection: publicConnection(connection),
104
+ binding: binding ? publicBinding(binding) : null,
105
+ tools: tools.map(publicTool),
106
+ };
107
+ }
108
+ async function listForAgent(orgId, agentId) {
109
+ await assertAgentInOrg(orgId, agentId);
110
+ const [connections, bindings, tools] = await Promise.all([
111
+ db.select().from(mcpConnections)
112
+ .where(and(eq(mcpConnections.orgId, orgId), eq(mcpConnections.status, "active"), eq(mcpConnections.enabled, true), ne(mcpConnections.transport, "legacy_manual")))
113
+ .orderBy(asc(mcpConnections.displayName), asc(mcpConnections.name)),
114
+ db.select().from(agentCustomIntegrationBindings)
115
+ .where(and(eq(agentCustomIntegrationBindings.orgId, orgId), eq(agentCustomIntegrationBindings.agentId, agentId))),
116
+ db.select().from(customIntegrationTools)
117
+ .where(eq(customIntegrationTools.orgId, orgId))
118
+ .orderBy(asc(customIntegrationTools.rudderToolName)),
119
+ ]);
120
+ const bindingByConnection = new Map(bindings
121
+ .filter((binding) => binding.connectionId)
122
+ .map((binding) => [binding.connectionId, binding]));
123
+ const toolsByConnection = new Map();
124
+ for (const tool of tools) {
125
+ if (!tool.connectionId)
126
+ continue;
127
+ const values = toolsByConnection.get(tool.connectionId) ?? [];
128
+ values.push(tool);
129
+ toolsByConnection.set(tool.connectionId, values);
130
+ }
131
+ return connections.map((connection) => ({
132
+ connection: publicConnection(connection),
133
+ binding: bindingByConnection.has(connection.id)
134
+ ? publicBinding(bindingByConnection.get(connection.id))
135
+ : null,
136
+ tools: (toolsByConnection.get(connection.id) ?? []).map(publicTool),
137
+ }));
138
+ }
139
+ async function upsert(orgId, agentId, connectionId, rawInput, actor = {}) {
140
+ const input = upsertMcpAgentBindingSchema.parse(rawInput);
141
+ await assertAgentInOrg(orgId, agentId);
142
+ const created = await db.transaction(async (tx) => {
143
+ const connection = await tx.select().from(mcpConnections)
144
+ .where(and(eq(mcpConnections.orgId, orgId), eq(mcpConnections.id, connectionId)))
145
+ .for("update")
146
+ .then((rows) => rows[0] ?? null);
147
+ if (!connection)
148
+ throw notFound("MCP connection not found");
149
+ if (!connection.enabled
150
+ || connection.status !== "active"
151
+ || connection.transport === "legacy_manual") {
152
+ throw unprocessable("Only active managed MCP connections can be bound to agents");
153
+ }
154
+ await tx.execute(sql `
155
+ select pg_advisory_xact_lock(
156
+ hashtextextended(${`managed-mcp-binding:${orgId}:${agentId}:${connectionId}`}, 0)
157
+ )
158
+ `);
159
+ const allTools = await tx.select().from(customIntegrationTools)
160
+ .where(and(eq(customIntegrationTools.orgId, orgId), eq(customIntegrationTools.connectionId, connectionId)));
161
+ const allToolIds = new Set(allTools.map((tool) => tool.id));
162
+ if (input.enabledToolIds?.some((id) => !allToolIds.has(id))) {
163
+ throw unprocessable("Enabled tools must belong to the selected MCP connection");
164
+ }
165
+ const initialToolIds = allTools
166
+ .filter((tool) => tool.status === "active" && tool.enabled && !tool.removedAt)
167
+ .map((tool) => tool.id);
168
+ const existing = await tx.select().from(agentCustomIntegrationBindings)
169
+ .where(and(eq(agentCustomIntegrationBindings.orgId, orgId), eq(agentCustomIntegrationBindings.agentId, agentId), eq(agentCustomIntegrationBindings.connectionId, connectionId)))
170
+ .then((rows) => rows[0] ?? null);
171
+ const now = new Date();
172
+ const enabledToolIds = input.enabledToolIds
173
+ ?? existing?.enabledToolIds
174
+ ?? initialToolIds;
175
+ const updated = existing
176
+ ? await tx.update(agentCustomIntegrationBindings)
177
+ .set({
178
+ status: input.status ?? existing.status,
179
+ enabledToolIds,
180
+ revokedAt: input.status === undefined
181
+ ? existing.revokedAt
182
+ : input.status === "revoked"
183
+ ? now
184
+ : null,
185
+ updatedAt: now,
186
+ })
187
+ .where(eq(agentCustomIntegrationBindings.id, existing.id))
188
+ .returning()
189
+ .then((rows) => rows[0])
190
+ : await tx.insert(agentCustomIntegrationBindings)
191
+ .values({
192
+ orgId,
193
+ agentId,
194
+ connectionId,
195
+ status: input.status ?? "active",
196
+ enabledToolIds,
197
+ revokedAt: input.status === "revoked" ? now : null,
198
+ })
199
+ .returning()
200
+ .then((rows) => rows[0]);
201
+ await tx.insert(activityLog).values(activityValues({
202
+ orgId,
203
+ agentId,
204
+ connectionId,
205
+ bindingId: updated.id,
206
+ action: existing
207
+ ? "mcp_agent_binding.updated"
208
+ : "mcp_agent_binding.created",
209
+ actor,
210
+ details: {
211
+ status: updated.status,
212
+ enabledToolCount: updated.enabledToolIds.length,
213
+ },
214
+ }));
215
+ return { binding: updated, connection };
216
+ });
217
+ return summarize(created.connection, created.binding);
218
+ }
219
+ async function revoke(orgId, agentId, connectionId, actor = {}) {
220
+ await assertAgentInOrg(orgId, agentId);
221
+ const revoked = await db.transaction(async (tx) => {
222
+ const connection = await tx.select().from(mcpConnections)
223
+ .where(and(eq(mcpConnections.orgId, orgId), eq(mcpConnections.id, connectionId)))
224
+ .for("update")
225
+ .then((rows) => rows[0] ?? null);
226
+ if (!connection)
227
+ throw notFound("MCP connection not found");
228
+ if (connection.transport === "legacy_manual") {
229
+ throw unprocessable("Legacy manual MCP connections cannot be bound to agents");
230
+ }
231
+ const existing = await tx.select().from(agentCustomIntegrationBindings)
232
+ .where(and(eq(agentCustomIntegrationBindings.orgId, orgId), eq(agentCustomIntegrationBindings.agentId, agentId), eq(agentCustomIntegrationBindings.connectionId, connectionId)))
233
+ .for("update")
234
+ .then((rows) => rows[0] ?? null);
235
+ if (!existing)
236
+ return null;
237
+ const now = new Date();
238
+ const binding = await tx.update(agentCustomIntegrationBindings)
239
+ .set({ status: "revoked", revokedAt: now, updatedAt: now })
240
+ .where(eq(agentCustomIntegrationBindings.id, existing.id))
241
+ .returning()
242
+ .then((rows) => rows[0]);
243
+ await tx.insert(activityLog).values(activityValues({
244
+ orgId,
245
+ agentId,
246
+ connectionId,
247
+ bindingId: binding.id,
248
+ action: "mcp_agent_binding.revoked",
249
+ actor,
250
+ details: { status: binding.status },
251
+ }));
252
+ return { binding, connection };
253
+ });
254
+ return revoked ? summarize(revoked.connection, revoked.binding) : null;
255
+ }
256
+ async function listRuntimeBindings(orgId, agentId) {
257
+ await assertAgentInOrg(orgId, agentId);
258
+ const rows = await db.select({
259
+ binding: agentCustomIntegrationBindings,
260
+ connection: mcpConnections,
261
+ })
262
+ .from(agentCustomIntegrationBindings)
263
+ .innerJoin(mcpConnections, eq(agentCustomIntegrationBindings.connectionId, mcpConnections.id))
264
+ .where(and(eq(agentCustomIntegrationBindings.orgId, orgId), eq(agentCustomIntegrationBindings.agentId, agentId), eq(agentCustomIntegrationBindings.status, "active"), eq(mcpConnections.orgId, orgId)))
265
+ .orderBy(asc(mcpConnections.name));
266
+ const connectionIds = rows.map((row) => row.connection.id);
267
+ const [tools, grants] = await Promise.all([
268
+ connectionIds.length > 0
269
+ ? db.select().from(customIntegrationTools).where(and(eq(customIntegrationTools.orgId, orgId), inArray(customIntegrationTools.connectionId, connectionIds)))
270
+ : Promise.resolve([]),
271
+ connectionIds.length > 0
272
+ ? db.select({
273
+ connectionId: mcpOAuthGrants.connectionId,
274
+ status: mcpOAuthGrants.status,
275
+ credentialSecretId: mcpOAuthGrants.credentialSecretId,
276
+ }).from(mcpOAuthGrants).where(and(eq(mcpOAuthGrants.orgId, orgId), inArray(mcpOAuthGrants.connectionId, connectionIds)))
277
+ : Promise.resolve([]),
278
+ ]);
279
+ const grantByConnection = new Map(grants.map((grant) => [grant.connectionId, grant]));
280
+ const toolsByConnection = new Map();
281
+ for (const tool of tools) {
282
+ if (!tool.connectionId)
283
+ continue;
284
+ const values = toolsByConnection.get(tool.connectionId) ?? [];
285
+ values.push(tool);
286
+ toolsByConnection.set(tool.connectionId, values);
287
+ }
288
+ const runtime = [];
289
+ for (const { binding, connection } of rows) {
290
+ const grant = grantByConnection.get(connection.id);
291
+ const available = (connection.status === "active"
292
+ && connection.enabled
293
+ && connection.transport !== "legacy_manual"
294
+ && (connection.provider === "custom"
295
+ || (grant?.status === "active"
296
+ && Boolean(grant.credentialSecretId))));
297
+ if (!available) {
298
+ if (connection.required) {
299
+ throw new RequiredManagedMcpConnectionUnavailableError(connection.name);
300
+ }
301
+ continue;
302
+ }
303
+ const enabledIds = new Set(binding.enabledToolIds);
304
+ const allowedToolNames = (toolsByConnection.get(connection.id) ?? [])
305
+ .filter((tool) => (enabledIds.has(tool.id)
306
+ && tool.status === "active"
307
+ && tool.enabled
308
+ && !tool.removedAt))
309
+ .map((tool) => tool.rudderToolName)
310
+ .sort();
311
+ runtime.push({
312
+ bindingId: binding.id,
313
+ serverName: managedMcpRuntimeServerName(connection.name),
314
+ toolPolicy: {
315
+ mode: "allowlist",
316
+ allowedToolNames,
317
+ },
318
+ required: connection.required,
319
+ startupTimeoutMs: connection.startupTimeoutMs,
320
+ toolTimeoutMs: connection.toolTimeoutMs,
321
+ });
322
+ }
323
+ return runtime;
324
+ }
325
+ return {
326
+ listForAgent,
327
+ upsert,
328
+ revoke,
329
+ listRuntimeBindings,
330
+ };
331
+ }
332
+ //# sourceMappingURL=managed-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-bindings.js","sourceRoot":"","sources":["../../../src/services/mcp/managed-bindings.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,8BAA8B,EAC9B,MAAM,EACN,sBAAsB,EACtB,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,2BAA2B,GAO5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAWlE,SAAS,gBAAgB,CAAC,GAAkB;IAC1C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,QAAQ,EAAE,GAAG,CAAC,QAA4C;QAC1D,SAAS,EAAE,GAAG,CAAC,SAA8C;QAC7D,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,UAAU,EAAE,GAAG,CAAC,UAAgD;QAChE,MAAM,EAAE,GAAG,CAAC,MAAwC;QACpD,UAAU,EAAE,GAAG,CAAC,UAAgD;QAChE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC/C,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAe;IACpC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAmC;QAC/C,cAAc,EAAE,GAAG,CAAC,cAAc;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAQvB;IACC,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;YAC5B,CAAC,CAAC,OAAgB;YAClB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;gBAClB,CAAC,CAAC,MAAe;gBACjB,CAAC,CAAC,QAAiB;QACvB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ;QAC9D,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS;QACzB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE;YACP,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,GAAG,KAAK,CAAC,OAAO;SACjB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,4CAA6C,SAAQ,KAAK;IAChD;IAArB,YAAqB,UAAkB;QACrC,KAAK,CAAC,mCAAmC,UAAU,iBAAiB,CAAC,CAAC;QADnD,eAAU,GAAV,UAAU,CAAQ;QAErC,IAAI,CAAC,IAAI,GAAG,8CAA8C,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAM;IAC7C,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAe;QAC5D,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;aAClE,IAAI,CAAC,MAAM,CAAC;aACZ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;aAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,MAAM,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,aAAa,CAAC,wCAAwC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,UAAU,SAAS,CACtB,UAAyB,EACzB,OAA0B;QAE1B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;aACzD,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAClD,EAAE,CAAC,sBAAsB,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,CACvD,CAAC;aACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC,CAAC;QACvD,OAAO;YACL,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;YACxC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;YAChD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;SAC7B,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,YAAY,CACzB,KAAa,EACb,OAAe;QAEf,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvD,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;iBAC7B,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/B,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,EACnC,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EAChC,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC,CAC9C,CAAC;iBACD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACrE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC;iBAC7C,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,8BAA8B,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/C,EAAE,CAAC,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,CACpD,CAAC;YACJ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;iBACrC,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBAC9C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;SACvD,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,QAAQ;aACL,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;aACzC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAa,EAAE,OAAO,CAAC,CAAC,CACtD,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAqB,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,SAAS;YACjC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACtC,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;YACxC,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7C,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAE,CAAC;gBACxD,CAAC,CAAC,IAAI;YACR,KAAK,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;SACpE,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,UAAU,MAAM,CACnB,KAAa,EACb,OAAe,EACf,YAAoB,EACpB,QAA+B,EAC/B,QAAgC,EAAE;QAElC,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAChD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;iBACtD,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/B,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,CACpC,CAAC;iBACD,GAAG,CAAC,QAAQ,CAAC;iBACb,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU;gBAAE,MAAM,QAAQ,CAAC,0BAA0B,CAAC,CAAC;YAC5D,IACE,CAAC,UAAU,CAAC,OAAO;mBAChB,UAAU,CAAC,MAAM,KAAK,QAAQ;mBAC9B,UAAU,CAAC,SAAS,KAAK,eAAe,EAC3C,CAAC;gBACD,MAAM,aAAa,CAAC,4DAA4D,CAAC,CAAC;YACpF,CAAC;YACD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;6BAEG,uBAAuB,KAAK,IAAI,OAAO,IAAI,YAAY,EAAE;;OAE/E,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;iBAC5D,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,EACvC,EAAE,CAAC,sBAAsB,CAAC,YAAY,EAAE,YAAY,CAAC,CACtD,CAAC,CAAC;YACL,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5D,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC5D,MAAM,aAAa,CAAC,0DAA0D,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,cAAc,GAAG,QAAQ;iBAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;iBAC7E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC;iBACpE,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,8BAA8B,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/C,EAAE,CAAC,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,EACnD,EAAE,CAAC,8BAA8B,CAAC,YAAY,EAAE,YAAY,CAAC,CAC9D,CAAC;iBACD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc;mBACtC,QAAQ,EAAE,cAAc;mBACxB,cAAc,CAAC;YACpB,MAAM,OAAO,GAAG,QAAQ;gBACtB,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC;qBAC9C,GAAG,CAAC;oBACH,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM;oBACvC,cAAc;oBACd,SAAS,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS;wBACnC,CAAC,CAAC,QAAQ,CAAC,SAAS;wBACpB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;4BAC1B,CAAC,CAAC,GAAG;4BACL,CAAC,CAAC,IAAI;oBACV,SAAS,EAAE,GAAG;iBACf,CAAC;qBACD,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;qBACzD,SAAS,EAAE;qBACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;gBAC3B,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC;qBAC9C,MAAM,CAAC;oBACN,KAAK;oBACL,OAAO;oBACP,YAAY;oBACZ,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ;oBAChC,cAAc;oBACd,SAAS,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;iBACnD,CAAC;qBACD,SAAS,EAAE;qBACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YAC9B,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;gBACjD,KAAK;gBACL,OAAO;gBACP,YAAY;gBACZ,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,MAAM,EAAE,QAAQ;oBACd,CAAC,CAAC,2BAA2B;oBAC7B,CAAC,CAAC,2BAA2B;gBAC/B,KAAK;gBACL,OAAO,EAAE;oBACP,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM;iBAChD;aACF,CAAC,CAAC,CAAC;YACJ,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,UAAU,MAAM,CACnB,KAAa,EACb,OAAe,EACf,YAAoB,EACpB,QAAgC,EAAE;QAElC,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAChD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;iBACtD,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/B,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,CACpC,CAAC;iBACD,GAAG,CAAC,QAAQ,CAAC;iBACb,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU;gBAAE,MAAM,QAAQ,CAAC,0BAA0B,CAAC,CAAC;YAC5D,IAAI,UAAU,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;gBAC7C,MAAM,aAAa,CAAC,yDAAyD,CAAC,CAAC;YACjF,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC;iBACpE,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,8BAA8B,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/C,EAAE,CAAC,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,EACnD,EAAE,CAAC,8BAA8B,CAAC,YAAY,EAAE,YAAY,CAAC,CAC9D,CAAC;iBACD,GAAG,CAAC,QAAQ,CAAC;iBACb,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC;iBAC5D,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;iBAC1D,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;iBACzD,SAAS,EAAE;iBACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5B,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;gBACjD,KAAK;gBACL,OAAO;gBACP,YAAY;gBACZ,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,MAAM,EAAE,2BAA2B;gBACnC,KAAK;gBACL,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;aACpC,CAAC,CAAC,CAAC;YACJ,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;IAED,KAAK,UAAU,mBAAmB,CAChC,KAAa,EACb,OAAe;QAEf,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC;YAC3B,OAAO,EAAE,8BAA8B;YACvC,UAAU,EAAE,cAAc;SAC3B,CAAC;aACC,IAAI,CAAC,8BAA8B,CAAC;aACpC,SAAS,CACR,cAAc,EACd,EAAE,CAAC,8BAA8B,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC,CACnE;aACA,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,8BAA8B,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/C,EAAE,CAAC,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,EACnD,EAAE,CAAC,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,EACnD,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAChC,CAAC;aACD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAErC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,aAAa,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,GAAG,CAClD,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,EACvC,OAAO,CAAC,sBAAsB,CAAC,YAAY,EAAE,aAAa,CAAC,CAC5D,CAAC;gBACF,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAe,CAAC;YACpC,aAAa,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;oBACV,YAAY,EAAE,cAAc,CAAC,YAAY;oBACzC,MAAM,EAAE,cAAc,CAAC,MAAM;oBAC7B,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;iBACtD,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,CAC/B,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/B,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,CACpD,CAAC;gBACF,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;SACxB,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CACnD,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAqB,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,SAAS;YACjC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAgC,EAAE,CAAC;QAChD,KAAK,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,CAChB,UAAU,CAAC,MAAM,KAAK,QAAQ;mBAC3B,UAAU,CAAC,OAAO;mBAClB,UAAU,CAAC,SAAS,KAAK,eAAe;mBACxC,CACD,UAAU,CAAC,QAAQ,KAAK,QAAQ;uBAC7B,CACD,KAAK,EAAE,MAAM,KAAK,QAAQ;2BACvB,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CACrC,CACF,CACF,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACxB,MAAM,IAAI,4CAA4C,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC1E,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACnD,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;iBAClE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAChB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;mBACpB,IAAI,CAAC,MAAM,KAAK,QAAQ;mBACxB,IAAI,CAAC,OAAO;mBACZ,CAAC,IAAI,CAAC,SAAS,CACnB,CAAC;iBACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;iBAClC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,UAAU,EAAE,2BAA2B,CAAC,UAAU,CAAC,IAAI,CAAC;gBACxD,UAAU,EAAE;oBACV,IAAI,EAAE,WAAW;oBACjB,gBAAgB;iBACjB;gBACD,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;gBAC7C,aAAa,EAAE,UAAU,CAAC,aAAa;aACxC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,YAAY;QACZ,MAAM;QACN,MAAM;QACN,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { type AuthProvider, type CallToolResult, type Tool } from "@modelcontextprotocol/client";
2
+ import type { DeploymentMode } from "@rudderhq/shared";
3
+ import { type McpDnsLookup } from "./security-policy.js";
4
+ export declare class ManagedMcpClientError extends Error {
5
+ readonly code: string;
6
+ constructor(code: string, message: string);
7
+ }
8
+ export interface ManagedMcpOAuthCredential {
9
+ token(): Promise<string>;
10
+ refresh(): Promise<void>;
11
+ markNeedsReauth?(): Promise<void>;
12
+ }
13
+ export interface ResolvedMcpHttpCredentials {
14
+ headers: Record<string, string>;
15
+ authProvider?: AuthProvider;
16
+ onUnauthorizedFailure?: () => Promise<void>;
17
+ }
18
+ export declare function resolveMcpHttpCredentials(input: {
19
+ bearerToken?: string;
20
+ authorizationHeader?: string;
21
+ secretHeaders?: Record<string, string>;
22
+ oauth?: ManagedMcpOAuthCredential;
23
+ }): ResolvedMcpHttpCredentials;
24
+ interface ManagedMcpClientCommonOptions {
25
+ startupTimeoutMs: number;
26
+ toolTimeoutMs: number;
27
+ maxOutputBytes?: number;
28
+ }
29
+ export interface ManagedMcpHttpClientOptions extends ManagedMcpClientCommonOptions {
30
+ transport: "streamable_http";
31
+ url: string;
32
+ staticHeaders?: Record<string, string>;
33
+ credentials: ResolvedMcpHttpCredentials;
34
+ network: {
35
+ allowedOrigins: string[];
36
+ curatedOrigin?: string;
37
+ lookup?: McpDnsLookup;
38
+ };
39
+ }
40
+ export interface ManagedMcpStdioClientOptions extends ManagedMcpClientCommonOptions {
41
+ transport: "stdio";
42
+ command: string;
43
+ args?: string[];
44
+ cwd?: string;
45
+ staticEnv: Record<string, string>;
46
+ forwardedEnv: string[];
47
+ secretEnv: Record<string, string>;
48
+ hostEnv: Record<string, string | undefined>;
49
+ deploymentPolicy: {
50
+ deploymentMode: DeploymentMode;
51
+ stdioCommands: string[][];
52
+ stdioWorkingDirectories: string[];
53
+ stdioEnvironmentNames: string[];
54
+ };
55
+ }
56
+ export type ManagedMcpClientOptions = ManagedMcpHttpClientOptions | ManagedMcpStdioClientOptions;
57
+ export interface ManagedMcpClient {
58
+ discoverTools(): Promise<Tool[]>;
59
+ callTool(name: string, args: Record<string, unknown>): Promise<CallToolResult>;
60
+ close(): Promise<void>;
61
+ }
62
+ export declare function createManagedMcpClient(options: ManagedMcpClientOptions): Promise<ManagedMcpClient>;
63
+ export {};
64
+ //# sourceMappingURL=managed-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-client.d.ts","sourceRoot":"","sources":["../../../src/services/mcp/managed-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,IAAI,EACV,MAAM,8BAA8B,CAAC;AAKtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,eAAe,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,yBAAyB,CAAC;CACnC,GAAG,0BAA0B,CAgC7B;AAED,UAAU,6BAA6B;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,2BAA4B,SAAQ,6BAA6B;IAChF,SAAS,EAAE,iBAAiB,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,WAAW,EAAE,0BAA0B,CAAC;IACxC,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,YAAY,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,4BAA6B,SAAQ,6BAA6B;IACjF,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,gBAAgB,EAAE;QAChB,cAAc,EAAE,cAAc,CAAC;QAC/B,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;QAC1B,uBAAuB,EAAE,MAAM,EAAE,CAAC;QAClC,qBAAqB,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;CACH;AAED,MAAM,MAAM,uBAAuB,GAC/B,2BAA2B,GAC3B,4BAA4B,CAAC;AAEjC,MAAM,WAAW,gBAAgB;IAC/B,aAAa,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAyFD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAoJ3B"}