@rudderhq/server 0.6.1 → 0.6.2-canary.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 (298) hide show
  1. package/dist/bundled-plugins/plugin-linear/dist/worker.js +112 -4
  2. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +2 -2
  3. package/dist/routes/access-onboarding.helpers.d.ts +0 -6
  4. package/dist/routes/access-onboarding.helpers.d.ts.map +1 -1
  5. package/dist/routes/access-onboarding.helpers.js +0 -7
  6. package/dist/routes/access-onboarding.helpers.js.map +1 -1
  7. package/dist/routes/access.d.ts +1 -1
  8. package/dist/routes/access.d.ts.map +1 -1
  9. package/dist/routes/access.js +2 -7
  10. package/dist/routes/access.js.map +1 -1
  11. package/dist/routes/agents.d.ts.map +1 -1
  12. package/dist/routes/agents.js +24 -49
  13. package/dist/routes/agents.js.map +1 -1
  14. package/dist/routes/agents.management-routes.d.ts.map +1 -1
  15. package/dist/routes/agents.management-routes.js +0 -1
  16. package/dist/routes/agents.management-routes.js.map +1 -1
  17. package/dist/routes/chats.d.ts.map +1 -1
  18. package/dist/routes/chats.js +77 -62
  19. package/dist/routes/chats.js.map +1 -1
  20. package/dist/routes/chats.preflight.d.ts +56 -0
  21. package/dist/routes/chats.preflight.d.ts.map +1 -0
  22. package/dist/routes/chats.preflight.js +72 -0
  23. package/dist/routes/chats.preflight.js.map +1 -0
  24. package/dist/routes/chats.runtime-controls.d.ts +62 -0
  25. package/dist/routes/chats.runtime-controls.d.ts.map +1 -0
  26. package/dist/routes/chats.runtime-controls.js +51 -0
  27. package/dist/routes/chats.runtime-controls.js.map +1 -0
  28. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  29. package/dist/routes/chats.stream-routes.js +22 -38
  30. package/dist/routes/chats.stream-routes.js.map +1 -1
  31. package/dist/routes/chats.stream-support.d.ts +6 -0
  32. package/dist/routes/chats.stream-support.d.ts.map +1 -1
  33. package/dist/routes/chats.stream-support.js.map +1 -1
  34. package/dist/routes/chats.user-state-routes.d.ts +3 -0
  35. package/dist/routes/chats.user-state-routes.d.ts.map +1 -0
  36. package/dist/routes/chats.user-state-routes.js +40 -0
  37. package/dist/routes/chats.user-state-routes.js.map +1 -0
  38. package/dist/routes/costs.d.ts.map +1 -1
  39. package/dist/routes/costs.js +11 -1
  40. package/dist/routes/costs.js.map +1 -1
  41. package/dist/routes/managed-mcp-agent-bindings.d.ts +1 -1
  42. package/dist/routes/managed-mcp-agent-bindings.d.ts.map +1 -1
  43. package/dist/routes/managed-mcp-agent-bindings.js +4 -0
  44. package/dist/routes/managed-mcp-agent-bindings.js.map +1 -1
  45. package/dist/routes/managed-mcp-connections.d.ts.map +1 -1
  46. package/dist/routes/managed-mcp-connections.js +33 -21
  47. package/dist/routes/managed-mcp-connections.js.map +1 -1
  48. package/dist/services/agent-run-context.d.ts.map +1 -1
  49. package/dist/services/agent-run-context.js +5 -1
  50. package/dist/services/agent-run-context.js.map +1 -1
  51. package/dist/services/agents.d.ts +5 -25
  52. package/dist/services/agents.d.ts.map +1 -1
  53. package/dist/services/agents.js +0 -72
  54. package/dist/services/agents.js.map +1 -1
  55. package/dist/services/approvals.d.ts.map +1 -1
  56. package/dist/services/approvals.js +0 -1
  57. package/dist/services/approvals.js.map +1 -1
  58. package/dist/services/chat-assistant.annotations.d.ts.map +1 -1
  59. package/dist/services/chat-assistant.annotations.js +3 -0
  60. package/dist/services/chat-assistant.annotations.js.map +1 -1
  61. package/dist/services/chat-assistant.d.ts +7 -0
  62. package/dist/services/chat-assistant.d.ts.map +1 -1
  63. package/dist/services/chat-assistant.helpers.d.ts +7 -0
  64. package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
  65. package/dist/services/chat-assistant.helpers.js +23 -3
  66. package/dist/services/chat-assistant.helpers.js.map +1 -1
  67. package/dist/services/chat-assistant.js +61 -4
  68. package/dist/services/chat-assistant.js.map +1 -1
  69. package/dist/services/chat-assistant.proposal-validation.d.ts +10 -0
  70. package/dist/services/chat-assistant.proposal-validation.d.ts.map +1 -0
  71. package/dist/services/chat-assistant.proposal-validation.js +65 -0
  72. package/dist/services/chat-assistant.proposal-validation.js.map +1 -0
  73. package/dist/services/chat-assistant.runtime-batch.d.ts +1 -1
  74. package/dist/services/chat-assistant.runtime-batch.d.ts.map +1 -1
  75. package/dist/services/chat-assistant.runtime-batch.js +6 -1
  76. package/dist/services/chat-assistant.runtime-batch.js.map +1 -1
  77. package/dist/services/chat-assistant.runtime-overrides.d.ts +6 -0
  78. package/dist/services/chat-assistant.runtime-overrides.d.ts.map +1 -0
  79. package/dist/services/chat-assistant.runtime-overrides.js +81 -0
  80. package/dist/services/chat-assistant.runtime-overrides.js.map +1 -0
  81. package/dist/services/chat-generation-protocol.d.ts.map +1 -1
  82. package/dist/services/chat-generation-protocol.js +2 -1
  83. package/dist/services/chat-generation-protocol.js.map +1 -1
  84. package/dist/services/chat-generation-protocol.test.js +89 -0
  85. package/dist/services/chat-generation-protocol.test.js.map +1 -1
  86. package/dist/services/chat-queued-message-materialization.d.ts +2 -0
  87. package/dist/services/chat-queued-message-materialization.d.ts.map +1 -1
  88. package/dist/services/chat-queued-message-materialization.js +12 -1
  89. package/dist/services/chat-queued-message-materialization.js.map +1 -1
  90. package/dist/services/chat-work-manifest.d.ts.map +1 -1
  91. package/dist/services/chat-work-manifest.js +189 -4
  92. package/dist/services/chat-work-manifest.js.map +1 -1
  93. package/dist/services/chats.create.d.ts +6 -0
  94. package/dist/services/chats.create.d.ts.map +1 -1
  95. package/dist/services/chats.create.js +10 -1
  96. package/dist/services/chats.create.js.map +1 -1
  97. package/dist/services/chats.d.ts +105 -10
  98. package/dist/services/chats.d.ts.map +1 -1
  99. package/dist/services/chats.helpers.d.ts +3 -1
  100. package/dist/services/chats.helpers.d.ts.map +1 -1
  101. package/dist/services/chats.helpers.js +4 -3
  102. package/dist/services/chats.helpers.js.map +1 -1
  103. package/dist/services/chats.js +21 -111
  104. package/dist/services/chats.js.map +1 -1
  105. package/dist/services/chats.queued-message-create.d.ts +20 -0
  106. package/dist/services/chats.queued-message-create.d.ts.map +1 -0
  107. package/dist/services/chats.queued-message-create.js +127 -0
  108. package/dist/services/chats.queued-message-create.js.map +1 -0
  109. package/dist/services/chats.runtime-controls.d.ts +53 -0
  110. package/dist/services/chats.runtime-controls.d.ts.map +1 -0
  111. package/dist/services/chats.runtime-controls.js +64 -0
  112. package/dist/services/chats.runtime-controls.js.map +1 -0
  113. package/dist/services/costs.d.ts +4 -2
  114. package/dist/services/costs.d.ts.map +1 -1
  115. package/dist/services/costs.js +59 -23
  116. package/dist/services/costs.js.map +1 -1
  117. package/dist/services/knowledge-portability/organization-portability.core.d.ts +0 -3
  118. package/dist/services/knowledge-portability/organization-portability.core.d.ts.map +1 -1
  119. package/dist/services/knowledge-portability/organization-portability.core.js +0 -44
  120. package/dist/services/knowledge-portability/organization-portability.core.js.map +1 -1
  121. package/dist/services/knowledge-portability/organization-portability.export.d.ts.map +1 -1
  122. package/dist/services/knowledge-portability/organization-portability.export.js +1 -20
  123. package/dist/services/knowledge-portability/organization-portability.export.js.map +1 -1
  124. package/dist/services/knowledge-portability/organization-portability.files.d.ts +1 -3
  125. package/dist/services/knowledge-portability/organization-portability.files.d.ts.map +1 -1
  126. package/dist/services/knowledge-portability/organization-portability.files.js +1 -26
  127. package/dist/services/knowledge-portability/organization-portability.files.js.map +1 -1
  128. package/dist/services/knowledge-portability/organization-portability.import.d.ts.map +1 -1
  129. package/dist/services/knowledge-portability/organization-portability.import.js +0 -19
  130. package/dist/services/knowledge-portability/organization-portability.import.js.map +1 -1
  131. package/dist/services/knowledge-portability/organization-portability.package.d.ts.map +1 -1
  132. package/dist/services/knowledge-portability/organization-portability.package.js +2 -1
  133. package/dist/services/knowledge-portability/organization-portability.package.js.map +1 -1
  134. package/dist/services/mcp/managed-bindings.d.ts +3 -1
  135. package/dist/services/mcp/managed-bindings.d.ts.map +1 -1
  136. package/dist/services/mcp/managed-bindings.js +254 -25
  137. package/dist/services/mcp/managed-bindings.js.map +1 -1
  138. package/dist/services/mcp/managed-connections.d.ts +4 -2
  139. package/dist/services/mcp/managed-connections.d.ts.map +1 -1
  140. package/dist/services/mcp/managed-connections.js +194 -22
  141. package/dist/services/mcp/managed-connections.js.map +1 -1
  142. package/dist/services/mcp/managed-runtime.d.ts +8 -3
  143. package/dist/services/mcp/managed-runtime.d.ts.map +1 -1
  144. package/dist/services/mcp/managed-runtime.js +175 -74
  145. package/dist/services/mcp/managed-runtime.js.map +1 -1
  146. package/dist/services/mcp/oauth-helpers.d.ts +53 -0
  147. package/dist/services/mcp/oauth-helpers.d.ts.map +1 -0
  148. package/dist/services/mcp/oauth-helpers.js +267 -0
  149. package/dist/services/mcp/oauth-helpers.js.map +1 -0
  150. package/dist/services/mcp/oauth.d.ts +13 -13
  151. package/dist/services/mcp/oauth.d.ts.map +1 -1
  152. package/dist/services/mcp/oauth.js +220 -307
  153. package/dist/services/mcp/oauth.js.map +1 -1
  154. package/dist/services/mcp/provider-registry.d.ts +1 -1
  155. package/dist/services/mcp/provider-registry.d.ts.map +1 -1
  156. package/dist/services/mcp/provider-registry.js +4 -6
  157. package/dist/services/mcp/provider-registry.js.map +1 -1
  158. package/dist/services/mcp/provider-registry.test.js +20 -8
  159. package/dist/services/mcp/provider-registry.test.js.map +1 -1
  160. package/dist/services/mcp/tool-discovery.d.ts +4 -0
  161. package/dist/services/mcp/tool-discovery.d.ts.map +1 -1
  162. package/dist/services/mcp/tool-discovery.js +29 -0
  163. package/dist/services/mcp/tool-discovery.js.map +1 -1
  164. package/dist/services/mcp/tool-discovery.test.js +34 -1
  165. package/dist/services/mcp/tool-discovery.test.js.map +1 -1
  166. package/dist/services/organization-export-readme.d.ts +0 -8
  167. package/dist/services/organization-export-readme.d.ts.map +1 -1
  168. package/dist/services/organization-export-readme.js +3 -43
  169. package/dist/services/organization-export-readme.js.map +1 -1
  170. package/dist/services/plugin-registry.d.ts +21 -21
  171. package/dist/services/postgres-json.d.ts +2 -0
  172. package/dist/services/postgres-json.d.ts.map +1 -0
  173. package/dist/services/postgres-json.js +33 -0
  174. package/dist/services/postgres-json.js.map +1 -0
  175. package/dist/services/postgres-json.test.d.ts +2 -0
  176. package/dist/services/postgres-json.test.d.ts.map +1 -0
  177. package/dist/services/postgres-json.test.js +25 -0
  178. package/dist/services/postgres-json.test.js.map +1 -0
  179. package/dist/services/run-events.d.ts.map +1 -1
  180. package/dist/services/run-events.js +6 -1
  181. package/dist/services/run-events.js.map +1 -1
  182. package/dist/services/runtime-kernel/heartbeat.core.d.ts +2 -2
  183. package/dist/services/runtime-kernel/heartbeat.d.ts +6 -3
  184. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  185. package/dist/services/runtime-kernel/heartbeat.execute.d.ts.map +1 -1
  186. package/dist/services/runtime-kernel/heartbeat.execute.js +2 -0
  187. package/dist/services/runtime-kernel/heartbeat.execute.js.map +1 -1
  188. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  189. package/dist/services/runtime-kernel/heartbeat.misc.d.ts +3 -0
  190. package/dist/services/runtime-kernel/heartbeat.misc.d.ts.map +1 -1
  191. package/dist/services/runtime-kernel/heartbeat.misc.js +16 -4
  192. package/dist/services/runtime-kernel/heartbeat.misc.js.map +1 -1
  193. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts +8 -9
  194. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts.map +1 -1
  195. package/dist/services/side-chats.d.ts +9 -0
  196. package/dist/services/side-chats.d.ts.map +1 -1
  197. package/dist/services/side-chats.js +18 -4
  198. package/dist/services/side-chats.js.map +1 -1
  199. package/package.json +14 -13
  200. package/resources/bundled-skills/rudder-docs/evals/trigger-evals.json +1 -1
  201. package/resources/bundled-skills/rudder-docs/references/agent-creation.md +1 -3
  202. package/resources/bundled-skills/rudder-docs/references/api-reference.md +3 -12
  203. package/resources/bundled-skills/rudder-docs/references/cli-reference.md +1 -1
  204. package/resources/bundled-skills/rudder-docs/references/operating-practices.md +2 -2
  205. package/skills/rudder-docs/evals/trigger-evals.json +1 -1
  206. package/skills/rudder-docs/references/agent-creation.md +1 -3
  207. package/skills/rudder-docs/references/api-reference.md +3 -12
  208. package/skills/rudder-docs/references/cli-reference.md +1 -1
  209. package/skills/rudder-docs/references/operating-practices.md +2 -2
  210. package/ui-dist/assets/{LibraryLiveSurface-C8ECMVFT.js → LibraryLiveSurface-CnZxAEHp.js} +1 -1
  211. package/ui-dist/assets/{abnfDiagram-VRR7QNED-BZHkBV8B.js → abnfDiagram-VRR7QNED-B208YmVN.js} +1 -1
  212. package/ui-dist/assets/{arc-DhnfBt9e.js → arc-_raxgt-X.js} +1 -1
  213. package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-BKHzH5qs.js → architectureDiagram-ZJ3FMSHR-y3eHT3Gk.js} +1 -1
  214. package/ui-dist/assets/{blockDiagram-677ZJIJ3--1g_r8lr.js → blockDiagram-677ZJIJ3-BT7LIBsS.js} +1 -1
  215. package/ui-dist/assets/{c4Diagram-LMCZKHZV-CnZQa_O3.js → c4Diagram-LMCZKHZV-w0r6PEZM.js} +1 -1
  216. package/ui-dist/assets/channel-NqK-mAXf.js +1 -0
  217. package/ui-dist/assets/{chunk-2Q5K7J3B-Cx1ETWPc.js → chunk-2Q5K7J3B-C3fuIoNI.js} +1 -1
  218. package/ui-dist/assets/{chunk-32BRIVSS-DwH6W0QD.js → chunk-32BRIVSS-DMb9Q2qh.js} +1 -1
  219. package/ui-dist/assets/{chunk-5VM5RSS4-DKjzajxX.js → chunk-5VM5RSS4-BqMkrxOv.js} +1 -1
  220. package/ui-dist/assets/{chunk-EX3LRPZG-DqPqTdiU.js → chunk-EX3LRPZG-D0uW7ZHY.js} +1 -1
  221. package/ui-dist/assets/{chunk-JWPE2WC7-BGZyFOPO.js → chunk-JWPE2WC7-_2Qhrxej.js} +1 -1
  222. package/ui-dist/assets/{chunk-MOJQB5TN-DWj-_Y-X.js → chunk-MOJQB5TN-Bx3r3XhP.js} +1 -1
  223. package/ui-dist/assets/{chunk-RYQCIY6F-Bp2OOi6q.js → chunk-RYQCIY6F-ryJ6ulQN.js} +1 -1
  224. package/ui-dist/assets/{chunk-V7JOEXUC-CxNGWU9-.js → chunk-V7JOEXUC-CpTtqgWd.js} +1 -1
  225. package/ui-dist/assets/{chunk-VR4S4FIN-rrwz8tGB.js → chunk-VR4S4FIN-C4qXyyxR.js} +1 -1
  226. package/ui-dist/assets/{chunk-XXDRQBXY-CuinF1_q.js → chunk-XXDRQBXY-CRPbq1d0.js} +1 -1
  227. package/ui-dist/assets/classDiagram-OUVF2IWQ-CRSBnWpX.js +1 -0
  228. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-CRSBnWpX.js +1 -0
  229. package/ui-dist/assets/{cose-bilkent-JH36ORCC-BuP7WwKx.js → cose-bilkent-JH36ORCC-DClTXY3x.js} +1 -1
  230. package/ui-dist/assets/{cynefin-VYW2F7L2-Bdib4S1v.js → cynefin-VYW2F7L2-BqQy_6rq.js} +1 -1
  231. package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-DuSsXSha.js → cynefinDiagram-TSTJHNR4-C_5uIlLF.js} +1 -1
  232. package/ui-dist/assets/{dagre-VKFMJZFB-Igot42Fe.js → dagre-VKFMJZFB-CvzApokN.js} +1 -1
  233. package/ui-dist/assets/{diagram-FQU43EPY-e8NWjImB.js → diagram-FQU43EPY-lsQoO58-.js} +1 -1
  234. package/ui-dist/assets/{diagram-G47NLZAW-BMQV4r9I.js → diagram-G47NLZAW-DJSeMnXd.js} +1 -1
  235. package/ui-dist/assets/{diagram-NH7WQ7WH-CPKOpfkM.js → diagram-NH7WQ7WH-Cfg6gXXN.js} +1 -1
  236. package/ui-dist/assets/{diagram-OA4YK3LP-C_fdlr3v.js → diagram-OA4YK3LP-DUS8ge-b.js} +1 -1
  237. package/ui-dist/assets/{diagram-WEI45ONY-Cu7lfxa2.js → diagram-WEI45ONY-Cp-l5tVI.js} +1 -1
  238. package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-CN6-jt9d.js → ebnfDiagram-CCIWWBDH-BlRaFF_K.js} +1 -1
  239. package/ui-dist/assets/{erDiagram-Q63AITRT-D2z6C-we.js → erDiagram-Q63AITRT-BZwqidAe.js} +1 -1
  240. package/ui-dist/assets/{flowDiagram-23GEKE2U-CQlS5jRI.js → flowDiagram-23GEKE2U-BsfwK51N.js} +1 -1
  241. package/ui-dist/assets/{ganttDiagram-NO4QXBWP-BuuHqPc8.js → ganttDiagram-NO4QXBWP-D7rDtE9-.js} +1 -1
  242. package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-zmgrxxBX.js → gitGraphDiagram-IHSO6WYX-SI7fggdm.js} +1 -1
  243. package/ui-dist/assets/{graph-BJvZTk9a.js → graph-jB2l85dN.js} +1 -1
  244. package/ui-dist/assets/{index-D0VRM_9h.js → index-3UJgpZuo.js} +1 -1
  245. package/ui-dist/assets/{index-CLLpIiBV.js → index-BEtrDYuf.js} +1 -1
  246. package/ui-dist/assets/{index-HrYgeHT8.js → index-BXIRLNEz.js} +1 -1
  247. package/ui-dist/assets/{index-BkG5PUIN.js → index-BzZl24GX.js} +1 -1
  248. package/ui-dist/assets/{index-Cc-ewLqn.js → index-C2YHCs23.js} +1 -1
  249. package/ui-dist/assets/index-CFGCM2jL.css +1 -0
  250. package/ui-dist/assets/{index-DwCuHGmD.js → index-CMGFrbv8.js} +1 -1
  251. package/ui-dist/assets/{index-BUkyKZIq.js → index-CTAmMJYG.js} +1 -1
  252. package/ui-dist/assets/{index-DshvyEC6.js → index-CZoL7L4x.js} +1 -1
  253. package/ui-dist/assets/{index-DyfYslLG.js → index-C_i-wGZX.js} +1 -1
  254. package/ui-dist/assets/{index-B2ZiqwcG.js → index-CkjUvGSq.js} +1 -1
  255. package/ui-dist/assets/{index-8kxaiDPU.js → index-CuPTWos7.js} +1 -1
  256. package/ui-dist/assets/{index-B0Kc4Reu.js → index-D8o_GAok.js} +1 -1
  257. package/ui-dist/assets/{index-B-_jOiYM.js → index-DMFCHg9M.js} +1 -1
  258. package/ui-dist/assets/{index-Be6_jEMJ.js → index-DR1WCr91.js} +1 -1
  259. package/ui-dist/assets/{index-CagHzH_y.js → index-DV8jlH7u.js} +1 -1
  260. package/ui-dist/assets/{index-BYiU3CbU.js → index-DaC9LwaF.js} +1 -1
  261. package/ui-dist/assets/{index--DAOoBdz.js → index-DrRmkklS.js} +539 -541
  262. package/ui-dist/assets/{index-BoJ3Lpc0.js → index-gRrC-1Ro.js} +1 -1
  263. package/ui-dist/assets/{infoDiagram-FWYZ7A6U-DcewEow-.js → infoDiagram-FWYZ7A6U-Dq_2Rg1m.js} +1 -1
  264. package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-DDA-hStd.js → ishikawaDiagram-FXEZZL3T-uyywLhOx.js} +1 -1
  265. package/ui-dist/assets/{journeyDiagram-5HDEW3XC-Di45AJjj.js → journeyDiagram-5HDEW3XC-BSdGAEe3.js} +1 -1
  266. package/ui-dist/assets/{kanban-definition-HUTT4EX6-BSCbVwWj.js → kanban-definition-HUTT4EX6-BeiytV3M.js} +1 -1
  267. package/ui-dist/assets/{layout-pITZAjqg.js → layout-kKtSz6Lw.js} +1 -1
  268. package/ui-dist/assets/{linear-Cu3rtYRt.js → linear-BNg7ltC5.js} +1 -1
  269. package/ui-dist/assets/{map-DYuY604Q.js → map-rBM_jVzN.js} +1 -1
  270. package/ui-dist/assets/{mermaid.core-DDOr0JGp.js → mermaid.core-B0lX_I1S.js} +4 -4
  271. package/ui-dist/assets/{mindmap-definition-LN4V7U3C-D7XVVo_g.js → mindmap-definition-LN4V7U3C-6WrmM-3d.js} +1 -1
  272. package/ui-dist/assets/{pegDiagram-2B236MQR-BC1GaeL3.js → pegDiagram-2B236MQR-BJ0lR6j8.js} +1 -1
  273. package/ui-dist/assets/{pieDiagram-ENE6RG2P-dEClB4rW.js → pieDiagram-ENE6RG2P-Ch-KedEq.js} +1 -1
  274. package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-DYEEk2Me.js → quadrantDiagram-ABIIQ3AL-BLnrHtbN.js} +1 -1
  275. package/ui-dist/assets/{railroadDiagram-RFXS5EU6-DNsj-q9g.js → railroadDiagram-RFXS5EU6-u0KJZK8C.js} +1 -1
  276. package/ui-dist/assets/{requirementDiagram-TGXJPOKE-BmkJ6fzV.js → requirementDiagram-TGXJPOKE-C1MzHKp-.js} +1 -1
  277. package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-BsOkjZzG.js → sankeyDiagram-HTMAVEWB-UIufCGDd.js} +1 -1
  278. package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-Bi3Z-JjU.js → sequenceDiagram-DBY2YBRQ-Cv8Fb7zZ.js} +1 -1
  279. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-BL5Nebl1.js → sizeCapture-X5ZJPWSS-9U-7wwO3.js} +1 -1
  280. package/ui-dist/assets/{stateDiagram-2N3HPSRC-Cq_vKfyy.js → stateDiagram-2N3HPSRC-BEOjkPpv.js} +1 -1
  281. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-BBO_VsOI.js +1 -0
  282. package/ui-dist/assets/{swimlanes-5IMT3BWC-2J5KFUSB.js → swimlanes-5IMT3BWC-BEwruQnI.js} +2 -2
  283. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-DjAl9cJv.js +8 -0
  284. package/ui-dist/assets/{timeline-definition-FHXFAJF6-D1ICgYtA.js → timeline-definition-FHXFAJF6-CfWC6EYo.js} +1 -1
  285. package/ui-dist/assets/{vennDiagram-L72KCM5P-D0Pe93oZ.js → vennDiagram-L72KCM5P-B2BPrj_n.js} +1 -1
  286. package/ui-dist/assets/{wardleyDiagram-EHGQE667-B7cKDg_l.js → wardleyDiagram-EHGQE667-Cx2wmgRm.js} +1 -1
  287. package/ui-dist/assets/{xychartDiagram-FW5EYKEG-CpD2ZP52.js → xychartDiagram-FW5EYKEG-Due4dZhR.js} +1 -1
  288. package/ui-dist/index.html +2 -2
  289. package/dist/routes/org-chart-svg.d.ts +0 -25
  290. package/dist/routes/org-chart-svg.d.ts.map +0 -1
  291. package/dist/routes/org-chart-svg.js +0 -652
  292. package/dist/routes/org-chart-svg.js.map +0 -1
  293. package/ui-dist/assets/channel-DAg8UTDO.js +0 -1
  294. package/ui-dist/assets/classDiagram-OUVF2IWQ-BDDhIQB_.js +0 -1
  295. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-BDDhIQB_.js +0 -1
  296. package/ui-dist/assets/index-BnZ6czsu.css +0 -1
  297. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-BUOXYIgQ.js +0 -1
  298. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-BCURODlK.js +0 -8
