@vendure/mcp-plugin 3.8.0-minor-bootstrap.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 (389) hide show
  1. package/lib/api/api-extensions.d.ts +2 -0
  2. package/lib/api/api-extensions.js +239 -0
  3. package/lib/api/api-extensions.js.map +1 -0
  4. package/lib/api/mcp-actor.service.d.ts +19 -0
  5. package/lib/api/mcp-actor.service.js +52 -0
  6. package/lib/api/mcp-actor.service.js.map +1 -0
  7. package/lib/api/mcp-admin.resolver.d.ts +105 -0
  8. package/lib/api/mcp-admin.resolver.js +463 -0
  9. package/lib/api/mcp-admin.resolver.js.map +1 -0
  10. package/lib/api/mcp-shop.resolver.d.ts +25 -0
  11. package/lib/api/mcp-shop.resolver.js +74 -0
  12. package/lib/api/mcp-shop.resolver.js.map +1 -0
  13. package/lib/check-options.d.ts +7 -0
  14. package/lib/check-options.js +130 -0
  15. package/lib/check-options.js.map +1 -0
  16. package/lib/constants.d.ts +48 -0
  17. package/lib/constants.js +72 -0
  18. package/lib/constants.js.map +1 -0
  19. package/lib/delete-in-batches.d.ts +5 -0
  20. package/lib/delete-in-batches.js +28 -0
  21. package/lib/delete-in-batches.js.map +1 -0
  22. package/lib/entities/index.d.ts +5 -0
  23. package/lib/entities/index.js +22 -0
  24. package/lib/entities/index.js.map +1 -0
  25. package/lib/entities/mcp-authorization-code.entity.d.ts +33 -0
  26. package/lib/entities/mcp-authorization-code.entity.js +77 -0
  27. package/lib/entities/mcp-authorization-code.entity.js.map +1 -0
  28. package/lib/entities/mcp-authorization-request.entity.d.ts +31 -0
  29. package/lib/entities/mcp-authorization-request.entity.js +73 -0
  30. package/lib/entities/mcp-authorization-request.entity.js.map +1 -0
  31. package/lib/entities/mcp-oauth-client.entity.d.ts +56 -0
  32. package/lib/entities/mcp-oauth-client.entity.js +70 -0
  33. package/lib/entities/mcp-oauth-client.entity.js.map +1 -0
  34. package/lib/entities/mcp-oauth-grant.entity.d.ts +77 -0
  35. package/lib/entities/mcp-oauth-grant.entity.js +121 -0
  36. package/lib/entities/mcp-oauth-grant.entity.js.map +1 -0
  37. package/lib/entities/mcp-tool-call-log.entity.d.ts +50 -0
  38. package/lib/entities/mcp-tool-call-log.entity.js +101 -0
  39. package/lib/entities/mcp-tool-call-log.entity.js.map +1 -0
  40. package/lib/events/mcp-tool-call.event.d.ts +17 -0
  41. package/lib/events/mcp-tool-call.event.js +23 -0
  42. package/lib/events/mcp-tool-call.event.js.map +1 -0
  43. package/lib/get-client-ip.d.ts +2 -0
  44. package/lib/get-client-ip.js +10 -0
  45. package/lib/get-client-ip.js.map +1 -0
  46. package/lib/get-language-code.d.ts +3 -0
  47. package/lib/get-language-code.js +12 -0
  48. package/lib/get-language-code.js.map +1 -0
  49. package/lib/index.d.ts +6 -0
  50. package/lib/index.js +26 -0
  51. package/lib/index.js.map +1 -0
  52. package/lib/internal-types.d.ts +27 -0
  53. package/lib/internal-types.js +3 -0
  54. package/lib/internal-types.js.map +1 -0
  55. package/lib/logging/mcp-tool-call-log-retention.service.d.ts +8 -0
  56. package/lib/logging/mcp-tool-call-log-retention.service.js +54 -0
  57. package/lib/logging/mcp-tool-call-log-retention.service.js.map +1 -0
  58. package/lib/logging/mcp-tool-call-log.service.d.ts +24 -0
  59. package/lib/logging/mcp-tool-call-log.service.js +128 -0
  60. package/lib/logging/mcp-tool-call-log.service.js.map +1 -0
  61. package/lib/oauth/cimd/cimd-client-resolver.service.d.ts +18 -0
  62. package/lib/oauth/cimd/cimd-client-resolver.service.js +109 -0
  63. package/lib/oauth/cimd/cimd-client-resolver.service.js.map +1 -0
  64. package/lib/oauth/cimd/cimd-document.d.ts +11 -0
  65. package/lib/oauth/cimd/cimd-document.js +66 -0
  66. package/lib/oauth/cimd/cimd-document.js.map +1 -0
  67. package/lib/oauth/cimd/cimd-fetch.d.ts +14 -0
  68. package/lib/oauth/cimd/cimd-fetch.js +192 -0
  69. package/lib/oauth/cimd/cimd-fetch.js.map +1 -0
  70. package/lib/oauth/cimd/cimd-url.d.ts +5 -0
  71. package/lib/oauth/cimd/cimd-url.js +94 -0
  72. package/lib/oauth/cimd/cimd-url.js.map +1 -0
  73. package/lib/oauth/grant-session.service.d.ts +19 -0
  74. package/lib/oauth/grant-session.service.js +141 -0
  75. package/lib/oauth/grant-session.service.js.map +1 -0
  76. package/lib/oauth/oauth-error.d.ts +18 -0
  77. package/lib/oauth/oauth-error.js +60 -0
  78. package/lib/oauth/oauth-error.js.map +1 -0
  79. package/lib/oauth/oauth-metadata.service.d.ts +34 -0
  80. package/lib/oauth/oauth-metadata.service.js +107 -0
  81. package/lib/oauth/oauth-metadata.service.js.map +1 -0
  82. package/lib/oauth/oauth-retention.service.d.ts +23 -0
  83. package/lib/oauth/oauth-retention.service.js +103 -0
  84. package/lib/oauth/oauth-retention.service.js.map +1 -0
  85. package/lib/oauth/oauth-types.d.ts +61 -0
  86. package/lib/oauth/oauth-types.js +32 -0
  87. package/lib/oauth/oauth-types.js.map +1 -0
  88. package/lib/oauth/oauth-utils.d.ts +20 -0
  89. package/lib/oauth/oauth-utils.js +111 -0
  90. package/lib/oauth/oauth-utils.js.map +1 -0
  91. package/lib/oauth/oauth.controller.d.ts +31 -0
  92. package/lib/oauth/oauth.controller.js +132 -0
  93. package/lib/oauth/oauth.controller.js.map +1 -0
  94. package/lib/oauth/oauth.service.d.ts +69 -0
  95. package/lib/oauth/oauth.service.js +650 -0
  96. package/lib/oauth/oauth.service.js.map +1 -0
  97. package/lib/oauth/token-hash.d.ts +6 -0
  98. package/lib/oauth/token-hash.js +21 -0
  99. package/lib/oauth/token-hash.js.map +1 -0
  100. package/lib/plugin.d.ts +54 -0
  101. package/lib/plugin.js +171 -0
  102. package/lib/plugin.js.map +1 -0
  103. package/lib/rate-limit/ip-bucket-key.d.ts +1 -0
  104. package/lib/rate-limit/ip-bucket-key.js +35 -0
  105. package/lib/rate-limit/ip-bucket-key.js.map +1 -0
  106. package/lib/rate-limit/mcp-oauth-rate-limit.guard.d.ts +20 -0
  107. package/lib/rate-limit/mcp-oauth-rate-limit.guard.js +63 -0
  108. package/lib/rate-limit/mcp-oauth-rate-limit.guard.js.map +1 -0
  109. package/lib/rate-limit/mcp-rate-limiter.service.d.ts +47 -0
  110. package/lib/rate-limit/mcp-rate-limiter.service.js +248 -0
  111. package/lib/rate-limit/mcp-rate-limiter.service.js.map +1 -0
  112. package/lib/registry/bm25.d.ts +12 -0
  113. package/lib/registry/bm25.js +60 -0
  114. package/lib/registry/bm25.js.map +1 -0
  115. package/lib/registry/mcp-tool-execution.service.d.ts +45 -0
  116. package/lib/registry/mcp-tool-execution.service.js +72 -0
  117. package/lib/registry/mcp-tool-execution.service.js.map +1 -0
  118. package/lib/registry/mcp-tool-registry.service.d.ts +89 -0
  119. package/lib/registry/mcp-tool-registry.service.js +668 -0
  120. package/lib/registry/mcp-tool-registry.service.js.map +1 -0
  121. package/lib/registry/mcp-tool-schema.service.d.ts +42 -0
  122. package/lib/registry/mcp-tool-schema.service.js +229 -0
  123. package/lib/registry/mcp-tool-schema.service.js.map +1 -0
  124. package/lib/registry/registry-types.d.ts +32 -0
  125. package/lib/registry/registry-types.js +3 -0
  126. package/lib/registry/registry-types.js.map +1 -0
  127. package/lib/resolve-options.d.ts +7 -0
  128. package/lib/resolve-options.js +85 -0
  129. package/lib/resolve-options.js.map +1 -0
  130. package/lib/shared/endpoint-paths.d.ts +8 -0
  131. package/lib/shared/endpoint-paths.js +12 -0
  132. package/lib/shared/endpoint-paths.js.map +1 -0
  133. package/lib/shared/loopback.d.ts +2 -0
  134. package/lib/shared/loopback.js +9 -0
  135. package/lib/shared/loopback.js.map +1 -0
  136. package/lib/shop-session/mcp-shop-session.service.d.ts +47 -0
  137. package/lib/shop-session/mcp-shop-session.service.js +132 -0
  138. package/lib/shop-session/mcp-shop-session.service.js.map +1 -0
  139. package/lib/tasks/mcp-oauth-retention.task.d.ts +9 -0
  140. package/lib/tasks/mcp-oauth-retention.task.js +21 -0
  141. package/lib/tasks/mcp-oauth-retention.task.js.map +1 -0
  142. package/lib/tasks/mcp-tool-call-log-retention.task.d.ts +7 -0
  143. package/lib/tasks/mcp-tool-call-log-retention.task.js +22 -0
  144. package/lib/tasks/mcp-tool-call-log-retention.task.js.map +1 -0
  145. package/lib/tools/built-in/active-order.service.d.ts +26 -0
  146. package/lib/tools/built-in/active-order.service.js +125 -0
  147. package/lib/tools/built-in/active-order.service.js.map +1 -0
  148. package/lib/tools/built-in/admin/add-customer-to-group.tool.d.ts +23 -0
  149. package/lib/tools/built-in/admin/add-customer-to-group.tool.js +68 -0
  150. package/lib/tools/built-in/admin/add-customer-to-group.tool.js.map +1 -0
  151. package/lib/tools/built-in/admin/add-note-to-order.tool.d.ts +104 -0
  152. package/lib/tools/built-in/admin/add-note-to-order.tool.js +66 -0
  153. package/lib/tools/built-in/admin/add-note-to-order.tool.js.map +1 -0
  154. package/lib/tools/built-in/admin/adjust-stock.tool.d.ts +26 -0
  155. package/lib/tools/built-in/admin/adjust-stock.tool.js +88 -0
  156. package/lib/tools/built-in/admin/adjust-stock.tool.js.map +1 -0
  157. package/lib/tools/built-in/admin/cancel-order.tool.d.ts +17 -0
  158. package/lib/tools/built-in/admin/cancel-order.tool.js +60 -0
  159. package/lib/tools/built-in/admin/cancel-order.tool.js.map +1 -0
  160. package/lib/tools/built-in/admin/channel-access.d.ts +2 -0
  161. package/lib/tools/built-in/admin/channel-access.js +9 -0
  162. package/lib/tools/built-in/admin/channel-access.js.map +1 -0
  163. package/lib/tools/built-in/admin/create-customer.tool.d.ts +41 -0
  164. package/lib/tools/built-in/admin/create-customer.tool.js +57 -0
  165. package/lib/tools/built-in/admin/create-customer.tool.js.map +1 -0
  166. package/lib/tools/built-in/admin/create-fulfillment.tool.d.ts +118 -0
  167. package/lib/tools/built-in/admin/create-fulfillment.tool.js +156 -0
  168. package/lib/tools/built-in/admin/create-fulfillment.tool.js.map +1 -0
  169. package/lib/tools/built-in/admin/create-product.tool.d.ts +52 -0
  170. package/lib/tools/built-in/admin/create-product.tool.js +61 -0
  171. package/lib/tools/built-in/admin/create-product.tool.js.map +1 -0
  172. package/lib/tools/built-in/admin/create-variant.tool.d.ts +48 -0
  173. package/lib/tools/built-in/admin/create-variant.tool.js +79 -0
  174. package/lib/tools/built-in/admin/create-variant.tool.js.map +1 -0
  175. package/lib/tools/built-in/admin/entity-field-schemas.d.ts +36 -0
  176. package/lib/tools/built-in/admin/entity-field-schemas.js +63 -0
  177. package/lib/tools/built-in/admin/entity-field-schemas.js.map +1 -0
  178. package/lib/tools/built-in/admin/get-customer.tool.d.ts +28 -0
  179. package/lib/tools/built-in/admin/get-customer.tool.js +55 -0
  180. package/lib/tools/built-in/admin/get-customer.tool.js.map +1 -0
  181. package/lib/tools/built-in/admin/get-order.tool.d.ts +100 -0
  182. package/lib/tools/built-in/admin/get-order.tool.js +68 -0
  183. package/lib/tools/built-in/admin/get-order.tool.js.map +1 -0
  184. package/lib/tools/built-in/admin/get-product.tool.d.ts +69 -0
  185. package/lib/tools/built-in/admin/get-product.tool.js +77 -0
  186. package/lib/tools/built-in/admin/get-product.tool.js.map +1 -0
  187. package/lib/tools/built-in/admin/get-stock-levels.tool.d.ts +23 -0
  188. package/lib/tools/built-in/admin/get-stock-levels.tool.js +61 -0
  189. package/lib/tools/built-in/admin/get-stock-levels.tool.js.map +1 -0
  190. package/lib/tools/built-in/admin/index.d.ts +25 -0
  191. package/lib/tools/built-in/admin/index.js +54 -0
  192. package/lib/tools/built-in/admin/index.js.map +1 -0
  193. package/lib/tools/built-in/admin/list-channels.tool.d.ts +24 -0
  194. package/lib/tools/built-in/admin/list-channels.tool.js +56 -0
  195. package/lib/tools/built-in/admin/list-channels.tool.js.map +1 -0
  196. package/lib/tools/built-in/admin/list-customer-groups.tool.d.ts +23 -0
  197. package/lib/tools/built-in/admin/list-customer-groups.tool.js +52 -0
  198. package/lib/tools/built-in/admin/list-customer-groups.tool.js.map +1 -0
  199. package/lib/tools/built-in/admin/list-customers.tool.d.ts +62 -0
  200. package/lib/tools/built-in/admin/list-customers.tool.js +66 -0
  201. package/lib/tools/built-in/admin/list-customers.tool.js.map +1 -0
  202. package/lib/tools/built-in/admin/list-orders.tool.d.ts +142 -0
  203. package/lib/tools/built-in/admin/list-orders.tool.js +87 -0
  204. package/lib/tools/built-in/admin/list-orders.tool.js.map +1 -0
  205. package/lib/tools/built-in/admin/list-products.tool.d.ts +63 -0
  206. package/lib/tools/built-in/admin/list-products.tool.js +71 -0
  207. package/lib/tools/built-in/admin/list-products.tool.js.map +1 -0
  208. package/lib/tools/built-in/admin/refund-order.tool.d.ts +38 -0
  209. package/lib/tools/built-in/admin/refund-order.tool.js +115 -0
  210. package/lib/tools/built-in/admin/refund-order.tool.js.map +1 -0
  211. package/lib/tools/built-in/admin/set-active-channel.tool.d.ts +22 -0
  212. package/lib/tools/built-in/admin/set-active-channel.tool.js +84 -0
  213. package/lib/tools/built-in/admin/set-active-channel.tool.js.map +1 -0
  214. package/lib/tools/built-in/admin/translation-schemas.d.ts +12 -0
  215. package/lib/tools/built-in/admin/translation-schemas.js +17 -0
  216. package/lib/tools/built-in/admin/translation-schemas.js.map +1 -0
  217. package/lib/tools/built-in/admin/update-customer.tool.d.ts +42 -0
  218. package/lib/tools/built-in/admin/update-customer.tool.js +59 -0
  219. package/lib/tools/built-in/admin/update-customer.tool.js.map +1 -0
  220. package/lib/tools/built-in/admin/update-order-state.tool.d.ts +16 -0
  221. package/lib/tools/built-in/admin/update-order-state.tool.js +58 -0
  222. package/lib/tools/built-in/admin/update-order-state.tool.js.map +1 -0
  223. package/lib/tools/built-in/admin/update-product.tool.d.ts +53 -0
  224. package/lib/tools/built-in/admin/update-product.tool.js +68 -0
  225. package/lib/tools/built-in/admin/update-product.tool.js.map +1 -0
  226. package/lib/tools/built-in/admin/update-variant.tool.d.ts +46 -0
  227. package/lib/tools/built-in/admin/update-variant.tool.js +77 -0
  228. package/lib/tools/built-in/admin/update-variant.tool.js.map +1 -0
  229. package/lib/tools/built-in/admin/upload-asset.tool.d.ts +32 -0
  230. package/lib/tools/built-in/admin/upload-asset.tool.js +56 -0
  231. package/lib/tools/built-in/admin/upload-asset.tool.js.map +1 -0
  232. package/lib/tools/built-in/catalog-query.service.d.ts +21 -0
  233. package/lib/tools/built-in/catalog-query.service.js +128 -0
  234. package/lib/tools/built-in/catalog-query.service.js.map +1 -0
  235. package/lib/tools/built-in/custom-field-input.service.d.ts +10 -0
  236. package/lib/tools/built-in/custom-field-input.service.js +64 -0
  237. package/lib/tools/built-in/custom-field-input.service.js.map +1 -0
  238. package/lib/tools/built-in/email-schema.d.ts +2 -0
  239. package/lib/tools/built-in/email-schema.js +12 -0
  240. package/lib/tools/built-in/email-schema.js.map +1 -0
  241. package/lib/tools/built-in/id-schema.d.ts +3 -0
  242. package/lib/tools/built-in/id-schema.js +11 -0
  243. package/lib/tools/built-in/id-schema.js.map +1 -0
  244. package/lib/tools/built-in/int32-schema.d.ts +4 -0
  245. package/lib/tools/built-in/int32-schema.js +8 -0
  246. package/lib/tools/built-in/int32-schema.js.map +1 -0
  247. package/lib/tools/built-in/list-helpers.d.ts +48 -0
  248. package/lib/tools/built-in/list-helpers.js +76 -0
  249. package/lib/tools/built-in/list-helpers.js.map +1 -0
  250. package/lib/tools/built-in/order-list-helpers.d.ts +20 -0
  251. package/lib/tools/built-in/order-list-helpers.js +48 -0
  252. package/lib/tools/built-in/order-list-helpers.js.map +1 -0
  253. package/lib/tools/built-in/providers.d.ts +2 -0
  254. package/lib/tools/built-in/providers.js +7 -0
  255. package/lib/tools/built-in/providers.js.map +1 -0
  256. package/lib/tools/built-in/remote-asset.d.ts +4 -0
  257. package/lib/tools/built-in/remote-asset.js +54 -0
  258. package/lib/tools/built-in/remote-asset.js.map +1 -0
  259. package/lib/tools/built-in/serializer.service.d.ts +327 -0
  260. package/lib/tools/built-in/serializer.service.js +413 -0
  261. package/lib/tools/built-in/serializer.service.js.map +1 -0
  262. package/lib/tools/built-in/shop/add-to-cart.tool.d.ts +21 -0
  263. package/lib/tools/built-in/shop/add-to-cart.tool.js +100 -0
  264. package/lib/tools/built-in/shop/add-to-cart.tool.js.map +1 -0
  265. package/lib/tools/built-in/shop/address-schema.d.ts +15 -0
  266. package/lib/tools/built-in/shop/address-schema.js +20 -0
  267. package/lib/tools/built-in/shop/address-schema.js.map +1 -0
  268. package/lib/tools/built-in/shop/apply-coupon-code.tool.d.ts +17 -0
  269. package/lib/tools/built-in/shop/apply-coupon-code.tool.js +62 -0
  270. package/lib/tools/built-in/shop/apply-coupon-code.tool.js.map +1 -0
  271. package/lib/tools/built-in/shop/collection-lookup.d.ts +15 -0
  272. package/lib/tools/built-in/shop/collection-lookup.js +35 -0
  273. package/lib/tools/built-in/shop/collection-lookup.js.map +1 -0
  274. package/lib/tools/built-in/shop/get-cart.tool.d.ts +94 -0
  275. package/lib/tools/built-in/shop/get-cart.tool.js +55 -0
  276. package/lib/tools/built-in/shop/get-cart.tool.js.map +1 -0
  277. package/lib/tools/built-in/shop/get-collection.tool.d.ts +42 -0
  278. package/lib/tools/built-in/shop/get-collection.tool.js +64 -0
  279. package/lib/tools/built-in/shop/get-collection.tool.js.map +1 -0
  280. package/lib/tools/built-in/shop/get-eligible-payment-methods.tool.d.ts +26 -0
  281. package/lib/tools/built-in/shop/get-eligible-payment-methods.tool.js +58 -0
  282. package/lib/tools/built-in/shop/get-eligible-payment-methods.tool.js.map +1 -0
  283. package/lib/tools/built-in/shop/get-eligible-shipping-methods.tool.d.ts +30 -0
  284. package/lib/tools/built-in/shop/get-eligible-shipping-methods.tool.js +59 -0
  285. package/lib/tools/built-in/shop/get-eligible-shipping-methods.tool.js.map +1 -0
  286. package/lib/tools/built-in/shop/get-my-account.tool.d.ts +22 -0
  287. package/lib/tools/built-in/shop/get-my-account.tool.js +57 -0
  288. package/lib/tools/built-in/shop/get-my-account.tool.js.map +1 -0
  289. package/lib/tools/built-in/shop/get-order.tool.d.ts +100 -0
  290. package/lib/tools/built-in/shop/get-order.tool.js +67 -0
  291. package/lib/tools/built-in/shop/get-order.tool.js.map +1 -0
  292. package/lib/tools/built-in/shop/get-product.tool.d.ts +57 -0
  293. package/lib/tools/built-in/shop/get-product.tool.js +81 -0
  294. package/lib/tools/built-in/shop/get-product.tool.js.map +1 -0
  295. package/lib/tools/built-in/shop/index.d.ts +19 -0
  296. package/lib/tools/built-in/shop/index.js +42 -0
  297. package/lib/tools/built-in/shop/index.js.map +1 -0
  298. package/lib/tools/built-in/shop/list-collections.tool.d.ts +42 -0
  299. package/lib/tools/built-in/shop/list-collections.tool.js +75 -0
  300. package/lib/tools/built-in/shop/list-collections.tool.js.map +1 -0
  301. package/lib/tools/built-in/shop/list-my-orders.tool.d.ts +100 -0
  302. package/lib/tools/built-in/shop/list-my-orders.tool.js +63 -0
  303. package/lib/tools/built-in/shop/list-my-orders.tool.js.map +1 -0
  304. package/lib/tools/built-in/shop/place-order.tool.d.ts +188 -0
  305. package/lib/tools/built-in/shop/place-order.tool.js +152 -0
  306. package/lib/tools/built-in/shop/place-order.tool.js.map +1 -0
  307. package/lib/tools/built-in/shop/product-search-query.d.ts +4 -0
  308. package/lib/tools/built-in/shop/product-search-query.js +34 -0
  309. package/lib/tools/built-in/shop/product-search-query.js.map +1 -0
  310. package/lib/tools/built-in/shop/remove-coupon-code.tool.d.ts +17 -0
  311. package/lib/tools/built-in/shop/remove-coupon-code.tool.js +63 -0
  312. package/lib/tools/built-in/shop/remove-coupon-code.tool.js.map +1 -0
  313. package/lib/tools/built-in/shop/remove-from-cart.tool.d.ts +17 -0
  314. package/lib/tools/built-in/shop/remove-from-cart.tool.js +58 -0
  315. package/lib/tools/built-in/shop/remove-from-cart.tool.js.map +1 -0
  316. package/lib/tools/built-in/shop/search-products.tool.d.ts +48 -0
  317. package/lib/tools/built-in/shop/search-products.tool.js +95 -0
  318. package/lib/tools/built-in/shop/search-products.tool.js.map +1 -0
  319. package/lib/tools/built-in/shop/set-checkout-details.tool.d.ts +56 -0
  320. package/lib/tools/built-in/shop/set-checkout-details.tool.js +187 -0
  321. package/lib/tools/built-in/shop/set-checkout-details.tool.js.map +1 -0
  322. package/lib/tools/built-in/shop/set-shipping-method.tool.d.ts +17 -0
  323. package/lib/tools/built-in/shop/set-shipping-method.tool.js +58 -0
  324. package/lib/tools/built-in/shop/set-shipping-method.tool.js.map +1 -0
  325. package/lib/tools/built-in/shop/update-cart-line.tool.d.ts +18 -0
  326. package/lib/tools/built-in/shop/update-cart-line.tool.js +60 -0
  327. package/lib/tools/built-in/shop/update-cart-line.tool.js.map +1 -0
  328. package/lib/tools/built-in/string-schemas.d.ts +4 -0
  329. package/lib/tools/built-in/string-schemas.js +13 -0
  330. package/lib/tools/built-in/string-schemas.js.map +1 -0
  331. package/lib/transport/mcp-server.factory.d.ts +13 -0
  332. package/lib/transport/mcp-server.factory.js +32 -0
  333. package/lib/transport/mcp-server.factory.js.map +1 -0
  334. package/lib/transport/mcp-transport.controller.d.ts +77 -0
  335. package/lib/transport/mcp-transport.controller.js +442 -0
  336. package/lib/transport/mcp-transport.controller.js.map +1 -0
  337. package/lib/types.d.ts +432 -0
  338. package/lib/types.js +3 -0
  339. package/lib/types.js.map +1 -0
  340. package/package.json +42 -0
  341. package/src/dashboard/components/activity-block.tsx +72 -0
  342. package/src/dashboard/components/actor-cell.tsx +31 -0
  343. package/src/dashboard/components/connection-dialog.tsx +106 -0
  344. package/src/dashboard/components/empty-cell.tsx +7 -0
  345. package/src/dashboard/components/grants-block.tsx +218 -0
  346. package/src/dashboard/components/stats-block.tsx +275 -0
  347. package/src/dashboard/components/tools-block.tsx +274 -0
  348. package/src/dashboard/components/tooltip-button.tsx +28 -0
  349. package/src/dashboard/components/use-mcp-table-state.ts +47 -0
  350. package/src/dashboard/i18n/ar.po +311 -0
  351. package/src/dashboard/i18n/bg.po +311 -0
  352. package/src/dashboard/i18n/cs.po +311 -0
  353. package/src/dashboard/i18n/de.po +311 -0
  354. package/src/dashboard/i18n/en.po +311 -0
  355. package/src/dashboard/i18n/es.po +311 -0
  356. package/src/dashboard/i18n/fa.po +311 -0
  357. package/src/dashboard/i18n/fr.po +311 -0
  358. package/src/dashboard/i18n/he.po +311 -0
  359. package/src/dashboard/i18n/hr.po +311 -0
  360. package/src/dashboard/i18n/hu.po +311 -0
  361. package/src/dashboard/i18n/it.po +311 -0
  362. package/src/dashboard/i18n/ja.po +311 -0
  363. package/src/dashboard/i18n/ko.po +311 -0
  364. package/src/dashboard/i18n/nb.po +311 -0
  365. package/src/dashboard/i18n/ne.po +311 -0
  366. package/src/dashboard/i18n/nl.po +311 -0
  367. package/src/dashboard/i18n/pl.po +311 -0
  368. package/src/dashboard/i18n/pt_BR.po +311 -0
  369. package/src/dashboard/i18n/pt_PT.po +311 -0
  370. package/src/dashboard/i18n/ro.po +311 -0
  371. package/src/dashboard/i18n/ru.po +311 -0
  372. package/src/dashboard/i18n/sv.po +311 -0
  373. package/src/dashboard/i18n/tr.po +311 -0
  374. package/src/dashboard/i18n/uk.po +311 -0
  375. package/src/dashboard/i18n/uz.po +311 -0
  376. package/src/dashboard/i18n/zh_Hans.po +311 -0
  377. package/src/dashboard/i18n/zh_Hant.po +311 -0
  378. package/src/dashboard/index.tsx +30 -0
  379. package/src/dashboard/mcp-activity-route.tsx +38 -0
  380. package/src/dashboard/mcp-authorize-route.tsx +369 -0
  381. package/src/dashboard/mcp-grants-route.tsx +38 -0
  382. package/src/dashboard/mcp-overview-route.tsx +46 -0
  383. package/src/dashboard/mcp-server-redirect-route.tsx +15 -0
  384. package/src/dashboard/mcp-tools-route.tsx +38 -0
  385. package/src/dashboard/mcp.graphql.ts +127 -0
  386. package/src/dashboard/published-files.spec.ts +54 -0
  387. package/src/dashboard/tsconfig.json +9 -0
  388. package/src/shared/endpoint-paths.ts +8 -0
  389. package/src/shared/loopback.ts +6 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.service.js","sourceRoot":"","sources":["../../src/oauth/oauth.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** Call once at startup and reuse the key; rotating the secret makes every stored OAuth credential unresolvable. */
