@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
@@ -1278,6 +1278,114 @@
1278
1278
  "enumValues": null,
1279
1279
  "possibleTypes": null
1280
1280
  },
1281
+ {
1282
+ "kind": "INTERFACE",
1283
+ "name": "BaseCartDiscountApplication",
1284
+ "description": "Captures the intent of a discount source at the time it was applied to a cart.\nThis includes the discount value, how it's allocated across entitled items, and\nwhich line types it targets.\n\nThe actual discounted amounts on specific cart lines are represented by [`CartDiscountAllocation`](https://shopify.dev/docs/api/storefront/current/interfaces/CartDiscountAllocation)\nobjects, which reference this application.\n",
1285
+ "isOneOf": null,
1286
+ "fields": [
1287
+ {
1288
+ "name": "allocationMethod",
1289
+ "description": "The method by which the discount's value is allocated to its entitled items.",
1290
+ "args": [],
1291
+ "type": {
1292
+ "kind": "NON_NULL",
1293
+ "name": null,
1294
+ "ofType": {
1295
+ "kind": "ENUM",
1296
+ "name": "DiscountApplicationAllocationMethod",
1297
+ "ofType": null
1298
+ }
1299
+ },
1300
+ "isDeprecated": false,
1301
+ "deprecationReason": null
1302
+ },
1303
+ {
1304
+ "name": "targetSelection",
1305
+ "description": "Which lines of targetType that the discount is allocated over.",
1306
+ "args": [],
1307
+ "type": {
1308
+ "kind": "NON_NULL",
1309
+ "name": null,
1310
+ "ofType": {
1311
+ "kind": "ENUM",
1312
+ "name": "DiscountApplicationTargetSelection",
1313
+ "ofType": null
1314
+ }
1315
+ },
1316
+ "isDeprecated": false,
1317
+ "deprecationReason": null
1318
+ },
1319
+ {
1320
+ "name": "targetType",
1321
+ "description": "The type of line that the discount is applicable towards.",
1322
+ "args": [],
1323
+ "type": {
1324
+ "kind": "NON_NULL",
1325
+ "name": null,
1326
+ "ofType": {
1327
+ "kind": "ENUM",
1328
+ "name": "DiscountApplicationTargetType",
1329
+ "ofType": null
1330
+ }
1331
+ },
1332
+ "isDeprecated": false,
1333
+ "deprecationReason": null
1334
+ },
1335
+ {
1336
+ "name": "totalAllocatedAmount",
1337
+ "description": "The total amount allocated by this discount application across all entitled items.",
1338
+ "args": [],
1339
+ "type": {
1340
+ "kind": "NON_NULL",
1341
+ "name": null,
1342
+ "ofType": {
1343
+ "kind": "OBJECT",
1344
+ "name": "MoneyV2",
1345
+ "ofType": null
1346
+ }
1347
+ },
1348
+ "isDeprecated": false,
1349
+ "deprecationReason": null
1350
+ },
1351
+ {
1352
+ "name": "value",
1353
+ "description": "The value of the discount application.",
1354
+ "args": [],
1355
+ "type": {
1356
+ "kind": "NON_NULL",
1357
+ "name": null,
1358
+ "ofType": {
1359
+ "kind": "UNION",
1360
+ "name": "PricingValue",
1361
+ "ofType": null
1362
+ }
1363
+ },
1364
+ "isDeprecated": false,
1365
+ "deprecationReason": null
1366
+ }
1367
+ ],
1368
+ "inputFields": null,
1369
+ "interfaces": [],
1370
+ "enumValues": null,
1371
+ "possibleTypes": [
1372
+ {
1373
+ "kind": "OBJECT",
1374
+ "name": "CartAutomaticDiscountApplication",
1375
+ "ofType": null
1376
+ },
1377
+ {
1378
+ "kind": "OBJECT",
1379
+ "name": "CartCodeDiscountApplication",
1380
+ "ofType": null
1381
+ },
1382
+ {
1383
+ "kind": "OBJECT",
1384
+ "name": "CartCustomDiscountApplication",
1385
+ "ofType": null
1386
+ }
1387
+ ]
1388
+ },
1281
1389
  {
1282
1390
  "kind": "INTERFACE",
1283
1391
  "name": "BaseCartLine",
@@ -1356,7 +1464,20 @@
1356
1464
  {
1357
1465
  "name": "discountAllocations",
1358
1466
  "description": "The discounts that have been applied to the cart line.",
1359
- "args": [],
1467
+ "args": [
1468
+ {
1469
+ "name": "lineLevelOnly",
1470
+ "description": "When true, returns only line-level (product) discount allocations. When false, returns all discount allocations including order-level discounts.",
1471
+ "type": {
1472
+ "kind": "SCALAR",
1473
+ "name": "Boolean",
1474
+ "ofType": null
1475
+ },
1476
+ "defaultValue": "true",
1477
+ "isDeprecated": false,
1478
+ "deprecationReason": null
1479
+ }
1480
+ ],
1360
1481
  "type": {
1361
1482
  "kind": "NON_NULL",
1362
1483
  "name": null,
@@ -1452,6 +1573,18 @@
1452
1573
  },
1453
1574
  "isDeprecated": false,
1454
1575
  "deprecationReason": null
1576
+ },
1577
+ {
1578
+ "name": "viewKey",
1579
+ "description": "A stable identifier for the line matching the value exposed in Liquid via the `view_key` filter and accepted as input on `cartLinesUpdate` and `cartLinesRemove`.",
1580
+ "args": [],
1581
+ "type": {
1582
+ "kind": "SCALAR",
1583
+ "name": "String",
1584
+ "ofType": null
1585
+ },
1586
+ "isDeprecated": false,
1587
+ "deprecationReason": null
1455
1588
  }
1456
1589
  ],
1457
1590
  "inputFields": null,
