@tokenoftrust/storefront-runner 2.4.66 → 2.4.67

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.
@@ -477,12 +477,11 @@ export default function VariantSelector({
477
477
  </div>
478
478
  </div>
479
479
 
480
- {/* Add to cart. With a wired checkout store this is a real checkout form —
481
- loader.js turns the submit into the cart drawer + hosted checkout. The
482
- product fields are server-pre-signed (tamper-proof); the quantity
483
- rides along as the selected stepper value. Without a store (marketing
484
- tenant / signed mode missing secret) it degrades to a disabled
485
- placeholder. */}
480
+ {/* Add to cart. With a wired checkout store the form action is the
481
+ checkout-handoff commerce route (`/api/commerce/checkout-handoff`).
482
+ Product fields are server-pre-signed; the quantity is the selected
483
+ stepper value. Without a store (marketing tenant, or signed mode with
484
+ no cart secret) the control is a disabled placeholder. */}
486
485
  {checkoutCart ? (
487
486
  <div class="flex flex-col gap-1.5">
488
487
  <form
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tokenoftrust/storefront-runner",
3
- "version": "2.4.66",
3
+ "version": "2.4.67",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "description": "World-shareable storefront runner: multi-tenant renderer on Astro/Cloudflare. No control plane.",
6
6
  "packageManager": "pnpm@11.9.0",
@@ -110,13 +110,13 @@ export interface BuildVariantCartPayloadOptions {
110
110
  secret?: string;
111
111
  purchaseOption?: ProductPurchaseOption;
112
112
  /**
113
- * The member-adjusted EFFECTIVE price to sign, computed server-side via
114
- * membership.ts `priceForPurchaseOption` for the shopper's resolved eligibility.
115
- * When set it REPLACES the list/subscription price as the single signed source
116
- * of truth, so a given price is only ever valid for the member context it was
117
- * signed under (see {@link ../membership.ts buildMemberSignedCartPayload}).
118
- * Absent → the list/subscription price (anonymous shopper). Never a client-
119
- * supplied value: only the server, holding the cart secret, ever signs it.
113
+ * Member-adjusted effective price to sign. `buildMemberSignedCartPayload`
114
+ * in membership.ts runs `priceForPurchaseOption` for this request's resolved
115
+ * eligibility and passes that price here. `buildVariantCartPayload` signs it
116
+ * in place of the list or subscription price, so the signature matches only
117
+ * that member context. Absent, the list or subscription price is signed for
118
+ * an anonymous shopper. The client never supplies this value; only the
119
+ * server, holding the cart secret, signs it.
120
120
  */
121
121
  signedPrice?: number;
122
122
  /**