@@ -0,0 +1,267 @@
1
+ import { createHash } from "node:crypto";
2
+ import { unprocessable } from "../../errors.js";
3
+ import { createManagedMcpClient, resolveMcpHttpCredentials, } from "./managed-client.js";
4
+ import { MCP_PROVIDER_REGISTRY, } from "./provider-registry.js";
5
+ export function oauthActivityValues(input) {
6
+ return {
7
+ orgId: input.orgId,
8
+ actorType: input.actorUserId ? "user" : "system",
9
+ actorId: input.actorUserId ?? "system",
10
+ action: input.action,
11
+ entityType: "mcp_connection",
12
+ entityId: input.connectionId,
13
+ details: input.details,
14
+ };
15
+ }
16
+ export function tokenExpiry(tokens, now = new Date()) {
17
+ if (typeof tokens?.expires_in !== "number" || !Number.isFinite(tokens.expires_in))
18
+ return null;
19
+ return new Date(now.getTime() + Math.max(0, tokens.expires_in) * 1_000);
20
+ }
21
+ export function tokenScopes(tokens) {
22
+ return typeof tokens?.scope === "string"
23
+ ? Array.from(new Set(tokens.scope.split(/\s+/u).filter(Boolean)))
24
+ : [];
25
+ }
26
+ export function accessToken(material) {
27
+ const value = material.tokens?.access_token;
28
+ if (!value)
29
+ throw unprocessable("Managed MCP OAuth credentials are unavailable");
30
+ return value;
31
+ }
32
+ export function oauthRevocationEndpoint(material) {
33
+ const metadata = material?.discoveryState?.authorizationServerMetadata;
34
+ return isRecord(metadata) && typeof metadata.revocation_endpoint === "string"
35
+ ? metadata.revocation_endpoint
36
+ : null;
37
+ }
38
+ const SAFE_SCOPE_METADATA_KEYS = new Set([
39
+ "region",
40
+ "scopeKind",
41
+ "status",
42
+ "workspaceName",
43
+ "workspace_name",
44
+ "organizationName",
45
+ "organization_name",
46
+ ]);
47
+ export const MAX_SCOPE_OPTIONS = 500;
48
+ const MAX_SCOPE_METADATA_BYTES = 4_096;
49
+ function safeScopeMetadata(value) {
50
+ const output = {};
51
+ for (const [key, raw] of Object.entries(value)) {
52
+ if (!SAFE_SCOPE_METADATA_KEYS.has(key))
53
+ continue;
54
+ const safeValue = typeof raw === "string"
55
+ ? raw.slice(0, 512)
56
+ : typeof raw === "number" && Number.isFinite(raw)
57
+ ? raw
58
+ : typeof raw === "boolean"
59
+ ? raw
60
+ : undefined;
61
+ if (safeValue === undefined)
62
+ continue;
63
+ const candidate = { ...output, [key]: safeValue };
64
+ if (Buffer.byteLength(JSON.stringify(candidate), "utf8") > MAX_SCOPE_METADATA_BYTES) {
65
+ continue;
66
+ }
67
+ output[key] = safeValue;
68
+ }
69
+ return output;
70
+ }
71
+ export function safeScopeOption(value) {
72
+ return {
73
+ id: value.id.trim().slice(0, 512),
74
+ displayName: value.displayName.trim().slice(0, 240),
75
+ metadata: isRecord(value.metadata) ? safeScopeMetadata(value.metadata) : {},
76
+ };
77
+ }
78
+ export function sanitizeScopeOptions(values) {
79
+ const output = [];
80
+ const seen = new Set();
81
+ for (const value of values) {
82
+ const safe = safeScopeOption(value);
83
+ if (!safe.id || !safe.displayName || seen.has(safe.id))
84
+ continue;
85
+ seen.add(safe.id);
86
+ output.push(safe);
87
+ if (output.length === MAX_SCOPE_OPTIONS)
88
+ break;
89
+ }
90
+ return output;
91
+ }
92
+ function parseToolJson(result) {
93
+ for (const content of result.content ?? []) {
94
+ if (content.type !== "text")
95
+ continue;
96
+ try {
97
+ return JSON.parse(content.text);
98
+ }
99
+ catch {
100
+ // Ignore non-JSON provider prose; onboarding never persists it.
101
+ }
102
+ }
103
+ return undefined;
104
+ }
105
+ function asProviderScope(value, keys) {
106
+ if (!isRecord(value))
107
+ return null;
108
+ const id = keys.id.map((key) => value[key])
109
+ .find((item) => typeof item === "string" && item.length > 0);
110
+ if (!id)
111
+ return null;
112
+ const displayName = keys.name.map((key) => value[key])
113
+ .find((item) => typeof item === "string" && item.length > 0) ?? id;
114
+ const metadata = Object.fromEntries(["region", "status", "workspaceName", "workspace_name", "organizationName"]
115
+ .flatMap((key) => value[key] === undefined ? [] : [[key, value[key]]]));
116
+ return safeScopeOption({ id, displayName, metadata });
117
+ }
118
+ function providerScopeContainer(provider, value) {
119
+ const definition = MCP_PROVIDER_REGISTRY[provider].scopeIdentity;
120
+ const candidates = [
121
+ ...definition.containers.map((key) => value[key]),
122
+ ];
123
+ const user = value.user;
124
+ if (provider === "linear" && isRecord(user)) {
125
+ candidates.push(...definition.containers.map((key) => user[key]));
126
+ }
127
+ const bot = value.bot;
128
+ if (provider === "notion" && isRecord(bot)) {
129
+ candidates.push(...definition.containers.map((key) => bot[key]));
130
+ }
131
+ const self = value.self;
132
+ if (provider === "notion" && isRecord(self)) {
133
+ candidates.push(...definition.containers.map((key) => self[key]));
134
+ }
135
+ return candidates.find(isRecord) ?? null;
136
+ }
137
+ export function parseProviderWorkspaceScope(provider, value) {
138
+ if (!isRecord(value))
139
+ return null;
140
+ const container = providerScopeContainer(provider, value);
141
+ if (container) {
142
+ return asProviderScope(container, {
143
+ id: ["workspace_id", "workspaceId", "organization_id", "organizationId", "id"],
144
+ name: [
145
+ "workspace_name",
146
+ "workspaceName",
147
+ "organization_name",
148
+ "organizationName",
149
+ "name",
150
+ ],
151
+ });
152
+ }
153
+ if (provider === "linear"
154
+ && typeof value.id === "string"
155
+ && value.id.length > 0
156
+ && Array.isArray(value.teams)
157
+ && value.teams.some((team) => isRecord(team) && typeof team.id === "string")) {
158
+ const authorizationName = typeof value.name === "string" && value.name.length > 0
159
+ ? `${value.name}'s Linear authorization`
160
+ : "Linear authorization";
161
+ const opaqueSubjectId = createHash("sha256")
162
+ .update(`linear-authorization-subject:${value.id}`)
163
+ .digest("hex")
164
+ .slice(0, 24);
165
+ return safeScopeOption({
166
+ id: `linear-authorization-subject-${opaqueSubjectId}`,
167
+ displayName: authorizationName,
168
+ metadata: {
169
+ scopeKind: "authorization_subject",
170
+ },
171
+ });
172
+ }
173
+ const nested = provider === "notion" && isRecord(value.bot) ? value.bot : value;
174
+ return asProviderScope(nested, {
175
+ id: ["workspace_id", "workspaceId", "organization_id", "organizationId"],
176
+ name: [
177
+ "workspace_name",
178
+ "workspaceName",
179
+ "organization_name",
180
+ "organizationName",
181
+ ],
182
+ });
183
+ }
184
+ export async function defaultDiscoverProviderScope(input) {
185
+ const curatedOrigin = new URL(MCP_PROVIDER_REGISTRY[input.provider].endpoint).origin;
186
+ const client = await createManagedMcpClient({
187
+ transport: "streamable_http",
188
+ url: input.endpoint,
189
+ credentials: resolveMcpHttpCredentials({ bearerToken: accessToken(input.material) }),
190
+ network: {
191
+ allowedOrigins: input.allowlists.httpOrigins,
192
+ curatedOrigin,
193
+ lookup: input.dnsLookup,
194
+ },
195
+ startupTimeoutMs: input.connection.startupTimeoutMs,
196
+ toolTimeoutMs: input.connection.toolTimeoutMs,
197
+ });
198
+ try {
199
+ if (input.provider === "supabase") {
200
+ const parsed = parseToolJson(await client.callTool("list_projects", {}));
201
+ const rawProjects = Array.isArray(parsed)
202
+ ? parsed
203
+ : isRecord(parsed) && Array.isArray(parsed.projects)
204
+ ? parsed.projects
205
+ : [];
206
+ const options = rawProjects
207
+ .map((project) => asProviderScope(project, {
208
+ id: ["ref", "id", "project_ref"],
209
+ name: ["name", "display_name", "ref", "id"],
210
+ }))
211
+ .filter((option) => Boolean(option));
212
+ return { options };
213
+ }
214
+ const identity = MCP_PROVIDER_REGISTRY[input.provider].scopeIdentity;
215
+ if (!identity)
216
+ throw new Error("Provider did not define workspace identity discovery");
217
+ const tools = await client.discoverTools();
218
+ const identityTool = identity.toolNames.find((name) => (tools.some((tool) => tool.name === name)));
219
+ if (!identityTool) {
220
+ throw new Error("Provider did not expose a safe workspace identity tool");
221
+ }
222
+ const parsed = parseToolJson(await client.callTool(identityTool, identity.arguments));
223
+ const selected = parseProviderWorkspaceScope(input.provider, parsed);
224
+ if (!selected)
225
+ throw new Error("Provider workspace identity was invalid");
226
+ return { options: [], selected };
227
+ }
228
+ finally {
229
+ await client.close();
230
+ }
231
+ }
232
+ export async function defaultValidateProviderTools(input) {
233
+ const curatedOrigin = new URL(MCP_PROVIDER_REGISTRY[input.provider].endpoint).origin;
234
+ const client = await createManagedMcpClient({
235
+ transport: "streamable_http",
236
+ url: input.endpoint,
237
+ credentials: resolveMcpHttpCredentials({ bearerToken: accessToken(input.material) }),
238
+ network: {
239
+ allowedOrigins: input.allowlists.httpOrigins,
240
+ curatedOrigin,
241
+ lookup: input.dnsLookup,
242
+ },
243
+ startupTimeoutMs: input.connection.startupTimeoutMs,
244
+ toolTimeoutMs: input.connection.toolTimeoutMs,
245
+ });
246
+ try {
247
+ await client.discoverTools();
248
+ }
249
+ finally {
250
+ await client.close();
251
+ }
252
+ }
253
+ export function parseOAuthMaterial(value) {
254
+ try {
255
+ const parsed = JSON.parse(value);
256
+ if (!isRecord(parsed))
257
+ throw new Error("invalid");
258
+ return parsed;
259
+ }
260
+ catch {
261
+ throw unprocessable("Managed MCP OAuth credentials are unavailable");
262
+ }
263
+ }
264
+ function isRecord(value) {
265
+ return typeof value === "object" && value !== null && !Array.isArray(value);
266
+ }
267
+ //# sourceMappingURL=oauth-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-helpers.js","sourceRoot":"","sources":["../../../src/services/mcp/oauth-helpers.ts"],"names":[],"mappings":"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"}
@@ -2,21 +2,19 @@ import { type AuthOptions, type AuthResult, type OAuthClientProvider } from "@mo
2
2
  import type { Db } from "@rudderhq/db";