@@ -2651,6 +2784,30 @@
2651
2784
  "isDeprecated": true,
2652
2785
  "deprecationReason": "Use `cart.lines[].discountAllocations(lineLevelOnly: false)` and `cart.deliveryGroups[].discountAllocations` instead."
2653
2786
  },
2787
+ {
2788
+ "name": "discountApplications",
2789
+ "description": "The discount applications applied to the cart.",
2790
+ "args": [],
2791
+ "type": {
2792
+ "kind": "NON_NULL",
2793
+ "name": null,
2794
+ "ofType": {
2795
+ "kind": "LIST",
2796
+ "name": null,
2797
+ "ofType": {
2798
+ "kind": "NON_NULL",
2799
+ "name": null,
2800
+ "ofType": {
2801
+ "kind": "INTERFACE",
2802
+ "name": "BaseCartDiscountApplication",
2803
+ "ofType": null
2804
+ }
2805
+ }
2806
+ }
2807
+ },
2808
+ "isDeprecated": false,
2809
+ "deprecationReason": null
2810
+ },
2654
2811
  {
2655
2812
  "name": "discountCodes",
2656
2813
  "description": "The case-insensitive discount codes that the customer added at checkout.",
@@ -3094,6 +3251,22 @@
3094
3251
  "isDeprecated": false,
3095
3252
  "deprecationReason": null
3096
3253
  },
3254
+ {
3255
+ "name": "sourceDiscountApplication",
3256
+ "description": "The discount application that created this allocation, with corrected value semantics.",
3257
+ "args": [],
3258
+ "type": {
3259
+ "kind": "NON_NULL",
3260
+ "name": null,
3261
+ "ofType": {
3262
+ "kind": "INTERFACE",
3263
+ "name": "BaseCartDiscountApplication",
3264
+ "ofType": null
3265
+ }
3266
+ },
3267
+ "isDeprecated": false,
3268
+ "deprecationReason": null
3269
+ },
3097
3270
  {
3098
3271
  "name": "targetType",
3099
3272
  "description": "The type of line that the discount is applicable towards.",
@@ -3138,6 +3311,120 @@
3138
3311
  "enumValues": null,
3139
3312
  "possibleTypes": null
3140
3313
  },
3314
+ {
3315
+ "kind": "OBJECT",
3316
+ "name": "CartAutomaticDiscountApplication",
3317
+ "description": "The discount application automatically applied based on prerequisites.",
3318
+ "isOneOf": null,
3319
+ "fields": [
3320
+ {
3321
+ "name": "allocationMethod",
3322
+ "description": "The method by which the discount's value is allocated to its entitled items.",
3323
+ "args": [],
3324
+ "type": {
3325
+ "kind": "NON_NULL",
3326
+ "name": null,
3327
+ "ofType": {
3328
+ "kind": "ENUM",
3329
+ "name": "DiscountApplicationAllocationMethod",
3330
+ "ofType": null
3331
+ }
3332
+ },
3333
+ "isDeprecated": false,
3334
+ "deprecationReason": null
3335
+ },
3336
+ {
3337
+ "name": "targetSelection",
3338
+ "description": "Which lines of targetType that the discount is allocated over.",
3339
+ "args": [],
3340
+ "type": {
3341
+ "kind": "NON_NULL",
3342
+ "name": null,
3343
+ "ofType": {
3344
+ "kind": "ENUM",
3345
+ "name": "DiscountApplicationTargetSelection",
3346
+ "ofType": null
3347
+ }
3348
+ },
3349
+ "isDeprecated": false,
3350
+ "deprecationReason": null
3351
+ },
3352
+ {
3353
+ "name": "targetType",
3354
+ "description": "The type of line that the discount is applicable towards.",
3355
+ "args": [],
3356
+ "type": {
3357
+ "kind": "NON_NULL",
3358
+ "name": null,
3359
+ "ofType": {
3360
+ "kind": "ENUM",
3361
+ "name": "DiscountApplicationTargetType",
3362
+ "ofType": null
3363
+ }
3364
+ },
3365
+ "isDeprecated": false,
3366
+ "deprecationReason": null
3367
+ },
3368
+ {
3369
+ "name": "title",
3370
+ "description": "The title of the discount.",
3371
+ "args": [],
3372
+ "type": {
3373
+ "kind": "NON_NULL",
3374
+ "name": null,
3375
+ "ofType": {
3376
+ "kind": "SCALAR",
3377
+ "name": "String",
3378
+ "ofType": null
3379
+ }
3380
+ },
3381
+ "isDeprecated": false,
3382
+ "deprecationReason": null
3383
+ },
3384
+ {
3385
+ "name": "totalAllocatedAmount",
3386
+ "description": "The total amount allocated by this discount application across all entitled items.",
3387
+ "args": [],
3388
+ "type": {
3389
+ "kind": "NON_NULL",
3390
+ "name": null,
3391
+ "ofType": {
3392
+ "kind": "OBJECT",
3393
+ "name": "MoneyV2",
3394
+ "ofType": null
3395
+ }
3396
+ },
3397
+ "isDeprecated": false,
3398
+ "deprecationReason": null
3399
+ },
3400
+ {
3401
+ "name": "value",
3402
+ "description": "The value of the discount application.",
3403
+ "args": [],
3404
+ "type": {
3405
+ "kind": "NON_NULL",
3406
+ "name": null,
3407
+ "ofType": {
3408
+ "kind": "UNION",
3409
+ "name": "PricingValue",
3410
+ "ofType": null
3411
+ }
3412
+ },
3413
+ "isDeprecated": false,
3414
+ "deprecationReason": null
3415
+ }
3416
+ ],
3417
+ "inputFields": null,
3418
+ "interfaces": [
3419
+ {
3420
+ "kind": "INTERFACE",
3421
+ "name": "BaseCartDiscountApplication",
3422
+ "ofType": null
3423
+ }
3424
+ ],
3425
+ "enumValues": null,
3426
+ "possibleTypes": null
3427
+ },
3141
3428
  {
3142
3429
  "kind": "OBJECT",
3143
3430
  "name": "CartBillingAddressUpdatePayload",
@@ -3638,6 +3925,22 @@
3638
3925
  "isDeprecated": false,
3639
3926
  "deprecationReason": null
3640
3927
  },
