@tiledev/sdk-shopify 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +650 -50
  2. package/dist/alertSettings.d.ts.map +1 -1
  3. package/dist/alertSettings.js +2 -0
  4. package/dist/alertSettings.js.map +1 -1
  5. package/dist/attribution.d.ts +21 -0
  6. package/dist/attribution.d.ts.map +1 -1
  7. package/dist/attribution.js +17 -0
  8. package/dist/attribution.js.map +1 -1
  9. package/dist/auth/pkce.d.ts +30 -0
  10. package/dist/auth/pkce.d.ts.map +1 -0
  11. package/dist/auth/pkce.js +128 -0
  12. package/dist/auth/pkce.js.map +1 -0
  13. package/dist/auth/session.d.ts +118 -0
  14. package/dist/auth/session.d.ts.map +1 -0
  15. package/dist/auth/session.js +896 -0
  16. package/dist/auth/session.js.map +1 -0
  17. package/dist/auth/storeCredit.d.ts +64 -0
  18. package/dist/auth/storeCredit.d.ts.map +1 -0
  19. package/dist/auth/storeCredit.js +274 -0
  20. package/dist/auth/storeCredit.js.map +1 -0
  21. package/dist/cart.d.ts +25 -1
  22. package/dist/cart.d.ts.map +1 -1
  23. package/dist/cart.js +95 -2
  24. package/dist/cart.js.map +1 -1
  25. package/dist/cartPolicy.js +4 -4
  26. package/dist/checkout.d.ts +123 -0
  27. package/dist/checkout.d.ts.map +1 -0
  28. package/dist/checkout.js +205 -0
  29. package/dist/checkout.js.map +1 -0
  30. package/dist/customer.d.ts.map +1 -1
  31. package/dist/customer.js +8 -0
  32. package/dist/customer.js.map +1 -1
  33. package/dist/index.d.ts +12 -4
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +74 -2
  36. package/dist/index.js.map +1 -1
  37. package/dist/messages.d.ts.map +1 -1
  38. package/dist/messages.js +2 -0
  39. package/dist/messages.js.map +1 -1
  40. package/dist/money.d.ts +16 -0
  41. package/dist/money.d.ts.map +1 -1
  42. package/dist/money.js +55 -0
  43. package/dist/money.js.map +1 -1
  44. package/dist/orders.d.ts +99 -0
  45. package/dist/orders.d.ts.map +1 -0
  46. package/dist/orders.js +439 -0
  47. package/dist/orders.js.map +1 -0
  48. package/dist/productPage.d.ts +100 -0
  49. package/dist/productPage.d.ts.map +1 -0
  50. package/dist/productPage.js +298 -0
  51. package/dist/productPage.js.map +1 -0
  52. package/dist/productStore.d.ts +1 -1
  53. package/dist/productStore.d.ts.map +1 -1
  54. package/dist/productStore.js +63 -5
  55. package/dist/productStore.js.map +1 -1
  56. package/dist/products.d.ts.map +1 -1
  57. package/dist/products.js +15 -3
  58. package/dist/products.js.map +1 -1
  59. package/dist/purchaseRules.d.ts +74 -0
  60. package/dist/purchaseRules.d.ts.map +1 -0
  61. package/dist/purchaseRules.js +73 -0
  62. package/dist/purchaseRules.js.map +1 -0
  63. package/dist/queries.d.ts +15 -13
  64. package/dist/queries.d.ts.map +1 -1
  65. package/dist/queries.js +43 -7
  66. package/dist/queries.js.map +1 -1
  67. package/dist/react/ShopifyProvider.d.ts +167 -25
  68. package/dist/react/ShopifyProvider.d.ts.map +1 -1
  69. package/dist/react/ShopifyProvider.js +352 -207
  70. package/dist/react/ShopifyProvider.js.map +1 -1
  71. package/dist/react/appForeground.d.ts +6 -0
  72. package/dist/react/appForeground.d.ts.map +1 -0
  73. package/dist/react/appForeground.js +19 -0
  74. package/dist/react/appForeground.js.map +1 -0
  75. package/dist/react/appForeground.native.d.ts +2 -0
  76. package/dist/react/appForeground.native.d.ts.map +1 -0
  77. package/dist/react/appForeground.native.js +23 -0
  78. package/dist/react/appForeground.native.js.map +1 -0
  79. package/dist/react/index.d.ts +7 -1
  80. package/dist/react/index.d.ts.map +1 -1
  81. package/dist/react/index.js +23 -1
  82. package/dist/react/index.js.map +1 -1
  83. package/dist/react/tileCreditClient.d.ts +4 -0
  84. package/dist/react/tileCreditClient.d.ts.map +1 -0
  85. package/dist/react/tileCreditClient.js +27 -0
  86. package/dist/react/tileCreditClient.js.map +1 -0
  87. package/dist/react/useAppDiscountCode.d.ts +19 -0
  88. package/dist/react/useAppDiscountCode.d.ts.map +1 -0
  89. package/dist/react/useAppDiscountCode.js +44 -0
  90. package/dist/react/useAppDiscountCode.js.map +1 -0
  91. package/dist/react/useCartStoreCredit.d.ts +25 -0
  92. package/dist/react/useCartStoreCredit.d.ts.map +1 -0
  93. package/dist/react/useCartStoreCredit.js +292 -0
  94. package/dist/react/useCartStoreCredit.js.map +1 -0
  95. package/dist/react/useOrders.d.ts +104 -0
  96. package/dist/react/useOrders.d.ts.map +1 -0
  97. package/dist/react/useOrders.js +287 -0
  98. package/dist/react/useOrders.js.map +1 -0
  99. package/dist/react/useProduct.d.ts.map +1 -1
  100. package/dist/react/useProduct.js +1 -9
  101. package/dist/react/useProduct.js.map +1 -1
  102. package/dist/react/useProductPage.d.ts +148 -0
  103. package/dist/react/useProductPage.d.ts.map +1 -0
  104. package/dist/react/useProductPage.js +178 -0
  105. package/dist/react/useProductPage.js.map +1 -0
  106. package/dist/react/useProductRecommendations.d.ts +27 -0
  107. package/dist/react/useProductRecommendations.d.ts.map +1 -0
  108. package/dist/react/useProductRecommendations.js +76 -0
  109. package/dist/react/useProductRecommendations.js.map +1 -0
  110. package/dist/react/useStoreCredit.d.ts +58 -0
  111. package/dist/react/useStoreCredit.d.ts.map +1 -0
  112. package/dist/react/useStoreCredit.js +209 -0
  113. package/dist/react/useStoreCredit.js.map +1 -0
  114. package/dist/react/useTileCredit.d.ts +4 -3
  115. package/dist/react/useTileCredit.d.ts.map +1 -1
  116. package/dist/react/useTileCredit.js +63 -55
  117. package/dist/react/useTileCredit.js.map +1 -1
  118. package/dist/shopify.d.ts.map +1 -1
  119. package/dist/shopify.js +2 -0
  120. package/dist/shopify.js.map +1 -1
  121. package/dist/storedList.d.ts +27 -0
  122. package/dist/storedList.d.ts.map +1 -0
  123. package/dist/storedList.js +152 -0
  124. package/dist/storedList.js.map +1 -0
  125. package/dist/tileCredit.d.ts +25 -10
  126. package/dist/tileCredit.d.ts.map +1 -1
  127. package/dist/tileCredit.js +97 -45
  128. package/dist/tileCredit.js.map +1 -1
  129. package/dist/types.d.ts +407 -34
  130. package/dist/types.d.ts.map +1 -1
  131. package/dist/types.js +1 -2
  132. package/dist/types.js.map +1 -1
  133. package/dist/variants.d.ts.map +1 -1
  134. package/dist/variants.js +4 -3
  135. package/dist/variants.js.map +1 -1
  136. package/dist/waitlist.d.ts +4 -0
  137. package/dist/waitlist.d.ts.map +1 -0
  138. package/dist/waitlist.js +213 -0
  139. package/dist/waitlist.js.map +1 -0
  140. package/dist/wishlist.d.ts.map +1 -1
  141. package/dist/wishlist.js +70 -47
  142. package/dist/wishlist.js.map +1 -1
  143. package/package.json +2 -2
