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