3
3
  import { mcpConnections, mcpOAuthGrants } from "@rudderhq/db";
4
4
  import { type McpConnectionSummary, type McpExternalScopeOption, type McpOAuthCallback, type McpOAuthCallbackResult, type McpOAuthGrantSummary, type McpOAuthStartResponse, type McpScopeSelection } from "@rudderhq/shared";
5
+ import { type ManagedMcpProviderScopeResult } from "./oauth-helpers.js";
5
6
  import { type ManagedMcpOAuthMaterial } from "./oauth-provider.js";
6
7
  import { type McpDeploymentAllowlists, type McpDnsLookup } from "./security-policy.js";
8
+ export { parseProviderWorkspaceScope, type ManagedMcpProviderScopeResult } from "./oauth-helpers.js";
7
9
  type McpConnectionRow = typeof mcpConnections.$inferSelect;
8
10
  type McpOAuthGrantRow = typeof mcpOAuthGrants.$inferSelect;
11
+ type McpDbTransaction = Parameters<Parameters<Db["transaction"]>[0]>[0];
9
12
  type OAuthAuth = (provider: OAuthClientProvider, options: AuthOptions) => Promise<AuthResult>;
10
13
  export interface ManagedMcpOAuthActor {
11
14
  userId?: string | null;
12
15
  isInstanceAdmin?: boolean;
13
16
  localImplicit?: boolean;
14
17
  }