3928
+ {
3929
+ "name": "sourceDiscountApplication",
3930
+ "description": "The discount application that created this allocation, with corrected value semantics.",
3931
+ "args": [],
3932
+ "type": {
3933
+ "kind": "NON_NULL",
3934
+ "name": null,
3935
+ "ofType": {
3936
+ "kind": "INTERFACE",
3937
+ "name": "BaseCartDiscountApplication",
3938
+ "ofType": null
3939
+ }
3940
+ },
3941
+ "isDeprecated": false,
3942
+ "deprecationReason": null
3943
+ },
3641
3944
  {
3642
3945
  "name": "targetType",
3643
3946
  "description": "The type of line that the discount is applicable towards.",
@@ -3666,6 +3969,120 @@
3666
3969
  "enumValues": null,
3667
3970
  "possibleTypes": null
3668
3971
  },
3972
+ {
3973
+ "kind": "OBJECT",
3974
+ "name": "CartCodeDiscountApplication",
3975
+ "description": "The discount application applied using a discount code.",
3976
+ "isOneOf": null,
3977
+ "fields": [
3978
+ {
3979
+ "name": "allocationMethod",
3980
+ "description": "The method by which the discount's value is allocated to its entitled items.",
3981
+ "args": [],
3982
+ "type": {
3983
+ "kind": "NON_NULL",
3984
+ "name": null,
3985
+ "ofType": {
3986
+ "kind": "ENUM",
3987
+ "name": "DiscountApplicationAllocationMethod",
3988
+ "ofType": null
3989
+ }
3990
+ },
3991
+ "isDeprecated": false,
3992
+ "deprecationReason": null
3993
+ },
3994
+ {
3995
+ "name": "code",
3996
+ "description": "The code used to apply the discount.",
3997
+ "args": [],
3998
+ "type": {
3999
+ "kind": "NON_NULL",
4000
+ "name": null,
4001
+ "ofType": {
4002
+ "kind": "SCALAR",
4003
+ "name": "String",
4004
+ "ofType": null
4005
+ }
4006
+ },
4007
+ "isDeprecated": false,
4008
+ "deprecationReason": null
4009
+ },
4010
+ {
4011
+ "name": "targetSelection",
4012
+ "description": "Which lines of targetType that the discount is allocated over.",
4013
+ "args": [],
4014
+ "type": {
4015
+ "kind": "NON_NULL",
4016
+ "name": null,
4017
+ "ofType": {
4018
+ "kind": "ENUM",
4019
+ "name": "DiscountApplicationTargetSelection",
4020
+ "ofType": null
4021
+ }
4022
+ },
4023
+ "isDeprecated": false,
4024
+ "deprecationReason": null
4025
+ },
4026
+ {
4027
+ "name": "targetType",
4028
+ "description": "The type of line that the discount is applicable towards.",
4029
+ "args": [],
4030
+ "type": {
4031
+ "kind": "NON_NULL",
4032
+ "name": null,
4033
+ "ofType": {
4034
+ "kind": "ENUM",
4035
+ "name": "DiscountApplicationTargetType",
4036
+ "ofType": null
4037
+ }
4038
+ },
4039
+ "isDeprecated": false,
4040
+ "deprecationReason": null
4041
+ },
4042
+ {
4043
+ "name": "totalAllocatedAmount",
4044
+ "description": "The total amount allocated by this discount application across all entitled items.",
4045
+ "args": [],
4046
+ "type": {
4047
+ "kind": "NON_NULL",
4048
+ "name": null,
4049
+ "ofType": {
4050
+ "kind": "OBJECT",
4051
+ "name": "MoneyV2",
4052
+ "ofType": null
4053
+ }
4054
+ },
4055
+ "isDeprecated": false,
4056
+ "deprecationReason": null
4057
+ },
4058
+ {
4059
+ "name": "value",
4060
+ "description": "The value of the discount application.",
4061
+ "args": [],
4062
+ "type": {
4063
+ "kind": "NON_NULL",
4064
+ "name": null,
4065
+ "ofType": {
4066
+ "kind": "UNION",
4067
+ "name": "PricingValue",
4068
+ "ofType": null
4069
+ }
4070
+ },
4071
+ "isDeprecated": false,
4072
+ "deprecationReason": null
4073
+ }
4074
+ ],
4075
+ "inputFields": null,
4076
+ "interfaces": [
4077
+ {
4078
+ "kind": "INTERFACE",
4079
+ "name": "BaseCartDiscountApplication",
4080
+ "ofType": null
4081
+ }
4082
+ ],
4083
+ "enumValues": null,
4084
+ "possibleTypes": null
4085
+ },
3669
4086
  {
3670
4087
  "kind": "UNION",
3671
4088
  "name": "CartCompletionAction",
@@ -4181,6 +4598,22 @@
4181
4598
  "isDeprecated": false,
4182
4599
  "deprecationReason": null
4183
4600
  },
4601
+ {
4602
+ "name": "sourceDiscountApplication",
4603
+ "description": "The discount application that created this allocation, with corrected value semantics.",
4604
+ "args": [],
4605
+ "type": {
4606
+ "kind": "NON_NULL",
4607
+ "name": null,
4608
+ "ofType": {
4609
+ "kind": "INTERFACE",
4610
+ "name": "BaseCartDiscountApplication",
4611
+ "ofType": null
4612
+ }
4613
+ },
4614
+ "isDeprecated": false,
4615
+ "deprecationReason": null
4616
+ },
4184
4617
  {
4185
4618
  "name": "targetType",
4186
4619
  "description": "The type of line that the discount is applicable towards.",
@@ -4225,6 +4658,120 @@
4225
4658
  "enumValues": null,
4226
4659
  "possibleTypes": null
4227
4660
  },