2
+ export declare function deriveHashKey(secret: string): Buffer;
3
+ /** Deterministic and one-way, so tokens can be stored at rest and still found by an exact-match lookup, without the plaintext ever being recoverable. */
4
+ export declare function hashToken(value: string, hashKey: Buffer): string;
5
+ /** The `lookup:` namespace keeps these hashes separate from any other keyed hashes introduced in the future. */
6
+ export declare function hashLookupToken(value: string, hashKey: Buffer): string;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deriveHashKey = deriveHashKey;
4
+ exports.hashToken = hashToken;
5
+ exports.hashLookupToken = hashLookupToken;
6
+ const node_crypto_1 = require("node:crypto");
7
+ const KEY_LENGTH = 32;
8
+ const HASH_KEY_SALT = 'mcp-oauth-hash-key-v1';
9
+ /** Call once at startup and reuse the key; rotating the secret makes every stored OAuth credential unresolvable. */
10
+ function deriveHashKey(secret) {
11
+ return (0, node_crypto_1.scryptSync)(secret, HASH_KEY_SALT, KEY_LENGTH);
12
+ }
13
+ /** Deterministic and one-way, so tokens can be stored at rest and still found by an exact-match lookup, without the plaintext ever being recoverable. */
14
+ function hashToken(value, hashKey) {
15
+ return (0, node_crypto_1.createHmac)('sha256', hashKey).update(value).digest('base64url');
16
+ }
17
+ /** The `lookup:` namespace keeps these hashes separate from any other keyed hashes introduced in the future. */
18
+ function hashLookupToken(value, hashKey) {
19
+ return hashToken(`lookup:${value}`, hashKey);
20
+ }
21
+ //# sourceMappingURL=token-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-hash.js","sourceRoot":"","sources":["../../src/oauth/token-hash.ts"],"names":[],"mappings":";;AAMA,sCAEC;AAGD,8BAEC;AAGD,0CAEC;AAlBD,6CAAqD;AAErD,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAE9C,oHAAoH;AACpH,SAAgB,aAAa,CAAC,MAAc;IACxC,OAAO,IAAA,wBAAU,EAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC;AAED,yJAAyJ;AACzJ,SAAgB,SAAS,CAAC,KAAa,EAAE,OAAe;IACpD,OAAO,IAAA,wBAAU,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC3E,CAAC;AAED,gHAAgH;AAChH,SAAgB,eAAe,CAAC,KAAa,EAAE,OAAe;IAC1D,OAAO,SAAS,CAAC,UAAU,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { MiddlewareConsumer, NestModule, OnApplicationBootstrap, Type } from '@nestjs/common';
2
+ import { I18nService, ProcessContext } from '@vendure/core';
3
+ import { ResolvedMcpPluginOptions } from './internal-types';
4
+ import { McpPluginOptions } from './types';
5
+ /**
6
+ * @description
7
+ * Exposes Vendure's data and operations to AI agents via the [Model Context Protocol](https://modelcontextprotocol.io/).
8
+ * Tools decorated with `@McpTool` are automatically discovered and registered at bootstrap.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { McpPlugin } from '\@vendure/mcp-plugin';
13
+ *
14
+ * const config: VendureConfig = {
15
+ * plugins: [
16
+ * // Tools are exposed directly by default. Pass `toolExposure: 'discovery'`
17
+ * // to expose a small set of search/execute meta-tools instead.
18
+ * McpPlugin.init({}),
19
+ * ],
20
+ * };
21
+ * ```
22
+ *
23
+ * @docsCategory core plugins/McpPlugin
24
+ * @since 3.8.0
25
+ */
26
+ export declare class McpPlugin implements NestModule, OnApplicationBootstrap {
27
+ private readonly processContext;
28
+ private readonly i18nService;
29
+ /**
30
+ * @description
31
+ * The plugin options with every default applied. `init()` sets this, so it holds no value
32
+ * until the plugin is added to your Vendure config.
33
+ */
34
+ static options: ResolvedMcpPluginOptions;
35
+ constructor(processContext: ProcessContext, i18nService: I18nService);
36
+ /**
37
+ * Adds Vendure's error translation middleware to MCP routes, so callers receive translated
38
+ * error messages instead of i18n keys.
39
+ */
40
+ configure(consumer: MiddlewareConsumer): void;
41
+ /**
42
+ * @description
43
+ * Sets the plugin options and returns the plugin class to add to your `plugins` array.
44
+ * Any option you leave out falls back to its default.
45
+ */
46
+ static init(options?: McpPluginOptions): Type<McpPlugin>;
47
+ /**
48
+ * @description
49
+ * Builds the MCP message schemas up front, so the cost lands on startup rather than the
50
+ * first request, then checks the configured options for anything invalid or unsafe for a
51
+ * production server. Runs at startup, main server process only.
52
+ */
53
+ onApplicationBootstrap(): void;
54
+ }
package/lib/plugin.js ADDED
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var McpPlugin_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.McpPlugin = void 0;
14
+ const server_1 = require("@modelcontextprotocol/server");
15
+ const core_1 = require("@nestjs/core");
16
+ const core_2 = require("@vendure/core");
17
+ const api_extensions_1 = require("./api/api-extensions");
18
+ const mcp_actor_service_1 = require("./api/mcp-actor.service");
19
+ const mcp_admin_resolver_1 = require("./api/mcp-admin.resolver");
20
+ const mcp_shop_resolver_1 = require("./api/mcp-shop.resolver");
21
+ const check_options_1 = require("./check-options");
22
+ const constants_1 = require("./constants");
23
+ const entities_1 = require("./entities");
24
+ const mcp_tool_call_log_retention_service_1 = require("./logging/mcp-tool-call-log-retention.service");
25
+ const mcp_tool_call_log_service_1 = require("./logging/mcp-tool-call-log.service");
26
+ const cimd_client_resolver_service_1 = require("./oauth/cimd/cimd-client-resolver.service");
27
+ const grant_session_service_1 = require("./oauth/grant-session.service");
28
+ const oauth_metadata_service_1 = require("./oauth/oauth-metadata.service");
29
+ const oauth_retention_service_1 = require("./oauth/oauth-retention.service");
30
+ const oauth_controller_1 = require("./oauth/oauth.controller");
31
+ const oauth_service_1 = require("./oauth/oauth.service");
32
+ const mcp_oauth_rate_limit_guard_1 = require("./rate-limit/mcp-oauth-rate-limit.guard");
33
+ const mcp_rate_limiter_service_1 = require("./rate-limit/mcp-rate-limiter.service");
34
+ const mcp_tool_execution_service_1 = require("./registry/mcp-tool-execution.service");
35
+ const mcp_tool_registry_service_1 = require("./registry/mcp-tool-registry.service");
36
+ const mcp_tool_schema_service_1 = require("./registry/mcp-tool-schema.service");
37
+ const resolve_options_1 = require("./resolve-options");
38
+ const mcp_shop_session_service_1 = require("./shop-session/mcp-shop-session.service");
39
+ const mcp_oauth_retention_task_1 = require("./tasks/mcp-oauth-retention.task");
40
+ const mcp_tool_call_log_retention_task_1 = require("./tasks/mcp-tool-call-log-retention.task");
41
+ const active_order_service_1 = require("./tools/built-in/active-order.service");
42
+ const catalog_query_service_1 = require("./tools/built-in/catalog-query.service");
43
+ const custom_field_input_service_1 = require("./tools/built-in/custom-field-input.service");
44
+ const providers_1 = require("./tools/built-in/providers");
45
+ const serializer_service_1 = require("./tools/built-in/serializer.service");
46
+ const mcp_transport_controller_1 = require("./transport/mcp-transport.controller");
47
+ /**
48
+ * @description
49
+ * Exposes Vendure's data and operations to AI agents via the [Model Context Protocol](https://modelcontextprotocol.io/).
50
+ * Tools decorated with `@McpTool` are automatically discovered and registered at bootstrap.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * import { McpPlugin } from '\@vendure/mcp-plugin';
55
+ *
56
+ * const config: VendureConfig = {
57
+ * plugins: [
58
+ * // Tools are exposed directly by default. Pass `toolExposure: 'discovery'`
59
+ * // to expose a small set of search/execute meta-tools instead.
60
+ * McpPlugin.init({}),
61
+ * ],
62
+ * };
63
+ * ```
64
+ *
65
+ * @docsCategory core plugins/McpPlugin
66
+ * @since 3.8.0
67
+ */
68
+ let McpPlugin = McpPlugin_1 = class McpPlugin {
69
+ constructor(processContext, i18nService) {
70
+ this.processContext = processContext;
71
+ this.i18nService = i18nService;
72
+ }
73
+ /**
74
+ * Adds Vendure's error translation middleware to MCP routes, so callers receive translated
75
+ * error messages instead of i18n keys.
76
+ */
77
+ configure(consumer) {
78
+ consumer.apply(this.i18nService.handle()).forRoutes('mcp/shop', 'mcp/admin');
79
+ }
80
+ /**
81
+ * @description
82
+ * Sets the plugin options and returns the plugin class to add to your `plugins` array.
83
+ * Any option you leave out falls back to its default.
84
+ */
85
+ static init(options = {}) {
86
+ this.options = (0, resolve_options_1.resolveMcpPluginOptions)(options);
87
+ return McpPlugin_1;
88
+ }
89
+ /**
90
+ * @description
91
+ * Builds the MCP message schemas up front, so the cost lands on startup rather than the
92
+ * first request, then checks the configured options for anything invalid or unsafe for a
93
+ * production server. Runs at startup, main server process only.
94
+ */
95
+ onApplicationBootstrap() {
96
+ // Only the main server serves the OAuth routes, so only it needs this check.
97
+ if (!this.processContext.isServer) {
98
+ return;
99
+ }
100
+ (0, server_1.preloadSchemas)();
101
+ (0, check_options_1.checkMcpPluginOptions)(McpPlugin_1.options);
102
+ }
103
+ };
104
+ exports.McpPlugin = McpPlugin;
105
+ exports.McpPlugin = McpPlugin = McpPlugin_1 = __decorate([
106
+ (0, core_2.VendurePlugin)({
107
+ imports: [core_2.PluginCommonModule, core_1.DiscoveryModule],
108
+ controllers: [oauth_controller_1.McpOauthController, mcp_transport_controller_1.McpTransportController],
109
+ providers: [
110
+ { provide: constants_1.MCP_PLUGIN_OPTIONS, useFactory: () => McpPlugin.options },
111
+ oauth_service_1.McpOauthService,
112
+ grant_session_service_1.McpGrantSessionService,
113
+ oauth_metadata_service_1.McpOauthMetadataService,
114
+ oauth_retention_service_1.McpOauthRetentionService,
115
+ cimd_client_resolver_service_1.McpCimdClientResolverService,
116
+ mcp_tool_registry_service_1.McpToolRegistryService,
117
+ mcp_tool_schema_service_1.McpToolSchemaService,
118
+ mcp_tool_execution_service_1.McpToolExecutionService,
119
+ mcp_shop_session_service_1.McpShopSessionService,
120
+ mcp_rate_limiter_service_1.McpRateLimiterService,
121
+ mcp_oauth_rate_limit_guard_1.McpOauthRateLimitGuard,
122
+ mcp_tool_call_log_service_1.McpToolCallLogService,
123
+ mcp_tool_call_log_retention_service_1.McpToolCallLogRetentionService,
124
+ active_order_service_1.McpActiveOrderService,
125
+ serializer_service_1.McpToolSerializerService,
126
+ catalog_query_service_1.McpCatalogQueryService,
127
+ custom_field_input_service_1.McpCustomFieldInputService,
128
+ mcp_actor_service_1.McpActorService,
129
+ ...providers_1.mcpBuiltInToolProviders,
130
+ ],
131
+ entities: [entities_1.McpOauthClient, entities_1.McpAuthorizationCode, entities_1.McpAuthorizationRequest, entities_1.McpOauthGrant, entities_1.McpToolCallLog],
132
+ adminApiExtensions: {
133
+ schema: api_extensions_1.adminApiExtensions,
134
+ resolvers: [mcp_admin_resolver_1.McpAdminResolver, mcp_admin_resolver_1.McpToolCallLogEntityResolver, mcp_admin_resolver_1.McpOauthGrantEntityResolver],
135
+ },
136
+ shopApiExtensions: {
137
+ schema: api_extensions_1.shopApiExtensions,
138
+ resolvers: [mcp_shop_resolver_1.McpShopResolver],
139
+ },
140
+ dashboard: '../src/dashboard/index.tsx',
141
+ configuration: config => {
142
+ var _a, _b;
143
+ // Defaults to the API server's own address; correct for local development only, since
144
+ // a production server is required to set an explicit public issuer.
145
+ if (McpPlugin.options.oauth && !McpPlugin.options.oauth.issuer) {
146
+ McpPlugin.options.oauth.issuer = `http://localhost:${config.apiOptions.port}`;
147
+ }
148
+ config.authOptions.customPermissions.push(constants_1.mcpServerPermission);
149
+ config.settingsStoreFields = Object.assign(Object.assign({}, config.settingsStoreFields), { [constants_1.MCP_SETTINGS_NAMESPACE]: [
150
+ {
151
+ name: constants_1.MCP_TOOL_TOGGLES_FIELD_NAME,
152
+ scope: core_2.SettingsStoreScopes.global,
153
+ requiresPermission: { read: constants_1.mcpServerPermission.Read, write: constants_1.mcpServerPermission.Update },
154
+ validate: value => value == null || typeof value === 'object'
155
+ ? undefined
156
+ : 'MCP tool toggles must be an object',
157
+ },
158
+ ] });
159
+ config.schedulerOptions.tasks.push(mcp_tool_call_log_retention_task_1.mcpToolCallLogRetentionTask.configure({
160
+ schedule: (_a = McpPlugin.options.logging) === null || _a === void 0 ? void 0 : _a.retentionSchedule,
161
+ }), mcp_oauth_retention_task_1.mcpOauthRetentionTask.configure({
162
+ schedule: (_b = McpPlugin.options.oauth) === null || _b === void 0 ? void 0 : _b.retentionSchedule,
163
+ }));
164
+ return config;
165
+ },
166
+ compatibility: '^3.8.0',
167
+ }),
168
+ __metadata("design:paramtypes", [core_2.ProcessContext,
169
+ core_2.I18nService])
170
+ ], McpPlugin);
171
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function ipBucketKey(clientIp?: string): string;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ipBucketKey = ipBucketKey;
4
+ const node_net_1 = require("node:net");
5
+ const IPV4_MAPPED_PREFIX = /^::ffff:/i;
6
+ // An IPv6 address is keyed by its first 64 bits, since a single machine can pick a fresh address from its /64 for every request.
7
+ function ipBucketKey(clientIp) {
8
+ if (clientIp == null) {
9
+ return 'unknown';
10
+ }
11
+ const mappedIpv4 = clientIp.replace(IPV4_MAPPED_PREFIX, '');
12
+ if (mappedIpv4 !== clientIp && (0, node_net_1.isIP)(mappedIpv4) === 4) {
13
+ return mappedIpv4;
14
+ }
15
+ if ((0, node_net_1.isIP)(clientIp) !== 6) {
16
+ // IPv4 is keyed as it stands. getClientIp() has already dropped anything that is not an address.
17
+ return clientIp;
18
+ }
19
+ return `${expandIpv6(clientIp).slice(0, 4).join(':')}::/64`;
20
+ }
21
+ // Node has no built-in expander, and two written forms of the same address must produce the same key.
22
+ function expandIpv6(address) {
23
+ const [head, tail] = address.split('::');
24
+ const headGroups = head === '' ? [] : head.split(':');
25
+ if (tail === undefined) {
26
+ return headGroups.map(normalizeGroup);
27
+ }
28
+ const tailGroups = tail === '' ? [] : tail.split(':');
29
+ const zeroGroups = new Array(8 - headGroups.length - tailGroups.length).fill('0000');
30
+ return [...headGroups.map(normalizeGroup), ...zeroGroups, ...tailGroups.map(normalizeGroup)];
31
+ }
32
+ function normalizeGroup(group) {
33
+ return group.toLowerCase().padStart(4, '0');
34
+ }
35
+ //# sourceMappingURL=ip-bucket-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ip-bucket-key.js","sourceRoot":"","sources":["../../src/rate-limit/ip-bucket-key.ts"],"names":[],"mappings":";;AAKA,kCAaC;AAlBD,uCAAgC;AAEhC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAEvC,iIAAiI;AACjI,SAAgB,WAAW,CAAC,QAAiB;IACzC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC5D,IAAI,UAAU,KAAK,QAAQ,IAAI,IAAA,eAAI,EAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,IAAI,IAAA,eAAI,EAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,iGAAiG;QACjG,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AAChE,CAAC;AAED,sGAAsG;AACtG,SAAS,UAAU,CAAC,OAAe;IAC/B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { ArgumentsHost, CanActivate, ExceptionFilter, ExecutionContext, HttpException } from '@nestjs/common';
2
+ import { McpRateLimiterService } from './mcp-rate-limiter.service';
3
+ export declare class McpOauthRateLimitExceededHttpException extends HttpException {
4
+ readonly retryAfterSeconds: number;
5
+ constructor(retryAfterSeconds: number);
6
+ }
7
+ /**
8
+ * @description
9
+ * Rate-limits OAuth endpoints by client IP, since these endpoints have no authentication of their
10
+ * own. All routes on the OAuth controller share a single quota. Disabled when OAuth IP rate
11
+ * limiting is turned off.
12
+ */
13
+ export declare class McpOauthRateLimitGuard implements CanActivate {
14
+ private readonly rateLimiter;
15
+ constructor(rateLimiter: McpRateLimiterService);
16
+ canActivate(context: ExecutionContext): Promise<boolean>;
17
+ }
18
+ export declare class McpOauthRateLimitExceptionFilter implements ExceptionFilter {
19
+ catch(exception: McpOauthRateLimitExceededHttpException, host: ArgumentsHost): void;
20
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.McpOauthRateLimitExceptionFilter = exports.McpOauthRateLimitGuard = exports.McpOauthRateLimitExceededHttpException = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const get_client_ip_1 = require("../get-client-ip");
15
+ const mcp_rate_limiter_service_1 = require("./mcp-rate-limiter.service");
16
+ class McpOauthRateLimitExceededHttpException extends common_1.HttpException {
17
+ constructor(retryAfterSeconds) {
18
+ super({
19
+ error: 'rate_limit_exceeded',
20
+ error_description: `Too many requests. Retry after ${retryAfterSeconds} seconds.`,
21
+ retry_after_seconds: retryAfterSeconds,
22
+ }, common_1.HttpStatus.TOO_MANY_REQUESTS);
23
+ this.retryAfterSeconds = retryAfterSeconds;
24
+ }
25
+ }
26
+ exports.McpOauthRateLimitExceededHttpException = McpOauthRateLimitExceededHttpException;
27
+ /**
28
+ * @description
29
+ * Rate-limits OAuth endpoints by client IP, since these endpoints have no authentication of their
30
+ * own. All routes on the OAuth controller share a single quota. Disabled when OAuth IP rate
31
+ * limiting is turned off.
32
+ */
33
+ let McpOauthRateLimitGuard = class McpOauthRateLimitGuard {
34
+ constructor(rateLimiter) {
35
+ this.rateLimiter = rateLimiter;
36
+ }
37
+ async canActivate(context) {
38
+ const req = context.switchToHttp().getRequest();
39
+ const exceeded = await this.rateLimiter.checkOauthIpRateLimit((0, get_client_ip_1.getClientIp)(req));
40
+ if (exceeded) {
41
+ throw new McpOauthRateLimitExceededHttpException(exceeded.retryAfterSeconds);
42
+ }
43
+ return true;
44
+ }
45
+ };
46
+ exports.McpOauthRateLimitGuard = McpOauthRateLimitGuard;
47
+ exports.McpOauthRateLimitGuard = McpOauthRateLimitGuard = __decorate([
48
+ (0, common_1.Injectable)(),
49
+ __metadata("design:paramtypes", [mcp_rate_limiter_service_1.McpRateLimiterService])
50
+ ], McpOauthRateLimitGuard);
51
+ // Scoped to the controller so it runs before Vendure's app-wide ExceptionLoggerFilter can rewrite the body.
52
+ let McpOauthRateLimitExceptionFilter = class McpOauthRateLimitExceptionFilter {
53
+ catch(exception, host) {
54
+ const res = host.switchToHttp().getResponse();
55
+ res.setHeader('Retry-After', String(exception.retryAfterSeconds));
56
+ res.status(exception.getStatus()).json(exception.getResponse());
57
+ }
58
+ };
59
+ exports.McpOauthRateLimitExceptionFilter = McpOauthRateLimitExceptionFilter;
60
+ exports.McpOauthRateLimitExceptionFilter = McpOauthRateLimitExceptionFilter = __decorate([
61
+ (0, common_1.Catch)(McpOauthRateLimitExceededHttpException)
62
+ ], McpOauthRateLimitExceptionFilter);
63
+ //# sourceMappingURL=mcp-oauth-rate-limit.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-oauth-rate-limit.guard.js","sourceRoot":"","sources":["../../src/rate-limit/mcp-oauth-rate-limit.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CASwB;AAGxB,oDAA+C;AAE/C,yEAAmE;AAEnE,MAAa,sCAAuC,SAAQ,sBAAa;IACrE,YAA4B,iBAAyB;QACjD,KAAK,CACD;YACI,KAAK,EAAE,qBAAqB;YAC5B,iBAAiB,EAAE,kCAAkC,iBAAiB,WAAW;YACjF,mBAAmB,EAAE,iBAAiB;SACzC,EACD,mBAAU,CAAC,iBAAiB,CAC/B,CAAC;QARsB,sBAAiB,GAAjB,iBAAiB,CAAQ;IASrD,CAAC;CACJ;AAXD,wFAWC;AAED;;;;;GAKG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAC/B,YAA6B,WAAkC;QAAlC,gBAAW,GAAX,WAAW,CAAuB;IAAG,CAAC;IAEnE,KAAK,CAAC,WAAW,CAAC,OAAyB;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAW,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAA,2BAAW,EAAC,GAAG,CAAC,CAAC,CAAC;QAChF,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,IAAI,sCAAsC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AAXY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAEiC,gDAAqB;GADtD,sBAAsB,CAWlC;AAED,4GAA4G;AAErG,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IACzC,KAAK,CAAC,SAAiD,EAAE,IAAmB;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAY,CAAC;QACxD,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;CACJ,CAAA;AANY,4EAAgC;2CAAhC,gCAAgC;IAD5C,IAAA,cAAK,EAAC,sCAAsC,CAAC;GACjC,gCAAgC,CAM5C"}
@@ -0,0 +1,47 @@
1
+ import { CacheService } from '@vendure/core';
2
+ import { McpToolset } from '@vendure/mcp-sdk';
3
+ import { McpExecutionContext, ResolvedMcpPluginOptions } from '../internal-types';
4
+ export interface McpRateLimitExceeded {
5
+ message: string;
6
+ retryAfterSeconds: number;
7
+ scope: string;
8
+ }
9
+ export interface RateLimitInput {
10
+ executionContext: McpExecutionContext;
11
+ endpoint: McpToolset;
12
+ /** What the request is metered as: a tool name, or a JSON-RPC method name at the handshake. */
13
+ subject: string;
14
+ }
15
+ export declare class McpRateLimiterService {
16
+ private readonly cacheService;
17
+ private readonly options;
18
+ /** Tail of the increment queue per bucket key; an entry is removed once its tail settles. */
19
+ private readonly inFlightIncrements;
20
+ constructor(cacheService: CacheService, options: ResolvedMcpPluginOptions);
21
+ checkRateLimit(input: RateLimitInput): Promise<McpRateLimitExceeded | undefined>;
22
+ checkAnonymousIpRateLimit(endpoint: McpToolset, clientIp?: string): Promise<McpRateLimitExceeded | undefined>;
23
+ /** Meters the OAuth endpoints per IP; they have no session or user to key on. */
24
+ checkOauthIpRateLimit(clientIp?: string): Promise<McpRateLimitExceeded | undefined>;
25
+ checkBearerAuthFailureRateLimit(clientIp?: string): Promise<McpRateLimitExceeded | undefined>;
26
+ recordBearerAuthFailure(clientIp?: string): Promise<void>;
27
+ private runChecks;
28
+ private exceededDetails;
29
+ private buildRateLimitChecks;
30
+ private buildSharedBucketChecks;
31
+ /** The per-minute limit of a rate-limit option: 0 when the option is off or unset. */
32
+ private resolveRpm;
33
+ private buildAnonymousIpCheck;
34
+ private buildOauthIpCheck;
35
+ private buildBearerAuthFailureCheck;
36
+ /** The bucket for `input.subject`, keyed by actor+session (see {@link perToolBucketKey}). */
37
+ private buildPerToolChecks;
38
+ private getBucketState;
39
+ private incrementBucket;
40
+ private sessionKey;
41
+ private sessionOrIpKey;
42
+ private userKey;
43
+ private clientKey;
44
+ private perToolBucketKey;
45
+ private cacheKey;
46
+ private hash;
47
+ }