@shopify/hydrogen 2026.10.0-preview.2 → 2026.10.0-preview.4

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 (404) hide show
  1. package/README.md +34 -3
  2. package/dist/cli/index.mjs +578 -85
  3. package/dist/client/client.mjs +2 -2
  4. package/dist/client/errors.d.mts +19 -19
  5. package/dist/client/errors.mjs +19 -16
  6. package/dist/client/errors.mjs.map +1 -1
  7. package/dist/client/types.d.mts +91 -10
  8. package/dist/core/analytics/cart-tracker.d.mts +14 -0
  9. package/dist/core/analytics/cart-tracker.mjs +15 -1
  10. package/dist/core/analytics/cart-tracker.mjs.map +1 -1
  11. package/dist/core/analytics/custom-consent.mjs +12 -0
  12. package/dist/core/analytics/custom-consent.mjs.map +1 -0
  13. package/dist/core/analytics/events.d.mts +7 -0
  14. package/dist/core/analytics/events.mjs +7 -0
  15. package/dist/core/analytics/events.mjs.map +1 -1
  16. package/dist/core/analytics/index.d.mts +1 -1
  17. package/dist/core/analytics/types.d.mts +152 -16
  18. package/dist/core/cart/actions.d.mts +47 -3
  19. package/dist/core/cart/actions.mjs +29 -0
  20. package/dist/core/cart/actions.mjs.map +1 -1
  21. package/dist/core/cart/attach-quantity-input.d.mts +26 -0
  22. package/dist/core/cart/attach-quantity-input.mjs +26 -0
  23. package/dist/core/cart/attach-quantity-input.mjs.map +1 -1
  24. package/dist/core/cart/cart.d.mts +106 -6
  25. package/dist/core/cart/cart.mjs +57 -6
  26. package/dist/core/cart/cart.mjs.map +1 -1
  27. package/dist/core/cart/cookie.d.mts +15 -0
  28. package/dist/core/cart/cookie.mjs +15 -0
  29. package/dist/core/cart/cookie.mjs.map +1 -1
  30. package/dist/core/cart/form.d.mts +61 -0
  31. package/dist/core/cart/form.mjs +18 -0
  32. package/dist/core/cart/form.mjs.map +1 -1
  33. package/dist/core/cart/get-cart.d.mts +43 -2
  34. package/dist/core/cart/get-cart.mjs +33 -0
  35. package/dist/core/cart/get-cart.mjs.map +1 -1
  36. package/dist/core/cart/index.d.mts +1 -1
  37. package/dist/core/cart/quantity.d.mts +17 -0
  38. package/dist/core/cart/quantity.mjs +17 -0
  39. package/dist/core/cart/quantity.mjs.map +1 -1
  40. package/dist/core/cart/queries.d.mts +402 -369
  41. package/dist/core/cart/queries.mjs +2 -1
  42. package/dist/core/cart/queries.mjs.map +1 -1
  43. package/dist/core/cart/server-handlers.d.mts +69 -0
  44. package/dist/core/cart/server-handlers.mjs +2 -10
  45. package/dist/core/cart/server-handlers.mjs.map +1 -1
  46. package/dist/core/cart/state.d.mts +133 -0
  47. package/dist/core/cart/state.mjs +8 -0
  48. package/dist/core/cart/state.mjs.map +1 -1
  49. package/dist/core/collection/collection.d.mts +18 -2
  50. package/dist/core/collection/collection.mjs +11 -0
  51. package/dist/core/collection/collection.mjs.map +1 -1
  52. package/dist/core/collection/index.d.mts +1 -1
  53. package/dist/core/collection/reconciler.d.mts +13 -4
  54. package/dist/core/collection/reconciler.mjs.map +1 -1
  55. package/dist/core/collection/state.d.mts +7 -2
  56. package/dist/core/collection/state.mjs.map +1 -1
  57. package/dist/core/collection/url.d.mts +3 -0
  58. package/dist/core/collection/url.mjs.map +1 -1
  59. package/dist/core/constants.d.mts +1 -1
  60. package/dist/core/constants.mjs +2 -2
  61. package/dist/core/constants.mjs.map +1 -1
  62. package/dist/core/headers.mjs +2 -2
  63. package/dist/core/headers.mjs.map +1 -1
  64. package/dist/core/index.d.mts +5 -5
  65. package/dist/core/logging/logging.mjs.map +1 -1
  66. package/dist/core/money/format.mjs +6 -3
  67. package/dist/core/money/format.mjs.map +1 -1
  68. package/dist/core/observable.mjs +0 -3
  69. package/dist/core/observable.mjs.map +1 -1
  70. package/dist/core/predictive-search/form.d.mts +1 -0
  71. package/dist/core/predictive-search/form.mjs +1 -0
  72. package/dist/core/predictive-search/form.mjs.map +1 -1
  73. package/dist/core/predictive-search/index.d.mts +1 -1
  74. package/dist/core/predictive-search/queries.d.mts +40 -4
  75. package/dist/core/predictive-search/queries.mjs +7 -1
  76. package/dist/core/predictive-search/queries.mjs.map +1 -1
  77. package/dist/core/predictive-search/search.d.mts +43 -10
  78. package/dist/core/predictive-search/search.mjs +34 -0
  79. package/dist/core/predictive-search/search.mjs.map +1 -1
  80. package/dist/core/predictive-search/server-handlers.d.mts +31 -5
  81. package/dist/core/predictive-search/server-handlers.mjs +5 -3
  82. package/dist/core/predictive-search/server-handlers.mjs.map +1 -1
  83. package/dist/core/predictive-search/store.d.mts +3 -1
  84. package/dist/core/predictive-search/store.mjs.map +1 -1
  85. package/dist/core/predictive-search/url.d.mts +50 -8
  86. package/dist/core/predictive-search/url.mjs +9 -0
  87. package/dist/core/predictive-search/url.mjs.map +1 -1
  88. package/dist/core/product/form.d.mts +21 -2
  89. package/dist/core/product/form.mjs +13 -0
  90. package/dist/core/product/form.mjs.map +1 -1
  91. package/dist/core/product/index.d.mts +1 -1
  92. package/dist/core/product/options.d.mts +2 -2
  93. package/dist/core/product/options.mjs +2 -2
  94. package/dist/core/product/options.mjs.map +1 -1
  95. package/dist/core/product/product-form.d.mts +33 -1
  96. package/dist/core/product/product-form.mjs +30 -0
  97. package/dist/core/product/product-form.mjs.map +1 -1
  98. package/dist/core/product/state.d.mts +41 -0
  99. package/dist/core/product/url.d.mts +6 -0
  100. package/dist/core/product/url.mjs.map +1 -1
  101. package/dist/core/request-context.d.mts +8 -5
  102. package/dist/core/request-context.mjs +17 -39
  103. package/dist/core/request-context.mjs.map +1 -1
  104. package/dist/core/request-routing/handle-shopify-routes.mjs +4 -1
  105. package/dist/core/request-routing/handle-shopify-routes.mjs.map +1 -1
  106. package/dist/core/request-routing/interceptors/ajax-api.mjs +1 -1
  107. package/dist/core/request-routing/interceptors/api-proxy.mjs +1 -1
  108. package/dist/core/request-routing/interceptors/checkout.mjs +22 -6
  109. package/dist/core/request-routing/interceptors/checkout.mjs.map +1 -1
  110. package/dist/core/request-routing/interceptors/mcp-proxy.mjs +1 -1
  111. package/dist/core/request-routing/interceptors/proxy.mjs +36 -10
  112. package/dist/core/request-routing/interceptors/proxy.mjs.map +1 -1
  113. package/dist/core/request-routing/interceptors/query-param-redirect.mjs +5 -11
  114. package/dist/core/request-routing/interceptors/query-param-redirect.mjs.map +1 -1
  115. package/dist/core/request-routing/interceptors/sfapi-proxy.mjs +19 -1
  116. package/dist/core/request-routing/interceptors/sfapi-proxy.mjs.map +1 -1
  117. package/dist/core/request-routing/interceptors/ucp-mcp-proxy.mjs +35 -0
  118. package/dist/core/request-routing/interceptors/ucp-mcp-proxy.mjs.map +1 -0
  119. package/dist/core/request-routing/interceptors/well-known.mjs +1 -1
  120. package/dist/core/shopify-scripts/analytics.mjs +2 -2
  121. package/dist/core/shopify-scripts/analytics.mjs.map +1 -1
  122. package/dist/core/shopify-scripts/constants.mjs +4 -2
  123. package/dist/core/shopify-scripts/constants.mjs.map +1 -1
  124. package/dist/core/shopify-scripts/global.mjs +9 -4
  125. package/dist/core/shopify-scripts/global.mjs.map +1 -1
  126. package/dist/core/shopify-scripts/index.d.mts +1 -0
  127. package/dist/core/shopify-scripts/index.mjs +14 -12
  128. package/dist/core/shopify-scripts/index.mjs.map +1 -1
  129. package/dist/core/shopify-scripts/initialize.d.mts +1 -0
  130. package/dist/core/shopify-scripts/initialize.mjs +10 -3
  131. package/dist/core/shopify-scripts/initialize.mjs.map +1 -1
  132. package/dist/core/shopify-scripts/types.d.mts +6 -0
  133. package/dist/core/url.mjs +21 -2
  134. package/dist/core/url.mjs.map +1 -1
  135. package/dist/customer-account/client.d.mts +128 -4
  136. package/dist/customer-account/client.mjs +27 -1
  137. package/dist/customer-account/client.mjs.map +1 -1
  138. package/dist/customer-account/errors.d.mts +46 -0
  139. package/dist/customer-account/errors.mjs +46 -0
  140. package/dist/customer-account/errors.mjs.map +1 -1
  141. package/dist/customer-account/graphql.d.mts +68 -0
  142. package/dist/customer-account/graphql.mjs +47 -0
  143. package/dist/customer-account/graphql.mjs.map +1 -1
  144. package/dist/customer-account/session.d.mts +114 -23
  145. package/dist/customer-account/session.mjs +27 -12
  146. package/dist/customer-account/session.mjs.map +1 -1
  147. package/dist/customer-account/type-resolver.d.mts +23 -0
  148. package/dist/customer-account-api-types.d.ts +570 -374
  149. package/dist/customer-account.schema.json +2981 -1527
  150. package/dist/development/client/client.mjs +2 -2
  151. package/dist/development/client/errors.d.mts +19 -19
  152. package/dist/development/client/errors.mjs +20 -20
  153. package/dist/development/client/errors.mjs.map +1 -1
  154. package/dist/development/client/types.d.mts +91 -10
  155. package/dist/development/core/analytics/cart-tracker.d.mts +14 -0
  156. package/dist/development/core/analytics/cart-tracker.mjs +15 -1
  157. package/dist/development/core/analytics/cart-tracker.mjs.map +1 -1
  158. package/dist/development/core/analytics/custom-consent.mjs +12 -0
  159. package/dist/development/core/analytics/custom-consent.mjs.map +1 -0
  160. package/dist/development/core/analytics/events.d.mts +7 -0
  161. package/dist/development/core/analytics/events.mjs +7 -0
  162. package/dist/development/core/analytics/events.mjs.map +1 -1
  163. package/dist/development/core/analytics/index.d.mts +1 -1
  164. package/dist/development/core/analytics/types.d.mts +152 -16
  165. package/dist/development/core/cart/actions.d.mts +47 -3
  166. package/dist/development/core/cart/actions.mjs +29 -0
  167. package/dist/development/core/cart/actions.mjs.map +1 -1
  168. package/dist/development/core/cart/attach-quantity-input.d.mts +26 -0
  169. package/dist/development/core/cart/attach-quantity-input.mjs +26 -0
  170. package/dist/development/core/cart/attach-quantity-input.mjs.map +1 -1
  171. package/dist/development/core/cart/cart.d.mts +106 -6
  172. package/dist/development/core/cart/cart.mjs +57 -6
  173. package/dist/development/core/cart/cart.mjs.map +1 -1
  174. package/dist/development/core/cart/cookie.d.mts +15 -0
  175. package/dist/development/core/cart/cookie.mjs +15 -0
  176. package/dist/development/core/cart/cookie.mjs.map +1 -1
  177. package/dist/development/core/cart/form.d.mts +61 -0
  178. package/dist/development/core/cart/form.mjs +18 -0
  179. package/dist/development/core/cart/form.mjs.map +1 -1
  180. package/dist/development/core/cart/get-cart.d.mts +43 -2
  181. package/dist/development/core/cart/get-cart.mjs +33 -0
  182. package/dist/development/core/cart/get-cart.mjs.map +1 -1
  183. package/dist/development/core/cart/index.d.mts +1 -1
  184. package/dist/development/core/cart/quantity.d.mts +17 -0
  185. package/dist/development/core/cart/quantity.mjs +17 -0
  186. package/dist/development/core/cart/quantity.mjs.map +1 -1
  187. package/dist/development/core/cart/queries.d.mts +345 -312
  188. package/dist/development/core/cart/queries.mjs +2 -1
  189. package/dist/development/core/cart/queries.mjs.map +1 -1
  190. package/dist/development/core/cart/server-handlers.d.mts +69 -0
  191. package/dist/development/core/cart/server-handlers.mjs +2 -10
  192. package/dist/development/core/cart/server-handlers.mjs.map +1 -1
  193. package/dist/development/core/cart/state.d.mts +133 -0
  194. package/dist/development/core/cart/state.mjs +8 -0
  195. package/dist/development/core/cart/state.mjs.map +1 -1
  196. package/dist/development/core/collection/collection.d.mts +18 -2
  197. package/dist/development/core/collection/collection.mjs +11 -0
  198. package/dist/development/core/collection/collection.mjs.map +1 -1
  199. package/dist/development/core/collection/index.d.mts +1 -1
  200. package/dist/development/core/collection/reconciler.d.mts +13 -4
  201. package/dist/development/core/collection/reconciler.mjs.map +1 -1
  202. package/dist/development/core/collection/state.d.mts +7 -2
  203. package/dist/development/core/collection/state.mjs.map +1 -1
  204. package/dist/development/core/collection/url.d.mts +3 -0
  205. package/dist/development/core/collection/url.mjs.map +1 -1
  206. package/dist/development/core/constants.mjs +1 -1
  207. package/dist/development/core/constants.mjs.map +1 -1
  208. package/dist/development/core/development.d.mts +5 -5
  209. package/dist/development/core/headers.mjs +2 -2
  210. package/dist/development/core/headers.mjs.map +1 -1
  211. package/dist/development/core/index.d.mts +4 -4
  212. package/dist/development/core/logging/logging.mjs.map +1 -1
  213. package/dist/development/core/money/format.mjs +6 -3
  214. package/dist/development/core/money/format.mjs.map +1 -1
  215. package/dist/development/core/observable.mjs +0 -3
  216. package/dist/development/core/observable.mjs.map +1 -1
  217. package/dist/development/core/predictive-search/form.d.mts +1 -0
  218. package/dist/development/core/predictive-search/form.mjs +1 -0
  219. package/dist/development/core/predictive-search/form.mjs.map +1 -1
  220. package/dist/development/core/predictive-search/index.d.mts +1 -1
  221. package/dist/development/core/predictive-search/queries.d.mts +38 -2
  222. package/dist/development/core/predictive-search/queries.mjs +7 -1
  223. package/dist/development/core/predictive-search/queries.mjs.map +1 -1
  224. package/dist/development/core/predictive-search/search.d.mts +43 -10
  225. package/dist/development/core/predictive-search/search.mjs +34 -0
  226. package/dist/development/core/predictive-search/search.mjs.map +1 -1
  227. package/dist/development/core/predictive-search/server-handlers.d.mts +31 -5
  228. package/dist/development/core/predictive-search/server-handlers.mjs +5 -3
  229. package/dist/development/core/predictive-search/server-handlers.mjs.map +1 -1
  230. package/dist/development/core/predictive-search/store.d.mts +3 -1
  231. package/dist/development/core/predictive-search/store.mjs.map +1 -1
  232. package/dist/development/core/predictive-search/url.d.mts +50 -8
  233. package/dist/development/core/predictive-search/url.mjs +9 -0
  234. package/dist/development/core/predictive-search/url.mjs.map +1 -1
  235. package/dist/development/core/product/form.d.mts +21 -2
  236. package/dist/development/core/product/form.mjs +13 -0
  237. package/dist/development/core/product/form.mjs.map +1 -1
  238. package/dist/development/core/product/index.d.mts +1 -1
  239. package/dist/development/core/product/options.d.mts +2 -2
  240. package/dist/development/core/product/options.mjs +2 -2
  241. package/dist/development/core/product/options.mjs.map +1 -1
  242. package/dist/development/core/product/product-form.d.mts +33 -1
  243. package/dist/development/core/product/product-form.mjs +30 -0
  244. package/dist/development/core/product/product-form.mjs.map +1 -1
  245. package/dist/development/core/product/state.d.mts +41 -0
  246. package/dist/development/core/product/url.d.mts +6 -0
  247. package/dist/development/core/product/url.mjs.map +1 -1
  248. package/dist/development/core/request-context.d.mts +8 -5
  249. package/dist/development/core/request-context.mjs +17 -39
  250. package/dist/development/core/request-context.mjs.map +1 -1
  251. package/dist/development/core/request-routing/handle-shopify-routes.mjs +4 -1
  252. package/dist/development/core/request-routing/handle-shopify-routes.mjs.map +1 -1
  253. package/dist/development/core/request-routing/interceptors/ajax-api.mjs +1 -1
  254. package/dist/development/core/request-routing/interceptors/api-proxy.mjs +1 -1
  255. package/dist/development/core/request-routing/interceptors/checkout.mjs +22 -6
  256. package/dist/development/core/request-routing/interceptors/checkout.mjs.map +1 -1
  257. package/dist/development/core/request-routing/interceptors/mcp-proxy.mjs +1 -1
  258. package/dist/development/core/request-routing/interceptors/proxy.mjs +36 -10
  259. package/dist/development/core/request-routing/interceptors/proxy.mjs.map +1 -1
  260. package/dist/development/core/request-routing/interceptors/query-param-redirect.mjs +5 -11
  261. package/dist/development/core/request-routing/interceptors/query-param-redirect.mjs.map +1 -1
  262. package/dist/development/core/request-routing/interceptors/sfapi-proxy.mjs +19 -1
  263. package/dist/development/core/request-routing/interceptors/sfapi-proxy.mjs.map +1 -1
  264. package/dist/development/core/request-routing/interceptors/ucp-mcp-proxy.mjs +35 -0
  265. package/dist/development/core/request-routing/interceptors/ucp-mcp-proxy.mjs.map +1 -0
  266. package/dist/development/core/request-routing/interceptors/well-known.mjs +1 -1
  267. package/dist/development/core/shopify-scripts/analytics.mjs +2 -2
  268. package/dist/development/core/shopify-scripts/analytics.mjs.map +1 -1
  269. package/dist/development/core/shopify-scripts/constants.mjs +4 -2
  270. package/dist/development/core/shopify-scripts/constants.mjs.map +1 -1
  271. package/dist/development/core/shopify-scripts/global.mjs +9 -4
  272. package/dist/development/core/shopify-scripts/global.mjs.map +1 -1
  273. package/dist/development/core/shopify-scripts/index.d.mts +1 -0
  274. package/dist/development/core/shopify-scripts/index.mjs +14 -12
  275. package/dist/development/core/shopify-scripts/index.mjs.map +1 -1
  276. package/dist/development/core/shopify-scripts/initialize.d.mts +1 -0
  277. package/dist/development/core/shopify-scripts/initialize.mjs +10 -3
  278. package/dist/development/core/shopify-scripts/initialize.mjs.map +1 -1
  279. package/dist/development/core/shopify-scripts/types.d.mts +6 -0
  280. package/dist/development/core/url.mjs +21 -2
  281. package/dist/development/core/url.mjs.map +1 -1
  282. package/dist/development/customer-account/session.d.mts +69 -13
  283. package/dist/development/customer-account/session.mjs +4 -0
  284. package/dist/development/customer-account/session.mjs.map +1 -1
  285. package/dist/development/globals.d.mts +6 -5
  286. package/dist/development/graphql/generated/graphql-env.d.mts +459 -16
  287. package/dist/development/graphql/generated/storefront-api-types.d.mts +1 -1
  288. package/dist/development/graphql/graphql.d.mts +33 -0
  289. package/dist/development/graphql/graphql.mjs +30 -0
  290. package/dist/development/graphql/graphql.mjs.map +1 -1
  291. package/dist/development/graphql/type-resolver.d.mts +14 -0
  292. package/dist/development/react/cart.d.mts +85 -14
  293. package/dist/development/react/cart.mjs +123 -3
  294. package/dist/development/react/cart.mjs.map +1 -1
  295. package/dist/development/react/collection.d.mts +2 -4
  296. package/dist/development/react/collection.mjs.map +1 -1
  297. package/dist/development/react/index.d.mts +8 -6
  298. package/dist/development/react/index.mjs +2 -2
  299. package/dist/development/react/predictive-search.d.mts +68 -7
  300. package/dist/development/react/predictive-search.mjs +54 -12
  301. package/dist/development/react/predictive-search.mjs.map +1 -1
  302. package/dist/development/react/product.d.mts +1 -0
  303. package/dist/development/react/product.mjs +5 -2
  304. package/dist/development/react/product.mjs.map +1 -1
  305. package/dist/development/react/shopify-scripts.mjs +1 -0
  306. package/dist/development/react/shopify-scripts.mjs.map +1 -1
  307. package/dist/development/vue/cart.d.mts +85 -6
  308. package/dist/development/vue/cart.mjs +95 -0
  309. package/dist/development/vue/cart.mjs.map +1 -1
  310. package/dist/development/vue/collection.d.mts +83 -5
  311. package/dist/development/vue/collection.mjs +52 -0
  312. package/dist/development/vue/collection.mjs.map +1 -1
  313. package/dist/development/vue/index.d.mts +6 -4
  314. package/dist/development/vue/predictive-search.d.mts +53 -6
  315. package/dist/development/vue/predictive-search.mjs +33 -0
  316. package/dist/development/vue/predictive-search.mjs.map +1 -1
  317. package/dist/development/vue/product.d.mts +6 -2
  318. package/dist/development/vue/product.mjs.map +1 -1
  319. package/dist/development/vue/shopify-scripts.d.mts +30 -3
  320. package/dist/development/vue/shopify-scripts.mjs +6 -0
  321. package/dist/development/vue/shopify-scripts.mjs.map +1 -1
  322. package/dist/globals.d.mts +6 -5
  323. package/dist/graphql/generated/customer-account-graphql-env.d.mts +1717 -1090
  324. package/dist/graphql/generated/graphql-env.d.mts +459 -16
  325. package/dist/graphql/generated/storefront-api-types.d.mts +1 -1
  326. package/dist/graphql/graphql.d.mts +33 -0
  327. package/dist/graphql/graphql.mjs +30 -0
  328. package/dist/graphql/graphql.mjs.map +1 -1
  329. package/dist/graphql/type-resolver.d.mts +14 -0
  330. package/dist/react/cart.d.mts +85 -14
  331. package/dist/react/cart.mjs +123 -3
  332. package/dist/react/cart.mjs.map +1 -1
  333. package/dist/react/collection.d.mts +2 -4
  334. package/dist/react/collection.mjs.map +1 -1
  335. package/dist/react/index.d.mts +8 -6
  336. package/dist/react/index.mjs +2 -2
  337. package/dist/react/predictive-search.d.mts +68 -7
  338. package/dist/react/predictive-search.mjs +54 -12
  339. package/dist/react/predictive-search.mjs.map +1 -1
  340. package/dist/react/product.d.mts +1 -0
  341. package/dist/react/product.mjs +5 -2
  342. package/dist/react/product.mjs.map +1 -1
  343. package/dist/react/shopify-scripts.mjs +1 -0
  344. package/dist/react/shopify-scripts.mjs.map +1 -1
  345. package/dist/storefront-api-types.d.ts +165 -20
  346. package/dist/storefront.schema.json +782 -57
  347. package/dist/vite/customer-account.mjs +191 -0
  348. package/dist/vite/customer-account.mjs.map +1 -0
  349. package/dist/vite/local-https.mjs +13 -29
  350. package/dist/vite/local-https.mjs.map +1 -1
  351. package/dist/vite/mkcert.mjs +1 -1
  352. package/dist/vue/cart.d.mts +85 -6
  353. package/dist/vue/cart.mjs +95 -0
  354. package/dist/vue/cart.mjs.map +1 -1
  355. package/dist/vue/collection.d.mts +83 -5
  356. package/dist/vue/collection.mjs +52 -0
  357. package/dist/vue/collection.mjs.map +1 -1
  358. package/dist/vue/index.d.mts +6 -4
  359. package/dist/vue/predictive-search.d.mts +53 -6
  360. package/dist/vue/predictive-search.mjs +33 -0
  361. package/dist/vue/predictive-search.mjs.map +1 -1
  362. package/dist/vue/product.d.mts +6 -2
  363. package/dist/vue/product.mjs.map +1 -1
  364. package/dist/vue/shopify-scripts.d.mts +31 -4
  365. package/dist/vue/shopify-scripts.mjs +6 -0
  366. package/dist/vue/shopify-scripts.mjs.map +1 -1
  367. package/package.json +5 -2
  368. package/skills/hydrogen-analytics/SKILL.md +6 -5
  369. package/skills/hydrogen-analytics/references/custom-consent.md +52 -0
  370. package/skills/hydrogen-analytics/references/react.md +1 -1
  371. package/skills/hydrogen-cart-metafields/SKILL.md +133 -0
  372. package/skills/hydrogen-cart-ui/SKILL.md +2 -1
  373. package/skills/hydrogen-customer-account/SKILL.md +3 -3
  374. package/skills/hydrogen-local-https/SKILL.md +22 -7
  375. package/skills/hydrogen-request-handlers/SKILL.md +5 -5
  376. package/skills/hydrogen-request-handlers/references/nuxt.md +0 -6
  377. package/skills/hydrogen-setup/references/analytics.md +24 -23
  378. package/skills/hydrogen-setup/steps/1-inspect-app.md +1 -1
  379. package/skills/hydrogen-setup/steps/11-verify.md +1 -0
  380. package/skills/hydrogen-setup/steps/2-scaffold.md +22 -1
  381. package/skills/hydrogen-smoke-test/SKILL.md +2 -2
  382. package/skills/hydrogen-storefront-client/SKILL.md +4 -2
  383. package/skills/hydrogen-variant-form/SKILL.md +10 -4
  384. package/ts-plugin/package.json +5 -0
  385. package/dist/core/shopify-scripts/consent.mjs +0 -17
  386. package/dist/core/shopify-scripts/consent.mjs.map +0 -1
  387. package/dist/core/shopify-scripts/deprecated-cookies.mjs +0 -97
  388. package/dist/core/shopify-scripts/deprecated-cookies.mjs.map +0 -1
  389. package/dist/core/shopify-scripts/utils/cookie-domain.mjs +0 -43
  390. package/dist/core/shopify-scripts/utils/cookie-domain.mjs.map +0 -1
  391. package/dist/core/shopify-scripts/utils/tracking-values.mjs +0 -65
  392. package/dist/core/shopify-scripts/utils/tracking-values.mjs.map +0 -1
  393. package/dist/core/shopify-scripts/utils/uuid.mjs +0 -17
  394. package/dist/core/shopify-scripts/utils/uuid.mjs.map +0 -1
  395. package/dist/development/core/shopify-scripts/consent.mjs +0 -17
  396. package/dist/development/core/shopify-scripts/consent.mjs.map +0 -1
  397. package/dist/development/core/shopify-scripts/deprecated-cookies.mjs +0 -97
  398. package/dist/development/core/shopify-scripts/deprecated-cookies.mjs.map +0 -1
  399. package/dist/development/core/shopify-scripts/utils/cookie-domain.mjs +0 -43
  400. package/dist/development/core/shopify-scripts/utils/cookie-domain.mjs.map +0 -1
  401. package/dist/development/core/shopify-scripts/utils/tracking-values.mjs +0 -65
  402. package/dist/development/core/shopify-scripts/utils/tracking-values.mjs.map +0 -1
  403. package/dist/development/core/shopify-scripts/utils/uuid.mjs +0 -17
  404. package/dist/development/core/shopify-scripts/utils/uuid.mjs.map +0 -1
