@01.software/sdk 0.38.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +169 -54
  2. package/dist/analytics/react.cjs.map +1 -1
  3. package/dist/analytics/react.js.map +1 -1
  4. package/dist/analytics.cjs.map +1 -1
  5. package/dist/analytics.js.map +1 -1
  6. package/dist/client.cjs +1194 -5
  7. package/dist/client.cjs.map +1 -1
  8. package/dist/client.d.cts +8 -7
  9. package/dist/client.d.ts +8 -7
  10. package/dist/client.js +1194 -5
  11. package/dist/client.js.map +1 -1
  12. package/dist/{collection-client-BroIWHY1.d.ts → collection-client-CKFa99C6.d.ts} +16 -10
  13. package/dist/{collection-client-B0J9wMNE.d.cts → collection-client-VYwYi6u6.d.cts} +16 -10
  14. package/dist/const-4BUtUdGU.d.cts +32 -0
  15. package/dist/const-ymprfiPf.d.ts +32 -0
  16. package/dist/errors.cjs +4 -1
  17. package/dist/errors.cjs.map +1 -1
  18. package/dist/errors.js +4 -1
  19. package/dist/errors.js.map +1 -1
  20. package/dist/{index-BOLQxveo.d.cts → index-Dquv4xTL.d.cts} +3 -3
  21. package/dist/{index-CSwR2HSg.d.ts → index-w36lpSkU.d.ts} +3 -3
  22. package/dist/index.cjs +2796 -2651
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.cts +8 -8
  25. package/dist/index.d.ts +8 -8
  26. package/dist/index.js +2796 -2651
  27. package/dist/index.js.map +1 -1
  28. package/dist/{payload-types-m3jjhxk9.d.cts → payload-types-DC0xzR9i.d.cts} +470 -265
  29. package/dist/{payload-types-m3jjhxk9.d.ts → payload-types-DC0xzR9i.d.ts} +470 -265
  30. package/dist/query.cjs +241 -58
  31. package/dist/query.cjs.map +1 -1
  32. package/dist/query.d.cts +151 -26
  33. package/dist/query.d.ts +151 -26
  34. package/dist/query.js +241 -58
  35. package/dist/query.js.map +1 -1
  36. package/dist/realtime.cjs +5 -1
  37. package/dist/realtime.cjs.map +1 -1
  38. package/dist/realtime.d.cts +2 -2
  39. package/dist/realtime.d.ts +2 -2
  40. package/dist/realtime.js +5 -1
  41. package/dist/realtime.js.map +1 -1
  42. package/dist/server.cjs +1117 -1
  43. package/dist/server.cjs.map +1 -1
  44. package/dist/server.d.cts +7 -7
  45. package/dist/server.d.ts +7 -7
  46. package/dist/server.js +1117 -1
  47. package/dist/server.js.map +1 -1
  48. package/dist/storefront-cache.cjs +144 -0
  49. package/dist/storefront-cache.cjs.map +1 -0
  50. package/dist/storefront-cache.d.cts +24 -0
  51. package/dist/storefront-cache.d.ts +24 -0
  52. package/dist/storefront-cache.js +121 -0
  53. package/dist/storefront-cache.js.map +1 -0
  54. package/dist/{types-Cmrd1ezc.d.ts → types-Bh2p-EMc.d.ts} +5 -1
  55. package/dist/{types-D0ubzQw0.d.cts → types-BvpjooU-.d.cts} +5 -1
  56. package/dist/{types-D2xYdz4P.d.ts → types-D5uHrPLr.d.cts} +264 -96
  57. package/dist/{types-CIGscmus.d.cts → types-Umd-YTjM.d.ts} +264 -96
  58. package/dist/ui/canvas/server.cjs +5 -1
  59. package/dist/ui/canvas/server.cjs.map +1 -1
  60. package/dist/ui/canvas/server.js +5 -1
  61. package/dist/ui/canvas/server.js.map +1 -1
  62. package/dist/ui/canvas.cjs +5 -1
  63. package/dist/ui/canvas.cjs.map +1 -1
  64. package/dist/ui/canvas.js +5 -1
  65. package/dist/ui/canvas.js.map +1 -1
  66. package/dist/ui/form.d.cts +1 -1
  67. package/dist/ui/form.d.ts +1 -1
  68. package/dist/ui/video.d.cts +1 -1
  69. package/dist/ui/video.d.ts +1 -1
  70. package/dist/webhook.d.cts +4 -4
  71. package/dist/webhook.d.ts +4 -4
  72. package/package.json +13 -3
  73. package/dist/const-6XHz_jej.d.ts +0 -32
  74. package/dist/const-B5KT72c7.d.cts +0 -32
@@ -1,6 +1,6 @@
1
- import { P as PublicCollection, S as ServerCollection } from './const-B5KT72c7.cjs';
2
- import { C as CollectionType, P as PublicProduct } from './types-D0ubzQw0.cjs';
3
- import { O as Order, l as Transaction, m as Fulfillment, R as Return } from './payload-types-m3jjhxk9.cjs';
1
+ import { P as PublicCollection, S as ServerCollection } from './const-ymprfiPf.js';
2
+ import { C as CollectionType, P as PublicProduct } from './types-Bh2p-EMc.js';
3
+ import { O as Order, m as Transaction, n as Fulfillment, R as Return } from './payload-types-DC0xzR9i.js';
4
4
 
