@cimplify/sdk 0.107.1 → 0.108.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 (49) hide show
  1. package/dist/advanced.d.mts +3 -3
  2. package/dist/advanced.d.ts +3 -3
  3. package/dist/advanced.js +20 -20
  4. package/dist/advanced.mjs +1 -1
  5. package/dist/{catalogue-AmW4XjaN.d.ts → catalogue-B4eLL8Mi.d.ts} +1 -1
  6. package/dist/{catalogue-rWd71Xi-.d.mts → catalogue-OT89_Ifs.d.mts} +1 -1
  7. package/dist/{chunk-THSYGWUA.js → chunk-5QW7CQBA.js} +2 -2
  8. package/dist/{chunk-CEML2737.js → chunk-EDK3LNM6.js} +87 -87
  9. package/dist/{chunk-ONII7K3T.js → chunk-F7J3HK27.js} +34 -0
  10. package/dist/{chunk-NZMU7UUA.mjs → chunk-JVODCGFP.mjs} +1 -1
  11. package/dist/{chunk-T4OU77DM.mjs → chunk-SUCE7FWA.mjs} +1 -1
  12. package/dist/{chunk-OTPLI3JY.mjs → chunk-U6ACF76H.mjs} +35 -2
  13. package/dist/{client-ni-CfOSO.d.ts → client-B878xeAP.d.ts} +2 -2
  14. package/dist/{client-DlTJ2hUM.d.mts → client-BSP9U1O1.d.mts} +2 -2
  15. package/dist/{elements-BF1Y4aOi.d.mts → elements-Bty6Qs_N.d.mts} +26 -1
  16. package/dist/{elements-BF1Y4aOi.d.ts → elements-Bty6Qs_N.d.ts} +26 -1
  17. package/dist/{index-CZ0bJm6k.d.ts → index-B7oA_1XI.d.ts} +2 -2
  18. package/dist/{index-DML_W635.d.mts → index-CQStGb3B.d.mts} +2 -2
  19. package/dist/{index-DU7vffby.d.ts → index-DJwXmoaP.d.ts} +2 -2
  20. package/dist/{index-DopYJKDL.d.mts → index-DhUSTAhT.d.mts} +2 -2
  21. package/dist/index.d.mts +21 -8
  22. package/dist/index.d.ts +21 -8
  23. package/dist/index.js +72 -68
  24. package/dist/index.mjs +3 -3
  25. package/dist/{price-DI_U5oXU.d.mts → price-CSztR02F.d.mts} +1 -1
  26. package/dist/{price-B5t2mpsE.d.ts → price-C_vasx9A.d.ts} +1 -1
  27. package/dist/react.d.mts +3 -3
  28. package/dist/react.d.ts +3 -3
  29. package/dist/react.js +31 -31
  30. package/dist/react.mjs +2 -2
  31. package/dist/{server-BItJAUTD.d.ts → server-B6dW7-Lj.d.mts} +1 -1
  32. package/dist/{server-Dq70vD7z.d.mts → server-Dckg4Vdr.d.ts} +1 -1
  33. package/dist/server.d.mts +3 -3
  34. package/dist/server.d.ts +3 -3
  35. package/dist/server.js +7 -7
  36. package/dist/server.mjs +2 -2
  37. package/dist/testing/msw.d.mts +2 -2
  38. package/dist/testing/msw.d.ts +2 -2
  39. package/dist/testing/suite.d.mts +5 -5
  40. package/dist/testing/suite.d.ts +5 -5
  41. package/dist/testing/suite.js +23 -23
  42. package/dist/testing/suite.mjs +3 -3
  43. package/dist/testing.d.mts +4 -4
  44. package/dist/testing.d.ts +4 -4
  45. package/dist/testing.js +115 -115
  46. package/dist/testing.mjs +4 -4
  47. package/dist/utils.d.mts +3 -3
  48. package/dist/utils.d.ts +3 -3
  49. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkXREIZ56K_js = require('./chunk-XREIZ56K.js');
4
- var chunkONII7K3T_js = require('./chunk-ONII7K3T.js');
4
+ var chunkF7J3HK27_js = require('./chunk-F7J3HK27.js');
5
5
  var chunkANT574FD_js = require('./chunk-ANT574FD.js');
6
6
 
7
7
  // src/types/observability.ts
@@ -66,23 +66,23 @@ var PurchaseIntentResolver = class {
66
66
  const requestOptions = { signal: options.signal, timeoutMs: options.requestTimeoutMs };
67
67
  this.ensureActive(options.signal);
68
68
  this.notify(options, chunkANT574FD_js.PURCHASE_INTENT_RESOLVE_STATUS.CONFIRMING);
69
- let responseResult = options.initialResponse ? chunkONII7K3T_js.ok(options.initialResponse) : await this.confirmation.confirm(intentId, request, requestOptions);
69
+ let responseResult = options.initialResponse ? chunkF7J3HK27_js.ok(options.initialResponse) : await this.confirmation.confirm(intentId, request, requestOptions);
70
70
  while (responseResult.ok) {
71
71
  this.ensureActive(options.signal);
72
72
  const response = responseResult.value;
73
73
  switch (response.status) {
74
74
  case chunkANT574FD_js.PURCHASE_INTENT_CONFIRM_STATUS.ORDER_CREATED:
75
75
  this.notify(options, chunkANT574FD_js.PURCHASE_INTENT_RESOLVE_STATUS.COMPLETED, response);
76
- return chunkONII7K3T_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.COMPLETED, response });
76
+ return chunkF7J3HK27_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.COMPLETED, response });
77
77
  case chunkANT574FD_js.PURCHASE_INTENT_CONFIRM_STATUS.PAYMENT_FAILED:
78
78
  this.notify(options, chunkANT574FD_js.PURCHASE_INTENT_RESOLVE_STATUS.FAILED, response);
79
- return chunkONII7K3T_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.FAILED, response });
79
+ return chunkF7J3HK27_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.FAILED, response });
80
80
  case chunkANT574FD_js.PURCHASE_INTENT_CONFIRM_STATUS.PAYMENT_OUTCOME_UNKNOWN:
81
81
  this.notify(options, chunkANT574FD_js.PURCHASE_INTENT_RESOLVE_STATUS.OUTCOME_UNKNOWN, response);
82
- return chunkONII7K3T_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.OUTCOME_UNKNOWN, response });
82
+ return chunkF7J3HK27_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.OUTCOME_UNKNOWN, response });
83
83
  case chunkANT574FD_js.PURCHASE_INTENT_CONFIRM_STATUS.COLLECTION_PROCESSING:
84
84
  if (pollAttempts >= maxPollAttempts) {
85
- return chunkONII7K3T_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.TIMED_OUT, response });
85
+ return chunkF7J3HK27_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.TIMED_OUT, response });
86
86
  }
87
87
  pollAttempts += 1;
88
88
  this.notify(options, chunkANT574FD_js.PURCHASE_INTENT_RESOLVE_STATUS.POLLING, response);
@@ -94,16 +94,16 @@ var PurchaseIntentResolver = class {
94
94
  case chunkANT574FD_js.PURCHASE_INTENT_CONFIRM_STATUS.AUTHORIZATION_REQUIRED: {
95
95
  this.notify(options, chunkANT574FD_js.PURCHASE_INTENT_RESOLVE_STATUS.AWAITING_ACTION, response);
96
96
  if (!options.onActionRequired || actionSteps >= maxActionSteps) {
97
- return chunkONII7K3T_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.ACTION_REQUIRED, response });
97
+ return chunkF7J3HK27_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.ACTION_REQUIRED, response });
98
98
  }
99
99
  actionSteps += 1;
100
100
  const decision = await options.onActionRequired(response);
101
101
  if (decision === chunkANT574FD_js.PURCHASE_INTENT_ACTION_DECISION.STOP) {
102
- return chunkONII7K3T_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.ACTION_REQUIRED, response });
102
+ return chunkF7J3HK27_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.ACTION_REQUIRED, response });
103
103
  }
104
104
  if (typeof decision === "object" && decision.kind === chunkANT574FD_js.PURCHASE_INTENT_ACTION_DECISION.SUBMIT) {
105
105
  if (!this.confirmation.submitAction) {
106
- return chunkONII7K3T_js.err(
106
+ return chunkF7J3HK27_js.err(
107
107
  new chunkANT574FD_js.CimplifyError(
108
108
  chunkANT574FD_js.PURCHASE_INTENT_ERROR_CODE.ACTION_UNSUPPORTED,
109
109
  "This confirmation transport cannot submit purchase-intent actions.",
@@ -120,7 +120,7 @@ var PurchaseIntentResolver = class {
120
120
  continue;
121
121
  }
122
122
  if (decision !== chunkANT574FD_js.PURCHASE_INTENT_ACTION_DECISION.CONTINUE) {
123
- return chunkONII7K3T_js.err(
123
+ return chunkF7J3HK27_js.err(
124
124
  new chunkANT574FD_js.CimplifyError(
125
125
  chunkANT574FD_js.PURCHASE_INTENT_ERROR_CODE.ACTION_UNSUPPORTED,
126
126
  "The action callback returned an unsupported decision.",
@@ -135,12 +135,12 @@ var PurchaseIntentResolver = class {
135
135
  case chunkANT574FD_js.PURCHASE_INTENT_CONFIRM_STATUS.TERMS_CHANGED: {
136
136
  this.notify(options, chunkANT574FD_js.PURCHASE_INTENT_RESOLVE_STATUS.REVIEWING_TERMS, response);
137
137
  if (!options.onTermsChanged || termsReviewSteps >= maxTermsReviewSteps) {
138
- return chunkONII7K3T_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.REVIEW_REQUIRED, response });
138
+ return chunkF7J3HK27_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.REVIEW_REQUIRED, response });
139
139
  }
140
140
  termsReviewSteps += 1;
141
141
  const replacementRequest = await options.onTermsChanged(response);
142
142
  if (!replacementRequest) {
143
- return chunkONII7K3T_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.REVIEW_REQUIRED, response });
143
+ return chunkF7J3HK27_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.REVIEW_REQUIRED, response });
144
144
  }
145
145
  request = replacementRequest;
146
146
  responseResult = await this.confirmation.confirm(intentId, request, requestOptions);
@@ -149,7 +149,7 @@ var PurchaseIntentResolver = class {
149
149
  case chunkANT574FD_js.PURCHASE_INTENT_CONFIRM_STATUS.SELECTION_UNAVAILABLE:
150
150
  case chunkANT574FD_js.PURCHASE_INTENT_CONFIRM_STATUS.OFFER_ENDED:
151
151
  case chunkANT574FD_js.PURCHASE_INTENT_CONFIRM_STATUS.SOURCE_UNAVAILABLE:
152
- return chunkONII7K3T_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.REVIEW_REQUIRED, response });
152
+ return chunkF7J3HK27_js.ok({ kind: chunkANT574FD_js.PURCHASE_INTENT_RESOLUTION_KIND.REVIEW_REQUIRED, response });
153
153
  }
154
154
  }
155
155
  return responseResult;
@@ -192,7 +192,7 @@ var PurchaseIntentService = class {
192
192
  this.resolver = new PurchaseIntentResolver({ confirmation: this });
193
193
  }
