@cimplify/sdk 0.6.8 → 0.6.10

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
@@ -630,9 +630,6 @@ var CartOperations = class {
630
630
 
631
631
  // src/constants.ts
632
632
  var LINK_QUERY = {
633
- DATA: "link.data",
634
- ADDRESSES: "link.addresses",
635
- MOBILE_MONEY: "link.mobile_money",
636
633
  PREFERENCES: "link.preferences"};
637
634
  var LINK_MUTATION = {
638
635
  CHECK_STATUS: "link.check_status",
@@ -641,12 +638,8 @@ var LINK_MUTATION = {
641
638
  UPDATE_PREFERENCES: "link.update_preferences",
642
639
  CREATE_ADDRESS: "link.create_address",
643
640
  UPDATE_ADDRESS: "link.update_address",
644
- DELETE_ADDRESS: "link.delete_address",
645
- SET_DEFAULT_ADDRESS: "link.set_default_address",
646
641
  TRACK_ADDRESS_USAGE: "link.track_address_usage",
647
642
  CREATE_MOBILE_MONEY: "link.create_mobile_money",
648
- DELETE_MOBILE_MONEY: "link.delete_mobile_money",
649
- SET_DEFAULT_MOBILE_MONEY: "link.set_default_mobile_money",
650
643
  TRACK_MOBILE_MONEY_USAGE: "link.track_mobile_money_usage",
651
644
  VERIFY_MOBILE_MONEY: "link.verify_mobile_money"};
652
645
  var AUTH_MUTATION = {
@@ -1597,6 +1590,9 @@ var LinkService = class {
1597
1590
  constructor(client) {
1598
1591
  this.client = client;
1599
1592
  }
1593
+ async getProfile() {
1594
+ return safe5(this.client.linkGet("/v1/link/profile"));
1595
+ }
1600
1596
  async requestOtp(input) {
1601
1597
  return safe5(this.client.linkPost("/v1/link/auth/request-otp", input));
1602
1598
  }
@@ -1624,13 +1620,13 @@ var LinkService = class {
1624
1620
  );
1625
1621
  }
1626
1622
  async getLinkData() {
1627
- return safe5(this.client.query(LINK_QUERY.DATA));
1623
+ return safe5(this.client.linkGet("/v1/link/data"));
1628
1624
  }
1629
1625
  async getAddresses() {
1630
- return safe5(this.client.query(LINK_QUERY.ADDRESSES));
1626
+ return safe5(this.client.linkGet("/v1/link/addresses"));
1631
1627
  }
1632
1628
  async getMobileMoney() {
1633
- return safe5(this.client.query(LINK_QUERY.MOBILE_MONEY));
1629
+ return safe5(this.client.linkGet("/v1/link/mobile-money"));
1634
1630
  }
1635
1631
  async getPreferences() {
1636
1632
  return safe5(this.client.query(LINK_QUERY.PREFERENCES));
@@ -1653,10 +1649,10 @@ var LinkService = class {
1653
1649
  return safe5(this.client.call(LINK_MUTATION.UPDATE_ADDRESS, input));
1654
1650
  }
1655
1651
  async deleteAddress(addressId) {
1656
- return safe5(this.client.call(LINK_MUTATION.DELETE_ADDRESS, addressId));
1652
+ return safe5(this.client.linkDelete(`/v1/link/addresses/${addressId}`));
1657
1653
  }
1658
1654
  async setDefaultAddress(addressId) {
1659
- return safe5(this.client.call(LINK_MUTATION.SET_DEFAULT_ADDRESS, addressId));
1655
+ return safe5(this.client.linkPost(`/v1/link/addresses/${addressId}/default`));
1660
1656
  }
1661
1657
  async trackAddressUsage(addressId) {
1662
1658
  return safe5(
@@ -1669,11 +1665,13 @@ var LinkService = class {
1669
1665
  return safe5(this.client.call(LINK_MUTATION.CREATE_MOBILE_MONEY, input));
1670
1666
  }
1671
1667
  async deleteMobileMoney(mobileMoneyId) {
1672
- return safe5(this.client.call(LINK_MUTATION.DELETE_MOBILE_MONEY, mobileMoneyId));
1668
+ return safe5(
1669
+ this.client.linkDelete(`/v1/link/mobile-money/${mobileMoneyId}`)
1670
+ );
1673
1671
  }
1674
1672
  async setDefaultMobileMoney(mobileMoneyId) {
1675
1673
  return safe5(
1676
- this.client.call(LINK_MUTATION.SET_DEFAULT_MOBILE_MONEY, mobileMoneyId)
1674
+ this.client.linkPost(`/v1/link/mobile-money/${mobileMoneyId}/default`)
1677
1675
  );
1678
1676
  }
1679
1677
  async trackMobileMoneyUsage(mobileMoneyId) {
package/dist/advanced.mjs CHANGED
@@ -628,9 +628,6 @@ var CartOperations = class {
628
628
 
629
629
  // src/constants.ts
630
630
  var LINK_QUERY = {
631
- DATA: "link.data",
632
- ADDRESSES: "link.addresses",
633
- MOBILE_MONEY: "link.mobile_money",
634
631
  PREFERENCES: "link.preferences"};
635
632
  var LINK_MUTATION = {
636
633
  CHECK_STATUS: "link.check_status",
@@ -639,12 +636,8 @@ var LINK_MUTATION = {
639
636
  UPDATE_PREFERENCES: "link.update_preferences",
640
637
  CREATE_ADDRESS: "link.create_address",
641
638
  UPDATE_ADDRESS: "link.update_address",
642
- DELETE_ADDRESS: "link.delete_address",
643
- SET_DEFAULT_ADDRESS: "link.set_default_address",
644
639
  TRACK_ADDRESS_USAGE: "link.track_address_usage",
645
640
  CREATE_MOBILE_MONEY: "link.create_mobile_money",
646
- DELETE_MOBILE_MONEY: "link.delete_mobile_money",
647
- SET_DEFAULT_MOBILE_MONEY: "link.set_default_mobile_money",
648
641
  TRACK_MOBILE_MONEY_USAGE: "link.track_mobile_money_usage",
649
642
  VERIFY_MOBILE_MONEY: "link.verify_mobile_money"};
650
643
  var AUTH_MUTATION = {
@@ -1595,6 +1588,9 @@ var LinkService = class {
1595
1588
  constructor(client) {
1596
1589
  this.client = client;
1597
1590
  }
1591
+ async getProfile() {
1592
+ return safe5(this.client.linkGet("/v1/link/profile"));
1593
+ }
1598
1594
  async requestOtp(input) {
1599
1595
  return safe5(this.client.linkPost("/v1/link/auth/request-otp", input));
1600
1596
  }
@@ -1622,13 +1618,13 @@ var LinkService = class {
1622
1618
  );
1623
1619
  }
1624
1620
  async getLinkData() {
1625
- return safe5(this.client.query(LINK_QUERY.DATA));
1621
+ return safe5(this.client.linkGet("/v1/link/data"));
1626
1622
  }
1627
1623
  async getAddresses() {
1628
- return safe5(this.client.query(LINK_QUERY.ADDRESSES));
1624
+ return safe5(this.client.linkGet("/v1/link/addresses"));
1629
1625
  }
1630
1626
  async getMobileMoney() {
1631
- return safe5(this.client.query(LINK_QUERY.MOBILE_MONEY));
1627
+ return safe5(this.client.linkGet("/v1/link/mobile-money"));
1632
1628
  }
1633
1629
  async getPreferences() {
1634
1630
  return safe5(this.client.query(LINK_QUERY.PREFERENCES));
@@ -1651,10 +1647,10 @@ var LinkService = class {
1651
1647
  return safe5(this.client.call(LINK_MUTATION.UPDATE_ADDRESS, input));
1652
1648
  }
1653
1649
  async deleteAddress(addressId) {
1654
- return safe5(this.client.call(LINK_MUTATION.DELETE_ADDRESS, addressId));
1650
+ return safe5(this.client.linkDelete(`/v1/link/addresses/${addressId}`));
1655
1651
  }
1656
1652
  async setDefaultAddress(addressId) {
1657
- return safe5(this.client.call(LINK_MUTATION.SET_DEFAULT_ADDRESS, addressId));
1653
+ return safe5(this.client.linkPost(`/v1/link/addresses/${addressId}/default`));
1658
1654
  }
1659
1655
  async trackAddressUsage(addressId) {
1660
1656
  return safe5(
@@ -1667,11 +1663,13 @@ var LinkService = class {
1667
1663
  return safe5(this.client.call(LINK_MUTATION.CREATE_MOBILE_MONEY, input));
1668
1664
  }
1669
1665
  async deleteMobileMoney(mobileMoneyId) {
1670
- return safe5(this.client.call(LINK_MUTATION.DELETE_MOBILE_MONEY, mobileMoneyId));
1666
+ return safe5(
1667
+ this.client.linkDelete(`/v1/link/mobile-money/${mobileMoneyId}`)
1668
+ );
1671
1669
  }
1672
1670
  async setDefaultMobileMoney(mobileMoneyId) {
1673
1671
  return safe5(
1674
- this.client.call(LINK_MUTATION.SET_DEFAULT_MOBILE_MONEY, mobileMoneyId)
1672
+ this.client.linkPost(`/v1/link/mobile-money/${mobileMoneyId}/default`)
1675
1673
  );
1676
1674
  }
1677
1675
  async trackMobileMoneyUsage(mobileMoneyId) {
package/dist/index.js CHANGED
@@ -2085,6 +2085,9 @@ var LinkService = class {
2085
2085
  constructor(client) {
2086
2086
  this.client = client;
2087
2087
  }
2088
+ async getProfile() {
2089
+ return safe5(this.client.linkGet("/v1/link/profile"));
2090
+ }
2088
2091
  async requestOtp(input) {
2089
2092
  return safe5(this.client.linkPost("/v1/link/auth/request-otp", input));
2090
2093
  }
@@ -2112,13 +2115,13 @@ var LinkService = class {
2112
2115
  );
2113
2116
  }
2114
2117
  async getLinkData() {
2115
- return safe5(this.client.query(LINK_QUERY.DATA));
2118
+ return safe5(this.client.linkGet("/v1/link/data"));
2116
2119
  }
2117
2120
  async getAddresses() {
2118
- return safe5(this.client.query(LINK_QUERY.ADDRESSES));
2121
+ return safe5(this.client.linkGet("/v1/link/addresses"));
2119
2122
  }
2120
2123
  async getMobileMoney() {
2121
- return safe5(this.client.query(LINK_QUERY.MOBILE_MONEY));
2124
+ return safe5(this.client.linkGet("/v1/link/mobile-money"));
2122
2125
  }
2123
2126
  async getPreferences() {
2124
2127
  return safe5(this.client.query(LINK_QUERY.PREFERENCES));
@@ -2141,10 +2144,10 @@ var LinkService = class {
2141
2144
  return safe5(this.client.call(LINK_MUTATION.UPDATE_ADDRESS, input));
2142
2145
  }
2143
2146
  async deleteAddress(addressId) {
2144
- return safe5(this.client.call(LINK_MUTATION.DELETE_ADDRESS, addressId));
2147
+ return safe5(this.client.linkDelete(`/v1/link/addresses/${addressId}`));
2145
2148
  }
2146
2149
  async setDefaultAddress(addressId) {
2147
- return safe5(this.client.call(LINK_MUTATION.SET_DEFAULT_ADDRESS, addressId));
2150
+ return safe5(this.client.linkPost(`/v1/link/addresses/${addressId}/default`));
2148
2151
  }
2149
2152
  async trackAddressUsage(addressId) {
2150
2153
  return safe5(
@@ -2157,11 +2160,13 @@ var LinkService = class {
2157
2160
  return safe5(this.client.call(LINK_MUTATION.CREATE_MOBILE_MONEY, input));
2158
2161
  }
2159
2162
  async deleteMobileMoney(mobileMoneyId) {
2160
- return safe5(this.client.call(LINK_MUTATION.DELETE_MOBILE_MONEY, mobileMoneyId));
2163
+ return safe5(
2164
+ this.client.linkDelete(`/v1/link/mobile-money/${mobileMoneyId}`)
2165
+ );
2161
2166
  }
2162
2167
  async setDefaultMobileMoney(mobileMoneyId) {
2163
2168
  return safe5(
2164
- this.client.call(LINK_MUTATION.SET_DEFAULT_MOBILE_MONEY, mobileMoneyId)
2169
+ this.client.linkPost(`/v1/link/mobile-money/${mobileMoneyId}/default`)
2165
2170
  );
2166
2171
  }
2167
2172
  async trackMobileMoneyUsage(mobileMoneyId) {
@@ -3301,6 +3306,11 @@ function deriveUrls() {
3301
3306
  linkApiUrl: "https://api.cimplify.io"
3302
3307
  };
3303
3308
  }
3309
+ function normalizeUrl(url) {
3310
+ const trimmed = url.trim();
3311
+ if (!trimmed) return trimmed;
3312
+ return trimmed.replace(/\/+$/, "");
3313
+ }
3304
3314
  function getEnvPublicKey() {
3305
3315
  try {
3306
3316
  const env = globalThis.process;
@@ -3318,15 +3328,15 @@ var CimplifyClient = class {
3318
3328
  this.inflightRequests = /* @__PURE__ */ new Map();
3319
3329
  this.publicKey = config.publicKey || getEnvPublicKey() || "";
3320
3330
  const urls = deriveUrls();
3321
- this.baseUrl = urls.baseUrl;
3322
- this.linkApiUrl = urls.linkApiUrl;
3331
+ this.baseUrl = config.baseUrl ? normalizeUrl(config.baseUrl) : urls.baseUrl;
3332
+ this.linkApiUrl = config.linkApiUrl ? normalizeUrl(config.linkApiUrl) : urls.linkApiUrl;
3323
3333
  this.credentials = config.credentials || "include";
3324
3334
  this.timeout = config.timeout ?? DEFAULT_TIMEOUT_MS;
3325
3335
  this.maxRetries = config.maxRetries ?? DEFAULT_MAX_RETRIES;
3326
3336
  this.retryDelay = config.retryDelay ?? DEFAULT_RETRY_DELAY_MS;
3327
3337
  this.hooks = config.hooks ?? {};
3328
3338
  this.accessToken = this.loadAccessToken();
3329
- if (!this.publicKey) {
3339
+ if (!this.publicKey && !config.suppressPublicKeyWarning) {
3330
3340
  console.warn(
3331
3341
  '[Cimplify] No public key found. Set NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY in your environment, or pass { publicKey: "pk_..." } to createCimplifyClient().'
3332
3342
  );
@@ -3439,9 +3449,12 @@ var CimplifyClient = class {
3439
3449
  }
3440
3450
  getHeaders() {
3441
3451
  const headers = {
3442
- "Content-Type": "application/json",
3443
- "X-API-Key": this.publicKey
3452
+ "Content-Type": "application/json"
3444
3453
  };
3454
+ const trimmedPublicKey = this.publicKey.trim();
3455
+ if (trimmedPublicKey) {
3456
+ headers["X-API-Key"] = trimmedPublicKey;
3457
+ }
3445
3458
  if (this.accessToken) {
3446
3459
  headers["Authorization"] = `Bearer ${this.accessToken}`;
3447
3460
  }
package/dist/index.mjs CHANGED
@@ -2083,6 +2083,9 @@ var LinkService = class {
2083
2083
  constructor(client) {
2084
2084
  this.client = client;
2085
2085
  }
2086
+ async getProfile() {
2087
+ return safe5(this.client.linkGet("/v1/link/profile"));
2088
+ }
2086
2089
  async requestOtp(input) {
2087
2090
  return safe5(this.client.linkPost("/v1/link/auth/request-otp", input));
2088
2091
  }
@@ -2110,13 +2113,13 @@ var LinkService = class {
2110
2113
  );
2111
2114
  }
2112
2115
  async getLinkData() {
2113
- return safe5(this.client.query(LINK_QUERY.DATA));
2116
+ return safe5(this.client.linkGet("/v1/link/data"));
2114
2117
  }
2115
2118
  async getAddresses() {
2116
- return safe5(this.client.query(LINK_QUERY.ADDRESSES));
2119
+ return safe5(this.client.linkGet("/v1/link/addresses"));
2117
2120
  }
2118
2121
  async getMobileMoney() {
2119
- return safe5(this.client.query(LINK_QUERY.MOBILE_MONEY));
2122
+ return safe5(this.client.linkGet("/v1/link/mobile-money"));
2120
2123
  }
2121
2124
  async getPreferences() {
2122
2125
  return safe5(this.client.query(LINK_QUERY.PREFERENCES));
@@ -2139,10 +2142,10 @@ var LinkService = class {
2139
2142
  return safe5(this.client.call(LINK_MUTATION.UPDATE_ADDRESS, input));
2140
2143
  }
2141
2144
  async deleteAddress(addressId) {
2142
- return safe5(this.client.call(LINK_MUTATION.DELETE_ADDRESS, addressId));
2145
+ return safe5(this.client.linkDelete(`/v1/link/addresses/${addressId}`));
2143
2146
  }
2144
2147
  async setDefaultAddress(addressId) {
2145
- return safe5(this.client.call(LINK_MUTATION.SET_DEFAULT_ADDRESS, addressId));
2148
+ return safe5(this.client.linkPost(`/v1/link/addresses/${addressId}/default`));
2146
2149
  }
2147
2150
  async trackAddressUsage(addressId) {
2148
2151
  return safe5(
@@ -2155,11 +2158,13 @@ var LinkService = class {
2155
2158
  return safe5(this.client.call(LINK_MUTATION.CREATE_MOBILE_MONEY, input));
2156
2159
  }
2157
2160
  async deleteMobileMoney(mobileMoneyId) {
2158
- return safe5(this.client.call(LINK_MUTATION.DELETE_MOBILE_MONEY, mobileMoneyId));
2161
+ return safe5(
2162
+ this.client.linkDelete(`/v1/link/mobile-money/${mobileMoneyId}`)
2163
+ );
2159
2164
  }
2160
2165
  async setDefaultMobileMoney(mobileMoneyId) {
2161
2166
  return safe5(
2162
- this.client.call(LINK_MUTATION.SET_DEFAULT_MOBILE_MONEY, mobileMoneyId)
2167
+ this.client.linkPost(`/v1/link/mobile-money/${mobileMoneyId}/default`)
2163
2168
  );
2164
2169
  }
2165
2170
  async trackMobileMoneyUsage(mobileMoneyId) {
@@ -3299,6 +3304,11 @@ function deriveUrls() {
3299
3304
  linkApiUrl: "https://api.cimplify.io"
3300
3305
  };
3301
3306
  }
3307
+ function normalizeUrl(url) {
3308
+ const trimmed = url.trim();
3309
+ if (!trimmed) return trimmed;
3310
+ return trimmed.replace(/\/+$/, "");
3311
+ }
3302
3312
  function getEnvPublicKey() {
3303
3313
  try {
3304
3314
  const env = globalThis.process;
@@ -3316,15 +3326,15 @@ var CimplifyClient = class {
3316
3326
  this.inflightRequests = /* @__PURE__ */ new Map();
3317
3327
  this.publicKey = config.publicKey || getEnvPublicKey() || "";
3318
3328
  const urls = deriveUrls();
3319
- this.baseUrl = urls.baseUrl;
3320
- this.linkApiUrl = urls.linkApiUrl;
3329
+ this.baseUrl = config.baseUrl ? normalizeUrl(config.baseUrl) : urls.baseUrl;
3330
+ this.linkApiUrl = config.linkApiUrl ? normalizeUrl(config.linkApiUrl) : urls.linkApiUrl;
3321
3331
  this.credentials = config.credentials || "include";
3322
3332
  this.timeout = config.timeout ?? DEFAULT_TIMEOUT_MS;
3323
3333
  this.maxRetries = config.maxRetries ?? DEFAULT_MAX_RETRIES;
3324
3334
  this.retryDelay = config.retryDelay ?? DEFAULT_RETRY_DELAY_MS;
3325
3335
  this.hooks = config.hooks ?? {};
3326
3336
  this.accessToken = this.loadAccessToken();
3327
- if (!this.publicKey) {
3337
+ if (!this.publicKey && !config.suppressPublicKeyWarning) {
3328
3338
  console.warn(
3329
3339
  '[Cimplify] No public key found. Set NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY in your environment, or pass { publicKey: "pk_..." } to createCimplifyClient().'
3330
3340
  );
@@ -3437,9 +3447,12 @@ var CimplifyClient = class {
3437
3447
  }
3438
3448
  getHeaders() {
3439
3449
  const headers = {
3440
- "Content-Type": "application/json",
3441
- "X-API-Key": this.publicKey
3450
+ "Content-Type": "application/json"
3442
3451
  };
3452
+ const trimmedPublicKey = this.publicKey.trim();
3453
+ if (trimmedPublicKey) {
3454
+ headers["X-API-Key"] = trimmedPublicKey;
3455
+ }
3443
3456
  if (this.accessToken) {
3444
3457
  headers["Authorization"] = `Bearer ${this.accessToken}`;
3445
3458
  }
package/dist/react.js CHANGED
@@ -1283,9 +1283,6 @@ var CartOperations = class {
1283
1283
 
1284
1284
  // src/constants.ts
1285
1285
  var LINK_QUERY = {
1286
- DATA: "link.data",
1287
- ADDRESSES: "link.addresses",
1288
- MOBILE_MONEY: "link.mobile_money",
1289
1286
  PREFERENCES: "link.preferences"};
1290
1287
  var LINK_MUTATION = {
1291
1288
  CHECK_STATUS: "link.check_status",
@@ -1294,12 +1291,8 @@ var LINK_MUTATION = {
1294
1291
  UPDATE_PREFERENCES: "link.update_preferences",
1295
1292
  CREATE_ADDRESS: "link.create_address",
1296
1293
  UPDATE_ADDRESS: "link.update_address",
1297
- DELETE_ADDRESS: "link.delete_address",
1298
- SET_DEFAULT_ADDRESS: "link.set_default_address",
1299
1294
  TRACK_ADDRESS_USAGE: "link.track_address_usage",
1300
1295
  CREATE_MOBILE_MONEY: "link.create_mobile_money",
1301
- DELETE_MOBILE_MONEY: "link.delete_mobile_money",
1302
- SET_DEFAULT_MOBILE_MONEY: "link.set_default_mobile_money",
1303
1296
  TRACK_MOBILE_MONEY_USAGE: "link.track_mobile_money_usage",
1304
1297
  VERIFY_MOBILE_MONEY: "link.verify_mobile_money"};
1305
1298
  var AUTH_MUTATION = {
@@ -2263,6 +2256,9 @@ var LinkService = class {
2263
2256
  constructor(client) {
2264
2257
  this.client = client;
2265
2258
  }
2259
+ async getProfile() {
2260
+ return safe5(this.client.linkGet("/v1/link/profile"));
2261
+ }
2266
2262
  async requestOtp(input) {
2267
2263
  return safe5(this.client.linkPost("/v1/link/auth/request-otp", input));
2268
2264
  }
@@ -2290,13 +2286,13 @@ var LinkService = class {
2290
2286
  );
2291
2287
  }
2292
2288
  async getLinkData() {
2293
- return safe5(this.client.query(LINK_QUERY.DATA));
2289
+ return safe5(this.client.linkGet("/v1/link/data"));
2294
2290
  }
2295
2291
  async getAddresses() {
2296
- return safe5(this.client.query(LINK_QUERY.ADDRESSES));
2292
+ return safe5(this.client.linkGet("/v1/link/addresses"));
2297
2293
  }
2298
2294
  async getMobileMoney() {
2299
- return safe5(this.client.query(LINK_QUERY.MOBILE_MONEY));
2295
+ return safe5(this.client.linkGet("/v1/link/mobile-money"));
2300
2296
  }
2301
2297
  async getPreferences() {
2302
2298
  return safe5(this.client.query(LINK_QUERY.PREFERENCES));
@@ -2319,10 +2315,10 @@ var LinkService = class {
2319
2315
  return safe5(this.client.call(LINK_MUTATION.UPDATE_ADDRESS, input));
2320
2316
  }
2321
2317
  async deleteAddress(addressId) {
2322
- return safe5(this.client.call(LINK_MUTATION.DELETE_ADDRESS, addressId));
2318
+ return safe5(this.client.linkDelete(`/v1/link/addresses/${addressId}`));
2323
2319
  }
2324
2320
  async setDefaultAddress(addressId) {
2325
- return safe5(this.client.call(LINK_MUTATION.SET_DEFAULT_ADDRESS, addressId));
2321
+ return safe5(this.client.linkPost(`/v1/link/addresses/${addressId}/default`));
2326
2322
  }
2327
2323
  async trackAddressUsage(addressId) {
2328
2324
  return safe5(
@@ -2335,11 +2331,13 @@ var LinkService = class {
2335
2331
  return safe5(this.client.call(LINK_MUTATION.CREATE_MOBILE_MONEY, input));
2336
2332
  }
2337
2333
  async deleteMobileMoney(mobileMoneyId) {
2338
- return safe5(this.client.call(LINK_MUTATION.DELETE_MOBILE_MONEY, mobileMoneyId));
2334
+ return safe5(
2335
+ this.client.linkDelete(`/v1/link/mobile-money/${mobileMoneyId}`)
2336
+ );
2339
2337
  }
2340
2338
  async setDefaultMobileMoney(mobileMoneyId) {
2341
2339
  return safe5(
2342
- this.client.call(LINK_MUTATION.SET_DEFAULT_MOBILE_MONEY, mobileMoneyId)
2340
+ this.client.linkPost(`/v1/link/mobile-money/${mobileMoneyId}/default`)
2343
2341
  );
2344
2342
  }
2345
2343
  async trackMobileMoneyUsage(mobileMoneyId) {
@@ -3440,6 +3438,11 @@ function deriveUrls() {
3440
3438
  linkApiUrl: "https://api.cimplify.io"
3441
3439
  };
3442
3440
  }
3441
+ function normalizeUrl(url) {
3442
+ const trimmed = url.trim();
3443
+ if (!trimmed) return trimmed;
3444
+ return trimmed.replace(/\/+$/, "");
3445
+ }
3443
3446
  function getEnvPublicKey() {
3444
3447
  try {
3445
3448
  const env = globalThis.process;
@@ -3457,15 +3460,15 @@ var CimplifyClient = class {
3457
3460
  this.inflightRequests = /* @__PURE__ */ new Map();
3458
3461
  this.publicKey = config.publicKey || getEnvPublicKey() || "";
3459
3462
  const urls = deriveUrls();
3460
- this.baseUrl = urls.baseUrl;
3461
- this.linkApiUrl = urls.linkApiUrl;
3463
+ this.baseUrl = config.baseUrl ? normalizeUrl(config.baseUrl) : urls.baseUrl;
3464
+ this.linkApiUrl = config.linkApiUrl ? normalizeUrl(config.linkApiUrl) : urls.linkApiUrl;
3462
3465
  this.credentials = config.credentials || "include";
3463
3466
  this.timeout = config.timeout ?? DEFAULT_TIMEOUT_MS;
3464
3467
  this.maxRetries = config.maxRetries ?? DEFAULT_MAX_RETRIES;
3465
3468
  this.retryDelay = config.retryDelay ?? DEFAULT_RETRY_DELAY_MS;
3466
3469
  this.hooks = config.hooks ?? {};
3467
3470
  this.accessToken = this.loadAccessToken();
3468
- if (!this.publicKey) {
3471
+ if (!this.publicKey && !config.suppressPublicKeyWarning) {
3469
3472
  console.warn(
3470
3473
  '[Cimplify] No public key found. Set NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY in your environment, or pass { publicKey: "pk_..." } to createCimplifyClient().'
3471
3474
  );
@@ -3578,9 +3581,12 @@ var CimplifyClient = class {
3578
3581
  }
3579
3582
  getHeaders() {
3580
3583
  const headers = {
3581
- "Content-Type": "application/json",
3582
- "X-API-Key": this.publicKey
3584
+ "Content-Type": "application/json"
3583
3585
  };
3586
+ const trimmedPublicKey = this.publicKey.trim();
3587
+ if (trimmedPublicKey) {
3588
+ headers["X-API-Key"] = trimmedPublicKey;
3589
+ }
3584
3590
  if (this.accessToken) {
3585
3591
  headers["Authorization"] = `Bearer ${this.accessToken}`;
3586
3592
  }
package/dist/react.mjs CHANGED
@@ -1281,9 +1281,6 @@ var CartOperations = class {
1281
1281
 
1282
1282
  // src/constants.ts
1283
1283
  var LINK_QUERY = {
1284
- DATA: "link.data",
1285
- ADDRESSES: "link.addresses",
1286
- MOBILE_MONEY: "link.mobile_money",
1287
1284
  PREFERENCES: "link.preferences"};
1288
1285
  var LINK_MUTATION = {
1289
1286
  CHECK_STATUS: "link.check_status",
@@ -1292,12 +1289,8 @@ var LINK_MUTATION = {
1292
1289
  UPDATE_PREFERENCES: "link.update_preferences",
1293
1290
  CREATE_ADDRESS: "link.create_address",
1294
1291
  UPDATE_ADDRESS: "link.update_address",
1295
- DELETE_ADDRESS: "link.delete_address",
1296
- SET_DEFAULT_ADDRESS: "link.set_default_address",
1297
1292
  TRACK_ADDRESS_USAGE: "link.track_address_usage",
1298
1293
  CREATE_MOBILE_MONEY: "link.create_mobile_money",
1299
- DELETE_MOBILE_MONEY: "link.delete_mobile_money",
1300
- SET_DEFAULT_MOBILE_MONEY: "link.set_default_mobile_money",
1301
1294
  TRACK_MOBILE_MONEY_USAGE: "link.track_mobile_money_usage",
1302
1295
  VERIFY_MOBILE_MONEY: "link.verify_mobile_money"};
1303
1296
  var AUTH_MUTATION = {
@@ -2261,6 +2254,9 @@ var LinkService = class {
2261
2254
  constructor(client) {
2262
2255
  this.client = client;
2263
2256
  }
2257
+ async getProfile() {
2258
+ return safe5(this.client.linkGet("/v1/link/profile"));
2259
+ }
2264
2260
  async requestOtp(input) {
2265
2261
  return safe5(this.client.linkPost("/v1/link/auth/request-otp", input));
2266
2262
  }
@@ -2288,13 +2284,13 @@ var LinkService = class {
2288
2284
  );
2289
2285
  }
2290
2286
  async getLinkData() {
2291
- return safe5(this.client.query(LINK_QUERY.DATA));
2287
+ return safe5(this.client.linkGet("/v1/link/data"));
2292
2288
  }
2293
2289
  async getAddresses() {
2294
- return safe5(this.client.query(LINK_QUERY.ADDRESSES));
2290
+ return safe5(this.client.linkGet("/v1/link/addresses"));
2295
2291
  }
2296
2292
  async getMobileMoney() {
2297
- return safe5(this.client.query(LINK_QUERY.MOBILE_MONEY));
2293
+ return safe5(this.client.linkGet("/v1/link/mobile-money"));
2298
2294
  }
2299
2295
  async getPreferences() {
2300
2296
  return safe5(this.client.query(LINK_QUERY.PREFERENCES));
@@ -2317,10 +2313,10 @@ var LinkService = class {
2317
2313
  return safe5(this.client.call(LINK_MUTATION.UPDATE_ADDRESS, input));
2318
2314
  }
2319
2315
  async deleteAddress(addressId) {
2320
- return safe5(this.client.call(LINK_MUTATION.DELETE_ADDRESS, addressId));
2316
+ return safe5(this.client.linkDelete(`/v1/link/addresses/${addressId}`));
2321
2317
  }
2322
2318
  async setDefaultAddress(addressId) {
2323
- return safe5(this.client.call(LINK_MUTATION.SET_DEFAULT_ADDRESS, addressId));
2319
+ return safe5(this.client.linkPost(`/v1/link/addresses/${addressId}/default`));
2324
2320
  }
2325
2321
  async trackAddressUsage(addressId) {
2326
2322
  return safe5(
@@ -2333,11 +2329,13 @@ var LinkService = class {
2333
2329
  return safe5(this.client.call(LINK_MUTATION.CREATE_MOBILE_MONEY, input));
2334
2330
  }
2335
2331
  async deleteMobileMoney(mobileMoneyId) {
2336
- return safe5(this.client.call(LINK_MUTATION.DELETE_MOBILE_MONEY, mobileMoneyId));
2332
+ return safe5(
2333
+ this.client.linkDelete(`/v1/link/mobile-money/${mobileMoneyId}`)
2334
+ );
2337
2335
  }
2338
2336
  async setDefaultMobileMoney(mobileMoneyId) {
2339
2337
  return safe5(
2340
- this.client.call(LINK_MUTATION.SET_DEFAULT_MOBILE_MONEY, mobileMoneyId)
2338
+ this.client.linkPost(`/v1/link/mobile-money/${mobileMoneyId}/default`)
2341
2339
  );
2342
2340
  }
2343
2341
  async trackMobileMoneyUsage(mobileMoneyId) {
@@ -3438,6 +3436,11 @@ function deriveUrls() {
3438
3436
  linkApiUrl: "https://api.cimplify.io"
3439
3437
  };
3440
3438
  }
3439
+ function normalizeUrl(url) {
3440
+ const trimmed = url.trim();
3441
+ if (!trimmed) return trimmed;
3442
+ return trimmed.replace(/\/+$/, "");
3443
+ }
3441
3444
  function getEnvPublicKey() {
3442
3445
  try {
3443
3446
  const env = globalThis.process;
@@ -3455,15 +3458,15 @@ var CimplifyClient = class {
3455
3458
  this.inflightRequests = /* @__PURE__ */ new Map();
3456
3459
  this.publicKey = config.publicKey || getEnvPublicKey() || "";
3457
3460
  const urls = deriveUrls();
3458
- this.baseUrl = urls.baseUrl;
3459
- this.linkApiUrl = urls.linkApiUrl;
3461
+ this.baseUrl = config.baseUrl ? normalizeUrl(config.baseUrl) : urls.baseUrl;
3462
+ this.linkApiUrl = config.linkApiUrl ? normalizeUrl(config.linkApiUrl) : urls.linkApiUrl;
3460
3463
  this.credentials = config.credentials || "include";
3461
3464
  this.timeout = config.timeout ?? DEFAULT_TIMEOUT_MS;
3462
3465
  this.maxRetries = config.maxRetries ?? DEFAULT_MAX_RETRIES;
3463
3466
  this.retryDelay = config.retryDelay ?? DEFAULT_RETRY_DELAY_MS;
3464
3467
  this.hooks = config.hooks ?? {};
3465
3468
  this.accessToken = this.loadAccessToken();
3466
- if (!this.publicKey) {
3469
+ if (!this.publicKey && !config.suppressPublicKeyWarning) {
3467
3470
  console.warn(
3468
3471
  '[Cimplify] No public key found. Set NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY in your environment, or pass { publicKey: "pk_..." } to createCimplifyClient().'
3469
3472
  );
@@ -3576,9 +3579,12 @@ var CimplifyClient = class {
3576
3579
  }
3577
3580
  getHeaders() {
3578
3581
  const headers = {
3579
- "Content-Type": "application/json",
3580
- "X-API-Key": this.publicKey
3582
+ "Content-Type": "application/json"
3581
3583
  };
3584
+ const trimmedPublicKey = this.publicKey.trim();
3585
+ if (trimmedPublicKey) {
3586
+ headers["X-API-Key"] = trimmedPublicKey;
3587
+ }
3582
3588
  if (this.accessToken) {
3583
3589
  headers["Authorization"] = `Bearer ${this.accessToken}`;
3584
3590
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cimplify/sdk",
3
- "version": "0.6.8",
3
+ "version": "0.6.10",
4
4
  "description": "Cimplify Commerce SDK for storefronts",
5
5
  "keywords": [
6
6
  "cimplify",
@@ -1,20 +0,0 @@
1
- type AdSlot = "banner" | "sidebar" | "in-content" | "native" | "footer";
2
- type AdPosition = "static" | "sticky" | "fixed";
3
- type AdTheme = "light" | "dark" | "auto";
4
- interface AdConfig {
5
- enabled: boolean;
6
- theme: AdTheme;
7
- excludePaths?: string[];
8
- }
9
- interface AdCreative {
10
- id: string;
11
- html: string;
12
- clickUrl: string;
13
- }
14
- interface AdContextValue {
15
- siteId: string | null;
16
- config: AdConfig | null;
17
- isLoading: boolean;
18
- }
19
-
20
- export type { AdSlot as A, AdPosition as a, AdTheme as b, AdConfig as c, AdCreative as d, AdContextValue as e };
@@ -1,20 +0,0 @@
1
- type AdSlot = "banner" | "sidebar" | "in-content" | "native" | "footer";
2
- type AdPosition = "static" | "sticky" | "fixed";
3
- type AdTheme = "light" | "dark" | "auto";
4
- interface AdConfig {
5
- enabled: boolean;
6
- theme: AdTheme;
7
- excludePaths?: string[];
8
- }
9
- interface AdCreative {
10
- id: string;
11
- html: string;
12
- clickUrl: string;
13
- }
14
- interface AdContextValue {
15
- siteId: string | null;
16
- config: AdConfig | null;
17
- isLoading: boolean;
18
- }
19
-
20
- export type { AdSlot as A, AdPosition as a, AdTheme as b, AdConfig as c, AdCreative as d, AdContextValue as e };