@@ -201,33 +201,6 @@ export type ApplePayWalletConfig = {
201
201
  supportedNetworks: Array<Scalars["String"]["output"]>;
202
202
  };
203
203
 
204
- /** The details about the gift card used on the checkout. */
205
- export type AppliedGiftCard = Node & {
206
- __typename?: "AppliedGiftCard";
207
- /**
208
- * The amount deducted from the gift card.
209
- * @deprecated This field will be removed in a future version of the API.
210
- */
211
- amountUsed: MoneyV2;
212
- /**
213
- * The remaining amount on the gift card.
214
- * @deprecated This field will be removed in a future version of the API.
215
- */
216
- balance: MoneyV2;
217
- /** A globally-unique ID. */
218
- id: Scalars["ID"]["output"];
219
- /**
220
- * The last characters of the gift card.
221
- * @deprecated This field will be removed in a future version of the API.
222
- */
223
- lastCharacters: Scalars["String"]["output"];
224
- /**
225
- * The amount applied to the checkout in its currency.
226
- * @deprecated This field will be removed in a future version of the API.
227
- */
228
- presentmentAmountUsed: MoneyV2;
229
- };
230
-
231
204
  /**
232
205
  * A custom property. Attributes are used to store additional information about a Shopify resource, such as
233
206
  * products, customers, or orders. Attributes are stored as key-value pairs.
@@ -260,23 +233,6 @@ export type AutomaticDiscountApplication = DiscountApplication & {
260
233
  value: PricingValue;
261
234
  };
262
235
 
263
- /** A collection of available shipping rates for a checkout. */
264
- export type AvailableShippingRates = {
265
- __typename?: "AvailableShippingRates";
266
- /**
267
- * Whether the shipping rates are ready.
268
- * The `shippingRates` field is `null` when this value is `false`.
269
- * This field should be polled until its value becomes `true`.
270
- * @deprecated This field will be removed in a future version of the API.
271
- */
272
- ready: Scalars["Boolean"]["output"];
273
- /**
274
- * The fetched shipping rates. `null` until the `ready` field is `true`.
275
- * @deprecated This field will be removed in a future version of the API.
276
- */
277
- shippingRates?: Maybe<Array<ShippingRate>>;
278
- };
279
-
280
236
  /** The type of bank account holder. */
