@rebuy/rebuy 3.53.0 → 3.55.0

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/routes.cjs CHANGED
@@ -41,4 +41,4 @@ var apiRoutes = {
41
41
  sections: { method: "get", path: "/cab/sections" }
42
42
  }
43
43
  };
44
- var UPSTREAM_SUFFIXES = ["enigneyuber.com", "rebuycloud.dev", "rebuyengine.com", "trycloudflare.com"];
44
+ var UPSTREAM_SUFFIXES = ["enigneyuber.com", "rebuycloud.dev", "rebuyengine.com"];
package/dist/routes.d.ts CHANGED
@@ -42,7 +42,9 @@ export declare const apiRoutes: {
42
42
  * Hosts a non-production upstream override may point at (suffix match; subdomains allowed). The single
43
43
  * allowlist consumed by BOTH rebuy-api's `resolveUpstream` (the `X-Rebuy-Upstream` header guard) and the
44
44
  * checkout extension's `resolveUpstream` (the `hostName` block setting), so the two can never drift — a
45
- * host only one side accepts is silently dropped to production on the other. `trycloudflare.com` covers
46
- * local systems exposed via a `cloudflared` quick tunnel.
45
+ * host only one side accepts is silently dropped to production on the other. This list is the SSRF boundary:
46
+ * only Rebuy-owned zones belong on it. `trycloudflare.com` was removed (REB-24999) because anyone can mint a
47
+ * `cloudflared` quick tunnel under it, which let any caller point our pods at a host they control. To expose a
48
+ * local engine, run a named Cloudflare tunnel on a `rebuycloud.dev` hostname instead.
47
49
  */
48
- export declare const UPSTREAM_SUFFIXES: readonly ["enigneyuber.com", "rebuycloud.dev", "rebuyengine.com", "trycloudflare.com"];
50
+ export declare const UPSTREAM_SUFFIXES: readonly ["enigneyuber.com", "rebuycloud.dev", "rebuyengine.com"];
package/dist/routes.mjs CHANGED
@@ -16,7 +16,7 @@ var apiRoutes = {
16
16
  sections: { method: "get", path: "/cab/sections" }
17
17
  }
18
18
  };
19
- var UPSTREAM_SUFFIXES = ["enigneyuber.com", "rebuycloud.dev", "rebuyengine.com", "trycloudflare.com"];
19
+ var UPSTREAM_SUFFIXES = ["enigneyuber.com", "rebuycloud.dev", "rebuyengine.com"];
20
20
  export {
21
21
  UPSTREAM_SUFFIXES,
22
22
  apiRoutes
@@ -4,7 +4,10 @@ export declare const PostPurchaseAmount: z.ZodString;
4
4
  export declare const PostPurchaseProductId: z.ZodNumber;
5
5
  export declare const PostPurchaseVariantId: z.ZodNumber;
6
6
  /**
7
- * The data-source product/variant response shape `normalizePostPurchaseProduct` validates.
7
+ * The data-source product/variant response shape `normalizePostPurchaseProduct` validates, one product at a
8
+ * time (`readPostPurchaseProductSource`, Slice 102): a product this rejects is dropped with a `product` drift,
9
+ * and only the envelope fails the read. A product's `productIndex` is always its position in the raw `data`
10
+ * array, never among the survivors, so a drop never renumbers the members Decision and Render identify.
8
11
  *
9
12
  * `metadata.productQuantity` is **new behaviour**, kept per decision 15 because the rebuild already implemented
10
13
  * it: legacy `initializeProduct.ts:100-104` read it, but its schema stripped `metadata` first, so no merchant ever