5
5
  interface CustomerScopedApiOptions {
6
6
  publishableKey?: string;
@@ -424,6 +424,7 @@ type PublicOrderItem = {
424
424
  quantity?: number | null;
425
425
  unitPrice?: number | null;
426
426
  discountedUnitPrice?: number | null;
427
+ discountedTotalPrice?: number | null;
427
428
  totalPrice?: number | null;
428
429
  options?: unknown;
429
430
  createdAt?: string | null;
@@ -433,11 +434,14 @@ type PublicOrderItem = {
433
434
  type PublicOrder = {
434
435
  id?: string | number;
435
436
  orderNumber?: string | null;
437
+ /** @deprecated Read-only compatibility alias. Prefer the independent axes. */
436
438
  status?: string | null;
439
+ /** @deprecated Read-only compatibility alias. Prefer the independent axes. */
437
440
  displayStatus?: string | null;
438
441
  primaryDisplayStatus?: string | null;
439
442
  displayFinancialStatus?: string | null;
440
443
  displayFulfillmentStatus?: string | null;
444
+ returnStatus?: string | null;
441
445
  returnDisplayStatus?: string | null;
442
446
  totalAmount?: number | null;
443
447
  subtotalAmount?: number | null;
@@ -533,7 +537,7 @@ type UpdateOrderParams = {
533
537
  orderNumber: string;
534
538
  status: 'confirmed';
535
539
  };
536
- type TransactionStatus = 'pending' | 'paid' | 'failed' | 'canceled';
540
+ type TransactionStatus = 'pending' | 'paid' | 'failed' | 'canceled' | 'refunded';
537
541
  type UpdateTransactionParams = {
538
542
  pgPaymentId: string;
539
543
  status: TransactionStatus;
@@ -756,6 +760,12 @@ declare class OrderApi extends BaseApi {
756
760
  confirmPayment(params: ConfirmPaymentParams): Promise<ConfirmPaymentResponse>;
757
761
  cancelOrder(params: CancelOrderParams): Promise<CancelOrderResponse>;
758
762
  resolveCancelRefund(params: ResolveCancelRefundParams): Promise<ResolveCancelRefundResponse>;
763
+ /**
764
+ * Returns a `PublicOrder`-compatible shape even when the server backs the
765
+ * response with a Checkout (checkout/order separation, #1285). `orderNumber`
766
+ * stays the stable cross-window key. A breaking `PublicCheckout` split is a
767
+ * deferred follow-up (design D10 / Q3-b); do not change this return type here.
768
+ */
759
769
  checkout(params: CheckoutParams): Promise<PublicOrder>;
760
770
  createFulfillment(params: CreateFulfillmentParams): Promise<Fulfillment>;
761
771
  prepareFulfillmentOrder(params: PrepareFulfillmentOrderParams): Promise<PrepareFulfillmentOrderResponse>;
@@ -831,6 +841,17 @@ interface CustomerAuthOptions {
831
841
  onTokenChange?: (token: string | null) => void;
832
842
  }
833
843
 
844
+ type CustomerOrderListOptions = {
845
+ page?: number;
846
+ limit?: number;
847
+ displayFinancialStatus?: string;
848
+ displayFulfillmentStatus?: string;
849
+ returnStatus?: string;
850
+ primaryDisplayStatus?: string;
851
+ returnDisplayStatus?: string;
852
+ /** @deprecated Read-only compatibility alias filter. Prefer independent status axes. */
853
+ status?: string;
854
+ };
834
855
  /**
835
856
  * Customer authentication client.
836
857
  *
@@ -884,11 +905,7 @@ declare class CustomerAuth {
884
905
  /**
885
906
  * Get the authenticated customer's orders with pagination and optional status filter
886
907
  */
887
- getMyOrders(options?: {
888
- page?: number;
889
- limit?: number;
890
- status?: string;
891
- }): Promise<PayloadFindResponse<PublicOrder>>;
908
+ getMyOrders(options?: CustomerOrderListOptions): Promise<PayloadFindResponse<PublicOrder>>;
892
909
  /**
893
910
  * Get the current token (or null if not authenticated)
894
911
  */
@@ -1021,7 +1038,7 @@ type NormalizedOptionSwatch<TMedia = unknown> = {
1021
1038
  };
1022
1039
  declare function selectedSwatchMediaItemId(swatch: NormalizedOptionSwatch | null | undefined): string | null;
1023
1040
  type ProductSelectionMediaSource = 'variant_media_selected' | 'variant_media_matching' | 'option_swatch' | 'none';
1024
- type ProductDisplayMediaSource = 'listing_primary' | 'product_primary' | 'product_pool' | 'none';
1041
+ type ProductDisplayMediaSource = 'featured_image' | 'product_pool' | 'none';
1025
1042
  /** @deprecated Use {@link ProductSelectionMediaSource} or {@link ProductDisplayMediaSource}. */
1026
1043
  type ProductMediaResolutionSource = ProductSelectionMediaSource | ProductDisplayMediaSource;
1027
1044
  type ProductSelectionVariant<TMedia> = {
@@ -1037,7 +1054,6 @@ type ProductSelectionMediaPointer = string | number | {
1037
1054
  } | null;
1038
1055
  type ResolveProductSelectionMediaInput<TMedia> = {
1039
1056
  productMediaPool?: TMedia[] | null;
1040
- productPrimaryMediaItemId?: ProductSelectionMediaPointer;
1041
1057
  selectedVariant?: ProductSelectionVariant<TMedia> | null;
1042
1058
  matchingVariants?: Array<ProductSelectionVariant<TMedia> | null | undefined> | null;
1043
1059
  selectedOptionValues?: Array<ProductSelectionOptionValue | null | undefined> | null;
@@ -1049,8 +1065,7 @@ type ResolveProductSelectionMediaResult<TMedia> = {
1049
1065
  };
1050
1066
  type ResolveProductDisplayMediaInput<TMedia> = {
1051
1067
  productMediaPool?: TMedia[] | null;
1052
- productPrimaryMediaItemId?: ProductSelectionMediaPointer;
1053
- listingPrimaryImage?: ProductSelectionMediaPointer;
1068
+ featuredImage?: ProductSelectionMediaPointer;
1054
1069
  };
1055
1070
  type ResolveProductDisplayMediaResult<TMedia> = {
1056
1071
  primaryImage: TMedia | null;
@@ -1059,15 +1074,13 @@ type ResolveProductDisplayMediaResult<TMedia> = {
1059
1074
  };
1060
1075
  declare function resolveProductSelectionMedia<TMedia>(input: ResolveProductSelectionMediaInput<TMedia>): ResolveProductSelectionMediaResult<TMedia>;
1061
1076
  declare function resolveProductDisplayMedia<TMedia>(input: ResolveProductDisplayMediaInput<TMedia>): ResolveProductDisplayMediaResult<TMedia>;
1062
- type ListingPrimaryImageFallbackInput<TMedia> = {
1077
+ type FeaturedImagePointerInput<TMedia> = {
1063
1078
  productMediaPool?: TMedia[] | null;
1064
- productPrimaryMediaItemId?: ProductSelectionMediaPointer;
1065
- productThumbnail?: TMedia | string | number | null;
1066
- listingPrimaryImage?: TMedia | string | number | null;
1079
+ featuredImage?: TMedia | string | number | null;
1067
1080
  resolvedPrimary?: TMedia | null;
1068
1081
  resolvedSource?: ProductMediaResolutionSource;
1069
1082
  };
1070
- declare function resolveListingPrimaryImagePointer<TMedia>(input: ListingPrimaryImageFallbackInput<TMedia>): string | null;
1083
+ declare function resolveFeaturedImagePointer<TMedia>(input: FeaturedImagePointerInput<TMedia>): string | null;
1071
1084
 
1072
1085
  type EntityID = string;
1073
1086
  type RelationshipValue = string | number | null | undefined | {
@@ -1115,12 +1128,27 @@ interface ProductVariantShape {
1115
1128
  }
1116
1129
  interface ProductListingProductShape {
1117
1130
  id?: EntityID;
1118
- thumbnail?: MediaValue;
1119
- primaryMediaItemId?: MediaValue;
1120
1131
  images?: MediaValue[] | null;
1121
- listing?: {
1122
- primaryImage?: MediaValue;
1132
+ featuredImage?: MediaValue;
1133
+ priceRange?: {
1134
+ minVariantPrice?: {
1135
+ amount?: number | null;
1136
+ } | null;
1137
+ maxVariantPrice?: {
1138
+ amount?: number | null;
1139
+ } | null;
1140
+ isPriceRange?: boolean | null;
1141
+ } | null;
1142
+ compareAtPriceRange?: {
1143
+ minVariantPrice?: {
1144
+ amount?: number | null;
1145
+ } | null;
1146
+ maxVariantPrice?: {
1147
+ amount?: number | null;
1148
+ } | null;
1123
1149
  } | null;
1150
+ availableForSale?: boolean | null;
1151
+ selectedOrFirstAvailableVariant?: RelationshipValue | ProductVariantShape;
1124
1152
  }
1125
1153
  type ProductOptionMatrixValue = {
1126
1154
  id: string;
@@ -1156,7 +1184,7 @@ type ProductOptionMatrix<TVariant extends ProductVariantShape = ProductVariantSh
1156
1184
  valueToOptionSlug: Map<string, string>;
1157
1185
  variants: ProductOptionMatrixVariant<TVariant>[];
1158
1186
  };
1159
- type ProductListingProjection = {
1187
+ type ProductListingGroupProjection = {
1160
1188
  selectionHintVariant: EntityID | null;
1161
1189
  primaryImage: EntityID | null;
1162
1190
  minPrice: number | null;
@@ -1177,7 +1205,7 @@ type ProductListingGroup<TVariant extends ProductVariantShape = ProductVariantSh
1177
1205
  variantIds: EntityID[];
1178
1206
  variantCount: number;
1179
1207
  variants: TVariant[];
1180
- listing: ProductListingProjection;
1208
+ listing: ProductListingGroupProjection;
1181
1209
  };
1182
1210
  type ProductListingCardPriceRange = {
1183
1211
  minPrice: number | null;
@@ -1194,7 +1222,8 @@ type ProductListingSwatch = {
1194
1222
  href: string;
1195
1223
  availableForSale: boolean;
1196
1224
  };
1197
- type ProductListingCardRepresentativeVariant = ProductListingGroupsItem['groups'][number]['variants'][number];
1225
+ type ProductListingCardSourceItem = ProductListingGroupsCatalogItem | ProductListingGroupsItem;
1226
+ type ProductListingCardRepresentativeVariant = ProductListingCardSourceItem['groups'][number]['variants'][number];
1198
1227
  type ProductListingCard = {
1199
1228
  id: EntityID;
1200
1229
  href: string;
@@ -1241,10 +1270,10 @@ type ProductSelectionCodecOptions = {
1241
1270
  onLegacyOptionIdParam?: (event: LegacyProductSelectionParamEvent) => void;
1242
1271
  };
1243
1272
  type ProductSelectionResolutionContext = {
1244
- detail?: Pick<ProductDetail, 'images' | 'listing' | 'primaryMediaItemId'>;
1273
+ detail?: Pick<ProductDetail, 'featuredImage' | 'images' | 'selectedOrFirstAvailableVariant'>;
1274
+ featuredImage?: ProductDetail['featuredImage'];
1245
1275
  images?: ProductDetail['images'];
1246
- listing?: ProductDetail['listing'];
1247
- primaryMediaItemId?: ProductDetail['primaryMediaItemId'];
1276
+ selectedOrFirstAvailableVariant?: ProductDetail['selectedOrFirstAvailableVariant'];
1248
1277
  };
1249
1278
  type ProductSelectionAvailableSwatch = {
1250
1279
  color?: string | null;
@@ -1352,8 +1381,8 @@ type ProductListingCardOptions = {
1352
1381
  preferCompleteVariantFromHint?: boolean;
1353
1382
  };
1354
1383
  declare function buildProductHref(product: ProductHrefProduct, group?: ProductHrefGroup | null, options?: ProductHrefOptions): string;
1355
- declare function buildProductListingProjection(product: ProductListingProductShape | null | undefined, variants: ProductVariantShape[]): ProductListingProjection;
1356
- declare function buildProductListingCard(item: ProductListingGroupsItem, options?: ProductListingCardOptions): ProductListingCard;
1384
+ declare function buildProductListingGroupProjection(product: ProductListingProductShape | null | undefined, variants: ProductVariantShape[]): ProductListingGroupProjection;
1385
+ declare function buildProductListingCard(item: ProductListingCardSourceItem, options?: ProductListingCardOptions): ProductListingCard;
1357
1386
  /** Shopify `priceRangeV2` naming for persisted listing projection fields. */
1358
1387
  declare function toShopifyPriceRangeV2(listing: {
1359
1388
  minPrice?: number | null;
@@ -1367,33 +1396,22 @@ declare function toShopifyPriceRangeV2(listing: {
1367
1396
  };
1368
1397
  };
1369
1398
  /**
1370
- * PLP-safe query preset for the `products` collection.
1371
- *
1372
- * Payload's top-level `type: 'join'` fields on `products` (`variants`,
1373
- * `options`) return at most 10 docs by default when queried via the REST API.
1374
- * Storefront PLPs calling `client.collections.from('products').find()` without
1375
- * explicit join limits silently receive truncated variant/option join data.
1376
- * `buildProductListingGroupsByOption()` then drops primary-option values with
1377
- * no matching variant in the response — a common cause of missing color swatches
1378
- * even when the product has more variants than the default join cap.
1399
+ * Server-side PLP query preset for raw `products` collection reads.
1379
1400
  *
1380
- * Spread this constant into your `find()` call to raise both top-level limits:
1401
+ * Greenfield storefronts should prefer
1402
+ * `client.commerce.product.listingPage()` because it calls the shaped catalog
1403
+ * endpoint, preserves pagination metadata, returns card-ready `cards`, and
1404
+ * avoids exposing inventory quantities.
1381
1405
  *
1382
- * ```typescript
1383
- * const { docs } = await client.collections.from('products').find({
1384
- * ...PRODUCT_PLP_FIND_OPTIONS,
1385
- * where: { status: { equals: 'published' } },
1386
- * limit: 24,
1387
- * })
1388
- * ```
1406
+ * This preset remains only for server-auth raw product query code
1407
+ * that deliberately understands Payload join behavior. It raises top-level
1408
+ * `products.options` and `products.variants` join limits, but it cannot fix
1409
+ * nested `options[].values.docs` joins because the Payload REST `joins` param
1410
+ * is flat.
1389
1411
  *
1390
- * **Limitation:** This preset cures top-level `products.options` and
1391
- * `products.variants` join truncation. It cannot cure the nested
1392
- * `options[].values.docs` join the Payload REST `joins` param is flat and
1393
- * nested join limits require the listing-groups endpoint. Prefer
1394
- * `commerce.product.listingGroupsCatalog()` + `buildProductListingCard()` as
1395
- * the primary PLP path; they apply unlimited join fetches server-side and
1396
- * return pre-grouped data ready for rendering.
1412
+ * It is not accepted by publishable
1413
+ * `createClient().collections.from('products').find()` because browser-public
1414
+ * raw reads are constrained to `depth: 0`, `joins: false`, and no `populate`.
1397
1415
  */
1398
1416
  declare const PRODUCT_PLP_FIND_OPTIONS: ApiQueryOptions;
1399
1417
  /**
@@ -1463,8 +1481,6 @@ type ProductFieldsInput = {
1463
1481
  description?: string | null;
1464
1482
  status?: string;
1465
1483
  slug?: string;
1466
- primaryMediaItemId?: string | null;
1467
- thumbnail?: string | null;
1468
1484
  images?: string[];
1469
1485
  vendor?: string | null;
1470
1486
  productType?: string | null;
@@ -1527,19 +1543,33 @@ type ProductListingGroupSummary = ProductListingGroup<ProductListingGroupVariant
1527
1543
  type ProductListingGroupCatalogVariant = Omit<ProductListingGroupVariant, 'stock'>;
1528
1544
  type ProductListingGroupCatalogSummary = ProductListingGroup<ProductListingGroupCatalogVariant>;
1529
1545
  type ProductListingGroupsProductVariants = NonNullable<PublicProduct['variants']>;
1530
- type ProductListingGroupsProductPrimaryMediaItemId = string | number | {
1531
- id?: string | number | null;
1532
- } | null;
1533
- type ProductListingGroupsProduct = Omit<PublicProduct, 'variants'> & {
1546
+ type ProductListingGroupsProduct = Omit<PublicProduct, 'createdAt' | 'updatedAt' | 'variants'> & {
1534
1547
  id: string;
1535
1548
  slug: string;
1536
1549
  title: string;
1537
- primaryMediaItemId?: ProductListingGroupsProductPrimaryMediaItemId;
1550
+ createdAt?: PublicProduct['createdAt'];
1551
+ updatedAt?: PublicProduct['updatedAt'];
1552
+ featuredImage?: ProductDetailMedia | null;
1553
+ priceRange?: ProductPriceRange;
1554
+ compareAtPriceRange?: ProductMoneyRange;
1555
+ availableForSale?: boolean | null;
1556
+ selectedOrFirstAvailableVariant?: ProductListingGroupVariant | string | number | null;
1538
1557
  variants?: (Omit<ProductListingGroupsProductVariants, 'docs'> & {
1539
1558
  docs: ProductListingGroupVariant[];
1540
1559
  }) | null;
1541
1560
  };
1542
- type ProductListingGroupsCatalogProduct = Omit<ProductListingGroupsProduct, 'variants'> & {
1561
+ type ProductListingGroupsCatalogProduct = {
1562
+ id: string;
1563
+ slug: string;
1564
+ handle?: string | null;
1565
+ title: string;
1566
+ subtitle?: ProductListingGroupsProduct['subtitle'];
1567
+ images?: ProductListingGroupsProduct['images'];
1568
+ featuredImage?: ProductDetailMedia | null;
1569
+ priceRange?: ProductPriceRange;
1570
+ compareAtPriceRange?: ProductMoneyRange;
1571
+ availableForSale?: boolean | null;
1572
+ selectedOrFirstAvailableVariant?: ProductListingGroupCatalogVariant | string | number | null;
1543
1573
  variants?: (Omit<NonNullable<ProductListingGroupsProduct['variants']>, 'docs'> & {
1544
1574
  docs: ProductListingGroupCatalogVariant[];
1545
1575
  }) | null;
@@ -1565,6 +1595,36 @@ type ProductListingGroupsResponse = {
1565
1595
  type ProductListingGroupsCatalogResponse = Omit<ProductListingGroupsResponse, 'docs'> & {
1566
1596
  docs: ProductListingGroupsCatalogItem[];
1567
1597
  };
1598
+ type ProductListingPageSort = 'id' | '-id' | 'slug' | '-slug' | 'handle' | '-handle' | 'createdAt' | '-createdAt' | 'updatedAt' | '-updatedAt' | 'title' | '-title' | 'priceRange.minVariantPrice.amount' | '-priceRange.minVariantPrice.amount' | 'priceRange.maxVariantPrice.amount' | '-priceRange.maxVariantPrice.amount' | 'availableForSale' | '-availableForSale';
1599
+ type ProductListingPageFilters = {
1600
+ ids?: string[];
1601
+ slugs?: string[];
1602
+ handles?: string[];
1603
+ categoryIds?: string[];
1604
+ tagIds?: string[];
1605
+ price?: {
1606
+ min?: number;
1607
+ max?: number;
1608
+ };
1609
+ availableForSale?: boolean;
1610
+ };
1611
+ type ProductListingPageBaseParams = {
1612
+ page?: number;
1613
+ limit?: number;
1614
+ search?: string;
1615
+ sort?: ProductListingPageSort | ProductListingPageSort[];
1616
+ filters?: ProductListingPageFilters;
1617
+ } & ProductListingCardOptions;
1618
+ type ProductListingPageCatalogParams = ProductListingPageBaseParams & {
1619
+ mode?: 'catalog';
1620
+ };
1621
+ type ProductListingPageFullParams = ProductListingPageBaseParams & {
1622
+ mode: 'full';
1623
+ };
1624
+ type ProductListingPageParams = ProductListingPageCatalogParams | ProductListingPageFullParams;
1625
+ type ProductListingPageResult<TItem> = PayloadFindResponse<TItem> & {
1626
+ cards: ProductListingCard[];
1627
+ };
1568
1628
  type ProductDetailParams = {
1569
1629
  slug: string;
1570
1630
  } | {
@@ -1601,7 +1661,6 @@ type ProductOptionValueMediaSwatch<TMedia = ProductDetailMedia> = {
1601
1661
  color?: null;
1602
1662
  };
1603
1663
  type ProductOptionValueSwatch<TMedia = ProductDetailMedia> = ProductOptionValueColorSwatch | ProductOptionValueMediaSwatch<TMedia> | null;
1604
- type ProductDetailMediaValue = string | number | ProductDetailMedia | null;
1605
1664
  type ProductDetailSelectionMediaSource = 'variant_media_selected' | 'variant_media_matching' | 'option_swatch' | 'none';
1606
1665
  interface ProductDetailVariant {
1607
1666
  id: string | number;
@@ -1663,20 +1722,18 @@ interface ProductDetailVideo {
1663
1722
  id: string | number;
1664
1723
  url?: string | null;
1665
1724
  }
1666
- interface ProductDetailListing {
1667
- minPrice?: number | null;
1668
- maxPrice?: number | null;
1669
- minCompareAtPrice?: number | null;
1670
- maxCompareAtPrice?: number | null;
1725
+ interface ProductMoneyRange {
1726
+ minVariantPrice: {
1727
+ amount: number | null;
1728
+ };
1729
+ maxVariantPrice: {
1730
+ amount: number | null;
1731
+ };
1732
+ }
1733
+ interface ProductPriceRange extends ProductMoneyRange {
1671
1734
  isPriceRange?: boolean | null;
1672
- primaryImage?: ProductDetailMedia | null;
1673
- availableForSale?: boolean | null;
1674
- selectionHintVariant?: string | number | null;
1675
1735
  }
1676
1736
  type ProductDetailCatalogVariant = Omit<ProductDetailVariant, 'stock' | 'reservedStock'>;
1677
- type ProductDetailCatalogListing = Omit<ProductDetailListing, 'availableForSale'> & {
1678
- liveStockRequired: true;
1679
- };
1680
1737
  interface ProductDetailCatalog {
1681
1738
  product: Omit<ProductDetail['product'], 'totalInventory'>;
1682
1739
  variants: ProductDetailCatalogVariant[];
@@ -1686,8 +1743,11 @@ interface ProductDetailCatalog {
1686
1743
  tags: ProductDetail['tags'];
1687
1744
  images: ProductDetail['images'];
1688
1745
  videos: ProductDetail['videos'];
1689
- primaryMediaItemId?: ProductDetail['primaryMediaItemId'];
1690
- listing: ProductDetailCatalogListing;
1746
+ featuredImage?: ProductDetail['featuredImage'];
1747
+ priceRange?: ProductPriceRange;
1748
+ compareAtPriceRange?: ProductMoneyRange;
1749
+ availableForSale?: boolean | null;
1750
+ selectedOrFirstAvailableVariant?: ProductDetailCatalogVariant | string | number | null;
1691
1751
  }
1692
1752
  type StockSnapshotItemStatus = 'available' | 'not_published' | 'archived' | 'not_found';
1693
1753
  interface StockSnapshotItem {
@@ -1725,9 +1785,16 @@ interface ProductDetail {
1725
1785
  tags: ProductDetailTag[];
1726
1786
  images: ProductDetailImage[];
1727
1787
  videos: ProductDetailVideo[];
1728
- /** Canonical product primary pointer (pool member). */
1729
- primaryMediaItemId?: ProductDetailMediaValue;
1730
- listing: ProductDetailListing;
1788
+ /** Shopify-shaped product/card image, resolved from the first product image. */
1789
+ featuredImage?: ProductDetailMedia | null;
1790
+ /** Shopify-shaped product price range derived from active variants. */
1791
+ priceRange?: ProductPriceRange;
1792
+ /** Shopify-shaped compare-at price range derived from active variants. */
1793
+ compareAtPriceRange?: ProductMoneyRange;
1794
+ /** Product-level sellability derived from active variants and inventory. */
1795
+ availableForSale?: boolean | null;
1796
+ /** Default variant for PDP/card selection, equivalent to Shopify selectedOrFirstAvailableVariant. */
1797
+ selectedOrFirstAvailableVariant?: ProductDetailVariant | string | number | null;
1731
1798
  }
1732
1799
  type ProductDetailUnavailableReason = 'not_found' | 'not_published' | 'feature_disabled';
1733
1800
  type ProductDetailResult = {
@@ -1760,7 +1827,7 @@ declare function isProductUpsertFieldValidationErrorBody(value: unknown): value
1760
1827
  type ProductUpsertResponse = {
1761
1828
  ok: true;
1762
1829
  product: PublicProduct;
1763
- listingProjectionStale: boolean;
1830
+ productProjectionStale: boolean;
1764
1831
  } | {
1765
1832
  ok: false;
1766
1833
  failedEntity: 'product' | 'option' | 'option-value' | 'variant';
@@ -1778,6 +1845,9 @@ declare class ProductApi extends BaseApi {
1778
1845
  stockSnapshot(params: StockSnapshotParams): Promise<StockSnapshotResponse>;
1779
1846
  listingGroups(params: ListingGroupsParams): Promise<ProductListingGroupsResponse>;
1780
1847
  listingGroupsCatalog(params: ListingGroupsParams): Promise<ProductListingGroupsCatalogResponse>;
1848
+ listingPage(params?: ProductListingPageCatalogParams): Promise<ProductListingPageResult<ProductListingGroupsCatalogItem>>;
1849
+ listingPage(params: ProductListingPageFullParams): Promise<ProductListingPageResult<ProductListingGroupsItem>>;
1850
+ listingPage(params: ProductListingPageParams): Promise<ProductListingPageResult<ProductListingGroupsCatalogItem> | ProductListingPageResult<ProductListingGroupsItem>>;
1781
1851
  /**
1782
1852
  * Fetch full product detail by slug or id.
1783
1853
  * Returns a discriminated result so storefronts can distinguish missing,
@@ -1849,8 +1919,11 @@ declare class CommerceClient {
1849
1919
  readonly product: {
1850
1920
  stockCheck: (params: StockCheckParams) => Promise<StockCheckResponse>;
1851
1921
  stockSnapshot: (params: StockSnapshotParams) => Promise<StockSnapshotResponse>;
1852
- listingGroups: (params: ListingGroupsParams) => Promise<ProductListingGroupsResponse>;
1922
+ listingGroups: (params: ListingGroupsParams) => Promise<ProductListingGroupsCatalogResponse>;
1853
1923
  listingGroupsCatalog: (params: ListingGroupsParams) => Promise<ProductListingGroupsCatalogResponse>;
1924
+ listingPage: {
1925
+ (params?: ProductListingPageCatalogParams): Promise<ProductListingPageResult<ProductListingGroupsCatalogItem>>;
1926
+ };
1854
1927
  detail: (params: ProductDetailParams) => Promise<ProductDetailResult>;
1855
1928
  detailCatalog: (params: ProductDetailParams) => Promise<ProductDetailCatalogResult>;
1856
1929
  };
@@ -1869,11 +1942,7 @@ declare class CommerceClient {
1869
1942
  };
1870
1943
  readonly orders: {
1871
1944
  checkout: (params: CheckoutParams) => Promise<PublicOrder>;
1872
- listMine: (options?: {
1873
- page?: number;
1874
- limit?: number;
1875
- status?: string;
1876
- }) => Promise<PayloadFindResponse<PublicOrder>>;
1945
+ listMine: (options?: CustomerOrderListOptions) => Promise<PayloadFindResponse<PublicOrder>>;
1877
1946
  };
1878
1947
  readonly discounts: {
1879
1948
  validate: (params: ValidateDiscountParams) => Promise<ValidateDiscountResult>;
@@ -1884,6 +1953,85 @@ declare class CommerceClient {
1884
1953
  constructor(options: CommerceClientOptions);
1885
1954
  }
1886
1955
 
1956
+ type StorefrontContentReference = {
1957
+ id?: string | number | null;
1958
+ title?: string | null;
1959
+ name?: string | null;
1960
+ slug?: string | null;
1961
+ displayName?: string | null;
1962
+ handle?: string | null;
1963
+ color?: string | null;
1964
+ image?: PublicMediaAsset | null;
1965
+ thumbnail?: PublicMediaAsset | null;
1966
+ avatar?: PublicMediaAsset | null;
1967
+ };
1968
+ type StorefrontLink = {
1969
+ id?: string | number | null;
1970
+ title?: string | null;
1971
+ subtitle?: string | null;
1972
+ url?: string | null;
1973
+ description?: string | null;
1974
+ slug?: string | null;
1975
+ type?: 'external' | 'social' | 'internal' | string | null;
1976
+ platform?: string | null;
1977
+ opensInNewTab?: boolean | null;
1978
+ noFollow?: boolean | null;
1979
+ expiresAt?: string | null;
1980
+ isFeatured?: boolean | null;
1981
+ publishedAt?: string | null;
1982
+ createdAt?: string | null;
1983
+ updatedAt?: string | null;
1984
+ categories?: StorefrontContentReference[] | StorefrontContentReference | null;
1985
+ tags?: StorefrontContentReference[] | StorefrontContentReference | null;
1986
+ thumbnail?: PublicMediaAsset | null;
1987
+ icon?: PublicMediaAsset | null;
1988
+ };
1989
+ type StorefrontGalleryItem = {
1990
+ id?: string | number | null;
1991
+ title?: string | null;
1992
+ description?: string | null;
1993
+ content?: unknown;
1994
+ createdAt?: string | null;
1995
+ updatedAt?: string | null;
1996
+ gallery?: StorefrontContentReference | string | null;
1997
+ image?: PublicMediaAsset | null;
1998
+ };
1999
+ type StorefrontLinksSort = 'createdAt' | '-createdAt' | 'updatedAt' | '-updatedAt' | 'publishedAt' | '-publishedAt' | 'title' | '-title' | 'isFeatured' | '-isFeatured';
2000
+ type StorefrontGalleryItemsSort = 'manual' | 'createdAt' | '-createdAt' | 'updatedAt' | '-updatedAt' | 'title' | '-title';
2001
+ type StorefrontContentListOptions<TSort extends string = string> = {
2002
+ page?: number;
2003
+ limit?: number;
2004
+ sort?: TSort;
2005
+ };
2006
+ type StorefrontLinksListOptions = StorefrontContentListOptions<StorefrontLinksSort> & {
2007
+ categoryId?: string;
2008
+ categorySlug?: string;
2009
+ tagId?: string;
2010
+ tagSlug?: string;
2011
+ featured?: boolean;
2012
+ };
2013
+ type StorefrontGalleryItemsListOptions = StorefrontContentListOptions<StorefrontGalleryItemsSort> & ({
2014
+ galleryId: string;
2015
+ gallerySlug?: string;
2016
+ } | {
2017
+ galleryId?: string;
2018
+ gallerySlug: string;
2019
+ });
2020
+ type ContentClientOptions = {
2021
+ publishableKey: string;
2022
+ apiUrl?: string;
2023
+ onRequestId?: (id: string | null) => void;
2024
+ };
2025
+ declare class ContentClient {
2026
+ readonly links: {
2027
+ list: (options?: StorefrontLinksListOptions) => Promise<PayloadFindResponse<StorefrontLink>>;
2028
+ };
2029
+ readonly galleryItems: {
2030
+ list: (options: StorefrontGalleryItemsListOptions) => Promise<PayloadFindResponse<StorefrontGalleryItem>>;
2031
+ };
2032
+ constructor(options: ContentClientOptions);
2033
+ }
2034
+
1887
2035
  interface ServerCommerceClientOptions {
1888
2036
  publishableKey?: string;
1889
2037
  secretKey: string;
@@ -1894,6 +2042,11 @@ declare class ServerCommerceClient {
1894
2042
  readonly product: {
1895
2043
  stockCheck: (params: StockCheckParams) => Promise<StockCheckResponse>;
1896
2044
  listingGroups: (params: ListingGroupsParams) => Promise<ProductListingGroupsResponse>;
2045
+ listingPage: {
2046
+ (params?: ProductListingPageCatalogParams): Promise<ProductListingPageResult<ProductListingGroupsCatalogItem>>;
2047
+ (params: ProductListingPageFullParams): Promise<ProductListingPageResult<ProductListingGroupsItem>>;
2048
+ (params: ProductListingPageParams): Promise<ProductListingPageResult<ProductListingGroupsCatalogItem> | ProductListingPageResult<ProductListingGroupsItem>>;
2049
+ };
1897
2050
  detail: (params: ProductDetailParams) => Promise<ProductDetailResult>;
1898
2051
  previewDetail: (params: ProductDetailPreviewParams, options: ProductDetailPreviewOptions) => Promise<ProductDetail | null>;
1899
2052
  upsert: (params: ProductUpsertParams) => Promise<ProductUpsertResponse>;
@@ -1961,8 +2114,8 @@ interface EventsRangeParams {
1961
2114
  end: EventsDateParam;
1962
2115
  limit?: number;
1963
2116
  page?: number;
1964
- calendar?: string | string[];
1965
- calendarSlug?: string | string[];
2117
+ calendar?: string;
2118
+ calendarSlug?: string;
1966
2119
  category?: string | string[];
1967
2120
  categorySlug?: string | string[];
1968
2121
  tag?: string | string[];
@@ -2011,7 +2164,7 @@ interface EventsRangeEvent {
2011
2164
  externalRegistrationUrl?: string | null;
2012
2165
  externalSource: EventsExternalSource | null;
2013
2166
  location: EventsLocation | null;
2014
- calendars: EventsCalendarItem[];
2167
+ calendar: EventsCalendarItem;
2015
2168
  categories: EventsTaxonomyItem[];
2016
2169
  tags: EventsTaxonomyItem[];
2017
2170
  }
@@ -2035,7 +2188,7 @@ interface EventsRangeResponse {
2035
2188
  end: string;
2036
2189
  };
2037
2190
  docs: EventsRangeOccurrence[];
2038
- calendars: EventsCalendarItem[];
2191
+ calendar: EventsCalendarItem | null;
2039
2192
  events: EventsRangeEvent[];
2040
2193
  categories: EventsTaxonomyItem[];
2041
2194
  tags: EventsTaxonomyItem[];
@@ -2332,6 +2485,20 @@ interface ApiQueryOptions {
2332
2485
  /** Include soft-deleted documents (requires `trash` enabled on the collection) */
2333
2486
  trash?: boolean;
2334
2487
  }
2488
+ type PublicReadQueryOptions = Omit<ApiQueryOptions, 'depth' | 'joins' | 'populate'> & {
2489
+ /**
2490
+ * Publishable collection reads stay unpopulated. Use shaped commerce/community
2491
+ * endpoints or a server client when populated relations are required.
2492
+ */
2493
+ depth?: 0;
2494
+ /**
2495
+ * Publishable collection reads disable Payload join fields to avoid accidental
2496
+ * exposure and expensive generic list responses.
2497
+ */
2498
+ joins?: false;
2499
+ /** Publishable collection reads do not support relationship populate maps. */
2500
+ populate?: never;
2501
+ };
2335
2502
  interface DebugConfig {
2336
2503
  logRequests?: boolean;
2337
2504
  logResponses?: boolean;
@@ -2342,14 +2509,14 @@ interface RetryConfig {
2342
2509
  retryableStatuses?: number[];
2343
2510
  retryDelay?: (attempt: number) => number;
2344
2511
  }
2345
- interface RootQueryLookup<T extends string> {
2346
- find(options?: ApiQueryOptions): Promise<PayloadFindResponse<CollectionType<T>>>;
2347
- findById(id: string | number, options?: ApiQueryOptions): Promise<CollectionType<T>>;
2348
- count(options?: ApiQueryOptions): Promise<{
2512
+ interface RootQueryLookup<T extends string, Options extends ApiQueryOptions = ApiQueryOptions> {
2513
+ find(options?: Options): Promise<PayloadFindResponse<CollectionType<T>>>;
2514
+ findById(id: string | number, options?: Options): Promise<CollectionType<T>>;
2515
+ count(options?: Options): Promise<{
2349
2516
  totalDocs: number;
2350
2517
  }>;
2351
2518
  }
2352
- type RootReadOnlyQueryBuilder<T extends PublicCollection> = RootQueryLookup<T>;
2519
+ type RootReadOnlyQueryBuilder<T extends PublicCollection> = RootQueryLookup<T, PublicReadQueryOptions>;
2353
2520
  interface RootServerQueryBuilder<T extends ServerCollection> extends RootQueryLookup<T> {
2354
2521
  create(data: Partial<CollectionType<T>>, options?: {
2355
2522
  file?: File | Blob;
@@ -2372,6 +2539,7 @@ interface RootServerCollectionClient {
2372
2539
  interface RootClient {
2373
2540
  commerce: CommerceClient;
2374
2541
  community: CommunityClient;
2542
+ content: ContentClient;
2375
2543
  /** Set on {@link createClient} return values; optional for structural mocks. */
2376
2544
  events?: EventsClient;
2377
2545
  customer: CustomerNamespace;
@@ -2409,4 +2577,4 @@ type DeepPartial<T> = {
2409
2577
  };
2410
2578
  type ExtractArrayType<T> = T extends (infer U)[] ? U : never;
2411
2579
 
2412
- export { type EventsCalendarItem as $, type AddItemParams as A, BaseApi as B, CommerceClient as C, type DebugConfig as D, EventsClient as E, ServerCommerceClient as F, type BanCustomerParams as G, type CommunityBan as H, type UnbanCustomerParams as I, type ClientServerConfig as J, type RootServerClientWithEvents as K, type CollectionFieldSchema as L, type CollectionSchemaResponse as M, type EventGuestCancelParams as N, type EventGuestRegistration as O, type PayloadFindResponse as P, type EventGuestRegistrationResponse as Q, type RemoveDiscountParams as R, type Sort as S, type TenantIntrospectionClient as T, type UpdateItemParams as U, type EventRegistrationAnswerInput as V, type Where as W, type EventRegistrationAttendeeInput as X, type EventRegistrationPublic as Y, type EventRegistrationRegisterParams as Z, type EventRegistrationRegisterResponse as _, CommunityClient as a, type CommunityPublicAuthorSnapshot as a$, type EventsClientOptions as a0, type EventsDateParam as a1, type EventsExternalSource as a2, type EventsLocation as a3, type EventsOccurrenceLocation as a4, type EventsRangeEvent as a5, type EventsRangeOccurrence as a6, type EventsRangeParams as a7, type EventsRangeResponse as a8, type EventsTaxonomyItem as a9, type ProductDetailCatalog as aA, type StockSnapshotResponse as aB, type ProductSelectionMediaSource as aC, type ProductDisplayMediaSource as aD, type ResolveProductSelectionMediaInput as aE, type ResolveProductSelectionMediaResult as aF, type ProductSelectionMediaPointer as aG, type RootClientWithEvents as aH, type BulkImportFulfillmentsParams as aI, type BulkImportFulfillmentsResponse as aJ, type CalculateShippingParams as aK, type CalculateShippingResult as aL, type CancelOrderParams as aM, type CancelOrderReconciliationStatus as aN, type CancelOrderResponse as aO, type CancelReasonCode as aP, CartApi as aQ, type CartApiOptions as aR, type Comment as aS, type CommerceClientOptions as aT, type CommunityClientOptions as aU, type CommunityComment as aV, type CommunityCommentListSort as aW, type CommunityPost as aX, type CommunityPostCategory as aY, type CommunityPostListSort as aZ, type CommunityPostTag as a_, ModerationApi as aa, type RootServerClient as ab, type TenantFeatureProgressEvidenceValue as ac, type TenantFeatureProgressFeature as ad, type TenantFeatureProgressGroup as ae, type TenantFeatureProgressInput as af, type TenantFeatureProgressItem as ag, type TenantFeatureProgressItemState as ah, type TenantFeatureProgressResponse as ai, type TenantFeatureProgressSeverity as aj, type TenantFeatureProgressStatus as ak, TenantIntrospectionApi as al, type TenantIntrospectionApiOptions as am, CustomerAuth as an, type CustomerProfile as ao, type CustomerAuthResponse as ap, type CustomerLoginData as aq, type CustomerRegisterResponse as ar, type CustomerRegisterData as as, type CustomerRefreshResponse as at, type UpdateProfileData as au, type ProductDetailParams as av, type ProductDetailResult as aw, type ProductListingGroupsItem as ax, type ProductListingGroupsCatalogItem as ay, type ProductDetail as az, CustomerNamespace as b, type ProductMediaResolutionSource as b$, type CommunityPublicMediaAsset as b0, type CommunityPublicReference as b1, type CompatibilityProductSelectionParamEvent as b2, type ConfirmPaymentParams as b3, type ConfirmPaymentResponse as b4, type CreateFulfillmentParams as b5, type CreateOrderItem as b6, type CreateOrderParams as b7, type CreateReturnParams as b8, type CustomerAuthOptions as b9, type ProductDetailMedia as bA, type ProductDetailOption as bB, type ProductDetailOptionValue as bC, type ProductDetailTag as bD, type ProductDetailUnavailableReason as bE, type ProductDetailVariant as bF, type ProductDetailVariantOptionValue as bG, type ProductDetailVideo as bH, type ProductHrefGroup as bI, type ProductHrefOptions as bJ, type ProductHrefProduct as bK, type ProductListingCard as bL, type ProductListingCardOptions as bM, type ProductListingCardPriceRange as bN, type ProductListingCardRepresentativeVariant as bO, type ProductListingGroup as bP, type ProductListingGroupCatalogSummary as bQ, type ProductListingGroupCatalogVariant as bR, type ProductListingGroupSummary as bS, type ProductListingGroupVariant as bT, type ProductListingGroupsCatalogProduct as bU, type ProductListingGroupsCatalogResponse as bV, type ProductListingGroupsProduct as bW, type ProductListingGroupsResponse as bX, type ProductListingProductShape as bY, type ProductListingProjection as bZ, type ProductListingSwatch as b_, type CustomerSnapshot as ba, DiscountApi as bb, type DiscountApiOptions as bc, type LegacyProductSelectionParamEvent as bd, type ListingGroupsParams as be, type ListingPrimaryImageFallbackInput as bf, type MediaValue as bg, type NormalizedOptionSwatch as bh, type NormalizedProductSelection as bi, OrderApi as bj, type OrderApiOptions as bk, PRODUCT_PLP_FIND_OPTIONS as bl, PRODUCT_UPSERT_READONLY_FIELD_REASON as bm, PRODUCT_UPSERT_UNKNOWN_FIELD_REASON as bn, type PrepareFulfillmentOrderParams as bo, type PrepareFulfillmentOrderResponse as bp, ProductApi as bq, type ProductApiOptions as br, type ProductDetailBrand as bs, type ProductDetailCatalogListing as bt, type ProductDetailCatalogResult as bu, type ProductDetailCatalogVariant as bv, type ProductDetailCategory as bw, type ProductDetailImage as bx, type ProductDetailImageMedia as by, type ProductDetailListing as bz, type ClientState as c, resolveListingPrimaryImagePointer as c$, type ProductOptionMatrix as c0, type ProductOptionMatrixOption as c1, type ProductOptionMatrixValue as c2, type ProductOptionMatrixVariant as c3, type ProductOptionShape as c4, type ProductOptionValueShape as c5, type ProductOptionValueSwatch as c6, type ProductOptionValueSwatchInput as c7, type ProductSelectionAvailableSwatch as c8, type ProductSelectionAvailableValue as c9, type StockCheckParams as cA, type StockCheckResponse as cB, type StockCheckResult as cC, type StockSnapshotItem as cD, type StockSnapshotParams as cE, type UpdateFulfillmentParams as cF, type UpdateOrderParams as cG, type UpdateReturnParams as cH, type UpdateTransactionParams as cI, type ValidateDiscountParams as cJ, type ValidateDiscountResult as cK, type WithIdempotencyKey as cL, buildProductHref as cM, buildProductListingCard as cN, buildProductListingGroupsByOption as cO, buildProductListingProjection as cP, buildProductOptionMatrix as cQ, buildProductOptionMatrixFromDetail as cR, createProductSelectionCodec as cS, getAvailableOptionValues as cT, getProductSelectionImages as cU, getSelectedValueByOptionId as cV, isProductUpsertFieldValidationErrorBody as cW, normalizeProductSelection as cX, normalizeProductSelectionFromMatrix as cY, normalizeSelectedValueIds as cZ, parseProductSelection as c_, type ProductSelectionByOptionValue as ca, ProductSelectionCodecError as cb, type ProductSelectionCodecOptions as cc, type ProductSelectionInput as cd, type ProductSelectionOptionValue as ce, type ProductSelectionResolution as cf, type ProductSelectionResolutionContext as cg, type ProductSelectionUrlEmit as ch, type ProductSelectionVariant as ci, type ProductUpsertFieldValidationErrorBody as cj, type ProductUpsertFieldValidationErrorReason as ck, type ProductVariantShape as cl, type RequestOptions as cm, type ResolveCancelRefundFailedResponse as cn, type ResolveCancelRefundOutcome as co, type ResolveCancelRefundParams as cp, type ResolveCancelRefundResponse as cq, type ResolveCancelRefundSucceededResponse as cr, type ResolveProductDisplayMediaInput as cs, type ResolveProductDisplayMediaResult as ct, type ReturnItem as cu, type ReturnReason as cv, type ReturnWithRefundItem as cw, type ReturnWithRefundParams as cx, ShippingApi as cy, type ShippingApiOptions as cz, type ClientConfig as d, resolveProductDisplayMedia as d0, resolveProductSelection as d1, resolveProductSelectionFromMatrix as d2, resolveProductSelectionMedia as d3, resolveVariantForSelection as d4, selectNext as d5, selectedSwatchMediaItemId as d6, stringifyProductSelection as d7, toShopifyPriceRangeV2 as d8, type ApiQueryOptions as e, type ApplyDiscountParams as f, type CheckoutParams as g, type ClearCartParams as h, type ClientMetadata as i, type DeepPartial as j, type ExtractArrayType as k, type PayloadMutationResponse as l, type PublicCart as m, type PublicCartItem as n, type PublicCartReference as o, type PublicMediaAsset as p, type PublicMediaSize as q, type PublicOrder as r, type PublicOrderItem as s, type PublicOrderReference as t, type RemoveItemParams as u, type RetryConfig as v, type RootClient as w, type RootCollectionClient as x, type RootReadOnlyQueryBuilder as y, type ServerApiOptions as z };
2580
+ export { type CollectionFieldSchema as $, type AddItemParams as A, type RootReadOnlyQueryBuilder as B, CommerceClient as C, type DebugConfig as D, EventsClient as E, type StorefrontContentListOptions as F, type StorefrontContentReference as G, type StorefrontGalleryItem as H, type StorefrontGalleryItemsListOptions as I, type StorefrontGalleryItemsSort as J, type StorefrontLink as K, type StorefrontLinksListOptions as L, type StorefrontLinksSort as M, BaseApi as N, type ServerApiOptions as O, type PayloadFindResponse as P, ServerCommerceClient as Q, type RemoveDiscountParams as R, type Sort as S, type TenantIntrospectionClient as T, type UpdateItemParams as U, type BanCustomerParams as V, type Where as W, type CommunityBan as X, type UnbanCustomerParams as Y, type ClientServerConfig as Z, type RootServerClientWithEvents as _, CommunityClient as a, type CalculateShippingResult as a$, type CollectionSchemaResponse as a0, type EventGuestCancelParams as a1, type EventGuestRegistration as a2, type EventGuestRegistrationResponse as a3, type EventRegistrationAnswerInput as a4, type EventRegistrationAttendeeInput as a5, type EventRegistrationPublic as a6, type EventRegistrationRegisterParams as a7, type EventRegistrationRegisterResponse as a8, type EventsCalendarItem as a9, type CustomerAuthResponse as aA, type CustomerLoginData as aB, type CustomerRegisterResponse as aC, type CustomerRegisterData as aD, type CustomerRefreshResponse as aE, type UpdateProfileData as aF, type ProductListingPageBaseParams as aG, type ProductListingPageParams as aH, type ProductDetailParams as aI, type ProductDetailResult as aJ, type ProductListingPageCatalogParams as aK, type ProductListingPageResult as aL, type ProductListingGroupsCatalogItem as aM, type ProductListingPageFullParams as aN, type ProductListingGroupsItem as aO, type ProductDetail as aP, type ProductDetailCatalog as aQ, type StockSnapshotResponse as aR, type ProductSelectionMediaSource as aS, type ProductDisplayMediaSource as aT, type ResolveProductSelectionMediaInput as aU, type ResolveProductSelectionMediaResult as aV, type ProductSelectionMediaPointer as aW, type RootClientWithEvents as aX, type BulkImportFulfillmentsParams as aY, type BulkImportFulfillmentsResponse as aZ, type CalculateShippingParams as a_, type EventsClientOptions as aa, type EventsDateParam as ab, type EventsExternalSource as ac, type EventsLocation as ad, type EventsOccurrenceLocation as ae, type EventsRangeEvent as af, type EventsRangeOccurrence as ag, type EventsRangeParams as ah, type EventsRangeResponse as ai, type EventsTaxonomyItem as aj, ModerationApi as ak, type RootServerClient as al, type TenantFeatureProgressEvidenceValue as am, type TenantFeatureProgressFeature as an, type TenantFeatureProgressGroup as ao, type TenantFeatureProgressInput as ap, type TenantFeatureProgressItem as aq, type TenantFeatureProgressItemState as ar, type TenantFeatureProgressResponse as as, type TenantFeatureProgressSeverity as at, type TenantFeatureProgressStatus as au, TenantIntrospectionApi as av, type TenantIntrospectionApiOptions as aw, type PublicReadQueryOptions as ax, CustomerAuth as ay, type CustomerProfile as az, ContentClient as b, type ProductListingCardOptions as b$, type CancelOrderParams as b0, type CancelOrderReconciliationStatus as b1, type CancelOrderResponse as b2, type CancelReasonCode as b3, CartApi as b4, type CartApiOptions as b5, type Comment as b6, type CommerceClientOptions as b7, type CommunityClientOptions as b8, type CommunityComment as b9, OrderApi as bA, type OrderApiOptions as bB, PRODUCT_PLP_FIND_OPTIONS as bC, PRODUCT_UPSERT_READONLY_FIELD_REASON as bD, PRODUCT_UPSERT_UNKNOWN_FIELD_REASON as bE, type PrepareFulfillmentOrderParams as bF, type PrepareFulfillmentOrderResponse as bG, ProductApi as bH, type ProductApiOptions as bI, type ProductDetailBrand as bJ, type ProductDetailCatalogResult as bK, type ProductDetailCatalogVariant as bL, type ProductDetailCategory as bM, type ProductDetailImage as bN, type ProductDetailImageMedia as bO, type ProductDetailMedia as bP, type ProductDetailOption as bQ, type ProductDetailOptionValue as bR, type ProductDetailTag as bS, type ProductDetailUnavailableReason as bT, type ProductDetailVariant as bU, type ProductDetailVariantOptionValue as bV, type ProductDetailVideo as bW, type ProductHrefGroup as bX, type ProductHrefOptions as bY, type ProductHrefProduct as bZ, type ProductListingCard as b_, type CommunityCommentListSort as ba, type CommunityPost as bb, type CommunityPostCategory as bc, type CommunityPostListSort as bd, type CommunityPostTag as be, type CommunityPublicAuthorSnapshot as bf, type CommunityPublicMediaAsset as bg, type CommunityPublicReference as bh, type CompatibilityProductSelectionParamEvent as bi, type ConfirmPaymentParams as bj, type ConfirmPaymentResponse as bk, type CreateFulfillmentParams as bl, type CreateOrderItem as bm, type CreateOrderParams as bn, type CreateReturnParams as bo, type CustomerAuthOptions as bp, type CustomerOrderListOptions as bq, type CustomerSnapshot as br, DiscountApi as bs, type DiscountApiOptions as bt, type FeaturedImagePointerInput as bu, type LegacyProductSelectionParamEvent as bv, type ListingGroupsParams as bw, type MediaValue as bx, type NormalizedOptionSwatch as by, type NormalizedProductSelection as bz, CustomerNamespace as c, type UpdateTransactionParams as c$, type ProductListingCardPriceRange as c0, type ProductListingCardRepresentativeVariant as c1, type ProductListingGroup as c2, type ProductListingGroupCatalogSummary as c3, type ProductListingGroupCatalogVariant as c4, type ProductListingGroupProjection as c5, type ProductListingGroupSummary as c6, type ProductListingGroupVariant as c7, type ProductListingGroupsCatalogProduct as c8, type ProductListingGroupsCatalogResponse as c9, type ProductSelectionUrlEmit as cA, type ProductSelectionVariant as cB, type ProductUpsertFieldValidationErrorBody as cC, type ProductUpsertFieldValidationErrorReason as cD, type ProductVariantShape as cE, type RequestOptions as cF, type ResolveCancelRefundFailedResponse as cG, type ResolveCancelRefundOutcome as cH, type ResolveCancelRefundParams as cI, type ResolveCancelRefundResponse as cJ, type ResolveCancelRefundSucceededResponse as cK, type ResolveProductDisplayMediaInput as cL, type ResolveProductDisplayMediaResult as cM, type ReturnItem as cN, type ReturnReason as cO, type ReturnWithRefundItem as cP, type ReturnWithRefundParams as cQ, ShippingApi as cR, type ShippingApiOptions as cS, type StockCheckParams as cT, type StockCheckResponse as cU, type StockCheckResult as cV, type StockSnapshotItem as cW, type StockSnapshotParams as cX, type UpdateFulfillmentParams as cY, type UpdateOrderParams as cZ, type UpdateReturnParams as c_, type ProductListingGroupsProduct as ca, type ProductListingGroupsResponse as cb, type ProductListingPageFilters as cc, type ProductListingPageSort as cd, type ProductListingProductShape as ce, type ProductListingSwatch as cf, type ProductMediaResolutionSource as cg, type ProductMoneyRange as ch, type ProductOptionMatrix as ci, type ProductOptionMatrixOption as cj, type ProductOptionMatrixValue as ck, type ProductOptionMatrixVariant as cl, type ProductOptionShape as cm, type ProductOptionValueShape as cn, type ProductOptionValueSwatch as co, type ProductOptionValueSwatchInput as cp, type ProductPriceRange as cq, type ProductSelectionAvailableSwatch as cr, type ProductSelectionAvailableValue as cs, type ProductSelectionByOptionValue as ct, ProductSelectionCodecError as cu, type ProductSelectionCodecOptions as cv, type ProductSelectionInput as cw, type ProductSelectionOptionValue as cx, type ProductSelectionResolution as cy, type ProductSelectionResolutionContext as cz, type ClientState as d, type ValidateDiscountParams as d0, type ValidateDiscountResult as d1, type WithIdempotencyKey as d2, buildProductHref as d3, buildProductListingCard as d4, buildProductListingGroupProjection as d5, buildProductListingGroupsByOption as d6, buildProductOptionMatrix as d7, buildProductOptionMatrixFromDetail as d8, createProductSelectionCodec as d9, getAvailableOptionValues as da, getProductSelectionImages as db, getSelectedValueByOptionId as dc, isProductUpsertFieldValidationErrorBody as dd, normalizeProductSelection as de, normalizeProductSelectionFromMatrix as df, normalizeSelectedValueIds as dg, parseProductSelection as dh, resolveFeaturedImagePointer as di, resolveProductDisplayMedia as dj, resolveProductSelection as dk, resolveProductSelectionFromMatrix as dl, resolveProductSelectionMedia as dm, resolveVariantForSelection as dn, selectNext as dp, selectedSwatchMediaItemId as dq, stringifyProductSelection as dr, toShopifyPriceRangeV2 as ds, type ClientConfig as e, type ApiQueryOptions as f, type ApplyDiscountParams as g, type CheckoutParams as h, type ClearCartParams as i, type ClientMetadata as j, type ContentClientOptions as k, type DeepPartial as l, type ExtractArrayType as m, type PayloadMutationResponse as n, type PublicCart as o, type PublicCartItem as p, type PublicCartReference as q, type PublicMediaAsset as r, type PublicMediaSize as s, type PublicOrder as t, type PublicOrderItem as u, type PublicOrderReference as v, type RemoveItemParams as w, type RetryConfig as x, type RootClient as y, type RootCollectionClient as z };