4661
+ {
4662
+ "kind": "OBJECT",
4663
+ "name": "CartCustomDiscountApplication",
4664
+ "description": "The discount application applied by a custom script or function.",
4665
+ "isOneOf": null,
4666
+ "fields": [
4667
+ {
4668
+ "name": "allocationMethod",
4669
+ "description": "The method by which the discount's value is allocated to its entitled items.",
4670
+ "args": [],
4671
+ "type": {
4672
+ "kind": "NON_NULL",
4673
+ "name": null,
4674
+ "ofType": {
4675
+ "kind": "ENUM",
4676
+ "name": "DiscountApplicationAllocationMethod",
4677
+ "ofType": null
4678
+ }
4679
+ },
4680
+ "isDeprecated": false,
4681
+ "deprecationReason": null
4682
+ },
4683
+ {
4684
+ "name": "targetSelection",
4685
+ "description": "Which lines of targetType that the discount is allocated over.",
4686
+ "args": [],
4687
+ "type": {
4688
+ "kind": "NON_NULL",
4689
+ "name": null,
4690
+ "ofType": {
4691
+ "kind": "ENUM",
4692
+ "name": "DiscountApplicationTargetSelection",
4693
+ "ofType": null
4694
+ }
4695
+ },
4696
+ "isDeprecated": false,
4697
+ "deprecationReason": null
4698
+ },
4699
+ {
4700
+ "name": "targetType",
4701
+ "description": "The type of line that the discount is applicable towards.",
4702
+ "args": [],
4703
+ "type": {
4704
+ "kind": "NON_NULL",
4705
+ "name": null,
4706
+ "ofType": {
4707
+ "kind": "ENUM",
4708
+ "name": "DiscountApplicationTargetType",
4709
+ "ofType": null
4710
+ }
4711
+ },
4712
+ "isDeprecated": false,
4713
+ "deprecationReason": null
4714
+ },
4715
+ {
4716
+ "name": "title",
4717
+ "description": "The title of the discount.",
4718
+ "args": [],
4719
+ "type": {
4720
+ "kind": "NON_NULL",
4721
+ "name": null,
4722
+ "ofType": {
4723
+ "kind": "SCALAR",
4724
+ "name": "String",
4725
+ "ofType": null
4726
+ }
4727
+ },
4728
+ "isDeprecated": false,
4729
+ "deprecationReason": null
4730
+ },
4731
+ {
4732
+ "name": "totalAllocatedAmount",
4733
+ "description": "The total amount allocated by this discount application across all entitled items.",
4734
+ "args": [],
4735
+ "type": {
4736
+ "kind": "NON_NULL",
4737
+ "name": null,
4738
+ "ofType": {
4739
+ "kind": "OBJECT",
4740
+ "name": "MoneyV2",
4741
+ "ofType": null
4742
+ }
4743
+ },
4744
+ "isDeprecated": false,
4745
+ "deprecationReason": null
4746
+ },
4747
+ {
4748
+ "name": "value",
4749
+ "description": "The value of the discount application.",
4750
+ "args": [],
4751
+ "type": {
4752
+ "kind": "NON_NULL",
4753
+ "name": null,
4754
+ "ofType": {
4755
+ "kind": "UNION",
4756
+ "name": "PricingValue",
4757
+ "ofType": null
4758
+ }
4759
+ },
4760
+ "isDeprecated": false,
4761
+ "deprecationReason": null
4762
+ }
4763
+ ],
4764
+ "inputFields": null,
4765
+ "interfaces": [
4766
+ {
4767
+ "kind": "INTERFACE",
4768
+ "name": "BaseCartDiscountApplication",
4769
+ "ofType": null
4770
+ }
4771
+ ],
4772
+ "enumValues": null,
4773
+ "possibleTypes": null
4774
+ },
4228
4775
  {
4229
4776
  "kind": "OBJECT",
4230
4777
  "name": "CartDelivery",
@@ -5166,6 +5713,30 @@
5166
5713
  "isDeprecated": false,
5167
5714
  "deprecationReason": null
5168
5715
  },
5716
+ {
5717
+ "name": "discountAllocations",
5718
+ "description": "The discount allocations applied to the delivery group.",
5719
+ "args": [],
5720
+ "type": {
5721
+ "kind": "NON_NULL",
5722
+ "name": null,
5723
+ "ofType": {
5724
+ "kind": "LIST",
5725
+ "name": null,
5726
+ "ofType": {
5727
+ "kind": "NON_NULL",
5728
+ "name": null,
5729
+ "ofType": {
5730
+ "kind": "INTERFACE",
5731
+ "name": "CartDiscountAllocation",
5732
+ "ofType": null
5733
+ }
5734
+ }
5735
+ }
5736
+ },
5737
+ "isDeprecated": false,
5738
+ "deprecationReason": null
5739
+ },
5169
5740
  {
5170
5741
  "name": "groupType",
5171
5742
  "description": "The type of merchandise in the delivery group.",
@@ -5730,6 +6301,22 @@
5730
6301
  "isDeprecated": false,
5731
6302
  "deprecationReason": null
5732
6303
  },
