@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/advanced.mjs CHANGED
@@ -118,7 +118,7 @@ function enrichError(error, options = {}) {
118
118
  return error;
119
119
  }
120
120
 
121
- // src/catalogue.ts
121
+ // src/internal/safe.ts
122
122
  function toCimplifyError(error) {
123
123
  if (error instanceof CimplifyError) return enrichError(error);
124
124
  if (error instanceof Error) {
@@ -133,6 +133,8 @@ async function safe(promise) {
133
133
  return err(toCimplifyError(error));
134
134
  }
135
135
  }
136
+
137
+ // src/catalogue.ts
136
138
  function withQuery(path, params) {
137
139
  const query2 = new URLSearchParams();
138
140
  for (const [key, value] of Object.entries(params)) {
@@ -502,20 +504,6 @@ var CatalogueQueries = class {
502
504
  };
503
505
 
504
506
  // src/cart.ts
505
- function toCimplifyError2(error) {
506
- if (error instanceof CimplifyError) return enrichError(error);
507
- if (error instanceof Error) {
508
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
509
- }
510
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
511
- }
512
- async function safe2(promise) {
513
- try {
514
- return ok(await promise);
515
- } catch (error) {
516
- return err(toCimplifyError2(error));
517
- }
518
- }
519
507
  function isUICartResponse(value) {
520
508
  return "cart" in value;
521
509
  }
@@ -527,21 +515,21 @@ var CartOperations = class {
527
515
  this.client = client;
528
516
  }
529
517
  async get() {
530
- const result = await safe2(this.client.get("/api/v1/cart"));
518
+ const result = await safe(this.client.get("/api/v1/cart"));
531
519
  if (!result.ok) return result;
532
520
  return ok(unwrapEnrichedCart(result.value));
533
521
  }
534
522
  async getRaw() {
535
- return safe2(this.client.get("/api/v1/cart"));
523
+ return safe(this.client.get("/api/v1/cart"));
536
524
  }
537
525
  async getItems() {
538
- return safe2(this.client.get("/api/v1/cart/items"));
526
+ return safe(this.client.get("/api/v1/cart/items"));
539
527
  }
540
528
  async getCount() {
541
- return safe2(this.client.get("/api/v1/cart/count"));
529
+ return safe(this.client.get("/api/v1/cart/count"));
542
530
  }
543
531
  async getTotal() {
544
- return safe2(this.client.get("/api/v1/cart/total"));
532
+ return safe(this.client.get("/api/v1/cart/total"));
545
533
  }
546
534
  async getSummary() {
547
535
  const cartResult = await this.get();
@@ -558,18 +546,18 @@ var CartOperations = class {
558
546
  });
559
547
  }
560
548
  async addItem(input) {
561
- return safe2(this.client.post("/api/v1/cart/items", input));
549
+ return safe(this.client.post("/api/v1/cart/items", input));
562
550
  }
563
551
  async updateItem(cartItemId, updates) {
564
552
  if (typeof updates.quantity === "number") {
565
553
  return this.updateQuantity(cartItemId, updates.quantity);
566
554
  }
567
555
  const encodedId = encodeURIComponent(cartItemId);
568
- return safe2(this.client.patch(`/api/v1/cart/items/${encodedId}`, updates));
556
+ return safe(this.client.patch(`/api/v1/cart/items/${encodedId}`, updates));
569
557
  }
570
558
  async updateQuantity(cartItemId, quantity) {
571
559
  const encodedId = encodeURIComponent(cartItemId);
572
- return safe2(
560
+ return safe(
573
561
  this.client.patch(`/api/v1/cart/items/${encodedId}`, {
574
562
  quantity
575
563
  })
@@ -577,20 +565,20 @@ var CartOperations = class {
577
565
  }
578
566
  async removeItem(cartItemId) {
579
567
  const encodedId = encodeURIComponent(cartItemId);
580
- return safe2(this.client.delete(`/api/v1/cart/items/${encodedId}`));
568
+ return safe(this.client.delete(`/api/v1/cart/items/${encodedId}`));
581
569
  }
582
570
  async clear() {
583
- return safe2(this.client.delete("/api/v1/cart"));
571
+ return safe(this.client.delete("/api/v1/cart"));
584
572
  }
585
573
  async applyCoupon(code) {
586
- return safe2(
574
+ return safe(
587
575
  this.client.post("/api/v1/cart/coupons", {
588
576
  coupon_code: code
589
577
  })
590
578
  );
591
579
  }
592
580
  async removeCoupon() {
593
- return safe2(this.client.delete("/api/v1/cart/coupons/current"));
581
+ return safe(this.client.delete("/api/v1/cart/coupons/current"));
594
582
  }
595
583
  async isEmpty() {
596
584
  const countResult = await this.getCount();
@@ -876,9 +864,16 @@ function isValidMobileMoneyProvider(value) {
876
864
  return VALID_MOBILE_MONEY_PROVIDERS.has(value);
877
865
  }
878
866
  function normalizeAuthorizationType(value) {
867
+ if (value && typeof value === "object" && "address" in value) {
868
+ return "address";
869
+ }
879
870
  if (typeof value !== "string") return void 0;
880
- const lower = value.toLowerCase();
881
- return lower === "otp" || lower === "pin" ? lower : void 0;
871
+ const normalized = value.trim().toLowerCase().replace(/[\s-]+/g, "_");
872
+ if (normalized === "otp" || normalized === "pin") return normalized;
873
+ if (normalized === "phone" || normalized === "birthday" || normalized === "address") {
874
+ return normalized;
875
+ }
876
+ return void 0;
882
877
  }
883
878
  function formatMoney2(value) {
884
879
  if (typeof value === "number" && Number.isFinite(value)) {
@@ -1449,20 +1444,6 @@ var CheckoutResolver = class {
1449
1444
  };
1450
1445
 
1451
1446
  // src/checkout.ts
1452
- function toCimplifyError3(error) {
1453
- if (error instanceof CimplifyError) return enrichError(error);
1454
- if (error instanceof Error) {
1455
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
1456
- }
1457
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
1458
- }
1459
- async function safe3(promise) {
1460
- try {
1461
- return ok(await promise);
1462
- } catch (error) {
1463
- return err(toCimplifyError3(error));
1464
- }
1465
- }
1466
1447
  function toTerminalFailure(code, message, recoverable) {
1467
1448
  return {
1468
1449
  success: false,
@@ -1494,7 +1475,7 @@ var CheckoutService = class {
1494
1475
  ...data,
1495
1476
  idempotency_key: data.idempotency_key || generateIdempotencyKey()
1496
1477
  };
1497
- const result = await safe3(
1478
+ const result = await safe(
1498
1479
  this.client.post("/api/v1/checkout", {
1499
1480
  checkout_data: checkoutData
1500
1481
  })
@@ -1514,22 +1495,22 @@ var CheckoutService = class {
1514
1495
  );
1515
1496
  }
1516
1497
  async submitAuthorization(input) {
1517
- return safe3(this.client.post("/api/v1/payments/authorization", input));
1498
+ return safe(this.client.post("/api/v1/payments/authorization", input));
1518
1499
  }
1519
1500
  async pollPaymentStatus(orderId) {
1520
1501
  const encodedId = encodeURIComponent(orderId);
1521
1502
  const tokenParam = this.orderTokenParam(orderId);
1522
- return safe3(this.client.get(`/api/v1/orders/${encodedId}/payment-status${tokenParam}`));
1503
+ return safe(this.client.get(`/api/v1/orders/${encodedId}/payment-status${tokenParam}`));
1523
1504
  }
1524
1505
  async updateOrderCustomer(orderId, customer) {
1525
1506
  const encodedId = encodeURIComponent(orderId);
1526
1507
  const tokenParam = this.orderTokenParam(orderId);
1527
- return safe3(this.client.post(`/api/v1/orders/${encodedId}/customer${tokenParam}`, customer));
1508
+ return safe(this.client.post(`/api/v1/orders/${encodedId}/customer${tokenParam}`, customer));
1528
1509
  }
1529
1510
  async verifyPayment(orderId) {
1530
1511
  const encodedId = encodeURIComponent(orderId);
1531
1512
  const tokenParam = this.orderTokenParam(orderId);
1532
- return safe3(this.client.post(`/api/v1/orders/${encodedId}/verify-payment${tokenParam}`));
1513
+ return safe(this.client.post(`/api/v1/orders/${encodedId}/verify-payment${tokenParam}`));
1533
1514
  }
1534
1515
  async processAndResolve(data) {
1535
1516
  data.on_status_change?.("preparing", {});
@@ -1634,20 +1615,6 @@ var CheckoutService = class {
1634
1615
  };
1635
1616
 
1636
1617
  // src/orders.ts
1637
- function toCimplifyError4(error) {
1638
- if (error instanceof CimplifyError) return enrichError(error);
1639
- if (error instanceof Error) {
1640
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
1641
- }
1642
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
1643
- }
1644
- async function safe4(promise) {
1645
- try {
1646
- return ok(await promise);
1647
- } catch (error) {
1648
- return err(toCimplifyError4(error));
1649
- }
1650
- }
1651
1618
  var OrderQueries = class {
1652
1619
  constructor(client) {
1653
1620
  this.client = client;
@@ -1662,12 +1629,12 @@ var OrderQueries = class {
1662
1629
  if (options?.limit) params.set("limit", String(options.limit));
1663
1630
  if (options?.offset) params.set("offset", String(options.offset));
1664
1631
  const path = params.toString() ? `/api/v1/orders?${params.toString()}` : "/api/v1/orders";
1665
- return safe4(this.client.get(path));
1632
+ return safe(this.client.get(path));
1666
1633
  }
1667
1634
  async get(orderId) {
1668
1635
  const encodedId = encodeURIComponent(orderId);
1669
1636
  const tokenParam = this.orderTokenParam(orderId);
1670
- return safe4(this.client.get(`/api/v1/orders/${encodedId}${tokenParam}`));
1637
+ return safe(this.client.get(`/api/v1/orders/${encodedId}${tokenParam}`));
1671
1638
  }
1672
1639
  async getRecent(limit = 5) {
1673
1640
  return this.list({ limit });
@@ -1678,7 +1645,7 @@ var OrderQueries = class {
1678
1645
  async cancel(orderId, reason) {
1679
1646
  const encodedId = encodeURIComponent(orderId);
1680
1647
  const tokenParam = this.orderTokenParam(orderId);
1681
- return safe4(
1648
+ return safe(
1682
1649
  this.client.post(`/api/v1/orders/${encodedId}/cancel${tokenParam}`, {
1683
1650
  reason
1684
1651
  })
@@ -1687,20 +1654,6 @@ var OrderQueries = class {
1687
1654
  };
1688
1655
 
1689
1656
  // src/link.ts
1690
- function toCimplifyError5(error) {
1691
- if (error instanceof CimplifyError) return error;
1692
- if (error instanceof Error) {
1693
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
1694
- }
1695
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
1696
- }
1697
- async function safe5(promise) {
1698
- try {
1699
- return ok(await promise);
1700
- } catch (error) {
1701
- return err(toCimplifyError5(error));
1702
- }
1703
- }
1704
1657
  function encodePathSegment(value) {
1705
1658
  return encodeURIComponent(value);
1706
1659
  }
@@ -1738,13 +1691,13 @@ var LinkService = class {
1738
1691
  this.client = client;
1739
1692
  }
1740
1693
  async getProfile() {
1741
- return safe5(this.client.linkGet("/v1/link/profile"));
1694
+ return safe(this.client.linkGet("/v1/link/profile"));
1742
1695
  }
1743
1696
  async requestOtp(input) {
1744
- return safe5(this.client.linkPost("/v1/link/auth/request-otp", input));
1697
+ return safe(this.client.linkPost("/v1/link/auth/request-otp", input));
1745
1698
  }
1746
1699
  async verifyOtp(input) {
1747
- const result = await safe5(
1700
+ const result = await safe(
1748
1701
  this.client.linkPost("/v1/link/auth/verify-otp", input)
1749
1702
  );
1750
1703
  if (result.ok && result.value.session_token) {
@@ -1753,45 +1706,45 @@ var LinkService = class {
1753
1706
  return result;
1754
1707
  }
1755
1708
  async logout() {
1756
- const result = await safe5(this.client.linkPost("/v1/link/auth/logout"));
1709
+ const result = await safe(this.client.linkPost("/v1/link/auth/logout"));
1757
1710
  if (result.ok) {
1758
1711
  this.client.clearSession();
1759
1712
  }
1760
1713
  return result;
1761
1714
  }
1762
1715
  async checkStatus(contact) {
1763
- return safe5(this.client.linkPost("/v1/link/check-status", { contact }));
1716
+ return safe(this.client.linkPost("/v1/link/check-status", { contact }));
1764
1717
  }
1765
1718
  async getLinkData() {
1766
- return safe5(this.client.linkGet("/v1/link/data"));
1719
+ return safe(this.client.linkGet("/v1/link/data"));
1767
1720
  }
1768
1721
  async getAddresses() {
1769
- return safe5(this.client.linkGet("/v1/link/addresses"));
1722
+ return safe(this.client.linkGet("/v1/link/addresses"));
1770
1723
  }
1771
1724
  async getMobileMoney() {
1772
- return safe5(this.client.linkGet("/v1/link/mobile-money"));
1725
+ return safe(this.client.linkGet("/v1/link/mobile-money"));
1773
1726
  }
1774
1727
  async getPreferences() {
1775
- return safe5(this.client.linkGet("/v1/link/preferences"));
1728
+ return safe(this.client.linkGet("/v1/link/preferences"));
1776
1729
  }
1777
1730
  async enroll(data) {
1778
- return safe5(this.client.linkPost("/v1/link/enroll", data));
1731
+ return safe(this.client.linkPost("/v1/link/enroll", data));
1779
1732
  }
1780
1733
  async enrollAndLinkOrder(data) {
1781
- return safe5(
1734
+ return safe(
1782
1735
  this.client.linkPost("/v1/link/enroll-and-link-order", data)
1783
1736
  );
1784
1737
  }
1785
1738
  async updatePreferences(preferences) {
1786
- return safe5(this.client.linkPost("/v1/link/preferences", preferences));
1739
+ return safe(this.client.linkPost("/v1/link/preferences", preferences));
1787
1740
  }
1788
1741
  async createAddress(input) {
1789
- return safe5(
1742
+ return safe(
1790
1743
  this.client.linkPost("/v1/link/addresses", toCreateAddressPayload(input))
1791
1744
  );
1792
1745
  }
1793
1746
  async updateAddress(input) {
1794
- return safe5(
1747
+ return safe(
1795
1748
  this.client.linkPost(
1796
1749
  `/v1/link/addresses/${encodePathSegment(input.address_id)}`,
1797
1750
  toUpdateAddressPayload(input)
@@ -1799,26 +1752,26 @@ var LinkService = class {
1799
1752
  );
1800
1753
  }
1801
1754
  async deleteAddress(addressId) {
1802
- return safe5(
1755
+ return safe(
1803
1756
  this.client.linkDelete(`/v1/link/addresses/${encodePathSegment(addressId)}`)
1804
1757
  );
1805
1758
  }
1806
1759
  async setDefaultAddress(addressId) {
1807
- return safe5(
1760
+ return safe(
1808
1761
  this.client.linkPost(
1809
1762
  `/v1/link/addresses/${encodePathSegment(addressId)}/default`
1810
1763
  )
1811
1764
  );
1812
1765
  }
1813
1766
  async trackAddressUsage(addressId) {
1814
- return safe5(
1767
+ return safe(
1815
1768
  this.client.linkPost(
1816
1769
  `/v1/link/addresses/${encodePathSegment(addressId)}/track-usage`
1817
1770
  )
1818
1771
  );
1819
1772
  }
1820
1773
  async createMobileMoney(input) {
1821
- return safe5(
1774
+ return safe(
1822
1775
  this.client.linkPost(
1823
1776
  "/v1/link/mobile-money",
1824
1777
  toCreateMobileMoneyPayload(input)
@@ -1826,65 +1779,51 @@ var LinkService = class {
1826
1779
  );
1827
1780
  }
1828
1781
  async deleteMobileMoney(mobileMoneyId) {
1829
- return safe5(
1782
+ return safe(
1830
1783
  this.client.linkDelete(
1831
1784
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}`
1832
1785
  )
1833
1786
  );
1834
1787
  }
1835
1788
  async setDefaultMobileMoney(mobileMoneyId) {
1836
- return safe5(
1789
+ return safe(
1837
1790
  this.client.linkPost(
1838
1791
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/default`
1839
1792
  )
1840
1793
  );
1841
1794
  }
1842
1795
  async trackMobileMoneyUsage(mobileMoneyId) {
1843
- return safe5(
1796
+ return safe(
1844
1797
  this.client.linkPost(
1845
1798
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/track-usage`
1846
1799
  )
1847
1800
  );
1848
1801
  }
1849
1802
  async verifyMobileMoney(mobileMoneyId) {
1850
- return safe5(
1803
+ return safe(
1851
1804
  this.client.linkPost(
1852
1805
  `/v1/link/mobile-money/${encodePathSegment(mobileMoneyId)}/verify`
1853
1806
  )
1854
1807
  );
1855
1808
  }
1856
1809
  async getSessions() {
1857
- return safe5(this.client.linkGet("/v1/link/sessions"));
1810
+ return safe(this.client.linkGet("/v1/link/sessions"));
1858
1811
  }
1859
1812
  async revokeSession(sessionId) {
1860
- return safe5(this.client.linkDelete(`/v1/link/sessions/${sessionId}`));
1813
+ return safe(this.client.linkDelete(`/v1/link/sessions/${sessionId}`));
1861
1814
  }
1862
1815
  async revokeAllSessions() {
1863
- return safe5(this.client.linkDelete("/v1/link/sessions"));
1816
+ return safe(this.client.linkDelete("/v1/link/sessions"));
1864
1817
  }
1865
1818
  };
1866
1819
 
1867
1820
  // src/auth.ts
1868
- function toCimplifyError6(error) {
1869
- if (error instanceof CimplifyError) return error;
1870
- if (error instanceof Error) {
1871
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
1872
- }
1873
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
1874
- }
1875
- async function safe6(promise) {
1876
- try {
1877
- return ok(await promise);
1878
- } catch (error) {
1879
- return err(toCimplifyError6(error));
1880
- }
1881
- }
1882
1821
  var AuthService = class {
1883
1822
  constructor(client) {
1884
1823
  this.client = client;
1885
1824
  }
1886
1825
  async getStatus() {
1887
- return safe6(this.client.get("/api/v1/auth/status"));
1826
+ return safe(this.client.get("/api/v1/auth/status"));
1888
1827
  }
1889
1828
  async getCurrentUser() {
1890
1829
  const result = await this.getStatus();
@@ -1897,7 +1836,7 @@ var AuthService = class {
1897
1836
  return ok(result.value.is_authenticated);
1898
1837
  }
1899
1838
  async requestOtp(contact, contactType) {
1900
- return safe6(
1839
+ return safe(
1901
1840
  this.client.post("/api/v1/auth/request-otp", {
1902
1841
  contact,
1903
1842
  contact_type: contactType
@@ -1905,7 +1844,7 @@ var AuthService = class {
1905
1844
  );
1906
1845
  }
1907
1846
  async verifyOtp(code, contact) {
1908
- return safe6(
1847
+ return safe(
1909
1848
  this.client.post("/api/v1/auth/verify-otp", {
1910
1849
  otp_code: code,
1911
1850
  contact
@@ -1913,48 +1852,34 @@ var AuthService = class {
1913
1852
  );
1914
1853
  }
1915
1854
  async logout() {
1916
- return safe6(this.client.post("/api/v1/auth/logout"));
1855
+ return safe(this.client.post("/api/v1/auth/logout"));
1917
1856
  }
1918
1857
  async updateProfile(input) {
1919
- return safe6(this.client.post("/api/v1/auth/profile", input));
1858
+ return safe(this.client.post("/api/v1/auth/profile", input));
1920
1859
  }
1921
1860
  };
1922
1861
 
1923
1862
  // src/business.ts
1924
- function toCimplifyError7(error) {
1925
- if (error instanceof CimplifyError) return enrichError(error);
1926
- if (error instanceof Error) {
1927
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, error.message, false));
1928
- }
1929
- return enrichError(new CimplifyError(ErrorCode.UNKNOWN_ERROR, String(error), false));
1930
- }
1931
- async function safe7(promise) {
1932
- try {
1933
- return ok(await promise);
1934
- } catch (error) {
1935
- return err(toCimplifyError7(error));
1936
- }
1937
- }
1938
1863
  var BusinessService = class {
1939
1864
  constructor(client) {
1940
1865
  this.client = client;
1941
1866
  }
1942
1867
  async getInfo() {
1943
- return safe7(this.client.get("/api/v1/business"));
1868
+ return safe(this.client.get("/api/v1/business"));
1944
1869
  }
1945
1870
  async getByHandle(handle) {
1946
1871
  const encodedHandle = encodeURIComponent(handle);
1947
- return safe7(this.client.get(`/api/v1/business/by-handle/${encodedHandle}`));
1872
+ return safe(this.client.get(`/api/v1/business/by-handle/${encodedHandle}`));
1948
1873
  }
1949
1874
  async getByDomain(domain) {
1950
1875
  const encodedDomain = encodeURIComponent(domain);
1951
- return safe7(this.client.get(`/api/v1/business/by-domain?domain=${encodedDomain}`));
1876
+ return safe(this.client.get(`/api/v1/business/by-domain?domain=${encodedDomain}`));
1952
1877
  }
1953
1878
  async getSettings() {
1954
- return safe7(this.client.get("/api/v1/business/settings"));
1879
+ return safe(this.client.get("/api/v1/business/settings"));
1955
1880
  }
1956
1881
  async getLocations() {
1957
- return safe7(this.client.get("/api/v1/business/locations"));
1882
+ return safe(this.client.get("/api/v1/business/locations"));
1958
1883
  }
1959
1884
  async getLocation(locationId) {
1960
1885
  const result = await this.getLocations();
@@ -1966,7 +1891,7 @@ var BusinessService = class {
1966
1891
  return ok(location);
1967
1892
  }
1968
1893
  async getHours() {
1969
- return safe7(this.client.get("/api/v1/business/hours"));
1894
+ return safe(this.client.get("/api/v1/business/hours"));
1970
1895
  }
1971
1896
  async getLocationHours(locationId) {
1972
1897
  const result = await this.getHours();
@@ -1974,25 +1899,11 @@ var BusinessService = class {
1974
1899
  return ok(result.value.filter((hour) => hour.location_id === locationId));
1975
1900
  }
1976
1901
  async getBootstrap() {
1977
- return safe7(this.client.get("/api/v1/bootstrap"));
1902
+ return safe(this.client.get("/api/v1/bootstrap"));
1978
1903
  }
1979
1904
  };
1980
1905
 
1981
1906
  // src/inventory.ts
1982
- function toCimplifyError8(error) {
1983
- if (error instanceof CimplifyError) return error;
1984
- if (error instanceof Error) {
1985
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
1986
- }
1987
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
1988
- }
1989
- async function safe8(promise) {
1990
- try {
1991
- return ok(await promise);
1992
- } catch (error) {
1993
- return err(toCimplifyError8(error));
1994
- }
1995
- }
1996
1907
  var InventoryService = class {
1997
1908
  constructor(client) {
1998
1909
  this.client = client;
@@ -2011,14 +1922,14 @@ var InventoryService = class {
2011
1922
  const path = this.withQuery(`/api/v1/inventory/products/${encodedId}/stock`, {
2012
1923
  location_id: locationId
2013
1924
  });
2014
- return safe8(this.client.get(path));
1925
+ return safe(this.client.get(path));
2015
1926
  }
2016
1927
  async getVariantStock(variantId, locationId) {
2017
1928
  const encodedId = encodeURIComponent(variantId);
2018
1929
  const path = this.withQuery(`/api/v1/inventory/variants/${encodedId}/stock`, {
2019
1930
  location_id: locationId
2020
1931
  });
2021
- return safe8(this.client.get(path));
1932
+ return safe(this.client.get(path));
2022
1933
  }
2023
1934
  async checkProductAvailability(productId, quantity, locationId) {
2024
1935
  const encodedId = encodeURIComponent(productId);
@@ -2026,7 +1937,7 @@ var InventoryService = class {
2026
1937
  quantity,
2027
1938
  location_id: locationId
2028
1939
  });
2029
- return safe8(this.client.get(path));
1940
+ return safe(this.client.get(path));
2030
1941
  }
2031
1942
  async checkVariantAvailability(variantId, quantity, locationId) {
2032
1943
  const encodedId = encodeURIComponent(variantId);
@@ -2034,7 +1945,7 @@ var InventoryService = class {
2034
1945
  quantity,
2035
1946
  location_id: locationId
2036
1947
  });
2037
- return safe8(this.client.get(path));
1948
+ return safe(this.client.get(path));
2038
1949
  }
2039
1950
  async checkMultipleAvailability(items, locationId) {
2040
1951
  const results = await Promise.all(
@@ -2060,20 +1971,6 @@ var InventoryService = class {
2060
1971
  };
2061
1972
 
2062
1973
  // src/scheduling.ts
2063
- function toCimplifyError9(error) {
2064
- if (error instanceof CimplifyError) return error;
2065
- if (error instanceof Error) {
2066
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2067
- }
2068
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2069
- }
2070
- async function safe9(promise) {
2071
- try {
2072
- return ok(await promise);
2073
- } catch (error) {
2074
- return err(toCimplifyError9(error));
2075
- }
2076
- }
2077
1974
  function withQuery2(path, params) {
2078
1975
  const searchParams = new URLSearchParams();
2079
1976
  for (const [key, value] of Object.entries(params)) {
@@ -2091,11 +1988,11 @@ var SchedulingService = class {
2091
1988
  this.client = client;
2092
1989
  }
2093
1990
  async getServices() {
2094
- return safe9(this.client.get("/api/v1/scheduling/services"));
1991
+ return safe(this.client.get("/api/v1/scheduling/services"));
2095
1992
  }
2096
1993
  async getService(serviceId) {
2097
1994
  const encodedId = encodeURIComponent(serviceId);
2098
- return safe9(this.client.get(`/api/v1/scheduling/services/${encodedId}`));
1995
+ return safe(this.client.get(`/api/v1/scheduling/services/${encodedId}`));
2099
1996
  }
2100
1997
  async getAvailableSlots(input) {
2101
1998
  const path = withQuery2("/api/v1/scheduling/slots", {
@@ -2104,7 +2001,7 @@ var SchedulingService = class {
2104
2001
  participant_count: input.participant_count,
2105
2002
  duration_minutes: input.duration_minutes
2106
2003
  });
2107
- return safe9(this.client.get(path));
2004
+ return safe(this.client.get(path));
2108
2005
  }
2109
2006
  async checkSlotAvailability(input) {
2110
2007
  const path = withQuery2("/api/v1/scheduling/slots/check", {
@@ -2113,7 +2010,7 @@ var SchedulingService = class {
2113
2010
  duration_minutes: input.duration_minutes,
2114
2011
  participant_count: input.participant_count
2115
2012
  });
2116
- return safe9(this.client.get(path));
2013
+ return safe(this.client.get(path));
2117
2014
  }
2118
2015
  async getServiceAvailability(params) {
2119
2016
  const path = withQuery2("/api/v1/scheduling/availability", {
@@ -2123,17 +2020,17 @@ var SchedulingService = class {
2123
2020
  location_id: params.location_id,
2124
2021
  participant_count: params.participant_count
2125
2022
  });
2126
- return safe9(this.client.get(path));
2023
+ return safe(this.client.get(path));
2127
2024
  }
2128
2025
  async getBooking(bookingId) {
2129
2026
  const encodedId = encodeURIComponent(bookingId);
2130
- return safe9(this.client.get(`/api/v1/scheduling/bookings/${encodedId}`));
2027
+ return safe(this.client.get(`/api/v1/scheduling/bookings/${encodedId}`));
2131
2028
  }
2132
2029
  async getCustomerBookings(customerId) {
2133
2030
  const path = withQuery2("/api/v1/scheduling/bookings", {
2134
2031
  customer_id: customerId
2135
2032
  });
2136
- return safe9(this.client.get(path));
2033
+ return safe(this.client.get(path));
2137
2034
  }
2138
2035
  async getUpcomingBookings() {
2139
2036
  const result = await this.getCustomerBookings();
@@ -2152,14 +2049,14 @@ var SchedulingService = class {
2152
2049
  }
2153
2050
  async cancelBooking(input) {
2154
2051
  const encodedId = encodeURIComponent(input.booking_id);
2155
- return safe9(
2052
+ return safe(
2156
2053
  this.client.post(`/api/v1/scheduling/bookings/${encodedId}/cancel`, {
2157
2054
  reason: input.reason
2158
2055
  })
2159
2056
  );
2160
2057
  }
2161
2058
  async rescheduleBooking(input) {
2162
- return safe9(
2059
+ return safe(
2163
2060
  this.client.post("/api/v1/scheduling/bookings/reschedule", input)
2164
2061
  );
2165
2062
  }
@@ -2183,65 +2080,37 @@ var SchedulingService = class {
2183
2080
  };
2184
2081
 
2185
2082
  // src/lite.ts
2186
- function toCimplifyError10(error) {
2187
- if (error instanceof CimplifyError) return error;
2188
- if (error instanceof Error) {
2189
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2190
- }
2191
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2192
- }
2193
- async function safe10(promise) {
2194
- try {
2195
- return ok(await promise);
2196
- } catch (error) {
2197
- return err(toCimplifyError10(error));
2198
- }
2199
- }
2200
2083
  var LiteService = class {
2201
2084
  constructor(client) {
2202
2085
  this.client = client;
2203
2086
  }
2204
2087
  async getBootstrap() {
2205
- return safe10(this.client.get("/api/v1/lite/bootstrap"));
2088
+ return safe(this.client.get("/api/v1/lite/bootstrap"));
2206
2089
  }
2207
2090
  async getTable(tableId) {
2208
2091
  const encodedId = encodeURIComponent(tableId);
2209
- return safe10(this.client.get(`/api/v1/lite/tables/${encodedId}`));
2092
+ return safe(this.client.get(`/api/v1/lite/tables/${encodedId}`));
2210
2093
  }
2211
2094
  async getMenu() {
2212
- return safe10(this.client.get("/api/v1/lite/menu"));
2095
+ return safe(this.client.get("/api/v1/lite/menu"));
2213
2096
  }
2214
2097
  async getMenuByCategory(categoryId) {
2215
2098
  const encodedId = encodeURIComponent(categoryId);
2216
- return safe10(this.client.get(`/api/v1/lite/menu/categories/${encodedId}`));
2099
+ return safe(this.client.get(`/api/v1/lite/menu/categories/${encodedId}`));
2217
2100
  }
2218
2101
  };
2219
2102
 
2220
2103
  // src/fx.ts
2221
- function toCimplifyError11(error) {
2222
- if (error instanceof CimplifyError) return error;
2223
- if (error instanceof Error) {
2224
- return new CimplifyError("UNKNOWN_ERROR", error.message, false);
2225
- }
2226
- return new CimplifyError("UNKNOWN_ERROR", String(error), false);
2227
- }
2228
- async function safe11(promise) {
2229
- try {
2230
- return ok(await promise);
2231
- } catch (error) {
2232
- return err(toCimplifyError11(error));
2233
- }
2234
- }
2235
2104
  var FxService = class {
2236
2105
  constructor(client) {
2237
2106
  this.client = client;
2238
2107
  }
2239
2108
  async getRate(from, to) {
2240
2109
  const path = `/api/v1/fx/rate?from=${encodeURIComponent(from)}&to=${encodeURIComponent(to)}`;
2241
- return safe11(this.client.get(path));
2110
+ return safe(this.client.get(path));
2242
2111
  }
2243
2112
  async lockQuote(request) {
2244
- return safe11(this.client.post("/api/v1/fx/quotes", request));
2113
+ return safe(this.client.post("/api/v1/fx/quotes", request));
2245
2114
  }
2246
2115
  };
2247
2116
 
@@ -2356,6 +2225,11 @@ var CimplifyElements = class {
2356
2225
  window.addEventListener("message", this.boundHandleMessage);
2357
2226
  }
2358
2227
  }
2228
+ debug(...args) {
2229
+ if (this.client.isTestMode()) {
2230
+ console.debug(...args);
2231
+ }
2232
+ }
2359
2233
  create(type, options = {}) {
2360
2234
  const existing = this.elements.get(type);
2361
2235
  if (existing) return existing;
@@ -2410,9 +2284,9 @@ var CimplifyElements = class {
2410
2284
  processCheckout(options) {
2411
2285
  let abortFn = null;
2412
2286
  const task = (async () => {
2413
- console.debug("[cimplify:checkout] processCheckout called", { cart_id: options.cart_id, order_type: options.order_type, location_id: options.location_id });
2287
+ this.debug("[cimplify:checkout] processCheckout called", { cart_id: options.cart_id, order_type: options.order_type, location_id: options.location_id });
2414
2288
  if (this.checkoutInProgress) {
2415
- console.debug("[cimplify:checkout] BLOCKED: already processing");
2289
+ this.debug("[cimplify:checkout] BLOCKED: already processing");
2416
2290
  return toCheckoutError(
2417
2291
  "ALREADY_PROCESSING",
2418
2292
  "Checkout is already in progress.",
@@ -2421,7 +2295,7 @@ var CimplifyElements = class {
2421
2295
  }
2422
2296
  this.checkoutInProgress = true;
2423
2297
  if (!options.cart_id) {
2424
- console.debug("[cimplify:checkout] BLOCKED: no cart_id");
2298
+ this.debug("[cimplify:checkout] BLOCKED: no cart_id");
2425
2299
  this.checkoutInProgress = false;
2426
2300
  return toCheckoutError(
2427
2301
  "INVALID_CART",
@@ -2430,7 +2304,7 @@ var CimplifyElements = class {
2430
2304
  );
2431
2305
  }
2432
2306
  if (!options.order_type) {
2433
- console.debug("[cimplify:checkout] BLOCKED: no order_type");
2307
+ this.debug("[cimplify:checkout] BLOCKED: no order_type");
2434
2308
  this.checkoutInProgress = false;
2435
2309
  return toCheckoutError(
2436
2310
  "ORDER_TYPE_REQUIRED",
@@ -2440,7 +2314,7 @@ var CimplifyElements = class {
2440
2314
  }
2441
2315
  const checkoutElement = this.elements.get(ELEMENT_TYPES.CHECKOUT) || this.elements.get(ELEMENT_TYPES.PAYMENT);
2442
2316
  if (!checkoutElement) {
2443
- console.debug("[cimplify:checkout] BLOCKED: no checkout element");
2317
+ this.debug("[cimplify:checkout] BLOCKED: no checkout element");
2444
2318
  this.checkoutInProgress = false;
2445
2319
  return toCheckoutError(
2446
2320
  "NO_PAYMENT_ELEMENT",
@@ -2449,7 +2323,7 @@ var CimplifyElements = class {
2449
2323
  );
2450
2324
  }
2451
2325
  if (!checkoutElement.isMounted()) {
2452
- console.debug("[cimplify:checkout] BLOCKED: checkout element not mounted");
2326
+ this.debug("[cimplify:checkout] BLOCKED: checkout element not mounted");
2453
2327
  this.checkoutInProgress = false;
2454
2328
  return toCheckoutError(
2455
2329
  "PAYMENT_NOT_MOUNTED",
@@ -2461,7 +2335,7 @@ var CimplifyElements = class {
2461
2335
  if (!isUnifiedCheckout) {
2462
2336
  const authElement = this.elements.get(ELEMENT_TYPES.AUTH);
2463
2337
  if (authElement && !this.accessToken) {
2464
- console.debug("[cimplify:checkout] BLOCKED: auth incomplete");
2338
+ this.debug("[cimplify:checkout] BLOCKED: auth incomplete");
2465
2339
  this.checkoutInProgress = false;
2466
2340
  return toCheckoutError(
2467
2341
  "AUTH_INCOMPLETE",
@@ -2471,13 +2345,13 @@ var CimplifyElements = class {
2471
2345
  }
2472
2346
  const addressElement = this.elements.get(ELEMENT_TYPES.ADDRESS);
2473
2347
  if (addressElement) {
2474
- console.debug("[cimplify:checkout] getting address data...");
2348
+ this.debug("[cimplify:checkout] getting address data...");
2475
2349
  await addressElement.getData();
2476
- console.debug("[cimplify:checkout] address data resolved", this.addressData);
2350
+ this.debug("[cimplify:checkout] address data resolved", this.addressData);
2477
2351
  }
2478
2352
  await this.hydrateCustomerData();
2479
2353
  }
2480
- console.debug("[cimplify:checkout] customer data hydrated", { customerData: this.customerData, accountId: this.accountId, isUnifiedCheckout });
2354
+ this.debug("[cimplify:checkout] customer data hydrated", { customerData: this.customerData, accountId: this.accountId, isUnifiedCheckout });
2481
2355
  const processMessage = {
2482
2356
  type: MESSAGE_TYPES.PROCESS_CHECKOUT,
2483
2357
  cart_id: options.cart_id,
@@ -2553,7 +2427,7 @@ var CimplifyElements = class {
2553
2427
  return;
2554
2428
  }
2555
2429
  if (message.type === MESSAGE_TYPES.CHECKOUT_COMPLETE) {
2556
- console.debug("[cimplify:checkout] received checkout_complete", { success: message.success, error: message.error });
2430
+ this.debug("[cimplify:checkout] received checkout_complete", { success: message.success, error: message.error });
2557
2431
  settle({
2558
2432
  success: message.success,
2559
2433
  order: message.order,
@@ -2576,9 +2450,9 @@ var CimplifyElements = class {
2576
2450
  );
2577
2451
  };
2578
2452
  this.activeCheckoutAbort = abortFn;
2579
- 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 });
2453
+ 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 });
2580
2454
  checkoutElement.sendMessage(processMessage);
2581
- console.debug("[cimplify:checkout] postMessage sent, waiting for checkout_complete...");
2455
+ this.debug("[cimplify:checkout] postMessage sent, waiting for checkout_complete...");
2582
2456
  });
2583
2457
  })();
2584
2458
  const abortable = task;