@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 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tool-registry.service.js","sourceRoot":"","sources":["../../src/registry/mcp-tool-registry.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { StandardSchemaWithJSON } from '@modelcontextprotocol/server';
|
|
2
|
+
import { McpJsonSchema, McpToolSchema } from '@vendure/mcp-sdk';
|
|
3
|
+
interface McpToolInjectedFields {
|
|
4
|
+
confirm: boolean;
|
|
5
|
+
sessionToken: boolean;
|
|
6
|
+
}
|
|
7
|
+
interface PreparedMcpToolSchemas {
|
|
8
|
+
wireJsonSchema: McpJsonSchema;
|
|
9
|
+
compiledInputSchema: StandardSchemaWithJSON;
|
|
10
|
+
compiledOutputSchema?: StandardSchemaWithJSON;
|
|
11
|
+
}
|
|
12
|
+
/** Prepares and validates tool schemas once, when the registry starts. */
|
|
13
|
+
export declare class McpToolSchemaService {
|
|
14
|
+
prepareToolSchemas(options: {
|
|
15
|
+
toolName: string;
|
|
16
|
+
pluginSource: string;
|
|
17
|
+
inputSchema?: McpToolSchema;
|
|
18
|
+
outputSchema?: McpToolSchema;
|
|
19
|
+
injectedFields: McpToolInjectedFields;
|
|
20
|
+
}): PreparedMcpToolSchemas;
|
|
21
|
+
compileJsonSchema(schema: McpJsonSchema, label: string): StandardSchemaWithJSON;
|
|
22
|
+
validate(compiled: StandardSchemaWithJSON, value: unknown): Promise<{
|
|
23
|
+
ok: true;
|
|
24
|
+
value: unknown;
|
|
25
|
+
} | {
|
|
26
|
+
ok: false;
|
|
27
|
+
message: string;
|
|
28
|
+
}>;
|
|
29
|
+
/** Adds registry-owned fields to a clone, leaving the author's schema unchanged. */
|
|
30
|
+
private addInjectedFields;
|
|
31
|
+
private formatIssue;
|
|
32
|
+
private isMcpJsonSchema;
|
|
33
|
+
private standardProps;
|
|
34
|
+
private isStandardSchema;
|
|
35
|
+
private deriveJsonSchema;
|
|
36
|
+
private toRegisteredStandardSchema;
|
|
37
|
+
/** Validates author input separately from the fields the registry adds. */
|
|
38
|
+
private validateAroundInjectedFields;
|
|
39
|
+
private assertNotDeclared;
|
|
40
|
+
private resolveAuthorSchema;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,229 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.McpToolSchemaService = void 0;
|
|
10
|
+
const server_1 = require("@modelcontextprotocol/server");
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const NO_ARGS_SCHEMA = { type: 'object', properties: {}, additionalProperties: false };
|
|
13
|
+
/** Prepares and validates tool schemas once, when the registry starts. */
|
|
14
|
+
let McpToolSchemaService = class McpToolSchemaService {
|
|
15
|
+
prepareToolSchemas(options) {
|
|
16
|
+
var _a;
|
|
17
|
+
const { toolName, pluginSource, injectedFields } = options;
|
|
18
|
+
const toolLabel = `MCP tool "${toolName}" (${pluginSource})`;
|
|
19
|
+
const inputLabel = `${toolLabel} inputSchema`;
|
|
20
|
+
const outputLabel = `${toolLabel} outputSchema`;
|
|
21
|
+
const resolvedInput = this.resolveAuthorSchema(options.inputSchema, inputLabel, 'input');
|
|
22
|
+
const resolvedOutput = this.resolveAuthorSchema(options.outputSchema, outputLabel, 'output');
|
|
23
|
+
const jsonInputSchema = (_a = resolvedInput === null || resolvedInput === void 0 ? void 0 : resolvedInput.json) !== null && _a !== void 0 ? _a : NO_ARGS_SCHEMA;
|
|
24
|
+
if (injectedFields.confirm) {
|
|
25
|
+
this.assertNotDeclared({
|
|
26
|
+
toolLabel,
|
|
27
|
+
schema: jsonInputSchema,
|
|
28
|
+
schemaName: 'inputSchema',
|
|
29
|
+
field: 'confirm',
|
|
30
|
+
reason: 'the registry adds it to destructive tools',
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (injectedFields.sessionToken) {
|
|
34
|
+
const reason = 'the registry adds it to shop tools that use the active order';
|
|
35
|
+
this.assertNotDeclared({
|
|
36
|
+
toolLabel,
|
|
37
|
+
schema: jsonInputSchema,
|
|
38
|
+
schemaName: 'inputSchema',
|
|
39
|
+
field: 'sessionToken',
|
|
40
|
+
reason,
|
|
41
|
+
});
|
|
42
|
+
this.assertNotDeclared({
|
|
43
|
+
toolLabel,
|
|
44
|
+
schema: resolvedOutput === null || resolvedOutput === void 0 ? void 0 : resolvedOutput.json,
|
|
45
|
+
schemaName: 'outputSchema',
|
|
46
|
+
field: 'sessionToken',
|
|
47
|
+
reason,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
const wireJsonSchema = this.addInjectedFields(jsonInputSchema, injectedFields);
|
|
51
|
+
const compiledInputSchema = (resolvedInput === null || resolvedInput === void 0 ? void 0 : resolvedInput.standard)
|
|
52
|
+
? this.toRegisteredStandardSchema(resolvedInput.standard, wireJsonSchema, injectedFields)
|
|
53
|
+
: this.compileJsonSchema(wireJsonSchema, inputLabel);
|
|
54
|
+
const compiledOutputSchema = resolvedOutput
|
|
55
|
+
? this.compileJsonSchema(resolvedOutput.json, outputLabel)
|
|
56
|
+
: undefined;
|
|
57
|
+
return { wireJsonSchema, compiledInputSchema, compiledOutputSchema };
|
|
58
|
+
}
|
|
59
|
+
compileJsonSchema(schema, label) {
|
|
60
|
+
try {
|
|
61
|
+
return (0, server_1.fromJsonSchema)(schema);
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
throw new Error(`${label} failed to compile: ${e instanceof Error ? e.message : String(e)}. ` +
|
|
65
|
+
`Author schemas as JSON Schema 2020-12 without a "$schema" key.`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async validate(compiled, value) {
|
|
69
|
+
const result = await compiled['~standard'].validate(value);
|
|
70
|
+
if (result.issues) {
|
|
71
|
+
const message = result.issues.map(issue => this.formatIssue(issue)).join('; ');
|
|
72
|
+
return { ok: false, message };
|
|
73
|
+
}
|
|
74
|
+
return { ok: true, value: result.value };
|
|
75
|
+
}
|
|
76
|
+
/** Adds registry-owned fields to a clone, leaving the author's schema unchanged. */
|
|
77
|
+
addInjectedFields(jsonInputSchema, injectedFields) {
|
|
78
|
+
if (!injectedFields.confirm && !injectedFields.sessionToken) {
|
|
79
|
+
return jsonInputSchema;
|
|
80
|
+
}
|
|
81
|
+
const wire = structuredClone(jsonInputSchema);
|
|
82
|
+
wire.properties = Object.assign({}, wire.properties);
|
|
83
|
+
if (injectedFields.confirm) {
|
|
84
|
+
wire.properties.confirm = {
|
|
85
|
+
type: 'boolean',
|
|
86
|
+
description: 'Omit on the first call to get a preview. Set to true only after the user has ' +
|
|
87
|
+
'approved the action.',
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
if (injectedFields.sessionToken) {
|
|
91
|
+
wire.properties.sessionToken = {
|
|
92
|
+
type: 'string',
|
|
93
|
+
description: 'Session token returned by cart tools. To start a cart, call add_to_cart once without this field. ' +
|
|
94
|
+
'For later calls, including parallel calls, pass the latest returned token to use the same cart.',
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return wire;
|
|
98
|
+
}
|
|
99
|
+
formatIssue(issue) {
|
|
100
|
+
var _a;
|
|
101
|
+
const path = ((_a = issue.path) !== null && _a !== void 0 ? _a : [])
|
|
102
|
+
.map(segment => (typeof segment === 'object' ? String(segment.key) : String(segment)))
|
|
103
|
+
.join('.');
|
|
104
|
+
return path ? `${path}: ${issue.message}` : issue.message;
|
|
105
|
+
}
|
|
106
|
+
isMcpJsonSchema(value) {
|
|
107
|
+
return typeof value === 'object' && value !== null && value.type === 'object';
|
|
108
|
+
}
|
|
109
|
+
standardProps(value) {
|
|
110
|
+
if (typeof value !== 'object' || value === null) {
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
const std = value['~standard'];
|
|
114
|
+
return typeof std === 'object' && std !== null ? std : undefined;
|
|
115
|
+
}
|
|
116
|
+
isStandardSchema(value) {
|
|
117
|
+
var _a;
|
|
118
|
+
const std = this.standardProps(value);
|
|
119
|
+
return (typeof (std === null || std === void 0 ? void 0 : std.validate) === 'function' &&
|
|
120
|
+
typeof ((_a = std.jsonSchema) === null || _a === void 0 ? void 0 : _a.input) === 'function');
|
|
121
|
+
}
|
|
122
|
+
deriveJsonSchema(schema, label, direction) {
|
|
123
|
+
let json;
|
|
124
|
+
try {
|
|
125
|
+
json = schema['~standard'].jsonSchema[direction]({ target: 'draft-2020-12' });
|
|
126
|
+
}
|
|
127
|
+
catch (e) {
|
|
128
|
+
throw new Error(`${label}: the Standard Schema could not be converted to ` +
|
|
129
|
+
`JSON Schema: ${e instanceof Error ? e.message : String(e)}`);
|
|
130
|
+
}
|
|
131
|
+
// Standard Schema converters often add this key, but the MCP compiler rejects it.
|
|
132
|
+
delete json.$schema;
|
|
133
|
+
if (!this.isMcpJsonSchema(json)) {
|
|
134
|
+
const type = json.type;
|
|
135
|
+
// A union converts to anyOf/oneOf with no root type, so it needs its own message to say how to fix it.
|
|
136
|
+
if (type === undefined && (json.anyOf !== undefined || json.oneOf !== undefined)) {
|
|
137
|
+
throw new Error(`${label}: the Standard Schema is a union (anyOf/oneOf) ` +
|
|
138
|
+
`at the top level, and an MCP tool input must be a single object. Wrap it in an ` +
|
|
139
|
+
`object, e.g. z.object({ input: z.discriminatedUnion(...) }).`);
|
|
140
|
+
}
|
|
141
|
+
throw new Error(`${label}: the Standard Schema must describe an object at the ` +
|
|
142
|
+
`top level (the converted JSON Schema has type "${String(type)}").`);
|
|
143
|
+
}
|
|
144
|
+
return json;
|
|
145
|
+
}
|
|
146
|
+
toRegisteredStandardSchema(schema, wireJsonSchema, injectedFields) {
|
|
147
|
+
const std = schema['~standard'];
|
|
148
|
+
const validate = injectedFields.confirm || injectedFields.sessionToken
|
|
149
|
+
? (value) => this.validateAroundInjectedFields(std, injectedFields, value)
|
|
150
|
+
: (value) => std.validate(value);
|
|
151
|
+
return {
|
|
152
|
+
'~standard': {
|
|
153
|
+
version: 1,
|
|
154
|
+
vendor: 'vendure-mcp',
|
|
155
|
+
validate,
|
|
156
|
+
jsonSchema: {
|
|
157
|
+
input: () => wireJsonSchema,
|
|
158
|
+
output: () => wireJsonSchema,
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/** Validates author input separately from the fields the registry adds. */
|
|
164
|
+
async validateAroundInjectedFields(std, injectedFields, value) {
|
|
165
|
+
const input = Object.assign({}, (value !== null && value !== void 0 ? value : {}));
|
|
166
|
+
const held = {};
|
|
167
|
+
if (injectedFields.confirm && input.confirm !== undefined) {
|
|
168
|
+
if (typeof input.confirm !== 'boolean') {
|
|
169
|
+
return { issues: [{ message: '"confirm" must be a boolean', path: ['confirm'] }] };
|
|
170
|
+
}
|
|
171
|
+
held.confirm = input.confirm;
|
|
172
|
+
delete input.confirm;
|
|
173
|
+
}
|
|
174
|
+
if (injectedFields.sessionToken && input.sessionToken !== undefined) {
|
|
175
|
+
if (typeof input.sessionToken !== 'string') {
|
|
176
|
+
return { issues: [{ message: '"sessionToken" must be a string', path: ['sessionToken'] }] };
|
|
177
|
+
}
|
|
178
|
+
held.sessionToken = input.sessionToken;
|
|
179
|
+
delete input.sessionToken;
|
|
180
|
+
}
|
|
181
|
+
const result = await std.validate(input);
|
|
182
|
+
if (result.issues) {
|
|
183
|
+
return result;
|
|
184
|
+
}
|
|
185
|
+
const parsed = result.value;
|
|
186
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
187
|
+
return {
|
|
188
|
+
issues: [
|
|
189
|
+
{
|
|
190
|
+
message: 'the input schema of a tool with registry-injected fields ' +
|
|
191
|
+
'must parse to a plain object',
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
return { value: Object.assign(Object.assign({}, parsed), held) };
|
|
197
|
+
}
|
|
198
|
+
assertNotDeclared(check) {
|
|
199
|
+
var _a, _b;
|
|
200
|
+
if (((_b = (_a = check.schema) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b[check.field]) !== undefined) {
|
|
201
|
+
throw new Error(`${check.toolLabel} must not declare "${check.field}" in its ${check.schemaName}: ${check.reason}.`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
resolveAuthorSchema(raw, label, direction) {
|
|
205
|
+
var _a;
|
|
206
|
+
if (raw === undefined) {
|
|
207
|
+
return undefined;
|
|
208
|
+
}
|
|
209
|
+
// Some Standard Schema objects also carry `type: 'object'`, so check them first.
|
|
210
|
+
if (this.isStandardSchema(raw)) {
|
|
211
|
+
return { json: this.deriveJsonSchema(raw, label, direction), standard: raw };
|
|
212
|
+
}
|
|
213
|
+
if (typeof ((_a = this.standardProps(raw)) === null || _a === void 0 ? void 0 : _a.validate) === 'function') {
|
|
214
|
+
throw new TypeError(`${label}: the schema implements Standard Schema validation but ` +
|
|
215
|
+
`cannot emit JSON Schema. Use a library version with JSON Schema conversion ` +
|
|
216
|
+
`(e.g. zod v4), or author the schema as plain JSON Schema.`);
|
|
217
|
+
}
|
|
218
|
+
if (this.isMcpJsonSchema(raw)) {
|
|
219
|
+
return { json: raw };
|
|
220
|
+
}
|
|
221
|
+
throw new Error(`${label}: the schema must be a plain JSON Schema object ` +
|
|
222
|
+
`({ type: 'object', ... }) or a Standard Schema with JSON conversion (e.g. a zod v4 schema).`);
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
exports.McpToolSchemaService = McpToolSchemaService;
|
|
226
|
+
exports.McpToolSchemaService = McpToolSchemaService = __decorate([
|
|
227
|
+
(0, common_1.Injectable)()
|
|
228
|
+
], McpToolSchemaService);
|
|
229
|
+
//# sourceMappingURL=mcp-tool-schema.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tool-schema.service.js","sourceRoot":"","sources":["../../src/registry/mcp-tool-schema.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { StandardSchemaWithJSON, ToolAnnotations } from '@modelcontextprotocol/server';
|
|
2
|
+
import { McpJsonSchema, McpToolBehavior, McpToolHandler, McpToolMetadata } from '@vendure/mcp-sdk';
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
* A discovered `@McpTool` provider, enriched by the registry at bootstrap. This is the registry's
|
|
6
|
+
* single source of truth, consumed by the transport factory and the admin API.
|
|
7
|
+
*/
|
|
8
|
+
export interface McpRegisteredTool extends McpToolMetadata {
|
|
9
|
+
/** The discovered provider instance (implements `execute`). */
|
|
10
|
+
handler: McpToolHandler;
|
|
11
|
+
/** Name of the Nest module/host that declared the provider. */
|
|
12
|
+
pluginSource: string;
|
|
13
|
+
/** The tool's `behavior`, defaulting to `mutating` when not declared. */
|
|
14
|
+
resolvedBehavior: McpToolBehavior;
|
|
15
|
+
/** MCP annotations derived from behavior; surfaced to the agent in `tools/list` and `search_tools`. */
|
|
16
|
+
annotations: ToolAnnotations;
|
|
17
|
+
/** Decided once at discovery, so the advertised schema and the call-time session exchange cannot disagree. */
|
|
18
|
+
acceptsSessionToken: boolean;
|
|
19
|
+
compiledInputSchema: StandardSchemaWithJSON;
|
|
20
|
+
/** The author's schema, with optional `confirm` or `sessionToken` fields added when required. */
|
|
21
|
+
wireJsonSchema: McpJsonSchema;
|
|
22
|
+
/** Compiled validator for the declared output schema, if any. */
|
|
23
|
+
compiledOutputSchema?: StandardSchemaWithJSON;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @description
|
|
27
|
+
* A tool as handed to the per-request transport for registration: only the fields the SDK's
|
|
28
|
+
* registration call needs. Real tools satisfy it as-is. The discovery meta-tools (`search_tools` /
|
|
29
|
+
* `execute_tool`) share this shape too, since they have no handler of their own. They're routed
|
|
30
|
+
* by name in `callTool` and belong to no single toolset.
|
|
31
|
+
*/
|
|
32
|
+
export type McpExposedTool = Pick<McpRegisteredTool, 'name' | 'title' | 'description' | 'compiledInputSchema' | 'annotations'>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-types.js","sourceRoot":"","sources":["../../src/registry/registry-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ResolvedMcpPluginOptions } from './internal-types';
|
|
2
|
+
import { McpPluginOptions } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Applies every documented option default. The one exception is `oauth.issuer`, which the
|
|
5
|
+
* plugin's `configuration` hook defaults later because it needs the configured API port.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveMcpPluginOptions(options?: McpPluginOptions): ResolvedMcpPluginOptions;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveMcpPluginOptions = resolveMcpPluginOptions;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
/**
|
|
6
|
+
* Applies every documented option default. The one exception is `oauth.issuer`, which the
|
|
7
|
+
* plugin's `configuration` hook defaults later because it needs the configured API port.
|
|
8
|
+
*/
|
|
9
|
+
function resolveMcpPluginOptions(options = {}) {
|
|
10
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
11
|
+
const oauth = options.oauth && Object.assign(Object.assign({}, constants_1.DEFAULT_OAUTH_OPTIONS), withoutUndefined(options.oauth));
|
|
12
|
+
const ttlDays = (_b = (_a = options.logging) === null || _a === void 0 ? void 0 : _a.ttlDays) !== null && _b !== void 0 ? _b : constants_1.DEFAULT_LOG_TTL_DAYS;
|
|
13
|
+
assertNonNegativeNumber('logging.ttlDays', ttlDays);
|
|
14
|
+
if (oauth) {
|
|
15
|
+
assertNonNegativeNumber('oauth.grantRetentionDays', oauth.grantRetentionDays);
|
|
16
|
+
}
|
|
17
|
+
const toolExposure = (_c = options.toolExposure) !== null && _c !== void 0 ? _c : constants_1.DEFAULT_TOOL_EXPOSURE;
|
|
18
|
+
const shopAccess = (_d = options.shopAccess) !== null && _d !== void 0 ? _d : constants_1.DEFAULT_SHOP_ACCESS;
|
|
19
|
+
const capture = (_f = (_e = options.logging) === null || _e === void 0 ? void 0 : _e.capture) !== null && _f !== void 0 ? _f : constants_1.DEFAULT_LOG_CAPTURE;
|
|
20
|
+
assertOneOf('toolExposure', toolExposure, ['direct', 'discovery']);
|
|
21
|
+
assertOneOf('shopAccess', shopAccess, ['anonymous', 'authenticated', 'disabled']);
|
|
22
|
+
assertOneOf('logging.capture', capture, ['metadata', 'full']);
|
|
23
|
+
if (shopAccess === 'authenticated' && !oauth) {
|
|
24
|
+
throw new Error('McpPlugin: shopAccess "authenticated" needs an oauth block, because the shop endpoint ' +
|
|
25
|
+
'answers every token-less request with an OAuth challenge that names the issuer.');
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
toolExposure,
|
|
29
|
+
shopAccess,
|
|
30
|
+
oauth,
|
|
31
|
+
rateLimits: resolveRateLimits(options.rateLimits),
|
|
32
|
+
dnsRebinding: options.dnsRebinding,
|
|
33
|
+
logging: {
|
|
34
|
+
ttlDays,
|
|
35
|
+
capture,
|
|
36
|
+
redact: (_g = options.logging) === null || _g === void 0 ? void 0 : _g.redact,
|
|
37
|
+
maxBodyBytes: (_j = (_h = options.logging) === null || _h === void 0 ? void 0 : _h.maxBodyBytes) !== null && _j !== void 0 ? _j : constants_1.DEFAULT_LOG_MAX_BODY_BYTES,
|
|
38
|
+
retentionSchedule: (_k = options.logging) === null || _k === void 0 ? void 0 : _k.retentionSchedule,
|
|
39
|
+
captureClientIp: (_m = (_l = options.logging) === null || _l === void 0 ? void 0 : _l.captureClientIp) !== null && _m !== void 0 ? _m : false,
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
// An option read from an unset environment variable must fall back to its default rather than erase it.
|
|
44
|
+
function withoutUndefined(value) {
|
|
45
|
+
return Object.fromEntries(Object.entries(value).filter(([, v]) => v !== undefined));
|
|
46
|
+
}
|
|
47
|
+
function assertOneOf(name, value, allowed) {
|
|
48
|
+
if (!allowed.includes(value)) {
|
|
49
|
+
throw new Error(`McpPlugin: ${name} must be one of ${allowed.join(', ')}, got ${String(value)}.`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function assertNonNegativeNumber(name, value) {
|
|
53
|
+
if (!Number.isFinite(value) || value < 0) {
|
|
54
|
+
throw new Error(`McpPlugin: ${name} must be a non-negative finite number, got ${String(value)}.`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// The anonymous-IP backstop stays on unless the user explicitly passes `anonymousIp: false`.
|
|
58
|
+
function resolveRateLimits(rateLimits) {
|
|
59
|
+
var _a, _b, _c, _d, _e;
|
|
60
|
+
const resolved = {
|
|
61
|
+
perSession: (_a = rateLimits === null || rateLimits === void 0 ? void 0 : rateLimits.perSession) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_RATE_LIMIT_OPTIONS.perSession,
|
|
62
|
+
perUser: (_b = rateLimits === null || rateLimits === void 0 ? void 0 : rateLimits.perUser) !== null && _b !== void 0 ? _b : constants_1.DEFAULT_RATE_LIMIT_OPTIONS.perUser,
|
|
63
|
+
perClient: (_c = rateLimits === null || rateLimits === void 0 ? void 0 : rateLimits.perClient) !== null && _c !== void 0 ? _c : constants_1.DEFAULT_RATE_LIMIT_OPTIONS.perClient,
|
|
64
|
+
perTool: Object.assign(Object.assign({}, constants_1.DEFAULT_RATE_LIMIT_OPTIONS.perTool), ((rateLimits === null || rateLimits === void 0 ? void 0 : rateLimits.perTool) && withoutUndefined(rateLimits.perTool))),
|
|
65
|
+
anonymousIp: (_d = rateLimits === null || rateLimits === void 0 ? void 0 : rateLimits.anonymousIp) !== null && _d !== void 0 ? _d : constants_1.DEFAULT_RATE_LIMIT_OPTIONS.anonymousIp,
|
|
66
|
+
oauthIp: (_e = rateLimits === null || rateLimits === void 0 ? void 0 : rateLimits.oauthIp) !== null && _e !== void 0 ? _e : constants_1.DEFAULT_RATE_LIMIT_OPTIONS.oauthIp,
|
|
67
|
+
};
|
|
68
|
+
assertRpm('rateLimits.perSession', resolved.perSession);
|
|
69
|
+
assertRpm('rateLimits.perUser', resolved.perUser);
|
|
70
|
+
assertRpm('rateLimits.perClient', resolved.perClient);
|
|
71
|
+
assertRpm('rateLimits.anonymousIp', resolved.anonymousIp);
|
|
72
|
+
assertRpm('rateLimits.oauthIp', resolved.oauthIp);
|
|
73
|
+
for (const [toolName, perTool] of Object.entries(resolved.perTool)) {
|
|
74
|
+
assertRpm(`rateLimits.perTool.${toolName}`, perTool);
|
|
75
|
+
}
|
|
76
|
+
return resolved;
|
|
77
|
+
}
|
|
78
|
+
/** `false` means the bucket is switched off; anything else must carry a usable rpm. */
|
|
79
|
+
function assertRpm(name, option) {
|
|
80
|
+
if (option === false) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
assertNonNegativeNumber(`${name}.rpm`, option.rpm);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=resolve-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-options.js","sourceRoot":"","sources":["../src/resolve-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Keep this file free of imports: the dashboard consent page reads it in the browser, where `constants.ts` can't load because it pulls in `@vendure/core`. */
|
|
2
|
+
export declare const OAUTH_ENDPOINT_PATHS: {
|
|
3
|
+
readonly register: "mcp/oauth/register";
|
|
4
|
+
readonly authorize: "mcp/oauth/authorize";
|
|
5
|
+
readonly authorizationRequest: "mcp/oauth/authorization-request";
|
|
6
|
+
readonly token: "mcp/oauth/token";
|
|
7
|
+
readonly revoke: "mcp/oauth/revoke";
|
|
8
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OAUTH_ENDPOINT_PATHS = void 0;
|
|
4
|
+
/** Keep this file free of imports: the dashboard consent page reads it in the browser, where `constants.ts` can't load because it pulls in `@vendure/core`. */
|
|
5
|
+
exports.OAUTH_ENDPOINT_PATHS = {
|
|
6
|
+
register: 'mcp/oauth/register',
|
|
7
|
+
authorize: 'mcp/oauth/authorize',
|
|
8
|
+
authorizationRequest: 'mcp/oauth/authorization-request',
|
|
9
|
+
token: 'mcp/oauth/token',
|
|
10
|
+
revoke: 'mcp/oauth/revoke',
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=endpoint-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint-paths.js","sourceRoot":"","sources":["../../src/shared/endpoint-paths.ts"],"names":[],"mappings":";;;AAAA,+JAA+J;AAClJ,QAAA,oBAAoB,GAAG;IAChC,QAAQ,EAAE,oBAAoB;IAC9B,SAAS,EAAE,qBAAqB;IAChC,oBAAoB,EAAE,iCAAiC;IACvD,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,kBAAkB;CACpB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isLoopbackHostname = isLoopbackHostname;
|
|
4
|
+
/** Kept import-free so the dashboard bundle can reuse this check too; `oauth/oauth-utils.ts` pulls in NestJS and `node:crypto`, which can't load in a browser. */
|
|
5
|
+
function isLoopbackHostname(hostname) {
|
|
6
|
+
const bare = hostname.replace(/^\[|\]$/g, '').toLowerCase();
|
|
7
|
+
return bare === 'localhost' || bare === '127.0.0.1' || bare === '::1';
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=loopback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loopback.js","sourceRoot":"","sources":["../../src/shared/loopback.ts"],"names":[],"mappings":";;AACA,gDAGC;AAJD,kKAAkK;AAClK,SAAgB,kBAAkB,CAAC,QAAgB;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { CachedSession, RequestContext, SessionService } from '@vendure/core';
|
|
2
|
+
export type ShopSessionOutcome = {
|
|
3
|
+
kind: 'refused';
|
|
4
|
+
message: string;
|
|
5
|
+
} | {
|
|
6
|
+
kind: 'unchanged';
|
|
7
|
+
} | {
|
|
8
|
+
kind: 'resolved';
|
|
9
|
+
ctx: RequestContext;
|
|
10
|
+
sessionToken?: string;
|
|
11
|
+
};
|
|
12
|
+
export type PreparedShopSessionCall = {
|
|
13
|
+
kind: 'refused';
|
|
14
|
+
message: string;
|
|
15
|
+
} | {
|
|
16
|
+
kind: 'prepared';
|
|
17
|
+
ctx: RequestContext;
|
|
18
|
+
input: Record<string, unknown>;
|
|
19
|
+
sessionToken?: string;
|
|
20
|
+
};
|
|
21
|
+
export declare class McpShopSessionService {
|
|
22
|
+
private readonly sessionService;
|
|
23
|
+
constructor(sessionService: SessionService);
|
|
24
|
+
prepareToolCall(call: {
|
|
25
|
+
ctx: RequestContext;
|
|
26
|
+
input: Record<string, unknown>;
|
|
27
|
+
isOAuthCall: boolean;
|
|
28
|
+
toolWritesToCart: boolean;
|
|
29
|
+
}): Promise<PreparedShopSessionCall>;
|
|
30
|
+
/** Adds the resolved token without losing handler results that are not plain objects. */
|
|
31
|
+
addSessionTokenToResult(output: unknown, sessionToken: string | undefined): unknown;
|
|
32
|
+
/** An explicit `sessionToken` argument wins over the session already on the context. */
|
|
33
|
+
resolveForToolCall(call: {
|
|
34
|
+
ctx: RequestContext;
|
|
35
|
+
sessionToken: string | undefined;
|
|
36
|
+
isOAuthCall: boolean;
|
|
37
|
+
toolWritesToCart: boolean;
|
|
38
|
+
}): Promise<ShopSessionOutcome>;
|
|
39
|
+
resolveHeaderToken(header: string | undefined): Promise<{
|
|
40
|
+
kind: 'refused';
|
|
41
|
+
message: string;
|
|
42
|
+
} | {
|
|
43
|
+
kind: 'resolved';
|
|
44
|
+
session?: CachedSession;
|
|
45
|
+
}>;
|
|
46
|
+
private resolved;
|
|
47
|
+
}
|