6304
+ {
6305
+ "name": "sourceDiscountApplication",
6306
+ "description": "The discount application that created this allocation, with corrected value semantics.",
6307
+ "args": [],
6308
+ "type": {
6309
+ "kind": "NON_NULL",
6310
+ "name": null,
6311
+ "ofType": {
6312
+ "kind": "INTERFACE",
6313
+ "name": "BaseCartDiscountApplication",
6314
+ "ofType": null
6315
+ }
6316
+ },
6317
+ "isDeprecated": false,
6318
+ "deprecationReason": null
6319
+ },
5733
6320
  {
5734
6321
  "name": "targetType",
5735
6322
  "description": "The type of line that the discount is applicable towards.",
@@ -6790,6 +7377,18 @@
6790
7377
  "defaultValue": null,
6791
7378
  "isDeprecated": false,
6792
7379
  "deprecationReason": null
7380
+ },
7381
+ {
7382
+ "name": "sourceName",
7383
+ "description": "The source name of the channel to use for order attribution.\nThe value must match the source name of a channel that the client, identified by the storefront access token, owns.\n",
7384
+ "type": {
7385
+ "kind": "SCALAR",
7386
+ "name": "String",
7387
+ "ofType": null
7388
+ },
7389
+ "defaultValue": null,
7390
+ "isDeprecated": false,
7391
+ "deprecationReason": null
6793
7392
  }
6794
7393
  ],
6795
7394
  "interfaces": null,
@@ -6934,7 +7533,20 @@
6934
7533
  {
6935
7534
  "name": "discountAllocations",
6936
7535
  "description": "The discounts that have been applied to the cart line.",
6937
- "args": [],
7536
+ "args": [
7537
+ {
7538
+ "name": "lineLevelOnly",
7539
+ "description": "When true, returns only line-level (product) discount allocations. When false, returns all discount allocations including order-level discounts.",
7540
+ "type": {
7541
+ "kind": "SCALAR",
7542
+ "name": "Boolean",
7543
+ "ofType": null
7544
+ },
7545
+ "defaultValue": "true",
7546
+ "isDeprecated": false,
7547
+ "deprecationReason": null
7548
+ }
7549
+ ],
6938
7550
  "type": {
6939
7551
  "kind": "NON_NULL",
6940
7552
  "name": null,
@@ -7058,6 +7670,18 @@
7058
7670
  },
7059
7671
  "isDeprecated": false,
7060
7672
  "deprecationReason": null
7673
+ },
7674
+ {
7675
+ "name": "viewKey",
7676
+ "description": "A stable identifier for the line matching the value exposed in Liquid via the `view_key` filter and accepted as input on `cartLinesUpdate` and `cartLinesRemove`.",
7677
+ "args": [],
7678
+ "type": {
7679
+ "kind": "SCALAR",
7680
+ "name": "String",
7681
+ "ofType": null
7682
+ },
7683
+ "isDeprecated": false,
7684
+ "deprecationReason": null
7061
7685
  }
7062
7686
  ],
7063
7687
  "inputFields": null,
@@ -7441,15 +8065,11 @@
7441
8065
  },
7442
8066
  {
7443
8067
  "name": "id",
7444
- "description": "The ID of the merchandise line.",
8068
+ "description": "The ID of the merchandise line. Mutually exclusive with `viewKey`.",
7445
8069
  "type": {
7446
- "kind": "NON_NULL",
7447
- "name": null,
7448
- "ofType": {
7449
- "kind": "SCALAR",
7450
- "name": "ID",
7451
- "ofType": null
7452
- }
8070
+ "kind": "SCALAR",
8071
+ "name": "ID",
8072
+ "ofType": null
7453
8073
  },
7454
8074
  "defaultValue": null,
7455
8075
  "isDeprecated": false,
@@ -7490,6 +8110,18 @@
7490
8110
  "defaultValue": null,
7491
8111
  "isDeprecated": false,
7492
8112
  "deprecationReason": null
8113
+ },
8114
+ {
8115
+ "name": "viewKey",
8116
+ "description": "The `view_key` of the merchandise line, as exposed in Liquid via the cart line `view_key` filter. Mutually exclusive with `id`.",
8117
+ "type": {
8118
+ "kind": "SCALAR",
8119
+ "name": "String",
8120
+ "ofType": null
8121
+ },
8122
+ "defaultValue": null,
8123
+ "isDeprecated": false,
8124
+ "deprecationReason": null
7493
8125
  }
7494
8126
  ],
7495
8127
  "interfaces": null,
@@ -9227,6 +9859,12 @@
9227
9859
  "description": "Gift cards are not available as a payment method.",
9228
9860
  "isDeprecated": false,
9229
9861
  "deprecationReason": null
9862
+ },
9863
+ {
9864
+ "name": "PRODUCT_UNAVAILABLE_IN_BUYER_LOCATION",
9865
+ "description": "The product is unavailable in the current buyer location.",
9866
+ "isDeprecated": false,
9867
+ "deprecationReason": null
9230
9868
  }
9231
9869
  ],
9232
9870
  "possibleTypes": null
@@ -10794,7 +11432,20 @@
10794
11432
  {
10795
11433
  "name": "discountAllocations",
10796
11434
  "description": "The discounts that have been applied to the cart line.",
10797
- "args": [],
11435
+ "args": [
11436
+ {
11437
+ "name": "lineLevelOnly",
11438
+ "description": "When true, returns only line-level (product) discount allocations. When false, returns all discount allocations including order-level discounts.",
11439
+ "type": {
11440
+ "kind": "SCALAR",
11441
+ "name": "Boolean",
11442
+ "ofType": null
11443
+ },
11444
+ "defaultValue": "true",
11445
+ "isDeprecated": false,
11446
+ "deprecationReason": null
11447
+ }
11448
+ ],
10798
11449
  "type": {
10799
11450
  "kind": "NON_NULL",
10800
11451
  "name": null,
@@ -10914,6 +11565,18 @@
10914
11565
  },
10915
11566
  "isDeprecated": false,
10916
11567
  "deprecationReason": null
11568
+ },
11569
+ {
11570
+ "name": "viewKey",
11571
+ "description": "A stable identifier for the line matching the value exposed in Liquid via the `view_key` filter and accepted as input on `cartLinesUpdate` and `cartLinesRemove`.",
11572
+ "args": [],
11573
+ "type": {
11574
+ "kind": "SCALAR",
11575
+ "name": "String",
11576
+ "ofType": null
11577
+ },
11578
+ "isDeprecated": false,
11579
+ "deprecationReason": null
10917
11580
  }
