@cimplify/sdk 0.16.1 → 0.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/react.js CHANGED
@@ -554,7 +554,7 @@ function err(error) {
554
554
  return { ok: false, error };
555
555
  }
556
556
 
557
- // src/catalogue.ts
557
+ // src/internal/safe.ts
558
558
  function toCimplifyError(error) {
559
559
  if (error instanceof CimplifyError) return enrichError(error);
560
560
  if (error instanceof Error) {
@@ -569,6 +569,8 @@ async function safe(promise) {
569
569
  return err(toCimplifyError(error));
570
570
  }
571
571
  }
572
+
573
+ // src/catalogue.ts
572
574
  function withQuery(path, params) {
573
575
  const query = new URLSearchParams();
574
576
  for (const [key, value] of Object.entries(params)) {
@@ -938,20 +940,6 @@ var CatalogueQueries = class {
938
940
  };
939
941
 
940
942
  // src/cart.ts
941
- function toCimplifyError2(error) {
942
- if (error instanceof CimplifyError) return enrichError(error);
943
- if (error instanceof Error) {
944
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
945
- }
946
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
947
- }
948
- async function safe2(promise) {
949
- try {
950
- return ok(await promise);
951
- } catch (error) {
952
- return err(toCimplifyError2(error));
953
- }
954
- }
955
943
  function isUICartResponse(value) {
956
944
  return "cart" in value;
957
945
  }
@@ -963,21 +951,21 @@ var CartOperations = class {
963
951
  this.client = client;
964
952
  }
965
953
  async get() {
966
- const result = await safe2(this.client.get("/api/v1/cart"));
954
+ const result = await safe(this.client.get("/api/v1/cart"));
967
955
  if (!result.ok) return result;
968
956
  return ok(unwrapEnrichedCart(result.value));
969
957
  }
970
958
  async getRaw() {
971
- return safe2(this.client.get("/api/v1/cart"));
959
+ return safe(this.client.get("/api/v1/cart"));
972
960
  }
973
961
  async getItems() {
974
- return safe2(this.client.get("/api/v1/cart/items"));
962
+ return safe(this.client.get("/api/v1/cart/items"));
975
963
  }
976
964
  async getCount() {
977
- return safe2(this.client.get("/api/v1/cart/count"));
965
+ return safe(this.client.get("/api/v1/cart/count"));
978
966
  }
979
967
  async getTotal() {
980
- return safe2(this.client.get("/api/v1/cart/total"));
968
+ return safe(this.client.get("/api/v1/cart/total"));
981
969
  }
982
970
  async getSummary() {
983
971
  const cartResult = await this.get();
@@ -994,18 +982,18 @@ var CartOperations = class {
994
982
  });
995
983
  }
996
984
  async addItem(input) {
997
- return safe2(this.client.post("/api/v1/cart/items", input));
985
+ return safe(this.client.post("/api/v1/cart/items", input));
998
986
  }
999
987
  async updateItem(cartItemId, updates) {
1000
988
  if (typeof updates.quantity === "number") {
1001
989
  return this.updateQuantity(cartItemId, updates.quantity);
1002
990
  }
1003
991
  const encodedId = encodeURIComponent(cartItemId);
1004
- return safe2(this.client.patch(`/api/v1/cart/items/${encodedId}`, updates));
992
+ return safe(this.client.patch(`/api/v1/cart/items/${encodedId}`, updates));
1005
993
  }
1006
994
  async updateQuantity(cartItemId, quantity) {
1007
995
  const encodedId = encodeURIComponent(cartItemId);
1008
- return safe2(
996
+ return safe(
1009
997
  this.client.patch(`/api/v1/cart/items/${encodedId}`, {
1010
998
  quantity
1011
999
  })
@@ -1013,20 +1001,20 @@ var CartOperations = class {
1013
1001
  }
1014
1002
  async removeItem(cartItemId) {
1015
1003
  const encodedId = encodeURIComponent(cartItemId);
1016
- return safe2(this.client.delete(`/api/v1/cart/items/${encodedId}`));
1004
+ return safe(this.client.delete(`/api/v1/cart/items/${encodedId}`));
1017
1005
  }
1018
1006
  async clear() {
1019
- return safe2(this.client.delete("/api/v1/cart"));
1007
+ return safe(this.client.delete("/api/v1/cart"));
1020
1008
  }
1021
1009
  async applyCoupon(code) {
1022
- return safe2(
1010
+ return safe(
1023
1011
  this.client.post("/api/v1/cart/coupons", {
1024
1012
  coupon_code: code
1025
1013
  })
1026
1014
  );
1027
1015
  }
1028
1016
  async removeCoupon() {
1029
- return safe2(this.client.delete("/api/v1/cart/coupons/current"));
1017
+ return safe(this.client.delete("/api/v1/cart/coupons/current"));
1030
1018
  }
1031
1019
  async isEmpty() {
1032
1020
  const countResult = await this.getCount();
@@ -1451,9 +1439,16 @@ function isValidMobileMoneyProvider(value) {
1451
1439
  return VALID_MOBILE_MONEY_PROVIDERS.has(value);
1452
1440
  }
1453
1441
  function normalizeAuthorizationType(value) {
1442
+ if (value && typeof value === "object" && "address" in value) {
1443
+ return "address";
1444
+ }
1454
1445
  if (typeof value !== "string") return void 0;
1455
- const lower = value.toLowerCase();
1456
- return lower === "otp" || lower === "pin" ? lower : void 0;
1446
+ const normalized = value.trim().toLowerCase().replace(/[\s-]+/g, "_");
1447
+ if (normalized === "otp" || normalized === "pin") return normalized;
1448
+ if (normalized === "phone" || normalized === "birthday" || normalized === "address") {
1449
+ return normalized;
1450
+ }
1451
+ return void 0;
1457
1452
  }
1458
1453
  function formatMoney2(value) {
1459
1454
  if (typeof value === "number" && Number.isFinite(value)) {
@@ -2024,20 +2019,6 @@ var CheckoutResolver = class {
2024
2019
  };
2025
2020
 
2026
2021
  // src/checkout.ts
2027
- function toCimplifyError3(error) {
2028
- if (error instanceof CimplifyError) return enrichError(error);
2029
- if (error instanceof Error) {
2030
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
2031
- }
2032
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
2033
- }
2034
- async function safe3(promise) {
2035
- try {
2036
- return ok(await promise);
2037
- } catch (error) {
2038
- return err(toCimplifyError3(error));
2039
- }
2040
- }
2041
2022
  function toTerminalFailure(code, message, recoverable) {
2042
2023
  return {
2043
2024
  success: false,
@@ -2069,7 +2050,7 @@ var CheckoutService = class {
2069
2050
  ...data,
2070
2051
  idempotency_key: data.idempotency_key || generateIdempotencyKey()
2071
2052
  };
2072
- const result = await safe3(
2053
+ const result = await safe(
2073
2054
  this.client.post("/api/v1/checkout", {
2074
2055
  checkout_data: checkoutData
2075
2056
  })
@@ -2089,22 +2070,22 @@ var CheckoutService = class {
2089
2070
  );
2090
2071
  }
2091
2072
  async submitAuthorization(input) {
2092
- return safe3(this.client.post("/api/v1/payments/authorization", input));
2073
+ return safe(this.client.post("/api/v1/payments/authorization", input));
2093
2074
  }
2094
2075
  async pollPaymentStatus(orderId) {
2095
2076
  const encodedId = encodeURIComponent(orderId);
2096
2077
  const tokenParam = this.orderTokenParam(orderId);
2097
- return safe3(this.client.get(`/api/v1/orders/${encodedId}/payment-status${tokenParam}`));
2078
+ return safe(this.client.get(`/api/v1/orders/${encodedId}/payment-status${tokenParam}`));
2098
2079
  }
2099
2080
  async updateOrderCustomer(orderId, customer) {
2100
2081
  const encodedId = encodeURIComponent(orderId);
2101
2082
  const tokenParam = this.orderTokenParam(orderId);
2102
- return safe3(this.client.post(`/api/v1/orders/${encodedId}/customer${tokenParam}`, customer));
2083
+ return safe(this.client.post(`/api/v1/orders/${encodedId}/customer${tokenParam}`, customer));
2103
2084
  }
2104
2085
  async verifyPayment(orderId) {
2105
2086
  const encodedId = encodeURIComponent(orderId);
2106
2087
  const tokenParam = this.orderTokenParam(orderId);
2107
- return safe3(this.client.post(`/api/v1/orders/${encodedId}/verify-payment${tokenParam}`));
2088
+ return safe(this.client.post(`/api/v1/orders/${encodedId}/verify-payment${tokenParam}`));
2108
2089
  }
2109
2090
  async processAndResolve(data) {
2110
2091
  data.on_status_change?.("preparing", {});
@@ -2209,20 +2190,6 @@ var CheckoutService = class {
2209
2190
  };
2210
2191
 
2211
2192
  // src/orders.ts
2212
- function toCimplifyError4(error) {
2213
- if (error instanceof CimplifyError) return enrichError(error);
2214
- if (error instanceof Error) {
2215
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
2216
- }
2217
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
2218
- }
2219
- async function safe4(promise) {
2220
- try {
2221
- return ok(await promise);
2222
- } catch (error) {
2223
- return err(toCimplifyError4(error));
2224
- }
2225
- }
2226
2193
  var OrderQueries = class {
2227
2194
  constructor(client) {
2228
2195
  this.client = client;
@@ -2237,12 +2204,12 @@ var OrderQueries = class {
2237
2204
  if (options?.limit) params.set("limit", String(options.limit));
2238
2205
  if (options?.offset) params.set("offset", String(options.offset));
2239
2206
  const path = params.toString() ? `/api/v1/orders?${params.toString()}` : "/api/v1/orders";
2240
- return safe4(this.client.get(path));
2207
+ return safe(this.client.get(path));
2241
2208
  }
2242
2209
  async get(orderId) {
2243
2210
  const encodedId = encodeURIComponent(orderId);
2244
2211
  const tokenParam = this.orderTokenParam(orderId);
2245
- return safe4(this.client.get(`/api/v1/orders/${encodedId}${tokenParam}`));
2212
+ return safe(this.client.get(`/api/v1/orders/${encodedId}${tokenParam}`));
2246
2213
  }
2247
2214
  async getRecent(limit = 5) {
2248
2215
  return this.list({ limit });
@@ -2253,7 +2220,7 @@ var OrderQueries = class {
2253
2220
  async cancel(orderId, reason) {
2254
2221
  const encodedId = encodeURIComponent(orderId);
2255
2222
  const tokenParam = this.orderTokenParam(orderId);
2256
- return safe4(
2223
+ return safe(
2257
2224
  this.client.post(`/api/v1/orders/${encodedId}/cancel${tokenParam}`, {
2258
2225
  reason
2259
2226
  })
@@ -2262,20 +2229,6 @@ var OrderQueries = class {
2262
2229
  };
2263
2230
 
2264
2231
  // src/link.ts
2265
- function toCimplifyError5(error) {
2266
- if (error instanceof CimplifyError) return error;
2267
- if (error instanceof Error) {
2268
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2269
- }
2270
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2271
- }
2272
- async function safe5(promise) {
2273
- try {
2274
- return ok(await promise);
2275
- } catch (error) {
2276
- return err(toCimplifyError5(error));
2277
- }
2278
- }
2279
2232
  function encodePathSegment(value) {
2280
2233
  return encodeURIComponent(value);
2281
2234
  }
@@ -2313,13 +2266,13 @@ var LinkService = class {
2313
2266
  this.client = client;
2314
2267
  }
2315
2268
  async getProfile() {
2316
- return safe5(this.client.linkGet("/v1/link/profile"));
2269
+ return safe(this.client.linkGet("/v1/link/profile"));
2317
2270
  }
2318
2271
  async requestOtp(input) {
2319
- return safe5(this.client.linkPost("/v1/link/auth/request-otp", input));
2272
+ return safe(this.client.linkPost("/v1/link/auth/request-otp", input));
2320
2273
  }
2321
2274
  async verifyOtp(input) {
2322
- const result = await safe5(
2275
+ const result = await safe(
2323
2276
  this.client.linkPost("/v1/link/auth/verify-otp", input)
2324
2277
  );
2325
2278
  if (result.ok && result.value.session_token) {
@@ -2328,45 +2281,45 @@ var LinkService = class {
2328
2281
  return result;
2329
2282
  }
2330
2283
  async logout() {
2331
- const result = await safe5(this.client.linkPost("/v1/link/auth/logout"));
2284
+ const result = await safe(this.client.linkPost("/v1/link/auth/logout"));
2332
2285
  if (result.ok) {
2333
2286
  this.client.clearSession();
2334
2287
  }
2335
2288
  return result;
2336
2289
  }
2337
2290
  async checkStatus(contact) {
2338
- return safe5(this.client.linkPost("/v1/link/check-status", { contact }));
2291
+ return safe(this.client.linkPost("/v1/link/check-status", { contact }));
2339
2292
  }
2340
2293
  async getLinkData() {
2341
- return safe5(this.client.linkGet("/v1/link/data"));
2294
+ return safe(this.client.linkGet("/v1/link/data"));
2342
2295
  }
2343
2296
  async getAddresses() {
2344
- return safe5(this.client.linkGet("/v1/link/addresses"));
2297
+ return safe(this.client.linkGet("/v1/link/addresses"));
2345
2298
  }
2346
2299
  async getMobileMoney() {
2347
- return safe5(this.client.linkGet("/v1/link/mobile-money"));
2300
+ return safe(this.client.linkGet("/v1/link/mobile-money"));
2348
2301
  }
2349
2302
  async getPreferences() {
2350
- return safe5(this.client.linkGet("/v1/link/preferences"));
2303
+ return safe(this.client.linkGet("/v1/link/preferences"));
2351
2304
  }
2352
2305
  async enroll(data) {
2353
- return safe5(this.client.linkPost("/v1/link/enroll", data));
2306
+ return safe(this.client.linkPost("/v1/link/enroll", data));
2354
2307
  }
2355
2308
  async enrollAndLinkOrder(data) {
2356
- return safe5(
2309
+ return safe(
2357
2310
  this.client.linkPost("/v1/link/enroll-and-link-order", data)
2358
2311
  );
2359
2312
  }
2360
2313
  async updatePreferences(preferences) {
2361
- return safe5(this.client.linkPost("/v1/link/preferences", preferences));
2314
+ return safe(this.client.linkPost("/v1/link/preferences", preferences));
2362
2315
  }
2363
2316
  async createAddress(input) {
2364
- return safe5(
2317
+ return safe(
2365
2318
  this.client.linkPost("/v1/link/addresses", toCreateAddressPayload(input))
2366
2319
  );
2367
2320
  }
2368
2321
  async updateAddress(input) {
2369
- return safe5(
2322
+ return safe(
2370
2323
  this.client.linkPost(
2371
2324
  `/v1/link/addresses/${encodePathSegment(input.address_id)}`,
2372
2325
  toUpdateAddressPayload(input)
@@ -2374,26 +2327,26 @@ var LinkService = class {
2374
2327
  );
2375
2328
  }
2376
2329
  async deleteAddress(addressId) {
2377
- return safe5(
2330
+ return safe(
2378
2331
  this.client.linkDelete(`/v1/link/addresses/${encodePathSegment(addressId)}`)
2379
2332
  );
2380
2333
  }
2381
2334
  async setDefaultAddress(addressId) {
2382
- return safe5(
2335
+ return safe(
2383
2336
  this.client.linkPost(
2384
2337
  `/v1/link/addresses/${encodePathSegment(addressId)}/default`
2385
2338
  )
2386
2339
  );
2387
2340
  }
2388
2341
  async trackAddressUsage(addressId) {
2389
- return safe5(
2342
+ return safe(
2390
2343
  this.client.linkPost(
2391
2344
  `/v1/link/addresses/${encodePathSegment(addressId)}/track-usage`
2392
2345
  )
2393
2346
  );
2394
2347
  }
2395
2348
  async createMobileMoney(input) {
2396
- return safe5(
2349
+ return safe(
2397
2350
  this.client.linkPost(
2398
2351
  "/v1/link/mobile-money",
2399
2352
  toCreateMobileMoneyPayload(input)
@@ -2401,65 +2354,51 @@ var LinkService = class {
2401
2354
  );
2402
2355
  }
2403
2356
  async deleteMobileMoney(mobileMoneyId) {
2404
- return safe5(
2357
+ return safe(
2405
2358
  this.client.linkDelete(
2406
2359
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}`
2407
2360
  )
2408
2361
  );
2409
2362
  }
2410
2363
  async setDefaultMobileMoney(mobileMoneyId) {
2411
- return safe5(
2364
+ return safe(
2412
2365
  this.client.linkPost(
2413
2366
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/default`
2414
2367
  )
2415
2368
  );
2416
2369
  }
2417
2370
  async trackMobileMoneyUsage(mobileMoneyId) {
2418
- return safe5(
2371
+ return safe(
2419
2372
  this.client.linkPost(
2420
2373
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/track-usage`
2421
2374
  )
2422
2375
  );
2423
2376
  }
2424
2377
  async verifyMobileMoney(mobileMoneyId) {
2425
- return safe5(
2378
+ return safe(
2426
2379
  this.client.linkPost(
2427
2380
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/verify`
2428
2381
  )
2429
2382
  );
2430
2383
  }
2431
2384
  async getSessions() {
2432
- return safe5(this.client.linkGet("/v1/link/sessions"));
2385
+ return safe(this.client.linkGet("/v1/link/sessions"));
2433
2386
  }
2434
2387
  async revokeSession(sessionId) {
2435
- return safe5(this.client.linkDelete(`/v1/link/sessions/${sessionId}`));
2388
+ return safe(this.client.linkDelete(`/v1/link/sessions/${sessionId}`));
2436
2389
  }
2437
2390
  async revokeAllSessions() {
2438
- return safe5(this.client.linkDelete("/v1/link/sessions"));
2391
+ return safe(this.client.linkDelete("/v1/link/sessions"));
2439
2392
  }
2440
2393
  };
2441
2394
 
2442
2395
  // src/auth.ts
2443
- function toCimplifyError6(error) {
2444
- if (error instanceof CimplifyError) return error;
2445
- if (error instanceof Error) {
2446
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2447
- }
2448
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2449
- }
2450
- async function safe6(promise) {
2451
- try {
2452
- return ok(await promise);
2453
- } catch (error) {
2454
- return err(toCimplifyError6(error));
2455
- }
2456
- }
2457
2396
  var AuthService = class {
2458
2397
  constructor(client) {
2459
2398
  this.client = client;
2460
2399
  }
2461
2400
  async getStatus() {
2462
- return safe6(this.client.get("/api/v1/auth/status"));
2401
+ return safe(this.client.get("/api/v1/auth/status"));
2463
2402
  }
2464
2403
  async getCurrentUser() {
2465
2404
  const result = await this.getStatus();
@@ -2472,7 +2411,7 @@ var AuthService = class {
2472
2411
  return ok(result.value.is_authenticated);
2473
2412
  }
2474
2413
  async requestOtp(contact, contactType) {
2475
- return safe6(
2414
+ return safe(
2476
2415
  this.client.post("/api/v1/auth/request-otp", {
2477
2416
  contact,
2478
2417
  contact_type: contactType
@@ -2480,7 +2419,7 @@ var AuthService = class {
2480
2419
  );
2481
2420
  }
2482
2421
  async verifyOtp(code, contact) {
2483
- return safe6(
2422
+ return safe(
2484
2423
  this.client.post("/api/v1/auth/verify-otp", {
2485
2424
  otp_code: code,
2486
2425
  contact
@@ -2488,48 +2427,34 @@ var AuthService = class {
2488
2427
  );
2489
2428
  }
2490
2429
  async logout() {
2491
- return safe6(this.client.post("/api/v1/auth/logout"));
2430
+ return safe(this.client.post("/api/v1/auth/logout"));
2492
2431
  }
2493
2432
  async updateProfile(input) {
2494
- return safe6(this.client.post("/api/v1/auth/profile", input));
2433
+ return safe(this.client.post("/api/v1/auth/profile", input));
2495
2434
  }
2496
2435
  };
2497
2436
 
2498
2437
  // src/business.ts
2499
- function toCimplifyError7(error) {
2500
- if (error instanceof CimplifyError) return enrichError(error);
2501
- if (error instanceof Error) {
2502
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
2503
- }
2504
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
2505
- }
2506
- async function safe7(promise) {
2507
- try {
2508
- return ok(await promise);
2509
- } catch (error) {
2510
- return err(toCimplifyError7(error));
2511
- }
2512
- }
2513
2438
  var BusinessService = class {
2514
2439
  constructor(client) {
2515
2440
  this.client = client;
2516
2441
  }
2517
2442
  async getInfo() {
2518
- return safe7(this.client.get("/api/v1/business"));
2443
+ return safe(this.client.get("/api/v1/business"));
2519
2444
  }
2520
2445
  async getByHandle(handle) {
2521
2446
  const encodedHandle = encodeURIComponent(handle);
2522
- return safe7(this.client.get(`/api/v1/business/by-handle/${encodedHandle}`));
2447
+ return safe(this.client.get(`/api/v1/business/by-handle/${encodedHandle}`));
2523
2448
  }
2524
2449
  async getByDomain(domain) {
2525
2450
  const encodedDomain = encodeURIComponent(domain);
2526
- return safe7(this.client.get(`/api/v1/business/by-domain?domain=${encodedDomain}`));
2451
+ return safe(this.client.get(`/api/v1/business/by-domain?domain=${encodedDomain}`));
2527
2452
  }
2528
2453
  async getSettings() {
2529
- return safe7(this.client.get("/api/v1/business/settings"));
2454
+ return safe(this.client.get("/api/v1/business/settings"));
2530
2455
  }
2531
2456
  async getLocations() {
2532
- return safe7(this.client.get("/api/v1/business/locations"));
2457
+ return safe(this.client.get("/api/v1/business/locations"));
2533
2458
  }
2534
2459
  async getLocation(locationId) {
2535
2460
  const result = await this.getLocations();
@@ -2541,7 +2466,7 @@ var BusinessService = class {
2541
2466
  return ok(location);
2542
2467
  }
2543
2468
  async getHours() {
2544
- return safe7(this.client.get("/api/v1/business/hours"));
2469
+ return safe(this.client.get("/api/v1/business/hours"));
2545
2470
  }
2546
2471
  async getLocationHours(locationId) {
2547
2472
  const result = await this.getHours();
@@ -2549,25 +2474,11 @@ var BusinessService = class {
2549
2474
  return ok(result.value.filter((hour) => hour.location_id === locationId));
2550
2475
  }
2551
2476
  async getBootstrap() {
2552
- return safe7(this.client.get("/api/v1/bootstrap"));
2477
+ return safe(this.client.get("/api/v1/bootstrap"));
2553
2478
  }
2554
2479
  };
2555
2480
 
2556
2481
  // src/inventory.ts
2557
- function toCimplifyError8(error) {
2558
- if (error instanceof CimplifyError) return error;
2559
- if (error instanceof Error) {
2560
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2561
- }
2562
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2563
- }
2564
- async function safe8(promise) {
2565
- try {
2566
- return ok(await promise);
2567
- } catch (error) {
2568
- return err(toCimplifyError8(error));
2569
- }
2570
- }
2571
2482
  var InventoryService = class {
2572
2483
  constructor(client) {
2573
2484
  this.client = client;
@@ -2586,14 +2497,14 @@ var InventoryService = class {
2586
2497
  const path = this.withQuery(`/api/v1/inventory/products/${encodedId}/stock`, {
2587
2498
  location_id: locationId
2588
2499
  });
2589
- return safe8(this.client.get(path));
2500
+ return safe(this.client.get(path));
2590
2501
  }
2591
2502
  async getVariantStock(variantId, locationId) {
2592
2503
  const encodedId = encodeURIComponent(variantId);
2593
2504
  const path = this.withQuery(`/api/v1/inventory/variants/${encodedId}/stock`, {
2594
2505
  location_id: locationId
2595
2506
  });
2596
- return safe8(this.client.get(path));
2507
+ return safe(this.client.get(path));
2597
2508
  }
2598
2509
  async checkProductAvailability(productId, quantity, locationId) {
2599
2510
  const encodedId = encodeURIComponent(productId);
@@ -2601,7 +2512,7 @@ var InventoryService = class {
2601
2512
  quantity,
2602
2513
  location_id: locationId
2603
2514
  });
2604
- return safe8(this.client.get(path));
2515
+ return safe(this.client.get(path));
2605
2516
  }
2606
2517
  async checkVariantAvailability(variantId, quantity, locationId) {
2607
2518
  const encodedId = encodeURIComponent(variantId);
@@ -2609,7 +2520,7 @@ var InventoryService = class {
2609
2520
  quantity,
2610
2521
  location_id: locationId
2611
2522
  });
2612
- return safe8(this.client.get(path));
2523
+ return safe(this.client.get(path));
2613
2524
  }
2614
2525
  async checkMultipleAvailability(items, locationId) {
2615
2526
  const results = await Promise.all(
@@ -2635,20 +2546,6 @@ var InventoryService = class {
2635
2546
  };
2636
2547
 
2637
2548
  // src/scheduling.ts
2638
- function toCimplifyError9(error) {
2639
- if (error instanceof CimplifyError) return error;
2640
- if (error instanceof Error) {
2641
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2642
- }
2643
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2644
- }
2645
- async function safe9(promise) {
2646
- try {
2647
- return ok(await promise);
2648
- } catch (error) {
2649
- return err(toCimplifyError9(error));
2650
- }
2651
- }
2652
2549
  function withQuery2(path, params) {
2653
2550
  const searchParams = new URLSearchParams();
2654
2551
  for (const [key, value] of Object.entries(params)) {
@@ -2666,11 +2563,11 @@ var SchedulingService = class {
2666
2563
  this.client = client;
2667
2564
  }
2668
2565
  async getServices() {
2669
- return safe9(this.client.get("/api/v1/scheduling/services"));
2566
+ return safe(this.client.get("/api/v1/scheduling/services"));
2670
2567
  }
2671
2568
  async getService(serviceId) {
2672
2569
  const encodedId = encodeURIComponent(serviceId);
2673
- return safe9(this.client.get(`/api/v1/scheduling/services/${encodedId}`));
2570
+ return safe(this.client.get(`/api/v1/scheduling/services/${encodedId}`));
2674
2571
  }
2675
2572
  async getAvailableSlots(input) {
2676
2573
  const path = withQuery2("/api/v1/scheduling/slots", {
@@ -2679,7 +2576,7 @@ var SchedulingService = class {
2679
2576
  participant_count: input.participant_count,
2680
2577
  duration_minutes: input.duration_minutes
2681
2578
  });
2682
- return safe9(this.client.get(path));
2579
+ return safe(this.client.get(path));
2683
2580
  }
2684
2581
  async checkSlotAvailability(input) {
2685
2582
  const path = withQuery2("/api/v1/scheduling/slots/check", {
@@ -2688,7 +2585,7 @@ var SchedulingService = class {
2688
2585
  duration_minutes: input.duration_minutes,
2689
2586
  participant_count: input.participant_count
2690
2587
  });
2691
- return safe9(this.client.get(path));
2588
+ return safe(this.client.get(path));
2692
2589
  }
2693
2590
  async getServiceAvailability(params) {
2694
2591
  const path = withQuery2("/api/v1/scheduling/availability", {
@@ -2698,17 +2595,17 @@ var SchedulingService = class {
2698
2595
  location_id: params.location_id,
2699
2596
  participant_count: params.participant_count
2700
2597
  });
2701
- return safe9(this.client.get(path));
2598
+ return safe(this.client.get(path));
2702
2599
  }
2703
2600
  async getBooking(bookingId) {
2704
2601
  const encodedId = encodeURIComponent(bookingId);
2705
- return safe9(this.client.get(`/api/v1/scheduling/bookings/${encodedId}`));
2602
+ return safe(this.client.get(`/api/v1/scheduling/bookings/${encodedId}`));
2706
2603
  }
2707
2604
  async getCustomerBookings(customerId) {
2708
2605
  const path = withQuery2("/api/v1/scheduling/bookings", {
2709
2606
  customer_id: customerId
2710
2607
  });
2711
- return safe9(this.client.get(path));
2608
+ return safe(this.client.get(path));
2712
2609
  }
2713
2610
  async getUpcomingBookings() {
2714
2611
  const result = await this.getCustomerBookings();
@@ -2727,14 +2624,14 @@ var SchedulingService = class {
2727
2624
  }
2728
2625
  async cancelBooking(input) {
2729
2626
  const encodedId = encodeURIComponent(input.booking_id);
2730
- return safe9(
2627
+ return safe(
2731
2628
  this.client.post(`/api/v1/scheduling/bookings/${encodedId}/cancel`, {
2732
2629
  reason: input.reason
2733
2630
  })
2734
2631
  );
2735
2632
  }
2736
2633
  async rescheduleBooking(input) {
2737
- return safe9(
2634
+ return safe(
2738
2635
  this.client.post("/api/v1/scheduling/bookings/reschedule", input)
2739
2636
  );
2740
2637
  }
@@ -2758,65 +2655,37 @@ var SchedulingService = class {
2758
2655
  };
2759
2656
 
2760
2657
  // src/lite.ts
2761
- function toCimplifyError10(error) {
2762
- if (error instanceof CimplifyError) return error;
2763
- if (error instanceof Error) {
2764
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2765
- }
2766
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2767
- }
2768
- async function safe10(promise) {
2769
- try {
2770
- return ok(await promise);
2771
- } catch (error) {
2772
- return err(toCimplifyError10(error));
2773
- }
2774
- }
2775
2658
  var LiteService = class {
2776
2659
  constructor(client) {
2777
2660
  this.client = client;
2778
2661
  }
2779
2662
  async getBootstrap() {
2780
- return safe10(this.client.get("/api/v1/lite/bootstrap"));
2663
+ return safe(this.client.get("/api/v1/lite/bootstrap"));
2781
2664
  }
2782
2665
  async getTable(tableId) {
2783
2666
  const encodedId = encodeURIComponent(tableId);
2784
- return safe10(this.client.get(`/api/v1/lite/tables/${encodedId}`));
2667
+ return safe(this.client.get(`/api/v1/lite/tables/${encodedId}`));
2785
2668
  }
2786
2669
  async getMenu() {
2787
- return safe10(this.client.get("/api/v1/lite/menu"));
2670
+ return safe(this.client.get("/api/v1/lite/menu"));
2788
2671
  }
2789
2672
  async getMenuByCategory(categoryId) {
2790
2673
  const encodedId = encodeURIComponent(categoryId);
2791
- return safe10(this.client.get(`/api/v1/lite/menu/categories/${encodedId}`));
2674
+ return safe(this.client.get(`/api/v1/lite/menu/categories/${encodedId}`));
2792
2675
  }
2793
2676
  };
2794
2677
 
2795
2678
  // src/fx.ts
2796
- function toCimplifyError11(error) {
2797
- if (error instanceof CimplifyError) return error;
2798
- if (error instanceof Error) {
2799
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2800
- }
2801
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2802
- }
2803
- async function safe11(promise) {
2804
- try {
2805
- return ok(await promise);
2806
- } catch (error) {
2807
- return err(toCimplifyError11(error));
2808
- }
2809
- }
2810
2679
  var FxService = class {
2811
2680
  constructor(client) {
2812
2681
  this.client = client;
2813
2682
  }
2814
2683
  async getRate(from, to) {
2815
2684
  const path = `/api/v1/fx/rate?from=${encodeURIComponent(from)}&to=${encodeURIComponent(to)}`;
2816
- return safe11(this.client.get(path));
2685
+ return safe(this.client.get(path));
2817
2686
  }
2818
2687
  async lockQuote(request) {
2819
- return safe11(this.client.post("/api/v1/fx/quotes", request));
2688
+ return safe(this.client.post("/api/v1/fx/quotes", request));
2820
2689
  }
2821
2690
  };
2822
2691
 
@@ -2967,6 +2836,11 @@ var CimplifyElements = class {
2967
2836
  window.addEventListener("message", this.boundHandleMessage);
2968
2837
  }
2969
2838
  }
2839
+ debug(...args) {
2840
+ if (this.client.isTestMode()) {
2841
+ console.debug(...args);
2842
+ }
2843
+ }
2970
2844
  create(type, options = {}) {
2971
2845
  const existing = this.elements.get(type);
2972
2846
  if (existing) return existing;
@@ -3021,9 +2895,9 @@ var CimplifyElements = class {
3021
2895
  processCheckout(options) {
3022
2896
  let abortFn = null;
3023
2897
  const task = (async () => {
3024
- console.debug("[cimplify:checkout] processCheckout called", { cart_id: options.cart_id, order_type: options.order_type, location_id: options.location_id });
2898
+ this.debug("[cimplify:checkout] processCheckout called", { cart_id: options.cart_id, order_type: options.order_type, location_id: options.location_id });
3025
2899
  if (this.checkoutInProgress) {
3026
- console.debug("[cimplify:checkout] BLOCKED: already processing");
2900
+ this.debug("[cimplify:checkout] BLOCKED: already processing");
3027
2901
  return toCheckoutError(
3028
2902
  "ALREADY_PROCESSING",
3029
2903
  "Checkout is already in progress.",
@@ -3032,7 +2906,7 @@ var CimplifyElements = class {
3032
2906
  }
3033
2907
  this.checkoutInProgress = true;
3034
2908
  if (!options.cart_id) {
3035
- console.debug("[cimplify:checkout] BLOCKED: no cart_id");
2909
+ this.debug("[cimplify:checkout] BLOCKED: no cart_id");
3036
2910
  this.checkoutInProgress = false;
3037
2911
  return toCheckoutError(
3038
2912
  "INVALID_CART",
@@ -3041,7 +2915,7 @@ var CimplifyElements = class {
3041
2915
  );
3042
2916
  }
3043
2917
  if (!options.order_type) {
3044
- console.debug("[cimplify:checkout] BLOCKED: no order_type");
2918
+ this.debug("[cimplify:checkout] BLOCKED: no order_type");
3045
2919
  this.checkoutInProgress = false;
3046
2920
  return toCheckoutError(
3047
2921
  "ORDER_TYPE_REQUIRED",
@@ -3051,7 +2925,7 @@ var CimplifyElements = class {
3051
2925
  }
3052
2926
  const checkoutElement = this.elements.get(ELEMENT_TYPES.CHECKOUT) || this.elements.get(ELEMENT_TYPES.PAYMENT);
3053
2927
  if (!checkoutElement) {
3054
- console.debug("[cimplify:checkout] BLOCKED: no checkout element");
2928
+ this.debug("[cimplify:checkout] BLOCKED: no checkout element");
3055
2929
  this.checkoutInProgress = false;
3056
2930
  return toCheckoutError(
3057
2931
  "NO_PAYMENT_ELEMENT",
@@ -3060,7 +2934,7 @@ var CimplifyElements = class {
3060
2934
  );
3061
2935
  }
3062
2936
  if (!checkoutElement.isMounted()) {
3063
- console.debug("[cimplify:checkout] BLOCKED: checkout element not mounted");
2937
+ this.debug("[cimplify:checkout] BLOCKED: checkout element not mounted");
3064
2938
  this.checkoutInProgress = false;
3065
2939
  return toCheckoutError(
3066
2940
  "PAYMENT_NOT_MOUNTED",
@@ -3072,7 +2946,7 @@ var CimplifyElements = class {
3072
2946
  if (!isUnifiedCheckout) {
3073
2947
  const authElement = this.elements.get(ELEMENT_TYPES.AUTH);
3074
2948
  if (authElement && !this.accessToken) {
3075
- console.debug("[cimplify:checkout] BLOCKED: auth incomplete");
2949
+ this.debug("[cimplify:checkout] BLOCKED: auth incomplete");
3076
2950
  this.checkoutInProgress = false;
3077
2951
  return toCheckoutError(
3078
2952
  "AUTH_INCOMPLETE",
@@ -3082,13 +2956,13 @@ var CimplifyElements = class {
3082
2956
  }
3083
2957
  const addressElement = this.elements.get(ELEMENT_TYPES.ADDRESS);
3084
2958
  if (addressElement) {
3085
- console.debug("[cimplify:checkout] getting address data...");
2959
+ this.debug("[cimplify:checkout] getting address data...");
3086
2960
  await addressElement.getData();
3087
- console.debug("[cimplify:checkout] address data resolved", this.addressData);
2961
+ this.debug("[cimplify:checkout] address data resolved", this.addressData);
3088
2962
  }
3089
2963
  await this.hydrateCustomerData();
3090
2964
  }
3091
- console.debug("[cimplify:checkout] customer data hydrated", { customerData: this.customerData, accountId: this.accountId, isUnifiedCheckout });
2965
+ this.debug("[cimplify:checkout] customer data hydrated", { customerData: this.customerData, accountId: this.accountId, isUnifiedCheckout });
3092
2966
  const processMessage = {
3093
2967
  type: MESSAGE_TYPES.PROCESS_CHECKOUT,
3094
2968
  cart_id: options.cart_id,
@@ -3164,7 +3038,7 @@ var CimplifyElements = class {
3164
3038
  return;
3165
3039
  }
3166
3040
  if (message.type === MESSAGE_TYPES.CHECKOUT_COMPLETE) {
3167
- console.debug("[cimplify:checkout] received checkout_complete", { success: message.success, error: message.error });
3041
+ this.debug("[cimplify:checkout] received checkout_complete", { success: message.success, error: message.error });
3168
3042
  settle({
3169
3043
  success: message.success,
3170
3044
  order: message.order,
@@ -3187,9 +3061,9 @@ var CimplifyElements = class {
3187
3061
  );
3188
3062
  };
3189
3063
  this.activeCheckoutAbort = abortFn;
3190
- console.debug("[cimplify:checkout] sending process_checkout to checkout iframe", { cart_id: processMessage.cart_id, order_type: processMessage.order_type, hasCustomer: !!processMessage.customer, hasAddress: !!processMessage.address, isUnifiedCheckout });
3064
+ this.debug("[cimplify:checkout] sending process_checkout to checkout iframe", { cart_id: processMessage.cart_id, order_type: processMessage.order_type, hasCustomer: !!processMessage.customer, hasAddress: !!processMessage.address, isUnifiedCheckout });
3191
3065
  checkoutElement.sendMessage(processMessage);
3192
- console.debug("[cimplify:checkout] postMessage sent, waiting for checkout_complete...");
3066
+ this.debug("[cimplify:checkout] postMessage sent, waiting for checkout_complete...");
3193
3067
  });
3194
3068
  })();
3195
3069
  const abortable = task;