From 6325b5bf835f80d0d4268b74b993e43dcd536e18 Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Tue, 10 Mar 2026 23:01:38 +0300 Subject: [PATCH 01/10] Extend engine and admin-ui to support ticket management --- admin-ui/src/gql/types.ts | 16164 ---------------- .../src/modules/common/components/Layout.tsx | 7 + .../product/fragments/TokenFragment.ts | 1 + .../src/modules/product/hooks/useProduct.ts | 50 + .../ticketing/components/EventTokenList.tsx | 71 + .../components/EventTokenListItem.tsx | 103 + .../components/TicketEventDetail.tsx | 264 + .../ticketing/components/TicketEventList.tsx | 38 + .../components/TicketEventListItem.tsx | 98 + .../modules/ticketing/hooks/useCancelEvent.ts | 24 + .../ticketing/hooks/useCancelTicket.ts | 30 + .../ticketing/hooks/useEventProducts.ts | 77 + admin-ui/src/modules/ticketing/index.ts | 3 + .../modules/token/components/TokenDetail.tsx | 13 + .../modules/token/components/TokenList.tsx | 6 + .../token/components/TokenListItem.tsx | 5 + .../pages/ticketing/TicketEventDetailPage.tsx | 35 + admin-ui/src/pages/ticketing/index.tsx | 102 + admin-ui/src/pages/tokens/TokenDetailPage.tsx | 89 +- packages/api/src/resolvers/mutations/index.ts | 4 + .../mutations/warehousing/cancelEvent.ts | 37 + .../mutations/warehousing/cancelTicket.ts | 36 + packages/api/src/resolvers/queries/index.ts | 4 + .../resolvers/queries/products/products.ts | 7 +- .../queries/ticketing/ticketEvents.ts | 33 + .../queries/ticketing/ticketEventsCount.ts | 23 + .../api/src/resolvers/type/token-types.ts | 4 + packages/api/src/schema/mutation.ts | 11 + packages/api/src/schema/query.ts | 18 + packages/api/src/schema/types/warehousing.ts | 1 + .../src/module/configureProductsModule.ts | 12 + 31 files changed, 1179 insertions(+), 16191 deletions(-) create mode 100644 admin-ui/src/modules/ticketing/components/EventTokenList.tsx create mode 100644 admin-ui/src/modules/ticketing/components/EventTokenListItem.tsx create mode 100644 admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx create mode 100644 admin-ui/src/modules/ticketing/components/TicketEventList.tsx create mode 100644 admin-ui/src/modules/ticketing/components/TicketEventListItem.tsx create mode 100644 admin-ui/src/modules/ticketing/hooks/useCancelEvent.ts create mode 100644 admin-ui/src/modules/ticketing/hooks/useCancelTicket.ts create mode 100644 admin-ui/src/modules/ticketing/hooks/useEventProducts.ts create mode 100644 admin-ui/src/modules/ticketing/index.ts create mode 100644 admin-ui/src/pages/ticketing/TicketEventDetailPage.tsx create mode 100644 admin-ui/src/pages/ticketing/index.tsx create mode 100644 packages/api/src/resolvers/mutations/warehousing/cancelEvent.ts create mode 100644 packages/api/src/resolvers/mutations/warehousing/cancelTicket.ts create mode 100644 packages/api/src/resolvers/queries/ticketing/ticketEvents.ts create mode 100644 packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts diff --git a/admin-ui/src/gql/types.ts b/admin-ui/src/gql/types.ts index 5c8ba6fe61..e69de29bb2 100644 --- a/admin-ui/src/gql/types.ts +++ b/admin-ui/src/gql/types.ts @@ -1,16164 +0,0 @@ -export type Maybe = T | null; -export type InputMaybe = Maybe; -export type Exact = { - [K in keyof T]: T[K]; -}; -export type MakeOptional = Omit & { - [SubKey in K]?: Maybe; -}; -export type MakeMaybe = Omit & { - [SubKey in K]: Maybe; -}; -export type MakeEmpty< - T extends { [key: string]: unknown }, - K extends keyof T, -> = { [_ in K]?: never }; -export type Incremental = - | T - | { - [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; - }; -/** All built-in and custom scalars, mapped to their actual values */ -export type Scalars = { - ID: { input: string; output: string }; - String: { input: string; output: string }; - Boolean: { input: boolean; output: boolean }; - Int: { input: number; output: number }; - Float: { input: number; output: number }; - Date: { input: any; output: any }; - DateTimeISO: { input: any; output: any }; - JSON: { input: any; output: any }; - Locale: { input: any; output: any }; - LowerCaseString: { input: any; output: any }; - Timestamp: { input: any; output: any }; -}; - -export type IAddress = { - addressLine?: Maybe; - addressLine2?: Maybe; - city?: Maybe; - company?: Maybe; - countryCode?: Maybe; - firstName?: Maybe; - lastName?: Maybe; - postalCode?: Maybe; - regionCode?: Maybe; -}; - -export type IAddressInput = { - addressLine?: InputMaybe; - addressLine2?: InputMaybe; - city?: InputMaybe; - company?: InputMaybe; - countryCode?: InputMaybe; - firstName?: InputMaybe; - lastName?: InputMaybe; - postalCode?: InputMaybe; - regionCode?: InputMaybe; -}; - -export type IAdminUiConfig = { - assortmentTags: Array; - customProperties: Array; - externalLinks: Array; - productTags: Array; - singleSignOnURL?: Maybe; - userTags: Array; -}; - -export type IAdminUiConfigCustomEntityInterface = { - entityName: Scalars['String']['output']; - inlineFragment: Scalars['String']['output']; -}; - -export type IAdminUiLink = { - href?: Maybe; - target?: Maybe; - title?: Maybe; -}; - -/** Assortment */ -export type IAssortment = { - _id: Scalars['ID']['output']; - assortmentPaths: Array; - children?: Maybe>; - childrenCount: Scalars['Int']['output']; - created?: Maybe; - deleted?: Maybe; - filterAssignments?: Maybe>; - isActive?: Maybe; - isRoot?: Maybe; - linkedAssortments?: Maybe>; - media: Array; - productAssignments?: Maybe>; - searchProducts: IProductSearchResult; - sequence: Scalars['Int']['output']; - tags?: Maybe>; - texts?: Maybe; - updated?: Maybe; -}; - -/** Assortment */ -export type IAssortmentChildrenArgs = { - includeInactive?: InputMaybe; -}; - -/** Assortment */ -export type IAssortmentChildrenCountArgs = { - includeInactive?: InputMaybe; -}; - -/** Assortment */ -export type IAssortmentMediaArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - tags?: InputMaybe>; -}; - -/** Assortment */ -export type IAssortmentSearchProductsArgs = { - filterQuery?: InputMaybe>; - ignoreChildAssortments?: InputMaybe; - includeInactive?: InputMaybe; - orderBy?: InputMaybe; - queryString?: InputMaybe; -}; - -/** Assortment */ -export type IAssortmentTextsArgs = { - forceLocale?: InputMaybe; -}; - -export type IAssortmentFilter = { - _id: Scalars['ID']['output']; - assortment: IAssortment; - filter: IFilter; - sortKey: Scalars['Int']['output']; - tags?: Maybe>; -}; - -export type IAssortmentLink = { - _id: Scalars['ID']['output']; - child: IAssortment; - parent: IAssortment; - sortKey: Scalars['Int']['output']; - tags?: Maybe>; -}; - -export type IAssortmentMedia = { - _id: Scalars['ID']['output']; - file?: Maybe; - sortKey: Scalars['Int']['output']; - tags?: Maybe>; - texts?: Maybe; -}; - -export type IAssortmentMediaTextsArgs = { - forceLocale?: InputMaybe; -}; - -export type IAssortmentMediaTextInput = { - locale: Scalars['Locale']['input']; - subtitle?: InputMaybe; - title?: InputMaybe; -}; - -export type IAssortmentMediaTexts = { - _id: Scalars['ID']['output']; - locale: Scalars['Locale']['output']; - subtitle?: Maybe; - title?: Maybe; -}; - -/** Directed assortment to product paths (breadcrumbs) */ -export type IAssortmentPath = { - links: Array; -}; - -/** - * A connection that represents an uplink from assortment to assortment, - * assortmentId and assortmentTexts are there for convenience - * to short-circuit breadcrumb lookups - */ -export type IAssortmentPathLink = { - assortmentId: Scalars['ID']['output']; - assortmentTexts: IAssortmentTexts; - link?: Maybe; -}; - -/** - * A connection that represents an uplink from assortment to assortment, - * assortmentId and assortmentTexts are there for convenience - * to short-circuit breadcrumb lookups - */ -export type IAssortmentPathLinkAssortmentTextsArgs = { - forceLocale?: InputMaybe; -}; - -export type IAssortmentProduct = { - _id: Scalars['ID']['output']; - assortment: IAssortment; - product: IProduct; - sortKey: Scalars['Int']['output']; - tags?: Maybe>; -}; - -export type IAssortmentSearchResult = { - assortments: Array; - assortmentsCount: Scalars['Int']['output']; -}; - -export type IAssortmentSearchResultAssortmentsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; -}; - -export type IAssortmentTextInput = { - description?: InputMaybe; - locale: Scalars['Locale']['input']; - slug?: InputMaybe; - subtitle?: InputMaybe; - title?: InputMaybe; -}; - -export type IAssortmentTexts = { - _id: Scalars['ID']['output']; - description?: Maybe; - locale: Scalars['Locale']['output']; - slug?: Maybe; - subtitle?: Maybe; - title?: Maybe; -}; - -export type IBookmark = { - _id: Scalars['ID']['output']; - created?: Maybe; - product: IProduct; - user: IUser; -}; - -/** A Bundle product consists of multiple products */ -export type IBundleProduct = IProduct & { - _id: Scalars['ID']['output']; - assortmentPaths: Array; - bundleItems?: Maybe>; - catalogPrice?: Maybe; - created?: Maybe; - defaultOrderQuantity?: Maybe; - leveledCatalogPrices: Array; - media: Array; - proxies: Array; - published?: Maybe; - reviews: Array; - reviewsCount: Scalars['Int']['output']; - salesQuantityPerUnit?: Maybe; - salesUnit?: Maybe; - sequence: Scalars['Int']['output']; - siblings: Array; - simulatedPrice?: Maybe; - status: IProductStatus; - tags?: Maybe>; - texts?: Maybe; - updated?: Maybe; -}; - -/** A Bundle product consists of multiple products */ -export type IBundleProductCatalogPriceArgs = { - currencyCode?: InputMaybe; - quantity?: InputMaybe; -}; - -/** A Bundle product consists of multiple products */ -export type IBundleProductLeveledCatalogPricesArgs = { - currencyCode?: InputMaybe; -}; - -/** A Bundle product consists of multiple products */ -export type IBundleProductMediaArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - tags?: InputMaybe>; -}; - -/** A Bundle product consists of multiple products */ -export type IBundleProductReviewsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -/** A Bundle product consists of multiple products */ -export type IBundleProductReviewsCountArgs = { - queryString?: InputMaybe; -}; - -/** A Bundle product consists of multiple products */ -export type IBundleProductSiblingsArgs = { - assortmentId?: InputMaybe; - includeInactive?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; -}; - -/** A Bundle product consists of multiple products */ -export type IBundleProductSimulatedPriceArgs = { - configuration?: InputMaybe>; - currencyCode?: InputMaybe; - quantity?: InputMaybe; - useNetPrice?: InputMaybe; -}; - -/** A Bundle product consists of multiple products */ -export type IBundleProductTextsArgs = { - forceLocale?: InputMaybe; -}; - -export enum ICacheControlScope { - Private = 'PRIVATE', - Public = 'PUBLIC', -} - -export type IColor = { - blue?: Maybe; - green?: Maybe; - hex?: Maybe; - name?: Maybe; - red?: Maybe; -}; - -export type IConfigurableOrBundleProduct = - | IBundleProduct - | IConfigurableProduct; - -/** Configurable Product (Proxy) */ -export type IConfigurableProduct = IProduct & { - _id: Scalars['ID']['output']; - /** Complete assignment matrix */ - assignments: Array; - assortmentPaths: Array; - catalogPriceRange?: Maybe; - created?: Maybe; - media: Array; - /** Reduced list of possible products by key/value combinations */ - products?: Maybe>; - proxies: Array; - published?: Maybe; - reviews: Array; - reviewsCount: Scalars['Int']['output']; - sequence: Scalars['Int']['output']; - siblings: Array; - simulatedPriceRange?: Maybe; - status: IProductStatus; - tags?: Maybe>; - texts?: Maybe; - updated?: Maybe; - /** Product's variations (keys) and their options (values) */ - variations?: Maybe>; -}; - -/** Configurable Product (Proxy) */ -export type IConfigurableProductAssignmentsArgs = { - includeInactive?: InputMaybe; -}; - -/** Configurable Product (Proxy) */ -export type IConfigurableProductCatalogPriceRangeArgs = { - currencyCode?: InputMaybe; - includeInactive?: InputMaybe; - quantity?: InputMaybe; - vectors?: InputMaybe>; -}; - -/** Configurable Product (Proxy) */ -export type IConfigurableProductMediaArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - tags?: InputMaybe>; -}; - -/** Configurable Product (Proxy) */ -export type IConfigurableProductProductsArgs = { - includeInactive?: InputMaybe; - vectors?: InputMaybe>; -}; - -/** Configurable Product (Proxy) */ -export type IConfigurableProductReviewsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -/** Configurable Product (Proxy) */ -export type IConfigurableProductReviewsCountArgs = { - queryString?: InputMaybe; -}; - -/** Configurable Product (Proxy) */ -export type IConfigurableProductSiblingsArgs = { - assortmentId?: InputMaybe; - includeInactive?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; -}; - -/** Configurable Product (Proxy) */ -export type IConfigurableProductSimulatedPriceRangeArgs = { - currencyCode?: InputMaybe; - includeInactive?: InputMaybe; - quantity?: InputMaybe; - useNetPrice?: InputMaybe; - vectors?: InputMaybe>; -}; - -/** Configurable Product (Proxy) */ -export type IConfigurableProductTextsArgs = { - forceLocale?: InputMaybe; -}; - -export type IContact = { - emailAddress?: Maybe; - telNumber?: Maybe; -}; - -export type IContactInput = { - emailAddress?: InputMaybe; - telNumber?: InputMaybe; -}; - -export type IContractConfiguration = { - ercMetadataProperties?: Maybe; - supply: Scalars['Int']['output']; - tokenId: Scalars['String']['output']; -}; - -export type ICountry = { - _id: Scalars['ID']['output']; - defaultCurrency?: Maybe; - flagEmoji?: Maybe; - isActive?: Maybe; - isBase?: Maybe; - /** ISO 3166-1 alpha-2 https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements */ - isoCode?: Maybe; - name?: Maybe; -}; - -export type ICountryNameArgs = { - forceLocale?: InputMaybe; -}; - -export type ICreateAssortmentInput = { - isRoot?: InputMaybe; - tags?: InputMaybe>; -}; - -export type ICreateCountryInput = { - isoCode: Scalars['String']['input']; -}; - -export type ICreateCurrencyInput = { - contractAddress?: InputMaybe; - decimals?: InputMaybe; - isoCode: Scalars['String']['input']; -}; - -export type ICreateDeliveryProviderInput = { - adapterKey: Scalars['String']['input']; - type: IDeliveryProviderType; -}; - -export type ICreateFilterInput = { - key: Scalars['String']['input']; - options?: InputMaybe>; - type: IFilterType; -}; - -export type ICreateLanguageInput = { - isoCode: Scalars['String']['input']; -}; - -export type ICreatePaymentProviderInput = { - adapterKey: Scalars['String']['input']; - type: IPaymentProviderType; -}; - -export type ICreateProductBundleItemInput = { - productId: Scalars['ID']['input']; - quantity: Scalars['Int']['input']; -}; - -export type ICreateProductInput = { - tags?: InputMaybe>; - type: IProductType; -}; - -export type ICreateProductVariationInput = { - key: Scalars['String']['input']; - type: IProductVariationType; -}; - -export type ICreateWarehousingProviderInput = { - adapterKey: Scalars['String']['input']; - type: IWarehousingProviderType; -}; - -export type ICurrency = { - _id: Scalars['ID']['output']; - contractAddress?: Maybe; - decimals?: Maybe; - isActive?: Maybe; - isoCode: Scalars['String']['output']; -}; - -export type IDateFilterInput = { - end?: InputMaybe; - start?: InputMaybe; -}; - -export type IDeliveryInterface = { - _id: Scalars['ID']['output']; - label?: Maybe; - version?: Maybe; -}; - -export type IDeliveryProvider = { - _id: Scalars['ID']['output']; - configuration?: Maybe; - configurationError?: Maybe; - created?: Maybe; - deleted?: Maybe; - interface?: Maybe; - isActive?: Maybe; - simulatedPrice?: Maybe; - type?: Maybe; - updated?: Maybe; -}; - -export type IDeliveryProviderSimulatedPriceArgs = { - context?: InputMaybe; - currencyCode?: InputMaybe; - orderId?: InputMaybe; - useNetPrice?: InputMaybe; -}; - -export enum IDeliveryProviderError { - AdapterNotFound = 'ADAPTER_NOT_FOUND', - IncompleteConfiguration = 'INCOMPLETE_CONFIGURATION', - NotImplemented = 'NOT_IMPLEMENTED', - WrongCredentials = 'WRONG_CREDENTIALS', -} - -export type IDeliveryProviderPickUp = IDeliveryProvider & { - _id: Scalars['ID']['output']; - configuration?: Maybe; - configurationError?: Maybe; - created?: Maybe; - deleted?: Maybe; - interface?: Maybe; - isActive?: Maybe; - pickUpLocations: Array; - simulatedPrice?: Maybe; - type?: Maybe; - updated?: Maybe; -}; - -export type IDeliveryProviderPickUpSimulatedPriceArgs = { - context?: InputMaybe; - currencyCode?: InputMaybe; - orderId?: InputMaybe; - useNetPrice?: InputMaybe; -}; - -export type IDeliveryProviderShipping = IDeliveryProvider & { - _id: Scalars['ID']['output']; - configuration?: Maybe; - configurationError?: Maybe; - created?: Maybe; - deleted?: Maybe; - interface?: Maybe; - isActive?: Maybe; - simulatedPrice?: Maybe; - type?: Maybe; - updated?: Maybe; -}; - -export type IDeliveryProviderShippingSimulatedPriceArgs = { - context?: InputMaybe; - currencyCode?: InputMaybe; - orderId?: InputMaybe; - useNetPrice?: InputMaybe; -}; - -export enum IDeliveryProviderType { - /** Pick-Up */ - Pickup = 'PICKUP', - /** Shipping */ - Shipping = 'SHIPPING', -} - -export type IDimensions = { - height?: Maybe; - length?: Maybe; - weight?: Maybe; - width?: Maybe; -}; - -export type IDimensionsHeightArgs = { - unit?: InputMaybe; -}; - -export type IDimensionsLengthArgs = { - unit?: InputMaybe; -}; - -export type IDimensionsWeightArgs = { - unit?: InputMaybe; -}; - -export type IDimensionsWidthArgs = { - unit?: InputMaybe; -}; - -export type IDiscountInterface = { - _id: Scalars['ID']['output']; - isManualAdditionAllowed?: Maybe; - isManualRemovalAllowed?: Maybe; - label?: Maybe; - version?: Maybe; -}; - -export type IDispatch = { - deliveryProvider?: Maybe; - earliestDelivery?: Maybe; - shipping?: Maybe; - warehousingProvider?: Maybe; -}; - -/** Enrollment */ -export type IEnrollment = { - _id: Scalars['ID']['output']; - billingAddress?: Maybe; - contact?: Maybe; - country?: Maybe; - created: Scalars['DateTimeISO']['output']; - currency?: Maybe; - delivery?: Maybe; - enrollmentNumber?: Maybe; - expires?: Maybe; - isExpired?: Maybe; - payment?: Maybe; - periods: Array; - plan: IEnrollmentPlan; - status: IEnrollmentStatus; - updated?: Maybe; - user: IUser; -}; - -/** Enrollment */ -export type IEnrollmentIsExpiredArgs = { - referenceDate?: InputMaybe; -}; - -export type IEnrollmentDelivery = { - provider?: Maybe; -}; - -export type IEnrollmentDeliveryInput = { - deliveryProviderId: Scalars['ID']['input']; - meta?: InputMaybe; -}; - -export type IEnrollmentPayment = { - provider?: Maybe; -}; - -export type IEnrollmentPaymentInput = { - meta?: InputMaybe; - paymentProviderId: Scalars['ID']['input']; -}; - -export type IEnrollmentPeriod = { - end: Scalars['DateTimeISO']['output']; - isTrial: Scalars['Boolean']['output']; - order?: Maybe; - start: Scalars['DateTimeISO']['output']; -}; - -export type IEnrollmentPlan = { - configuration?: Maybe>; - product: IPlanProduct; - quantity: Scalars['Int']['output']; -}; - -export type IEnrollmentPlanInput = { - configuration?: InputMaybe>; - productId: Scalars['ID']['input']; - quantity?: InputMaybe; -}; - -export enum IEnrollmentStatus { - /** Active Enrollment */ - Active = 'ACTIVE', - /** Initial */ - Initial = 'INITIAL', - /** Paused because of overdue payments */ - Paused = 'PAUSED', - /** Terminated / Ended enrollment */ - Terminated = 'TERMINATED', -} - -export type IEvent = { - _id: Scalars['ID']['output']; - created: Scalars['Timestamp']['output']; - payload?: Maybe; - type: Scalars['String']['output']; -}; - -export type IEventStatisticReport = { - count: Scalars['Int']['output']; - date: Scalars['Date']['output']; -}; - -export type IEventStatistics = { - detail: Array; - emitCount: Scalars['Int']['output']; - type?: Maybe; -}; - -export enum IEventType { - AclDenied = 'ACL_DENIED', - AclGrantedSensitive = 'ACL_GRANTED_SENSITIVE', - ApiLoginTokenCreated = 'API_LOGIN_TOKEN_CREATED', - ApiLogout = 'API_LOGOUT', - AssortmentAddFilter = 'ASSORTMENT_ADD_FILTER', - AssortmentAddLink = 'ASSORTMENT_ADD_LINK', - AssortmentAddMedia = 'ASSORTMENT_ADD_MEDIA', - AssortmentAddProduct = 'ASSORTMENT_ADD_PRODUCT', - AssortmentCreate = 'ASSORTMENT_CREATE', - AssortmentRemove = 'ASSORTMENT_REMOVE', - AssortmentRemoveFilter = 'ASSORTMENT_REMOVE_FILTER', - AssortmentRemoveLink = 'ASSORTMENT_REMOVE_LINK', - AssortmentRemoveMedia = 'ASSORTMENT_REMOVE_MEDIA', - AssortmentRemoveProduct = 'ASSORTMENT_REMOVE_PRODUCT', - AssortmentReorderFilters = 'ASSORTMENT_REORDER_FILTERS', - AssortmentReorderLinks = 'ASSORTMENT_REORDER_LINKS', - AssortmentReorderMedia = 'ASSORTMENT_REORDER_MEDIA', - AssortmentReorderProducts = 'ASSORTMENT_REORDER_PRODUCTS', - AssortmentUpdate = 'ASSORTMENT_UPDATE', - AssortmentUpdateMediaText = 'ASSORTMENT_UPDATE_MEDIA_TEXT', - AssortmentUpdateText = 'ASSORTMENT_UPDATE_TEXT', - BookmarkCreate = 'BOOKMARK_CREATE', - BookmarkRemove = 'BOOKMARK_REMOVE', - BookmarkUpdate = 'BOOKMARK_UPDATE', - CountryCreate = 'COUNTRY_CREATE', - CountryRemove = 'COUNTRY_REMOVE', - CountryUpdate = 'COUNTRY_UPDATE', - CurrencyCreate = 'CURRENCY_CREATE', - CurrencyRemove = 'CURRENCY_REMOVE', - CurrencyUpdate = 'CURRENCY_UPDATE', - DeliveryProviderCreate = 'DELIVERY_PROVIDER_CREATE', - DeliveryProviderRemove = 'DELIVERY_PROVIDER_REMOVE', - DeliveryProviderUpdate = 'DELIVERY_PROVIDER_UPDATE', - EnrollmentAddPeriod = 'ENROLLMENT_ADD_PERIOD', - EnrollmentCreate = 'ENROLLMENT_CREATE', - EnrollmentRemove = 'ENROLLMENT_REMOVE', - EnrollmentUpdate = 'ENROLLMENT_UPDATE', - FileCreate = 'FILE_CREATE', - FileRemove = 'FILE_REMOVE', - FileUpdate = 'FILE_UPDATE', - FilterCreate = 'FILTER_CREATE', - FilterRemove = 'FILTER_REMOVE', - FilterUpdate = 'FILTER_UPDATE', - FilterUpdateText = 'FILTER_UPDATE_TEXT', - LanguageCreate = 'LANGUAGE_CREATE', - LanguageRemove = 'LANGUAGE_REMOVE', - LanguageUpdate = 'LANGUAGE_UPDATE', - OrderAddProduct = 'ORDER_ADD_PRODUCT', - OrderCheckout = 'ORDER_CHECKOUT', - OrderConfirmed = 'ORDER_CONFIRMED', - OrderCreate = 'ORDER_CREATE', - OrderCreateDiscount = 'ORDER_CREATE_DISCOUNT', - OrderDeliver = 'ORDER_DELIVER', - OrderEmptyCart = 'ORDER_EMPTY_CART', - OrderFulfilled = 'ORDER_FULFILLED', - OrderPay = 'ORDER_PAY', - OrderRejected = 'ORDER_REJECTED', - OrderRemove = 'ORDER_REMOVE', - OrderRemoveCartItem = 'ORDER_REMOVE_CART_ITEM', - OrderRemoveDiscount = 'ORDER_REMOVE_DISCOUNT', - OrderSetDeliveryProvider = 'ORDER_SET_DELIVERY_PROVIDER', - OrderSetPaymentProvider = 'ORDER_SET_PAYMENT_PROVIDER', - OrderSignPayment = 'ORDER_SIGN_PAYMENT', - OrderUpdate = 'ORDER_UPDATE', - OrderUpdateCartItem = 'ORDER_UPDATE_CART_ITEM', - OrderUpdateDelivery = 'ORDER_UPDATE_DELIVERY', - OrderUpdateDiscount = 'ORDER_UPDATE_DISCOUNT', - OrderUpdatePayment = 'ORDER_UPDATE_PAYMENT', - PageView = 'PAGE_VIEW', - PaymentProviderCreate = 'PAYMENT_PROVIDER_CREATE', - PaymentProviderRemove = 'PAYMENT_PROVIDER_REMOVE', - PaymentProviderUpdate = 'PAYMENT_PROVIDER_UPDATE', - ProductAddAssignment = 'PRODUCT_ADD_ASSIGNMENT', - ProductAddMedia = 'PRODUCT_ADD_MEDIA', - ProductCreate = 'PRODUCT_CREATE', - ProductCreateBundleItem = 'PRODUCT_CREATE_BUNDLE_ITEM', - ProductCreateVariation = 'PRODUCT_CREATE_VARIATION', - ProductPublish = 'PRODUCT_PUBLISH', - ProductRemove = 'PRODUCT_REMOVE', - ProductRemoveAssignment = 'PRODUCT_REMOVE_ASSIGNMENT', - ProductRemoveBundleItem = 'PRODUCT_REMOVE_BUNDLE_ITEM', - ProductRemoveMedia = 'PRODUCT_REMOVE_MEDIA', - ProductRemoveReview = 'PRODUCT_REMOVE_REVIEW', - ProductRemoveReviewVote = 'PRODUCT_REMOVE_REVIEW_VOTE', - ProductRemoveVariation = 'PRODUCT_REMOVE_VARIATION', - ProductRemoveVariationOption = 'PRODUCT_REMOVE_VARIATION_OPTION', - ProductReorderMedia = 'PRODUCT_REORDER_MEDIA', - ProductReviewAddVote = 'PRODUCT_REVIEW_ADD_VOTE', - ProductReviewCreate = 'PRODUCT_REVIEW_CREATE', - ProductSetBase = 'PRODUCT_SET_BASE', - ProductUnpublish = 'PRODUCT_UNPUBLISH', - ProductUpdate = 'PRODUCT_UPDATE', - ProductUpdateMediaText = 'PRODUCT_UPDATE_MEDIA_TEXT', - ProductUpdateReview = 'PRODUCT_UPDATE_REVIEW', - ProductUpdateText = 'PRODUCT_UPDATE_TEXT', - ProductUpdateVariationText = 'PRODUCT_UPDATE_VARIATION_TEXT', - ProductVariationOptionCreate = 'PRODUCT_VARIATION_OPTION_CREATE', - QuotationRemove = 'QUOTATION_REMOVE', - QuotationRequestCreate = 'QUOTATION_REQUEST_CREATE', - QuotationUpdate = 'QUOTATION_UPDATE', - TokenInvalidated = 'TOKEN_INVALIDATED', - TokenOwnershipChanged = 'TOKEN_OWNERSHIP_CHANGED', - Unknown = 'UNKNOWN', - UserAccountAction = 'USER_ACCOUNT_ACTION', - UserAddRoles = 'USER_ADD_ROLES', - UserCreate = 'USER_CREATE', - UserRemove = 'USER_REMOVE', - UserUpdate = 'USER_UPDATE', - UserUpdateAvatar = 'USER_UPDATE_AVATAR', - UserUpdateBillingAddress = 'USER_UPDATE_BILLING_ADDRESS', - UserUpdateGuest = 'USER_UPDATE_GUEST', - UserUpdateHeartbeat = 'USER_UPDATE_HEARTBEAT', - UserUpdateLastContact = 'USER_UPDATE_LAST_CONTACT', - UserUpdatePassword = 'USER_UPDATE_PASSWORD', - UserUpdateProfile = 'USER_UPDATE_PROFILE', - UserUpdateRole = 'USER_UPDATE_ROLE', - UserUpdateTags = 'USER_UPDATE_TAGS', - UserUpdateUsername = 'USER_UPDATE_USERNAME', - UserUpdateWeb3Address = 'USER_UPDATE_WEB3_ADDRESS', - WarehousingProviderCreate = 'WAREHOUSING_PROVIDER_CREATE', - WarehousingProviderRemove = 'WAREHOUSING_PROVIDER_REMOVE', - WarehousingProviderUpdate = 'WAREHOUSING_PROVIDER_UPDATE', - WorkAdded = 'WORK_ADDED', - WorkAllocated = 'WORK_ALLOCATED', - WorkDeleted = 'WORK_DELETED', - WorkFinished = 'WORK_FINISHED', - WorkRescheduled = 'WORK_RESCHEDULED', -} - -export enum IExternalLinkTarget { - /** Open on new tab */ - Blank = 'BLANK', - /** Open in own Iframe */ - Self = 'SELF', -} - -export type IFilter = { - _id: Scalars['ID']['output']; - created?: Maybe; - isActive?: Maybe; - key?: Maybe; - options?: Maybe>; - texts?: Maybe; - type?: Maybe; - updated?: Maybe; -}; - -export type IFilterTextsArgs = { - forceLocale?: InputMaybe; -}; - -export type IFilterOption = { - _id: Scalars['ID']['output']; - texts?: Maybe; - value?: Maybe; -}; - -export type IFilterOptionTextsArgs = { - forceLocale?: InputMaybe; -}; - -export type IFilterQueryInput = { - key: Scalars['String']['input']; - value?: InputMaybe; -}; - -export type IFilterTextInput = { - locale: Scalars['Locale']['input']; - subtitle?: InputMaybe; - title?: InputMaybe; -}; - -export type IFilterTexts = { - _id: Scalars['ID']['output']; - locale: Scalars['Locale']['output']; - subtitle?: Maybe; - title?: Maybe; -}; - -export enum IFilterType { - /** Multi-choice */ - MultiChoice = 'MULTI_CHOICE', - /** Range */ - Range = 'RANGE', - /** Single-choice */ - SingleChoice = 'SINGLE_CHOICE', - /** Switch / Boolean */ - Switch = 'SWITCH', -} - -export type IGeoPosition = { - altitute?: Maybe; - latitude: Scalars['Float']['output']; - longitude: Scalars['Float']['output']; -}; - -export type IGlobalSearchResponse = { - counts: Array; - results: Array; -}; - -export type IGlobalSearchResult = - | IAssortment - | IBundleProduct - | IConfigurableProduct - | IEnrollment - | IFilter - | IOrder - | IPlanProduct - | IQuotation - | ISimpleProduct - | ITokenizedProduct - | IUser - | IWork; - -export type IGlobalSearchTypeCount = { - totalCount: Scalars['Int']['output']; - type: ISearchableEntity; -}; - -export type IGlobalSearchTypeLimitInput = { - limit: Scalars['Int']['input']; - type: ISearchableEntity; -}; - -export type ILanguage = { - _id: Scalars['ID']['output']; - isActive?: Maybe; - isBase?: Maybe; - /** ISO 639-1 alpha-2 https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes */ - isoCode?: Maybe; - name?: Maybe; -}; - -export enum ILengthUnit { - Feet = 'FEET', - Meters = 'METERS', - Millimeters = 'MILLIMETERS', -} - -export type ILoadedFilter = { - definition: IFilter; - filteredProductsCount: Scalars['Int']['output']; - isSelected?: Maybe; - options?: Maybe>; - productsCount: Scalars['Int']['output']; -}; - -export type ILoadedFilterOption = { - definition: IFilterOption; - filteredProductsCount: Scalars['Int']['output']; - isSelected?: Maybe; -}; - -/** Type returned when the user logs in */ -export type ILoginMethodResponse = { - /** Session ID */ - _id: Scalars['String']['output']; - /** Expiration date for the token */ - tokenExpires: Scalars['DateTimeISO']['output']; - /** The logged in user */ - user?: Maybe; -}; - -export enum IMassUnit { - Gram = 'GRAM', - Kilogram = 'KILOGRAM', - Pounds = 'POUNDS', -} - -export type IMedia = { - _id: Scalars['ID']['output']; - name: Scalars['String']['output']; - size: Scalars['Int']['output']; - type: Scalars['String']['output']; - url?: Maybe; -}; - -export type IMediaUrlArgs = { - baseUrl?: InputMaybe; - version?: InputMaybe; -}; - -export type IMediaUploadTicket = { - _id: Scalars['ID']['output']; - expires: Scalars['DateTimeISO']['output']; - putURL: Scalars['String']['output']; -}; - -export type IMutation = { - /** Activate a enrollment by changing the status to ACTIVE */ - activateEnrollment: IEnrollment; - /** Add a new filter to an assortment */ - addAssortmentFilter: IAssortmentFilter; - /** Add a new child assortment to an assortment */ - addAssortmentLink: IAssortmentLink; - /** Add a new product to an assortment */ - addAssortmentProduct: IAssortmentProduct; - /** Add a new discount to the cart, a new order gets generated with status = open (= order before checkout / cart) if necessary */ - addCartDiscount: IOrderDiscount; - /** Add a new item to the cart. Order gets generated with status = open (= order before checkout / cart) if necessary. */ - addCartProduct: IOrderItem; - /** Add a new quotation to the cart. */ - addCartQuotation: IOrderItem; - /** Update E-Mail address of any user or logged in user if userId is not provided */ - addEmail: IUser; - /** Add multiple new item to the cart. Order gets generated with status = open (= order before checkout / cart) if necessary. */ - addMultipleCartProducts: IOrder; - /** - * Link a new product to a ConfigurableProduct by providing a configuration - * combination that uniquely identifies a row in the assignment matrix - */ - addProductAssignment: IProduct; - /** - * Add a vote to a ProductReview. - * If there there is a previous vote from the user invoking this it will be removed and updated with the new vote - */ - addProductReviewVote: IProductReview; - /** Store user W3C Push subscription object */ - addPushSubscription: IUser; - /** Web3 */ - addWeb3Address: IUser; - /** Register WebAuthn Credentials for current user */ - addWebAuthnCredentials: IUser; - /** - * Add work to the work queue. Each type has its own input shape. If you pinpoint the worker by setting it - * during creation, the work will be only run by the worker who identifies as that worker. - */ - addWork?: Maybe; - /** - * Get the next task from the worker queue. This will also mark the task as "started". - * Optional worker to identify the worker. - */ - allocateWork?: Maybe; - /** - * Toggle Bookmark state on a product as currently logged in user, - * Does not work when multiple bookmarks with different explicit meta configurations exist. - * In those cases please use createBookmark and removeBookmark - */ - bookmark: IBookmark; - /** Change the current user's password. Must be logged in. */ - changePassword?: Maybe; - /** - * Process the checkout (automatically charge & deliver if possible), the cart will get - * transformed to an ordinary order if everything goes well. - */ - checkoutCart: IOrder; - confirmMediaUpload: IMedia; - /** Manually confirm an order which is in progress */ - confirmOrder: IOrder; - /** Creates new assortment. */ - createAssortment: IAssortment; - /** Create a bookmark for a specific user */ - createBookmark: IBookmark; - /** - * Creates an alternative cart. If you use this feature, you should use explicit orderId's when using the - * cart mutations. Else it will work like a stack and the checkout will use the very first cart of the user. - */ - createCart: IOrder; - createCountry: ICountry; - createCurrency: ICurrency; - /** Creates new delivery provider */ - createDeliveryProvider: IDeliveryProvider; - /** Create a enrollment. */ - createEnrollment: IEnrollment; - /** Creates new Filter along with the user who created it. */ - createFilter: IFilter; - /** Adds new option to filters */ - createFilterOption: IFilter; - /** Adds new language along with the user who created it */ - createLanguage: ILanguage; - /** Adds new payment provider */ - createPaymentProvider: IPaymentProvider; - /** Create a new product */ - createProduct: IProduct; - /** Adds one product as bundle for another products */ - createProductBundleItem: IProduct; - /** Add a new ProductReview */ - createProductReview: IProductReview; - /** Creates new product variation for a product. */ - createProductVariation: IProductVariation; - /** Adds variation option to an existing product variations */ - createProductVariationOption: IProductVariation; - /** Create a new user. */ - createUser?: Maybe; - /** Creates new warehouse provider. */ - createWarehousingProvider: IWarehousingProvider; - /** Create WebAuthn PublicKeyCredentialCreationOptions to use for Registering a new WebAuthn Device */ - createWebAuthnCredentialCreationOptions?: Maybe; - /** Create WebAuthn PublicKeyCredentialRequestrOptions to use for WebAuthn Login Flow */ - createWebAuthnCredentialRequestOptions?: Maybe; - /** Manually mark a undelivered order as delivered */ - deliverOrder: IOrder; - /** - * Remove all items of an open order (cart) if possible. - * if you want to remove single cart item use removeCartItem instead - */ - emptyCart?: Maybe; - /** Enroll a new user, setting enroll to true will let the user choose his password (e-mail gets sent) */ - enrollUser: IUser; - exportToken: IToken; - /** - * Register a work attempt manually. - * Note: Usually, work attempts are handled internally by the inbuilt cron - * worker. This mutation is part of the interface for "outside" workers. - */ - finishWork: IWork; - /** Request a forgot password email. */ - forgotPassword?: Maybe; - /** - * Update hearbeat (updates user activity information such as last - * login and logged in user IP address, locale and country where they - * accessed the system) - */ - heartbeat: IUser; - /** Impersonate a user */ - impersonate: ILoginMethodResponse; - /** Tokenize */ - invalidateToken: IToken; - /** Login as Guest User (creates an anonymous user and returns logged in token) */ - loginAsGuest?: Maybe; - /** Log the user in with a password. */ - loginWithPassword?: Maybe; - /** Log the user in with a WebAuthn device */ - loginWithWebAuthn?: Maybe; - /** Log the user out. */ - logout?: Maybe; - /** - * Log the user out of all sessions by invalidating all JWT tokens. - * This increments the token version, making all existing tokens invalid. - */ - logoutAllSessions?: Maybe; - /** Make a proposal as answer to the RFP by changing its status to PROCESSED */ - makeQuotationProposal: IQuotation; - /** Make's the provided payment credential as the users preferred method of payment. */ - markPaymentCredentialsPreferred?: Maybe; - pageView: Scalars['String']['output']; - /** Manually mark an unpaid/partially paid order as fully paid */ - payOrder: IOrder; - prepareAssortmentMediaUpload: IMediaUploadTicket; - prepareProductMediaUpload: IMediaUploadTicket; - prepareUserAvatarUpload: IMediaUploadTicket; - /** - * This will pick up non-external work, execute, await result and finish - * it up on the target system. This function allows you to do work queue "ticks" - * from outside instead of waiting for default Cron and Event Listener to trigger - * and can be helpful in serverless environments. - */ - processNextWork?: Maybe; - /** Make the product visible on any shop listings (product queries) */ - publishProduct: IProduct; - /** - * Register credentials for an existing payment provider allowing to store and use them - * for later payments (1-click checkout or enrollments) - */ - registerPaymentCredentials?: Maybe; - /** Manually reject an order which is in progress */ - rejectOrder: IOrder; - /** Reject an RFP, this is possible as long as a quotation is not fulfilled */ - rejectQuotation: IQuotation; - /** Removes assortment with the provided ID */ - removeAssortment: IAssortment; - /** Remove a product from an assortment */ - removeAssortmentFilter: IAssortmentFilter; - /** Remove a child/parent assortment link from it's parent */ - removeAssortmentLink: IAssortmentLink; - /** Remove a media asset from a assortment */ - removeAssortmentMedia: IAssortmentMedia; - /** Remove a product from an assortment */ - removeAssortmentProduct: IAssortmentProduct; - /** Remove an existing bookmark by ID */ - removeBookmark: IBookmark; - /** Removes products bundle item found at the given 0 based index. */ - removeBundleItem: IProduct; - /** Remove a discount from the cart */ - removeCartDiscount: IOrderDiscount; - /** Remove an item from an open order */ - removeCartItem: IOrderItem; - /** Deletes the specified country */ - removeCountry: ICountry; - /** Deletes the specified currency */ - removeCurrency: ICurrency; - /** - * Deletes a delivery provider by setting the deleted field to current timestamp. - * Note the delivery provider still exists. - */ - removeDeliveryProvider: IDeliveryProvider; - /** Update E-Mail address of any user or logged in user if userId is not provided */ - removeEmail: IUser; - /** Deletes the specified filter */ - removeFilter: IFilter; - /** Removes the filter option from the specified filter. */ - removeFilterOption: IFilter; - /** Deletes the specified languages */ - removeLanguage: ILanguage; - /** Remove an order while it's still open */ - removeOrder: IOrder; - /** Deletes the specified payment credential. */ - removePaymentCredentials?: Maybe; - /** - * Deletes the specified payment provider by setting the deleted filed to current timestamp. - * Note the payment provider is still available only it’s status is deleted - */ - removePaymentProvider: IPaymentProvider; - /** Remove the product completely! */ - removeProduct: IProduct; - /** - * Unlinks a product from a ConfigurableProduct by providing a configuration - * combination that uniquely identifies a row in the assignment matrix - */ - removeProductAssignment: IProduct; - /** Remove a media asset from a product's visualization */ - removeProductMedia: IProductMedia; - /** Remove an existing ProductReview. The logic to allow/dissallow removal is controlled by product plugin logic */ - removeProductReview: IProductReview; - /** Remove a vote from a ProductReview */ - removeProductReviewVote: IProductReview; - /** Removes product variation with the provided ID */ - removeProductVariation: IProductVariation; - /** Removes product option value for product variation with the provided variation option value */ - removeProductVariationOption: IProductVariation; - /** Remove user W3C push subscription object */ - removePushSubscription: IUser; - /** Remove any user or logged in user if userId is not provided */ - removeUser: IUser; - /** Remove product reviews of a user */ - removeUserProductReviews: Scalars['Boolean']['output']; - /** - * Deletes the specified warehousing provider by setting the deleted filed to current timestamp. - * Note warehousing provider still exists in the system after successful - * completing of this operation with status deleted. - */ - removeWarehousingProvider: IWarehousingProvider; - removeWeb3Address: IUser; - /** Remove WebAuthn Credentials for current user */ - removeWebAuthnCredentials: IUser; - /** Manually remove a work */ - removeWork: IWork; - /** Reorder the products in an assortment */ - reorderAssortmentFilters: Array; - /** Reorder the child assortment links in it's parent */ - reorderAssortmentLinks: Array; - /** Reorder a media asset (first is primary) */ - reorderAssortmentMedia: Array; - /** Reorder the products in an assortment */ - reorderAssortmentProducts: Array; - /** Reorder a media asset (first is primary) */ - reorderProductMedia: Array; - /** Request for Proposal (RFP) for the specified product */ - requestQuotation: IQuotation; - /** Reset the password for a user using a token received in email. Logs the user in afterwards. */ - resetPassword?: Maybe; - /** Forcefully trigger an enrollment email for already added users by e-mail */ - sendEnrollmentEmail?: Maybe; - /** Send an email with a link the user can use verify their email address. */ - sendVerificationEmail?: Maybe; - /** Set a new password for a specific user */ - setPassword: IUser; - /** Set roles of a user */ - setRoles: IUser; - /** Set tags of user */ - setUserTags: IUser; - /** Set username for a specific user */ - setUsername: IUser; - /** Sign a generic order payment */ - signPaymentProviderForCheckout: Scalars['String']['output']; - /** Sign a generic payment provider for registration */ - signPaymentProviderForCredentialRegistration?: Maybe< - Scalars['String']['output'] - >; - /** End customer impersonated user session and resume the impersonator session */ - stopImpersonation?: Maybe; - /** Terminate an actively running enrollment by changing it's status to TERMINATED */ - terminateEnrollment: IEnrollment; - /** Hide the product visible from any shop listings (product queries) */ - unpublishProduct: IProduct; - /** Updates the provided assortment */ - updateAssortment: IAssortment; - /** Modify localized texts part of a assortment media asset */ - updateAssortmentMediaTexts: Array; - /** Modify localized texts part of an assortment */ - updateAssortmentTexts: Array; - /** - * Change billing address and order contact of an open order (cart). All of the parameters - * except order ID are optional and the update will ocure for parameters provided. - * If the delivery provider or payment provider ID provided doesn’t already exist new order payment - * will be created with the provided ID. - */ - updateCart: IOrder; - /** Update the cart by changing the delivery provider and using a pick up specific configuration */ - updateCartDeliveryPickUp: IOrder; - /** Update the cart by changing the delivery provider and using a shipping specific configuration */ - updateCartDeliveryShipping: IOrder; - /** - * Change the quantity or configuration of an item in an open order.align-baselineAll - * of the parameters are optional except item ID and for the parameters provided the - * update will be performed accordingly. - */ - updateCartItem: IOrderItem; - /** Update the cart by changing the payment provider and using a generic specific configuration */ - updateCartPaymentGeneric: IOrder; - /** Update the cart by changing the payment provider and using an invoice-type specific configuration */ - updateCartPaymentInvoice: IOrder; - /** Updates provided country information */ - updateCountry: ICountry; - /** Updates the specified currency */ - updateCurrency: ICurrency; - /** Updates the delivery provider specified */ - updateDeliveryProvider: IDeliveryProvider; - /** Update a enrollment */ - updateEnrollment: IEnrollment; - /** Updates the specified filter with the information passed. */ - updateFilter: IFilter; - /** Updates or created specified filter texts for filter with ID provided and locale and optionally filterOptionValue */ - updateFilterTexts: Array; - /** Updates the specified language. */ - updateLanguage: ILanguage; - /** Updates payment provider information with the provided ID */ - updatePaymentProvider: IPaymentProvider; - /** Modify generic infos of a product (tags for ex.) */ - updateProduct?: Maybe; - /** Modify commerce part of a product */ - updateProductCommerce?: Maybe; - /** Modify localized texts part of a product's media asset */ - updateProductMediaTexts: Array; - /** Modify plan part of a product */ - updateProductPlan?: Maybe; - /** Update an existing ProductReview. The logic to allow/dissallow editing is controlled by product plugin logic */ - updateProductReview: IProductReview; - /** Modify delivery part of a product */ - updateProductSupply?: Maybe; - /** Modify localized texts part of a product */ - updateProductTexts: Array; - /** Modify tokenization part of a product */ - updateProductTokenization?: Maybe; - /** - * Update product variation texts with the specified locales for product variations - * that match the provided variation ID and production option value - */ - updateProductVariationTexts: Array; - /** Modify warehousing part of a product */ - updateProductWarehousing?: Maybe; - /** Update Profile of any user or logged in user if userId is not provided */ - updateUserProfile: IUser; - /** Updates warehousing provider information with the provided ID */ - updateWarehousingProvider: IWarehousingProvider; - /** Marks the user's email address as verified. Logs the user in afterwards. */ - verifyEmail?: Maybe; - /** Verify quotation request elligibility. and marks requested quotations as verified if it is */ - verifyQuotation: IQuotation; - verifyWeb3Address: IUser; -}; - -export type IMutationActivateEnrollmentArgs = { - enrollmentId: Scalars['ID']['input']; -}; - -export type IMutationAddAssortmentFilterArgs = { - assortmentId: Scalars['ID']['input']; - filterId: Scalars['ID']['input']; - tags?: InputMaybe>; -}; - -export type IMutationAddAssortmentLinkArgs = { - childAssortmentId: Scalars['ID']['input']; - parentAssortmentId: Scalars['ID']['input']; - tags?: InputMaybe>; -}; - -export type IMutationAddAssortmentProductArgs = { - assortmentId: Scalars['ID']['input']; - productId: Scalars['ID']['input']; - tags?: InputMaybe>; -}; - -export type IMutationAddCartDiscountArgs = { - code: Scalars['String']['input']; - orderId?: InputMaybe; -}; - -export type IMutationAddCartProductArgs = { - configuration?: InputMaybe>; - orderId?: InputMaybe; - productId: Scalars['ID']['input']; - quantity?: InputMaybe; -}; - -export type IMutationAddCartQuotationArgs = { - configuration?: InputMaybe>; - orderId?: InputMaybe; - quantity?: InputMaybe; - quotationId: Scalars['ID']['input']; -}; - -export type IMutationAddEmailArgs = { - email: Scalars['String']['input']; - userId?: InputMaybe; -}; - -export type IMutationAddMultipleCartProductsArgs = { - items: Array; - orderId?: InputMaybe; -}; - -export type IMutationAddProductAssignmentArgs = { - productId: Scalars['ID']['input']; - proxyId: Scalars['ID']['input']; - vectors: Array; -}; - -export type IMutationAddProductReviewVoteArgs = { - meta?: InputMaybe; - productReviewId: Scalars['ID']['input']; - type: IProductReviewVoteType; -}; - -export type IMutationAddPushSubscriptionArgs = { - subscription: Scalars['JSON']['input']; - unsubscribeFromOtherUsers?: InputMaybe; -}; - -export type IMutationAddWeb3AddressArgs = { - address: Scalars['String']['input']; -}; - -export type IMutationAddWebAuthnCredentialsArgs = { - credentials: Scalars['JSON']['input']; -}; - -export type IMutationAddWorkArgs = { - input?: InputMaybe; - originalWorkId?: InputMaybe; - priority?: Scalars['Int']['input']; - retries?: Scalars['Int']['input']; - scheduled?: InputMaybe; - type: IWorkType; - worker?: InputMaybe; -}; - -export type IMutationAllocateWorkArgs = { - types?: InputMaybe>>; - worker?: InputMaybe; -}; - -export type IMutationBookmarkArgs = { - bookmarked?: InputMaybe; - productId: Scalars['ID']['input']; -}; - -export type IMutationChangePasswordArgs = { - newPassword: Scalars['String']['input']; - oldPassword: Scalars['String']['input']; -}; - -export type IMutationCheckoutCartArgs = { - deliveryContext?: InputMaybe; - orderId?: InputMaybe; - paymentContext?: InputMaybe; -}; - -export type IMutationConfirmMediaUploadArgs = { - mediaUploadTicketId: Scalars['ID']['input']; - size: Scalars['Int']['input']; - type: Scalars['String']['input']; -}; - -export type IMutationConfirmOrderArgs = { - comment?: InputMaybe; - deliveryContext?: InputMaybe; - orderId: Scalars['ID']['input']; - paymentContext?: InputMaybe; -}; - -export type IMutationCreateAssortmentArgs = { - assortment: ICreateAssortmentInput; - texts?: InputMaybe>; -}; - -export type IMutationCreateBookmarkArgs = { - meta?: InputMaybe; - productId: Scalars['ID']['input']; - userId: Scalars['ID']['input']; -}; - -export type IMutationCreateCartArgs = { - orderNumber: Scalars['String']['input']; -}; - -export type IMutationCreateCountryArgs = { - country: ICreateCountryInput; -}; - -export type IMutationCreateCurrencyArgs = { - currency: ICreateCurrencyInput; -}; - -export type IMutationCreateDeliveryProviderArgs = { - deliveryProvider: ICreateDeliveryProviderInput; -}; - -export type IMutationCreateEnrollmentArgs = { - billingAddress?: InputMaybe; - contact?: InputMaybe; - delivery?: InputMaybe; - meta?: InputMaybe; - payment?: InputMaybe; - plan: IEnrollmentPlanInput; -}; - -export type IMutationCreateFilterArgs = { - filter: ICreateFilterInput; - texts?: InputMaybe>; -}; - -export type IMutationCreateFilterOptionArgs = { - filterId: Scalars['ID']['input']; - option: Scalars['String']['input']; - texts?: InputMaybe>; -}; - -export type IMutationCreateLanguageArgs = { - language: ICreateLanguageInput; -}; - -export type IMutationCreatePaymentProviderArgs = { - paymentProvider: ICreatePaymentProviderInput; -}; - -export type IMutationCreateProductArgs = { - product: ICreateProductInput; - texts?: InputMaybe>; -}; - -export type IMutationCreateProductBundleItemArgs = { - item: ICreateProductBundleItemInput; - productId: Scalars['ID']['input']; -}; - -export type IMutationCreateProductReviewArgs = { - productId: Scalars['ID']['input']; - productReview: IProductReviewInput; -}; - -export type IMutationCreateProductVariationArgs = { - productId: Scalars['ID']['input']; - texts?: InputMaybe>; - variation: ICreateProductVariationInput; -}; - -export type IMutationCreateProductVariationOptionArgs = { - option: Scalars['String']['input']; - productVariationId: Scalars['ID']['input']; - texts?: InputMaybe>; -}; - -export type IMutationCreateUserArgs = { - email?: InputMaybe; - password?: InputMaybe; - profile?: InputMaybe; - username?: InputMaybe; - webAuthnPublicKeyCredentials?: InputMaybe; -}; - -export type IMutationCreateWarehousingProviderArgs = { - warehousingProvider: ICreateWarehousingProviderInput; -}; - -export type IMutationCreateWebAuthnCredentialCreationOptionsArgs = { - extensionOptions?: InputMaybe; - username: Scalars['String']['input']; -}; - -export type IMutationCreateWebAuthnCredentialRequestOptionsArgs = { - extensionOptions?: InputMaybe; - username?: InputMaybe; -}; - -export type IMutationDeliverOrderArgs = { - orderId: Scalars['ID']['input']; -}; - -export type IMutationEmptyCartArgs = { - orderId?: InputMaybe; -}; - -export type IMutationEnrollUserArgs = { - email: Scalars['String']['input']; - password?: InputMaybe; - profile: IUserProfileInput; -}; - -export type IMutationExportTokenArgs = { - quantity?: Scalars['Int']['input']; - recipientWalletAddress: Scalars['String']['input']; - tokenId: Scalars['ID']['input']; -}; - -export type IMutationFinishWorkArgs = { - error?: InputMaybe; - finished?: InputMaybe; - result?: InputMaybe; - started?: InputMaybe; - success?: InputMaybe; - workId: Scalars['ID']['input']; - worker?: InputMaybe; -}; - -export type IMutationForgotPasswordArgs = { - email: Scalars['String']['input']; -}; - -export type IMutationImpersonateArgs = { - userId: Scalars['ID']['input']; -}; - -export type IMutationInvalidateTokenArgs = { - tokenId: Scalars['ID']['input']; -}; - -export type IMutationLoginWithPasswordArgs = { - email?: InputMaybe; - password: Scalars['String']['input']; - username?: InputMaybe; -}; - -export type IMutationLoginWithWebAuthnArgs = { - webAuthnPublicKeyCredentials: Scalars['JSON']['input']; -}; - -export type IMutationMakeQuotationProposalArgs = { - quotationContext?: InputMaybe; - quotationId: Scalars['ID']['input']; -}; - -export type IMutationMarkPaymentCredentialsPreferredArgs = { - paymentCredentialsId: Scalars['ID']['input']; -}; - -export type IMutationPageViewArgs = { - path: Scalars['String']['input']; - referrer?: InputMaybe; -}; - -export type IMutationPayOrderArgs = { - orderId: Scalars['ID']['input']; -}; - -export type IMutationPrepareAssortmentMediaUploadArgs = { - assortmentId: Scalars['ID']['input']; - mediaName: Scalars['String']['input']; -}; - -export type IMutationPrepareProductMediaUploadArgs = { - mediaName: Scalars['String']['input']; - productId: Scalars['ID']['input']; -}; - -export type IMutationPrepareUserAvatarUploadArgs = { - mediaName: Scalars['String']['input']; - userId?: InputMaybe; -}; - -export type IMutationProcessNextWorkArgs = { - worker?: InputMaybe; -}; - -export type IMutationPublishProductArgs = { - productId: Scalars['ID']['input']; -}; - -export type IMutationRegisterPaymentCredentialsArgs = { - paymentProviderId: Scalars['ID']['input']; - transactionContext: Scalars['JSON']['input']; -}; - -export type IMutationRejectOrderArgs = { - comment?: InputMaybe; - deliveryContext?: InputMaybe; - orderId: Scalars['ID']['input']; - paymentContext?: InputMaybe; -}; - -export type IMutationRejectQuotationArgs = { - quotationContext?: InputMaybe; - quotationId: Scalars['ID']['input']; -}; - -export type IMutationRemoveAssortmentArgs = { - assortmentId: Scalars['ID']['input']; -}; - -export type IMutationRemoveAssortmentFilterArgs = { - assortmentFilterId: Scalars['ID']['input']; -}; - -export type IMutationRemoveAssortmentLinkArgs = { - assortmentLinkId: Scalars['ID']['input']; -}; - -export type IMutationRemoveAssortmentMediaArgs = { - assortmentMediaId: Scalars['ID']['input']; -}; - -export type IMutationRemoveAssortmentProductArgs = { - assortmentProductId: Scalars['ID']['input']; -}; - -export type IMutationRemoveBookmarkArgs = { - bookmarkId: Scalars['ID']['input']; -}; - -export type IMutationRemoveBundleItemArgs = { - index: Scalars['Int']['input']; - productId: Scalars['ID']['input']; -}; - -export type IMutationRemoveCartDiscountArgs = { - discountId: Scalars['ID']['input']; -}; - -export type IMutationRemoveCartItemArgs = { - itemId: Scalars['ID']['input']; -}; - -export type IMutationRemoveCountryArgs = { - countryId: Scalars['ID']['input']; -}; - -export type IMutationRemoveCurrencyArgs = { - currencyId: Scalars['ID']['input']; -}; - -export type IMutationRemoveDeliveryProviderArgs = { - deliveryProviderId: Scalars['ID']['input']; -}; - -export type IMutationRemoveEmailArgs = { - email: Scalars['String']['input']; - userId?: InputMaybe; -}; - -export type IMutationRemoveFilterArgs = { - filterId: Scalars['ID']['input']; -}; - -export type IMutationRemoveFilterOptionArgs = { - filterId: Scalars['ID']['input']; - filterOptionValue: Scalars['String']['input']; -}; - -export type IMutationRemoveLanguageArgs = { - languageId: Scalars['ID']['input']; -}; - -export type IMutationRemoveOrderArgs = { - orderId: Scalars['ID']['input']; -}; - -export type IMutationRemovePaymentCredentialsArgs = { - paymentCredentialsId: Scalars['ID']['input']; -}; - -export type IMutationRemovePaymentProviderArgs = { - paymentProviderId: Scalars['ID']['input']; -}; - -export type IMutationRemoveProductArgs = { - productId: Scalars['ID']['input']; -}; - -export type IMutationRemoveProductAssignmentArgs = { - proxyId: Scalars['ID']['input']; - vectors: Array; -}; - -export type IMutationRemoveProductMediaArgs = { - productMediaId: Scalars['ID']['input']; -}; - -export type IMutationRemoveProductReviewArgs = { - productReviewId: Scalars['ID']['input']; -}; - -export type IMutationRemoveProductReviewVoteArgs = { - productReviewId: Scalars['ID']['input']; - type?: InputMaybe; -}; - -export type IMutationRemoveProductVariationArgs = { - productVariationId: Scalars['ID']['input']; -}; - -export type IMutationRemoveProductVariationOptionArgs = { - productVariationId: Scalars['ID']['input']; - productVariationOptionValue: Scalars['String']['input']; -}; - -export type IMutationRemovePushSubscriptionArgs = { - p256dh: Scalars['String']['input']; -}; - -export type IMutationRemoveUserArgs = { - removeUserReviews?: InputMaybe; - userId?: InputMaybe; -}; - -export type IMutationRemoveUserProductReviewsArgs = { - userId: Scalars['ID']['input']; -}; - -export type IMutationRemoveWarehousingProviderArgs = { - warehousingProviderId: Scalars['ID']['input']; -}; - -export type IMutationRemoveWeb3AddressArgs = { - address: Scalars['String']['input']; -}; - -export type IMutationRemoveWebAuthnCredentialsArgs = { - credentialsId: Scalars['ID']['input']; -}; - -export type IMutationRemoveWorkArgs = { - workId: Scalars['ID']['input']; -}; - -export type IMutationReorderAssortmentFiltersArgs = { - sortKeys: Array; -}; - -export type IMutationReorderAssortmentLinksArgs = { - sortKeys: Array; -}; - -export type IMutationReorderAssortmentMediaArgs = { - sortKeys: Array; -}; - -export type IMutationReorderAssortmentProductsArgs = { - sortKeys: Array; -}; - -export type IMutationReorderProductMediaArgs = { - sortKeys: Array; -}; - -export type IMutationRequestQuotationArgs = { - configuration?: InputMaybe>; - productId: Scalars['ID']['input']; -}; - -export type IMutationResetPasswordArgs = { - newPassword: Scalars['String']['input']; - token: Scalars['String']['input']; -}; - -export type IMutationSendEnrollmentEmailArgs = { - email: Scalars['String']['input']; -}; - -export type IMutationSendVerificationEmailArgs = { - email?: InputMaybe; -}; - -export type IMutationSetPasswordArgs = { - newPassword: Scalars['String']['input']; - userId: Scalars['ID']['input']; -}; - -export type IMutationSetRolesArgs = { - roles: Array; - userId: Scalars['ID']['input']; -}; - -export type IMutationSetUserTagsArgs = { - tags: Array>; - userId: Scalars['ID']['input']; -}; - -export type IMutationSetUsernameArgs = { - userId: Scalars['ID']['input']; - username: Scalars['String']['input']; -}; - -export type IMutationSignPaymentProviderForCheckoutArgs = { - orderPaymentId?: InputMaybe; - transactionContext?: InputMaybe; -}; - -export type IMutationSignPaymentProviderForCredentialRegistrationArgs = { - paymentProviderId: Scalars['ID']['input']; - transactionContext?: InputMaybe; -}; - -export type IMutationTerminateEnrollmentArgs = { - enrollmentId: Scalars['ID']['input']; -}; - -export type IMutationUnpublishProductArgs = { - productId: Scalars['ID']['input']; -}; - -export type IMutationUpdateAssortmentArgs = { - assortment: IUpdateAssortmentInput; - assortmentId: Scalars['ID']['input']; -}; - -export type IMutationUpdateAssortmentMediaTextsArgs = { - assortmentMediaId: Scalars['ID']['input']; - texts: Array; -}; - -export type IMutationUpdateAssortmentTextsArgs = { - assortmentId: Scalars['ID']['input']; - texts: Array; -}; - -export type IMutationUpdateCartArgs = { - billingAddress?: InputMaybe; - contact?: InputMaybe; - deliveryProviderId?: InputMaybe; - meta?: InputMaybe; - orderId?: InputMaybe; - paymentProviderId?: InputMaybe; -}; - -export type IMutationUpdateCartDeliveryPickUpArgs = { - deliveryProviderId: Scalars['ID']['input']; - meta?: InputMaybe; - orderId?: InputMaybe; - orderPickUpLocationId: Scalars['ID']['input']; -}; - -export type IMutationUpdateCartDeliveryShippingArgs = { - address?: InputMaybe; - deliveryProviderId: Scalars['ID']['input']; - meta?: InputMaybe; - orderId?: InputMaybe; -}; - -export type IMutationUpdateCartItemArgs = { - configuration?: InputMaybe>; - itemId: Scalars['ID']['input']; - quantity?: InputMaybe; -}; - -export type IMutationUpdateCartPaymentGenericArgs = { - meta?: InputMaybe; - orderId?: InputMaybe; - paymentProviderId: Scalars['ID']['input']; -}; - -export type IMutationUpdateCartPaymentInvoiceArgs = { - meta?: InputMaybe; - orderId?: InputMaybe; - paymentProviderId: Scalars['ID']['input']; -}; - -export type IMutationUpdateCountryArgs = { - country: IUpdateCountryInput; - countryId: Scalars['ID']['input']; -}; - -export type IMutationUpdateCurrencyArgs = { - currency: IUpdateCurrencyInput; - currencyId: Scalars['ID']['input']; -}; - -export type IMutationUpdateDeliveryProviderArgs = { - deliveryProvider: IUpdateProviderInput; - deliveryProviderId: Scalars['ID']['input']; -}; - -export type IMutationUpdateEnrollmentArgs = { - billingAddress?: InputMaybe; - contact?: InputMaybe; - delivery?: InputMaybe; - enrollmentId?: InputMaybe; - meta?: InputMaybe; - payment?: InputMaybe; - plan?: InputMaybe; -}; - -export type IMutationUpdateFilterArgs = { - filter: IUpdateFilterInput; - filterId: Scalars['ID']['input']; -}; - -export type IMutationUpdateFilterTextsArgs = { - filterId: Scalars['ID']['input']; - filterOptionValue?: InputMaybe; - texts: Array; -}; - -export type IMutationUpdateLanguageArgs = { - language: IUpdateLanguageInput; - languageId: Scalars['ID']['input']; -}; - -export type IMutationUpdatePaymentProviderArgs = { - paymentProvider: IUpdateProviderInput; - paymentProviderId: Scalars['ID']['input']; -}; - -export type IMutationUpdateProductArgs = { - product: IUpdateProductInput; - productId: Scalars['ID']['input']; -}; - -export type IMutationUpdateProductCommerceArgs = { - commerce: IUpdateProductCommerceInput; - productId: Scalars['ID']['input']; -}; - -export type IMutationUpdateProductMediaTextsArgs = { - productMediaId: Scalars['ID']['input']; - texts: Array; -}; - -export type IMutationUpdateProductPlanArgs = { - plan: IUpdateProductPlanInput; - productId: Scalars['ID']['input']; -}; - -export type IMutationUpdateProductReviewArgs = { - productReview: IProductReviewInput; - productReviewId: Scalars['ID']['input']; -}; - -export type IMutationUpdateProductSupplyArgs = { - productId: Scalars['ID']['input']; - supply: IUpdateProductSupplyInput; -}; - -export type IMutationUpdateProductTextsArgs = { - productId: Scalars['ID']['input']; - texts: Array; -}; - -export type IMutationUpdateProductTokenizationArgs = { - productId: Scalars['ID']['input']; - tokenization: IUpdateProductTokenizationInput; -}; - -export type IMutationUpdateProductVariationTextsArgs = { - productVariationId: Scalars['ID']['input']; - productVariationOptionValue?: InputMaybe; - texts: Array; -}; - -export type IMutationUpdateProductWarehousingArgs = { - productId: Scalars['ID']['input']; - warehousing: IUpdateProductWarehousingInput; -}; - -export type IMutationUpdateUserProfileArgs = { - meta?: InputMaybe; - profile?: InputMaybe; - userId?: InputMaybe; -}; - -export type IMutationUpdateWarehousingProviderArgs = { - warehousingProvider: IUpdateProviderInput; - warehousingProviderId: Scalars['ID']['input']; -}; - -export type IMutationVerifyEmailArgs = { - token: Scalars['String']['input']; -}; - -export type IMutationVerifyQuotationArgs = { - quotationContext?: InputMaybe; - quotationId: Scalars['ID']['input']; -}; - -export type IMutationVerifyWeb3AddressArgs = { - address: Scalars['String']['input']; - hash: Scalars['String']['input']; -}; - -/** Just an order */ -export type IOrder = { - _id: Scalars['ID']['output']; - billingAddress?: Maybe; - confirmed?: Maybe; - contact?: Maybe; - country?: Maybe; - created?: Maybe; - currency?: Maybe; - delivery?: Maybe; - discounts?: Maybe>; - enrollment?: Maybe; - fulfilled?: Maybe; - items?: Maybe>; - orderNumber?: Maybe; - ordered?: Maybe; - payment?: Maybe; - rejected?: Maybe; - status?: Maybe; - supportedDeliveryProviders: Array; - supportedPaymentProviders: Array; - total?: Maybe; - updated?: Maybe; - user?: Maybe; -}; - -/** Just an order */ -export type IOrderTotalArgs = { - category?: InputMaybe; - useNetPrice?: InputMaybe; -}; - -export type IOrderDelivery = { - _id: Scalars['ID']['output']; - delivered?: Maybe; - discounts?: Maybe>; - fee?: Maybe; - provider?: Maybe; - status?: Maybe; -}; - -export type IOrderDeliveryDiscount = IOrderDiscountable & { - _id: Scalars['ID']['output']; - delivery: IOrderDelivery; - orderDiscount: IOrderDiscount; - total: IPrice; -}; - -export type IOrderDeliveryPickUp = IOrderDelivery & { - _id: Scalars['ID']['output']; - activePickUpLocation?: Maybe; - delivered?: Maybe; - discounts?: Maybe>; - fee?: Maybe; - provider?: Maybe; - status?: Maybe; -}; - -export type IOrderDeliveryShipping = IOrderDelivery & { - _id: Scalars['ID']['output']; - address?: Maybe; - delivered?: Maybe; - discounts?: Maybe>; - fee?: Maybe; - provider?: Maybe; - status?: Maybe; -}; - -export enum IOrderDeliveryStatus { - /** Delivery complete */ - Delivered = 'DELIVERED', - /** Order is not delivered */ - Open = 'OPEN', - /** Delivery returned */ - Returned = 'RETURNED', -} - -export type IOrderDiscount = { - _id: Scalars['ID']['output']; - code?: Maybe; - discounted?: Maybe>; - interface?: Maybe; - order: IOrder; - total: IPrice; - trigger: IOrderDiscountTrigger; -}; - -export type IOrderDiscountTotalArgs = { - useNetPrice?: InputMaybe; -}; - -export enum IOrderDiscountTrigger { - /** System triggered */ - System = 'SYSTEM', - /** User triggered */ - User = 'USER', -} - -export type IOrderDiscountable = { - _id: Scalars['ID']['output']; - orderDiscount: IOrderDiscount; - total: IPrice; -}; - -export type IOrderGlobalDiscount = IOrderDiscountable & { - _id: Scalars['ID']['output']; - order: IOrder; - orderDiscount: IOrderDiscount; - total: IPrice; -}; - -export type IOrderItem = { - _id: Scalars['ID']['output']; - configuration?: Maybe>; - discounts?: Maybe>; - dispatches?: Maybe>; - order: IOrder; - originalProduct: IProduct; - product: IProduct; - quantity: Scalars['Int']['output']; - quotation?: Maybe; - tokens: Array; - total?: Maybe; - unitPrice?: Maybe; -}; - -export type IOrderItemTotalArgs = { - category?: InputMaybe; - useNetPrice?: InputMaybe; -}; - -export type IOrderItemUnitPriceArgs = { - useNetPrice?: InputMaybe; -}; - -export type IOrderItemDiscount = IOrderDiscountable & { - _id: Scalars['ID']['output']; - item: IOrderItem; - orderDiscount: IOrderDiscount; - total: IPrice; -}; - -export type IOrderItemInput = { - configuration?: InputMaybe>; - productId: Scalars['ID']['input']; - quantity?: InputMaybe; -}; - -export enum IOrderItemPriceCategory { - /** Discount */ - Discount = 'DISCOUNT', - /** Items */ - Item = 'ITEM', - /** Tax */ - Tax = 'TAX', -} - -export type IOrderPayment = { - _id: Scalars['ID']['output']; - discounts?: Maybe>; - fee?: Maybe; - paid?: Maybe; - provider?: Maybe; - status?: Maybe; -}; - -export type IOrderPaymentCard = IOrderPayment & { - _id: Scalars['ID']['output']; - discounts?: Maybe>; - fee?: Maybe; - paid?: Maybe; - provider?: Maybe; - status?: Maybe; -}; - -export type IOrderPaymentDiscount = IOrderDiscountable & { - _id: Scalars['ID']['output']; - orderDiscount: IOrderDiscount; - payment: IOrderPayment; - total: IPrice; -}; - -export type IOrderPaymentGeneric = IOrderPayment & { - _id: Scalars['ID']['output']; - discounts?: Maybe>; - fee?: Maybe; - paid?: Maybe; - provider?: Maybe; - status?: Maybe; -}; - -export type IOrderPaymentInvoice = IOrderPayment & { - _id: Scalars['ID']['output']; - discounts?: Maybe>; - fee?: Maybe; - paid?: Maybe; - provider?: Maybe; - status?: Maybe; -}; - -export enum IOrderPaymentStatus { - /** Unpaid Order */ - Open = 'OPEN', - /** Order has been paid */ - Paid = 'PAID', - /** Order has been refunded */ - Refunded = 'REFUNDED', -} - -export enum IOrderPriceCategory { - /** Delivery Fees */ - Delivery = 'DELIVERY', - /** Discount */ - Discounts = 'DISCOUNTS', - /** Product Price Total */ - Items = 'ITEMS', - /** Payment Fees */ - Payment = 'PAYMENT', - /** Tax */ - Taxes = 'TAXES', -} - -export type IOrderStatistics = { - checkoutCount: Scalars['Int']['output']; - checkoutRecords: Array; - confirmCount: Scalars['Int']['output']; - confirmRecords: Array; - fulfillCount: Scalars['Int']['output']; - fulfilledRecords: Array; - newCount: Scalars['Int']['output']; - newRecords: Array; - rejectCount: Scalars['Int']['output']; - rejectRecords: Array; -}; - -export type IOrderStatisticsRecord = { - count: Scalars['Int']['output']; - date: Scalars['String']['output']; - total: IPrice; -}; - -export enum IOrderStatus { - /** Order has been confirmed */ - Confirmed = 'CONFIRMED', - /** Order has been fulfilled completely (all positions in delivery) */ - Fulfilled = 'FULFILLED', - /** Open Order / Cart */ - Open = 'OPEN', - /** Order has been sent but confirmation awaiting */ - Pending = 'PENDING', - /** Order has been rejected */ - Rejected = 'REJECTED', -} - -export type IPaymentCredentials = { - _id: Scalars['ID']['output']; - isPreferred: Scalars['Boolean']['output']; - isValid: Scalars['Boolean']['output']; - meta?: Maybe; - paymentProvider: IPaymentProvider; - token?: Maybe; - user: IUser; -}; - -export type IPaymentInterface = { - _id: Scalars['ID']['output']; - label?: Maybe; - version?: Maybe; -}; - -export type IPaymentProvider = { - _id: Scalars['ID']['output']; - configuration?: Maybe; - configurationError?: Maybe; - created?: Maybe; - deleted?: Maybe; - interface?: Maybe; - isActive?: Maybe; - simulatedPrice?: Maybe; - type?: Maybe; - updated?: Maybe; -}; - -export type IPaymentProviderSimulatedPriceArgs = { - context?: InputMaybe; - currencyCode?: InputMaybe; - orderId?: InputMaybe; - useNetPrice?: InputMaybe; -}; - -export enum IPaymentProviderError { - AdapterNotFound = 'ADAPTER_NOT_FOUND', - IncompleteConfiguration = 'INCOMPLETE_CONFIGURATION', - NotImplemented = 'NOT_IMPLEMENTED', - WrongCredentials = 'WRONG_CREDENTIALS', -} - -export enum IPaymentProviderType { - /** Generic */ - Generic = 'GENERIC', - /** Invoice */ - Invoice = 'INVOICE', -} - -export type IPickUpLocation = { - _id: Scalars['ID']['output']; - address?: Maybe; - geoPoint?: Maybe; - name: Scalars['String']['output']; -}; - -/** Plan (Virtual Product that somebody can enroll to) */ -export type IPlanProduct = IProduct & { - _id: Scalars['ID']['output']; - assortmentPaths: Array; - catalogPrice?: Maybe; - created?: Maybe; - defaultOrderQuantity?: Maybe; - leveledCatalogPrices: Array; - media: Array; - plan?: Maybe; - proxies: Array; - published?: Maybe; - reviews: Array; - reviewsCount: Scalars['Int']['output']; - salesQuantityPerUnit?: Maybe; - salesUnit?: Maybe; - sequence: Scalars['Int']['output']; - siblings: Array; - simulatedPrice?: Maybe; - status: IProductStatus; - tags?: Maybe>; - texts?: Maybe; - updated?: Maybe; -}; - -/** Plan (Virtual Product that somebody can enroll to) */ -export type IPlanProductAssortmentPathsArgs = { - forceLocale?: InputMaybe; -}; - -/** Plan (Virtual Product that somebody can enroll to) */ -export type IPlanProductCatalogPriceArgs = { - currencyCode?: InputMaybe; - quantity?: InputMaybe; -}; - -/** Plan (Virtual Product that somebody can enroll to) */ -export type IPlanProductLeveledCatalogPricesArgs = { - currencyCode?: InputMaybe; -}; - -/** Plan (Virtual Product that somebody can enroll to) */ -export type IPlanProductMediaArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - tags?: InputMaybe>; -}; - -/** Plan (Virtual Product that somebody can enroll to) */ -export type IPlanProductReviewsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -/** Plan (Virtual Product that somebody can enroll to) */ -export type IPlanProductReviewsCountArgs = { - queryString?: InputMaybe; -}; - -/** Plan (Virtual Product that somebody can enroll to) */ -export type IPlanProductSiblingsArgs = { - assortmentId?: InputMaybe; - includeInactive?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; -}; - -/** Plan (Virtual Product that somebody can enroll to) */ -export type IPlanProductSimulatedPriceArgs = { - configuration?: InputMaybe>; - currencyCode?: InputMaybe; - quantity?: InputMaybe; - useNetPrice?: InputMaybe; -}; - -/** Plan (Virtual Product that somebody can enroll to) */ -export type IPlanProductTextsArgs = { - forceLocale?: InputMaybe; -}; - -export type IPrice = { - amount: Scalars['Int']['output']; - currencyCode: Scalars['String']['output']; - isNetPrice: Scalars['Boolean']['output']; - isTaxable: Scalars['Boolean']['output']; -}; - -export type IPriceLevel = { - maxQuantity?: Maybe; - minQuantity: Scalars['Int']['output']; - price: IPrice; -}; - -export type IPriceRange = { - maxPrice: IPrice; - minPrice: IPrice; -}; - -/** Abstract Product */ -export type IProduct = { - _id: Scalars['ID']['output']; - assortmentPaths: Array; - created?: Maybe; - media: Array; - proxies: Array; - published?: Maybe; - reviews: Array; - reviewsCount: Scalars['Int']['output']; - sequence: Scalars['Int']['output']; - siblings: Array; - status: IProductStatus; - tags?: Maybe>; - texts?: Maybe; - updated?: Maybe; -}; - -/** Abstract Product */ -export type IProductMediaArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - tags?: InputMaybe>; -}; - -/** Abstract Product */ -export type IProductReviewsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -/** Abstract Product */ -export type IProductReviewsCountArgs = { - queryString?: InputMaybe; -}; - -/** Abstract Product */ -export type IProductSiblingsArgs = { - assortmentId?: InputMaybe; - includeInactive?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; -}; - -/** Abstract Product */ -export type IProductTextsArgs = { - forceLocale?: InputMaybe; -}; - -export type IProductAssignmentVectorInput = { - key: Scalars['String']['input']; - value: Scalars['String']['input']; -}; - -/** Directed assortment to product paths (breadcrumbs) */ -export type IProductAssortmentPath = { - assortmentProduct: IAssortmentProduct; - links: Array; -}; - -export type IProductBundleItem = { - configuration?: Maybe>; - product: IProduct; - quantity: Scalars['Int']['output']; -}; - -export type IProductCatalogPrice = { - amount: Scalars['Int']['output']; - country: ICountry; - currency: ICurrency; - isNetPrice: Scalars['Boolean']['output']; - isTaxable: Scalars['Boolean']['output']; - minQuantity?: Maybe; -}; - -export type IProductConfigurationParameter = { - key: Scalars['String']['output']; - value: Scalars['String']['output']; -}; - -export type IProductConfigurationParameterInput = { - key: Scalars['String']['input']; - value: Scalars['String']['input']; -}; - -export type IProductDiscount = { - _id: Scalars['ID']['output']; - interface?: Maybe; - total: IPrice; -}; - -export type IProductMedia = { - _id: Scalars['ID']['output']; - file?: Maybe; - sortKey: Scalars['Int']['output']; - tags?: Maybe>; - texts?: Maybe; -}; - -export type IProductMediaTextsArgs = { - forceLocale?: InputMaybe; -}; - -export type IProductMediaTextInput = { - locale: Scalars['Locale']['input']; - subtitle?: InputMaybe; - title?: InputMaybe; -}; - -export type IProductMediaTexts = { - _id: Scalars['ID']['output']; - locale: Scalars['Locale']['output']; - subtitle?: Maybe; - title?: Maybe; -}; - -export type IProductPlanConfiguration = { - billingInterval: IProductPlanConfigurationInterval; - billingIntervalCount?: Maybe; - trialInterval?: Maybe; - trialIntervalCount?: Maybe; - usageCalculationType: IProductPlanUsageCalculationType; -}; - -export enum IProductPlanConfigurationInterval { - Days = 'DAYS', - Hours = 'HOURS', - Months = 'MONTHS', - Weeks = 'WEEKS', - Years = 'YEARS', -} - -export enum IProductPlanUsageCalculationType { - Licensed = 'LICENSED', - Metered = 'METERED', -} - -export type IProductReview = { - _id: Scalars['ID']['output']; - author: IUser; - created?: Maybe; - deleted?: Maybe; - ownVotes: Array; - product: IProduct; - rating?: Maybe; - review?: Maybe; - title?: Maybe; - updated?: Maybe; - voteCount?: Maybe; -}; - -export type IProductReviewVoteCountArgs = { - type?: InputMaybe; -}; - -export type IProductReviewInput = { - rating?: InputMaybe; - review?: InputMaybe; - title?: InputMaybe; -}; - -export type IProductReviewVote = { - _id: Scalars['ID']['output']; - timestamp: Scalars['Timestamp']['output']; - type: IProductReviewVoteType; -}; - -export enum IProductReviewVoteType { - Downvote = 'DOWNVOTE', - Report = 'REPORT', - Upvote = 'UPVOTE', -} - -/** Search result */ -export type IProductSearchResult = { - filteredProductsCount: Scalars['Int']['output']; - filters: Array; - products: Array; - productsCount: Scalars['Int']['output']; -}; - -/** Search result */ -export type IProductSearchResultProductsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; -}; - -export enum IProductStatus { - /** Published */ - Active = 'ACTIVE', - /** Deleted */ - Deleted = 'DELETED', - /** Unpublished (hidden from catalog) */ - Draft = 'DRAFT', -} - -export type IProductTextInput = { - brand?: InputMaybe; - description?: InputMaybe; - labels?: InputMaybe>; - locale: Scalars['Locale']['input']; - slug?: InputMaybe; - subtitle?: InputMaybe; - title?: InputMaybe; - vendor?: InputMaybe; -}; - -export type IProductTexts = { - _id: Scalars['ID']['output']; - brand?: Maybe; - description?: Maybe; - labels?: Maybe>; - locale: Scalars['Locale']['output']; - slug?: Maybe; - subtitle?: Maybe; - title?: Maybe; - vendor?: Maybe; -}; - -export enum IProductType { - BundleProduct = 'BUNDLE_PRODUCT', - ConfigurableProduct = 'CONFIGURABLE_PRODUCT', - PlanProduct = 'PLAN_PRODUCT', - SimpleProduct = 'SIMPLE_PRODUCT', - TokenizedProduct = 'TOKENIZED_PRODUCT', -} - -export type IProductVariation = { - _id: Scalars['ID']['output']; - key?: Maybe; - options?: Maybe>; - texts?: Maybe; - type?: Maybe; -}; - -export type IProductVariationTextsArgs = { - forceLocale?: InputMaybe; -}; - -/** Key Value Combination to Product Assignment */ -export type IProductVariationAssignment = { - _id: Scalars['ID']['output']; - /** Assigned Product */ - product?: Maybe; - /** Query string key=val&key=val ... */ - vectors?: Maybe>; -}; - -/** Key Value Combination */ -export type IProductVariationAssignmentVector = { - _id: Scalars['ID']['output']; - option?: Maybe; - variation?: Maybe; -}; - -export type IProductVariationOption = { - _id: Scalars['ID']['output']; - texts?: Maybe; - value?: Maybe; -}; - -export type IProductVariationOptionTextsArgs = { - forceLocale?: InputMaybe; -}; - -export type IProductVariationTextInput = { - locale: Scalars['Locale']['input']; - subtitle?: InputMaybe; - title?: InputMaybe; -}; - -export type IProductVariationTexts = { - _id: Scalars['ID']['output']; - locale: Scalars['Locale']['output']; - subtitle?: Maybe; - title?: Maybe; -}; - -export enum IProductVariationType { - /** Color Picker */ - Color = 'COLOR', - /** Text Answers */ - Text = 'TEXT', -} - -export type IPushSubscription = { - _id: Scalars['ID']['output']; - endpoint: Scalars['String']['output']; - expirationTime?: Maybe; - userAgent?: Maybe; -}; - -export type IQuery = { - /** Get List of currently registered worker plugins */ - activeWorkTypes: Array; - /** Get a specific assortment by ID */ - assortment?: Maybe; - /** Get all root assortments, by default sorted by sequence (ascending) */ - assortments: Array; - /** Returns total number of assortments that match a given criteria or all if no criteria is given */ - assortmentsCount: Scalars['Int']['output']; - /** Get all countries, by default sorted by creation date (ascending) */ - countries: Array; - /** Returns total number of countries */ - countriesCount: Scalars['Int']['output']; - /** Get a specific country by ID */ - country?: Maybe; - /** Get all currencies, by default sorted by creation date (ascending) */ - currencies: Array; - /** Returns total number of currencies */ - currenciesCount: Scalars['Int']['output']; - /** Get a specific currency by ID */ - currency?: Maybe; - /** Get all delivery interfaces filtered by type */ - deliveryInterfaces: Array; - /** Get a specific delivery provider by ID */ - deliveryProvider?: Maybe; - /** Get all delivery providers, optionally filtered by type */ - deliveryProviders: Array; - /** Returns total number of delivery providers, optionally filtered by type */ - deliveryProvidersCount: Scalars['Int']['output']; - /** Get a specific quotation by ID */ - enrollment?: Maybe; - /** Get all enrollments, by default sorted by creation date (ascending) */ - enrollments: Array; - /** Returns total number of enrollments */ - enrollmentsCount: Scalars['Int']['output']; - /** Get a specific work unit by ID */ - event?: Maybe; - /** Returns aggregated report of all the events that occurred in the system */ - eventStatistics: Array; - /** Get all emitted events, by default sorted by creation date (desc) */ - events: Array; - /** Get total count of all emitted events */ - eventsCount: Scalars['Int']['output']; - /** Get a specific filter by ID */ - filter?: Maybe; - /** Get all filters, by default sorted by creation date (ascending) */ - filters: Array; - /** Returns total number of filters */ - filtersCount: Scalars['Int']['output']; - /** Search across multiple entity types in a single request */ - globalSearch: IGlobalSearchResponse; - /** User impersonating currently logged in user */ - impersonator?: Maybe; - /** Get a specific language */ - language?: Maybe; - /** Get all languages, by default sorted by creation date (ascending) */ - languages: Array>; - /** Returns total number languages */ - languagesCount: Scalars['Int']['output']; - /** Currently logged in user */ - me?: Maybe; - /** Get a specific single order */ - order?: Maybe; - /** Returns aggregated report of all the orders that occurred in the system */ - orderStatistics: IOrderStatistics; - /** Get all orders, by default sorted by creation date (descending) */ - orders: Array; - /** Returns total number of orders */ - ordersCount: Scalars['Int']['output']; - /** Get all payment interfaces filtered by type */ - paymentInterfaces: Array; - /** Get a specific payment provider by ID */ - paymentProvider?: Maybe; - /** Get all payment providers, optionally filtered by type */ - paymentProviders: Array; - /** Returns total number of payment providers, optionally filtered by type */ - paymentProvidersCount: Scalars['Int']['output']; - /** Get a specific product by id or slug */ - product?: Maybe; - /** List products specified prices */ - productCatalogPrices: Array; - /** Get a specific product review by ID */ - productReview: IProductReview; - /** Get all product reviews, by default sorted by creation date (descending) */ - productReviews: Array; - /** Returns total number of product reviews */ - productReviewsCount: Scalars['Int']['output']; - /** - * Simple list of published products filtered either by tags or explicit slugs - * If a slug is provided, limit and offset don't have any effect on the result - * By default sorted by sequence (ascending) and published (ascending) unless a queryString is set - */ - products: Array; - /** - * Return total number of published products filtered either by tags or explicit slugs - * If a slug is provided - */ - productsCount: Scalars['Int']['output']; - /** Get a specific quotation by ID */ - quotation?: Maybe; - /** Get all quotations, by default sorted by creation date (ascending) */ - quotations: Array; - /** Returns total number of quotations */ - quotationsCount: Scalars['Int']['output']; - /** Get all registered event types */ - registeredEventTypes: Array; - /** Search assortments */ - searchAssortments: IAssortmentSearchResult; - /** Search products */ - searchProducts: IProductSearchResult; - /** Get shop-global data and the resolved country/language pair */ - shopInfo: IShop; - /** Get token */ - token?: Maybe; - /** Get all tokens */ - tokens: Array; - /** Returns total tokens */ - tokensCount: Scalars['Int']['output']; - /** Localization: Media title/subtitle of a media that is attached to a assortment */ - translatedAssortmentMediaTexts: Array; - /** Localization: Meta data for assortments */ - translatedAssortmentTexts: Array; - /** Localization: Filters and Filter Options */ - translatedFilterTexts: Array; - /** Localization: Media title/subtitle of a media that is attached to a product */ - translatedProductMediaTexts: Array; - /** Localization: Meta data for product */ - translatedProductTexts: Array; - /** Localization: Variations and Variation Options */ - translatedProductVariationTexts: Array; - /** Specific user data if userId provided, else returns currently logged in */ - user?: Maybe; - /** Get list of users, by default sorted by creation date (ascending) unless a queryString is set */ - users: Array; - /** Get total number of users in the system that match query */ - usersCount: Scalars['Int']['output']; - /** Determines if a token is valid/active for reset password */ - validateResetPasswordToken: Scalars['Boolean']['output']; - /** Determines if a token is valid/active for email verification */ - validateVerifyEmailToken: Scalars['Boolean']['output']; - /** Get all warehousing interfaces filtered by type */ - warehousingInterfaces: Array; - /** Get a specific warehousing provider by ID */ - warehousingProvider?: Maybe; - /** Get all warehousing providers, optionally filtered by type */ - warehousingProviders: Array; - /** Returns total number of delivery providers, optionally filtered by type */ - warehousingProvidersCount: Scalars['Int']['output']; - /** Get a specific work unit by ID */ - work?: Maybe; - /** Get all work from the queue, by default sorted by start date (desc), priority (desc), originalWorkId (asc) and created (asc) */ - workQueue: Array; - /** Return total number of workers filtered the provided arguments */ - workQueueCount: Scalars['Int']['output']; - /** Returns aggregated report of all the worker jobs that occurred in the system */ - workStatistics: Array; -}; - -export type IQueryAssortmentArgs = { - assortmentId?: InputMaybe; - slug?: InputMaybe; -}; - -export type IQueryAssortmentsArgs = { - includeInactive?: InputMaybe; - includeLeaves?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - slugs?: InputMaybe>; - sort?: InputMaybe>; - tags?: InputMaybe>; -}; - -export type IQueryAssortmentsCountArgs = { - includeInactive?: InputMaybe; - includeLeaves?: InputMaybe; - queryString?: InputMaybe; - slugs?: InputMaybe>; - tags?: InputMaybe>; -}; - -export type IQueryCountriesArgs = { - includeInactive?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -export type IQueryCountriesCountArgs = { - includeInactive?: InputMaybe; - queryString?: InputMaybe; -}; - -export type IQueryCountryArgs = { - countryId: Scalars['ID']['input']; -}; - -export type IQueryCurrenciesArgs = { - includeInactive?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -export type IQueryCurrenciesCountArgs = { - includeInactive?: InputMaybe; - queryString?: InputMaybe; -}; - -export type IQueryCurrencyArgs = { - currencyId: Scalars['ID']['input']; -}; - -export type IQueryDeliveryInterfacesArgs = { - type?: InputMaybe; -}; - -export type IQueryDeliveryProviderArgs = { - deliveryProviderId: Scalars['ID']['input']; -}; - -export type IQueryDeliveryProvidersArgs = { - type?: InputMaybe; -}; - -export type IQueryDeliveryProvidersCountArgs = { - type?: InputMaybe; -}; - -export type IQueryEnrollmentArgs = { - enrollmentId: Scalars['ID']['input']; -}; - -export type IQueryEnrollmentsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - status?: InputMaybe>; -}; - -export type IQueryEnrollmentsCountArgs = { - queryString?: InputMaybe; - status?: InputMaybe>; -}; - -export type IQueryEventArgs = { - eventId: Scalars['ID']['input']; -}; - -export type IQueryEventStatisticsArgs = { - dateRange?: InputMaybe; - types?: InputMaybe>; -}; - -export type IQueryEventsArgs = { - created?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - types?: InputMaybe>; -}; - -export type IQueryEventsCountArgs = { - created?: InputMaybe; - queryString?: InputMaybe; - types?: InputMaybe>; -}; - -export type IQueryFilterArgs = { - filterId?: InputMaybe; -}; - -export type IQueryFiltersArgs = { - includeInactive?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -export type IQueryFiltersCountArgs = { - includeInactive?: InputMaybe; - queryString?: InputMaybe; -}; - -export type IQueryGlobalSearchArgs = { - includeCarts?: InputMaybe; - includeDraftProducts?: InputMaybe; - includeGuestUsers?: InputMaybe; - includeInactiveAssortments?: InputMaybe; - includeInactiveFilters?: InputMaybe; - limit?: InputMaybe; - query: Scalars['String']['input']; - typeLimits?: InputMaybe>; - types?: InputMaybe>; -}; - -export type IQueryLanguageArgs = { - languageId: Scalars['ID']['input']; -}; - -export type IQueryLanguagesArgs = { - includeInactive?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -export type IQueryLanguagesCountArgs = { - includeInactive?: InputMaybe; - queryString?: InputMaybe; -}; - -export type IQueryOrderArgs = { - orderId: Scalars['ID']['input']; -}; - -export type IQueryOrderStatisticsArgs = { - dateRange?: InputMaybe; -}; - -export type IQueryOrdersArgs = { - dateRange?: InputMaybe; - deliveryProviderIds?: InputMaybe>; - includeCarts?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - paymentProviderIds?: InputMaybe>; - queryString?: InputMaybe; - sort?: InputMaybe>; - status?: InputMaybe>; -}; - -export type IQueryOrdersCountArgs = { - dateRange?: InputMaybe; - deliveryProviderIds?: InputMaybe>; - includeCarts?: InputMaybe; - paymentProviderIds?: InputMaybe>; - queryString?: InputMaybe; - status?: InputMaybe>; -}; - -export type IQueryPaymentInterfacesArgs = { - type?: InputMaybe; -}; - -export type IQueryPaymentProviderArgs = { - paymentProviderId: Scalars['ID']['input']; -}; - -export type IQueryPaymentProvidersArgs = { - type?: InputMaybe; -}; - -export type IQueryPaymentProvidersCountArgs = { - type?: InputMaybe; -}; - -export type IQueryProductArgs = { - productId?: InputMaybe; - slug?: InputMaybe; -}; - -export type IQueryProductCatalogPricesArgs = { - productId: Scalars['ID']['input']; -}; - -export type IQueryProductReviewArgs = { - productReviewId: Scalars['ID']['input']; -}; - -export type IQueryProductReviewsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -export type IQueryProductReviewsCountArgs = { - queryString?: InputMaybe; -}; - -export type IQueryProductsArgs = { - includeDrafts?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - slugs?: InputMaybe>; - sort?: InputMaybe>; - tags?: InputMaybe>; -}; - -export type IQueryProductsCountArgs = { - includeDrafts?: InputMaybe; - queryString?: InputMaybe; - slugs?: InputMaybe>; - tags?: InputMaybe>; -}; - -export type IQueryQuotationArgs = { - quotationId: Scalars['ID']['input']; -}; - -export type IQueryQuotationsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -export type IQueryQuotationsCountArgs = { - queryString?: InputMaybe; -}; - -export type IQuerySearchAssortmentsArgs = { - assortmentIds?: InputMaybe>; - includeInactive?: InputMaybe; - orderBy?: InputMaybe; - queryString?: InputMaybe; -}; - -export type IQuerySearchProductsArgs = { - assortmentId?: InputMaybe; - filterQuery?: InputMaybe>; - ignoreChildAssortments?: InputMaybe; - includeInactive?: InputMaybe; - orderBy?: InputMaybe; - queryString?: InputMaybe; -}; - -export type IQueryTokenArgs = { - tokenId: Scalars['ID']['input']; -}; - -export type IQueryTokensArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; -}; - -export type IQueryTokensCountArgs = { - queryString?: InputMaybe; -}; - -export type IQueryTranslatedAssortmentMediaTextsArgs = { - assortmentMediaId: Scalars['ID']['input']; -}; - -export type IQueryTranslatedAssortmentTextsArgs = { - assortmentId: Scalars['ID']['input']; -}; - -export type IQueryTranslatedFilterTextsArgs = { - filterId: Scalars['ID']['input']; - filterOptionValue?: InputMaybe; -}; - -export type IQueryTranslatedProductMediaTextsArgs = { - productMediaId: Scalars['ID']['input']; -}; - -export type IQueryTranslatedProductTextsArgs = { - productId: Scalars['ID']['input']; -}; - -export type IQueryTranslatedProductVariationTextsArgs = { - productVariationId: Scalars['ID']['input']; - productVariationOptionValue?: InputMaybe; -}; - -export type IQueryUserArgs = { - userId?: InputMaybe; -}; - -export type IQueryUsersArgs = { - emailVerified?: InputMaybe; - includeGuests?: InputMaybe; - lastLogin?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - tags?: InputMaybe>; -}; - -export type IQueryUsersCountArgs = { - emailVerified?: InputMaybe; - includeGuests?: InputMaybe; - lastLogin?: InputMaybe; - queryString?: InputMaybe; - tags?: InputMaybe>; -}; - -export type IQueryValidateResetPasswordTokenArgs = { - token: Scalars['String']['input']; -}; - -export type IQueryValidateVerifyEmailTokenArgs = { - token: Scalars['String']['input']; -}; - -export type IQueryWarehousingInterfacesArgs = { - type?: InputMaybe; -}; - -export type IQueryWarehousingProviderArgs = { - warehousingProviderId: Scalars['ID']['input']; -}; - -export type IQueryWarehousingProvidersArgs = { - type?: InputMaybe; -}; - -export type IQueryWarehousingProvidersCountArgs = { - type?: InputMaybe; -}; - -export type IQueryWorkArgs = { - workId: Scalars['ID']['input']; -}; - -export type IQueryWorkQueueArgs = { - created?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - status?: InputMaybe>; - types?: InputMaybe>; -}; - -export type IQueryWorkQueueCountArgs = { - created?: InputMaybe; - queryString?: InputMaybe; - status?: InputMaybe>; - types?: InputMaybe>; -}; - -export type IQueryWorkStatisticsArgs = { - dateRange?: InputMaybe; - types?: InputMaybe>; -}; - -/** Quotation */ -export type IQuotation = { - _id: Scalars['ID']['output']; - configuration?: Maybe>; - country?: Maybe; - created: Scalars['DateTimeISO']['output']; - currency?: Maybe; - expires?: Maybe; - fulfilled?: Maybe; - isExpired?: Maybe; - product: IProduct; - quotationNumber?: Maybe; - rejected?: Maybe; - status: IQuotationStatus; - updated?: Maybe; - user: IUser; -}; - -/** Quotation */ -export type IQuotationIsExpiredArgs = { - referenceDate?: InputMaybe; -}; - -export enum IQuotationDocumentType { - /** Other */ - Other = 'OTHER', - /** Proposal */ - Proposal = 'PROPOSAL', -} - -export enum IQuotationStatus { - /** Quotation has been used to order the product */ - Fulfilled = 'FULFILLED', - /** Awaiting Offer */ - Processing = 'PROCESSING', - /** Proposal ready */ - Proposed = 'PROPOSED', - /** Quotation has been rejected by either party */ - Rejected = 'REJECTED', - /** Request for Proposal */ - Requested = 'REQUESTED', -} - -export type IReorderAssortmentFilterInput = { - assortmentFilterId: Scalars['ID']['input']; - sortKey: Scalars['Int']['input']; -}; - -export type IReorderAssortmentLinkInput = { - assortmentLinkId: Scalars['ID']['input']; - sortKey: Scalars['Int']['input']; -}; - -export type IReorderAssortmentMediaInput = { - assortmentMediaId: Scalars['ID']['input']; - sortKey: Scalars['Int']['input']; -}; - -export type IReorderAssortmentProductInput = { - assortmentProductId: Scalars['ID']['input']; - sortKey: Scalars['Int']['input']; -}; - -export type IReorderProductMediaInput = { - productMediaId: Scalars['ID']['input']; - sortKey: Scalars['Int']['input']; -}; - -export enum IRoleAction { - AnswerQuotation = 'answerQuotation', - BookmarkProduct = 'bookmarkProduct', - BulkImport = 'bulkImport', - ChangePassword = 'changePassword', - CheckoutCart = 'checkoutCart', - ConfirmMediaUpload = 'confirmMediaUpload', - CreateCart = 'createCart', - CreateEnrollment = 'createEnrollment', - CreateUser = 'createUser', - DownloadFile = 'downloadFile', - EnrollUser = 'enrollUser', - ForgotPassword = 'forgotPassword', - Heartbeat = 'heartbeat', - Impersonate = 'impersonate', - LoginAsGuest = 'loginAsGuest', - LoginWithPassword = 'loginWithPassword', - LoginWithWebAuthn = 'loginWithWebAuthn', - Logout = 'logout', - LogoutAllSessions = 'logoutAllSessions', - ManageAssortments = 'manageAssortments', - ManageBookmarks = 'manageBookmarks', - ManageCountries = 'manageCountries', - ManageCurrencies = 'manageCurrencies', - ManageDeliveryProviders = 'manageDeliveryProviders', - ManageFilters = 'manageFilters', - ManageLanguages = 'manageLanguages', - ManagePaymentCredentials = 'managePaymentCredentials', - ManagePaymentProviders = 'managePaymentProviders', - ManageProductReviews = 'manageProductReviews', - ManageProducts = 'manageProducts', - ManageQuotations = 'manageQuotations', - ManageUsers = 'manageUsers', - ManageWarehousingProviders = 'manageWarehousingProviders', - ManageWorker = 'manageWorker', - MarkOrderConfirmed = 'markOrderConfirmed', - MarkOrderDelivered = 'markOrderDelivered', - MarkOrderPaid = 'markOrderPaid', - MarkOrderRejected = 'markOrderRejected', - PageView = 'pageView', - RegisterPaymentCredentials = 'registerPaymentCredentials', - RemoveUser = 'removeUser', - RequestQuotation = 'requestQuotation', - ResetPassword = 'resetPassword', - ReviewProduct = 'reviewProduct', - Search = 'search', - SendEmail = 'sendEmail', - StopImpersonation = 'stopImpersonation', - UpdateCart = 'updateCart', - UpdateEnrollment = 'updateEnrollment', - UpdateOrder = 'updateOrder', - UpdateOrderDelivery = 'updateOrderDelivery', - UpdateOrderDiscount = 'updateOrderDiscount', - UpdateOrderItem = 'updateOrderItem', - UpdateOrderPayment = 'updateOrderPayment', - UpdateProductReview = 'updateProductReview', - UpdateToken = 'updateToken', - UpdateUser = 'updateUser', - UpdateUsername = 'updateUsername', - UploadTempFile = 'uploadTempFile', - UploadUserAvatar = 'uploadUserAvatar', - UseWebAuthn = 'useWebAuthn', - VerifyEmail = 'verifyEmail', - ViewAssortment = 'viewAssortment', - ViewAssortments = 'viewAssortments', - ViewCountries = 'viewCountries', - ViewCountry = 'viewCountry', - ViewCurrencies = 'viewCurrencies', - ViewCurrency = 'viewCurrency', - ViewDeliveryInterfaces = 'viewDeliveryInterfaces', - ViewDeliveryProvider = 'viewDeliveryProvider', - ViewDeliveryProviders = 'viewDeliveryProviders', - ViewEnrollment = 'viewEnrollment', - ViewEnrollments = 'viewEnrollments', - ViewEvent = 'viewEvent', - ViewEvents = 'viewEvents', - ViewFilter = 'viewFilter', - ViewFilters = 'viewFilters', - ViewLanguage = 'viewLanguage', - ViewLanguages = 'viewLanguages', - ViewLogs = 'viewLogs', - ViewOrder = 'viewOrder', - ViewOrders = 'viewOrders', - ViewPaymentInterfaces = 'viewPaymentInterfaces', - ViewPaymentProvider = 'viewPaymentProvider', - ViewPaymentProviders = 'viewPaymentProviders', - ViewProduct = 'viewProduct', - ViewProducts = 'viewProducts', - ViewQuotation = 'viewQuotation', - ViewQuotations = 'viewQuotations', - ViewShopInfo = 'viewShopInfo', - ViewStatistics = 'viewStatistics', - ViewToken = 'viewToken', - ViewTokens = 'viewTokens', - ViewTranslations = 'viewTranslations', - ViewUser = 'viewUser', - ViewUserCount = 'viewUserCount', - ViewUserEnrollments = 'viewUserEnrollments', - ViewUserOrders = 'viewUserOrders', - ViewUserPrivateInfos = 'viewUserPrivateInfos', - ViewUserProductReviews = 'viewUserProductReviews', - ViewUserPublicInfos = 'viewUserPublicInfos', - ViewUserQuotations = 'viewUserQuotations', - ViewUserRoles = 'viewUserRoles', - ViewUserTokens = 'viewUserTokens', - ViewUsers = 'viewUsers', - ViewWarehousingInterfaces = 'viewWarehousingInterfaces', - ViewWarehousingProvider = 'viewWarehousingProvider', - ViewWarehousingProviders = 'viewWarehousingProviders', - ViewWork = 'viewWork', - ViewWorkQueue = 'viewWorkQueue', - VoteProductReview = 'voteProductReview', -} - -export enum ISearchOrderBy { - Default = 'default', -} - -/** Search result */ -export type ISearchResult = { - filteredProductsCount: Scalars['Int']['output']; - filters: Array; - products: Array; - productsCount: Scalars['Int']['output']; -}; - -/** Search result */ -export type ISearchResultProductsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; -}; - -export enum ISearchableEntity { - Assortment = 'ASSORTMENT', - Enrollment = 'ENROLLMENT', - Filter = 'FILTER', - Order = 'ORDER', - Product = 'PRODUCT', - Quotation = 'QUOTATION', - User = 'USER', - Work = 'WORK', -} - -export type IShop = { - _id: Scalars['ID']['output']; - adminUiConfig: IAdminUiConfig; - country?: Maybe; - language?: Maybe; - userRoles: Array; - vapidPublicKey?: Maybe; - version?: Maybe; -}; - -/** Simple Product */ -export type ISimpleProduct = IProduct & { - _id: Scalars['ID']['output']; - assortmentPaths: Array; - baseUnit?: Maybe; - catalogPrice?: Maybe; - created?: Maybe; - defaultOrderQuantity?: Maybe; - dimensions?: Maybe; - leveledCatalogPrices: Array; - media: Array; - proxies: Array; - published?: Maybe; - reviews: Array; - reviewsCount: Scalars['Int']['output']; - salesQuantityPerUnit?: Maybe; - salesUnit?: Maybe; - sequence: Scalars['Int']['output']; - siblings: Array; - simulatedDispatches?: Maybe>; - simulatedPrice?: Maybe; - simulatedStocks?: Maybe>; - sku?: Maybe; - status: IProductStatus; - tags?: Maybe>; - texts?: Maybe; - updated?: Maybe; -}; - -/** Simple Product */ -export type ISimpleProductCatalogPriceArgs = { - currencyCode?: InputMaybe; - quantity?: InputMaybe; -}; - -/** Simple Product */ -export type ISimpleProductLeveledCatalogPricesArgs = { - currencyCode?: InputMaybe; -}; - -/** Simple Product */ -export type ISimpleProductMediaArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - tags?: InputMaybe>; -}; - -/** Simple Product */ -export type ISimpleProductReviewsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -/** Simple Product */ -export type ISimpleProductReviewsCountArgs = { - queryString?: InputMaybe; -}; - -/** Simple Product */ -export type ISimpleProductSiblingsArgs = { - assortmentId?: InputMaybe; - includeInactive?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; -}; - -/** Simple Product */ -export type ISimpleProductSimulatedDispatchesArgs = { - deliveryProviderType?: InputMaybe; - quantity?: InputMaybe; - referenceDate?: InputMaybe; -}; - -/** Simple Product */ -export type ISimpleProductSimulatedPriceArgs = { - configuration?: InputMaybe>; - currencyCode?: InputMaybe; - quantity?: InputMaybe; - useNetPrice?: InputMaybe; -}; - -/** Simple Product */ -export type ISimpleProductSimulatedStocksArgs = { - deliveryProviderType?: InputMaybe; - referenceDate?: InputMaybe; -}; - -/** Simple Product */ -export type ISimpleProductTextsArgs = { - forceLocale?: InputMaybe; -}; - -export enum ISmartContractStandard { - Erc721 = 'ERC721', - Erc1155 = 'ERC1155', -} - -export enum ISortDirection { - Asc = 'ASC', - Desc = 'DESC', -} - -export type ISortOptionInput = { - key: Scalars['String']['input']; - value: ISortDirection; -}; - -export type IStock = { - deliveryProvider?: Maybe; - quantity?: Maybe; - warehousingProvider?: Maybe; -}; - -export type ISuccessResponse = { - success?: Maybe; -}; - -export type IToken = { - _id: Scalars['ID']['output']; - /** Get an access key that you can pass along the HTTP Header "x-token-accesskey" to access the token anonymously. */ - accessKey: Scalars['String']['output']; - chainId?: Maybe; - contractAddress?: Maybe; - ercMetadata?: Maybe; - expiryDate?: Maybe; - invalidatedDate?: Maybe; - isInvalidateable: Scalars['Boolean']['output']; - product: ITokenizedProduct; - quantity: Scalars['Int']['output']; - status: ITokenExportStatus; - tokenSerialNumber?: Maybe; - user?: Maybe; - walletAddress?: Maybe; -}; - -export type ITokenErcMetadataArgs = { - forceLocale?: InputMaybe; -}; - -export enum ITokenExportStatus { - Centralized = 'CENTRALIZED', - Decentralized = 'DECENTRALIZED', - Exporting = 'EXPORTING', -} - -/** Tokenized Product (Blockchain materialized Product) */ -export type ITokenizedProduct = IProduct & { - _id: Scalars['ID']['output']; - assortmentPaths: Array; - catalogPrice?: Maybe; - contractAddress?: Maybe; - contractConfiguration?: Maybe; - contractStandard?: Maybe; - created?: Maybe; - leveledCatalogPrices: Array; - media: Array; - proxies: Array; - published?: Maybe; - reviews: Array; - reviewsCount: Scalars['Int']['output']; - sequence: Scalars['Int']['output']; - siblings: Array; - simulatedPrice?: Maybe; - simulatedStocks?: Maybe>; - status: IProductStatus; - tags?: Maybe>; - texts?: Maybe; - tokens: Array; - tokensCount: Scalars['Int']['output']; - updated?: Maybe; -}; - -/** Tokenized Product (Blockchain materialized Product) */ -export type ITokenizedProductAssortmentPathsArgs = { - forceLocale?: InputMaybe; -}; - -/** Tokenized Product (Blockchain materialized Product) */ -export type ITokenizedProductCatalogPriceArgs = { - currencyCode?: InputMaybe; - quantity?: InputMaybe; -}; - -/** Tokenized Product (Blockchain materialized Product) */ -export type ITokenizedProductLeveledCatalogPricesArgs = { - currencyCode?: InputMaybe; -}; - -/** Tokenized Product (Blockchain materialized Product) */ -export type ITokenizedProductMediaArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - tags?: InputMaybe>; -}; - -/** Tokenized Product (Blockchain materialized Product) */ -export type ITokenizedProductReviewsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -/** Tokenized Product (Blockchain materialized Product) */ -export type ITokenizedProductReviewsCountArgs = { - queryString?: InputMaybe; -}; - -/** Tokenized Product (Blockchain materialized Product) */ -export type ITokenizedProductSiblingsArgs = { - assortmentId?: InputMaybe; - includeInactive?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; -}; - -/** Tokenized Product (Blockchain materialized Product) */ -export type ITokenizedProductSimulatedPriceArgs = { - configuration?: InputMaybe>; - currencyCode?: InputMaybe; - quantity?: InputMaybe; - useNetPrice?: InputMaybe; -}; - -/** Tokenized Product (Blockchain materialized Product) */ -export type ITokenizedProductSimulatedStocksArgs = { - referenceDate?: InputMaybe; -}; - -/** Tokenized Product (Blockchain materialized Product) */ -export type ITokenizedProductTextsArgs = { - forceLocale?: InputMaybe; -}; - -export type IUpdateAssortmentInput = { - isActive?: InputMaybe; - isRoot?: InputMaybe; - sequence?: InputMaybe; - tags?: InputMaybe>; -}; - -export type IUpdateCountryInput = { - defaultCurrencyCode?: InputMaybe; - isActive?: InputMaybe; - isoCode: Scalars['String']['input']; -}; - -export type IUpdateCurrencyInput = { - contractAddress?: InputMaybe; - decimals?: InputMaybe; - isActive?: InputMaybe; - isoCode: Scalars['String']['input']; -}; - -export type IUpdateFilterInput = { - isActive?: InputMaybe; - key?: InputMaybe; -}; - -export type IUpdateLanguageInput = { - isActive?: InputMaybe; - isoCode: Scalars['String']['input']; -}; - -export type IUpdateProductCommerceInput = { - pricing: Array; -}; - -export type IUpdateProductCommercePricingInput = { - amount: Scalars['Int']['input']; - countryCode: Scalars['String']['input']; - currencyCode: Scalars['String']['input']; - isNetPrice?: InputMaybe; - isTaxable?: InputMaybe; - minQuantity?: InputMaybe; -}; - -export type IUpdateProductInput = { - meta?: InputMaybe; - sequence?: InputMaybe; - tags?: InputMaybe>; -}; - -export type IUpdateProductPlanInput = { - billingInterval: IProductPlanConfigurationInterval; - billingIntervalCount?: InputMaybe; - trialInterval?: InputMaybe; - trialIntervalCount?: InputMaybe; - usageCalculationType: IProductPlanUsageCalculationType; -}; - -export type IUpdateProductSupplyInput = { - heightInMillimeters?: InputMaybe; - lengthInMillimeters?: InputMaybe; - weightInGram?: InputMaybe; - widthInMillimeters?: InputMaybe; -}; - -export type IUpdateProductTokenizationInput = { - contractAddress: Scalars['String']['input']; - contractStandard: ISmartContractStandard; - ercMetadataProperties?: InputMaybe; - supply: Scalars['Int']['input']; - tokenId: Scalars['String']['input']; -}; - -export type IUpdateProductWarehousingInput = { - baseUnit?: InputMaybe; - sku?: InputMaybe; -}; - -export type IUpdateProviderInput = { - configuration?: InputMaybe>; -}; - -export type IUser = { - _id: Scalars['ID']['output']; - allowedActions: Array; - avatar?: Maybe; - bookmarks: Array; - cart?: Maybe; - country?: Maybe; - created: Scalars['DateTimeISO']['output']; - deleted?: Maybe; - emails?: Maybe>; - enrollments: Array; - isGuest: Scalars['Boolean']['output']; - isInitialPassword: Scalars['Boolean']['output']; - language?: Maybe; - lastBillingAddress?: Maybe; - lastContact?: Maybe; - lastLogin?: Maybe; - name: Scalars['String']['output']; - orders: Array; - paymentCredentials: Array; - primaryEmail?: Maybe; - profile?: Maybe; - pushSubscriptions: Array; - quotations: Array; - reviews: Array; - reviewsCount: Scalars['Int']['output']; - roles?: Maybe>; - tags?: Maybe>; - tokens: Array; - updated?: Maybe; - username?: Maybe; - web3Addresses: Array; - webAuthnCredentials: Array; -}; - -export type IUserCartArgs = { - orderNumber?: InputMaybe; -}; - -export type IUserEnrollmentsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - status?: InputMaybe>; -}; - -export type IUserOrdersArgs = { - includeCarts?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - status?: InputMaybe>; -}; - -export type IUserQuotationsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}; - -export type IUserReviewsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - sort?: InputMaybe>; -}; - -export type IUserEmail = { - address: Scalars['String']['output']; - verified: Scalars['Boolean']['output']; -}; - -export type IUserLoginTracker = { - countryCode?: Maybe; - locale?: Maybe; - remoteAddress?: Maybe; - remotePort?: Maybe; - timestamp: Scalars['Timestamp']['output']; - userAgent?: Maybe; -}; - -export type IUserProfile = { - address?: Maybe; - birthday?: Maybe; - displayName?: Maybe; - gender?: Maybe; - phoneMobile?: Maybe; -}; - -export type IUserProfileInput = { - address?: InputMaybe; - birthday?: InputMaybe; - displayName?: InputMaybe; - gender?: InputMaybe; - phoneMobile?: InputMaybe; -}; - -export type IWarehousingInterface = { - _id: Scalars['ID']['output']; - label?: Maybe; - version?: Maybe; -}; - -export type IWarehousingProvider = { - _id: Scalars['ID']['output']; - configuration?: Maybe; - configurationError?: Maybe; - created?: Maybe; - deleted?: Maybe; - interface?: Maybe; - isActive?: Maybe; - type?: Maybe; - updated?: Maybe; -}; - -export enum IWarehousingProviderError { - AdapterNotFound = 'ADAPTER_NOT_FOUND', - IncompleteConfiguration = 'INCOMPLETE_CONFIGURATION', - NotImplemented = 'NOT_IMPLEMENTED', - WrongCredentials = 'WRONG_CREDENTIALS', -} - -export enum IWarehousingProviderType { - /** Physical warehousing providers resemble stores or facilities that hold a quantity of stocks physically in stock. */ - Physical = 'PHYSICAL', - /** Virtual warehousing providers resemble software that control ownership and validity of virtual products (for ex. smart contract bridges) */ - Virtual = 'VIRTUAL', -} - -export type IWeb3Address = { - address: Scalars['String']['output']; - nonce?: Maybe; - verified: Scalars['Boolean']['output']; -}; - -export type IWebAuthnCredentials = { - _id: Scalars['ID']['output']; - aaguid: Scalars['String']['output']; - counter: Scalars['Int']['output']; - created: Scalars['DateTimeISO']['output']; - mdsMetadata?: Maybe; -}; - -export type IWebAuthnMdSv3Metadata = { - attachmentHint?: Maybe>; - attestationRootCertificates?: Maybe>; - attestationTypes?: Maybe>; - authenticationAlgorithms?: Maybe>; - authenticatorGetInfo?: Maybe; - authenticatorVersion?: Maybe; - cryptoStrength?: Maybe; - description?: Maybe; - icon?: Maybe; - keyProtection?: Maybe>; - legalHeader?: Maybe; - matcherProtection?: Maybe>; - protocolFamily?: Maybe; - publicKeyAlgAndEncodings?: Maybe>; - schema?: Maybe; - tcDisplay?: Maybe>; - upv?: Maybe>; - userVerificationDetails?: Maybe>; -}; - -export type IWork = { - _id: Scalars['ID']['output']; - autoscheduled?: Maybe; - created: Scalars['DateTimeISO']['output']; - deleted?: Maybe; - error?: Maybe; - finished?: Maybe; - input?: Maybe; - original?: Maybe; - priority: Scalars['Int']['output']; - result?: Maybe; - retries: Scalars['Int']['output']; - scheduled?: Maybe; - started?: Maybe; - status: IWorkStatus; - success?: Maybe; - timeout?: Maybe; - type: IWorkType; - updated?: Maybe; - worker?: Maybe; -}; - -export type IWorkOutput = { - error?: Maybe; - result?: Maybe; - success: Scalars['Boolean']['output']; -}; - -export type IWorkStatistics = { - deleteCount: Scalars['Int']['output']; - errorCount: Scalars['Int']['output']; - newCount: Scalars['Int']['output']; - startCount: Scalars['Int']['output']; - successCount: Scalars['Int']['output']; - type: IWorkType; -}; - -export enum IWorkStatus { - Allocated = 'ALLOCATED', - Deleted = 'DELETED', - Failed = 'FAILED', - New = 'NEW', - Success = 'SUCCESS', -} - -export enum IWorkType { - Budgetsms = 'BUDGETSMS', - Bulkgate = 'BULKGATE', - BulkExport = 'BULK_EXPORT', - BulkImport = 'BULK_IMPORT', - Email = 'EMAIL', - EnrollmentOrderGenerator = 'ENROLLMENT_ORDER_GENERATOR', - ErrorNotifications = 'ERROR_NOTIFICATIONS', - ExportToken = 'EXPORT_TOKEN', - External = 'EXTERNAL', - Heartbeat = 'HEARTBEAT', - HttpRequest = 'HTTP_REQUEST', - Message = 'MESSAGE', - Push = 'PUSH', - RefreshTokens = 'REFRESH_TOKENS', - Twilio = 'TWILIO', - Unknown = 'UNKNOWN', - UpdateCoinbaseRates = 'UPDATE_COINBASE_RATES', - UpdateEcbRates = 'UPDATE_ECB_RATES', - UpdateTokenOwnership = 'UPDATE_TOKEN_OWNERSHIP', - ZombieKiller = 'ZOMBIE_KILLER', -} - -/** One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string. */ -export type I__EnumValue = { - name: Scalars['String']['output']; - description?: Maybe; - isDeprecated: Scalars['Boolean']['output']; - deprecationReason?: Maybe; -}; - -/** Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type. */ -export type I__Field = { - name: Scalars['String']['output']; - description?: Maybe; - args: Array; - type: I__Type; - isDeprecated: Scalars['Boolean']['output']; - deprecationReason?: Maybe; -}; - -/** Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type. */ -export type I__FieldArgsArgs = { - includeDeprecated?: InputMaybe; -}; - -/** Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value. */ -export type I__InputValue = { - name: Scalars['String']['output']; - description?: Maybe; - type: I__Type; - /** A GraphQL-formatted string representing the default value for this input value. */ - defaultValue?: Maybe; - isDeprecated: Scalars['Boolean']['output']; - deprecationReason?: Maybe; -}; - -/** - * The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum. - * - * Depending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types. - */ -export type I__Type = { - kind: I__TypeKind; - name?: Maybe; - description?: Maybe; - specifiedByURL?: Maybe; - fields?: Maybe>; - interfaces?: Maybe>; - possibleTypes?: Maybe>; - enumValues?: Maybe>; - inputFields?: Maybe>; - ofType?: Maybe; - isOneOf?: Maybe; -}; - -/** - * The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum. - * - * Depending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types. - */ -export type I__TypeFieldsArgs = { - includeDeprecated?: InputMaybe; -}; - -/** - * The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum. - * - * Depending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types. - */ -export type I__TypeEnumValuesArgs = { - includeDeprecated?: InputMaybe; -}; - -/** - * The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum. - * - * Depending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types. - */ -export type I__TypeInputFieldsArgs = { - includeDeprecated?: InputMaybe; -}; - -/** An enum describing what kind of type a given `__Type` is. */ -export enum I__TypeKind { - /** Indicates this type is a scalar. */ - Scalar = 'SCALAR', - /** Indicates this type is an object. `fields` and `interfaces` are valid fields. */ - Object = 'OBJECT', - /** Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields. */ - Interface = 'INTERFACE', - /** Indicates this type is a union. `possibleTypes` is a valid field. */ - Union = 'UNION', - /** Indicates this type is an enum. `enumValues` is a valid field. */ - Enum = 'ENUM', - /** Indicates this type is an input object. `inputFields` is a valid field. */ - InputObject = 'INPUT_OBJECT', - /** Indicates this type is a list. `ofType` is a valid field. */ - List = 'LIST', - /** Indicates this type is a non-null. `ofType` is a valid field. */ - NonNull = 'NON_NULL', -} - -export type IMd5MetaDataFragment = { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; -}; - -export type IMd5MetaDataFragmentVariables = Exact<{ [key: string]: never }>; - -export type IUserFragment = { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; -}; - -export type IUserFragmentVariables = Exact<{ [key: string]: never }>; - -export type ILogoutMutationVariables = Exact<{ [key: string]: never }>; - -export type ILogoutMutation = { logout?: { success?: boolean | null } | null }; - -export type IAddEmailMutationVariables = Exact<{ - email: Scalars['String']['input']; - userId?: InputMaybe; -}>; - -export type IAddEmailMutation = { - addEmail: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type IAddWeb3AddressMutationVariables = Exact<{ - address: Scalars['String']['input']; -}>; - -export type IAddWeb3AddressMutation = { - addWeb3Address: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type IAddWebAuthnCredentialsMutationVariables = Exact<{ - credentials: Scalars['JSON']['input']; -}>; - -export type IAddWebAuthnCredentialsMutation = { - addWebAuthnCredentials: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type IChangePasswordMutationVariables = Exact<{ - oldPassword: Scalars['String']['input']; - newPassword: Scalars['String']['input']; -}>; - -export type IChangePasswordMutation = { - changePassword?: { success?: boolean | null } | null; -}; - -export type ICreateUserMutationVariables = Exact<{ - username?: InputMaybe; - email?: InputMaybe; - plainPassword?: InputMaybe; - profile?: InputMaybe; - webAuthnPublicKeyCredentials?: InputMaybe; -}>; - -export type ICreateUserMutation = { - createUser?: { _id: string; tokenExpires: any } | null; -}; - -export type ICreateWebAuthnCredentialCreationOptionsMutationVariables = Exact<{ - username: Scalars['String']['input']; -}>; - -export type ICreateWebAuthnCredentialCreationOptionsMutation = { - createWebAuthnCredentialCreationOptions?: any | null; -}; - -export type ICreateWebAuthnCredentialRequestOptionsMutationVariables = Exact<{ - username?: InputMaybe; -}>; - -export type ICreateWebAuthnCredentialRequestOptionsMutation = { - createWebAuthnCredentialRequestOptions?: any | null; -}; - -export type ICurrentUserQueryVariables = Exact<{ [key: string]: never }>; - -export type ICurrentUserQuery = { - me?: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - } | null; -}; - -export type IDeleteUserMutationVariables = Exact<{ - userId?: InputMaybe; -}>; - -export type IDeleteUserMutation = { removeUser: { _id: string } }; - -export type IEnrollUserMutationVariables = Exact<{ - email: Scalars['String']['input']; - plainPassword?: InputMaybe; - profile: IUserProfileInput; -}>; - -export type IEnrollUserMutation = { - enrollUser: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type IForgotPasswordMutationVariables = Exact<{ - email: Scalars['String']['input']; -}>; - -export type IForgotPasswordMutation = { - forgotPassword?: { success?: boolean | null } | null; -}; - -export type ILoginWithPasswordMutationVariables = Exact<{ - username?: InputMaybe; - email?: InputMaybe; - password: Scalars['String']['input']; -}>; - -export type ILoginWithPasswordMutation = { - loginWithPassword?: { - _id: string; - tokenExpires: any; - user?: { - _id: string; - allowedActions: Array; - roles?: Array | null; - } | null; - } | null; -}; - -export type ILoginWithWebAuthnMutationVariables = Exact<{ - webAuthnPublicKeyCredentials: Scalars['JSON']['input']; -}>; - -export type ILoginWithWebAuthnMutation = { - loginWithWebAuthn?: { _id: string; tokenExpires: any } | null; -}; - -export type IRemoveEmailMutationVariables = Exact<{ - email: Scalars['String']['input']; - userId?: InputMaybe; -}>; - -export type IRemoveEmailMutation = { - removeEmail: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type IRemoveWeb3AddressMutationVariables = Exact<{ - address: Scalars['String']['input']; -}>; - -export type IRemoveWeb3AddressMutation = { - removeWeb3Address: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type IRemoveWebAuthCredentialsMutationVariables = Exact<{ - credentialsId: Scalars['ID']['input']; -}>; - -export type IRemoveWebAuthCredentialsMutation = { - removeWebAuthnCredentials: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type IResetPasswordMutationVariables = Exact<{ - newPlainPassword: Scalars['String']['input']; - token: Scalars['String']['input']; -}>; - -export type IResetPasswordMutation = { - resetPassword?: { _id: string; tokenExpires: any } | null; -}; - -export type ISendVerificationEmailMutationVariables = Exact<{ - email?: InputMaybe; -}>; - -export type ISendVerificationEmailMutation = { - sendVerificationEmail?: { success?: boolean | null } | null; -}; - -export type ISetPasswordMutationVariables = Exact<{ - newPlainPassword: Scalars['String']['input']; - userId: Scalars['ID']['input']; -}>; - -export type ISetPasswordMutation = { - setPassword: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type ISetRolesMutationVariables = Exact<{ - roles: Array; - userId: Scalars['ID']['input']; -}>; - -export type ISetRolesMutation = { - setRoles: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type ISetUserTagsMutationVariables = Exact<{ - tags: Array>; - userId: Scalars['ID']['input']; -}>; - -export type ISetUserTagsMutation = { - setUserTags: { _id: string; tags?: Array | null }; -}; - -export type ISetUsernameMutationVariables = Exact<{ - username: Scalars['String']['input']; - userId: Scalars['ID']['input']; -}>; - -export type ISetUsernameMutation = { - setUsername: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type IPrepareUserAvatarUploadMutationVariables = Exact<{ - mediaName: Scalars['String']['input']; - userId?: InputMaybe; -}>; - -export type IPrepareUserAvatarUploadMutation = { - prepareUserAvatarUpload: { _id: string; putURL: string; expires: any }; -}; - -export type IUpdateUserProfileMutationVariables = Exact<{ - profile: IUserProfileInput; - userId?: InputMaybe; -}>; - -export type IUpdateUserProfileMutation = { - updateUserProfile: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type IUserQueryVariables = Exact<{ - userId?: InputMaybe; -}>; - -export type IUserQuery = { - user?: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - } | null; -}; - -export type IUserWebAuthnCredentialsQueryVariables = Exact<{ - userId: Scalars['ID']['input']; -}>; - -export type IUserWebAuthnCredentialsQuery = { - user?: { - _id: string; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - } | null; -}; - -export type IUsersQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; - includeGuests?: InputMaybe; - queryString?: InputMaybe; - lastLogin?: InputMaybe; - emailVerified?: InputMaybe; - tags?: InputMaybe>; -}>; - -export type IUsersQuery = { - usersCount: number; - users: Array<{ - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }>; -}; - -export type IUsersCountQueryVariables = Exact<{ - includeGuests?: InputMaybe; - queryString?: InputMaybe; - lastLogin?: InputMaybe; - emailVerified?: InputMaybe; -}>; - -export type IUsersCountQuery = { usersCount: number }; - -export type IValidateVerifyEmailTokenQueryVariables = Exact<{ - token: Scalars['String']['input']; -}>; - -export type IValidateVerifyEmailTokenQuery = { - validateVerifyEmailToken: boolean; -}; - -export type IValidateResetPasswordTokenQueryVariables = Exact<{ - token: Scalars['String']['input']; -}>; - -export type IValidateResetPasswordTokenQuery = { - validateResetPasswordToken: boolean; -}; - -export type IVerifyEmailMutationVariables = Exact<{ - token: Scalars['String']['input']; -}>; - -export type IVerifyEmailMutation = { - verifyEmail?: { - _id: string; - tokenExpires: any; - user?: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - } | null; - } | null; -}; - -export type IVerifyWeb3AddressMutationVariables = Exact<{ - address: Scalars['String']['input']; - hash: Scalars['String']['input']; -}>; - -export type IVerifyWeb3AddressMutation = { - verifyWeb3Address: { - _id: string; - allowedActions: Array; - username?: string | null; - isGuest: boolean; - isInitialPassword: boolean; - name: string; - roles?: Array | null; - tags?: Array | null; - deleted?: any | null; - lastBillingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - lastContact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - lastLogin?: { - countryCode?: string | null; - locale?: any | null; - remoteAddress?: string | null; - remotePort?: number | null; - timestamp: any; - userAgent?: string | null; - } | null; - avatar?: { - _id: string; - name: string; - size: number; - type: string; - url?: string | null; - } | null; - paymentCredentials: Array<{ - _id: string; - isValid: boolean; - isPreferred: boolean; - paymentProvider: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; - }>; - emails?: Array<{ verified: boolean; address: string }> | null; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - webAuthnCredentials: Array<{ - _id: string; - created: any; - aaguid: string; - counter: number; - mdsMetadata?: { - legalHeader?: string | null; - description?: string | null; - authenticatorVersion?: number | null; - protocolFamily?: string | null; - schema?: number | null; - authenticationAlgorithms?: Array | null; - publicKeyAlgAndEncodings?: Array | null; - attestationTypes?: Array | null; - keyProtection?: Array | null; - upv?: Array | null; - tcDisplay?: Array | null; - icon?: string | null; - authenticatorGetInfo?: any | null; - } | null; - }>; - profile?: { - displayName?: string | null; - phoneMobile?: string | null; - gender?: string | null; - birthday?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - addressLine2?: string | null; - postalCode?: string | null; - countryCode?: string | null; - regionCode?: string | null; - city?: string | null; - } | null; - } | null; - primaryEmail?: { verified: boolean; address: string } | null; - cart?: { _id: string; items?: Array<{ _id: string }> | null } | null; - orders: Array<{ _id: string; items?: Array<{ _id: string }> | null }>; - }; -}; - -export type IAssortmentChildrenFragment = { - _id: string; - childrenCount: number; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; -}; - -export type IAssortmentChildrenFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IAssortmentFragment = { - _id: string; - isActive?: boolean | null; - created?: any | null; - updated?: any | null; - sequence: number; - isRoot?: boolean | null; - tags?: Array | null; - childrenCount: number; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -export type IAssortmentFragmentVariables = Exact<{ [key: string]: never }>; - -export type IAssortmentLinkFragment = { - _id: string; - sortKey: number; - parent: { - _id: string; - isActive?: boolean | null; - created?: any | null; - updated?: any | null; - sequence: number; - isRoot?: boolean | null; - tags?: Array | null; - childrenCount: number; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; - child: { - _id: string; - isActive?: boolean | null; - created?: any | null; - updated?: any | null; - sequence: number; - isRoot?: boolean | null; - tags?: Array | null; - childrenCount: number; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; -}; - -export type IAssortmentLinkFragmentVariables = Exact<{ [key: string]: never }>; - -export type IAssortmentMediaFragment = { - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; -}; - -export type IAssortmentMediaFragmentVariables = Exact<{ [key: string]: never }>; - -export type IAssortmentMediaTextsFragment = { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; -}; - -export type IAssortmentMediaTextsFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IAssortmentTextsFragment = { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; -}; - -export type IAssortmentTextsFragmentVariables = Exact<{ [key: string]: never }>; - -export type IAddAssortmentFilterMutationVariables = Exact<{ - assortmentId: Scalars['ID']['input']; - filterId: Scalars['ID']['input']; - tags?: InputMaybe>; -}>; - -export type IAddAssortmentFilterMutation = { - addAssortmentFilter: { _id: string }; -}; - -export type IAddAssortmentLinkMutationVariables = Exact<{ - parentAssortmentId: Scalars['ID']['input']; - childAssortmentId: Scalars['ID']['input']; - tags?: InputMaybe>; -}>; - -export type IAddAssortmentLinkMutation = { addAssortmentLink: { _id: string } }; - -export type IPrepareAssortmentMediaUploadMutationVariables = Exact<{ - mediaName: Scalars['String']['input']; - assortmentId: Scalars['ID']['input']; -}>; - -export type IPrepareAssortmentMediaUploadMutation = { - prepareAssortmentMediaUpload: { _id: string; putURL: string; expires: any }; -}; - -export type IAddAssortmentProductMutationVariables = Exact<{ - assortmentId: Scalars['ID']['input']; - productId: Scalars['ID']['input']; - tags?: InputMaybe>; -}>; - -export type IAddAssortmentProductMutation = { - addAssortmentProduct: { _id: string }; -}; - -export type IAssortmentQueryVariables = Exact<{ - assortmentId?: InputMaybe; - slug?: InputMaybe; - forceLocale?: InputMaybe; -}>; - -export type IAssortmentQuery = { - assortment?: { - _id: string; - isActive?: boolean | null; - created?: any | null; - updated?: any | null; - sequence: number; - isRoot?: boolean | null; - tags?: Array | null; - childrenCount: number; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } | null; -}; - -export type IAssortmentChildrenQueryVariables = Exact<{ - slugs?: InputMaybe>; - includeInactive?: InputMaybe; - includeLeaves?: InputMaybe; -}>; - -export type IAssortmentChildrenQuery = { - assortments: Array<{ - _id: string; - childrenCount: number; - children?: Array<{ - _id: string; - childrenCount: number; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - }> | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - }>; -}; - -export type IAssortmentFiltersQueryVariables = Exact<{ - assortmentId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IAssortmentFiltersQuery = { - assortment?: { - _id: string; - filterAssignments?: Array<{ - _id: string; - sortKey: number; - tags?: Array | null; - filter: { - _id: string; - updated?: any | null; - created?: any | null; - key?: string | null; - isActive?: boolean | null; - type?: IFilterType | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - locale: any; - } | null; - }> | null; - }; - }> | null; - } | null; -}; - -export type IAssortmentLinksQueryVariables = Exact<{ - assortmentId?: InputMaybe; - slug?: InputMaybe; - forceLocale?: InputMaybe; -}>; - -export type IAssortmentLinksQuery = { - assortment?: { - _id: string; - linkedAssortments?: Array<{ - _id: string; - sortKey: number; - parent: { - _id: string; - isActive?: boolean | null; - created?: any | null; - updated?: any | null; - sequence: number; - isRoot?: boolean | null; - tags?: Array | null; - childrenCount: number; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; - child: { - _id: string; - isActive?: boolean | null; - created?: any | null; - updated?: any | null; - sequence: number; - isRoot?: boolean | null; - tags?: Array | null; - childrenCount: number; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; - }> | null; - } | null; -}; - -export type IAssortmentMediaQueryVariables = Exact<{ - assortmentId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IAssortmentMediaQuery = { - assortment?: { - _id: string; - media: Array<{ - _id: string; - tags?: Array | null; - sortKey: number; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - file?: { - _id: string; - url?: string | null; - name: string; - size: number; - type: string; - } | null; - }>; - } | null; -}; - -export type IAssortmentPathsQueryVariables = Exact<{ - assortmentId: Scalars['ID']['input']; -}>; - -export type IAssortmentPathsQuery = { - assortment?: { - assortmentPaths: Array<{ links: Array<{ assortmentId: string }> }>; - } | null; -}; - -export type IAssortmentProductsQueryVariables = Exact<{ - assortmentId?: InputMaybe; - slug?: InputMaybe; - forceLocale?: InputMaybe; -}>; - -export type IAssortmentProductsQuery = { - assortment?: { - _id: string; - productAssignments?: Array<{ - _id: string; - sortKey: number; - tags?: Array | null; - product: - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; - }> | null; - } | null; -}; - -export type IAssortmentsQueryVariables = Exact<{ - queryString?: InputMaybe; - tags?: InputMaybe>; - slugs?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - includeInactive?: InputMaybe; - includeLeaves?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; -}>; - -export type IAssortmentsQuery = { - assortmentsCount: number; - assortments: Array<{ - _id: string; - isActive?: boolean | null; - created?: any | null; - updated?: any | null; - sequence: number; - isRoot?: boolean | null; - tags?: Array | null; - childrenCount: number; - linkedAssortments?: Array<{ child: { _id: string } }> | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }>; -}; - -export type IAssortmentsCountQueryVariables = Exact<{ - queryString?: InputMaybe; - tags?: InputMaybe>; - includeInactive?: InputMaybe; - includeLeaves?: InputMaybe; -}>; - -export type IAssortmentsCountQuery = { assortmentsCount: number }; - -export type ICreateAssortmentMutationVariables = Exact<{ - assortment: ICreateAssortmentInput; - texts?: InputMaybe>; -}>; - -export type ICreateAssortmentMutation = { createAssortment: { _id: string } }; - -export type IRemoveAssortmentMutationVariables = Exact<{ - assortmentId: Scalars['ID']['input']; -}>; - -export type IRemoveAssortmentMutation = { removeAssortment: { _id: string } }; - -export type IRemoveAssortmentFilterMutationVariables = Exact<{ - assortmentFilterId: Scalars['ID']['input']; -}>; - -export type IRemoveAssortmentFilterMutation = { - removeAssortmentFilter: { _id: string }; -}; - -export type IRemoveAssortmentLinkMutationVariables = Exact<{ - assortmentLinkId: Scalars['ID']['input']; -}>; - -export type IRemoveAssortmentLinkMutation = { - removeAssortmentLink: { _id: string }; -}; - -export type IRemoveAssortmentMediaMutationVariables = Exact<{ - assortmentMediaId: Scalars['ID']['input']; -}>; - -export type IRemoveAssortmentMediaMutation = { - removeAssortmentMedia: { _id: string }; -}; - -export type IRemoveAssortmentProductMutationVariables = Exact<{ - assortmentProductId: Scalars['ID']['input']; -}>; - -export type IRemoveAssortmentProductMutation = { - removeAssortmentProduct: { _id: string }; -}; - -export type IReorderAssortmentFiltersMutationVariables = Exact<{ - sortKeys: Array; -}>; - -export type IReorderAssortmentFiltersMutation = { - reorderAssortmentFilters: Array<{ _id: string; sortKey: number }>; -}; - -export type IReorderAssortmentLinksMutationVariables = Exact<{ - sortKeys: Array; -}>; - -export type IReorderAssortmentLinksMutation = { - reorderAssortmentLinks: Array<{ _id: string; sortKey: number }>; -}; - -export type IReorderAssortmentMediaMutationVariables = Exact<{ - sortKeys: Array; -}>; - -export type IReorderAssortmentMediaMutation = { - reorderAssortmentMedia: Array<{ _id: string; sortKey: number }>; -}; - -export type IReorderAssortmentProductsMutationVariables = Exact<{ - sortKeys: Array; -}>; - -export type IReorderAssortmentProductsMutation = { - reorderAssortmentProducts: Array<{ _id: string; sortKey: number }>; -}; - -export type ITranslatedAssortmentMediaTextsQueryVariables = Exact<{ - assortmentMediaId: Scalars['ID']['input']; -}>; - -export type ITranslatedAssortmentMediaTextsQuery = { - translatedAssortmentMediaTexts: Array<{ - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - }>; -}; - -export type ITranslatedAssortmentTextsQueryVariables = Exact<{ - assortmentId: Scalars['ID']['input']; -}>; - -export type ITranslatedAssortmentTextsQuery = { - translatedAssortmentTexts: Array<{ - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - }>; -}; - -export type IUpdateAssortmentMutationVariables = Exact<{ - assortment: IUpdateAssortmentInput; - assortmentId: Scalars['ID']['input']; -}>; - -export type IUpdateAssortmentMutation = { updateAssortment: { _id: string } }; - -export type IUpdateAssortmentMediaTextsMutationVariables = Exact<{ - assortmentMediaId: Scalars['ID']['input']; - texts: Array; -}>; - -export type IUpdateAssortmentMediaTextsMutation = { - updateAssortmentMediaTexts: Array<{ - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - }>; -}; - -export type IUpdateAssortmentTextsMutationVariables = Exact<{ - assortmentId: Scalars['ID']['input']; - texts: Array; -}>; - -export type IUpdateAssortmentTextsMutation = { - updateAssortmentTexts: Array<{ - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - }>; -}; - -export type IAddressFragment = { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; -}; - -export type IAddressFragmentVariables = Exact<{ [key: string]: never }>; - -export type IConfirmMediaUploadMutationVariables = Exact<{ - mediaUploadTicketId: Scalars['ID']['input']; - size: Scalars['Int']['input']; - type: Scalars['String']['input']; -}>; - -export type IConfirmMediaUploadMutation = { - confirmMediaUpload: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - }; -}; - -export type IOrderAnalyticsQueryVariables = Exact<{ - dateRange?: InputMaybe; -}>; - -export type IOrderAnalyticsQuery = { - orderStatistics: { - confirmCount: number; - confirmRecords: Array<{ - date: string; - count: number; - total: { amount: number; currencyCode: string }; - }>; - }; -}; - -export type IOrdersWithItemsQueryVariables = Exact<{ - limit?: InputMaybe; - includeCarts?: InputMaybe; -}>; - -export type IOrdersWithItemsQuery = { - orders: Array<{ - _id: string; - orderNumber?: string | null; - status?: IOrderStatus | null; - created?: any | null; - updated?: any | null; - ordered?: any | null; - confirmed?: any | null; - fulfilled?: any | null; - totalTax?: { amount: number; currencyCode: string } | null; - itemsTotal?: { amount: number; currencyCode: string } | null; - totalDiscount?: { amount: number; currencyCode: string } | null; - totalPayment?: { amount: number; currencyCode: string } | null; - totalDelivery?: { amount: number; currencyCode: string } | null; - user?: { - _id: string; - username?: string | null; - isGuest: boolean; - avatar?: { _id: string; url?: string | null } | null; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - } | null; - discounts?: Array<{ - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - > | null; - }> | null; - payment?: - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | null; - contact?: { - telNumber?: string | null; - emailAddress?: string | null; - } | null; - country?: { - _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { - _id: string; - isoCode: string; - isActive?: boolean | null; - } | null; - billingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - delivery?: - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - activePickUpLocation?: { - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - } | null; - provider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - provider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | null; - total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; - items?: Array<{ - _id: string; - quantity: number; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - unitPrice?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - total?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - }> | null; - }>; -}; - -export type IShopStatusQueryVariables = Exact<{ [key: string]: never }>; - -export type IShopStatusQuery = { - countriesCount: number; - currenciesCount: number; - languagesCount: number; - productsCount: number; - assortmentsCount: number; - filtersCount: number; - deliveryProvidersCount: number; - paymentProvidersCount: number; -}; - -export type IShopInfoQueryVariables = Exact<{ [key: string]: never }>; - -export type IShopInfoQuery = { - shopInfo: { - _id: string; - version?: string | null; - language?: { - _id: string; - isoCode?: string | null; - name?: string | null; - } | null; - country?: { - _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - defaultCurrency?: { _id: string; isoCode: string } | null; - } | null; - adminUiConfig: { - singleSignOnURL?: string | null; - productTags: Array; - assortmentTags: Array; - userTags: Array; - externalLinks: Array<{ - href?: string | null; - title?: string | null; - target?: IExternalLinkTarget | null; - }>; - customProperties: Array<{ entityName: string; inlineFragment: string }>; - }; - }; -}; - -export type IStatusTypesQueryVariables = Exact<{ - enumName: Scalars['String']['input']; -}>; - -export type IStatusTypesQuery = { - statusTypes?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - -export type ISystemRolesQueryVariables = Exact<{ [key: string]: never }>; - -export type ISystemRolesQuery = { - shopInfo: { _id: string; userRoles: Array }; -}; - -export type ICountryFragment = { - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - defaultCurrency?: { _id: string; isoCode: string } | null; -}; - -export type ICountryFragmentVariables = Exact<{ [key: string]: never }>; - -export type ICountriesQueryVariables = Exact<{ - queryString?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - includeInactive?: InputMaybe; - sort?: InputMaybe>; -}>; - -export type ICountriesQuery = { - countriesCount: number; - countries: Array<{ - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - defaultCurrency?: { _id: string; isoCode: string } | null; - }>; -}; - -export type ICountryQueryVariables = Exact<{ - countryId: Scalars['ID']['input']; -}>; - -export type ICountryQuery = { - country?: { - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - defaultCurrency?: { _id: string; isoCode: string } | null; - } | null; -}; - -export type ICreateCountryMutationVariables = Exact<{ - country: ICreateCountryInput; -}>; - -export type ICreateCountryMutation = { - createCountry: { - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - defaultCurrency?: { _id: string; isoCode: string } | null; - }; -}; - -export type IRemoveCountryMutationVariables = Exact<{ - countryId: Scalars['ID']['input']; -}>; - -export type IRemoveCountryMutation = { - removeCountry: { - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - defaultCurrency?: { _id: string; isoCode: string } | null; - }; -}; - -export type IUpdateCountryMutationVariables = Exact<{ - country: IUpdateCountryInput; - countryId: Scalars['ID']['input']; -}>; - -export type IUpdateCountryMutation = { - updateCountry: { - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - defaultCurrency?: { _id: string; isoCode: string } | null; - }; -}; - -export type ICurrencyFragment = { - _id: string; - isoCode: string; - isActive?: boolean | null; - contractAddress?: string | null; - decimals?: number | null; -}; - -export type ICurrencyFragmentVariables = Exact<{ [key: string]: never }>; - -export type ICreateCurrencyMutationVariables = Exact<{ - currency: ICreateCurrencyInput; -}>; - -export type ICreateCurrencyMutation = { - createCurrency: { - _id: string; - isoCode: string; - isActive?: boolean | null; - contractAddress?: string | null; - decimals?: number | null; - }; -}; - -export type ICurrenciesQueryVariables = Exact<{ - queryString?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - includeInactive?: InputMaybe; - sort?: InputMaybe>; -}>; - -export type ICurrenciesQuery = { - currenciesCount: number; - currencies: Array<{ - _id: string; - isoCode: string; - isActive?: boolean | null; - contractAddress?: string | null; - decimals?: number | null; - }>; -}; - -export type ICurrencyQueryVariables = Exact<{ - currencyId: Scalars['ID']['input']; -}>; - -export type ICurrencyQuery = { - currency?: { - _id: string; - isoCode: string; - isActive?: boolean | null; - contractAddress?: string | null; - decimals?: number | null; - } | null; -}; - -export type IRemoveCurrencyMutationVariables = Exact<{ - currencyId: Scalars['ID']['input']; -}>; - -export type IRemoveCurrencyMutation = { - removeCurrency: { - _id: string; - isoCode: string; - isActive?: boolean | null; - contractAddress?: string | null; - decimals?: number | null; - }; -}; - -export type IUpdateCurrencyMutationVariables = Exact<{ - currency: IUpdateCurrencyInput; - currencyId: Scalars['ID']['input']; -}>; - -export type IUpdateCurrencyMutation = { - updateCurrency: { - _id: string; - isoCode: string; - isActive?: boolean | null; - contractAddress?: string | null; - decimals?: number | null; - }; -}; - -export type ICreateDeliveryProviderMutationVariables = Exact<{ - deliveryProvider: ICreateDeliveryProviderInput; -}>; - -export type ICreateDeliveryProviderMutation = { - createDeliveryProvider: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; -}; - -export type IDeliveryInterfacesQueryVariables = Exact<{ - providerType?: InputMaybe; -}>; - -export type IDeliveryInterfacesQuery = { - deliveryInterfaces: Array<{ - _id: string; - label?: string | null; - value: string; - }>; -}; - -export type IDeliveryProviderQueryVariables = Exact<{ - deliveryProviderId: Scalars['ID']['input']; -}>; - -export type IDeliveryProviderQuery = { - deliveryProvider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; -}; - -export type IDeliveryProvidersTypeQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IDeliveryProvidersTypeQuery = { - deliveryProviderType?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - -export type IDeliveryProvidersQueryVariables = Exact<{ - type?: InputMaybe; -}>; - -export type IDeliveryProvidersQuery = { - deliveryProvidersCount: number; - deliveryProviders: Array< - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - >; -}; - -export type IRemoveDeliveryProviderMutationVariables = Exact<{ - deliveryProviderId: Scalars['ID']['input']; -}>; - -export type IRemoveDeliveryProviderMutation = { - removeDeliveryProvider: { _id: string } | { _id: string }; -}; - -export type IUpdateDeliveryProviderMutationVariables = Exact<{ - deliveryProvider: IUpdateProviderInput; - deliveryProviderId: Scalars['ID']['input']; -}>; - -export type IUpdateDeliveryProviderMutation = { - updateDeliveryProvider: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; -}; - -export type IEnrollmentDetailFragment = { - _id: string; - enrollmentNumber?: string | null; - updated?: any | null; - status: IEnrollmentStatus; - created: any; - expires?: any | null; - isExpired?: boolean | null; - country?: { _id: string; isoCode?: string | null } | null; - billingAddress?: { - addressLine?: string | null; - addressLine2?: string | null; - city?: string | null; - company?: string | null; - countryCode?: string | null; - firstName?: string | null; - lastName?: string | null; - postalCode?: string | null; - regionCode?: string | null; - } | null; - contact?: { emailAddress?: string | null; telNumber?: string | null } | null; - currency?: { - _id: string; - contractAddress?: string | null; - decimals?: number | null; - isActive?: boolean | null; - isoCode: string; - } | null; - delivery?: { - provider?: - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | null; - } | null; - payment?: { - provider?: { - _id: string; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - } | null; - periods: Array<{ - end: any; - isTrial: boolean; - start: any; - order?: { _id: string } | null; - }>; - plan: { - quantity: number; - configuration?: Array<{ key: string; value: string }> | null; - product: { - _id: string; - texts?: { _id: string; title?: string | null } | null; - }; - }; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - }; -}; - -export type IEnrollmentDetailFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IEnrollmentFragment = { - _id: string; - enrollmentNumber?: string | null; - updated?: any | null; - status: IEnrollmentStatus; - created: any; - expires?: any | null; - isExpired?: boolean | null; - country?: { _id: string; isoCode?: string | null } | null; - currency?: { _id: string; isoCode: string } | null; - periods: Array<{ start: any; end: any; isTrial: boolean }>; - payment?: { provider?: { _id: string } | null } | null; - delivery?: { provider?: { _id: string } | { _id: string } | null } | null; - plan: { - quantity: number; - product: { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - texts?: { _id: string; title?: string | null } | null; - }; - }; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - }; -}; - -export type IEnrollmentFragmentVariables = Exact<{ [key: string]: never }>; - -export type IActivateEnrollmentMutationVariables = Exact<{ - enrollmentId: Scalars['ID']['input']; -}>; - -export type IActivateEnrollmentMutation = { - activateEnrollment: { _id: string }; -}; - -export type IEnrollmentQueryVariables = Exact<{ - enrollmentId: Scalars['ID']['input']; -}>; - -export type IEnrollmentQuery = { - enrollment?: { - _id: string; - enrollmentNumber?: string | null; - updated?: any | null; - status: IEnrollmentStatus; - created: any; - expires?: any | null; - isExpired?: boolean | null; - country?: { _id: string; isoCode?: string | null } | null; - billingAddress?: { - addressLine?: string | null; - addressLine2?: string | null; - city?: string | null; - company?: string | null; - countryCode?: string | null; - firstName?: string | null; - lastName?: string | null; - postalCode?: string | null; - regionCode?: string | null; - } | null; - contact?: { - emailAddress?: string | null; - telNumber?: string | null; - } | null; - currency?: { - _id: string; - contractAddress?: string | null; - decimals?: number | null; - isActive?: boolean | null; - isoCode: string; - } | null; - delivery?: { - provider?: - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | null; - } | null; - payment?: { - provider?: { - _id: string; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - } | null; - periods: Array<{ - end: any; - isTrial: boolean; - start: any; - order?: { _id: string } | null; - }>; - plan: { - quantity: number; - configuration?: Array<{ key: string; value: string }> | null; - product: { - _id: string; - texts?: { _id: string; title?: string | null } | null; - }; - }; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - }; - } | null; -}; - -export type IEnrollmentsQueryVariables = Exact<{ - offset?: InputMaybe; - limit?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - status?: InputMaybe>; -}>; - -export type IEnrollmentsQuery = { - enrollmentsCount: number; - enrollments: Array<{ - _id: string; - enrollmentNumber?: string | null; - updated?: any | null; - status: IEnrollmentStatus; - created: any; - expires?: any | null; - isExpired?: boolean | null; - country?: { _id: string; isoCode?: string | null } | null; - currency?: { _id: string; isoCode: string } | null; - periods: Array<{ start: any; end: any; isTrial: boolean }>; - payment?: { provider?: { _id: string } | null } | null; - delivery?: { provider?: { _id: string } | { _id: string } | null } | null; - plan: { - quantity: number; - product: { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - texts?: { _id: string; title?: string | null } | null; - }; - }; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - }; - }>; -}; - -export type ISendEnrollmentEmailMutationVariables = Exact<{ - email: Scalars['String']['input']; -}>; - -export type ISendEnrollmentEmailMutation = { - sendEnrollmentEmail?: { success?: boolean | null } | null; -}; - -export type ITerminateEnrollmentMutationVariables = Exact<{ - enrollmentId: Scalars['ID']['input']; -}>; - -export type ITerminateEnrollmentMutation = { - terminateEnrollment: { _id: string }; -}; - -export type IUserEnrollmentsQueryVariables = Exact<{ - userId: Scalars['ID']['input']; - queryString?: InputMaybe; -}>; - -export type IUserEnrollmentsQuery = { - user?: { - _id: string; - enrollments: Array<{ - _id: string; - enrollmentNumber?: string | null; - updated?: any | null; - status: IEnrollmentStatus; - created: any; - expires?: any | null; - isExpired?: boolean | null; - country?: { _id: string; isoCode?: string | null } | null; - currency?: { _id: string; isoCode: string } | null; - periods: Array<{ start: any; end: any; isTrial: boolean }>; - payment?: { provider?: { _id: string } | null } | null; - delivery?: { provider?: { _id: string } | { _id: string } | null } | null; - plan: { - quantity: number; - product: { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - texts?: { _id: string; title?: string | null } | null; - }; - }; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - }; - }>; - } | null; -}; - -export type IEventFragment = { - _id: string; - type: string; - payload?: any | null; - created: any; -}; - -export type IEventFragmentVariables = Exact<{ [key: string]: never }>; - -export type IEventQueryVariables = Exact<{ - eventId: Scalars['ID']['input']; -}>; - -export type IEventQuery = { - event?: { - _id: string; - type: string; - payload?: any | null; - created: any; - } | null; -}; - -export type IRegisteredEventTypesQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IRegisteredEventTypesQuery = { - registeredEventTypes: Array; -}; - -export type IEventsQueryVariables = Exact<{ - types?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - sort?: InputMaybe>; - queryString?: InputMaybe; - created?: InputMaybe; -}>; - -export type IEventsQuery = { - eventsCount: number; - events: Array<{ - _id: string; - type: string; - payload?: any | null; - created: any; - }>; -}; - -export type IFilterFragment = { - _id: string; - updated?: any | null; - created?: any | null; - key?: string | null; - isActive?: boolean | null; - type?: IFilterType | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - locale: any; - } | null; - }> | null; -}; - -export type IFilterFragmentVariables = Exact<{ [key: string]: never }>; - -export type IFilterOptionFragment = { - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - locale: any; - } | null; -}; - -export type IFilterOptionFragmentVariables = Exact<{ [key: string]: never }>; - -export type IFilterTextsFragment = { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; -}; - -export type IFilterTextsFragmentVariables = Exact<{ [key: string]: never }>; - -export type ICreateFilterMutationVariables = Exact<{ - filter: ICreateFilterInput; - texts: Array; -}>; - -export type ICreateFilterMutation = { - createFilter: { - _id: string; - updated?: any | null; - created?: any | null; - key?: string | null; - isActive?: boolean | null; - type?: IFilterType | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - locale: any; - } | null; - }> | null; - }; -}; - -export type ICreateFilterOptionMutationVariables = Exact<{ - filterId: Scalars['ID']['input']; - option: Scalars['String']['input']; - texts?: InputMaybe>; -}>; - -export type ICreateFilterOptionMutation = { - createFilterOption: { _id: string }; -}; - -export type IFilterQueryVariables = Exact<{ - filterId?: InputMaybe; -}>; - -export type IFilterQuery = { - filter?: { - _id: string; - updated?: any | null; - created?: any | null; - key?: string | null; - isActive?: boolean | null; - type?: IFilterType | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - locale: any; - } | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - locale: any; - } | null; - }> | null; - } | null; -}; - -export type IFilterOptionsQueryVariables = Exact<{ - filterId?: InputMaybe; - forceLocale?: InputMaybe; -}>; - -export type IFilterOptionsQuery = { - filter?: { - _id: string; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - locale: any; - } | null; - }> | null; - } | null; -}; - -export type IFilterTypesQueryVariables = Exact<{ [key: string]: never }>; - -export type IFilterTypesQuery = { - filterTypes?: { - options?: Array<{ label: string; value: string }> | null; - } | null; -}; - -export type IFiltersQueryVariables = Exact<{ - queryString?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - includeInactive?: InputMaybe; - sort?: InputMaybe>; -}>; - -export type IFiltersQuery = { - filtersCount: number; - filters: Array<{ - _id: string; - updated?: any | null; - created?: any | null; - key?: string | null; - isActive?: boolean | null; - type?: IFilterType | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - locale: any; - } | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - locale: any; - } | null; - }> | null; - }>; -}; - -export type IFiltersCountQueryVariables = Exact<{ - queryString?: InputMaybe; - includeInactive?: InputMaybe; -}>; - -export type IFiltersCountQuery = { filtersCount: number }; - -export type IRemoveFilterMutationVariables = Exact<{ - filterId: Scalars['ID']['input']; -}>; - -export type IRemoveFilterMutation = { removeFilter: { _id: string } }; - -export type IRemoveFilterOptionMutationVariables = Exact<{ - filterId: Scalars['ID']['input']; - filterOptionValue: Scalars['String']['input']; -}>; - -export type IRemoveFilterOptionMutation = { - removeFilterOption: { _id: string }; -}; - -export type ITranslatedFilterTextsQueryVariables = Exact<{ - filterId: Scalars['ID']['input']; - filterOptionValue?: InputMaybe; -}>; - -export type ITranslatedFilterTextsQuery = { - translatedFilterTexts: Array<{ - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - }>; -}; - -export type IUpdateFilterMutationVariables = Exact<{ - filter: IUpdateFilterInput; - filterId: Scalars['ID']['input']; -}>; - -export type IUpdateFilterMutation = { - updateFilter: { - _id: string; - updated?: any | null; - created?: any | null; - key?: string | null; - isActive?: boolean | null; - type?: IFilterType | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - locale: any; - } | null; - }> | null; - }; -}; - -export type IUpdateFilterTextsMutationVariables = Exact<{ - filterId: Scalars['ID']['input']; - filterOptionValue?: InputMaybe; - texts: Array; -}>; - -export type IUpdateFilterTextsMutation = { - updateFilterTexts: Array<{ - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - }>; -}; - -export type ILanguageFragment = { - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - name?: string | null; -}; - -export type ILanguageFragmentVariables = Exact<{ [key: string]: never }>; - -export type ICreateLanguageMutationVariables = Exact<{ - language: ICreateLanguageInput; -}>; - -export type ICreateLanguageMutation = { - createLanguage: { - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - name?: string | null; - }; -}; - -export type ILanguageQueryVariables = Exact<{ - languageId: Scalars['ID']['input']; -}>; - -export type ILanguageQuery = { - language?: { - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - name?: string | null; - } | null; -}; - -export type ILanguagesQueryVariables = Exact<{ - queryString?: InputMaybe; - offset?: InputMaybe; - limit?: InputMaybe; - includeInactive?: InputMaybe; - sort?: InputMaybe>; -}>; - -export type ILanguagesQuery = { - languagesCount: number; - languages: Array<{ - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - name?: string | null; - } | null>; -}; - -export type IRemoveLanguageMutationVariables = Exact<{ - languageId: Scalars['ID']['input']; -}>; - -export type IRemoveLanguageMutation = { - removeLanguage: { - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - name?: string | null; - }; -}; - -export type IUpdateLanguageMutationVariables = Exact<{ - language: IUpdateLanguageInput; - languageId: Scalars['ID']['input']; -}>; - -export type IUpdateLanguageMutation = { - updateLanguage: { - _id: string; - isoCode?: string | null; - isActive?: boolean | null; - isBase?: boolean | null; - name?: string | null; - }; -}; - -export type IOrderDetailFragment = { - _id: string; - orderNumber?: string | null; - status?: IOrderStatus | null; - created?: any | null; - updated?: any | null; - ordered?: any | null; - confirmed?: any | null; - fulfilled?: any | null; - totalTax?: { amount: number; currencyCode: string } | null; - itemsTotal?: { amount: number; currencyCode: string } | null; - totalDiscount?: { amount: number; currencyCode: string } | null; - totalPayment?: { amount: number; currencyCode: string } | null; - totalDelivery?: { amount: number; currencyCode: string } | null; - user?: { - _id: string; - username?: string | null; - isGuest: boolean; - avatar?: { _id: string; url?: string | null } | null; - profile?: { - displayName?: string | null; - address?: { firstName?: string | null; lastName?: string | null } | null; - } | null; - } | null; - discounts?: Array<{ - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - > | null; - }> | null; - payment?: - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | null; - contact?: { telNumber?: string | null; emailAddress?: string | null } | null; - country?: { - _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { _id: string; isoCode: string; isActive?: boolean | null } | null; - billingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - delivery?: - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - activePickUpLocation?: { - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - } | null; - provider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - provider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | null; - total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; - items?: Array<{ - _id: string; - quantity: number; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - unitPrice?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - total?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - }> | null; -}; - -export type IOrderDetailFragmentVariables = Exact<{ [key: string]: never }>; - -export type IOrderFragment = { - _id: string; - status?: IOrderStatus | null; - created?: any | null; - updated?: any | null; - ordered?: any | null; - orderNumber?: string | null; - confirmed?: any | null; - fulfilled?: any | null; - contact?: { telNumber?: string | null; emailAddress?: string | null } | null; - total?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - user?: { - _id: string; - username?: string | null; - isGuest: boolean; - avatar?: { _id: string; url?: string | null } | null; - profile?: { - displayName?: string | null; - address?: { firstName?: string | null; lastName?: string | null } | null; - } | null; - } | null; -}; - -export type IOrderFragmentVariables = Exact<{ [key: string]: never }>; - -export type IConfirmOrderMutationVariables = Exact<{ - orderId: Scalars['ID']['input']; -}>; - -export type IConfirmOrderMutation = { confirmOrder: { _id: string } }; - -export type IDeliverOrderMutationVariables = Exact<{ - orderId: Scalars['ID']['input']; -}>; - -export type IDeliverOrderMutation = { deliverOrder: { _id: string } }; - -export type IOrderQueryVariables = Exact<{ - orderId: Scalars['ID']['input']; -}>; - -export type IOrderQuery = { - order?: { - _id: string; - orderNumber?: string | null; - status?: IOrderStatus | null; - created?: any | null; - updated?: any | null; - ordered?: any | null; - confirmed?: any | null; - fulfilled?: any | null; - totalTax?: { amount: number; currencyCode: string } | null; - itemsTotal?: { amount: number; currencyCode: string } | null; - totalDiscount?: { amount: number; currencyCode: string } | null; - totalPayment?: { amount: number; currencyCode: string } | null; - totalDelivery?: { amount: number; currencyCode: string } | null; - user?: { - _id: string; - username?: string | null; - isGuest: boolean; - avatar?: { _id: string; url?: string | null } | null; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - } | null; - discounts?: Array<{ - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - > | null; - }> | null; - payment?: - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | null; - contact?: { - telNumber?: string | null; - emailAddress?: string | null; - } | null; - country?: { - _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { - _id: string; - isoCode: string; - isActive?: boolean | null; - } | null; - billingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - delivery?: - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - activePickUpLocation?: { - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - } | null; - provider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - provider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | null; - total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; - items?: Array<{ - _id: string; - quantity: number; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - unitPrice?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - total?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - }> | null; - } | null; -}; - -export type IOrdersQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; - includeCarts?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - paymentProviderIds?: InputMaybe>; - deliveryProviderIds?: InputMaybe>; - dateRange?: InputMaybe; - status?: InputMaybe>; -}>; - -export type IOrdersQuery = { - ordersCount: number; - orders: Array<{ - _id: string; - status?: IOrderStatus | null; - created?: any | null; - updated?: any | null; - ordered?: any | null; - orderNumber?: string | null; - confirmed?: any | null; - fulfilled?: any | null; - contact?: { - telNumber?: string | null; - emailAddress?: string | null; - } | null; - total?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - user?: { - _id: string; - username?: string | null; - isGuest: boolean; - avatar?: { _id: string; url?: string | null } | null; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - } | null; - }>; -}; - -export type IPayOrderMutationVariables = Exact<{ - orderId: Scalars['ID']['input']; -}>; - -export type IPayOrderMutation = { payOrder: { _id: string } }; - -export type IRejectOrderMutationVariables = Exact<{ - orderId: Scalars['ID']['input']; -}>; - -export type IRejectOrderMutation = { rejectOrder: { _id: string } }; - -export type IRemoveOrderMutationVariables = Exact<{ - orderId: Scalars['ID']['input']; -}>; - -export type IRemoveOrderMutation = { removeOrder: { _id: string } }; - -export type IUserOrderQueryVariables = Exact<{ - userId?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - includeCarts?: InputMaybe; -}>; - -export type IUserOrderQuery = { - user?: { - orders: Array<{ - _id: string; - status?: IOrderStatus | null; - created?: any | null; - updated?: any | null; - ordered?: any | null; - orderNumber?: string | null; - confirmed?: any | null; - fulfilled?: any | null; - contact?: { - telNumber?: string | null; - emailAddress?: string | null; - } | null; - total?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - user?: { - _id: string; - username?: string | null; - isGuest: boolean; - avatar?: { _id: string; url?: string | null } | null; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - } | null; - }>; - } | null; -}; - -export type IPaymentProviderFragment = { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; -}; - -export type IPaymentProviderFragmentVariables = Exact<{ [key: string]: never }>; - -export type ICreatePaymentProviderMutationVariables = Exact<{ - paymentProvider: ICreatePaymentProviderInput; -}>; - -export type ICreatePaymentProviderMutation = { - createPaymentProvider: { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; -}; - -export type IPaymentInterfacesQueryVariables = Exact<{ - providerType?: InputMaybe; -}>; - -export type IPaymentInterfacesQuery = { - paymentInterfaces: Array<{ - _id: string; - label?: string | null; - value: string; - }>; -}; - -export type IPaymentProviderQueryVariables = Exact<{ - paymentProviderId: Scalars['ID']['input']; -}>; - -export type IPaymentProviderQuery = { - paymentProvider?: { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; -}; - -export type IPaymentProvidersTypeQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IPaymentProvidersTypeQuery = { - paymentProviderType?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - -export type IPaymentProvidersQueryVariables = Exact<{ - type?: InputMaybe; -}>; - -export type IPaymentProvidersQuery = { - paymentProvidersCount: number; - paymentProviders: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }>; -}; - -export type IRemovePaymentProviderMutationVariables = Exact<{ - paymentProviderId: Scalars['ID']['input']; -}>; - -export type IRemovePaymentProviderMutation = { - removePaymentProvider: { _id: string }; -}; - -export type IUpdatePaymentProviderMutationVariables = Exact<{ - paymentProvider: IUpdateProviderInput; - paymentProviderId: Scalars['ID']['input']; -}>; - -export type IUpdatePaymentProviderMutation = { - updatePaymentProvider: { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; -}; - -export type IProductReviewDetailFragment = { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { firstName?: string | null; lastName?: string | null } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; -}; - -export type IProductReviewDetailFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IAddProductReviewVoteMutationVariables = Exact<{ - productReviewId: Scalars['ID']['input']; - type: IProductReviewVoteType; - meta?: InputMaybe; - forceLocale?: InputMaybe; -}>; - -export type IAddProductReviewVoteMutation = { - addProductReviewVote: { _id: string }; -}; - -export type ICreateProductReviewMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - productReview: IProductReviewInput; - forceLocale?: InputMaybe; -}>; - -export type ICreateProductReviewMutation = { - createProductReview: { _id: string }; -}; - -export type IProductReviewByProductQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; -}>; - -export type IProductReviewByProductQuery = { - product?: - | { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } - | { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } - | { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } - | { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } - | { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } - | null; -}; - -export type IRemoveProductReviewMutationVariables = Exact<{ - productReviewId: Scalars['ID']['input']; -}>; - -export type IRemoveProductReviewMutation = { - removeProductReview: { _id: string }; -}; - -export type IRemoveProductReviewVoteMutationVariables = Exact<{ - productReviewId: Scalars['ID']['input']; - type: IProductReviewVoteType; - forceLocale?: InputMaybe; -}>; - -export type IRemoveProductReviewVoteMutation = { - removeProductReviewVote: { _id: string }; -}; - -export type IUserProductReviewsQueryVariables = Exact<{ - userId: Scalars['ID']['input']; - limit?: InputMaybe; - offset?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; -}>; - -export type IUserProductReviewsQuery = { - user?: { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - product: - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } | null; -}; - -export type IProductAssignmentFragment = { - _id: string; - vectors?: Array<{ - _id: string; - option?: { - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - } | null; - variation?: { - _id: string; - key?: string | null; - texts?: { _id: string; locale: any; title?: string | null } | null; - } | null; - }> | null; - product?: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | null; -}; - -export type IProductAssignmentFragmentVariables = Exact<{ - [key: string]: never; -}>; - -type IProductBriefFragment_BundleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_ConfigurableProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_PlanProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_SimpleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_TokenizedProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -export type IProductBriefFragment = - | IProductBriefFragment_BundleProduct - | IProductBriefFragment_ConfigurableProduct - | IProductBriefFragment_PlanProduct - | IProductBriefFragment_SimpleProduct - | IProductBriefFragment_TokenizedProduct; - -export type IProductBriefFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductCatalogPriceFragment = { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - minQuantity?: number | null; - country: { - _id: string; - isoCode?: string | null; - name?: string | null; - flagEmoji?: string | null; - }; - currency: { _id: string; isoCode: string; isActive?: boolean | null }; -}; - -export type IProductCatalogPriceFragmentVariables = Exact<{ - [key: string]: never; -}>; - -type IProductDetailFragment_BundleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -type IProductDetailFragment_ConfigurableProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -type IProductDetailFragment_PlanProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -type IProductDetailFragment_SimpleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -type IProductDetailFragment_TokenizedProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -export type IProductDetailFragment = - | IProductDetailFragment_BundleProduct - | IProductDetailFragment_ConfigurableProduct - | IProductDetailFragment_PlanProduct - | IProductDetailFragment_SimpleProduct - | IProductDetailFragment_TokenizedProduct; - -export type IProductDetailFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductDimensionFragment = { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; -}; - -export type IProductDimensionFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductMediaFragment = { - _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; -}; - -export type IProductMediaFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductMediaTextsFragment = { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; -}; - -export type IProductMediaTextsFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductPlanConfigurationFragment = { - usageCalculationType: IProductPlanUsageCalculationType; - billingInterval: IProductPlanConfigurationInterval; - trialInterval?: IProductPlanConfigurationInterval | null; - trialIntervalCount?: number | null; - billingIntervalCount?: number | null; -}; - -export type IProductPlanConfigurationFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductTextsFragment = { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; -}; - -export type IProductTextsFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductVariationFragment = { - _id: string; - type?: IProductVariationType | null; - key?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }> | null; -}; - -export type IProductVariationFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type ITokenFragment = { - _id: string; - walletAddress?: string | null; - status: ITokenExportStatus; - quantity: number; - contractAddress?: string | null; - chainId?: string | null; - tokenSerialNumber?: string | null; - invalidatedDate?: any | null; - expiryDate?: any | null; - ercMetadata?: any | null; - accessKey: string; - isInvalidateable: boolean; -}; - -export type ITokenFragmentVariables = Exact<{ [key: string]: never }>; - -export type IAddProductAssignmentMutationVariables = Exact<{ - proxyId: Scalars['ID']['input']; - productId: Scalars['ID']['input']; - vectors: Array; -}>; - -export type IAddProductAssignmentMutation = { - addProductAssignment: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type IPrepareProductMediaUploadMutationVariables = Exact<{ - mediaName: Scalars['String']['input']; - productId: Scalars['ID']['input']; -}>; - -export type IPrepareProductMediaUploadMutation = { - prepareProductMediaUpload: { _id: string; putURL: string; expires: any }; -}; - -export type ICreateProductMutationVariables = Exact<{ - product: ICreateProductInput; - texts?: InputMaybe>; -}>; - -export type ICreateProductMutation = { - createProduct: - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - }; -}; - -export type ICreateProductBundleItemMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - item: ICreateProductBundleItemInput; -}>; - -export type ICreateProductBundleItemMutation = { - createProductBundleItem: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type ICreateProductVariationMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - variation: ICreateProductVariationInput; - texts?: InputMaybe>; -}>; - -export type ICreateProductVariationMutation = { - createProductVariation: { _id: string }; -}; - -export type ICreateProductVariationOptionMutationVariables = Exact<{ - productVariationId: Scalars['ID']['input']; - option: Scalars['String']['input']; - texts?: InputMaybe>; -}>; - -export type ICreateProductVariationOptionMutation = { - createProductVariationOption: { _id: string }; -}; - -export type IExportTokenMutationVariables = Exact<{ - tokenId: Scalars['ID']['input']; - quantity?: Scalars['Int']['input']; - recipientWalletAddress: Scalars['String']['input']; -}>; - -export type IExportTokenMutation = { - exportToken: { - _id: string; - walletAddress?: string | null; - status: ITokenExportStatus; - quantity: number; - contractAddress?: string | null; - chainId?: string | null; - tokenSerialNumber?: string | null; - invalidatedDate?: any | null; - expiryDate?: any | null; - ercMetadata?: any | null; - accessKey: string; - isInvalidateable: boolean; - }; -}; - -export type IProductQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductQuery = { - product?: - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | null; -}; - -export type IProductAssignmentsQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductAssignmentsQuery = { - product?: - | { _id: string } - | { - _id: string; - texts?: { - _id: string; - subtitle?: string | null; - slug?: string | null; - title?: string | null; - } | null; - variations?: Array<{ - _id: string; - key?: string | null; - texts?: { _id: string; title?: string | null } | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { _id: string; title?: string | null } | null; - }> | null; - }> | null; - assignments: Array<{ - _id: string; - vectors?: Array<{ - _id: string; - option?: { - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - } | null; - variation?: { - _id: string; - key?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - } | null; - } | null; - }> | null; - product?: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | null; - }>; - } - | { _id: string } - | { _id: string } - | { _id: string } - | null; -}; - -export type IProductBundleItemsQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; - forceLocale?: InputMaybe; -}>; - -export type IProductBundleItemsQuery = { - product?: - | { - _id: string; - bundleItems?: Array<{ - quantity: number; - product: - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; - }> | null; - } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | null; -}; - -export type IProductCatalogPricesQueryVariables = Exact<{ - productId: Scalars['ID']['input']; -}>; - -export type IProductCatalogPricesQuery = { - productCatalogPrices: Array<{ - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - minQuantity?: number | null; - country: { - _id: string; - isoCode?: string | null; - name?: string | null; - flagEmoji?: string | null; - }; - currency: { _id: string; isoCode: string; isActive?: boolean | null }; - }>; -}; - -export type IProductMediaQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductMediaQuery = { - product?: - | { - _id: string; - media: Array<{ - _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }>; - } - | null; -}; - -export type IProductPlanQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductPlanQuery = { - product?: - | { _id: string } - | { _id: string } - | { - _id: string; - plan?: { - usageCalculationType: IProductPlanUsageCalculationType; - billingInterval: IProductPlanConfigurationInterval; - trialInterval?: IProductPlanConfigurationInterval | null; - trialIntervalCount?: number | null; - billingIntervalCount?: number | null; - } | null; - } - | { _id: string } - | { _id: string } - | null; -}; - -export type IProductPlanConfigurationOptionsQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductPlanConfigurationOptionsQuery = { - usageCalculationTypes?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; - configurationIntervals?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - -export type IProductReviewsQueryVariables = Exact<{ - queryString?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; -}>; - -export type IProductReviewsQuery = { - productReviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; -}; - -export type IProductSupplyQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductSupplyQuery = { - product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { - _id: string; - dimensions?: { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; - } | null; - } - | { _id: string } - | null; -}; - -export type IProductTokenizationQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductTokenizationQuery = { - product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { - contractStandard?: ISmartContractStandard | null; - contractAddress?: string | null; - _id: string; - contractConfiguration?: { tokenId: string; supply: number } | null; - } - | null; -}; - -export type IProductVariationTypeQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductVariationTypeQuery = { - variationTypes?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - -export type IProductVariationsQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; - locale?: InputMaybe; -}>; - -export type IProductVariationsQuery = { - product?: - | { _id: string } - | { - _id: string; - variations?: Array<{ - _id: string; - type?: IProductVariationType | null; - key?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }> | null; - }> | null; - } - | { _id: string } - | { _id: string } - | { _id: string } - | null; -}; - -export type IProductWarehousingQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductWarehousingQuery = { - product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { sku?: string | null; baseUnit?: string | null; _id: string } - | { _id: string } - | null; -}; - -export type IProductsQueryVariables = Exact<{ - queryString?: InputMaybe; - tags?: InputMaybe>; - slugs?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - includeDrafts?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; -}>; - -export type IProductsQuery = { - productsCount: number; - products: Array< - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - sku?: string | null; - baseUnit?: string | null; - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - dimensions?: { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; - } | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -export type IProductsCountQueryVariables = Exact<{ - queryString?: InputMaybe; - tags?: InputMaybe>; - slugs?: InputMaybe>; - includeDrafts?: InputMaybe; -}>; - -export type IProductsCountQuery = { productsCount: number }; - -export type IPublishProductMutationVariables = Exact<{ - productId: Scalars['ID']['input']; -}>; - -export type IPublishProductMutation = { - publishProduct: - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - }; -}; - -export type IReOrderProductMediaMutationVariables = Exact<{ - sortKeys: Array; -}>; - -export type IReOrderProductMediaMutation = { - reorderProductMedia: Array<{ _id: string }>; -}; - -export type IRemoveBundleItemMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - index: Scalars['Int']['input']; -}>; - -export type IRemoveBundleItemMutation = { - removeBundleItem: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type IRemoveProductMutationVariables = Exact<{ - productId: Scalars['ID']['input']; -}>; - -export type IRemoveProductMutation = { - removeProduct: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type IRemoveProductAssignmentMutationVariables = Exact<{ - proxyId: Scalars['ID']['input']; - vectors: Array; -}>; - -export type IRemoveProductAssignmentMutation = { - removeProductAssignment: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type IRemoveProductMediaMutationVariables = Exact<{ - productMediaId: Scalars['ID']['input']; -}>; - -export type IRemoveProductMediaMutation = { - removeProductMedia: { _id: string }; -}; - -export type IRemoveProductVariationMutationVariables = Exact<{ - productVariationId: Scalars['ID']['input']; -}>; - -export type IRemoveProductVariationMutation = { - removeProductVariation: { _id: string }; -}; - -export type IRemoveProductVariationOptionMutationVariables = Exact<{ - productVariationId: Scalars['ID']['input']; - productVariationOptionValue: Scalars['String']['input']; -}>; - -export type IRemoveProductVariationOptionMutation = { - removeProductVariationOption: { _id: string }; -}; - -export type ISmartContractStandardsQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type ISmartContractStandardsQuery = { - smartContractStandards?: { - options?: Array<{ value: string; label: string }> | null; - } | null; -}; - -export type ITranslatedProductMediaTextsQueryVariables = Exact<{ - productMediaId: Scalars['ID']['input']; -}>; - -export type ITranslatedProductMediaTextsQuery = { - translatedProductMediaTexts: Array<{ - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - }>; -}; - -export type ITranslatedProductTextsQueryVariables = Exact<{ - productId: Scalars['ID']['input']; -}>; - -export type ITranslatedProductTextsQuery = { - translatedProductTexts: Array<{ - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - }>; -}; - -export type IUnpublishProductMutationVariables = Exact<{ - productId: Scalars['ID']['input']; -}>; - -export type IUnpublishProductMutation = { - unpublishProduct: - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - }; -}; - -export type IUpdateProductMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - product: IUpdateProductInput; -}>; - -export type IUpdateProductMutation = { - updateProduct?: - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | null; -}; - -export type IUpdateProductCommerceMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - commerce: IUpdateProductCommerceInput; -}>; - -export type IUpdateProductCommerceMutation = { - updateProductCommerce?: - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | null; -}; - -export type IUpdateProductMediaTextsMutationVariables = Exact<{ - productMediaId: Scalars['ID']['input']; - texts: Array; -}>; - -export type IUpdateProductMediaTextsMutation = { - updateProductMediaTexts: Array<{ - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - }>; -}; - -export type IUpdateProductPlanMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - plan: IUpdateProductPlanInput; -}>; - -export type IUpdateProductPlanMutation = { - updateProductPlan?: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | null; -}; - -export type IUpdateProductSupplyMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - supply: IUpdateProductSupplyInput; -}>; - -export type IUpdateProductSupplyMutation = { - updateProductSupply?: - | { _id: string } - | { _id: string } - | { _id: string } - | { - _id: string; - dimensions?: { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; - } | null; - } - | { _id: string } - | null; -}; - -export type IUpdateProductTextsMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - texts: Array; -}>; - -export type IUpdateProductTextsMutation = { - updateProductTexts: Array<{ - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - }>; -}; - -export type IUpdateProductTokenizationMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - tokenization: IUpdateProductTokenizationInput; -}>; - -export type IUpdateProductTokenizationMutation = { - updateProductTokenization?: { _id: string } | null; -}; - -export type IUpdateProductVariationTextsMutationVariables = Exact<{ - productVariationId: Scalars['ID']['input']; - productVariationOptionValue?: InputMaybe; - texts: Array; -}>; - -export type IUpdateProductVariationTextsMutation = { - updateProductVariationTexts: Array<{ _id: string }>; -}; - -export type IUpdateProductWarehousingMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - warehousing: IUpdateProductWarehousingInput; -}>; - -export type IUpdateProductWarehousingMutation = { - updateProductWarehousing?: - | { _id: string } - | { _id: string } - | { _id: string } - | { sku?: string | null; baseUnit?: string | null; _id: string } - | { _id: string } - | null; -}; - -export type IUserTokensQueryVariables = Exact<{ - userId: Scalars['ID']['input']; - forceLocale?: InputMaybe; -}>; - -export type IUserTokensQuery = { - user?: { - _id: string; - web3Addresses: Array<{ - address: string; - nonce?: string | null; - verified: boolean; - }>; - tokens: Array<{ - _id: string; - walletAddress?: string | null; - status: ITokenExportStatus; - quantity: number; - contractAddress?: string | null; - chainId?: string | null; - tokenSerialNumber?: string | null; - invalidatedDate?: any | null; - expiryDate?: any | null; - ercMetadata?: any | null; - accessKey: string; - isInvalidateable: boolean; - product: { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - simulatedPrice?: { amount: number; currencyCode: string } | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; - }>; - } | null; -}; - -export type IQuotationDetailFragment = { - _id: string; - status: IQuotationStatus; - created: any; - expires?: any | null; - updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - }; - configuration?: Array<{ key: string; value: string }> | null; - country?: { - _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { _id: string; isoCode: string; isActive?: boolean | null } | null; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; -}; - -export type IQuotationDetailFragmentVariables = Exact<{ [key: string]: never }>; - -export type IQuotationFragment = { - _id: string; - status: IQuotationStatus; - created: any; - expires?: any | null; - updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; - currency?: { - _id: string; - contractAddress?: string | null; - decimals?: number | null; - isoCode: string; - } | null; -}; - -export type IQuotationFragmentVariables = Exact<{ [key: string]: never }>; - -export type IMakeQuotationProposalMutationVariables = Exact<{ - quotationId: Scalars['ID']['input']; - quotationContext?: InputMaybe; -}>; - -export type IMakeQuotationProposalMutation = { - makeQuotationProposal: { - _id: string; - status: IQuotationStatus; - created: any; - expires?: any | null; - updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - }; - configuration?: Array<{ key: string; value: string }> | null; - country?: { - _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { - _id: string; - isoCode: string; - isActive?: boolean | null; - } | null; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; - }; -}; - -export type IQuotationQueryVariables = Exact<{ - quotationId: Scalars['ID']['input']; -}>; - -export type IQuotationQuery = { - quotationsCount: number; - quotation?: { - _id: string; - status: IQuotationStatus; - created: any; - expires?: any | null; - updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - }; - configuration?: Array<{ key: string; value: string }> | null; - country?: { - _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { - _id: string; - isoCode: string; - isActive?: boolean | null; - } | null; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; - } | null; -}; - -export type IQuotationsQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; -}>; - -export type IQuotationsQuery = { - quotationsCount: number; - quotations: Array<{ - _id: string; - status: IQuotationStatus; - created: any; - expires?: any | null; - updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; - currency?: { - _id: string; - contractAddress?: string | null; - decimals?: number | null; - isoCode: string; - } | null; - }>; -}; - -export type IRejectQuotationMutationVariables = Exact<{ - quotationId: Scalars['ID']['input']; - quotationContext?: InputMaybe; -}>; - -export type IRejectQuotationMutation = { - rejectQuotation: { - _id: string; - status: IQuotationStatus; - created: any; - expires?: any | null; - updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - }; - configuration?: Array<{ key: string; value: string }> | null; - country?: { - _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { - _id: string; - isoCode: string; - isActive?: boolean | null; - } | null; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; - }; -}; - -export type IUserQuotationsQueryVariables = Exact<{ - userId: Scalars['ID']['input']; - queryString?: InputMaybe; -}>; - -export type IUserQuotationsQuery = { - user?: { - _id: string; - quotations: Array<{ - _id: string; - status: IQuotationStatus; - created: any; - expires?: any | null; - updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; - currency?: { - _id: string; - contractAddress?: string | null; - decimals?: number | null; - isoCode: string; - } | null; - }>; - } | null; -}; - -export type IVerifyQuotationMutationVariables = Exact<{ - quotationId: Scalars['ID']['input']; - quotationContext?: InputMaybe; -}>; - -export type IVerifyQuotationMutation = { - verifyQuotation: { - _id: string; - status: IQuotationStatus; - created: any; - expires?: any | null; - updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - }; - configuration?: Array<{ key: string; value: string }> | null; - country?: { - _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { - _id: string; - isoCode: string; - isActive?: boolean | null; - } | null; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; - }; -}; - -export type IInvalidateTokenMutationVariables = Exact<{ - tokenId: Scalars['ID']['input']; -}>; - -export type IInvalidateTokenMutation = { - invalidateToken: { - _id: string; - walletAddress?: string | null; - status: ITokenExportStatus; - quantity: number; - contractAddress?: string | null; - chainId?: string | null; - tokenSerialNumber?: string | null; - invalidatedDate?: any | null; - expiryDate?: any | null; - ercMetadata?: any | null; - accessKey: string; - isInvalidateable: boolean; - }; -}; - -export type ITokenQueryVariables = Exact<{ - tokenId: Scalars['ID']['input']; - forceLocale?: InputMaybe; -}>; - -export type ITokenQuery = { - token?: { - _id: string; - walletAddress?: string | null; - status: ITokenExportStatus; - quantity: number; - contractAddress?: string | null; - chainId?: string | null; - tokenSerialNumber?: string | null; - invalidatedDate?: any | null; - expiryDate?: any | null; - ercMetadata?: any | null; - accessKey: string; - isInvalidateable: boolean; - product: { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - simulatedPrice?: { amount: number; currencyCode: string } | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; - user?: { - _id: string; - username?: string | null; - isGuest: boolean; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - lastContact?: { - telNumber?: string | null; - emailAddress?: string | null; - } | null; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - } | null; - } | null; -}; - -export type ITokensQueryVariables = Exact<{ - queryString?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - forceLocale?: InputMaybe; -}>; - -export type ITokensQuery = { - tokensCount: number; - tokens: Array<{ - _id: string; - walletAddress?: string | null; - status: ITokenExportStatus; - quantity: number; - contractAddress?: string | null; - chainId?: string | null; - tokenSerialNumber?: string | null; - invalidatedDate?: any | null; - expiryDate?: any | null; - ercMetadata?: any | null; - accessKey: string; - isInvalidateable: boolean; - product: { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - simulatedPrice?: { amount: number; currencyCode: string } | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; - user?: { - _id: string; - username?: string | null; - isGuest: boolean; - primaryEmail?: { address: string; verified: boolean } | null; - avatar?: { _id: string; url?: string | null } | null; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - } | null; - }>; -}; - -export type IWarehousingProviderFragment = { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IWarehousingProviderType | null; - configuration?: any | null; - configurationError?: IWarehousingProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; -}; - -export type IWarehousingProviderFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type ICreateWarehousingProviderMutationVariables = Exact<{ - warehousingProvider: ICreateWarehousingProviderInput; -}>; - -export type ICreateWarehousingProviderMutation = { - createWarehousingProvider: { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IWarehousingProviderType | null; - configuration?: any | null; - configurationError?: IWarehousingProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; -}; - -export type IRemoveWarehousingProviderMutationVariables = Exact<{ - warehousingProviderId: Scalars['ID']['input']; -}>; - -export type IRemoveWarehousingProviderMutation = { - removeWarehousingProvider: { _id: string }; -}; - -export type IUpdateWarehousingProviderMutationVariables = Exact<{ - warehousingProvider: IUpdateProviderInput; - warehousingProviderId: Scalars['ID']['input']; -}>; - -export type IUpdateWarehousingProviderMutation = { - updateWarehousingProvider: { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IWarehousingProviderType | null; - configuration?: any | null; - configurationError?: IWarehousingProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; -}; - -export type IWarehousingInterfacesQueryVariables = Exact<{ - providerType?: InputMaybe; -}>; - -export type IWarehousingInterfacesQuery = { - warehousingInterfaces: Array<{ - _id: string; - label?: string | null; - value: string; - }>; -}; - -export type IWarehousingProviderQueryVariables = Exact<{ - warehousingProviderId: Scalars['ID']['input']; -}>; - -export type IWarehousingProviderQuery = { - warehousingProvider?: { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IWarehousingProviderType | null; - configuration?: any | null; - configurationError?: IWarehousingProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; -}; - -export type IWarehousingProvidersTypeQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IWarehousingProvidersTypeQuery = { - warehousingProviderType?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - -export type IWarehousingProvidersQueryVariables = Exact<{ - type?: InputMaybe; -}>; - -export type IWarehousingProvidersQuery = { - warehousingProvidersCount: number; - warehousingProviders: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IWarehousingProviderType | null; - configuration?: any | null; - configurationError?: IWarehousingProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }>; -}; - -export type IWorkFragment = { - _id: string; - type: IWorkType; - scheduled?: any | null; - status: IWorkStatus; - started?: any | null; - success?: boolean | null; - finished?: any | null; - created: any; - deleted?: any | null; - retries: number; - input?: any | null; - result?: any | null; - original?: { _id: string; retries: number } | null; -}; - -export type IWorkFragmentVariables = Exact<{ [key: string]: never }>; - -export type IActiveWorkTypesQueryVariables = Exact<{ [key: string]: never }>; - -export type IActiveWorkTypesQuery = { activeWorkTypes: Array }; - -export type IAddWorkMutationVariables = Exact<{ - type: IWorkType; - priority?: Scalars['Int']['input']; - input?: InputMaybe; - originalWorkId?: InputMaybe; - scheduled?: InputMaybe; - retries?: Scalars['Int']['input']; -}>; - -export type IAddWorkMutation = { addWork?: { _id: string } | null }; - -export type IAllocateWorkMutationVariables = Exact<{ - types?: InputMaybe>>; - worker?: InputMaybe; -}>; - -export type IAllocateWorkMutation = { allocateWork?: { _id: string } | null }; - -export type IRemoveWorkMutationVariables = Exact<{ - workId: Scalars['ID']['input']; -}>; - -export type IRemoveWorkMutation = { removeWork: { _id: string } }; - -export type IWorkQueryVariables = Exact<{ - workId: Scalars['ID']['input']; -}>; - -export type IWorkQuery = { - work?: { - error?: any | null; - priority: number; - worker?: string | null; - timeout?: number | null; - _id: string; - type: IWorkType; - scheduled?: any | null; - status: IWorkStatus; - started?: any | null; - success?: boolean | null; - finished?: any | null; - created: any; - deleted?: any | null; - retries: number; - input?: any | null; - result?: any | null; - original?: { _id: string; retries: number } | null; - } | null; -}; - -export type IWorkQueueQueryVariables = Exact<{ - queryString?: InputMaybe; - offset?: InputMaybe; - limit?: InputMaybe; - status?: InputMaybe>; - types?: InputMaybe>; - created?: InputMaybe; - sort?: InputMaybe>; -}>; - -export type IWorkQueueQuery = { - activeWorkTypes: Array; - workQueueCount: number; - workQueue: Array<{ - _id: string; - type: IWorkType; - scheduled?: any | null; - status: IWorkStatus; - started?: any | null; - success?: boolean | null; - finished?: any | null; - created: any; - deleted?: any | null; - retries: number; - input?: any | null; - result?: any | null; - original?: { _id: string; retries: number } | null; - }>; -}; diff --git a/admin-ui/src/modules/common/components/Layout.tsx b/admin-ui/src/modules/common/components/Layout.tsx index 70b749b5ef..fda1e0a1be 100644 --- a/admin-ui/src/modules/common/components/Layout.tsx +++ b/admin-ui/src/modules/common/components/Layout.tsx @@ -15,6 +15,7 @@ import { CubeIcon, DocumentTextIcon, FolderArrowDownIcon, + TicketIcon, } from '@heroicons/react/24/outline'; import Link from 'next/link'; import React, { useState } from 'react'; @@ -236,6 +237,12 @@ const Layout = ({ href: '/tokens', requiredRole: 'viewTokens', }, + isSystemReady && { + name: formatMessage({ id: 'ticketing', defaultMessage: 'Ticketing' }), + icon: TicketIcon, + href: '/ticketing', + requiredRole: 'viewTokens', + }, { name: formatMessage({ id: 'system', defaultMessage: 'System settings' }), icon: Cog8ToothIcon, diff --git a/admin-ui/src/modules/product/fragments/TokenFragment.ts b/admin-ui/src/modules/product/fragments/TokenFragment.ts index ce0b9415e1..142262b9af 100644 --- a/admin-ui/src/modules/product/fragments/TokenFragment.ts +++ b/admin-ui/src/modules/product/fragments/TokenFragment.ts @@ -14,6 +14,7 @@ const TokenFragment = gql` ercMetadata accessKey isInvalidateable + isCanceled } `; diff --git a/admin-ui/src/modules/product/hooks/useProduct.ts b/admin-ui/src/modules/product/hooks/useProduct.ts index 8932c983be..329810895f 100644 --- a/admin-ui/src/modules/product/hooks/useProduct.ts +++ b/admin-ui/src/modules/product/hooks/useProduct.ts @@ -57,6 +57,56 @@ const GetProductQuery = (inlineFragment = '') => gql` __typename } } + ... on TokenizedProduct { + texts { + _id + title + subtitle + description + } + contractConfiguration { + ercMetadataProperties + supply + } + simulatedStocks { + quantity + } + tokensCount + tokens { + _id + tokenSerialNumber + isCanceled + invalidatedDate + isInvalidateable + quantity + status + walletAddress + user { + _id + username + isGuest + primaryEmail { + address + verified + } + avatar { + _id + url + } + profile { + displayName + address { + firstName + lastName + } + } + lastContact { + emailAddress + telNumber + } + } + } + } } } ${ProductDetailFragment} diff --git a/admin-ui/src/modules/ticketing/components/EventTokenList.tsx b/admin-ui/src/modules/ticketing/components/EventTokenList.tsx new file mode 100644 index 0000000000..78ced8f7bd --- /dev/null +++ b/admin-ui/src/modules/ticketing/components/EventTokenList.tsx @@ -0,0 +1,71 @@ +import { useIntl } from 'react-intl'; +import Table from '../../common/components/Table'; +import EventTokenListItem from './EventTokenListItem'; + +const EventTokenList = ({ tokens, onCancelTicket, onInvalidateTicket }) => { + const { formatMessage } = useIntl(); + + if (!tokens?.length) { + return ( +

+ {formatMessage({ + id: 'no_tickets_issued', + defaultMessage: 'No tickets have been issued yet.', + })} +

+ ); + } + + return ( + + + + {formatMessage({ + id: 'ticket_number', + defaultMessage: 'Ticket #', + })} + + + {formatMessage({ + id: 'attendee', + defaultMessage: 'Attendee', + })} + + + {formatMessage({ + id: 'email', + defaultMessage: 'E-Mail', + })} + + + {formatMessage({ + id: 'phone', + defaultMessage: 'Phone', + })} + + + {formatMessage({ + id: 'redeemed', + defaultMessage: 'Redeemed', + })} + + + {formatMessage({ + id: 'actions', + defaultMessage: 'Actions', + })} + + + {tokens.map((token) => ( + + ))} +
+ ); +}; + +export default EventTokenList; diff --git a/admin-ui/src/modules/ticketing/components/EventTokenListItem.tsx b/admin-ui/src/modules/ticketing/components/EventTokenListItem.tsx new file mode 100644 index 0000000000..ae0e49cd94 --- /dev/null +++ b/admin-ui/src/modules/ticketing/components/EventTokenListItem.tsx @@ -0,0 +1,103 @@ +import Link from 'next/link'; +import { useIntl } from 'react-intl'; +import Table from '../../common/components/Table'; +import Badge from '../../common/components/Badge'; +import useFormatDateTime from '../../common/utils/useFormatDateTime'; +import formatUsername from '../../common/utils/formatUsername'; +import MediaAvatar from '../../common/components/MediaAvatar'; + +const EventTokenListItem = ({ token, onCancelTicket, onInvalidateTicket }) => { + const { formatMessage } = useIntl(); + const { formatDateTime } = useFormatDateTime(); + + return ( + + + + {token.tokenSerialNumber || token._id?.slice(-8)} + + + + {token.user && ( + + + {formatUsername(token.user)} + + )} + + + + {token.user?.lastContact?.emailAddress || + token.user?.primaryEmail?.address || + '-'} + + + + + {token.user?.lastContact?.telNumber || '-'} + + + + {token.invalidatedDate ? ( + + ) : ( + - + )} + + +
+ {token.isCanceled ? ( + + ) : ( + <> + + {token.isInvalidateable && !token.invalidatedDate && ( + + )} + + )} +
+
+
+ ); +}; + +export default EventTokenListItem; diff --git a/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx b/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx new file mode 100644 index 0000000000..413950db78 --- /dev/null +++ b/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx @@ -0,0 +1,264 @@ +import Link from 'next/link'; +import { useCallback } from 'react'; +import { useIntl } from 'react-intl'; +import { toast } from 'react-toastify'; +import useModal from '../../modal/hooks/useModal'; +import DangerMessage from '../../modal/components/DangerMessage'; +import useFormatDateTime from '../../common/utils/useFormatDateTime'; +import ImageWithFallback from '../../common/components/ImageWithFallback'; +import defaultNextImageLoader from '../../common/utils/defaultNextImageLoader'; +import Badge from '../../common/components/Badge'; +import EventTokenList from './EventTokenList'; +import useCancelTicket from '../hooks/useCancelTicket'; +import useCancelEvent from '../hooks/useCancelEvent'; +import useInvalidateTicket from '../../token/hooks/useInvalidateTicket'; +import generateUniqueId from '../../common/utils/getUniqueId'; + +const TicketEventDetail = ({ product }) => { + const { formatMessage } = useIntl(); + const { formatDateTime } = useFormatDateTime(); + const { setModal } = useModal(); + const { cancelTicket } = useCancelTicket(); + const { cancelEvent } = useCancelEvent(); + const { invalidateTicket } = useInvalidateTicket(); + + const slot = + product?.contractConfiguration?.ercMetadataProperties?.slot; + const supply = product?.contractConfiguration?.supply || 0; + const remaining = + product?.simulatedStocks?.reduce((acc, cur) => acc + cur.quantity, 0) || 0; + const sold = supply - remaining; + + const activeTokens = + product?.tokens?.filter((t) => !t.isCanceled) || []; + const redeemedTokens = activeTokens.filter((t) => t.invalidatedDate); + + const onCancelEvent = useCallback(async () => { + await setModal( + setModal('')} + message={formatMessage({ + id: 'cancel_event_confirmation', + defaultMessage: + 'Are you sure you want to cancel this event? All tickets will be cancelled.', + })} + onOkClick={async () => { + setModal(''); + try { + await cancelEvent({ productId: product._id }); + toast.success( + formatMessage({ + id: 'event_cancelled', + defaultMessage: 'Event cancelled successfully', + }), + ); + } catch (e) { + toast.error(e.message); + } + }} + okText={formatMessage({ + id: 'cancel_event', + defaultMessage: 'Cancel Event', + })} + />, + ); + }, [product?._id]); + + const onCancelTicket = useCallback( + async (tokenId: string) => { + await setModal( + setModal('')} + message={formatMessage({ + id: 'cancel_ticket_confirmation', + defaultMessage: + 'Are you sure you want to cancel this ticket?', + })} + onOkClick={async () => { + setModal(''); + try { + await cancelTicket({ tokenId }); + toast.success( + formatMessage({ + id: 'ticket_cancelled', + defaultMessage: 'Ticket cancelled successfully', + }), + ); + } catch (e) { + toast.error(e.message); + } + }} + okText={formatMessage({ + id: 'cancel_ticket', + defaultMessage: 'Cancel Ticket', + })} + />, + ); + }, + [], + ); + + const onInvalidateTicket = useCallback(async (tokenId: string) => { + try { + await invalidateTicket({ tokenId }); + toast.success( + formatMessage({ + id: 'ticket_redeemed', + defaultMessage: 'Ticket redeemed successfully', + }), + ); + } catch (e) { + toast.error( + formatMessage({ + id: 'ticket_redeem_error', + defaultMessage: 'Ticket already redeemed or not redeemable at this time', + }), + ); + } + }, []); + + if (!product) return null; + + return ( +
+
+
+
+ + + +
+
+

+ {product?.texts?.title} +

+ {product?.texts?.subtitle && ( +

+ {product.texts.subtitle} +

+ )} + {product?.texts?.description && ( +

+ {product.texts.description} +

+ )} + +
+
+ + {formatMessage({ + id: 'event_date', + defaultMessage: 'Event Date', + })} + +

+ {slot + ? formatDateTime(slot, { + dateStyle: 'full', + timeStyle: 'short', + }) + : '-'} +

+
+
+ + {formatMessage({ + id: 'status', + defaultMessage: 'Status', + })} + +
+ +
+
+
+ + {formatMessage({ + id: 'tickets_sold', + defaultMessage: 'Tickets Sold', + })} + +

+ {sold} + / {supply} +

+
+
+ + {formatMessage({ + id: 'tickets_redeemed', + defaultMessage: 'Tickets Redeemed', + })} + +

+ + {redeemedTokens.length} + + + {' '} + / {activeTokens.length} + +

+
+
+ + {product.status === 'ACTIVE' && ( +
+ +
+ )} +
+
+
+ +
+

+ {formatMessage( + { + id: 'attendee_list', + defaultMessage: 'Attendees ({count})', + }, + { count: product?.tokens?.length || 0 }, + )} +

+ +
+
+ ); +}; + +export default TicketEventDetail; diff --git a/admin-ui/src/modules/ticketing/components/TicketEventList.tsx b/admin-ui/src/modules/ticketing/components/TicketEventList.tsx new file mode 100644 index 0000000000..e5ef253edb --- /dev/null +++ b/admin-ui/src/modules/ticketing/components/TicketEventList.tsx @@ -0,0 +1,38 @@ +import { useIntl } from 'react-intl'; +import Table from '../../common/components/Table'; +import TicketEventListItem from './TicketEventListItem'; + +const TicketEventList = ({ products }) => { + const { formatMessage } = useIntl(); + + return ( + + + {' '} + + {formatMessage({ id: 'title', defaultMessage: 'Title' })} + + + {formatMessage({ + id: 'event_date', + defaultMessage: 'Event Date', + })} + + + {formatMessage({ + id: 'tickets_sold', + defaultMessage: 'Tickets Sold', + })} + + + {formatMessage({ id: 'status', defaultMessage: 'Status' })} + + + {(products || []).map((product) => ( + + ))} +
+ ); +}; + +export default TicketEventList; diff --git a/admin-ui/src/modules/ticketing/components/TicketEventListItem.tsx b/admin-ui/src/modules/ticketing/components/TicketEventListItem.tsx new file mode 100644 index 0000000000..4ed5e1cfe2 --- /dev/null +++ b/admin-ui/src/modules/ticketing/components/TicketEventListItem.tsx @@ -0,0 +1,98 @@ +import Link from 'next/link'; +import Table from '../../common/components/Table'; +import Badge from '../../common/components/Badge'; +import useFormatDateTime from '../../common/utils/useFormatDateTime'; +import ImageWithFallback from '../../common/components/ImageWithFallback'; +import defaultNextImageLoader from '../../common/utils/defaultNextImageLoader'; +import generateUniqueId from '../../common/utils/getUniqueId'; + +const EVENT_STATUSES = { + ACTIVE: 'emerald', + DRAFT: 'amber', + DELETED: 'rose', +}; + +const TicketEventListItem = ({ product }) => { + const { formatDateTime } = useFormatDateTime(); + const slot = + product?.contractConfiguration?.ercMetadataProperties?.slot; + + const supply = product?.contractConfiguration?.supply || 0; + const remaining = + product?.simulatedStocks?.reduce((acc, cur) => acc + cur.quantity, 0) || 0; + const sold = supply - remaining; + const ticketUrl = `/ticketing?slug=${generateUniqueId(product)}`; + return ( + + + + + + + + + {product?.texts?.title || 'Untitled'} + {product?.texts?.subtitle && ( + + {product.texts.subtitle} + + )} + + + +
+ {slot + ? formatDateTime(slot, { + month: 'short', + year: 'numeric', + day: 'numeric', + hour: 'numeric', + minute: 'numeric', + }) + : '-'} +
+
+ +
+ + {sold} + + / + {supply} + {supply > 0 && ( +
+
+
+ )} +
+ + + + + + ); +}; + +export default TicketEventListItem; diff --git a/admin-ui/src/modules/ticketing/hooks/useCancelEvent.ts b/admin-ui/src/modules/ticketing/hooks/useCancelEvent.ts new file mode 100644 index 0000000000..fbe46af5aa --- /dev/null +++ b/admin-ui/src/modules/ticketing/hooks/useCancelEvent.ts @@ -0,0 +1,24 @@ +import { gql } from '@apollo/client'; +import { useMutation } from '@apollo/client/react'; + +const CancelEventMutation = gql` + mutation CancelEvent($productId: ID!) { + cancelEvent(productId: $productId) + } +`; + +const useCancelEvent = () => { + const [cancelEventMutation] = useMutation(CancelEventMutation); + + const cancelEvent = async ({ productId }: { productId: string }) => { + const result = await cancelEventMutation({ + variables: { productId }, + refetchQueries: ['Product', 'TicketEvents', 'Tokens'], + }); + return result; + }; + + return { cancelEvent }; +}; + +export default useCancelEvent; diff --git a/admin-ui/src/modules/ticketing/hooks/useCancelTicket.ts b/admin-ui/src/modules/ticketing/hooks/useCancelTicket.ts new file mode 100644 index 0000000000..ce505f93a8 --- /dev/null +++ b/admin-ui/src/modules/ticketing/hooks/useCancelTicket.ts @@ -0,0 +1,30 @@ +import { gql } from '@apollo/client'; +import { useMutation } from '@apollo/client/react'; + +const CancelTicketMutation = gql` + mutation CancelTicket($tokenId: ID!) { + cancelTicket(tokenId: $tokenId) { + _id + isCanceled + invalidatedDate + isInvalidateable + tokenSerialNumber + } + } +`; + +const useCancelTicket = () => { + const [cancelTicketMutation] = useMutation(CancelTicketMutation); + + const cancelTicket = async ({ tokenId }: { tokenId: string }) => { + const result = await cancelTicketMutation({ + variables: { tokenId }, + refetchQueries: ['Product', 'TicketEvents', 'Tokens', 'Token'], + }); + return result; + }; + + return { cancelTicket }; +}; + +export default useCancelTicket; diff --git a/admin-ui/src/modules/ticketing/hooks/useEventProducts.ts b/admin-ui/src/modules/ticketing/hooks/useEventProducts.ts new file mode 100644 index 0000000000..cacceaa440 --- /dev/null +++ b/admin-ui/src/modules/ticketing/hooks/useEventProducts.ts @@ -0,0 +1,77 @@ +import { gql } from '@apollo/client'; +import { useQuery } from '@apollo/client/react'; + +const TicketEventsQuery = gql` + query TicketEvents( + $queryString: String + $limit: Int + $offset: Int + $includeDrafts: Boolean = true + $forceLocale: Locale + ) { + ticketEvents( + queryString: $queryString + limit: $limit + offset: $offset + includeDrafts: $includeDrafts + ) { + _id + status + tags + updated + published + ... on TokenizedProduct { + texts(forceLocale: $forceLocale) { + _id + slug + title + subtitle + description + } + media(limit: 1) { + _id + file { + _id + url + name + } + } + contractConfiguration { + ercMetadataProperties + supply + } + simulatedStocks { + quantity + } + tokensCount + } + } + ticketEventsCount( + includeDrafts: $includeDrafts + queryString: $queryString + ) + } +`; + +const useEventProducts = ({ + queryString = null, + limit = 50, + offset = 0, +}: { + queryString?: string; + limit?: number; + offset?: number; +}) => { + const { data, loading, error } = useQuery(TicketEventsQuery, { + variables: { queryString, limit, offset }, + }); + + return { + products: data?.ticketEvents || [], + productsCount: data?.ticketEventsCount || 0, + loading, + error, + }; +}; + +export default useEventProducts; diff --git a/admin-ui/src/modules/ticketing/index.ts b/admin-ui/src/modules/ticketing/index.ts new file mode 100644 index 0000000000..a3977c2f2a --- /dev/null +++ b/admin-ui/src/modules/ticketing/index.ts @@ -0,0 +1,3 @@ +export { default as useEventProducts } from './hooks/useEventProducts'; +export { default as useCancelTicket } from './hooks/useCancelTicket'; +export { default as useCancelEvent } from './hooks/useCancelEvent'; diff --git a/admin-ui/src/modules/token/components/TokenDetail.tsx b/admin-ui/src/modules/token/components/TokenDetail.tsx index b59b4caf2c..57d0627df0 100644 --- a/admin-ui/src/modules/token/components/TokenDetail.tsx +++ b/admin-ui/src/modules/token/components/TokenDetail.tsx @@ -120,6 +120,19 @@ const TokenDetail = ({ token }) => {

+ {token?.isCanceled && ( +
+ + {formatMessage({ + id: 'cancelled_status', + defaultMessage: 'Cancelled', + })} + : + + +
+ )} + {token?.walletAddress && (
diff --git a/admin-ui/src/modules/token/components/TokenList.tsx b/admin-ui/src/modules/token/components/TokenList.tsx index 0234239ca2..74aa0ed18c 100644 --- a/admin-ui/src/modules/token/components/TokenList.tsx +++ b/admin-ui/src/modules/token/components/TokenList.tsx @@ -33,6 +33,12 @@ const TokenList = ({ tokens }) => { defaultMessage: 'Invalidated', })} + + {formatMessage({ + id: 'token_cancelled', + defaultMessage: 'Cancelled', + })} + {(tokens || []).map((token) => ( diff --git a/admin-ui/src/modules/token/components/TokenListItem.tsx b/admin-ui/src/modules/token/components/TokenListItem.tsx index 0addb783f2..6f4fefedaf 100644 --- a/admin-ui/src/modules/token/components/TokenListItem.tsx +++ b/admin-ui/src/modules/token/components/TokenListItem.tsx @@ -69,6 +69,11 @@ const TokenListItem = ({ token }) => { : null}
+ + {token.isCanceled ? ( + + ) : null} +
); }; diff --git a/admin-ui/src/pages/ticketing/TicketEventDetailPage.tsx b/admin-ui/src/pages/ticketing/TicketEventDetailPage.tsx new file mode 100644 index 0000000000..7a57078ae5 --- /dev/null +++ b/admin-ui/src/pages/ticketing/TicketEventDetailPage.tsx @@ -0,0 +1,35 @@ +import { useIntl } from 'react-intl'; +import BreadCrumbs from '../../modules/common/components/BreadCrumbs'; +import PageHeader from '../../modules/common/components/PageHeader'; +import Loading from '../../modules/common/components/Loading'; +import TicketEventDetail from '../../modules/ticketing/components/TicketEventDetail'; +import useProduct from '../../modules/product/hooks/useProduct'; + +const TicketEventDetailPage = ({ slug }) => { + const { formatMessage } = useIntl(); + const { product, loading } = useProduct({ slug: slug as string }); + + if (loading) return ; + + return ( + <> + +
+ +
+ + + ); +}; + +export default TicketEventDetailPage; diff --git a/admin-ui/src/pages/ticketing/index.tsx b/admin-ui/src/pages/ticketing/index.tsx new file mode 100644 index 0000000000..c191276e34 --- /dev/null +++ b/admin-ui/src/pages/ticketing/index.tsx @@ -0,0 +1,102 @@ +import { useIntl } from 'react-intl'; +import { useRouter } from 'next/router'; + +import BreadCrumbs from '../../modules/common/components/BreadCrumbs'; +import PageHeader from '../../modules/common/components/PageHeader'; +import Loading from '../../modules/common/components/Loading'; +import NoData from '../../modules/common/components/NoData'; +import ListHeader from '../../modules/common/components/ListHeader'; +import SearchWithTags from '../../modules/common/components/SearchWithTags'; +import AnimatedCounter from '../../modules/common/components/AnimatedCounter'; +import TicketEventList from '../../modules/ticketing/components/TicketEventList'; +import useEventProducts from '../../modules/ticketing/hooks/useEventProducts'; +import TicketEventDetailPage from './TicketEventDetailPage'; + +const TicketingPage = () => { + const { formatMessage } = useIntl(); + const { query, push } = useRouter(); + + const { queryString, slug, ...rest } = query; + + const setQueryString = (searchString) => { + const { skip, ...withoutSkip } = rest; + if (searchString) + push({ + query: { + ...withoutSkip, + queryString: searchString, + }, + }); + else + push({ + query: { + ...rest, + }, + }); + }; + + const { products, productsCount, loading } = useEventProducts({ + limit: 0, + offset: 0, + queryString: queryString as string, + }); + + if (slug) return ; + + const headerText = + productsCount === 1 + ? formatMessage({ + id: 'event_header', + defaultMessage: '1 Event', + }) + : formatMessage( + { + id: 'event_count_header', + defaultMessage: '{count} Events', + }, + { count: }, + ); + + return ( + <> + + +
+ + + + <> + {loading ? ( + + ) : ( + + )} + {!loading && !products?.length && ( + + )} + + +
+ + ); +}; + +export default TicketingPage; diff --git a/admin-ui/src/pages/tokens/TokenDetailPage.tsx b/admin-ui/src/pages/tokens/TokenDetailPage.tsx index d23e767043..19df83cd53 100644 --- a/admin-ui/src/pages/tokens/TokenDetailPage.tsx +++ b/admin-ui/src/pages/tokens/TokenDetailPage.tsx @@ -1,4 +1,3 @@ -import { useRouter } from 'next/router'; import { IRoleAction } from '../../gql/types'; import useToken from '../../modules/token/hooks/useToken'; @@ -13,6 +12,7 @@ import { XMarkIcon } from '@heroicons/react/24/outline'; import DangerMessage from '../../modules/modal/components/DangerMessage'; import useModal from '../../modules/modal/hooks/useModal'; import useInvalidateTicket from '../../modules/token/hooks/useInvalidateTicket'; +import useCancelTicket from '../../modules/ticketing/hooks/useCancelTicket'; import { toast } from 'react-toastify'; import { useCallback } from 'react'; import useAuth from '../../modules/Auth/useAuth'; @@ -21,8 +21,10 @@ const TokenDetailPage = ({ tokenId }) => { const { formatMessage } = useIntl(); const { setModal } = useModal(); - const { token, loading } = useToken({ tokenId: tokenId as string }); + const { token: rawToken, loading } = useToken({ tokenId: tokenId as string }); + const token = rawToken as typeof rawToken & { isCanceled?: boolean }; const { invalidateTicket } = useInvalidateTicket(); + const { cancelTicket } = useCancelTicket(); const { hasRole } = useAuth(); const onInvalidateToken = useCallback(async () => { @@ -30,23 +32,54 @@ const TokenDetailPage = ({ tokenId }) => { setModal('')} message={formatMessage({ - id: 'delete_paymentProvider_confirmation', + id: 'invalidate_token_confirmation', defaultMessage: - 'This action might cause inconsistencies with other data that relates to it. Are you sure you want to delete this Payment provider? ', + 'Are you sure you want to invalidate this token? This marks it as redeemed.', })} onOkClick={async () => { setModal(''); await invalidateTicket({ tokenId }); toast.success( formatMessage({ - id: 'payment_provider_deleted', - defaultMessage: 'Payment provider deleted successfully', + id: 'token_invalidated', + defaultMessage: 'Token invalidated successfully', }), ); }} okText={formatMessage({ - id: 'delete_payment_provider', - defaultMessage: 'Delete payment provider', + id: 'invalidate_token', + defaultMessage: 'Invalidate', + })} + />, + ); + }, [tokenId]); + + const onCancelToken = useCallback(async () => { + await setModal( + setModal('')} + message={formatMessage({ + id: 'cancel_ticket_confirmation', + defaultMessage: + 'Are you sure you want to cancel this ticket? This action cannot be undone.', + })} + onOkClick={async () => { + setModal(''); + try { + await cancelTicket({ tokenId }); + toast.success( + formatMessage({ + id: 'ticket_cancelled', + defaultMessage: 'Ticket cancelled successfully', + }), + ); + } catch (e) { + toast.error(e.message); + } + }} + okText={formatMessage({ + id: 'cancel_ticket', + defaultMessage: 'Cancel Ticket', })} />, ); @@ -73,19 +106,33 @@ const TokenDetailPage = ({ tokenId }) => { )}
- {!token.invalidatedDate && - token.isInvalidateable && - hasRole(IRoleAction.UpdateToken) ? ( - + + + {loading ? ( + + ) : todayEvents.length ? ( + todayEvents.map((event) => ( + + )) + ) : ( + + )} + + ); +}; + +export default GateControl; diff --git a/admin-ui/src/modules/ticketing/components/GatePassCodeForm.tsx b/admin-ui/src/modules/ticketing/components/GatePassCodeForm.tsx new file mode 100644 index 0000000000..002f393e8b --- /dev/null +++ b/admin-ui/src/modules/ticketing/components/GatePassCodeForm.tsx @@ -0,0 +1,72 @@ +import { useState } from 'react'; +import { useIntl } from 'react-intl'; +import { toast } from 'react-toastify'; +import useIsPassCodeValid from '../hooks/useIsPassCodeValid'; + +const GatePassCodeForm = ({ onAuthenticated }) => { + const { formatMessage } = useIntl(); + const { validatePassCode, loading } = useIsPassCodeValid(); + const [passCode, setPassCode] = useState(''); + + const handleSubmit = async (e) => { + e.preventDefault(); + if (!passCode.trim()) return; + + const valid = await validatePassCode(passCode.trim()); + if (valid) { + onAuthenticated(); + } else { + toast.error( + formatMessage({ + id: 'gate_invalid_passcode', + defaultMessage: 'Invalid pass code. Please try again.', + }), + ); + } + }; + + return ( +
+
+

+ {formatMessage({ + id: 'gate_enter_passcode', + defaultMessage: + 'Enter the scanner pass code to activate the gate control.', + })} +

+
+ setPassCode(e.target.value)} + placeholder={formatMessage({ + id: 'gate_passcode_placeholder', + defaultMessage: 'Pass code', + })} + className="mb-4 block w-full rounded-md border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 px-4 py-2 text-sm text-slate-900 dark:text-slate-100 placeholder-slate-400 focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500" + required + autoFocus + /> + +
+
+
+ ); +}; + +export default GatePassCodeForm; diff --git a/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx b/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx index 257ec51abb..33a10f056f 100644 --- a/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx +++ b/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx @@ -1,5 +1,5 @@ import Link from 'next/link'; -import { useCallback } from 'react'; +import { useCallback, useState } from 'react'; import { useIntl } from 'react-intl'; import { toast } from 'react-toastify'; import useModal from '../../modal/hooks/useModal'; @@ -12,6 +12,7 @@ import EventTokenList from './EventTokenList'; import useCancelTicket from '../hooks/useCancelTicket'; import useCancelEvent from '../hooks/useCancelEvent'; import useInvalidateTicket from '../../token/hooks/useInvalidateTicket'; +import useSetScannerPassCode from '../hooks/useSetScannerPassCode'; import generateUniqueId from '../../common/utils/getUniqueId'; const TicketEventDetail = ({ product }) => { @@ -21,6 +22,8 @@ const TicketEventDetail = ({ product }) => { const { cancelTicket } = useCancelTicket(); const { cancelEvent } = useCancelEvent(); const { invalidateTicket } = useInvalidateTicket(); + const { setScannerPassCode } = useSetScannerPassCode(); + const [passCodeInput, setPassCodeInput] = useState(''); const slot = product?.contractConfiguration?.ercMetadataProperties?.slot; const supply = product?.contractConfiguration?.supply || 0; @@ -238,6 +241,117 @@ const TicketEventDetail = ({ product }) => { +
+

+ {formatMessage({ + id: 'gate_control_settings', + defaultMessage: 'Gate Control', + })} +

+

+ {formatMessage({ + id: 'gate_control_description', + defaultMessage: + 'Set a scanner pass code to enable gate control for this event. Share this code with gate operators.', + })} +

+
+
+ + setPassCodeInput(e.target.value)} + placeholder={ + product?.scannerPassCode + ? formatMessage({ + id: 'scanner_pass_code_set', + defaultMessage: + 'Pass code is set (enter new value to change)', + }) + : formatMessage({ + id: 'scanner_pass_code_placeholder', + defaultMessage: 'Enter a pass code for gate operators', + }) + } + className="block w-full rounded-md border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 px-3 py-2 text-sm text-slate-900 dark:text-slate-100 placeholder-slate-400 focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500" + /> +
+ + {product?.scannerPassCode && ( + + )} +
+ {product?.scannerPassCode && ( +

+ {formatMessage({ + id: 'scanner_pass_code_active', + defaultMessage: 'Gate control is active for this event.', + })} +

+ )} +
+

{formatMessage( diff --git a/admin-ui/src/modules/ticketing/hooks/useGateEvents.ts b/admin-ui/src/modules/ticketing/hooks/useGateEvents.ts new file mode 100644 index 0000000000..14154b53e2 --- /dev/null +++ b/admin-ui/src/modules/ticketing/hooks/useGateEvents.ts @@ -0,0 +1,94 @@ +import { gql } from '@apollo/client'; +import { useQuery } from '@apollo/client/react'; +import { + IGateEventsQuery, + IGateEventsQueryVariables, +} from '../../../gql/types'; + +const GateEventsQuery = gql` + query GateEvents { + ticketEvents(limit: 100, includeDrafts: false) { + _id + status + ... on TokenizedProduct { + texts { + _id + title + subtitle + } + contractConfiguration { + ercMetadataProperties + supply + } + isCanceled + tokens { + _id + tokenSerialNumber + isCanceled + invalidatedDate + isInvalidateable + ercMetadata + user { + _id + username + isGuest + primaryEmail { + address + verified + } + avatar { + _id + url + } + profile { + displayName + address { + firstName + lastName + } + } + lastContact { + emailAddress + telNumber + } + } + } + } + } + } +`; + +const isToday = (dateStr: string) => { + if (!dateStr) return false; + const today = new Date().toLocaleDateString(); + const target = new Date(dateStr).toLocaleDateString(); + return today === target; +}; + +const useGateEvents = () => { + const { data, loading, error, refetch } = useQuery< + IGateEventsQuery, + IGateEventsQueryVariables + >(GateEventsQuery, { + fetchPolicy: 'cache-and-network', + pollInterval: 10000, + }); + + const allEvents = data?.ticketEvents || []; + const todayEvents = allEvents.filter( + (p: any) => + p?.tokens?.length && + !p.isCanceled && + isToday(p?.contractConfiguration?.ercMetadataProperties?.slot), + ); + + return { + todayEvents, + allEvents, + loading, + error, + refetch, + }; +}; + +export default useGateEvents; diff --git a/admin-ui/src/modules/ticketing/hooks/useIsPassCodeValid.ts b/admin-ui/src/modules/ticketing/hooks/useIsPassCodeValid.ts new file mode 100644 index 0000000000..e1e70ce1f6 --- /dev/null +++ b/admin-ui/src/modules/ticketing/hooks/useIsPassCodeValid.ts @@ -0,0 +1,46 @@ +import { gql } from '@apollo/client'; +import { useLazyQuery } from '@apollo/client/react'; +import { + IIsPassCodeValidQuery, + IIsPassCodeValidQueryVariables, +} from '../../../gql/types'; + +const IsPassCodeValidQuery = gql` + query IsPassCodeValid($productId: ID) { + isPassCodeValid(productId: $productId) + } +`; + +const useIsPassCodeValid = () => { + const [checkPassCode, { data, loading, error }] = useLazyQuery< + IIsPassCodeValidQuery, + IIsPassCodeValidQueryVariables + >(IsPassCodeValidQuery, { + fetchPolicy: 'network-only', + }); + + const validatePassCode = async (passCode: string, productId?: string) => { + window.sessionStorage.setItem('gate-passcode', passCode); + const result = await checkPassCode({ + variables: { productId }, + }); + if (!result.data?.isPassCodeValid) { + window.sessionStorage.removeItem('gate-passcode'); + } + return result.data?.isPassCodeValid || false; + }; + + const clearPassCode = () => { + window.sessionStorage.removeItem('gate-passcode'); + }; + + return { + validatePassCode, + clearPassCode, + isValid: data?.isPassCodeValid || false, + loading, + error, + }; +}; + +export default useIsPassCodeValid; diff --git a/admin-ui/src/modules/ticketing/hooks/useSetScannerPassCode.ts b/admin-ui/src/modules/ticketing/hooks/useSetScannerPassCode.ts new file mode 100644 index 0000000000..9494306616 --- /dev/null +++ b/admin-ui/src/modules/ticketing/hooks/useSetScannerPassCode.ts @@ -0,0 +1,41 @@ +import { gql } from '@apollo/client'; +import { useMutation } from '@apollo/client/react'; +import { + ISetEventScannerPassCodeMutation, + ISetEventScannerPassCodeMutationVariables, +} from '../../../gql/types'; + +const SetEventScannerPassCodeMutation = gql` + mutation SetEventScannerPassCode($productId: ID!, $passCode: String) { + setEventScannerPassCode(productId: $productId, passCode: $passCode) { + _id + ... on TokenizedProduct { + scannerPassCode + } + } + } +`; + +const useSetScannerPassCode = () => { + const [setPassCodeMutation] = useMutation< + ISetEventScannerPassCodeMutation, + ISetEventScannerPassCodeMutationVariables + >(SetEventScannerPassCodeMutation); + + const setScannerPassCode = async ({ + productId, + passCode, + }: { + productId: string; + passCode: string | null; + }) => { + return setPassCodeMutation({ + variables: { productId, passCode }, + refetchQueries: ['Product'], + }); + }; + + return { setScannerPassCode }; +}; + +export default useSetScannerPassCode; diff --git a/admin-ui/src/modules/ticketing/index.ts b/admin-ui/src/modules/ticketing/index.ts index a3977c2f2a..d672fe521b 100644 --- a/admin-ui/src/modules/ticketing/index.ts +++ b/admin-ui/src/modules/ticketing/index.ts @@ -1,3 +1,6 @@ export { default as useEventProducts } from './hooks/useEventProducts'; export { default as useCancelTicket } from './hooks/useCancelTicket'; export { default as useCancelEvent } from './hooks/useCancelEvent'; +export { default as useIsPassCodeValid } from './hooks/useIsPassCodeValid'; +export { default as useGateEvents } from './hooks/useGateEvents'; +export { default as useSetScannerPassCode } from './hooks/useSetScannerPassCode'; diff --git a/admin-ui/src/pages/ticketing/gate.tsx b/admin-ui/src/pages/ticketing/gate.tsx new file mode 100644 index 0000000000..48df0c9cb0 --- /dev/null +++ b/admin-ui/src/pages/ticketing/gate.tsx @@ -0,0 +1,55 @@ +import { useState, useEffect } from 'react'; +import Link from 'next/link'; +import { useIntl } from 'react-intl'; +import useCurrentUser from '../../modules/accounts/hooks/useCurrentUser'; +import GatePassCodeForm from '../../modules/ticketing/components/GatePassCodeForm'; +import GateControl from '../../modules/ticketing/components/GateControl'; + +const GateControlPage = () => { + const { formatMessage } = useIntl(); + const { currentUser } = useCurrentUser(); + const [authenticated, setAuthenticated] = useState(false); + + useEffect(() => { + const stored = window.sessionStorage.getItem('gate-passcode'); + if (stored) setAuthenticated(true); + }, []); + + const handleLogout = () => { + window.sessionStorage.removeItem('gate-passcode'); + setAuthenticated(false); + }; + + return ( +
+
+

+ {formatMessage({ + id: 'gate_control_header', + defaultMessage: 'Gate Control', + })} +

+
+
+ + {formatMessage({ + id: currentUser?._id ? 'back_to_admin' : 'back_to_login', + defaultMessage: currentUser?._id ? 'Back to Admin' : 'Log in', + })} + +
+ {authenticated ? ( + + ) : ( + setAuthenticated(true)} /> + )} +
+ ); +}; + +GateControlPage.getLayout = (page) => page; + +export default GateControlPage; diff --git a/admin-ui/src/pages/ticketing/index.tsx b/admin-ui/src/pages/ticketing/index.tsx index e720bd53b9..2a0b912755 100644 --- a/admin-ui/src/pages/ticketing/index.tsx +++ b/admin-ui/src/pages/ticketing/index.tsx @@ -1,3 +1,4 @@ +import Link from 'next/link'; import { useIntl } from 'react-intl'; import { useRouter } from 'next/router'; @@ -60,16 +61,27 @@ const TicketingPage = () => { return ( <> - +
+ + + {formatMessage({ + id: 'gate_control', + defaultMessage: 'Gate Control', + })} + +
diff --git a/package-lock.json b/package-lock.json index 8117e730b6..8ce07e0138 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@unchainedshop/engine", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@unchainedshop/engine", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "workspaces": [ "packages/logger", @@ -46,20 +46,22 @@ "admin-ui" ], "devDependencies": { - "@eslint/js": "^10.0.0", + "@eslint/js": "^9.26.0", "@types/node": "^25.0.2", - "eslint": "^10.0.0", + "eslint": "^9.39.2", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.4", "globals": "^17.0.0", "graphql": "^16.12.0", + "graphql-request": "^7.4.0", "mongodb": "^7.0.0", "mongodb-memory-server": "^11.0.0", "npm-run-all": "^4.1.5", "prettier": "^3.7.4", "typedoc": "^0.28.15", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.50.0", + "wait-on": "^9.0.1" }, "engines": { "node": ">=22.0.0", @@ -76,7 +78,8 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", - "@eslint/js": "^10.0.0", + "@eslint/eslintrc": "^3.3.3", + "@eslint/js": "^9.34.0", "@formatjs/cli": "^6.8.1", "@formatjs/intl-pluralrules": "^6.0.1", "@formatjs/intl-relativetimeformat": "^12.0.2", @@ -84,7 +87,6 @@ "@graphql-codegen/typescript-operations": "^5.0.6", "@headlessui/react": "^2.2.9", "@heroicons/react": "^2.2.0", - "@next/eslint-plugin-next": "^16.0.0", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/postcss": "^4.1.18", "@tailwindcss/typography": "^0.5.19", @@ -93,31 +95,35 @@ "@typescript-eslint/eslint-plugin": "^8.43.0", "@typescript-eslint/parser": "^8.43.0", "ai": "^6.0.14", + "classnames": "^2.5.1", "clsx": "^2.1.1", "cypress": "^15.18.0", "d3": "^7.9.0", "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", "deepmerge": "^4.3.1", - "eslint": "^10.0.0", + "eslint": "^9.39.2", + "eslint-config-next": "^16.0.10", "eslint-config-prettier": "^10.1.8", - "eslint-plugin-cypress": "^6.0.0", + "eslint-plugin-cypress": "^5.2.0", "eslint-plugin-formatjs": "^6.0.1", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-prettier": "^5.5.4", + "eslint-plugin-react": "^7.37.5", "formik": "^2.4.9", "globals": "^17.0.0", "graphql": "^16.12.0", "intl-messageformat": "^11.0.1", "lodash.isequal": "^4.5.0", - "lucide-react": "^1.7.0", + "lucide-react": "^0.563.0", "next": "^16.0.10", "npm-run-all": "^4.1.5", "papaparse": "^5.5.3", "prettier": "^3.7.4", "react": "19.2", "react-dom": "19.2", - "react-intl": "^10.1.1", - "react-is": "19.2", + "react-intl": "^8.0.3", "react-markdown": "^10.1.0", "react-toastify": "^11.0.5", "recharts": "^3.6.0", @@ -125,6 +131,7 @@ "rehype-sanitize": "^6.0.0", "remark-gfm": "^4.0.1", "rxjs": "^7.8.2", + "start-server-and-test": "^2.1.3", "tailwind-merge": "^3.4.0", "tailwindcss": "^4.1.12", "tsup": "^8.5.1", @@ -138,13 +145,13 @@ }, "examples/kitchensink": { "name": "@unchainedshop/example-kitchensink", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { "@ai-sdk/openai": "^3.0.7", "@ai-sdk/openai-compatible": "^2.0.4", "@fastify/cookie": "^11.0.2", - "@fastify/multipart": "^10.0.0", + "@fastify/multipart": "^9.0.3", "@fastify/session": "^11.1.0", "@scure/bip32": "^2.0.0", "@scure/btc-signer": "^2.0.0", @@ -160,9 +167,7 @@ "graphql": "^16.11.0", "graphql-yoga": "^5.15.1", "nodemailer": "^8.0.1", - "p-memoize": "^8.0.0", - "resolve-accept-language": "^3.2.2", - "stripe": "^22.1.0", + "stripe": "^20.0.0", "web-push": "^3.6.7", "xml-js": "^1.6.11" }, @@ -179,19 +184,19 @@ }, "examples/kitchensink-express": { "name": "@unchainedshop/example-kitchensink-express", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { "@ai-sdk/openai": "^3.0.7", "@ai-sdk/openai-compatible": "^2.0.4", "@scure/bip32": "^2.0.0", "@scure/btc-signer": "^2.0.0", - "@unchainedshop/admin-ui": "^5.0.0-alpha.1", - "@unchainedshop/api": "^5.0.0-alpha.1", - "@unchainedshop/core-delivery": "^5.0.0-alpha.1", - "@unchainedshop/core-payment": "^5.0.0-alpha.1", - "@unchainedshop/platform": "^5.0.0-alpha.1", - "@unchainedshop/plugins": "^5.0.0-alpha.1", + "@unchainedshop/admin-ui": "^4.6.0", + "@unchainedshop/api": "^4.6.0", + "@unchainedshop/core-delivery": "^4.6.0", + "@unchainedshop/core-payment": "^4.6.0", + "@unchainedshop/platform": "^4.6.0", + "@unchainedshop/plugins": "^4.6.0", "express": "^5.1.0", "express-session": "^1.18.1", "graphql": "^16.11.0", @@ -199,7 +204,7 @@ "multer": "^2.0.1", "nodemailer": "^8.0.1", "passport": "^0.7.0", - "stripe": "^22.1.0", + "stripe": "^20.0.0", "web-push": "^3.6.7", "xml-js": "^1.6.11" }, @@ -217,14 +222,14 @@ }, "examples/minimal": { "name": "@unchainedshop/example-minimal", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { "@fastify/cookie": "^11.0.2", - "@fastify/multipart": "^10.0.0", + "@fastify/multipart": "^9.0.3", "@fastify/session": "^11.1.0", - "@unchainedshop/platform": "^5.0.0-alpha.1", - "@unchainedshop/plugins": "^5.0.0-alpha.1", + "@unchainedshop/platform": "^4.6.0", + "@unchainedshop/plugins": "^4.6.0", "fastify": "^5.4.0" }, "devDependencies": { @@ -237,16 +242,16 @@ }, "examples/oidc": { "name": "@unchainedshop/example-oidc", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { "@fastify/cookie": "^11.0.2", - "@fastify/multipart": "^10.0.0", + "@fastify/multipart": "^9.0.3", "@fastify/oauth2": "^8.1.2", "@fastify/session": "^11.1.0", - "@unchainedshop/admin-ui": "^5.0.0-alpha.1", - "@unchainedshop/platform": "^5.0.0-alpha.1", - "@unchainedshop/plugins": "^5.0.0-alpha.1", + "@unchainedshop/admin-ui": "^4.6.0", + "@unchainedshop/platform": "^4.6.0", + "@unchainedshop/plugins": "^4.6.0", "fastify": "^5.4.0", "jose": "^6.0.11" }, @@ -263,15 +268,15 @@ }, "examples/ticketing": { "name": "@unchainedshop/example-ticketing", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { "@fastify/cookie": "^11.0.2", - "@fastify/multipart": "^10.0.0", + "@fastify/multipart": "^9.0.3", "@fastify/session": "^11.1.0", - "@unchainedshop/platform": "^5.0.0-alpha.1", - "@unchainedshop/plugins": "^5.0.0-alpha.1", - "@unchainedshop/ticketing": "^5.0.0-alpha.1", + "@unchainedshop/platform": "^4.6.0", + "@unchainedshop/plugins": "^4.6.0", + "@unchainedshop/ticketing": "^4.6.0", "fastify": "^5.4.0" }, "devDependencies": { @@ -286,15 +291,15 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "3.0.104", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.104.tgz", - "integrity": "sha512-ZKX5n74io8VIRlhIMSLWVlvT3sXC8Z7cZ9GHuWBWZDVi96+62AIsWuLGvMfcBA1STYuSoDrp6rIziZmvrTq0TA==", + "version": "3.0.58", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.58.tgz", + "integrity": "sha512-2e1hBCKsd+7m0hELwrakR1QDfZfFhz9PF2d4qb8TxQueEyApo7ydlEWRpXeKC+KdA2FRV21dMb1G6FxdeNDa2w==", "dev": true, "license": "Apache-2.0", "dependencies": { "@ai-sdk/provider": "3.0.8", - "@ai-sdk/provider-utils": "4.0.23", - "@vercel/oidc": "3.2.0" + "@ai-sdk/provider-utils": "4.0.15", + "@vercel/oidc": "3.1.0" }, "engines": { "node": ">=18" @@ -304,14 +309,14 @@ } }, "node_modules/@ai-sdk/mcp": { - "version": "1.0.36", - "resolved": "https://registry.npmjs.org/@ai-sdk/mcp/-/mcp-1.0.36.tgz", - "integrity": "sha512-THQKwlknp7OU2ViLPfIU7W01XvDRM2eqH+4UULQgP64AopnwI9mGqqJeGIx2l/pxUu9yIDQtW9YtYM8kHm2CQg==", + "version": "1.0.21", + "resolved": "https://registry.npmjs.org/@ai-sdk/mcp/-/mcp-1.0.21.tgz", + "integrity": "sha512-dRX2X6GDadZNpiylNnw0HP7zJC8ggVOOJV/JtxuF6CgtP8CKnc7a/wEzpUw1m/4AGdD3mTDhKnKFwC4y10a8FQ==", "dev": true, "license": "Apache-2.0", "dependencies": { "@ai-sdk/provider": "3.0.8", - "@ai-sdk/provider-utils": "4.0.23", + "@ai-sdk/provider-utils": "4.0.15", "pkce-challenge": "^5.0.0" }, "engines": { @@ -322,13 +327,13 @@ } }, "node_modules/@ai-sdk/openai": { - "version": "3.0.53", - "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-3.0.53.tgz", - "integrity": "sha512-Wld+Rbc05KaUn08uBt06eEuwcgalcIFtIl32Yp+GxuZXUQwOb6YeAuq+C6da4ch6BurFoqEaLemJVwjBb7x+PQ==", + "version": "3.0.36", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-3.0.36.tgz", + "integrity": "sha512-foY3onGY8l3q9niMw0Cwe9xrYnm46keIWL57NRw6F3DKzSW9TYTfx0cQJs/j8lXJ8lPzqNxpMO/zXOkqCUt3IQ==", "license": "Apache-2.0", "dependencies": { "@ai-sdk/provider": "3.0.8", - "@ai-sdk/provider-utils": "4.0.23" + "@ai-sdk/provider-utils": "4.0.15" }, "engines": { "node": ">=18" @@ -338,13 +343,13 @@ } }, "node_modules/@ai-sdk/openai-compatible": { - "version": "2.0.41", - "resolved": "https://registry.npmjs.org/@ai-sdk/openai-compatible/-/openai-compatible-2.0.41.tgz", - "integrity": "sha512-kNAGINk71AlOXx10Dq/PXw4t/9XjdK8uxfpVElRwtSFMdeSiLVt58p9TPx4/FJD+hxZuVhvxYj9r42osxWq79g==", + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai-compatible/-/openai-compatible-2.0.30.tgz", + "integrity": "sha512-iTjumHf1/u4NhjXYFn/aONM2GId3/o7J1Lp5ql8FCbgIMyRwrmanR5xy1S3aaVkfTscuDvLTzWiy1mAbGzK3nQ==", "license": "Apache-2.0", "dependencies": { "@ai-sdk/provider": "3.0.8", - "@ai-sdk/provider-utils": "4.0.23" + "@ai-sdk/provider-utils": "4.0.15" }, "engines": { "node": ">=18" @@ -366,9 +371,9 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "4.0.23", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.23.tgz", - "integrity": "sha512-z8GlDaCmRSDlqkMF2f4/RFgWxdarvIbyuk+m6WXT1LYgsnGiXRJGTD2Z1+SDl3LqtFuRtGX1aghYvQLoHL/9pg==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.15.tgz", + "integrity": "sha512-8XiKWbemmCbvNN0CLR9u3PQiet4gtEVIrX4zzLxnCj06AwsEDJwJVBbKrEI4t6qE8XRSIvU2irka0dcpziKW6w==", "license": "Apache-2.0", "dependencies": { "@ai-sdk/provider": "3.0.8", @@ -383,14 +388,14 @@ } }, "node_modules/@ai-sdk/react": { - "version": "3.0.170", - "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-3.0.170.tgz", - "integrity": "sha512-YUDn+mK0c8iUz14rCBf1A0zg6SV5b5aSVUz+azF1bdBd1SFXVI19dKYR+PQSpZY+0+z+zs252AAsacUqiO98Kw==", + "version": "3.0.106", + "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-3.0.106.tgz", + "integrity": "sha512-9/VYxmIVuc/DJ5Rl9zvalE7O6bHNTwT6izt0fJj0vheWtoHqle0izsBqTVHNQ/ycoHH7ZbereHks8FbBUEPwGQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider-utils": "4.0.23", - "ai": "6.0.168", + "@ai-sdk/provider-utils": "4.0.15", + "ai": "6.0.104", "swr": "^2.2.5", "throttleit": "2.1.0" }, @@ -415,11 +420,16 @@ } }, "node_modules/@apollo/client": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-4.1.9.tgz", - "integrity": "sha512-qfpkQD51tdU/7iAR6aLb4w9o/L7I475DluWHRb61U/3Q0AH29nNOxOBHjBbWDdf16ncPOoQuxne1sEs2NjqBFw==", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-4.1.6.tgz", + "integrity": "sha512-ak8uzqmKeX3u9BziGf83RRyODAJKFkPG72hTNvEj4WjMWFmuKW2gGN1i3OfajKT6yuGjvo+n23ES2zqWDKFCZg==", "dev": true, "license": "MIT", + "workspaces": [ + "dist", + "codegen", + "scripts/codemods/ac3-to-ac4" + ], "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", "@wry/caches": "^1.0.0", @@ -453,15 +463,25 @@ } }, "node_modules/@ardatan/relay-compiler": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/@ardatan/relay-compiler/-/relay-compiler-13.0.1.tgz", - "integrity": "sha512-afG3YPwuSA0E5foouZusz5GlXKs74dObv4cuWyLyfKsYFj2r7oGRNB28v18HvwuLSQtQFCi+DpIe0TZkgQDYyg==", + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/@ardatan/relay-compiler/-/relay-compiler-12.0.3.tgz", + "integrity": "sha512-mBDFOGvAoVlWaWqs3hm1AciGHSQE1rqFc/liZTyYz/Oek9yZdT5H26pH2zAFuEiTiBVPPyMuqf5VjOFPI2DGsQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.29.2", - "immutable": "^5.1.5", - "invariant": "^2.2.4" + "@babel/generator": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/runtime": "^7.26.10", + "chalk": "^4.0.0", + "fb-watchman": "^2.0.0", + "immutable": "~3.7.6", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "relay-runtime": "12.0.0", + "signedsource": "^1.0.0" + }, + "bin": { + "relay-compiler": "bin/relay-compiler" }, "peerDependencies": { "graphql": "*" @@ -660,23 +680,23 @@ } }, "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "dev": true, "license": "MIT", "dependencies": { @@ -706,9 +726,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", - "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", "dev": true, "license": "MIT", "engines": { @@ -870,10 +890,33 @@ "react": ">=16.8.0" } }, + "node_modules/@emnapi/core": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", + "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, "node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", "dev": true, "license": "MIT", "optional": true, @@ -1407,89 +1450,118 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", - "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^3.0.5", + "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", - "minimatch": "^10.2.4" + "minimatch": "^3.1.2" }, "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/config-helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.5.tgz", - "integrity": "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^1.2.1" + "@eslint/core": "^0.17.0" }, "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/core": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", - "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", "dev": true, "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" }, "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", + "node_modules/@eslint/eslintrc": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.4.tgz", + "integrity": "sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==", "dev": true, "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.3", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://eslint.org/donate" + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" }, - "peerDependencies": { - "eslint": "^10.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.3", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.3.tgz", + "integrity": "sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "funding": { + "url": "https://eslint.org/donate" } }, "node_modules/@eslint/object-schema": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", - "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", - "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^1.2.1", + "@eslint/core": "^0.17.0", "levn": "^0.4.1" }, "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@fastify/accept-negotiator": { @@ -1531,9 +1603,9 @@ } }, "node_modules/@fastify/ajv-compiler/node_modules/ajv": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", - "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -1665,9 +1737,9 @@ } }, "node_modules/@fastify/multipart": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@fastify/multipart/-/multipart-10.0.0.tgz", - "integrity": "sha512-pUx3Z1QStY7E7kwvDTIvB6P+rF5lzP+iqPgZyJyG3yBJVPvQaZxzDHYbQD89rbY0ciXrMOyGi8ezHDVexLvJDA==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@fastify/multipart/-/multipart-9.4.0.tgz", + "integrity": "sha512-Z404bzZeLSXTBmp/trCBuoVFX28pM7rhv849Q5TsbTFZHuk1lc4QjQITTPK92DKVpXmNtJXeHSSc7GYvqFpxAQ==", "funding": [ { "type": "github", @@ -1786,9 +1858,9 @@ } }, "node_modules/@fastify/static": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@fastify/static/-/static-9.1.3.tgz", - "integrity": "sha512-aXrYtsiryLhRxRNaxNqsn7FUISeb7rB9q4eHUPIot5aeQBLNahnz1m6thzm7JWC1poSGXS9XrX8DvuMivp2hkQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@fastify/static/-/static-9.0.0.tgz", + "integrity": "sha512-r64H8Woe/vfilg5RTy7lwWlE8ZZcTrc3kebYFMEUBrMqlydhQyoiExQXdYAy2REVpST/G35+stAM8WYp1WGmMA==", "dev": true, "funding": [ { @@ -1811,24 +1883,24 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", - "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz", + "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", "dev": true, "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.11" + "@floating-ui/utils": "^0.2.10" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", - "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz", + "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", "dev": true, "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.5", - "@floating-ui/utils": "^0.2.11" + "@floating-ui/core": "^1.7.4", + "@floating-ui/utils": "^0.2.10" } }, "node_modules/@floating-ui/react": { @@ -1848,13 +1920,13 @@ } }, "node_modules/@floating-ui/react-dom": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", - "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.7.tgz", + "integrity": "sha512-0tLRojf/1Go2JgEVm+3Frg9A3IW8bJgKgdO0BN5RkF//ufuz2joZM63Npau2ff3J6lUVYgDSNzNkR+aH3IVfjg==", "dev": true, "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.7.6" + "@floating-ui/dom": "^1.7.5" }, "peerDependencies": { "react": ">=16.8.0", @@ -1862,23 +1934,16 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", - "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@formatjs/bigdecimal": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@formatjs/bigdecimal/-/bigdecimal-0.2.1.tgz", - "integrity": "sha512-WbdsKlM5RH2boxpIQH5Rd1Ph7cqTP6oG7S+1heE1+voUHBQpzq1NfxBuQ7kTitHGPiK+6OtwKJo0IwhQ2qtPPQ==", + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", "dev": true, "license": "MIT" }, "node_modules/@formatjs/cli": { - "version": "6.14.3", - "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.14.3.tgz", - "integrity": "sha512-CDJmPZCkOvUV1ick+kD6lwFnCC8fDSek7am8i6Ao8qKefiute4RVgoKDLqlCppWJzG+FaFaTHEODEIrNc0w2oQ==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.13.0.tgz", + "integrity": "sha512-bl4+FNg7S6RPNa9cSAE8HqdXu84n7LpzDdkDAPqS0sk58XNbY/1Le6GdWqCKzELWX+FhI58gyZtZecmWsZ+Bhg==", "dev": true, "license": "MIT", "bin": { @@ -1889,9 +1954,9 @@ }, "peerDependencies": { "@glimmer/syntax": "^0.84.3 || ^0.95.0", - "@vue/compiler-core": "^3.5.0", + "@vue/compiler-core": "3.5.27", "content-tag": "^4.1.0", - "vue": "^3.5.0" + "vue": "3.5.27" }, "peerDependenciesMeta": { "@glimmer/env": { @@ -1917,84 +1982,122 @@ } } }, + "node_modules/@formatjs/ecma402-abstract": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-3.1.1.tgz", + "integrity": "sha512-jhZbTwda+2tcNrs4kKvxrPLPjx8QsBCLCUgrrJ/S+G9YrGHWLhAyFMMBHJBnBoOwuLHd7L14FgYudviKaxkO2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@formatjs/fast-memoize": "3.1.0", + "@formatjs/intl-localematcher": "0.8.1", + "decimal.js": "^10.6.0", + "tslib": "^2.8.1" + } + }, "node_modules/@formatjs/fast-memoize": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-3.1.2.tgz", - "integrity": "sha512-vPnriihkfK0lzoQGaXq+qXH23VsYyansRTkTgo2aTG0k1NjLFyZimFVdfj4C9JkSE5dm7CEngcQ5TTc1yAyBfQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-3.1.0.tgz", + "integrity": "sha512-b5mvSWCI+XVKiz5WhnBCY3RJ4ZwfjAidU0yVlKa3d3MSgKmH1hC3tBGEAtYyN5mqL7N0G5x0BOUYyO8CEupWgg==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-3.5.5.tgz", - "integrity": "sha512-ASMon8BNlKHgQQpZx84xI80EXRS90GlsEU4wEulCKCzrMtUdrfEvFc9UEYmRbvEvtFQLZ4qHXnisUy6PuFjwyA==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-3.5.1.tgz", + "integrity": "sha512-sSDmSvmmoVQ92XqWb499KrIhv/vLisJU8ITFrx7T7NZHUmMY7EL9xgRowAosaljhqnj/5iufG24QrdzB6X3ItA==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/icu-skeleton-parser": "2.1.5" + "@formatjs/ecma402-abstract": "3.1.1", + "@formatjs/icu-skeleton-parser": "2.1.1", + "tslib": "^2.8.1" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-2.1.5.tgz", - "integrity": "sha512-9Kc6tMaAPZKTGevdfcvx5zT3v4BTfamo+djJE29wF6ds1QLhoA09MZNDpWMZaebWzuoOTIXhDvgmqmjSlUOGlw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-2.1.1.tgz", + "integrity": "sha512-PSFABlcNefjI6yyk8f7nyX1DC7NHmq6WaCHZLySEXBrXuLOB2f935YsnzuPjlz+ibhb9yWTdPeVX1OVcj24w2Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@formatjs/ecma402-abstract": "3.1.1", + "tslib": "^2.8.1" + } }, "node_modules/@formatjs/intl": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-4.1.7.tgz", - "integrity": "sha512-SOJHtwG4Ke17zHBO61BLOiA1dcK2kk+QChsNZyPlBbI7dElAEkCLl5e3ZX1uxxXF1RtjAnD+lvqMN0tiPlP2Ww==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-4.1.2.tgz", + "integrity": "sha512-V60fNY/X/7zqmRffr7qPwscGmVGYDmlKF069mSQ2a/7fE22q602NtIfOQY8vzRA63Gr/O/U6vjRVBHMabrnA9A==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/fast-memoize": "3.1.2", - "@formatjs/icu-messageformat-parser": "3.5.5", - "intl-messageformat": "11.2.2" + "@formatjs/ecma402-abstract": "3.1.1", + "@formatjs/fast-memoize": "3.1.0", + "@formatjs/icu-messageformat-parser": "3.5.1", + "intl-messageformat": "11.1.2", + "tslib": "^2.8.1" + }, + "peerDependencies": { + "typescript": "^5.6.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@formatjs/intl-localematcher": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.8.4.tgz", - "integrity": "sha512-J51dAnynnqJdVUEXidHoIWn+qYve+yNQEgmFk9Dyfr3p0okzm+5QhQ+9QmsMz08+BeWTVpc1HadIiLfZmRYbAQ==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.8.1.tgz", + "integrity": "sha512-xwEuwQFdtSq1UKtQnyTZWC+eHdv7Uygoa+H2k/9uzBVQjDyp9r20LNDNKedWXll7FssT3GRHvqsdJGYSUWqYFA==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/fast-memoize": "3.1.2" + "@formatjs/fast-memoize": "3.1.0", + "tslib": "^2.8.1" } }, "node_modules/@formatjs/intl-pluralrules": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-6.3.3.tgz", - "integrity": "sha512-xydjMtIwf1C06S60f7fSe223yf4L3ETclwFqmN5kEP+lNTRbrBYQCriOn4h+SkxlG3nM5/sV8W/IHlmjriZZGg==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-6.2.2.tgz", + "integrity": "sha512-nWotN5BsZb9WVjm2+1zffFPGSpBdy58irA3TIaYHtIYNr+vkb9aM7OU7uHtOGfC9niZoix9huyGd5NumPIvdbw==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/bigdecimal": "0.2.1", - "@formatjs/intl-localematcher": "0.8.4" + "@formatjs/ecma402-abstract": "3.1.1", + "@formatjs/intl-localematcher": "0.8.1", + "decimal.js": "^10.6.0", + "tslib": "^2.8.1" } }, "node_modules/@formatjs/intl-relativetimeformat": { - "version": "12.3.3", - "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-12.3.3.tgz", - "integrity": "sha512-BmYJsWGtgC4gFh8bGdn8S+/1WS7rPmgR2IVN8xrohpr5urSwUbUAMEGXUaL+bWMxt/43DswIrUn+2o+V9REJlg==", + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-12.2.2.tgz", + "integrity": "sha512-iwISwN+ZXpaWFFxdlaemALd4sWbymhsbEav0OEqcCH55ZNJRBEQnsW3Q5IzoEoFMqOhp0wwmmzY+r/dSSPUF+A==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/intl-localematcher": "0.8.4" + "@formatjs/ecma402-abstract": "3.1.1", + "@formatjs/intl-localematcher": "0.8.1", + "tslib": "^2.8.1" } }, "node_modules/@formatjs/ts-transformer": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-4.4.5.tgz", - "integrity": "sha512-2uHFo3kDEWUC6rf7i9975nGy1mesD/scyvC2usqoEEdA+9eZjXVMQ3eIhhD7oqNpwrZYAdwXhrCtokgFF+99wQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-4.4.0.tgz", + "integrity": "sha512-lFDp9Rbpxk5Dt8O1/I9VG5btqKbOkjT4snSa73HO1YTJ9KGeXPKA7aWVgHFXJVVq0KluhbZiCoPJVHC4ZREgxw==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/icu-messageformat-parser": "3.5.5", - "@types/node": "22 || 24", + "@formatjs/icu-messageformat-parser": "3.5.1", + "@types/node": "^22.19.5", "json-stable-stringify": "^1.3.0", - "typescript": "^5.6 || 6" + "tslib": "^2.8.1", + "typescript": "^5.6.0" }, "engines": { "node": ">= 20.12.0" @@ -2009,19 +2112,19 @@ } }, "node_modules/@formatjs/ts-transformer/node_modules/@types/node": { - "version": "24.12.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.2.tgz", - "integrity": "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==", + "version": "22.19.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.13.tgz", + "integrity": "sha512-akNQMv0wW5uyRpD2v2IEyRSZiR+BeGuoB6L310EgGObO44HSMNT8z1xzio28V8qOrgYaopIDNA18YgdXd+qTiw==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.16.0" + "undici-types": "~6.21.0" } }, "node_modules/@formatjs/ts-transformer/node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, @@ -2040,14 +2143,14 @@ } }, "node_modules/@graphql-codegen/add": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@graphql-codegen/add/-/add-6.0.1.tgz", - "integrity": "sha512-MSylSekjpVWbOBw2A/2ssk1fPY54sYb6Qk2C4AX5u7s2R+2pMQ9ws7DTXo8VU9qwTgWwVp6vGfdQ0AMpAn4Iug==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/add/-/add-6.0.0.tgz", + "integrity": "sha512-biFdaURX0KTwEJPQ1wkT6BRgNasqgQ5KbCI1a3zwtLtO7XTo7/vKITPylmiU27K5DSOWYnY/1jfSqUAEBuhZrQ==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.3.0", - "tslib": "^2.8.0" + "@graphql-codegen/plugin-helpers": "^6.0.0", + "tslib": "~2.6.0" }, "engines": { "node": ">=16" @@ -2056,36 +2159,42 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, + "node_modules/@graphql-codegen/add/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, "node_modules/@graphql-codegen/cli": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-6.3.1.tgz", - "integrity": "sha512-I5KkyX1SgQZPojMeQTRydB6fml4cysZq/mIdhNW4rmqdoOcTgdMPq1Tl+wtRp1VpBAOrBazJUJh1nAqJMMSPIQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-6.1.2.tgz", + "integrity": "sha512-BQ49LF0jnQNL12rU1RucTemoX1bHx8slR4B11nOrp4k5NTojhcc1A1czzU5wXCK/1+ezNHrVGONWg3jxZUy08w==", "dev": true, "license": "MIT", "dependencies": { "@babel/generator": "^7.18.13", "@babel/template": "^7.18.10", "@babel/types": "^7.18.13", - "@graphql-codegen/client-preset": "^5.3.0", - "@graphql-codegen/core": "^5.0.2", - "@graphql-codegen/plugin-helpers": "^6.3.0", - "@graphql-tools/apollo-engine-loader": "^8.0.28", - "@graphql-tools/code-file-loader": "^8.1.28", - "@graphql-tools/git-loader": "^8.0.32", - "@graphql-tools/github-loader": "^9.0.6", - "@graphql-tools/graphql-file-loader": "^8.1.11", - "@graphql-tools/json-file-loader": "^8.0.26", - "@graphql-tools/load": "^8.1.8", - "@graphql-tools/merge": "^9.0.6", - "@graphql-tools/url-loader": "^9.0.6", - "@graphql-tools/utils": "^11.0.0", + "@graphql-codegen/client-preset": "^5.2.0", + "@graphql-codegen/core": "^5.0.0", + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-tools/apollo-engine-loader": "^8.0.0", + "@graphql-tools/code-file-loader": "^8.0.0", + "@graphql-tools/git-loader": "^8.0.0", + "@graphql-tools/github-loader": "^9.0.0", + "@graphql-tools/graphql-file-loader": "^8.0.0", + "@graphql-tools/json-file-loader": "^8.0.0", + "@graphql-tools/load": "^8.1.0", + "@graphql-tools/url-loader": "^9.0.0", + "@graphql-tools/utils": "^10.0.0", "@inquirer/prompts": "^7.8.2", "@whatwg-node/fetch": "^0.10.0", "chalk": "^4.1.0", "cosmiconfig": "^9.0.0", "debounce": "^2.0.0", "detect-indent": "^6.0.0", - "graphql-config": "^5.1.6", + "graphql-config": "^5.1.1", "is-glob": "^4.0.1", "jiti": "^2.3.0", "json-to-pretty-yaml": "^1.2.2", @@ -2118,102 +2227,26 @@ } } }, - "node_modules/@graphql-codegen/cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@graphql-codegen/cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@graphql-codegen/cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@graphql-codegen/cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@graphql-codegen/cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@graphql-codegen/cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@graphql-codegen/client-preset": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-5.3.0.tgz", - "integrity": "sha512-K9FON+j7qyxAUDuSGqI3ofb7lWTBs16oPTYpu14lhdL4DKZQSHLyc8EMYU9e3KcyQ/13gU/d6culOppzAuexLA==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-5.2.3.tgz", + "integrity": "sha512-zgbk0dTY+KC/8TG00RGct6HnXWJU6jQaty3wAXKl1CvCXTKO73pW8Npph+RSJMTEEXb+QuJL3vyaPiGM1gw8sw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/template": "^7.20.7", - "@graphql-codegen/add": "^6.0.1", - "@graphql-codegen/gql-tag-operations": "5.2.0", - "@graphql-codegen/plugin-helpers": "^6.3.0", - "@graphql-codegen/typed-document-node": "^6.1.8", - "@graphql-codegen/typescript": "^5.0.10", - "@graphql-codegen/typescript-operations": "^5.1.0", - "@graphql-codegen/visitor-plugin-common": "^6.3.0", + "@graphql-codegen/add": "^6.0.0", + "@graphql-codegen/gql-tag-operations": "5.1.3", + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-codegen/typed-document-node": "^6.1.6", + "@graphql-codegen/typescript": "^5.0.8", + "@graphql-codegen/typescript-operations": "^5.0.8", + "@graphql-codegen/visitor-plugin-common": "^6.2.3", "@graphql-tools/documents": "^1.0.0", - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/utils": "^10.0.0", "@graphql-typed-document-node/core": "3.2.0", - "tslib": "^2.8.0" + "tslib": "~2.6.0" }, "engines": { "node": ">=16" @@ -2228,17 +2261,24 @@ } } }, + "node_modules/@graphql-codegen/client-preset/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, "node_modules/@graphql-codegen/core": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-5.0.2.tgz", - "integrity": "sha512-7RX0wwjoWPlLG/tUmpaTK91ZZqHcACNWpRL0nGnnJaJrORie9pgmX8JPrcwBgYiHSC+3ERo9xY91RFPem/VrpQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-5.0.0.tgz", + "integrity": "sha512-vLTEW0m8LbE4xgRwbFwCdYxVkJ1dBlVJbQyLb9Q7bHnVFgHAP982Xo8Uv7FuPBmON+2IbTjkCqhFLHVZbqpvjQ==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-codegen/plugin-helpers": "^6.0.0", "@graphql-tools/schema": "^10.0.0", - "@graphql-tools/utils": "^11.0.0", - "tslib": "^2.8.0" + "@graphql-tools/utils": "^10.0.0", + "tslib": "~2.6.0" }, "engines": { "node": ">=16" @@ -2247,18 +2287,25 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, + "node_modules/@graphql-codegen/core/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, "node_modules/@graphql-codegen/gql-tag-operations": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-5.2.0.tgz", - "integrity": "sha512-B9gtJ4ziqpIv+7mHqwjtpYLFOuv0GmmRGpNDoWKM2VIx4OQqgI84d6OHKYCVeO7yu3mUr0QPvUgkSyuLVrdukA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-5.1.3.tgz", + "integrity": "sha512-yh/GTGW5Nf8f/zaCHZwWb04ItWAm+UfUJf7pb6n4SrqRxvWOSJk36LJ4l8UuDW1tmAOobjeXB8HSKSJsUjmA1g==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.3.0", - "@graphql-codegen/visitor-plugin-common": "^6.3.0", - "@graphql-tools/utils": "^11.0.0", + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-codegen/visitor-plugin-common": "6.2.3", + "@graphql-tools/utils": "^10.0.0", "auto-bind": "~4.0.0", - "tslib": "^2.8.0" + "tslib": "~2.6.0" }, "engines": { "node": ">=16" @@ -2267,18 +2314,26 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, + "node_modules/@graphql-codegen/gql-tag-operations/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, "node_modules/@graphql-codegen/plugin-helpers": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-6.3.0.tgz", - "integrity": "sha512-Auc+/B7okDx9+pVgLVliZtZLYh6iltWXlnzzM+bRE+zh1T4r3hKbnr8xAmtT937ArfSgk5GHcQHr8LfPYnrRBg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-6.1.0.tgz", + "integrity": "sha512-JJypehWTcty9kxKiqH7TQOetkGdOYjY78RHlI+23qB59cV2wxjFFVf8l7kmuXS4cpGVUNfIjFhVr7A1W7JMtdA==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/utils": "^10.0.0", "change-case-all": "1.0.15", "common-tags": "1.8.2", "import-from": "4.0.0", - "tslib": "^2.8.0" + "lodash": "~4.17.0", + "tslib": "~2.6.0" }, "engines": { "node": ">=16" @@ -2287,16 +2342,23 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, + "node_modules/@graphql-codegen/plugin-helpers/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, "node_modules/@graphql-codegen/schema-ast": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-5.0.2.tgz", - "integrity": "sha512-jl1F/9IjRkJisEb9B0ayG4QGqYlPldLRy8ojDdmL9NE1NsdB5ROfxQnSqyC3g+wuvBhWX7kZgMRQYn3RU1I5bA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-5.0.0.tgz", + "integrity": "sha512-jn7Q3PKQc0FxXjbpo9trxzlz/GSFQWxL042l0iC8iSbM/Ar+M7uyBwMtXPsev/3Razk+osQyreghIz0d2+6F7Q==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.3.0", - "@graphql-tools/utils": "^11.0.0", - "tslib": "^2.8.0" + "@graphql-codegen/plugin-helpers": "^6.0.0", + "@graphql-tools/utils": "^10.0.0", + "tslib": "~2.6.0" }, "engines": { "node": ">=16" @@ -2305,18 +2367,25 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, + "node_modules/@graphql-codegen/schema-ast/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, "node_modules/@graphql-codegen/typed-document-node": { - "version": "6.1.8", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-6.1.8.tgz", - "integrity": "sha512-+qDdiJSQ7Ol+vpLMAH8ZJok50CvlYxA6seQ7cwEa3emXt8MmH5hh3zdc9unQlPc7bynoJHRCgoKk7E0B7hry0w==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-6.1.6.tgz", + "integrity": "sha512-USuQdUWBXij9HQl+GWXuLm05kjpOVwViBfnNi7ijES4HFwAmt/EDAnYSCfUoOHCfFQeWcfqYbtcUGJO9iXiSYQ==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.3.0", - "@graphql-codegen/visitor-plugin-common": "^6.3.0", + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-codegen/visitor-plugin-common": "6.2.3", "auto-bind": "~4.0.0", "change-case-all": "1.0.15", - "tslib": "^2.8.0" + "tslib": "~2.6.0" }, "engines": { "node": ">=16" @@ -2325,18 +2394,25 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, + "node_modules/@graphql-codegen/typed-document-node/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, "node_modules/@graphql-codegen/typescript": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-5.0.10.tgz", - "integrity": "sha512-Pa8OFmL9TdhEYnLYJLYA9EhP8eEeivP/YDYq4Nb8LQaL7GXm4TGX8zELYaCM9Fu8M3iZb7iQGMt7qc+1lXz8XQ==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-5.0.8.tgz", + "integrity": "sha512-lUW6ari+rXP6tz5B0LXjmV9rEMOphoCZAkt+SJGObLQ6w6544ZsXSsRga/EJiSvZ1fRfm9yaFoErOZ56IVThyg==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.3.0", - "@graphql-codegen/schema-ast": "^5.0.2", - "@graphql-codegen/visitor-plugin-common": "^6.3.0", + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-codegen/schema-ast": "^5.0.0", + "@graphql-codegen/visitor-plugin-common": "6.2.3", "auto-bind": "~4.0.0", - "tslib": "^2.8.0" + "tslib": "~2.6.0" }, "engines": { "node": ">=16" @@ -2346,17 +2422,17 @@ } }, "node_modules/@graphql-codegen/typescript-operations": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-5.1.0.tgz", - "integrity": "sha512-JlmjbFl0EnsfMDIYvTE1Q0kAOrntVEZ+ZfBqWTP91g4e0F/TzuwJ/V4tiFmeDf5dx/rf9AK4VkPehIdxu7TYhw==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-5.0.8.tgz", + "integrity": "sha512-5H58DnDIy59Q+wcPRu13UnAS7fkMCW/vPI1+g8rHBmxuV9YGyGlVL9lE/fmJ06181hI7G9YGuUaoFYMJFU6bxQ==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.3.0", - "@graphql-codegen/typescript": "^5.0.10", - "@graphql-codegen/visitor-plugin-common": "^6.3.0", + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-codegen/typescript": "^5.0.8", + "@graphql-codegen/visitor-plugin-common": "6.2.3", "auto-bind": "~4.0.0", - "tslib": "^2.8.0" + "tslib": "~2.6.0" }, "engines": { "node": ">=16" @@ -2371,23 +2447,37 @@ } } }, + "node_modules/@graphql-codegen/typescript-operations/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/typescript/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, "node_modules/@graphql-codegen/visitor-plugin-common": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-6.3.0.tgz", - "integrity": "sha512-vGBoE+4huzZyNhyGSAhXAkdROHlwKxxuziZm4XtP1mxe7nuI+VgyOmXebafLijbmuDsptPXQN0C/htL54O8hrg==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-6.2.3.tgz", + "integrity": "sha512-Rewl/QRFfIOXHFK3i/ts4VodsaB4N22kckH1zweTzq7SFodkfrqGrLa/MrGLJ/q6aUuqGiqao7f4Za2IjjkCxw==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-codegen/plugin-helpers": "^6.1.0", "@graphql-tools/optimize": "^2.0.0", - "@graphql-tools/relay-operation-optimizer": "^7.1.1", - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/relay-operation-optimizer": "^7.0.0", + "@graphql-tools/utils": "^10.0.0", "auto-bind": "~4.0.0", "change-case-all": "1.0.15", "dependency-graph": "^1.0.0", "graphql-tag": "^2.11.0", "parse-filepath": "^1.0.2", - "tslib": "^2.8.0" + "tslib": "~2.6.0" }, "engines": { "node": ">=16" @@ -2396,6 +2486,13 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, + "node_modules/@graphql-codegen/visitor-plugin-common/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, "node_modules/@graphql-hive/signal": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@graphql-hive/signal/-/signal-2.0.0.tgz", @@ -2407,13 +2504,13 @@ } }, "node_modules/@graphql-tools/apollo-engine-loader": { - "version": "8.0.30", - "resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.30.tgz", - "integrity": "sha512-hUydKGGECrWloERMmfoMzHZi12X99AM9geCGF5XVsv4iMRl/Iyuet24th4kC9bZ8MlAdCwAwtUsCyv9uRfYwSA==", + "version": "8.0.28", + "resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.28.tgz", + "integrity": "sha512-MzgDrUuoxp6dZeo54zLBL3cEJKJtM3N/2RqK0rbPxPq5X2z6TUA7EGg8vIFTUkt5xelAsUrm8/4ai41ZDdxOng==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.1.0", + "@graphql-tools/utils": "^11.0.0", "@whatwg-node/fetch": "^0.10.13", "sync-fetch": "0.6.0", "tslib": "^2.4.0" @@ -2425,10 +2522,29 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, + "node_modules/@graphql-tools/apollo-engine-loader/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@graphql-tools/batch-execute": { - "version": "10.0.8", - "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-10.0.8.tgz", - "integrity": "sha512-Kobt37qrVTFhX4HUK5/vPgMXFw/5f97AzmAlfmDBSRh/GnoAmLKCb48FrEI3gdeIwZB2fEhVHJyDqsojldnLQA==", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-10.0.5.tgz", + "integrity": "sha512-dL13tXkfGvAzLq2XfzTKAy9logIcltKYRuPketxdh3Ok3U6PN1HKMCHfrE9cmtAsxD96/8Hlghz5AtM+LRv/ig==", "dev": true, "license": "MIT", "dependencies": { @@ -2444,15 +2560,34 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, + "node_modules/@graphql-tools/batch-execute/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@graphql-tools/code-file-loader": { - "version": "8.1.32", - "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-8.1.32.tgz", - "integrity": "sha512-gR5mNQjn0BugDL8a4A+ovS2KEvU52RNOGnbwiq9oWAEHiSv7iqJu77bpWARTzlE1ZFPK5MSQe9218+1t5PbXmQ==", + "version": "8.1.28", + "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-8.1.28.tgz", + "integrity": "sha512-BL3Ft/PFlXDE5nNuqA36hYci7Cx+8bDrPDc8X3VSpZy9iKFBY+oQ+IwqnEHCkt8OSp2n2V0gqTg4u3fcQP1Kwg==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/graphql-tag-pluck": "8.3.31", - "@graphql-tools/utils": "^11.1.0", + "@graphql-tools/graphql-tag-pluck": "8.3.27", + "@graphql-tools/utils": "^11.0.0", "globby": "^11.0.3", "tslib": "^2.4.0", "unixify": "^1.0.0" @@ -2464,14 +2599,33 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, + "node_modules/@graphql-tools/code-file-loader/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@graphql-tools/delegate": { - "version": "12.0.14", - "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-12.0.14.tgz", - "integrity": "sha512-/xCDM8zlCk1Lccww9asOIpxna9IFpIlol4yGsBD9Y2+3/Zu5k4/HzDC8LKJtw5MxdG+uJN1l9nRepr4GeBC4kA==", + "version": "12.0.8", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-12.0.8.tgz", + "integrity": "sha512-yltGepWaJ9KsBY3QREJrZUKadhaiT4mO4ZO42hF/vfD2fIIOKZjn99qCSZBJ0YpVbLctPrgWrgDs3WgAl13fsA==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/batch-execute": "^10.0.8", + "@graphql-tools/batch-execute": "^10.0.5", "@graphql-tools/executor": "^1.4.13", "@graphql-tools/schema": "^10.0.29", "@graphql-tools/utils": "^11.0.0", @@ -2487,6 +2641,25 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, + "node_modules/@graphql-tools/delegate/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@graphql-tools/documents": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@graphql-tools/documents/-/documents-1.0.1.tgz", @@ -2505,12 +2678,12 @@ } }, "node_modules/@graphql-tools/executor": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.5.3.tgz", - "integrity": "sha512-mgBFC0bsrZPZLu9EnydpMnAuQ8Iiq0CEbUcsmvXsm2/iYektGHDN/+bmb7hicA6dWZtdPfklYJmr21WD0GnOfA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.5.1.tgz", + "integrity": "sha512-n94Qcu875Mji9GQ52n5UbgOTxlgvFJicBPYD+FRks9HKIQpdNPjkkrKZUYNG51XKa+bf03rxNflm4+wXhoHHrA==", "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.1.0", + "@graphql-tools/utils": "^11.0.0", "@graphql-typed-document-node/core": "^3.2.0", "@repeaterjs/repeater": "^3.0.4", "@whatwg-node/disposablestack": "^0.0.6", @@ -2541,10 +2714,29 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, + "node_modules/@graphql-tools/executor-common/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@graphql-tools/executor-graphql-ws": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-3.1.5.tgz", - "integrity": "sha512-WXRsfwu9AkrORD9nShrd61OwwxeQ5+eXYcABRR3XPONFIS8pWQfDJGGqxql9/227o/s0DV5SIfkBURb5Knzv+A==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-3.1.4.tgz", + "integrity": "sha512-wCQfWYLwg1JZmQ7rGaFy74AQyVFxpeqz19WWIGRgANiYlm+T0K3Hs6POgi0+nL3HvwxJIxhUlaRLFvkqm1zxSA==", "dev": true, "license": "MIT", "dependencies": { @@ -2563,10 +2755,29 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, + "node_modules/@graphql-tools/executor-graphql-ws/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@graphql-tools/executor-http": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-3.2.1.tgz", - "integrity": "sha512-53i0TYO0cznIlZDJcnq4gQ6SOZ8efGgCDV33MYh6oqEapcp36tCMEVnVGVxcX5qRRyNHkqTY6hkA+/AyK9kicQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-3.1.0.tgz", + "integrity": "sha512-DTaNU1rT2sxffwQlt+Aw68cHQWfGkjsaRk1D8nvG+DcCR8RNQo0d9qYt7pXIcfXYcQLb/OkABcGSuCfkopvHJg==", "dev": true, "license": "MIT", "dependencies": { @@ -2587,18 +2798,37 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, + "node_modules/@graphql-tools/executor-http/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@graphql-tools/executor-legacy-ws": { - "version": "1.1.28", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.1.28.tgz", - "integrity": "sha512-O4uj93GG9iUb3s32eyhUohvyfA8mLhN8FvGzEdK628hFQPhZN75yurtVFrR08DHex71mQ3wYCCFkErpwdJbDDQ==", + "version": "1.1.25", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.1.25.tgz", + "integrity": "sha512-6uf4AEXO0QMxJ7AWKVPqEZXgYBJaiz5vf29X0boG8QtcqWy8mqkXKWLND2Swdx0SbEx0efoGFcjuKufUcB0ASQ==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.1.0", + "@graphql-tools/utils": "^11.0.0", "@types/ws": "^8.0.0", "isomorphic-ws": "^5.0.0", "tslib": "^2.4.0", - "ws": "^8.20.0" + "ws": "^8.19.0" }, "engines": { "node": ">=16.0.0" @@ -2607,19 +2837,17 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/git-loader": { - "version": "8.0.36", - "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-8.0.36.tgz", - "integrity": "sha512-PDDakesRu8FJYHJLf9/gkTweh8M19Bymz9i+vOlk9OTs9XmNcCqKM+1S610KX2AodvuBFz/xbesjTtTJIppLPg==", + "node_modules/@graphql-tools/executor-legacy-ws/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/graphql-tag-pluck": "8.3.31", - "@graphql-tools/utils": "^11.1.0", - "is-glob": "4.0.3", - "micromatch": "^4.0.8", - "tslib": "^2.4.0", - "unixify": "^1.0.0" + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" }, "engines": { "node": ">=16.0.0" @@ -2628,38 +2856,35 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/github-loader": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-9.1.2.tgz", - "integrity": "sha512-jhRJncj9Wkr1Cd8Mo3QI2oG6fTw5ILr1/OXcHIqx744NBj8pPwQBXmQzZqh7MXxbekl2EAcum7SJIjq1HpYcPA==", - "dev": true, + "node_modules/@graphql-tools/executor/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", "license": "MIT", "dependencies": { - "@graphql-tools/executor-http": "^3.2.1", - "@graphql-tools/graphql-tag-pluck": "^8.3.31", - "@graphql-tools/utils": "^11.1.0", - "@whatwg-node/fetch": "^0.10.13", + "@graphql-typed-document-node/core": "^3.1.1", "@whatwg-node/promise-helpers": "^1.0.0", - "sync-fetch": "0.6.0", + "cross-inspect": "1.0.1", "tslib": "^2.4.0" }, "engines": { - "node": ">=20.0.0" + "node": ">=16.0.0" }, "peerDependencies": { "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/graphql-file-loader": { - "version": "8.1.14", - "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.1.14.tgz", - "integrity": "sha512-CfAcsSEVkkHfEXLFzrd5rUYpcQEGWNV8lfc1Tb1p5m9HnYICzDDH08I5V33iMrEDza3GuujjjRBYqplBkqwIow==", + "node_modules/@graphql-tools/git-loader": { + "version": "8.0.32", + "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-8.0.32.tgz", + "integrity": "sha512-H5HTp2vevv0rRMEnCJBVmVF8md3LpJI1C1+d6OtzvmuONJ8mOX2mkf9rtoqwiztynVegaDUekvMFsc9k5iE2WA==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/import": "^7.1.14", - "@graphql-tools/utils": "^11.1.0", - "globby": "^11.0.3", + "@graphql-tools/graphql-tag-pluck": "8.3.27", + "@graphql-tools/utils": "^11.0.0", + "is-glob": "4.0.3", + "micromatch": "^4.0.8", "tslib": "^2.4.0", "unixify": "^1.0.0" }, @@ -2670,19 +2895,16 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/graphql-tag-pluck": { - "version": "8.3.31", - "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.3.31.tgz", - "integrity": "sha512-ema2RRPZGj8TKruNElyDBHVCNFMxioGIVfLBuiA+GdfmRGt95b/i7Uksnj4EwItA6MCmhxokxZoa/fl6mJt3tw==", + "node_modules/@graphql-tools/git-loader/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.28.6", - "@babel/parser": "^7.29.2", - "@babel/plugin-syntax-import-assertions": "^7.26.0", - "@babel/traverse": "^7.26.10", - "@babel/types": "^7.26.10", - "@graphql-tools/utils": "^11.1.0", + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", "tslib": "^2.4.0" }, "engines": { @@ -2692,15 +2914,38 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/import": { - "version": "7.1.14", - "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-7.1.14.tgz", - "integrity": "sha512-aqLcu04aEidszbXM6M0PWWL8bP17eX9sxXwjYWpglLvIRd4NFqb3C9QzBY8pleqXNMtWqXktlm9BQjevgSrirQ==", + "node_modules/@graphql-tools/github-loader": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-9.0.6.tgz", + "integrity": "sha512-hhlt2MMkRcvDva/qyzqFddXzaMmRnriJ0Ts+/LcNeYnB8hcEqRMpF9RCsHYjo1mFRaiu8i4PSIpXyyFu3To7Ow==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.1.0", - "resolve-from": "5.0.0", + "@graphql-tools/executor-http": "^3.0.6", + "@graphql-tools/graphql-tag-pluck": "^8.3.27", + "@graphql-tools/utils": "^11.0.0", + "@whatwg-node/fetch": "^0.10.13", + "@whatwg-node/promise-helpers": "^1.0.0", + "sync-fetch": "0.6.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/github-loader/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", "tslib": "^2.4.0" }, "engines": { @@ -2710,14 +2955,15 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/json-file-loader": { - "version": "8.0.28", - "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-8.0.28.tgz", - "integrity": "sha512-qgCsSkPArnjlNkcYpgGKiXxCTNkrAT9E+l1LhR+Por2jTlKBBeZ8stortkQ/PNDDjuL0WPrLQmHKhNPHabnB3A==", + "node_modules/@graphql-tools/graphql-file-loader": { + "version": "8.1.9", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.1.9.tgz", + "integrity": "sha512-rkLK46Q62Zxift8B6Kfw6h8SH3pCR3DPCfNeC/lpLwYReezZz+2ARuLDFZjQGjW+4lpMwiAw8CIxDyQAUgqU6A==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.1.0", + "@graphql-tools/import": "7.1.9", + "@graphql-tools/utils": "^11.0.0", "globby": "^11.0.3", "tslib": "^2.4.0", "unixify": "^1.0.0" @@ -2729,16 +2975,16 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/load": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-8.1.10.tgz", - "integrity": "sha512-hjcvfEFtwtc8vGi46wtpmGWadNzfEhzbjqinyFIZuIZPlR4aYdWQtqWtY/RMM4Ew4t1USkMNm6xrqC2TH1vCSA==", + "node_modules/@graphql-tools/graphql-file-loader/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/schema": "^10.0.33", - "@graphql-tools/utils": "^11.1.0", - "p-limit": "3.1.0", + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", "tslib": "^2.4.0" }, "engines": { @@ -2748,13 +2994,19 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/merge": { - "version": "9.1.9", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.1.9.tgz", - "integrity": "sha512-iHUWNjRHeQRYdgIMIuChThOwoKzA9vrzYeslgfBo5eUYEyHGZCoDPjAavssoYXLwstYt1dZj2J22jSzc2DrN0Q==", + "node_modules/@graphql-tools/graphql-tag-pluck": { + "version": "8.3.27", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.3.27.tgz", + "integrity": "sha512-CJ0WVXhGYsfFngpRrAAcjRHyxSDHx4dEz2W15bkwvt9he/AWhuyXm07wuGcoLrl0q0iQp1BiRjU7D8SxWZo3JQ==", + "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.1.0", + "@babel/core": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "@graphql-tools/utils": "^11.0.0", "tslib": "^2.4.0" }, "engines": { @@ -2764,13 +3016,16 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/optimize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-2.0.0.tgz", - "integrity": "sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==", + "node_modules/@graphql-tools/graphql-tag-pluck/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", "dev": true, "license": "MIT", "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", "tslib": "^2.4.0" }, "engines": { @@ -2780,15 +3035,16 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/relay-operation-optimizer": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-7.1.4.tgz", - "integrity": "sha512-cwOD/GEo/R//1uGCP0/urIxsMFoUgzkJVyMt9BDM2HhQhU6rSgH5l6lFukAFTJyPJVdyeOdYm2i0Jj5vYWbHTw==", + "node_modules/@graphql-tools/import": { + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-7.1.9.tgz", + "integrity": "sha512-mHzOgyfzsAgstaZPIFEtKg4GVH4FbDHeHYrSs73mAPKS5F59/FlRuUJhAoRnxbVnc3qIZ6EsWBjOjNbnPK8viA==", "dev": true, "license": "MIT", "dependencies": { - "@ardatan/relay-compiler": "^13.0.1", - "@graphql-tools/utils": "^11.1.0", + "@graphql-tools/utils": "^11.0.0", + "@theguild/federation-composition": "^0.21.1", + "resolve-from": "5.0.0", "tslib": "^2.4.0" }, "engines": { @@ -2798,14 +3054,16 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/schema": { - "version": "10.0.33", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.33.tgz", - "integrity": "sha512-O6P3RIftO0jafnSsFAqpjurUuUxJ43s/AdPVLQsBkI6y4Ic/tKm4C1Qm1KKQsCDTOxXPJClh/v3g7k7yLKCFBQ==", + "node_modules/@graphql-tools/import/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/merge": "^9.1.9", - "@graphql-tools/utils": "^11.1.0", + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", "tslib": "^2.4.0" }, "engines": { @@ -2815,37 +3073,40 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/url-loader": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-9.1.2.tgz", - "integrity": "sha512-pVSiPrfWQKb3jq23Pl7EjbB2uv3tgZLnWo/axkmg4itAEZ5s/vV/jKa8P1HZzUnSVUTR+8tcEZVeNsUbzFCbkg==", + "node_modules/@graphql-tools/import/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@graphql-tools/json-file-loader": { + "version": "8.0.26", + "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-8.0.26.tgz", + "integrity": "sha512-kwy9IFi5QtXXTLBgWkvA1RqsZeJDn0CxsTbhNlziCzmga9fNo7qtZ18k9FYIq3EIoQQlok+b7W7yeyJATA2xhw==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/executor-graphql-ws": "^3.1.4", - "@graphql-tools/executor-http": "^3.2.1", - "@graphql-tools/executor-legacy-ws": "^1.1.28", - "@graphql-tools/utils": "^11.1.0", - "@graphql-tools/wrap": "^11.1.1", - "@types/ws": "^8.0.0", - "@whatwg-node/fetch": "^0.10.13", - "@whatwg-node/promise-helpers": "^1.0.0", - "isomorphic-ws": "^5.0.0", - "sync-fetch": "0.6.0", + "@graphql-tools/utils": "^11.0.0", + "globby": "^11.0.3", "tslib": "^2.4.0", - "ws": "^8.20.0" + "unixify": "^1.0.0" }, "engines": { - "node": ">=20.0.0" + "node": ">=16.0.0" }, "peerDependencies": { "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/utils": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", - "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "node_modules/@graphql-tools/json-file-loader/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, "license": "MIT", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", @@ -2860,14 +3121,238 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/wrap": { - "version": "11.1.14", - "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-11.1.14.tgz", - "integrity": "sha512-ebSVT7apxr+88q3Wy0i4AyRmJ42I0SuMqjPIn1fqW14yCTQRZG8YLuIALG1gKR936+GkfMLOrADh6egJvdlN6Q==", + "node_modules/@graphql-tools/load": { + "version": "8.1.8", + "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-8.1.8.tgz", + "integrity": "sha512-gxO662b64qZSToK3N6XUxWG5E6HOUjlg5jEnmGvD4bMtGJ0HwEe/BaVZbBQemCfLkxYjwRIBiVfOY9o0JyjZJg==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/delegate": "^12.0.14", + "@graphql-tools/schema": "^10.0.31", + "@graphql-tools/utils": "^11.0.0", + "p-limit": "3.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/load/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/merge": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.1.7.tgz", + "integrity": "sha512-Y5E1vTbTabvcXbkakdFUt4zUIzB1fyaEnVmIWN0l0GMed2gdD01TpZWLUm4RNAxpturvolrb24oGLQrBbPLSoQ==", + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.0.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/merge/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/optimize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-2.0.0.tgz", + "integrity": "sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/relay-operation-optimizer": { + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-7.0.27.tgz", + "integrity": "sha512-rdkL1iDMFaGDiHWd7Bwv7hbhrhnljkJaD0MXeqdwQlZVgVdUDlMot2WuF7CEKVgijpH6eSC6AxXMDeqVgSBS2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ardatan/relay-compiler": "^12.0.3", + "@graphql-tools/utils": "^11.0.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/relay-operation-optimizer/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/schema": { + "version": "10.0.31", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.31.tgz", + "integrity": "sha512-ZewRgWhXef6weZ0WiP7/MV47HXiuFbFpiDUVLQl6mgXsWSsGELKFxQsyUCBos60Qqy1JEFAIu3Ns6GGYjGkqkQ==", + "license": "MIT", + "dependencies": { + "@graphql-tools/merge": "^9.1.7", + "@graphql-tools/utils": "^11.0.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/url-loader": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-9.0.6.tgz", + "integrity": "sha512-QdJI3f7ANDMYfYazRgJzzybznjOrQAOuDXweC9xmKgPZoTqNxEAsatiy69zcpTf6092taJLyrqRH6R7xUTzf4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-graphql-ws": "^3.1.2", + "@graphql-tools/executor-http": "^3.0.6", + "@graphql-tools/executor-legacy-ws": "^1.1.25", + "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/wrap": "^11.1.1", + "@types/ws": "^8.0.0", + "@whatwg-node/fetch": "^0.10.13", + "@whatwg-node/promise-helpers": "^1.0.0", + "isomorphic-ws": "^5.0.0", + "sync-fetch": "0.6.0", + "tslib": "^2.4.0", + "ws": "^8.19.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/utils": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.11.0.tgz", + "integrity": "sha512-iBFR9GXIs0gCD+yc3hoNswViL1O5josI33dUqiNStFI/MHLCEPduasceAcazRH77YONKNiviHBV8f7OgcT4o2Q==", + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/wrap": { + "version": "11.1.8", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-11.1.8.tgz", + "integrity": "sha512-VnU7K6IDvj7kM9Viz6oAQNc6lV380u7oOG1hYau5pzHB+h1VrTYg/jHXNtWrXwB88lhCgGHjrQCJJt4wz4QdQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/delegate": "^12.0.8", "@graphql-tools/schema": "^10.0.29", "@graphql-tools/utils": "^11.0.0", "@whatwg-node/promise-helpers": "^1.3.2", @@ -2880,6 +3365,25 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, + "node_modules/@graphql-tools/wrap/node_modules/@graphql-tools/utils": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", + "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@graphql-typed-document-node/core": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", @@ -2929,6 +3433,19 @@ "node": ">=18.0.0" } }, + "node_modules/@hapi/address": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-5.1.1.tgz", + "integrity": "sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^11.0.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@hapi/boom": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz", @@ -2944,27 +3461,46 @@ "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==", "license": "BSD-3-Clause" }, + "node_modules/@hapi/formula": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-3.0.2.tgz", + "integrity": "sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/@hapi/hoek": { "version": "11.0.7", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.7.tgz", "integrity": "sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==", "license": "BSD-3-Clause" }, + "node_modules/@hapi/pinpoint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.1.tgz", + "integrity": "sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/tlds": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@hapi/tlds/-/tlds-1.1.6.tgz", + "integrity": "sha512-xdi7A/4NZokvV0ewovme3aUO5kQhW9pQ2YD1hRqZGhhSi5rBv4usHYidVocXSi9eihYsznZxLtAiEYYUL6VBGw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz", + "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==", + "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@hapi/hoek": "^9.0.0" + "@hapi/hoek": "^11.0.2" } }, - "node_modules/@hapi/topo/node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "license": "BSD-3-Clause" - }, "node_modules/@hapi/wreck": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-18.1.0.tgz", @@ -2977,9 +3513,9 @@ } }, "node_modules/@headlessui/react": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-2.2.10.tgz", - "integrity": "sha512-5pVLNK9wlpxTUTy9GpgbX/SdcRh+HBnPktjM2wbiLTH4p+2EPHBO1aoSryUCuKUIItdDWO9ITlhUL8UnUN/oIA==", + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-2.2.9.tgz", + "integrity": "sha512-Mb+Un58gwBn0/yWZfyrCh0TJyurtT+dETj7YHleylHk5od3dv2XqETPGWMyQ5/7sYN7oWdyM1u9MvC0OC8UmzQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3008,9 +3544,9 @@ } }, "node_modules/@hono/node-server": { - "version": "1.19.14", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.14.tgz", - "integrity": "sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==", + "version": "1.19.9", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz", + "integrity": "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==", "dev": true, "license": "MIT", "engines": { @@ -3021,43 +3557,29 @@ } }, "node_modules/@humanfs/core": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", - "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, "license": "Apache-2.0", - "dependencies": { - "@humanfs/types": "^0.15.0" - }, "engines": { "node": ">=18.18.0" } }, "node_modules/@humanfs/node": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", - "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanfs/core": "^0.19.2", - "@humanfs/types": "^0.15.0", + "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.4.0" }, "engines": { "node": ">=18.18.0" } }, - "node_modules/@humanfs/types": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", - "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -3087,9 +3609,9 @@ } }, "node_modules/@img/colour": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", - "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", "dev": true, "license": "MIT", "optional": true, @@ -3927,42 +4449,12 @@ } } }, - "node_modules/@internationalized/date": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.12.1.tgz", - "integrity": "sha512-6IedsVWXyq4P9Tj+TxuU8WGWM70hYLl12nbYU8jkikVpa6WXapFazPUcHUMDMoWftIDE2ILDkFFte6W2nFCkRQ==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, - "node_modules/@internationalized/number": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.6.tgz", - "integrity": "sha512-iFgmQaXHE0vytNfpLZWOC2mEJCBRzcUxt53Xf/yCXG93lRvqas237i3r7X4RKMwO3txiyZD4mQjKAByFv6UGSQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, - "node_modules/@internationalized/string": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.8.tgz", - "integrity": "sha512-NdbMQUSfXLYIQol5VyMtinm9pZDciiMfN7RtmSuSB78io1hqwJ0naYfxyW6vgxWBkzWymQa/3uLDlbfmshtCaA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" @@ -4027,9 +4519,9 @@ } }, "node_modules/@modelcontextprotocol/sdk": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.29.0.tgz", - "integrity": "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==", + "version": "1.27.1", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.27.1.tgz", + "integrity": "sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA==", "dev": true, "license": "MIT", "dependencies": { @@ -4068,9 +4560,9 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", - "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -4092,25 +4584,38 @@ "license": "MIT" }, "node_modules/@mongodb-js/saslprep": { - "version": "1.4.9", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.9.tgz", - "integrity": "sha512-RXSxsokhAF/4nWys8An8npsqOI33Ex1Hlzqjw2pZOO+GKtMAR2noGnUdsFiGwsaO/xXI+56mtjTmDA3JXJsvmA==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.6.tgz", + "integrity": "sha512-y+x3H1xBZd38n10NZF/rEBlvDOOMQ6LKUTHqr8R9VkJ+mmQOYtJFxIlkkK8fZrtOiL6VixbOBWMbZGBdal3Z1g==", "license": "MIT", "dependencies": { "sparse-bitfield": "^3.0.3" } }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, "node_modules/@next/env": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.4.tgz", - "integrity": "sha512-dKkkOzOSwFYe5RX6y26fZgkSpVAlIOJKQHIiydQcrWH6y/97+RceSOAdjZ14Qa3zLduVUy0TXcn+EiM6t4rPgw==", + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.6.tgz", + "integrity": "sha512-N1ySLuZjnAtN3kFnwhAwPvZah8RJxKasD7x1f8shFqhncnWZn4JMfg37diLNuoHsLAlrDfM3g4mawVdtAG8XLQ==", "dev": true, "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.4.tgz", - "integrity": "sha512-tOX826JJ96gYK/go18sPUgMq9FK1tqxBFfUCEufJb5XIkWFFmpgU7mahJANKGkHs7F41ir3tReJ3Lv5La0RvhA==", + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.1.6.tgz", + "integrity": "sha512-/Qq3PTagA6+nYVfryAtQ7/9FEr/6YVyvOtl6rZnGsbReGLf0jZU6gkpr1FuChAQpvV46a78p4cmHOVP8mbfSMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4118,9 +4623,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.4.tgz", - "integrity": "sha512-OXTFFox5EKN1Ym08vfrz+OXxmCcEjT4SFMbNRsWZE99dMqt2Kcusl5MqPXcW232RYkMLQTy0hqgAMEsfEd/l2A==", + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.6.tgz", + "integrity": "sha512-wTzYulosJr/6nFnqGW7FrG3jfUUlEf8UjGA0/pyypJl42ExdVgC6xJgcXQ+V8QFn6niSG2Pb8+MIG1mZr2vczw==", "cpu": [ "arm64" ], @@ -4135,9 +4640,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.4.tgz", - "integrity": "sha512-XhpVnUfmYWvD3YrXu55XdcAkQtOnvaI6wtQa8fuF5fGoKoxIUZ0kWPtcOfqJEWngFF/lOS9l3+O9CcownhiQxQ==", + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.6.tgz", + "integrity": "sha512-BLFPYPDO+MNJsiDWbeVzqvYd4NyuRrEYVB5k2N3JfWncuHAy2IVwMAOlVQDFjj+krkWzhY2apvmekMkfQR0CUQ==", "cpu": [ "x64" ], @@ -4152,9 +4657,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.4.tgz", - "integrity": "sha512-Mx/tjlNA3G8kg14QvuGAJ4xBwPk1tUHq56JxZ8CXnZwz1Etz714soCEzGQQzVMz4bEnGPowzkV6Xrp6wAkEWOQ==", + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.6.tgz", + "integrity": "sha512-OJYkCd5pj/QloBvoEcJ2XiMnlJkRv9idWA/j0ugSuA34gMT6f5b7vOiCQHVRpvStoZUknhl6/UxOXL4OwtdaBw==", "cpu": [ "arm64" ], @@ -4169,9 +4674,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.4.tgz", - "integrity": "sha512-iVMMp14514u7Nup2umQS03nT/bN9HurK8ufylC3FZNykrwjtx7V1A7+4kvhbDSCeonTVqV3Txnv0Lu+m2oDXNg==", + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.6.tgz", + "integrity": "sha512-S4J2v+8tT3NIO9u2q+S0G5KdvNDjXfAv06OhfOzNDaBn5rw84DGXWndOEB7d5/x852A20sW1M56vhC/tRVbccQ==", "cpu": [ "arm64" ], @@ -4186,9 +4691,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.4.tgz", - "integrity": "sha512-EZOvm1aQWgnI/N/xcWOlnS3RQBk0VtVav5Zo7n4p0A7UKyTDx047k8opDbXgBpHl4CulRqRfbw3QrX2w5UOXMQ==", + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.6.tgz", + "integrity": "sha512-2eEBDkFlMMNQnkTyPBhQOAyn2qMxyG2eE7GPH2WIDGEpEILcBPI/jdSv4t6xupSP+ot/jkfrCShLAa7+ZUPcJQ==", "cpu": [ "x64" ], @@ -4203,9 +4708,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.4.tgz", - "integrity": "sha512-h9FxsngCm9cTBf71AR4fGznDEDx1hS7+kSEiIRjq5kO1oXWm07DxVGZjCvk0SGx7TSjlUqhI8oOyz7NfwAdPoA==", + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.6.tgz", + "integrity": "sha512-oicJwRlyOoZXVlxmIMaTq7f8pN9QNbdes0q2FXfRsPhfCi8n8JmOZJm5oo1pwDaFbnnD421rVU409M3evFbIqg==", "cpu": [ "x64" ], @@ -4220,9 +4725,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.4.tgz", - "integrity": "sha512-3NdJV5OXMSOeJYijX+bjaLge3mJBlh4ybydbT4GFoB/2hAojWHtMhl3CYlYoMrjPuodp0nzFVi4Tj2+WaMg+Ow==", + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.6.tgz", + "integrity": "sha512-gQmm8izDTPgs+DCWH22kcDmuUp7NyiJgEl18bcr8irXA5N2m2O+JQIr6f3ct42GOs9c0h8QF3L5SzIxcYAAXXw==", "cpu": [ "arm64" ], @@ -4237,9 +4742,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.4.tgz", - "integrity": "sha512-kMVGgsqhO5YTYODD9IPGGhA6iprWidQckK3LmPeW08PIFENRmgfb4MjXHO+p//d+ts2rpjvK5gXWzXSMrPl9cw==", + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.6.tgz", + "integrity": "sha512-NRfO39AIrzBnixKbjuo2YiYhB6o9d8v/ymU9m/Xk8cyVk+k7XylniXkHwjs4s70wedVffc6bQNbufk5v0xEm0A==", "cpu": [ "x64" ], @@ -4254,12 +4759,12 @@ } }, "node_modules/@noble/curves": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.2.0.tgz", - "integrity": "sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.0.1.tgz", + "integrity": "sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==", "license": "MIT", "dependencies": { - "@noble/hashes": "2.2.0" + "@noble/hashes": "2.0.1" }, "engines": { "node": ">= 20.19.0" @@ -4269,9 +4774,9 @@ } }, "node_modules/@noble/hashes": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", - "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", + "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -4280,19 +4785,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@nodable/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/nodable" - } - ], - "license": "MIT" - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -4331,6 +4823,16 @@ "node": ">= 8" } }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, "node_modules/@opentelemetry/api": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", @@ -4342,19 +4844,19 @@ } }, "node_modules/@parse/node-apn": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@parse/node-apn/-/node-apn-8.1.0.tgz", - "integrity": "sha512-LowcdkKPDikbbzIr3zwEdoFW5wfEbbTzpYQeen3S8kKLePG0AQK586Li+OLC7bonyLmlk//Yk3smHZOLSV6TZA==", - "dev": true, + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@parse/node-apn/-/node-apn-7.1.0.tgz", + "integrity": "sha512-a40P5nScLDi9Pf7koKKkbwI73px0q+iLaKYNrr7kyKJebq/4duGOy3mMevZS0zltn171k3jB5BWCC27dPGsMmw==", "license": "MIT", + "peer": true, "dependencies": { "debug": "4.4.3", "jsonwebtoken": "9.0.3", - "node-forge": "1.4.0", + "node-forge": "1.3.2", "verror": "1.10.1" }, "engines": { - "node": "20 || 22 || 24" + "node": ">=18" } }, "node_modules/@passwordless-id/webauthn": { @@ -4386,14 +4888,17 @@ } }, "node_modules/@react-aria/focus": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.22.0.tgz", - "integrity": "sha512-ZfDOVuVhqDsM9mkNji3QUZ/d40JhlVgXrDkrfXylM1035QCrcTHN7m2DpbE95sU2A8EQb4wikvt5jM6K/73BPg==", + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.21.4.tgz", + "integrity": "sha512-6gz+j9ip0/vFRTKJMl3R30MHopn4i19HqqLfSQfElxJD+r9hBnYG1Q6Wd/kl/WRR1+CALn2F+rn06jUnf5sT8Q==", "dev": true, "license": "Apache-2.0", "dependencies": { + "@react-aria/interactions": "^3.27.0", + "@react-aria/utils": "^3.33.0", + "@react-types/shared": "^3.33.0", "@swc/helpers": "^0.5.0", - "react-aria": "3.48.0" + "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", @@ -4401,25 +4906,85 @@ } }, "node_modules/@react-aria/interactions": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.28.0.tgz", - "integrity": "sha512-OXwdU1EWFdMxmr/K1CXNGJzmNlCClByb+PuCaqUyzBymHPCGVhawirLIon/CrIN5psh3AiWpHSh4H0WeJdVpng==", + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.27.0.tgz", + "integrity": "sha512-D27pOy+0jIfHK60BB26AgqjjRFOYdvVSkwC31b2LicIzRCSPOSP06V4gMHuGmkhNTF4+YWDi1HHYjxIvMeiSlA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@react-types/shared": "^3.34.0", + "@react-aria/ssr": "^3.9.10", + "@react-aria/utils": "^3.33.0", + "@react-stately/flags": "^3.1.2", + "@react-types/shared": "^3.33.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/ssr": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.10.tgz", + "integrity": "sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/utils": { + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.33.0.tgz", + "integrity": "sha512-yvz7CMH8d2VjwbSa5nGXqjU031tYhD8ddax95VzJsHSPyqHDEGfxul8RkhGV6oO7bVqZxVs6xY66NIgae+FHjw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@react-aria/ssr": "^3.9.10", + "@react-stately/flags": "^3.1.2", + "@react-stately/utils": "^3.11.0", + "@react-types/shared": "^3.33.0", "@swc/helpers": "^0.5.0", - "react-aria": "3.48.0" + "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, + "node_modules/@react-stately/flags": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.1.2.tgz", + "integrity": "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@react-stately/utils": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.11.0.tgz", + "integrity": "sha512-8LZpYowJ9eZmmYLpudbo/eclIRnbhWIJZ994ncmlKlouNzKohtM8qTC6B1w1pwUbiwGdUoyzLuQbeaIor5Dvcw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, "node_modules/@react-types/shared": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.34.0.tgz", - "integrity": "sha512-gp6xo/s2lX54AlTjOiqwDnxA7UW79BNvI9dB9pr3LZTzRKCd1ZA+ZbgKw/ReIiWuvvVw/8QFJpnqeeFyLocMcQ==", + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.33.0.tgz", + "integrity": "sha512-xuUpP6MyuPmJtzNOqF5pzFUIHH2YogyOQfUQHag54PRmWB7AbjuGWBUv0l1UDmz6+AbzAYGmDVAzcRDOu2PFpw==", "dev": true, "license": "Apache-2.0", "peerDependencies": { @@ -4427,27 +4992,23 @@ } }, "node_modules/@redis/client": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@redis/client/-/client-5.12.1.tgz", - "integrity": "sha512-7aPGWeqA3uFm43o19umzdl16CEjK/JQGtSXVPevplTaOU3VJA/rseBC1QvYUz9lLDIMBimc4SW/zrW4S89BaCA==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@redis/client/-/client-5.11.0.tgz", + "integrity": "sha512-GHoprlNQD51Xq2Ztd94HHV94MdFZQ3CVrpA04Fz8MVoHM0B7SlbmPEVIjwTbcv58z8QyjnrOuikS0rWF03k5dQ==", "dev": true, "license": "MIT", "dependencies": { "cluster-key-slot": "1.1.2" }, "engines": { - "node": ">= 18.19.0" + "node": ">= 18" }, "peerDependencies": { - "@node-rs/xxhash": "^1.1.0", - "@opentelemetry/api": ">=1 <2" + "@node-rs/xxhash": "^1.1.0" }, "peerDependenciesMeta": { "@node-rs/xxhash": { "optional": true - }, - "@opentelemetry/api": { - "optional": true } } }, @@ -4885,23 +5446,23 @@ ] }, "node_modules/@scure/base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-2.2.0.tgz", - "integrity": "sha512-b8XEupJibegiXV+tDUseI8oLQc8ei3d/4Jkb2RpbHh3MfE054ov3uIz2dhFkB3FI8iwYkEh0gGCApkrYggkPNg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-2.0.0.tgz", + "integrity": "sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==", "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@scure/bip32": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-2.2.0.tgz", - "integrity": "sha512-zFr7t2F+a9+5tB7QbarF2HQNYrgjCNaoLAupZdKkrFMYMozJf5zqH2WJCQibMzm1qQ0QogrxVGO3qXfQDYMaQg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-2.0.1.tgz", + "integrity": "sha512-4Md1NI5BzoVP+bhyJaY3K6yMesEFzNS1sE/cP+9nuvE7p/b0kx9XbpDHHFl8dHtufcbdHRUUQdRqLIPHN/s7yA==", "license": "MIT", "dependencies": { - "@noble/curves": "2.2.0", - "@noble/hashes": "2.2.0", - "@scure/base": "2.2.0" + "@noble/curves": "2.0.1", + "@noble/hashes": "2.0.1", + "@scure/base": "2.0.0" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -4922,42 +5483,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@scure/btc-signer/node_modules/@noble/curves": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.0.1.tgz", - "integrity": "sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==", - "license": "MIT", - "dependencies": { - "@noble/hashes": "2.0.1" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/btc-signer/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", - "license": "MIT", - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/btc-signer/node_modules/@scure/base": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-2.0.0.tgz", - "integrity": "sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==", - "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@shikijs/engine-oniguruma": { "version": "3.23.0", "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", @@ -5048,9 +5573,9 @@ "license": "MIT" }, "node_modules/@swc/helpers": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.21.tgz", - "integrity": "sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==", + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.19.tgz", + "integrity": "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -5071,49 +5596,49 @@ } }, "node_modules/@tailwindcss/node": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.4.tgz", - "integrity": "sha512-Ai7+yQPxz3ddrDQzFfBKdHEVBg0w3Zl83jnjuwxnZOsnH9pGn93QHQtpU0p/8rYWxvbFZHneni6p1BSLK4DkGA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", + "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "^5.19.0", "jiti": "^2.6.1", - "lightningcss": "1.32.0", + "lightningcss": "1.31.1", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", - "tailwindcss": "4.2.4" + "tailwindcss": "4.2.1" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.4.tgz", - "integrity": "sha512-9El/iI069DKDSXwTvB9J4BwdO5JhRrOweGaK25taBAvBXyXqJAX+Jqdvs8r8gKpsI/1m0LeJLyQYTf/WLrBT1Q==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz", + "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==", "dev": true, "license": "MIT", "engines": { "node": ">= 20" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.2.4", - "@tailwindcss/oxide-darwin-arm64": "4.2.4", - "@tailwindcss/oxide-darwin-x64": "4.2.4", - "@tailwindcss/oxide-freebsd-x64": "4.2.4", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.4", - "@tailwindcss/oxide-linux-arm64-gnu": "4.2.4", - "@tailwindcss/oxide-linux-arm64-musl": "4.2.4", - "@tailwindcss/oxide-linux-x64-gnu": "4.2.4", - "@tailwindcss/oxide-linux-x64-musl": "4.2.4", - "@tailwindcss/oxide-wasm32-wasi": "4.2.4", - "@tailwindcss/oxide-win32-arm64-msvc": "4.2.4", - "@tailwindcss/oxide-win32-x64-msvc": "4.2.4" + "@tailwindcss/oxide-android-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-x64": "4.2.1", + "@tailwindcss/oxide-freebsd-x64": "4.2.1", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-x64-musl": "4.2.1", + "@tailwindcss/oxide-wasm32-wasi": "4.2.1", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.4.tgz", - "integrity": "sha512-e7MOr1SAn9U8KlZzPi1ZXGZHeC5anY36qjNwmZv9pOJ8E4Q6jmD1vyEHkQFmNOIN7twGPEMXRHmitN4zCMN03g==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", + "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==", "cpu": [ "arm64" ], @@ -5128,9 +5653,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.4.tgz", - "integrity": "sha512-tSC/Kbqpz/5/o/C2sG7QvOxAKqyd10bq+ypZNf+9Fi2TvbVbv1zNpcEptcsU7DPROaSbVgUXmrzKhurFvo5eDg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", + "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==", "cpu": [ "arm64" ], @@ -5145,9 +5670,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.4.tgz", - "integrity": "sha512-yPyUXn3yO/ufR6+Kzv0t4fCg2qNr90jxXc5QqBpjlPNd0NqyDXcmQb/6weunH/MEDXW5dhyEi+agTDiqa3WsGg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", + "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==", "cpu": [ "x64" ], @@ -5162,9 +5687,9 @@ } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.4.tgz", - "integrity": "sha512-BoMIB4vMQtZsXdGLVc2z+P9DbETkiopogfWZKbWwM8b/1Vinbs4YcUwo+kM/KeLkX3Ygrf4/PsRndKaYhS8Eiw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", + "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==", "cpu": [ "x64" ], @@ -5179,9 +5704,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.4.tgz", - "integrity": "sha512-7pIHBLTHYRAlS7V22JNuTh33yLH4VElwKtB3bwchK/UaKUPpQ0lPQiOWcbm4V3WP2I6fNIJ23vABIvoy2izdwA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", + "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==", "cpu": [ "arm" ], @@ -5196,9 +5721,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.4.tgz", - "integrity": "sha512-+E4wxJ0ZGOzSH325reXTWB48l42i93kQqMvDyz5gqfRzRZ7faNhnmvlV4EPGJU3QJM/3Ab5jhJ5pCRUsKn6OQw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", + "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==", "cpu": [ "arm64" ], @@ -5213,9 +5738,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.4.tgz", - "integrity": "sha512-bBADEGAbo4ASnppIziaQJelekCxdMaxisrk+fB7Thit72IBnALp9K6ffA2G4ruj90G9XRS2VQ6q2bCKbfFV82g==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", + "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==", "cpu": [ "arm64" ], @@ -5230,9 +5755,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.4.tgz", - "integrity": "sha512-7Mx25E4WTfnht0TVRTyC00j3i0M+EeFe7wguMDTlX4mRxafznw0CA8WJkFjWYH5BlgELd1kSjuU2JiPnNZbJDA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", + "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==", "cpu": [ "x64" ], @@ -5247,9 +5772,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.4.tgz", - "integrity": "sha512-2wwJRF7nyhOR0hhHoChc04xngV3iS+akccHTGtz965FwF0up4b2lOdo6kI1EbDaEXKgvcrFBYcYQQ/rrnWFVfA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", + "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==", "cpu": [ "x64" ], @@ -5264,9 +5789,9 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.4.tgz", - "integrity": "sha512-FQsqApeor8Fo6gUEklzmaa9994orJZZDBAlQpK2Mq+DslRKFJeD6AjHpBQ0kZFQohVr8o85PPh8eOy86VlSCmw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", + "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==", "bundleDependencies": [ "@napi-rs/wasm-runtime", "@emnapi/core", @@ -5294,9 +5819,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.4.tgz", - "integrity": "sha512-L9BXqxC4ToVgwMFqj3pmZRqyHEztulpUJzCxUtLjobMCzTPsGt1Fa9enKbOpY2iIyVtaHNeNvAK8ERP/64sqGQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", + "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==", "cpu": [ "arm64" ], @@ -5311,9 +5836,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.4.tgz", - "integrity": "sha512-ESlKG0EpVJQwRjXDDa9rLvhEAh0mhP1sF7sap9dNZT0yyl9SAG6T7gdP09EH0vIv0UNTlo6jPWyujD6559fZvw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", + "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==", "cpu": [ "x64" ], @@ -5328,17 +5853,17 @@ } }, "node_modules/@tailwindcss/postcss": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.4.tgz", - "integrity": "sha512-wgAVj6nUWAolAu8YFvzT2cTBIElWHkjZwFYovF+xsqKsW2ADxM/X2opxj5NsF/qVccAOjRNe8X2IdPzMsWyHTg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.1.tgz", + "integrity": "sha512-OEwGIBnXnj7zJeonOh6ZG9woofIjGrd2BORfvE5p9USYKDCZoQmfqLcfNiRWoJlRWLdNPn2IgVZuWAOM4iTYMw==", "dev": true, "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.2.4", - "@tailwindcss/oxide": "4.2.4", + "@tailwindcss/node": "4.2.1", + "@tailwindcss/oxide": "4.2.1", "postcss": "^8.5.6", - "tailwindcss": "4.2.4" + "tailwindcss": "4.2.1" } }, "node_modules/@tailwindcss/typography": { @@ -5355,13 +5880,13 @@ } }, "node_modules/@tanstack/react-virtual": { - "version": "3.13.24", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.24.tgz", - "integrity": "sha512-aIJvz5OSkhNIhZIpYivrxrPTKYsjW9Uzy+sP/mx0S3sev2HyvPb7xmjbYvokzEpfgYHy/HjzJ2zFAETuUfgCpg==", + "version": "3.13.19", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.19.tgz", + "integrity": "sha512-KzwmU1IbE0IvCZSm6OXkS+kRdrgW2c2P3Ho3NC+zZXWK6oObv/L+lcV/2VuJ+snVESRlMJ+w/fg4WXI/JzoNGQ==", "dev": true, "license": "MIT", "dependencies": { - "@tanstack/virtual-core": "3.14.0" + "@tanstack/virtual-core": "3.13.19" }, "funding": { "type": "github", @@ -5373,9 +5898,9 @@ } }, "node_modules/@tanstack/virtual-core": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.14.0.tgz", - "integrity": "sha512-JLANqGy/D6k4Ujmh8Tr25lGimuOXNiaVyXaCAZS0W+1390sADdGnyUdSWNIfd49gebtIxGMij4IktRVzrdr12Q==", + "version": "3.13.19", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.19.tgz", + "integrity": "sha512-/BMP7kNhzKOd7wnDeB8NrIRNLwkf5AhCYCvtfZV2GXWbBieFm/el0n6LOAXlTi6ZwHICSNnQcIxRCWHrLzDY+g==", "dev": true, "license": "MIT", "funding": { @@ -5383,6 +5908,36 @@ "url": "https://github.com/sponsors/tannerlinsley" } }, + "node_modules/@theguild/federation-composition": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@theguild/federation-composition/-/federation-composition-0.21.3.tgz", + "integrity": "sha512-+LlHTa4UbRpZBog3ggAxjYIFvdfH3UMvvBUptur19TMWkqU4+n3GmN+mDjejU+dyBXIG27c25RsiQP1HyvM99g==", + "dev": true, + "license": "MIT", + "dependencies": { + "constant-case": "^3.0.4", + "debug": "4.4.3", + "json5": "^2.2.3", + "lodash.sortby": "^4.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "graphql": "^16.0.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/body-parser": { "version": "1.19.6", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", @@ -5487,22 +6042,15 @@ "license": "MIT" }, "node_modules/@types/debug": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", - "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "dev": true, "license": "MIT", "dependencies": { "@types/ms": "*" } }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/estree": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", @@ -5582,6 +6130,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/mdast": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", @@ -5600,26 +6155,26 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "25.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", - "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", + "version": "25.3.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.2.tgz", + "integrity": "sha512-RpV6r/ij22zRRdyBPcxDeKAzH43phWVKEjL2iksqo1Vz3CuBUrgmPpPhALKiRfU7OMCmeeO9vECBMsV0hMTG8Q==", "devOptional": true, "license": "MIT", "dependencies": { - "undici-types": "~7.19.0" + "undici-types": "~7.18.0" } }, "node_modules/@types/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-iG0T6+nYJ9FAPmx9SsUlnwcq1ZVRuCXcVEvWnntoPlrOpwtSTKNDC9uVAxTsC3PUvJ+99n4RpAcNgBbHX3JSnQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-qHHxQ+P9PysNEGbALT8f8YOSHW0KJu6l2xU8DYY0fu/EmGxXdVnuTLvFUvBgPJMSqXq29SYHveejeAha+4AYgA==", "dev": true, "license": "MIT" }, "node_modules/@types/qs": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", - "integrity": "sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", "dev": true, "license": "MIT" }, @@ -5722,20 +6277,20 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.0.tgz", - "integrity": "sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.1.tgz", + "integrity": "sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.59.0", - "@typescript-eslint/type-utils": "8.59.0", - "@typescript-eslint/utils": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0", + "@typescript-eslint/scope-manager": "8.56.1", + "@typescript-eslint/type-utils": "8.56.1", + "@typescript-eslint/utils": "8.56.1", + "@typescript-eslint/visitor-keys": "8.56.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.5.0" + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5745,9 +6300,9 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.59.0", + "@typescript-eslint/parser": "^8.56.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { @@ -5761,16 +6316,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.0.tgz", - "integrity": "sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz", + "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.59.0", - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0", + "@typescript-eslint/scope-manager": "8.56.1", + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/typescript-estree": "8.56.1", + "@typescript-eslint/visitor-keys": "8.56.1", "debug": "^4.4.3" }, "engines": { @@ -5782,18 +6337,18 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.0.tgz", - "integrity": "sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.1.tgz", + "integrity": "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.59.0", - "@typescript-eslint/types": "^8.59.0", + "@typescript-eslint/tsconfig-utils": "^8.56.1", + "@typescript-eslint/types": "^8.56.1", "debug": "^4.4.3" }, "engines": { @@ -5804,18 +6359,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.0.tgz", - "integrity": "sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz", + "integrity": "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0" + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/visitor-keys": "8.56.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5826,9 +6381,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.0.tgz", - "integrity": "sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz", + "integrity": "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==", "dev": true, "license": "MIT", "engines": { @@ -5839,21 +6394,21 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.0.tgz", - "integrity": "sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.56.1.tgz", + "integrity": "sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0", - "@typescript-eslint/utils": "8.59.0", + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/typescript-estree": "8.56.1", + "@typescript-eslint/utils": "8.56.1", "debug": "^4.4.3", - "ts-api-utils": "^2.5.0" + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5864,13 +6419,13 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.0.tgz", - "integrity": "sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", + "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", "dev": true, "license": "MIT", "engines": { @@ -5882,21 +6437,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.0.tgz", - "integrity": "sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz", + "integrity": "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.59.0", - "@typescript-eslint/tsconfig-utils": "8.59.0", - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0", + "@typescript-eslint/project-service": "8.56.1", + "@typescript-eslint/tsconfig-utils": "8.56.1", + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/visitor-keys": "8.56.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.5.0" + "ts-api-utils": "^2.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5906,20 +6461,59 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", + "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@typescript-eslint/utils": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.0.tgz", - "integrity": "sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.56.1.tgz", + "integrity": "sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.59.0", - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0" + "@typescript-eslint/scope-manager": "8.56.1", + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/typescript-estree": "8.56.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5930,17 +6524,17 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.0.tgz", - "integrity": "sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz", + "integrity": "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/types": "8.56.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -5951,6 +6545,19 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@unchainedshop/admin-ui": { "resolved": "admin-ui", "link": true @@ -6101,10 +6708,279 @@ "dev": true, "license": "MIT" }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@vercel/oidc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.2.0.tgz", - "integrity": "sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.1.0.tgz", + "integrity": "sha512-Fw28YZpRnA3cAHHDlkt7xQHiJ0fcL+NRcIqsocZQUSmbzeIKRpwttJjik5ZGanXP+vlA4SbTg+AbA3bP363l+w==", "dev": true, "license": "Apache-2.0", "engines": { @@ -6244,6 +7120,14 @@ "node": ">=8" } }, + "node_modules/@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "dev": true, + "license": "(Unlicense OR Apache-2.0)", + "optional": true + }, "node_modules/abstract-logging": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", @@ -6321,15 +7205,15 @@ } }, "node_modules/ai": { - "version": "6.0.168", - "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.168.tgz", - "integrity": "sha512-2HqCJuO+1V2aV7vfYs5LFEUfxbkGX+5oa54q/gCCTL7KLTdbxcCu5D7TdLA5kwsrs3Szgjah9q6D9tpjHM3hUQ==", + "version": "6.0.104", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.104.tgz", + "integrity": "sha512-boYGxbtdsa1YX3uuN7BV0FvAL3sGq7p/RLAMonK94jyt5C7sKj6jfib3/wD12koqX53htLTI/l4tX0HqNFRMZQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@ai-sdk/gateway": "3.0.104", + "@ai-sdk/gateway": "3.0.58", "@ai-sdk/provider": "3.0.8", - "@ai-sdk/provider-utils": "4.0.23", + "@ai-sdk/provider-utils": "4.0.15", "@opentelemetry/api": "1.9.0" }, "engines": { @@ -6340,9 +7224,9 @@ } }, "node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", "dependencies": { @@ -6374,9 +7258,9 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", - "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -6422,16 +7306,19 @@ } }, "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/any-promise": { @@ -6468,35 +7355,134 @@ ], "license": "MIT" }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "license": "Python-2.0" + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/aria-hidden": { + "node_modules/array.prototype.findlastindex": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", - "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -6505,14 +7491,40 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, "node_modules/arraybuffer.prototype.slice": { @@ -6537,6 +7549,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "license": "MIT" + }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -6563,7 +7582,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8" @@ -6688,6 +7706,38 @@ "dev": true, "license": "MIT" }, + "node_modules/axe-core": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.1.tgz", + "integrity": "sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz", + "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/b4a": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", @@ -6715,14 +7765,11 @@ } }, "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } + "license": "MIT" }, "node_modules/bare-events": { "version": "2.8.2", @@ -6739,88 +7786,6 @@ } } }, - "node_modules/bare-fs": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.7.1.tgz", - "integrity": "sha512-WDRsyVN52eAx/lBamKD6uyw8H4228h/x0sGGGegOamM2cd7Pag88GfMQalobXI+HaEUxpCkbKQUDOQqt9wawRw==", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4", - "bare-url": "^2.2.2", - "fast-fifo": "^1.3.2" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" - }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } - } - }, - "node_modules/bare-os": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.0.tgz", - "integrity": "sha512-JTjuZyNIDpw+GytMO4a6TK1VXdVKKJr6DRxEHasyuYyShV2deuiHJK/ahGZlebc+SG0/wJCB9XK8gprBGDFi/Q==", - "devOptional": true, - "license": "Apache-2.0", - "engines": { - "bare": ">=1.14.0" - } - }, - "node_modules/bare-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", - "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "bare-os": "^3.0.1" - } - }, - "node_modules/bare-stream": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.0.tgz", - "integrity": "sha512-3zAJRZMDFGjdn+RVnNpF9kuELw+0Fl3lpndM4NcEOhb9zwtSo/deETfuIwMSE5BXanA0FrN1qVjffGwAg2Y7EA==", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "streamx": "^2.25.0", - "teex": "^1.0.1" - }, - "peerDependencies": { - "bare-abort-controller": "*", - "bare-buffer": "*", - "bare-events": "*" - }, - "peerDependenciesMeta": { - "bare-abort-controller": { - "optional": true - }, - "bare-buffer": { - "optional": true - }, - "bare-events": { - "optional": true - } - } - }, - "node_modules/bare-url": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.2.tgz", - "integrity": "sha512-/9a2j4ac6ckpmAHvod/ob7x439OAHst/drc2Clnq+reRYd/ovddwcF4LfoxHyNk5AuGBnPg+HqFjmE/Zpq6v0A==", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "bare-path": "^3.0.0" - } - }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -6843,9 +7808,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.23", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.23.tgz", - "integrity": "sha512-xwVXGqevyKPsiuQdLj+dZMVjidjJV508TBqexND5HrF89cGdCYCJFB3qhcxRHSeMctdCfbR1jrxBajhDy7o29g==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", + "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", "dev": true, "license": "Apache-2.0", "bin": { @@ -6929,16 +7894,14 @@ } }, "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/braces": { @@ -6962,9 +7925,9 @@ "license": "MIT" }, "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -6982,11 +7945,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -6995,6 +7958,16 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, "node_modules/bson": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/bson/-/bson-7.2.0.tgz", @@ -7098,15 +8071,15 @@ } }, "node_modules/call-bind": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", - "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "get-intrinsic": "^1.3.0", + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.2" }, "engines": { @@ -7180,9 +8153,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001791", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", - "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", + "version": "1.0.30001774", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz", + "integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==", "dev": true, "funding": [ { @@ -7231,28 +8204,20 @@ } }, "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/change-case": { @@ -7395,14 +8360,14 @@ } }, "node_modules/cli-truncate": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz", - "integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", + "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", "dev": true, "license": "MIT", "dependencies": { - "slice-ansi": "^8.0.0", - "string-width": "^8.2.0" + "slice-ansi": "^7.1.0", + "string-width": "^8.0.0" }, "engines": { "node": ">=20" @@ -7425,9 +8390,9 @@ } }, "node_modules/cli-truncate/node_modules/string-width": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", - "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", + "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", "dev": true, "license": "MIT", "dependencies": { @@ -7489,42 +8454,6 @@ "node": ">=12" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cliui/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -7564,19 +8493,22 @@ } }, "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, @@ -7701,9 +8633,9 @@ } }, "node_modules/content-disposition": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", - "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", "license": "MIT", "engines": { "node": ">=18" @@ -7777,7 +8709,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, "license": "MIT" }, "node_modules/cors": { @@ -7799,9 +8730,9 @@ } }, "node_modules/cosmiconfig": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz", - "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "license": "MIT", "dependencies": { @@ -7844,6 +8775,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cross-fetch": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", + "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, "node_modules/cross-inspect": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cross-inspect/-/cross-inspect-1.0.1.tgz", @@ -8500,6 +9441,13 @@ "node": ">=12" } }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -8605,9 +9553,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.20", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.20.tgz", - "integrity": "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==", + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", "dev": true, "license": "MIT" }, @@ -8641,6 +9589,13 @@ } } }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, "node_modules/decimal.js-light": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", @@ -8726,9 +9681,9 @@ } }, "node_modules/delaunator": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.1.0.tgz", - "integrity": "sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", "dev": true, "license": "ISC", "dependencies": { @@ -8841,6 +9796,16 @@ "tslib": "^2.0.3" } }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -8855,6 +9820,13 @@ "node": ">= 0.4" } }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -8882,16 +9854,16 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.344", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", - "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", + "version": "1.5.302", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz", + "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==", "dev": true, "license": "ISC" }, "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, "license": "MIT" }, @@ -8915,14 +9887,14 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.0.tgz", - "integrity": "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.3.3" + "tapable": "^2.3.0" }, "engines": { "node": ">=10.13.0" @@ -8975,9 +9947,9 @@ } }, "node_modules/es-abstract": { - "version": "1.24.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", - "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", "dev": true, "license": "MIT", "dependencies": { @@ -9061,6 +10033,34 @@ "node": ">= 0.4" } }, + "node_modules/es-iterator-helpers": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", + "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.1", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-object-atoms": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", @@ -9089,6 +10089,19 @@ "node": ">= 0.4" } }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-to-primitive": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", @@ -9108,9 +10121,9 @@ } }, "node_modules/es-toolkit": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.46.0.tgz", - "integrity": "sha512-IToJ6ct9OLl5zz6WsC/1vZEwfSZ7Myil+ygl5Tf30Xjn9AEkzNB4kqp2G7VUJKF1DtTx/ra5M5KLlXvzOg51BA==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.44.0.tgz", + "integrity": "sha512-6penXeZalaV88MM3cGkFZZfOoLGWshWWfdy0tWw/RlVVyhvMaWSBTOvXNeiW3e5FwdS5ePW0LGEu17zT139ktg==", "dev": true, "license": "MIT", "workspaces": [ @@ -9190,30 +10203,33 @@ } }, "node_modules/eslint": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.1.tgz", - "integrity": "sha512-wiyGaKsDgqXvF40P8mDwiUp/KQjE1FdrIEJsM8PZ3XCiniTMXS3OHWWUe5FI5agoCnr8x4xPrTDZuxsBlNHl+Q==", + "version": "9.39.3", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.3.tgz", + "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.5", - "@eslint/config-helpers": "^0.5.5", - "@eslint/core": "^1.2.1", - "@eslint/plugin-kit": "^0.7.1", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.3", + "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "ajv": "^6.14.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", @@ -9223,7 +10239,8 @@ "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, @@ -9231,7 +10248,7 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://eslint.org/donate" @@ -9245,6 +10262,46 @@ } } }, + "node_modules/eslint-config-next": { + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.1.6.tgz", + "integrity": "sha512-vKq40io2B0XtkkNDYyleATwblNt8xuh3FWp8SpSz3pt7P01OkBFlKsJZ2mWt5WsCySlDQLckb1zMY9yE9Qy0LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "16.1.6", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^7.0.0", + "globals": "16.4.0", + "typescript-eslint": "^8.46.0" + }, + "peerDependencies": { + "eslint": ">=9.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint-config-prettier": { "version": "10.1.8", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", @@ -9261,35 +10318,218 @@ "eslint": ">=7.0.0" } }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, "node_modules/eslint-plugin-cypress": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-6.3.1.tgz", - "integrity": "sha512-iTJtdIZbyCUlagEI4YlVcwgPFV7X379Qi/upujaD4kvOaQkMvzmpt90vfSnaqgqprp/HPIvhnzv3fdI7mYV4QQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-5.3.0.tgz", + "integrity": "sha512-qjHF2Sdi3VkXSMnfQeUqsbYnessgc6T2dus/Q1U+e5102GpPy9eLd8MWW2Xp2SS9bMpPNLnSHwktMhCKr0dIBg==", "dev": true, "license": "MIT", "dependencies": { - "globals": "^17.5.0" + "globals": "^16.5.0" }, "peerDependencies": { "eslint": ">=9" } }, + "node_modules/eslint-plugin-cypress/node_modules/globals": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", + "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint-plugin-formatjs": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-6.4.6.tgz", - "integrity": "sha512-7RZd4t3zt0kcIBj8wINOyLprPCCKk+37PmtKLKa9cD+rOOKG1elmBm5+mmJEHz1TEV2L15g1SHeDl9OLvJelrQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-6.2.0.tgz", + "integrity": "sha512-JftP9glJrS4qdviqTyZ0Kk14hcHB8AJn2FP2W7dsMugOIHDgra30mTvGjRMohivDIaFXnPGCAOv/AYm55BMUBQ==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/icu-messageformat-parser": "3.5.5", - "@formatjs/ts-transformer": "4.4.5", + "@formatjs/icu-messageformat-parser": "3.5.1", + "@formatjs/ts-transformer": "4.4.0", "@types/picomatch": "^4.0.0", "@unicode/unicode-17.0.0": "^1.6.16", "magic-string": "^0.30.0", - "picomatch": "2 || 3 || 4" + "picomatch": "2 || 3 || 4", + "tslib": "^2.8.1" + }, + "peerDependencies": { + "eslint": "9" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" }, "peerDependencies": { - "eslint": "9 || 10" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, "node_modules/eslint-plugin-prettier": { @@ -9323,51 +10563,136 @@ } } }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", + "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", + "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.16.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -9439,6 +10764,22 @@ "node": ">= 0.6" } }, + "node_modules/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, "node_modules/eventemitter2": { "version": "6.4.7", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", @@ -9477,9 +10818,9 @@ } }, "node_modules/eventsource-parser": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.8.tgz", - "integrity": "sha512-70QWGkr4snxr0OXLRWsFLeRBIRPuQOvt4s8QYjmUlmlkyTZkRqS7EDVRZtzU3TiyDbXSzaOeF0XUKy8PchzukQ==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", "license": "MIT", "engines": { "node": ">=18.0.0" @@ -9595,13 +10936,13 @@ } }, "node_modules/express-rate-limit": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.4.1.tgz", - "integrity": "sha512-NGVYwQSAyEQgzxX1iCM978PP9AdO/hW93gMcF6ZwQCm+rFvLsBH6w4xcXWTcliS8La5EPRN3p9wzItqBwJrfNw==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.2.1.tgz", + "integrity": "sha512-PCZEIEIxqwhzw4KF0n7QF4QqruVTcF73O5kFKUnGOyjbCCgizBBiFaYpd/fnBLUMPw/BWw9OsiN7GgrNYr7j6g==", "dev": true, "license": "MIT", "dependencies": { - "ip-address": "10.1.0" + "ip-address": "10.0.1" }, "engines": { "node": ">= 16" @@ -9720,7 +11061,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, "engines": [ "node >=0.6.0" ], @@ -9814,9 +11154,9 @@ } }, "node_modules/fast-json-stringify/node_modules/ajv": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", - "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -9867,26 +11207,10 @@ ], "license": "BSD-3-Clause" }, - "node_modules/fast-xml-builder": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.1.5.tgz", - "integrity": "sha512-4TJn/8FKLeslLAH3dnohXqE3QSoxkhvaMzepOIZytwJXZO69Bfz0HBdDHzOTOon6G59Zrk6VQ2bEiv1t61rfkA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", - "dependencies": { - "path-expression-matcher": "^1.1.3" - } - }, "node_modules/fast-xml-parser": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.2.tgz", - "integrity": "sha512-P7oW7tLbYnhOLQk/Gv7cZgzgMPP/XN03K02/Jy6Y/NHzyIAIpxuZIM/YqAkfiXFPxA2CTm7NtCijK9EDu09u2w==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.4.tgz", + "integrity": "sha512-jE8ugADnYOBsu1uaoayVl1tVKAMNOXyjwvv2U6udEA2ORBhDooJDWoGxTkhd4Qn4yh59JVVt/pKXtjPwx9OguQ==", "dev": true, "funding": [ { @@ -9896,19 +11220,16 @@ ], "license": "MIT", "dependencies": { - "@nodable/entities": "^2.1.0", - "fast-xml-builder": "^1.1.5", - "path-expression-matcher": "^1.5.0", - "strnum": "^2.2.3" + "strnum": "^1.0.5" }, "bin": { "fxparser": "src/cli/cli.js" } }, "node_modules/fastify": { - "version": "5.8.5", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-5.8.5.tgz", - "integrity": "sha512-Yqptv59pQzPgQUSIm87hMqHJmdkb1+GPxdE6vW6FRyVE9G86mt7rOghitiU4JHRaTyDUk9pfeKmDeu70lAwM4Q==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-5.7.4.tgz", + "integrity": "sha512-e6l5NsRdaEP8rdD8VR0ErJASeyaRbzXYpmkrpr2SuvuMq6Si3lvsaVy5C+7gLanEkvjpMDzBXWE5HPeb/hgTxA==", "funding": [ { "type": "github", @@ -9930,7 +11251,7 @@ "fast-json-stringify": "^6.0.0", "find-my-way": "^9.0.0", "light-my-request": "^6.0.0", - "pino": "^9.14.0 || ^10.1.0", + "pino": "^10.1.0", "process-warning": "^5.0.0", "rfdc": "^1.3.1", "secure-json-parse": "^4.0.0", @@ -10138,16 +11459,16 @@ } }, "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", - "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", "devOptional": true, "funding": [ { @@ -10275,6 +11596,13 @@ "node": ">= 0.8" } }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", + "dev": true, + "license": "MIT" + }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -10460,6 +11788,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-tsconfig": { + "version": "4.13.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", + "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -10501,6 +11842,45 @@ "node": ">=10.13.0" } }, + "node_modules/glob/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", + "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/global-dirs": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", @@ -10518,9 +11898,9 @@ } }, "node_modules/globals": { - "version": "17.5.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.5.0.tgz", - "integrity": "sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.3.0.tgz", + "integrity": "sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==", "dev": true, "license": "MIT", "engines": { @@ -10588,18 +11968,18 @@ "license": "ISC" }, "node_modules/graphql": { - "version": "16.13.2", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.13.2.tgz", - "integrity": "sha512-5bJ+nf/UCpAjHM8i06fl7eLyVC9iuNAjm9qzkiu2ZGhM0VscSvS6WDPfAwkdkBuoXGM9FJSbKl6wylMwP9Ktig==", + "version": "16.13.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.13.0.tgz", + "integrity": "sha512-uSisMYERbaB9bkA9M4/4dnqyktaEkf1kMHNKq/7DHyxVeWqHQ2mBmVqm5u6/FVHwF3iCNalKcg82Zfl+tffWoA==", "license": "MIT", "engines": { "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } }, "node_modules/graphql-config": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-5.1.6.tgz", - "integrity": "sha512-fCkYnm4Kdq3un0YIM4BCZHVR5xl0UeLP6syxxO7KAstdY7QVyVvTHP0kRPDYEP1v08uwtJVgis5sj3IOTLOniQ==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-5.1.5.tgz", + "integrity": "sha512-mG2LL1HccpU8qg5ajLROgdsBzx/o2M6kgI3uAmoaXiSH9PCUbtIyLomLqUtCFaAeG2YCFsl0M5cfQ9rKmDoMVA==", "dev": true, "license": "MIT", "dependencies": { @@ -10607,11 +11987,11 @@ "@graphql-tools/json-file-loader": "^8.0.0", "@graphql-tools/load": "^8.1.0", "@graphql-tools/merge": "^9.0.0", - "@graphql-tools/url-loader": "^9.0.0", - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/url-loader": "^8.0.0", + "@graphql-tools/utils": "^10.0.0", "cosmiconfig": "^8.1.0", "jiti": "^2.0.0", - "minimatch": "^10.0.0", + "minimatch": "^9.0.5", "string-env-interpolation": "^1.0.1", "tslib": "^2.4.0" }, @@ -10628,6 +12008,196 @@ } } }, + "node_modules/graphql-config/node_modules/@graphql-hive/signal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@graphql-hive/signal/-/signal-1.0.0.tgz", + "integrity": "sha512-RiwLMc89lTjvyLEivZ/qxAC5nBHoS2CtsWFSOsN35sxG9zoo5Z+JsFHM8MlvmO9yt+MJNIyC5MLE1rsbOphlag==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/batch-execute": { + "version": "9.0.19", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-9.0.19.tgz", + "integrity": "sha512-VGamgY4PLzSx48IHPoblRw0oTaBa7S26RpZXt0Y4NN90ytoE0LutlpB2484RbkfcTjv9wa64QD474+YP1kEgGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.9.1", + "@whatwg-node/promise-helpers": "^1.3.0", + "dataloader": "^2.2.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/delegate": { + "version": "10.2.23", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-10.2.23.tgz", + "integrity": "sha512-xrPtl7f1LxS+B6o+W7ueuQh67CwRkfl+UKJncaslnqYdkxKmNBB4wnzVcW8ZsRdwbsla/v43PtwAvSlzxCzq2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/batch-execute": "^9.0.19", + "@graphql-tools/executor": "^1.4.9", + "@graphql-tools/schema": "^10.0.25", + "@graphql-tools/utils": "^10.9.1", + "@repeaterjs/repeater": "^3.0.6", + "@whatwg-node/promise-helpers": "^1.3.0", + "dataloader": "^2.2.3", + "dset": "^3.1.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/executor-common": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.6.tgz", + "integrity": "sha512-JAH/R1zf77CSkpYATIJw+eOJwsbWocdDjY+avY7G+P5HCXxwQjAjWVkJI1QJBQYjPQDVxwf1fmTZlIN3VOadow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/core": "^5.3.0", + "@graphql-tools/utils": "^10.9.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/executor-graphql-ws": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-2.0.7.tgz", + "integrity": "sha512-J27za7sKF6RjhmvSOwOQFeNhNHyP4f4niqPnerJmq73OtLx9Y2PGOhkXOEB0PjhvPJceuttkD2O1yMgEkTGs3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-common": "^0.0.6", + "@graphql-tools/utils": "^10.9.1", + "@whatwg-node/disposablestack": "^0.0.6", + "graphql-ws": "^6.0.6", + "isomorphic-ws": "^5.0.0", + "tslib": "^2.8.1", + "ws": "^8.18.3" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/executor-http": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-1.3.3.tgz", + "integrity": "sha512-LIy+l08/Ivl8f8sMiHW2ebyck59JzyzO/yF9SFS4NH6MJZUezA1xThUXCDIKhHiD56h/gPojbkpcFvM2CbNE7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-hive/signal": "^1.0.0", + "@graphql-tools/executor-common": "^0.0.4", + "@graphql-tools/utils": "^10.8.1", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/fetch": "^0.10.4", + "@whatwg-node/promise-helpers": "^1.3.0", + "meros": "^1.2.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/executor-http/node_modules/@graphql-tools/executor-common": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.4.tgz", + "integrity": "sha512-SEH/OWR+sHbknqZyROCFHcRrbZeUAyjCsgpVWCRjqjqRbiJiXq6TxNIIOmpXgkrXWW/2Ev4Wms6YSGJXjdCs6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/core": "^5.2.3", + "@graphql-tools/utils": "^10.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/url-loader": { + "version": "8.0.33", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-8.0.33.tgz", + "integrity": "sha512-Fu626qcNHcqAj8uYd7QRarcJn5XZ863kmxsg1sm0fyjyfBJnsvC7ddFt6Hayz5kxVKfsnjxiDfPMXanvsQVBKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-graphql-ws": "^2.0.1", + "@graphql-tools/executor-http": "^1.1.9", + "@graphql-tools/executor-legacy-ws": "^1.1.19", + "@graphql-tools/utils": "^10.9.1", + "@graphql-tools/wrap": "^10.0.16", + "@types/ws": "^8.0.0", + "@whatwg-node/fetch": "^0.10.0", + "@whatwg-node/promise-helpers": "^1.0.0", + "isomorphic-ws": "^5.0.0", + "sync-fetch": "0.6.0-2", + "tslib": "^2.4.0", + "ws": "^8.17.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/wrap": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-10.1.4.tgz", + "integrity": "sha512-7pyNKqXProRjlSdqOtrbnFRMQAVamCmEREilOXtZujxY6kYit3tvWWSjUrcIOheltTffoRh7EQSjpy2JDCzasg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/delegate": "^10.2.23", + "@graphql-tools/schema": "^10.0.25", + "@graphql-tools/utils": "^10.9.1", + "@whatwg-node/promise-helpers": "^1.3.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/graphql-config/node_modules/cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", @@ -10655,6 +12225,41 @@ } } }, + "node_modules/graphql-config/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/graphql-config/node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, "node_modules/graphql-config/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -10668,20 +12273,48 @@ "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphql-config/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/graphql-config/node_modules/sync-fetch": { + "version": "0.6.0-2", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0-2.tgz", + "integrity": "sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-fetch": "^3.3.2", + "timeout-signal": "^2.0.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=18" } }, - "node_modules/graphql-config/node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/graphql-request": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-7.4.0.tgz", + "integrity": "sha512-xfr+zFb/QYbs4l4ty0dltqiXIp07U6sl+tOKAb0t50/EnQek6CVVBLjETXi+FghElytvgaAWtIOt3EV7zLzIAQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "@graphql-typed-document-node/core": "^3.2.0" + }, + "peerDependencies": { + "graphql": "14 - 16" } }, "node_modules/graphql-scalars": { @@ -10716,9 +12349,9 @@ } }, "node_modules/graphql-ws": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-6.0.8.tgz", - "integrity": "sha512-m3EOaNsUBXwAnkBWbzPfe0Nq8pXUfxsWnolC54sru3FzHvhTZL0Ouf/BoQsaGAXqM+YPerXOJ47BUnmgmoupCw==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-6.0.7.tgz", + "integrity": "sha512-yoLRW+KRlDmnnROdAu7sX77VNLC0bsFoZyGQJLy1cF+X/SkLg/fWkRGrEEYQK8o2cafJ2wmEaMqMEZB3U3DYDg==", "dev": true, "license": "MIT", "engines": { @@ -10743,12 +12376,12 @@ } }, "node_modules/graphql-yoga": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/graphql-yoga/-/graphql-yoga-5.21.0.tgz", - "integrity": "sha512-PS37UoDihx8209RRl1ogttzWevNYDnGvP7beHkwHzUpUdfZTHsVRTVe1ysGXre1EjwUAePbpez302YSrq70Ngw==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/graphql-yoga/-/graphql-yoga-5.18.0.tgz", + "integrity": "sha512-xFt1DVXS1BZ3AvjnawAGc5OYieSe56WuQuyk3iEpBwJ3QDZJWQGLmU9z/L5NUZ+pUcyprsz/bOwkYIV96fXt/g==", "license": "MIT", "dependencies": { - "@envelop/core": "^5.5.1", + "@envelop/core": "^5.3.0", "@envelop/instrumentation": "^1.0.0", "@graphql-tools/executor": "^1.5.0", "@graphql-tools/schema": "^10.0.11", @@ -10768,24 +12401,6 @@ "graphql": "^15.2.0 || ^16.0.0" } }, - "node_modules/graphql-yoga/node_modules/@graphql-tools/utils": { - "version": "10.11.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.11.0.tgz", - "integrity": "sha512-iBFR9GXIs0gCD+yc3hoNswViL1O5josI33dUqiNStFI/MHLCEPduasceAcazRH77YONKNiviHBV8f7OgcT4o2Q==", - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/graphql-yoga/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -10806,13 +12421,13 @@ } }, "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/has-property-descriptors": { @@ -11075,6 +12690,23 @@ "tslib": "^2.0.3" } }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -11093,9 +12725,9 @@ "license": "MIT" }, "node_modules/hono": { - "version": "4.12.15", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.15.tgz", - "integrity": "sha512-qM0jDhFEaCBb4TxoW7f53Qrpv9RBiayUHo0S52JudprkhvpjIrGoU1mnnr29Fvd1U335ZFPZQY1wlkqgfGXyLg==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.3.tgz", + "integrity": "sha512-SFsVSjp8sj5UumXOOFlkZOG6XS9SJDKw0TbwFeV+AJ8xlST8kxK5Z/5EYa111UY8732lK2S/xB653ceuaoGwpg==", "dev": true, "license": "MIT", "engines": { @@ -11257,11 +12889,14 @@ } }, "node_modules/immutable": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", - "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.8.0" + } }, "node_modules/import-fresh": { "version": "3.3.1", @@ -11280,16 +12915,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/import-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz", @@ -11362,14 +12987,16 @@ } }, "node_modules/intl-messageformat": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-11.2.2.tgz", - "integrity": "sha512-yUfyIkPGqMvvk2onw2xBJeLsjXdiYUYebR8mmZVQYBuZUJsFGVht48Ftm1khgu8EZ0n+izX4rAEj3fLAilkh9g==", + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-11.1.2.tgz", + "integrity": "sha512-ucSrQmZGAxfiBHfBRXW/k7UC8MaGFlEj4Ry1tKiDcmgwQm1y3EDl40u+4VNHYomxJQMJi9NEI3riDRlth96jKg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@formatjs/fast-memoize": "3.1.2", - "@formatjs/icu-messageformat-parser": "3.5.5" + "@formatjs/ecma402-abstract": "3.1.1", + "@formatjs/fast-memoize": "3.1.0", + "@formatjs/icu-messageformat-parser": "3.5.1", + "tslib": "^2.8.1" } }, "node_modules/invariant": { @@ -11383,9 +13010,9 @@ } }, "node_modules/ip-address": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", - "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", + "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", "dev": true, "license": "MIT", "engines": { @@ -11441,6 +13068,23 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -11519,6 +13163,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -12060,6 +13714,24 @@ "dev": true, "license": "MIT" }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/jiti": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", @@ -12071,28 +13743,28 @@ } }, "node_modules/joi": { - "version": "17.13.3", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", - "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-18.0.2.tgz", + "integrity": "sha512-RuCOQMIt78LWnktPoeBL0GErkNaJPTBGcYuyaBvUOQSpcpcLfWrHPPihYdOGbV5pam9VTWbeoF7TsGiHugcjGA==", + "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" + "@hapi/address": "^5.1.1", + "@hapi/formula": "^3.0.2", + "@hapi/hoek": "^11.0.7", + "@hapi/pinpoint": "^2.0.1", + "@hapi/tlds": "^1.1.1", + "@hapi/topo": "^6.0.2", + "@standard-schema/spec": "^1.0.0" + }, + "engines": { + "node": ">= 20" } }, - "node_modules/joi/node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "license": "BSD-3-Clause" - }, "node_modules/jose": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.2.tgz", - "integrity": "sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", + "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/panva" @@ -12270,9 +13942,9 @@ } }, "node_modules/jsonfile": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", - "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, "license": "MIT", "dependencies": { @@ -12305,8 +13977,8 @@ "version": "9.0.3", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", - "dev": true, "license": "MIT", + "peer": true, "dependencies": { "jws": "^4.0.1", "lodash.includes": "^4.3.0", @@ -12355,6 +14027,22 @@ "extsprintf": "^1.2.0" } }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, "node_modules/jwa": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", @@ -12386,6 +14074,36 @@ "json-buffer": "3.0.1" } }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "> 0.8" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -12438,9 +14156,9 @@ "license": "MIT" }, "node_modules/lightningcss": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", - "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", + "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", "dev": true, "license": "MPL-2.0", "dependencies": { @@ -12454,23 +14172,23 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-android-arm64": "1.32.0", - "lightningcss-darwin-arm64": "1.32.0", - "lightningcss-darwin-x64": "1.32.0", - "lightningcss-freebsd-x64": "1.32.0", - "lightningcss-linux-arm-gnueabihf": "1.32.0", - "lightningcss-linux-arm64-gnu": "1.32.0", - "lightningcss-linux-arm64-musl": "1.32.0", - "lightningcss-linux-x64-gnu": "1.32.0", - "lightningcss-linux-x64-musl": "1.32.0", - "lightningcss-win32-arm64-msvc": "1.32.0", - "lightningcss-win32-x64-msvc": "1.32.0" + "lightningcss-android-arm64": "1.31.1", + "lightningcss-darwin-arm64": "1.31.1", + "lightningcss-darwin-x64": "1.31.1", + "lightningcss-freebsd-x64": "1.31.1", + "lightningcss-linux-arm-gnueabihf": "1.31.1", + "lightningcss-linux-arm64-gnu": "1.31.1", + "lightningcss-linux-arm64-musl": "1.31.1", + "lightningcss-linux-x64-gnu": "1.31.1", + "lightningcss-linux-x64-musl": "1.31.1", + "lightningcss-win32-arm64-msvc": "1.31.1", + "lightningcss-win32-x64-msvc": "1.31.1" } }, "node_modules/lightningcss-android-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", - "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", + "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", "cpu": [ "arm64" ], @@ -12489,9 +14207,9 @@ } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", - "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", + "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", "cpu": [ "arm64" ], @@ -12510,9 +14228,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", - "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", + "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", "cpu": [ "x64" ], @@ -12531,9 +14249,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", - "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", + "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", "cpu": [ "x64" ], @@ -12552,9 +14270,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", - "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", + "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", "cpu": [ "arm" ], @@ -12573,9 +14291,9 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", - "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", + "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", "cpu": [ "arm64" ], @@ -12594,9 +14312,9 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", - "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", + "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", "cpu": [ "arm64" ], @@ -12615,9 +14333,9 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", - "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", + "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", "cpu": [ "x64" ], @@ -12636,9 +14354,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", - "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", + "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", "cpu": [ "x64" ], @@ -12657,9 +14375,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", - "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", + "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", "cpu": [ "arm64" ], @@ -12678,9 +14396,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", - "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", + "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", "cpu": [ "x64" ], @@ -12874,16 +14592,16 @@ } }, "node_modules/lodash": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", - "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "dev": true, "license": "MIT" }, "node_modules/lodash-es": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", - "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", "dev": true, "license": "MIT" }, @@ -12891,15 +14609,15 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.isequal": { "version": "4.5.0", @@ -12913,27 +14631,34 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT", + "peer": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, "license": "MIT" }, @@ -12941,7 +14666,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true, "license": "MIT" }, "node_modules/lodash.sortby": { @@ -12968,82 +14692,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/log-update": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", @@ -13120,24 +14768,7 @@ "dev": true, "license": "MIT", "dependencies": { - "mimic-function": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" + "mimic-function": "^5.0.0" }, "engines": { "node": ">=18" @@ -13146,21 +14777,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", - "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "node_modules/log-update/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" }, "engines": { "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/log-update/node_modules/string-width": { @@ -13270,9 +14901,9 @@ } }, "node_modules/lucide-react": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.11.0.tgz", - "integrity": "sha512-UOhjdztXCgdBReRcIhsvz2siIBogfv/lhJEIViCpLt924dO+GDms9T7DNoucI23s6kEPpe988m5N0D2ajnzb2g==", + "version": "0.563.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.563.0.tgz", + "integrity": "sha512-8dXPB2GI4dI8jV4MgUDGBeLdGk8ekfqVZ0BdLcrRzocGgG75ltNEmWS+gE7uokKF/0oSUuczNDT+g9hFJ23FkA==", "dev": true, "license": "ISC", "peerDependencies": { @@ -13344,6 +14975,12 @@ "node": ">=0.10.0" } }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", + "dev": true + }, "node_modules/markdown-it": { "version": "14.1.1", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", @@ -13773,15 +15410,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/micro-packed/node_modules/@scure/base": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-2.0.0.tgz", - "integrity": "sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==", - "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/micromark": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", @@ -14388,9 +16016,9 @@ } }, "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", "engines": { @@ -14475,19 +16103,16 @@ "license": "ISC" }, "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "ISC", "dependencies": { - "brace-expansion": "^5.0.5" + "brace-expansion": "^1.1.7" }, "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, "node_modules/minimist": { @@ -14500,9 +16125,9 @@ } }, "node_modules/minio": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/minio/-/minio-8.0.7.tgz", - "integrity": "sha512-E737MgufW8CeQAsTAtnEMrxZ9scMSf29kkhZoXzDTKj/Jszzo2SfeZUH9wbDQH2Rsq6TCtl/yQL0+XdVKZansQ==", + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/minio/-/minio-8.0.6.tgz", + "integrity": "sha512-sOeh2/b/XprRmEtYsnNRFtOqNRTPDvYtMWh+spWlfsuCV/+IdxNeKVUMKLqI7b5Dr07ZqCPuaRGU/rB9pZYVdQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -14511,13 +16136,14 @@ "browser-or-node": "^2.1.1", "buffer-crc32": "^1.0.0", "eventemitter3": "^5.0.1", - "fast-xml-parser": "^5.3.4", + "fast-xml-parser": "^4.4.1", "ipaddr.js": "^2.0.1", "lodash": "^4.17.21", "mime-types": "^2.1.35", "query-string": "^7.1.3", "stream-json": "^1.8.0", "through2": "^4.0.2", + "web-encoding": "^1.1.5", "xml2js": "^0.5.0 || ^0.6.2" }, "engines": { @@ -14586,13 +16212,13 @@ } }, "node_modules/mongodb": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.2.0.tgz", - "integrity": "sha512-F/2+BMZtLVhY30ioZp0dAmZ+IRZMBqI+nrv6t5+9/1AIwCa8sMRC3jBf81lpxMhnZgqq8CoUD503Z1oZWq1/sw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.1.0.tgz", + "integrity": "sha512-kMfnKunbolQYwCIyrkxNJFB4Ypy91pYqua5NargS/f8ODNSJxT03ZU3n1JqL4mCzbSih8tvmMEMLpKTT7x5gCg==", "license": "Apache-2.0", "dependencies": { "@mongodb-js/saslprep": "^1.3.0", - "bson": "^7.2.0", + "bson": "^7.1.1", "mongodb-connection-string-url": "^7.0.0" }, "engines": { @@ -14690,9 +16316,9 @@ "license": "MIT" }, "node_modules/multer": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-2.1.1.tgz", - "integrity": "sha512-mo+QTzKlx8R7E5ylSXxWzGoXoZbOsRMpyitcht8By2KHvMbf3tjwosZ/Mu/XYU6UuJ3VZnODIrak5ZrPiPyB6A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multer/-/multer-2.1.0.tgz", + "integrity": "sha512-TBm6j41rxNohqawsxlsWsNNh/VdV4QFXcBvRcPhXaA05EZ79z0qJ2bQFpync6JBoHTeNY5Q1JpG7AlTjdlfAEA==", "license": "MIT", "dependencies": { "append-field": "^1.0.0", @@ -14771,6 +16397,22 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -14801,15 +16443,15 @@ } }, "node_modules/next": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/next/-/next-16.2.4.tgz", - "integrity": "sha512-kPvz56wF5frc+FxlHI5qnklCzbq53HTwORaWBGdT0vNoKh1Aya9XC8aPauH4NJxqtzbWsS5mAbctm4cr+EkQ2Q==", + "version": "16.1.6", + "resolved": "https://registry.npmjs.org/next/-/next-16.1.6.tgz", + "integrity": "sha512-hkyRkcu5x/41KoqnROkfTm2pZVbKxvbZRuNvKXLRXxs3VfyO0WhY50TQS40EuKO9SW3rBj/sF3WbVwDACeMZyw==", "dev": true, "license": "MIT", "dependencies": { - "@next/env": "16.2.4", + "@next/env": "16.1.6", "@swc/helpers": "0.5.15", - "baseline-browser-mapping": "^2.9.19", + "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" @@ -14821,15 +16463,15 @@ "node": ">=20.9.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "16.2.4", - "@next/swc-darwin-x64": "16.2.4", - "@next/swc-linux-arm64-gnu": "16.2.4", - "@next/swc-linux-arm64-musl": "16.2.4", - "@next/swc-linux-x64-gnu": "16.2.4", - "@next/swc-linux-x64-musl": "16.2.4", - "@next/swc-win32-arm64-msvc": "16.2.4", - "@next/swc-win32-x64-msvc": "16.2.4", - "sharp": "^0.34.5" + "@next/swc-darwin-arm64": "16.1.6", + "@next/swc-darwin-x64": "16.1.6", + "@next/swc-linux-arm64-gnu": "16.1.6", + "@next/swc-linux-arm64-musl": "16.1.6", + "@next/swc-linux-x64-gnu": "16.1.6", + "@next/swc-linux-x64-musl": "16.1.6", + "@next/swc-win32-arm64-msvc": "16.1.6", + "@next/swc-win32-x64-msvc": "16.1.6", + "sharp": "^0.34.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -14932,46 +16574,109 @@ "node": ">=10.5.0" } }, - "node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "node_modules/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", "dev": true, "license": "MIT", "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/node-forge": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", - "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", + "node_modules/node-exports-info/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-forge": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz", + "integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==", "license": "(BSD-3-Clause OR GPL-2.0)", + "peer": true, "engines": { "node": ">= 6.13.0" } }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, "node_modules/node-releases": { - "version": "2.0.38", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", - "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "dev": true, "license": "MIT" }, "node_modules/nodemailer": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.6.tgz", - "integrity": "sha512-Nm2XeuDwwy2wi5A+8jPWwQwNzcjNjhWdE3pVLoXEusxJqCnAPAgnBGkSmiLknbnWuOF9qraRpYZjfxqtKZ4tPw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.1.tgz", + "integrity": "sha512-5kcldIXmaEjZcHR6F28IKGSgpmZHaF1IXLWFTG+Xh3S+Cce4MiakLtWY+PlBU69fLbRa8HlaGIrC/QolUpHkhg==", "license": "MIT-0", "engines": { "node": ">=6.0.0" @@ -15039,24 +16744,51 @@ "node": ">= 4" } }, - "node_modules/npm-run-all/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "node_modules/npm-run-all/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/npm-run-all/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "node_modules/npm-run-all/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "color-name": "1.1.3" } }, + "node_modules/npm-run-all/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, "node_modules/npm-run-all/node_modules/cross-spawn": { "version": "6.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", @@ -15074,17 +16806,24 @@ "node": ">=4.8" } }, - "node_modules/npm-run-all/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "node_modules/npm-run-all/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "license": "MIT", "engines": { - "node": "*" + "node": ">=0.8.0" + } + }, + "node_modules/npm-run-all/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, "node_modules/npm-run-all/node_modules/path-key": { @@ -15130,6 +16869,19 @@ "node": ">=0.10.0" } }, + "node_modules/npm-run-all/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/npm-run-all/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -15143,34 +16895,107 @@ "which": "bin/which" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -15178,29 +17003,32 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, "engines": { "node": ">= 0.4" } }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -15579,22 +17407,6 @@ "node": ">=8" } }, - "node_modules/path-expression-matcher": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.5.0.tgz", - "integrity": "sha512-cbrerZV+6rvdQrrD+iGMcZFEiiSrbv9Tfdkvnusy6y0x0GKBXREFg/Y65GhIfm0tnLntThhzCnfKwp1WRjeCyQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -15653,9 +17465,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", - "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -15663,9 +17475,9 @@ } }, "node_modules/path-to-regexp": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", - "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", "license": "MIT", "funding": { "type": "opencollective", @@ -15697,6 +17509,19 @@ "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dev": true, + "license": [ + "MIT", + "Apache2" + ], + "dependencies": { + "through": "~2.3" + } + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -15719,9 +17544,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -15903,9 +17728,9 @@ } }, "node_modules/postcss": { - "version": "8.5.12", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.12.tgz", - "integrity": "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -15999,9 +17824,9 @@ } }, "node_modules/prettier": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", - "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", "bin": { @@ -16100,16 +17925,32 @@ } }, "node_modules/proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true, "license": "MIT" }, + "node_modules/ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "event-stream": "=3.3.4" + }, + "bin": { + "ps-tree": "bin/ps-tree.js" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/pump": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", - "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "dev": true, "license": "MIT", "dependencies": { @@ -16232,48 +18073,26 @@ } }, "node_modules/react": { - "version": "19.2.5", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", - "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/react-aria": { - "version": "3.48.0", - "resolved": "https://registry.npmjs.org/react-aria/-/react-aria-3.48.0.tgz", - "integrity": "sha512-jQjd4rBEIMqecBaAKYJbVGK6EqIHLa5znVQ7jwFyK5vCyljoj6KhgtiahmcIPsG5vG5vEDLw+ba+bEWn6A2P4w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@internationalized/date": "^3.12.1", - "@internationalized/number": "^3.6.6", - "@internationalized/string": "^3.2.8", - "@react-types/shared": "^3.34.0", - "@swc/helpers": "^0.5.0", - "aria-hidden": "^1.2.3", - "clsx": "^2.0.0", - "react-stately": "3.46.0", - "use-sync-external-store": "^1.6.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" - } - }, "node_modules/react-dom": { - "version": "19.2.5", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", - "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", "dev": true, "license": "MIT", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.5" + "react": "^19.2.4" } }, "node_modules/react-fast-compare": { @@ -16284,27 +18103,38 @@ "license": "MIT" }, "node_modules/react-intl": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-10.1.3.tgz", - "integrity": "sha512-SEONkI1nbrMJ5OXhCD66YSPY8Py5VuAA1P9pLKi3pB+eYRUbt0ryF3lhue8rH/SVX2d/hvKa6C4YB/lGjophKg==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-8.1.3.tgz", + "integrity": "sha512-eL1/d+uQdnapirynOGAriW0K9uAoyarjRGL3V9LaTRuohNSvPgCfJX06EZl5M52h/Hu7Gz7A1sD7dNHcos1lNg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@formatjs/icu-messageformat-parser": "3.5.5", - "@formatjs/intl": "4.1.7", - "intl-messageformat": "11.2.2" + "@formatjs/ecma402-abstract": "3.1.1", + "@formatjs/icu-messageformat-parser": "3.5.1", + "@formatjs/intl": "4.1.2", + "@types/hoist-non-react-statics": "^3.3.1", + "hoist-non-react-statics": "^3.3.2", + "intl-messageformat": "11.1.2", + "tslib": "^2.8.1" }, "peerDependencies": { "@types/react": "19", - "react": "19" + "react": "19", + "typescript": "^5.6.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/react-is": { - "version": "19.2.5", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.5.tgz", - "integrity": "sha512-Dn0t8IQhCmeIT3wu+Apm1/YVsJXsGWi6k4sPdnBIdqMVtHtv0IGi6dcpNpNkNac0zB2uUAqNX3MHzN8c+z2rwQ==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.4.tgz", + "integrity": "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/react-markdown": { "version": "10.1.0", @@ -16377,9 +18207,9 @@ } }, "node_modules/react-toastify": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.1.0.tgz", - "integrity": "sha512-e9h23x3phN0wbFeB6yovmWp7lobzV4CaCH0LO8nVP6H7Y+3GbcLpIzMm9dJhcp1RXbpyfvjgpfXqO80QAmn7sg==", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz", + "integrity": "sha512-EpqHBGvnSTtHYhCPLxML05NLY2ZX0JURbAdNYa6BUkk+amz4wbKBQvoKQAB0ardvSarUBuY4Q4s1sluAzZwkmA==", "dev": true, "license": "MIT", "dependencies": { @@ -16443,16 +18273,16 @@ } }, "node_modules/recharts": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.8.1.tgz", - "integrity": "sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.7.0.tgz", + "integrity": "sha512-l2VCsy3XXeraxIID9fx23eCb6iCBsxUQDnE8tWm6DFdszVAO7WVY/ChAD9wVit01y6B2PMupYiMmQwhgPHc9Ew==", "dev": true, "license": "MIT", "workspaces": [ "www" ], "dependencies": { - "@reduxjs/toolkit": "^1.9.0 || 2.x.x", + "@reduxjs/toolkit": "1.x.x || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", @@ -16565,6 +18395,18 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/relay-runtime": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/relay-runtime/-/relay-runtime-12.0.0.tgz", + "integrity": "sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "fbjs": "^3.0.0", + "invariant": "^2.2.4" + } + }, "node_modules/remark-gfm": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", @@ -16706,13 +18548,12 @@ "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.12", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", - "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" @@ -16728,22 +18569,32 @@ } }, "node_modules/resolve-accept-language": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/resolve-accept-language/-/resolve-accept-language-3.2.2.tgz", - "integrity": "sha512-U+JcZDtlnqeYmdE+fgE5QXWl4fZuLAbcci3nDgXuXA8cxlvShIrV7KvU5/HgUd3mPCYqBh0C7Y1vEfC3VIqVJA==", + "version": "3.1.16", + "resolved": "https://registry.npmjs.org/resolve-accept-language/-/resolve-accept-language-3.1.16.tgz", + "integrity": "sha512-7GDKhkyvVO+MjPn2GD74EgN9IbsbfwNRk1J2+RT1ELG7hA43EcXM5mAHREXSK4YAQjddSHaeboyBMnPV53p9eg==", "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, "node_modules/ret": { @@ -16772,9 +18623,9 @@ "license": "MIT" }, "node_modules/robust-predicates": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", - "integrity": "sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", "dev": true, "license": "Unlicense" }, @@ -16881,15 +18732,15 @@ } }, "node_modules/safe-array-concat": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", - "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.9", - "call-bound": "^1.0.4", - "get-intrinsic": "^1.3.0", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, @@ -16956,9 +18807,9 @@ } }, "node_modules/safe-regex2": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.1.1.tgz", - "integrity": "sha512-mOSBvHGDZMuIEZMdOz/aCEYDCv0E7nfcNsIhUF+/P+xC7Hyf3FkvymqgPbg9D1EdSGu+uKbJgy09K/RKKc7kJA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.0.0.tgz", + "integrity": "sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==", "funding": [ { "type": "github", @@ -16972,9 +18823,6 @@ "license": "MIT", "dependencies": { "ret": "~0.5.0" - }, - "bin": { - "safe-regex2": "bin/safe-regex2.js" } }, "node_modules/safe-stable-stringify": { @@ -16993,9 +18841,9 @@ "license": "MIT" }, "node_modules/sax": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", - "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", "license": "BlueOak-1.0.0", "engines": { "node": ">=11.0.0" @@ -17173,6 +19021,13 @@ "node": ">= 0.4" } }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true, + "license": "MIT" + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -17281,13 +19136,13 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.4" + "object-inspect": "^1.13.3" }, "engines": { "node": ">= 0.4" @@ -17346,6 +19201,13 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/signedsource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/signedsource/-/signedsource-1.0.0.tgz", + "integrity": "sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/simple-oauth2": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/simple-oauth2/-/simple-oauth2-5.1.0.tgz", @@ -17358,6 +19220,40 @@ "joi": "^17.6.4" } }, + "node_modules/simple-oauth2/node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/simple-oauth2/node_modules/@hapi/topo/node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" + }, + "node_modules/simple-oauth2/node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/simple-oauth2/node_modules/joi/node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -17369,17 +19265,17 @@ } }, "node_modules/slice-ansi": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz", - "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.3", - "is-fullwidth-code-point": "^5.1.0" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" }, "engines": { - "node": ">=20" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" @@ -17494,6 +19390,19 @@ "dev": true, "license": "CC0-1.0" }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, "node_modules/split-on-first": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", @@ -17549,6 +19458,92 @@ "node": ">=0.10.0" } }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/start-server-and-test": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.1.5.tgz", + "integrity": "sha512-A/SbXpgXE25ScSkpLLqvGvVZT0ykN6+AzS8tVqMBCTxbJy2Nwuen59opT+afalK5aS+AuQmZs0EsLwjnuDN+/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "arg": "^5.0.2", + "bluebird": "3.7.2", + "check-more-types": "2.24.0", + "debug": "4.4.3", + "execa": "5.1.1", + "lazy-ass": "1.6.0", + "ps-tree": "1.2.0", + "wait-on": "9.0.4" + }, + "bin": { + "server-test": "src/bin/start.js", + "start-server-and-test": "src/bin/start.js", + "start-test": "src/bin/start.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/start-server-and-test/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/start-server-and-test/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/start-server-and-test/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/start-server-and-test/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, "node_modules/statuses": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", @@ -17579,6 +19574,16 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "~0.1.1" + } + }, "node_modules/stream-json": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/stream-json/-/stream-json-1.9.1.tgz", @@ -17598,9 +19603,9 @@ } }, "node_modules/streamx": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz", - "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==", + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", "devOptional": true, "license": "MIT", "dependencies": { @@ -17650,6 +19655,13 @@ "node": ">=8" } }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, "node_modules/string-width/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -17660,6 +19672,49 @@ "node": ">=8" } }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/string.prototype.padend": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz", @@ -17679,6 +19734,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.trim": { "version": "1.2.10", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", @@ -17786,16 +19852,29 @@ "node": ">=6" } }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/stripe": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/stripe/-/stripe-22.1.0.tgz", - "integrity": "sha512-w/xHyJGxXWnLPbNHG13sz/fae0MrFGC80Oz7YbICQymbfpqfEcsoG+6yG+9BWb81PWc4rrkeSO4wmTcmefmbLw==", + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/stripe/-/stripe-20.4.0.tgz", + "integrity": "sha512-F/aN1IQ9vHmlyLNi3DkiIbyzQb6gyBG0uYFd/VrEVQSc9BLtlgknPUx0EvzZdBMRLFuRaPFIFd7Mxwtg7Pbwzw==", "license": "MIT", "engines": { - "node": ">=18" + "node": ">=16" }, "peerDependencies": { - "@types/node": ">=18" + "@types/node": ">=16" }, "peerDependenciesMeta": { "@types/node": { @@ -17804,9 +19883,9 @@ } }, "node_modules/strnum": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.3.tgz", - "integrity": "sha512-oKx6RUCuHfT3oyVjtnrmn19H1SiCqgJSg+54XqURKp5aCMbrXrhLjRN9TjuwMjiYstZ0MzDrHqkGZ5dFTKd+zg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", "dev": true, "funding": [ { @@ -17894,16 +19973,16 @@ } }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -17958,6 +20037,25 @@ "node": ">=18" } }, + "node_modules/sync-fetch/node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, "node_modules/synckit": { "version": "0.11.12", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", @@ -17975,9 +20073,9 @@ } }, "node_modules/systeminformation": { - "version": "5.31.5", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.5.tgz", - "integrity": "sha512-5SyLdip4/3alxD4Kh+63bUQTJmu7YMfYQTC+koZy7X73HgNqZSD2P4wOZQWtUncvPvcEmnfIjCoygN4MRoEejQ==", + "version": "5.31.1", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.1.tgz", + "integrity": "sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA==", "dev": true, "license": "MIT", "os": [ @@ -18020,16 +20118,16 @@ } }, "node_modules/tailwindcss": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.4.tgz", - "integrity": "sha512-HhKppgO81FQof5m6TEnuBWCZGgfRAWbaeOaGT00KOy/Pf/j6oUihdvBpA7ltCeAvZpFhW3j0PTclkxsd4IXYDA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", + "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", "dev": true, "license": "MIT" }, "node_modules/tapable": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", - "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "dev": true, "license": "MIT", "engines": { @@ -18041,28 +20139,17 @@ } }, "node_modules/tar-stream": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", - "integrity": "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "devOptional": true, "license": "MIT", "dependencies": { "b4a": "^1.6.4", - "bare-fs": "^4.5.5", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, - "node_modules/teex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", - "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "streamx": "^2.12.5" - } - }, "node_modules/text-decoder": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", @@ -18163,14 +20250,14 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.4" + "picomatch": "^4.0.3" }, "engines": { "node": ">=12.0.0" @@ -18308,9 +20395,9 @@ } }, "node_modules/ts-api-utils": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", - "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", "dev": true, "license": "MIT", "engines": { @@ -18334,6 +20421,32 @@ "dev": true, "license": "MIT" }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -18560,17 +20673,17 @@ "license": "MIT" }, "node_modules/typedoc": { - "version": "0.28.19", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.19.tgz", - "integrity": "sha512-wKh+lhdmMFivMlc6vRRcMGXeGEHGU2g8a2CkPTJjJlwRf1iXbimWIPcFolCqe4E0d/FRtGszpIrsp3WLpDB8Pw==", + "version": "0.28.17", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.17.tgz", + "integrity": "sha512-ZkJ2G7mZrbxrKxinTQMjFqsCoYY6a5Luwv2GKbTnBCEgV2ihYm5CflA9JnJAwH0pZWavqfYxmDkFHPt4yx2oDQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@gerrit0/mini-shiki": "^3.23.0", + "@gerrit0/mini-shiki": "^3.17.0", "lunr": "^2.3.9", - "markdown-it": "^14.1.1", - "minimatch": "^10.2.5", - "yaml": "^2.8.3" + "markdown-it": "^14.1.0", + "minimatch": "^9.0.5", + "yaml": "^2.8.1" }, "bin": { "typedoc": "bin/typedoc" @@ -18580,7 +20693,33 @@ "pnpm": ">= 10" }, "peerDependencies": { - "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x" + "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x" + } + }, + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typedoc/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/typescript": { @@ -18598,16 +20737,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.0.tgz", - "integrity": "sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.56.1.tgz", + "integrity": "sha512-U4lM6pjmBX7J5wk4szltF7I1cGBHXZopnAXCMXb3+fZ3B/0Z3hq3wS/CCUB2NZBNAExK92mCU2tEohWuwVMsDQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.59.0", - "@typescript-eslint/parser": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0", - "@typescript-eslint/utils": "8.59.0" + "@typescript-eslint/eslint-plugin": "8.56.1", + "@typescript-eslint/parser": "8.56.1", + "@typescript-eslint/typescript-estree": "8.56.1", + "@typescript-eslint/utils": "8.56.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -18618,7 +20757,34 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz", + "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" } }, "node_modules/uc.micro": { @@ -18677,9 +20843,9 @@ } }, "node_modules/undici-types": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", - "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", "devOptional": true, "license": "MIT" }, @@ -18808,6 +20974,41 @@ "node": ">= 0.8" } }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, "node_modules/untildify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", @@ -18895,6 +21096,20 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -18922,9 +21137,9 @@ } }, "node_modules/validator": { - "version": "13.15.35", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.35.tgz", - "integrity": "sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==", + "version": "13.15.26", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.26.tgz", + "integrity": "sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==", "dev": true, "license": "MIT", "engines": { @@ -18944,8 +21159,8 @@ "version": "1.10.1", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", - "dev": true, "license": "MIT", + "peer": true, "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -19023,6 +21238,39 @@ "d3-timer": "^3.0.1" } }, + "node_modules/wait-on": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-9.0.4.tgz", + "integrity": "sha512-k8qrgfwrPVJXTeFY8tl6BxVHiclK11u72DVKhpybHfUL/K6KM4bdyK9EhIVYGytB5MJe/3lq4Tf0hrjM+pvJZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "axios": "^1.13.5", + "joi": "^18.0.2", + "lodash": "^4.17.23", + "minimist": "^1.2.8", + "rxjs": "^7.8.2" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/web-encoding": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", + "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "util": "^0.12.3" + }, + "optionalDependencies": { + "@zxing/text-encoding": "0.9.0" + } + }, "node_modules/web-namespaces": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", @@ -19225,42 +21473,6 @@ "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -19268,9 +21480,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", - "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", "dev": true, "license": "MIT", "engines": { @@ -19343,9 +21555,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", - "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "dev": true, "license": "ISC", "bin": { @@ -19436,13 +21648,26 @@ } }, "node_modules/zod-to-json-schema": { - "version": "3.25.2", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", - "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", + "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", "dev": true, "license": "ISC", "peerDependencies": { - "zod": "^3.25.28 || ^4" + "zod": "^3.25 || ^4" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" } }, "node_modules/zwitch": { @@ -19458,25 +21683,26 @@ }, "packages/api": { "name": "@unchainedshop/api", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/core": "^5.0.0-alpha.1", - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/roles": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1", + "@unchainedshop/core": "^4.6.0", + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/roles": "^4.6.0", + "@unchainedshop/utils": "^4.6.0", "@whatwg-node/server": "^0.10.18", "dataloader": "^2.2.3", "graphql-scalars": "^1.24.2", "jose": "^6.0.10", "mime": ">= 4 < 5", + "p-memoize": "^8.0.0", "zod": "^3.25.76 || ^4" }, "devDependencies": { "@ai-sdk/mcp": "^1.0.5", "@fastify/cookie": "^11.0.2", - "@fastify/multipart": "^10.0.0", + "@fastify/multipart": "^9.0.3", "@fastify/static": "^9.0.0", "@modelcontextprotocol/sdk": "^1.15.1", "@types/cookie-parser": "^1.4.8", @@ -19492,7 +21718,7 @@ "peerDependencies": { "@ai-sdk/mcp": "^1", "@fastify/cookie": ">= 11 < 12", - "@fastify/multipart": ">= 10 < 11", + "@fastify/multipart": ">= 9 < 10", "@fastify/static": ">= 9 < 10", "@modelcontextprotocol/sdk": ">= 1 < 2", "ai": ">= 6 < 7", @@ -19540,28 +21766,28 @@ }, "packages/core": { "name": "@unchainedshop/core", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/core-assortments": "^5.0.0-alpha.1", - "@unchainedshop/core-bookmarks": "^5.0.0-alpha.1", - "@unchainedshop/core-countries": "^5.0.0-alpha.1", - "@unchainedshop/core-currencies": "^5.0.0-alpha.1", - "@unchainedshop/core-delivery": "^5.0.0-alpha.1", - "@unchainedshop/core-enrollments": "^5.0.0-alpha.1", - "@unchainedshop/core-events": "^5.0.0-alpha.1", - "@unchainedshop/core-files": "^5.0.0-alpha.1", - "@unchainedshop/core-filters": "^5.0.0-alpha.1", - "@unchainedshop/core-languages": "^5.0.0-alpha.1", - "@unchainedshop/core-orders": "^5.0.0-alpha.1", - "@unchainedshop/core-payment": "^5.0.0-alpha.1", - "@unchainedshop/core-products": "^5.0.0-alpha.1", - "@unchainedshop/core-quotations": "^5.0.0-alpha.1", - "@unchainedshop/core-users": "^5.0.0-alpha.1", - "@unchainedshop/core-warehousing": "^5.0.0-alpha.1", - "@unchainedshop/core-worker": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1", + "@unchainedshop/core-assortments": "^4.6.0", + "@unchainedshop/core-bookmarks": "^4.6.0", + "@unchainedshop/core-countries": "^4.6.0", + "@unchainedshop/core-currencies": "^4.6.0", + "@unchainedshop/core-delivery": "^4.6.0", + "@unchainedshop/core-enrollments": "^4.6.0", + "@unchainedshop/core-events": "^4.6.0", + "@unchainedshop/core-files": "^4.6.0", + "@unchainedshop/core-filters": "^4.6.0", + "@unchainedshop/core-languages": "^4.6.0", + "@unchainedshop/core-orders": "^4.6.0", + "@unchainedshop/core-payment": "^4.6.0", + "@unchainedshop/core-products": "^4.6.0", + "@unchainedshop/core-quotations": "^4.6.0", + "@unchainedshop/core-users": "^4.6.0", + "@unchainedshop/core-warehousing": "^4.6.0", + "@unchainedshop/core-worker": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/utils": "^4.6.0", "minipass-json-stream": "^1.0.2" }, "devDependencies": { @@ -19571,12 +21797,12 @@ }, "packages/core-assortments": { "name": "@unchainedshop/core-assortments", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19585,11 +21811,11 @@ }, "packages/core-bookmarks": { "name": "@unchainedshop/core-bookmarks", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/mongodb": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/mongodb": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19598,11 +21824,11 @@ }, "packages/core-countries": { "name": "@unchainedshop/core-countries", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19611,11 +21837,11 @@ }, "packages/core-currencies": { "name": "@unchainedshop/core-currencies", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19624,13 +21850,15 @@ }, "packages/core-delivery": { "name": "@unchainedshop/core-delivery", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/mongodb": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/mongodb": "^4.6.0", + "@unchainedshop/utils": "^4.6.0", + "expiry-map": "^2.0.0", + "p-memoize": "^8.0.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19639,12 +21867,12 @@ }, "packages/core-enrollments": { "name": "@unchainedshop/core-enrollments", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19653,11 +21881,11 @@ }, "packages/core-events": { "name": "@unchainedshop/core-events", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19666,12 +21894,12 @@ }, "packages/core-files": { "name": "@unchainedshop/core-files", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19680,13 +21908,15 @@ }, "packages/core-filters": { "name": "@unchainedshop/core-filters", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/mongodb": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/mongodb": "^4.6.0", + "@unchainedshop/utils": "^4.6.0", + "expiry-map": "^2.0.0", + "p-memoize": "^8.0.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19695,11 +21925,11 @@ }, "packages/core-languages": { "name": "@unchainedshop/core-languages", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19708,13 +21938,13 @@ }, "packages/core-orders": { "name": "@unchainedshop/core-orders", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { "@kontsedal/locco": "^1.1.0", - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19723,12 +21953,14 @@ }, "packages/core-payment": { "name": "@unchainedshop/core-payment", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/utils": "^4.6.0", + "expiry-map": "^2.0.0", + "p-memoize": "^8.0.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19737,11 +21969,11 @@ }, "packages/core-products": { "name": "@unchainedshop/core-products", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19750,12 +21982,12 @@ }, "packages/core-quotations": { "name": "@unchainedshop/core-quotations", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19764,16 +21996,18 @@ }, "packages/core-users": { "name": "@unchainedshop/core-users", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { "@passwordless-id/webauthn": "^2.3.1", - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/mongodb": "^5.0.0-alpha.1", - "@unchainedshop/roles": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1", - "bcryptjs": "^3.0.2" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/mongodb": "^4.6.0", + "@unchainedshop/roles": "^4.6.0", + "@unchainedshop/utils": "^4.6.0", + "bcryptjs": "^3.0.2", + "expiry-map": "^2.0.0", + "p-memoize": "^8.0.0" }, "devDependencies": { "@noble/curves": "^2.0.0", @@ -19796,12 +22030,14 @@ }, "packages/core-warehousing": { "name": "@unchainedshop/core-warehousing", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/utils": "^4.6.0", + "expiry-map": "^2.0.0", + "p-memoize": "^8.0.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19810,11 +22046,11 @@ }, "packages/core-worker": { "name": "@unchainedshop/core-worker", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19823,10 +22059,10 @@ }, "packages/events": { "name": "@unchainedshop/events", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/logger": "^5.0.0-alpha.1" + "@unchainedshop/logger": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19835,7 +22071,7 @@ }, "packages/logger": { "name": "@unchainedshop/logger", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { "safe-stable-stringify": "^2.5.0" @@ -19847,10 +22083,10 @@ }, "packages/mongodb": { "name": "@unchainedshop/mongodb", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@types/node": "^25.0.0", @@ -19875,17 +22111,17 @@ }, "packages/platform": { "name": "@unchainedshop/platform", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/api": "^5.0.0-alpha.1", - "@unchainedshop/core": "^5.0.0-alpha.1", - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/mongodb": "^5.0.0-alpha.1", - "@unchainedshop/plugins": "^5.0.0-alpha.1", - "@unchainedshop/roles": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1", + "@unchainedshop/api": "^4.6.0", + "@unchainedshop/core": "^4.6.0", + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/mongodb": "^4.6.0", + "@unchainedshop/plugins": "^4.6.0", + "@unchainedshop/roles": "^4.6.0", + "@unchainedshop/utils": "^4.6.0", "safe-stable-stringify": "^2.5.0" }, "devDependencies": { @@ -19899,20 +22135,20 @@ }, "packages/plugins": { "name": "@unchainedshop/plugins", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/api": "^5.0.0-alpha.1", - "@unchainedshop/core-delivery": "^5.0.0-alpha.1", - "@unchainedshop/core-enrollments": "^5.0.0-alpha.1", - "@unchainedshop/core-orders": "^5.0.0-alpha.1", - "@unchainedshop/core-payment": "^5.0.0-alpha.1", - "@unchainedshop/core-products": "^5.0.0-alpha.1", - "@unchainedshop/core-warehousing": "^5.0.0-alpha.1", - "@unchainedshop/core-worker": "^5.0.0-alpha.1", - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/utils": "^5.0.0-alpha.1" + "@unchainedshop/api": "^4.6.0", + "@unchainedshop/core-delivery": "^4.6.0", + "@unchainedshop/core-enrollments": "^4.6.0", + "@unchainedshop/core-orders": "^4.6.0", + "@unchainedshop/core-payment": "^4.6.0", + "@unchainedshop/core-products": "^4.6.0", + "@unchainedshop/core-warehousing": "^4.6.0", + "@unchainedshop/core-worker": "^4.6.0", + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/utils": "^4.6.0" }, "devDependencies": { "@redis/client": "^5.6.0", @@ -19920,11 +22156,13 @@ "@scure/btc-signer": "^2.0.0", "@types/express": "^5.0.3", "@types/node": "^25.0.0", + "expiry-map": "^2.0.0", "express": "^5.1.0", "fastify": "^5.4.0", "minio": "^8.0.5", "nodemailer": "^8.0.1", - "stripe": "^22.1.0", + "p-memoize": "^8.0.0", + "stripe": "^20.0.0", "typescript": "^5.8.3", "web-push": "^3.6.7", "xml-js": "^1.6.11" @@ -19934,12 +22172,14 @@ "@redis/client": ">= 1 < 6", "@scure/bip32": ">= 2", "@scure/btc-signer": ">= 2", + "expiry-map": "2.x", "express": ">= 5 < 6", "fastify": ">= 5.2 < 6", "mime": ">= 4 < 5", "minio": "8.x", "nodemailer": ">= 6.9 < 9", - "stripe": ">= 19 < 23", + "p-memoize": "8.x", + "stripe": ">= 19 < 21", "web-push": ">= 3.6 <4", "xml-js": ">= 1.6 < 2" }, @@ -19956,6 +22196,9 @@ "@scure/btc-signer": { "optional": true }, + "expiry-map": { + "optional": true + }, "express": { "optional": true }, @@ -19968,6 +22211,9 @@ "nodemailer": { "optional": true }, + "p-memoize": { + "optional": true + }, "stripe": { "optional": true }, @@ -19981,7 +22227,7 @@ }, "packages/roles": { "name": "@unchainedshop/roles", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "devDependencies": { "@types/node": "^25.0.0", @@ -19990,7 +22236,7 @@ }, "packages/shared": { "name": "@unchainedshop/shared", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "devDependencies": { "@types/node": "^25.0.0", "typescript": "^5.8.3" @@ -19998,20 +22244,20 @@ }, "packages/ticketing": { "name": "@unchainedshop/ticketing", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/api": "^5.0.0-alpha.1", - "@unchainedshop/core": "^5.0.0-alpha.1", - "@unchainedshop/core-files": "^5.0.0-alpha.1", - "@unchainedshop/core-warehousing": "^5.0.0-alpha.1", - "@unchainedshop/core-worker": "^5.0.0-alpha.1", - "@unchainedshop/events": "^5.0.0-alpha.1", - "@unchainedshop/logger": "^5.0.0-alpha.1", - "@unchainedshop/mongodb": "^5.0.0-alpha.1" + "@unchainedshop/api": "^4.6.0", + "@unchainedshop/core": "^4.6.0", + "@unchainedshop/core-files": "^4.6.0", + "@unchainedshop/core-orders": "^4.6.0", + "@unchainedshop/core-warehousing": "^4.6.0", + "@unchainedshop/core-worker": "^4.6.0", + "@unchainedshop/events": "^4.6.0", + "@unchainedshop/logger": "^4.6.0", + "@unchainedshop/mongodb": "^4.6.0" }, "devDependencies": { - "@parse/node-apn": "^8.1.0", "@types/express": "^5.0.3", "@types/node": "^25.0.0", "express": "^5.1.0", @@ -20019,7 +22265,7 @@ "typescript": "^5.8.3" }, "peerDependencies": { - "@parse/node-apn": "^8.1.0", + "@parse/node-apn": "^7.0.1", "express": "5.x", "fastify": ">= 5.2 < 6" }, @@ -20037,11 +22283,12 @@ }, "packages/utils": { "name": "@unchainedshop/utils", - "version": "5.0.0-alpha.2", + "version": "4.7.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/logger": "^5.0.0-alpha.1", - "hashids": "^2.3.0" + "@unchainedshop/logger": "^4.6.0", + "hashids": "^2.3.0", + "resolve-accept-language": "^3.1.11" }, "devDependencies": { "@types/node": "^25.0.0", diff --git a/packages/api/src/resolvers/mutations/index.ts b/packages/api/src/resolvers/mutations/index.ts index 8e99a68762..b613e4483a 100755 --- a/packages/api/src/resolvers/mutations/index.ts +++ b/packages/api/src/resolvers/mutations/index.ts @@ -86,6 +86,7 @@ import exportToken from './warehousing/exportToken.ts'; import invalidateToken from './warehousing/invalidateToken.ts'; import cancelTicket from './warehousing/cancelTicket.ts'; import cancelEvent from './warehousing/cancelEvent.ts'; +import setEventScannerPassCode from './warehousing/setEventScannerPassCode.ts'; import setPassword from './accounts/setPassword.ts'; import setRoles from './users/setRoles.ts'; import setUsername from './accounts/setUsername.ts'; @@ -270,6 +271,7 @@ export default { invalidateToken: acl(actions.updateToken)(invalidateToken), cancelTicket: acl(actions.updateToken)(cancelTicket), cancelEvent: acl(actions.manageProducts)(cancelEvent), + setEventScannerPassCode: acl(actions.manageProducts)(setEventScannerPassCode), createFilter: acl(actions.manageFilters)(createFilter), updateFilter: acl(actions.manageFilters)(updateFilter), removeFilter: acl(actions.manageFilters)(removeFilter), diff --git a/packages/api/src/resolvers/mutations/warehousing/cancelEvent.ts b/packages/api/src/resolvers/mutations/warehousing/cancelEvent.ts index 6d3eec71b3..623c2c8dfe 100644 --- a/packages/api/src/resolvers/mutations/warehousing/cancelEvent.ts +++ b/packages/api/src/resolvers/mutations/warehousing/cancelEvent.ts @@ -1,24 +1,20 @@ import type { Context } from '../../../context.ts'; -import type { TokenSurrogate } from '@unchainedshop/core-warehousing'; import { log } from '@unchainedshop/logger'; -import { InvalidIdError, ProductNotFoundError, TicketingModuleNotFoundError } from '../../../errors.ts'; +import { ProductStatus } from '@unchainedshop/core-products'; +import { + InvalidIdError, + ProductNotFoundError, + ProductWrongStatusError, + TicketingModuleNotFoundError, +} from '../../../errors.ts'; -interface PassesModule { - cancelTicket: (tokenId: string) => Promise; -} - -interface TicketingServices { - ticketing?: { - cancelTicketsForProduct: (productId: string) => Promise; - }; -} export default async function cancelEvent( root: never, - { productId }: { productId: string }, + { productId, generateDiscount }: { productId: string; generateDiscount?: boolean }, context: Context, ) { - const { modules, services, userId } = context; + const { modules, services, userId, countryCode, currencyCode } = context; log(`mutation cancelEvent ${productId}`, { userId }); if (!productId) throw new InvalidIdError({ productId }); @@ -26,25 +22,42 @@ export default async function cancelEvent( const product = await modules.products.findProduct({ productId }); if (!product) throw new ProductNotFoundError({ productId }); - const passes = (modules as unknown as Record).passes as PassesModule | undefined; + if (product.status !== ProductStatus.ACTIVE) { + throw new ProductWrongStatusError({ productId }); + } + + const passes = (modules as unknown as Record).passes as any if (!passes?.cancelTicket) { throw new TicketingModuleNotFoundError({}); } - const ticketingServices = services as unknown as TicketingServices; - if (ticketingServices.ticketing?.cancelTicketsForProduct) { - return ticketingServices.ticketing.cancelTicketsForProduct(productId); + const ticketingServices = (services as unknown as any).ticketing; + if (!ticketingServices?.cancelTicketsForProduct) { + throw new TicketingModuleNotFoundError({}); } - // Cancel all tokens for the product - const tokensToCancel = await modules.warehousing.findTokens({ - productId, - 'meta.cancelled': null, + const result = await ticketingServices.cancelTicketsForProduct(productId, { + generateDiscount, + countryCode, + currencyCode, }); - for (const token of tokensToCancel) { - await passes.cancelTicket(token._id); + if (result.discountCodes?.length) { + await Promise.allSettled( + result.discountCodes.map(async ({ userId: ticketUserId, discountCode, amount }) => { + await modules.worker.addWork({ + type: 'MESSAGE', + input: { + template: 'EVENT_CANCELLED', + productId, + userId: ticketUserId, + discountCode, + discountAmount: amount, + }, + }); + }), + ); } - return tokensToCancel.length; + return result.cancelledCount; } diff --git a/packages/api/src/resolvers/mutations/warehousing/cancelTicket.ts b/packages/api/src/resolvers/mutations/warehousing/cancelTicket.ts index ddb300e01f..f72d7d9d44 100644 --- a/packages/api/src/resolvers/mutations/warehousing/cancelTicket.ts +++ b/packages/api/src/resolvers/mutations/warehousing/cancelTicket.ts @@ -1,5 +1,4 @@ import type { Context } from '../../../context.ts'; -import type { TokenSurrogate } from '@unchainedshop/core-warehousing'; import { log } from '@unchainedshop/logger'; import { InvalidIdError, @@ -8,17 +7,14 @@ import { TicketingModuleNotFoundError, } from '../../../errors.ts'; -interface PassesModule { - cancelTicket: (tokenId: string) => Promise; -} export default async function cancelTicket( root: never, - { tokenId }: { tokenId: string }, + { tokenId, generateDiscount = true }: { tokenId: string; generateDiscount?: boolean }, context: Context, ) { - const { modules, userId } = context; - log(`mutation cancelTicket ${tokenId}`, { userId }); + const { modules, services, userId, countryCode, currencyCode } = context; + log(`mutation cancelTicket ${tokenId}`, { userId, generateDiscount }); if (!tokenId) throw new InvalidIdError({ tokenId }); @@ -33,10 +29,34 @@ export default async function cancelTicket( throw new TokenAlreadyRedeemedError({ tokenId }); } - const passes = (modules as unknown as Record).passes as PassesModule | undefined; + const passes = (modules as unknown as Record).passes as any; if (!passes?.cancelTicket) { throw new TicketingModuleNotFoundError({}); } - return passes.cancelTicket(tokenId); + const ticketingServices = (services as unknown as any).ticketing; + if (!ticketingServices?.cancelTicketWithDiscount) { + throw new TicketingModuleNotFoundError({}); + } + + const result = await ticketingServices.cancelTicketWithDiscount(tokenId, { + generateDiscount, + countryCode, + currencyCode, + }); + + if (result.discountCode && token.userId) { + await modules.worker.addWork({ + type: 'MESSAGE', + input: { + template: 'TICKET_CANCELLED', + tokenId: token._id, + userId: token.userId, + discountCode: result.discountCode, + discountAmount: result.amount, + }, + }); + } + + return result.token; } diff --git a/packages/api/src/resolvers/mutations/warehousing/setEventScannerPassCode.ts b/packages/api/src/resolvers/mutations/warehousing/setEventScannerPassCode.ts new file mode 100644 index 0000000000..7e54fa88b5 --- /dev/null +++ b/packages/api/src/resolvers/mutations/warehousing/setEventScannerPassCode.ts @@ -0,0 +1,29 @@ +import { log } from '@unchainedshop/logger'; +import { InvalidIdError, ProductNotFoundError } from '../../../errors.ts'; +import type { Context } from '../../../context.ts'; + +export default async function setEventScannerPassCode( + root: never, + { productId, passCode }: { productId: string; passCode?: string | null }, + { modules, userId }: Context, +) { + log(`mutation setEventScannerPassCode ${productId}`, { userId }); + + if (!productId) throw new InvalidIdError({ productId }); + + const product = await modules.products.findProduct({ productId }); + if (!product) throw new ProductNotFoundError({ productId }); + + const existingMeta = (product.meta as Record) || {}; + const updatedMeta = { ...existingMeta }; + + if (passCode === null || passCode === undefined) { + delete updatedMeta.scannerPassCode; + } else { + updatedMeta.scannerPassCode = passCode; + } + + await modules.products.update(productId, { meta: updatedMeta }); + + return modules.products.findProduct({ productId }); +} diff --git a/packages/api/src/resolvers/queries/index.ts b/packages/api/src/resolvers/queries/index.ts index b1579e21d4..21ca15117d 100755 --- a/packages/api/src/resolvers/queries/index.ts +++ b/packages/api/src/resolvers/queries/index.ts @@ -66,6 +66,7 @@ import tokens from './warehousing/tokens.ts'; import tokensCount from './warehousing/tokensCount.ts'; import ticketEvents from './ticketing/ticketEvents.ts'; import ticketEventsCount from './ticketing/ticketEventsCount.ts'; +import isPassCodeValid from './ticketing/isPassCodeValid.ts'; import work from './worker/work.ts'; import workQueue from './worker/workQueue.ts'; import workStatistics from './worker/workStatistics.ts'; @@ -111,8 +112,9 @@ export default { token: acl(actions.viewToken)(token), tokens: acl(actions.viewTokens)(tokens), tokensCount: acl(actions.viewTokens)(tokensCount), - ticketEvents: acl(actions.viewTokens)(ticketEvents), - ticketEventsCount: acl(actions.viewTokens)(ticketEventsCount), + ticketEvents: acl(actions.gateControl)(ticketEvents), + ticketEventsCount: acl(actions.gateControl)(ticketEventsCount), + isPassCodeValid: acl(actions.validatePassCode)(isPassCodeValid), translatedProductTexts: acl(actions.viewTranslations)(translatedProductTexts), translatedProductMediaTexts: acl(actions.viewTranslations)(translatedProductMediaTexts), translatedProductVariationTexts: acl(actions.viewTranslations)(translatedProductVariationTexts), diff --git a/packages/api/src/resolvers/queries/ticketing/isPassCodeValid.ts b/packages/api/src/resolvers/queries/ticketing/isPassCodeValid.ts new file mode 100644 index 0000000000..387564ea4f --- /dev/null +++ b/packages/api/src/resolvers/queries/ticketing/isPassCodeValid.ts @@ -0,0 +1,28 @@ +import { log } from '@unchainedshop/logger'; +import type { Context } from '../../../context.ts'; +import { TicketingModuleNotFoundError } from '../../../errors.ts'; + +interface TicketingServices { + ticketing?: { + isPassCodeValid: (passCode: string, productId?: string) => Promise; + }; +} + +export default async function isPassCodeValid( + root: never, + { productId }: { productId?: string }, + context: Context, +) { + const { services, userId } = context; + log(`query isPassCodeValid`, { userId }); + + const passCode = context.getHeader('x-passcode') as string; + if (!passCode) return false; + + const ticketingServices = services as unknown as TicketingServices; + if (!ticketingServices.ticketing?.isPassCodeValid) { + throw new TicketingModuleNotFoundError({}); + } + + return ticketingServices.ticketing.isPassCodeValid(passCode, productId); +} diff --git a/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts b/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts index 066abb7736..32780e98c0 100644 --- a/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts +++ b/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts @@ -1,6 +1,7 @@ import { log } from '@unchainedshop/logger'; import type { SortOption } from '@unchainedshop/utils'; import type { Context } from '../../../context.ts'; +import { TicketingModuleNotFoundError } from '../../../errors.ts'; export default async function ticketEvents( root: never, @@ -17,10 +18,33 @@ export default async function ticketEvents( includeDrafts?: boolean; sort?: SortOption[]; }, - { modules, userId }: Context, + context: Context, ) { + const { modules, userId } = context; log(`query ticketEvents`, { userId }); + const passCode = context.getHeader('x-passcode') as string; + const ticketingServices = (context.services as any)?.ticketing; + + if (!userId && passCode) { + if (!ticketingServices?.productIdsForPassCode) { + throw new TicketingModuleNotFoundError({}); + } + const productIds = await ticketingServices.productIdsForPassCode(passCode); + if (!productIds.length) return []; + + const products = await modules.products.findProducts({ + type: 'TOKENIZED_PRODUCT', + queryString, + includeDrafts: false, + limit, + offset, + sort, + }); + + return products.filter((p) => productIds.includes(p._id)); + } + return modules.products.findProducts({ type: 'TOKENIZED_PRODUCT', queryString, diff --git a/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts b/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts index b26a23b812..7a9d382e4a 100644 --- a/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts +++ b/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts @@ -1,5 +1,6 @@ import { log } from '@unchainedshop/logger'; import type { Context } from '../../../context.ts'; +import { TicketingModuleNotFoundError } from '../../../errors.ts'; export default async function ticketEventsCount( root: never, @@ -10,10 +11,22 @@ export default async function ticketEventsCount( queryString?: string; includeDrafts?: boolean; }, - { modules, userId }: Context, + context: Context, ) { + const { modules, userId } = context; log(`query ticketEventsCount`, { userId }); + const passCode = context.getHeader('x-passcode') as string; + const ticketingServices = (context.services as any)?.ticketing; + + if (!userId && passCode) { + if (!ticketingServices?.productIdsForPassCode) { + throw new TicketingModuleNotFoundError({}); + } + const productIds = await ticketingServices.productIdsForPassCode(passCode); + return productIds.length; + } + return modules.products.count({ type: 'TOKENIZED_PRODUCT', contractStandard: 'ERC721', diff --git a/packages/api/src/resolvers/type/product/product-tokenized-types.ts b/packages/api/src/resolvers/type/product/product-tokenized-types.ts index 18a556db3e..64b00bfca4 100644 --- a/packages/api/src/resolvers/type/product/product-tokenized-types.ts +++ b/packages/api/src/resolvers/type/product/product-tokenized-types.ts @@ -57,18 +57,37 @@ export const TokenizedProduct = { }, async tokens(product: Product, params: never, requestContext: Context) { - await checkAction(requestContext, actions.viewTokens, [undefined, params]); + try { + await checkAction(requestContext, actions.viewTokens, [undefined, params]); + } catch { + const passCode = requestContext.getHeader('x-passcode') as string; + const ticketingServices = (requestContext.services as any)?.ticketing; + const isValid = await ticketingServices?.isPassCodeValid?.(passCode, product._id); + if (!isValid) return []; + } const tokens = await requestContext.modules.warehousing.findTokens({ productId: product._id, }); return tokens; }, async tokensCount(product: Product, params: never, requestContext: Context) { - await checkAction(requestContext, actions.viewTokens, [undefined, params]); + try { + await checkAction(requestContext, actions.viewTokens, [undefined, params]); + } catch { + const passCode = requestContext.getHeader('x-passcode') as string; + const ticketingServices = (requestContext.services as any)?.ticketing; + const isValid = await ticketingServices?.isPassCodeValid?.(passCode, product._id); + if (!isValid) return 0; + } return requestContext.modules.warehousing.tokensCount({ productId: product._id, }); }, + + async scannerPassCode(product: Product, params: never, requestContext: Context) { + await checkAction(requestContext, actions.manageProducts, [undefined, params]); + return (product.meta as Record)?.scannerPassCode || null; + }, }; delete (TokenizedProduct as any).salesUnit; diff --git a/packages/api/src/roles/all.ts b/packages/api/src/roles/all.ts index ff630a8437..990dd57016 100644 --- a/packages/api/src/roles/all.ts +++ b/packages/api/src/roles/all.ts @@ -113,6 +113,16 @@ export const all = (role, actions) => { role.allow(actions.viewOrder, () => false); role.allow(actions.viewQuotation, () => false); role.allow(actions.viewEnrollment, () => false); + const hasValidPassCode = async (_root: any, _params: any, context: Context) => { + const passCode = context.getHeader?.('x-passcode'); + if (!passCode) return false; + const ticketingServices = (context.services as any)?.ticketing; + if (!ticketingServices?.isPassCodeValid) return false; + return ticketingServices.isPassCodeValid(passCode); + }; + + role.allow(actions.validatePassCode, () => true); + role.allow(actions.gateControl, hasValidPassCode); role.allow(actions.viewTokens, () => false); role.allow(actions.viewStatistics, () => false); role.allow(actions.uploadUserAvatar, () => false); @@ -131,8 +141,23 @@ export const all = (role, actions) => { role.allow(actions.viewUserEnrollments, isInLoginMutationResponse); role.allow(actions.viewUserProductReviews, isInLoginMutationResponse); - // special case: access to token sometimes works via a X-Token-AccessKey Header and thus should also be allowed for anonymous users - role.allow(actions.updateToken, isOwnedToken); + // special case: access to token sometimes works via a X-Token-AccessKey Header or valid gate pass code + const hasValidPassCodeForToken = async (_root: any, params: any, context: Context) => { + const passCode = context.getHeader?.('x-passcode'); + if (!passCode) return false; + const ticketingServices = (context.services as any)?.ticketing; + if (!ticketingServices?.isPassCodeValid) return false; + const tokenId = params?.tokenId; + if (!tokenId) return false; + const token = await context.modules.warehousing.findToken({ tokenId }); + if (!token) return false; + return ticketingServices.isPassCodeValid(passCode, token.productId); + }; + const isOwnedTokenOrValidPassCode = async (root: any, params: any, context: Context) => { + if (await isOwnedToken(root, params, context)) return true; + return hasValidPassCodeForToken(root, params, context); + }; + role.allow(actions.updateToken, isOwnedTokenOrValidPassCode); role.allow(actions.viewToken, isOwnedToken); // special case: access to file downloads should work when meta.isPrivate is not set diff --git a/packages/api/src/roles/index.ts b/packages/api/src/roles/index.ts index 5ba7f216a1..7acebbf1e0 100644 --- a/packages/api/src/roles/index.ts +++ b/packages/api/src/roles/index.ts @@ -117,6 +117,8 @@ const actions: Record = [ 'downloadFile', 'uploadUserAvatar', 'uploadTempFile', + 'validatePassCode', + 'gateControl', ].reduce((oldValue, actionValue) => { const newValue = oldValue; newValue[actionValue] = actionValue; diff --git a/packages/api/src/roles/loggedIn.ts b/packages/api/src/roles/loggedIn.ts index 3ffcdea877..2ebfe8ebbe 100644 --- a/packages/api/src/roles/loggedIn.ts +++ b/packages/api/src/roles/loggedIn.ts @@ -275,4 +275,6 @@ export const loggedIn = (role: any, actions: Record) => { role.allow(actions.uploadTempFile, canUpdateAvatar); role.allow(actions.changePassword, () => true); role.allow(actions.logoutAllSessions, () => true); + role.allow(actions.validatePassCode, () => true); + role.allow(actions.gateControl, () => true); }; diff --git a/packages/api/src/schema/mutation.ts b/packages/api/src/schema/mutation.ts index aee784d555..4b9aa02317 100644 --- a/packages/api/src/schema/mutation.ts +++ b/packages/api/src/schema/mutation.ts @@ -860,14 +860,22 @@ export default [ """ Cancel a ticket (token). Sets the cancelled flag on the token metadata. + Optionally generates a discount code for reimbursement. """ - cancelTicket(tokenId: ID!): Token! + cancelTicket(tokenId: ID!, generateDiscount: Boolean): Token! """ Cancel all tickets for an event (tokenized product). Invalidates all non-cancelled tokens. + Optionally generates discount codes for affected users. Returns the number of tickets cancelled. """ - cancelEvent(productId: ID!): Int! + cancelEvent(productId: ID!, generateDiscount: Boolean): Int! + + """ + Set or remove the scanner pass code for gate control on a tokenized product. + Pass null to remove the pass code. + """ + setEventScannerPassCode(productId: ID!, passCode: String): Product! """ Store user W3C Push subscription object diff --git a/packages/api/src/schema/query.ts b/packages/api/src/schema/query.ts index 52963e2ee0..135111104a 100644 --- a/packages/api/src/schema/query.ts +++ b/packages/api/src/schema/query.ts @@ -243,6 +243,12 @@ export default [ """ ticketEventsCount(queryString: String, includeDrafts: Boolean = true): Int! + """ + Validates a scanner pass code for gate access. Pass code is checked via x-passcode header. + Optionally restricted to a specific product. + """ + isPassCodeValid(productId: ID): Boolean! + """ Returns total number of payment providers, optionally filtered by type """ diff --git a/packages/api/src/schema/types/product/tokenized-product.ts b/packages/api/src/schema/types/product/tokenized-product.ts index 31327b2aa8..7fd6a2400a 100644 --- a/packages/api/src/schema/types/product/tokenized-product.ts +++ b/packages/api/src/schema/types/product/tokenized-product.ts @@ -62,6 +62,7 @@ export default [ tokens: [Token!]! tokensCount: Int! isCanceled: Boolean + scannerPassCode: String @cacheControl(scope: PRIVATE, maxAge: 0) } `, ]; diff --git a/packages/core/src/factory/registerVirtualWarehousing.ts b/packages/core/src/factory/registerVirtualWarehousing.ts index 279cb39a75..d8e5e958d8 100644 --- a/packages/core/src/factory/registerVirtualWarehousing.ts +++ b/packages/core/src/factory/registerVirtualWarehousing.ts @@ -16,18 +16,18 @@ export default function registerVirtualWarehousing Promise); + | number + | (( + referenceDate: Date, + configuration: WarehousingConfiguration, + context: WarehousingContext, + ) => Promise); tokenize: ( configuration: WarehousingConfiguration, @@ -88,15 +88,15 @@ export default function registerVirtualWarehousing { MessagingDirector.registerTemplate(MessageTypes.QUOTATION_STATUS, resolveQuotationStatusTemplate); MessagingDirector.registerTemplate(MessageTypes.ENROLLMENT_STATUS, resolveEnrollmentStatusTemplate); MessagingDirector.registerTemplate(MessageTypes.ERROR_REPORT, resolveErrorReportTemplate); + MessagingDirector.registerTemplate(MessageTypes.EVENT_CANCELLED, resolveEventCancelledTemplate); + MessagingDirector.registerTemplate(MessageTypes.TICKET_CANCELLED, resolveTicketCancelledTemplate); subscribe('ORDER_CHECKOUT', async ({ payload }: RawPayloadType<{ order: Order }>) => { const { order } = payload; diff --git a/packages/platform/src/templates/resolveEventCancelledTemplate.ts b/packages/platform/src/templates/resolveEventCancelledTemplate.ts new file mode 100644 index 0000000000..a2d0d4fe34 --- /dev/null +++ b/packages/platform/src/templates/resolveEventCancelledTemplate.ts @@ -0,0 +1,69 @@ +import type { TemplateResolver } from '@unchainedshop/core'; + +const { EMAIL_FROM, EMAIL_WEBSITE_NAME = 'Unchained Shop', EMAIL_WEBSITE_URL } = process.env; + +export const resolveEventCancelledTemplate: TemplateResolver<{ + productId: string; + userId: string; + discountCode?: string; + discountAmount?: number; +}> = async ({ productId, userId, discountCode, discountAmount }, { modules }) => { + const user = await modules.users.findUserById(userId); + if (!user) return []; + + const product = await modules.products.findProduct({ productId }); + if (!product) return []; + + const recipient = + user.lastContact?.emailAddress || modules.users.primaryEmail(user)?.address; + if (!recipient) return []; + + const locale = modules.users.userLocale(user); + const productText = await modules.products.texts.findLocalizedText({ + productId, + locale, + }); + const eventTitle = productText?.title || 'Event'; + + const slot = (product as any).tokenization?.ercMetadataProperties?.slot || product.meta?.slot; + const slotText = slot + ? new Date(slot).toLocaleString(locale.baseName, { dateStyle: 'medium', timeStyle: 'short' }) + : ''; + + const location = product.meta?.location || ''; + + const eventDetails = [slotText, location].filter(Boolean).join(' at '); + + let text = `Hello + +We regret to inform you that the event "${eventTitle}"${eventDetails ? ` (${eventDetails})` : ''} has been cancelled.`; + + if (discountCode && discountAmount) { + text += ` + +As compensation, you have received a discount code worth ${(discountAmount / 100).toFixed(2)}: + + ${discountCode} + +You can use this code for future purchases.`; + } + + text += ` + +We apologize for the inconvenience. + +${EMAIL_WEBSITE_NAME}${EMAIL_WEBSITE_URL ? `\n${EMAIL_WEBSITE_URL}` : ''} +`; + + return [ + { + type: 'EMAIL', + input: { + from: `${EMAIL_WEBSITE_NAME} <${EMAIL_FROM || 'noreply@unchained.local'}>`, + to: recipient, + subject: `${eventTitle}: Event Cancelled`, + text, + }, + }, + ]; +}; diff --git a/packages/platform/src/templates/resolveTicketCancelledTemplate.ts b/packages/platform/src/templates/resolveTicketCancelledTemplate.ts new file mode 100644 index 0000000000..276675f946 --- /dev/null +++ b/packages/platform/src/templates/resolveTicketCancelledTemplate.ts @@ -0,0 +1,72 @@ +import type { TemplateResolver } from '@unchainedshop/core'; + +const { EMAIL_FROM, EMAIL_WEBSITE_NAME = 'Unchained Shop', EMAIL_WEBSITE_URL } = process.env; + +export const resolveTicketCancelledTemplate: TemplateResolver<{ + tokenId: string; + userId: string; + discountCode?: string; + discountAmount?: number; +}> = async ({ tokenId, userId, discountCode, discountAmount }, { modules }) => { + const user = await modules.users.findUserById(userId); + if (!user) return []; + + const token = await modules.warehousing.findToken({ tokenId }); + if (!token) return []; + + const product = await modules.products.findProduct({ productId: token.productId }); + if (!product) return []; + + const recipient = + user.lastContact?.emailAddress || modules.users.primaryEmail(user)?.address; + if (!recipient) return []; + + const locale = modules.users.userLocale(user); + const productText = await modules.products.texts.findLocalizedText({ + productId: token.productId, + locale, + }); + const eventTitle = productText?.title || 'Event'; + + const slot = (product as any).tokenization?.ercMetadataProperties?.slot || product.meta?.slot; + const slotText = slot + ? new Date(slot).toLocaleString(locale.baseName, { dateStyle: 'medium', timeStyle: 'short' }) + : ''; + + const location = product.meta?.location || ''; + + const eventDetails = [slotText, location].filter(Boolean).join(' at '); + + let text = `Hello + +Your ticket for "${eventTitle}"${eventDetails ? ` (${eventDetails})` : ''} has been cancelled.`; + + if (discountCode && discountAmount) { + text += ` + +As compensation, you have received a discount code worth ${(discountAmount / 100).toFixed(2)}: + + ${discountCode} + +You can use this code for future purchases.`; + } + + text += ` + +If you have any questions, please don't hesitate to contact us. + +${EMAIL_WEBSITE_NAME}${EMAIL_WEBSITE_URL ? `\n${EMAIL_WEBSITE_URL}` : ''} +`; + + return [ + { + type: 'EMAIL', + input: { + from: `${EMAIL_WEBSITE_NAME} <${EMAIL_FROM || 'noreply@unchained.local'}>`, + to: recipient, + subject: `${eventTitle}: Ticket Cancelled`, + text, + }, + }, + ]; +}; diff --git a/packages/plugins/src/pricing/discount-reimbursement-code/adapter.ts b/packages/plugins/src/pricing/discount-reimbursement-code/adapter.ts new file mode 100644 index 0000000000..bc994ba747 --- /dev/null +++ b/packages/plugins/src/pricing/discount-reimbursement-code/adapter.ts @@ -0,0 +1,89 @@ +import { + OrderDiscountAdapter, + type OrderDiscountConfiguration, + type IDiscountAdapter, +} from '@unchainedshop/core'; + +export interface PassesModule { + verifyDiscountCode: (code: string) => Promise; + discountCodeUsageBalance: (code: string) => Promise; +} + +const getPassesModule = (modules: Record): PassesModule | null => { + const passes = modules.passes as PassesModule | undefined; + if (!passes?.verifyDiscountCode || !passes?.discountCodeUsageBalance) return null; + return passes; +}; + +export const ReimbursementCode: IDiscountAdapter = { + ...OrderDiscountAdapter, + + key: 'shop.unchained.discount.reimbursement-code', + label: 'Reimbursement Code', + version: '1.0.0', + orderIndex: 2, + + isManualAdditionAllowed: async () => true, + isManualRemovalAllowed: async () => true, + + actions: async ({ context }) => { + const passes = getPassesModule(context.modules as unknown as Record); + + const discountAmount = passes ? await passes.verifyDiscountCode(context.code!) : null; + + const remainingDiscount = async (): Promise => { + if (!passes || discountAmount === null) return 0; + const used = await passes.discountCodeUsageBalance(context.code!); + const value = (discountAmount || 0) / 100; + return Math.max(0, Math.round((value - used) / value)); + }; + + const orderPositions = await context.modules.orders.positions.findOrderPositions({ + orderId: context?.order?._id as string, + }); + + const totalTickets = (orderPositions || []).reduce( + (sum, { quantity }) => sum + quantity, + 0, + ); + + return { + ...(await OrderDiscountAdapter.actions({ context })), + + reserve: async () => { + const remaining = await remainingDiscount(); + return { remainingDiscount: remaining }; + }, + + isValidForSystemTriggering: async () => false, + + isValidForCodeTriggering: async () => { + if (discountAmount === null) return false; + + const remaining = await remainingDiscount(); + const reservation = context.orderDiscount?.reservation; + + if (!remaining) { + if (reservation) return false; + throw new Error('DISCOUNT_USAGE_LIMIT_EXCEEDED'); + } + + if (reservation) { + const reservedItems = Math.max(0, Math.min(reservation.remainingDiscount, totalTickets)); + const currentItems = Math.max(0, Math.min(remaining, totalTickets)); + if (currentItems < reservedItems) return false; + } + + return true; + }, + + discountForPricingAdapterKey({ pricingAdapterKey }) { + if (pricingAdapterKey !== 'shop.unchained.pricing.order-discount') return null; + if (discountAmount === null) return null; + return { fixedRate: discountAmount }; + }, + }; + }, +}; + +export default ReimbursementCode; diff --git a/packages/plugins/src/pricing/discount-reimbursement-code/index.ts b/packages/plugins/src/pricing/discount-reimbursement-code/index.ts new file mode 100644 index 0000000000..567fcb0db8 --- /dev/null +++ b/packages/plugins/src/pricing/discount-reimbursement-code/index.ts @@ -0,0 +1,14 @@ +import { type IPlugin } from '@unchainedshop/core'; +import { ReimbursementCode } from './adapter.ts'; + +export const ReimbursementCodePlugin: IPlugin = { + key: 'shop.unchained.discount.reimbursement-code', + label: 'Reimbursement Code Discount Plugin', + version: '1.0.0', + + adapters: [ReimbursementCode], +}; + +export default ReimbursementCodePlugin; + +export { ReimbursementCode } from './adapter.ts'; diff --git a/packages/ticketing/package.json b/packages/ticketing/package.json index 18c9cbe118..0cfc9e01e5 100644 --- a/packages/ticketing/package.json +++ b/packages/ticketing/package.json @@ -37,6 +37,7 @@ "@unchainedshop/api": "^5.0.0-alpha.1", "@unchainedshop/core": "^5.0.0-alpha.1", "@unchainedshop/core-files": "^5.0.0-alpha.1", + "@unchainedshop/core-orders": "^5.0.0-alpha.1", "@unchainedshop/core-warehousing": "^5.0.0-alpha.1", "@unchainedshop/core-worker": "^5.0.0-alpha.1", "@unchainedshop/events": "^5.0.0-alpha.1", diff --git a/packages/ticketing/src/discount-codes.ts b/packages/ticketing/src/discount-codes.ts new file mode 100644 index 0000000000..6f4d18f037 --- /dev/null +++ b/packages/ticketing/src/discount-codes.ts @@ -0,0 +1,111 @@ + +export interface DiscountCodeHandlers { + generate: (amount: number) => Promise; + verify: (code: string) => Promise; +} + +const defaultDiscountCodeSecret = + '0000000000000000000000000000000000000000000000000000000000000000'; + +async function siphash24Digest(payload: Uint8Array, key: Uint8Array): Promise { + const cryptoKey = await crypto.subtle.importKey( + 'raw', + key as ArrayBufferView, + { name: 'HMAC', hash: 'SHA-256' }, + false, + ['sign'], + ); + const signature = await crypto.subtle.sign('HMAC', cryptoKey, payload as ArrayBufferView); + return new Uint8Array(signature).slice(0, 8); +} + +function toBase58(buffer: Uint8Array): string { + const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'; + let num = 0n; + for (const byte of buffer) { + num = num * 256n + BigInt(byte); + } + if (num === 0n) return ALPHABET[0]; + let result = ''; + while (num > 0n) { + result = ALPHABET[Number(num % 58n)] + result; + num = num / 58n; + } + return result; +} + +function fromBase58(str: string): Uint8Array { + const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'; + let num = 0n; + for (const char of str) { + const index = ALPHABET.indexOf(char); + if (index === -1) throw new Error(`Invalid base58 character: ${char}`); + num = num * 58n + BigInt(index); + } + const bytes: number[] = []; + while (num > 0n) { + bytes.unshift(Number(num & 0xffn)); + num = num >> 8n; + } + return new Uint8Array(bytes); +} + +export function createDefaultDiscountCodeHandlers(): DiscountCodeHandlers { + const secret = process.env.DISCOUNT_CODE_SECRET || defaultDiscountCodeSecret; + const keyBytes = new Uint8Array(secret.match(/.{1,2}/g)!.map((byte) => parseInt(byte, 16))); + + const generate = async (priceAmount: number): Promise => { + const salt = crypto.getRandomValues(new Uint16Array(1))[0]; + const priceCents = Math.floor(priceAmount / 100); + const uint16Array = new Uint16Array([priceCents, salt]); + const payloadBuffer = new Uint8Array( + uint16Array.buffer, + uint16Array.byteOffset, + uint16Array.byteLength, + ); + + const hash = await siphash24Digest(payloadBuffer, keyBytes); + const signature = toBase58(hash); + const payload = toBase58(payloadBuffer); + + return signature.replace(/(.{4})(.{4})(.*)/, `${payload}-$1-$2-$3`); + }; + + const verify = async (dashedSignature: string): Promise => { + try { + const [payload] = dashedSignature.split('-'); + const payloadBytes = fromBase58(payload); + // Ensure we have exactly 4 bytes for two uint16 values + const padded = new Uint8Array(4); + padded.set(payloadBytes.slice(0, 4)); + const uint16Array = new Uint16Array(padded.buffer); + + const priceCents = uint16Array[0]; + const salt = uint16Array[1]; + + const priceAmount = Math.floor(priceCents * 100); + const correctSignature = await generate(priceAmount); + + // Need to regenerate with same salt for comparison + const saltedUint16 = new Uint16Array([priceCents, salt]); + const saltedPayload = new Uint8Array( + saltedUint16.buffer, + saltedUint16.byteOffset, + saltedUint16.byteLength, + ); + const hash = await siphash24Digest(saltedPayload, keyBytes); + const sig = toBase58(hash); + const pay = toBase58(saltedPayload); + const expected = sig.replace(/(.{4})(.{4})(.*)/, `${pay}-$1-$2-$3`); + + if (expected === dashedSignature) { + return priceAmount; + } + } catch { + /* invalid code */ + } + return null; + }; + + return { generate, verify }; +} diff --git a/packages/ticketing/src/index.ts b/packages/ticketing/src/index.ts index a9ecf52f90..b727bd9be8 100644 --- a/packages/ticketing/src/index.ts +++ b/packages/ticketing/src/index.ts @@ -1,19 +1,20 @@ import { subscribe } from '@unchainedshop/events'; import type { RawPayloadType } from '@unchainedshop/events'; import { WorkerEventTypes, type Work } from '@unchainedshop/core-worker'; -import type { UnchainedCore } from '@unchainedshop/core'; +import { type UnchainedCore } from '@unchainedshop/core'; import { RendererTypes, registerRenderer } from './template-registry.ts'; -import ticketingModules, { type TicketingModule } from './module.ts'; +import ticketingModules, { type TicketingModule, type TicketingOptions } from './module.ts'; import setupMagicKey from './magic-key.ts'; import ticketingServices, { type TicketingServices } from './services.ts'; +import type { DiscountCodeHandlers } from './discount-codes.ts'; export type TicketingAPI = UnchainedCore & { modules: TicketingModule; services: TicketingServices; }; -export type { RendererTypes, TicketingModule, TicketingServices }; +export type { RendererTypes, TicketingModule, TicketingServices, TicketingOptions, DiscountCodeHandlers }; export { ticketingServices, ticketingModules }; @@ -52,6 +53,7 @@ export default function setupTicketing( createGoogleWalletPass, }); + if (!process.env.UNCHAINED_SECRET) throw new Error( 'Unchained Ticketing needs the UNCHAINED_SECRET environment variable to be set in order to allow magic key access to orders and tokens.', diff --git a/packages/ticketing/src/module.ts b/packages/ticketing/src/module.ts index e8d16507c2..9711f3cc3d 100644 --- a/packages/ticketing/src/module.ts +++ b/packages/ticketing/src/module.ts @@ -8,14 +8,25 @@ import type { File } from '@unchainedshop/core-files'; import { RendererTypes, getRenderer } from './template-registry.ts'; import { buildPassBinary, pushToApplePushNotificationService } from './mobile-tickets/apple-wallet.ts'; +import { + type DiscountCodeHandlers, + createDefaultDiscountCodeHandlers, +} from './discount-codes.ts'; +import { OrdersCollection, OrderStatus } from '@unchainedshop/core-orders'; export const APPLE_WALLET_PASSES_FILE_DIRECTORY = 'apple-wallet-passes'; const logger = createLogger('unchained:apple-wallet-webservice'); -const configurePasses = async ({ db }: ModuleInput>) => { +export interface TicketingOptions { + discountCode?: DiscountCodeHandlers; +} + +const configurePasses = async ({ db, options }: ModuleInput) => { + const discountCodeHandlers = options?.discountCode || createDefaultDiscountCodeHandlers(); const MediaObjects = await MediaObjectsCollection(db); const TokenSurrogates = await TokenSurrogateCollection(db); + const Orders = await OrdersCollection(db); await buildDbIndexes(MediaObjects as any, [ { index: { path: 1, 'meta.passTypeIdentifier': 1, 'meta.serialNumber': 1 } }, @@ -220,6 +231,61 @@ const configurePasses = async ({ db }: ModuleInput>) => { } return TokenSurrogates.countDocuments(selector); }; + const discountCodeUsageBalance = async (discountCode: string): Promise => { + const orders = await Orders.aggregate([ + { + $match: { + status: { + $in: [OrderStatus.CONFIRMED, OrderStatus.FULFILLED], + }, + }, + }, + { + $lookup: { + from: 'order_discounts', + localField: 'calculation.discountId', + foreignField: '_id', + as: 'discounts', + }, + }, + { + $unwind: '$discounts', + }, + { + $match: { 'discounts.code': discountCode }, + }, + { + $project: { + calculations: { + $filter: { + input: '$calculation', + as: 'calc', + cond: { + $and: [ + { $eq: ['$$calc.category', 'DISCOUNTS'] }, + { $eq: ['$$calc.discountId', '$discounts._id'] }, + ], + }, + }, + }, + }, + }, + ]).toArray(); + + return Math.round( + Math.abs( + orders.reduce((prev, { calculations }) => { + return ( + prev + + (calculations as any[]).reduce( + (p: number, { amount }: { amount: number }) => p + amount / 100, + 0, + ) + ); + }, 0), + ), + ); + }; return { upsertAppleWalletPass, @@ -233,6 +299,9 @@ const configurePasses = async ({ db }: ModuleInput>) => { cancelTicket, isTicketCancelled, getTicketsCreated, + generateDiscountCode: discountCodeHandlers.generate, + verifyDiscountCode: discountCodeHandlers.verify, + discountCodeUsageBalance, }; }; diff --git a/packages/ticketing/src/services.ts b/packages/ticketing/src/services.ts index 195933c1b3..6ddb2e013b 100644 --- a/packages/ticketing/src/services.ts +++ b/packages/ticketing/src/services.ts @@ -1,10 +1,21 @@ +import { ProductType } from '@unchainedshop/core-products'; import type { TicketingModule } from './module.ts'; import type { Bound, UnchainedCore } from '@unchainedshop/core'; +interface DiscountOptions { + generateDiscount?: boolean; + countryCode?: string; + currencyCode?: string; +} + async function cancelTicketsForProduct( this: TicketingModule & UnchainedCore['modules'], productId: string, -): Promise { + options?: DiscountOptions, +): Promise<{ + cancelledCount: number; + discountCodes?: Array<{ userId: string; discountCode: string; amount: number }>; +}> { const tokensToCancel = await this.warehousing.findTokens({ productId, 'meta.cancelled': null, @@ -19,17 +30,126 @@ async function cancelTicketsForProduct( 'meta.cancelled': true, }); - return tokensToCancel.length; + let discountCodes: Array<{ userId: string; discountCode: string; amount: number }> | undefined; + + if (options?.generateDiscount && tokensToCancel.length > 0 && options.countryCode) { + const product = await this.products.findProduct({ productId }); + const price = + product && + (await this.products.prices.price(product, { + countryCode: options.countryCode, + currencyCode: options.currencyCode, + })); + + if (price?.amount) { + const userTokenCounts = tokensToCancel.reduce( + (acc, token) => { + if (token.userId) { + acc[token.userId] = (acc[token.userId] || 0) + 1; + } + return acc; + }, + {} as Record, + ); + + discountCodes = []; + for (const [userId, quantity] of Object.entries(userTokenCounts)) { + const totalAmount = price.amount * quantity; + const discountCode = await this.passes.generateDiscountCode(totalAmount); + discountCodes.push({ userId, discountCode, amount: totalAmount }); + } + } + } + + return { cancelledCount: tokensToCancel.length, discountCodes }; +} + +async function cancelTicketWithDiscount( + this: TicketingModule & UnchainedCore['modules'], + tokenId: string, + options?: DiscountOptions, +): Promise<{ token: any; discountCode?: string; amount?: number }> { + await this.warehousing.invalidateToken(tokenId); + const cancelledToken = await this.passes.cancelTicket(tokenId); + + let discountCode: string | undefined; + let amount: number | undefined; + + if (options?.generateDiscount && cancelledToken && options.countryCode) { + const product = await this.products.findProduct({ productId: cancelledToken.productId }); + const price = + product && + (await this.products.prices.price(product, { + countryCode: options.countryCode, + currencyCode: options.currencyCode, + })); + + if (price?.amount) { + amount = price.amount; + discountCode = await this.passes.generateDiscountCode(amount); + } + } + + return { token: cancelledToken, discountCode, amount }; +} + +async function isPassCodeValid( + this: TicketingModule & UnchainedCore['modules'], + passCode: string, + productId?: string, +): Promise { + if (!passCode) return false; + + const products = await this.products.findProducts({ + type: ProductType.TOKENIZED_PRODUCT, + includeDrafts: false, + }); + + const matchingProducts = productId ? products.filter((p) => p._id === productId) : products; + + return matchingProducts + .filter(Boolean) + .some( + (p) => + (p.meta as Record)?.scannerPassCode?.toLowerCase().trim() === + passCode.toLowerCase().trim(), + ); +} + +async function productIdsForPassCode( + this: TicketingModule & UnchainedCore['modules'], + passCode: string, +): Promise { + if (!passCode) return []; + + const products = await this.products.findProducts({ + type: ProductType.TOKENIZED_PRODUCT, + includeDrafts: false, + }); + + return products + .filter( + (p) => + (p.meta as Record)?.scannerPassCode?.toLowerCase().trim() === + passCode.toLowerCase().trim(), + ) + .map((p) => p._id); } export default { ticketing: { cancelTicketsForProduct, + cancelTicketWithDiscount, + isPassCodeValid, + productIdsForPassCode, }, }; export interface TicketingServices { ticketing: { cancelTicketsForProduct: Bound; + cancelTicketWithDiscount: Bound; + isPassCodeValid: Bound; + productIdsForPassCode: Bound; }; } From efe63e1380e5ddb92e867ad9f784bac912cdd1c9 Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Wed, 11 Mar 2026 23:52:46 +0300 Subject: [PATCH 05/10] Use cookie based access control for admin-ui gate control and improve access control implementation --- admin-ui/src/gql/types.ts | 84 ++++++-- .../apollo/utils/createApolloClient.ts | 15 +- .../ticketing/components/GateAttendeeList.tsx | 182 +++++++++--------- .../ticketing/components/GateControl.tsx | 110 ++++++++--- .../ticketing/components/GateEventList.tsx | 93 +++++++++ .../components/TicketEventDetail.tsx | 58 ++++-- .../modules/ticketing/hooks/useCancelEvent.ts | 14 +- .../ticketing/hooks/useCancelTicket.ts | 14 +- .../ticketing/hooks/useCheckGateCookie.ts | 32 +++ .../ticketing/hooks/useGateEventDetail.ts | 79 ++++++++ .../modules/ticketing/hooks/useGateEvents.ts | 62 ++---- .../ticketing/hooks/useIsPassCodeValid.ts | 62 +++--- admin-ui/src/pages/ticketing/gate.tsx | 31 +-- admin-ui/src/pages/tokens/TokenDetailPage.tsx | 30 ++- packages/api/src/context.ts | 26 ++- packages/api/src/express/index.ts | 3 + packages/api/src/fastify/index.ts | 3 + packages/api/src/resolvers/mutations/index.ts | 4 + .../mutations/warehousing/authenticateGate.ts | 58 ++++++ .../mutations/warehousing/cancelEvent.ts | 20 +- .../mutations/warehousing/cancelTicket.ts | 16 +- .../warehousing/deauthenticateGate.ts | 36 ++++ .../queries/ticketing/isPassCodeValid.ts | 2 +- .../queries/ticketing/ticketEvents.ts | 43 +++-- .../queries/ticketing/ticketEventsCount.ts | 36 +++- .../type/product/product-tokenized-types.ts | 4 +- packages/api/src/roles/all.ts | 10 +- packages/api/src/schema/mutation.ts | 11 ++ packages/api/src/schema/query.ts | 9 +- .../src/factory/registerVirtualWarehousing.ts | 12 +- .../resolveEventCancelledTemplate.ts | 3 +- .../resolveTicketCancelledTemplate.ts | 3 +- .../discount-reimbursement-code/adapter.ts | 5 +- packages/ticketing/src/discount-codes.ts | 5 +- packages/ticketing/src/index.ts | 9 +- packages/ticketing/src/module.ts | 5 +- packages/ticketing/src/services.ts | 50 ++++- 37 files changed, 894 insertions(+), 345 deletions(-) create mode 100644 admin-ui/src/modules/ticketing/components/GateEventList.tsx create mode 100644 admin-ui/src/modules/ticketing/hooks/useCheckGateCookie.ts create mode 100644 admin-ui/src/modules/ticketing/hooks/useGateEventDetail.ts create mode 100644 packages/api/src/resolvers/mutations/warehousing/authenticateGate.ts create mode 100644 packages/api/src/resolvers/mutations/warehousing/deauthenticateGate.ts diff --git a/admin-ui/src/gql/types.ts b/admin-ui/src/gql/types.ts index 0372758ccd..cbc57a9735 100644 --- a/admin-ui/src/gql/types.ts +++ b/admin-ui/src/gql/types.ts @@ -1035,6 +1035,11 @@ export type IMutation = { * Optional worker to identify the worker. */ allocateWork?: Maybe; + /** + * Authenticate gate control by validating a pass code and setting an HttpOnly cookie. + * Returns true if the pass code is valid. + */ + authenticateGate: Scalars['Boolean']['output']; /** * Toggle Bookmark state on a product as currently logged in user, * Does not work when multiple bookmarks with different explicit meta configurations exist. @@ -1103,6 +1108,8 @@ export type IMutation = { createWebAuthnCredentialCreationOptions?: Maybe; /** Create WebAuthn PublicKeyCredentialRequestrOptions to use for WebAuthn Login Flow */ createWebAuthnCredentialRequestOptions?: Maybe; + /** Deauthenticate gate control by clearing the gate pass code cookie. */ + deauthenticateGate: Scalars['Boolean']['output']; /** Manually mark a undelivered order as delivered */ deliverOrder: IOrder; /** @@ -1461,6 +1468,10 @@ export type IMutationAllocateWorkArgs = { worker?: InputMaybe; }; +export type IMutationAuthenticateGateArgs = { + passCode: Scalars['String']['input']; +}; + export type IMutationBookmarkArgs = { bookmarked?: InputMaybe; productId: Scalars['ID']['input']; @@ -2869,7 +2880,7 @@ export type IQuery = { /** User impersonating currently logged in user */ impersonator?: Maybe; /** - * Validates a scanner pass code for gate access. Pass code is checked via x-passcode header. + * Validates a scanner pass code for gate access. Pass code is read from the unchained_gate_passcode cookie (set via authenticateGate mutation). * Optionally restricted to a specific product. */ isPassCodeValid: Scalars['Boolean']['output']; @@ -3256,12 +3267,14 @@ export type IQueryTicketEventsArgs = { includeDrafts?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; + onlyInvalidateable?: InputMaybe; queryString?: InputMaybe; sort?: InputMaybe>; }; export type IQueryTicketEventsCountArgs = { includeDrafts?: InputMaybe; + onlyInvalidateable?: InputMaybe; queryString?: InputMaybe; }; @@ -15853,12 +15866,14 @@ export type IVerifyQuotationMutation = { export type ICancelEventMutationVariables = Exact<{ productId: Scalars['ID']['input']; + generateDiscount?: InputMaybe; }>; export type ICancelEventMutation = { cancelEvent: number }; export type ICancelTicketMutationVariables = Exact<{ tokenId: Scalars['ID']['input']; + generateDiscount?: InputMaybe; }>; export type ICancelTicketMutation = { @@ -15871,6 +15886,10 @@ export type ICancelTicketMutation = { }; }; +export type ICheckGateCookieQueryVariables = Exact<{ [key: string]: never }>; + +export type ICheckGateCookieQuery = { isPassCodeValid: boolean }; + export type ITicketEventsQueryVariables = Exact<{ queryString?: InputMaybe; limit?: InputMaybe; @@ -15938,18 +15957,19 @@ export type ITicketEventsQuery = { >; }; -export type IGateEventsQueryVariables = Exact<{ [key: string]: never }>; +export type IGateEventDetailQueryVariables = Exact<{ + productId: Scalars['ID']['input']; +}>; -export type IGateEventsQuery = { - ticketEvents: Array< - | { _id: string; status: IProductStatus } - | { _id: string; status: IProductStatus } - | { _id: string; status: IProductStatus } - | { _id: string; status: IProductStatus } +export type IGateEventDetailQuery = { + product?: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } | { isCanceled?: boolean | null; _id: string; - status: IProductStatus; texts?: { _id: string; title?: string | null; @@ -15986,14 +16006,54 @@ export type IGateEventsQuery = { } | null; }>; } + | null; +}; + +export type IGateEventsQueryVariables = Exact<{ + onlyInvalidateable: Scalars['Boolean']['input']; +}>; + +export type IGateEventsQuery = { + ticketEvents: Array< + | { _id: string; status: IProductStatus } + | { _id: string; status: IProductStatus } + | { _id: string; status: IProductStatus } + | { _id: string; status: IProductStatus } + | { + isCanceled?: boolean | null; + _id: string; + status: IProductStatus; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + contractConfiguration?: { + ercMetadataProperties?: any | null; + supply: number; + } | null; + tokens: Array<{ + _id: string; + tokenSerialNumber?: string | null; + isCanceled?: boolean | null; + invalidatedDate?: any | null; + isInvalidateable: boolean; + }>; + } >; }; -export type IIsPassCodeValidQueryVariables = Exact<{ - productId?: InputMaybe; +export type IAuthenticateGateMutationVariables = Exact<{ + passCode: Scalars['String']['input']; +}>; + +export type IAuthenticateGateMutation = { authenticateGate: boolean }; + +export type IDeauthenticateGateMutationVariables = Exact<{ + [key: string]: never; }>; -export type IIsPassCodeValidQuery = { isPassCodeValid: boolean }; +export type IDeauthenticateGateMutation = { deauthenticateGate: boolean }; export type ISetEventScannerPassCodeMutationVariables = Exact<{ productId: Scalars['ID']['input']; diff --git a/admin-ui/src/modules/apollo/utils/createApolloClient.ts b/admin-ui/src/modules/apollo/utils/createApolloClient.ts index 3137f8bb86..b0606f6ad4 100644 --- a/admin-ui/src/modules/apollo/utils/createApolloClient.ts +++ b/admin-ui/src/modules/apollo/utils/createApolloClient.ts @@ -17,7 +17,6 @@ const allowedHeaders = [ 'x-mapihttpcapability', 'x-real-ip', 'x-user-identity', - 'x-passcode', 'host', 'cookie', 'authorization', @@ -61,16 +60,6 @@ const createApolloClient = ({ includeExtensions: true, }); - const passCodeLink = new SetContextLink(() => { - if (typeof window !== 'undefined') { - const passCode = window.sessionStorage.getItem('gate-passcode'); - if (passCode) { - return { headers: { 'x-passcode': passCode } }; - } - } - return {}; - }); - const errorLink = new ErrorLink(({ error, operation }) => { if (CombinedGraphQLErrors.is(error)) { error.errors.forEach(({ message, locations, path, extensions }) => { @@ -100,9 +89,7 @@ const createApolloClient = ({ }, ssrMode: typeof window === 'undefined', - link: ApolloLink.from( - [errorLink, passCodeLink, localeLink, httpLink].filter(Boolean), - ), + link: ApolloLink.from([errorLink, localeLink, httpLink].filter(Boolean)), cache, devtools: { enabled: process.env.NODE_ENV === 'development', diff --git a/admin-ui/src/modules/ticketing/components/GateAttendeeList.tsx b/admin-ui/src/modules/ticketing/components/GateAttendeeList.tsx index 2d2cec35dc..c0a1f466eb 100644 --- a/admin-ui/src/modules/ticketing/components/GateAttendeeList.tsx +++ b/admin-ui/src/modules/ticketing/components/GateAttendeeList.tsx @@ -7,7 +7,7 @@ import useFormatDateTime from '../../common/utils/useFormatDateTime'; import formatUsername from '../../common/utils/formatUsername'; import useInvalidateTicket from '../../token/hooks/useInvalidateTicket'; -const GateAttendeeList = ({ event }) => { +const GateAttendeeList = ({ event, onRefetch }) => { const { formatMessage } = useIntl(); const { formatDateTime } = useFormatDateTime(); const { invalidateTicket } = useInvalidateTicket(); @@ -26,6 +26,7 @@ const GateAttendeeList = ({ event }) => { defaultMessage: 'Ticket redeemed successfully', }), ); + onRefetch?.(); } catch (e) { toast.error( formatMessage({ @@ -38,12 +39,9 @@ const GateAttendeeList = ({ event }) => { }, []); return ( -
+
-

- {event?.texts?.title} -

{slot && (

{formatDateTime(slot, { @@ -75,103 +73,105 @@ const GateAttendeeList = ({ event }) => { })}

) : ( - - - - {formatMessage({ - id: 'ticket_number', - defaultMessage: 'Ticket #', - })} - - - {formatMessage({ - id: 'attendee', - defaultMessage: 'Attendee', - })} - - - {formatMessage({ - id: 'email', - defaultMessage: 'E-Mail', - })} - - - {formatMessage({ - id: 'status', - defaultMessage: 'Status', - })} - - - {formatMessage({ - id: 'actions', - defaultMessage: 'Actions', - })} - - - {activeTokens.map((token) => ( - +
+
+ - - {token.tokenSerialNumber || token._id?.slice(-8)} - + {formatMessage({ + id: 'ticket_number', + defaultMessage: 'Ticket #', + })} - - {token.user ? formatUsername(token.user) : '-'} - + {formatMessage({ + id: 'attendee', + defaultMessage: 'Attendee', + })} - - {token.user?.lastContact?.emailAddress || - token.user?.primaryEmail?.address || - '-'} - + {formatMessage({ + id: 'email', + defaultMessage: 'E-Mail', + })} - {token.invalidatedDate ? ( - - ) : ( - - )} + {formatMessage({ + id: 'status', + defaultMessage: 'Status', + })} - {!token.invalidatedDate && token.isInvalidateable && ( - - )} - {token.invalidatedDate && ( - - {formatMessage({ - id: 'gate_checked_in', - defaultMessage: 'Checked in', - })} - - )} + {formatMessage({ + id: 'actions', + defaultMessage: 'Actions', + })} - ))} -
+ {activeTokens.map((token) => ( + + + + {token.tokenSerialNumber || token._id?.slice(-8)} + + + + + {token.user ? formatUsername(token.user) : '-'} + + + + + {token.user?.lastContact?.emailAddress || + token.user?.primaryEmail?.address || + '-'} + + + + {token.invalidatedDate ? ( + + ) : ( + + )} + + + {!token.invalidatedDate && token.isInvalidateable && ( + + )} + {token.invalidatedDate && ( + + {formatMessage({ + id: 'gate_checked_in', + defaultMessage: 'Checked in', + })} + + )} + + + ))} + +
)}
); diff --git a/admin-ui/src/modules/ticketing/components/GateControl.tsx b/admin-ui/src/modules/ticketing/components/GateControl.tsx index 058cff19a9..ae0825a0a0 100644 --- a/admin-ui/src/modules/ticketing/components/GateControl.tsx +++ b/admin-ui/src/modules/ticketing/components/GateControl.tsx @@ -1,45 +1,105 @@ +import { useState } from 'react'; import { useIntl } from 'react-intl'; import Loading from '../../common/components/Loading'; import NoData from '../../common/components/NoData'; import useGateEvents from '../hooks/useGateEvents'; +import useGateEventDetail from '../hooks/useGateEventDetail'; +import useIsPassCodeValid from '../hooks/useIsPassCodeValid'; +import GateEventList from './GateEventList'; import GateAttendeeList from './GateAttendeeList'; -const GateControl = ({ onLogout }) => { +const GateControl = ({ onLogout, isAdmin = false }) => { const { formatMessage } = useIntl(); - const { todayEvents, loading } = useGateEvents(); + const { clearPassCode } = useIsPassCodeValid(); + const { events, loading: eventsLoading } = useGateEvents({ + onlyInvalidateable: !isAdmin, + }); + const [selectedEventId, setSelectedEventId] = useState(null); + const { + event: selectedEvent, + loading: detailLoading, + refetch, + } = useGateEventDetail(selectedEventId); + + const selectedEventFromList: any = selectedEventId + ? events.find((e: any) => e._id === selectedEventId) + : null; + + const title = + selectedEventFromList?.texts?.title || (selectedEvent as any)?.texts?.title; return (
-

- {formatMessage({ - id: 'gate_todays_events', - defaultMessage: "Today's Events", - })} -

- +
+ {selectedEventId && ( + + )} +

+ {selectedEventId + ? title + : formatMessage({ + id: isAdmin ? 'gate_all_events' : 'gate_active_events', + defaultMessage: isAdmin ? 'All Events' : 'Active Events', + })} +

+
+ {onLogout && ( + + )}
- {loading ? ( + {selectedEventId ? ( + detailLoading && !selectedEvent ? ( + + ) : selectedEvent ? ( + + ) : ( + + ) + ) : eventsLoading ? ( - ) : todayEvents.length ? ( - todayEvents.map((event) => ( - - )) + ) : events.length ? ( + setSelectedEventId(e._id)} + /> ) : ( )} diff --git a/admin-ui/src/modules/ticketing/components/GateEventList.tsx b/admin-ui/src/modules/ticketing/components/GateEventList.tsx new file mode 100644 index 0000000000..d5bb2db989 --- /dev/null +++ b/admin-ui/src/modules/ticketing/components/GateEventList.tsx @@ -0,0 +1,93 @@ +import { useIntl } from 'react-intl'; +import useFormatDateTime from '../../common/utils/useFormatDateTime'; +import Badge from '../../common/components/Badge'; + +const GateEventList = ({ events, onSelectEvent }) => { + const { formatMessage } = useIntl(); + const { formatDateTime } = useFormatDateTime(); + + return ( +
+ {events.map((event: any) => { + const slot = event?.contractConfiguration?.ercMetadataProperties?.slot; + const tokens = event?.tokens || []; + const activeTokens = tokens.filter((t) => !t.isCanceled); + const redeemedCount = activeTokens.filter( + (t) => t.invalidatedDate, + ).length; + const invalidateableCount = activeTokens.filter( + (t) => t.isInvalidateable && !t.invalidatedDate, + ).length; + + return ( + + ); + })} +
+ ); +}; + +export default GateEventList; diff --git a/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx b/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx index 33a10f056f..34aec13c79 100644 --- a/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx +++ b/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx @@ -35,18 +35,36 @@ const TicketEventDetail = ({ product }) => { const redeemedTokens = activeTokens.filter((t) => t.invalidatedDate); const onCancelEvent = useCallback(async () => { + let generateDiscount = false; await setModal( setModal('')} - message={formatMessage({ - id: 'cancel_event_confirmation', - defaultMessage: - 'Are you sure you want to cancel this event? All tickets will be cancelled.', - })} + message={ + <> + {formatMessage({ + id: 'cancel_event_confirmation', + defaultMessage: + 'Are you sure you want to cancel this event? All tickets will be cancelled.', + })} + + + } onOkClick={async () => { setModal(''); try { - await cancelEvent({ productId: product._id }); + await cancelEvent({ productId: product._id, generateDiscount }); toast.success( formatMessage({ id: 'event_cancelled', @@ -66,17 +84,35 @@ const TicketEventDetail = ({ product }) => { }, [product?._id]); const onCancelTicket = useCallback(async (tokenId: string) => { + let generateDiscount = false; await setModal( setModal('')} - message={formatMessage({ - id: 'cancel_ticket_confirmation', - defaultMessage: 'Are you sure you want to cancel this ticket?', - })} + message={ + <> + {formatMessage({ + id: 'cancel_ticket_confirmation', + defaultMessage: 'Are you sure you want to cancel this ticket?', + })} + + + } onOkClick={async () => { setModal(''); try { - await cancelTicket({ tokenId }); + await cancelTicket({ tokenId, generateDiscount }); toast.success( formatMessage({ id: 'ticket_cancelled', diff --git a/admin-ui/src/modules/ticketing/hooks/useCancelEvent.ts b/admin-ui/src/modules/ticketing/hooks/useCancelEvent.ts index fbe46af5aa..0f77cb9bf8 100644 --- a/admin-ui/src/modules/ticketing/hooks/useCancelEvent.ts +++ b/admin-ui/src/modules/ticketing/hooks/useCancelEvent.ts @@ -2,17 +2,23 @@ import { gql } from '@apollo/client'; import { useMutation } from '@apollo/client/react'; const CancelEventMutation = gql` - mutation CancelEvent($productId: ID!) { - cancelEvent(productId: $productId) + mutation CancelEvent($productId: ID!, $generateDiscount: Boolean) { + cancelEvent(productId: $productId, generateDiscount: $generateDiscount) } `; const useCancelEvent = () => { const [cancelEventMutation] = useMutation(CancelEventMutation); - const cancelEvent = async ({ productId }: { productId: string }) => { + const cancelEvent = async ({ + productId, + generateDiscount, + }: { + productId: string; + generateDiscount?: boolean; + }) => { const result = await cancelEventMutation({ - variables: { productId }, + variables: { productId, generateDiscount }, refetchQueries: ['Product', 'TicketEvents', 'Tokens'], }); return result; diff --git a/admin-ui/src/modules/ticketing/hooks/useCancelTicket.ts b/admin-ui/src/modules/ticketing/hooks/useCancelTicket.ts index ce505f93a8..9f462f061b 100644 --- a/admin-ui/src/modules/ticketing/hooks/useCancelTicket.ts +++ b/admin-ui/src/modules/ticketing/hooks/useCancelTicket.ts @@ -2,8 +2,8 @@ import { gql } from '@apollo/client'; import { useMutation } from '@apollo/client/react'; const CancelTicketMutation = gql` - mutation CancelTicket($tokenId: ID!) { - cancelTicket(tokenId: $tokenId) { + mutation CancelTicket($tokenId: ID!, $generateDiscount: Boolean) { + cancelTicket(tokenId: $tokenId, generateDiscount: $generateDiscount) { _id isCanceled invalidatedDate @@ -16,9 +16,15 @@ const CancelTicketMutation = gql` const useCancelTicket = () => { const [cancelTicketMutation] = useMutation(CancelTicketMutation); - const cancelTicket = async ({ tokenId }: { tokenId: string }) => { + const cancelTicket = async ({ + tokenId, + generateDiscount, + }: { + tokenId: string; + generateDiscount?: boolean; + }) => { const result = await cancelTicketMutation({ - variables: { tokenId }, + variables: { tokenId, generateDiscount }, refetchQueries: ['Product', 'TicketEvents', 'Tokens', 'Token'], }); return result; diff --git a/admin-ui/src/modules/ticketing/hooks/useCheckGateCookie.ts b/admin-ui/src/modules/ticketing/hooks/useCheckGateCookie.ts new file mode 100644 index 0000000000..afeac321f2 --- /dev/null +++ b/admin-ui/src/modules/ticketing/hooks/useCheckGateCookie.ts @@ -0,0 +1,32 @@ +import { gql } from '@apollo/client'; +import { useQuery } from '@apollo/client/react'; +import { useCurrentUser } from '../../accounts'; +import { + ICheckGateCookieQuery, + ICheckGateCookieQueryVariables, +} from '../../../gql/types'; + +const CheckGateCookieQuery = gql` + query CheckGateCookie { + isPassCodeValid + } +`; +const useCheckGateCookie = () => { + const { currentUser } = useCurrentUser(); + const isAdmin = Boolean(currentUser?._id); + const { data, loading, refetch } = useQuery< + ICheckGateCookieQuery, + ICheckGateCookieQueryVariables + >(CheckGateCookieQuery, { + fetchPolicy: 'cache-and-network', + skip: isAdmin, + }); + const authenticated = isAdmin || data?.isPassCodeValid === true; + return { + authenticated, + loading, + refetch, + }; +}; + +export default useCheckGateCookie; diff --git a/admin-ui/src/modules/ticketing/hooks/useGateEventDetail.ts b/admin-ui/src/modules/ticketing/hooks/useGateEventDetail.ts new file mode 100644 index 0000000000..b641dc87f1 --- /dev/null +++ b/admin-ui/src/modules/ticketing/hooks/useGateEventDetail.ts @@ -0,0 +1,79 @@ +import { gql } from '@apollo/client'; +import { useQuery } from '@apollo/client/react'; +import { + IGateEventDetailQuery, + IGateEventDetailQueryVariables, +} from '../../../gql/types'; + +const GateEventDetailQuery = gql` + query GateEventDetail($productId: ID!) { + product(productId: $productId) { + _id + ... on TokenizedProduct { + texts { + _id + title + subtitle + } + contractConfiguration { + ercMetadataProperties + supply + } + isCanceled + tokens { + _id + tokenSerialNumber + isCanceled + invalidatedDate + isInvalidateable + ercMetadata + user { + _id + username + isGuest + primaryEmail { + address + verified + } + avatar { + _id + url + } + profile { + displayName + address { + firstName + lastName + } + } + lastContact { + emailAddress + telNumber + } + } + } + } + } + } +`; + +const useGateEventDetail = (productId: string | null) => { + const { data, loading, error, refetch, previousData } = useQuery< + IGateEventDetailQuery, + IGateEventDetailQueryVariables + >(GateEventDetailQuery, { + variables: { productId }, + skip: !productId, + fetchPolicy: 'cache-and-network', + pollInterval: 10000, + }); + + return { + event: data?.product || previousData?.product || null, + loading, + error, + refetch, + }; +}; + +export default useGateEventDetail; diff --git a/admin-ui/src/modules/ticketing/hooks/useGateEvents.ts b/admin-ui/src/modules/ticketing/hooks/useGateEvents.ts index 14154b53e2..ce5e52f079 100644 --- a/admin-ui/src/modules/ticketing/hooks/useGateEvents.ts +++ b/admin-ui/src/modules/ticketing/hooks/useGateEvents.ts @@ -6,8 +6,12 @@ import { } from '../../../gql/types'; const GateEventsQuery = gql` - query GateEvents { - ticketEvents(limit: 100, includeDrafts: false) { + query GateEvents($onlyInvalidateable: Boolean!) { + ticketEvents( + limit: 100 + includeDrafts: false + onlyInvalidateable: $onlyInvalidateable + ) { _id status ... on TokenizedProduct { @@ -27,64 +31,32 @@ const GateEventsQuery = gql` isCanceled invalidatedDate isInvalidateable - ercMetadata - user { - _id - username - isGuest - primaryEmail { - address - verified - } - avatar { - _id - url - } - profile { - displayName - address { - firstName - lastName - } - } - lastContact { - emailAddress - telNumber - } - } } } } } `; -const isToday = (dateStr: string) => { - if (!dateStr) return false; - const today = new Date().toLocaleDateString(); - const target = new Date(dateStr).toLocaleDateString(); - return today === target; -}; - -const useGateEvents = () => { - const { data, loading, error, refetch } = useQuery< +const useGateEvents = ({ + onlyInvalidateable = false, +}: { onlyInvalidateable?: boolean } = {}) => { + const { data, loading, error, refetch, previousData } = useQuery< IGateEventsQuery, IGateEventsQueryVariables >(GateEventsQuery, { + variables: { onlyInvalidateable }, fetchPolicy: 'cache-and-network', pollInterval: 10000, }); - const allEvents = data?.ticketEvents || []; - const todayEvents = allEvents.filter( - (p: any) => - p?.tokens?.length && - !p.isCanceled && - isToday(p?.contractConfiguration?.ercMetadataProperties?.slot), - ); + const events = ( + data?.ticketEvents || + previousData?.ticketEvents || + [] + ).filter((p: any) => p?.tokens?.length && !p.isCanceled); return { - todayEvents, - allEvents, + events, loading, error, refetch, diff --git a/admin-ui/src/modules/ticketing/hooks/useIsPassCodeValid.ts b/admin-ui/src/modules/ticketing/hooks/useIsPassCodeValid.ts index e1e70ce1f6..d6ea4e66f4 100644 --- a/admin-ui/src/modules/ticketing/hooks/useIsPassCodeValid.ts +++ b/admin-ui/src/modules/ticketing/hooks/useIsPassCodeValid.ts @@ -1,45 +1,57 @@ import { gql } from '@apollo/client'; -import { useLazyQuery } from '@apollo/client/react'; +import { useMutation } from '@apollo/client/react'; import { - IIsPassCodeValidQuery, - IIsPassCodeValidQueryVariables, + IAuthenticateGateMutation, + IAuthenticateGateMutationVariables, + IDeauthenticateGateMutation, + IDeauthenticateGateMutationVariables, } from '../../../gql/types'; -const IsPassCodeValidQuery = gql` - query IsPassCodeValid($productId: ID) { - isPassCodeValid(productId: $productId) +const AuthenticateGateMutation = gql` + mutation AuthenticateGate($passCode: String!) { + authenticateGate(passCode: $passCode) + } +`; + +const DeauthenticateGateMutation = gql` + mutation DeauthenticateGate { + deauthenticateGate } `; const useIsPassCodeValid = () => { - const [checkPassCode, { data, loading, error }] = useLazyQuery< - IIsPassCodeValidQuery, - IIsPassCodeValidQueryVariables - >(IsPassCodeValidQuery, { - fetchPolicy: 'network-only', - }); + const [authenticateGate, { loading: authLoading }] = useMutation< + IAuthenticateGateMutation, + IAuthenticateGateMutationVariables + >(AuthenticateGateMutation); + const [deauthenticateGate, { loading: deauthLoading }] = useMutation< + IDeauthenticateGateMutation, + IDeauthenticateGateMutationVariables + >(DeauthenticateGateMutation); - const validatePassCode = async (passCode: string, productId?: string) => { - window.sessionStorage.setItem('gate-passcode', passCode); - const result = await checkPassCode({ - variables: { productId }, - }); - if (!result.data?.isPassCodeValid) { - window.sessionStorage.removeItem('gate-passcode'); + const validatePassCode = async (passCode: string) => { + try { + const result = await authenticateGate({ + variables: { passCode }, + }); + return result.data?.authenticateGate || false; + } catch { + return false; } - return result.data?.isPassCodeValid || false; }; - const clearPassCode = () => { - window.sessionStorage.removeItem('gate-passcode'); + const clearPassCode = async () => { + try { + await deauthenticateGate(); + } catch { + // ignore + } }; return { validatePassCode, clearPassCode, - isValid: data?.isPassCodeValid || false, - loading, - error, + loading: authLoading || deauthLoading, }; }; diff --git a/admin-ui/src/pages/ticketing/gate.tsx b/admin-ui/src/pages/ticketing/gate.tsx index 48df0c9cb0..04b1c0cc89 100644 --- a/admin-ui/src/pages/ticketing/gate.tsx +++ b/admin-ui/src/pages/ticketing/gate.tsx @@ -1,24 +1,22 @@ -import { useState, useEffect } from 'react'; import Link from 'next/link'; import { useIntl } from 'react-intl'; +import { gql } from '@apollo/client'; import useCurrentUser from '../../modules/accounts/hooks/useCurrentUser'; import GatePassCodeForm from '../../modules/ticketing/components/GatePassCodeForm'; import GateControl from '../../modules/ticketing/components/GateControl'; +import useCheckGateCookie from '../../modules/ticketing/hooks/useCheckGateCookie'; + +const CheckGateCookieQuery = gql` + query CheckGateCookie { + isPassCodeValid + } +`; const GateControlPage = () => { const { formatMessage } = useIntl(); const { currentUser } = useCurrentUser(); - const [authenticated, setAuthenticated] = useState(false); - - useEffect(() => { - const stored = window.sessionStorage.getItem('gate-passcode'); - if (stored) setAuthenticated(true); - }, []); - - const handleLogout = () => { - window.sessionStorage.removeItem('gate-passcode'); - setAuthenticated(false); - }; + const isAdmin = Boolean(currentUser?._id); + const { authenticated, loading, refetch } = useCheckGateCookie(); return (
@@ -42,9 +40,12 @@ const GateControlPage = () => {
{authenticated ? ( - - ) : ( - setAuthenticated(true)} /> + refetch() : undefined} + isAdmin={isAdmin} + /> + ) : loading ? null : ( + refetch()} /> )}
); diff --git a/admin-ui/src/pages/tokens/TokenDetailPage.tsx b/admin-ui/src/pages/tokens/TokenDetailPage.tsx index 19df83cd53..74874ad05f 100644 --- a/admin-ui/src/pages/tokens/TokenDetailPage.tsx +++ b/admin-ui/src/pages/tokens/TokenDetailPage.tsx @@ -55,18 +55,36 @@ const TokenDetailPage = ({ tokenId }) => { }, [tokenId]); const onCancelToken = useCallback(async () => { + let generateDiscount = false; await setModal( setModal('')} - message={formatMessage({ - id: 'cancel_ticket_confirmation', - defaultMessage: - 'Are you sure you want to cancel this ticket? This action cannot be undone.', - })} + message={ + <> + {formatMessage({ + id: 'cancel_ticket_confirmation', + defaultMessage: + 'Are you sure you want to cancel this ticket? This action cannot be undone.', + })} + + + } onOkClick={async () => { setModal(''); try { - await cancelTicket({ tokenId }); + await cancelTicket({ tokenId, generateDiscount }); toast.success( formatMessage({ id: 'ticket_cancelled', diff --git a/packages/api/src/context.ts b/packages/api/src/context.ts index 09a66e7af1..72d08ed982 100644 --- a/packages/api/src/context.ts +++ b/packages/api/src/context.ts @@ -40,9 +40,22 @@ export interface AdminUiConfig { defaultUserTags?: string[]; } +export interface CookieOptions { + domain?: string; + path?: string; + secure?: boolean; + httpOnly?: boolean; + sameSite?: 'strict' | 'lax' | 'none' | boolean; + maxAge?: number; + expires?: Date; +} + export interface UnchainedHTTPServerContext { setHeader: (key: string, value: string) => void; getHeader: (key: string) => string; + getCookie: (name: string) => string | undefined; + setCookie: (name: string, value: string, options: CookieOptions) => void; + clearCookie: (name: string, options: CookieOptions) => void; remoteAddress?: string; remotePort?: number; } @@ -78,6 +91,9 @@ export const createContextResolver = async ({ getHeader, setHeader, + getCookie, + setCookie, + clearCookie, remoteAddress, remotePort, userId, @@ -87,7 +103,15 @@ export const createContextResolver = login, logout, }) => { - const abstractHttpServerContext = { remoteAddress, remotePort, getHeader, setHeader }; + const abstractHttpServerContext = { + remoteAddress, + remotePort, + getHeader, + setHeader, + getCookie, + setCookie, + clearCookie, + }; const loaders = instantiateLoaders(unchainedAPI); const localeContext = await getLocaleContext(abstractHttpServerContext, unchainedAPI); diff --git a/packages/api/src/express/index.ts b/packages/api/src/express/index.ts index 07b15f4736..bb2db00eb5 100644 --- a/packages/api/src/express/index.ts +++ b/packages/api/src/express/index.ts @@ -172,6 +172,9 @@ const createAddContextMiddleware = (authConfig?: AuthConfig, trustProxy = false) { setHeader, getHeader, + getCookie, + setCookie, + clearCookie, remoteAddress, remotePort, login: authContext.login, diff --git a/packages/api/src/fastify/index.ts b/packages/api/src/fastify/index.ts index f6895c6ea2..9f714a9179 100644 --- a/packages/api/src/fastify/index.ts +++ b/packages/api/src/fastify/index.ts @@ -101,6 +101,9 @@ const createMiddlewareHook = (authConfig?: AuthConfig, trustProxy = false) => { setHeader, getHeader, + getCookie, + setCookie, + clearCookie, remoteAddress, remotePort, login: authContext.login, diff --git a/packages/api/src/resolvers/mutations/index.ts b/packages/api/src/resolvers/mutations/index.ts index b613e4483a..37ebaedf60 100755 --- a/packages/api/src/resolvers/mutations/index.ts +++ b/packages/api/src/resolvers/mutations/index.ts @@ -87,6 +87,8 @@ import invalidateToken from './warehousing/invalidateToken.ts'; import cancelTicket from './warehousing/cancelTicket.ts'; import cancelEvent from './warehousing/cancelEvent.ts'; import setEventScannerPassCode from './warehousing/setEventScannerPassCode.ts'; +import authenticateGate from './warehousing/authenticateGate.ts'; +import deauthenticateGate from './warehousing/deauthenticateGate.ts'; import setPassword from './accounts/setPassword.ts'; import setRoles from './users/setRoles.ts'; import setUsername from './accounts/setUsername.ts'; @@ -272,6 +274,8 @@ export default { cancelTicket: acl(actions.updateToken)(cancelTicket), cancelEvent: acl(actions.manageProducts)(cancelEvent), setEventScannerPassCode: acl(actions.manageProducts)(setEventScannerPassCode), + authenticateGate: acl(actions.validatePassCode)(authenticateGate), + deauthenticateGate: acl(actions.validatePassCode)(deauthenticateGate), createFilter: acl(actions.manageFilters)(createFilter), updateFilter: acl(actions.manageFilters)(updateFilter), removeFilter: acl(actions.manageFilters)(removeFilter), diff --git a/packages/api/src/resolvers/mutations/warehousing/authenticateGate.ts b/packages/api/src/resolvers/mutations/warehousing/authenticateGate.ts new file mode 100644 index 0000000000..e0c7be880b --- /dev/null +++ b/packages/api/src/resolvers/mutations/warehousing/authenticateGate.ts @@ -0,0 +1,58 @@ +import { log } from '@unchainedshop/logger'; +import type { Context } from '../../../context.ts'; +import { TicketingModuleNotFoundError } from '../../../errors.ts'; + +const { + UNCHAINED_COOKIE_PATH = '/', + UNCHAINED_COOKIE_DOMAIN, + UNCHAINED_COOKIE_SAMESITE = 'lax', + UNCHAINED_COOKIE_INSECURE, +} = process.env; + +const GATE_COOKIE_NAME = 'unchained_gate_passcode'; +const GATE_COOKIE_MAX_AGE = 24 * 60 * 60 * 1000; // 24 hours + +export default async function authenticateGate( + root: never, + { passCode }: { passCode: string }, + context: Context, +) { + const { services, userId } = context; + log(`mutation authenticateGate`, { userId }); + + if (!passCode) return false; + + const ticketingServices = services as unknown as { + ticketing?: { + isPassCodeValid: (passCode: string, productId?: string) => Promise; + }; + }; + + if (!ticketingServices.ticketing?.isPassCodeValid) { + throw new TicketingModuleNotFoundError({}); + } + + const isValid = await ticketingServices.ticketing.isPassCodeValid(passCode); + if (!isValid) return false; + + const secure = !UNCHAINED_COOKIE_INSECURE; + const sameSite = + ( + { + none: 'none', + lax: 'lax', + strict: 'strict', + } as Record + )[UNCHAINED_COOKIE_SAMESITE?.trim()?.toLowerCase()] || 'lax'; + + context.setCookie(GATE_COOKIE_NAME, passCode, { + domain: UNCHAINED_COOKIE_DOMAIN, + path: UNCHAINED_COOKIE_PATH, + secure, + httpOnly: true, + sameSite, + maxAge: GATE_COOKIE_MAX_AGE, + }); + + return true; +} diff --git a/packages/api/src/resolvers/mutations/warehousing/cancelEvent.ts b/packages/api/src/resolvers/mutations/warehousing/cancelEvent.ts index 623c2c8dfe..a49ff21f7f 100644 --- a/packages/api/src/resolvers/mutations/warehousing/cancelEvent.ts +++ b/packages/api/src/resolvers/mutations/warehousing/cancelEvent.ts @@ -8,7 +8,6 @@ import { TicketingModuleNotFoundError, } from '../../../errors.ts'; - export default async function cancelEvent( root: never, { productId, generateDiscount }: { productId: string; generateDiscount?: boolean }, @@ -26,7 +25,7 @@ export default async function cancelEvent( throw new ProductWrongStatusError({ productId }); } - const passes = (modules as unknown as Record).passes as any + const passes = (modules as unknown as Record).passes as any; if (!passes?.cancelTicket) { throw new TicketingModuleNotFoundError({}); } @@ -42,22 +41,5 @@ export default async function cancelEvent( currencyCode, }); - if (result.discountCodes?.length) { - await Promise.allSettled( - result.discountCodes.map(async ({ userId: ticketUserId, discountCode, amount }) => { - await modules.worker.addWork({ - type: 'MESSAGE', - input: { - template: 'EVENT_CANCELLED', - productId, - userId: ticketUserId, - discountCode, - discountAmount: amount, - }, - }); - }), - ); - } - return result.cancelledCount; } diff --git a/packages/api/src/resolvers/mutations/warehousing/cancelTicket.ts b/packages/api/src/resolvers/mutations/warehousing/cancelTicket.ts index f72d7d9d44..4940a93c77 100644 --- a/packages/api/src/resolvers/mutations/warehousing/cancelTicket.ts +++ b/packages/api/src/resolvers/mutations/warehousing/cancelTicket.ts @@ -7,10 +7,9 @@ import { TicketingModuleNotFoundError, } from '../../../errors.ts'; - export default async function cancelTicket( root: never, - { tokenId, generateDiscount = true }: { tokenId: string; generateDiscount?: boolean }, + { tokenId, generateDiscount }: { tokenId: string; generateDiscount?: boolean }, context: Context, ) { const { modules, services, userId, countryCode, currencyCode } = context; @@ -45,18 +44,5 @@ export default async function cancelTicket( currencyCode, }); - if (result.discountCode && token.userId) { - await modules.worker.addWork({ - type: 'MESSAGE', - input: { - template: 'TICKET_CANCELLED', - tokenId: token._id, - userId: token.userId, - discountCode: result.discountCode, - discountAmount: result.amount, - }, - }); - } - return result.token; } diff --git a/packages/api/src/resolvers/mutations/warehousing/deauthenticateGate.ts b/packages/api/src/resolvers/mutations/warehousing/deauthenticateGate.ts new file mode 100644 index 0000000000..deef278503 --- /dev/null +++ b/packages/api/src/resolvers/mutations/warehousing/deauthenticateGate.ts @@ -0,0 +1,36 @@ +import { log } from '@unchainedshop/logger'; +import type { Context } from '../../../context.ts'; + +const { + UNCHAINED_COOKIE_PATH = '/', + UNCHAINED_COOKIE_DOMAIN, + UNCHAINED_COOKIE_SAMESITE = 'lax', + UNCHAINED_COOKIE_INSECURE, +} = process.env; + +const GATE_COOKIE_NAME = 'unchained_gate_passcode'; + +export default async function deauthenticateGate(root: never, _: never, context: Context) { + const { userId } = context; + log(`mutation deauthenticateGate`, { userId }); + + const secure = !UNCHAINED_COOKIE_INSECURE; + const sameSite = + ( + { + none: 'none', + lax: 'lax', + strict: 'strict', + } as Record + )[UNCHAINED_COOKIE_SAMESITE?.trim()?.toLowerCase()] || 'lax'; + + context.clearCookie(GATE_COOKIE_NAME, { + domain: UNCHAINED_COOKIE_DOMAIN, + path: UNCHAINED_COOKIE_PATH, + secure, + httpOnly: true, + sameSite, + }); + + return true; +} diff --git a/packages/api/src/resolvers/queries/ticketing/isPassCodeValid.ts b/packages/api/src/resolvers/queries/ticketing/isPassCodeValid.ts index 387564ea4f..b7e6469975 100644 --- a/packages/api/src/resolvers/queries/ticketing/isPassCodeValid.ts +++ b/packages/api/src/resolvers/queries/ticketing/isPassCodeValid.ts @@ -16,7 +16,7 @@ export default async function isPassCodeValid( const { services, userId } = context; log(`query isPassCodeValid`, { userId }); - const passCode = context.getHeader('x-passcode') as string; + const passCode = context.getCookie('unchained_gate_passcode'); if (!passCode) return false; const ticketingServices = services as unknown as TicketingServices; diff --git a/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts b/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts index 32780e98c0..f2811e4d5f 100644 --- a/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts +++ b/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts @@ -11,21 +11,25 @@ export default async function ticketEvents( offset = 0, includeDrafts = true, sort, + onlyInvalidateable = false, }: { queryString?: string; limit: number; offset: number; includeDrafts?: boolean; sort?: SortOption[]; + onlyInvalidateable?: boolean; }, context: Context, ) { - const { modules, userId } = context; + const { modules, services, userId } = context; log(`query ticketEvents`, { userId }); - const passCode = context.getHeader('x-passcode') as string; + const passCode = context.getCookie?.('unchained_gate_passcode'); const ticketingServices = (context.services as any)?.ticketing; + let products; + if (!userId && passCode) { if (!ticketingServices?.productIdsForPassCode) { throw new TicketingModuleNotFoundError({}); @@ -33,7 +37,7 @@ export default async function ticketEvents( const productIds = await ticketingServices.productIdsForPassCode(passCode); if (!productIds.length) return []; - const products = await modules.products.findProducts({ + const allProducts = await modules.products.findProducts({ type: 'TOKENIZED_PRODUCT', queryString, includeDrafts: false, @@ -42,15 +46,30 @@ export default async function ticketEvents( sort, }); - return products.filter((p) => productIds.includes(p._id)); + products = allProducts.filter((p) => productIds.includes(p._id)); + } else { + products = await modules.products.findProducts({ + type: 'TOKENIZED_PRODUCT', + queryString, + includeDrafts, + limit, + offset, + sort, + }); } - return modules.products.findProducts({ - type: 'TOKENIZED_PRODUCT', - queryString, - includeDrafts, - limit, - offset, - sort, - }); + if (onlyInvalidateable) { + const filtered = await Promise.all( + products.map(async (product) => { + const tokens = await modules.warehousing.findTokens({ productId: product._id }); + const hasInvalidateable = await Promise.all( + tokens.map((token) => services.warehousing.isTokenInvalidateable({ token })), + ); + return hasInvalidateable.some(Boolean) ? product : null; + }), + ); + return filtered.filter(Boolean); + } + + return products; } diff --git a/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts b/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts index 7a9d382e4a..4c68d51ad6 100644 --- a/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts +++ b/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts @@ -7,16 +7,18 @@ export default async function ticketEventsCount( { queryString, includeDrafts = true, + onlyInvalidateable = false, }: { queryString?: string; includeDrafts?: boolean; + onlyInvalidateable?: boolean; }, context: Context, ) { - const { modules, userId } = context; + const { modules, services, userId } = context; log(`query ticketEventsCount`, { userId }); - const passCode = context.getHeader('x-passcode') as string; + const passCode = context.getCookie?.('unchained_gate_passcode'); const ticketingServices = (context.services as any)?.ticketing; if (!userId && passCode) { @@ -24,12 +26,38 @@ export default async function ticketEventsCount( throw new TicketingModuleNotFoundError({}); } const productIds = await ticketingServices.productIdsForPassCode(passCode); - return productIds.length; + if (!onlyInvalidateable) return productIds.length; + + let count = 0; + for (const productId of productIds) { + const tokens = await modules.warehousing.findTokens({ productId }); + const hasInvalidateable = await Promise.all( + tokens.map((token) => services.warehousing.isTokenInvalidateable({ token })), + ); + if (hasInvalidateable.some(Boolean)) count++; + } + return count; + } + + if (onlyInvalidateable) { + const products = await modules.products.findProducts({ + type: 'TOKENIZED_PRODUCT', + queryString, + includeDrafts, + }); + let count = 0; + for (const product of products) { + const tokens = await modules.warehousing.findTokens({ productId: product._id }); + const hasInvalidateable = await Promise.all( + tokens.map((token) => services.warehousing.isTokenInvalidateable({ token })), + ); + if (hasInvalidateable.some(Boolean)) count++; + } + return count; } return modules.products.count({ type: 'TOKENIZED_PRODUCT', - contractStandard: 'ERC721', queryString, includeDrafts, }); diff --git a/packages/api/src/resolvers/type/product/product-tokenized-types.ts b/packages/api/src/resolvers/type/product/product-tokenized-types.ts index 64b00bfca4..a9b59cb31a 100644 --- a/packages/api/src/resolvers/type/product/product-tokenized-types.ts +++ b/packages/api/src/resolvers/type/product/product-tokenized-types.ts @@ -60,7 +60,7 @@ export const TokenizedProduct = { try { await checkAction(requestContext, actions.viewTokens, [undefined, params]); } catch { - const passCode = requestContext.getHeader('x-passcode') as string; + const passCode = requestContext.getCookie?.('unchained_gate_passcode'); const ticketingServices = (requestContext.services as any)?.ticketing; const isValid = await ticketingServices?.isPassCodeValid?.(passCode, product._id); if (!isValid) return []; @@ -74,7 +74,7 @@ export const TokenizedProduct = { try { await checkAction(requestContext, actions.viewTokens, [undefined, params]); } catch { - const passCode = requestContext.getHeader('x-passcode') as string; + const passCode = requestContext.getCookie?.('unchained_gate_passcode'); const ticketingServices = (requestContext.services as any)?.ticketing; const isValid = await ticketingServices?.isPassCodeValid?.(passCode, product._id); if (!isValid) return 0; diff --git a/packages/api/src/roles/all.ts b/packages/api/src/roles/all.ts index 990dd57016..82e49c3d9b 100644 --- a/packages/api/src/roles/all.ts +++ b/packages/api/src/roles/all.ts @@ -114,7 +114,7 @@ export const all = (role, actions) => { role.allow(actions.viewQuotation, () => false); role.allow(actions.viewEnrollment, () => false); const hasValidPassCode = async (_root: any, _params: any, context: Context) => { - const passCode = context.getHeader?.('x-passcode'); + const passCode = context.getCookie?.('unchained_gate_passcode'); if (!passCode) return false; const ticketingServices = (context.services as any)?.ticketing; if (!ticketingServices?.isPassCodeValid) return false; @@ -137,13 +137,17 @@ export const all = (role, actions) => { role.allow(actions.viewUserOrders, isInLoginMutationResponse); role.allow(actions.viewUserTokens, isInLoginMutationResponse); role.allow(actions.viewUserQuotations, isInLoginMutationResponse); - role.allow(actions.viewUserPrivateInfos, isInLoginMutationResponse); + const isInLoginOrHasValidPassCode = async (root: any, params: any, context: Context) => { + if (isInLoginMutationResponse(root)) return true; + return hasValidPassCode(root, params, context); + }; + role.allow(actions.viewUserPrivateInfos, isInLoginOrHasValidPassCode); role.allow(actions.viewUserEnrollments, isInLoginMutationResponse); role.allow(actions.viewUserProductReviews, isInLoginMutationResponse); // special case: access to token sometimes works via a X-Token-AccessKey Header or valid gate pass code const hasValidPassCodeForToken = async (_root: any, params: any, context: Context) => { - const passCode = context.getHeader?.('x-passcode'); + const passCode = context.getCookie?.('unchained_gate_passcode'); if (!passCode) return false; const ticketingServices = (context.services as any)?.ticketing; if (!ticketingServices?.isPassCodeValid) return false; diff --git a/packages/api/src/schema/mutation.ts b/packages/api/src/schema/mutation.ts index 4b9aa02317..a97e151407 100644 --- a/packages/api/src/schema/mutation.ts +++ b/packages/api/src/schema/mutation.ts @@ -877,6 +877,17 @@ export default [ """ setEventScannerPassCode(productId: ID!, passCode: String): Product! + """ + Authenticate gate control by validating a pass code and setting an HttpOnly cookie. + Returns true if the pass code is valid. + """ + authenticateGate(passCode: String!): Boolean! + + """ + Deauthenticate gate control by clearing the gate pass code cookie. + """ + deauthenticateGate: Boolean! + """ Store user W3C Push subscription object """ diff --git a/packages/api/src/schema/query.ts b/packages/api/src/schema/query.ts index 135111104a..0f146577e4 100644 --- a/packages/api/src/schema/query.ts +++ b/packages/api/src/schema/query.ts @@ -236,15 +236,20 @@ export default [ offset: Int = 0 includeDrafts: Boolean = true sort: [SortOptionInput!] + onlyInvalidateable: Boolean = false ): [Product!]! """ Returns total number of ticket events (tokenized products) """ - ticketEventsCount(queryString: String, includeDrafts: Boolean = true): Int! + ticketEventsCount( + queryString: String + includeDrafts: Boolean = true + onlyInvalidateable: Boolean = false + ): Int! """ - Validates a scanner pass code for gate access. Pass code is checked via x-passcode header. + Validates a scanner pass code for gate access. Pass code is read from the unchained_gate_passcode cookie (set via authenticateGate mutation). Optionally restricted to a specific product. """ isPassCodeValid(productId: ID): Boolean! diff --git a/packages/core/src/factory/registerVirtualWarehousing.ts b/packages/core/src/factory/registerVirtualWarehousing.ts index d8e5e958d8..a5c604dc62 100644 --- a/packages/core/src/factory/registerVirtualWarehousing.ts +++ b/packages/core/src/factory/registerVirtualWarehousing.ts @@ -22,12 +22,12 @@ export default function registerVirtualWarehousing Promise); + | number + | (( + referenceDate: Date, + configuration: WarehousingConfiguration, + context: WarehousingContext, + ) => Promise); tokenize: ( configuration: WarehousingConfiguration, diff --git a/packages/platform/src/templates/resolveEventCancelledTemplate.ts b/packages/platform/src/templates/resolveEventCancelledTemplate.ts index a2d0d4fe34..de43e88769 100644 --- a/packages/platform/src/templates/resolveEventCancelledTemplate.ts +++ b/packages/platform/src/templates/resolveEventCancelledTemplate.ts @@ -14,8 +14,7 @@ export const resolveEventCancelledTemplate: TemplateResolver<{ const product = await modules.products.findProduct({ productId }); if (!product) return []; - const recipient = - user.lastContact?.emailAddress || modules.users.primaryEmail(user)?.address; + const recipient = user.lastContact?.emailAddress || modules.users.primaryEmail(user)?.address; if (!recipient) return []; const locale = modules.users.userLocale(user); diff --git a/packages/platform/src/templates/resolveTicketCancelledTemplate.ts b/packages/platform/src/templates/resolveTicketCancelledTemplate.ts index 276675f946..44ba89ebac 100644 --- a/packages/platform/src/templates/resolveTicketCancelledTemplate.ts +++ b/packages/platform/src/templates/resolveTicketCancelledTemplate.ts @@ -17,8 +17,7 @@ export const resolveTicketCancelledTemplate: TemplateResolver<{ const product = await modules.products.findProduct({ productId: token.productId }); if (!product) return []; - const recipient = - user.lastContact?.emailAddress || modules.users.primaryEmail(user)?.address; + const recipient = user.lastContact?.emailAddress || modules.users.primaryEmail(user)?.address; if (!recipient) return []; const locale = modules.users.userLocale(user); diff --git a/packages/plugins/src/pricing/discount-reimbursement-code/adapter.ts b/packages/plugins/src/pricing/discount-reimbursement-code/adapter.ts index bc994ba747..540654da58 100644 --- a/packages/plugins/src/pricing/discount-reimbursement-code/adapter.ts +++ b/packages/plugins/src/pricing/discount-reimbursement-code/adapter.ts @@ -42,10 +42,7 @@ export const ReimbursementCode: IDiscountAdapter = { orderId: context?.order?._id as string, }); - const totalTickets = (orderPositions || []).reduce( - (sum, { quantity }) => sum + quantity, - 0, - ); + const totalTickets = (orderPositions || []).reduce((sum, { quantity }) => sum + quantity, 0); return { ...(await OrderDiscountAdapter.actions({ context })), diff --git a/packages/ticketing/src/discount-codes.ts b/packages/ticketing/src/discount-codes.ts index 6f4d18f037..e6922987b3 100644 --- a/packages/ticketing/src/discount-codes.ts +++ b/packages/ticketing/src/discount-codes.ts @@ -1,11 +1,9 @@ - export interface DiscountCodeHandlers { generate: (amount: number) => Promise; verify: (code: string) => Promise; } -const defaultDiscountCodeSecret = - '0000000000000000000000000000000000000000000000000000000000000000'; +const defaultDiscountCodeSecret = '0000000000000000000000000000000000000000000000000000000000000000'; async function siphash24Digest(payload: Uint8Array, key: Uint8Array): Promise { const cryptoKey = await crypto.subtle.importKey( @@ -84,7 +82,6 @@ export function createDefaultDiscountCodeHandlers(): DiscountCodeHandlers { const salt = uint16Array[1]; const priceAmount = Math.floor(priceCents * 100); - const correctSignature = await generate(priceAmount); // Need to regenerate with same salt for comparison const saltedUint16 = new Uint16Array([priceCents, salt]); diff --git a/packages/ticketing/src/index.ts b/packages/ticketing/src/index.ts index b727bd9be8..7f72b1f6f6 100644 --- a/packages/ticketing/src/index.ts +++ b/packages/ticketing/src/index.ts @@ -14,7 +14,13 @@ export type TicketingAPI = UnchainedCore & { services: TicketingServices; }; -export type { RendererTypes, TicketingModule, TicketingServices, TicketingOptions, DiscountCodeHandlers }; +export type { + RendererTypes, + TicketingModule, + TicketingServices, + TicketingOptions, + DiscountCodeHandlers, +}; export { ticketingServices, ticketingModules }; @@ -53,7 +59,6 @@ export default function setupTicketing( createGoogleWalletPass, }); - if (!process.env.UNCHAINED_SECRET) throw new Error( 'Unchained Ticketing needs the UNCHAINED_SECRET environment variable to be set in order to allow magic key access to orders and tokens.', diff --git a/packages/ticketing/src/module.ts b/packages/ticketing/src/module.ts index 9711f3cc3d..a87ed84f4f 100644 --- a/packages/ticketing/src/module.ts +++ b/packages/ticketing/src/module.ts @@ -8,10 +8,7 @@ import type { File } from '@unchainedshop/core-files'; import { RendererTypes, getRenderer } from './template-registry.ts'; import { buildPassBinary, pushToApplePushNotificationService } from './mobile-tickets/apple-wallet.ts'; -import { - type DiscountCodeHandlers, - createDefaultDiscountCodeHandlers, -} from './discount-codes.ts'; +import { type DiscountCodeHandlers, createDefaultDiscountCodeHandlers } from './discount-codes.ts'; import { OrdersCollection, OrderStatus } from '@unchainedshop/core-orders'; export const APPLE_WALLET_PASSES_FILE_DIRECTORY = 'apple-wallet-passes'; diff --git a/packages/ticketing/src/services.ts b/packages/ticketing/src/services.ts index 6ddb2e013b..32a9914cd8 100644 --- a/packages/ticketing/src/services.ts +++ b/packages/ticketing/src/services.ts @@ -14,7 +14,6 @@ async function cancelTicketsForProduct( options?: DiscountOptions, ): Promise<{ cancelledCount: number; - discountCodes?: Array<{ userId: string; discountCode: string; amount: number }>; }> { const tokensToCancel = await this.warehousing.findTokens({ productId, @@ -30,7 +29,9 @@ async function cancelTicketsForProduct( 'meta.cancelled': true, }); - let discountCodes: Array<{ userId: string; discountCode: string; amount: number }> | undefined; + const affectedUserIds = [...new Set(tokensToCancel.map((t) => t.userId).filter(Boolean))] as string[]; + + const discountByUser = new Map(); if (options?.generateDiscount && tokensToCancel.length > 0 && options.countryCode) { const product = await this.products.findProduct({ productId }); @@ -52,28 +53,44 @@ async function cancelTicketsForProduct( {} as Record, ); - discountCodes = []; for (const [userId, quantity] of Object.entries(userTokenCounts)) { const totalAmount = price.amount * quantity; const discountCode = await this.passes.generateDiscountCode(totalAmount); - discountCodes.push({ userId, discountCode, amount: totalAmount }); + discountByUser.set(userId, { discountCode, amount: totalAmount }); } } } - return { cancelledCount: tokensToCancel.length, discountCodes }; + await Promise.allSettled( + affectedUserIds.map(async (userId) => { + const discount = discountByUser.get(userId); + await this.worker.addWork({ + type: 'MESSAGE', + input: { + template: 'EVENT_CANCELLED', + productId, + userId, + discountCode: discount?.discountCode, + discountAmount: discount?.amount, + }, + }); + }), + ); + + return { cancelledCount: tokensToCancel.length }; } async function cancelTicketWithDiscount( this: TicketingModule & UnchainedCore['modules'], tokenId: string, options?: DiscountOptions, -): Promise<{ token: any; discountCode?: string; amount?: number }> { +): Promise<{ token: any }> { + const token = await this.warehousing.findToken({ tokenId }); await this.warehousing.invalidateToken(tokenId); const cancelledToken = await this.passes.cancelTicket(tokenId); let discountCode: string | undefined; - let amount: number | undefined; + let discountAmount: number | undefined; if (options?.generateDiscount && cancelledToken && options.countryCode) { const product = await this.products.findProduct({ productId: cancelledToken.productId }); @@ -85,12 +102,25 @@ async function cancelTicketWithDiscount( })); if (price?.amount) { - amount = price.amount; - discountCode = await this.passes.generateDiscountCode(amount); + discountAmount = price.amount; + discountCode = await this.passes.generateDiscountCode(discountAmount); } } - return { token: cancelledToken, discountCode, amount }; + if (token?.userId) { + await this.worker.addWork({ + type: 'MESSAGE', + input: { + template: 'TICKET_CANCELLED', + tokenId, + userId: token.userId, + discountCode, + discountAmount, + }, + }); + } + + return { token: cancelledToken }; } async function isPassCodeValid( From fdd70396b2207809fb46b46bf7aa4727e9bb0e56 Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Thu, 12 Mar 2026 00:56:24 +0300 Subject: [PATCH 06/10] Make gate control cookie configurable and move gate control access control to roles --- packages/api/src/gate-cookie.ts | 33 +++++++++++++++++++ .../mutations/warehousing/authenticateGate.ts | 30 ++--------------- .../warehousing/deauthenticateGate.ts | 28 ++-------------- .../queries/ticketing/isPassCodeValid.ts | 3 +- .../queries/ticketing/ticketEvents.ts | 3 +- .../queries/ticketing/ticketEventsCount.ts | 3 +- .../type/product/product-tokenized-types.ts | 14 +++----- packages/api/src/roles/all.ts | 16 +++++++-- 8 files changed, 60 insertions(+), 70 deletions(-) create mode 100644 packages/api/src/gate-cookie.ts diff --git a/packages/api/src/gate-cookie.ts b/packages/api/src/gate-cookie.ts new file mode 100644 index 0000000000..1c0e6ab667 --- /dev/null +++ b/packages/api/src/gate-cookie.ts @@ -0,0 +1,33 @@ +import type { CookieOptions } from './context.ts'; + +const { + UNCHAINED_GATE_COOKIE_NAME = 'unchained_gate_passcode', + UNCHAINED_GATE_COOKIE_MAX_AGE_SECONDS = '86400', // 24 hours + UNCHAINED_COOKIE_PATH = '/', + UNCHAINED_COOKIE_DOMAIN, + UNCHAINED_COOKIE_SAMESITE = 'lax', + UNCHAINED_COOKIE_INSECURE, +} = process.env; + +export const GATE_COOKIE_NAME = UNCHAINED_GATE_COOKIE_NAME; +export const GATE_COOKIE_MAX_AGE = parseInt(UNCHAINED_GATE_COOKIE_MAX_AGE_SECONDS, 10) * 1000; + +const resolveSameSite = (): CookieOptions['sameSite'] => + ( + { + none: 'none', + lax: 'lax', + strict: 'strict', + } as Record + )[UNCHAINED_COOKIE_SAMESITE?.trim()?.toLowerCase()] || 'lax'; + +export function getGateCookieOptions(maxAge?: number): CookieOptions { + return { + domain: UNCHAINED_COOKIE_DOMAIN, + path: UNCHAINED_COOKIE_PATH, + secure: !UNCHAINED_COOKIE_INSECURE, + httpOnly: true, + sameSite: resolveSameSite(), + maxAge, + }; +} diff --git a/packages/api/src/resolvers/mutations/warehousing/authenticateGate.ts b/packages/api/src/resolvers/mutations/warehousing/authenticateGate.ts index e0c7be880b..b045ddb2c9 100644 --- a/packages/api/src/resolvers/mutations/warehousing/authenticateGate.ts +++ b/packages/api/src/resolvers/mutations/warehousing/authenticateGate.ts @@ -1,16 +1,7 @@ import { log } from '@unchainedshop/logger'; import type { Context } from '../../../context.ts'; import { TicketingModuleNotFoundError } from '../../../errors.ts'; - -const { - UNCHAINED_COOKIE_PATH = '/', - UNCHAINED_COOKIE_DOMAIN, - UNCHAINED_COOKIE_SAMESITE = 'lax', - UNCHAINED_COOKIE_INSECURE, -} = process.env; - -const GATE_COOKIE_NAME = 'unchained_gate_passcode'; -const GATE_COOKIE_MAX_AGE = 24 * 60 * 60 * 1000; // 24 hours +import { GATE_COOKIE_NAME, GATE_COOKIE_MAX_AGE, getGateCookieOptions } from '../../../gate-cookie.ts'; export default async function authenticateGate( root: never, @@ -35,24 +26,7 @@ export default async function authenticateGate( const isValid = await ticketingServices.ticketing.isPassCodeValid(passCode); if (!isValid) return false; - const secure = !UNCHAINED_COOKIE_INSECURE; - const sameSite = - ( - { - none: 'none', - lax: 'lax', - strict: 'strict', - } as Record - )[UNCHAINED_COOKIE_SAMESITE?.trim()?.toLowerCase()] || 'lax'; - - context.setCookie(GATE_COOKIE_NAME, passCode, { - domain: UNCHAINED_COOKIE_DOMAIN, - path: UNCHAINED_COOKIE_PATH, - secure, - httpOnly: true, - sameSite, - maxAge: GATE_COOKIE_MAX_AGE, - }); + context.setCookie(GATE_COOKIE_NAME, passCode, getGateCookieOptions(GATE_COOKIE_MAX_AGE)); return true; } diff --git a/packages/api/src/resolvers/mutations/warehousing/deauthenticateGate.ts b/packages/api/src/resolvers/mutations/warehousing/deauthenticateGate.ts index deef278503..eea2a3273c 100644 --- a/packages/api/src/resolvers/mutations/warehousing/deauthenticateGate.ts +++ b/packages/api/src/resolvers/mutations/warehousing/deauthenticateGate.ts @@ -1,36 +1,12 @@ import { log } from '@unchainedshop/logger'; import type { Context } from '../../../context.ts'; - -const { - UNCHAINED_COOKIE_PATH = '/', - UNCHAINED_COOKIE_DOMAIN, - UNCHAINED_COOKIE_SAMESITE = 'lax', - UNCHAINED_COOKIE_INSECURE, -} = process.env; - -const GATE_COOKIE_NAME = 'unchained_gate_passcode'; +import { GATE_COOKIE_NAME, getGateCookieOptions } from '../../../gate-cookie.ts'; export default async function deauthenticateGate(root: never, _: never, context: Context) { const { userId } = context; log(`mutation deauthenticateGate`, { userId }); - const secure = !UNCHAINED_COOKIE_INSECURE; - const sameSite = - ( - { - none: 'none', - lax: 'lax', - strict: 'strict', - } as Record - )[UNCHAINED_COOKIE_SAMESITE?.trim()?.toLowerCase()] || 'lax'; - - context.clearCookie(GATE_COOKIE_NAME, { - domain: UNCHAINED_COOKIE_DOMAIN, - path: UNCHAINED_COOKIE_PATH, - secure, - httpOnly: true, - sameSite, - }); + context.clearCookie(GATE_COOKIE_NAME, getGateCookieOptions()); return true; } diff --git a/packages/api/src/resolvers/queries/ticketing/isPassCodeValid.ts b/packages/api/src/resolvers/queries/ticketing/isPassCodeValid.ts index b7e6469975..93590412bf 100644 --- a/packages/api/src/resolvers/queries/ticketing/isPassCodeValid.ts +++ b/packages/api/src/resolvers/queries/ticketing/isPassCodeValid.ts @@ -1,6 +1,7 @@ import { log } from '@unchainedshop/logger'; import type { Context } from '../../../context.ts'; import { TicketingModuleNotFoundError } from '../../../errors.ts'; +import { GATE_COOKIE_NAME } from '../../../gate-cookie.ts'; interface TicketingServices { ticketing?: { @@ -16,7 +17,7 @@ export default async function isPassCodeValid( const { services, userId } = context; log(`query isPassCodeValid`, { userId }); - const passCode = context.getCookie('unchained_gate_passcode'); + const passCode = context.getCookie(GATE_COOKIE_NAME); if (!passCode) return false; const ticketingServices = services as unknown as TicketingServices; diff --git a/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts b/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts index f2811e4d5f..b96ce9e03a 100644 --- a/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts +++ b/packages/api/src/resolvers/queries/ticketing/ticketEvents.ts @@ -2,6 +2,7 @@ import { log } from '@unchainedshop/logger'; import type { SortOption } from '@unchainedshop/utils'; import type { Context } from '../../../context.ts'; import { TicketingModuleNotFoundError } from '../../../errors.ts'; +import { GATE_COOKIE_NAME } from '../../../gate-cookie.ts'; export default async function ticketEvents( root: never, @@ -25,7 +26,7 @@ export default async function ticketEvents( const { modules, services, userId } = context; log(`query ticketEvents`, { userId }); - const passCode = context.getCookie?.('unchained_gate_passcode'); + const passCode = context.getCookie?.(GATE_COOKIE_NAME); const ticketingServices = (context.services as any)?.ticketing; let products; diff --git a/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts b/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts index 4c68d51ad6..0018b62849 100644 --- a/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts +++ b/packages/api/src/resolvers/queries/ticketing/ticketEventsCount.ts @@ -1,6 +1,7 @@ import { log } from '@unchainedshop/logger'; import type { Context } from '../../../context.ts'; import { TicketingModuleNotFoundError } from '../../../errors.ts'; +import { GATE_COOKIE_NAME } from '../../../gate-cookie.ts'; export default async function ticketEventsCount( root: never, @@ -18,7 +19,7 @@ export default async function ticketEventsCount( const { modules, services, userId } = context; log(`query ticketEventsCount`, { userId }); - const passCode = context.getCookie?.('unchained_gate_passcode'); + const passCode = context.getCookie?.(GATE_COOKIE_NAME); const ticketingServices = (context.services as any)?.ticketing; if (!userId && passCode) { diff --git a/packages/api/src/resolvers/type/product/product-tokenized-types.ts b/packages/api/src/resolvers/type/product/product-tokenized-types.ts index a9b59cb31a..9811d1e511 100644 --- a/packages/api/src/resolvers/type/product/product-tokenized-types.ts +++ b/packages/api/src/resolvers/type/product/product-tokenized-types.ts @@ -58,12 +58,9 @@ export const TokenizedProduct = { async tokens(product: Product, params: never, requestContext: Context) { try { - await checkAction(requestContext, actions.viewTokens, [undefined, params]); + await checkAction(requestContext, actions.viewTokens, [product, params]); } catch { - const passCode = requestContext.getCookie?.('unchained_gate_passcode'); - const ticketingServices = (requestContext.services as any)?.ticketing; - const isValid = await ticketingServices?.isPassCodeValid?.(passCode, product._id); - if (!isValid) return []; + return []; } const tokens = await requestContext.modules.warehousing.findTokens({ productId: product._id, @@ -72,12 +69,9 @@ export const TokenizedProduct = { }, async tokensCount(product: Product, params: never, requestContext: Context) { try { - await checkAction(requestContext, actions.viewTokens, [undefined, params]); + await checkAction(requestContext, actions.viewTokens, [product, params]); } catch { - const passCode = requestContext.getCookie?.('unchained_gate_passcode'); - const ticketingServices = (requestContext.services as any)?.ticketing; - const isValid = await ticketingServices?.isPassCodeValid?.(passCode, product._id); - if (!isValid) return 0; + return 0; } return requestContext.modules.warehousing.tokensCount({ productId: product._id, diff --git a/packages/api/src/roles/all.ts b/packages/api/src/roles/all.ts index 82e49c3d9b..c9e7206a5e 100644 --- a/packages/api/src/roles/all.ts +++ b/packages/api/src/roles/all.ts @@ -1,5 +1,6 @@ import { timingSafeStringEqual } from '@unchainedshop/utils'; import { type Context, IN_LOGIN_RESPONSE } from '../context.ts'; +import { GATE_COOKIE_NAME } from '../gate-cookie.ts'; export const all = (role, actions) => { const isInLoginMutationResponse = (root) => { @@ -114,7 +115,7 @@ export const all = (role, actions) => { role.allow(actions.viewQuotation, () => false); role.allow(actions.viewEnrollment, () => false); const hasValidPassCode = async (_root: any, _params: any, context: Context) => { - const passCode = context.getCookie?.('unchained_gate_passcode'); + const passCode = context.getCookie?.(GATE_COOKIE_NAME); if (!passCode) return false; const ticketingServices = (context.services as any)?.ticketing; if (!ticketingServices?.isPassCodeValid) return false; @@ -123,7 +124,16 @@ export const all = (role, actions) => { role.allow(actions.validatePassCode, () => true); role.allow(actions.gateControl, hasValidPassCode); - role.allow(actions.viewTokens, () => false); + + const hasValidPassCodeForProduct = async (root: any, _params: any, context: Context) => { + if (!root?._id) return false; + const passCode = context.getCookie?.(GATE_COOKIE_NAME); + if (!passCode) return false; + const ticketingServices = (context.services as any)?.ticketing; + if (!ticketingServices?.isPassCodeValid) return false; + return ticketingServices.isPassCodeValid(passCode, root._id); + }; + role.allow(actions.viewTokens, hasValidPassCodeForProduct); role.allow(actions.viewStatistics, () => false); role.allow(actions.uploadUserAvatar, () => false); role.allow(actions.uploadTempFile, () => false); @@ -147,7 +157,7 @@ export const all = (role, actions) => { // special case: access to token sometimes works via a X-Token-AccessKey Header or valid gate pass code const hasValidPassCodeForToken = async (_root: any, params: any, context: Context) => { - const passCode = context.getCookie?.('unchained_gate_passcode'); + const passCode = context.getCookie?.(GATE_COOKIE_NAME); if (!passCode) return false; const ticketingServices = (context.services as any)?.ticketing; if (!ticketingServices?.isPassCodeValid) return false; From 51da033b1f8a2ce100a1677e765d33fad4caa16d Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Thu, 12 Mar 2026 01:34:01 +0300 Subject: [PATCH 07/10] Clean up --- packages/api/src/gate-cookie.ts | 4 +- .../mutations/warehousing/invalidateToken.ts | 6 +- packages/core/src/factory/index.ts | 2 - .../src/factory/registerVirtualWarehousing.ts | 116 ------------------ packages/core/src/services/index.ts | 2 - .../core/src/services/onTokenInvalidated.ts | 30 ----- 6 files changed, 3 insertions(+), 157 deletions(-) delete mode 100644 packages/core/src/factory/registerVirtualWarehousing.ts delete mode 100644 packages/core/src/services/onTokenInvalidated.ts diff --git a/packages/api/src/gate-cookie.ts b/packages/api/src/gate-cookie.ts index 1c0e6ab667..21435bdc45 100644 --- a/packages/api/src/gate-cookie.ts +++ b/packages/api/src/gate-cookie.ts @@ -14,11 +14,11 @@ export const GATE_COOKIE_MAX_AGE = parseInt(UNCHAINED_GATE_COOKIE_MAX_AGE_SECOND const resolveSameSite = (): CookieOptions['sameSite'] => ( - { + ({ none: 'none', lax: 'lax', strict: 'strict', - } as Record + }) as Record )[UNCHAINED_COOKIE_SAMESITE?.trim()?.toLowerCase()] || 'lax'; export function getGateCookieOptions(maxAge?: number): CookieOptions { diff --git a/packages/api/src/resolvers/mutations/warehousing/invalidateToken.ts b/packages/api/src/resolvers/mutations/warehousing/invalidateToken.ts index 8ff83246ef..a81e006594 100644 --- a/packages/api/src/resolvers/mutations/warehousing/invalidateToken.ts +++ b/packages/api/src/resolvers/mutations/warehousing/invalidateToken.ts @@ -14,7 +14,7 @@ export default async function invalidateToken( { tokenId }: { tokenId: string }, context: Context, ) { - const { modules, services, userId } = context; + const { modules, userId } = context; log(`mutation invalidateToken ${tokenId}`, { userId, }); @@ -46,9 +46,5 @@ export default async function invalidateToken( const invalidatedToken = await modules.warehousing.invalidateToken(tokenId); - if (invalidatedToken) { - await services.warehousing.onTokenInvalidated({ token: invalidatedToken }); - } - return invalidatedToken; } diff --git a/packages/core/src/factory/index.ts b/packages/core/src/factory/index.ts index 5d9b561a8c..6c7ab2b13b 100644 --- a/packages/core/src/factory/index.ts +++ b/packages/core/src/factory/index.ts @@ -3,7 +3,6 @@ import registerPickUpDelivery from './registerPickUpDelivery.ts'; import registerShippingDelivery from './registerShippingDelivery.ts'; import registerWorker from './registerWorker.ts'; import registerPhysicalWarehousing from './registerPhysicalWarehousing.ts'; -import registerVirtualWarehousing from './registerVirtualWarehousing.ts'; import registerProductSearchFilter from './registerProductSearchFilter.ts'; import registerAssortmentSearchFilter from './registerAssortmentSearchFilter.ts'; import registerInvoicePayment from './registerInvoicePayment.ts'; @@ -26,7 +25,6 @@ export { registerInvoicePayment, registerWorker, registerPhysicalWarehousing, - registerVirtualWarehousing, registerProductSearchFilter, registerAssortmentSearchFilter, registerPaymentProvider, diff --git a/packages/core/src/factory/registerVirtualWarehousing.ts b/packages/core/src/factory/registerVirtualWarehousing.ts deleted file mode 100644 index a5c604dc62..0000000000 --- a/packages/core/src/factory/registerVirtualWarehousing.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { - type TokenSurrogate, - type WarehousingConfiguration, - WarehousingProviderType, -} from '@unchainedshop/core-warehousing'; -import { - WarehousingAdapter, - type WarehousingContext, - type IPlugin, - type IWarehousingAdapter, -} from '../core-index.ts'; -import { pluginRegistry } from '../plugins/PluginRegistry.ts'; - -export default function registerVirtualWarehousing>({ - adapterId, - orderIndex = 0, - stock, - tokenize, - tokenMetadata: tokenMetadataFn, - isInvalidateable: isInvalidateableFn, -}: { - adapterId: string; - orderIndex?: number; - stock?: - | number - | (( - referenceDate: Date, - configuration: WarehousingConfiguration, - context: WarehousingContext, - ) => Promise); - - tokenize: ( - configuration: WarehousingConfiguration, - context: WarehousingContext, - ) => Promise[]>; - - tokenMetadata?: ( - serialNumber: string, - referenceDate: Date, - configuration: WarehousingConfiguration, - context: WarehousingContext, - ) => Promise; - - isInvalidateable?: ( - serialNumber: string, - referenceDate: Date, - configuration: WarehousingConfiguration, - context: WarehousingContext, - ) => Promise; -}): IPlugin { - const adapter: IWarehousingAdapter = { - ...WarehousingAdapter, - - key: 'shop.unchained.warehousing.virtual.' + adapterId, - label: 'Virtual Wareshousing: ' + adapterId, - version: '1.0.0', - orderIndex, - - initialConfiguration: [{ key: 'shipping-hub', value: 'Shipping Hub' }], - - typeSupported: (type) => { - return type === WarehousingProviderType.VIRTUAL; - }, - - actions: (configuration, context) => { - return { - ...WarehousingAdapter.actions(configuration, context), - - isActive() { - return true; - }, - - configurationError() { - return null; - }, - - stock: async (referenceDate) => { - if (typeof stock === 'number') { - return stock; - } else if (typeof stock === 'function') { - return stock(referenceDate, configuration, context); - } - return 99999; - }, - - async tokenize() { - return tokenize(configuration, context); - }, - - async tokenMetadata(serialNumber, referenceDate) { - if (tokenMetadataFn) { - return tokenMetadataFn(serialNumber, referenceDate, configuration, context); - } - return null; - }, - - async isInvalidateable(serialNumber, referenceDate) { - if (isInvalidateableFn) { - return isInvalidateableFn(serialNumber, referenceDate, configuration, context); - } - return false; - }, - }; - }, - }; - - const plugin: IPlugin = { - key: adapter.key, - label: adapter.label, - version: adapter.version, - adapters: [adapter], - }; - - pluginRegistry.register(plugin); - return plugin; -} diff --git a/packages/core/src/services/index.ts b/packages/core/src/services/index.ts index 6e94335c4a..83c9ff0583 100644 --- a/packages/core/src/services/index.ts +++ b/packages/core/src/services/index.ts @@ -57,7 +57,6 @@ import { simulateConfigurablePriceRangeService } from './simulateConfigurablePri import { createFileDownloadURLService } from './createFileDownloadURL.ts'; import { resolveTokenStatusService } from './resolveTokenStatus.ts'; import { isTokenInvalidateableService } from './isTokenInvalidateable.ts'; -import { onTokenInvalidatedService } from './onTokenInvalidated.ts'; // Auto-Inject Unchained API as last parameter // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy @@ -187,7 +186,6 @@ export default function initServices(modules: Modules, customServices: CustomSer ercMetadata: ercMetadataService as Bound, resolveTokenStatus: resolveTokenStatusService as Bound, isTokenInvalidateable: isTokenInvalidateableService as Bound, - onTokenInvalidated: onTokenInvalidatedService as Bound, }, worker: { addMessage: addMessageService as Bound, diff --git a/packages/core/src/services/onTokenInvalidated.ts b/packages/core/src/services/onTokenInvalidated.ts deleted file mode 100644 index c1eac3bd3b..0000000000 --- a/packages/core/src/services/onTokenInvalidated.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { type TokenSurrogate, WarehousingProviderType } from '@unchainedshop/core-warehousing'; -import { WarehousingDirector } from '../directors/WarehousingDirector.ts'; -import type { Modules } from '../modules.ts'; - -export async function onTokenInvalidatedService( - this: Modules, - { - token, - }: { - token: TokenSurrogate; - }, -): Promise { - const product = await this.products.findProduct({ productId: token.productId }); - if (!product) return null; - - const virtualProviders = (await this.warehousing.allProviders()).filter( - ({ type }) => type === WarehousingProviderType.VIRTUAL, - ); - - return WarehousingDirector.tokenMetadata( - virtualProviders, - { - token, - product, - quantity: token?.quantity || 1, - referenceDate: new Date(), - }, - { modules: this }, - ); -} From 0036fb353b25fb6d9d89ad46d99f5c4d91ad057d Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Fri, 12 Jun 2026 21:53:15 +0300 Subject: [PATCH 08/10] Rebase and update ticket gate control page with new permission system --- admin-ui/src/gql/types.ts | 110 ++++++------------ admin-ui/src/modules/Auth/permissionConfig.ts | 1 + .../components/EventTokenListItem.tsx | 2 +- .../ticketing/components/GateAttendeeList.tsx | 2 +- .../ticketing/components/GateControl.tsx | 4 +- .../ticketing/components/GateEventList.tsx | 2 +- .../components/TicketEventDetail.tsx | 4 +- .../components/TicketEventListItem.tsx | 4 +- .../pages/ticketing/TicketEventDetailPage.tsx | 6 +- admin-ui/src/pages/ticketing/index.tsx | 12 +- 10 files changed, 55 insertions(+), 92 deletions(-) diff --git a/admin-ui/src/gql/types.ts b/admin-ui/src/gql/types.ts index cbc57a9735..089f2a0582 100644 --- a/admin-ui/src/gql/types.ts +++ b/admin-ui/src/gql/types.ts @@ -2935,6 +2935,8 @@ export type IQuery = { quotations: Array; /** Returns total number of quotations */ quotationsCount: Scalars['Int']['output']; + /** Get all registered event types */ + registeredEventTypes: Array; /** Search assortments */ searchAssortments: IAssortmentSearchResult; /** Search products */ @@ -4056,7 +4058,7 @@ export enum IWarehousingProviderType { export type IWeb3Address = { address: Scalars['String']['output']; - nonce?: Maybe; + nonce?: Maybe; verified: Scalars['Boolean']['output']; }; @@ -4332,7 +4334,7 @@ export type IUserFragment = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -4447,7 +4449,7 @@ export type IAddEmailMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -4556,7 +4558,7 @@ export type IAddWeb3AddressMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -4686,7 +4688,7 @@ export type IAddWebAuthnCredentialsMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; profile?: { @@ -4809,7 +4811,7 @@ export type ICurrentUserQuery = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -4926,7 +4928,7 @@ export type IEnrollUserMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -5070,7 +5072,7 @@ export type IRemoveEmailMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -5179,7 +5181,7 @@ export type IRemoveWeb3AddressMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -5288,7 +5290,7 @@ export type IRemoveWebAuthCredentialsMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -5415,7 +5417,7 @@ export type ISetPasswordMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -5525,7 +5527,7 @@ export type ISetRolesMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -5644,7 +5646,7 @@ export type ISetUsernameMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -5763,7 +5765,7 @@ export type IUpdateUserProfileMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -5872,7 +5874,7 @@ export type IUserQuery = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -6019,7 +6021,7 @@ export type IUsersQuery = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -6156,7 +6158,7 @@ export type IVerifyEmailMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -6267,7 +6269,7 @@ export type IVerifyWeb3AddressMutation = { emails?: Array<{ verified: boolean; address: string }> | null; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; webAuthnCredentials: Array<{ @@ -7702,6 +7704,16 @@ export type IShopInfoQuery = { }; }; +export type IStatusTypesQueryVariables = Exact<{ + enumName: Scalars['String']['input']; +}>; + +export type IStatusTypesQuery = { + statusTypes?: { + options?: Array<{ value: string; label?: string | null }> | null; + } | null; +}; + export type ISystemRolesQueryVariables = Exact<{ [key: string]: never }>; export type ISystemRolesQuery = { @@ -8061,16 +8073,6 @@ export type IDeliveryProvidersQuery = { >; }; -export type IOrderDeliveryStatusQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IOrderDeliveryStatusQuery = { - deliveryStatusType?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - export type IRemoveDeliveryProviderMutationVariables = Exact<{ deliveryProviderId: Scalars['ID']['input']; }>; @@ -8395,14 +8397,6 @@ export type IEnrollmentQuery = { } | null; }; -export type IEnrollmentStatusQueryVariables = Exact<{ [key: string]: never }>; - -export type IEnrollmentStatusQuery = { - enrollmentStatusTypes?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - export type IEnrollmentsQueryVariables = Exact<{ offset?: InputMaybe; limit?: InputMaybe; @@ -8526,12 +8520,12 @@ export type IEventQuery = { } | null; }; -export type IEventsTypeQueryVariables = Exact<{ [key: string]: never }>; +export type IRegisteredEventTypesQueryVariables = Exact<{ + [key: string]: never; +}>; -export type IEventsTypeQuery = { - eventTypes?: { - options?: Array<{ value: string; label: string }> | null; - } | null; +export type IRegisteredEventTypesQuery = { + registeredEventTypes: Array; }; export type IEventsQueryVariables = Exact<{ @@ -10115,14 +10109,6 @@ export type IOrderQuery = { } | null; }; -export type IOrderStatusQueryVariables = Exact<{ [key: string]: never }>; - -export type IOrderStatusQuery = { - orderStatusType?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - export type IOrdersQueryVariables = Exact<{ limit?: InputMaybe; offset?: InputMaybe; @@ -10342,14 +10328,6 @@ export type IPaymentProvidersQuery = { }>; }; -export type IOrderPaymentStatusQueryVariables = Exact<{ [key: string]: never }>; - -export type IOrderPaymentStatusQuery = { - paymentStatusTypes?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - export type IRemovePaymentProviderMutationVariables = Exact<{ paymentProviderId: Scalars['ID']['input']; }>; @@ -14964,7 +14942,7 @@ export type IUserTokensQuery = { _id: string; web3Addresses: Array<{ address: string; - nonce?: number | null; + nonce?: string | null; verified: boolean; }>; tokens: Array<{ @@ -15426,14 +15404,6 @@ export type IQuotationQuery = { } | null; }; -export type IQuotationStatusQueryVariables = Exact<{ [key: string]: never }>; - -export type IQuotationStatusQuery = { - quotationStatusType?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - export type IQuotationsQueryVariables = Exact<{ limit?: InputMaybe; offset?: InputMaybe; @@ -16403,14 +16373,6 @@ export type IAllocateWorkMutationVariables = Exact<{ export type IAllocateWorkMutation = { allocateWork?: { _id: string } | null }; -export type IWorkTypesQueryVariables = Exact<{ [key: string]: never }>; - -export type IWorkTypesQuery = { - registeredWorkTypes?: { - options?: Array<{ value: string; label: string }> | null; - } | null; -}; - export type IRemoveWorkMutationVariables = Exact<{ workId: Scalars['ID']['input']; }>; diff --git a/admin-ui/src/modules/Auth/permissionConfig.ts b/admin-ui/src/modules/Auth/permissionConfig.ts index b8e859fde8..1da7969eaf 100644 --- a/admin-ui/src/modules/Auth/permissionConfig.ts +++ b/admin-ui/src/modules/Auth/permissionConfig.ts @@ -51,6 +51,7 @@ const UNRESTRICTED_PAGES = [ '/403', '/500', '/external', + '/ticketing/gate', ]; const PUBLIC_ONLY_PAGES = [ diff --git a/admin-ui/src/modules/ticketing/components/EventTokenListItem.tsx b/admin-ui/src/modules/ticketing/components/EventTokenListItem.tsx index 9cec49fd12..a7c82b3bed 100644 --- a/admin-ui/src/modules/ticketing/components/EventTokenListItem.tsx +++ b/admin-ui/src/modules/ticketing/components/EventTokenListItem.tsx @@ -1,7 +1,7 @@ import Link from 'next/link'; import { useIntl } from 'react-intl'; import Table from '../../common/components/Table'; -import Badge from '../../common/components/Badge'; +import Badge from '../../../components/ui/Badge'; import useFormatDateTime from '../../common/utils/useFormatDateTime'; import formatUsername from '../../common/utils/formatUsername'; import MediaAvatar from '../../common/components/MediaAvatar'; diff --git a/admin-ui/src/modules/ticketing/components/GateAttendeeList.tsx b/admin-ui/src/modules/ticketing/components/GateAttendeeList.tsx index c0a1f466eb..b94d2c28dd 100644 --- a/admin-ui/src/modules/ticketing/components/GateAttendeeList.tsx +++ b/admin-ui/src/modules/ticketing/components/GateAttendeeList.tsx @@ -2,7 +2,7 @@ import { useCallback } from 'react'; import { useIntl } from 'react-intl'; import { toast } from 'react-toastify'; import Table from '../../common/components/Table'; -import Badge from '../../common/components/Badge'; +import Badge from '../../../components/ui/Badge'; import useFormatDateTime from '../../common/utils/useFormatDateTime'; import formatUsername from '../../common/utils/formatUsername'; import useInvalidateTicket from '../../token/hooks/useInvalidateTicket'; diff --git a/admin-ui/src/modules/ticketing/components/GateControl.tsx b/admin-ui/src/modules/ticketing/components/GateControl.tsx index ae0825a0a0..f2ef69cd5f 100644 --- a/admin-ui/src/modules/ticketing/components/GateControl.tsx +++ b/admin-ui/src/modules/ticketing/components/GateControl.tsx @@ -1,7 +1,7 @@ import { useState } from 'react'; import { useIntl } from 'react-intl'; -import Loading from '../../common/components/Loading'; -import NoData from '../../common/components/NoData'; +import Loading from '../../../components/ui/Loading'; +import NoData from '../../../components/ui/NoData'; import useGateEvents from '../hooks/useGateEvents'; import useGateEventDetail from '../hooks/useGateEventDetail'; import useIsPassCodeValid from '../hooks/useIsPassCodeValid'; diff --git a/admin-ui/src/modules/ticketing/components/GateEventList.tsx b/admin-ui/src/modules/ticketing/components/GateEventList.tsx index d5bb2db989..4215f0710e 100644 --- a/admin-ui/src/modules/ticketing/components/GateEventList.tsx +++ b/admin-ui/src/modules/ticketing/components/GateEventList.tsx @@ -1,6 +1,6 @@ import { useIntl } from 'react-intl'; import useFormatDateTime from '../../common/utils/useFormatDateTime'; -import Badge from '../../common/components/Badge'; +import Badge from '../../../components/ui/Badge'; const GateEventList = ({ events, onSelectEvent }) => { const { formatMessage } = useIntl(); diff --git a/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx b/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx index 34aec13c79..2504cbb4cc 100644 --- a/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx +++ b/admin-ui/src/modules/ticketing/components/TicketEventDetail.tsx @@ -5,9 +5,9 @@ import { toast } from 'react-toastify'; import useModal from '../../modal/hooks/useModal'; import DangerMessage from '../../modal/components/DangerMessage'; import useFormatDateTime from '../../common/utils/useFormatDateTime'; -import ImageWithFallback from '../../common/components/ImageWithFallback'; +import ImageWithFallback from '../../../components/ui/ImageWithFallback'; import defaultNextImageLoader from '../../common/utils/defaultNextImageLoader'; -import Badge from '../../common/components/Badge'; +import Badge from '../../../components/ui/Badge'; import EventTokenList from './EventTokenList'; import useCancelTicket from '../hooks/useCancelTicket'; import useCancelEvent from '../hooks/useCancelEvent'; diff --git a/admin-ui/src/modules/ticketing/components/TicketEventListItem.tsx b/admin-ui/src/modules/ticketing/components/TicketEventListItem.tsx index cc275ecda4..e7062d5d16 100644 --- a/admin-ui/src/modules/ticketing/components/TicketEventListItem.tsx +++ b/admin-ui/src/modules/ticketing/components/TicketEventListItem.tsx @@ -1,8 +1,8 @@ import Link from 'next/link'; import Table from '../../common/components/Table'; -import Badge from '../../common/components/Badge'; +import Badge from '../../../components/ui/Badge'; import useFormatDateTime from '../../common/utils/useFormatDateTime'; -import ImageWithFallback from '../../common/components/ImageWithFallback'; +import ImageWithFallback from '../../../components/ui/ImageWithFallback'; import defaultNextImageLoader from '../../common/utils/defaultNextImageLoader'; import generateUniqueId from '../../common/utils/getUniqueId'; diff --git a/admin-ui/src/pages/ticketing/TicketEventDetailPage.tsx b/admin-ui/src/pages/ticketing/TicketEventDetailPage.tsx index 4e398890bd..c048a71417 100644 --- a/admin-ui/src/pages/ticketing/TicketEventDetailPage.tsx +++ b/admin-ui/src/pages/ticketing/TicketEventDetailPage.tsx @@ -1,7 +1,7 @@ import { useIntl } from 'react-intl'; -import BreadCrumbs from '../../modules/common/components/BreadCrumbs'; -import PageHeader from '../../modules/common/components/PageHeader'; -import Loading from '../../modules/common/components/Loading'; +import BreadCrumbs from '../../components/ui/BreadCrumbs'; +import PageHeader from '../../components/ui/PageHeader'; +import Loading from '../../components/ui/Loading'; import TicketEventDetail from '../../modules/ticketing/components/TicketEventDetail'; import useProduct from '../../modules/product/hooks/useProduct'; diff --git a/admin-ui/src/pages/ticketing/index.tsx b/admin-ui/src/pages/ticketing/index.tsx index 2a0b912755..523c6be53f 100644 --- a/admin-ui/src/pages/ticketing/index.tsx +++ b/admin-ui/src/pages/ticketing/index.tsx @@ -2,13 +2,13 @@ import Link from 'next/link'; import { useIntl } from 'react-intl'; import { useRouter } from 'next/router'; -import BreadCrumbs from '../../modules/common/components/BreadCrumbs'; -import PageHeader from '../../modules/common/components/PageHeader'; -import Loading from '../../modules/common/components/Loading'; -import NoData from '../../modules/common/components/NoData'; -import ListHeader from '../../modules/common/components/ListHeader'; +import BreadCrumbs from '../../components/ui/BreadCrumbs'; +import PageHeader from '../../components/ui/PageHeader'; +import Loading from '../../components/ui/Loading'; +import NoData from '../../components/ui/NoData'; +import ListHeader from '../../components/ui/ListHeader'; import SearchWithTags from '../../modules/common/components/SearchWithTags'; -import AnimatedCounter from '../../modules/common/components/AnimatedCounter'; +import AnimatedCounter from '../../components/ui/AnimatedCounter'; import TicketEventList from '../../modules/ticketing/components/TicketEventList'; import useEventProducts from '../../modules/ticketing/hooks/useEventProducts'; import TicketEventDetailPage from './TicketEventDetailPage'; From d2e706cda9140e24e3b4387b79885cda82aad2ce Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Thu, 2 Jul 2026 17:50:03 +0300 Subject: [PATCH 09/10] Fix --- examples/kitchensink/src/boot.ts | 10 +- package-lock.json | 7600 +++++++++++------------------- 2 files changed, 2860 insertions(+), 4750 deletions(-) diff --git a/examples/kitchensink/src/boot.ts b/examples/kitchensink/src/boot.ts index 71a6b8b132..7ddb7075b6 100644 --- a/examples/kitchensink/src/boot.ts +++ b/examples/kitchensink/src/boot.ts @@ -126,11 +126,11 @@ try { }, chat: provider ? { - model: provider.chat(process.env.OPENAI_MODEL || 'gpt-5.2'), - imageGenerationTool: imageProvider - ? { model: imageProvider.imageModel('gpt-image-1') } - : undefined, - } + model: provider.chat(process.env.OPENAI_MODEL || 'gpt-5.2'), + imageGenerationTool: imageProvider + ? { model: imageProvider.imageModel('gpt-image-1') } + : undefined, + } : undefined, }); diff --git a/package-lock.json b/package-lock.json index 8ce07e0138..2bf9fb91d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@unchainedshop/engine", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@unchainedshop/engine", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "workspaces": [ "packages/logger", @@ -46,22 +46,20 @@ "admin-ui" ], "devDependencies": { - "@eslint/js": "^9.26.0", + "@eslint/js": "^10.0.0", "@types/node": "^25.0.2", - "eslint": "^9.39.2", + "eslint": "^10.0.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.4", "globals": "^17.0.0", "graphql": "^16.12.0", - "graphql-request": "^7.4.0", "mongodb": "^7.0.0", "mongodb-memory-server": "^11.0.0", "npm-run-all": "^4.1.5", "prettier": "^3.7.4", "typedoc": "^0.28.15", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0", - "wait-on": "^9.0.1" + "typescript-eslint": "^8.50.0" }, "engines": { "node": ">=22.0.0", @@ -78,8 +76,7 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", - "@eslint/eslintrc": "^3.3.3", - "@eslint/js": "^9.34.0", + "@eslint/js": "^10.0.0", "@formatjs/cli": "^6.8.1", "@formatjs/intl-pluralrules": "^6.0.1", "@formatjs/intl-relativetimeformat": "^12.0.2", @@ -87,6 +84,7 @@ "@graphql-codegen/typescript-operations": "^5.0.6", "@headlessui/react": "^2.2.9", "@heroicons/react": "^2.2.0", + "@next/eslint-plugin-next": "^16.0.0", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/postcss": "^4.1.18", "@tailwindcss/typography": "^0.5.19", @@ -95,35 +93,31 @@ "@typescript-eslint/eslint-plugin": "^8.43.0", "@typescript-eslint/parser": "^8.43.0", "ai": "^6.0.14", - "classnames": "^2.5.1", "clsx": "^2.1.1", "cypress": "^15.18.0", "d3": "^7.9.0", "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", "deepmerge": "^4.3.1", - "eslint": "^9.39.2", - "eslint-config-next": "^16.0.10", + "eslint": "^10.0.0", "eslint-config-prettier": "^10.1.8", - "eslint-plugin-cypress": "^5.2.0", + "eslint-plugin-cypress": "^6.0.0", "eslint-plugin-formatjs": "^6.0.1", - "eslint-plugin-import": "^2.32.0", - "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-prettier": "^5.5.4", - "eslint-plugin-react": "^7.37.5", "formik": "^2.4.9", "globals": "^17.0.0", "graphql": "^16.12.0", "intl-messageformat": "^11.0.1", "lodash.isequal": "^4.5.0", - "lucide-react": "^0.563.0", + "lucide-react": "^1.7.0", "next": "^16.0.10", "npm-run-all": "^4.1.5", "papaparse": "^5.5.3", "prettier": "^3.7.4", "react": "19.2", "react-dom": "19.2", - "react-intl": "^8.0.3", + "react-intl": "^10.1.1", + "react-is": "19.2", "react-markdown": "^10.1.0", "react-toastify": "^11.0.5", "recharts": "^3.6.0", @@ -131,7 +125,6 @@ "rehype-sanitize": "^6.0.0", "remark-gfm": "^4.0.1", "rxjs": "^7.8.2", - "start-server-and-test": "^2.1.3", "tailwind-merge": "^3.4.0", "tailwindcss": "^4.1.12", "tsup": "^8.5.1", @@ -145,13 +138,13 @@ }, "examples/kitchensink": { "name": "@unchainedshop/example-kitchensink", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { "@ai-sdk/openai": "^3.0.7", "@ai-sdk/openai-compatible": "^2.0.4", "@fastify/cookie": "^11.0.2", - "@fastify/multipart": "^9.0.3", + "@fastify/multipart": "^10.0.0", "@fastify/session": "^11.1.0", "@scure/bip32": "^2.0.0", "@scure/btc-signer": "^2.0.0", @@ -167,7 +160,9 @@ "graphql": "^16.11.0", "graphql-yoga": "^5.15.1", "nodemailer": "^8.0.1", - "stripe": "^20.0.0", + "p-memoize": "^8.0.0", + "resolve-accept-language": "^3.2.2", + "stripe": "^22.1.0", "web-push": "^3.6.7", "xml-js": "^1.6.11" }, @@ -184,19 +179,19 @@ }, "examples/kitchensink-express": { "name": "@unchainedshop/example-kitchensink-express", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { "@ai-sdk/openai": "^3.0.7", "@ai-sdk/openai-compatible": "^2.0.4", "@scure/bip32": "^2.0.0", "@scure/btc-signer": "^2.0.0", - "@unchainedshop/admin-ui": "^4.6.0", - "@unchainedshop/api": "^4.6.0", - "@unchainedshop/core-delivery": "^4.6.0", - "@unchainedshop/core-payment": "^4.6.0", - "@unchainedshop/platform": "^4.6.0", - "@unchainedshop/plugins": "^4.6.0", + "@unchainedshop/admin-ui": "^5.0.0-alpha.1", + "@unchainedshop/api": "^5.0.0-alpha.1", + "@unchainedshop/core-delivery": "^5.0.0-alpha.1", + "@unchainedshop/core-payment": "^5.0.0-alpha.1", + "@unchainedshop/platform": "^5.0.0-alpha.1", + "@unchainedshop/plugins": "^5.0.0-alpha.1", "express": "^5.1.0", "express-session": "^1.18.1", "graphql": "^16.11.0", @@ -204,7 +199,7 @@ "multer": "^2.0.1", "nodemailer": "^8.0.1", "passport": "^0.7.0", - "stripe": "^20.0.0", + "stripe": "^22.1.0", "web-push": "^3.6.7", "xml-js": "^1.6.11" }, @@ -222,14 +217,14 @@ }, "examples/minimal": { "name": "@unchainedshop/example-minimal", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { "@fastify/cookie": "^11.0.2", - "@fastify/multipart": "^9.0.3", + "@fastify/multipart": "^10.0.0", "@fastify/session": "^11.1.0", - "@unchainedshop/platform": "^4.6.0", - "@unchainedshop/plugins": "^4.6.0", + "@unchainedshop/platform": "^5.0.0-alpha.1", + "@unchainedshop/plugins": "^5.0.0-alpha.1", "fastify": "^5.4.0" }, "devDependencies": { @@ -242,16 +237,16 @@ }, "examples/oidc": { "name": "@unchainedshop/example-oidc", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { "@fastify/cookie": "^11.0.2", - "@fastify/multipart": "^9.0.3", + "@fastify/multipart": "^10.0.0", "@fastify/oauth2": "^8.1.2", "@fastify/session": "^11.1.0", - "@unchainedshop/admin-ui": "^4.6.0", - "@unchainedshop/platform": "^4.6.0", - "@unchainedshop/plugins": "^4.6.0", + "@unchainedshop/admin-ui": "^5.0.0-alpha.1", + "@unchainedshop/platform": "^5.0.0-alpha.1", + "@unchainedshop/plugins": "^5.0.0-alpha.1", "fastify": "^5.4.0", "jose": "^6.0.11" }, @@ -268,15 +263,15 @@ }, "examples/ticketing": { "name": "@unchainedshop/example-ticketing", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { "@fastify/cookie": "^11.0.2", - "@fastify/multipart": "^9.0.3", + "@fastify/multipart": "^10.0.0", "@fastify/session": "^11.1.0", - "@unchainedshop/platform": "^4.6.0", - "@unchainedshop/plugins": "^4.6.0", - "@unchainedshop/ticketing": "^4.6.0", + "@unchainedshop/platform": "^5.0.0-alpha.1", + "@unchainedshop/plugins": "^5.0.0-alpha.1", + "@unchainedshop/ticketing": "^5.0.0-alpha.1", "fastify": "^5.4.0" }, "devDependencies": { @@ -291,15 +286,15 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "3.0.58", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.58.tgz", - "integrity": "sha512-2e1hBCKsd+7m0hELwrakR1QDfZfFhz9PF2d4qb8TxQueEyApo7ydlEWRpXeKC+KdA2FRV21dMb1G6FxdeNDa2w==", + "version": "3.0.142", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.142.tgz", + "integrity": "sha512-Y1iwdxdebYXpoK5y/4CrcCfJGeFwEJWlEx+pMWIg/ZVWGi9KA+JXM7YBkhxcshpq/jAXx8YyQeFMyZr0TGfXZQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "3.0.8", - "@ai-sdk/provider-utils": "4.0.15", - "@vercel/oidc": "3.1.0" + "@ai-sdk/provider": "3.0.13", + "@ai-sdk/provider-utils": "4.0.35", + "@vercel/oidc": "3.2.0" }, "engines": { "node": ">=18" @@ -309,14 +304,14 @@ } }, "node_modules/@ai-sdk/mcp": { - "version": "1.0.21", - "resolved": "https://registry.npmjs.org/@ai-sdk/mcp/-/mcp-1.0.21.tgz", - "integrity": "sha512-dRX2X6GDadZNpiylNnw0HP7zJC8ggVOOJV/JtxuF6CgtP8CKnc7a/wEzpUw1m/4AGdD3mTDhKnKFwC4y10a8FQ==", + "version": "1.0.57", + "resolved": "https://registry.npmjs.org/@ai-sdk/mcp/-/mcp-1.0.57.tgz", + "integrity": "sha512-HDMybaHgV/hk4Wr9Fu08Zb118TaMxZ9a5kYBb1OZXygSMH1lDq//E/QthtJ1jvJsFtEYYcNqiVobnEUPeoRYFQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "3.0.8", - "@ai-sdk/provider-utils": "4.0.15", + "@ai-sdk/provider": "3.0.13", + "@ai-sdk/provider-utils": "4.0.35", "pkce-challenge": "^5.0.0" }, "engines": { @@ -327,13 +322,13 @@ } }, "node_modules/@ai-sdk/openai": { - "version": "3.0.36", - "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-3.0.36.tgz", - "integrity": "sha512-foY3onGY8l3q9niMw0Cwe9xrYnm46keIWL57NRw6F3DKzSW9TYTfx0cQJs/j8lXJ8lPzqNxpMO/zXOkqCUt3IQ==", + "version": "3.0.80", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-3.0.80.tgz", + "integrity": "sha512-u3EfYbBG4YS/U2eOGH0yv8lPRwDj25X3sTluUKMYEwOLTZzWYv0IPtrpO7tPEra0QU4oq5Gpg49/FGFSrzE4vA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "3.0.8", - "@ai-sdk/provider-utils": "4.0.15" + "@ai-sdk/provider": "3.0.13", + "@ai-sdk/provider-utils": "4.0.35" }, "engines": { "node": ">=18" @@ -343,13 +338,13 @@ } }, "node_modules/@ai-sdk/openai-compatible": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/@ai-sdk/openai-compatible/-/openai-compatible-2.0.30.tgz", - "integrity": "sha512-iTjumHf1/u4NhjXYFn/aONM2GId3/o7J1Lp5ql8FCbgIMyRwrmanR5xy1S3aaVkfTscuDvLTzWiy1mAbGzK3nQ==", + "version": "2.0.56", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai-compatible/-/openai-compatible-2.0.56.tgz", + "integrity": "sha512-cQrN6OUn/jvsY3OdsU6Wn+ss7vp1iwIcakZKSlSRMnYqShBfyT7Qht+eqmgxs7w9ttrw6FAG6o11AiBs+iEsTA==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "3.0.8", - "@ai-sdk/provider-utils": "4.0.15" + "@ai-sdk/provider": "3.0.13", + "@ai-sdk/provider-utils": "4.0.35" }, "engines": { "node": ">=18" @@ -359,9 +354,9 @@ } }, "node_modules/@ai-sdk/provider": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.8.tgz", - "integrity": "sha512-oGMAgGoQdBXbZqNG0Ze56CHjDZ1IDYOwGYxYjO5KLSlz5HiNQ9udIXsPZ61VWaHGZ5XW/jyjmr6t2xz2jGVwbQ==", + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.13.tgz", + "integrity": "sha512-ZPtVYt5QIJzOta1kdUiDuCx4HhFkvNPv/rvmZ2b1iXwybYjJsCnNYR4PAw4kW7rgVfDARvHXcU64efWuqNp6bw==", "license": "Apache-2.0", "dependencies": { "json-schema": "^0.4.0" @@ -371,14 +366,14 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.15.tgz", - "integrity": "sha512-8XiKWbemmCbvNN0CLR9u3PQiet4gtEVIrX4zzLxnCj06AwsEDJwJVBbKrEI4t6qE8XRSIvU2irka0dcpziKW6w==", + "version": "4.0.35", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.35.tgz", + "integrity": "sha512-bjYld/2KGPLt78kpqbya+fD4LYS7BqVQJyUjE3qAHrYB0FR2Q90BaWEVIBZaguTWXf/A8L6uG1zO1v9TxVlGWg==", "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "3.0.8", + "@ai-sdk/provider": "3.0.13", "@standard-schema/spec": "^1.1.0", - "eventsource-parser": "^3.0.6" + "eventsource-parser": "^3.0.8" }, "engines": { "node": ">=18" @@ -388,14 +383,14 @@ } }, "node_modules/@ai-sdk/react": { - "version": "3.0.106", - "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-3.0.106.tgz", - "integrity": "sha512-9/VYxmIVuc/DJ5Rl9zvalE7O6bHNTwT6izt0fJj0vheWtoHqle0izsBqTVHNQ/ycoHH7ZbereHks8FbBUEPwGQ==", + "version": "3.0.220", + "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-3.0.220.tgz", + "integrity": "sha512-mUqM13WXUT2jNhoU0Kf7YxAtIS+atCUtzZ1LNkhF1q42oYs4g2gWFtq4gNCejACvFMu1KusGRQU2S7ONXtVLZw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider-utils": "4.0.15", - "ai": "6.0.104", + "@ai-sdk/provider-utils": "4.0.35", + "ai": "6.0.218", "swr": "^2.2.5", "throttleit": "2.1.0" }, @@ -420,16 +415,11 @@ } }, "node_modules/@apollo/client": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-4.1.6.tgz", - "integrity": "sha512-ak8uzqmKeX3u9BziGf83RRyODAJKFkPG72hTNvEj4WjMWFmuKW2gGN1i3OfajKT6yuGjvo+n23ES2zqWDKFCZg==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-4.2.5.tgz", + "integrity": "sha512-1VyJ4eAriUFCfK2Btc09PQtxxgrnmoO1Dbg2A1O7MQbsK1ri5GSWBzc7/P6A0KJrkWll/Ojf9HC6ptIET8yv3g==", "dev": true, "license": "MIT", - "workspaces": [ - "dist", - "codegen", - "scripts/codemods/ac3-to-ac4" - ], "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", "@wry/caches": "^1.0.0", @@ -440,7 +430,7 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "graphql": "^16.0.0", + "graphql": "^16.0.0 || ^17.0.0", "graphql-ws": "^5.5.5 || ^6.0.3", "react": "^17.0.0 || ^18.0.0 || >=19.0.0-rc", "react-dom": "^17.0.0 || ^18.0.0 || >=19.0.0-rc", @@ -463,38 +453,28 @@ } }, "node_modules/@ardatan/relay-compiler": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/@ardatan/relay-compiler/-/relay-compiler-12.0.3.tgz", - "integrity": "sha512-mBDFOGvAoVlWaWqs3hm1AciGHSQE1rqFc/liZTyYz/Oek9yZdT5H26pH2zAFuEiTiBVPPyMuqf5VjOFPI2DGsQ==", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/@ardatan/relay-compiler/-/relay-compiler-13.0.1.tgz", + "integrity": "sha512-afG3YPwuSA0E5foouZusz5GlXKs74dObv4cuWyLyfKsYFj2r7oGRNB28v18HvwuLSQtQFCi+DpIe0TZkgQDYyg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/generator": "^7.26.10", - "@babel/parser": "^7.26.10", - "@babel/runtime": "^7.26.10", - "chalk": "^4.0.0", - "fb-watchman": "^2.0.0", - "immutable": "~3.7.6", - "invariant": "^2.2.4", - "nullthrows": "^1.1.1", - "relay-runtime": "12.0.0", - "signedsource": "^1.0.0" - }, - "bin": { - "relay-compiler": "bin/relay-compiler" + "@babel/runtime": "^7.29.2", + "immutable": "^5.1.5", + "invariant": "^2.2.4" }, "peerDependencies": { "graphql": "*" } }, "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", + "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -503,9 +483,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", "dev": true, "license": "MIT", "engines": { @@ -513,21 +493,21 @@ } }, "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -554,14 +534,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -571,14 +551,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -598,9 +578,9 @@ } }, "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", "dev": true, "license": "MIT", "engines": { @@ -608,29 +588,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -640,9 +620,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", "dev": true, "license": "MIT", "engines": { @@ -650,9 +630,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", "dev": true, "license": "MIT", "engines": { @@ -660,9 +640,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", "dev": true, "license": "MIT", "engines": { @@ -670,9 +650,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", "dev": true, "license": "MIT", "engines": { @@ -680,27 +660,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.29.0" + "@babel/types": "^7.29.7" }, "bin": { "parser": "bin/babel-parser.js" @@ -710,13 +690,13 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", - "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.29.7.tgz", + "integrity": "sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -726,9 +706,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz", + "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==", "dev": true, "license": "MIT", "engines": { @@ -736,33 +716,33 @@ } }, "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", "debug": "^4.3.1" }, "engines": { @@ -770,14 +750,14 @@ } }, "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -890,33 +870,10 @@ "react": ">=16.8.0" } }, - "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" - } - }, "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", "dev": true, "license": "MIT", "optional": true, @@ -1450,118 +1407,89 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.7", + "@eslint/object-schema": "^3.0.5", "debug": "^4.3.1", - "minimatch": "^3.1.2" + "minimatch": "^10.2.4" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", + "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0" + "@eslint/core": "^1.2.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", "dev": true, "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.4.tgz", - "integrity": "sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.14.0", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.3", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/js": { - "version": "9.39.3", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.3.tgz", - "integrity": "sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", + "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", "dev": true, "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "eslint": "^10.0.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz", + "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0", + "@eslint/core": "^1.2.1", "levn": "^0.4.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@fastify/accept-negotiator": { @@ -1603,9 +1531,9 @@ } }, "node_modules/@fastify/ajv-compiler/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -1737,9 +1665,9 @@ } }, "node_modules/@fastify/multipart": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@fastify/multipart/-/multipart-9.4.0.tgz", - "integrity": "sha512-Z404bzZeLSXTBmp/trCBuoVFX28pM7rhv849Q5TsbTFZHuk1lc4QjQITTPK92DKVpXmNtJXeHSSc7GYvqFpxAQ==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@fastify/multipart/-/multipart-10.0.0.tgz", + "integrity": "sha512-pUx3Z1QStY7E7kwvDTIvB6P+rF5lzP+iqPgZyJyG3yBJVPvQaZxzDHYbQD89rbY0ciXrMOyGi8ezHDVexLvJDA==", "funding": [ { "type": "github", @@ -1858,9 +1786,9 @@ } }, "node_modules/@fastify/static": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@fastify/static/-/static-9.0.0.tgz", - "integrity": "sha512-r64H8Woe/vfilg5RTy7lwWlE8ZZcTrc3kebYFMEUBrMqlydhQyoiExQXdYAy2REVpST/G35+stAM8WYp1WGmMA==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@fastify/static/-/static-9.1.3.tgz", + "integrity": "sha512-aXrYtsiryLhRxRNaxNqsn7FUISeb7rB9q4eHUPIot5aeQBLNahnz1m6thzm7JWC1poSGXS9XrX8DvuMivp2hkQ==", "dev": true, "funding": [ { @@ -1883,24 +1811,24 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz", - "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", "dev": true, "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.10" + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz", - "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", "dev": true, "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.4", - "@floating-ui/utils": "^0.2.10" + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/react": { @@ -1920,13 +1848,13 @@ } }, "node_modules/@floating-ui/react-dom": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.7.tgz", - "integrity": "sha512-0tLRojf/1Go2JgEVm+3Frg9A3IW8bJgKgdO0BN5RkF//ufuz2joZM63Npau2ff3J6lUVYgDSNzNkR+aH3IVfjg==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", "dev": true, "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.7.5" + "@floating-ui/dom": "^1.7.6" }, "peerDependencies": { "react": ">=16.8.0", @@ -1934,16 +1862,23 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", - "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@formatjs/bigdecimal": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/bigdecimal/-/bigdecimal-0.2.6.tgz", + "integrity": "sha512-aPzKsGQOkQRHUEbyO/ZtYfr4EqaBQnSs6U4tzTla1xBnIdEHgY2GqEqso28UMwWRkzKqqTj5+/6BmuOsRkfn2A==", "dev": true, "license": "MIT" }, "node_modules/@formatjs/cli": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.13.0.tgz", - "integrity": "sha512-bl4+FNg7S6RPNa9cSAE8HqdXu84n7LpzDdkDAPqS0sk58XNbY/1Le6GdWqCKzELWX+FhI58gyZtZecmWsZ+Bhg==", + "version": "6.16.11", + "resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.16.11.tgz", + "integrity": "sha512-O3tTFavGK3zOhW4i2/ONWfMUgbU7fapxNbIsdFuF9eTMtQZFnKFdoBDdiBHj7d2W4ULVyeWd4b3qw2XHYpmuBg==", "dev": true, "license": "MIT", "bin": { @@ -1952,11 +1887,19 @@ "engines": { "node": ">= 20.12.0" }, + "optionalDependencies": { + "@formatjs/cli-native-darwin-arm64": "1.1.5", + "@formatjs/cli-native-linux-arm64": "1.2.5", + "@formatjs/cli-native-linux-arm64-musl": "1.0.3", + "@formatjs/cli-native-linux-x64": "1.1.5", + "@formatjs/cli-native-linux-x64-musl": "1.0.3", + "@formatjs/cli-native-win32-x64": "1.1.6" + }, "peerDependencies": { "@glimmer/syntax": "^0.84.3 || ^0.95.0", - "@vue/compiler-core": "3.5.27", + "@vue/compiler-core": "^3.5.0", "content-tag": "^4.1.0", - "vue": "3.5.27" + "vue": "^3.5.0" }, "peerDependenciesMeta": { "@glimmer/env": { @@ -1982,122 +1925,181 @@ } } }, - "node_modules/@formatjs/ecma402-abstract": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-3.1.1.tgz", - "integrity": "sha512-jhZbTwda+2tcNrs4kKvxrPLPjx8QsBCLCUgrrJ/S+G9YrGHWLhAyFMMBHJBnBoOwuLHd7L14FgYudviKaxkO2Q==", + "node_modules/@formatjs/cli-native-darwin-arm64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@formatjs/cli-native-darwin-arm64/-/cli-native-darwin-arm64-1.1.5.tgz", + "integrity": "sha512-zGt7OenQakyh8a+eAgCx/zUInbQXYT0UNzeOaYlnaKmU9yr78wsVAGGhPc85gchnQ7gIXSWOKhwIzvfSMFGU7w==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@formatjs/fast-memoize": "3.1.0", - "@formatjs/intl-localematcher": "0.8.1", - "decimal.js": "^10.6.0", - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@formatjs/fast-memoize": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-3.1.0.tgz", - "integrity": "sha512-b5mvSWCI+XVKiz5WhnBCY3RJ4ZwfjAidU0yVlKa3d3MSgKmH1hC3tBGEAtYyN5mqL7N0G5x0BOUYyO8CEupWgg==", + "node_modules/@formatjs/cli-native-linux-arm64": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@formatjs/cli-native-linux-arm64/-/cli-native-linux-arm64-1.2.5.tgz", + "integrity": "sha512-G1Ou5CFDM2hfqmD2jfXJJpHL7DL7f7OxlMXf6VPWvUYu+jcvpEj0KdEtmz5poh8rWzfHbOf4MfqC6WNhExJD5A==", + "cpu": [ + "arm64" + ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", - "dependencies": { - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@formatjs/cli-native-linux-arm64-musl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@formatjs/cli-native-linux-arm64-musl/-/cli-native-linux-arm64-musl-1.0.3.tgz", + "integrity": "sha512-1qq9EZIY87cnptTd2PywI41s/DlkJBzNID6AofHCYm8sunXfj+vYAIQOSZnctNm7/u1ZlSJ/VjxHSS1NIC4tTw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@formatjs/cli-native-linux-x64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@formatjs/cli-native-linux-x64/-/cli-native-linux-x64-1.1.5.tgz", + "integrity": "sha512-v/EtDIMC7C3cOpYpRJDvUImQFHBveFP+PTggZJbi88zXCeMMEL6eMwbMlJezUIwvYjgH1FWQargCgwOnI3lVdg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@formatjs/cli-native-linux-x64-musl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@formatjs/cli-native-linux-x64-musl/-/cli-native-linux-x64-musl-1.0.3.tgz", + "integrity": "sha512-wb90O1S7cad8QKmHQ2I5glN9O9m+y+V29mrvvxFbKAVmVbKB7oyjhoau/jtuHQ/Yv2tfah3CYCj+1iaDNlJmYg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@formatjs/cli-native-win32-x64": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@formatjs/cli-native-win32-x64/-/cli-native-win32-x64-1.1.6.tgz", + "integrity": "sha512-fsPOUB4JePy6VJfQV+oorLfozbb9IfYRAncGZ54VZg77Uj2aOP2h/KLhQmgippNlgi0Q77EB8QDMzNQfaKpVAA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@formatjs/fast-memoize": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-3.1.6.tgz", + "integrity": "sha512-H5aexk1Le7T9TPmscacZ+1pR6CTa2n1wq+HDVGXhH8TzUlQQpeXzZs91dRtmFHrbeNbjPFPfQujUqm7MHgVoXQ==", + "dev": true, + "license": "MIT" }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-3.5.1.tgz", - "integrity": "sha512-sSDmSvmmoVQ92XqWb499KrIhv/vLisJU8ITFrx7T7NZHUmMY7EL9xgRowAosaljhqnj/5iufG24QrdzB6X3ItA==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-3.5.12.tgz", + "integrity": "sha512-YyzzxVgYJ8DELmmkhn0Yr0rUj0dTJFf9Jp628K3S0ysInBWxLVDOS8i3RP91cCp4DMK4WYb4cVMhWA9i4knSJg==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "3.1.1", - "@formatjs/icu-skeleton-parser": "2.1.1", - "tslib": "^2.8.1" + "@formatjs/icu-skeleton-parser": "2.1.10" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-2.1.1.tgz", - "integrity": "sha512-PSFABlcNefjI6yyk8f7nyX1DC7NHmq6WaCHZLySEXBrXuLOB2f935YsnzuPjlz+ibhb9yWTdPeVX1OVcj24w2Q==", + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-2.1.10.tgz", + "integrity": "sha512-XuSva+8ZGawk8VnD5VD6UeH8KarQ/Z022zgjHDoHmlNiAewstXuuzXc0Hk5pGFSdG+nNw5bfJKXqj1ZXHn9yUA==", "dev": true, - "license": "MIT", - "dependencies": { - "@formatjs/ecma402-abstract": "3.1.1", - "tslib": "^2.8.1" - } + "license": "MIT" }, "node_modules/@formatjs/intl": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-4.1.2.tgz", - "integrity": "sha512-V60fNY/X/7zqmRffr7qPwscGmVGYDmlKF069mSQ2a/7fE22q602NtIfOQY8vzRA63Gr/O/U6vjRVBHMabrnA9A==", + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-4.1.14.tgz", + "integrity": "sha512-hl8dgvbV2Te/KPnCud+nuBc+z8qW8fGreiun7ul5LopIHkbP0izylvnhIFDL2dQMeMPdrKCAXhJkYDeoxVuDRw==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "3.1.1", - "@formatjs/fast-memoize": "3.1.0", - "@formatjs/icu-messageformat-parser": "3.5.1", - "intl-messageformat": "11.1.2", - "tslib": "^2.8.1" - }, - "peerDependencies": { - "typescript": "^5.6.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@formatjs/fast-memoize": "3.1.6", + "@formatjs/icu-messageformat-parser": "3.5.12", + "intl-messageformat": "11.2.9" } }, "node_modules/@formatjs/intl-localematcher": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.8.1.tgz", - "integrity": "sha512-xwEuwQFdtSq1UKtQnyTZWC+eHdv7Uygoa+H2k/9uzBVQjDyp9r20LNDNKedWXll7FssT3GRHvqsdJGYSUWqYFA==", + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.8.10.tgz", + "integrity": "sha512-P/IC3qws3jH+1fEs+o0RIFgXKRaQlFehjS5W0FPAqdo6hgzawLl+eD0q0JjheQ3XtoOe5n8WSYfX06KQZI/QJA==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/fast-memoize": "3.1.0", - "tslib": "^2.8.1" + "@formatjs/fast-memoize": "3.1.6" } }, "node_modules/@formatjs/intl-pluralrules": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-6.2.2.tgz", - "integrity": "sha512-nWotN5BsZb9WVjm2+1zffFPGSpBdy58irA3TIaYHtIYNr+vkb9aM7OU7uHtOGfC9niZoix9huyGd5NumPIvdbw==", + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-6.3.10.tgz", + "integrity": "sha512-pMoqKYhsfz2ostOQsh/5e66EJPiYWzy4yO7k9zcBLfw0pgOf15TRDYaT6lPghqUe9gdEEfP74QL7u6gwomxCTg==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "3.1.1", - "@formatjs/intl-localematcher": "0.8.1", - "decimal.js": "^10.6.0", - "tslib": "^2.8.1" + "@formatjs/bigdecimal": "0.2.6", + "@formatjs/intl-localematcher": "0.8.10" } }, "node_modules/@formatjs/intl-relativetimeformat": { - "version": "12.2.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-12.2.2.tgz", - "integrity": "sha512-iwISwN+ZXpaWFFxdlaemALd4sWbymhsbEav0OEqcCH55ZNJRBEQnsW3Q5IzoEoFMqOhp0wwmmzY+r/dSSPUF+A==", + "version": "12.3.10", + "resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-12.3.10.tgz", + "integrity": "sha512-dAHd3MaS4Ffmxjhex5y9Z2a1dbuNBCLSI+kThvU1IUnmtv+NuUEBFxE89jGZngccXJJJHrxvEypkkbnf7Foaig==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "3.1.1", - "@formatjs/intl-localematcher": "0.8.1", - "tslib": "^2.8.1" + "@formatjs/intl-localematcher": "0.8.10" } }, "node_modules/@formatjs/ts-transformer": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-4.4.0.tgz", - "integrity": "sha512-lFDp9Rbpxk5Dt8O1/I9VG5btqKbOkjT4snSa73HO1YTJ9KGeXPKA7aWVgHFXJVVq0KluhbZiCoPJVHC4ZREgxw==", + "version": "4.4.14", + "resolved": "https://registry.npmjs.org/@formatjs/ts-transformer/-/ts-transformer-4.4.14.tgz", + "integrity": "sha512-k3zaGIAUpQIS5tpifOJ8Jzsqy+j1YV916b1yhwd6US+kRQHdSyxtk76zad8NabalOWel5ouyzGohD0ZlApKkdg==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/icu-messageformat-parser": "3.5.1", - "@types/node": "^22.19.5", + "@formatjs/icu-messageformat-parser": "3.5.12", + "@types/babel__core": "^7.20.5", + "@types/node": "22 || 24", "json-stable-stringify": "^1.3.0", - "tslib": "^2.8.1", - "typescript": "^5.6.0" + "typescript": "^5.6 || 6" }, "engines": { "node": ">= 20.12.0" @@ -2112,19 +2114,19 @@ } }, "node_modules/@formatjs/ts-transformer/node_modules/@types/node": { - "version": "22.19.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.13.tgz", - "integrity": "sha512-akNQMv0wW5uyRpD2v2IEyRSZiR+BeGuoB6L310EgGObO44HSMNT8z1xzio28V8qOrgYaopIDNA18YgdXd+qTiw==", + "version": "24.13.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.2.tgz", + "integrity": "sha512-fRa09kZTgu8o71KFcDjUFuc7F+dEbZYZmkI0mg5YBTRs0yMKjYHsq/c0urDKeDb+D5qVgXOdFcuu+DZPKOITwA==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~7.18.0" } }, "node_modules/@formatjs/ts-transformer/node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", "dev": true, "license": "MIT" }, @@ -2143,14 +2145,14 @@ } }, "node_modules/@graphql-codegen/add": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/add/-/add-6.0.0.tgz", - "integrity": "sha512-biFdaURX0KTwEJPQ1wkT6BRgNasqgQ5KbCI1a3zwtLtO7XTo7/vKITPylmiU27K5DSOWYnY/1jfSqUAEBuhZrQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/add/-/add-6.0.1.tgz", + "integrity": "sha512-MSylSekjpVWbOBw2A/2ssk1fPY54sYb6Qk2C4AX5u7s2R+2pMQ9ws7DTXo8VU9qwTgWwVp6vGfdQ0AMpAn4Iug==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.0.0", - "tslib": "~2.6.0" + "@graphql-codegen/plugin-helpers": "^6.3.0", + "tslib": "^2.8.0" }, "engines": { "node": ">=16" @@ -2159,42 +2161,36 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, - "node_modules/@graphql-codegen/add/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, "node_modules/@graphql-codegen/cli": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-6.1.2.tgz", - "integrity": "sha512-BQ49LF0jnQNL12rU1RucTemoX1bHx8slR4B11nOrp4k5NTojhcc1A1czzU5wXCK/1+ezNHrVGONWg3jxZUy08w==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-6.3.1.tgz", + "integrity": "sha512-I5KkyX1SgQZPojMeQTRydB6fml4cysZq/mIdhNW4rmqdoOcTgdMPq1Tl+wtRp1VpBAOrBazJUJh1nAqJMMSPIQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/generator": "^7.18.13", "@babel/template": "^7.18.10", "@babel/types": "^7.18.13", - "@graphql-codegen/client-preset": "^5.2.0", - "@graphql-codegen/core": "^5.0.0", - "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-tools/apollo-engine-loader": "^8.0.0", - "@graphql-tools/code-file-loader": "^8.0.0", - "@graphql-tools/git-loader": "^8.0.0", - "@graphql-tools/github-loader": "^9.0.0", - "@graphql-tools/graphql-file-loader": "^8.0.0", - "@graphql-tools/json-file-loader": "^8.0.0", - "@graphql-tools/load": "^8.1.0", - "@graphql-tools/url-loader": "^9.0.0", - "@graphql-tools/utils": "^10.0.0", + "@graphql-codegen/client-preset": "^5.3.0", + "@graphql-codegen/core": "^5.0.2", + "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-tools/apollo-engine-loader": "^8.0.28", + "@graphql-tools/code-file-loader": "^8.1.28", + "@graphql-tools/git-loader": "^8.0.32", + "@graphql-tools/github-loader": "^9.0.6", + "@graphql-tools/graphql-file-loader": "^8.1.11", + "@graphql-tools/json-file-loader": "^8.0.26", + "@graphql-tools/load": "^8.1.8", + "@graphql-tools/merge": "^9.0.6", + "@graphql-tools/url-loader": "^9.0.6", + "@graphql-tools/utils": "^11.0.0", "@inquirer/prompts": "^7.8.2", "@whatwg-node/fetch": "^0.10.0", "chalk": "^4.1.0", "cosmiconfig": "^9.0.0", "debounce": "^2.0.0", "detect-indent": "^6.0.0", - "graphql-config": "^5.1.1", + "graphql-config": "^5.1.6", "is-glob": "^4.0.1", "jiti": "^2.3.0", "json-to-pretty-yaml": "^1.2.2", @@ -2227,85 +2223,127 @@ } } }, - "node_modules/@graphql-codegen/client-preset": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-5.2.3.tgz", - "integrity": "sha512-zgbk0dTY+KC/8TG00RGct6HnXWJU6jQaty3wAXKl1CvCXTKO73pW8Npph+RSJMTEEXb+QuJL3vyaPiGM1gw8sw==", + "node_modules/@graphql-codegen/cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7", - "@graphql-codegen/add": "^6.0.0", - "@graphql-codegen/gql-tag-operations": "5.1.3", - "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-codegen/typed-document-node": "^6.1.6", - "@graphql-codegen/typescript": "^5.0.8", - "@graphql-codegen/typescript-operations": "^5.0.8", - "@graphql-codegen/visitor-plugin-common": "^6.2.3", - "@graphql-tools/documents": "^1.0.0", - "@graphql-tools/utils": "^10.0.0", - "@graphql-typed-document-node/core": "3.2.0", - "tslib": "~2.6.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=16" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", - "graphql-sock": "^1.0.0" + "node": ">=8" }, - "peerDependenciesMeta": { - "graphql-sock": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@graphql-codegen/client-preset/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-codegen/core": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-5.0.0.tgz", - "integrity": "sha512-vLTEW0m8LbE4xgRwbFwCdYxVkJ1dBlVJbQyLb9Q7bHnVFgHAP982Xo8Uv7FuPBmON+2IbTjkCqhFLHVZbqpvjQ==", + "node_modules/@graphql-codegen/cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.0.0", - "@graphql-tools/schema": "^10.0.0", - "@graphql-tools/utils": "^10.0.0", - "tslib": "~2.6.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=16" + "node": ">=10" }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "node_modules/@graphql-codegen/core/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "node_modules/@graphql-codegen/cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "0BSD" + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "node_modules/@graphql-codegen/gql-tag-operations": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-5.1.3.tgz", - "integrity": "sha512-yh/GTGW5Nf8f/zaCHZwWb04ItWAm+UfUJf7pb6n4SrqRxvWOSJk36LJ4l8UuDW1tmAOobjeXB8HSKSJsUjmA1g==", + "node_modules/@graphql-codegen/cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@graphql-codegen/cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@graphql-codegen/cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-codegen/visitor-plugin-common": "6.2.3", - "@graphql-tools/utils": "^10.0.0", - "auto-bind": "~4.0.0", - "tslib": "~2.6.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@graphql-codegen/client-preset": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-5.3.0.tgz", + "integrity": "sha512-K9FON+j7qyxAUDuSGqI3ofb7lWTBs16oPTYpu14lhdL4DKZQSHLyc8EMYU9e3KcyQ/13gU/d6culOppzAuexLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7", + "@graphql-codegen/add": "^6.0.1", + "@graphql-codegen/gql-tag-operations": "5.2.0", + "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-codegen/typed-document-node": "^6.1.8", + "@graphql-codegen/typescript": "^5.0.10", + "@graphql-codegen/typescript-operations": "^5.1.0", + "@graphql-codegen/visitor-plugin-common": "^6.3.0", + "@graphql-tools/documents": "^1.0.0", + "@graphql-tools/utils": "^11.0.0", + "@graphql-typed-document-node/core": "3.2.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "graphql-sock": "^1.0.0" + }, + "peerDependenciesMeta": { + "graphql-sock": { + "optional": true + } + } + }, + "node_modules/@graphql-codegen/core": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-5.0.2.tgz", + "integrity": "sha512-7RX0wwjoWPlLG/tUmpaTK91ZZqHcACNWpRL0nGnnJaJrORie9pgmX8JPrcwBgYiHSC+3ERo9xY91RFPem/VrpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-tools/schema": "^10.0.0", + "@graphql-tools/utils": "^11.0.0", + "tslib": "^2.8.0" }, "engines": { "node": ">=16" @@ -2314,26 +2352,38 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, - "node_modules/@graphql-codegen/gql-tag-operations/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "node_modules/@graphql-codegen/gql-tag-operations": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-5.2.0.tgz", + "integrity": "sha512-B9gtJ4ziqpIv+7mHqwjtpYLFOuv0GmmRGpNDoWKM2VIx4OQqgI84d6OHKYCVeO7yu3mUr0QPvUgkSyuLVrdukA==", "dev": true, - "license": "0BSD" + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-codegen/visitor-plugin-common": "^6.3.0", + "@graphql-tools/utils": "^11.0.0", + "auto-bind": "~4.0.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } }, "node_modules/@graphql-codegen/plugin-helpers": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-6.1.0.tgz", - "integrity": "sha512-JJypehWTcty9kxKiqH7TQOetkGdOYjY78RHlI+23qB59cV2wxjFFVf8l7kmuXS4cpGVUNfIjFhVr7A1W7JMtdA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-6.3.0.tgz", + "integrity": "sha512-Auc+/B7okDx9+pVgLVliZtZLYh6iltWXlnzzM+bRE+zh1T4r3hKbnr8xAmtT937ArfSgk5GHcQHr8LfPYnrRBg==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^10.0.0", + "@graphql-tools/utils": "^11.0.0", "change-case-all": "1.0.15", "common-tags": "1.8.2", "import-from": "4.0.0", - "lodash": "~4.17.0", - "tslib": "~2.6.0" + "tslib": "^2.8.0" }, "engines": { "node": ">=16" @@ -2342,23 +2392,16 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, - "node_modules/@graphql-codegen/plugin-helpers/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, "node_modules/@graphql-codegen/schema-ast": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-5.0.0.tgz", - "integrity": "sha512-jn7Q3PKQc0FxXjbpo9trxzlz/GSFQWxL042l0iC8iSbM/Ar+M7uyBwMtXPsev/3Razk+osQyreghIz0d2+6F7Q==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-5.0.2.tgz", + "integrity": "sha512-jl1F/9IjRkJisEb9B0ayG4QGqYlPldLRy8ojDdmL9NE1NsdB5ROfxQnSqyC3g+wuvBhWX7kZgMRQYn3RU1I5bA==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.0.0", - "@graphql-tools/utils": "^10.0.0", - "tslib": "~2.6.0" + "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-tools/utils": "^11.0.0", + "tslib": "^2.8.0" }, "engines": { "node": ">=16" @@ -2367,25 +2410,18 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, - "node_modules/@graphql-codegen/schema-ast/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, "node_modules/@graphql-codegen/typed-document-node": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-6.1.6.tgz", - "integrity": "sha512-USuQdUWBXij9HQl+GWXuLm05kjpOVwViBfnNi7ijES4HFwAmt/EDAnYSCfUoOHCfFQeWcfqYbtcUGJO9iXiSYQ==", + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-6.1.8.tgz", + "integrity": "sha512-+qDdiJSQ7Ol+vpLMAH8ZJok50CvlYxA6seQ7cwEa3emXt8MmH5hh3zdc9unQlPc7bynoJHRCgoKk7E0B7hry0w==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-codegen/visitor-plugin-common": "6.2.3", + "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-codegen/visitor-plugin-common": "^6.3.0", "auto-bind": "~4.0.0", "change-case-all": "1.0.15", - "tslib": "~2.6.0" + "tslib": "^2.8.0" }, "engines": { "node": ">=16" @@ -2394,25 +2430,18 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, - "node_modules/@graphql-codegen/typed-document-node/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, "node_modules/@graphql-codegen/typescript": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-5.0.8.tgz", - "integrity": "sha512-lUW6ari+rXP6tz5B0LXjmV9rEMOphoCZAkt+SJGObLQ6w6544ZsXSsRga/EJiSvZ1fRfm9yaFoErOZ56IVThyg==", + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-5.0.10.tgz", + "integrity": "sha512-Pa8OFmL9TdhEYnLYJLYA9EhP8eEeivP/YDYq4Nb8LQaL7GXm4TGX8zELYaCM9Fu8M3iZb7iQGMt7qc+1lXz8XQ==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-codegen/schema-ast": "^5.0.0", - "@graphql-codegen/visitor-plugin-common": "6.2.3", + "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-codegen/schema-ast": "^5.0.2", + "@graphql-codegen/visitor-plugin-common": "^6.3.0", "auto-bind": "~4.0.0", - "tslib": "~2.6.0" + "tslib": "^2.8.0" }, "engines": { "node": ">=16" @@ -2422,17 +2451,17 @@ } }, "node_modules/@graphql-codegen/typescript-operations": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-5.0.8.tgz", - "integrity": "sha512-5H58DnDIy59Q+wcPRu13UnAS7fkMCW/vPI1+g8rHBmxuV9YGyGlVL9lE/fmJ06181hI7G9YGuUaoFYMJFU6bxQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-5.1.0.tgz", + "integrity": "sha512-JlmjbFl0EnsfMDIYvTE1Q0kAOrntVEZ+ZfBqWTP91g4e0F/TzuwJ/V4tiFmeDf5dx/rf9AK4VkPehIdxu7TYhw==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-codegen/typescript": "^5.0.8", - "@graphql-codegen/visitor-plugin-common": "6.2.3", + "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-codegen/typescript": "^5.0.10", + "@graphql-codegen/visitor-plugin-common": "^6.3.0", "auto-bind": "~4.0.0", - "tslib": "~2.6.0" + "tslib": "^2.8.0" }, "engines": { "node": ">=16" @@ -2447,37 +2476,23 @@ } } }, - "node_modules/@graphql-codegen/typescript-operations/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-codegen/typescript/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, "node_modules/@graphql-codegen/visitor-plugin-common": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-6.2.3.tgz", - "integrity": "sha512-Rewl/QRFfIOXHFK3i/ts4VodsaB4N22kckH1zweTzq7SFodkfrqGrLa/MrGLJ/q6aUuqGiqao7f4Za2IjjkCxw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-6.3.0.tgz", + "integrity": "sha512-vGBoE+4huzZyNhyGSAhXAkdROHlwKxxuziZm4XtP1mxe7nuI+VgyOmXebafLijbmuDsptPXQN0C/htL54O8hrg==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-codegen/plugin-helpers": "^6.3.0", "@graphql-tools/optimize": "^2.0.0", - "@graphql-tools/relay-operation-optimizer": "^7.0.0", - "@graphql-tools/utils": "^10.0.0", + "@graphql-tools/relay-operation-optimizer": "^7.1.1", + "@graphql-tools/utils": "^11.0.0", "auto-bind": "~4.0.0", "change-case-all": "1.0.15", "dependency-graph": "^1.0.0", "graphql-tag": "^2.11.0", "parse-filepath": "^1.0.2", - "tslib": "~2.6.0" + "tslib": "^2.8.0" }, "engines": { "node": ">=16" @@ -2486,13 +2501,6 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, - "node_modules/@graphql-codegen/visitor-plugin-common/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, "node_modules/@graphql-hive/signal": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@graphql-hive/signal/-/signal-2.0.0.tgz", @@ -2504,13 +2512,13 @@ } }, "node_modules/@graphql-tools/apollo-engine-loader": { - "version": "8.0.28", - "resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.28.tgz", - "integrity": "sha512-MzgDrUuoxp6dZeo54zLBL3cEJKJtM3N/2RqK0rbPxPq5X2z6TUA7EGg8vIFTUkt5xelAsUrm8/4ai41ZDdxOng==", + "version": "8.0.31", + "resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.31.tgz", + "integrity": "sha512-ToqJ24QuNtGPG7XDQP7KWFMFacz7/Q7FtsNhWBNffljSloG6w6UrvAf85Ono+8d32OI5Es8tKhn2K1IBtzhj4Q==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/utils": "^11.1.1", "@whatwg-node/fetch": "^0.10.13", "sync-fetch": "0.6.0", "tslib": "^2.4.0" @@ -2522,29 +2530,10 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/apollo-engine-loader/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/batch-execute": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-10.0.5.tgz", - "integrity": "sha512-dL13tXkfGvAzLq2XfzTKAy9logIcltKYRuPketxdh3Ok3U6PN1HKMCHfrE9cmtAsxD96/8Hlghz5AtM+LRv/ig==", + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-10.0.8.tgz", + "integrity": "sha512-Kobt37qrVTFhX4HUK5/vPgMXFw/5f97AzmAlfmDBSRh/GnoAmLKCb48FrEI3gdeIwZB2fEhVHJyDqsojldnLQA==", "dev": true, "license": "MIT", "dependencies": { @@ -2560,34 +2549,15 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/batch-execute/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/code-file-loader": { - "version": "8.1.28", - "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-8.1.28.tgz", - "integrity": "sha512-BL3Ft/PFlXDE5nNuqA36hYci7Cx+8bDrPDc8X3VSpZy9iKFBY+oQ+IwqnEHCkt8OSp2n2V0gqTg4u3fcQP1Kwg==", + "version": "8.1.33", + "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-8.1.33.tgz", + "integrity": "sha512-FKMZ6ktSNeewLfjIkW96Kw73NBLkK37C6Gh1kv5QtJy/tumuZYt8uTq9bM3P1Y82OscGyVC6/4V12TVaEraYCw==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/graphql-tag-pluck": "8.3.27", - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/graphql-tag-pluck": "8.3.32", + "@graphql-tools/utils": "^11.1.1", "globby": "^11.0.3", "tslib": "^2.4.0", "unixify": "^1.0.0" @@ -2599,33 +2569,14 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/code-file-loader/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/delegate": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-12.0.8.tgz", - "integrity": "sha512-yltGepWaJ9KsBY3QREJrZUKadhaiT4mO4ZO42hF/vfD2fIIOKZjn99qCSZBJ0YpVbLctPrgWrgDs3WgAl13fsA==", + "version": "12.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-12.0.17.tgz", + "integrity": "sha512-pIVszWEm69rF+bkM0jUyM1KdIxGzygQbIp1GtV1CuEGRB8lN1uFY1eeTzM2nudHXg8cj+XSVO8cnRpph+o8Dmg==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/batch-execute": "^10.0.5", + "@graphql-tools/batch-execute": "^10.0.8", "@graphql-tools/executor": "^1.4.13", "@graphql-tools/schema": "^10.0.29", "@graphql-tools/utils": "^11.0.0", @@ -2641,25 +2592,6 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/delegate/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/documents": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@graphql-tools/documents/-/documents-1.0.1.tgz", @@ -2678,12 +2610,12 @@ } }, "node_modules/@graphql-tools/executor": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.5.1.tgz", - "integrity": "sha512-n94Qcu875Mji9GQ52n5UbgOTxlgvFJicBPYD+FRks9HKIQpdNPjkkrKZUYNG51XKa+bf03rxNflm4+wXhoHHrA==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.5.4.tgz", + "integrity": "sha512-6CdAENBTtVIXmOoJWJvYNFpE0b8zzwAMZ+VGkyLY2QT5dRGCjZTnGpDIFtxQa8IvRjnPpY3iUptgPlqTLOw3VA==", "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/utils": "^11.1.1", "@graphql-typed-document-node/core": "^3.2.0", "@repeaterjs/repeater": "^3.0.4", "@whatwg-node/disposablestack": "^0.0.6", @@ -2714,29 +2646,10 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/executor-common/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/executor-graphql-ws": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-3.1.4.tgz", - "integrity": "sha512-wCQfWYLwg1JZmQ7rGaFy74AQyVFxpeqz19WWIGRgANiYlm+T0K3Hs6POgi0+nL3HvwxJIxhUlaRLFvkqm1zxSA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-3.1.5.tgz", + "integrity": "sha512-WXRsfwu9AkrORD9nShrd61OwwxeQ5+eXYcABRR3XPONFIS8pWQfDJGGqxql9/227o/s0DV5SIfkBURb5Knzv+A==", "dev": true, "license": "MIT", "dependencies": { @@ -2755,29 +2668,10 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/executor-graphql-ws/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/executor-http": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-3.1.0.tgz", - "integrity": "sha512-DTaNU1rT2sxffwQlt+Aw68cHQWfGkjsaRk1D8nvG+DcCR8RNQo0d9qYt7pXIcfXYcQLb/OkABcGSuCfkopvHJg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-3.3.0.tgz", + "integrity": "sha512-IkKXIjSg9U8MNsQUBVJAXE4+LSxaQ0cs7p5JTALLGDABY1o17vPDRwWALsX81AXD5dY27ihi/+OhGMueW/Fopg==", "dev": true, "license": "MIT", "dependencies": { @@ -2798,74 +2692,18 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/executor-http/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/executor-legacy-ws": { - "version": "1.1.25", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.1.25.tgz", - "integrity": "sha512-6uf4AEXO0QMxJ7AWKVPqEZXgYBJaiz5vf29X0boG8QtcqWy8mqkXKWLND2Swdx0SbEx0efoGFcjuKufUcB0ASQ==", + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.1.29.tgz", + "integrity": "sha512-Z8fBtK8Uyp1Lyt3UgRu6BPx1fL3wvnGiRS1Wbb+nWQuwGacXDS8Pfr2e5BmV3OCHG2prbkJMr+caVFMWCbt9ug==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/utils": "^11.1.1", "@types/ws": "^8.0.0", "isomorphic-ws": "^5.0.0", "tslib": "^2.4.0", - "ws": "^8.19.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/executor-legacy-ws/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/executor/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" + "ws": "^8.21.0" }, "engines": { "node": ">=16.0.0" @@ -2875,14 +2713,14 @@ } }, "node_modules/@graphql-tools/git-loader": { - "version": "8.0.32", - "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-8.0.32.tgz", - "integrity": "sha512-H5HTp2vevv0rRMEnCJBVmVF8md3LpJI1C1+d6OtzvmuONJ8mOX2mkf9rtoqwiztynVegaDUekvMFsc9k5iE2WA==", + "version": "8.0.37", + "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-8.0.37.tgz", + "integrity": "sha512-J1GNGyjb8inHWXt4F9n5flmaiwhYP9WcwTWBs/fSeXikppcz+yGOO4BM0xx9BOEROxKW5fDM6UT9MdRCcs++zw==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/graphql-tag-pluck": "8.3.27", - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/graphql-tag-pluck": "8.3.32", + "@graphql-tools/utils": "^11.1.1", "is-glob": "4.0.3", "micromatch": "^4.0.8", "tslib": "^2.4.0", @@ -2895,35 +2733,16 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/git-loader/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/github-loader": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-9.0.6.tgz", - "integrity": "sha512-hhlt2MMkRcvDva/qyzqFddXzaMmRnriJ0Ts+/LcNeYnB8hcEqRMpF9RCsHYjo1mFRaiu8i4PSIpXyyFu3To7Ow==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-9.1.3.tgz", + "integrity": "sha512-sKxjy4zZ12ci0y4Wd/rl7odyl7dN1EU6Ttx8nhHHZs+VXaaasNoAni2pOrll8IR1wlYWhAe0hLBQDWblp7gWiw==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/executor-http": "^3.0.6", - "@graphql-tools/graphql-tag-pluck": "^8.3.27", - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/executor-http": "^3.3.0", + "@graphql-tools/graphql-tag-pluck": "^8.3.32", + "@graphql-tools/utils": "^11.1.1", "@whatwg-node/fetch": "^0.10.13", "@whatwg-node/promise-helpers": "^1.0.0", "sync-fetch": "0.6.0", @@ -2936,34 +2755,15 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/github-loader/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/graphql-file-loader": { - "version": "8.1.9", - "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.1.9.tgz", - "integrity": "sha512-rkLK46Q62Zxift8B6Kfw6h8SH3pCR3DPCfNeC/lpLwYReezZz+2ARuLDFZjQGjW+4lpMwiAw8CIxDyQAUgqU6A==", + "version": "8.1.15", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.1.15.tgz", + "integrity": "sha512-ehK6IuX1G2Rc1uVaEUE/M+D7JAGnBux+Ia/BPL92WNcTYBcvYZfFPuR9JA5Fn1wOxplRiRFyERzQEMltZF0nhg==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/import": "7.1.9", - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/import": "^7.1.15", + "@graphql-tools/utils": "^11.1.1", "globby": "^11.0.3", "tslib": "^2.4.0", "unixify": "^1.0.0" @@ -2975,57 +2775,19 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/graphql-file-loader/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/graphql-tag-pluck": { - "version": "8.3.27", - "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.3.27.tgz", - "integrity": "sha512-CJ0WVXhGYsfFngpRrAAcjRHyxSDHx4dEz2W15bkwvt9he/AWhuyXm07wuGcoLrl0q0iQp1BiRjU7D8SxWZo3JQ==", + "version": "8.3.32", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.3.32.tgz", + "integrity": "sha512-5CuTW3kSv7fQ6gsaGS/A+tL3wXeLBN1vMQF5MDFhyv+GIpMYdOzbcaGrLIppxFam7IAu+ZUri8s6fxsdreL4Lw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.26.10", - "@babel/parser": "^7.26.10", + "@babel/core": "^7.29.7", + "@babel/parser": "^7.29.3", "@babel/plugin-syntax-import-assertions": "^7.26.0", "@babel/traverse": "^7.26.10", "@babel/types": "^7.26.10", - "@graphql-tools/utils": "^11.0.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/graphql-tag-pluck/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", + "@graphql-tools/utils": "^11.1.1", "tslib": "^2.4.0" }, "engines": { @@ -3036,14 +2798,13 @@ } }, "node_modules/@graphql-tools/import": { - "version": "7.1.9", - "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-7.1.9.tgz", - "integrity": "sha512-mHzOgyfzsAgstaZPIFEtKg4GVH4FbDHeHYrSs73mAPKS5F59/FlRuUJhAoRnxbVnc3qIZ6EsWBjOjNbnPK8viA==", + "version": "7.1.15", + "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-7.1.15.tgz", + "integrity": "sha512-uzMakKZsbKzfiJhKIjf4Hk2kft5rQGch+VITNURVGTZ3t6S4nek++EqeGFlJAR7V2vc2/Lqwpw2vCTDFpx+oZA==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.0.0", - "@theguild/federation-composition": "^0.21.1", + "@graphql-tools/utils": "^11.1.1", "resolve-from": "5.0.0", "tslib": "^2.4.0" }, @@ -3054,43 +2815,14 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/import/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/import/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@graphql-tools/json-file-loader": { - "version": "8.0.26", - "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-8.0.26.tgz", - "integrity": "sha512-kwy9IFi5QtXXTLBgWkvA1RqsZeJDn0CxsTbhNlziCzmga9fNo7qtZ18k9FYIq3EIoQQlok+b7W7yeyJATA2xhw==", + "version": "8.0.29", + "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-8.0.29.tgz", + "integrity": "sha512-2fZzOmffPOg/B0nCcGRS2MMR6d73Dh5vv9zC0xIoX9Ju3oXhXpdbvSCTvNXdt3ifXP++CjfAVunq0x9PL6Uekg==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/utils": "^11.1.1", "globby": "^11.0.3", "tslib": "^2.4.0", "unixify": "^1.0.0" @@ -3102,34 +2834,15 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/json-file-loader/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/load": { - "version": "8.1.8", - "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-8.1.8.tgz", - "integrity": "sha512-gxO662b64qZSToK3N6XUxWG5E6HOUjlg5jEnmGvD4bMtGJ0HwEe/BaVZbBQemCfLkxYjwRIBiVfOY9o0JyjZJg==", + "version": "8.1.11", + "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-8.1.11.tgz", + "integrity": "sha512-6J0PmYecHnUF6lI5QhtTXj7JYzyFi5gvgER7nS2wqLpjdOfOI+jsO1/gbXF3iS6i/ABulGBh7eyr0nmDNNwlyQ==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/schema": "^10.0.31", - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/schema": "^10.0.34", + "@graphql-tools/utils": "^11.1.1", "p-limit": "3.1.0", "tslib": "^2.4.0" }, @@ -3140,50 +2853,13 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/load/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/merge": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.1.7.tgz", - "integrity": "sha512-Y5E1vTbTabvcXbkakdFUt4zUIzB1fyaEnVmIWN0l0GMed2gdD01TpZWLUm4RNAxpturvolrb24oGLQrBbPLSoQ==", + "version": "9.1.10", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.1.10.tgz", + "integrity": "sha512-CsUCcPXv/HMWpPZ/xoOioSWFuAaAsGGPIdqQbjDv9X1sHGs0muQRW5FK7vUBN4OH/D7aPqpiHvKmRsrHz+ScuQ==", "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^11.0.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/merge/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", + "@graphql-tools/utils": "^11.1.1", "tslib": "^2.4.0" }, "engines": { @@ -3210,33 +2886,14 @@ } }, "node_modules/@graphql-tools/relay-operation-optimizer": { - "version": "7.0.27", - "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-7.0.27.tgz", - "integrity": "sha512-rdkL1iDMFaGDiHWd7Bwv7hbhrhnljkJaD0MXeqdwQlZVgVdUDlMot2WuF7CEKVgijpH6eSC6AxXMDeqVgSBS2g==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-7.1.5.tgz", + "integrity": "sha512-B3nscUeWT3wYucrvbJcmU8sAVlkCp+WhZ5wVlK432AfnLjDYUNLobHYzQnnU7tT5NncMXusPiS8K4YG4iUPjrw==", "dev": true, "license": "MIT", "dependencies": { - "@ardatan/relay-compiler": "^12.0.3", - "@graphql-tools/utils": "^11.0.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/relay-operation-optimizer/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", + "@ardatan/relay-compiler": "^13.0.1", + "@graphql-tools/utils": "^11.1.1", "tslib": "^2.4.0" }, "engines": { @@ -3247,31 +2904,13 @@ } }, "node_modules/@graphql-tools/schema": { - "version": "10.0.31", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.31.tgz", - "integrity": "sha512-ZewRgWhXef6weZ0WiP7/MV47HXiuFbFpiDUVLQl6mgXsWSsGELKFxQsyUCBos60Qqy1JEFAIu3Ns6GGYjGkqkQ==", - "license": "MIT", - "dependencies": { - "@graphql-tools/merge": "^9.1.7", - "@graphql-tools/utils": "^11.0.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", + "version": "10.0.34", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.34.tgz", + "integrity": "sha512-wGCiUuwqDtlXtDvQ00CI+4u0pd3yd/xGGYOiwc9L63KJZwSXdrUv8ajpJ5lMalawc0mpjcCB0ljEQSeUhajuag==", "license": "MIT", "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", + "@graphql-tools/merge": "^9.1.10", + "@graphql-tools/utils": "^11.1.1", "tslib": "^2.4.0" }, "engines": { @@ -3282,16 +2921,16 @@ } }, "node_modules/@graphql-tools/url-loader": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-9.0.6.tgz", - "integrity": "sha512-QdJI3f7ANDMYfYazRgJzzybznjOrQAOuDXweC9xmKgPZoTqNxEAsatiy69zcpTf6092taJLyrqRH6R7xUTzf4A==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-9.1.3.tgz", + "integrity": "sha512-i8rZVsXzYe8klXbIUXxRkMK5bHloM9JyFnHzSYdzciRPxym8QzDnL3QY4eZjS4luDb2DdJ8Ak0G8ghJ0BSVTVw==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/executor-graphql-ws": "^3.1.2", - "@graphql-tools/executor-http": "^3.0.6", - "@graphql-tools/executor-legacy-ws": "^1.1.25", - "@graphql-tools/utils": "^11.0.0", + "@graphql-tools/executor-graphql-ws": "^3.1.4", + "@graphql-tools/executor-http": "^3.3.0", + "@graphql-tools/executor-legacy-ws": "^1.1.29", + "@graphql-tools/utils": "^11.1.1", "@graphql-tools/wrap": "^11.1.1", "@types/ws": "^8.0.0", "@whatwg-node/fetch": "^0.10.13", @@ -3299,7 +2938,7 @@ "isomorphic-ws": "^5.0.0", "sync-fetch": "0.6.0", "tslib": "^2.4.0", - "ws": "^8.19.0" + "ws": "^8.21.0" }, "engines": { "node": ">=20.0.0" @@ -3308,29 +2947,10 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/url-loader/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-tools/utils": { - "version": "10.11.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.11.0.tgz", - "integrity": "sha512-iBFR9GXIs0gCD+yc3hoNswViL1O5josI33dUqiNStFI/MHLCEPduasceAcazRH77YONKNiviHBV8f7OgcT4o2Q==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.1.tgz", + "integrity": "sha512-MuWwacINZZV6mX1ZSk6CcV4XVQLsbKBG/hLd0QPhe4GHxjqr2ATjKsnnwlB0TKI+QQvj2U8ewu8WeAzz9kC2Xg==", "license": "MIT", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", @@ -3346,13 +2966,13 @@ } }, "node_modules/@graphql-tools/wrap": { - "version": "11.1.8", - "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-11.1.8.tgz", - "integrity": "sha512-VnU7K6IDvj7kM9Viz6oAQNc6lV380u7oOG1hYau5pzHB+h1VrTYg/jHXNtWrXwB88lhCgGHjrQCJJt4wz4QdQQ==", + "version": "11.1.16", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-11.1.16.tgz", + "integrity": "sha512-JW1XGFTmltXa537J2bAr8dN/n6EWwiBuM9q8V8mWqZ0eWrf++/TT3/mlV3c0M8B8nrS/lqSsotIwPAtVZR8sWQ==", "dev": true, "license": "MIT", "dependencies": { - "@graphql-tools/delegate": "^12.0.8", + "@graphql-tools/delegate": "^12.0.17", "@graphql-tools/schema": "^10.0.29", "@graphql-tools/utils": "^11.0.0", "@whatwg-node/promise-helpers": "^1.3.2", @@ -3365,25 +2985,6 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@graphql-tools/wrap/node_modules/@graphql-tools/utils": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.0.0.tgz", - "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@graphql-typed-document-node/core": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", @@ -3433,19 +3034,6 @@ "node": ">=18.0.0" } }, - "node_modules/@hapi/address": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-5.1.1.tgz", - "integrity": "sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^11.0.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@hapi/boom": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz", @@ -3457,15 +3045,8 @@ }, "node_modules/@hapi/bourne": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz", - "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==", - "license": "BSD-3-Clause" - }, - "node_modules/@hapi/formula": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-3.0.2.tgz", - "integrity": "sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw==", - "dev": true, + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz", + "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==", "license": "BSD-3-Clause" }, "node_modules/@hapi/hoek": { @@ -3474,37 +3055,25 @@ "integrity": "sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==", "license": "BSD-3-Clause" }, - "node_modules/@hapi/pinpoint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.1.tgz", - "integrity": "sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@hapi/tlds": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@hapi/tlds/-/tlds-1.1.6.tgz", - "integrity": "sha512-xdi7A/4NZokvV0ewovme3aUO5kQhW9pQ2YD1hRqZGhhSi5rBv4usHYidVocXSi9eihYsznZxLtAiEYYUL6VBGw==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@hapi/topo": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz", - "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==", - "dev": true, + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", "license": "BSD-3-Clause", "dependencies": { - "@hapi/hoek": "^11.0.2" + "@hapi/hoek": "^9.0.0" } }, + "node_modules/@hapi/topo/node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" + }, "node_modules/@hapi/wreck": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-18.1.0.tgz", - "integrity": "sha512-0z6ZRCmFEfV/MQqkQomJ7sl/hyxvcZM7LtuVqN3vdAO4vM9eBbowl0kaqQj9EJJQab+3Uuh1GxbGIBFy4NfJ4w==", + "version": "18.1.2", + "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-18.1.2.tgz", + "integrity": "sha512-3dMnV2pfhQiyEqu8DL3VBmxkdLiRDiiUDuG79Dp+UK1gL9ZxAfDOUhB6k3D5MLqcgJJ1IARyGFhwoc1NITr/pg==", "license": "BSD-3-Clause", "dependencies": { "@hapi/boom": "^10.0.1", @@ -3513,9 +3082,9 @@ } }, "node_modules/@headlessui/react": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-2.2.9.tgz", - "integrity": "sha512-Mb+Un58gwBn0/yWZfyrCh0TJyurtT+dETj7YHleylHk5od3dv2XqETPGWMyQ5/7sYN7oWdyM1u9MvC0OC8UmzQ==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-2.2.10.tgz", + "integrity": "sha512-5pVLNK9wlpxTUTy9GpgbX/SdcRh+HBnPktjM2wbiLTH4p+2EPHBO1aoSryUCuKUIItdDWO9ITlhUL8UnUN/oIA==", "dev": true, "license": "MIT", "dependencies": { @@ -3544,9 +3113,9 @@ } }, "node_modules/@hono/node-server": { - "version": "1.19.9", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz", - "integrity": "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==", + "version": "1.19.14", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.14.tgz", + "integrity": "sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==", "dev": true, "license": "MIT", "engines": { @@ -3557,29 +3126,43 @@ } }, "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, "engines": { "node": ">=18.18.0" } }, "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanfs/core": "^0.19.1", + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" }, "engines": { "node": ">=18.18.0" } }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -3609,9 +3192,9 @@ } }, "node_modules/@img/colour": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", - "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", "dev": true, "license": "MIT", "optional": true, @@ -3707,6 +3290,9 @@ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -3724,6 +3310,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -3741,6 +3330,9 @@ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -3758,6 +3350,9 @@ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -3775,6 +3370,9 @@ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -3792,6 +3390,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -3809,6 +3410,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -3826,6 +3430,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "LGPL-3.0-or-later", "optional": true, "os": [ @@ -3843,6 +3450,9 @@ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -3866,6 +3476,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -3889,6 +3502,9 @@ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -3912,6 +3528,9 @@ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -3935,6 +3554,9 @@ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -3958,6 +3580,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -3981,6 +3606,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -4004,6 +3632,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "Apache-2.0", "optional": true, "os": [ @@ -4449,6 +4080,36 @@ } } }, + "node_modules/@internationalized/date": { + "version": "3.12.2", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.12.2.tgz", + "integrity": "sha512-FY1Y+H64NDs+HAF6omlnWxm3mEpfgaCSWtL5l551ZZfImA+kGjPFgrnJrGjH6lfmLL0g8Z/mBu1R3kufeCp6Jw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.6.7", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.7.tgz", + "integrity": "sha512-3ji1fcrT+FPAK86UqEhB/psHixYo6niWPJtt7+qRaYFynt/BaJG8GhAPimtWUpEiVSTq8ZM8L5psMxGquiB/Vg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/string": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.9.tgz", + "integrity": "sha512-kzP/M/mbQxODlmOt4bIQZ2SBVUWUSqMLXooXixnX7noche8WHaQcA+nwFN1K2KCF/cp+LDUhcJsCicwkvhD1pg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -4519,9 +4180,9 @@ } }, "node_modules/@modelcontextprotocol/sdk": { - "version": "1.27.1", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.27.1.tgz", - "integrity": "sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA==", + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.29.0.tgz", + "integrity": "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4560,9 +4221,9 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "dev": true, "license": "MIT", "dependencies": { @@ -4584,38 +4245,25 @@ "license": "MIT" }, "node_modules/@mongodb-js/saslprep": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.6.tgz", - "integrity": "sha512-y+x3H1xBZd38n10NZF/rEBlvDOOMQ6LKUTHqr8R9VkJ+mmQOYtJFxIlkkK8fZrtOiL6VixbOBWMbZGBdal3Z1g==", + "version": "1.4.12", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.12.tgz", + "integrity": "sha512-QAfAMwNgnYxZ2C6D1HgeP7Gc4i/uvJRim415PCIL9ptRxWMNbWeLBYb2/9R4pGKny/s1FVu2JA2cxCUBUOggrA==", "license": "MIT", "dependencies": { "sparse-bitfield": "^3.0.3" } }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" - } - }, "node_modules/@next/env": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.6.tgz", - "integrity": "sha512-N1ySLuZjnAtN3kFnwhAwPvZah8RJxKasD7x1f8shFqhncnWZn4JMfg37diLNuoHsLAlrDfM3g4mawVdtAG8XLQ==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.10.tgz", + "integrity": "sha512-zLPxg9M0MEHmygpj5OuxjQ+vHMiy/K7cSp74G8ecYolmgUWw0RwN02tF56npup/+qaI8JB97hQgS/r2Hb6QwVA==", "dev": true, "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.1.6.tgz", - "integrity": "sha512-/Qq3PTagA6+nYVfryAtQ7/9FEr/6YVyvOtl6rZnGsbReGLf0jZU6gkpr1FuChAQpvV46a78p4cmHOVP8mbfSMQ==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.10.tgz", + "integrity": "sha512-Gs8D2m21VnJeFo9qvYIIqJH94frWerWYu41BprU1pLtRVF7PCQNLiFZZ3fG+iPuj3K83Cwv/rt+msLOy8Qgu3Q==", "dev": true, "license": "MIT", "dependencies": { @@ -4623,9 +4271,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.6.tgz", - "integrity": "sha512-wTzYulosJr/6nFnqGW7FrG3jfUUlEf8UjGA0/pyypJl42ExdVgC6xJgcXQ+V8QFn6niSG2Pb8+MIG1mZr2vczw==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.10.tgz", + "integrity": "sha512-v9IdJCa0H0mbo+8z5zwUpOk1Vj7RjkcI5uNYf5Ws1y6szf/p3Mzl9hLaST8SCt6L9h8NGnruZcd2+o0NTNwDhA==", "cpu": [ "arm64" ], @@ -4640,9 +4288,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.6.tgz", - "integrity": "sha512-BLFPYPDO+MNJsiDWbeVzqvYd4NyuRrEYVB5k2N3JfWncuHAy2IVwMAOlVQDFjj+krkWzhY2apvmekMkfQR0CUQ==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.10.tgz", + "integrity": "sha512-17IS0jJRViROGmA9uGdNR8VPJpfbnaVG7E9qhso5jDLkmyd0lSDORWxbcKINzcFqzZqGwGtMSnrFRxBpuUYjLQ==", "cpu": [ "x64" ], @@ -4657,13 +4305,16 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.6.tgz", - "integrity": "sha512-OJYkCd5pj/QloBvoEcJ2XiMnlJkRv9idWA/j0ugSuA34gMT6f5b7vOiCQHVRpvStoZUknhl6/UxOXL4OwtdaBw==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.10.tgz", + "integrity": "sha512-GRQRsRtuciNJvB54AvvuQTiq0oZtFwa1owQqtZD8wwnGpM2L39MV22kpI72YSXLKIyY40LC66EiLFv4PiicXxg==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -4674,13 +4325,16 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.6.tgz", - "integrity": "sha512-S4J2v+8tT3NIO9u2q+S0G5KdvNDjXfAv06OhfOzNDaBn5rw84DGXWndOEB7d5/x852A20sW1M56vhC/tRVbccQ==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.10.tgz", + "integrity": "sha512-zkN9MQYS7UQBro+FnISUq1itaQjXI9xqISzuQ+2bc921NcJ1x4yPCqrn77tVN6/dOOXaaWVX3k6/bR07pPwK+A==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -4691,13 +4345,16 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.6.tgz", - "integrity": "sha512-2eEBDkFlMMNQnkTyPBhQOAyn2qMxyG2eE7GPH2WIDGEpEILcBPI/jdSv4t6xupSP+ot/jkfrCShLAa7+ZUPcJQ==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.10.tgz", + "integrity": "sha512-iCVJnwvrPYECvA6WM/7+oo+OiTvedIKLxtCLAZP4xZR3nXa1zmzZyLPbYCmWvpd4CvMYF1EMTafd0ii3DygLvA==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -4708,13 +4365,16 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.6.tgz", - "integrity": "sha512-oicJwRlyOoZXVlxmIMaTq7f8pN9QNbdes0q2FXfRsPhfCi8n8JmOZJm5oo1pwDaFbnnD421rVU409M3evFbIqg==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.10.tgz", + "integrity": "sha512-ov2g4H0dHY9bPoOU83m91hWT7Iq5qy13bUnyyshLU3HGR1Ownn0X9QpmDPc5iIUaahTp7f7LeGAhV4DSFtackw==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -4725,9 +4385,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.6.tgz", - "integrity": "sha512-gQmm8izDTPgs+DCWH22kcDmuUp7NyiJgEl18bcr8irXA5N2m2O+JQIr6f3ct42GOs9c0h8QF3L5SzIxcYAAXXw==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.10.tgz", + "integrity": "sha512-DwAnhLX76HQiFFQNgWlcK+JzlnD1rZ+UK/WY0ZMI/deXpvgnesjNYrqcfo1JzBuz4Kf7o3brIBL0glI1junatA==", "cpu": [ "arm64" ], @@ -4742,9 +4402,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.6.tgz", - "integrity": "sha512-NRfO39AIrzBnixKbjuo2YiYhB6o9d8v/ymU9m/Xk8cyVk+k7XylniXkHwjs4s70wedVffc6bQNbufk5v0xEm0A==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.10.tgz", + "integrity": "sha512-0JXq3b85Jk9Jg4ntLUbXSPvoDw3gpZou7twuKdoFG2jOw635v7+IiXfTaa0TxVMyx78pUjnrVYwLgjKfX4e6/A==", "cpu": [ "x64" ], @@ -4759,12 +4419,12 @@ } }, "node_modules/@noble/curves": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.0.1.tgz", - "integrity": "sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.2.0.tgz", + "integrity": "sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==", "license": "MIT", "dependencies": { - "@noble/hashes": "2.0.1" + "@noble/hashes": "2.2.0" }, "engines": { "node": ">= 20.19.0" @@ -4774,9 +4434,9 @@ } }, "node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -4785,6 +4445,19 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@nodable/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-9uGyhaQavEUMC8AIddIjau4NsnsXhou+j5sBAGojCM1oxmQpVKTWR/9JxABD6UAv12vpIms55fPZKFQEhG6uBg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/nodable" + } + ], + "license": "MIT" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -4823,20 +4496,10 @@ "node": ">= 8" } }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.4.0" - } - }, "node_modules/@opentelemetry/api": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", - "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz", + "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4844,25 +4507,25 @@ } }, "node_modules/@parse/node-apn": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@parse/node-apn/-/node-apn-7.1.0.tgz", - "integrity": "sha512-a40P5nScLDi9Pf7koKKkbwI73px0q+iLaKYNrr7kyKJebq/4duGOy3mMevZS0zltn171k3jB5BWCC27dPGsMmw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@parse/node-apn/-/node-apn-8.1.0.tgz", + "integrity": "sha512-LowcdkKPDikbbzIr3zwEdoFW5wfEbbTzpYQeen3S8kKLePG0AQK586Li+OLC7bonyLmlk//Yk3smHZOLSV6TZA==", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { "debug": "4.4.3", "jsonwebtoken": "9.0.3", - "node-forge": "1.3.2", + "node-forge": "1.4.0", "verror": "1.10.1" }, "engines": { - "node": ">=18" + "node": "20 || 22 || 24" } }, "node_modules/@passwordless-id/webauthn": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@passwordless-id/webauthn/-/webauthn-2.3.5.tgz", - "integrity": "sha512-b/Nrsd9nkkLAKDybUmgQOLcjF5eILO3vjo6uVsvmCGD0XDacGB9b8wFnZGMnBMqvu8eDl5wYGrZ9PoaZ1ODlhw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@passwordless-id/webauthn/-/webauthn-2.4.0.tgz", + "integrity": "sha512-xOuI2/7nSgxEt6aFnJYOayoq2SHNplqEsHf1A40rTfmU/7LKs97LiyAumFzqxymHPc/eZNeHpJtqFcr3WFN9JQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/passwordless-id" @@ -4875,30 +4538,27 @@ "license": "MIT" }, "node_modules/@pkgr/core": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", - "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.3.6.tgz", + "integrity": "sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "node": "^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/pkgr" } }, "node_modules/@react-aria/focus": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.21.4.tgz", - "integrity": "sha512-6gz+j9ip0/vFRTKJMl3R30MHopn4i19HqqLfSQfElxJD+r9hBnYG1Q6Wd/kl/WRR1+CALn2F+rn06jUnf5sT8Q==", + "version": "3.22.1", + "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.22.1.tgz", + "integrity": "sha512-CPxtkyrBi/HYY5P3lE/57sQ6qfa0lN8E55TOm89H0kNGv0lKt+/0zP7lWERzBjRr5IxBVrQX4gFEowBN52LPaA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@react-aria/interactions": "^3.27.0", - "@react-aria/utils": "^3.33.0", - "@react-types/shared": "^3.33.0", "@swc/helpers": "^0.5.0", - "clsx": "^2.0.0" + "react-aria": "^3.48.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", @@ -4906,85 +4566,25 @@ } }, "node_modules/@react-aria/interactions": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.27.0.tgz", - "integrity": "sha512-D27pOy+0jIfHK60BB26AgqjjRFOYdvVSkwC31b2LicIzRCSPOSP06V4gMHuGmkhNTF4+YWDi1HHYjxIvMeiSlA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@react-aria/ssr": "^3.9.10", - "@react-aria/utils": "^3.33.0", - "@react-stately/flags": "^3.1.2", - "@react-types/shared": "^3.33.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" - } - }, - "node_modules/@react-aria/ssr": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.10.tgz", - "integrity": "sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/helpers": "^0.5.0" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" - } - }, - "node_modules/@react-aria/utils": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.33.0.tgz", - "integrity": "sha512-yvz7CMH8d2VjwbSa5nGXqjU031tYhD8ddax95VzJsHSPyqHDEGfxul8RkhGV6oO7bVqZxVs6xY66NIgae+FHjw==", + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.28.1.tgz", + "integrity": "sha512-Bqb+HrD5I5MHS2SKBhISYqo2SW8Y2dfzgF/Y1lIJq7xqLxheo9vzxPGEHhz+XzkgGfoqEJx8A6a3C7uiqS3HWA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@react-aria/ssr": "^3.9.10", - "@react-stately/flags": "^3.1.2", - "@react-stately/utils": "^3.11.0", - "@react-types/shared": "^3.33.0", + "@react-types/shared": "^3.34.0", "@swc/helpers": "^0.5.0", - "clsx": "^2.0.0" + "react-aria": "^3.48.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, - "node_modules/@react-stately/flags": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.1.2.tgz", - "integrity": "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, - "node_modules/@react-stately/utils": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.11.0.tgz", - "integrity": "sha512-8LZpYowJ9eZmmYLpudbo/eclIRnbhWIJZ994ncmlKlouNzKohtM8qTC6B1w1pwUbiwGdUoyzLuQbeaIor5Dvcw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" - } - }, "node_modules/@react-types/shared": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.33.0.tgz", - "integrity": "sha512-xuUpP6MyuPmJtzNOqF5pzFUIHH2YogyOQfUQHag54PRmWB7AbjuGWBUv0l1UDmz6+AbzAYGmDVAzcRDOu2PFpw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.36.0.tgz", + "integrity": "sha512-DkP/H0C2YjjS7gZWKNqOmU8a16qHPjQNdzMwmTq9SzplM6Iw0kVMTZ0OIoe6FOgGqa+FwMsE2QbPjh/n3g/jXQ==", "dev": true, "license": "Apache-2.0", "peerDependencies": { @@ -4992,30 +4592,34 @@ } }, "node_modules/@redis/client": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/@redis/client/-/client-5.11.0.tgz", - "integrity": "sha512-GHoprlNQD51Xq2Ztd94HHV94MdFZQ3CVrpA04Fz8MVoHM0B7SlbmPEVIjwTbcv58z8QyjnrOuikS0rWF03k5dQ==", + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/@redis/client/-/client-5.12.1.tgz", + "integrity": "sha512-7aPGWeqA3uFm43o19umzdl16CEjK/JQGtSXVPevplTaOU3VJA/rseBC1QvYUz9lLDIMBimc4SW/zrW4S89BaCA==", "dev": true, "license": "MIT", "dependencies": { "cluster-key-slot": "1.1.2" }, "engines": { - "node": ">= 18" + "node": ">= 18.19.0" }, "peerDependencies": { - "@node-rs/xxhash": "^1.1.0" + "@node-rs/xxhash": "^1.1.0", + "@opentelemetry/api": ">=1 <2" }, "peerDependenciesMeta": { "@node-rs/xxhash": { "optional": true + }, + "@opentelemetry/api": { + "optional": true } } }, "node_modules/@reduxjs/toolkit": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.11.2.tgz", - "integrity": "sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.12.0.tgz", + "integrity": "sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==", "dev": true, "license": "MIT", "dependencies": { @@ -5039,27 +4643,16 @@ } } }, - "node_modules/@reduxjs/toolkit/node_modules/immer": { - "version": "11.1.4", - "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.4.tgz", - "integrity": "sha512-XREFCPo6ksxVzP4E0ekD5aMdf8WMwmdNaz6vuvxgI40UaEiu6q3p8X52aU6GdyvLY3XXX/8R7JOTXStz/nBbRw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, "node_modules/@repeaterjs/repeater": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.6.tgz", - "integrity": "sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.1.0.tgz", + "integrity": "sha512-TaoVksZRSx2KWYYpyLQtMQXXeS98VsgZImzW65xmiVgbYhXLk+aEsmzPLirqVuE4/XuUapH2iMtxUzaBNDzdSQ==", "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.61.0.tgz", - "integrity": "sha512-dnxczajOqt0gesZlN5pGQ1s1imQVrsmCw5G2Ci4oM+0WvNz3pyRnlWrT7McoZIb8VlFwCawdmbWRmxRn7HI+VQ==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz", + "integrity": "sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==", "cpu": [ "arm" ], @@ -5071,9 +4664,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.61.0.tgz", - "integrity": "sha512-Bp3JpGP00Vu3f238ivRrjf7z3xSzVPXqCmaJYA9t2c+c8vKYvOzmXF7LkkeUalTEGd6cZcSWe+PFIP3Vy48fRg==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz", + "integrity": "sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==", "cpu": [ "arm64" ], @@ -5085,9 +4678,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.61.0.tgz", - "integrity": "sha512-zaYIpr670mUmmZ1tVzUFplbQbG7h3Gugx3L5FoqhsC2m/YnLlR1a7zVLmXNPy+iY1tFPEbNG+HHBXZGyId0G5w==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz", + "integrity": "sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==", "cpu": [ "arm64" ], @@ -5099,9 +4692,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.61.0.tgz", - "integrity": "sha512-+P49fvkv2dSoeevUW+lgZ/I2JHSsJCK1Lyjj7Cu6E4UHG4tS9XIefzIjo5qhgELjAclnen1rLzK2PMKJdo+Dyg==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz", + "integrity": "sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==", "cpu": [ "x64" ], @@ -5113,9 +4706,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.61.0.tgz", - "integrity": "sha512-l3FAAOyKJXH2ea6KNFN+MMgC/rnE94YGLXs2ehYqDcCoHt1DpvgWX75BhUJxN38XojP7Ul+4H8PRn7EdyqSDrw==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz", + "integrity": "sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==", "cpu": [ "arm64" ], @@ -5127,9 +4720,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.61.0.tgz", - "integrity": "sha512-VokPN3TSctKj65cyCNPaUh4vMFA8awxOot/0sp+4J7ZlNRKQEhXhawqPwajoi8H5ZFt61i0ugZJuTKXBjGJ17Q==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz", + "integrity": "sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==", "cpu": [ "x64" ], @@ -5141,9 +4734,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.61.0.tgz", - "integrity": "sha512-DxH0P3wxm+Yzs/p3zrk9dw1rURu8p0Nv5+MRK/L7OtnLNg5rLZraSBFZ8iUXOd9f2BlhJyEpIZUH/emjq4UJ4g==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz", + "integrity": "sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==", "cpu": [ "arm" ], @@ -5158,9 +4751,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.61.0.tgz", - "integrity": "sha512-T6ZvMNe84kAz6TBWHC7hGAoEtzP1LWYw/AqayGWEF6uISt3Abk/st06LqRD9THd7Xz3NxzurUpzAuEAUbZf+nw==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz", + "integrity": "sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==", "cpu": [ "arm" ], @@ -5175,9 +4768,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.61.0.tgz", - "integrity": "sha512-q/4hzvQkDs8b4jIBab1pnLiiM0ayTZsN2amBFPDzuyZxjEd4wDwx0UJFYM3cOZzSf5Kw8fnWSprJzIBMkcR44Q==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz", + "integrity": "sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==", "cpu": [ "arm64" ], @@ -5192,9 +4785,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.61.0.tgz", - "integrity": "sha512-vvYWX3akdEAY6km+9wAqFDnk6pQsbJKVnj7xawcvs/+fdlYBGp+U+Qq/lLfpIxYIZvZLHMAKD9HLdacSx/r3dw==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz", + "integrity": "sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==", "cpu": [ "arm64" ], @@ -5209,9 +4802,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.61.0.tgz", - "integrity": "sha512-DePa5cqOxDP/Zp0VOXpeWaGew5iIv5DXp9NYbzkX5PFQyWVX9184WCTh3hvr/7lhXo8ZVlbFLkz8+o/q1dU6gA==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz", + "integrity": "sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==", "cpu": [ "loong64" ], @@ -5226,9 +4819,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.61.0.tgz", - "integrity": "sha512-LV8aWMB8UChglMCEzs7RkN0GsH29RJaLLqwm9fCIjlqwxQTiWAqNcc7wjBkH31hV0PU/yVxGYvrYsgfea2qw6g==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz", + "integrity": "sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==", "cpu": [ "loong64" ], @@ -5243,9 +4836,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.61.0.tgz", - "integrity": "sha512-QoNSnwQtaeNu5grdBbsL0tt1uyl5EnS8DA8Mr3nluMXbhdQNyhN+G4tBax7VCdxLKj8YJ0/4OO9Ho84jMnJtKA==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz", + "integrity": "sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==", "cpu": [ "ppc64" ], @@ -5260,9 +4853,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.61.0.tgz", - "integrity": "sha512-/zZp5MKapIIApE8trN8qLGNSiRN9TUoaUZ1cmVu4XnVdd5LQLOXTtyi+vtfUbNnT3iyjzpPqYeKXmvJ+gJGYWw==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz", + "integrity": "sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==", "cpu": [ "ppc64" ], @@ -5277,9 +4870,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.61.0.tgz", - "integrity": "sha512-RbrzcD3aJ1k3UbtMRRBNwojdVVyXjuVAFTfn/xPa6EEl6GE9Sm/akPgFTb9aAC9pMKGJ6CtWxaGrqWcabH+ySg==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz", + "integrity": "sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==", "cpu": [ "riscv64" ], @@ -5294,9 +4887,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.61.0.tgz", - "integrity": "sha512-ZF+onDsBso8PJf1XaG9lB+O9RnBpKGnY6OrzC4CSHrtC1jb6jWLTKK4bRqdoCXHd22gyr2hiYmEAm8Wns/BOCw==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz", + "integrity": "sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==", "cpu": [ "riscv64" ], @@ -5311,9 +4904,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.61.0.tgz", - "integrity": "sha512-Atk0aSIk5Zx2Wuh9dgRQgLP0Koc8hOeYpbWryMXyk8G8/HmPkwPPkMqIIDhrXHHYqfUzSJA/I7IWSBv8xSmRBA==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz", + "integrity": "sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==", "cpu": [ "s390x" ], @@ -5328,9 +4921,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.61.0.tgz", - "integrity": "sha512-0uMOcf3eZ5K+K4cYHkdxShFMPlPXCOdfDFEFn9dNYAEEd2cVvmOfH7zFgRVoDgmtQ1m9k5q7qfrHzyMAubKYUA==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz", + "integrity": "sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==", "cpu": [ "x64" ], @@ -5345,9 +4938,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.61.0.tgz", - "integrity": "sha512-mvFtE4A/t/7hRJ7X8Ozmu8FsIkAUat2nzl12pgU337BRmq87AQUJztwHz2Zv5/tjo9/C95E66CK03SI/ToEDJw==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz", + "integrity": "sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==", "cpu": [ "x64" ], @@ -5362,9 +4955,9 @@ ] }, "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.61.0.tgz", - "integrity": "sha512-z9b9+aTxvt8n2rNltMPvyaUfB8NJ+CVyOrGK/MdIKHx7B+lXmZpm/XbRsU7Rpf3fRqJ2uS6mBJiJveCtq8LHDg==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz", + "integrity": "sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==", "cpu": [ "x64" ], @@ -5376,9 +4969,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.61.0.tgz", - "integrity": "sha512-jXaXFqKMehsOc+g8R6oo33RRC6w07G9jDBxAE5eAKX7mOcCbZloYIPNhfG9Wl+P9O9IWHFO4OJgPi1Ml2qkt7w==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz", + "integrity": "sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==", "cpu": [ "arm64" ], @@ -5390,9 +4983,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.61.0.tgz", - "integrity": "sha512-OXNWVFocS2IA4+QplhTZZ2a+8hPZR7T8KuozsNmJKK8y7cp83StHvGksfHzPG3wczWTczyWHVQuqeiTUbjiyBg==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz", + "integrity": "sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==", "cpu": [ "arm64" ], @@ -5404,9 +4997,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.61.0.tgz", - "integrity": "sha512-AlAbNtBO637LxSldqV43z0FfXoGfl2TW1DgAg/bs7aQswFbDewz2SJm3BUhiGfbOVtW571xbc9p+REdxhyN/Eg==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz", + "integrity": "sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==", "cpu": [ "ia32" ], @@ -5418,9 +5011,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.61.0.tgz", - "integrity": "sha512-QRSrQXyJ1M4tjNXdR0/G/IgV6lzfQQJYBjlWIEYkY2Xs86DRl/iEpQ4blMDjJxSl7n19eDKKXMg0AmuBVYy8pQ==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz", + "integrity": "sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==", "cpu": [ "x64" ], @@ -5432,9 +5025,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.61.0.tgz", - "integrity": "sha512-tkuFxhvKO/HlGd0VsINF6vHSYH8AF8W0TcNxKDK6JZmrehngFj78pToc8iemtnvwilDjs2G/qSzYFhe9U8q+fw==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz", + "integrity": "sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==", "cpu": [ "x64" ], @@ -5446,38 +5039,38 @@ ] }, "node_modules/@scure/base": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-2.0.0.tgz", - "integrity": "sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-2.2.0.tgz", + "integrity": "sha512-b8XEupJibegiXV+tDUseI8oLQc8ei3d/4Jkb2RpbHh3MfE054ov3uIz2dhFkB3FI8iwYkEh0gGCApkrYggkPNg==", "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@scure/bip32": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-2.0.1.tgz", - "integrity": "sha512-4Md1NI5BzoVP+bhyJaY3K6yMesEFzNS1sE/cP+9nuvE7p/b0kx9XbpDHHFl8dHtufcbdHRUUQdRqLIPHN/s7yA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-2.2.0.tgz", + "integrity": "sha512-zFr7t2F+a9+5tB7QbarF2HQNYrgjCNaoLAupZdKkrFMYMozJf5zqH2WJCQibMzm1qQ0QogrxVGO3qXfQDYMaQg==", "license": "MIT", "dependencies": { - "@noble/curves": "2.0.1", - "@noble/hashes": "2.0.1", - "@scure/base": "2.0.0" + "@noble/curves": "2.2.0", + "@noble/hashes": "2.2.0", + "@scure/base": "2.2.0" }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@scure/btc-signer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@scure/btc-signer/-/btc-signer-2.0.1.tgz", - "integrity": "sha512-vk5a/16BbSFZkhh1JIJ0+4H9nceZVo5WzKvJGGWiPp3sQOExeW+L53z3dI6u0adTPoE8ZbL+XEb6hEGzVZSvvQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@scure/btc-signer/-/btc-signer-2.2.0.tgz", + "integrity": "sha512-ZXZ08sZqSZKEcOuEQnxTF66ouHtl6+UA6U/QfQM06K9WiOlEkXF4LviZCaSgkdiFh9cyMt9+xdup7JtEv3p0fw==", "license": "MIT", "dependencies": { - "@noble/curves": "~2.0.0", - "@noble/hashes": "~2.0.0", - "@scure/base": "~2.0.0", - "micro-packed": "~0.8.0" + "@noble/curves": "~2.2.0", + "@noble/hashes": "~2.2.0", + "@scure/base": "~2.2.0", + "micro-packed": "~0.9.0" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -5573,9 +5166,9 @@ "license": "MIT" }, "node_modules/@swc/helpers": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.19.tgz", - "integrity": "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==", + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz", + "integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -5596,49 +5189,49 @@ } }, "node_modules/@tailwindcss/node": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", - "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.2.tgz", + "integrity": "sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/remapping": "^2.3.5", - "enhanced-resolve": "^5.19.0", - "jiti": "^2.6.1", - "lightningcss": "1.31.1", + "enhanced-resolve": "5.21.6", + "jiti": "^2.7.0", + "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", - "tailwindcss": "4.2.1" + "tailwindcss": "4.3.2" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz", - "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.2.tgz", + "integrity": "sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==", "dev": true, "license": "MIT", "engines": { "node": ">= 20" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.2.1", - "@tailwindcss/oxide-darwin-arm64": "4.2.1", - "@tailwindcss/oxide-darwin-x64": "4.2.1", - "@tailwindcss/oxide-freebsd-x64": "4.2.1", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", - "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", - "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", - "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", - "@tailwindcss/oxide-linux-x64-musl": "4.2.1", - "@tailwindcss/oxide-wasm32-wasi": "4.2.1", - "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", - "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" + "@tailwindcss/oxide-android-arm64": "4.3.2", + "@tailwindcss/oxide-darwin-arm64": "4.3.2", + "@tailwindcss/oxide-darwin-x64": "4.3.2", + "@tailwindcss/oxide-freebsd-x64": "4.3.2", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.2", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.2", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.2", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.2", + "@tailwindcss/oxide-linux-x64-musl": "4.3.2", + "@tailwindcss/oxide-wasm32-wasi": "4.3.2", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.2", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.2" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", - "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.2.tgz", + "integrity": "sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==", "cpu": [ "arm64" ], @@ -5653,9 +5246,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", - "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.2.tgz", + "integrity": "sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==", "cpu": [ "arm64" ], @@ -5670,9 +5263,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", - "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.2.tgz", + "integrity": "sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==", "cpu": [ "x64" ], @@ -5687,9 +5280,9 @@ } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", - "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.2.tgz", + "integrity": "sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==", "cpu": [ "x64" ], @@ -5704,9 +5297,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", - "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.2.tgz", + "integrity": "sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==", "cpu": [ "arm" ], @@ -5721,13 +5314,16 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", - "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.2.tgz", + "integrity": "sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5738,13 +5334,16 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", - "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.2.tgz", + "integrity": "sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5755,13 +5354,16 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", - "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.2.tgz", + "integrity": "sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5772,13 +5374,16 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", - "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.2.tgz", + "integrity": "sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5789,9 +5394,9 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", - "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.2.tgz", + "integrity": "sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==", "bundleDependencies": [ "@napi-rs/wasm-runtime", "@emnapi/core", @@ -5807,11 +5412,11 @@ "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.8.1", - "@emnapi/runtime": "^1.8.1", - "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.1.1", - "@tybys/wasm-util": "^0.10.1", + "@emnapi/core": "^1.11.1", + "@emnapi/runtime": "^1.11.1", + "@emnapi/wasi-threads": "^1.2.2", + "@napi-rs/wasm-runtime": "^1.1.4", + "@tybys/wasm-util": "^0.10.2", "tslib": "^2.8.1" }, "engines": { @@ -5819,9 +5424,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", - "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.2.tgz", + "integrity": "sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==", "cpu": [ "arm64" ], @@ -5836,9 +5441,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", - "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.2.tgz", + "integrity": "sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==", "cpu": [ "x64" ], @@ -5853,40 +5458,40 @@ } }, "node_modules/@tailwindcss/postcss": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.1.tgz", - "integrity": "sha512-OEwGIBnXnj7zJeonOh6ZG9woofIjGrd2BORfvE5p9USYKDCZoQmfqLcfNiRWoJlRWLdNPn2IgVZuWAOM4iTYMw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.3.2.tgz", + "integrity": "sha512-rjVWYCa7Ngbi5AarT6k8TkxUG3Wl1QKzHdIZVsjZSzf36Jmo2IKZt/NHRAwly8oDkbBOH0YTu+CHuf9jPxMc+g==", "dev": true, "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.2.1", - "@tailwindcss/oxide": "4.2.1", - "postcss": "^8.5.6", - "tailwindcss": "4.2.1" + "@tailwindcss/node": "4.3.2", + "@tailwindcss/oxide": "4.3.2", + "postcss": "^8.5.15", + "tailwindcss": "4.3.2" } }, "node_modules/@tailwindcss/typography": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.19.tgz", - "integrity": "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==", + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.20.tgz", + "integrity": "sha512-hwbzQuNUfcPvbegQFatVPl/MY/tcM9KLl963hQ5laJKPh81TEZ1+dNG9PirGvcaDBkp+BCshExAyKVPW91dozw==", "dev": true, "license": "MIT", "dependencies": { "postcss-selector-parser": "6.0.10" }, "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" + "tailwindcss": ">=3.0.0 || >=4.0.0 || insiders" } }, "node_modules/@tanstack/react-virtual": { - "version": "3.13.19", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.19.tgz", - "integrity": "sha512-KzwmU1IbE0IvCZSm6OXkS+kRdrgW2c2P3Ho3NC+zZXWK6oObv/L+lcV/2VuJ+snVESRlMJ+w/fg4WXI/JzoNGQ==", + "version": "3.14.5", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.14.5.tgz", + "integrity": "sha512-4EKRXh7zBLkbKbFmG3AUVkircuHd+7OdT1pocJSepxtfBd3qnrJgJ5rtPkRYyo9fmyVb2+pI2xPy5oYvMLQy6A==", "dev": true, "license": "MIT", "dependencies": { - "@tanstack/virtual-core": "3.13.19" + "@tanstack/virtual-core": "3.17.3" }, "funding": { "type": "github", @@ -5897,45 +5502,60 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/@tanstack/virtual-core": { - "version": "3.13.19", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.19.tgz", - "integrity": "sha512-/BMP7kNhzKOd7wnDeB8NrIRNLwkf5AhCYCvtfZV2GXWbBieFm/el0n6LOAXlTi6ZwHICSNnQcIxRCWHrLzDY+g==", + "node_modules/@tanstack/virtual-core": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.17.3.tgz", + "integrity": "sha512-8Np/TFELpI0ySuJoVmjvOrQYXH/8sTX0Biv9szhFhY39xOdAAY+smrMxjxOum/ux3eM8MUJQsEJ0/R0UpvC8dw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "dependencies": { + "@babel/types": "^7.0.0" } }, - "node_modules/@theguild/federation-composition": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/@theguild/federation-composition/-/federation-composition-0.21.3.tgz", - "integrity": "sha512-+LlHTa4UbRpZBog3ggAxjYIFvdfH3UMvvBUptur19TMWkqU4+n3GmN+mDjejU+dyBXIG27c25RsiQP1HyvM99g==", + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "license": "MIT", "dependencies": { - "constant-case": "^3.0.4", - "debug": "4.4.3", - "json5": "^2.2.3", - "lodash.sortby": "^4.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "graphql": "^16.0.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "tslib": "^2.4.0" + "@babel/types": "^7.28.2" } }, "node_modules/@types/body-parser": { @@ -6042,15 +5662,22 @@ "license": "MIT" }, "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", "dev": true, "license": "MIT", "dependencies": { "@types/ms": "*" } }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", @@ -6130,13 +5757,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/mdast": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", @@ -6155,26 +5775,26 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "25.3.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.2.tgz", - "integrity": "sha512-RpV6r/ij22zRRdyBPcxDeKAzH43phWVKEjL2iksqo1Vz3CuBUrgmPpPhALKiRfU7OMCmeeO9vECBMsV0hMTG8Q==", + "version": "25.9.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.4.tgz", + "integrity": "sha512-dszCsrKb5U7ZsVZBWiHFklTloVl0mSEnWH/iZXfZUlI4rzCUnsvGmgqfuVRHL54ugE7/wRuxEIXRa2iMZ+BG6g==", "devOptional": true, "license": "MIT", "dependencies": { - "undici-types": "~7.18.0" + "undici-types": ">=7.24.0 <7.24.7" } }, "node_modules/@types/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-qHHxQ+P9PysNEGbALT8f8YOSHW0KJu6l2xU8DYY0fu/EmGxXdVnuTLvFUvBgPJMSqXq29SYHveejeAha+4AYgA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-iG0T6+nYJ9FAPmx9SsUlnwcq1ZVRuCXcVEvWnntoPlrOpwtSTKNDC9uVAxTsC3PUvJ+99n4RpAcNgBbHX3JSnQ==", "dev": true, "license": "MIT" }, "node_modules/@types/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", "dev": true, "license": "MIT" }, @@ -6186,9 +5806,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", - "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", "dev": true, "license": "MIT", "dependencies": { @@ -6277,20 +5897,20 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.1.tgz", - "integrity": "sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.62.1.tgz", + "integrity": "sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/type-utils": "8.56.1", - "@typescript-eslint/utils": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/type-utils": "8.62.1", + "@typescript-eslint/utils": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6300,9 +5920,9 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.56.1", + "@typescript-eslint/parser": "^8.62.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { @@ -6316,16 +5936,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz", - "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.62.1.tgz", + "integrity": "sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3" }, "engines": { @@ -6337,18 +5957,18 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.1.tgz", - "integrity": "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.62.1.tgz", + "integrity": "sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.56.1", - "@typescript-eslint/types": "^8.56.1", + "@typescript-eslint/tsconfig-utils": "^8.62.1", + "@typescript-eslint/types": "^8.62.1", "debug": "^4.4.3" }, "engines": { @@ -6359,18 +5979,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz", - "integrity": "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.62.1.tgz", + "integrity": "sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1" + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6381,9 +6001,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz", - "integrity": "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.1.tgz", + "integrity": "sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==", "dev": true, "license": "MIT", "engines": { @@ -6394,21 +6014,21 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.56.1.tgz", - "integrity": "sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.62.1.tgz", + "integrity": "sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/utils": "8.56.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/utils": "8.62.1", "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6419,13 +6039,13 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", - "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.62.1.tgz", + "integrity": "sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -6437,21 +6057,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz", - "integrity": "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.1.tgz", + "integrity": "sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.56.1", - "@typescript-eslint/tsconfig-utils": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", + "@typescript-eslint/project-service": "8.62.1", + "@typescript-eslint/tsconfig-utils": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6461,59 +6081,20 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.56.1.tgz", - "integrity": "sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.62.1.tgz", + "integrity": "sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1" + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6524,17 +6105,17 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz", - "integrity": "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.1.tgz", + "integrity": "sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/types": "8.62.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -6545,19 +6126,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@unchainedshop/admin-ui": { "resolved": "admin-ui", "link": true @@ -6682,305 +6250,36 @@ "resolved": "packages/roles", "link": true }, - "node_modules/@unchainedshop/shared": { - "resolved": "packages/shared", - "link": true - }, - "node_modules/@unchainedshop/ticketing": { - "resolved": "packages/ticketing", - "link": true - }, - "node_modules/@unchainedshop/utils": { - "resolved": "packages/utils", - "link": true - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true, - "license": "ISC" - }, - "node_modules/@unicode/unicode-17.0.0": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/@unicode/unicode-17.0.0/-/unicode-17.0.0-1.6.16.tgz", - "integrity": "sha512-advq5p36zZ+PDRUpDkWcHHR++R19kx0LYB5iG3bj0KB8mYVKg0ywS996e2bXeXxDb8XdOF7KTivcx7VkYie1pg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" - } + "node_modules/@unchainedshop/shared": { + "resolved": "packages/shared", + "link": true }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "node_modules/@unchainedshop/ticketing": { + "resolved": "packages/ticketing", + "link": true }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], + "node_modules/@unchainedshop/utils": { + "resolved": "packages/utils", + "link": true + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.2.tgz", + "integrity": "sha512-5jsZFwgR5rTdKwidH9Qmat75RKwqfpKlWWB1frDkljN127mwqBu8K0PYo7/hFpF03IEJpfVPpCQDY/eDx3iHvA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "ISC" }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], + "node_modules/@unicode/unicode-17.0.0": { + "version": "1.6.17", + "resolved": "https://registry.npmjs.org/@unicode/unicode-17.0.0/-/unicode-17.0.0-1.6.17.tgz", + "integrity": "sha512-TcBN39y5g7rmQbjnIDsW+4XlEXk6BnJMlhGyUHqUljp00affwlSLv5v7nB37pbdD/ks1BpptvILVQRMp34wPPw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, "node_modules/@vercel/oidc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.1.0.tgz", - "integrity": "sha512-Fw28YZpRnA3cAHHDlkt7xQHiJ0fcL+NRcIqsocZQUSmbzeIKRpwttJjik5ZGanXP+vlA4SbTg+AbA3bP363l+w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.2.0.tgz", + "integrity": "sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==", "dev": true, "license": "Apache-2.0", "engines": { @@ -7026,9 +6325,9 @@ } }, "node_modules/@whatwg-node/node-fetch": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.8.5.tgz", - "integrity": "sha512-4xzCl/zphPqlp9tASLVeUhB5+WJHbuWGYpfoC2q1qh5dw0AqZBW7L27V5roxYWijPxj4sspRAAoOH3d2ztaHUQ==", + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.8.6.tgz", + "integrity": "sha512-BDMdYFcerLQkwA2RTldxOqRCs6ZQD1S7UgP3pUdGUkcbgTrP/V5ko77ZkCww9DHmC4lpoYuwigGfQYj285gMvA==", "license": "MIT", "dependencies": { "@fastify/busboy": "^3.1.1", @@ -7120,14 +6419,6 @@ "node": ">=8" } }, - "node_modules/@zxing/text-encoding": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", - "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", - "dev": true, - "license": "(Unlicense OR Apache-2.0)", - "optional": true - }, "node_modules/abstract-logging": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", @@ -7173,9 +6464,9 @@ } }, "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", "dev": true, "license": "MIT", "bin": { @@ -7205,16 +6496,16 @@ } }, "node_modules/ai": { - "version": "6.0.104", - "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.104.tgz", - "integrity": "sha512-boYGxbtdsa1YX3uuN7BV0FvAL3sGq7p/RLAMonK94jyt5C7sKj6jfib3/wD12koqX53htLTI/l4tX0HqNFRMZQ==", + "version": "6.0.218", + "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.218.tgz", + "integrity": "sha512-HsyCUNaaYgX/b/kGOoYfKkqfT1HvpUKKDb8YkN1FKeCNZjKdqXLGY+cKBpYGIRAvsPuOHskxLxZ46cK1dTBWQQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@ai-sdk/gateway": "3.0.58", - "@ai-sdk/provider": "3.0.8", - "@ai-sdk/provider-utils": "4.0.15", - "@opentelemetry/api": "1.9.0" + "@ai-sdk/gateway": "3.0.142", + "@ai-sdk/provider": "3.0.13", + "@ai-sdk/provider-utils": "4.0.35", + "@opentelemetry/api": "^1.9.0" }, "engines": { "node": ">=18" @@ -7224,9 +6515,9 @@ } }, "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -7258,9 +6549,9 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -7296,29 +6587,29 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=4" } }, "node_modules/any-promise": { @@ -7328,6 +6619,19 @@ "dev": true, "license": "MIT" }, + "node_modules/anynum": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/anynum/-/anynum-1.0.1.tgz", + "integrity": "sha512-N6//FLET/tXYNM/F6ABca1oH6fWB+KlTt909Le28WMDBk8oaT4vY17DCrwg2MvmuqUKt3Ni4N5dGJ/EoBgcO6A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, "node_modules/append-field": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", @@ -7355,13 +6659,6 @@ ], "license": "MIT" }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "license": "MIT" - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -7369,14 +6666,17 @@ "dev": true, "license": "Python-2.0" }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" } }, "node_modules/array-buffer-byte-length": { @@ -7396,29 +6696,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -7429,104 +6706,6 @@ "node": ">=8" } }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", @@ -7549,13 +6728,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true, - "license": "MIT" - }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -7582,6 +6754,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.8" @@ -7706,86 +6879,140 @@ "dev": true, "license": "MIT" }, - "node_modules/axe-core": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.1.tgz", - "integrity": "sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==", - "dev": true, - "license": "MPL-2.0", - "engines": { - "node": ">=4" + "node_modules/b4a": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz", + "integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==", + "devOptional": true, + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } } }, - "node_modules/axios": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz", - "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", "dev": true, "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.11", - "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": "18 || 20 || >=22" } }, - "node_modules/b4a": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", - "integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==", + "node_modules/bare-events": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.9.1.tgz", + "integrity": "sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==", + "devOptional": true, + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/bare-fs": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.7.3.tgz", + "integrity": "sha512-xRgplks8SvcKkdlv2M6Z2LZmRsmqd+x0nXXGXeMEjwdibj1HSDrlnqBRLeYdMvsgCox7Bq0e+DHwfczOfsn6IA==", "devOptional": true, "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" + }, + "engines": { + "bare": ">=1.16.0" + }, "peerDependencies": { - "react-native-b4a": "*" + "bare-buffer": "*" }, "peerDependenciesMeta": { - "react-native-b4a": { + "bare-buffer": { "optional": true } } }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/bare-os": { + "version": "3.9.3", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.3.tgz", + "integrity": "sha512-fF4Q7QsyKVF5Rj0qvI8BgUNjqzC2JvQlpTaPLjVJVxYVUX5Zr9un+y3w1HmA4nNKdFmRBT8z/WmrjvXzXVerKQ==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "bare": ">=1.14.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" + "node_modules/bare-path": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.1.tgz", + "integrity": "sha512-ghj2DSK/2e99a1anTVPCV4m4YIYtrbXhfM7V3D7XZLOTsybnYyaJloymGqssQc8l/or0UoDyRtNQkmkEF/ysgQ==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "bare-os": "^3.0.1" + } }, - "node_modules/bare-events": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", - "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "node_modules/bare-stream": { + "version": "2.13.3", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.3.tgz", + "integrity": "sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ==", "devOptional": true, "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.8.1", + "streamx": "^2.25.0", + "teex": "^1.0.1" + }, "peerDependencies": { - "bare-abort-controller": "*" + "bare-abort-controller": "*", + "bare-buffer": "*", + "bare-events": "*" }, "peerDependenciesMeta": { "bare-abort-controller": { "optional": true + }, + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true } } }, + "node_modules/bare-url": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.5.tgz", + "integrity": "sha512-K+y9xF1tN+CdPu4qWwr0QiK1Al07eFPGYK5M2pDXcmHdMdgC/tT/bpmMe1hrmRHaidKLkXrC+cRNYf3XVDUhSQ==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "bare-path": "^3.0.0" + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -7808,9 +7035,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", - "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", + "version": "2.10.40", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.40.tgz", + "integrity": "sha512-BSSLZ9/Cjjv7Gtj5B68ZzXcXUg8iOf3fme+FCuh8rC/Go+Kmh8cox7M3A8dolou16s64QjLPOSdngh7GxXvkSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -7864,27 +7091,40 @@ "license": "MIT" }, "node_modules/bn.js": { - "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", + "version": "4.12.4", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.4.tgz", + "integrity": "sha512-njR1b+ixG2ufvL9Zn9JGneW+b5GV6jqpYyPPpg4QVt723b5kJPGUczkUyWEH9BwEA74UakJZ43I4FDLBF7ci0g==", "license": "MIT" }, "node_modules/body-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", - "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", + "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", "license": "MIT", "dependencies": { "bytes": "^3.1.2", - "content-type": "^1.0.5", + "content-type": "^2.0.0", "debug": "^4.4.3", - "http-errors": "^2.0.0", - "iconv-lite": "^0.7.0", + "http-errors": "^2.0.1", + "iconv-lite": "^0.7.2", "on-finished": "^2.4.1", - "qs": "^6.14.1", - "raw-body": "^3.0.1", - "type-is": "^2.0.1" + "qs": "^6.15.2", + "raw-body": "^3.0.2", + "type-is": "^2.1.0" + }, + "engines": { + "node": ">=18" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/body-parser/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", "engines": { "node": ">=18" }, @@ -7894,14 +7134,16 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz", + "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/braces": { @@ -7925,9 +7167,9 @@ "license": "MIT" }, "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.4.tgz", + "integrity": "sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==", "dev": true, "funding": [ { @@ -7945,11 +7187,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" + "baseline-browser-mapping": "^2.10.38", + "caniuse-lite": "^1.0.30001799", + "electron-to-chromium": "^1.5.376", + "node-releases": "^2.0.48", + "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" @@ -7958,20 +7200,10 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" - } - }, "node_modules/bson": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-7.2.0.tgz", - "integrity": "sha512-YCEo7KjMlbNlyHhz7zAZNDpIpQbd+wOEHJYezv0nMYTn4x31eIUM2yomNNubclAt63dObUzKHWsBLJ9QcZNSnQ==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-7.3.1.tgz", + "integrity": "sha512-h/C0qe6857pQhcSJHLfsR1uYGj98Ge3wKAD3Ed9KqH3wcVh+BM4Jq4xISD7vs9OPuT07n+q3QQVjslJ286j6ag==", "license": "Apache-2.0", "engines": { "node": ">=20.19.0" @@ -8002,6 +7234,16 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-crc32": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", @@ -8071,15 +7313,15 @@ } }, "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", "set-function-length": "^1.2.2" }, "engines": { @@ -8153,9 +7395,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001774", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz", - "integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==", + "version": "1.0.30001800", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001800.tgz", + "integrity": "sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA==", "dev": true, "funding": [ { @@ -8204,20 +7446,28 @@ } }, "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" } }, "node_modules/change-case": { @@ -8305,9 +7555,9 @@ } }, "node_modules/chardet": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", - "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.2.0.tgz", + "integrity": "sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==", "dev": true, "license": "MIT" }, @@ -8343,6 +7593,22 @@ "node": ">=8" } }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cli-table3": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", @@ -8360,14 +7626,14 @@ } }, "node_modules/cli-truncate": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", - "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz", + "integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==", "dev": true, "license": "MIT", "dependencies": { - "slice-ansi": "^7.1.0", - "string-width": "^8.0.0" + "slice-ansi": "^8.0.0", + "string-width": "^8.2.0" }, "engines": { "node": ">=20" @@ -8376,23 +7642,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, "node_modules/cli-truncate/node_modules/string-width": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", - "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", + "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", "dev": true, "license": "MIT", "dependencies": { @@ -8406,22 +7659,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/cli-width": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", @@ -8454,6 +7691,65 @@ "node": ">=12" } }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -8493,22 +7789,19 @@ } }, "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "color-name": "1.1.3" } }, "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true, "license": "MIT" }, @@ -8633,9 +7926,9 @@ } }, "node_modules/content-disposition": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", - "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", "license": "MIT", "engines": { "node": ">=18" @@ -8709,6 +8002,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true, "license": "MIT" }, "node_modules/cors": { @@ -8730,9 +8024,9 @@ } }, "node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.2.tgz", + "integrity": "sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==", "dev": true, "license": "MIT", "dependencies": { @@ -8775,16 +8069,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cross-fetch": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", - "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "node-fetch": "^2.7.0" - } - }, "node_modules/cross-inspect": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cross-inspect/-/cross-inspect-1.0.1.tgz", @@ -9441,13 +8725,6 @@ "node": ">=12" } }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -9532,9 +8809,9 @@ "license": "MIT" }, "node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "dev": true, "license": "MIT", "funding": { @@ -9553,9 +8830,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.19", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", - "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "version": "1.11.21", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.21.tgz", + "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==", "dev": true, "license": "MIT" }, @@ -9589,13 +8866,6 @@ } } }, - "node_modules/decimal.js": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", - "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", - "dev": true, - "license": "MIT" - }, "node_modules/decimal.js-light": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", @@ -9681,9 +8951,9 @@ } }, "node_modules/delaunator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", - "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.1.0.tgz", + "integrity": "sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==", "dev": true, "license": "ISC", "dependencies": { @@ -9791,19 +9061,9 @@ "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", "dev": true, "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dset": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", - "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, "node_modules/dunder-proto": { @@ -9820,13 +9080,6 @@ "node": ">= 0.4" } }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true, - "license": "MIT" - }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -9854,16 +9107,16 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.302", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz", - "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==", + "version": "1.5.384", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.384.tgz", + "integrity": "sha512-g6KAKY1vkYsADvSPWvdJsuYT0ixdcu6lUtD9P/wJKGBEDlZVXh2AX42j1mPqqaQPDluWjara9ziQ7xqAeXCt5A==", "dev": true, "license": "ISC" }, "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, @@ -9887,14 +9140,14 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", - "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", + "version": "5.21.6", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz", + "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.3.0" + "tapable": "^2.3.3" }, "engines": { "node": ">=10.13.0" @@ -9947,9 +9200,9 @@ } }, "node_modules/es-abstract": { - "version": "1.24.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", - "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", "dev": true, "license": "MIT", "dependencies": { @@ -10015,6 +9268,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-abstract-get": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-abstract-get/-/es-abstract-get-1.0.0.tgz", + "integrity": "sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.2", + "is-callable": "^1.2.7", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -10033,38 +9305,10 @@ "node": ">= 0.4" } }, - "node_modules/es-iterator-helpers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", - "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.1", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.1.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.3.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.5", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -10089,29 +9333,19 @@ "node": ">= 0.4" } }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.4.tgz", + "integrity": "sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==", "dev": true, "license": "MIT", "dependencies": { + "es-abstract-get": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" + "is-date-object": "^1.1.0", + "is-symbol": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -10121,9 +9355,9 @@ } }, "node_modules/es-toolkit": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.44.0.tgz", - "integrity": "sha512-6penXeZalaV88MM3cGkFZZfOoLGWshWWfdy0tWw/RlVVyhvMaWSBTOvXNeiW3e5FwdS5ePW0LGEu17zT139ktg==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.49.0.tgz", + "integrity": "sha512-G5iZ6Pc/FNRY/soKZHC+TxGDD83rHUDXxzaWhGCX44vAv/tMs56WMusnm/KMNK+luUPsgA9U28cGr4RDlSzL2g==", "dev": true, "license": "MIT", "workspaces": [ @@ -10203,33 +9437,33 @@ } }, "node_modules/eslint": { - "version": "9.39.3", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.3.tgz", - "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.6.0.tgz", + "integrity": "sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==", "dev": true, "license": "MIT", + "workspaces": [ + "packages/*" + ], "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.3", - "@eslint/plugin-kit": "^0.4.1", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.6.0", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", + "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", + "eslint-scope": "^9.1.2", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.2.0", + "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", @@ -10239,8 +9473,7 @@ "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^10.2.4", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, @@ -10248,7 +9481,7 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://eslint.org/donate" @@ -10262,46 +9495,6 @@ } } }, - "node_modules/eslint-config-next": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.1.6.tgz", - "integrity": "sha512-vKq40io2B0XtkkNDYyleATwblNt8xuh3FWp8SpSz3pt7P01OkBFlKsJZ2mWt5WsCySlDQLckb1zMY9yE9Qy0LA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@next/eslint-plugin-next": "16.1.6", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.32.0", - "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-react": "^7.37.0", - "eslint-plugin-react-hooks": "^7.0.0", - "globals": "16.4.0", - "typescript-eslint": "^8.46.0" - }, - "peerDependencies": { - "eslint": ">=9.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-config-next/node_modules/globals": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", - "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-config-prettier": { "version": "10.1.8", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", @@ -10318,229 +9511,53 @@ "eslint": ">=7.0.0" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/eslint-plugin-cypress": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-6.4.2.tgz", + "integrity": "sha512-OIGJP5y6/cyMxBtMASP/iBM7Pv4ZHccE9uI8MhtAZDrdNDYDwHgKa/3Khrr+FGRr9hSIfNYstGRhSmbcLURWYA==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", - "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.4.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^2.0.0", - "stable-hash": "^0.0.5", - "tinyglobby": "^0.2.13", - "unrs-resolver": "^1.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" + "globals": "^17.7.0" }, "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" + "@typescript-eslint/parser": ">=8", + "eslint": ">=9" }, "peerDependenciesMeta": { - "eslint": { + "@typescript-eslint/parser": { "optional": true } } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-cypress": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-5.3.0.tgz", - "integrity": "sha512-qjHF2Sdi3VkXSMnfQeUqsbYnessgc6T2dus/Q1U+e5102GpPy9eLd8MWW2Xp2SS9bMpPNLnSHwktMhCKr0dIBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "globals": "^16.5.0" - }, - "peerDependencies": { - "eslint": ">=9" - } - }, - "node_modules/eslint-plugin-cypress/node_modules/globals": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", - "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-plugin-formatjs": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-6.2.0.tgz", - "integrity": "sha512-JftP9glJrS4qdviqTyZ0Kk14hcHB8AJn2FP2W7dsMugOIHDgra30mTvGjRMohivDIaFXnPGCAOv/AYm55BMUBQ==", + "version": "6.4.16", + "resolved": "https://registry.npmjs.org/eslint-plugin-formatjs/-/eslint-plugin-formatjs-6.4.16.tgz", + "integrity": "sha512-gttSsHBhSD+b5tt7e7VjLXgDPQXkRLDF2KQKCWP+yiPR2VmBX6MqqMleFcGI6XgM0nKv4fRnfsms9a7/65WJLA==", "dev": true, "license": "MIT", "dependencies": { - "@formatjs/icu-messageformat-parser": "3.5.1", - "@formatjs/ts-transformer": "4.4.0", + "@formatjs/icu-messageformat-parser": "3.5.12", + "@formatjs/ts-transformer": "4.4.14", + "@types/estree-jsx": "^1.0.5", "@types/picomatch": "^4.0.0", "@unicode/unicode-17.0.0": "^1.6.16", "magic-string": "^0.30.0", - "picomatch": "2 || 3 || 4", - "tslib": "^2.8.1" - }, - "peerDependencies": { - "eslint": "9" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", - "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" - }, - "engines": { - "node": ">=4.0" + "picomatch": "2 || 3 || 4" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + "eslint": "9 || 10" } }, "node_modules/eslint-plugin-prettier": { - "version": "5.5.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz", - "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==", + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.6.tgz", + "integrity": "sha512-ifetmTcxWfz+4qRW3pH/ujdTq2jQIj59AxJMIN26K5avYgU8dxycUETQonWiW+wPrYXA0j3Try0l1CnwVQtDqQ==", "dev": true, "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.1", - "synckit": "^0.11.12" + "synckit": "^0.11.13" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -10558,141 +9575,56 @@ "@types/eslint": { "optional": true }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", - "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.24.4", - "@babel/parser": "^7.24.4", - "hermes-parser": "^0.25.1", - "zod": "^3.25.0 || ^4.0.0", - "zod-validation-error": "^3.5.0 || ^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", - "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "node-exports-info": "^1.6.0", - "object-keys": "^1.1.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "eslint-config-prettier": { + "optional": true + } } }, "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.15.0", + "acorn": "^8.16.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" + "eslint-visitor-keys": "^5.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" @@ -10764,22 +9696,6 @@ "node": ">= 0.6" } }, - "node_modules/event-stream": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", - "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer": "~0.1.1", - "from": "~0", - "map-stream": "~0.1.0", - "pause-stream": "0.0.11", - "split": "0.3", - "stream-combiner": "~0.0.4", - "through": "~2.3.1" - } - }, "node_modules/eventemitter2": { "version": "6.4.7", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", @@ -10818,9 +9734,9 @@ } }, "node_modules/eventsource-parser": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", - "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.0.tgz", + "integrity": "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==", "license": "MIT", "engines": { "node": ">=18.0.0" @@ -10936,13 +9852,13 @@ } }, "node_modules/express-rate-limit": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.2.1.tgz", - "integrity": "sha512-PCZEIEIxqwhzw4KF0n7QF4QqruVTcF73O5kFKUnGOyjbCCgizBBiFaYpd/fnBLUMPw/BWw9OsiN7GgrNYr7j6g==", + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.5.2.tgz", + "integrity": "sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==", "dev": true, "license": "MIT", "dependencies": { - "ip-address": "10.0.1" + "ip-address": "^10.2.0" }, "engines": { "node": ">= 16" @@ -11061,6 +9977,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, "engines": [ "node >=0.6.0" ], @@ -11130,9 +10047,9 @@ "license": "MIT" }, "node_modules/fast-json-stringify": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-6.3.0.tgz", - "integrity": "sha512-oRCntNDY/329HJPlmdNLIdogNtt6Vyjb1WuT01Soss3slIdyUp8kAcDU3saQTOquEK8KFVfwIIF7FebxUAu+yA==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-6.4.0.tgz", + "integrity": "sha512-ibRCQ0GZKJIQ+P3Et1h0LhPgp3PMTYk0MH8O+kW3lNYsvmaQww5Nn3f1jf73Q0jR1Yz3a1CDP4/NZD3vOajWJQ==", "funding": [ { "type": "github", @@ -11154,9 +10071,9 @@ } }, "node_modules/fast-json-stringify/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -11192,9 +10109,9 @@ } }, "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.3.tgz", + "integrity": "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==", "funding": [ { "type": "github", @@ -11207,10 +10124,27 @@ ], "license": "BSD-3-Clause" }, + "node_modules/fast-xml-builder": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.2.0.tgz", + "integrity": "sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "path-expression-matcher": "^1.5.0", + "xml-naming": "^0.1.0" + } + }, "node_modules/fast-xml-parser": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.4.tgz", - "integrity": "sha512-jE8ugADnYOBsu1uaoayVl1tVKAMNOXyjwvv2U6udEA2ORBhDooJDWoGxTkhd4Qn4yh59JVVt/pKXtjPwx9OguQ==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.9.3.tgz", + "integrity": "sha512-brCNCeScma/kqa54J4PIDriSSSLssRkuYaUCpvHJulGc3HGI/xxKUCTDcYkAdqJsyb//ydpbxecjC3hB9+tb/g==", "dev": true, "funding": [ { @@ -11220,16 +10154,21 @@ ], "license": "MIT", "dependencies": { - "strnum": "^1.0.5" + "@nodable/entities": "^2.2.0", + "fast-xml-builder": "^1.2.0", + "is-unsafe": "^1.0.1", + "path-expression-matcher": "^1.5.0", + "strnum": "^2.4.1", + "xml-naming": "^0.1.0" }, "bin": { "fxparser": "src/cli/cli.js" } }, "node_modules/fastify": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-5.7.4.tgz", - "integrity": "sha512-e6l5NsRdaEP8rdD8VR0ErJASeyaRbzXYpmkrpr2SuvuMq6Si3lvsaVy5C+7gLanEkvjpMDzBXWE5HPeb/hgTxA==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-5.9.0.tgz", + "integrity": "sha512-VMS5lE0zj+MZlJpQa3Qv5iGjfun0H2N7VRgoBwpcTNQ2bdIQpv7fDpb+HGteGbicBsGkzGS+X+hdx9mmrfWuHQ==", "funding": [ { "type": "github", @@ -11249,9 +10188,9 @@ "abstract-logging": "^2.0.1", "avvio": "^9.0.0", "fast-json-stringify": "^6.0.0", - "find-my-way": "^9.0.0", + "find-my-way": "^9.6.0", "light-my-request": "^6.0.0", - "pino": "^10.1.0", + "pino": "^9.14.0 || ^10.1.0", "process-warning": "^5.0.0", "rfdc": "^1.3.1", "secure-json-parse": "^4.0.0", @@ -11402,9 +10341,9 @@ } }, "node_modules/find-my-way": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-9.5.0.tgz", - "integrity": "sha512-VW2RfnmscZO5KgBY5XVyKREMW5nMZcxDy+buTOsL+zIPnBlbKm+00sgzoQzq1EVh4aALZLfKdwv6atBGcjvjrQ==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-9.6.0.tgz", + "integrity": "sha512-Zf4Xve4RymLl7NgaavNebZ01joJ8MfVerOG43wy7SHLO+r+K0C6d/SE0BiR7AV5V1VOCFlOP7ecdo+I4qmiHrQ==", "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -11459,16 +10398,16 @@ } }, "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", "devOptional": true, "funding": [ { @@ -11596,13 +10535,6 @@ "node": ">= 0.8" } }, - "node_modules/from": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", - "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", - "dev": true, - "license": "MIT" - }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -11644,18 +10576,21 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.2.0.tgz", + "integrity": "sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" + "has-property-descriptors": "^1.0.2", + "hasown": "^2.0.4", + "is-callable": "^1.2.7", + "is-document.all": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -11705,9 +10640,9 @@ } }, "node_modules/get-east-asian-width": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", - "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", "dev": true, "license": "MIT", "engines": { @@ -11788,19 +10723,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-tsconfig": { - "version": "4.13.6", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", - "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -11842,45 +10764,6 @@ "node": ">=10.13.0" } }, - "node_modules/glob/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/global-dirs": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", @@ -11898,9 +10781,9 @@ } }, "node_modules/globals": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.3.0.tgz", - "integrity": "sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==", + "version": "17.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.7.0.tgz", + "integrity": "sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==", "dev": true, "license": "MIT", "engines": { @@ -11968,18 +10851,18 @@ "license": "ISC" }, "node_modules/graphql": { - "version": "16.13.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.13.0.tgz", - "integrity": "sha512-uSisMYERbaB9bkA9M4/4dnqyktaEkf1kMHNKq/7DHyxVeWqHQ2mBmVqm5u6/FVHwF3iCNalKcg82Zfl+tffWoA==", + "version": "16.14.2", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.14.2.tgz", + "integrity": "sha512-Chq1s4CY7jmh8gO2qvLIJyfCDIN+EHLFW/9iShnp1z8FjBQMoodWP1kDC36VAMXXIvAjj4ARa7ntfAV2BrjsbA==", "license": "MIT", "engines": { "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } }, "node_modules/graphql-config": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-5.1.5.tgz", - "integrity": "sha512-mG2LL1HccpU8qg5ajLROgdsBzx/o2M6kgI3uAmoaXiSH9PCUbtIyLomLqUtCFaAeG2YCFsl0M5cfQ9rKmDoMVA==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-5.1.6.tgz", + "integrity": "sha512-fCkYnm4Kdq3un0YIM4BCZHVR5xl0UeLP6syxxO7KAstdY7QVyVvTHP0kRPDYEP1v08uwtJVgis5sj3IOTLOniQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11987,11 +10870,11 @@ "@graphql-tools/json-file-loader": "^8.0.0", "@graphql-tools/load": "^8.1.0", "@graphql-tools/merge": "^9.0.0", - "@graphql-tools/url-loader": "^8.0.0", - "@graphql-tools/utils": "^10.0.0", + "@graphql-tools/url-loader": "^9.0.0", + "@graphql-tools/utils": "^11.0.0", "cosmiconfig": "^8.1.0", "jiti": "^2.0.0", - "minimatch": "^9.0.5", + "minimatch": "^10.0.0", "string-env-interpolation": "^1.0.1", "tslib": "^2.4.0" }, @@ -12008,196 +10891,6 @@ } } }, - "node_modules/graphql-config/node_modules/@graphql-hive/signal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@graphql-hive/signal/-/signal-1.0.0.tgz", - "integrity": "sha512-RiwLMc89lTjvyLEivZ/qxAC5nBHoS2CtsWFSOsN35sxG9zoo5Z+JsFHM8MlvmO9yt+MJNIyC5MLE1rsbOphlag==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/graphql-config/node_modules/@graphql-tools/batch-execute": { - "version": "9.0.19", - "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-9.0.19.tgz", - "integrity": "sha512-VGamgY4PLzSx48IHPoblRw0oTaBa7S26RpZXt0Y4NN90ytoE0LutlpB2484RbkfcTjv9wa64QD474+YP1kEgGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/utils": "^10.9.1", - "@whatwg-node/promise-helpers": "^1.3.0", - "dataloader": "^2.2.3", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/graphql-config/node_modules/@graphql-tools/delegate": { - "version": "10.2.23", - "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-10.2.23.tgz", - "integrity": "sha512-xrPtl7f1LxS+B6o+W7ueuQh67CwRkfl+UKJncaslnqYdkxKmNBB4wnzVcW8ZsRdwbsla/v43PtwAvSlzxCzq2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/batch-execute": "^9.0.19", - "@graphql-tools/executor": "^1.4.9", - "@graphql-tools/schema": "^10.0.25", - "@graphql-tools/utils": "^10.9.1", - "@repeaterjs/repeater": "^3.0.6", - "@whatwg-node/promise-helpers": "^1.3.0", - "dataloader": "^2.2.3", - "dset": "^3.1.2", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/graphql-config/node_modules/@graphql-tools/executor-common": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.6.tgz", - "integrity": "sha512-JAH/R1zf77CSkpYATIJw+eOJwsbWocdDjY+avY7G+P5HCXxwQjAjWVkJI1QJBQYjPQDVxwf1fmTZlIN3VOadow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@envelop/core": "^5.3.0", - "@graphql-tools/utils": "^10.9.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/graphql-config/node_modules/@graphql-tools/executor-graphql-ws": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-2.0.7.tgz", - "integrity": "sha512-J27za7sKF6RjhmvSOwOQFeNhNHyP4f4niqPnerJmq73OtLx9Y2PGOhkXOEB0PjhvPJceuttkD2O1yMgEkTGs3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/executor-common": "^0.0.6", - "@graphql-tools/utils": "^10.9.1", - "@whatwg-node/disposablestack": "^0.0.6", - "graphql-ws": "^6.0.6", - "isomorphic-ws": "^5.0.0", - "tslib": "^2.8.1", - "ws": "^8.18.3" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/graphql-config/node_modules/@graphql-tools/executor-http": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-1.3.3.tgz", - "integrity": "sha512-LIy+l08/Ivl8f8sMiHW2ebyck59JzyzO/yF9SFS4NH6MJZUezA1xThUXCDIKhHiD56h/gPojbkpcFvM2CbNE7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-hive/signal": "^1.0.0", - "@graphql-tools/executor-common": "^0.0.4", - "@graphql-tools/utils": "^10.8.1", - "@repeaterjs/repeater": "^3.0.4", - "@whatwg-node/disposablestack": "^0.0.6", - "@whatwg-node/fetch": "^0.10.4", - "@whatwg-node/promise-helpers": "^1.3.0", - "meros": "^1.2.1", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/graphql-config/node_modules/@graphql-tools/executor-http/node_modules/@graphql-tools/executor-common": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.4.tgz", - "integrity": "sha512-SEH/OWR+sHbknqZyROCFHcRrbZeUAyjCsgpVWCRjqjqRbiJiXq6TxNIIOmpXgkrXWW/2Ev4Wms6YSGJXjdCs6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@envelop/core": "^5.2.3", - "@graphql-tools/utils": "^10.8.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/graphql-config/node_modules/@graphql-tools/url-loader": { - "version": "8.0.33", - "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-8.0.33.tgz", - "integrity": "sha512-Fu626qcNHcqAj8uYd7QRarcJn5XZ863kmxsg1sm0fyjyfBJnsvC7ddFt6Hayz5kxVKfsnjxiDfPMXanvsQVBKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/executor-graphql-ws": "^2.0.1", - "@graphql-tools/executor-http": "^1.1.9", - "@graphql-tools/executor-legacy-ws": "^1.1.19", - "@graphql-tools/utils": "^10.9.1", - "@graphql-tools/wrap": "^10.0.16", - "@types/ws": "^8.0.0", - "@whatwg-node/fetch": "^0.10.0", - "@whatwg-node/promise-helpers": "^1.0.0", - "isomorphic-ws": "^5.0.0", - "sync-fetch": "0.6.0-2", - "tslib": "^2.4.0", - "ws": "^8.17.1" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/graphql-config/node_modules/@graphql-tools/wrap": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-10.1.4.tgz", - "integrity": "sha512-7pyNKqXProRjlSdqOtrbnFRMQAVamCmEREilOXtZujxY6kYit3tvWWSjUrcIOheltTffoRh7EQSjpy2JDCzasg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/delegate": "^10.2.23", - "@graphql-tools/schema": "^10.0.25", - "@graphql-tools/utils": "^10.9.1", - "@whatwg-node/promise-helpers": "^1.3.0", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/graphql-config/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/graphql-config/node_modules/cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", @@ -12216,48 +10909,13 @@ "funding": { "url": "https://github.com/sponsors/d-fischer" }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/graphql-config/node_modules/minimatch": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.2" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/graphql-config/node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/graphql-config/node_modules/parse-json": { @@ -12289,34 +10947,6 @@ "node": ">=8" } }, - "node_modules/graphql-config/node_modules/sync-fetch": { - "version": "0.6.0-2", - "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0-2.tgz", - "integrity": "sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "node-fetch": "^3.3.2", - "timeout-signal": "^2.0.0", - "whatwg-mimetype": "^4.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/graphql-request": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-7.4.0.tgz", - "integrity": "sha512-xfr+zFb/QYbs4l4ty0dltqiXIp07U6sl+tOKAb0t50/EnQek6CVVBLjETXi+FghElytvgaAWtIOt3EV7zLzIAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.2.0" - }, - "peerDependencies": { - "graphql": "14 - 16" - } - }, "node_modules/graphql-scalars": { "version": "1.25.0", "resolved": "https://registry.npmjs.org/graphql-scalars/-/graphql-scalars-1.25.0.tgz", @@ -12333,9 +10963,9 @@ } }, "node_modules/graphql-tag": { - "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "version": "2.12.7", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.7.tgz", + "integrity": "sha512-xnE/NFzy+0eIesvAsREJZ284zTl/wYuBAvpsFSDhRGRdRHdnE90M21Q3xAWyYInb0J756c6x0pIQ62+vtvOs1Q==", "dev": true, "license": "MIT", "dependencies": { @@ -12345,13 +10975,13 @@ "node": ">=10" }, "peerDependencies": { - "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "node_modules/graphql-ws": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-6.0.7.tgz", - "integrity": "sha512-yoLRW+KRlDmnnROdAu7sX77VNLC0bsFoZyGQJLy1cF+X/SkLg/fWkRGrEEYQK8o2cafJ2wmEaMqMEZB3U3DYDg==", + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-6.0.8.tgz", + "integrity": "sha512-m3EOaNsUBXwAnkBWbzPfe0Nq8pXUfxsWnolC54sru3FzHvhTZL0Ouf/BoQsaGAXqM+YPerXOJ47BUnmgmoupCw==", "dev": true, "license": "MIT", "engines": { @@ -12376,12 +11006,12 @@ } }, "node_modules/graphql-yoga": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/graphql-yoga/-/graphql-yoga-5.18.0.tgz", - "integrity": "sha512-xFt1DVXS1BZ3AvjnawAGc5OYieSe56WuQuyk3iEpBwJ3QDZJWQGLmU9z/L5NUZ+pUcyprsz/bOwkYIV96fXt/g==", + "version": "5.21.2", + "resolved": "https://registry.npmjs.org/graphql-yoga/-/graphql-yoga-5.21.2.tgz", + "integrity": "sha512-IIRF/3xtjj2D6caAWL9177hQ8tV3mWB3hve1GRnz7njPhQ3iY1jFtSp98fNGv0yV9kaPh9kKQ8JWdJZnedVmDw==", "license": "MIT", "dependencies": { - "@envelop/core": "^5.3.0", + "@envelop/core": "^5.5.1", "@envelop/instrumentation": "^1.0.0", "@graphql-tools/executor": "^1.5.0", "@graphql-tools/schema": "^10.0.11", @@ -12390,7 +11020,7 @@ "@graphql-yoga/subscription": "^5.0.5", "@whatwg-node/fetch": "^0.10.6", "@whatwg-node/promise-helpers": "^1.3.2", - "@whatwg-node/server": "^0.10.14", + "@whatwg-node/server": "^0.11.0", "lru-cache": "^10.0.0", "tslib": "^2.8.1" }, @@ -12401,6 +11031,40 @@ "graphql": "^15.2.0 || ^16.0.0" } }, + "node_modules/graphql-yoga/node_modules/@graphql-tools/utils": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.11.0.tgz", + "integrity": "sha512-iBFR9GXIs0gCD+yc3hoNswViL1O5josI33dUqiNStFI/MHLCEPduasceAcazRH77YONKNiviHBV8f7OgcT4o2Q==", + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-yoga/node_modules/@whatwg-node/server": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@whatwg-node/server/-/server-0.11.0.tgz", + "integrity": "sha512-VSdkwnJRr8Yv9UgB2aXB3VUPWwd6Oqnn0hycFwhg9pZgWxJXb7JmhsiXe9tmpMwjHFxli12PGcz9aI63YYloGQ==", + "license": "MIT", + "dependencies": { + "@envelop/instrumentation": "^1.0.0", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/fetch": "^0.10.13", + "@whatwg-node/promise-helpers": "^1.3.2", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/graphql-yoga/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -12421,13 +11085,13 @@ } }, "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/has-property-descriptors": { @@ -12690,23 +11354,6 @@ "tslib": "^2.0.3" } }, - "node_modules/hermes-estree": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", - "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", - "dev": true, - "license": "MIT" - }, - "node_modules/hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", - "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hermes-estree": "0.25.1" - } - }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -12725,9 +11372,9 @@ "license": "MIT" }, "node_modules/hono": { - "version": "4.12.3", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.3.tgz", - "integrity": "sha512-SFsVSjp8sj5UumXOOFlkZOG6XS9SJDKw0TbwFeV+AJ8xlST8kxK5Z/5EYa111UY8732lK2S/xB653ceuaoGwpg==", + "version": "4.12.27", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.27.tgz", + "integrity": "sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==", "dev": true, "license": "MIT", "engines": { @@ -12878,9 +11525,9 @@ } }, "node_modules/immer": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz", - "integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==", + "version": "11.1.9", + "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.9.tgz", + "integrity": "sha512-sc/z0Cyti70bZa0ZU4sWfAElfovFb9Ni8tArJZLuklYWxegPiK3pDOql1Rq5H0FIRAW9LSQRG6OX4KqBldbhBA==", "dev": true, "license": "MIT", "funding": { @@ -12889,14 +11536,11 @@ } }, "node_modules/immutable": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", - "integrity": "sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.9.tgz", + "integrity": "sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.8.0" - } + "license": "MIT" }, "node_modules/import-fresh": { "version": "3.3.1", @@ -12915,6 +11559,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/import-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz", @@ -12987,16 +11641,14 @@ } }, "node_modules/intl-messageformat": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-11.1.2.tgz", - "integrity": "sha512-ucSrQmZGAxfiBHfBRXW/k7UC8MaGFlEj4Ry1tKiDcmgwQm1y3EDl40u+4VNHYomxJQMJi9NEI3riDRlth96jKg==", + "version": "11.2.9", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-11.2.9.tgz", + "integrity": "sha512-cGzymZerpDhVXRKjKLgXKda9gI29TU2o88L7gwNMHp3WZVxA/0c5tX52udXbW9JklDApolvMXZG6Dhhdz5eirA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@formatjs/ecma402-abstract": "3.1.1", - "@formatjs/fast-memoize": "3.1.0", - "@formatjs/icu-messageformat-parser": "3.5.1", - "tslib": "^2.8.1" + "@formatjs/fast-memoize": "3.1.6", + "@formatjs/icu-messageformat-parser": "3.5.12" } }, "node_modules/invariant": { @@ -13010,9 +11662,9 @@ } }, "node_modules/ip-address": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", - "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz", + "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==", "dev": true, "license": "MIT", "engines": { @@ -13020,9 +11672,9 @@ } }, "node_modules/ipaddr.js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", - "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.4.0.tgz", + "integrity": "sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==", "license": "MIT", "engines": { "node": ">= 10" @@ -13068,23 +11720,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-arguments": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", - "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -13163,16 +11798,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-bun-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", - "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.7.1" - } - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -13187,13 +11812,13 @@ } }, "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" + "hasown": "^2.0.3" }, "engines": { "node": ">= 0.4" @@ -13248,6 +11873,22 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-document.all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", + "integrity": "sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -13601,6 +12242,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-unsafe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-unsafe/-/is-unsafe-1.0.1.tgz", + "integrity": "sha512-CLK2+VdgERgD96EYm5lUQssZYlRg2tkZnbsxZoacmSiRxiFJ4Nk4SzjCl+Ur+v3kXIY9dTIdb3IH22y1mZ56LA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, "node_modules/is-upper-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-2.0.2.tgz", @@ -13714,28 +12368,10 @@ "dev": true, "license": "MIT" }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", "dev": true, "license": "MIT", "bin": { @@ -13743,28 +12379,28 @@ } }, "node_modules/joi": { - "version": "18.0.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-18.0.2.tgz", - "integrity": "sha512-RuCOQMIt78LWnktPoeBL0GErkNaJPTBGcYuyaBvUOQSpcpcLfWrHPPihYdOGbV5pam9VTWbeoF7TsGiHugcjGA==", - "dev": true, + "version": "17.13.4", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.4.tgz", + "integrity": "sha512-1RuuER6kmt8K8I3nIWvPZKi5RQCb568ZPyY4Pwjlua+yo+63ZTmIwxLZH0heBmiKN4uxjvCiarDrjaeH84xicQ==", "license": "BSD-3-Clause", "dependencies": { - "@hapi/address": "^5.1.1", - "@hapi/formula": "^3.0.2", - "@hapi/hoek": "^11.0.7", - "@hapi/pinpoint": "^2.0.1", - "@hapi/tlds": "^1.1.1", - "@hapi/topo": "^6.0.2", - "@standard-schema/spec": "^1.0.0" - }, - "engines": { - "node": ">= 20" + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" } }, + "node_modules/joi/node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" + }, "node_modules/jose": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", - "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.3.tgz", + "integrity": "sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/panva" @@ -13788,10 +12424,20 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -13942,9 +12588,9 @@ } }, "node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", "dev": true, "license": "MIT", "dependencies": { @@ -13977,8 +12623,8 @@ "version": "9.0.3", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { "jws": "^4.0.1", "lodash.includes": "^4.3.0", @@ -14027,22 +12673,6 @@ "extsprintf": "^1.2.0" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, "node_modules/jwa": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", @@ -14074,36 +12704,6 @@ "json-buffer": "3.0.1" } }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "dev": true, - "license": "MIT", - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/lazy-ass": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "> 0.8" - } - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -14156,9 +12756,9 @@ "license": "MIT" }, "node_modules/lightningcss": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", - "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", "dev": true, "license": "MPL-2.0", "dependencies": { @@ -14172,23 +12772,23 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-android-arm64": "1.31.1", - "lightningcss-darwin-arm64": "1.31.1", - "lightningcss-darwin-x64": "1.31.1", - "lightningcss-freebsd-x64": "1.31.1", - "lightningcss-linux-arm-gnueabihf": "1.31.1", - "lightningcss-linux-arm64-gnu": "1.31.1", - "lightningcss-linux-arm64-musl": "1.31.1", - "lightningcss-linux-x64-gnu": "1.31.1", - "lightningcss-linux-x64-musl": "1.31.1", - "lightningcss-win32-arm64-msvc": "1.31.1", - "lightningcss-win32-x64-msvc": "1.31.1" + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" } }, "node_modules/lightningcss-android-arm64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", - "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", "cpu": [ "arm64" ], @@ -14207,9 +12807,9 @@ } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", - "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", "cpu": [ "arm64" ], @@ -14228,9 +12828,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", - "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", "cpu": [ "x64" ], @@ -14249,9 +12849,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", - "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", "cpu": [ "x64" ], @@ -14270,9 +12870,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", - "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", "cpu": [ "arm" ], @@ -14291,13 +12891,16 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", - "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -14312,13 +12915,16 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", - "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -14333,13 +12939,16 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", - "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -14354,13 +12963,16 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", - "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MPL-2.0", "optional": true, "os": [ @@ -14375,9 +12987,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", - "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", "cpu": [ "arm64" ], @@ -14396,9 +13008,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", - "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", "cpu": [ "x64" ], @@ -14437,10 +13049,20 @@ "license": "MIT" }, "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.2.tgz", + "integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], "license": "MIT", "dependencies": { "uc.micro": "^2.0.0" @@ -14464,19 +13086,6 @@ "node": ">=20.0.0" } }, - "node_modules/listr2/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, "node_modules/listr2/node_modules/ansi-styles": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", @@ -14515,22 +13124,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr2/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/listr2/node_modules/wrap-ansi": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", @@ -14592,16 +13185,16 @@ } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "dev": true, "license": "MIT" }, "node_modules/lodash-es": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", - "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", "dev": true, "license": "MIT" }, @@ -14609,15 +13202,15 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "license": "MIT", - "peer": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "license": "MIT", - "peer": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isequal": { "version": "4.5.0", @@ -14631,34 +13224,27 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "license": "MIT", - "peer": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "license": "MIT", - "peer": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "license": "MIT", - "peer": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "license": "MIT", - "peer": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, "license": "MIT" }, @@ -14666,6 +13252,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true, "license": "MIT" }, "node_modules/lodash.sortby": { @@ -14692,60 +13279,94 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-escapes": "^7.0.0", - "cli-cursor": "^5.0.0", - "slice-ansi": "^7.1.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=18" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=12" + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/log-update/node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, "license": "MIT", "dependencies": { - "restore-cursor": "^5.0.0" + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { "node": ">=18" @@ -14754,44 +13375,41 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/emoji-regex": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-update/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", - "dependencies": { - "mimic-function": "^5.0.0" - }, "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", "dev": true, "license": "MIT", "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" }, "engines": { "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, "node_modules/log-update/node_modules/string-width": { @@ -14812,22 +13430,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/log-update/node_modules/wrap-ansi": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", @@ -14901,9 +13503,9 @@ } }, "node_modules/lucide-react": { - "version": "0.563.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.563.0.tgz", - "integrity": "sha512-8dXPB2GI4dI8jV4MgUDGBeLdGk8ekfqVZ0BdLcrRzocGgG75ltNEmWS+gE7uokKF/0oSUuczNDT+g9hFJ23FkA==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.23.0.tgz", + "integrity": "sha512-38BpJcD0JhFosxHApP/BYsBetLpQFRoTRzEzstM/XCc3jsAG7wqaY1lgVwxiUe3xqYE+lNxo2PkCmYwXWrwwIw==", "dev": true, "license": "ISC", "peerDependencies": { @@ -14975,22 +13577,26 @@ "node": ">=0.10.0" } }, - "node_modules/map-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", - "dev": true - }, "node_modules/markdown-it": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", - "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.3.0.tgz", + "integrity": "sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1", - "entities": "^4.4.0", - "linkify-it": "^5.0.0", + "entities": "^4.5.0", + "linkify-it": "^5.0.2", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" @@ -15396,12 +14002,12 @@ } }, "node_modules/micro-packed": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/micro-packed/-/micro-packed-0.8.0.tgz", - "integrity": "sha512-AKb8znIvg9sooythbXzyFeChEY0SkW0C6iXECpy/ls0e5BtwXO45J9wD9SLzBztnS4XmF/5kwZknsq+jyynd/A==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/micro-packed/-/micro-packed-0.9.0.tgz", + "integrity": "sha512-gFdaWTxEXOwtSOcpxulO4AuXVtp3HWIRmB8eq8+3m1Zku0ubgva0UGpi03YhcvsTJasHngG9gTIUK5kHNKdesg==", "license": "MIT", "dependencies": { - "@scure/base": "2.0.0" + "@scure/base": "~2.2.0" }, "engines": { "node": ">= 20.19.0" @@ -16016,9 +14622,9 @@ } }, "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { @@ -16103,16 +14709,19 @@ "license": "ISC" }, "node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^5.0.5" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { @@ -16125,9 +14734,9 @@ } }, "node_modules/minio": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/minio/-/minio-8.0.6.tgz", - "integrity": "sha512-sOeh2/b/XprRmEtYsnNRFtOqNRTPDvYtMWh+spWlfsuCV/+IdxNeKVUMKLqI7b5Dr07ZqCPuaRGU/rB9pZYVdQ==", + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/minio/-/minio-8.0.7.tgz", + "integrity": "sha512-E737MgufW8CeQAsTAtnEMrxZ9scMSf29kkhZoXzDTKj/Jszzo2SfeZUH9wbDQH2Rsq6TCtl/yQL0+XdVKZansQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -16136,30 +14745,19 @@ "browser-or-node": "^2.1.1", "buffer-crc32": "^1.0.0", "eventemitter3": "^5.0.1", - "fast-xml-parser": "^4.4.1", + "fast-xml-parser": "^5.3.4", "ipaddr.js": "^2.0.1", "lodash": "^4.17.21", "mime-types": "^2.1.35", "query-string": "^7.1.3", "stream-json": "^1.8.0", "through2": "^4.0.2", - "web-encoding": "^1.1.5", "xml2js": "^0.5.0 || ^0.6.2" }, "engines": { "node": "^16 || ^18 || >=20" } }, - "node_modules/minio/node_modules/buffer-crc32": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", - "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/minipass": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", @@ -16212,13 +14810,13 @@ } }, "node_modules/mongodb": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.1.0.tgz", - "integrity": "sha512-kMfnKunbolQYwCIyrkxNJFB4Ypy91pYqua5NargS/f8ODNSJxT03ZU3n1JqL4mCzbSih8tvmMEMLpKTT7x5gCg==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.4.0.tgz", + "integrity": "sha512-giySkkdYiwoBFo/oCc8nzov3xOYZ/sB8OpAYk5GINRLEjVw0LDsm8xgQL0XMTyU4extQlDZjhdUr1ZEwKFaazw==", "license": "Apache-2.0", "dependencies": { "@mongodb-js/saslprep": "^1.3.0", - "bson": "^7.1.1", + "bson": "^7.2.0", "mongodb-connection-string-url": "^7.0.0" }, "engines": { @@ -16271,14 +14869,14 @@ } }, "node_modules/mongodb-memory-server": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/mongodb-memory-server/-/mongodb-memory-server-11.0.1.tgz", - "integrity": "sha512-nUlKovSJZBh7q5hPsewFRam9H66D08Ne18nyknkNalfXMPtK1Og3kOcuqQhcX88x/pghSZPIJHrLbxNFW3OWiw==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/mongodb-memory-server/-/mongodb-memory-server-11.2.0.tgz", + "integrity": "sha512-506AD8qvClVx8Raw/WhAUUWBgIXPyi856iC01aa5vAzHmn6WOXC6ulvudkTF7oTMzJxkyA0A84VpD4BpyfqJ9w==", "devOptional": true, "hasInstallScript": true, "license": "MIT", "dependencies": { - "mongodb-memory-server-core": "11.0.1", + "mongodb-memory-server-core": "11.2.0", "tslib": "^2.8.1" }, "engines": { @@ -16286,9 +14884,9 @@ } }, "node_modules/mongodb-memory-server-core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/mongodb-memory-server-core/-/mongodb-memory-server-core-11.0.1.tgz", - "integrity": "sha512-IcIb2S9Xf7Lmz43Z1ZujMqNg7PU5Q7yn+4wOnu7l6pfeGPkEmlqzV1hIbroVx8s4vXhPB1oMGC1u8clW7aj3Xw==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/mongodb-memory-server-core/-/mongodb-memory-server-core-11.2.0.tgz", + "integrity": "sha512-vOoDtn0JiLrHvZY81Rp/UtKXXK0rtJHZGZFVnccvJwYitPLNspO0Ty0grqFQOe7iAET8+GI4zAQcphg+R3vxQg==", "devOptional": true, "license": "MIT", "dependencies": { @@ -16296,14 +14894,14 @@ "camelcase": "^6.3.0", "debug": "^4.4.3", "find-cache-dir": "^3.3.2", - "follow-redirects": "^1.15.11", + "follow-redirects": "^1.16.0", "https-proxy-agent": "^7.0.6", - "mongodb": "^7.0.0", + "mongodb": "^7.2.0", "new-find-package-json": "^2.0.0", "semver": "^7.7.3", - "tar-stream": "^3.1.7", + "tar-stream": "^3.1.8", "tslib": "^2.8.1", - "yauzl": "^3.2.0" + "yauzl": "^3.3.1" }, "engines": { "node": ">=20.19.0" @@ -16316,9 +14914,9 @@ "license": "MIT" }, "node_modules/multer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/multer/-/multer-2.1.0.tgz", - "integrity": "sha512-TBm6j41rxNohqawsxlsWsNNh/VdV4QFXcBvRcPhXaA05EZ79z0qJ2bQFpync6JBoHTeNY5Q1JpG7AlTjdlfAEA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/multer/-/multer-2.2.0.tgz", + "integrity": "sha512-6rdyFg2kLrMh9Jee7/BMPuV9lEAd7lLW2YUpF9/YxR7njyoUwwQ0ZPh3TaIY50Sw6vlyD2HW3wGOkTS4P79xrQ==", "license": "MIT", "dependencies": { "append-field": "^1.0.0", @@ -16379,9 +14977,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", + "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", "dev": true, "funding": [ { @@ -16397,22 +14995,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/napi-postinstall": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", - "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", - "dev": true, - "license": "MIT", - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -16443,15 +15025,15 @@ } }, "node_modules/next": { - "version": "16.1.6", - "resolved": "https://registry.npmjs.org/next/-/next-16.1.6.tgz", - "integrity": "sha512-hkyRkcu5x/41KoqnROkfTm2pZVbKxvbZRuNvKXLRXxs3VfyO0WhY50TQS40EuKO9SW3rBj/sF3WbVwDACeMZyw==", + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/next/-/next-16.2.10.tgz", + "integrity": "sha512-2som5AVXb3kE6Yjine3/mNbBayYF58eguBWIVVUdr1y/L426xyVEgYxgBG+1QC34P2x5E+tcDup6XkuOAX3dCA==", "dev": true, "license": "MIT", "dependencies": { - "@next/env": "16.1.6", + "@next/env": "16.2.10", "@swc/helpers": "0.5.15", - "baseline-browser-mapping": "^2.8.3", + "baseline-browser-mapping": "^2.9.19", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" @@ -16463,15 +15045,15 @@ "node": ">=20.9.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "16.1.6", - "@next/swc-darwin-x64": "16.1.6", - "@next/swc-linux-arm64-gnu": "16.1.6", - "@next/swc-linux-arm64-musl": "16.1.6", - "@next/swc-linux-x64-gnu": "16.1.6", - "@next/swc-linux-x64-musl": "16.1.6", - "@next/swc-win32-arm64-msvc": "16.1.6", - "@next/swc-win32-x64-msvc": "16.1.6", - "sharp": "^0.34.4" + "@next/swc-darwin-arm64": "16.2.10", + "@next/swc-darwin-x64": "16.2.10", + "@next/swc-linux-arm64-gnu": "16.2.10", + "@next/swc-linux-arm64-musl": "16.2.10", + "@next/swc-linux-x64-gnu": "16.2.10", + "@next/swc-linux-x64-musl": "16.2.10", + "@next/swc-win32-arm64-msvc": "16.2.10", + "@next/swc-win32-x64-msvc": "16.2.10", + "sharp": "^0.34.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -16574,109 +15156,49 @@ "node": ">=10.5.0" } }, - "node_modules/node-exports-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", - "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array.prototype.flatmap": "^1.3.3", - "es-errors": "^1.3.0", - "object.entries": "^1.1.9", - "semver": "^6.3.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/node-exports-info/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dev": true, "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" } }, "node_modules/node-forge": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz", - "integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", + "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", + "dev": true, "license": "(BSD-3-Clause OR GPL-2.0)", - "peer": true, "engines": { "node": ">= 6.13.0" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true, - "license": "MIT" - }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.50", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.50.tgz", + "integrity": "sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/nodemailer": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.1.tgz", - "integrity": "sha512-5kcldIXmaEjZcHR6F28IKGSgpmZHaF1IXLWFTG+Xh3S+Cce4MiakLtWY+PlBU69fLbRa8HlaGIrC/QolUpHkhg==", + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.11.tgz", + "integrity": "sha512-nrO/pDAUKl+wXX+lx16tDLbnm0fW6sK/x8mgohaCpg+CdCEl482bD4tCuAZk2DyliruiNTIZxRCoWkDqJEnAiA==", "license": "MIT-0", "engines": { "node": ">=6.0.0" @@ -16744,51 +15266,24 @@ "node": ">= 4" } }, - "node_modules/npm-run-all/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/npm-run-all/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/npm-run-all/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/npm-run-all/node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", "dev": true, "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/npm-run-all/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, "node_modules/npm-run-all/node_modules/cross-spawn": { "version": "6.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", @@ -16806,24 +15301,17 @@ "node": ">=4.8" } }, - "node_modules/npm-run-all/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/npm-run-all/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/npm-run-all/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=4" + "node": "*" } }, "node_modules/npm-run-all/node_modules/path-key": { @@ -16869,19 +15357,6 @@ "node": ">=0.10.0" } }, - "node_modules/npm-run-all/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/npm-run-all/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -16908,13 +15383,6 @@ "node": ">=8" } }, - "node_modules/nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "dev": true, - "license": "MIT" - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -16968,75 +15436,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/on-exit-leak-free": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", @@ -17228,9 +15627,9 @@ } }, "node_modules/papaparse": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.5.3.tgz", - "integrity": "sha512-5QvjGxYVjxO59MGU2lHVYpRWBBtKHnlIAcSe1uNFCkkptUh63NFRj0FJQm7nR67puEruUci/ZkjmEFrjCAyP4A==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.5.4.tgz", + "integrity": "sha512-SwzWD9gl/ElwYLCI0nUja1mFJzjq2D8ziShfNBa7zCHzkOozeOGDwHWQ+tvCzEZcewecWZ5U7kUopDnG+DFYEQ==", "dev": true, "license": "MIT" }, @@ -17407,6 +15806,22 @@ "node": ">=8" } }, + "node_modules/path-expression-matcher": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.6.1.tgz", + "integrity": "sha512-h7bxdzhHk8Knyc4Tj+jMaa7fEEoUJy7p1qtbVgkYg1Uhpe5Np5VuGXCRZnkZvU+Q42M1vStt0ifa3ueykRJPmQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -17465,9 +15880,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -17475,9 +15890,9 @@ } }, "node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", "license": "MIT", "funding": { "type": "opencollective", @@ -17509,19 +15924,6 @@ "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" }, - "node_modules/pause-stream": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", - "dev": true, - "license": [ - "MIT", - "Apache2" - ], - "dependencies": { - "through": "~2.3" - } - }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -17544,9 +15946,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { @@ -17728,9 +16130,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", + "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", "dev": true, "funding": [ { @@ -17748,7 +16150,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.11", + "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -17824,9 +16226,9 @@ } }, "node_modules/prettier": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", + "version": "3.9.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.4.tgz", + "integrity": "sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==", "dev": true, "license": "MIT", "bin": { @@ -17892,9 +16294,9 @@ "license": "MIT" }, "node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", "dev": true, "license": "MIT", "funding": { @@ -17925,32 +16327,16 @@ } }, "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", "dev": true, "license": "MIT" }, - "node_modules/ps-tree": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", - "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "event-stream": "=3.3.4" - }, - "bin": { - "ps-tree": "bin/ps-tree.js" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/pump": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", "dev": true, "license": "MIT", "dependencies": { @@ -18049,12 +16435,16 @@ } }, "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz", + "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==", "license": "MIT", "engines": { "node": ">= 0.6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/raw-body": { @@ -18073,26 +16463,48 @@ } }, "node_modules/react": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", - "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/react-aria": { + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/react-aria/-/react-aria-3.50.0.tgz", + "integrity": "sha512-S0Os6QZk33fzUAKu1QLT9afoUaCBt1ZNdoiq0n2YMVgKIdNIQS8zxiZ8O9hYE6QyDkHKjD6q39LQZ+qaSAIgjw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.12.2", + "@internationalized/number": "^3.6.7", + "@internationalized/string": "^3.2.9", + "@react-types/shared": "^3.36.0", + "@swc/helpers": "^0.5.0", + "aria-hidden": "^1.2.3", + "clsx": "^2.0.0", + "react-stately": "3.48.0", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, "node_modules/react-dom": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", "dev": true, "license": "MIT", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.4" + "react": "^19.2.7" } }, "node_modules/react-fast-compare": { @@ -18103,38 +16515,27 @@ "license": "MIT" }, "node_modules/react-intl": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-8.1.3.tgz", - "integrity": "sha512-eL1/d+uQdnapirynOGAriW0K9uAoyarjRGL3V9LaTRuohNSvPgCfJX06EZl5M52h/Hu7Gz7A1sD7dNHcos1lNg==", + "version": "10.1.14", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-10.1.14.tgz", + "integrity": "sha512-DuL7vAViDCjxyiPNccMkt1PBv22mh+1OBhA8ta4r0fbjnJYhLVFc+3pR71qADZRHytRnKm9JcVDP9jYJW+qO6g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@formatjs/ecma402-abstract": "3.1.1", - "@formatjs/icu-messageformat-parser": "3.5.1", - "@formatjs/intl": "4.1.2", - "@types/hoist-non-react-statics": "^3.3.1", - "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "11.1.2", - "tslib": "^2.8.1" + "@formatjs/icu-messageformat-parser": "3.5.12", + "@formatjs/intl": "4.1.14", + "intl-messageformat": "11.2.9" }, "peerDependencies": { - "@types/react": "19", - "react": "19", - "typescript": "^5.6.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@types/react": ">=18.0.0", + "react": ">=18.0.0" } }, "node_modules/react-is": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.4.tgz", - "integrity": "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz", + "integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/react-markdown": { "version": "10.1.0", @@ -18165,9 +16566,9 @@ } }, "node_modules/react-redux": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", - "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.3.0.tgz", + "integrity": "sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==", "dev": true, "license": "MIT", "dependencies": { @@ -18189,16 +16590,16 @@ } }, "node_modules/react-stately": { - "version": "3.46.0", - "resolved": "https://registry.npmjs.org/react-stately/-/react-stately-3.46.0.tgz", - "integrity": "sha512-OdxhWvHgs2L4OJGIs7hnuTr5WjjMM6enhNEAMRqiekhF8+ITvA2LRwNftOZwcogaoCslGYq5S2VQTQwnm0GbCA==", + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/react-stately/-/react-stately-3.48.0.tgz", + "integrity": "sha512-ImicSAG+lTotAe5izcs1fz49Zk48w7pDusqYg04WaPhCoej8BJ24soMu3iLXIrsi273s4P1gZrYGrqReMfgEEA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@internationalized/date": "^3.12.1", - "@internationalized/number": "^3.6.6", - "@internationalized/string": "^3.2.8", - "@react-types/shared": "^3.34.0", + "@internationalized/date": "^3.12.2", + "@internationalized/number": "^3.6.7", + "@internationalized/string": "^3.2.9", + "@react-types/shared": "^3.36.0", "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.6.0" }, @@ -18207,9 +16608,9 @@ } }, "node_modules/react-toastify": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz", - "integrity": "sha512-EpqHBGvnSTtHYhCPLxML05NLY2ZX0JURbAdNYa6BUkk+amz4wbKBQvoKQAB0ardvSarUBuY4Q4s1sluAzZwkmA==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.1.0.tgz", + "integrity": "sha512-e9h23x3phN0wbFeB6yovmWp7lobzV4CaCH0LO8nVP6H7Y+3GbcLpIzMm9dJhcp1RXbpyfvjgpfXqO80QAmn7sg==", "dev": true, "license": "MIT", "dependencies": { @@ -18273,23 +16674,23 @@ } }, "node_modules/recharts": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.7.0.tgz", - "integrity": "sha512-l2VCsy3XXeraxIID9fx23eCb6iCBsxUQDnE8tWm6DFdszVAO7WVY/ChAD9wVit01y6B2PMupYiMmQwhgPHc9Ew==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.9.1.tgz", + "integrity": "sha512-WMcwlXcB7l+BbxiEdyClkG+1sxrMHNZpzT577LEvU4+rXPd8oTAy1wXk72hnk2KOOmxuLvw3z5DtXT7HEAydtg==", "dev": true, "license": "MIT", "workspaces": [ "www" ], "dependencies": { - "@reduxjs/toolkit": "1.x.x || 2.x.x", + "@reduxjs/toolkit": "^1.9.0 || 2.x.x", "clsx": "^2.1.1", "decimal.js-light": "^2.5.1", "es-toolkit": "^1.39.3", "eventemitter3": "^5.0.1", - "immer": "^10.1.1", + "immer": "^11.1.8", "react-redux": "8.x.x || 9.x.x", - "reselect": "5.1.1", + "reselect": "5.2.0", "tiny-invariant": "^1.3.3", "use-sync-external-store": "^1.2.2", "victory-vendor": "^37.0.2" @@ -18395,18 +16796,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/relay-runtime": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/relay-runtime/-/relay-runtime-12.0.0.tgz", - "integrity": "sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.0.0", - "fbjs": "^3.0.0", - "invariant": "^2.2.4" - } - }, "node_modules/remark-gfm": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", @@ -18541,19 +16930,20 @@ } }, "node_modules/reselect": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", - "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.2.0.tgz", + "integrity": "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==", "dev": true, "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "version": "1.22.12", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", "dev": true, "license": "MIT", "dependencies": { + "es-errors": "^1.3.0", "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" @@ -18569,32 +16959,55 @@ } }, "node_modules/resolve-accept-language": { - "version": "3.1.16", - "resolved": "https://registry.npmjs.org/resolve-accept-language/-/resolve-accept-language-3.1.16.tgz", - "integrity": "sha512-7GDKhkyvVO+MjPn2GD74EgN9IbsbfwNRk1J2+RT1ELG7hA43EcXM5mAHREXSK4YAQjddSHaeboyBMnPV53p9eg==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/resolve-accept-language/-/resolve-accept-language-3.2.2.tgz", + "integrity": "sha512-U+JcZDtlnqeYmdE+fgE5QXWl4fZuLAbcci3nDgXuXA8cxlvShIrV7KvU5/HgUd3mPCYqBh0C7Y1vEfC3VIqVJA==", "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ret": { @@ -18623,16 +17036,16 @@ "license": "MIT" }, "node_modules/robust-predicates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", + "integrity": "sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==", "dev": true, "license": "Unlicense" }, "node_modules/rollup": { - "version": "4.61.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.61.0.tgz", - "integrity": "sha512-T9mWdbWfQtp0B5lv/HX+wrhYsmXRlcWnXXmJbXqKJhlRaoS6KMhq0gpyzW4UJfclcxrEdLnTgjT2NjruLONu0g==", + "version": "4.62.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.2.tgz", + "integrity": "sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==", "dev": true, "license": "MIT", "dependencies": { @@ -18646,31 +17059,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.61.0", - "@rollup/rollup-android-arm64": "4.61.0", - "@rollup/rollup-darwin-arm64": "4.61.0", - "@rollup/rollup-darwin-x64": "4.61.0", - "@rollup/rollup-freebsd-arm64": "4.61.0", - "@rollup/rollup-freebsd-x64": "4.61.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.61.0", - "@rollup/rollup-linux-arm-musleabihf": "4.61.0", - "@rollup/rollup-linux-arm64-gnu": "4.61.0", - "@rollup/rollup-linux-arm64-musl": "4.61.0", - "@rollup/rollup-linux-loong64-gnu": "4.61.0", - "@rollup/rollup-linux-loong64-musl": "4.61.0", - "@rollup/rollup-linux-ppc64-gnu": "4.61.0", - "@rollup/rollup-linux-ppc64-musl": "4.61.0", - "@rollup/rollup-linux-riscv64-gnu": "4.61.0", - "@rollup/rollup-linux-riscv64-musl": "4.61.0", - "@rollup/rollup-linux-s390x-gnu": "4.61.0", - "@rollup/rollup-linux-x64-gnu": "4.61.0", - "@rollup/rollup-linux-x64-musl": "4.61.0", - "@rollup/rollup-openbsd-x64": "4.61.0", - "@rollup/rollup-openharmony-arm64": "4.61.0", - "@rollup/rollup-win32-arm64-msvc": "4.61.0", - "@rollup/rollup-win32-ia32-msvc": "4.61.0", - "@rollup/rollup-win32-x64-gnu": "4.61.0", - "@rollup/rollup-win32-x64-msvc": "4.61.0", + "@rollup/rollup-android-arm-eabi": "4.62.2", + "@rollup/rollup-android-arm64": "4.62.2", + "@rollup/rollup-darwin-arm64": "4.62.2", + "@rollup/rollup-darwin-x64": "4.62.2", + "@rollup/rollup-freebsd-arm64": "4.62.2", + "@rollup/rollup-freebsd-x64": "4.62.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.2", + "@rollup/rollup-linux-arm-musleabihf": "4.62.2", + "@rollup/rollup-linux-arm64-gnu": "4.62.2", + "@rollup/rollup-linux-arm64-musl": "4.62.2", + "@rollup/rollup-linux-loong64-gnu": "4.62.2", + "@rollup/rollup-linux-loong64-musl": "4.62.2", + "@rollup/rollup-linux-ppc64-gnu": "4.62.2", + "@rollup/rollup-linux-ppc64-musl": "4.62.2", + "@rollup/rollup-linux-riscv64-gnu": "4.62.2", + "@rollup/rollup-linux-riscv64-musl": "4.62.2", + "@rollup/rollup-linux-s390x-gnu": "4.62.2", + "@rollup/rollup-linux-x64-gnu": "4.62.2", + "@rollup/rollup-linux-x64-musl": "4.62.2", + "@rollup/rollup-openbsd-x64": "4.62.2", + "@rollup/rollup-openharmony-arm64": "4.62.2", + "@rollup/rollup-win32-arm64-msvc": "4.62.2", + "@rollup/rollup-win32-ia32-msvc": "4.62.2", + "@rollup/rollup-win32-x64-gnu": "4.62.2", + "@rollup/rollup-win32-x64-msvc": "4.62.2", "fsevents": "~2.3.2" } }, @@ -18732,15 +17145,15 @@ } }, "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", + "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, @@ -18807,9 +17220,9 @@ } }, "node_modules/safe-regex2": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.0.0.tgz", - "integrity": "sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.1.1.tgz", + "integrity": "sha512-mOSBvHGDZMuIEZMdOz/aCEYDCv0E7nfcNsIhUF+/P+xC7Hyf3FkvymqgPbg9D1EdSGu+uKbJgy09K/RKKc7kJA==", "funding": [ { "type": "github", @@ -18823,6 +17236,9 @@ "license": "MIT", "dependencies": { "ret": "~0.5.0" + }, + "bin": { + "safe-regex2": "bin/safe-regex2.js" } }, "node_modules/safe-stable-stringify": { @@ -18841,9 +17257,9 @@ "license": "MIT" }, "node_modules/sax": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", - "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", "license": "BlueOak-1.0.0", "engines": { "node": ">=11.0.0" @@ -18873,9 +17289,9 @@ "license": "BSD-3-Clause" }, "node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -19021,13 +17437,6 @@ "node": ">= 0.4" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true, - "license": "MIT" - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -19104,9 +17513,9 @@ } }, "node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.9.0.tgz", + "integrity": "sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA==", "dev": true, "license": "MIT", "engines": { @@ -19136,13 +17545,13 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -19201,13 +17610,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/signedsource": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/signedsource/-/signedsource-1.0.0.tgz", - "integrity": "sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/simple-oauth2": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/simple-oauth2/-/simple-oauth2-5.1.0.tgz", @@ -19220,40 +17622,6 @@ "joi": "^17.6.4" } }, - "node_modules/simple-oauth2/node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/simple-oauth2/node_modules/@hapi/topo/node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "license": "BSD-3-Clause" - }, - "node_modules/simple-oauth2/node_modules/joi": { - "version": "17.13.3", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", - "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/simple-oauth2/node_modules/joi/node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "license": "BSD-3-Clause" - }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -19265,17 +17633,17 @@ } }, "node_modules/slice-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", - "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz", + "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" + "ansi-styles": "^6.2.3", + "is-fullwidth-code-point": "^5.1.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" @@ -19390,19 +17758,6 @@ "dev": true, "license": "CC0-1.0" }, - "node_modules/split": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", - "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", - "dev": true, - "license": "MIT", - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, "node_modules/split-on-first": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", @@ -19458,92 +17813,6 @@ "node": ">=0.10.0" } }, - "node_modules/stable-hash": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", - "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", - "dev": true, - "license": "MIT" - }, - "node_modules/start-server-and-test": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.1.5.tgz", - "integrity": "sha512-A/SbXpgXE25ScSkpLLqvGvVZT0ykN6+AzS8tVqMBCTxbJy2Nwuen59opT+afalK5aS+AuQmZs0EsLwjnuDN+/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "arg": "^5.0.2", - "bluebird": "3.7.2", - "check-more-types": "2.24.0", - "debug": "4.4.3", - "execa": "5.1.1", - "lazy-ass": "1.6.0", - "ps-tree": "1.2.0", - "wait-on": "9.0.4" - }, - "bin": { - "server-test": "src/bin/start.js", - "start-server-and-test": "src/bin/start.js", - "start-test": "src/bin/start.js" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/start-server-and-test/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/start-server-and-test/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/start-server-and-test/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/start-server-and-test/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, "node_modules/statuses": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", @@ -19574,16 +17843,6 @@ "dev": true, "license": "BSD-3-Clause" }, - "node_modules/stream-combiner": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", - "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer": "~0.1.1" - } - }, "node_modules/stream-json": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/stream-json/-/stream-json-1.9.1.tgz", @@ -19603,9 +17862,9 @@ } }, "node_modules/streamx": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", - "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.28.0.tgz", + "integrity": "sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==", "devOptional": true, "license": "MIT", "dependencies": { @@ -19655,12 +17914,15 @@ "node": ">=8" } }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + } }, "node_modules/string-width/node_modules/is-fullwidth-code-point": { "version": "3.0.0", @@ -19672,47 +17934,17 @@ "node": ">=8" } }, - "node_modules/string.prototype.includes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", - "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, "node_modules/string.prototype.padend": { @@ -19734,31 +17966,21 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.11.tgz", + "integrity": "sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" + "es-abstract": "^1.24.2", + "es-object-atoms": "^1.1.2", + "has-property-descriptors": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -19768,16 +17990,16 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.10.tgz", + "integrity": "sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "es-object-atoms": "^1.1.2" }, "engines": { "node": ">= 0.4" @@ -19820,16 +18042,19 @@ } }, "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^6.2.2" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/strip-bom": { @@ -19852,29 +18077,16 @@ "node": ">=6" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/stripe": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/stripe/-/stripe-20.4.0.tgz", - "integrity": "sha512-F/aN1IQ9vHmlyLNi3DkiIbyzQb6gyBG0uYFd/VrEVQSc9BLtlgknPUx0EvzZdBMRLFuRaPFIFd7Mxwtg7Pbwzw==", + "version": "22.3.0", + "resolved": "https://registry.npmjs.org/stripe/-/stripe-22.3.0.tgz", + "integrity": "sha512-ypO6xjVrMWs9SmIMeHr8naCx3dAQ0clxMdUTxn7Ejd7hmY9meBGfE+N4pVHkf9sUNebAHp6uJo6mV3GxDIc2cA==", "license": "MIT", "engines": { - "node": ">=16" + "node": ">=18" }, "peerDependencies": { - "@types/node": ">=16" + "@types/node": ">=18" }, "peerDependenciesMeta": { "@types/node": { @@ -19883,9 +18095,9 @@ } }, "node_modules/strnum": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", - "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.4.1.tgz", + "integrity": "sha512-M9eUSMT2dCB2cTNPG7UYj6KuK7RJR2SN2+yCV/fTW3xzTCS6EaGZ5pSMgDIjB7r8zSfTGk+dvvn9rTjpVS9Mwg==", "dev": true, "funding": [ { @@ -19893,7 +18105,10 @@ "url": "https://github.com/sponsors/NaturalIntelligence" } ], - "license": "MIT" + "license": "MIT", + "dependencies": { + "anynum": "^1.0.1" + } }, "node_modules/style-to-js": { "version": "1.1.21", @@ -19973,16 +18188,16 @@ } }, "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -20009,9 +18224,9 @@ } }, "node_modules/swr": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/swr/-/swr-2.4.1.tgz", - "integrity": "sha512-2CC6CiKQtEwaEeNiqWTAw9PGykW8SR5zZX8MZk6TeAvEAnVS7Visz8WzphqgtQ8v2xz/4Q5K+j+SeMaKXeeQIA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.4.2.tgz", + "integrity": "sha512-ej644Y2bvkIajfR32KGeSSdBXQW+ScjGjkybZgSE7kFpk9eGnV44XY9FJylXi+W75pavSX1PVNB57W5EbhGIYw==", "dev": true, "license": "MIT", "dependencies": { @@ -20023,47 +18238,28 @@ } }, "node_modules/sync-fetch": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0.tgz", - "integrity": "sha512-IELLEvzHuCfc1uTsshPK58ViSdNqXxlml1U+fmwJIKLYKOr/rAtBrorE2RYm5IHaMpDNlmC0fr1LAvdXvyheEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "node-fetch": "^3.3.2", - "timeout-signal": "^2.0.0", - "whatwg-mimetype": "^4.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/sync-fetch/node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0.tgz", + "integrity": "sha512-IELLEvzHuCfc1uTsshPK58ViSdNqXxlml1U+fmwJIKLYKOr/rAtBrorE2RYm5IHaMpDNlmC0fr1LAvdXvyheEQ==", "dev": true, "license": "MIT", "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" + "node-fetch": "^3.3.2", + "timeout-signal": "^2.0.0", + "whatwg-mimetype": "^4.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" + "node": ">=18" } }, "node_modules/synckit": { - "version": "0.11.12", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", - "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.13.tgz", + "integrity": "sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/core": "^0.2.9" + "@pkgr/core": "^0.3.6" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -20073,9 +18269,9 @@ } }, "node_modules/systeminformation": { - "version": "5.31.1", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.1.tgz", - "integrity": "sha512-6pRwxoGeV/roJYpsfcP6tN9mep6pPeCtXbUOCdVa0nme05Brwcwdge/fVNhIZn2wuUitAKZm4IYa7QjnRIa9zA==", + "version": "5.31.11", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.11.tgz", + "integrity": "sha512-I6O7iaUj23AXRgCPDDnvi3xHvdOLp4+1YMbF+X194lJwY1NeWojgHJPhslVKcmTtrLTguRk3QJK+xEdTiI3P0w==", "dev": true, "license": "MIT", "os": [ @@ -20100,16 +18296,16 @@ } }, "node_modules/tabbable": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", - "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.5.0.tgz", + "integrity": "sha512-wieBHXygIm7OyQOu5hQlkk62/WyCFYGlWg7L6/ZCUZwx0o398Zkn4pVmMyfYhfMG8kGrj/Krt8eIk6UKC6VzwA==", "dev": true, "license": "MIT" }, "node_modules/tailwind-merge": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.5.0.tgz", - "integrity": "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.6.0.tgz", + "integrity": "sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==", "dev": true, "license": "MIT", "funding": { @@ -20118,16 +18314,16 @@ } }, "node_modules/tailwindcss": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", - "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.2.tgz", + "integrity": "sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==", "dev": true, "license": "MIT" }, "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", "dev": true, "license": "MIT", "engines": { @@ -20139,17 +18335,28 @@ } }, "node_modules/tar-stream": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", - "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.0.tgz", + "integrity": "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==", "devOptional": true, "license": "MIT", "dependencies": { "b4a": "^1.6.4", + "bare-fs": "^4.5.5", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, "node_modules/text-decoder": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", @@ -20184,17 +18391,23 @@ } }, "node_modules/thread-stream": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-4.0.0.tgz", - "integrity": "sha512-4iMVL6HAINXWf1ZKZjIPcz5wYaOdPhtO8ATvZ+Xqp3BTdaqtAwQkNmKORqcIo5YkQqGXq5cwfswDwMqqQNrpJA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-4.2.0.tgz", + "integrity": "sha512-e2zZ96wSChazBsbENf/Pcm/4swHt2cEKQ92rhUjkL9GCKiTDJIaTBenjE/m9DXi0QBmTMDkFDdOomUy20A1tDQ==", "license": "MIT", "dependencies": { - "real-require": "^0.2.0" + "real-require": "^1.0.0" }, "engines": { "node": ">=20" } }, + "node_modules/thread-stream/node_modules/real-require": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-1.0.0.tgz", + "integrity": "sha512-P4nbQYQfePJxRSmY+v/KINxVucm4NF3p3s7pJveMTtom52FR4YGltUQLB8idDXwDDWW+eYrWDFbuzUnjoWHF7g==", + "license": "MIT" + }, "node_modules/throttleit": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz", @@ -20250,14 +18463,14 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -20297,9 +18510,9 @@ "license": "MIT" }, "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", "dev": true, "license": "MIT", "engines": { @@ -20320,12 +18533,12 @@ } }, "node_modules/toad-cache": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", - "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.1.tgz", + "integrity": "sha512-5DXWzE4Vz7xNHsv+xQ+MGfJYyC78Aok3tEr0MNwHoRf7vZnga1mQXZ4/Nsodld4VR6Wd+VhfmqnNrsRJyYPfrQ==", "license": "MIT", "engines": { - "node": ">=12" + "node": ">=20" } }, "node_modules/toidentifier": { @@ -20395,9 +18608,9 @@ } }, "node_modules/ts-api-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", "dev": true, "license": "MIT", "engines": { @@ -20421,32 +18634,6 @@ "dev": true, "license": "MIT" }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -20550,17 +18737,34 @@ } }, "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", "license": "MIT", "dependencies": { - "content-type": "^1.0.5", + "content-type": "^2.0.0", "media-typer": "^1.1.0", "mime-types": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/type-is/node_modules/mime-db": { @@ -20646,18 +18850,18 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz", + "integrity": "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" + "call-bind": "^1.0.9", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "is-typed-array": "^1.1.15", + "possible-typed-array-names": "^1.1.0", + "reflect.getprototypeof": "^1.0.10" }, "engines": { "node": ">= 0.4" @@ -20673,17 +18877,17 @@ "license": "MIT" }, "node_modules/typedoc": { - "version": "0.28.17", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.17.tgz", - "integrity": "sha512-ZkJ2G7mZrbxrKxinTQMjFqsCoYY6a5Luwv2GKbTnBCEgV2ihYm5CflA9JnJAwH0pZWavqfYxmDkFHPt4yx2oDQ==", + "version": "0.28.19", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.19.tgz", + "integrity": "sha512-wKh+lhdmMFivMlc6vRRcMGXeGEHGU2g8a2CkPTJjJlwRf1iXbimWIPcFolCqe4E0d/FRtGszpIrsp3WLpDB8Pw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@gerrit0/mini-shiki": "^3.17.0", + "@gerrit0/mini-shiki": "^3.23.0", "lunr": "^2.3.9", - "markdown-it": "^14.1.0", - "minimatch": "^9.0.5", - "yaml": "^2.8.1" + "markdown-it": "^14.1.1", + "minimatch": "^10.2.5", + "yaml": "^2.8.3" }, "bin": { "typedoc": "bin/typedoc" @@ -20693,33 +18897,7 @@ "pnpm": ">= 10" }, "peerDependencies": { - "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x" - } - }, - "node_modules/typedoc/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.2" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x" } }, "node_modules/typescript": { @@ -20737,16 +18915,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.56.1.tgz", - "integrity": "sha512-U4lM6pjmBX7J5wk4szltF7I1cGBHXZopnAXCMXb3+fZ3B/0Z3hq3wS/CCUB2NZBNAExK92mCU2tEohWuwVMsDQ==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.62.1.tgz", + "integrity": "sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.56.1", - "@typescript-eslint/parser": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/utils": "8.56.1" + "@typescript-eslint/eslint-plugin": "8.62.1", + "@typescript-eslint/parser": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/utils": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -20757,34 +18935,7 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.41", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz", - "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "license": "MIT", - "bin": { - "ua-parser-js": "script/cli.js" - }, - "engines": { - "node": "*" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/uc.micro": { @@ -20843,9 +18994,9 @@ } }, "node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", "devOptional": true, "license": "MIT" }, @@ -20974,41 +19125,6 @@ "node": ">= 0.8" } }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "napi-postinstall": "^0.3.0" - }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" - }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" - } - }, "node_modules/untildify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", @@ -21096,20 +19212,6 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -21137,9 +19239,9 @@ } }, "node_modules/validator": { - "version": "13.15.26", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.26.tgz", - "integrity": "sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==", + "version": "13.15.35", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.35.tgz", + "integrity": "sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==", "dev": true, "license": "MIT", "engines": { @@ -21159,8 +19261,8 @@ "version": "1.10.1", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -21238,39 +19340,6 @@ "d3-timer": "^3.0.1" } }, - "node_modules/wait-on": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-9.0.4.tgz", - "integrity": "sha512-k8qrgfwrPVJXTeFY8tl6BxVHiclK11u72DVKhpybHfUL/K6KM4bdyK9EhIVYGytB5MJe/3lq4Tf0hrjM+pvJZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "axios": "^1.13.5", - "joi": "^18.0.2", - "lodash": "^4.17.23", - "minimist": "^1.2.8", - "rxjs": "^7.8.2" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/web-encoding": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", - "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "util": "^0.12.3" - }, - "optionalDependencies": { - "@zxing/text-encoding": "0.9.0" - } - }, "node_modules/web-namespaces": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", @@ -21427,14 +19496,14 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", + "integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", + "call-bind": "^1.0.9", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", @@ -21473,6 +19542,65 @@ "node": ">=8" } }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -21480,9 +19608,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", - "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", "dev": true, "license": "MIT", "engines": { @@ -21513,6 +19641,22 @@ "xml-js": "bin/cli.js" } }, + "node_modules/xml-naming": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/xml-naming/-/xml-naming-0.1.0.tgz", + "integrity": "sha512-k8KO9hrMyNk6tUWqUfkTEZbezRRpONVOzUTnc97VnCvyj6Tf9lyUR9EDAIeiVLv56jsMcoXEwjW8Kv5yPY52lw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/xml2js": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", @@ -21555,9 +19699,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", "dev": true, "license": "ISC", "bin": { @@ -21571,9 +19715,9 @@ } }, "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "version": "17.7.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", "dev": true, "license": "MIT", "dependencies": { @@ -21639,35 +19783,22 @@ } }, "node_modules/zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } }, "node_modules/zod-to-json-schema": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", - "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", "dev": true, "license": "ISC", "peerDependencies": { - "zod": "^3.25 || ^4" - } - }, - "node_modules/zod-validation-error": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", - "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "zod": "^3.25.0 || ^4.0.0" + "zod": "^3.25.28 || ^4" } }, "node_modules/zwitch": { @@ -21683,26 +19814,25 @@ }, "packages/api": { "name": "@unchainedshop/api", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/core": "^4.6.0", - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/roles": "^4.6.0", - "@unchainedshop/utils": "^4.6.0", + "@unchainedshop/core": "^5.0.0-alpha.1", + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/roles": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1", "@whatwg-node/server": "^0.10.18", "dataloader": "^2.2.3", "graphql-scalars": "^1.24.2", "jose": "^6.0.10", "mime": ">= 4 < 5", - "p-memoize": "^8.0.0", "zod": "^3.25.76 || ^4" }, "devDependencies": { "@ai-sdk/mcp": "^1.0.5", "@fastify/cookie": "^11.0.2", - "@fastify/multipart": "^9.0.3", + "@fastify/multipart": "^10.0.0", "@fastify/static": "^9.0.0", "@modelcontextprotocol/sdk": "^1.15.1", "@types/cookie-parser": "^1.4.8", @@ -21718,7 +19848,7 @@ "peerDependencies": { "@ai-sdk/mcp": "^1", "@fastify/cookie": ">= 11 < 12", - "@fastify/multipart": ">= 9 < 10", + "@fastify/multipart": ">= 10 < 11", "@fastify/static": ">= 9 < 10", "@modelcontextprotocol/sdk": ">= 1 < 2", "ai": ">= 6 < 7", @@ -21766,28 +19896,28 @@ }, "packages/core": { "name": "@unchainedshop/core", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/core-assortments": "^4.6.0", - "@unchainedshop/core-bookmarks": "^4.6.0", - "@unchainedshop/core-countries": "^4.6.0", - "@unchainedshop/core-currencies": "^4.6.0", - "@unchainedshop/core-delivery": "^4.6.0", - "@unchainedshop/core-enrollments": "^4.6.0", - "@unchainedshop/core-events": "^4.6.0", - "@unchainedshop/core-files": "^4.6.0", - "@unchainedshop/core-filters": "^4.6.0", - "@unchainedshop/core-languages": "^4.6.0", - "@unchainedshop/core-orders": "^4.6.0", - "@unchainedshop/core-payment": "^4.6.0", - "@unchainedshop/core-products": "^4.6.0", - "@unchainedshop/core-quotations": "^4.6.0", - "@unchainedshop/core-users": "^4.6.0", - "@unchainedshop/core-warehousing": "^4.6.0", - "@unchainedshop/core-worker": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/utils": "^4.6.0", + "@unchainedshop/core-assortments": "^5.0.0-alpha.1", + "@unchainedshop/core-bookmarks": "^5.0.0-alpha.1", + "@unchainedshop/core-countries": "^5.0.0-alpha.1", + "@unchainedshop/core-currencies": "^5.0.0-alpha.1", + "@unchainedshop/core-delivery": "^5.0.0-alpha.1", + "@unchainedshop/core-enrollments": "^5.0.0-alpha.1", + "@unchainedshop/core-events": "^5.0.0-alpha.1", + "@unchainedshop/core-files": "^5.0.0-alpha.1", + "@unchainedshop/core-filters": "^5.0.0-alpha.1", + "@unchainedshop/core-languages": "^5.0.0-alpha.1", + "@unchainedshop/core-orders": "^5.0.0-alpha.1", + "@unchainedshop/core-payment": "^5.0.0-alpha.1", + "@unchainedshop/core-products": "^5.0.0-alpha.1", + "@unchainedshop/core-quotations": "^5.0.0-alpha.1", + "@unchainedshop/core-users": "^5.0.0-alpha.1", + "@unchainedshop/core-warehousing": "^5.0.0-alpha.1", + "@unchainedshop/core-worker": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1", "minipass-json-stream": "^1.0.2" }, "devDependencies": { @@ -21797,12 +19927,12 @@ }, "packages/core-assortments": { "name": "@unchainedshop/core-assortments", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21811,11 +19941,11 @@ }, "packages/core-bookmarks": { "name": "@unchainedshop/core-bookmarks", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/mongodb": "^4.6.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/mongodb": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21824,11 +19954,11 @@ }, "packages/core-countries": { "name": "@unchainedshop/core-countries", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21837,11 +19967,11 @@ }, "packages/core-currencies": { "name": "@unchainedshop/core-currencies", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21850,15 +19980,13 @@ }, "packages/core-delivery": { "name": "@unchainedshop/core-delivery", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/mongodb": "^4.6.0", - "@unchainedshop/utils": "^4.6.0", - "expiry-map": "^2.0.0", - "p-memoize": "^8.0.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/mongodb": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21867,12 +19995,12 @@ }, "packages/core-enrollments": { "name": "@unchainedshop/core-enrollments", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21881,11 +20009,11 @@ }, "packages/core-events": { "name": "@unchainedshop/core-events", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21894,12 +20022,12 @@ }, "packages/core-files": { "name": "@unchainedshop/core-files", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21908,15 +20036,13 @@ }, "packages/core-filters": { "name": "@unchainedshop/core-filters", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/mongodb": "^4.6.0", - "@unchainedshop/utils": "^4.6.0", - "expiry-map": "^2.0.0", - "p-memoize": "^8.0.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/mongodb": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21925,11 +20051,11 @@ }, "packages/core-languages": { "name": "@unchainedshop/core-languages", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21938,13 +20064,13 @@ }, "packages/core-orders": { "name": "@unchainedshop/core-orders", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { "@kontsedal/locco": "^1.1.0", - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21953,14 +20079,12 @@ }, "packages/core-payment": { "name": "@unchainedshop/core-payment", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/utils": "^4.6.0", - "expiry-map": "^2.0.0", - "p-memoize": "^8.0.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21969,11 +20093,11 @@ }, "packages/core-products": { "name": "@unchainedshop/core-products", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21982,12 +20106,12 @@ }, "packages/core-quotations": { "name": "@unchainedshop/core-quotations", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -21996,18 +20120,16 @@ }, "packages/core-users": { "name": "@unchainedshop/core-users", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { "@passwordless-id/webauthn": "^2.3.1", - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/mongodb": "^4.6.0", - "@unchainedshop/roles": "^4.6.0", - "@unchainedshop/utils": "^4.6.0", - "bcryptjs": "^3.0.2", - "expiry-map": "^2.0.0", - "p-memoize": "^8.0.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/mongodb": "^5.0.0-alpha.1", + "@unchainedshop/roles": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1", + "bcryptjs": "^3.0.2" }, "devDependencies": { "@noble/curves": "^2.0.0", @@ -22030,14 +20152,12 @@ }, "packages/core-warehousing": { "name": "@unchainedshop/core-warehousing", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/utils": "^4.6.0", - "expiry-map": "^2.0.0", - "p-memoize": "^8.0.0" + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -22046,11 +20166,11 @@ }, "packages/core-worker": { "name": "@unchainedshop/core-worker", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -22059,10 +20179,10 @@ }, "packages/events": { "name": "@unchainedshop/events", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/logger": "^4.6.0" + "@unchainedshop/logger": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -22071,7 +20191,7 @@ }, "packages/logger": { "name": "@unchainedshop/logger", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { "safe-stable-stringify": "^2.5.0" @@ -22083,10 +20203,10 @@ }, "packages/mongodb": { "name": "@unchainedshop/mongodb", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@types/node": "^25.0.0", @@ -22111,17 +20231,17 @@ }, "packages/platform": { "name": "@unchainedshop/platform", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/api": "^4.6.0", - "@unchainedshop/core": "^4.6.0", - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/mongodb": "^4.6.0", - "@unchainedshop/plugins": "^4.6.0", - "@unchainedshop/roles": "^4.6.0", - "@unchainedshop/utils": "^4.6.0", + "@unchainedshop/api": "^5.0.0-alpha.1", + "@unchainedshop/core": "^5.0.0-alpha.1", + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/mongodb": "^5.0.0-alpha.1", + "@unchainedshop/plugins": "^5.0.0-alpha.1", + "@unchainedshop/roles": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1", "safe-stable-stringify": "^2.5.0" }, "devDependencies": { @@ -22135,20 +20255,20 @@ }, "packages/plugins": { "name": "@unchainedshop/plugins", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/api": "^4.6.0", - "@unchainedshop/core-delivery": "^4.6.0", - "@unchainedshop/core-enrollments": "^4.6.0", - "@unchainedshop/core-orders": "^4.6.0", - "@unchainedshop/core-payment": "^4.6.0", - "@unchainedshop/core-products": "^4.6.0", - "@unchainedshop/core-warehousing": "^4.6.0", - "@unchainedshop/core-worker": "^4.6.0", - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/utils": "^4.6.0" + "@unchainedshop/api": "^5.0.0-alpha.1", + "@unchainedshop/core-delivery": "^5.0.0-alpha.1", + "@unchainedshop/core-enrollments": "^5.0.0-alpha.1", + "@unchainedshop/core-orders": "^5.0.0-alpha.1", + "@unchainedshop/core-payment": "^5.0.0-alpha.1", + "@unchainedshop/core-products": "^5.0.0-alpha.1", + "@unchainedshop/core-warehousing": "^5.0.0-alpha.1", + "@unchainedshop/core-worker": "^5.0.0-alpha.1", + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/utils": "^5.0.0-alpha.1" }, "devDependencies": { "@redis/client": "^5.6.0", @@ -22156,13 +20276,11 @@ "@scure/btc-signer": "^2.0.0", "@types/express": "^5.0.3", "@types/node": "^25.0.0", - "expiry-map": "^2.0.0", "express": "^5.1.0", "fastify": "^5.4.0", "minio": "^8.0.5", "nodemailer": "^8.0.1", - "p-memoize": "^8.0.0", - "stripe": "^20.0.0", + "stripe": "^22.1.0", "typescript": "^5.8.3", "web-push": "^3.6.7", "xml-js": "^1.6.11" @@ -22172,14 +20290,12 @@ "@redis/client": ">= 1 < 6", "@scure/bip32": ">= 2", "@scure/btc-signer": ">= 2", - "expiry-map": "2.x", "express": ">= 5 < 6", "fastify": ">= 5.2 < 6", "mime": ">= 4 < 5", "minio": "8.x", "nodemailer": ">= 6.9 < 9", - "p-memoize": "8.x", - "stripe": ">= 19 < 21", + "stripe": ">= 19 < 23", "web-push": ">= 3.6 <4", "xml-js": ">= 1.6 < 2" }, @@ -22196,9 +20312,6 @@ "@scure/btc-signer": { "optional": true }, - "expiry-map": { - "optional": true - }, "express": { "optional": true }, @@ -22211,9 +20324,6 @@ "nodemailer": { "optional": true }, - "p-memoize": { - "optional": true - }, "stripe": { "optional": true }, @@ -22227,7 +20337,7 @@ }, "packages/roles": { "name": "@unchainedshop/roles", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "devDependencies": { "@types/node": "^25.0.0", @@ -22236,7 +20346,7 @@ }, "packages/shared": { "name": "@unchainedshop/shared", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "devDependencies": { "@types/node": "^25.0.0", "typescript": "^5.8.3" @@ -22244,20 +20354,21 @@ }, "packages/ticketing": { "name": "@unchainedshop/ticketing", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/api": "^4.6.0", - "@unchainedshop/core": "^4.6.0", - "@unchainedshop/core-files": "^4.6.0", - "@unchainedshop/core-orders": "^4.6.0", - "@unchainedshop/core-warehousing": "^4.6.0", - "@unchainedshop/core-worker": "^4.6.0", - "@unchainedshop/events": "^4.6.0", - "@unchainedshop/logger": "^4.6.0", - "@unchainedshop/mongodb": "^4.6.0" + "@unchainedshop/api": "^5.0.0-alpha.1", + "@unchainedshop/core": "^5.0.0-alpha.1", + "@unchainedshop/core-files": "^5.0.0-alpha.1", + "@unchainedshop/core-orders": "^5.0.0-alpha.1", + "@unchainedshop/core-warehousing": "^5.0.0-alpha.1", + "@unchainedshop/core-worker": "^5.0.0-alpha.1", + "@unchainedshop/events": "^5.0.0-alpha.1", + "@unchainedshop/logger": "^5.0.0-alpha.1", + "@unchainedshop/mongodb": "^5.0.0-alpha.1" }, "devDependencies": { + "@parse/node-apn": "^8.1.0", "@types/express": "^5.0.3", "@types/node": "^25.0.0", "express": "^5.1.0", @@ -22265,7 +20376,7 @@ "typescript": "^5.8.3" }, "peerDependencies": { - "@parse/node-apn": "^7.0.1", + "@parse/node-apn": "^8.1.0", "express": "5.x", "fastify": ">= 5.2 < 6" }, @@ -22283,12 +20394,11 @@ }, "packages/utils": { "name": "@unchainedshop/utils", - "version": "4.7.2", + "version": "5.0.0-alpha.2", "license": "EUPL-1.2", "dependencies": { - "@unchainedshop/logger": "^4.6.0", - "hashids": "^2.3.0", - "resolve-accept-language": "^3.1.11" + "@unchainedshop/logger": "^5.0.0-alpha.1", + "hashids": "^2.3.0" }, "devDependencies": { "@types/node": "^25.0.0", From 7ddcee386240fc1106988bc5f298da9b237c9f33 Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Thu, 2 Jul 2026 21:54:41 +0300 Subject: [PATCH 10/10] Fix rebase --- admin-ui/src/gql/types.ts | 16 ++- .../apollo/utils/createApolloClient.ts | 1 - .../order/components/OrderStatusBadge.tsx | 7 +- admin-ui/tsup.config.ts | 3 +- examples/kitchensink/src/boot.ts | 10 +- examples/ticketing/boot.ts | 2 +- .../mutations/warehousing/invalidateToken.ts | 4 +- .../resolvers/queries/products/products.ts | 7 +- packages/core/src/factory/index.ts | 2 + .../src/factory/registerVirtualWarehousing.ts | 116 ++++++++++++++++++ .../src/payment/datatrans-v2/api/types.ts | 13 +- packages/plugins/src/payment/stripe/stripe.ts | 2 +- packages/ticketing/package.json | 14 +++ packages/ticketing/src/services.ts | 28 ++--- tools/demo-data-cli/src/types/bulk-import.ts | 6 +- 15 files changed, 171 insertions(+), 60 deletions(-) create mode 100644 packages/core/src/factory/registerVirtualWarehousing.ts diff --git a/admin-ui/src/gql/types.ts b/admin-ui/src/gql/types.ts index 089f2a0582..bb5c305a04 100644 --- a/admin-ui/src/gql/types.ts +++ b/admin-ui/src/gql/types.ts @@ -1,5 +1,3 @@ -<<<<<<< HEAD -======= export type Maybe = T | null; export type InputMaybe = Maybe; export type Exact = { @@ -330,8 +328,7 @@ export type IColor = { }; export type IConfigurableOrBundleProduct = - | IBundleProduct - | IConfigurableProduct; + IBundleProduct | IConfigurableProduct; /** Configurable Product (Proxy) */ export type IConfigurableProduct = IProduct & { @@ -2608,7 +2605,7 @@ export type IProductCatalogPrice = { currency: ICurrency; isNetPrice: Scalars['Boolean']['output']; isTaxable: Scalars['Boolean']['output']; - maxQuantity?: Maybe; + minQuantity?: Maybe; }; export type IProductConfigurationParameter = { @@ -3462,12 +3459,14 @@ export type IReorderProductMediaInput = { }; export enum IRoleAction { + AddCartQuotation = 'addCartQuotation', AnswerQuotation = 'answerQuotation', BookmarkProduct = 'bookmarkProduct', BulkImport = 'bulkImport', ChangePassword = 'changePassword', CheckoutCart = 'checkoutCart', ConfirmMediaUpload = 'confirmMediaUpload', + CreateBookmark = 'createBookmark', CreateCart = 'createCart', CreateEnrollment = 'createEnrollment', CreateUser = 'createUser', @@ -3884,7 +3883,7 @@ export type IUpdateProductCommercePricingInput = { currencyCode: Scalars['String']['input']; isNetPrice?: InputMaybe; isTaxable?: InputMaybe; - maxQuantity?: InputMaybe; + minQuantity?: InputMaybe; }; export type IUpdateProductInput = { @@ -11360,7 +11359,7 @@ export type IProductCatalogPriceFragment = { isTaxable: boolean; isNetPrice: boolean; amount: number; - maxQuantity?: number | null; + minQuantity?: number | null; country: { _id: string; isoCode?: string | null; @@ -12919,7 +12918,7 @@ export type IProductCatalogPricesQuery = { isTaxable: boolean; isNetPrice: boolean; amount: number; - maxQuantity?: number | null; + minQuantity?: number | null; country: { _id: string; isoCode?: string | null; @@ -16434,4 +16433,3 @@ export type IWorkQueueQuery = { original?: { _id: string; retries: number } | null; }>; }; ->>>>>>> 88bb29e0e (Extend erc minter) diff --git a/admin-ui/src/modules/apollo/utils/createApolloClient.ts b/admin-ui/src/modules/apollo/utils/createApolloClient.ts index b0606f6ad4..246bfc56d7 100644 --- a/admin-ui/src/modules/apollo/utils/createApolloClient.ts +++ b/admin-ui/src/modules/apollo/utils/createApolloClient.ts @@ -84,7 +84,6 @@ const createApolloClient = ({ defaultOptions: { watchQuery: { fetchPolicy: 'cache-and-network', - errorPolicy: 'all', }, }, diff --git a/admin-ui/src/modules/order/components/OrderStatusBadge.tsx b/admin-ui/src/modules/order/components/OrderStatusBadge.tsx index 790cb28b89..04f3558350 100644 --- a/admin-ui/src/modules/order/components/OrderStatusBadge.tsx +++ b/admin-ui/src/modules/order/components/OrderStatusBadge.tsx @@ -4,12 +4,7 @@ import Badge from '@/components/ui/Badge'; import { ORDER_STATUSES } from '../../common/data/miscellaneous'; type OrderStatus = - | 'PENDING' - | 'CONFIRMED' - | 'OPEN' - | 'FULFILLED' - | 'REJECTED' - | string; + 'PENDING' | 'CONFIRMED' | 'OPEN' | 'FULFILLED' | 'REJECTED' | string; type OrderStatusBadgeProps = { status: OrderStatus; diff --git a/admin-ui/tsup.config.ts b/admin-ui/tsup.config.ts index f4eae06c2f..a9fdc46875 100644 --- a/admin-ui/tsup.config.ts +++ b/admin-ui/tsup.config.ts @@ -24,7 +24,8 @@ export default defineConfig({ 'modules/product-review': 'src/modules/product-review/index.ts', 'modules/quotation': 'src/modules/quotation/index.ts', 'modules/token': 'src/modules/token/index.ts', - 'modules/warehousing-providers': 'src/modules/warehousing-providers/index.ts', + 'modules/warehousing-providers': + 'src/modules/warehousing-providers/index.ts', 'modules/work': 'src/modules/work/index.ts', }, format: ['esm'], diff --git a/examples/kitchensink/src/boot.ts b/examples/kitchensink/src/boot.ts index 7ddb7075b6..71a6b8b132 100644 --- a/examples/kitchensink/src/boot.ts +++ b/examples/kitchensink/src/boot.ts @@ -126,11 +126,11 @@ try { }, chat: provider ? { - model: provider.chat(process.env.OPENAI_MODEL || 'gpt-5.2'), - imageGenerationTool: imageProvider - ? { model: imageProvider.imageModel('gpt-image-1') } - : undefined, - } + model: provider.chat(process.env.OPENAI_MODEL || 'gpt-5.2'), + imageGenerationTool: imageProvider + ? { model: imageProvider.imageModel('gpt-image-1') } + : undefined, + } : undefined, }); diff --git a/examples/ticketing/boot.ts b/examples/ticketing/boot.ts index 21ca6dfe53..0237ed901c 100644 --- a/examples/ticketing/boot.ts +++ b/examples/ticketing/boot.ts @@ -1,7 +1,7 @@ import Fastify from 'fastify'; import { startPlatform } from '@unchainedshop/platform'; import { registerBasePlugins } from '@unchainedshop/plugins/presets/base'; -import { connect, unchainedLogger } from '@unchainedshop/api/lib/fastify/index.js'; +import { connect, unchainedLogger } from '@unchainedshop/api/fastify'; import setupTicketing, { ticketingModules, type TicketingAPI } from '@unchainedshop/ticketing'; import connectTicketingToFastify from '@unchainedshop/ticketing/lib/fastify.js'; import ticketingServices from '@unchainedshop/ticketing/lib/services.js'; diff --git a/packages/api/src/resolvers/mutations/warehousing/invalidateToken.ts b/packages/api/src/resolvers/mutations/warehousing/invalidateToken.ts index a81e006594..ad489e0916 100644 --- a/packages/api/src/resolvers/mutations/warehousing/invalidateToken.ts +++ b/packages/api/src/resolvers/mutations/warehousing/invalidateToken.ts @@ -44,7 +44,5 @@ export default async function invalidateToken( if (!isInvalidateable) throw new TokenWrongStatusError({ tokenId }); - const invalidatedToken = await modules.warehousing.invalidateToken(tokenId); - - return invalidatedToken; + return modules.warehousing.invalidateToken(tokenId); } diff --git a/packages/api/src/resolvers/queries/products/products.ts b/packages/api/src/resolvers/queries/products/products.ts index 40456f6057..ff6dbd7224 100644 --- a/packages/api/src/resolvers/queries/products/products.ts +++ b/packages/api/src/resolvers/queries/products/products.ts @@ -12,6 +12,11 @@ export default async function products( }, { modules, userId }: Context, ) { - log(`query products `, { ...params, userId }); + log( + `query products: ${params.limit || 0} ${params.offset || 0} ${ + params.includeDrafts ? 'includeDrafts' : '' + } ${params.slugs?.join(',')}`, + { userId }, + ); return modules.products.findProducts(params); } diff --git a/packages/core/src/factory/index.ts b/packages/core/src/factory/index.ts index 6c7ab2b13b..5d9b561a8c 100644 --- a/packages/core/src/factory/index.ts +++ b/packages/core/src/factory/index.ts @@ -3,6 +3,7 @@ import registerPickUpDelivery from './registerPickUpDelivery.ts'; import registerShippingDelivery from './registerShippingDelivery.ts'; import registerWorker from './registerWorker.ts'; import registerPhysicalWarehousing from './registerPhysicalWarehousing.ts'; +import registerVirtualWarehousing from './registerVirtualWarehousing.ts'; import registerProductSearchFilter from './registerProductSearchFilter.ts'; import registerAssortmentSearchFilter from './registerAssortmentSearchFilter.ts'; import registerInvoicePayment from './registerInvoicePayment.ts'; @@ -25,6 +26,7 @@ export { registerInvoicePayment, registerWorker, registerPhysicalWarehousing, + registerVirtualWarehousing, registerProductSearchFilter, registerAssortmentSearchFilter, registerPaymentProvider, diff --git a/packages/core/src/factory/registerVirtualWarehousing.ts b/packages/core/src/factory/registerVirtualWarehousing.ts new file mode 100644 index 0000000000..279cb39a75 --- /dev/null +++ b/packages/core/src/factory/registerVirtualWarehousing.ts @@ -0,0 +1,116 @@ +import { + type TokenSurrogate, + type WarehousingConfiguration, + WarehousingProviderType, +} from '@unchainedshop/core-warehousing'; +import { + WarehousingAdapter, + type WarehousingContext, + type IPlugin, + type IWarehousingAdapter, +} from '../core-index.ts'; +import { pluginRegistry } from '../plugins/PluginRegistry.ts'; + +export default function registerVirtualWarehousing>({ + adapterId, + orderIndex = 0, + stock, + tokenize, + tokenMetadata, + isInvalidateable, +}: { + adapterId: string; + orderIndex?: number; + stock?: + | number + | (( + referenceDate: Date, + configuration: WarehousingConfiguration, + context: WarehousingContext, + ) => Promise); + + tokenize: ( + configuration: WarehousingConfiguration, + context: WarehousingContext, + ) => Promise[]>; + + tokenMetadata?: ( + serialNumber: string, + referenceDate: Date, + configuration: WarehousingConfiguration, + context: WarehousingContext, + ) => Promise; + + isInvalidateable?: ( + serialNumber: string, + referenceDate: Date, + configuration: WarehousingConfiguration, + context: WarehousingContext, + ) => Promise; +}): IPlugin { + const adapter: IWarehousingAdapter = { + ...WarehousingAdapter, + + key: 'shop.unchained.warehousing.virtual.' + adapterId, + label: 'Virtual Wareshousing: ' + adapterId, + version: '1.0.0', + orderIndex, + + initialConfiguration: [{ key: 'shipping-hub', value: 'Shipping Hub' }], + + typeSupported: (type) => { + return type === WarehousingProviderType.VIRTUAL; + }, + + actions: (configuration, context) => { + return { + ...WarehousingAdapter.actions(configuration, context), + + isActive() { + return true; + }, + + configurationError() { + return null; + }, + + stock: async (referenceDate) => { + if (typeof stock === 'number') { + return stock; + } else if (typeof stock === 'function') { + return stock(referenceDate, configuration, context); + } + return 99999; + }, + + async tokenize() { + return tokenize(configuration, context); + }, + + async tokenMetadata(serialNumber, referenceDate) { + if (tokenMetadata) { + return tokenMetadata(serialNumber, referenceDate, configuration, context); + } + return null; + }, + + async isInvalidateable(serialNumber, referenceDate) { + if (isInvalidateable) { + return isInvalidateable(serialNumber, referenceDate, configuration, context); + } + return false; + }, + }; + }, + }; + + const plugin: IPlugin = { + key: adapter.key, + label: adapter.label, + version: adapter.version, + adapters: [adapter], + }; + + pluginRegistry.register(plugin); + return plugin; +} diff --git a/packages/plugins/src/payment/datatrans-v2/api/types.ts b/packages/plugins/src/payment/datatrans-v2/api/types.ts index f8dc414623..043a512aa9 100644 --- a/packages/plugins/src/payment/datatrans-v2/api/types.ts +++ b/packages/plugins/src/payment/datatrans-v2/api/types.ts @@ -60,18 +60,7 @@ export interface DT2015Configuration { } export type SupportedLanguage = - | 'de' - | 'en' - | 'fr' - | 'it' - | 'es' - | 'el' - | 'no' - | 'da' - | 'pl' - | 'pt' - | 'ru' - | 'ja'; + 'de' | 'en' | 'fr' | 'it' | 'es' | 'el' | 'no' | 'da' | 'pl' | 'pt' | 'ru' | 'ja'; export type PaymentMethod = | 'ACC' diff --git a/packages/plugins/src/payment/stripe/stripe.ts b/packages/plugins/src/payment/stripe/stripe.ts index 26ba6e2a87..05c447545d 100644 --- a/packages/plugins/src/payment/stripe/stripe.ts +++ b/packages/plugins/src/payment/stripe/stripe.ts @@ -14,7 +14,7 @@ if (STRIPE_SECRET) { try { const { default: Stripe } = await import('stripe'); stripe = new Stripe(STRIPE_SECRET, { - apiVersion: '2026-04-22.dahlia', + apiVersion: '2026-06-24.dahlia', }); } catch { logger.warn(`optional peer npm package 'stripe' not installed, stripe adapter will not work`); diff --git a/packages/ticketing/package.json b/packages/ticketing/package.json index 0cfc9e01e5..dc78dd5dc0 100644 --- a/packages/ticketing/package.json +++ b/packages/ticketing/package.json @@ -5,6 +5,20 @@ "main": "lib/index.js", "types": "lib/index.d.ts", "type": "module", + "exports": { + ".": { + "import": "./lib/index.js", + "types": "./lib/index.d.ts" + }, + "./lib/*": { + "import": "./lib/*", + "types": "./lib/*" + }, + "./lib/*.js": { + "import": "./lib/*.js", + "types": "./lib/*.d.ts" + } + }, "scripts": { "clean": "tsc -b --clean", "build": "tsc -b", diff --git a/packages/ticketing/src/services.ts b/packages/ticketing/src/services.ts index 32a9914cd8..8ae69c0177 100644 --- a/packages/ticketing/src/services.ts +++ b/packages/ticketing/src/services.ts @@ -2,6 +2,9 @@ import { ProductType } from '@unchainedshop/core-products'; import type { TicketingModule } from './module.ts'; import type { Bound, UnchainedCore } from '@unchainedshop/core'; +type Modules = UnchainedCore['modules']; +type TicketingModules = Modules & TicketingModule; + interface DiscountOptions { generateDiscount?: boolean; countryCode?: string; @@ -9,12 +12,13 @@ interface DiscountOptions { } async function cancelTicketsForProduct( - this: TicketingModule & UnchainedCore['modules'], + this: Modules, productId: string, options?: DiscountOptions, ): Promise<{ cancelledCount: number; }> { + const { passes } = this as unknown as TicketingModules; const tokensToCancel = await this.warehousing.findTokens({ productId, 'meta.cancelled': null, @@ -22,7 +26,7 @@ async function cancelTicketsForProduct( for (const token of tokensToCancel) { await this.warehousing.invalidateToken(token._id); - await this.passes.cancelTicket(token._id); + await passes.cancelTicket(token._id); } await this.products.update(productId, { @@ -55,7 +59,7 @@ async function cancelTicketsForProduct( for (const [userId, quantity] of Object.entries(userTokenCounts)) { const totalAmount = price.amount * quantity; - const discountCode = await this.passes.generateDiscountCode(totalAmount); + const discountCode = await passes.generateDiscountCode(totalAmount); discountByUser.set(userId, { discountCode, amount: totalAmount }); } } @@ -81,13 +85,14 @@ async function cancelTicketsForProduct( } async function cancelTicketWithDiscount( - this: TicketingModule & UnchainedCore['modules'], + this: Modules, tokenId: string, options?: DiscountOptions, ): Promise<{ token: any }> { + const { passes } = this as unknown as TicketingModules; const token = await this.warehousing.findToken({ tokenId }); await this.warehousing.invalidateToken(tokenId); - const cancelledToken = await this.passes.cancelTicket(tokenId); + const cancelledToken = await passes.cancelTicket(tokenId); let discountCode: string | undefined; let discountAmount: number | undefined; @@ -103,7 +108,7 @@ async function cancelTicketWithDiscount( if (price?.amount) { discountAmount = price.amount; - discountCode = await this.passes.generateDiscountCode(discountAmount); + discountCode = await passes.generateDiscountCode(discountAmount); } } @@ -123,11 +128,7 @@ async function cancelTicketWithDiscount( return { token: cancelledToken }; } -async function isPassCodeValid( - this: TicketingModule & UnchainedCore['modules'], - passCode: string, - productId?: string, -): Promise { +async function isPassCodeValid(this: Modules, passCode: string, productId?: string): Promise { if (!passCode) return false; const products = await this.products.findProducts({ @@ -146,10 +147,7 @@ async function isPassCodeValid( ); } -async function productIdsForPassCode( - this: TicketingModule & UnchainedCore['modules'], - passCode: string, -): Promise { +async function productIdsForPassCode(this: Modules, passCode: string): Promise { if (!passCode) return []; const products = await this.products.findProducts({ diff --git a/tools/demo-data-cli/src/types/bulk-import.ts b/tools/demo-data-cli/src/types/bulk-import.ts index 29501569a4..0be950f197 100644 --- a/tools/demo-data-cli/src/types/bulk-import.ts +++ b/tools/demo-data-cli/src/types/bulk-import.ts @@ -29,11 +29,7 @@ export interface ProductLocalizedContent extends LocalizedContent { // Product Types export type ProductType = - | 'SIMPLE_PRODUCT' - | 'CONFIGURABLE_PRODUCT' - | 'BUNDLE_PRODUCT' - | 'PLAN_PRODUCT' - | 'TOKENIZED_PRODUCT'; + 'SIMPLE_PRODUCT' | 'CONFIGURABLE_PRODUCT' | 'BUNDLE_PRODUCT' | 'PLAN_PRODUCT' | 'TOKENIZED_PRODUCT'; export interface ProductPricing { amount: number;