10918
11581
  ],
10919
11582
  "inputFields": null,
@@ -11080,7 +11743,7 @@
11080
11743
  },
11081
11744
  {
11082
11745
  "name": "market",
11083
- "description": "The market that includes this country.",
11746
+ "description": "The market that applies to this country. In cases where multiple markets match, this returns the most-specific country region market.",
11084
11747
  "args": [],
11085
11748
  "type": {
11086
11749
  "kind": "OBJECT",
@@ -12748,8 +13411,8 @@
12748
13411
  {
12749
13412
  "name": "ANG",
12750
13413
  "description": "Netherlands Antillean Guilder.",
12751
- "isDeprecated": false,
12752
- "deprecationReason": null
13414
+ "isDeprecated": true,
13415
+ "deprecationReason": "`ANG` is deprecated. Use `XCG` instead."
12753
13416
  },
12754
13417
  {
12755
13418
  "name": "AOA",
@@ -13651,6 +14314,12 @@
13651
14314
  "isDeprecated": false,
13652
14315
  "deprecationReason": null
13653
14316
  },
14317
+ {
14318
+ "name": "XCG",
14319
+ "description": "Caribbean Guilder (XCG).",
14320
+ "isDeprecated": false,
14321
+ "deprecationReason": null
14322
+ },
13654
14323
  {
13655
14324
  "name": "XOF",
13656
14325
  "description": "West African CFA franc (XOF).",
@@ -16829,7 +17498,7 @@
16829
17498
  {
16830
17499
  "kind": "ENUM",
16831
17500
  "name": "FilterType",
16832
- "description": "The type of data that the filter group represents.\n\nFor more information, refer to [Filter products in a collection with the Storefront API]\n(https://shopify.dev/custom-storefronts/products-collections/filter-products).\n",
17501
+ "description": "The type of data that the filter group represents.\n\nFor more information, refer to [Filter products in a collection with the Storefront API]\n(https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/products-collections/filter-products).\n",
16833
17502
  "isOneOf": null,
16834
17503
  "fields": null,
16835
17504
  "inputFields": null,
@@ -19256,7 +19925,7 @@
19256
19925
  },
19257
19926
  {
19258
19927
  "name": "market",
19259
- "description": "The market including the country of the active localized experience. Use the `@inContext` directive to change this value.",
19928
+ "description": "The market that applies to the buyer's country. In cases where multiple markets match, this returns the most-specific country region market. Use the `@inContext` directive to change this value.",
19260
19929
  "args": [],
19261
19930
  "type": {
19262
19931
  "kind": "NON_NULL",
@@ -23720,21 +24389,37 @@
23720
24389
  },
23721
24390
  {
23722
24391
  "name": "lineIds",
23723
- "description": "The merchandise line IDs to remove.\n\nThe input must not contain more than `250` values.",
24392
+ "description": "The merchandise line IDs to remove. Mutually exclusive with `viewKeys`.\n\nThe input must not contain more than `250` values.",
23724
24393
  "type": {
23725
- "kind": "NON_NULL",
24394
+ "kind": "LIST",
23726
24395
  "name": null,
23727
24396
  "ofType": {
23728
- "kind": "LIST",
24397
+ "kind": "NON_NULL",
23729
24398
  "name": null,
23730
24399
  "ofType": {
23731
- "kind": "NON_NULL",
23732
- "name": null,
23733
- "ofType": {
23734
- "kind": "SCALAR",
23735
- "name": "ID",
23736
- "ofType": null
23737
- }
24400
+ "kind": "SCALAR",
24401
+ "name": "ID",
24402
+ "ofType": null
24403
+ }
24404
+ }
24405
+ },
24406
+ "defaultValue": null,
24407
+ "isDeprecated": false,
24408
+ "deprecationReason": null
24409
+ },
24410
+ {
24411
+ "name": "viewKeys",
24412
+ "description": "The merchandise line `view_key` values to remove, as exposed in Liquid via the cart line `view_key` filter. Mutually exclusive with `lineIds`.\n\nThe input must not contain more than `250` values.",
24413
+ "type": {
24414
+ "kind": "LIST",
24415
+ "name": null,
24416
+ "ofType": {
24417
+ "kind": "NON_NULL",
24418
+ "name": null,
24419
+ "ofType": {
24420
+ "kind": "SCALAR",
24421
+ "name": "String",
24422
+ "ofType": null
23738
24423
  }
23739
24424
  }
23740
24425
  },
@@ -24719,17 +25404,13 @@
24719
25404
  "name": "paymentRequest",
24720
25405
  "description": "A payment request object.",
24721
25406
  "type": {
24722
- "kind": "NON_NULL",
24723
- "name": null,
24724
- "ofType": {
24725
- "kind": "INPUT_OBJECT",
24726
- "name": "ShopPayPaymentRequestInput",
24727
- "ofType": null
24728
- }
25407
+ "kind": "INPUT_OBJECT",
25408
+ "name": "ShopPayPaymentRequestInput",
25409
+ "ofType": null
24729
25410
  },
24730
25411
  "defaultValue": null,
24731
- "isDeprecated": false,
24732
- "deprecationReason": null
25412
+ "isDeprecated": true,
25413
+ "deprecationReason": "This argument is deprecated and will be removed in a future version."
24733
25414
  },
24734
25415
  {
24735
25416
  "name": "sourceIdentifier",
@@ -27287,7 +27968,7 @@
27287
27968
  },
27288
27969
  {
27289
27970
  "name": "collections",
27290
- "description": "The articles that match the search query.",
27971
+ "description": "The collections that match the search query.",
27291
27972
  "args": [],
27292
27973
  "type": {
27293
27974
  "kind": "NON_NULL",
@@ -28249,7 +28930,7 @@
28249
28930
  },
28250
28931
  {
28251
28932
  "name": "requiresSellingPlan",
28252
- "description": "Whether the product can only be purchased with a [selling plan](/docs/apps/build/purchase-options/subscriptions/selling-plans). Products that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores. If you update a product to be subscription-only (`requiresSellingPlan:false`), then the product is unpublished from all channels, except the online store.",
28933
+ "description": "Whether the product can only be purchased with a [selling plan](/docs/apps/build/purchase-options/subscriptions/selling-plans). Products that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores. If you update a product to be subscription-only (`requiresSellingPlan: true`), then the product is unpublished from all channels, except the online store.",
28253
28934
  "args": [],
28254
28935
  "type": {
28255
28936
  "kind": "NON_NULL",
@@ -31998,7 +32679,7 @@
31998
32679
  },
31999
32680
  {
32000
32681
  "name": "searchableFields",
32001
- "description": "Specifies the list of resource fields to use for search. The default fields searched on are TITLE, PRODUCT_TYPE, VARIANT_TITLE, and VENDOR. For the best search experience, you should search on the default field set.\n\nThe input must not contain more than `250` values.",
32682
+ "description": "Specifies the list of fields to search for page, article, and collection results. If omitted, pages, articles, and collections are searched by title. Product results always search all product fields and ignore this argument.\n\nThe input must not contain more than `250` values.",
32002
32683
  "type": {
32003
32684
  "kind": "LIST",
32004
32685
  "name": null,
@@ -32373,7 +33054,7 @@
32373
33054
  },
32374
33055
  {
32375
33056
  "name": "search",
32376
- "description": "Returns paginated search results for [`Product`](https://shopify.dev/docs/api/storefront/current/objects/Product), [`Page`](https://shopify.dev/docs/api/storefront/current/objects/Page), and [`Article`](https://shopify.dev/docs/api/storefront/current/objects/Article) resources based on a query string. Results are sorted by relevance by default.\n\nThe response includes the total result count and available product filters for building [faceted search interfaces](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/products-collections/filter-products). Use the [`prefix`](https://shopify.dev/docs/api/storefront/current/enums/SearchPrefixQueryType) argument to enable partial word matching on the last search term, allowing queries like \"winter snow\" to match \"snowboard\" or \"snowshoe\".\n",
33057
+ "description": "Returns paginated search results for [`Product`](https://shopify.dev/docs/api/storefront/current/objects/Product), [`Page`](https://shopify.dev/docs/api/storefront/current/objects/Page), and [`Article`](https://shopify.dev/docs/api/storefront/current/objects/Article) resources based on a query string. Results are sorted by relevance by default.\n\nThe response includes the total result count and available product filters for building [faceted search interfaces](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/products-collections/filter-products). A search returns up to 1,000 results. Use the [`prefix`](https://shopify.dev/docs/api/storefront/current/enums/SearchPrefixQueryType) argument to enable partial word matching on the last search term, allowing queries like \"winter snow\" to match \"snowboard\" or \"snowshoe\".\n",
32377
33058
  "args": [
32378
33059
  {
32379
33060
  "name": "after",
@@ -33027,7 +33708,7 @@
33027
33708
  },
33028
33709
  {
33029
33710
  "name": "totalCount",
33030
- "description": "The total number of results.",
33711
+ "description": "The total number of results, up to a maximum of 1,000. If a search matches more than 1,000 results, then it returns 1,000, and pagination returns up to the first 1,000 results.",
33031
33712
  "args": [],
33032
33713
  "type": {
33033
33714
  "kind": "NON_NULL",
@@ -35597,8 +36278,8 @@
35597
36278
  }
35598
36279
  }
35599
36280
  },
35600
- "isDeprecated": false,
35601
- "deprecationReason": null
36281
+ "isDeprecated": true,
36282
+ "deprecationReason": "This field is deprecated and will be removed in a future version."
35602
36283
  },
35603
36284
  {
35604
36285
  "name": "discountCodes",
@@ -36390,8 +37071,8 @@
36390
37071
  }
36391
37072
  },
36392
37073
  "defaultValue": null,
36393
- "isDeprecated": false,
36394
- "deprecationReason": null
37074
+ "isDeprecated": true,
37075
+ "deprecationReason": "This field is deprecated and will be removed in a future version."
36395
37076
  },
36396
37077
  {
36397
37078
  "name": "discountCodes",
@@ -36968,6 +37649,18 @@
36968
37649
  "isDeprecated": false,
36969
37650
  "deprecationReason": null
36970
37651
  },
37652
+ {
37653
+ "name": "shopUser",
37654
+ "description": "The Shop user that authorized the payment request.",
37655
+ "args": [],
37656
+ "type": {
37657
+ "kind": "OBJECT",
37658
+ "name": "ShopPayPaymentRequestShopUser",
37659
+ "ofType": null
37660
+ },
37661
+ "isDeprecated": false,
37662
+ "deprecationReason": null
37663
+ },
36971
37664
  {
36972
37665
  "name": "token",
36973
37666
  "description": "The token of the receipt.",
@@ -37017,16 +37710,12 @@
37017
37710
  "description": "The payment request associated with the Shop Pay payment request session.",
37018
37711
  "args": [],
37019
37712
  "type": {
37020
- "kind": "NON_NULL",
37021
- "name": null,
37022
- "ofType": {
37023
- "kind": "OBJECT",
37024
- "name": "ShopPayPaymentRequest",
37025
- "ofType": null
37026
- }
37713
+ "kind": "OBJECT",
37714
+ "name": "ShopPayPaymentRequest",
37715
+ "ofType": null
37027
37716
  },
37028
- "isDeprecated": false,
37029
- "deprecationReason": null
37717
+ "isDeprecated": true,
37718
+ "deprecationReason": "This field is deprecated and will be removed in a future version."
37030
37719
  },
37031
37720
  {
37032
37721
  "name": "sourceIdentifier",
@@ -37270,6 +37959,30 @@
37270
37959
  "enumValues": null,
37271
37960
  "possibleTypes": null
37272
37961
  },
37962
+ {
37963
+ "kind": "OBJECT",
37964
+ "name": "ShopPayPaymentRequestShopUser",
37965
+ "description": "Represents the Shop user that authorized a Shop Pay payment request.",
37966
+ "isOneOf": null,
37967
+ "fields": [
37968
+ {
37969
+ "name": "publicId",
37970
+ "description": "The public ID of the Shop user.",
37971
+ "args": [],
37972
+ "type": {
37973
+ "kind": "SCALAR",
37974
+ "name": "String",
37975
+ "ofType": null
37976
+ },
37977
+ "isDeprecated": false,
37978
+ "deprecationReason": null
37979
+ }
37980
+ ],
37981
+ "inputFields": null,
37982
+ "interfaces": [],
37983
+ "enumValues": null,
37984
+ "possibleTypes": null
37985
+ },
37273
37986
  {
37274
37987
  "kind": "OBJECT",
37275
37988
  "name": "ShopPayPaymentRequestTotalShippingPrice",
@@ -38011,12 +38724,12 @@
38011
38724
  {
38012
38725
  "kind": "OBJECT",
38013
38726
  "name": "StoreAvailability",
38014
- "description": "Inventory information for a product variant at a physical store location that offers local pickup. Includes stock availability, quantity on hand, and estimated pickup readiness time.\n\nLocal pickup must be [enabled in the store's shipping settings](https://help.shopify.com/manual/shipping/setting-up-and-managing-your-shipping/local-methods/local-pickup) for this data to be returned. Results can be sorted by proximity to a customer's location using the `near` argument on the [`ProductVariant.storeAvailability`](https://shopify.dev/docs/api/storefront/current/objects/ProductVariant#field-ProductVariant.fields.storeAvailability) connection. \n\nLearn more about [supporting local pickup on storefronts](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/products-collections/local-pickup).\n",
38727
+ "description": "Inventory information for a product variant at a physical store location. Includes stock availability, quantity on hand, and estimated pickup readiness time. Availability also includes inventory that can be moved to the location through a store transfer route, so a variant can be available for pickup with no on-hand stock at the location.\n\nLocal pickup is [enabled in the store's shipping settings](https://help.shopify.com/manual/shipping/setting-up-and-managing-your-shipping/local-methods/local-pickup), and a returned location isn't guaranteed to offer it. Results can be sorted by proximity to a customer's location using the `near` argument on the [`ProductVariant.storeAvailability`](https://shopify.dev/docs/api/storefront/current/objects/ProductVariant#field-ProductVariant.fields.storeAvailability) connection. \n\nLearn more about [supporting local pickup on storefronts](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/products-collections/local-pickup).\n",
38015
38728
  "isOneOf": null,
38016
38729
  "fields": [
38017
38730
  {
38018
38731
  "name": "available",
38019
- "description": "Whether the product variant is in-stock at this location.",
38732
+ "description": "Whether the product variant can be picked up at this location. This is `true` when the variant is in stock here, can be supplied through a store transfer from another location, or is sold with untracked or oversellable inventory (its inventory isn't tracked, or its inventory policy allows continuing to sell when out of stock). As a result, `available` can be `true` even when `quantityAvailable` is `0`.",
38020
38733
  "args": [],
38021
38734
  "type": {
38022
38735
  "kind": "NON_NULL",
@@ -38048,7 +38761,7 @@
38048
38761
  },
38049
38762
  {
38050
38763
  "name": "pickUpTime",
38051
- "description": "Returns the estimated amount of time it takes for pickup to be ready (Example: Usually ready in 24 hours).",
38764
+ "description": "Returns the estimated amount of time it takes for pickup to be ready (Example: Usually ready in 24 hours). When the variant is out of stock at this location and supplied through a store transfer, this reflects the estimated transfer transit time when available, otherwise it falls back to the location's standard pickup processing time.",
38052
38765
  "args": [],
38053
38766
  "type": {
38054
38767
  "kind": "NON_NULL",
@@ -38064,7 +38777,7 @@
38064
38777
  },
38065
38778
  {
38066
38779
  "name": "quantityAvailable",
38067
- "description": "The quantity of the product variant in-stock at this location.",
38780
+ "description": "The quantity of the product variant physically in stock at this location. This counts on-hand inventory only and excludes inventory available through a store transfer, so it can be `0` while `available` is `true`.",
38068
38781
  "args": [],
38069
38782
  "type": {
38070
38783
  "kind": "NON_NULL",
@@ -41400,6 +42113,18 @@
41400
42113
  "isDeprecated": false,
41401
42114
  "deprecationReason": null
41402
42115
  },
42116
+ {
42117
+ "name": "channelId",
42118
+ "description": "The channel ID used for context. Overrides the channel from API credentials.",
42119
+ "type": {
42120
+ "kind": "SCALAR",
42121
+ "name": "ID",
42122
+ "ofType": null
42123
+ },
42124
+ "defaultValue": null,
42125
+ "isDeprecated": false,
42126
+ "deprecationReason": null
42127
+ },
41403
42128
  {
41404
42129
  "name": "country",
41405
42130
  "description": "The country code for context. For example, `CA`.",