@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.mjs CHANGED
@@ -548,7 +548,7 @@ function err(error) {
548
548
  return { ok: false, error };
549
549
  }
550
550
 
551
- // src/catalogue.ts
551
+ // src/internal/safe.ts
552
552
  function toCimplifyError(error) {
553
553
  if (error instanceof CimplifyError) return enrichError(error);
554
554
  if (error instanceof Error) {
@@ -563,6 +563,8 @@ async function safe(promise) {
563
563
  return err(toCimplifyError(error));
564
564
  }
565
565
  }
566
+
567
+ // src/catalogue.ts
566
568
  function withQuery(path, params) {
567
569
  const query = new URLSearchParams();
568
570
  for (const [key, value] of Object.entries(params)) {
@@ -932,20 +934,6 @@ var CatalogueQueries = class {
932
934
  };
933
935
 
934
936
  // src/cart.ts
935
- function toCimplifyError2(error) {
936
- if (error instanceof CimplifyError) return enrichError(error);
937
- if (error instanceof Error) {
938
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
939
- }
940
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
941
- }
942
- async function safe2(promise) {
943
- try {
944
- return ok(await promise);
945
- } catch (error) {
946
- return err(toCimplifyError2(error));
947
- }
948
- }
949
937
  function isUICartResponse(value) {
950
938
  return "cart" in value;
951
939
  }
@@ -957,21 +945,21 @@ var CartOperations = class {
957
945
  this.client = client;
958
946
  }
959
947
  async get() {
960
- const result = await safe2(this.client.get("/api/v1/cart"));
948
+ const result = await safe(this.client.get("/api/v1/cart"));
961
949
  if (!result.ok) return result;
962
950
  return ok(unwrapEnrichedCart(result.value));
963
951
  }
964
952
  async getRaw() {
965
- return safe2(this.client.get("/api/v1/cart"));
953
+ return safe(this.client.get("/api/v1/cart"));
966
954
  }
967
955
  async getItems() {
968
- return safe2(this.client.get("/api/v1/cart/items"));
956
+ return safe(this.client.get("/api/v1/cart/items"));
969
957
  }
970
958
  async getCount() {
971
- return safe2(this.client.get("/api/v1/cart/count"));
959
+ return safe(this.client.get("/api/v1/cart/count"));
972
960
  }
973
961
  async getTotal() {
974
- return safe2(this.client.get("/api/v1/cart/total"));
962
+ return safe(this.client.get("/api/v1/cart/total"));
975
963
  }
976
964
  async getSummary() {
977
965
  const cartResult = await this.get();
@@ -988,18 +976,18 @@ var CartOperations = class {
988
976
  });
989
977
  }
990
978
  async addItem(input) {
991
- return safe2(this.client.post("/api/v1/cart/items", input));
979
+ return safe(this.client.post("/api/v1/cart/items", input));
992
980
  }
993
981
  async updateItem(cartItemId, updates) {
994
982
  if (typeof updates.quantity === "number") {
995
983
  return this.updateQuantity(cartItemId, updates.quantity);
996
984
  }
997
985
  const encodedId = encodeURIComponent(cartItemId);
998
- return safe2(this.client.patch(`/api/v1/cart/items/${encodedId}`, updates));
986
+ return safe(this.client.patch(`/api/v1/cart/items/${encodedId}`, updates));
999
987
  }
1000
988
  async updateQuantity(cartItemId, quantity) {
1001
989
  const encodedId = encodeURIComponent(cartItemId);
1002
- return safe2(
990
+ return safe(
1003
991
  this.client.patch(`/api/v1/cart/items/${encodedId}`, {
1004
992
  quantity
1005
993
  })
@@ -1007,20 +995,20 @@ var CartOperations = class {
1007
995
  }
1008
996
  async removeItem(cartItemId) {
1009
997
  const encodedId = encodeURIComponent(cartItemId);
1010
- return safe2(this.client.delete(`/api/v1/cart/items/${encodedId}`));
998
+ return safe(this.client.delete(`/api/v1/cart/items/${encodedId}`));
1011
999
  }
1012
1000
  async clear() {
1013
- return safe2(this.client.delete("/api/v1/cart"));
1001
+ return safe(this.client.delete("/api/v1/cart"));
1014
1002
  }
1015
1003
  async applyCoupon(code) {
1016
- return safe2(
1004
+ return safe(
1017
1005
  this.client.post("/api/v1/cart/coupons", {
1018
1006
  coupon_code: code
1019
1007
  })
1020
1008
  );
1021
1009
  }
1022
1010
  async removeCoupon() {
1023
- return safe2(this.client.delete("/api/v1/cart/coupons/current"));
1011
+ return safe(this.client.delete("/api/v1/cart/coupons/current"));
1024
1012
  }
1025
1013
  async isEmpty() {
1026
1014
  const countResult = await this.getCount();
@@ -1445,9 +1433,16 @@ function isValidMobileMoneyProvider(value) {
1445
1433
  return VALID_MOBILE_MONEY_PROVIDERS.has(value);
1446
1434
  }
1447
1435
  function normalizeAuthorizationType(value) {
1436
+ if (value && typeof value === "object" && "address" in value) {
1437
+ return "address";
1438
+ }
1448
1439
  if (typeof value !== "string") return void 0;
1449
- const lower = value.toLowerCase();
1450
- return lower === "otp" || lower === "pin" ? lower : void 0;
1440
+ const normalized = value.trim().toLowerCase().replace(/[\s-]+/g, "_");
1441
+ if (normalized === "otp" || normalized === "pin") return normalized;
1442
+ if (normalized === "phone" || normalized === "birthday" || normalized === "address") {
1443
+ return normalized;
1444
+ }
1445
+ return void 0;
1451
1446
  }
1452
1447
  function formatMoney2(value) {
1453
1448
  if (typeof value === "number" && Number.isFinite(value)) {
@@ -2018,20 +2013,6 @@ var CheckoutResolver = class {
2018
2013
  };
2019
2014
 
2020
2015
  // src/checkout.ts
2021
- function toCimplifyError3(error) {
2022
- if (error instanceof CimplifyError) return enrichError(error);
2023
- if (error instanceof Error) {
2024
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
2025
- }
2026
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
2027
- }
2028
- async function safe3(promise) {
2029
- try {
2030
- return ok(await promise);
2031
- } catch (error) {
2032
- return err(toCimplifyError3(error));
2033
- }
2034
- }
2035
2016
  function toTerminalFailure(code, message, recoverable) {
2036
2017
  return {
2037
2018
  success: false,
@@ -2063,7 +2044,7 @@ var CheckoutService = class {
2063
2044
  ...data,
2064
2045
  idempotency_key: data.idempotency_key || generateIdempotencyKey()
2065
2046
  };
2066
- const result = await safe3(
2047
+ const result = await safe(
2067
2048
  this.client.post("/api/v1/checkout", {
2068
2049
  checkout_data: checkoutData
2069
2050
  })
@@ -2083,22 +2064,22 @@ var CheckoutService = class {
2083
2064
  );
2084
2065
  }
2085
2066
  async submitAuthorization(input) {
2086
- return safe3(this.client.post("/api/v1/payments/authorization", input));
2067
+ return safe(this.client.post("/api/v1/payments/authorization", input));
2087
2068
  }
2088
2069
  async pollPaymentStatus(orderId) {
2089
2070
  const encodedId = encodeURIComponent(orderId);
2090
2071
  const tokenParam = this.orderTokenParam(orderId);
2091
- return safe3(this.client.get(`/api/v1/orders/${encodedId}/payment-status${tokenParam}`));
2072
+ return safe(this.client.get(`/api/v1/orders/${encodedId}/payment-status${tokenParam}`));
2092
2073
  }
2093
2074
  async updateOrderCustomer(orderId, customer) {
2094
2075
  const encodedId = encodeURIComponent(orderId);
2095
2076
  const tokenParam = this.orderTokenParam(orderId);
2096
- return safe3(this.client.post(`/api/v1/orders/${encodedId}/customer${tokenParam}`, customer));
2077
+ return safe(this.client.post(`/api/v1/orders/${encodedId}/customer${tokenParam}`, customer));
2097
2078
  }
2098
2079
  async verifyPayment(orderId) {
2099
2080
  const encodedId = encodeURIComponent(orderId);
2100
2081
  const tokenParam = this.orderTokenParam(orderId);
2101
- return safe3(this.client.post(`/api/v1/orders/${encodedId}/verify-payment${tokenParam}`));
2082
+ return safe(this.client.post(`/api/v1/orders/${encodedId}/verify-payment${tokenParam}`));
2102
2083
  }
2103
2084
  async processAndResolve(data) {
2104
2085
  data.on_status_change?.("preparing", {});
@@ -2203,20 +2184,6 @@ var CheckoutService = class {
2203
2184
  };
2204
2185
 
2205
2186
  // src/orders.ts
2206
- function toCimplifyError4(error) {
2207
- if (error instanceof CimplifyError) return enrichError(error);
2208
- if (error instanceof Error) {
2209
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
2210
- }
2211
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
2212
- }
2213
- async function safe4(promise) {
2214
- try {
2215
- return ok(await promise);
2216
- } catch (error) {
2217
- return err(toCimplifyError4(error));
2218
- }
2219
- }
2220
2187
  var OrderQueries = class {
2221
2188
  constructor(client) {
2222
2189
  this.client = client;
@@ -2231,12 +2198,12 @@ var OrderQueries = class {
2231
2198
  if (options?.limit) params.set("limit", String(options.limit));
2232
2199
  if (options?.offset) params.set("offset", String(options.offset));
2233
2200
  const path = params.toString() ? `/api/v1/orders?${params.toString()}` : "/api/v1/orders";
2234
- return safe4(this.client.get(path));
2201
+ return safe(this.client.get(path));
2235
2202
  }
2236
2203
  async get(orderId) {
2237
2204
  const encodedId = encodeURIComponent(orderId);
2238
2205
  const tokenParam = this.orderTokenParam(orderId);
2239
- return safe4(this.client.get(`/api/v1/orders/${encodedId}${tokenParam}`));
2206
+ return safe(this.client.get(`/api/v1/orders/${encodedId}${tokenParam}`));
2240
2207
  }
2241
2208
  async getRecent(limit = 5) {
2242
2209
  return this.list({ limit });
@@ -2247,7 +2214,7 @@ var OrderQueries = class {
2247
2214
  async cancel(orderId, reason) {
2248
2215
  const encodedId = encodeURIComponent(orderId);
2249
2216
  const tokenParam = this.orderTokenParam(orderId);
2250
- return safe4(
2217
+ return safe(
2251
2218
  this.client.post(`/api/v1/orders/${encodedId}/cancel${tokenParam}`, {
2252
2219
  reason
2253
2220
  })
@@ -2256,20 +2223,6 @@ var OrderQueries = class {
2256
2223
  };
2257
2224
 
2258
2225
  // src/link.ts
2259
- function toCimplifyError5(error) {
2260
- if (error instanceof CimplifyError) return error;
2261
- if (error instanceof Error) {
2262
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2263
- }
2264
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2265
- }
2266
- async function safe5(promise) {
2267
- try {
2268
- return ok(await promise);
2269
- } catch (error) {
2270
- return err(toCimplifyError5(error));
2271
- }
2272
- }
2273
2226
  function encodePathSegment(value) {
2274
2227
  return encodeURIComponent(value);
2275
2228
  }
@@ -2307,13 +2260,13 @@ var LinkService = class {
2307
2260
  this.client = client;
2308
2261
  }
2309
2262
  async getProfile() {
2310
- return safe5(this.client.linkGet("/v1/link/profile"));
2263
+ return safe(this.client.linkGet("/v1/link/profile"));
2311
2264
  }
2312
2265
  async requestOtp(input) {
2313
- return safe5(this.client.linkPost("/v1/link/auth/request-otp", input));
2266
+ return safe(this.client.linkPost("/v1/link/auth/request-otp", input));
2314
2267
  }
2315
2268
  async verifyOtp(input) {
2316
- const result = await safe5(
2269
+ const result = await safe(
2317
2270
  this.client.linkPost("/v1/link/auth/verify-otp", input)
2318
2271
  );
2319
2272
  if (result.ok && result.value.session_token) {
@@ -2322,45 +2275,45 @@ var LinkService = class {
2322
2275
  return result;
2323
2276
  }
2324
2277
  async logout() {
2325
- const result = await safe5(this.client.linkPost("/v1/link/auth/logout"));
2278
+ const result = await safe(this.client.linkPost("/v1/link/auth/logout"));
2326
2279
  if (result.ok) {
2327
2280
  this.client.clearSession();
2328
2281
  }
2329
2282
  return result;
2330
2283
  }
2331
2284
  async checkStatus(contact) {
2332
- return safe5(this.client.linkPost("/v1/link/check-status", { contact }));
2285
+ return safe(this.client.linkPost("/v1/link/check-status", { contact }));
2333
2286
  }
2334
2287
  async getLinkData() {
2335
- return safe5(this.client.linkGet("/v1/link/data"));
2288
+ return safe(this.client.linkGet("/v1/link/data"));
2336
2289
  }
2337
2290
  async getAddresses() {
2338
- return safe5(this.client.linkGet("/v1/link/addresses"));
2291
+ return safe(this.client.linkGet("/v1/link/addresses"));
2339
2292
  }
2340
2293
  async getMobileMoney() {
2341
- return safe5(this.client.linkGet("/v1/link/mobile-money"));
2294
+ return safe(this.client.linkGet("/v1/link/mobile-money"));
2342
2295
  }
2343
2296
  async getPreferences() {
2344
- return safe5(this.client.linkGet("/v1/link/preferences"));
2297
+ return safe(this.client.linkGet("/v1/link/preferences"));
2345
2298
  }
2346
2299
  async enroll(data) {
2347
- return safe5(this.client.linkPost("/v1/link/enroll", data));
2300
+ return safe(this.client.linkPost("/v1/link/enroll", data));
2348
2301
  }
2349
2302
  async enrollAndLinkOrder(data) {
2350
- return safe5(
2303
+ return safe(
2351
2304
  this.client.linkPost("/v1/link/enroll-and-link-order", data)
2352
2305
  );
2353
2306
  }
2354
2307
  async updatePreferences(preferences) {
2355
- return safe5(this.client.linkPost("/v1/link/preferences", preferences));
2308
+ return safe(this.client.linkPost("/v1/link/preferences", preferences));
2356
2309
  }
2357
2310
  async createAddress(input) {
2358
- return safe5(
2311
+ return safe(
2359
2312
  this.client.linkPost("/v1/link/addresses", toCreateAddressPayload(input))
2360
2313
  );
2361
2314
  }
2362
2315
  async updateAddress(input) {
2363
- return safe5(
2316
+ return safe(
2364
2317
  this.client.linkPost(
2365
2318
  `/v1/link/addresses/${encodePathSegment(input.address_id)}`,
2366
2319
  toUpdateAddressPayload(input)
@@ -2368,26 +2321,26 @@ var LinkService = class {
2368
2321
  );
2369
2322
  }
2370
2323
  async deleteAddress(addressId) {
2371
- return safe5(
2324
+ return safe(
2372
2325
  this.client.linkDelete(`/v1/link/addresses/${encodePathSegment(addressId)}`)
2373
2326
  );
2374
2327
  }
2375
2328
  async setDefaultAddress(addressId) {
2376
- return safe5(
2329
+ return safe(
2377
2330
  this.client.linkPost(
2378
2331
  `/v1/link/addresses/${encodePathSegment(addressId)}/default`
2379
2332
  )
2380
2333
  );
2381
2334
  }
2382
2335
  async trackAddressUsage(addressId) {
2383
- return safe5(
2336
+ return safe(
2384
2337
  this.client.linkPost(
2385
2338
  `/v1/link/addresses/${encodePathSegment(addressId)}/track-usage`
2386
2339
  )
2387
2340
  );
2388
2341
  }
2389
2342
  async createMobileMoney(input) {
2390
- return safe5(
2343
+ return safe(
2391
2344
  this.client.linkPost(
2392
2345
  "/v1/link/mobile-money",
2393
2346
  toCreateMobileMoneyPayload(input)
@@ -2395,65 +2348,51 @@ var LinkService = class {
2395
2348
  );
2396
2349
  }
2397
2350
  async deleteMobileMoney(mobileMoneyId) {
2398
- return safe5(
2351
+ return safe(
2399
2352
  this.client.linkDelete(
2400
2353
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}`
2401
2354
  )
2402
2355
  );
2403
2356
  }
2404
2357
  async setDefaultMobileMoney(mobileMoneyId) {
2405
- return safe5(
2358
+ return safe(
2406
2359
  this.client.linkPost(
2407
2360
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/default`
2408
2361
  )
2409
2362
  );
2410
2363
  }
2411
2364
  async trackMobileMoneyUsage(mobileMoneyId) {
2412
- return safe5(
2365
+ return safe(
2413
2366
  this.client.linkPost(
2414
2367
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/track-usage`
2415
2368
  )
2416
2369
  );
2417
2370
  }
2418
2371
  async verifyMobileMoney(mobileMoneyId) {
2419
- return safe5(
2372
+ return safe(
2420
2373
  this.client.linkPost(
2421
2374
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/verify`
2422
2375
  )
2423
2376
  );
2424
2377
  }
2425
2378
  async getSessions() {
2426
- return safe5(this.client.linkGet("/v1/link/sessions"));
2379
+ return safe(this.client.linkGet("/v1/link/sessions"));
2427
2380
  }
2428
2381
  async revokeSession(sessionId) {
2429
- return safe5(this.client.linkDelete(`/v1/link/sessions/${sessionId}`));
2382
+ return safe(this.client.linkDelete(`/v1/link/sessions/${sessionId}`));
2430
2383
  }
2431
2384
  async revokeAllSessions() {
2432
- return safe5(this.client.linkDelete("/v1/link/sessions"));
2385
+ return safe(this.client.linkDelete("/v1/link/sessions"));
2433
2386
  }
2434
2387
  };
2435
2388
 
2436
2389
  // src/auth.ts
2437
- function toCimplifyError6(error) {
2438
- if (error instanceof CimplifyError) return error;
2439
- if (error instanceof Error) {
2440
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2441
- }
2442
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2443
- }
2444
- async function safe6(promise) {
2445
- try {
2446
- return ok(await promise);
2447
- } catch (error) {
2448
- return err(toCimplifyError6(error));
2449
- }
2450
- }
2451
2390
  var AuthService = class {
2452
2391
  constructor(client) {
2453
2392
  this.client = client;
2454
2393
  }
2455
2394
  async getStatus() {
2456
- return safe6(this.client.get("/api/v1/auth/status"));
2395
+ return safe(this.client.get("/api/v1/auth/status"));
2457
2396
  }
2458
2397
  async getCurrentUser() {
2459
2398
  const result = await this.getStatus();
@@ -2466,7 +2405,7 @@ var AuthService = class {
2466
2405
  return ok(result.value.is_authenticated);
2467
2406
  }
2468
2407
  async requestOtp(contact, contactType) {
2469
- return safe6(
2408
+ return safe(
2470
2409
  this.client.post("/api/v1/auth/request-otp", {
2471
2410
  contact,
2472
2411
  contact_type: contactType
@@ -2474,7 +2413,7 @@ var AuthService = class {
2474
2413
  );
2475
2414
  }
2476
2415
  async verifyOtp(code, contact) {
2477
- return safe6(
2416
+ return safe(
2478
2417
  this.client.post("/api/v1/auth/verify-otp", {
2479
2418
  otp_code: code,
2480
2419
  contact
@@ -2482,48 +2421,34 @@ var AuthService = class {
2482
2421
  );
2483
2422
  }
2484
2423
  async logout() {
2485
- return safe6(this.client.post("/api/v1/auth/logout"));
2424
+ return safe(this.client.post("/api/v1/auth/logout"));
2486
2425
  }
2487
2426
  async updateProfile(input) {
2488
- return safe6(this.client.post("/api/v1/auth/profile", input));
2427
+ return safe(this.client.post("/api/v1/auth/profile", input));
2489
2428
  }
2490
2429
  };
2491
2430
 
2492
2431
  // src/business.ts
2493
- function toCimplifyError7(error) {
2494
- if (error instanceof CimplifyError) return enrichError(error);
2495
- if (error instanceof Error) {
2496
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
2497
- }
2498
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
2499
- }
2500
- async function safe7(promise) {
2501
- try {
2502
- return ok(await promise);
2503
- } catch (error) {
2504
- return err(toCimplifyError7(error));
2505
- }
2506
- }
2507
2432
  var BusinessService = class {
2508
2433
  constructor(client) {
2509
2434
  this.client = client;
2510
2435
  }
2511
2436
  async getInfo() {
2512
- return safe7(this.client.get("/api/v1/business"));
2437
+ return safe(this.client.get("/api/v1/business"));
2513
2438
  }
2514
2439
  async getByHandle(handle) {
2515
2440
  const encodedHandle = encodeURIComponent(handle);
2516
- return safe7(this.client.get(`/api/v1/business/by-handle/${encodedHandle}`));
2441
+ return safe(this.client.get(`/api/v1/business/by-handle/${encodedHandle}`));
2517
2442
  }
2518
2443
  async getByDomain(domain) {
2519
2444
  const encodedDomain = encodeURIComponent(domain);
2520
- return safe7(this.client.get(`/api/v1/business/by-domain?domain=${encodedDomain}`));
2445
+ return safe(this.client.get(`/api/v1/business/by-domain?domain=${encodedDomain}`));
2521
2446
  }
2522
2447
  async getSettings() {
2523
- return safe7(this.client.get("/api/v1/business/settings"));
2448
+ return safe(this.client.get("/api/v1/business/settings"));
2524
2449
  }
2525
2450
  async getLocations() {
2526
- return safe7(this.client.get("/api/v1/business/locations"));
2451
+ return safe(this.client.get("/api/v1/business/locations"));
2527
2452
  }
2528
2453
  async getLocation(locationId) {
2529
2454
  const result = await this.getLocations();
@@ -2535,7 +2460,7 @@ var BusinessService = class {
2535
2460
  return ok(location);
2536
2461
  }
2537
2462
  async getHours() {
2538
- return safe7(this.client.get("/api/v1/business/hours"));
2463
+ return safe(this.client.get("/api/v1/business/hours"));
2539
2464
  }
2540
2465
  async getLocationHours(locationId) {
2541
2466
  const result = await this.getHours();
@@ -2543,25 +2468,11 @@ var BusinessService = class {
2543
2468
  return ok(result.value.filter((hour) => hour.location_id === locationId));
2544
2469
  }
2545
2470
  async getBootstrap() {
2546
- return safe7(this.client.get("/api/v1/bootstrap"));
2471
+ return safe(this.client.get("/api/v1/bootstrap"));
2547
2472
  }
2548
2473
  };
2549
2474
 
2550
2475
  // src/inventory.ts
2551
- function toCimplifyError8(error) {
2552
- if (error instanceof CimplifyError) return error;
2553
- if (error instanceof Error) {
2554
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2555
- }
2556
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2557
- }
2558
- async function safe8(promise) {
2559
- try {
2560
- return ok(await promise);
2561
- } catch (error) {
2562
- return err(toCimplifyError8(error));
2563
- }
2564
- }
2565
2476
  var InventoryService = class {
2566
2477
  constructor(client) {
2567
2478
  this.client = client;
@@ -2580,14 +2491,14 @@ var InventoryService = class {
2580
2491
  const path = this.withQuery(`/api/v1/inventory/products/${encodedId}/stock`, {
2581
2492
  location_id: locationId
2582
2493
  });
2583
- return safe8(this.client.get(path));
2494
+ return safe(this.client.get(path));
2584
2495
  }
2585
2496
  async getVariantStock(variantId, locationId) {
2586
2497
  const encodedId = encodeURIComponent(variantId);
2587
2498
  const path = this.withQuery(`/api/v1/inventory/variants/${encodedId}/stock`, {
2588
2499
  location_id: locationId
2589
2500
  });
2590
- return safe8(this.client.get(path));
2501
+ return safe(this.client.get(path));
2591
2502
  }
2592
2503
  async checkProductAvailability(productId, quantity, locationId) {
2593
2504
  const encodedId = encodeURIComponent(productId);
@@ -2595,7 +2506,7 @@ var InventoryService = class {
2595
2506
  quantity,
2596
2507
  location_id: locationId
2597
2508
  });
2598
- return safe8(this.client.get(path));
2509
+ return safe(this.client.get(path));
2599
2510
  }
2600
2511
  async checkVariantAvailability(variantId, quantity, locationId) {
2601
2512
  const encodedId = encodeURIComponent(variantId);
@@ -2603,7 +2514,7 @@ var InventoryService = class {
2603
2514
  quantity,
2604
2515
  location_id: locationId
2605
2516
  });
2606
- return safe8(this.client.get(path));
2517
+ return safe(this.client.get(path));
2607
2518
  }
2608
2519
  async checkMultipleAvailability(items, locationId) {
2609
2520
  const results = await Promise.all(
@@ -2629,20 +2540,6 @@ var InventoryService = class {
2629
2540
  };
2630
2541
 
2631
2542
  // src/scheduling.ts
2632
- function toCimplifyError9(error) {
2633
- if (error instanceof CimplifyError) return error;
2634
- if (error instanceof Error) {
2635
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2636
- }
2637
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2638
- }
2639
- async function safe9(promise) {
2640
- try {
2641
- return ok(await promise);
2642
- } catch (error) {
2643
- return err(toCimplifyError9(error));
2644
- }
2645
- }
2646
2543
  function withQuery2(path, params) {
2647
2544
  const searchParams = new URLSearchParams();
2648
2545
  for (const [key, value] of Object.entries(params)) {
@@ -2660,11 +2557,11 @@ var SchedulingService = class {
2660
2557
  this.client = client;
2661
2558
  }
2662
2559
  async getServices() {
2663
- return safe9(this.client.get("/api/v1/scheduling/services"));
2560
+ return safe(this.client.get("/api/v1/scheduling/services"));
2664
2561
  }
2665
2562
  async getService(serviceId) {
2666
2563
  const encodedId = encodeURIComponent(serviceId);
2667
- return safe9(this.client.get(`/api/v1/scheduling/services/${encodedId}`));
2564
+ return safe(this.client.get(`/api/v1/scheduling/services/${encodedId}`));
2668
2565
  }
2669
2566
  async getAvailableSlots(input) {
2670
2567
  const path = withQuery2("/api/v1/scheduling/slots", {
@@ -2673,7 +2570,7 @@ var SchedulingService = class {
2673
2570
  participant_count: input.participant_count,
2674
2571
  duration_minutes: input.duration_minutes
2675
2572
  });
2676
- return safe9(this.client.get(path));
2573
+ return safe(this.client.get(path));
2677
2574
  }
2678
2575
  async checkSlotAvailability(input) {
2679
2576
  const path = withQuery2("/api/v1/scheduling/slots/check", {
@@ -2682,7 +2579,7 @@ var SchedulingService = class {
2682
2579
  duration_minutes: input.duration_minutes,
2683
2580
  participant_count: input.participant_count
2684
2581
  });
2685
- return safe9(this.client.get(path));
2582
+ return safe(this.client.get(path));
2686
2583
  }
2687
2584
  async getServiceAvailability(params) {
2688
2585
  const path = withQuery2("/api/v1/scheduling/availability", {
@@ -2692,17 +2589,17 @@ var SchedulingService = class {
2692
2589
  location_id: params.location_id,
2693
2590
  participant_count: params.participant_count
2694
2591
  });
2695
- return safe9(this.client.get(path));
2592
+ return safe(this.client.get(path));
2696
2593
  }
2697
2594
  async getBooking(bookingId) {
2698
2595
  const encodedId = encodeURIComponent(bookingId);
2699
- return safe9(this.client.get(`/api/v1/scheduling/bookings/${encodedId}`));
2596
+ return safe(this.client.get(`/api/v1/scheduling/bookings/${encodedId}`));
2700
2597
  }
2701
2598
  async getCustomerBookings(customerId) {
2702
2599
  const path = withQuery2("/api/v1/scheduling/bookings", {
2703
2600
  customer_id: customerId
2704
2601
  });
2705
- return safe9(this.client.get(path));
2602
+ return safe(this.client.get(path));
2706
2603
  }
2707
2604
  async getUpcomingBookings() {
2708
2605
  const result = await this.getCustomerBookings();
@@ -2721,14 +2618,14 @@ var SchedulingService = class {
2721
2618
  }
2722
2619
  async cancelBooking(input) {
2723
2620
  const encodedId = encodeURIComponent(input.booking_id);
2724
- return safe9(
2621
+ return safe(
2725
2622
  this.client.post(`/api/v1/scheduling/bookings/${encodedId}/cancel`, {
2726
2623
  reason: input.reason
2727
2624
  })
2728
2625
  );
2729
2626
  }
2730
2627
  async rescheduleBooking(input) {
2731
- return safe9(
2628
+ return safe(
2732
2629
  this.client.post("/api/v1/scheduling/bookings/reschedule", input)
2733
2630
  );
2734
2631
  }
@@ -2752,65 +2649,37 @@ var SchedulingService = class {
2752
2649
  };
2753
2650
 
2754
2651
  // src/lite.ts
2755
- function toCimplifyError10(error) {
2756
- if (error instanceof CimplifyError) return error;
2757
- if (error instanceof Error) {
2758
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2759
- }
2760
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2761
- }
2762
- async function safe10(promise) {
2763
- try {
2764
- return ok(await promise);
2765
- } catch (error) {
2766
- return err(toCimplifyError10(error));
2767
- }
2768
- }
2769
2652
  var LiteService = class {
2770
2653
  constructor(client) {
2771
2654
  this.client = client;
2772
2655
  }
2773
2656
  async getBootstrap() {
2774
- return safe10(this.client.get("/api/v1/lite/bootstrap"));
2657
+ return safe(this.client.get("/api/v1/lite/bootstrap"));
2775
2658
  }
2776
2659
  async getTable(tableId) {
2777
2660
  const encodedId = encodeURIComponent(tableId);
2778
- return safe10(this.client.get(`/api/v1/lite/tables/${encodedId}`));
2661
+ return safe(this.client.get(`/api/v1/lite/tables/${encodedId}`));
2779
2662
  }
2780
2663
  async getMenu() {
2781
- return safe10(this.client.get("/api/v1/lite/menu"));
2664
+ return safe(this.client.get("/api/v1/lite/menu"));
2782
2665
  }
2783
2666
  async getMenuByCategory(categoryId) {
2784
2667
  const encodedId = encodeURIComponent(categoryId);
2785
- return safe10(this.client.get(`/api/v1/lite/menu/categories/${encodedId}`));
2668
+ return safe(this.client.get(`/api/v1/lite/menu/categories/${encodedId}`));
2786
2669
  }
2787
2670
  };
2788
2671
 
2789
2672
  // src/fx.ts
2790
- function toCimplifyError11(error) {
2791
- if (error instanceof CimplifyError) return error;
2792
- if (error instanceof Error) {
2793
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2794
- }
2795
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2796
- }
2797
- async function safe11(promise) {
2798
- try {
2799
- return ok(await promise);
2800
- } catch (error) {
2801
- return err(toCimplifyError11(error));
2802
- }
2803
- }
2804
2673
  var FxService = class {
2805
2674
  constructor(client) {
2806
2675
  this.client = client;
2807
2676
  }
2808
2677
  async getRate(from, to) {
2809
2678
  const path = `/api/v1/fx/rate?from=${encodeURIComponent(from)}&to=${encodeURIComponent(to)}`;
2810
- return safe11(this.client.get(path));
2679
+ return safe(this.client.get(path));
2811
2680
  }
2812
2681
  async lockQuote(request) {
2813
- return safe11(this.client.post("/api/v1/fx/quotes", request));
2682
+ return safe(this.client.post("/api/v1/fx/quotes", request));
2814
2683
  }
2815
2684
  };
2816
2685
 
@@ -2961,6 +2830,11 @@ var CimplifyElements = class {
2961
2830
  window.addEventListener("message", this.boundHandleMessage);
2962
2831
  }
2963
2832
  }
2833
+ debug(...args) {
2834
+ if (this.client.isTestMode()) {
2835
+ console.debug(...args);
2836
+ }
2837
+ }
2964
2838
  create(type, options = {}) {
2965
2839
  const existing = this.elements.get(type);
2966
2840
  if (existing) return existing;
@@ -3015,9 +2889,9 @@ var CimplifyElements = class {
3015
2889
  processCheckout(options) {
3016
2890
  let abortFn = null;
3017
2891
  const task = (async () => {
3018
- console.debug("[cimplify:checkout] processCheckout called", { cart_id: options.cart_id, order_type: options.order_type, location_id: options.location_id });
2892
+ this.debug("[cimplify:checkout] processCheckout called", { cart_id: options.cart_id, order_type: options.order_type, location_id: options.location_id });
3019
2893
  if (this.checkoutInProgress) {
3020
- console.debug("[cimplify:checkout] BLOCKED: already processing");
2894
+ this.debug("[cimplify:checkout] BLOCKED: already processing");
3021
2895
  return toCheckoutError(
3022
2896
  "ALREADY_PROCESSING",
3023
2897
  "Checkout is already in progress.",
@@ -3026,7 +2900,7 @@ var CimplifyElements = class {
3026
2900
  }
3027
2901
  this.checkoutInProgress = true;
3028
2902
  if (!options.cart_id) {
3029
- console.debug("[cimplify:checkout] BLOCKED: no cart_id");
2903
+ this.debug("[cimplify:checkout] BLOCKED: no cart_id");
3030
2904
  this.checkoutInProgress = false;
3031
2905
  return toCheckoutError(
3032
2906
  "INVALID_CART",
@@ -3035,7 +2909,7 @@ var CimplifyElements = class {
3035
2909
  );
3036
2910
  }
3037
2911
  if (!options.order_type) {
3038
- console.debug("[cimplify:checkout] BLOCKED: no order_type");
2912
+ this.debug("[cimplify:checkout] BLOCKED: no order_type");
3039
2913
  this.checkoutInProgress = false;
3040
2914
  return toCheckoutError(
3041
2915
  "ORDER_TYPE_REQUIRED",
@@ -3045,7 +2919,7 @@ var CimplifyElements = class {
3045
2919
  }
3046
2920
  const checkoutElement = this.elements.get(ELEMENT_TYPES.CHECKOUT) || this.elements.get(ELEMENT_TYPES.PAYMENT);
3047
2921
  if (!checkoutElement) {
3048
- console.debug("[cimplify:checkout] BLOCKED: no checkout element");
2922
+ this.debug("[cimplify:checkout] BLOCKED: no checkout element");
3049
2923
  this.checkoutInProgress = false;
3050
2924
  return toCheckoutError(
3051
2925
  "NO_PAYMENT_ELEMENT",
@@ -3054,7 +2928,7 @@ var CimplifyElements = class {
3054
2928
  );
3055
2929
  }
3056
2930
  if (!checkoutElement.isMounted()) {
3057
- console.debug("[cimplify:checkout] BLOCKED: checkout element not mounted");
2931
+ this.debug("[cimplify:checkout] BLOCKED: checkout element not mounted");
3058
2932
  this.checkoutInProgress = false;
3059
2933
  return toCheckoutError(
3060
2934
  "PAYMENT_NOT_MOUNTED",
@@ -3066,7 +2940,7 @@ var CimplifyElements = class {
3066
2940
  if (!isUnifiedCheckout) {
3067
2941
  const authElement = this.elements.get(ELEMENT_TYPES.AUTH);
3068
2942
  if (authElement && !this.accessToken) {
3069
- console.debug("[cimplify:checkout] BLOCKED: auth incomplete");
2943
+ this.debug("[cimplify:checkout] BLOCKED: auth incomplete");
3070
2944
  this.checkoutInProgress = false;
3071
2945
  return toCheckoutError(
3072
2946
  "AUTH_INCOMPLETE",
@@ -3076,13 +2950,13 @@ var CimplifyElements = class {
3076
2950
  }
3077
2951
  const addressElement = this.elements.get(ELEMENT_TYPES.ADDRESS);
3078
2952
  if (addressElement) {
3079
- console.debug("[cimplify:checkout] getting address data...");
2953
+ this.debug("[cimplify:checkout] getting address data...");
3080
2954
  await addressElement.getData();
3081
- console.debug("[cimplify:checkout] address data resolved", this.addressData);
2955
+ this.debug("[cimplify:checkout] address data resolved", this.addressData);
3082
2956
  }
3083
2957
  await this.hydrateCustomerData();
3084
2958
  }
3085
- console.debug("[cimplify:checkout] customer data hydrated", { customerData: this.customerData, accountId: this.accountId, isUnifiedCheckout });
2959
+ this.debug("[cimplify:checkout] customer data hydrated", { customerData: this.customerData, accountId: this.accountId, isUnifiedCheckout });
3086
2960
  const processMessage = {
3087
2961
  type: MESSAGE_TYPES.PROCESS_CHECKOUT,
3088
2962
  cart_id: options.cart_id,
@@ -3158,7 +3032,7 @@ var CimplifyElements = class {
3158
3032
  return;
3159
3033
  }
3160
3034
  if (message.type === MESSAGE_TYPES.CHECKOUT_COMPLETE) {
3161
- console.debug("[cimplify:checkout] received checkout_complete", { success: message.success, error: message.error });
3035
+ this.debug("[cimplify:checkout] received checkout_complete", { success: message.success, error: message.error });
3162
3036
  settle({
3163
3037
  success: message.success,
3164
3038
  order: message.order,
@@ -3181,9 +3055,9 @@ var CimplifyElements = class {
3181
3055
  );
3182
3056
  };
3183
3057
  this.activeCheckoutAbort = abortFn;
3184
- 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 });
3058
+ 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 });
3185
3059
  checkoutElement.sendMessage(processMessage);
3186
- console.debug("[cimplify:checkout] postMessage sent, waiting for checkout_complete...");
3060
+ this.debug("[cimplify:checkout] postMessage sent, waiting for checkout_complete...");
3187
3061
  });
3188
3062
  })();
3189
3063
  const abortable = task;