@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,69 @@
|
|
|
1
|
+
import { ProductOptionGroupService, ProductService, ProductVariantService, RequestContext } from '@vendure/core';
|
|
2
|
+
import { McpToolHandler } from '@vendure/mcp-sdk';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { McpCatalogQueryService } from '../catalog-query.service';
|
|
5
|
+
import { McpToolSerializerService } from '../serializer.service';
|
|
6
|
+
declare const getProductInput: z.ZodObject<{
|
|
7
|
+
id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
8
|
+
variantOffset: z.ZodOptional<z.ZodNumber>;
|
|
9
|
+
}, z.core.$strict>;
|
|
10
|
+
type GetProductInput = z.infer<typeof getProductInput>;
|
|
11
|
+
export declare class AdminGetProductTool implements McpToolHandler<GetProductInput> {
|
|
12
|
+
private readonly productService;
|
|
13
|
+
private readonly productVariantService;
|
|
14
|
+
private readonly productOptionGroupService;
|
|
15
|
+
private readonly catalog;
|
|
16
|
+
private readonly serializer;
|
|
17
|
+
constructor(productService: ProductService, productVariantService: ProductVariantService, productOptionGroupService: ProductOptionGroupService, catalog: McpCatalogQueryService, serializer: McpToolSerializerService);
|
|
18
|
+
execute(ctx: RequestContext, input: GetProductInput): Promise<{
|
|
19
|
+
product: null;
|
|
20
|
+
} | {
|
|
21
|
+
product: {
|
|
22
|
+
optionGroups: {
|
|
23
|
+
id: import("@vendure/core").ID;
|
|
24
|
+
code: string;
|
|
25
|
+
name: import("@vendure/core").LocaleString;
|
|
26
|
+
options: {
|
|
27
|
+
id: import("@vendure/core").ID;
|
|
28
|
+
code: string;
|
|
29
|
+
name: import("@vendure/core").LocaleString;
|
|
30
|
+
}[];
|
|
31
|
+
}[];
|
|
32
|
+
variantTotal: number;
|
|
33
|
+
hasMoreVariants: boolean;
|
|
34
|
+
variants: {
|
|
35
|
+
stockOnHand: number;
|
|
36
|
+
id?: import("@vendure/core").ID | undefined;
|
|
37
|
+
name?: import("@vendure/core").LocaleString | undefined;
|
|
38
|
+
sku?: string | undefined;
|
|
39
|
+
enabled?: boolean | undefined;
|
|
40
|
+
price?: number | undefined;
|
|
41
|
+
priceDecimal?: string | undefined;
|
|
42
|
+
priceWithTax?: number | undefined;
|
|
43
|
+
priceWithTaxDecimal?: string | undefined;
|
|
44
|
+
currencyCode?: import("@vendure/core").CurrencyCode | undefined;
|
|
45
|
+
}[];
|
|
46
|
+
id?: import("@vendure/core").ID | undefined;
|
|
47
|
+
name?: import("@vendure/core").LocaleString | undefined;
|
|
48
|
+
slug?: import("@vendure/core").LocaleString | undefined;
|
|
49
|
+
description?: import("@vendure/core").LocaleString | undefined;
|
|
50
|
+
enabled?: boolean | undefined;
|
|
51
|
+
featuredAsset?: {
|
|
52
|
+
id: import("@vendure/core").ID;
|
|
53
|
+
name: import("@vendure/core").LocaleString;
|
|
54
|
+
type: import("@vendure/core").AssetType;
|
|
55
|
+
mimeType: string;
|
|
56
|
+
width: number;
|
|
57
|
+
height: number;
|
|
58
|
+
fileSize: number;
|
|
59
|
+
source: string;
|
|
60
|
+
preview: string;
|
|
61
|
+
focalPoint: {
|
|
62
|
+
x: number;
|
|
63
|
+
y: number;
|
|
64
|
+
} | undefined;
|
|
65
|
+
} | null | undefined;
|
|
66
|
+
};
|
|
67
|
+
}>;
|
|
68
|
+
}
|
|
69
|
+
export {};
|
|
@@ -0,0 +1,77 @@
|
|
|
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.AdminGetProductTool = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const core_1 = require("@vendure/core");
|
|
15
|
+
const mcp_sdk_1 = require("@vendure/mcp-sdk");
|
|
16
|
+
const zod_1 = require("zod");
|
|
17
|
+
const catalog_query_service_1 = require("../catalog-query.service");
|
|
18
|
+
const id_schema_1 = require("../id-schema");
|
|
19
|
+
const list_helpers_1 = require("../list-helpers");
|
|
20
|
+
const serializer_service_1 = require("../serializer.service");
|
|
21
|
+
const getProductInput = zod_1.z.strictObject({
|
|
22
|
+
id: id_schema_1.idSchema.describe('Product ID.'),
|
|
23
|
+
variantOffset: list_helpers_1.variantOffset,
|
|
24
|
+
});
|
|
25
|
+
// Named distinctly from the shop version so stack traces and symbol search aren't ambiguous.
|
|
26
|
+
let AdminGetProductTool = class AdminGetProductTool {
|
|
27
|
+
constructor(productService, productVariantService, productOptionGroupService, catalog, serializer) {
|
|
28
|
+
this.productService = productService;
|
|
29
|
+
this.productVariantService = productVariantService;
|
|
30
|
+
this.productOptionGroupService = productOptionGroupService;
|
|
31
|
+
this.catalog = catalog;
|
|
32
|
+
this.serializer = serializer;
|
|
33
|
+
}
|
|
34
|
+
async execute(ctx, input) {
|
|
35
|
+
var _a;
|
|
36
|
+
const product = await this.productService.findOne(ctx, input.id, ['featuredAsset', 'assets']);
|
|
37
|
+
if (!product) {
|
|
38
|
+
return { product: null };
|
|
39
|
+
}
|
|
40
|
+
const offset = (_a = input.variantOffset) !== null && _a !== void 0 ? _a : 0;
|
|
41
|
+
const variants = await this.productVariantService.getVariantsByProductId(ctx, product.id, { skip: offset }, []);
|
|
42
|
+
const withStock = await this.catalog.withAvailableStock(ctx, variants.items);
|
|
43
|
+
const variantsWithStock = withStock.map(({ variant, stockOnHand }) => this.serializer.adminVariant(variant, stockOnHand));
|
|
44
|
+
const optionGroups = await this.productOptionGroupService.getOptionGroupsByProductId(ctx, product.id);
|
|
45
|
+
return {
|
|
46
|
+
product: Object.assign(Object.assign(Object.assign(Object.assign({}, this.serializer.product(product)), { variants: variantsWithStock }), (0, list_helpers_1.variantPaging)(offset, variants)), { optionGroups: optionGroups.map(group => this.serializer.optionGroup(group)) }),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
exports.AdminGetProductTool = AdminGetProductTool;
|
|
51
|
+
exports.AdminGetProductTool = AdminGetProductTool = __decorate([
|
|
52
|
+
(0, mcp_sdk_1.McpTool)({
|
|
53
|
+
name: 'get_product',
|
|
54
|
+
toolset: 'admin',
|
|
55
|
+
description: 'Get a product by id, with its variants and option groups. Variant IDs are what ' +
|
|
56
|
+
'get_stock_levels, adjust_stock and update_variant take; option IDs are what create_variant ' +
|
|
57
|
+
'takes. When hasMoreVariants is true, call again with variantOffset to get the next batch.',
|
|
58
|
+
keywords: [
|
|
59
|
+
'look up a product record',
|
|
60
|
+
'view a product in the back office',
|
|
61
|
+
'inspect a single product by id',
|
|
62
|
+
'pull up product details as staff',
|
|
63
|
+
'open a catalog item for editing',
|
|
64
|
+
'fetch admin product info',
|
|
65
|
+
],
|
|
66
|
+
permissions: [core_1.Permission.ReadProduct],
|
|
67
|
+
behavior: 'readonly',
|
|
68
|
+
inputSchema: getProductInput,
|
|
69
|
+
}),
|
|
70
|
+
(0, common_1.Injectable)(),
|
|
71
|
+
__metadata("design:paramtypes", [core_1.ProductService,
|
|
72
|
+
core_1.ProductVariantService,
|
|
73
|
+
core_1.ProductOptionGroupService,
|
|
74
|
+
catalog_query_service_1.McpCatalogQueryService,
|
|
75
|
+
serializer_service_1.McpToolSerializerService])
|
|
76
|
+
], AdminGetProductTool);
|
|
77
|
+
//# sourceMappingURL=get-product.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-product.tool.js","sourceRoot":"","sources":["../../../../src/tools/built-in/admin/get-product.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,wCAMuB;AACvB,8CAA2D;AAC3D,6BAAwB;AAExB,oEAAkE;AAClE,4CAAwC;AACxC,kDAA+D;AAC/D,8DAAiE;AAEjE,MAAM,eAAe,GAAG,OAAC,CAAC,YAAY,CAAC;IACnC,EAAE,EAAE,oBAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;IACpC,aAAa,EAAb,4BAAa;CAChB,CAAC,CAAC;AAIH,6FAA6F;AAqBtF,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC5B,YACqB,cAA8B,EAC9B,qBAA4C,EAC5C,yBAAoD,EACpD,OAA+B,EAC/B,UAAoC;QAJpC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,YAAO,GAAP,OAAO,CAAwB;QAC/B,eAAU,GAAV,UAAU,CAA0B;IACtD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,GAAmB,EAAE,KAAsB;;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,MAAM,GAAG,MAAA,KAAK,CAAC,aAAa,mCAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CACpE,GAAG,EACH,OAAO,CAAC,EAAE,EACV,EAAE,IAAI,EAAE,MAAM,EAAE,EAChB,EAAE,CACL,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7E,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CACjE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CACrD,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACtG,OAAO;YACH,OAAO,8DACA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KACnC,QAAQ,EAAE,iBAAiB,KACxB,IAAA,4BAAa,EAAC,MAAM,EAAE,QAAQ,CAAC,KAClC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAC9E;SACJ,CAAC;IACN,CAAC;CACJ,CAAA;AApCY,kDAAmB;8BAAnB,mBAAmB;IApB/B,IAAA,iBAAO,EAAC;QACL,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO;QAChB,WAAW,EACP,iFAAiF;YACjF,6FAA6F;YAC7F,2FAA2F;QAC/F,QAAQ,EAAE;YACN,0BAA0B;YAC1B,mCAAmC;YACnC,gCAAgC;YAChC,kCAAkC;YAClC,iCAAiC;YACjC,0BAA0B;SAC7B;QACD,WAAW,EAAE,CAAC,iBAAU,CAAC,WAAW,CAAC;QACrC,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,eAAe;KAC/B,CAAC;IACD,IAAA,mBAAU,GAAE;qCAG4B,qBAAc;QACP,4BAAqB;QACjB,gCAAyB;QAC3C,8CAAsB;QACnB,6CAAwB;GANhD,mBAAmB,CAoC/B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ProductVariantService, RequestContext, StockLevelService } from '@vendure/core';
|
|
2
|
+
import { McpToolHandler } from '@vendure/mcp-sdk';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { McpToolSerializerService } from '../serializer.service';
|
|
5
|
+
declare const getStockLevelsInput: z.ZodObject<{
|
|
6
|
+
variantId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
7
|
+
}, z.core.$strict>;
|
|
8
|
+
type GetStockLevelsInput = z.infer<typeof getStockLevelsInput>;
|
|
9
|
+
export declare class GetStockLevelsTool implements McpToolHandler<GetStockLevelsInput> {
|
|
10
|
+
private readonly productVariantService;
|
|
11
|
+
private readonly stockLevelService;
|
|
12
|
+
private readonly serializer;
|
|
13
|
+
constructor(productVariantService: ProductVariantService, stockLevelService: StockLevelService, serializer: McpToolSerializerService);
|
|
14
|
+
execute(ctx: RequestContext, input: GetStockLevelsInput): Promise<{
|
|
15
|
+
stockLevels: {
|
|
16
|
+
stockLocationId: import("@vendure/core").ID;
|
|
17
|
+
stockLocationName: string;
|
|
18
|
+
stockOnHand: number;
|
|
19
|
+
stockAllocated: number;
|
|
20
|
+
}[];
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
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.GetStockLevelsTool = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const core_1 = require("@vendure/core");
|
|
15
|
+
const mcp_sdk_1 = require("@vendure/mcp-sdk");
|
|
16
|
+
const zod_1 = require("zod");
|
|
17
|
+
const id_schema_1 = require("../id-schema");
|
|
18
|
+
const serializer_service_1 = require("../serializer.service");
|
|
19
|
+
const getStockLevelsInput = zod_1.z.strictObject({
|
|
20
|
+
variantId: id_schema_1.idSchema.describe('Product variant ID.'),
|
|
21
|
+
});
|
|
22
|
+
let GetStockLevelsTool = class GetStockLevelsTool {
|
|
23
|
+
constructor(productVariantService, stockLevelService, serializer) {
|
|
24
|
+
this.productVariantService = productVariantService;
|
|
25
|
+
this.stockLevelService = stockLevelService;
|
|
26
|
+
this.serializer = serializer;
|
|
27
|
+
}
|
|
28
|
+
async execute(ctx, input) {
|
|
29
|
+
// Core's stock level query checks the location's channel, not the variant's.
|
|
30
|
+
const variant = await this.productVariantService.findOne(ctx, input.variantId, []);
|
|
31
|
+
if (!variant) {
|
|
32
|
+
throw new core_1.UserInputError(`Product variant ${input.variantId} is not available in the active channel.`);
|
|
33
|
+
}
|
|
34
|
+
const levels = await this.stockLevelService.getStockLevelsForVariant(ctx, input.variantId);
|
|
35
|
+
return { stockLevels: levels.map(level => this.serializer.stockLevel(level)) };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.GetStockLevelsTool = GetStockLevelsTool;
|
|
39
|
+
exports.GetStockLevelsTool = GetStockLevelsTool = __decorate([
|
|
40
|
+
(0, mcp_sdk_1.McpTool)({
|
|
41
|
+
name: 'get_stock_levels',
|
|
42
|
+
toolset: 'admin',
|
|
43
|
+
description: 'Get stock levels for a product variant.',
|
|
44
|
+
keywords: [
|
|
45
|
+
'check inventory',
|
|
46
|
+
'how many are in stock',
|
|
47
|
+
'current stock count',
|
|
48
|
+
'available quantity on hand',
|
|
49
|
+
'stock level for an item',
|
|
50
|
+
'is this in stock',
|
|
51
|
+
],
|
|
52
|
+
permissions: [core_1.Permission.ReadProduct],
|
|
53
|
+
behavior: 'readonly',
|
|
54
|
+
inputSchema: getStockLevelsInput,
|
|
55
|
+
}),
|
|
56
|
+
(0, common_1.Injectable)(),
|
|
57
|
+
__metadata("design:paramtypes", [core_1.ProductVariantService,
|
|
58
|
+
core_1.StockLevelService,
|
|
59
|
+
serializer_service_1.McpToolSerializerService])
|
|
60
|
+
], GetStockLevelsTool);
|
|
61
|
+
//# sourceMappingURL=get-stock-levels.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-stock-levels.tool.js","sourceRoot":"","sources":["../../../../src/tools/built-in/admin/get-stock-levels.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,wCAMuB;AACvB,8CAA2D;AAC3D,6BAAwB;AAExB,4CAAwC;AACxC,8DAAiE;AAEjE,MAAM,mBAAmB,GAAG,OAAC,CAAC,YAAY,CAAC;IACvC,SAAS,EAAE,oBAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CACtD,CAAC,CAAC;AAqBI,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC3B,YACqB,qBAA4C,EAC5C,iBAAoC,EACpC,UAAoC;QAFpC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,eAAU,GAAV,UAAU,CAA0B;IACtD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,GAAmB,EAAE,KAA0B;QACzD,6EAA6E;QAC7E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,qBAAc,CACpB,mBAAmB,KAAK,CAAC,SAAS,0CAA0C,CAC/E,CAAC;QACN,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACnF,CAAC;CACJ,CAAA;AAlBY,gDAAkB;6BAAlB,kBAAkB;IAjB9B,IAAA,iBAAO,EAAC;QACL,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,yCAAyC;QACtD,QAAQ,EAAE;YACN,iBAAiB;YACjB,uBAAuB;YACvB,qBAAqB;YACrB,4BAA4B;YAC5B,yBAAyB;YACzB,kBAAkB;SACrB;QACD,WAAW,EAAE,CAAC,iBAAU,CAAC,WAAW,CAAC;QACrC,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,mBAAmB;KACnC,CAAC;IACD,IAAA,mBAAU,GAAE;qCAGmC,4BAAqB;QACzB,wBAAiB;QACxB,6CAAwB;GAJhD,kBAAkB,CAkB9B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AddCustomerToGroupTool } from './add-customer-to-group.tool';
|
|
2
|
+
import { AddNoteToOrderTool } from './add-note-to-order.tool';
|
|
3
|
+
import { AdjustStockTool } from './adjust-stock.tool';
|
|
4
|
+
import { CancelOrderTool } from './cancel-order.tool';
|
|
5
|
+
import { CreateCustomerTool } from './create-customer.tool';
|
|
6
|
+
import { CreateFulfillmentTool } from './create-fulfillment.tool';
|
|
7
|
+
import { CreateProductTool } from './create-product.tool';
|
|
8
|
+
import { CreateVariantTool } from './create-variant.tool';
|
|
9
|
+
import { GetCustomerTool } from './get-customer.tool';
|
|
10
|
+
import { AdminGetOrderTool } from './get-order.tool';
|
|
11
|
+
import { AdminGetProductTool } from './get-product.tool';
|
|
12
|
+
import { GetStockLevelsTool } from './get-stock-levels.tool';
|
|
13
|
+
import { ListChannelsTool } from './list-channels.tool';
|
|
14
|
+
import { ListCustomerGroupsTool } from './list-customer-groups.tool';
|
|
15
|
+
import { ListCustomersTool } from './list-customers.tool';
|
|
16
|
+
import { ListOrdersTool } from './list-orders.tool';
|
|
17
|
+
import { ListProductsTool } from './list-products.tool';
|
|
18
|
+
import { RefundOrderTool } from './refund-order.tool';
|
|
19
|
+
import { SetActiveChannelTool } from './set-active-channel.tool';
|
|
20
|
+
import { UpdateCustomerTool } from './update-customer.tool';
|
|
21
|
+
import { UpdateOrderStateTool } from './update-order-state.tool';
|
|
22
|
+
import { UpdateProductTool } from './update-product.tool';
|
|
23
|
+
import { UpdateVariantTool } from './update-variant.tool';
|
|
24
|
+
import { UploadAssetTool } from './upload-asset.tool';
|
|
25
|
+
export declare const adminToolProviders: (typeof AddCustomerToGroupTool | typeof AddNoteToOrderTool | typeof AdjustStockTool | typeof CancelOrderTool | typeof CreateCustomerTool | typeof CreateFulfillmentTool | typeof CreateProductTool | typeof CreateVariantTool | typeof GetCustomerTool | typeof AdminGetOrderTool | typeof AdminGetProductTool | typeof GetStockLevelsTool | typeof ListChannelsTool | typeof ListCustomerGroupsTool | typeof ListCustomersTool | typeof ListOrdersTool | typeof ListProductsTool | typeof RefundOrderTool | typeof SetActiveChannelTool | typeof UpdateCustomerTool | typeof UpdateOrderStateTool | typeof UpdateProductTool | typeof UpdateVariantTool | typeof UploadAssetTool)[];
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.adminToolProviders = void 0;
|
|
4
|
+
const add_customer_to_group_tool_1 = require("./add-customer-to-group.tool");
|
|
5
|
+
const add_note_to_order_tool_1 = require("./add-note-to-order.tool");
|
|
6
|
+
const adjust_stock_tool_1 = require("./adjust-stock.tool");
|
|
7
|
+
const cancel_order_tool_1 = require("./cancel-order.tool");
|
|
8
|
+
const create_customer_tool_1 = require("./create-customer.tool");
|
|
9
|
+
const create_fulfillment_tool_1 = require("./create-fulfillment.tool");
|
|
10
|
+
const create_product_tool_1 = require("./create-product.tool");
|
|
11
|
+
const create_variant_tool_1 = require("./create-variant.tool");
|
|
12
|
+
const get_customer_tool_1 = require("./get-customer.tool");
|
|
13
|
+
const get_order_tool_1 = require("./get-order.tool");
|
|
14
|
+
const get_product_tool_1 = require("./get-product.tool");
|
|
15
|
+
const get_stock_levels_tool_1 = require("./get-stock-levels.tool");
|
|
16
|
+
const list_channels_tool_1 = require("./list-channels.tool");
|
|
17
|
+
const list_customer_groups_tool_1 = require("./list-customer-groups.tool");
|
|
18
|
+
const list_customers_tool_1 = require("./list-customers.tool");
|
|
19
|
+
const list_orders_tool_1 = require("./list-orders.tool");
|
|
20
|
+
const list_products_tool_1 = require("./list-products.tool");
|
|
21
|
+
const refund_order_tool_1 = require("./refund-order.tool");
|
|
22
|
+
const set_active_channel_tool_1 = require("./set-active-channel.tool");
|
|
23
|
+
const update_customer_tool_1 = require("./update-customer.tool");
|
|
24
|
+
const update_order_state_tool_1 = require("./update-order-state.tool");
|
|
25
|
+
const update_product_tool_1 = require("./update-product.tool");
|
|
26
|
+
const update_variant_tool_1 = require("./update-variant.tool");
|
|
27
|
+
const upload_asset_tool_1 = require("./upload-asset.tool");
|
|
28
|
+
exports.adminToolProviders = [
|
|
29
|
+
list_orders_tool_1.ListOrdersTool,
|
|
30
|
+
get_order_tool_1.AdminGetOrderTool,
|
|
31
|
+
update_order_state_tool_1.UpdateOrderStateTool,
|
|
32
|
+
cancel_order_tool_1.CancelOrderTool,
|
|
33
|
+
refund_order_tool_1.RefundOrderTool,
|
|
34
|
+
add_note_to_order_tool_1.AddNoteToOrderTool,
|
|
35
|
+
create_fulfillment_tool_1.CreateFulfillmentTool,
|
|
36
|
+
list_customers_tool_1.ListCustomersTool,
|
|
37
|
+
get_customer_tool_1.GetCustomerTool,
|
|
38
|
+
create_customer_tool_1.CreateCustomerTool,
|
|
39
|
+
update_customer_tool_1.UpdateCustomerTool,
|
|
40
|
+
add_customer_to_group_tool_1.AddCustomerToGroupTool,
|
|
41
|
+
list_customer_groups_tool_1.ListCustomerGroupsTool,
|
|
42
|
+
list_products_tool_1.ListProductsTool,
|
|
43
|
+
get_product_tool_1.AdminGetProductTool,
|
|
44
|
+
create_product_tool_1.CreateProductTool,
|
|
45
|
+
update_product_tool_1.UpdateProductTool,
|
|
46
|
+
create_variant_tool_1.CreateVariantTool,
|
|
47
|
+
update_variant_tool_1.UpdateVariantTool,
|
|
48
|
+
upload_asset_tool_1.UploadAssetTool,
|
|
49
|
+
get_stock_levels_tool_1.GetStockLevelsTool,
|
|
50
|
+
adjust_stock_tool_1.AdjustStockTool,
|
|
51
|
+
list_channels_tool_1.ListChannelsTool,
|
|
52
|
+
set_active_channel_tool_1.SetActiveChannelTool,
|
|
53
|
+
];
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/built-in/admin/index.ts"],"names":[],"mappings":";;;AAAA,6EAAsE;AACtE,qEAA8D;AAC9D,2DAAsD;AACtD,2DAAsD;AACtD,iEAA4D;AAC5D,uEAAkE;AAClE,+DAA0D;AAC1D,+DAA0D;AAC1D,2DAAsD;AACtD,qDAAqD;AACrD,yDAAyD;AACzD,mEAA6D;AAC7D,6DAAwD;AACxD,2EAAqE;AACrE,+DAA0D;AAC1D,yDAAoD;AACpD,6DAAwD;AACxD,2DAAsD;AACtD,uEAAiE;AACjE,iEAA4D;AAC5D,uEAAiE;AACjE,+DAA0D;AAC1D,+DAA0D;AAC1D,2DAAsD;AAEzC,QAAA,kBAAkB,GAAG;IAC9B,iCAAc;IACd,kCAAiB;IACjB,8CAAoB;IACpB,mCAAe;IACf,mCAAe;IACf,2CAAkB;IAClB,+CAAqB;IACrB,uCAAiB;IACjB,mCAAe;IACf,yCAAkB;IAClB,yCAAkB;IAClB,mDAAsB;IACtB,kDAAsB;IACtB,qCAAgB;IAChB,sCAAmB;IACnB,uCAAiB;IACjB,uCAAiB;IACjB,uCAAiB;IACjB,uCAAiB;IACjB,mCAAe;IACf,0CAAkB;IAClB,mCAAe;IACf,qCAAgB;IAChB,8CAAoB;CACvB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ChannelService, RequestContext } from '@vendure/core';
|
|
2
|
+
import { McpToolHandler } from '@vendure/mcp-sdk';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { McpToolSerializerService } from '../serializer.service';
|
|
5
|
+
declare const listChannelsInput: z.ZodObject<{
|
|
6
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
}, z.core.$strict>;
|
|
9
|
+
type ListChannelsInput = z.infer<typeof listChannelsInput>;
|
|
10
|
+
export declare class ListChannelsTool implements McpToolHandler<ListChannelsInput> {
|
|
11
|
+
private readonly channelService;
|
|
12
|
+
private readonly serializer;
|
|
13
|
+
constructor(channelService: ChannelService, serializer: McpToolSerializerService);
|
|
14
|
+
execute(ctx: RequestContext, input: ListChannelsInput): Promise<{
|
|
15
|
+
items: {
|
|
16
|
+
id: import("@vendure/core").ID;
|
|
17
|
+
code: string;
|
|
18
|
+
token: string;
|
|
19
|
+
}[];
|
|
20
|
+
total: number;
|
|
21
|
+
hasMore: boolean;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
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.ListChannelsTool = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const core_1 = require("@vendure/core");
|
|
15
|
+
const mcp_sdk_1 = require("@vendure/mcp-sdk");
|
|
16
|
+
const zod_1 = require("zod");
|
|
17
|
+
const list_helpers_1 = require("../list-helpers");
|
|
18
|
+
const serializer_service_1 = require("../serializer.service");
|
|
19
|
+
const channel_access_1 = require("./channel-access");
|
|
20
|
+
const listChannelsInput = zod_1.z.strictObject(Object.assign({}, (0, list_helpers_1.paginationFields)('channels')));
|
|
21
|
+
let ListChannelsTool = class ListChannelsTool {
|
|
22
|
+
constructor(channelService, serializer) {
|
|
23
|
+
this.channelService = channelService;
|
|
24
|
+
this.serializer = serializer;
|
|
25
|
+
}
|
|
26
|
+
async execute(ctx, input) {
|
|
27
|
+
const accessibleIds = (0, channel_access_1.userChannelIds)(ctx);
|
|
28
|
+
const result = await this.channelService.findAll(ctx);
|
|
29
|
+
const accessible = result.items.filter(channel => accessibleIds.some(id => (0, core_1.idsAreEqual)(id, channel.id)));
|
|
30
|
+
const items = (0, list_helpers_1.slicePage)(accessible, input).map(channel => this.serializer.channel(channel));
|
|
31
|
+
return (0, list_helpers_1.page)(items, accessible.length, input);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.ListChannelsTool = ListChannelsTool;
|
|
35
|
+
exports.ListChannelsTool = ListChannelsTool = __decorate([
|
|
36
|
+
(0, mcp_sdk_1.McpTool)({
|
|
37
|
+
name: 'list_channels',
|
|
38
|
+
toolset: 'admin',
|
|
39
|
+
description: 'List channels available to the current administrator.',
|
|
40
|
+
keywords: [
|
|
41
|
+
'show sales channels',
|
|
42
|
+
'list our storefronts',
|
|
43
|
+
'which channels can I access',
|
|
44
|
+
'available stores',
|
|
45
|
+
'see all channels',
|
|
46
|
+
'multi-store channel list',
|
|
47
|
+
],
|
|
48
|
+
permissions: [core_1.Permission.ReadSettings, core_1.Permission.ReadChannel],
|
|
49
|
+
behavior: 'readonly',
|
|
50
|
+
inputSchema: listChannelsInput,
|
|
51
|
+
}),
|
|
52
|
+
(0, common_1.Injectable)(),
|
|
53
|
+
__metadata("design:paramtypes", [core_1.ChannelService,
|
|
54
|
+
serializer_service_1.McpToolSerializerService])
|
|
55
|
+
], ListChannelsTool);
|
|
56
|
+
//# sourceMappingURL=list-channels.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-channels.tool.js","sourceRoot":"","sources":["../../../../src/tools/built-in/admin/list-channels.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,wCAAwF;AACxF,8CAA2D;AAC3D,6BAAwB;AAExB,kDAAoE;AACpE,8DAAiE;AAEjE,qDAAkD;AAElD,MAAM,iBAAiB,GAAG,OAAC,CAAC,YAAY,mBACjC,IAAA,+BAAgB,EAAC,UAAU,CAAC,EACjC,CAAC;AAqBI,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACzB,YACqB,cAA8B,EAC9B,UAAoC;QADpC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAA0B;IACtD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,GAAmB,EAAE,KAAwB;QACvD,MAAM,aAAa,GAAG,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAC7C,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,kBAAW,EAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CACxD,CAAC;QACF,MAAM,KAAK,GAAG,IAAA,wBAAS,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5F,OAAO,IAAA,mBAAI,EAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;CACJ,CAAA;AAfY,4CAAgB;2BAAhB,gBAAgB;IAjB5B,IAAA,iBAAO,EAAC;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE;YACN,qBAAqB;YACrB,sBAAsB;YACtB,6BAA6B;YAC7B,kBAAkB;YAClB,kBAAkB;YAClB,0BAA0B;SAC7B;QACD,WAAW,EAAE,CAAC,iBAAU,CAAC,YAAY,EAAE,iBAAU,CAAC,WAAW,CAAC;QAC9D,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,iBAAiB;KACjC,CAAC;IACD,IAAA,mBAAU,GAAE;qCAG4B,qBAAc;QAClB,6CAAwB;GAHhD,gBAAgB,CAe5B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CustomerGroupService, RequestContext } from '@vendure/core';
|
|
2
|
+
import { McpToolHandler } from '@vendure/mcp-sdk';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { McpToolSerializerService } from '../serializer.service';
|
|
5
|
+
declare const listCustomerGroupsInput: z.ZodObject<{
|
|
6
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
}, z.core.$strict>;
|
|
9
|
+
type ListCustomerGroupsInput = z.infer<typeof listCustomerGroupsInput>;
|
|
10
|
+
export declare class ListCustomerGroupsTool implements McpToolHandler<ListCustomerGroupsInput> {
|
|
11
|
+
private readonly customerGroupService;
|
|
12
|
+
private readonly serializer;
|
|
13
|
+
constructor(customerGroupService: CustomerGroupService, serializer: McpToolSerializerService);
|
|
14
|
+
execute(ctx: RequestContext, input: ListCustomerGroupsInput): Promise<{
|
|
15
|
+
items: {
|
|
16
|
+
id: import("@vendure/core").ID;
|
|
17
|
+
name: string;
|
|
18
|
+
}[];
|
|
19
|
+
total: number;
|
|
20
|
+
hasMore: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
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.ListCustomerGroupsTool = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const core_1 = require("@vendure/core");
|
|
15
|
+
const mcp_sdk_1 = require("@vendure/mcp-sdk");
|
|
16
|
+
const zod_1 = require("zod");
|
|
17
|
+
const list_helpers_1 = require("../list-helpers");
|
|
18
|
+
const serializer_service_1 = require("../serializer.service");
|
|
19
|
+
const listCustomerGroupsInput = zod_1.z.strictObject(Object.assign({}, (0, list_helpers_1.paginationFields)('customer groups')));
|
|
20
|
+
// This tool exists so agents can look up the groupId that add_customer_to_group requires.
|
|
21
|
+
let ListCustomerGroupsTool = class ListCustomerGroupsTool {
|
|
22
|
+
constructor(customerGroupService, serializer) {
|
|
23
|
+
this.customerGroupService = customerGroupService;
|
|
24
|
+
this.serializer = serializer;
|
|
25
|
+
}
|
|
26
|
+
async execute(ctx, input) {
|
|
27
|
+
const result = await this.customerGroupService.findAll(ctx, (0, list_helpers_1.listOptions)(input));
|
|
28
|
+
return (0, list_helpers_1.page)(result.items.map(group => this.serializer.customerGroup(group)), result.totalItems, input);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.ListCustomerGroupsTool = ListCustomerGroupsTool;
|
|
32
|
+
exports.ListCustomerGroupsTool = ListCustomerGroupsTool = __decorate([
|
|
33
|
+
(0, mcp_sdk_1.McpTool)({
|
|
34
|
+
name: 'list_customer_groups',
|
|
35
|
+
toolset: 'admin',
|
|
36
|
+
description: 'List customer groups. Group IDs are what add_customer_to_group takes.',
|
|
37
|
+
keywords: [
|
|
38
|
+
'show customer groups',
|
|
39
|
+
'which segments exist',
|
|
40
|
+
'find a group id',
|
|
41
|
+
'customer segments',
|
|
42
|
+
'list groups of buyers',
|
|
43
|
+
],
|
|
44
|
+
permissions: [core_1.Permission.ReadCustomerGroup],
|
|
45
|
+
behavior: 'readonly',
|
|
46
|
+
inputSchema: listCustomerGroupsInput,
|
|
47
|
+
}),
|
|
48
|
+
(0, common_1.Injectable)(),
|
|
49
|
+
__metadata("design:paramtypes", [core_1.CustomerGroupService,
|
|
50
|
+
serializer_service_1.McpToolSerializerService])
|
|
51
|
+
], ListCustomerGroupsTool);
|
|
52
|
+
//# sourceMappingURL=list-customer-groups.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-customer-groups.tool.js","sourceRoot":"","sources":["../../../../src/tools/built-in/admin/list-customer-groups.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,wCAAgG;AAChG,8CAA2D;AAC3D,6BAAwB;AAExB,kDAAsE;AACtE,8DAAiE;AAEjE,MAAM,uBAAuB,GAAG,OAAC,CAAC,YAAY,mBACvC,IAAA,+BAAgB,EAAC,iBAAiB,CAAC,EACxC,CAAC;AAIH,0FAA0F;AAiBnF,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAC/B,YACqB,oBAA0C,EAC1C,UAAoC;QADpC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,eAAU,GAAV,UAAU,CAA0B;IACtD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,GAAmB,EAAE,KAA8B;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAClD,GAAG,EACH,IAAA,0BAAW,EAAgB,KAAK,CAA6B,CAChE,CAAC;QACF,OAAO,IAAA,mBAAI,EACP,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAC/D,MAAM,CAAC,UAAU,EACjB,KAAK,CACR,CAAC;IACN,CAAC;CACJ,CAAA;AAjBY,wDAAsB;iCAAtB,sBAAsB;IAhBlC,IAAA,iBAAO,EAAC;QACL,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,uEAAuE;QACpF,QAAQ,EAAE;YACN,sBAAsB;YACtB,sBAAsB;YACtB,iBAAiB;YACjB,mBAAmB;YACnB,uBAAuB;SAC1B;QACD,WAAW,EAAE,CAAC,iBAAU,CAAC,iBAAiB,CAAC;QAC3C,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,uBAAuB;KACvC,CAAC;IACD,IAAA,mBAAU,GAAE;qCAGkC,2BAAoB;QAC9B,6CAAwB;GAHhD,sBAAsB,CAiBlC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { CustomerService, RequestContext } from '@vendure/core';
|
|
2
|
+
import { McpToolHandler } from '@vendure/mcp-sdk';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { McpToolSerializerService } from '../serializer.service';
|
|
5
|
+
declare const listCustomersInput: z.ZodObject<{
|
|
6
|
+
filter: z.ZodOptional<z.ZodObject<{
|
|
7
|
+
emailAddress: z.ZodOptional<z.ZodObject<{
|
|
8
|
+
eq: z.ZodOptional<z.ZodString>;
|
|
9
|
+
contains: z.ZodOptional<z.ZodString>;
|
|
10
|
+
in: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
11
|
+
}, z.core.$strict>>;
|
|
12
|
+
firstName: z.ZodOptional<z.ZodObject<{
|
|
13
|
+
eq: z.ZodOptional<z.ZodString>;
|
|
14
|
+
contains: z.ZodOptional<z.ZodString>;
|
|
15
|
+
in: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
16
|
+
}, z.core.$strict>>;
|
|
17
|
+
lastName: z.ZodOptional<z.ZodObject<{
|
|
18
|
+
eq: z.ZodOptional<z.ZodString>;
|
|
19
|
+
contains: z.ZodOptional<z.ZodString>;
|
|
20
|
+
in: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
21
|
+
}, z.core.$strict>>;
|
|
22
|
+
phoneNumber: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
eq: z.ZodOptional<z.ZodString>;
|
|
24
|
+
contains: z.ZodOptional<z.ZodString>;
|
|
25
|
+
in: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
26
|
+
}, z.core.$strict>>;
|
|
27
|
+
postalCode: z.ZodOptional<z.ZodObject<{
|
|
28
|
+
eq: z.ZodOptional<z.ZodString>;
|
|
29
|
+
contains: z.ZodOptional<z.ZodString>;
|
|
30
|
+
in: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
31
|
+
}, z.core.$strict>>;
|
|
32
|
+
createdAt: z.ZodOptional<z.ZodObject<{
|
|
33
|
+
before: z.ZodOptional<z.ZodPipe<z.ZodISODateTime, z.ZodTransform<Date, string>>>;
|
|
34
|
+
after: z.ZodOptional<z.ZodPipe<z.ZodISODateTime, z.ZodTransform<Date, string>>>;
|
|
35
|
+
}, z.core.$strict>>;
|
|
36
|
+
}, z.core.$strict>>;
|
|
37
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
38
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
39
|
+
}, z.core.$strict>;
|
|
40
|
+
type ListCustomersInput = z.infer<typeof listCustomersInput>;
|
|
41
|
+
export declare class ListCustomersTool implements McpToolHandler<ListCustomersInput> {
|
|
42
|
+
private readonly customerService;
|
|
43
|
+
private readonly serializer;
|
|
44
|
+
constructor(customerService: CustomerService, serializer: McpToolSerializerService);
|
|
45
|
+
execute(ctx: RequestContext, input: ListCustomersInput): Promise<{
|
|
46
|
+
items: ({
|
|
47
|
+
id: import("@vendure/core").ID;
|
|
48
|
+
firstName: string;
|
|
49
|
+
lastName: string;
|
|
50
|
+
emailAddress: string;
|
|
51
|
+
phoneNumber: string;
|
|
52
|
+
addresses: {
|
|
53
|
+
defaultShippingAddress: boolean;
|
|
54
|
+
defaultBillingAddress: boolean;
|
|
55
|
+
id: import("@vendure/core").ID;
|
|
56
|
+
}[] | undefined;
|
|
57
|
+
} | null)[];
|
|
58
|
+
total: number;
|
|
59
|
+
hasMore: boolean;
|
|
60
|
+
}>;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,66 @@
|
|
|
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.ListCustomersTool = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const core_1 = require("@vendure/core");
|
|
15
|
+
const mcp_sdk_1 = require("@vendure/mcp-sdk");
|
|
16
|
+
const zod_1 = require("zod");
|
|
17
|
+
const list_helpers_1 = require("../list-helpers");
|
|
18
|
+
const serializer_service_1 = require("../serializer.service");
|
|
19
|
+
const listCustomersInput = zod_1.z.strictObject(Object.assign(Object.assign({}, (0, list_helpers_1.paginationFields)('customers')), { filter: zod_1.z
|
|
20
|
+
.strictObject({
|
|
21
|
+
emailAddress: list_helpers_1.stringFilter.optional(),
|
|
22
|
+
firstName: list_helpers_1.stringFilter.optional(),
|
|
23
|
+
lastName: list_helpers_1.stringFilter.optional(),
|
|
24
|
+
phoneNumber: list_helpers_1.stringFilter.optional(),
|
|
25
|
+
postalCode: list_helpers_1.stringFilter
|
|
26
|
+
.describe("Matches the postal code of any of the customer's addresses.")
|
|
27
|
+
.optional(),
|
|
28
|
+
createdAt: list_helpers_1.dateFilter.optional(),
|
|
29
|
+
})
|
|
30
|
+
.describe('Conditions a customer must meet; all of them apply together. Example: ' +
|
|
31
|
+
'{"emailAddress":{"eq":"jane@example.com"}} finds the customer with that email.')
|
|
32
|
+
.optional() }));
|
|
33
|
+
let ListCustomersTool = class ListCustomersTool {
|
|
34
|
+
constructor(customerService, serializer) {
|
|
35
|
+
this.customerService = customerService;
|
|
36
|
+
this.serializer = serializer;
|
|
37
|
+
}
|
|
38
|
+
async execute(ctx, input) {
|
|
39
|
+
const result = await this.customerService.findAll(ctx, (0, list_helpers_1.listOptions)(input), ['user']);
|
|
40
|
+
return (0, list_helpers_1.page)(result.items.map(customer => this.serializer.customer(customer)), result.totalItems, input);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
exports.ListCustomersTool = ListCustomersTool;
|
|
44
|
+
exports.ListCustomersTool = ListCustomersTool = __decorate([
|
|
45
|
+
(0, mcp_sdk_1.McpTool)({
|
|
46
|
+
name: 'list_customers',
|
|
47
|
+
toolset: 'admin',
|
|
48
|
+
description: 'List and filter customer records.',
|
|
49
|
+
keywords: [
|
|
50
|
+
'show all customers',
|
|
51
|
+
'browse our clients',
|
|
52
|
+
'customer directory',
|
|
53
|
+
'list every buyer',
|
|
54
|
+
'who are our customers',
|
|
55
|
+
'pull the customer list',
|
|
56
|
+
'find customer by email',
|
|
57
|
+
],
|
|
58
|
+
permissions: [core_1.Permission.ReadCustomer],
|
|
59
|
+
behavior: 'readonly',
|
|
60
|
+
inputSchema: listCustomersInput,
|
|
61
|
+
}),
|
|
62
|
+
(0, common_1.Injectable)(),
|
|
63
|
+
__metadata("design:paramtypes", [core_1.CustomerService,
|
|
64
|
+
serializer_service_1.McpToolSerializerService])
|
|
65
|
+
], ListCustomersTool);
|
|
66
|
+
//# sourceMappingURL=list-customers.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-customers.tool.js","sourceRoot":"","sources":["../../../../src/tools/built-in/admin/list-customers.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,wCAAsF;AACtF,8CAA2D;AAC3D,6BAAwB;AAExB,kDAAgG;AAChG,8DAAiE;AAEjE,MAAM,kBAAkB,GAAG,OAAC,CAAC,YAAY,iCAClC,IAAA,+BAAgB,EAAC,WAAW,CAAC,KAChC,MAAM,EAAE,OAAC;SACJ,YAAY,CAAC;QACV,YAAY,EAAE,2BAAY,CAAC,QAAQ,EAAE;QACrC,SAAS,EAAE,2BAAY,CAAC,QAAQ,EAAE;QAClC,QAAQ,EAAE,2BAAY,CAAC,QAAQ,EAAE;QACjC,WAAW,EAAE,2BAAY,CAAC,QAAQ,EAAE;QACpC,UAAU,EAAE,2BAAY;aACnB,QAAQ,CAAC,6DAA6D,CAAC;aACvE,QAAQ,EAAE;QACf,SAAS,EAAE,yBAAU,CAAC,QAAQ,EAAE;KACnC,CAAC;SACD,QAAQ,CACL,wEAAwE;QACpE,gFAAgF,CACvF;SACA,QAAQ,EAAE,IACjB,CAAC;AAsBI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC1B,YACqB,eAAgC,EAChC,UAAoC;QADpC,oBAAe,GAAf,eAAe,CAAiB;QAChC,eAAU,GAAV,UAAU,CAA0B;IACtD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,GAAmB,EAAE,KAAyB;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,IAAA,0BAAW,EAAW,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/F,OAAO,IAAA,mBAAI,EACP,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAChE,MAAM,CAAC,UAAU,EACjB,KAAK,CACR,CAAC;IACN,CAAC;CACJ,CAAA;AAdY,8CAAiB;4BAAjB,iBAAiB;IAlB7B,IAAA,iBAAO,EAAC;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE;YACN,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;YACpB,kBAAkB;YAClB,uBAAuB;YACvB,wBAAwB;YACxB,wBAAwB;SAC3B;QACD,WAAW,EAAE,CAAC,iBAAU,CAAC,YAAY,CAAC;QACtC,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,kBAAkB;KAClC,CAAC;IACD,IAAA,mBAAU,GAAE;qCAG6B,sBAAe;QACpB,6CAAwB;GAHhD,iBAAiB,CAc7B"}
|