281
237
  export type BankAccountHolderType =
282
238
  /** A company account holder. */
@@ -461,6 +417,28 @@ export type BuyerExperienceConfiguration = {
461
417
  paymentTermsTemplate?: Maybe<PaymentTermsTemplate>;
462
418
  };
463
419
 
420
+ /** The input fields to calculate the financial outcome of a requested order edit. */
421
+ export type CalculateRequestedOrderEditInput = {
422
+ /** The line item changes from the order to include in the edit calculation, grouped by the type of change. */
423
+ lineItems: CalculateRequestedOrderEditLineItemsInput;
424
+ /** The ID of the order to calculate the requested order edit for. */
425
+ orderId: Scalars["ID"]["input"];
426
+ };
427
+
428
+ /** The input fields for a line item removal on a calculated requested order edit. */
429
+ export type CalculateRequestedOrderEditLineItemRemovalInput = {
430
+ /** The ID of the line item to be removed. */
431
+ lineItemId: Scalars["ID"]["input"];
432
+ /** The quantity of the item to be removed. Quantity can't exceed the line item's unfulfilled quantity. */
433
+ quantity: Scalars["Int"]["input"];
434
+ };
435
+
436
+ /** The input fields for the line item changes in an edit calculation, grouped by the type of change. */
437
+ export type CalculateRequestedOrderEditLineItemsInput = {
438
+ /** The line items to be removed in the edit calculation. */
439
+ removals: Array<CalculateRequestedOrderEditLineItemRemovalInput>;
440
+ };
441
+
464
442
  /** The input fields to calculate return amounts associated with an order. */