15
- export interface ManagedMcpProviderScopeResult {
16
- options: McpExternalScopeOption[];
17
- selected?: McpExternalScopeOption;
18
- providerSubject?: string | null;
19
- }
20
18
  export interface ManagedMcpOAuthServiceOptions {
21
19
  deploymentMode: "local_trusted" | "authenticated";
22
20
  serverPort: number;
@@ -30,18 +28,21 @@ export interface ManagedMcpOAuthServiceOptions {
30
28
  material: ManagedMcpOAuthMaterial;
31
29
  endpoint: string;
32
30
  }) => Promise<ManagedMcpProviderScopeResult>;
31
+ validateProviderTools?: (input: {
32
+ provider: "supabase" | "linear" | "notion";
33
+ connection: McpConnectionRow;
34
+ material: ManagedMcpOAuthMaterial;
35
+ endpoint: string;
36
+ }) => Promise<void>;
33
37
  refreshConnectionTools?: (orgId: string, connectionId: string, actor: {
34
38
  userId?: string | null;
35
39
  agentId?: string | null;
36
40
  }) => Promise<unknown>;
37
41
  }
38
- /**
39
- * Official identity tools return an actor plus an explicit workspace or
40
- * organization. The actor id is never a valid Rudder connection scope.
41
- */
42
- export declare function parseProviderWorkspaceScope(provider: "linear" | "notion", value: unknown): McpExternalScopeOption | null;
43
42
  export declare function managedMcpOAuthService(db: Db, options: ManagedMcpOAuthServiceOptions): {
44
- start: (orgId: string, connectionId: string, actor: ManagedMcpOAuthActor) => Promise<McpOAuthStartResponse>;
43
+ start: (orgId: string, connectionId: string, actor: ManagedMcpOAuthActor, request?: {
44
+ requestedAccessMode?: "read_only" | "read_write";
45
+ }) => Promise<McpOAuthStartResponse>;
45
46
  callback: (rawInput: McpOAuthCallback) => Promise<McpOAuthCallbackResult>;
46
47
  getGrantSummary: (orgId: string, connectionId: string) => Promise<McpOAuthGrantSummary>;
47
48
  listScopeOptions: (orgId: string, connectionId: string) => Promise<McpExternalScopeOption[]>;
@@ -52,10 +53,9 @@ export declare function managedMcpOAuthService(db: Db, options: ManagedMcpOAuthS
52
53
  refresh(): Promise<void>;
53
54
  markNeedsReauth(): Promise<void>;
54
55
  };
55
- requireUsableGrant: (orgId: string, connectionId: string) => Promise<McpOAuthGrantRow>;
56
+ requireUsableGrant: (orgId: string, connectionId: string, executor?: McpDbTransaction) => Promise<McpOAuthGrantRow>;
56
57
  resolveProviderEndpoint: (row: McpConnectionRow) => string;
57
58
  cleanupExpiredSessions: (orgId?: string, limit?: number) => Promise<number>;
58
59
  };
