@advplyr/partner-hub-embedded 0.4.0 → 0.4.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAC/B,eAAe,EAChB,MAAM,YAAY,CAAC;AAsCpB,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,+BAA+B;;;qBAUlE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;mBAOzB;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE;EAOhD;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAC/B,eAAe,EAChB,MAAM,YAAY,CAAC;AAyFpB,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,+BAA+B;;;qBAUlE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;mBAOzB;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE;EAOhD;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
package/dist/client.js CHANGED
@@ -1,7 +1,46 @@
1
1
  import { PartnerHubEmbeddedError } from "./types.js";
2
+ /** Backoff after failed attempts 1–3; fourth attempt has no following delay. */
3
+ const GET_CUSTOMER_RETRY_DELAYS_MS = [400, 800, 1600];
4
+ /** Hub is served behind `/api`; direct API overrides should not get that prefix. */
5
+ function embeddedLegacyBillingBaseUrl(baseUrl) {
6
+ const normalized = baseUrl.replace(/\/$/, "");
7
+ const apiPrefix = normalized === "https://partnerhub.dev" ? "/api" : "";
8
+ return `${normalized}${apiPrefix}/embedded/legacy-billing`;
9
+ }
10
+ function sleep(ms) {
11
+ return new Promise((resolve) => setTimeout(resolve, ms));
12
+ }
13
+ function isRetryableGetCustomerError(error) {
14
+ if (error instanceof PartnerHubEmbeddedError) {
15
+ return (error.statusCode === 401 ||
16
+ error.statusCode === 429 ||
17
+ error.statusCode === 502 ||
18
+ error.statusCode === 503 ||
19
+ error.statusCode === 504);
20
+ }
21
+ // Transient network failures (fetch throws before a response).
22
+ return error instanceof Error;
23
+ }
24
+ async function embeddedFetchGetCustomer(options, path) {
25
+ let lastError;
26
+ for (let attempt = 0; attempt <= GET_CUSTOMER_RETRY_DELAYS_MS.length; attempt++) {
27
+ try {
28
+ return await embeddedFetch(options, path);
29
+ }
30
+ catch (error) {
31
+ lastError = error;
32
+ const delay = GET_CUSTOMER_RETRY_DELAYS_MS[attempt];
33
+ if (delay === undefined || !isRetryableGetCustomerError(error)) {
34
+ throw error;
35
+ }
36
+ await sleep(delay);
37
+ }
38
+ }
39
+ throw lastError;
40
+ }
2
41
  async function embeddedFetch(options, path, init) {
3
42
  const fetchImpl = options.fetch ?? fetch;
4
- const base = `${options.baseUrl.replace(/\/$/, "")}/api/embedded/legacy-billing`;
43
+ const base = embeddedLegacyBillingBaseUrl(options.baseUrl);
5
44
  const token = await options.getSessionToken();
6
45
  const method = init?.method?.toUpperCase() ?? "GET";
7
46
  const headers = {
@@ -24,7 +63,7 @@ async function embeddedFetch(options, path, init) {
24
63
  export function createPartnerHubEmbeddedClient(options) {
25
64
  return {
26
65
  getCustomer() {
27
- return embeddedFetch(options, "/customer");
66
+ return embeddedFetchGetCustomer(options, "/customer");
28
67
  },
29
68
  listPlans() {
30
69
  return embeddedFetch(options, "/plans");
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,KAAK,UAAU,aAAa,CAC1B,OAAwC,EACxC,IAAY,EACZ,IAAkB;IAElB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACzC,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC;IACjF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;IACpD,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,KAAK,EAAE;QAChC,GAAI,IAAI,EAAE,OAA8C;KACzD,CAAC;IACF,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1C,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;QACjD,GAAG,IAAI;QACP,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAuB,CAAC;IAE7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,uBAAuB,CAC/B,IAAI,CAAC,KAAK,IAAI,mBAAmB,QAAQ,CAAC,MAAM,GAAG,EACnD,QAAQ,CAAC,MAAM,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,IAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAAwC;IACrF,OAAO;QACL,WAAW;YACT,OAAO,aAAa,CAAoB,OAAO,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,SAAS;YACP,OAAO,aAAa,CAAkB,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAED,SAAS,CAAC,KAA6B;YACrC,OAAO,aAAa,CAAkB,OAAO,EAAE,YAAY,EAAE;gBAC3D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,QAAyC,EAAE;YAChD,OAAO,aAAa,CAAe,OAAO,EAAE,SAAS,EAAE;gBACrD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,KAAK,EAAE,CAAC;aAC9E,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@advplyr/partner-hub-embedded",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Partner Hub embedded app SDK",
5
5
  "type": "module",
6
6
  "exports": {