@@ -9,15 +9,19 @@ exports.redeemAndApplyToCart = redeemAndApplyToCart;
9
9
  /**
10
10
  * Tile Credit — customer wallet + gift-card mint client.
11
11
  *
12
- * A typed, error-normalized wrapper around the tile-credit Cloud Run
13
- * service. Talks to `/public/*` on behalf of one signed-in customer.
14
- * The service resolves shop → appId internally; callers never pass an
15
- * appId, only the shop domain + the customer access token.
12
+ * A typed, error-normalized wrapper around the tile-credit service (`https://tile-credit.apptile.io`).
13
+ * Talks to `/public/*` on behalf of one signed-in customer: `Authorization: Customer <token>` and
14
+ * `x-shopify-shop-domain`. The service resolves shop → appId itself.
16
15
  *
17
- * See `docs/tile-credit-integration.md` for the mobile flow (wallet
18
- * screen → redeem sheet → apply to cart), the idempotency contract, and
19
- * the error taxonomy. This file is deliberately dependency-free (pure
20
- * `fetch`) so it can be lifted into any tile SDK.
16
+ * How the money moves (the service's reserve-at-mint model): **redeeming reserves, it doesn't charge.**
17
+ * `redeem` mints a Shopify gift card for the amount and reserves it; the wallet is charged only for
18
+ * what an order actually uses (`orders/create`), so the balance is unchanged by a redeem. One card is
19
+ * active per customer: a new redeem disables the previous one. The same idempotency key returns the
20
+ * same card (`duplicate: true`), but two redeems at once with different keys mint two cards, so a
21
+ * caller allows one at a time (`useCartStoreCredit` does).
22
+ *
23
+ * The token is read before every request (`getAccessToken`) and renewed once on a 401
24
+ * (`renewAccessToken`). This file is dependency-free (pure `fetch`).
21
25
  */