59
60
  export declare function isInvalidGrantOAuthError(error: unknown): boolean;
60
- export {};
61
61
  //# sourceMappingURL=oauth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/services/mcp/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,UAAU,EAEf,KAAK,mBAAmB,EAEzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAGL,cAAc,EACd,cAAc,EAKf,MAAM,cAAc,CAAC;AACtB,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAuB1B,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAwB,KAAK,uBAAuB,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7G,KAAK,gBAAgB,GAAG,OAAO,cAAc,CAAC,YAAY,CAAC;AAC3D,KAAK,gBAAgB,GAAG,OAAO,cAAc,CAAC,YAAY,CAAC;AAG3D,KAAK,SAAS,GAAG,CACf,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,WAAW,KACjB,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,eAAe,GAAG,eAAe,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,uBAAuB,CAAC;IACpC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC3C,UAAU,EAAE,gBAAgB,CAAC;QAC7B,QAAQ,EAAE,uBAAuB,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC7C,sBAAsB,CAAC,EAAE,CACvB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KACvD,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AA8RD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAC7B,KAAK,EAAE,OAAO,GACb,sBAAsB,GAAG,IAAI,CA+C/B;AAmHD,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,6BAA6B;mBA2X7B,MAAM,gBACC,MAAM,SACb,oBAAoB,KAC1B,OAAO,CAAC,qBAAqB,CAAC;yBAoJC,gBAAgB,KAAG,OAAO,CAAC,sBAAsB,CAAC;6BA6a3E,MAAM,gBACC,MAAM,KACnB,OAAO,CAAC,oBAAoB,CAAC;8BAKvB,MAAM,gBACC,MAAM,KACnB,OAAO,CAAC,sBAAsB,EAAE,CAAC;yBAoB3B,MAAM,gBACC,MAAM,gBACN,iBAAiB,SACxB,oBAAoB,KAC1B,OAAO,CAAC,oBAAoB,CAAC;oBAmIvB,MAAM,gBACC,MAAM,SACb,oBAAoB,sBAE1B,OAAO,CAAC,oBAAoB,CAAC;8BAmdC,MAAM,gBAAgB,MAAM;iBAE1C,OAAO,CAAC,MAAM,CAAC;mBAGb,OAAO,CAAC,IAAI,CAAC;2BAeL,OAAO,CAAC,IAAI,CAAC;;gCAr9CjC,MAAM,gBACC,MAAM,KACnB,OAAO,CAAC,gBAAgB,CAAC;mCA4+CU,gBAAgB,KAAG,MAAM;qCA31CrD,MAAM,qBAEb,OAAO,CAAC,MAAM,CAAC;EA82CnB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhE"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/services/mcp/oauth.ts"],"names":[],"mappings":"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"}