@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.
- package/lib/api/api-extensions.d.ts +2 -0
- package/lib/api/api-extensions.js +239 -0
- package/lib/api/api-extensions.js.map +1 -0
- package/lib/api/mcp-actor.service.d.ts +19 -0
- package/lib/api/mcp-actor.service.js +52 -0
- package/lib/api/mcp-actor.service.js.map +1 -0
- package/lib/api/mcp-admin.resolver.d.ts +105 -0
- package/lib/api/mcp-admin.resolver.js +463 -0
- package/lib/api/mcp-admin.resolver.js.map +1 -0
- package/lib/api/mcp-shop.resolver.d.ts +25 -0
- package/lib/api/mcp-shop.resolver.js +74 -0
- package/lib/api/mcp-shop.resolver.js.map +1 -0
- package/lib/check-options.d.ts +7 -0
- package/lib/check-options.js +130 -0
- package/lib/check-options.js.map +1 -0
- package/lib/constants.d.ts +48 -0
- package/lib/constants.js +72 -0
- package/lib/constants.js.map +1 -0
- package/lib/delete-in-batches.d.ts +5 -0
- package/lib/delete-in-batches.js +28 -0
- package/lib/delete-in-batches.js.map +1 -0
- package/lib/entities/index.d.ts +5 -0
- package/lib/entities/index.js +22 -0
- package/lib/entities/index.js.map +1 -0
- package/lib/entities/mcp-authorization-code.entity.d.ts +33 -0
- package/lib/entities/mcp-authorization-code.entity.js +77 -0
- package/lib/entities/mcp-authorization-code.entity.js.map +1 -0
- package/lib/entities/mcp-authorization-request.entity.d.ts +31 -0
- package/lib/entities/mcp-authorization-request.entity.js +73 -0
- package/lib/entities/mcp-authorization-request.entity.js.map +1 -0
- package/lib/entities/mcp-oauth-client.entity.d.ts +56 -0
- package/lib/entities/mcp-oauth-client.entity.js +70 -0
- package/lib/entities/mcp-oauth-client.entity.js.map +1 -0
- package/lib/entities/mcp-oauth-grant.entity.d.ts +77 -0
- package/lib/entities/mcp-oauth-grant.entity.js +121 -0
- package/lib/entities/mcp-oauth-grant.entity.js.map +1 -0
- package/lib/entities/mcp-tool-call-log.entity.d.ts +50 -0
- package/lib/entities/mcp-tool-call-log.entity.js +101 -0
- package/lib/entities/mcp-tool-call-log.entity.js.map +1 -0
- package/lib/events/mcp-tool-call.event.d.ts +17 -0
- package/lib/events/mcp-tool-call.event.js +23 -0
- package/lib/events/mcp-tool-call.event.js.map +1 -0
- package/lib/get-client-ip.d.ts +2 -0
- package/lib/get-client-ip.js +10 -0
- package/lib/get-client-ip.js.map +1 -0
- package/lib/get-language-code.d.ts +3 -0
- package/lib/get-language-code.js +12 -0
- package/lib/get-language-code.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +26 -0
- package/lib/index.js.map +1 -0
- package/lib/internal-types.d.ts +27 -0
- package/lib/internal-types.js +3 -0
- package/lib/internal-types.js.map +1 -0
- package/lib/logging/mcp-tool-call-log-retention.service.d.ts +8 -0
- package/lib/logging/mcp-tool-call-log-retention.service.js +54 -0
- package/lib/logging/mcp-tool-call-log-retention.service.js.map +1 -0
- package/lib/logging/mcp-tool-call-log.service.d.ts +24 -0
- package/lib/logging/mcp-tool-call-log.service.js +128 -0
- package/lib/logging/mcp-tool-call-log.service.js.map +1 -0
- package/lib/oauth/cimd/cimd-client-resolver.service.d.ts +18 -0
- package/lib/oauth/cimd/cimd-client-resolver.service.js +109 -0
- package/lib/oauth/cimd/cimd-client-resolver.service.js.map +1 -0
- package/lib/oauth/cimd/cimd-document.d.ts +11 -0
- package/lib/oauth/cimd/cimd-document.js +66 -0
- package/lib/oauth/cimd/cimd-document.js.map +1 -0
- package/lib/oauth/cimd/cimd-fetch.d.ts +14 -0
- package/lib/oauth/cimd/cimd-fetch.js +192 -0
- package/lib/oauth/cimd/cimd-fetch.js.map +1 -0
- package/lib/oauth/cimd/cimd-url.d.ts +5 -0
- package/lib/oauth/cimd/cimd-url.js +94 -0
- package/lib/oauth/cimd/cimd-url.js.map +1 -0
- package/lib/oauth/grant-session.service.d.ts +19 -0
- package/lib/oauth/grant-session.service.js +141 -0
- package/lib/oauth/grant-session.service.js.map +1 -0
- package/lib/oauth/oauth-error.d.ts +18 -0
- package/lib/oauth/oauth-error.js +60 -0
- package/lib/oauth/oauth-error.js.map +1 -0
- package/lib/oauth/oauth-metadata.service.d.ts +34 -0
- package/lib/oauth/oauth-metadata.service.js +107 -0
- package/lib/oauth/oauth-metadata.service.js.map +1 -0
- package/lib/oauth/oauth-retention.service.d.ts +23 -0
- package/lib/oauth/oauth-retention.service.js +103 -0
- package/lib/oauth/oauth-retention.service.js.map +1 -0
- package/lib/oauth/oauth-types.d.ts +61 -0
- package/lib/oauth/oauth-types.js +32 -0
- package/lib/oauth/oauth-types.js.map +1 -0
- package/lib/oauth/oauth-utils.d.ts +20 -0
- package/lib/oauth/oauth-utils.js +111 -0
- package/lib/oauth/oauth-utils.js.map +1 -0
- package/lib/oauth/oauth.controller.d.ts +31 -0
- package/lib/oauth/oauth.controller.js +132 -0
- package/lib/oauth/oauth.controller.js.map +1 -0
- package/lib/oauth/oauth.service.d.ts +69 -0
- package/lib/oauth/oauth.service.js +650 -0
- package/lib/oauth/oauth.service.js.map +1 -0
- package/lib/oauth/token-hash.d.ts +6 -0
- package/lib/oauth/token-hash.js +21 -0
- package/lib/oauth/token-hash.js.map +1 -0
- package/lib/plugin.d.ts +54 -0
- package/lib/plugin.js +171 -0
- package/lib/plugin.js.map +1 -0
- package/lib/rate-limit/ip-bucket-key.d.ts +1 -0
- package/lib/rate-limit/ip-bucket-key.js +35 -0
- package/lib/rate-limit/ip-bucket-key.js.map +1 -0
- package/lib/rate-limit/mcp-oauth-rate-limit.guard.d.ts +20 -0
- package/lib/rate-limit/mcp-oauth-rate-limit.guard.js +63 -0
- package/lib/rate-limit/mcp-oauth-rate-limit.guard.js.map +1 -0
- package/lib/rate-limit/mcp-rate-limiter.service.d.ts +47 -0
- package/lib/rate-limit/mcp-rate-limiter.service.js +248 -0
- package/lib/rate-limit/mcp-rate-limiter.service.js.map +1 -0
- package/lib/registry/bm25.d.ts +12 -0
- package/lib/registry/bm25.js +60 -0
- package/lib/registry/bm25.js.map +1 -0
- package/lib/registry/mcp-tool-execution.service.d.ts +45 -0
- package/lib/registry/mcp-tool-execution.service.js +72 -0
- package/lib/registry/mcp-tool-execution.service.js.map +1 -0
- package/lib/registry/mcp-tool-registry.service.d.ts +89 -0
- package/lib/registry/mcp-tool-registry.service.js +668 -0
- package/lib/registry/mcp-tool-registry.service.js.map +1 -0
- package/lib/registry/mcp-tool-schema.service.d.ts +42 -0
- package/lib/registry/mcp-tool-schema.service.js +229 -0
- package/lib/registry/mcp-tool-schema.service.js.map +1 -0
- package/lib/registry/registry-types.d.ts +32 -0
- package/lib/registry/registry-types.js +3 -0
- package/lib/registry/registry-types.js.map +1 -0
- package/lib/resolve-options.d.ts +7 -0
- package/lib/resolve-options.js +85 -0
- package/lib/resolve-options.js.map +1 -0
- package/lib/shared/endpoint-paths.d.ts +8 -0
- package/lib/shared/endpoint-paths.js +12 -0
- package/lib/shared/endpoint-paths.js.map +1 -0
- package/lib/shared/loopback.d.ts +2 -0
- package/lib/shared/loopback.js +9 -0
- package/lib/shared/loopback.js.map +1 -0
- package/lib/shop-session/mcp-shop-session.service.d.ts +47 -0
- package/lib/shop-session/mcp-shop-session.service.js +132 -0
- package/lib/shop-session/mcp-shop-session.service.js.map +1 -0
- package/lib/tasks/mcp-oauth-retention.task.d.ts +9 -0
- package/lib/tasks/mcp-oauth-retention.task.js +21 -0
- package/lib/tasks/mcp-oauth-retention.task.js.map +1 -0
- package/lib/tasks/mcp-tool-call-log-retention.task.d.ts +7 -0
- package/lib/tasks/mcp-tool-call-log-retention.task.js +22 -0
- package/lib/tasks/mcp-tool-call-log-retention.task.js.map +1 -0
- package/lib/tools/built-in/active-order.service.d.ts +26 -0
- package/lib/tools/built-in/active-order.service.js +125 -0
- package/lib/tools/built-in/active-order.service.js.map +1 -0
- package/lib/tools/built-in/admin/add-customer-to-group.tool.d.ts +23 -0
- package/lib/tools/built-in/admin/add-customer-to-group.tool.js +68 -0
- package/lib/tools/built-in/admin/add-customer-to-group.tool.js.map +1 -0
- package/lib/tools/built-in/admin/add-note-to-order.tool.d.ts +104 -0
- package/lib/tools/built-in/admin/add-note-to-order.tool.js +66 -0
- package/lib/tools/built-in/admin/add-note-to-order.tool.js.map +1 -0
- package/lib/tools/built-in/admin/adjust-stock.tool.d.ts +26 -0
- package/lib/tools/built-in/admin/adjust-stock.tool.js +88 -0
- package/lib/tools/built-in/admin/adjust-stock.tool.js.map +1 -0
- package/lib/tools/built-in/admin/cancel-order.tool.d.ts +17 -0
- package/lib/tools/built-in/admin/cancel-order.tool.js +60 -0
- package/lib/tools/built-in/admin/cancel-order.tool.js.map +1 -0
- package/lib/tools/built-in/admin/channel-access.d.ts +2 -0
- package/lib/tools/built-in/admin/channel-access.js +9 -0
- package/lib/tools/built-in/admin/channel-access.js.map +1 -0
- package/lib/tools/built-in/admin/create-customer.tool.d.ts +41 -0
- package/lib/tools/built-in/admin/create-customer.tool.js +57 -0
- package/lib/tools/built-in/admin/create-customer.tool.js.map +1 -0
- package/lib/tools/built-in/admin/create-fulfillment.tool.d.ts +118 -0
- package/lib/tools/built-in/admin/create-fulfillment.tool.js +156 -0
- package/lib/tools/built-in/admin/create-fulfillment.tool.js.map +1 -0
- package/lib/tools/built-in/admin/create-product.tool.d.ts +52 -0
- package/lib/tools/built-in/admin/create-product.tool.js +61 -0
- package/lib/tools/built-in/admin/create-product.tool.js.map +1 -0
- package/lib/tools/built-in/admin/create-variant.tool.d.ts +48 -0
- package/lib/tools/built-in/admin/create-variant.tool.js +79 -0
- package/lib/tools/built-in/admin/create-variant.tool.js.map +1 -0
- package/lib/tools/built-in/admin/entity-field-schemas.d.ts +36 -0
- package/lib/tools/built-in/admin/entity-field-schemas.js +63 -0
- package/lib/tools/built-in/admin/entity-field-schemas.js.map +1 -0
- package/lib/tools/built-in/admin/get-customer.tool.d.ts +28 -0
- package/lib/tools/built-in/admin/get-customer.tool.js +55 -0
- package/lib/tools/built-in/admin/get-customer.tool.js.map +1 -0
- package/lib/tools/built-in/admin/get-order.tool.d.ts +100 -0
- package/lib/tools/built-in/admin/get-order.tool.js +68 -0
- package/lib/tools/built-in/admin/get-order.tool.js.map +1 -0
- package/lib/tools/built-in/admin/get-product.tool.d.ts +69 -0
- package/lib/tools/built-in/admin/get-product.tool.js +77 -0
- package/lib/tools/built-in/admin/get-product.tool.js.map +1 -0
- package/lib/tools/built-in/admin/get-stock-levels.tool.d.ts +23 -0
- package/lib/tools/built-in/admin/get-stock-levels.tool.js +61 -0
- package/lib/tools/built-in/admin/get-stock-levels.tool.js.map +1 -0
- package/lib/tools/built-in/admin/index.d.ts +25 -0
- package/lib/tools/built-in/admin/index.js +54 -0
- package/lib/tools/built-in/admin/index.js.map +1 -0
- package/lib/tools/built-in/admin/list-channels.tool.d.ts +24 -0
- package/lib/tools/built-in/admin/list-channels.tool.js +56 -0
- package/lib/tools/built-in/admin/list-channels.tool.js.map +1 -0
- package/lib/tools/built-in/admin/list-customer-groups.tool.d.ts +23 -0
- package/lib/tools/built-in/admin/list-customer-groups.tool.js +52 -0
- package/lib/tools/built-in/admin/list-customer-groups.tool.js.map +1 -0
- package/lib/tools/built-in/admin/list-customers.tool.d.ts +62 -0
- package/lib/tools/built-in/admin/list-customers.tool.js +66 -0
- package/lib/tools/built-in/admin/list-customers.tool.js.map +1 -0
- package/lib/tools/built-in/admin/list-orders.tool.d.ts +142 -0
- package/lib/tools/built-in/admin/list-orders.tool.js +87 -0
- package/lib/tools/built-in/admin/list-orders.tool.js.map +1 -0
- package/lib/tools/built-in/admin/list-products.tool.d.ts +63 -0
- package/lib/tools/built-in/admin/list-products.tool.js +71 -0
- package/lib/tools/built-in/admin/list-products.tool.js.map +1 -0
- package/lib/tools/built-in/admin/refund-order.tool.d.ts +38 -0
- package/lib/tools/built-in/admin/refund-order.tool.js +115 -0
- package/lib/tools/built-in/admin/refund-order.tool.js.map +1 -0
- package/lib/tools/built-in/admin/set-active-channel.tool.d.ts +22 -0
- package/lib/tools/built-in/admin/set-active-channel.tool.js +84 -0
- package/lib/tools/built-in/admin/set-active-channel.tool.js.map +1 -0
- package/lib/tools/built-in/admin/translation-schemas.d.ts +12 -0
- package/lib/tools/built-in/admin/translation-schemas.js +17 -0
- package/lib/tools/built-in/admin/translation-schemas.js.map +1 -0
- package/lib/tools/built-in/admin/update-customer.tool.d.ts +42 -0
- package/lib/tools/built-in/admin/update-customer.tool.js +59 -0
- package/lib/tools/built-in/admin/update-customer.tool.js.map +1 -0
- package/lib/tools/built-in/admin/update-order-state.tool.d.ts +16 -0
- package/lib/tools/built-in/admin/update-order-state.tool.js +58 -0
- package/lib/tools/built-in/admin/update-order-state.tool.js.map +1 -0
- package/lib/tools/built-in/admin/update-product.tool.d.ts +53 -0
- package/lib/tools/built-in/admin/update-product.tool.js +68 -0
- package/lib/tools/built-in/admin/update-product.tool.js.map +1 -0
- package/lib/tools/built-in/admin/update-variant.tool.d.ts +46 -0
- package/lib/tools/built-in/admin/update-variant.tool.js +77 -0
- package/lib/tools/built-in/admin/update-variant.tool.js.map +1 -0
- package/lib/tools/built-in/admin/upload-asset.tool.d.ts +32 -0
- package/lib/tools/built-in/admin/upload-asset.tool.js +56 -0
- package/lib/tools/built-in/admin/upload-asset.tool.js.map +1 -0
- package/lib/tools/built-in/catalog-query.service.d.ts +21 -0
- package/lib/tools/built-in/catalog-query.service.js +128 -0
- package/lib/tools/built-in/catalog-query.service.js.map +1 -0
- package/lib/tools/built-in/custom-field-input.service.d.ts +10 -0
- package/lib/tools/built-in/custom-field-input.service.js +64 -0
- package/lib/tools/built-in/custom-field-input.service.js.map +1 -0
- package/lib/tools/built-in/email-schema.d.ts +2 -0
- package/lib/tools/built-in/email-schema.js +12 -0
- package/lib/tools/built-in/email-schema.js.map +1 -0
- package/lib/tools/built-in/id-schema.d.ts +3 -0
- package/lib/tools/built-in/id-schema.js +11 -0
- package/lib/tools/built-in/id-schema.js.map +1 -0
- package/lib/tools/built-in/int32-schema.d.ts +4 -0
- package/lib/tools/built-in/int32-schema.js +8 -0
- package/lib/tools/built-in/int32-schema.js.map +1 -0
- package/lib/tools/built-in/list-helpers.d.ts +48 -0
- package/lib/tools/built-in/list-helpers.js +76 -0
- package/lib/tools/built-in/list-helpers.js.map +1 -0
- package/lib/tools/built-in/order-list-helpers.d.ts +20 -0
- package/lib/tools/built-in/order-list-helpers.js +48 -0
- package/lib/tools/built-in/order-list-helpers.js.map +1 -0
- package/lib/tools/built-in/providers.d.ts +2 -0
- package/lib/tools/built-in/providers.js +7 -0
- package/lib/tools/built-in/providers.js.map +1 -0
- package/lib/tools/built-in/remote-asset.d.ts +4 -0
- package/lib/tools/built-in/remote-asset.js +54 -0
- package/lib/tools/built-in/remote-asset.js.map +1 -0
- package/lib/tools/built-in/serializer.service.d.ts +327 -0
- package/lib/tools/built-in/serializer.service.js +413 -0
- package/lib/tools/built-in/serializer.service.js.map +1 -0
- package/lib/tools/built-in/shop/add-to-cart.tool.d.ts +21 -0
- package/lib/tools/built-in/shop/add-to-cart.tool.js +100 -0
- package/lib/tools/built-in/shop/add-to-cart.tool.js.map +1 -0
- package/lib/tools/built-in/shop/address-schema.d.ts +15 -0
- package/lib/tools/built-in/shop/address-schema.js +20 -0
- package/lib/tools/built-in/shop/address-schema.js.map +1 -0
- package/lib/tools/built-in/shop/apply-coupon-code.tool.d.ts +17 -0
- package/lib/tools/built-in/shop/apply-coupon-code.tool.js +62 -0
- package/lib/tools/built-in/shop/apply-coupon-code.tool.js.map +1 -0
- package/lib/tools/built-in/shop/collection-lookup.d.ts +15 -0
- package/lib/tools/built-in/shop/collection-lookup.js +35 -0
- package/lib/tools/built-in/shop/collection-lookup.js.map +1 -0
- package/lib/tools/built-in/shop/get-cart.tool.d.ts +94 -0
- package/lib/tools/built-in/shop/get-cart.tool.js +55 -0
- package/lib/tools/built-in/shop/get-cart.tool.js.map +1 -0
- package/lib/tools/built-in/shop/get-collection.tool.d.ts +42 -0
- package/lib/tools/built-in/shop/get-collection.tool.js +64 -0
- package/lib/tools/built-in/shop/get-collection.tool.js.map +1 -0
- package/lib/tools/built-in/shop/get-eligible-payment-methods.tool.d.ts +26 -0
- package/lib/tools/built-in/shop/get-eligible-payment-methods.tool.js +58 -0
- package/lib/tools/built-in/shop/get-eligible-payment-methods.tool.js.map +1 -0
- package/lib/tools/built-in/shop/get-eligible-shipping-methods.tool.d.ts +30 -0
- package/lib/tools/built-in/shop/get-eligible-shipping-methods.tool.js +59 -0
- package/lib/tools/built-in/shop/get-eligible-shipping-methods.tool.js.map +1 -0
- package/lib/tools/built-in/shop/get-my-account.tool.d.ts +22 -0
- package/lib/tools/built-in/shop/get-my-account.tool.js +57 -0
- package/lib/tools/built-in/shop/get-my-account.tool.js.map +1 -0
- package/lib/tools/built-in/shop/get-order.tool.d.ts +100 -0
- package/lib/tools/built-in/shop/get-order.tool.js +67 -0
- package/lib/tools/built-in/shop/get-order.tool.js.map +1 -0
- package/lib/tools/built-in/shop/get-product.tool.d.ts +57 -0
- package/lib/tools/built-in/shop/get-product.tool.js +81 -0
- package/lib/tools/built-in/shop/get-product.tool.js.map +1 -0
- package/lib/tools/built-in/shop/index.d.ts +19 -0
- package/lib/tools/built-in/shop/index.js +42 -0
- package/lib/tools/built-in/shop/index.js.map +1 -0
- package/lib/tools/built-in/shop/list-collections.tool.d.ts +42 -0
- package/lib/tools/built-in/shop/list-collections.tool.js +75 -0
- package/lib/tools/built-in/shop/list-collections.tool.js.map +1 -0
- package/lib/tools/built-in/shop/list-my-orders.tool.d.ts +100 -0
- package/lib/tools/built-in/shop/list-my-orders.tool.js +63 -0
- package/lib/tools/built-in/shop/list-my-orders.tool.js.map +1 -0
- package/lib/tools/built-in/shop/place-order.tool.d.ts +188 -0
- package/lib/tools/built-in/shop/place-order.tool.js +152 -0
- package/lib/tools/built-in/shop/place-order.tool.js.map +1 -0
- package/lib/tools/built-in/shop/product-search-query.d.ts +4 -0
- package/lib/tools/built-in/shop/product-search-query.js +34 -0
- package/lib/tools/built-in/shop/product-search-query.js.map +1 -0
- package/lib/tools/built-in/shop/remove-coupon-code.tool.d.ts +17 -0
- package/lib/tools/built-in/shop/remove-coupon-code.tool.js +63 -0
- package/lib/tools/built-in/shop/remove-coupon-code.tool.js.map +1 -0
- package/lib/tools/built-in/shop/remove-from-cart.tool.d.ts +17 -0
- package/lib/tools/built-in/shop/remove-from-cart.tool.js +58 -0
- package/lib/tools/built-in/shop/remove-from-cart.tool.js.map +1 -0
- package/lib/tools/built-in/shop/search-products.tool.d.ts +48 -0
- package/lib/tools/built-in/shop/search-products.tool.js +95 -0
- package/lib/tools/built-in/shop/search-products.tool.js.map +1 -0
- package/lib/tools/built-in/shop/set-checkout-details.tool.d.ts +56 -0
- package/lib/tools/built-in/shop/set-checkout-details.tool.js +187 -0
- package/lib/tools/built-in/shop/set-checkout-details.tool.js.map +1 -0
- package/lib/tools/built-in/shop/set-shipping-method.tool.d.ts +17 -0
- package/lib/tools/built-in/shop/set-shipping-method.tool.js +58 -0
- package/lib/tools/built-in/shop/set-shipping-method.tool.js.map +1 -0
- package/lib/tools/built-in/shop/update-cart-line.tool.d.ts +18 -0
- package/lib/tools/built-in/shop/update-cart-line.tool.js +60 -0
- package/lib/tools/built-in/shop/update-cart-line.tool.js.map +1 -0
- package/lib/tools/built-in/string-schemas.d.ts +4 -0
- package/lib/tools/built-in/string-schemas.js +13 -0
- package/lib/tools/built-in/string-schemas.js.map +1 -0
- package/lib/transport/mcp-server.factory.d.ts +13 -0
- package/lib/transport/mcp-server.factory.js +32 -0
- package/lib/transport/mcp-server.factory.js.map +1 -0
- package/lib/transport/mcp-transport.controller.d.ts +77 -0
- package/lib/transport/mcp-transport.controller.js +442 -0
- package/lib/transport/mcp-transport.controller.js.map +1 -0
- package/lib/types.d.ts +432 -0
- package/lib/types.js +3 -0
- package/lib/types.js.map +1 -0
- package/package.json +42 -0
- package/src/dashboard/components/activity-block.tsx +72 -0
- package/src/dashboard/components/actor-cell.tsx +31 -0
- package/src/dashboard/components/connection-dialog.tsx +106 -0
- package/src/dashboard/components/empty-cell.tsx +7 -0
- package/src/dashboard/components/grants-block.tsx +218 -0
- package/src/dashboard/components/stats-block.tsx +275 -0
- package/src/dashboard/components/tools-block.tsx +274 -0
- package/src/dashboard/components/tooltip-button.tsx +28 -0
- package/src/dashboard/components/use-mcp-table-state.ts +47 -0
- package/src/dashboard/i18n/ar.po +311 -0
- package/src/dashboard/i18n/bg.po +311 -0
- package/src/dashboard/i18n/cs.po +311 -0
- package/src/dashboard/i18n/de.po +311 -0
- package/src/dashboard/i18n/en.po +311 -0
- package/src/dashboard/i18n/es.po +311 -0
- package/src/dashboard/i18n/fa.po +311 -0
- package/src/dashboard/i18n/fr.po +311 -0
- package/src/dashboard/i18n/he.po +311 -0
- package/src/dashboard/i18n/hr.po +311 -0
- package/src/dashboard/i18n/hu.po +311 -0
- package/src/dashboard/i18n/it.po +311 -0
- package/src/dashboard/i18n/ja.po +311 -0
- package/src/dashboard/i18n/ko.po +311 -0
- package/src/dashboard/i18n/nb.po +311 -0
- package/src/dashboard/i18n/ne.po +311 -0
- package/src/dashboard/i18n/nl.po +311 -0
- package/src/dashboard/i18n/pl.po +311 -0
- package/src/dashboard/i18n/pt_BR.po +311 -0
- package/src/dashboard/i18n/pt_PT.po +311 -0
- package/src/dashboard/i18n/ro.po +311 -0
- package/src/dashboard/i18n/ru.po +311 -0
- package/src/dashboard/i18n/sv.po +311 -0
- package/src/dashboard/i18n/tr.po +311 -0
- package/src/dashboard/i18n/uk.po +311 -0
- package/src/dashboard/i18n/uz.po +311 -0
- package/src/dashboard/i18n/zh_Hans.po +311 -0
- package/src/dashboard/i18n/zh_Hant.po +311 -0
- package/src/dashboard/index.tsx +30 -0
- package/src/dashboard/mcp-activity-route.tsx +38 -0
- package/src/dashboard/mcp-authorize-route.tsx +369 -0
- package/src/dashboard/mcp-grants-route.tsx +38 -0
- package/src/dashboard/mcp-overview-route.tsx +46 -0
- package/src/dashboard/mcp-server-redirect-route.tsx +15 -0
- package/src/dashboard/mcp-tools-route.tsx +38 -0
- package/src/dashboard/mcp.graphql.ts +127 -0
- package/src/dashboard/published-files.spec.ts +54 -0
- package/src/dashboard/tsconfig.json +9 -0
- package/src/shared/endpoint-paths.ts +8 -0
- package/src/shared/loopback.ts +6 -0
|
@@ -0,0 +1,132 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.McpOauthController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const zod_1 = require("zod");
|
|
18
|
+
const mcp_oauth_rate_limit_guard_1 = require("../rate-limit/mcp-oauth-rate-limit.guard");
|
|
19
|
+
const endpoint_paths_1 = require("../shared/endpoint-paths");
|
|
20
|
+
const oauth_error_1 = require("./oauth-error");
|
|
21
|
+
const oauth_metadata_service_1 = require("./oauth-metadata.service");
|
|
22
|
+
const oauth_types_1 = require("./oauth-types");
|
|
23
|
+
const oauth_service_1 = require("./oauth.service");
|
|
24
|
+
let McpOauthController = class McpOauthController {
|
|
25
|
+
constructor(oauthService, oauthMetadata) {
|
|
26
|
+
this.oauthService = oauthService;
|
|
27
|
+
this.oauthMetadata = oauthMetadata;
|
|
28
|
+
}
|
|
29
|
+
metadata() {
|
|
30
|
+
return this.oauthMetadata.metadata();
|
|
31
|
+
}
|
|
32
|
+
protectedResourceMetadata(toolsetParam) {
|
|
33
|
+
return this.oauthMetadata.protectedResourceMetadata(toolsetParam);
|
|
34
|
+
}
|
|
35
|
+
// Every route below either carries or accepts a credential, so none of them may be cached
|
|
36
|
+
// (RFC 6749 section 5.1). The two metadata documents above are public and stay cacheable.
|
|
37
|
+
register(body) {
|
|
38
|
+
const input = (0, oauth_error_1.parseOAuthInput)(oauth_types_1.registerClientInputSchema, body, 'invalid_client_metadata');
|
|
39
|
+
return this.oauthService.registerClient(input);
|
|
40
|
+
}
|
|
41
|
+
async authorize(query, res) {
|
|
42
|
+
const input = (0, oauth_error_1.parseOAuthInput)(oauth_types_1.authorizeInputSchema, query, 'invalid_request');
|
|
43
|
+
const redirectUrl = await this.oauthService.createAuthorizationRedirect(input);
|
|
44
|
+
res.redirect(redirectUrl);
|
|
45
|
+
}
|
|
46
|
+
authorizationRequest(requestToken) {
|
|
47
|
+
const token = (0, oauth_error_1.parseOAuthInput)(zod_1.z.string().optional(), requestToken, 'invalid_request');
|
|
48
|
+
return this.oauthService.getAuthorizationRequestInfo(token);
|
|
49
|
+
}
|
|
50
|
+
// RFC 6749 §5.1 requires the token endpoint to respond with 200; override the NestJS
|
|
51
|
+
// @Post default of 201.
|
|
52
|
+
token(body) {
|
|
53
|
+
const input = (0, oauth_error_1.parseOAuthInput)(oauth_types_1.tokenInputSchema, body, 'invalid_request');
|
|
54
|
+
return this.oauthService.exchangeToken(input);
|
|
55
|
+
}
|
|
56
|
+
revoke(body) {
|
|
57
|
+
// RFC 7009 §2.2 leaves revocation no way to report a bad token, so a token that is not
|
|
58
|
+
// a string is treated as no token at all and the route still answers 200.
|
|
59
|
+
const token = body === null || body === void 0 ? void 0 : body.token;
|
|
60
|
+
return this.oauthService.revoke(typeof token === 'string' ? token : undefined);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
exports.McpOauthController = McpOauthController;
|
|
64
|
+
__decorate([
|
|
65
|
+
(0, common_1.Get)('.well-known/oauth-authorization-server'),
|
|
66
|
+
__metadata("design:type", Function),
|
|
67
|
+
__metadata("design:paramtypes", []),
|
|
68
|
+
__metadata("design:returntype", void 0)
|
|
69
|
+
], McpOauthController.prototype, "metadata", null);
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, common_1.Get)('.well-known/oauth-protected-resource/mcp/:toolset'),
|
|
72
|
+
__param(0, (0, common_1.Param)('toolset')),
|
|
73
|
+
__metadata("design:type", Function),
|
|
74
|
+
__metadata("design:paramtypes", [String]),
|
|
75
|
+
__metadata("design:returntype", void 0)
|
|
76
|
+
], McpOauthController.prototype, "protectedResourceMetadata", null);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, common_1.Post)(endpoint_paths_1.OAUTH_ENDPOINT_PATHS.register),
|
|
79
|
+
(0, common_1.Header)('Cache-Control', 'no-store'),
|
|
80
|
+
(0, common_1.Header)('Pragma', 'no-cache'),
|
|
81
|
+
__param(0, (0, common_1.Body)()),
|
|
82
|
+
__metadata("design:type", Function),
|
|
83
|
+
__metadata("design:paramtypes", [Object]),
|
|
84
|
+
__metadata("design:returntype", void 0)
|
|
85
|
+
], McpOauthController.prototype, "register", null);
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, common_1.Get)(endpoint_paths_1.OAUTH_ENDPOINT_PATHS.authorize),
|
|
88
|
+
(0, common_1.Header)('Cache-Control', 'no-store'),
|
|
89
|
+
(0, common_1.Header)('Pragma', 'no-cache'),
|
|
90
|
+
__param(0, (0, common_1.Query)()),
|
|
91
|
+
__param(1, (0, common_1.Res)()),
|
|
92
|
+
__metadata("design:type", Function),
|
|
93
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
94
|
+
__metadata("design:returntype", Promise)
|
|
95
|
+
], McpOauthController.prototype, "authorize", null);
|
|
96
|
+
__decorate([
|
|
97
|
+
(0, common_1.Get)(endpoint_paths_1.OAUTH_ENDPOINT_PATHS.authorizationRequest),
|
|
98
|
+
(0, common_1.Header)('Cache-Control', 'no-store'),
|
|
99
|
+
(0, common_1.Header)('Pragma', 'no-cache'),
|
|
100
|
+
__param(0, (0, common_1.Query)('request_token')),
|
|
101
|
+
__metadata("design:type", Function),
|
|
102
|
+
__metadata("design:paramtypes", [Object]),
|
|
103
|
+
__metadata("design:returntype", void 0)
|
|
104
|
+
], McpOauthController.prototype, "authorizationRequest", null);
|
|
105
|
+
__decorate([
|
|
106
|
+
(0, common_1.Post)(endpoint_paths_1.OAUTH_ENDPOINT_PATHS.token),
|
|
107
|
+
(0, common_1.HttpCode)(200),
|
|
108
|
+
(0, common_1.Header)('Cache-Control', 'no-store'),
|
|
109
|
+
(0, common_1.Header)('Pragma', 'no-cache'),
|
|
110
|
+
__param(0, (0, common_1.Body)()),
|
|
111
|
+
__metadata("design:type", Function),
|
|
112
|
+
__metadata("design:paramtypes", [Object]),
|
|
113
|
+
__metadata("design:returntype", void 0)
|
|
114
|
+
], McpOauthController.prototype, "token", null);
|
|
115
|
+
__decorate([
|
|
116
|
+
(0, common_1.Post)(endpoint_paths_1.OAUTH_ENDPOINT_PATHS.revoke),
|
|
117
|
+
(0, common_1.HttpCode)(200),
|
|
118
|
+
(0, common_1.Header)('Cache-Control', 'no-store'),
|
|
119
|
+
(0, common_1.Header)('Pragma', 'no-cache'),
|
|
120
|
+
__param(0, (0, common_1.Body)()),
|
|
121
|
+
__metadata("design:type", Function),
|
|
122
|
+
__metadata("design:paramtypes", [Object]),
|
|
123
|
+
__metadata("design:returntype", void 0)
|
|
124
|
+
], McpOauthController.prototype, "revoke", null);
|
|
125
|
+
exports.McpOauthController = McpOauthController = __decorate([
|
|
126
|
+
(0, common_1.UseGuards)(mcp_oauth_rate_limit_guard_1.McpOauthRateLimitGuard),
|
|
127
|
+
(0, common_1.UseFilters)(new mcp_oauth_rate_limit_guard_1.McpOauthRateLimitExceptionFilter(), new oauth_error_1.McpOauthExceptionFilter()),
|
|
128
|
+
(0, common_1.Controller)(),
|
|
129
|
+
__metadata("design:paramtypes", [oauth_service_1.McpOauthService,
|
|
130
|
+
oauth_metadata_service_1.McpOauthMetadataService])
|
|
131
|
+
], McpOauthController);
|
|
132
|
+
//# sourceMappingURL=oauth.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.controller.js","sourceRoot":"","sources":["../../src/oauth/oauth.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ChannelService, I18nRequest, ID, RequestContext, RequestContextService, SessionService, TransactionalConnection, UserService } from '@vendure/core';
|
|
2
|
+
import { McpToolset } from '@vendure/mcp-sdk';
|
|
3
|
+
import { McpOauthGrant } from '../entities/mcp-oauth-grant.entity';
|
|
4
|
+
import { McpAuthenticatedContext, ResolvedMcpPluginOptions } from '../internal-types';
|
|
5
|
+
import { McpCimdClientResolverService } from './cimd/cimd-client-resolver.service';
|
|
6
|
+
import { McpGrantSessionService } from './grant-session.service';
|
|
7
|
+
import { McpOauthMetadataService } from './oauth-metadata.service';
|
|
8
|
+
import { AuthorizationRequestInfo, AuthorizeInput, OAuthTokenResponse, RegisterClientInput, RegisteredClientResponse, TokenInput } from './oauth-types';
|
|
9
|
+
/** Each MCP grant is backed by its own Vendure session, kept isolated so the underlying session token is never exposed to a client. */
|
|
10
|
+
export declare class McpOauthService {
|
|
11
|
+
private readonly connection;
|
|
12
|
+
private readonly requestContextService;
|
|
13
|
+
private readonly sessionService;
|
|
14
|
+
private readonly channelService;
|
|
15
|
+
private readonly userService;
|
|
16
|
+
private readonly options;
|
|
17
|
+
private readonly cimdClientResolver;
|
|
18
|
+
private readonly grantSessions;
|
|
19
|
+
private readonly oauthMetadata;
|
|
20
|
+
private cachedHashKey;
|
|
21
|
+
constructor(connection: TransactionalConnection, requestContextService: RequestContextService, sessionService: SessionService, channelService: ChannelService, userService: UserService, options: ResolvedMcpPluginOptions, cimdClientResolver: McpCimdClientResolverService, grantSessions: McpGrantSessionService, oauthMetadata: McpOauthMetadataService);
|
|
22
|
+
registerClient(input: RegisterClientInput): Promise<RegisteredClientResponse>;
|
|
23
|
+
createAuthorizationRedirect(input: AuthorizeInput): Promise<string>;
|
|
24
|
+
getAuthorizationRequestInfo(requestToken: string | undefined): Promise<AuthorizationRequestInfo>;
|
|
25
|
+
approveAdminRequest(ctx: RequestContext, requestToken: string, approved: boolean): Promise<{
|
|
26
|
+
redirectUrl: string;
|
|
27
|
+
}>;
|
|
28
|
+
/** Called from the Shop API, so `ctx` already identifies the customer and channel. */
|
|
29
|
+
approveCustomerRequest(ctx: RequestContext, requestToken: string, approved: boolean): Promise<{
|
|
30
|
+
redirectUrl: string;
|
|
31
|
+
}>;
|
|
32
|
+
private assertNotAnAdministrator;
|
|
33
|
+
exchangeToken(input: TokenInput): Promise<OAuthTokenResponse>;
|
|
34
|
+
revoke(token: string | undefined): Promise<Record<string, never>>;
|
|
35
|
+
revokeGrantById(ctx: RequestContext, grantId: ID): Promise<boolean>;
|
|
36
|
+
/** No channel filter: consent belongs to the person, not the storefront it was given on, so a customer sees every grant regardless of channel. */
|
|
37
|
+
listCustomerGrants(ctx: RequestContext): Promise<McpOauthGrant[]>;
|
|
38
|
+
/** Uses the same error for an unknown grant and one owned by someone else, so a caller can't tell the two apart. */
|
|
39
|
+
revokeCustomerGrant(ctx: RequestContext, grantId: ID): Promise<boolean>;
|
|
40
|
+
authenticateBearerToken(token: string, apiType: McpToolset, req?: I18nRequest): Promise<McpAuthenticatedContext>;
|
|
41
|
+
private usableGrant;
|
|
42
|
+
/** Runs in the background so the request doesn't wait on it; mirrors how core updates `ApiKey.lastUsedAt`. */
|
|
43
|
+
private touchGrantActivity;
|
|
44
|
+
/** Raw-selects the session token via LEFT JOIN rather than a relation, so a missing session doesn't hide an otherwise-live grant. */
|
|
45
|
+
private findGrantAndSessionToken;
|
|
46
|
+
/** Checks the toolset matches, so a code requested for one API can't be used to spoof a token for the other. */
|
|
47
|
+
private consumeAuthorizationRequest;
|
|
48
|
+
private denyAuthorizationRequest;
|
|
49
|
+
/** Runs both writes in one transaction so a failure midway can't leave the client with a broken redirect. */
|
|
50
|
+
private approveAuthorizationRequest;
|
|
51
|
+
private exchangeAuthorizationCode;
|
|
52
|
+
private exchangeRefreshToken;
|
|
53
|
+
private issueTokenPair;
|
|
54
|
+
private tokenResponse;
|
|
55
|
+
private findClient;
|
|
56
|
+
private findActiveAuthorizationRequest;
|
|
57
|
+
private createAdminCtx;
|
|
58
|
+
/** Expects the Vendure server's own origin, since Vendure serves the admin consent page itself. */
|
|
59
|
+
private assertConsentRequestOrigin;
|
|
60
|
+
/** Expects the merchant's storefront consent page origin; a server-rendered page with no `Origin` header is allowed through. */
|
|
61
|
+
private assertStorefrontConsentOrigin;
|
|
62
|
+
/** Blocks a cross-site request from riding a signed-in user's session, by requiring the `Origin` header to match when the browser sends one. */
|
|
63
|
+
private assertOriginMatches;
|
|
64
|
+
/** See {@link resolvedOauthOptions}. */
|
|
65
|
+
private resolvedOauth;
|
|
66
|
+
/** Derived once and cached, since re-deriving the key for every hash would be expensive. */
|
|
67
|
+
private getHashKey;
|
|
68
|
+
private hashLookup;
|
|
69
|
+
}
|