22
26
  const client_1 = require("./client");
23
27
  const cart_1 = require("./cart");
@@ -77,21 +81,58 @@ const DEFAULT_TIMEOUT = 20000;
77
81
  exports.DEFAULT_TILE_CREDIT_BASE_URL = 'https://tile-credit.apptile.io';
78
82
  class TileCreditClient {
79
83
  constructor(config) {
80
- var _a;
81
- if (!config.customerAccessToken)
82
- throw new Error('TileCreditClient: customerAccessToken is required');
84
+ var _a, _b, _c;
85
+ const fixed = config.customerAccessToken;
86
+ if (!config.getAccessToken && !fixed)
87
+ throw new Error('TileCreditClient: getAccessToken or customerAccessToken is required');
83
88
  if (!config.shopDomain)
84
89
  throw new Error('TileCreditClient: shopDomain is required');
85
90
  // baseUrl is optional — falls back to the hosted tile-credit service.
86
91
  this.baseUrl = (config.baseUrl || exports.DEFAULT_TILE_CREDIT_BASE_URL).replace(/\/+$/, '');
87
- this.token = config.customerAccessToken;
92
+ this.getAccessToken = (_a = config.getAccessToken) !== null && _a !== void 0 ? _a : (async () => fixed !== null && fixed !== void 0 ? fixed : null);
93
+ this.renewAccessToken = (_b = config.renewAccessToken) !== null && _b !== void 0 ? _b : null;
88
94
  this.shopDomain = config.shopDomain.toLowerCase();
89
95
  this.signal = config.signal;
90
- this.timeoutMs = (_a = config.timeoutMs) !== null && _a !== void 0 ? _a : DEFAULT_TIMEOUT;
96
+ this.timeoutMs = (_c = config.timeoutMs) !== null && _c !== void 0 ? _c : DEFAULT_TIMEOUT;
91
97
  }
92
98
  // ─── HTTP core ──────────────────────────────────────────────────────────
99
+ /**
100
+ * One request with a token read just now. A 401 renews the token once (`renewAccessToken`) and sends
101
+ * the request again; a second 401, or no new token, is `unauthorized`. Nothing here signs anyone out:
102
+ * the service also answers 401 for a shop it doesn't know.
103
+ */
93
104
  async call(path, init = {}) {
94
- var _a, _b;
105
+ const token = await this.tokenOrThrow(() => this.getAccessToken());
106
+ const first = await this.send(path, init, token);
107
+ if (first.status !== 401 || !this.renewAccessToken)
108
+ return this.read(first);
109
+ const renew = this.renewAccessToken;
110
+ const renewed = await this.tokenOrThrow(() => renew()).catch((error) => {
111
+ // No new token: the service's own answer stands.
112
+ if (error instanceof types_1.TileCreditError && error.code === 'unauthorized')
113
+ return null;
114
+ throw error;
115
+ });
116
+ if (!renewed)
117
+ return this.read(first);
118
+ return this.read(await this.send(path, init, renewed));
119
+ }
120
+ /** A token from `source`, or `unauthorized` (signed out) / `network` (couldn't be renewed). */
121
+ async tokenOrThrow(source) {
122
+ let token;
123
+ try {
124
+ token = await source();
125
+ }
126
+ catch (error) {
127
+ const msg = error instanceof Error ? error.message : String(error);
128
+ throw new types_1.TileCreditError('network', `Couldn't get the customer's token: ${msg}`);
129
+ }
130
+ if (!token)
131
+ throw new types_1.TileCreditError('unauthorized', 'No signed-in customer');
132
+ return token;
133
+ }
134
+ async send(path, init, token) {
135
+ var _a;
95
136
  // Combine the constructor signal with a per-request timeout signal so
96
137
  // either can cancel the fetch; AbortController.abort() is idempotent.
97
138
  const controller = new AbortController();
@@ -110,7 +151,7 @@ class TileCreditClient {
110
151
  headers: {
111
152
  'content-type': 'application/json',
112
153
  accept: 'application/json',
113
- Authorization: `Customer ${this.token}`,
154
+ Authorization: `Customer ${token}`,
114
155
  'x-shopify-shop-domain': this.shopDomain,
115
156
  },
116
157
  body: init.body === undefined ? undefined : JSON.stringify(init.body),
@@ -126,16 +167,9 @@ class TileCreditClient {
126
167
  body = { error: text.slice(0, 500) };
127
168
  }
128
169
  }
129
- if (!res.ok) {
130
- const code = statusToCode(res.status);
131
- const msg = (body && (body.message || body.error)) || `${res.status} ${res.statusText}`;
132
- throw new types_1.TileCreditError(code, msg, res.status, (_b = body === null || body === void 0 ? void 0 : body.details) !== null && _b !== void 0 ? _b : undefined);
133
- }
134
- return body;
170
+ return { status: res.status, ok: res.ok, statusText: res.statusText, body };
135
171
  }
136
172
  catch (e) {
137
- if (e instanceof types_1.TileCreditError)
138
- throw e;
139
173
  // fetch throws on network / timeout / abort — normalize to `network`.
140
174
  const msg = e instanceof Error ? e.message : String(e);
141
175
  throw new types_1.TileCreditError('network', `${url} → ${msg}`);
@@ -146,7 +180,16 @@ class TileCreditClient {
146
180
  this.signal.removeEventListener('abort', outerAbort);
147
181
  }
148
182
  }
149
- // ─── Public API — one method per endpoint (docs §4) ─────────────────────
183
+ read(res) {
184
+ var _a, _b;
185
+ if (!res.ok) {
186
+ const code = statusToCode(res.status);
187
+ const msg = (res.body && (res.body.message || res.body.error)) || `${res.status} ${res.statusText}`;
188
+ throw new types_1.TileCreditError(code, msg, res.status, (_b = (_a = res.body) === null || _a === void 0 ? void 0 : _a.details) !== null && _b !== void 0 ? _b : undefined);
189
+ }
190
+ return res.body;
191
+ }
192
+ // ─── Public API — one method per endpoint ───────────────────────────────
150
193
  async getWallet() {
151
194
  const raw = await this.call('/public/me');
152
195
  return {
@@ -184,7 +227,7 @@ class TileCreditClient {
184
227
  };
185
228
  }
186
229
  /**
187
- * Ledger + gift-cards joined into one history feed (docs §4.6). Each redeem
230
+ * Ledger + gift-cards joined into one history feed. Each redeem
188
231
  * row gets `.card` populated with the masked info (last4 / status / expiry)
189
232
  * so you can render "•••• adf7 · depleted" in one pass. Non-redeem rows
190
233
  * pass through unchanged with `card: null`.
@@ -228,12 +271,11 @@ class TileCreditClient {
228
271
  }
229
272
  exports.TileCreditClient = TileCreditClient;
230
273
  // ---------------------------------------------------------------------------
231
- // Facade — configured once, reused across screens (docs §7)
274
+ // Facade — one client for callers without React
232
275
  // ---------------------------------------------------------------------------
233
276
  let activeClient = null;
234
- /** Configure the singleton client for the current customer session. Safe to
235
- * call multiple times — replaces the instance. Rebuild on logout / new
236
- * customer (`token` is baked in for the lifetime of the instance). */
277
+ /** Configure the shared client. Safe to call multiple times — it replaces the instance. With a fixed
278
+ * `customerAccessToken`, configure again for each new token; with `getAccessToken` it stays fresh. */
237
279
  function configureTileCredit(config) {
238
280
  activeClient = new TileCreditClient(config);
239
281
  return activeClient;
@@ -242,33 +284,43 @@ function getTileCreditClient() {
242
284
  return activeClient;
243
285
  }
244
286
  /**
245
- * Mint a gift card and apply it to the given cart — the "one function that
246
- * does it all" from the integration guide (§5.7). If `countryFallback` is
247
- * omitted, the shop's `localization.country.isoCode` is used. The buyer
248
- * identity update is a no-op when the cart already has a countryCode, so
249
- * calling this on a freshly created cart is safe.
287
+ * @deprecated Use `useCartStoreCredit()` in a React app: it allows one Apply at a time, finds its card
288
+ * on the cart, and writes through the provider's cart queue (this writes to the cart directly, so the
289
+ * provider's cart state is stale until it reads the cart again). Kept for callers without React.
290
+ *
291
+ * Mints a gift card with the shared client and adds it to the cart, keeping the cart's other gift
292
+ * cards (`cartGiftCardCodesAdd`; this used `cartGiftCardCodesUpdate`, which took them off). The cart's
293
+ * country is set only when it has none (`countryFallback`, else the shop's), keeping its email, and the
294
+ * shopper when `customerAccessToken` is passed; it used to replace the identity with the country alone,
295
+ * which dropped both. Throws `TileCreditError('cart_refused')` when Shopify didn't put the card on the
296
+ * cart; the card then only holds the credit (nothing is charged), and the next redeem disables it.
250
297
  */
251
298
  async function redeemAndApplyToCart(opts) {
252
- var _a, _b, _c;
299
+ var _a;
253
300
  if (!activeClient) {
254
301
  throw new types_1.TileCreditError('unauthorized', 'Tile Credit not configured — call shopify.tileCredit.configure(...)');
255
302
  }
256
- // Ensure the Shopify SDK is initialized — we need its Storefront client
257
- // to run cartBuyerIdentityUpdate + cartGiftCardCodesUpdate below.
303
+ // Ensure the Shopify SDK is initialized — its Storefront client writes the cart below.
258
304
  (0, client_1.getConfig)(); // throws with a friendly message if init() wasn't called
259
- // 1. Mint the credit (idempotent — pass a key if you want crash-safe retry).
305
+ const current = await cart_1.cart.get(opts.cartId);
306
+ if (!current)
307
+ throw new types_1.TileCreditError('cart_refused', 'The cart no longer exists');
308
+ // Mint the credit (the same key returns the same card, so a retry never mints a second).
260
309
  const redeemed = await activeClient.redeem({
261
310
  amountCents: opts.amountCents,
262
311
  idempotencyKey: opts.idempotencyKey,
263
312
  reason: (_a = opts.reason) !== null && _a !== void 0 ? _a : 'Wallet redemption',
264
313
  });
265
- // 2. Ensure the cart has a buyerIdentity.countryCode so Shopify accepts
266
- // the gift card as a payment tender. No-op if already set to the same
267
- // value; belt-and-suspenders per the integration guide.
268
- const country = (_c = (_b = opts.countryFallback) !== null && _b !== void 0 ? _b : (await money_1.shop.countryCode())) !== null && _c !== void 0 ? _c : 'US';
269
- await cart_1.cart.setBuyerIdentity(opts.cartId, { countryCode: country });
270
- // 3. Apply. `applyGiftCardCodes` asserts no userErrors internally.
271
- const cart = await cart_1.cart.applyGiftCardCodes(opts.cartId, [redeemed.code]);
314
+ const { cart, notApplied } = await (0, cart_1.addGiftCardsKeepingBuyer)(current, [redeemed.code], {
315
+ countryCode: async () => { var _a, _b; return (_b = (_a = opts.countryFallback) !== null && _a !== void 0 ? _a : (await money_1.shop.countryCode())) !== null && _b !== void 0 ? _b : 'US'; },
316
+ customerAccessToken: opts.customerAccessToken,
317
+ });
318
+ if (notApplied.length) {
319
+ throw new types_1.TileCreditError('cart_refused', `Shopify didn't apply the gift card ending in ${redeemed.last4}`, undefined, {
320
+ last4: redeemed.last4,
321
+ giftCardGid: redeemed.giftCardGid,
322
+ });
323
+ }
272
324
  return { redeemed, cart };
273
325
  }
274
326
  //# sourceMappingURL=tileCredit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tileCredit.js","sourceRoot":"","sources":["../src/tileCredit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tileCredit.js","sourceRoot":"","sources":["../src/tileCredit.ts"],"names":[],"mappings":"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"}