@doswiftly/storefront-operations 5.5.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/fragments.graphql CHANGED
@@ -20,6 +20,12 @@ fragment UserError on UserError {
20
20
  field
21
21
  }
22
22
 
23
+ fragment CartWarning on CartWarning {
24
+ message
25
+ code
26
+ target
27
+ }
28
+
23
29
  # Base Image — no transform (for logos, favicons, branding assets that are already small)
24
30
  fragment Image on Image {
25
31
  id
@@ -97,19 +103,13 @@ fragment ProductVariant on ProductVariant {
97
103
  title
98
104
  sku
99
105
  price {
100
- ...PriceMoney
101
- }
102
- originalPrice {
103
106
  ...Money
104
107
  }
105
108
  compareAtPrice {
106
- ...PriceMoney
107
- }
108
- originalCompareAtPrice {
109
109
  ...Money
110
110
  }
111
- available
112
- quantityAvailable
111
+ isAvailable
112
+ availableStock
113
113
  image {
114
114
  ...ImageThumbnail
115
115
  }
@@ -117,8 +117,11 @@ fragment ProductVariant on ProductVariant {
117
117
  ...SelectedOption
118
118
  }
119
119
  barcode
120
- weight
121
- position
120
+ weight {
121
+ value
122
+ unit
123
+ }
124
+ sortOrder
122
125
  }
123
126
 
124
127
  # Minimal product data for listing views (cards, grids, search results).
@@ -128,8 +131,8 @@ fragment ProductCard on Product {
128
131
  handle
129
132
  title
130
133
  vendor
131
- productType
132
- availableForSale
134
+ category
135
+ isAvailable
133
136
  averageRating
134
137
  reviewCount
135
138
  tags
@@ -138,18 +141,18 @@ fragment ProductCard on Product {
138
141
  }
139
142
  priceRange {
140
143
  minVariantPrice {
141
- ...Price
144
+ ...Money
142
145
  }
143
146
  maxVariantPrice {
144
- ...Price
147
+ ...Money
145
148
  }
146
149
  }
147
150
  compareAtPriceRange {
148
151
  minVariantPrice {
149
- ...Price
152
+ ...Money
150
153
  }
151
154
  maxVariantPrice {
152
- ...Price
155
+ ...Money
153
156
  }
154
157
  }
155
158
  }
@@ -159,25 +162,9 @@ fragment ProductBase on Product {
159
162
  ...ProductCard
160
163
  description
161
164
  descriptionHtml
162
- originalPriceRange {
163
- minVariantPrice {
164
- ...Money
165
- }
166
- maxVariantPrice {
167
- ...Money
168
- }
169
- }
170
- originalCompareAtPriceRange {
171
- minVariantPrice {
172
- ...Money
173
- }
174
- maxVariantPrice {
175
- ...Money
176
- }
177
- }
178
- totalInventory
165
+ stockTotal
179
166
  type
180
- collectRecipientInfo
167
+ requiresRecipientInfo
181
168
  # Faza 1.5 (Decision D-A v3 + D-B)
182
169
  visibility
183
170
  attributeSetId
@@ -188,10 +175,34 @@ fragment ProductBase on Product {
188
175
  fragment ProductFull on Product {
189
176
  ...ProductBase
190
177
  images(first: 20) {
191
- ...ImageFull
178
+ edges {
179
+ cursor
180
+ node {
181
+ ...ImageFull
182
+ }
183
+ }
184
+ nodes {
185
+ ...ImageFull
186
+ }
187
+ pageInfo {
188
+ ...PageInfo
189
+ }
190
+ totalCount
192
191
  }
193
192
  variants(first: 100) {
194
- ...ProductVariant
193
+ edges {
194
+ cursor
195
+ node {
196
+ ...ProductVariant
197
+ }
198
+ }
199
+ nodes {
200
+ ...ProductVariant
201
+ }
202
+ pageInfo {
203
+ ...PageInfo
204
+ }
205
+ totalCount
195
206
  }
196
207
  seo {
197
208
  title
@@ -244,8 +255,8 @@ fragment Category on Category {
244
255
 
245
256
  fragment MailingAddress on MailingAddress {
246
257
  id
247
- address1
248
- address2
258
+ streetLine1
259
+ streetLine2
249
260
  city
250
261
  company
251
262
  country
@@ -253,9 +264,9 @@ fragment MailingAddress on MailingAddress {
253
264
  firstName
254
265
  lastName
255
266
  phone
256
- province
257
- provinceCode
258
- zip
267
+ state
268
+ stateCode
269
+ postalCode
259
270
  isDefault
260
271
  }
261
272
 
@@ -271,12 +282,13 @@ fragment Customer on Customer {
271
282
  lastName
272
283
  displayName
273
284
  phone
274
- emailVerified
275
- emailMarketingState
285
+ isEmailVerified
286
+ emailMarketing
287
+ tags
276
288
  defaultAddress {
277
289
  ...MailingAddress
278
290
  }
279
- ordersCount
291
+ orderCount
280
292
  totalSpent {
281
293
  ...Money
282
294
  }
@@ -287,20 +299,22 @@ fragment Customer on Customer {
287
299
  fragment Order on Order {
288
300
  id
289
301
  orderNumber
290
- totalPrice {
291
- ...Money
292
- }
293
- subtotalPrice {
294
- ...Money
295
- }
296
- totalTax {
297
- ...Money
298
- }
299
- totalShipping {
300
- ...Money
302
+ totals {
303
+ total {
304
+ ...Money
305
+ }
306
+ subtotal {
307
+ ...Money
308
+ }
309
+ totalTax {
310
+ ...Money
311
+ }
312
+ totalShipping {
313
+ ...Money
314
+ }
301
315
  }
302
316
  status
303
- financialStatus
317
+ paymentStatus
304
318
  fulfillmentStatus
305
319
  processedAt
306
320
  confirmedAt
@@ -309,7 +323,7 @@ fragment Order on Order {
309
323
  shippingAddress {
310
324
  ...MailingAddress
311
325
  }
312
- lineItemsCount
326
+ itemCount
313
327
  }
314
328
 
315
329
  # ============================================
@@ -317,37 +331,40 @@ fragment Order on Order {
317
331
  # ============================================
318
332
 
319
333
  fragment CartCost on CartCost {
320
- totalAmount {
321
- ...PriceMoney
334
+ total {
335
+ ...Money
336
+ }
337
+ subtotal {
338
+ ...Money
322
339
  }
323
- subtotalAmount {
324
- ...PriceMoney
340
+ totalTax {
341
+ ...Money
325
342
  }
326
- totalTaxAmount {
327
- ...PriceMoney
343
+ totalDuty {
344
+ ...Money
328
345
  }
329
- totalDutyAmount {
330
- ...PriceMoney
346
+ checkoutCharge {
347
+ ...Money
331
348
  }
332
349
  }
333
350
 
334
351
  fragment CartLineCost on CartLineCost {
335
- amountPerQuantity {
336
- ...PriceMoney
352
+ pricePerUnit {
353
+ ...Money
337
354
  }
338
- subtotalAmount {
339
- ...PriceMoney
355
+ subtotal {
356
+ ...Money
340
357
  }
341
- totalAmount {
342
- ...PriceMoney
358
+ total {
359
+ ...Money
343
360
  }
344
- compareAtAmountPerQuantity {
345
- ...PriceMoney
361
+ compareAtPricePerUnit {
362
+ ...Money
346
363
  }
347
364
  }
348
365
 
349
366
  # Typed customer-filled attribute snapshot (Faza 1 R5 + Decision D-A v3 + D-I).
350
- # Distinct from CartLine.attributes (Shopify raw KV line item properties).
367
+ # Distinct from CartLine.attributes (raw KV line item properties).
351
368
  fragment AttributeSelection on AttributeSelection {
352
369
  attributeDefinitionId
353
370
  attributeName
@@ -367,7 +384,7 @@ fragment AttributeSelection on AttributeSelection {
367
384
  fragment CartLine on CartLine {
368
385
  id
369
386
  quantity
370
- merchandise {
387
+ variant {
371
388
  ...ProductVariant
372
389
  }
373
390
  cost {
@@ -394,7 +411,7 @@ fragment CartBuyerIdentity on CartBuyerIdentity {
394
411
 
395
412
  fragment CartDiscountCode on CartDiscountCode {
396
413
  code
397
- applicable
414
+ isApplicable
398
415
  }
399
416
 
400
417
  fragment CartDiscountAllocation on CartDiscountAllocation {
@@ -412,7 +429,23 @@ fragment Cart on Cart {
412
429
  ...CartCost
413
430
  }
414
431
  lines(first: 100) {
415
- ...CartLine
432
+ edges {
433
+ cursor
434
+ node {
435
+ ... on CartLine {
436
+ ...CartLine
437
+ }
438
+ }
439
+ }
440
+ nodes {
441
+ ... on CartLine {
442
+ ...CartLine
443
+ }
444
+ }
445
+ pageInfo {
446
+ ...PageInfo
447
+ }
448
+ totalCount
416
449
  }
417
450
  buyerIdentity {
418
451
  ...CartBuyerIdentity
@@ -460,8 +493,8 @@ fragment SocialLinks on SocialLinks {
460
493
  }
461
494
 
462
495
  fragment ShopAddress on ShopAddress {
463
- address1
464
- address2
496
+ streetLine1
497
+ streetLine2
465
498
  city
466
499
  state
467
500
  postalCode
@@ -513,7 +546,11 @@ fragment Shop on Shop {
513
546
  id
514
547
  name
515
548
  description
516
- primaryDomain
549
+ primaryDomain {
550
+ host
551
+ url
552
+ isSslEnabled
553
+ }
517
554
  currencyCode
518
555
  supportedCurrencies
519
556
  paymentCurrencies
@@ -567,12 +604,6 @@ fragment AvailablePaymentMethods on AvailablePaymentMethods {
567
604
  # Checkout Fragments
568
605
  # ============================================
569
606
 
570
- fragment CheckoutUserError on CheckoutUserError {
571
- field
572
- message
573
- code
574
- }
575
-
576
607
  fragment ShippingRate on ShippingRate {
577
608
  handle
578
609
  title
@@ -608,7 +639,7 @@ fragment DiscountAffectedItem on DiscountAffectedItem {
608
639
 
609
640
  fragment DiscountApplication on DiscountApplication {
610
641
  code
611
- applicable
642
+ isApplicable
612
643
  type
613
644
  value {
614
645
  ...Money
@@ -625,7 +656,7 @@ fragment DiscountApplication on DiscountApplication {
625
656
 
626
657
  fragment DiscountCode on DiscountCode {
627
658
  code
628
- applicable
659
+ isApplicable
629
660
  }
630
661
 
631
662
  fragment CheckoutLineItem on CheckoutLineItem {
@@ -633,10 +664,10 @@ fragment CheckoutLineItem on CheckoutLineItem {
633
664
  title
634
665
  variantTitle
635
666
  quantity
636
- unitPrice {
667
+ pricePerUnit {
637
668
  ...Money
638
669
  }
639
- totalPrice {
670
+ total {
640
671
  ...Money
641
672
  }
642
673
  variantId
@@ -661,8 +692,8 @@ fragment AppliedGiftCard on AppliedGiftCard {
661
692
 
662
693
  fragment Checkout on Checkout {
663
694
  id
664
- ready
665
- completed
695
+ isReady
696
+ isCompleted
666
697
  completedOrderId
667
698
  webUrl
668
699
  lineItems {
@@ -695,24 +726,16 @@ fragment Checkout on Checkout {
695
726
  ...PaymentMethod
696
727
  }
697
728
  selectedPaymentMethodId
698
- subtotalPrice {
699
- ...Money
700
- }
701
- totalShippingPrice {
702
- ...Money
703
- }
704
- totalTax {
705
- ...Money
729
+ cost {
730
+ subtotal { ...Money }
731
+ total { ...Money }
732
+ totalTax { ...Money }
733
+ totalShipping { ...Money }
734
+ totalDiscounts { ...Money }
706
735
  }
707
736
  taxLines {
708
737
  ...TaxLine
709
738
  }
710
- totalDiscounts {
711
- ...Money
712
- }
713
- totalPrice {
714
- ...Money
715
- }
716
739
  # GAP-001: Gift Card Checkout Integration
717
740
  appliedGiftCards {
718
741
  ...AppliedGiftCard
@@ -767,7 +790,7 @@ fragment Shipment on Shipment {
767
790
  trackingUrl
768
791
  labelUrl
769
792
  status
770
- estimatedDeliveryDate
793
+ estimatedDeliveryAt
771
794
  shippedAt
772
795
  deliveredAt
773
796
  recipientAddress {
@@ -793,7 +816,7 @@ fragment ShipmentBasic on Shipment {
793
816
  trackingNumber
794
817
  trackingUrl
795
818
  status
796
- estimatedDeliveryDate
819
+ estimatedDeliveryAt
797
820
  shippedAt
798
821
  deliveredAt
799
822
  createdAt
@@ -875,23 +898,9 @@ fragment ReturnReasonOption on ReturnReasonOption {
875
898
  # Gift Card Fragments (R32 - Gift Cards)
876
899
  # ============================================
877
900
 
878
- fragment GiftCardTransaction on GiftCardTransaction {
879
- id
880
- type
881
- amount {
882
- ...Money
883
- }
884
- balanceAfter {
885
- ...Money
886
- }
887
- orderId
888
- createdAt
889
- }
890
-
891
901
  fragment GiftCard on GiftCard {
892
902
  id
893
903
  maskedCode
894
- lastCharacters
895
904
  status
896
905
  initialAmount {
897
906
  ...Money
@@ -902,9 +911,6 @@ fragment GiftCard on GiftCard {
902
911
  expiresAt
903
912
  recipientName
904
913
  message
905
- transactions {
906
- ...GiftCardTransaction
907
- }
908
914
  createdAt
909
915
  }
910
916
 
@@ -914,7 +920,7 @@ fragment GiftCardError on GiftCardError {
914
920
  }
915
921
 
916
922
  fragment GiftCardValidation on GiftCardValidation {
917
- valid
923
+ isValid
918
924
  availableBalance {
919
925
  ...Money
920
926
  }
@@ -1150,11 +1156,11 @@ fragment LoyaltyReward on LoyaltyReward {
1150
1156
  image {
1151
1157
  ...ImageCard
1152
1158
  }
1153
- available
1159
+ isAvailable
1154
1160
  tierRequired {
1155
1161
  ...LoyaltyTier
1156
1162
  }
1157
- remainingRedemptions
1163
+ redemptionsRemaining
1158
1164
  }
1159
1165
 
1160
1166
  fragment PointsEstimate on PointsEstimate {
@@ -1166,12 +1172,12 @@ fragment PointsEstimate on PointsEstimate {
1166
1172
 
1167
1173
  fragment LoyaltyAction on LoyaltyAction {
1168
1174
  type
1169
- enabled
1175
+ isEnabled
1170
1176
  points
1171
1177
  }
1172
1178
 
1173
1179
  fragment LoyaltySettings on LoyaltySettings {
1174
- enabled
1180
+ isEnabled
1175
1181
  pointsName
1176
1182
  pointsPerCurrency
1177
1183
  pointsExpiryMonths
@@ -1224,6 +1230,7 @@ fragment ProductReview on ProductReview {
1224
1230
  authorName
1225
1231
  isVerifiedPurchase
1226
1232
  helpfulCount
1233
+ unhelpfulCount
1227
1234
  response
1228
1235
  responseAt
1229
1236
  createdAt
@@ -1250,7 +1257,7 @@ fragment WishlistItem on WishlistItem {
1250
1257
  product {
1251
1258
  ...ProductCard
1252
1259
  }
1253
- priceAtAdd {
1260
+ priceWhenAdded {
1254
1261
  ...Money
1255
1262
  }
1256
1263
  notifyOnSale
@@ -1296,7 +1303,7 @@ fragment BlogPost on BlogPost {
1296
1303
  slug
1297
1304
  excerpt
1298
1305
  content
1299
- contentType
1306
+ contentFormat
1300
1307
  featuredImage {
1301
1308
  ...ImageCard
1302
1309
  }
@@ -1315,7 +1322,7 @@ fragment BlogPost on BlogPost {
1315
1322
  ...BlogTag
1316
1323
  }
1317
1324
  publishedAt
1318
- readingTime
1325
+ readingTimeMinutes
1319
1326
  viewCount
1320
1327
  commentCount
1321
1328
  allowComments
@@ -1362,23 +1369,23 @@ fragment CartRecommendation on CartRecommendations {
1362
1369
  }
1363
1370
 
1364
1371
  # ============================================
1365
- # Store Availability Fragments (Shopify parity — BOPIS / multi-location)
1372
+ # Store Availability Fragments (BOPIS / multi-location)
1366
1373
  # ============================================
1367
1374
  # Field access:
1368
1375
  # - `available: Boolean!` — always public.
1369
- # - `pickUpTime: String` — public, localized merchant-configured string.
1376
+ # - `pickupTime: String` — public, localized merchant-configured string.
1370
1377
  # - `quantityAvailable: Int` — TOKEN-GATED (null for anonymous, Int for authenticated).
1371
1378
  # - `location: Location!` — public, includes coords + businessHours when configured.
1372
1379
 
1373
1380
  fragment LocationAddress on LocationAddress {
1374
- address1
1375
- address2
1381
+ streetLine1
1382
+ streetLine2
1376
1383
  city
1377
1384
  country
1378
1385
  countryCode
1379
- province
1380
- provinceCode
1381
- zip
1386
+ state
1387
+ stateCode
1388
+ postalCode
1382
1389
  phone
1383
1390
  latitude
1384
1391
  longitude
@@ -1404,7 +1411,7 @@ fragment Location on Location {
1404
1411
  id
1405
1412
  name
1406
1413
  type
1407
- pickupEnabled
1414
+ supportsPickup
1408
1415
  timezone
1409
1416
  pickupInstructions
1410
1417
  address {
@@ -1416,9 +1423,9 @@ fragment Location on Location {
1416
1423
  }
1417
1424
 
1418
1425
  fragment StoreAvailability on StoreAvailability {
1419
- available
1420
- quantityAvailable
1421
- pickUpTime
1426
+ isAvailable
1427
+ availableStock
1428
+ pickupTime
1422
1429
  location {
1423
1430
  ...Location
1424
1431
  }
@@ -1441,8 +1448,8 @@ fragment VariantStoreAvailability on ProductVariant {
1441
1448
  id
1442
1449
  title
1443
1450
  sku
1444
- available
1445
- quantityAvailable
1451
+ isAvailable
1452
+ availableStock
1446
1453
  storeAvailability(first: 10) {
1447
1454
  ...StoreAvailabilityConnection
1448
1455
  }
@@ -1457,7 +1464,7 @@ fragment ShopPage on ShopPage {
1457
1464
  handle
1458
1465
  title
1459
1466
  body
1460
- bodySummary
1467
+ excerpt
1461
1468
  seo {
1462
1469
  title
1463
1470
  description
@@ -1500,7 +1507,6 @@ fragment Menu on Menu {
1500
1507
  id
1501
1508
  handle
1502
1509
  title
1503
- itemsCount
1504
1510
  items {
1505
1511
  ...MenuItem
1506
1512
  }
@@ -1518,7 +1524,7 @@ fragment UrlRedirect on UrlRedirect {
1518
1524
  # ============================================
1519
1525
  # Unified Product Configurator (Faza 1 + Faza 1.5 — Decision D-A v3 + D-I)
1520
1526
  # ============================================
1521
- # Hybrid Magento binding:
1527
+ # Hybrid AttributeSet binding:
1522
1528
  # - Product.attributes returns UNION of set definitions (via Product.attributeSetId)
1523
1529
  # and per-product scoped definitions (AttributeDefinition.scopeProductId = product.id)
1524
1530
  # - CUSTOMER fillingMode → rendered in storefront configurator UX
@@ -1530,7 +1536,7 @@ fragment LinkedVariantSummary on LinkedVariantSummary {
1530
1536
  productId
1531
1537
  title
1532
1538
  sku
1533
- quantityAvailable
1539
+ availableStock
1534
1540
  isAvailable
1535
1541
  trackQuantity
1536
1542
  }