465
443
  export type CalculateReturnInput = {
466
444
  /** The ID of the order that will be returned. */
@@ -477,6 +455,75 @@ export type CalculateReturnLineItemInput = {
477
455
  quantity: Scalars["Int"]["input"];
478
456
  };
479
457
 
458
+ /** The calculated financial outcome of a requested order edit based on the line items requested for editing. */
459
+ export type CalculatedRequestedOrderEdit = {
460
+ __typename?: "CalculatedRequestedOrderEdit";
461
+ /** A list of line items being processed for a requested order edit. Use `lineItems` instead. */
462
+ editLineItems: CalculatedRequestedOrderEditLineItemConnection;
463
+ /** A breakdown of the monetary values for the calculated edit. */
464
+ financialSummary: RequestedOrderEditFinancialSummary;
465
+ /** The line item changes being processed for a requested order edit, grouped by the type of change. */
466
+ lineItems: CalculatedRequestedOrderEditLineItems;
467
+ };
468
+
469
+ /** The calculated financial outcome of a requested order edit based on the line items requested for editing. */
470
+ export type CalculatedRequestedOrderEditEditLineItemsArgs = {
471
+ after?: InputMaybe<Scalars["String"]["input"]>;
472
+ before?: InputMaybe<Scalars["String"]["input"]>;
473
+ first?: InputMaybe<Scalars["Int"]["input"]>;
474
+ last?: InputMaybe<Scalars["Int"]["input"]>;
475
+ reverse?: InputMaybe<Scalars["Boolean"]["input"]>;
476
+ };
477
+
478
+ /** The line item being processed for a requested order edit and its calculated monetary values. */
479
+ export type CalculatedRequestedOrderEditLineItem = {
480
+ __typename?: "CalculatedRequestedOrderEditLineItem";
481
+ /** The line item being processed for a requested order edit. */
482
+ lineItem: LineItem;
483
+ /** The quantity being edited. */
484
+ quantity: Scalars["Int"]["output"];
485
+ /** The subtotal of the edit line item. */
486
+ subtotalSet: MoneyBag;
487
+ /** The total tax of the edit line item. */
488
+ totalTaxSet: MoneyBag;
489
+ };
490
+
491
+ /** An auto-generated type for paginating through multiple CalculatedRequestedOrderEditLineItems. */
492
+ export type CalculatedRequestedOrderEditLineItemConnection = {
493
+ __typename?: "CalculatedRequestedOrderEditLineItemConnection";
494
+ /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */
495
+ edges: Array<CalculatedRequestedOrderEditLineItemEdge>;
496
+ /** A list of nodes that are contained in CalculatedRequestedOrderEditLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
497
+ nodes: Array<CalculatedRequestedOrderEditLineItem>;
498
+ /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
499
+ pageInfo: PageInfo;
500
+ };
501
+
502
+ /** An auto-generated type which holds one CalculatedRequestedOrderEditLineItem and a cursor during pagination. */
503
+ export type CalculatedRequestedOrderEditLineItemEdge = {
504
+ __typename?: "CalculatedRequestedOrderEditLineItemEdge";
505
+ /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */
506
+ cursor: Scalars["String"]["output"];
507
+ /** The item at the end of CalculatedRequestedOrderEditLineItemEdge. */
508
+ node: CalculatedRequestedOrderEditLineItem;
509
+ };
510
+
511
+ /** The line item changes on a calculated requested order edit, grouped by the type of change. */
512
+ export type CalculatedRequestedOrderEditLineItems = {
513
+ __typename?: "CalculatedRequestedOrderEditLineItems";
514
+ /** The line items being removed in the calculated edit. */
515
+ removals: CalculatedRequestedOrderEditLineItemConnection;
516
+ };
517
+
518
+ /** The line item changes on a calculated requested order edit, grouped by the type of change. */
519
+ export type CalculatedRequestedOrderEditLineItemsRemovalsArgs = {
520
+ after?: InputMaybe<Scalars["String"]["input"]>;
521
+ before?: InputMaybe<Scalars["String"]["input"]>;
522
+ first?: InputMaybe<Scalars["Int"]["input"]>;
523
+ last?: InputMaybe<Scalars["Int"]["input"]>;
524
+ reverse?: InputMaybe<Scalars["Boolean"]["input"]>;
525
+ };
526
+
480
527
  /** The calculated financial outcome of a return based on the line items requested for return.Includes the monetary values of the line items, along with applicable taxes, discounts, and otherfees on the order. Financial summary may include return fees depending onthe [return rules](https://help.shopify.com/manual/fulfillment/managing-orders/returns/return-rules)at the time the order was placed. */
481
528
  export type CalculatedReturn = {
482
529
  __typename?: "CalculatedReturn";
@@ -539,210 +586,6 @@ export type CardPaymentDetails = {
539
586
  last4?: Maybe<Scalars["String"]["output"]>;
540
587
  };
541
588
 
542
- /** A container for information required to checkout items and pay. Apps using the Customer Account API must meet the protected customer data [requirements](https://shopify.dev/docs/apps/launch/protected-customer-data). */
543
- export type Checkout = Node & {
544
- __typename?: "Checkout";
545
- /**
546
- * The gift cards used on the checkout.
547
- * @deprecated This field will be removed in a future version of the API.
548
- */
549
- appliedGiftCards: Array<AppliedGiftCard>;
550
- /**
551
- * The available shipping rates for this Checkout.
552
- * Should only be used when checkout `requiresShipping` is `true` and
553
- * the shipping address is valid.
554
- * @deprecated This field will be removed in a future version of the API.
555
- */
556
- availableShippingRates?: Maybe<AvailableShippingRates>;
557
- /**
558
- * The date and time when the checkout was created.
559
- * @deprecated This field will be removed in a future version of the API.
560
- */
561
- createdAt: Scalars["DateTime"]["output"];
562
- /**
563
- * The currency code for the checkout.
564
- * @deprecated This field will be removed in a future version of the API.
565
- */
566
- currencyCode: CurrencyCode;
567
- /**
568
- * The extra information added to the checkout.
569
- * @deprecated This field will be removed in a future version of the API.
570
- */
571
- customAttributes: Array<Attribute>;
572
- /**
573
- * The discounts applied on the checkout.
574
- * @deprecated This field will be removed in a future version of the API.
575
- */
576
- discountApplications: DiscountApplicationConnection;
577
- /**
578
- * The email associated with this checkout.
579
- * @deprecated This field will be removed in a future version of the API.
580
- */
581
- email?: Maybe<Scalars["String"]["output"]>;
582
- /** A globally-unique ID. */
583
- id: Scalars["ID"]["output"];
584
- /**
585
- * A list of line item objects, each containing information about an item in the checkout.
586
- * @deprecated This field will be removed in a future version of the API.
587
- */
588
- lineItems: CheckoutLineItemConnection;
589
- /**
590
- * The sum of all the prices of all the items in the checkout,
591
- * excluding duties, taxes, shipping, and discounts.
592
- * @deprecated This field will be removed in a future version of the API.
593
- */
594
- lineItemsSubtotalPrice: MoneyV2;
595
- /**
596
- * The note associated with the checkout.
597
- * @deprecated This field will be removed in a future version of the API.
598
- */
599
- note?: Maybe<Scalars["String"]["output"]>;
600
- /**
601
- * The amount left to be paid. This is equal to the cost of the line items, duties, taxes, and shipping, minus discounts and gift cards.
602
- * @deprecated This field will be removed in a future version of the API.
603
- */
604
- paymentDue: MoneyV2;
605
- /**
606
- * Whether the Checkout is ready and can be completed. Checkouts may
607
- * have asynchronous operations that can take time to finish. If you want
608
- * to complete a checkout or ensure all the fields are populated and up to
609
- * date, polling is required until the value is true.
610
- * @deprecated This field will be removed in a future version of the API.
611
- */
612
- ready: Scalars["Boolean"]["output"];
613
- /**
614
- * Whether the fulfillment requires shipping.
615
- * @deprecated This field will be removed in a future version of the API.
616
- */
617
- requiresShipping: Scalars["Boolean"]["output"];
618
- /**
619
- * The address where the line items will be shipped.
620
- * @deprecated This field will be removed in a future version of the API.
621
- */
622
- shippingAddress?: Maybe<CustomerMailingAddress>;
623
- /**
624
- * The discounts allocated to the shipping line by discount applications.
625
- * @deprecated This field will be removed in a future version of the API.
626
- */
627
- shippingDiscountAllocations: Array<DiscountAllocation>;
628
- /**
629
- * The selected shipping rate, transitioned to a `shipping_line` object.
630
- * @deprecated This field will be removed in a future version of the API.
631
- */
632
- shippingLine?: Maybe<ShippingRate>;
633
- /**
634
- * The price at checkout before duties, shipping, and taxes.
635
- * @deprecated This field will be removed in a future version of the API.
636
- */
637
- subtotalPrice: MoneyV2;
638
- /**
639
- * Whether the checkout is tax exempt.
640
- * @deprecated This field will be removed in a future version of the API.
641
- */
642
- taxExempt: Scalars["Boolean"]["output"];
643
- /**
644
- * Whether taxes are included in the line item and shipping line prices.
645
- * @deprecated This field will be removed in a future version of the API.
646
- */
647
- taxesIncluded: Scalars["Boolean"]["output"];
648
- /**
649
- * The sum of all the duties applied to the line items in the checkout.
650
- * @deprecated This field will be removed in a future version of the API.
651
- */
652
- totalDuties?: Maybe<MoneyV2>;
653
- /**
654
- * The sum of all the prices of all the items in the checkout,
655
- * duties, taxes, and discounts included.
656
- * @deprecated This field will be removed in a future version of the API.
657
- */
658
- totalPrice: MoneyV2;
659
- /**
660
- * The sum of all the taxes applied to the line items and shipping lines in the checkout.
661
- * @deprecated This field will be removed in a future version of the API.
662
- */
663
- totalTax: MoneyV2;
664
- /**
665
- * The URL for the checkout, accessible from the web.
666
- * @deprecated This field will be removed in a future version of the API.
667
- */
668
- webUrl: Scalars["URL"]["output"];
669
- };
670
-
671
- /** A container for information required to checkout items and pay. Apps using the Customer Account API must meet the protected customer data [requirements](https://shopify.dev/docs/apps/launch/protected-customer-data). */
672
- export type CheckoutDiscountApplicationsArgs = {
673
- after?: InputMaybe<Scalars["String"]["input"]>;
674
- before?: InputMaybe<Scalars["String"]["input"]>;
675
- first?: InputMaybe<Scalars["Int"]["input"]>;
676
- last?: InputMaybe<Scalars["Int"]["input"]>;
677
- reverse?: InputMaybe<Scalars["Boolean"]["input"]>;
678
- };
679
-
680
- /** A container for information required to checkout items and pay. Apps using the Customer Account API must meet the protected customer data [requirements](https://shopify.dev/docs/apps/launch/protected-customer-data). */
681
- export type CheckoutLineItemsArgs = {
682
- after?: InputMaybe<Scalars["String"]["input"]>;
683
- before?: InputMaybe<Scalars["String"]["input"]>;
684
- first?: InputMaybe<Scalars["Int"]["input"]>;
685
- last?: InputMaybe<Scalars["Int"]["input"]>;
686
- reverse?: InputMaybe<Scalars["Boolean"]["input"]>;
687
- };
688
-
689
- /** A line item in the checkout, grouped by variant and attributes. */
690
- export type CheckoutLineItem = Node & {
691
- __typename?: "CheckoutLineItem";
692
- /**
693
- * An array of Key-Value pairs providing extra information about the line item.
694
- * @deprecated This field will be removed in a future version of the API.
695
- */
696
- customAttributes: Array<Attribute>;
697
- /** A globally-unique ID. */
698
- id: Scalars["ID"]["output"];
699
- /**
700
- * The price of the line item.
701
- * @deprecated This field will be removed in a future version of the API.
702
- */
703
- price?: Maybe<MoneyV2>;
704
- /**
705
- * The quantity of the line item.
706
- * @deprecated This field will be removed in a future version of the API.
707
- */
708
- quantity: Scalars["Int"]["output"];
709
- /**
710
- * The title of the line item. Defaults to the product's title.
711
- * @deprecated This field will be removed in a future version of the API.
712
- */
713
- title: Scalars["String"]["output"];
714
- /**
715
- * The unit price of the line item.
716
- * @deprecated This field will be removed in a future version of the API.
717
- */
718
- unitPrice?: Maybe<MoneyV2>;
719
- /**
720
- * The name of the variant.
721
- * @deprecated This field will be removed in a future version of the API.
722
- */
723
- variantTitle?: Maybe<Scalars["String"]["output"]>;
724
- };
725
-
726
- /** An auto-generated type for paginating through multiple CheckoutLineItems. */
727
- export type CheckoutLineItemConnection = {
728
- __typename?: "CheckoutLineItemConnection";
729
- /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */
730
- edges: Array<CheckoutLineItemEdge>;
731
- /** A list of nodes that are contained in CheckoutLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
732
- nodes: Array<CheckoutLineItem>;
733
- /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
734
- pageInfo: PageInfo;
735
- };
736
-
737
- /** An auto-generated type which holds one CheckoutLineItem and a cursor during pagination. */
738
- export type CheckoutLineItemEdge = {
739
- __typename?: "CheckoutLineItemEdge";
740
- /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */
741
- cursor: Scalars["String"]["output"];
742
- /** The item at the end of CheckoutLineItemEdge. */
743
- node: CheckoutLineItem;
744
- };
745
-
746
589
  /** Represents a company's information. */
747
590
  export type Company = HasMetafields &
748
591
  Node & {
@@ -1113,10 +956,12 @@ export type CompanyLocation = HasMetafields &
1113
956
  /** A globally-unique ID. */
1114
957
  id: Scalars["ID"]["output"];
1115
958
  /**
1116
- * The market that includes the location's shipping address. If the shipping address is empty, the shop's primary market is returned.
959
+ * The market that applies to the location's shipping address country. In cases where multiple markets match, this returns the most-specific country region market. If the shipping address is empty, the shop's backup region market is returned.
1117
960
  * @deprecated This `market` field will be removed in a future version of the API.
1118
961
  */
1119
962
  market: Market;
963
+ /** The currency for the company location's market, derived from the location's shipping address. When the location has no shipping address, or no market currency matches the address, this falls back to the shop's currency. Use it to choose which store credit balance to present as the primary one. */
964
+ marketCurrencyCode: CurrencyCode;
1120
965
  /** A metafield found by namespace and key. */
1121
966
  metafield?: Maybe<Metafield>;
1122
967
  /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
@@ -2164,6 +2009,8 @@ export type CurrencyCode =
2164
2009
  | "XAF"
2165
2010
  /** East Caribbean Dollar (XCD). */
2166
2011
  | "XCD"
2012
+ /** Caribbean Guilder (XCG). */
2013
+ | "XCG"
2167
2014
  /** West African CFA franc (XOF). */
2168
2015
  | "XOF"
2169
2016
  /** CFP Franc (XPF). */
@@ -2212,13 +2059,10 @@ export type Customer = HasMetafields &
2212
2059
  id: Scalars["ID"]["output"];
2213
2060
  /** The URL to the avatar image of the customer. */
2214
2061
  imageUrl: Scalars["URL"]["output"];
2215
- /**
2216
- * The customer's most recently updated, incomplete checkout.
2217
- * @deprecated This field will be removed in a future version of the API.
2218
- */
2219
- lastIncompleteCheckout?: Maybe<Checkout>;
2220
2062
  /** The last name of the customer. */
2221
2063
  lastName?: Maybe<Scalars["String"]["output"]>;
2064
+ /** The currency for the customer's selected country market, derived from the buyer context (set via the `@inContext` directive). When no buyer context is present (no `@inContext` directive) or no market currency matches the context, this falls back to the shop's currency. Use it to choose which store credit balance to present as the primary one. */
2065
+ marketCurrencyCode: CurrencyCode;
2222
2066
  /** A metafield found by namespace and key. */
2223
2067
  metafield?: Maybe<Metafield>;
2224
2068
  /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
@@ -2375,6 +2219,8 @@ export type CustomerAddress = Node & {
2375
2219
  company?: Maybe<Scalars["String"]["output"]>;
2376
2220
  /** The name of the country. */
2377
2221
  country?: Maybe<Scalars["String"]["output"]>;
2222
+ /** The two-letter code for the country of the address. */
2223
+ countryCode?: Maybe<CountryCode>;
2378
2224
  /** The first name of the customer. */
2379
2225
  firstName?: Maybe<Scalars["String"]["output"]>;
2380
2226
  /** A formatted version of the address, customized by the provided arguments. */
@@ -2399,6 +2245,7 @@ export type CustomerAddress = Node & {
2399
2245
  * The two-letter code for the country of the address.
2400
2246
  *
2401
2247
  * For example, US.
2248
+ * @deprecated Use countryCode instead.
2402
2249
  */
2403
2250
  territoryCode?: Maybe<CountryCode>;
2404
2251
  /** The zip or postal code of the address. */
@@ -2470,18 +2317,14 @@ export type CustomerAddressInput = {
2470
2317
  city?: InputMaybe<Scalars["String"]["input"]>;
2471
2318
  /** The name of the customer's company or organization. */
2472
2319
  company?: InputMaybe<Scalars["String"]["input"]>;
2320
+ /** The two-letter code for the country of the address. */
2321
+ countryCode?: InputMaybe<CountryCode>;
2473
2322
  /** The first name of the customer. */
2474
2323
  firstName?: InputMaybe<Scalars["String"]["input"]>;
2475
2324
  /** The last name of the customer. */
2476
2325
  lastName?: InputMaybe<Scalars["String"]["input"]>;
2477
2326
  /** The customer's unique phone number, formatted using E.164 standard. For example, _+16135551111_. */
2478
2327
  phoneNumber?: InputMaybe<Scalars["String"]["input"]>;
2479
- /**
2480
- * The country code, in ISO 3166-1 format. Accepts either a two-letter [alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2),
2481
- * a three-letter [alpha-3 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3), or a three-digit [numeric code](https://en.wikipedia.org/wiki/ISO_3166-1_numeric).
2482
- * For example, `US`, `USA`, or `840` represents the United States.
2483
- */
2484
- territoryCode?: InputMaybe<Scalars["String"]["input"]>;
2485
2328
  /** The zip or postal code of the address. */
2486
2329
  zip?: InputMaybe<Scalars["String"]["input"]>;
2487
2330
  /**
@@ -2647,99 +2490,6 @@ export type CustomerEmailMarketingUnsubscribePayload = {
2647
2490
  userErrors: Array<UserErrorsCustomerEmailMarketingUserErrors>;
2648
2491
  };
2649
2492
 
2650
- /**
2651
- * Represents a customer's mailing address.
2652
- * For example, a customer's default address and an order's billing address are both mailing addresses.
2653
- */
2654
- export type CustomerMailingAddress = Node & {
2655
- __typename?: "CustomerMailingAddress";
2656
- /** The first line of the address. Typically the street address or PO Box number. */
2657
- address1?: Maybe<Scalars["String"]["output"]>;
2658
- /** The second line of the address. This is typically the apartment, suite, or unit number. */
2659
- address2?: Maybe<Scalars["String"]["output"]>;
2660
- /** The name of the city, district, village, or town. */
2661
- city?: Maybe<Scalars["String"]["output"]>;
2662
- /** The name of the customer's company or organization. */
2663
- company?: Maybe<Scalars["String"]["output"]>;
2664
- /** The name of the country. */
2665
- country?: Maybe<Scalars["String"]["output"]>;
2666
- /**
2667
- * The two-letter code for the country of the address.
2668
- *
2669
- * For example, US.
2670
- */
2671
- countryCode?: Maybe<Scalars["String"]["output"]>;
2672
- /**
2673
- * The two-letter code for the country of the address.
2674
- *
2675
- * For example, US.
2676
- */
2677
- countryCodeV2?: Maybe<CountryCode>;
2678
- /** Indicates whether the address is the default address or not. */
2679
- defaultAddress: Scalars["Boolean"]["output"];
2680
- /** The first name of the customer. */
2681
- firstName?: Maybe<Scalars["String"]["output"]>;
2682
- /** A formatted version of the address, customized by the provided arguments. */
2683
- formatted: Array<Scalars["String"]["output"]>;
2684
- /** A comma-separated list of the values for city, province, and country. */
2685
- formattedArea?: Maybe<Scalars["String"]["output"]>;
2686
- /** A globally-unique ID. */
2687
- id: Scalars["ID"]["output"];
2688
- /** The last name of the customer. */
2689
- lastName?: Maybe<Scalars["String"]["output"]>;
2690
- /** The latitude coordinate of the customer's address. */
2691
- latitude?: Maybe<Scalars["Float"]["output"]>;
2692
- /** The longitude coordinate of the customer's address. */
2693
- longitude?: Maybe<Scalars["Float"]["output"]>;
2694
- /** The full name of the customer, based on firstName and lastName. */
2695
- name?: Maybe<Scalars["String"]["output"]>;
2696
- /**
2697
- * The customer's unique phone number.
2698
- *
2699
- * Formatted using E.164 standard. For example, _+16135551111_.
2700
- */
2701
- phone?: Maybe<Scalars["String"]["output"]>;
2702
- /**
2703
- * The customer's unique phone number.
2704
- *
2705
- * Formatted using E.164 standard. For example, _+16135551111_.
2706
- */
2707
- phoneNumber?: Maybe<Scalars["String"]["output"]>;
2708
- /** The region of the address, such as the province, state, or district. */
2709
- province?: Maybe<Scalars["String"]["output"]>;
2710
- /**
2711
- * The alphanumeric code for the region.
2712
- *
2713
- * For example, ON.
2714
- */
2715
- provinceCode?: Maybe<Scalars["String"]["output"]>;
2716
- /**
2717
- * The two-letter code for the country of the address.
2718
- *
2719
- * For example, US.
2720
- */
2721
- territoryCode?: Maybe<CountryCode>;
2722
- /** Indicates whether the address was geolocated and is a valid address. The field returns `false` if the verification failed, or if the job to verify this address was never started. */
2723
- verified: Scalars["Boolean"]["output"];
2724
- /** The zip or postal code of the address. */
2725
- zip?: Maybe<Scalars["String"]["output"]>;
2726
- /**
2727
- * The alphanumeric code for the region.
2728
- *
2729
- * For example, ON.
2730
- */
2731
- zoneCode?: Maybe<Scalars["String"]["output"]>;
2732
- };
2733
-
2734
- /**
2735
- * Represents a customer's mailing address.
2736
- * For example, a customer's default address and an order's billing address are both mailing addresses.
2737
- */
2738
- export type CustomerMailingAddressFormattedArgs = {
2739
- withCompany?: InputMaybe<Scalars["Boolean"]["input"]>;
2740
- withName?: InputMaybe<Scalars["Boolean"]["input"]>;
2741
- };
2742
-
2743
2493
  /** The input fields to create or update a mailing address. */
2744
2494
  export type CustomerMailingAddressInput = {
2745
2495
  /** The first line of the address. Typically the street address or PO Box number. */
@@ -2769,13 +2519,52 @@ export type CustomerMailingAddressInput = {
2769
2519
  zoneCode?: InputMaybe<Scalars["String"]["input"]>;
2770
2520
  };
2771
2521
 
2522
+ /**
2523
+ * The marketing consent information for a customer on a specific marketing channel. Channel-specific types like
2524
+ * [`CustomerWhatsAppMarketingConsent`](https://shopify.dev/docs/api/customer/latest/objects/CustomerWhatsAppMarketingConsent) implement this interface.
2525
+ */
2526
+ export type CustomerMarketingConsent = {
2527
+ /** The customer's current [marketing consent state](https://shopify.dev/docs/api/customer/latest/enums/MarketingConsentState) for this channel. */
2528
+ state: MarketingConsentState;
2529
+ };
2530
+
2531
+ /**
2532
+ * The input fields for setting marketing consent on a customer's marketing channel. Channel-specific consent
2533
+ * mutations like [`customerWhatsAppMarketingConsentUpdate`](https://shopify.dev/docs/api/customer/latest/mutations/customerWhatsAppMarketingConsentUpdate) use this input.
2534
+ */
2535
+ export type CustomerMarketingConsentInput = {
2536
+ /** The [marketing consent state](https://shopify.dev/docs/api/customer/latest/enums/MarketingConsentState) to set for the customer on this channel. */
2537
+ state: MarketingConsentState;
2538
+ };
2539
+
2772
2540
  /** Defines the phone number of the customer. Apps using the Customer Account API must meet the protected customer data [requirements](https://shopify.dev/docs/apps/launch/protected-customer-data). */
2773
2541
  export type CustomerPhoneNumber = {
2774
2542
  __typename?: "CustomerPhoneNumber";
2775
- /** Indicates whether the customer has subscribed to SMS marketing material. */
2543
+ /**
2544
+ * Indicates whether the customer has subscribed to SMS marketing material.
2545
+ * @deprecated Use `smsMarketingConsent.state` instead.
2546
+ */
2776
2547
  marketingState: SmsMarketingState;
2777
2548
  /** The customer's phone number. */
2778
2549
  phoneNumber: Scalars["String"]["output"];
2550
+ /** The [SMS marketing consent](https://shopify.dev/docs/api/customer/latest/objects/CustomerSmsMarketingConsent) information for the customer's phone number. */
2551
+ smsMarketingConsent: CustomerSmsMarketingConsent;
2552
+ /**
2553
+ * The [WhatsApp marketing consent](https://shopify.dev/docs/api/customer/latest/objects/CustomerWhatsAppMarketingConsent) information for the customer's phone number.
2554
+ * Update it with the [`customerWhatsAppMarketingConsentUpdate`](https://shopify.dev/docs/api/customer/latest/mutations/customerWhatsAppMarketingConsentUpdate) mutation.
2555
+ */
2556
+ whatsAppMarketingConsent: CustomerWhatsAppMarketingConsent;
2557
+ };
2558
+
2559
+ /**
2560
+ * The SMS marketing consent information for a
2561
+ * [customer phone number](https://shopify.dev/docs/api/customer/latest/objects/CustomerPhoneNumber).
2562
+ * Implements the [`CustomerMarketingConsent`](https://shopify.dev/docs/api/customer/latest/interfaces/CustomerMarketingConsent) interface.
2563
+ */
2564
+ export type CustomerSmsMarketingConsent = CustomerMarketingConsent & {
2565
+ __typename?: "CustomerSmsMarketingConsent";
2566
+ /** The customer's current [marketing consent state](https://shopify.dev/docs/api/customer/latest/enums/MarketingConsentState) for this channel. */
2567
+ state: MarketingConsentState;
2779
2568
  };
2780
2569
 
2781
2570
  /** The input fields to update a customer's personal information. */
@@ -2795,6 +2584,33 @@ export type CustomerUpdatePayload = {
2795
2584
  userErrors: Array<UserErrorsCustomerUserErrors>;
2796
2585
  };
2797
2586
 
2587
+ /**
2588
+ * The WhatsApp marketing consent information for a
2589
+ * [customer phone number](https://shopify.dev/docs/api/customer/latest/objects/CustomerPhoneNumber).
2590
+ * Implements the [`CustomerMarketingConsent`](https://shopify.dev/docs/api/customer/latest/interfaces/CustomerMarketingConsent) interface.
2591
+ * Use the [`customerWhatsAppMarketingConsentUpdate`](https://shopify.dev/docs/api/customer/latest/mutations/customerWhatsAppMarketingConsentUpdate) mutation to update it.
2592
+ */
2593
+ export type CustomerWhatsAppMarketingConsent = CustomerMarketingConsent & {
2594
+ __typename?: "CustomerWhatsAppMarketingConsent";
2595
+ /** The customer's current [marketing consent state](https://shopify.dev/docs/api/customer/latest/enums/MarketingConsentState) for this channel. */
2596
+ state: MarketingConsentState;
2597
+ };
2598
+
2599
+ /** The input fields to update the current customer's WhatsApp marketing consent information. */
2600
+ export type CustomerWhatsAppMarketingConsentUpdateInput = {
2601
+ /** The WhatsApp marketing consent state to set for the current customer. */
2602
+ whatsAppMarketingConsent: CustomerMarketingConsentInput;
2603
+ };
2604
+
2605
+ /** Return type for `customerWhatsAppMarketingConsentUpdate` mutation. */
2606
+ export type CustomerWhatsAppMarketingConsentUpdatePayload = {
2607
+ __typename?: "CustomerWhatsAppMarketingConsentUpdatePayload";
2608
+ /** The [customer phone number](https://shopify.dev/docs/api/customer/latest/objects/CustomerPhoneNumber) with the updated WhatsApp marketing consent information. */
2609
+ customerPhoneNumber?: Maybe<CustomerPhoneNumber>;
2610
+ /** The list of errors that occurred from executing the mutation. */
2611
+ userErrors: Array<UserErrorsCustomerMarketingConsentError>;
2612
+ };
2613
+
2798
2614
  /** The different types of delivery option groups. */
2799
2615
  export type DeliveryOptionGroupType =
2800
2616
  /** A one-time purchase. */
@@ -2949,6 +2765,18 @@ export type Domain = Node & {
2949
2765
  /** A draft order for the customer. Any fields related to money are in the presentment currency. Apps using the Customer Account API must meet the protected customer data [requirements](https://shopify.dev/docs/apps/launch/protected-customer-data). */
2950
2766
  export type DraftOrder = Node & {
2951
2767
  __typename?: "DraftOrder";
2768
+ /**
2769
+ * The amount due later.
2770
+ * When there are payment terms, this is the total price minus the deposit amount (if any).
2771
+ * When there are no payment terms, this is 0.
2772
+ */
2773
+ amountDueLater: MoneyV2;
2774
+ /**
2775
+ * The amount due now.
2776
+ * When there are payment terms this is the value of the deposit (0 by default).
2777
+ * When there are no payment terms, this is the total price.
2778
+ */
2779
+ amountDueNow: MoneyV2;
2952
2780
  /** The billing address of the customer. */
2953
2781
  billingAddress?: Maybe<CustomerAddress>;
2954
2782
  /** Whether the customer who made the draft order has an associated enabled contact. */
@@ -2959,6 +2787,8 @@ export type DraftOrder = Node & {
2959
2787
  currencyCode: CurrencyCode;
2960
2788
  /** The customer who placed the order. */
2961
2789
  customer?: Maybe<Customer>;
2790
+ /** The portion required to be paid at checkout. */
2791
+ deposit?: Maybe<DepositConfiguration>;
2962
2792
  /** List of discounts applied to the draft order. */
2963
2793
  discountApplications: DiscountApplicationConnection;
2964
2794
  /** The discount information for the draft order. */
@@ -3003,6 +2833,8 @@ export type DraftOrder = Node & {
3003
2833
  taxExempt: Scalars["Boolean"]["output"];
3004
2834
  /** Whether the line item prices include taxes. */
3005
2835
  taxesIncluded: Scalars["Boolean"]["output"];
2836
+ /** The total cost of shipping after discounts. */
2837
+ totalDiscountedShipping: MoneyV2;
3006
2838
  /** The total price of line items for this draft order. */
3007
2839
  totalLineItemsPrice: MoneyV2;
3008
2840
  /** The total amount of the draft order (includes taxes, shipping charges, and discounts). */
@@ -3136,7 +2968,7 @@ export type DraftOrderLineItem = Node & {
3136
2968
  discountedTotal: MoneyV2;
3137
2969
  /**
3138
2970
  * The discounted total divided by the quantity, resulting in the value of the discount per unit.
3139
- * @deprecated Please use `approximateDiscountedUnitPrice` instead. This field will be removed in 2026-07.
2971
+ * @deprecated Please use `approximateDiscountedUnitPrice` instead.
3140
2972
  */
3141
2973
  discountedUnitPrice: MoneyV2;
3142
2974
  /** A globally-unique ID. */
@@ -3155,6 +2987,8 @@ export type DraftOrderLineItem = Node & {
3155
2987
  originalTotal: MoneyV2;
3156
2988
  /** The price of the variant without any discounts applied. */
3157
2989
  originalUnitPrice: MoneyV2;
2990
+ /** The name of the variant, localized to the buyer's language. Falls back to the variant title when no localized value is stored. */
2991
+ presentmentVariantTitle?: Maybe<Scalars["String"]["output"]>;
3158
2992
  /** The quantity of this variant item in the draft order. */
3159
2993
  quantity: Scalars["Int"]["output"];
3160
2994
  /** Whether the variant requires physical shipping. */
@@ -3266,6 +3100,35 @@ export type DutySale = Node &
3266
3100
  totalTaxAmount: MoneyV2;
3267
3101
  };
3268
3102
 
3103
+ /** A line item with at least one unit that is eligible for editing (e.g. cancellation of unfulfilled items). */
3104
+ export type EditableLineItem = {
3105
+ __typename?: "EditableLineItem";
3106
+ /** The related line item. */
3107
+ lineItem: LineItem;
3108
+ /** The quantity of units that can be edited. */
3109
+ quantity: Scalars["Int"]["output"];
3110
+ };
3111
+
3112
+ /** An auto-generated type for paginating through multiple EditableLineItems. */
3113
+ export type EditableLineItemConnection = {
3114
+ __typename?: "EditableLineItemConnection";
3115
+ /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */
3116
+ edges: Array<EditableLineItemEdge>;
3117
+ /** A list of nodes that are contained in EditableLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
3118
+ nodes: Array<EditableLineItem>;
3119
+ /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
3120
+ pageInfo: PageInfo;
3121
+ };
3122
+
3123
+ /** An auto-generated type which holds one EditableLineItem and a cursor during pagination. */
3124
+ export type EditableLineItemEdge = {
3125
+ __typename?: "EditableLineItemEdge";
3126
+ /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */
3127
+ cursor: Scalars["String"]["output"];
3128
+ /** The item at the end of EditableLineItemEdge. */
3129
+ node: EditableLineItem;
3130
+ };
3131
+
3269
3132
  /** Represents the possible email marketing states for a customer. */
3270
3133
  export type EmailMarketingState =
3271
3134
  /** The customer’s email marketing state is invalid. */
@@ -3823,6 +3686,66 @@ export type ImageTransformInput = {
3823
3686
  scale?: InputMaybe<Scalars["Int"]["input"]>;
3824
3687
  };
3825
3688
 
3689
+ /** A line item with at least one unit that is not eligible for return or editing. */
3690
+ export type IneligibleLineItem = {
3691
+ __typename?: "IneligibleLineItem";
3692
+ /** The line item associated with the ineligible units. */
3693
+ lineItem: LineItem;
3694
+ /** The number of units that aren't eligible for return or editing. */
3695
+ quantity: Scalars["Int"]["output"];
3696
+ /** Details about ineligible quantities, including the number of units that can't be returned or edited and the reasons for ineligibility, grouped by reason. */
3697
+ quantityDetails: Array<IneligibleQuantityDetail>;
3698
+ };
3699
+
3700
+ /** An auto-generated type for paginating through multiple IneligibleLineItems. */
3701
+ export type IneligibleLineItemConnection = {
3702
+ __typename?: "IneligibleLineItemConnection";
3703
+ /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */
3704
+ edges: Array<IneligibleLineItemEdge>;
3705
+ /** A list of nodes that are contained in IneligibleLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
3706
+ nodes: Array<IneligibleLineItem>;
3707
+ /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
3708
+ pageInfo: PageInfo;
3709
+ };
3710
+
3711
+ /** An auto-generated type which holds one IneligibleLineItem and a cursor during pagination. */
3712
+ export type IneligibleLineItemEdge = {
3713
+ __typename?: "IneligibleLineItemEdge";
3714
+ /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */
3715
+ cursor: Scalars["String"]["output"];
3716
+ /** The item at the end of IneligibleLineItemEdge. */
3717
+ node: IneligibleLineItem;
3718
+ };
3719
+
3720
+ /**
3721
+ * Details about ineligible quantities, including the number of units that can't be returned
3722
+ * or edited and the reasons for ineligibility.
3723
+ */
3724
+ export type IneligibleQuantityDetail = {
3725
+ __typename?: "IneligibleQuantityDetail";
3726
+ /** The number of units that aren't eligible for return or editing. */
3727
+ quantity: Scalars["Int"]["output"];
3728
+ /** The reason why this quantity isn't eligible for return or editing. */
3729
+ reasonCode: IneligibleReason;
3730
+ };
3731
+
3732
+ /** The reason why a line item quantity is not eligible for return or editing. */
3733
+ export type IneligibleReason =
3734
+ /** The edit window for this line item quantity has expired. */
3735
+ | "EDIT_WINDOW_EXPIRED"
3736
+ /** The line item quantity is final sale. */
3737
+ | "FINAL_SALE"
3738
+ /** The line item quantity is not eligible for editing. */
3739
+ | "NOT_EDITABLE"
3740
+ /** The line item quantity is ineligible for a reason that has not been predefined. */
3741
+ | "OTHER"
3742
+ /** The line item quantity is part of a pending edit request. */
3743
+ | "PENDING_EDIT_REQUEST"
3744
+ /** The line item quantity has already been returned. */
3745
+ | "RETURNED"
3746
+ /** The return window for this line item quantity has expired. */
3747
+ | "RETURN_WINDOW_EXPIRED";
3748
+
3826
3749
  /** Language codes supported by Shopify. */
3827
3750
  export type LanguageCode =
3828
3751
  /** Afrikaans. */
@@ -4150,8 +4073,12 @@ export type LineItem = Node & {
4150
4073
  legacyFeeTitle?: Maybe<Scalars["String"]["output"]>;
4151
4074
  /** The name of the product. */
4152
4075
  name: Scalars["String"]["output"];
4076
+ /** The name of the product, localized to the order's language. Falls back to the base name when no localized value is stored. */
4077
+ presentmentName: Scalars["String"]["output"];
4153
4078
  /** The title of the line item variant. */
4154
4079
  presentmentTitle?: Maybe<Scalars["String"]["output"]>;
4080
+ /** The name of the variant, localized to the order's language. Falls back to the variant title when no localized value is stored. */
4081
+ presentmentVariantTitle?: Maybe<Scalars["String"]["output"]>;
4155
4082
  /** The product variant price without any discounts applied, in presentment currencies. */
4156
4083
  price?: Maybe<MoneyV2>;
4157
4084
  /** The product's ID. */
@@ -4405,6 +4332,28 @@ export type MarketWebPresenceRootUrl = {
4405
4332
  url: Scalars["URL"]["output"];
4406
4333
  };
4407
4334
 
4335
+ /**
4336
+ * The valid marketing consent states for a customer on a specific marketing channel. The
4337
+ * [`CustomerMarketingConsent`](https://shopify.dev/docs/api/customer/latest/interfaces/CustomerMarketingConsent) interface and channel-specific consent mutations use these values.
4338
+ */
4339
+ export type MarketingConsentState =
4340
+ /**
4341
+ * The customer has never subscribed to marketing on this channel. This is the default state for any channel the
4342
+ * customer hasn't interacted with. Read-only: can't be set as an input.
4343
+ */
4344
+ | "NEVER_SUBSCRIBED"
4345
+ /**
4346
+ * The customer is in the process of subscribing to marketing on this channel, for example, pending an opt-in
4347
+ * confirmation.
4348
+ */
4349
+ | "PENDING"
4350
+ /** The customer's personal data is erased. This value is internally-set and read-only. */
4351
+ | "REDACTED"
4352
+ /** The customer is subscribed to marketing on this channel. */
4353
+ | "SUBSCRIBED"
4354
+ /** The customer isn't currently subscribed to marketing on this channel but was previously subscribed. */
4355
+ | "UNSUBSCRIBED";
4356
+
4408
4357
  /** Represents a media interface. */
4409
4358
  export type Media = {
4410
4359
  /** A word or phrase to share the nature or contents of a media. */
@@ -4799,6 +4748,13 @@ export type Mutation = {
4799
4748
  customerEmailMarketingUnsubscribe?: Maybe<CustomerEmailMarketingUnsubscribePayload>;
4800
4749
  /** Updates the customer's personal information. */
4801
4750
  customerUpdate?: Maybe<CustomerUpdatePayload>;
4751
+ /**
4752
+ * Updates the current customer's WhatsApp marketing consent information. Shopify identifies the
4753
+ * customer's WhatsApp account by their [phone number](https://shopify.dev/docs/api/customer/latest/objects/CustomerPhoneNumber).
4754
+ *
4755
+ * You can subscribe or unsubscribe the customer from WhatsApp marketing.
4756
+ */
4757
+ customerWhatsAppMarketingConsentUpdate?: Maybe<CustomerWhatsAppMarketingConsentUpdatePayload>;
4802
4758
  /** Adds a new credit card by using Google Pay. */
4803
4759
  googlePayCreditCardAdd?: Maybe<GooglePayCreditCardAddPayload>;
4804
4760
  /** Updates a credit card using Google Pay. */
@@ -4820,6 +4776,15 @@ export type Mutation = {
4820
4776
  * You can opt out of write guarantees by not sending `compareDigest` in the request.
4821
4777
  */
4822
4778
  metafieldsSet?: Maybe<MetafieldsSetPayload>;
4779
+ /**
4780
+ * Request an edit to an order's unfulfilled line items on behalf of a customer.
4781
+ *
4782
+ * > Note:
4783
+ * > This mutation supports an optional idempotency key via the `@idempotent` directive.
4784
+ * > Supplying the same key for a retried request returns the originally created
4785
+ * > edit instead of creating a duplicate.
4786
+ */
4787
+ orderRequestEdit?: Maybe<OrderRequestEditPayload>;
4823
4788
  /** Request a new return on behalf of a customer. */
4824
4789
  orderRequestReturn?: Maybe<OrderRequestReturnPayload>;
4825
4790
  /** Adds a new payment instrument and associates mandates. Returns the created instrument on success. */
@@ -4957,6 +4922,11 @@ export type MutationCustomerUpdateArgs = {
4957
4922
  input: CustomerUpdateInput;
4958
4923
  };
4959
4924
 
4925
+ /** This is the schema's entry point for all mutation operations. */
4926
+ export type MutationCustomerWhatsAppMarketingConsentUpdateArgs = {
4927
+ input: CustomerWhatsAppMarketingConsentUpdateInput;
4928
+ };
4929
+
4960
4930
  /** This is the schema's entry point for all mutation operations. */
4961
4931
  export type MutationGooglePayCreditCardAddArgs = {
4962
4932
  billingAddress: GooglePayBillingAddressInput;
@@ -4980,6 +4950,13 @@ export type MutationMetafieldsSetArgs = {
4980
4950
  metafields: Array<MetafieldsSetInput>;
4981
4951
  };
4982
4952
 
4953
+ /** This is the schema's entry point for all mutation operations. */
4954
+ export type MutationOrderRequestEditArgs = {
4955
+ email?: InputMaybe<Scalars["String"]["input"]>;
4956
+ lineItems: RequestedOrderEditLineItemsInput;
4957
+ orderId: Scalars["ID"]["input"];
4958
+ };
4959
+
4983
4960
  /** This is the schema's entry point for all mutation operations. */
4984
4961
  export type MutationOrderRequestReturnArgs = {
4985
4962
  orderId: Scalars["ID"]["input"];
@@ -5058,7 +5035,6 @@ export type MutationSubscriptionContractChangePaymentInstrumentArgs = {
5058
5035
  /** This is the schema's entry point for all mutation operations. */
5059
5036
  export type MutationSubscriptionContractFetchDeliveryOptionsArgs = {
5060
5037
  address?: InputMaybe<CustomerAddressInput>;
5061
- deliveryAddress?: InputMaybe<CustomerMailingAddressInput>;
5062
5038
  subscriptionContractId: Scalars["ID"]["input"];
5063
5039
  };
5064
5040
 
@@ -5217,7 +5193,7 @@ export type Order = HasMetafields &
5217
5193
  /** The name of the fulfillment location assigned at the time of order creation. */
5218
5194
  locationName?: Maybe<Scalars["String"]["output"]>;
5219
5195
  /**
5220
- * The market that includes the order's shipping address. Or the shop's primary market if the shipping address is empty.
5196
+ * The market that applies to the order's shipping address country. In cases where multiple markets match, this returns the most-specific country region market. If the shipping address is empty, the shop's backup region market is returned.
5221
5197
  * @deprecated This `market` field will be removed in a future version of the API.
5222
5198
  */
5223
5199
  market: Market;
@@ -5258,6 +5234,10 @@ export type Order = HasMetafields &
5258
5234
  refunds: Array<Refund>;
5259
5235
  /** The path to recreate the order in the cart and redirect to checkout. Will return nil if the line item count exceeds 100. */
5260
5236
  reorderPath?: Maybe<Scalars["String"]["output"]>;
5237
+ /** The requested edit information for the order, including editable line items. */
5238
+ requestedEditInformation: OrderRequestedEditInformation;
5239
+ /** The buyer's requests to edit the order's line items. */
5240
+ requestedOrderEdits: RequestedOrderEditConnection;
5261
5241
  /** Whether the order requires shipping. */
5262
5242
  requiresShipping: Scalars["Boolean"]["output"];
5263
5243
  /** A Return identified by ID. */
@@ -5274,8 +5254,6 @@ export type Order = HasMetafields &
5274
5254
  shippingLine?: Maybe<ShippingLine>;
5275
5255
  /** The list of shipping line groups for the order. */
5276
5256
  shippingLineGroups: Array<OrderShippingLineGroup>;
5277
- /** A summary of the shipping titles for the order. */
5278
- shippingTitle?: Maybe<Scalars["String"]["output"]>;
5279
5257
  /** The various fields for subscribing to order updates via Shop Pay. */
5280
5258
  shopAppLinksAndResources?: Maybe<ShopAppLinksAndResources>;
5281
5259
  /** The totals and quantities for the order, ignoring returns. */
@@ -5361,6 +5339,14 @@ export type OrderMetafieldsArgs = {
5361
5339
  identifiers: Array<HasMetafieldsIdentifier>;
5362
5340
  };
5363
5341
 
5342
+ /** A customer’s completed request to purchase one or more products from a shop. Apps using the Customer Account API must meet the protected customer data [requirements](https://shopify.dev/docs/apps/launch/protected-customer-data). */
5343
+ export type OrderRequestedOrderEditsArgs = {
5344
+ after?: InputMaybe<Scalars["String"]["input"]>;
5345
+ before?: InputMaybe<Scalars["String"]["input"]>;
5346
+ first?: InputMaybe<Scalars["Int"]["input"]>;
5347
+ last?: InputMaybe<Scalars["Int"]["input"]>;
5348
+ };
5349
+
5364
5350
  /** A customer’s completed request to purchase one or more products from a shop. Apps using the Customer Account API must meet the protected customer data [requirements](https://shopify.dev/docs/apps/launch/protected-customer-data). */
5365
5351
  export type OrderReturnArgs = {
5366
5352
  id: Scalars["ID"]["input"];
@@ -5714,6 +5700,15 @@ export type OrderPickupInformation = {
5714
5700
  updatedAt?: Maybe<Scalars["DateTime"]["output"]>;
5715
5701
  };
5716
5702
 
5703
+ /** Return type for `orderRequestEdit` mutation. */
5704
+ export type OrderRequestEditPayload = {
5705
+ __typename?: "OrderRequestEditPayload";
5706
+ /** The created requested order edit. */
5707
+ requestedOrderEdit?: Maybe<RequestedOrderEdit>;
5708
+ /** The list of errors that occurred from executing the mutation. */
5709
+ userErrors: Array<RequestedOrderEditUserError>;
5710
+ };
5711
+
5717
5712
  /** Return type for `orderRequestReturn` mutation. */
5718
5713
  export type OrderRequestReturnPayload = {
5719
5714
  __typename?: "OrderRequestReturnPayload";
@@ -5723,6 +5718,37 @@ export type OrderRequestReturnPayload = {
5723
5718
  userErrors: Array<ReturnUserError>;
5724
5719
  };
5725
5720
 
5721
+ /** The requested edit information for a specific order, including editable line items. */
5722
+ export type OrderRequestedEditInformation = {
5723
+ __typename?: "OrderRequestedEditInformation";
5724
+ /** The line items that are eligible for editing (e.g. cancellation of unfulfilled items). */
5725
+ editableLineItems: EditableLineItemConnection;
5726
+ /** Whether the order has any line items eligible for editing. */
5727
+ hasEditableLineItems: Scalars["Boolean"]["output"];
5728
+ /** The line items that are not eligible for editing. */
5729
+ ineligibleLineItems: IneligibleLineItemConnection;
5730
+ /** Whether buyer self-serve return or cancellation access is required for this order for compliance reasons. */
5731
+ isSelfServiceRequiredForCompliance: Scalars["Boolean"]["output"];
5732
+ };
5733
+
5734
+ /** The requested edit information for a specific order, including editable line items. */
5735
+ export type OrderRequestedEditInformationEditableLineItemsArgs = {
5736
+ after?: InputMaybe<Scalars["String"]["input"]>;
5737
+ before?: InputMaybe<Scalars["String"]["input"]>;
5738
+ first?: InputMaybe<Scalars["Int"]["input"]>;
5739
+ last?: InputMaybe<Scalars["Int"]["input"]>;
5740
+ reverse?: InputMaybe<Scalars["Boolean"]["input"]>;
5741
+ };
5742
+
5743
+ /** The requested edit information for a specific order, including editable line items. */
5744
+ export type OrderRequestedEditInformationIneligibleLineItemsArgs = {
5745
+ after?: InputMaybe<Scalars["String"]["input"]>;
5746
+ before?: InputMaybe<Scalars["String"]["input"]>;
5747
+ first?: InputMaybe<Scalars["Int"]["input"]>;
5748
+ last?: InputMaybe<Scalars["Int"]["input"]>;
5749
+ reverse?: InputMaybe<Scalars["Boolean"]["input"]>;
5750
+ };
5751
+
5726
5752
  /** The return information for a specific order. */
5727
5753
  export type OrderReturnInformation = {
5728
5754
  __typename?: "OrderReturnInformation";
@@ -6452,6 +6478,8 @@ export type QueryRoot = {
6452
6478
  extensionApiTokens?: Maybe<ExtensionApiTokens>;
6453
6479
  /** Returns an Order resource by ID. Apps using the Customer Account API must meet the protected customer data [requirements](https://shopify.dev/docs/apps/launch/protected-customer-data). */
6454
6480
  order?: Maybe<Order>;
6481
+ /** The calculated financial outcome of a requested order edit. */
6482
+ requestedOrderEditCalculate?: Maybe<CalculatedRequestedOrderEdit>;
6455
6483
  /** Returns a Return resource by ID. Apps using the Customer Account API must meet the protected customer data [requirements](https://shopify.dev/docs/apps/launch/protected-customer-data). */
6456
6484
  return?: Maybe<Return>;
6457
6485
  /** The calculated monetary value of the return. */
@@ -6495,6 +6523,11 @@ export type QueryRootOrderArgs = {
6495
6523
  id: Scalars["ID"]["input"];
6496
6524
  };
6497
6525
 
6526
+ /** This acts as the public, top-level API from which all queries start. */
6527
+ export type QueryRootRequestedOrderEditCalculateArgs = {
6528
+ input: CalculateRequestedOrderEditInput;
6529
+ };
6530
+
6498
6531
  /** This acts as the public, top-level API from which all queries start. */
6499
6532
  export type QueryRootReturnArgs = {
6500
6533
  id: Scalars["ID"]["input"];
@@ -6514,7 +6547,9 @@ export type QueryRootUiExtensionMetafieldsArgs = {
6514
6547
  /** This acts as the public, top-level API from which all queries start. */
6515
6548
  export type QueryRootUiExtensionSessionTokenArgs = {
6516
6549
  appId?: InputMaybe<Scalars["ID"]["input"]>;
6550
+ configurationRecordId?: InputMaybe<Scalars["ID"]["input"]>;
6517
6551
  extensionActivationId?: InputMaybe<Scalars["ID"]["input"]>;
6552
+ registrationUuid?: InputMaybe<Scalars["String"]["input"]>;
6518
6553
  };
6519
6554
 
6520
6555
  /** The record of refunds issued to a customer. */
@@ -6630,6 +6665,155 @@ export type RequestedLineItemInput = {
6630
6665
  returnReasonDefinitionId?: InputMaybe<Scalars["ID"]["input"]>;
6631
6666
  };
6632
6667
 
6668
+ /** A requested order edit on an order. */
6669
+ export type RequestedOrderEdit = Node & {
6670
+ __typename?: "RequestedOrderEdit";
6671
+ /** A globally-unique ID. */
6672
+ id: Scalars["ID"]["output"];
6673
+ /** The line item changes included in the requested order edit, grouped by the type of change. */
6674
+ lineItems: RequestedOrderEditLineItems;
6675
+ /** The line items included in the requested order edit. Use `lineItems` instead. */
6676
+ requestedEditLineItems?: Maybe<RequestedOrderEditLineItemConnection>;
6677
+ /** The status of this requested order edit. */
6678
+ status: RequestedOrderEditStatus;
6679
+ };
6680
+
6681
+ /** A requested order edit on an order. */
6682
+ export type RequestedOrderEditRequestedEditLineItemsArgs = {
6683
+ after?: InputMaybe<Scalars["String"]["input"]>;
6684
+ before?: InputMaybe<Scalars["String"]["input"]>;
6685
+ first?: InputMaybe<Scalars["Int"]["input"]>;
6686
+ last?: InputMaybe<Scalars["Int"]["input"]>;
6687
+ };
6688
+
6689
+ /** An auto-generated type for paginating through multiple RequestedOrderEdits. */
6690
+ export type RequestedOrderEditConnection = {
6691
+ __typename?: "RequestedOrderEditConnection";
6692
+ /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */
6693
+ edges: Array<RequestedOrderEditEdge>;
6694
+ /** A list of nodes that are contained in RequestedOrderEditEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
6695
+ nodes: Array<RequestedOrderEdit>;
6696
+ /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
6697
+ pageInfo: PageInfo;
6698
+ };
6699
+
6700
+ /** An auto-generated type which holds one RequestedOrderEdit and a cursor during pagination. */
6701
+ export type RequestedOrderEditEdge = {
6702
+ __typename?: "RequestedOrderEditEdge";
6703
+ /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */
6704
+ cursor: Scalars["String"]["output"];
6705
+ /** The item at the end of RequestedOrderEditEdge. */
6706
+ node: RequestedOrderEdit;
6707
+ };
6708
+
6709
+ /** Possible error codes that can be returned by `RequestedOrderEditUserError`. */
6710
+ export type RequestedOrderEditErrorCode =
6711
+ /** The input value is blank. */
6712
+ | "BLANK"
6713
+ /** Unexpected internal error happened. */
6714
+ | "INTERNAL_ERROR"
6715
+ /** The input value is invalid. */
6716
+ | "INVALID"
6717
+ /** The record with the ID used as the input value couldn't be found. */
6718
+ | "NOT_FOUND";
6719
+
6720
+ /** The financial breakdown of the requested order edit. */
6721
+ export type RequestedOrderEditFinancialSummary = {
6722
+ __typename?: "RequestedOrderEditFinancialSummary";
6723
+ /** The sum of all order level discounts that are target_all. */
6724
+ editOrderLevelDiscountSubtotalSet: MoneyBag;
6725
+ /** The subtotal of all edit line items excluding target_all discounts. */
6726
+ editSubtotalBeforeTargetAllDiscountsSet: MoneyBag;
6727
+ /** The subtotal of all edit line items. */
6728
+ editSubtotalSet: MoneyBag;
6729
+ /** The subtotal of all edit line items with order level discounts applied. */
6730
+ editSubtotalWithCartDiscountSet: MoneyBag;
6731
+ /** The total sum of all edit line items, including subtotals and taxes. */
6732
+ editTotalSet: MoneyBag;
6733
+ /** The total tax sum of all edit line items. */
6734
+ editTotalTaxSet: MoneyBag;
6735
+ };
6736
+
6737
+ /** A line item included in a buyer-initiated requested order edit. */
6738
+ export type RequestedOrderEditLineItem = Node & {
6739
+ __typename?: "RequestedOrderEditLineItem";
6740
+ /** A globally-unique ID. */
6741
+ id: Scalars["ID"]["output"];
6742
+ /** The order line item associated with this requested order edit line item. */
6743
+ lineItem: LineItem;
6744
+ /** The quantity requested for this line item in the requested order edit. */
6745
+ quantity: Scalars["Int"]["output"];
6746
+ };
6747
+
6748
+ /** An auto-generated type for paginating through multiple RequestedOrderEditLineItems. */
6749
+ export type RequestedOrderEditLineItemConnection = {
6750
+ __typename?: "RequestedOrderEditLineItemConnection";
6751
+ /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */
6752
+ edges: Array<RequestedOrderEditLineItemEdge>;
6753
+ /** A list of nodes that are contained in RequestedOrderEditLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */
6754
+ nodes: Array<RequestedOrderEditLineItem>;
6755
+ /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */
6756
+ pageInfo: PageInfo;
6757
+ };
6758
+
6759
+ /** An auto-generated type which holds one RequestedOrderEditLineItem and a cursor during pagination. */
6760
+ export type RequestedOrderEditLineItemEdge = {
6761
+ __typename?: "RequestedOrderEditLineItemEdge";
6762
+ /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */
6763
+ cursor: Scalars["String"]["output"];
6764
+ /** The item at the end of RequestedOrderEditLineItemEdge. */
6765
+ node: RequestedOrderEditLineItem;
6766
+ };
6767
+
6768
+ /** The input fields for a line item requested for removal in a requested order edit. */
6769
+ export type RequestedOrderEditLineItemRemovalInput = {
6770
+ /** The ID of the line item that the customer wants removed. */
6771
+ lineItemId: Scalars["ID"]["input"];
6772
+ /** The quantity of the line item that the customer wants removed. */
6773
+ quantity: Scalars["Int"]["input"];
6774
+ };
6775
+
6776
+ /** The line item changes on a requested order edit, grouped by the type of change. */
6777
+ export type RequestedOrderEditLineItems = {
6778
+ __typename?: "RequestedOrderEditLineItems";
6779
+ /** The line items requested for removal from the order. */
6780
+ removals?: Maybe<RequestedOrderEditLineItemConnection>;
6781
+ };
6782
+
6783
+ /** The line item changes on a requested order edit, grouped by the type of change. */
6784
+ export type RequestedOrderEditLineItemsRemovalsArgs = {
6785
+ after?: InputMaybe<Scalars["String"]["input"]>;
6786
+ before?: InputMaybe<Scalars["String"]["input"]>;
6787
+ first?: InputMaybe<Scalars["Int"]["input"]>;
6788
+ last?: InputMaybe<Scalars["Int"]["input"]>;
6789
+ };
6790
+
6791
+ /** The input fields for the line item changes in a requested order edit, grouped by the type of change. */
6792
+ export type RequestedOrderEditLineItemsInput = {
6793
+ /** The line items requested for removal. */
6794
+ removals: Array<RequestedOrderEditLineItemRemovalInput>;
6795
+ };
6796
+
6797
+ /** The status of a buyer-initiated requested order edit. */
6798
+ export type RequestedOrderEditStatus =
6799
+ /** The requested order edit was declined by the merchant. */
6800
+ | "DECLINED"
6801
+ /** The requested order edit is pending merchant action. */
6802
+ | "REQUESTED"
6803
+ /** The requested order edit has been resolved by the merchant. */
6804
+ | "RESOLVED";
6805
+
6806
+ /** The errors that occur while requesting an edit to an order. */
6807
+ export type RequestedOrderEditUserError = DisplayableError & {
6808
+ __typename?: "RequestedOrderEditUserError";
6809
+ /** The error code. */
6810
+ code?: Maybe<RequestedOrderEditErrorCode>;
6811
+ /** The path to the input field that caused the error. */
6812
+ field?: Maybe<Array<Scalars["String"]["output"]>>;
6813
+ /** The error message. */
6814
+ message: Scalars["String"]["output"];
6815
+ };
6816
+
6633
6817
  /** Return type for `resendGiftCard` mutation. */
6634
6818
  export type ResendGiftCardPayload = {
6635
6819
  __typename?: "ResendGiftCardPayload";
@@ -6863,7 +7047,7 @@ export type ReturnFinancialSummary = {
6863
7047
  restockingFeeSubtotalSet: MoneyBag;
6864
7048
  /** The sum of all order level discounts that are target_all?. */
6865
7049
  returnOrderLevelDiscountSubtotalSet: MoneyBag;
6866
- /** The subtotal of all return line items shipping fees. */
7050
+ /** The subtotal of all return shipping fees. */
6867
7051
  returnShippingFeeSubtotalSet: MoneyBag;
6868
7052
  /** The subtotal of all return line items excluding target_all discounts. */
6869
7053
  returnSubtotalBeforeTargetAllDiscountsSet: MoneyBag;
@@ -6873,7 +7057,7 @@ export type ReturnFinancialSummary = {
6873
7057
  returnSubtotalWithCartDiscountSet: MoneyBag;
6874
7058
  /** The total sum of all return line items, including return line item subtotals, fees and taxes. */
6875
7059
  returnTotalSet: MoneyBag;
6876
- /** The total tax sum of all return line items. */
7060
+ /** The total tax sum of all return line items and return shipping fees. */
6877
7061
  returnTotalTaxSet: MoneyBag;
6878
7062
  };
6879
7063
 
@@ -7364,17 +7548,6 @@ export type ShippingLineSale = Node &
7364
7548
  totalTaxAmount: MoneyV2;
7365
7549
  };
7366
7550
 
7367
- /** A shipping rate to be applied to a checkout. */
7368
- export type ShippingRate = {
7369
- __typename?: "ShippingRate";
7370
- /** The human-readable unique identifier for this shipping rate. */
7371
- handle: Scalars["String"]["output"];
7372
- /** The price of this shipping rate. */
7373
- price: MoneyV2;
7374
- /** The title of this shipping rate. */
7375
- title: Scalars["String"]["output"];
7376
- };
7377
-
7378
7551
  /** A collection of the general information about the shop. */
7379
7552
  export type Shop = HasMetafields &
7380
7553
  Node & {
@@ -7688,6 +7861,8 @@ export type StoreCreditSystemEvent =
7688
7861
  | "PAYMENT_FAILURE"
7689
7862
  /** A smaller amount of store credit was captured than was originally authorized. */
7690
7863
  | "PAYMENT_RETURNED"
7864
+ /** Store credit was used as payment for a recurring order. */
7865
+ | "RECURRING_PAYMENT"
7691
7866
  /** Tax finalization affected the store credit payment. */
7692
7867
  | "TAX_FINALIZATION";
7693
7868
 
@@ -8200,8 +8375,6 @@ export type SubscriptionDeliveryMethodLocalDelivery = {
8200
8375
 
8201
8376
  /** The input fields for a local delivery method. */
8202
8377
  export type SubscriptionDeliveryMethodLocalDeliveryInput = {
8203
- /** The address to deliver to. */
8204
- address?: InputMaybe<CustomerMailingAddressInput>;
8205
8378
  /** The address to deliver to. */
8206
8379
  deliveryAddress?: InputMaybe<CustomerAddressInput>;
8207
8380
  /** The delivery instructions that the customer can provide to the merchant. */
@@ -9743,6 +9916,8 @@ export type UserErrorsCustomerAddressUserErrorsCode =
9743
9916
  | "ADDRESS_ID_DOES_NOT_EXIST"
9744
9917
  /** Input contains HTML tags. */
9745
9918
  | "CONTAINS_HTML_TAGS"
9919
+ /** The Country Code field is missing. */
9920
+ | "COUNTRY_CODE_MISSING"
9746
9921
  /** The provided country doesn't exist. */
9747
9922
  | "COUNTRY_NOT_EXIST"
9748
9923
  /** The provided customer address already exists. */
@@ -9812,6 +9987,27 @@ export type UserErrorsCustomerEmailMarketingUserErrorsCode =
9812
9987
  /** Unsubscription failed. */
9813
9988
  | "FAILED_TO_UNSUBSCRIBE";
9814
9989
 
9990
+ /**
9991
+ * An error from a customer marketing consent mutation, such as
9992
+ * [`customerWhatsAppMarketingConsentUpdate`](https://shopify.dev/docs/api/customer/latest/mutations/customerWhatsAppMarketingConsentUpdate).
9993
+ */
9994
+ export type UserErrorsCustomerMarketingConsentError = DisplayableError & {
9995
+ __typename?: "UserErrorsCustomerMarketingConsentError";
9996
+ /** The error code. */
9997
+ code?: Maybe<UserErrorsCustomerMarketingConsentErrorCode>;
9998
+ /** The path to the input field that caused the error. */
9999
+ field?: Maybe<Array<Scalars["String"]["output"]>>;
10000
+ /** The error message. */
10001
+ message: Scalars["String"]["output"];
10002
+ };
10003
+
10004
+ /** Possible error codes that can be returned by `UserErrorsCustomerMarketingConsentError`. */
10005
+ export type UserErrorsCustomerMarketingConsentErrorCode =
10006
+ /** There was an error. */
10007
+ | "FAILED"
10008
+ /** A phone number is required. */
10009
+ | "PHONE_NUMBER_REQUIRED";
10010
+
9815
10011
  /** Provides error codes for failed personal information mutations. */
9816
10012
  export type UserErrorsCustomerUserErrors = DisplayableError & {
9817
10013
  __typename?: "UserErrorsCustomerUserErrors";