194
194
  mint(request, options) {
195
- return chunkONII7K3T_js.safe(
195
+ return chunkF7J3HK27_js.safe(
196
196
  this.transport.post(PURCHASE_INTENT_ROUTE.DIRECT_COLLECTION, request, {
197
197
  idempotencyKey: request.client_intent_key,
198
198
  signal: options?.signal,
@@ -201,7 +201,7 @@ var PurchaseIntentService = class {
201
201
  );
202
202
  }
203
203
  get(intentId, options) {
204
- return chunkONII7K3T_js.safe(
204
+ return chunkF7J3HK27_js.safe(
205
205
  this.transport.get(this.intentPath(intentId), {
206
206
  signal: options?.signal,
207
207
  timeoutMs: options?.timeoutMs
@@ -212,7 +212,7 @@ var PurchaseIntentService = class {
212
212
  const request = {
213
213
  expected_intent_revision: expectedRevision
214
214
  };
215
- return chunkONII7K3T_js.safe(
215
+ return chunkF7J3HK27_js.safe(
216
216
  this.transport.post(
217
217
  `${this.intentPath(intentId)}/${PURCHASE_INTENT_ROUTE.REFRESH}`,
218
218
  request,
@@ -224,7 +224,7 @@ var PurchaseIntentService = class {
224
224
  );
225
225
  }
226
226
  confirm(intentId, request, options) {
227
- return chunkONII7K3T_js.safe(
227
+ return chunkF7J3HK27_js.safe(
228
228
  this.transport.post(
229
229
  `${this.intentPath(intentId)}/${PURCHASE_INTENT_ROUTE.CONFIRM}`,
230
230
  request,
@@ -239,7 +239,7 @@ var PurchaseIntentService = class {
239
239
  submitAction(intentId, attemptId, request, options) {
240
240
  const normalizedAttemptId = attemptId.trim();
241
241
  if (!normalizedAttemptId) throw new TypeError("attemptId must not be empty");
242
- return chunkONII7K3T_js.safe(
242
+ return chunkF7J3HK27_js.safe(
243
243
  this.transport.post(
244
244
  `${this.intentPath(intentId)}/${PURCHASE_INTENT_ROUTE.ATTEMPTS}/${encodeURIComponent(normalizedAttemptId)}/${PURCHASE_INTENT_ROUTE.ACTIONS}`,
245
245
  request,
@@ -271,7 +271,7 @@ var HostedPurchaseIntentService = class {
271
271
  this.resolver = new PurchaseIntentResolver({ confirmation: this });
272
272
  }
273
273
  prepare(request, options) {
274
- return chunkONII7K3T_js.safe(
274
+ return chunkF7J3HK27_js.safe(
275
275
  this.transport.post(
276
276
  `${this.sessionPath}/${PURCHASE_INTENT_ROUTE.PREPARE}`,
277
277
  request,
@@ -284,7 +284,7 @@ var HostedPurchaseIntentService = class {
284
284
  );
285
285
  }
286
286
  confirm(_intentId, request, options) {
287
- return chunkONII7K3T_js.safe(
287
+ return chunkF7J3HK27_js.safe(
288
288
  this.transport.post(
289
289
  `${this.sessionPath}/${PURCHASE_INTENT_ROUTE.CONFIRM}`,
290
290
  request,
@@ -297,7 +297,7 @@ var HostedPurchaseIntentService = class {
297
297
  );
298
298
  }
299
299
  replay(options) {
300
- return chunkONII7K3T_js.safe(
300
+ return chunkF7J3HK27_js.safe(
301
301
  this.transport.get(
302
302
  `${this.sessionPath}/${PURCHASE_INTENT_ROUTE.REPLAY}`,
303
303
  {
@@ -310,7 +310,7 @@ var HostedPurchaseIntentService = class {
310
310
  submitAction(_intentId, attemptId, request, options) {
311
311
  const normalized = attemptId.trim();
312
312
  if (!normalized) throw new TypeError("attemptId must not be empty");
313
- return chunkONII7K3T_js.safe(
313
+ return chunkF7J3HK27_js.safe(
314
314
  this.transport.post(
315
315
  `${this.sessionPath}/${PURCHASE_INTENT_ROUTE.ATTEMPTS}/${encodeURIComponent(normalized)}/${PURCHASE_INTENT_ROUTE.ACTIONS}`,
316
316
  request,
@@ -336,7 +336,7 @@ var StoreCreditQueries = class {
336
336
  * currency. Requires a signed-in customer; returns an error otherwise.
337
337
  */
338
338
  async balance() {
339
- return chunkONII7K3T_js.safe(this.client.get("/api/v1/store-credit/balance"));
339
+ return chunkF7J3HK27_js.safe(this.client.get("/api/v1/store-credit/balance"));
340
340
  }
341
341
  };
342
342
 
@@ -712,7 +712,7 @@ var ActivityService = class {
712
712
  this.sendEvents([event]);
713
713
  }
714
714
  async getState() {
715
- return chunkONII7K3T_js.safe(this.client.get("/api/v1/activity/state"));
715
+ return chunkF7J3HK27_js.safe(this.client.get("/api/v1/activity/state"));
716
716
  }
717
717
  async getRecommendations(options) {
718
718
  const params = new URLSearchParams();
@@ -720,10 +720,10 @@ var ActivityService = class {
720
720
  if (options?.limit) params.set("limit", String(options.limit));
721
721
  const query = params.toString();
722
722
  const path = query ? `/api/v1/activity/recommendations?${query}` : "/api/v1/activity/recommendations";
723
- return chunkONII7K3T_js.safe(this.client.get(path));
723
+ return chunkF7J3HK27_js.safe(this.client.get(path));
724
724
  }
725
725
  async dismissMessage(code) {
726
- return chunkONII7K3T_js.safe(
726
+ return chunkF7J3HK27_js.safe(
727
727
  this.client.post("/api/v1/activity/messages/dismiss", { code })
728
728
  );
729
729
  }
@@ -834,16 +834,16 @@ var SubscriptionService = class {
834
834
  this.client = client;
835
835
  }
836
836
  async list() {
837
- return chunkONII7K3T_js.safe(this.client.get("/api/v1/subscriptions"));
837
+ return chunkF7J3HK27_js.safe(this.client.get("/api/v1/subscriptions"));
838
838
  }
839
839
  async get(id) {
840
840
  const encodedId = encodeURIComponent(id);
841
- return chunkONII7K3T_js.safe(this.client.get(`/api/v1/subscriptions/${encodedId}`));
841
+ return chunkF7J3HK27_js.safe(this.client.get(`/api/v1/subscriptions/${encodedId}`));
842
842
  }
843
843
  async cancel(id, reason, opts) {
844
844
  const encodedId = encodeURIComponent(id);
845
- const idempotencyKey = opts?.idempotencyKey ?? chunkONII7K3T_js.generateIdempotencyKey();
846
- return chunkONII7K3T_js.safe(
845
+ const idempotencyKey = opts?.idempotencyKey ?? chunkF7J3HK27_js.generateIdempotencyKey();
846
+ return chunkF7J3HK27_js.safe(
847
847
  this.client.post(
848
848
  `/api/v1/subscriptions/${encodedId}/cancel`,
849
849
  { reason },
@@ -853,20 +853,20 @@ var SubscriptionService = class {
853
853
  }
854
854
  async pause(id) {
855
855
  const encodedId = encodeURIComponent(id);
856
- return chunkONII7K3T_js.safe(
856
+ return chunkF7J3HK27_js.safe(
857
857
  this.client.post(`/api/v1/subscriptions/${encodedId}/pause`)
858
858
  );
859
859
  }
860
860
  async resume(id) {
861
861
  const encodedId = encodeURIComponent(id);
862
- return chunkONII7K3T_js.safe(
862
+ return chunkF7J3HK27_js.safe(
863
863
  this.client.post(`/api/v1/subscriptions/${encodedId}/resume`)
864
864
  );
865
865
  }
866
866
  async skipNextRenewal(id, opts) {
867
867
  const encodedId = encodeURIComponent(id);
868
- const idempotencyKey = opts?.idempotencyKey ?? chunkONII7K3T_js.generateIdempotencyKey();
869
- return chunkONII7K3T_js.safe(
868
+ const idempotencyKey = opts?.idempotencyKey ?? chunkF7J3HK27_js.generateIdempotencyKey();
869
+ return chunkF7J3HK27_js.safe(
870
870
  this.client.post(
871
871
  `/api/v1/subscriptions/${encodedId}/skip`,
872
872
  void 0,
@@ -882,8 +882,8 @@ var UploadService = class {
882
882
  this.client = client;
883
883
  }
884
884
  async init(filename, contentType2, sizeBytes, opts) {
885
- const idempotencyKey = opts?.idempotencyKey ?? chunkONII7K3T_js.generateIdempotencyKey();
886
- return chunkONII7K3T_js.safe(
885
+ const idempotencyKey = opts?.idempotencyKey ?? chunkF7J3HK27_js.generateIdempotencyKey();
886
+ return chunkF7J3HK27_js.safe(
887
887
  this.client.post(
888
888
  "/api/v1/uploads/init",
889
889
  {
@@ -896,7 +896,7 @@ var UploadService = class {
896
896
  );
897
897
  }
898
898
  async confirm(uploadId) {
899
- return chunkONII7K3T_js.safe(
899
+ return chunkF7J3HK27_js.safe(
900
900
  this.client.post("/api/v1/uploads/confirm", {
901
901
  upload_id: uploadId
902
902
  })
@@ -942,7 +942,7 @@ var PlacesService = class {
942
942
  this.client = client;
943
943
  }
944
944
  async autocomplete(input, sessionToken) {
945
- return chunkONII7K3T_js.safe(
945
+ return chunkF7J3HK27_js.safe(
946
946
  this.client.post("/api/v1/places/autocomplete", {
947
947
  input,
948
948
  sessionToken
@@ -950,7 +950,7 @@ var PlacesService = class {
950
950
  );
951
951
  }
952
952
  async details(placeId, sessionToken) {
953
- return chunkONII7K3T_js.safe(
953
+ return chunkF7J3HK27_js.safe(
954
954
  this.client.post("/api/v1/places/details", {
955
955
  place_id: placeId,
956
956
  sessionToken
@@ -969,7 +969,7 @@ var DeliveryService = class {
969
969
  params.set("dropoff_lat", String(dropoffLat));
970
970
  params.set("dropoff_lng", String(dropoffLng));
971
971
  if (country) params.set("country", country);
972
- return chunkONII7K3T_js.safe(this.client.get(`/api/v1/delivery/fee?${params.toString()}`));
972
+ return chunkF7J3HK27_js.safe(this.client.get(`/api/v1/delivery/fee?${params.toString()}`));
973
973
  }
974
974
  async getOptions(queryOrLatitude, longitude, legacyOptions) {
975
975
  const query = typeof queryOrLatitude === "number" ? {
@@ -983,7 +983,7 @@ var DeliveryService = class {
983
983
  if (query.country) params.set("country", query.country);
984
984
  if (query.currency) params.set("currency", query.currency);
985
985
  if (query.orderValue != null) params.set("order_value", String(query.orderValue));
986
- return chunkONII7K3T_js.safe(
986
+ return chunkF7J3HK27_js.safe(
987
987
  this.client.get(`/api/v1/delivery/options?${params.toString()}`)
988
988
  );
989
989
  }
@@ -1095,9 +1095,9 @@ var SupportService = class {
1095
1095
  */
1096
1096
  async claimExternalChats() {
1097
1097
  if (!this.client.getAccessToken()) {
1098
- return chunkONII7K3T_js.err(new chunkANT574FD_js.CimplifyError("not_authenticated", "No access token to claim with"));
1098
+ return chunkF7J3HK27_js.err(new chunkANT574FD_js.CimplifyError("not_authenticated", "No access token to claim with"));
1099
1099
  }
1100
- return chunkONII7K3T_js.safe(
1100
+ return chunkF7J3HK27_js.safe(
1101
1101
  (async () => {
1102
1102
  const businessId = await this.client.resolveBusinessId();
1103
1103
  return this.client.post("/v1/me/chats/external-claims", {
@@ -1112,26 +1112,26 @@ var SupportService = class {
1112
1112
  * the inbox with empty threads.
1113
1113
  */
1114
1114
  async peekConversation() {
1115
- const result = await chunkONII7K3T_js.safe(
1115
+ const result = await chunkF7J3HK27_js.safe(
1116
1116
  this.client.get("/api/v1/support/conversation")
1117
1117
  );
1118
1118
  if (!result.ok) return result;
1119
- if (!result.value.conversation) return chunkONII7K3T_js.ok(null);
1120
- return chunkONII7K3T_js.ok({
1119
+ if (!result.value.conversation) return chunkF7J3HK27_js.ok(null);
1120
+ return chunkF7J3HK27_js.ok({
1121
1121
  conversation: result.value.conversation,
1122
1122
  messages: chatMessagesFromWire(result.value.messages)
1123
1123
  });
1124
1124
  }
1125
1125
  /** Open (or resume) the customer's widget conversation. */
1126
1126
  async openConversation(opts) {
1127
- const idempotencyKey = opts?.idempotencyKey ?? chunkONII7K3T_js.generateIdempotencyKey();
1128
- const result = await chunkONII7K3T_js.safe(
1127
+ const idempotencyKey = opts?.idempotencyKey ?? chunkF7J3HK27_js.generateIdempotencyKey();
1128
+ const result = await chunkF7J3HK27_js.safe(
1129
1129
  this.client.post("/api/v1/support/conversation", void 0, {
1130
1130
  idempotencyKey
1131
1131
  })
1132
1132
  );
1133
1133
  if (!result.ok) return result;
1134
- return chunkONII7K3T_js.ok({
1134
+ return chunkF7J3HK27_js.ok({
1135
1135
  conversation: result.value.conversation,
1136
1136
  messages: chatMessagesFromWire(result.value.messages)
1137
1137
  });
@@ -1145,8 +1145,8 @@ var SupportService = class {
1145
1145
  * server resolves it thread-scoped and echoes the quote as `reply_to`.
1146
1146
  */
1147
1147
  async sendMessage(content, opts) {
1148
- const idempotencyKey = opts?.idempotencyKey ?? chunkONII7K3T_js.generateIdempotencyKey();
1149
- const result = await chunkONII7K3T_js.safe(
1148
+ const idempotencyKey = opts?.idempotencyKey ?? chunkF7J3HK27_js.generateIdempotencyKey();
1149
+ const result = await chunkF7J3HK27_js.safe(
1150
1150
  this.client.post(
1151
1151
  "/api/v1/support/conversation/messages",
1152
1152
  {
@@ -1158,7 +1158,7 @@ var SupportService = class {
1158
1158
  { idempotencyKey }
1159
1159
  )
1160
1160
  );
1161
- return result.ok ? chunkONII7K3T_js.ok(chatMessageFromWire(result.value.message)) : result;
1161
+ return result.ok ? chunkF7J3HK27_js.ok(chatMessageFromWire(result.value.message)) : result;
1162
1162
  }
1163
1163
  /**
1164
1164
  * Poll for messages. `after` pages forward (live updates); `before` pages
@@ -1173,25 +1173,25 @@ var SupportService = class {
1173
1173
  if (options.limit) params.set("limit", String(options.limit));
1174
1174
  const query = params.toString();
1175
1175
  const path = query ? `/api/v1/support/conversation/messages?${query}` : "/api/v1/support/conversation/messages";
1176
- const result = await chunkONII7K3T_js.safe(this.client.get(path));
1177
- return result.ok ? chunkONII7K3T_js.ok(chatMessagesFromWire(result.value)) : result;
1176
+ const result = await chunkF7J3HK27_js.safe(this.client.get(path));
1177
+ return result.ok ? chunkF7J3HK27_js.ok(chatMessagesFromWire(result.value)) : result;
1178
1178
  }
1179
1179
  /** React to a message in the active conversation by its `ChatMessage.id`. */
1180
1180
  async reactToMessage(messageId, emoji) {
1181
- const clientId = chunkONII7K3T_js.generateIdempotencyKey();
1182
- const result = await chunkONII7K3T_js.safe(
1181
+ const clientId = chunkF7J3HK27_js.generateIdempotencyKey();
1182
+ const result = await chunkF7J3HK27_js.safe(
1183
1183
  this.client.post(
1184
1184
  `/api/v1/support/conversation/messages/${messageId}/reactions`,
1185
1185
  { emoji, client_id: clientId },
1186
1186
  { idempotencyKey: clientId }
1187
1187
  )
1188
1188
  );
1189
- return result.ok ? chunkONII7K3T_js.ok(chatMessageFromWire(result.value.message)) : result;
1189
+ return result.ok ? chunkF7J3HK27_js.ok(chatMessageFromWire(result.value.message)) : result;
1190
1190
  }
1191
1191
  /** Ask for a person: flags the thread for the merchant's inbox. */
1192
1192
  async requestHuman(opts) {
1193
- const idempotencyKey = opts?.idempotencyKey ?? chunkONII7K3T_js.generateIdempotencyKey();
1194
- return chunkONII7K3T_js.safe(
1193
+ const idempotencyKey = opts?.idempotencyKey ?? chunkF7J3HK27_js.generateIdempotencyKey();
1194
+ return chunkF7J3HK27_js.safe(
1195
1195
  this.client.post(
1196
1196
  "/api/v1/support/conversation/handoff",
1197
1197
  void 0,
@@ -1211,11 +1211,11 @@ var SessionService = class {
1211
1211
  this.claimInFlightToken = null;
1212
1212
  this.lastClaimedAccessToken = null;
1213
1213
  this.claimedName = null;
1214
- this.client.events.on(chunkONII7K3T_js.SESSION_CLEARED, () => {
1214
+ this.client.events.on(chunkF7J3HK27_js.SESSION_CLEARED, () => {
1215
1215
  this.lastClaimedAccessToken = null;
1216
1216
  this.claimedName = null;
1217
1217
  });
1218
- this.client.events.on(chunkONII7K3T_js.SESSION_CLAIMED, (event) => {
1218
+ this.client.events.on(chunkF7J3HK27_js.SESSION_CLAIMED, (event) => {
1219
1219
  if (event.customerName) this.claimedName = event.customerName;
1220
1220
  });
1221
1221
  }
@@ -1229,7 +1229,7 @@ var SessionService = class {
1229
1229
  this.claimedName = session.customerName || null;
1230
1230
  this.client.adoptSessionToken(session.sessionToken);
1231
1231
  this.client.publishSessionClaimed(this.claimedName);
1232
- this.client.events.emit(chunkONII7K3T_js.SESSION_CLAIMED, session);
1232
+ this.client.events.emit(chunkF7J3HK27_js.SESSION_CLAIMED, session);
1233
1233
  }
1234
1234
  /**
1235
1235
  * Bind the anonymous session to the verified Link identity in one server
@@ -1246,7 +1246,7 @@ var SessionService = class {
1246
1246
  async claim() {
1247
1247
  const accessToken = this.client.getAccessToken();
1248
1248
  if (!accessToken) {
1249
- return chunkONII7K3T_js.err(new chunkANT574FD_js.CimplifyError("not_authenticated", "No access token to claim with"));
1249
+ return chunkF7J3HK27_js.err(new chunkANT574FD_js.CimplifyError("not_authenticated", "No access token to claim with"));
1250
1250
  }
1251
1251
  if (this.claimInFlight) {
1252
1252
  if (this.claimInFlightToken === accessToken) return this.claimInFlight;
@@ -1254,12 +1254,12 @@ var SessionService = class {
1254
1254
  return this.claim();
1255
1255
  }
1256
1256
  if (this.lastClaimedAccessToken === accessToken) {
1257
- return chunkONII7K3T_js.err(new chunkANT574FD_js.CimplifyError("already_claimed", "Session already claimed for this token"));
1257
+ return chunkF7J3HK27_js.err(new chunkANT574FD_js.CimplifyError("already_claimed", "Session already claimed for this token"));
1258
1258
  }
1259
1259
  const epoch = this.client.getSessionEpoch();
1260
1260
  this.claimInFlightToken = accessToken;
1261
1261
  this.claimInFlight = (async () => {
1262
- const result = await chunkONII7K3T_js.safe(
1262
+ const result = await chunkF7J3HK27_js.safe(
1263
1263
  this.client.post(
1264
1264
  CLAIM_PATH,
1265
1265
  { access_token: accessToken },
@@ -1268,7 +1268,7 @@ var SessionService = class {
1268
1268
  );
1269
1269
  if (result.ok) {
1270
1270
  if (this.client.getSessionEpoch() !== epoch) {
1271
- return chunkONII7K3T_js.err(
1271
+ return chunkF7J3HK27_js.err(
1272
1272
  new chunkANT574FD_js.CimplifyError("session_cleared", "Session was cleared during the claim")
1273
1273
  );
1274
1274
  }
@@ -1553,7 +1553,7 @@ var CimplifyClient = class {
1553
1553
  * Sentry, analytics, etc.). The SDK emits but never auto-consumes — the
1554
1554
  * consumer decides how to react.
1555
1555
  */
1556
- this.events = chunkONII7K3T_js.createClientEvents();
1556
+ this.events = chunkF7J3HK27_js.createClientEvents();
1557
1557
  this.stopPageViewTracking = null;
1558
1558
  this.publicKey = config.publicKey || getEnvPublicKey() || "";
1559
1559
  const urls = deriveUrls();
@@ -1564,7 +1564,7 @@ var CimplifyClient = class {
1564
1564
  this.maxRetries = config.maxRetries ?? DEFAULT_MAX_RETRIES;
1565
1565
  this.retryDelay = config.retryDelay ?? DEFAULT_RETRY_DELAY_MS;
1566
1566
  this.hooks = config.hooks ?? {};
1567
- this.authorizationAdapters = config.authorizationAdapterRegistry ?? chunkONII7K3T_js.createDefaultPaymentAuthorizationAdapterRegistry();
1567
+ this.authorizationAdapters = config.authorizationAdapterRegistry ?? chunkF7J3HK27_js.createDefaultPaymentAuthorizationAdapterRegistry();
1568
1568
  this.fetchImpl = (config.fetch ?? globalThis.fetch).bind(globalThis);
1569
1569
  this.sessionToken = this.loadSessionToken() ?? this.mintSessionToken();
1570
1570
  const persistedSessionSync = this.loadSessionSyncPayload();
@@ -1633,7 +1633,7 @@ var CimplifyClient = class {
1633
1633
  newToken: token,
1634
1634
  source: SESSION_CHANGE_SOURCE.MANUAL
1635
1635
  });
1636
- this.events.emit(chunkONII7K3T_js.AUTH_TOKEN_CHANGED, { token });
1636
+ this.events.emit(chunkF7J3HK27_js.AUTH_TOKEN_CHANGED, { token });
1637
1637
  }
1638
1638
  /**
1639
1639
  * Zero-UI claim: a freshly verified customer identity (OTP verify, silent
@@ -1677,8 +1677,8 @@ var CimplifyClient = class {
1677
1677
  newToken: null,
1678
1678
  source: SESSION_CHANGE_SOURCE.CLEAR
1679
1679
  });
1680
- this.events.emit(chunkONII7K3T_js.AUTH_TOKEN_CHANGED, { token: null });
1681
- this.events.emit(chunkONII7K3T_js.SESSION_CLEARED, {});
1680
+ this.events.emit(chunkF7J3HK27_js.AUTH_TOKEN_CHANGED, { token: null });
1681
+ this.events.emit(chunkF7J3HK27_js.SESSION_CLEARED, {});
1682
1682
  }
1683
1683
  getSessionEpoch() {
1684
1684
  return this.sessionEpoch;
@@ -1731,7 +1731,7 @@ var CimplifyClient = class {
1731
1731
  if (payload.type === "claimed") {
1732
1732
  this.sessionToken = payload.token;
1733
1733
  this.sessionEpoch++;
1734
- this.events.emit(chunkONII7K3T_js.SESSION_CLAIMED, {
1734
+ this.events.emit(chunkF7J3HK27_js.SESSION_CLAIMED, {
1735
1735
  sessionToken: payload.token,
1736
1736
  customerName: payload.name ?? "",
1737
1737
  customer: null,
@@ -1742,8 +1742,8 @@ var CimplifyClient = class {
1742
1742
  this._activity?.resetSession();
1743
1743
  this.sessionToken = payload.token;
1744
1744
  this.sessionEpoch++;
1745
- this.events.emit(chunkONII7K3T_js.AUTH_TOKEN_CHANGED, { token: null });
1746
- this.events.emit(chunkONII7K3T_js.SESSION_CLEARED, {});
1745
+ this.events.emit(chunkF7J3HK27_js.AUTH_TOKEN_CHANGED, { token: null });
1746
+ this.events.emit(chunkF7J3HK27_js.SESSION_CLEARED, {});
1747
1747
  }
1748
1748
  }
1749
1749
  observeSessionSync(payload) {
@@ -1836,7 +1836,7 @@ var CimplifyClient = class {
1836
1836
  if (this.accessToken !== null) {
1837
1837
  this.setAccessToken(null);
1838
1838
  }
1839
- this.events.emit(chunkONII7K3T_js.SESSION_CLEARED, {});
1839
+ this.events.emit(chunkF7J3HK27_js.SESSION_CLEARED, {});
1840
1840
  if (restartPageViewTracking) {
1841
1841
  this.stopPageViewTracking = this.activity.autoTrackPageViews();
1842
1842
  }
@@ -2280,19 +2280,19 @@ var CimplifyClient = class {
2280
2280
  }
2281
2281
  get catalogue() {
2282
2282
  if (!this._catalogue) {
2283
- this._catalogue = new chunkONII7K3T_js.CatalogueQueries(this);
2283
+ this._catalogue = new chunkF7J3HK27_js.CatalogueQueries(this);
2284
2284
  }
2285
2285
  return this._catalogue;
2286
2286
  }
2287
2287
  get cart() {
2288
2288
  if (!this._cart) {
2289
- this._cart = new chunkONII7K3T_js.CartOperations(this);
2289
+ this._cart = new chunkF7J3HK27_js.CartOperations(this);
2290
2290
  }
2291
2291
  return this._cart;
2292
2292
  }
2293
2293
  get checkout() {
2294
2294
  if (!this._checkout) {
2295
- this._checkout = new chunkONII7K3T_js.CheckoutService(this);
2295
+ this._checkout = new chunkF7J3HK27_js.CheckoutService(this);
2296
2296
  }
2297
2297
  return this._checkout;
2298
2298
  }
@@ -2304,7 +2304,7 @@ var CimplifyClient = class {
2304
2304
  }
2305
2305
  get orders() {
2306
2306
  if (!this._orders) {
2307
- this._orders = new chunkONII7K3T_js.OrderQueries(this);
2307
+ this._orders = new chunkF7J3HK27_js.OrderQueries(this);
2308
2308
  }
2309
2309
  return this._orders;
2310
2310
  }
@@ -2334,43 +2334,43 @@ var CimplifyClient = class {
2334
2334
  }
2335
2335
  get link() {
2336
2336
  if (!this._link) {
2337
- this._link = new chunkONII7K3T_js.LinkService(this);
2337
+ this._link = new chunkF7J3HK27_js.LinkService(this);
2338
2338
  }
2339
2339
  return this._link;
2340
2340
  }
2341
2341
  get auth() {
2342
2342
  if (!this._auth) {
2343
- this._auth = new chunkONII7K3T_js.AuthService(this);
2343
+ this._auth = new chunkF7J3HK27_js.AuthService(this);
2344
2344
  }
2345
2345
  return this._auth;
2346
2346
  }
2347
2347
  get business() {
2348
2348
  if (!this._business) {
2349
- this._business = new chunkONII7K3T_js.BusinessService(this);
2349
+ this._business = new chunkF7J3HK27_js.BusinessService(this);
2350
2350
  }
2351
2351
  return this._business;
2352
2352
  }
2353
2353
  get inventory() {
2354
2354
  if (!this._inventory) {
2355
- this._inventory = new chunkONII7K3T_js.InventoryService(this);
2355
+ this._inventory = new chunkF7J3HK27_js.InventoryService(this);
2356
2356
  }
2357
2357
  return this._inventory;
2358
2358
  }
2359
2359
  get scheduling() {
2360
2360
  if (!this._scheduling) {
2361
- this._scheduling = new chunkONII7K3T_js.SchedulingService(this);
2361
+ this._scheduling = new chunkF7J3HK27_js.SchedulingService(this);
2362
2362
  }
2363
2363
  return this._scheduling;
2364
2364
  }
2365
2365
  get lite() {
2366
2366
  if (!this._lite) {
2367
- this._lite = new chunkONII7K3T_js.LiteService(this);
2367
+ this._lite = new chunkF7J3HK27_js.LiteService(this);
2368
2368
  }
2369
2369
  return this._lite;
2370
2370
  }
2371
2371
  get fx() {
2372
2372
  if (!this._fx) {
2373
- this._fx = new chunkONII7K3T_js.FxService(this);
2373
+ this._fx = new chunkF7J3HK27_js.FxService(this);
2374
2374
  }
2375
2375
  return this._fx;
2376
2376
  }
@@ -2411,7 +2411,7 @@ var CimplifyClient = class {
2411
2411
  if (businessId) {
2412
2412
  this.setBusinessId(businessId);
2413
2413
  }
2414
- return chunkONII7K3T_js.createElements(this, businessId ?? this.businessId ?? void 0, options);
2414
+ return chunkF7J3HK27_js.createElements(this, businessId ?? this.businessId ?? void 0, options);
2415
2415
  }
2416
2416
  };
2417
2417
  function createCimplifyClient(config = {}) {
@@ -1319,6 +1319,39 @@ function createPurchaseIntentConfirmation(terms, paymentOption, idempotencyKey)
1319
1319
  function purchaseIntentRequiresPaymentOption(terms) {
1320
1320
  return terms.payment_options.length > 0 || !isExactlyZeroMoney(terms.money.rail_amount);
1321
1321
  }
1322
+ var PLAIN_DECIMAL = /^([+-]?)(\d+)(?:\.(\d+))?$/;
1323
+ function canonicalDecimal(value) {
1324
+ const match = PLAIN_DECIMAL.exec(typeof value === "number" ? String(value) : value.trim());
1325
+ if (!match) return null;
1326
+ const whole = match[2].replace(/^0+(?=\d)/, "");
1327
+ const fraction = (match[3] ?? "").replace(/0+$/, "");
1328
+ const isZero = whole === "0" && fraction === "";
1329
+ return `${match[1] === "-" && !isZero ? "-" : ""}${whole}${fraction ? `.${fraction}` : ""}`;
1330
+ }
1331
+ function isSameAmount(left, right) {
1332
+ const canonicalLeft = canonicalDecimal(left);
1333
+ return canonicalLeft !== null && canonicalLeft === canonicalDecimal(right);
1334
+ }
1335
+ function confirmationForUnchangedReplacement(response, selection, idempotencyKey) {
1336
+ const { replacement, deltas } = response;
1337
+ const paymentDeltas = deltas.filter(
1338
+ (delta2) => delta2.kind === chunkANT574FD_js.CHECKOUT_TERMS_DELTA_KIND.PAYMENT_OPTION
1339
+ );
1340
+ if (paymentDeltas.length !== deltas.length) return null;
1341
+ if (!purchaseIntentRequiresPaymentOption(replacement)) {
1342
+ return paymentDeltas.length === 0 ? createPurchaseIntentConfirmation(replacement, null, idempotencyKey) : null;
1343
+ }
1344
+ if (!selection || paymentDeltas.length !== 1) return null;
1345
+ const option = selectPurchaseIntentPaymentOption(replacement, {
1346
+ method_kind: selection.method_kind
1347
+ });
1348
+ const [delta] = paymentDeltas;
1349
+ if (!option || delta.kind !== chunkANT574FD_js.CHECKOUT_TERMS_DELTA_KIND.PAYMENT_OPTION) return null;
1350
+ if (!isSameAmount(option.customer_debit_amount, delta.accepted_customer_debit_amount)) {
1351
+ return null;
1352
+ }
1353
+ return createPurchaseIntentConfirmation(replacement, option, idempotencyKey);
1354
+ }
1322
1355
 
1323
1356
  // src/utils/purchase-intent-adapter.ts
1324
1357
  function tenderPreference(form) {
@@ -4487,6 +4520,7 @@ exports.StripeAuthorizationAdapter = StripeAuthorizationAdapter;
4487
4520
  exports.clearIntentIdempotencyKey = clearIntentIdempotencyKey;
4488
4521
  exports.combine = combine;
4489
4522
  exports.combineObject = combineObject;
4523
+ exports.confirmationForUnchangedReplacement = confirmationForUnchangedReplacement;
4490
4524
  exports.createClientEvents = createClientEvents;
4491
4525
  exports.createDefaultPaymentAuthorizationAdapterRegistry = createDefaultPaymentAuthorizationAdapterRegistry;
4492
4526
  exports.createElements = createElements;
@@ -1,5 +1,5 @@
1
1
  import { createMockApp } from './chunk-XBL3TMPC.mjs';
2
- import { createCimplifyClient } from './chunk-T4OU77DM.mjs';
2
+ import { createCimplifyClient } from './chunk-SUCE7FWA.mjs';
3
3
  import { PAYMENT_METHOD, ORDER_TYPE, AUTHORIZATION_TYPE, CHECKOUT_NEXT_ACTION } from './chunk-33VCYWVL.mjs';
4
4
  import { PURCHASE_INTENT_SOURCE_KIND, PURCHASE_INTENT_SELLABLE_KIND, PURCHASE_INTENT_OFFER_KIND, PURCHASE_INTENT_LINE_CONFIGURATION_KIND, PURCHASE_INTENT_PAYMENT_METHOD, PURCHASE_INTENT_MOBILE_MONEY_NETWORK, MOBILE_MONEY_TENDER_AUTHORITY_KIND, CHECKOUT_COMPLIANCE_REASON, CHECKOUT_COMPLIANCE_LANE, PURCHASE_SURFACE, PURCHASE_DISPOSITION, PAYMENT_INSTRUMENT_DISPLAY_KIND, CHECKOUT_PROTECTION_STATUS, PAYMENT_OPTION_NEXT_ACTION, PAYMENT_OPTION_STATUS, PURCHASE_INTENT_PAYMENT_PROVIDER, PAYMENT_COLLECTION_MODE, PURCHASING_PRINCIPAL_KIND, CHECKOUT_PURCHASE_SURFACE, NATIVE_PURCHASE_PLATFORM, PURCHASE_INTENT_STATUS, CHECKOUT_TERMS_COMPONENT, CHECKOUT_TERMS_DELTA_KIND, CHECKOUT_MATERIAL_TERMS_COMPONENT, PURCHASE_INTENT_CONFIRM_STATUS, CHECKOUT_INVALIDATION_REASON } from './chunk-KG3WT4PR.mjs';
5
5
  import { z } from 'zod';
@@ -1,5 +1,5 @@
1
1
  import { messagePreview } from './chunk-U4MW6PYU.mjs';
2
- import { ok, err, safe, generateIdempotencyKey, SESSION_CLEARED, SESSION_CLAIMED, createClientEvents, createDefaultPaymentAuthorizationAdapterRegistry, AUTH_TOKEN_CHANGED, CatalogueQueries, CartOperations, CheckoutService, OrderQueries, LinkService, AuthService, BusinessService, InventoryService, SchedulingService, LiteService, FxService, createElements } from './chunk-OTPLI3JY.mjs';
2
+ import { ok, err, safe, generateIdempotencyKey, SESSION_CLEARED, SESSION_CLAIMED, createClientEvents, createDefaultPaymentAuthorizationAdapterRegistry, AUTH_TOKEN_CHANGED, CatalogueQueries, CartOperations, CheckoutService, OrderQueries, LinkService, AuthService, BusinessService, InventoryService, SchedulingService, LiteService, FxService, createElements } from './chunk-U6ACF76H.mjs';
3
3
  import { PURCHASE_INTENT_RESOLVE_STATUS, PURCHASE_INTENT_CONFIRM_STATUS, PURCHASE_INTENT_RESOLUTION_KIND, PURCHASE_INTENT_ACTION_DECISION, CimplifyError, PURCHASE_INTENT_ERROR_CODE, ErrorCode, IdempotencyMismatchError, enrichError } from './chunk-KG3WT4PR.mjs';
4
4
 
5
5
  // src/types/observability.ts