@nextblock-cms/ecom 0.17.6 → 0.17.8

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.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@freemius/sdk"),p=require("./payment-config.cjs.js"),E=require("./providers/freemius.cjs.js"),l=20,c="This license cannot be claimed automatically. Use the key from your purchase email.";function m(r){if(!r||typeof r!="string")return null;const e=r.trim(),s=/(?:z|[+-]\d{2}:?\d{2})$/i.test(e)?e:`${e.replace(" ","T")}Z`,i=Date.parse(s);return Number.isFinite(i)?i:null}function o(r,e){return r==null||e===null||e===void 0?!1:String(r).trim()===String(e).trim()}function u(r){return(r??"").trim().toLowerCase()}function d(r){const{license:e,request:n,user:s}=r,i=r.maxAgeMinutes??l,a=(r.now??new Date).getTime();if(!e||!o(e.id,n.licenseId))return{ok:!1,reason:"license_not_found"};const t=m(e.created);return t===null||a-t>i*6e4||t-a>5*6e4?{ok:!1,reason:"too_old"}:o(e.plugin_id,n.productId)?e.is_cancelled?{ok:!1,reason:"cancelled"}:!n.userId?.trim()||!o(e.user_id,n.userId)?{ok:!1,reason:"user_mismatch"}:!s||!u(n.email)||u(s.email)!==u(n.email)?{ok:!1,reason:"email_mismatch"}:typeof e.activated=="number"&&e.activated>0?{ok:!1,reason:"already_activated"}:e.secret_key?{ok:!0}:{ok:!1,reason:"no_key"}:{ok:!1,reason:"product_mismatch"}}async function y(r,e){await p.hydrateFreemiusEnvFromDb();const n=E.resolveFreemiusCheckoutCredentials(r.productId);if(!n.apiKey||!n.secretKey||!n.publicKey)return{error:"The license service is not configured for this product.",ok:!1,reason:"not_configured",status:503};const s=new _.Freemius({apiKey:n.apiKey,productId:Number(r.productId),publicKey:n.publicKey,secretKey:n.secretKey});let i=null,a=null;try{i=await s.api.license.retrieve(r.licenseId),i?.user_id!==null&&i?.user_id!==void 0&&(a=await s.api.user.retrieve(String(i.user_id)))}catch(f){return console.error("[Freemius License Claim] Freemius lookup failed:",f),{error:"Freemius could not be reached to verify the license.",ok:!1,reason:"upstream_error",status:502}}const t=d({license:i,maxAgeMinutes:e?.maxAgeMinutes,now:e?.now,request:r,user:a});return t.ok?{expiration:i?.expiration??null,licenseKey:String(i?.secret_key),ok:!0,planId:i?.plan_id!==null&&i?.plan_id!==void 0?String(i.plan_id):null}:{error:c,ok:!1,reason:t.reason,status:403}}exports.FREEMIUS_LICENSE_CLAIM_MAX_AGE_MINUTES=l;exports.FREEMIUS_LICENSE_CLAIM_REFUSED_MESSAGE=c;exports.claimFreemiusLicenseKey=y;exports.evaluateFreemiusLicenseClaim=d;exports.parseFreemiusTimestamp=m;
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Vendor-side license claim.
3
+ *
4
+ * The Freemius checkout overlay tells the buyer's browser only WHICH license was
5
+ * created (`purchase.license_id` / `trial.license_id`, the buyer's user id and email),
6
+ * never the key itself; the key is emailed, and the API only reveals it to the vendor.
7
+ * So a CMS that just sold itself a NextBlock package cannot activate on its own.
8
+ *
9
+ * This module runs on the vendor deployment (nextblock.dev): given the ids the buyer's
10
+ * CMS got back from the checkout, it looks the license up with the vendor's Freemius
11
+ * credentials, checks that the claim is plausible, and returns the key so the buyer's
12
+ * CMS can activate it immediately. Everything here is server code.
13
+ *
14
+ * Threat model: license ids and user ids are sequential and an email is guessable, so
15
+ * a claim is honoured only when ALL of these hold — the license was created minutes
16
+ * ago, it belongs to the product, to the claimed user, whose email matches, it is not
17
+ * cancelled, and it has never been activated (the buyer's own activation happens right
18
+ * after the claim, so a second claim for the same license is refused). Rejections are
19
+ * reported to the caller as one opaque message; the reason is logged server-side only.
20
+ */
21
+ export type FreemiusLicenseClaimRequest = {
22
+ /** Buyer email as reported by the checkout (`user.email`). */
23
+ email: string;
24
+ /** 'trial' when the checkout returned a `trial` object, 'purchase' otherwise. */
25
+ kind: 'purchase' | 'trial';
26
+ /** `purchase.license_id` or `trial.license_id` from the checkout response. */
27
+ licenseId: string;
28
+ /** Freemius product id the license must belong to. */
29
+ productId: string;
30
+ /** `user.id` from the checkout response. Required: it is the second factor of the claim. */
31
+ userId: string;
32
+ };
33
+ export type FreemiusLicenseRecordLike = {
34
+ activated?: number | null;
35
+ created?: string | null;
36
+ expiration?: string | null;
37
+ id?: string | number | null;
38
+ is_cancelled?: boolean | null;
39
+ plan_id?: string | number | null;
40
+ plugin_id?: string | number | null;
41
+ secret_key?: string | null;
42
+ user_id?: string | number | null;
43
+ };
44
+ export type FreemiusUserRecordLike = {
45
+ email?: string | null;
46
+ id?: string | number | null;
47
+ };
48
+ export type FreemiusLicenseClaimRejection = 'already_activated' | 'cancelled' | 'email_mismatch' | 'license_not_found' | 'no_key' | 'product_mismatch' | 'too_old' | 'user_mismatch';
49
+ export type FreemiusLicenseClaimDecision = {
50
+ ok: true;
51
+ } | {
52
+ ok: false;
53
+ reason: FreemiusLicenseClaimRejection;
54
+ };
55
+ /** A claim must follow the checkout closely; the callback fires within seconds. */
56
+ export declare const FREEMIUS_LICENSE_CLAIM_MAX_AGE_MINUTES = 20;
57
+ /** What every refused claim tells the caller, whatever the reason. */
58
+ export declare const FREEMIUS_LICENSE_CLAIM_REFUSED_MESSAGE = "This license cannot be claimed automatically. Use the key from your purchase email.";
59
+ /** Freemius timestamps are "YYYY-MM-DD HH:mm:ss" in UTC, without a zone marker. */
60
+ export declare function parseFreemiusTimestamp(value: string | null | undefined): number | null;
61
+ /**
62
+ * Pure decision: is this claim the buyer's own, fresh, never-activated license?
63
+ *
64
+ * The freshness window is checked before any identity comparison so the outcome never
65
+ * reveals whether an older license's owner or email matched.
66
+ */
67
+ export declare function evaluateFreemiusLicenseClaim(input: {
68
+ license: FreemiusLicenseRecordLike | null | undefined;
69
+ maxAgeMinutes?: number;
70
+ now?: Date;
71
+ request: FreemiusLicenseClaimRequest;
72
+ user: FreemiusUserRecordLike | null | undefined;
73
+ }): FreemiusLicenseClaimDecision;
74
+ export type FreemiusLicenseClaimResult = {
75
+ expiration: string | null;
76
+ licenseKey: string;
77
+ ok: true;
78
+ planId: string | null;
79
+ } | {
80
+ error: string;
81
+ ok: false;
82
+ /** Detailed cause, for logs only; the route never sends it to the caller. */
83
+ reason: FreemiusLicenseClaimRejection | 'not_configured' | 'upstream_error';
84
+ status: number;
85
+ };
86
+ /**
87
+ * Look the license up with the vendor credentials for `productId` and return its key
88
+ * when `evaluateFreemiusLicenseClaim` accepts the claim.
89
+ */
90
+ export declare function claimFreemiusLicenseKey(request: FreemiusLicenseClaimRequest, options?: {
91
+ maxAgeMinutes?: number;
92
+ now?: Date;
93
+ }): Promise<FreemiusLicenseClaimResult>;
@@ -0,0 +1,76 @@
1
+ import { Freemius as c } from "@freemius/sdk";
2
+ import { hydrateFreemiusEnvFromDb as m } from "./payment-config.es.js";
3
+ import { resolveFreemiusCheckoutCredentials as d } from "./providers/freemius.es.js";
4
+ const f = 20, p = "This license cannot be claimed automatically. Use the key from your purchase email.";
5
+ function _(r) {
6
+ if (!r || typeof r != "string")
7
+ return null;
8
+ const e = r.trim(), t = /(?:z|[+-]\d{2}:?\d{2})$/i.test(e) ? e : `${e.replace(" ", "T")}Z`, i = Date.parse(t);
9
+ return Number.isFinite(i) ? i : null;
10
+ }
11
+ function a(r, e) {
12
+ return r == null || e === null || e === void 0 ? !1 : String(r).trim() === String(e).trim();
13
+ }
14
+ function u(r) {
15
+ return (r ?? "").trim().toLowerCase();
16
+ }
17
+ function y(r) {
18
+ const { license: e, request: n, user: t } = r, i = r.maxAgeMinutes ?? f, o = (r.now ?? /* @__PURE__ */ new Date()).getTime();
19
+ if (!e || !a(e.id, n.licenseId))
20
+ return { ok: !1, reason: "license_not_found" };
21
+ const s = _(e.created);
22
+ return s === null || o - s > i * 6e4 || s - o > 5 * 6e4 ? { ok: !1, reason: "too_old" } : a(e.plugin_id, n.productId) ? e.is_cancelled ? { ok: !1, reason: "cancelled" } : !n.userId?.trim() || !a(e.user_id, n.userId) ? { ok: !1, reason: "user_mismatch" } : !t || !u(n.email) || u(t.email) !== u(n.email) ? { ok: !1, reason: "email_mismatch" } : typeof e.activated == "number" && e.activated > 0 ? { ok: !1, reason: "already_activated" } : e.secret_key ? { ok: !0 } : { ok: !1, reason: "no_key" } : { ok: !1, reason: "product_mismatch" };
23
+ }
24
+ async function F(r, e) {
25
+ await m();
26
+ const n = d(r.productId);
27
+ if (!n.apiKey || !n.secretKey || !n.publicKey)
28
+ return {
29
+ error: "The license service is not configured for this product.",
30
+ ok: !1,
31
+ reason: "not_configured",
32
+ status: 503
33
+ };
34
+ const t = new c({
35
+ apiKey: n.apiKey,
36
+ productId: Number(r.productId),
37
+ publicKey: n.publicKey,
38
+ secretKey: n.secretKey
39
+ });
40
+ let i = null, o = null;
41
+ try {
42
+ i = await t.api.license.retrieve(r.licenseId), i?.user_id !== null && i?.user_id !== void 0 && (o = await t.api.user.retrieve(String(i.user_id)));
43
+ } catch (l) {
44
+ return console.error("[Freemius License Claim] Freemius lookup failed:", l), {
45
+ error: "Freemius could not be reached to verify the license.",
46
+ ok: !1,
47
+ reason: "upstream_error",
48
+ status: 502
49
+ };
50
+ }
51
+ const s = y({
52
+ license: i,
53
+ maxAgeMinutes: e?.maxAgeMinutes,
54
+ now: e?.now,
55
+ request: r,
56
+ user: o
57
+ });
58
+ return s.ok ? {
59
+ expiration: i?.expiration ?? null,
60
+ licenseKey: String(i?.secret_key),
61
+ ok: !0,
62
+ planId: i?.plan_id !== null && i?.plan_id !== void 0 ? String(i.plan_id) : null
63
+ } : {
64
+ error: p,
65
+ ok: !1,
66
+ reason: s.reason,
67
+ status: 403
68
+ };
69
+ }
70
+ export {
71
+ f as FREEMIUS_LICENSE_CLAIM_MAX_AGE_MINUTES,
72
+ p as FREEMIUS_LICENSE_CLAIM_REFUSED_MESSAGE,
73
+ F as claimFreemiusLicenseKey,
74
+ y as evaluateFreemiusLicenseClaim,
75
+ _ as parseFreemiusTimestamp
76
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextblock-cms/ecom",
3
- "version": "0.17.6",
3
+ "version": "0.17.8",
4
4
  "license": "AGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -11,9 +11,9 @@
11
11
  },
12
12
  "type": "module",
13
13
  "dependencies": {
14
- "@nextblock-cms/db": "^0.17.6",
15
- "@nextblock-cms/ui": "^0.17.6",
16
- "@nextblock-cms/utils": "^0.17.6",
14
+ "@nextblock-cms/db": "^0.17.8",
15
+ "@nextblock-cms/ui": "^0.17.8",
16
+ "@nextblock-cms/utils": "^0.17.8",
17
17
  "@freemius/checkout": "^1.4.1",
18
18
  "@freemius/sdk": "^0.3.0",
19
19
  "@hookform/resolvers": "^5.2.2",
package/server.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./lib/payment-config.cjs.js"),v=require("./lib/stripe/client.cjs.js"),O=require("./lib/stripe/checkout.cjs.js"),R=require("./lib/stripe/order-sync.cjs.js"),A=require("./lib/stripe/webhooks.cjs.js"),T=require("./lib/order-inventory.cjs.js"),n=require("./lib/order-tax-details.cjs.js"),i=require("./lib/invoice.cjs.js"),l=require("./lib/invoice-server.cjs.js"),C=require("./lib/customer-orders.cjs.js"),P=require("./lib/coupon-server.cjs.js"),m=require("./lib/freemius-coupons.cjs.js"),g=require("./lib/customer.cjs.js"),p=require("./lib/customer-addresses.cjs.js"),e=require("./lib/currency.cjs.js"),E=require("./lib/currency-constants.cjs.js"),y=require("./lib/currency-sync.cjs.js"),q=require("./lib/product-schema.cjs.js"),r=require("./lib/product-actions.cjs.js"),D=require("./lib/factory.cjs.js"),b=require("./lib/providers/stripe.cjs.js"),c=require("./lib/providers/freemius.cjs.js"),a=require("./lib/freemius-order-sync.cjs.js"),I=require("./lib/freemius-license.cjs.js"),s=require("./lib/pages/cms/products/actions.cjs.js"),o=require("./lib/pages/cms/products/server-actions.cjs.js"),d=require("./lib/pages/cms/payments/queries.cjs.js"),f=require("./lib/pages/cms/orders/OrdersPage.cjs.js"),x=require("./lib/pages/cms/orders/OrderDetailPage.cjs.js"),k=require("./lib/pages/cms/orders/ExportReportsDialog.cjs.js"),M=require("./lib/pages/cms/orders/export-actions.cjs.js"),F=require("./lib/pages/cms/orders/actions.cjs.js"),N=require("./lib/pages/cms/products/ProductsPage.cjs.js"),L=require("./lib/pages/cms/products/inventory/InventoryPage.cjs.js"),z=require("./lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js"),_=require("./lib/pages/cms/products/new/NewProductPage.cjs.js"),U=require("./lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js"),W=require("./lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js"),G=require("./lib/pages/cms/products/categories/CategoryManagementPage.cjs.js"),w=require("./lib/pages/cms/payments/PaymentsPage.cjs.js"),h=require("./lib/pages/cms/payments/actions.cjs.js"),K=require("./lib/pages/cms/shipping/ShippingPage.cjs.js"),u=require("./lib/pages/cms/shipping/server-actions.cjs.js"),V=require("./lib/pages/cms/taxes/TaxesPage.cjs.js"),S=require("./lib/pages/cms/taxes/actions.cjs.js"),B=require("./lib/pages/cms/coupons/CouponsPage.cjs.js"),Y=require("./lib/pages/cms/coupons/EditCouponPage.cjs.js");exports.clearPaymentConfigCache=t.clearPaymentConfigCache;exports.getPaymentConfigStatus=t.getPaymentConfigStatus;exports.getPaymentCredentialsView=t.getPaymentCredentialsView;exports.hydrateFreemiusEnvFromDb=t.hydrateFreemiusEnvFromDb;exports.resolveStripePublishableKey=t.resolveStripePublishableKey;exports.resolveStripeSecretKey=t.resolveStripeSecretKey;exports.resolveStripeWebhookSecret=t.resolveStripeWebhookSecret;exports.savePaymentCredentials=t.savePaymentCredentials;exports.StripeNotConfiguredError=v.StripeNotConfiguredError;exports.getStripeClient=v.getStripeClient;exports.createCheckoutSession=O.createCheckoutSession;exports.syncStripeOrderFromSession=R.syncStripeOrderFromSession;exports.handleStripeWebhook=A.handleStripeWebhook;exports.applyOrderInventoryDeduction=T.applyOrderInventoryDeduction;exports.aggregateOrderTaxLines=n.aggregateOrderTaxLines;exports.buildOrderTaxDetailsFromCalculation=n.buildOrderTaxDetailsFromCalculation;exports.buildOrderTaxDetailsFromStripeSession=n.buildOrderTaxDetailsFromStripeSession;exports.getOrderTaxRateJurisdiction=n.getOrderTaxRateJurisdiction;exports.getOrderTaxRateLabel=n.getOrderTaxRateLabel;exports.getOrderTaxRatePercentage=n.getOrderTaxRatePercentage;exports.normalizeOrderTaxDetails=n.normalizeOrderTaxDetails;exports.DEFAULT_INVOICE_SETTINGS=i.DEFAULT_INVOICE_SETTINGS;exports.INVOICE_SETTINGS_KEY=i.INVOICE_SETTINGS_KEY;exports.formatInvoiceCurrency=i.formatInvoiceCurrency;exports.formatInvoiceDate=i.formatInvoiceDate;exports.getInvoiceAddressLines=i.getInvoiceAddressLines;exports.normalizeInvoiceSettings=i.normalizeInvoiceSettings;exports.serializeInvoiceSettings=i.serializeInvoiceSettings;exports.assignInvoiceMetadata=l.assignInvoiceMetadata;exports.getInvoiceBrandingData=l.getInvoiceBrandingData;exports.getInvoiceOrder=l.getInvoiceOrder;exports.getInvoicePresentationData=l.getInvoicePresentationData;exports.getCurrentCustomerOrder=C.getCurrentCustomerOrder;exports.getCurrentCustomerOrderInvoice=C.getCurrentCustomerOrderInvoice;exports.getCurrentCustomerOrders=C.getCurrentCustomerOrders;exports.getCouponQuote=P.getCouponQuote;exports.getQuoteLineDiscountMap=P.getQuoteLineDiscountMap;exports.recordCouponRedemption=P.recordCouponRedemption;exports.deleteCouponFromFreemius=m.deleteCouponFromFreemius;exports.syncCouponToFreemius=m.syncCouponToFreemius;exports.syncProductSaleCouponToFreemius=m.syncProductSaleCouponToFreemius;exports.addressesMatch=g.addressesMatch;exports.emptyCustomerAddress=g.emptyCustomerAddress;exports.isCustomerAddressComplete=g.isCustomerAddressComplete;exports.normalizeCustomerAddress=g.normalizeCustomerAddress;exports.normalizeOrderCustomerDetails=g.normalizeOrderCustomerDetails;exports.fillMissingUserProfileCheckoutDetails=p.fillMissingUserProfileCheckoutDetails;exports.getDefaultUserAddresses=p.getDefaultUserAddresses;exports.upsertDefaultUserAddresses=p.upsertDefaultUserAddresses;exports.CURRENCY_ROUNDING_MODES=e.CURRENCY_ROUNDING_MODES;exports.applyCurrencyRounding=e.applyCurrencyRounding;exports.convertMinorUnitAmount=e.convertMinorUnitAmount;exports.describeCurrencyRoundingRule=e.describeCurrencyRoundingRule;exports.getCurrencyLookup=e.getCurrencyLookup;exports.getDefaultCurrency=e.getDefaultCurrency;exports.getExchangeRateForCurrency=e.getExchangeRateForCurrency;exports.inferCurrencyCodeFromLocale=e.inferCurrencyCodeFromLocale;exports.isSaleWindowActive=e.isSaleWindowActive;exports.isScheduledPriceDue=e.isScheduledPriceDue;exports.normalizeCurrencyRecord=e.normalizeCurrencyRecord;exports.normalizeCurrencyRoundingMode=e.normalizeCurrencyRoundingMode;exports.normalizePriceMap=e.normalizePriceMap;exports.normalizeSalePriceMap=e.normalizeSalePriceMap;exports.resolveEffectivePriceForCurrency=e.resolveEffectivePriceForCurrency;exports.resolvePriceForCurrency=e.resolvePriceForCurrency;exports.resolvePriceRangeForCurrency=e.resolvePriceRangeForCurrency;exports.sortCurrencies=e.sortCurrencies;exports.CURRENCY_COOKIE_NAME=E.CURRENCY_COOKIE_NAME;exports.clearAutoSyncedCurrencyPriceOverrides=y.clearAutoSyncedCurrencyPriceOverrides;exports.rebaseStoreCurrencyExchangeRates=y.rebaseStoreCurrencyExchangeRates;exports.syncStoreCurrencyRates=y.syncStoreCurrencyRates;exports.productSchema=q.productSchema;exports.copyProductFromLanguage=r.copyProductFromLanguage;exports.createProduct=r.createProduct;exports.deleteProduct=r.deleteProduct;exports.fetchTranslatedProductsForCartInternal=r.fetchTranslatedProductsForCartInternal;exports.getProduct=r.getProduct;exports.getProductBySlug=r.getProductBySlug;exports.getProducts=r.getProducts;exports.syncCategoriesForTranslationGroup=r.syncCategoriesForTranslationGroup;exports.updateProduct=r.updateProduct;exports.getPaymentProvider=D.getPaymentProvider;exports.StripeProvider=b.StripeProvider;exports.FreemiusProvider=c.FreemiusProvider;exports.parseFreemiusCheckoutCredentialsMap=c.parseFreemiusCheckoutCredentialsMap;exports.readFreemiusEnvValue=c.readFreemiusEnvValue;exports.resolveFreemiusCheckoutCredentials=c.resolveFreemiusCheckoutCredentials;exports.syncFreemiusProductsToSupabase=c.syncFreemiusProductsToSupabase;exports.syncSingleFreemiusProduct=c.syncSingleFreemiusProduct;exports.extractFreemiusCheckoutMetadata=a.extractFreemiusCheckoutMetadata;exports.getFreemiusWebhookSecretCandidates=a.getFreemiusWebhookSecretCandidates;exports.resolveFreemiusStatusFromCheckoutResponse=a.resolveFreemiusStatusFromCheckoutResponse;exports.resolveFreemiusStatusFromWebhookEvent=a.resolveFreemiusStatusFromWebhookEvent;exports.syncFreemiusCheckoutOrder=a.syncFreemiusCheckoutOrder;exports.syncFreemiusOrderFromWebhookEvent=a.syncFreemiusOrderFromWebhookEvent;exports.verifyFreemiusWebhookSignature=a.verifyFreemiusWebhookSignature;exports.getFreemiusOrderLicense=I.getFreemiusOrderLicense;exports.getCategoriesWithCount=s.getCategoriesWithCount;exports.getCategoryBySlug=s.getCategoryBySlug;exports.getCmsProduct=s.getProduct;exports.getCmsProducts=s.getProducts;exports.getGlobalProductAttributes=s.getGlobalProductAttributes;exports.getProductCategories=s.getProductCategories;exports.getProductTranslations=s.getProductTranslations;exports.createCategoryAction=o.createCategoryAction;exports.createProductAction=o.createProductAction;exports.deleteCategoryAction=o.deleteCategoryAction;exports.deleteProductAction=o.deleteProductAction;exports.publishProductAction=o.publishProductAction;exports.syncProductCategoriesAction=o.syncProductCategoriesAction;exports.updateCategoryAction=o.updateCategoryAction;exports.updateProductAction=o.updateProductAction;exports.getEnabledPaymentProviders=d.getEnabledPaymentProviders;exports.getPaymentSettings=d.getPaymentSettings;exports.getProviderReadiness=d.getProviderReadiness;exports.getReadinessForProductType=d.getReadinessForProductType;exports.getStoreConfigStatus=d.getStoreConfigStatus;exports.getStoreReadiness=d.getStoreReadiness;exports.OrdersPage=f.OrdersPage;exports.OrderDetailPage=x.OrderDetailPage;exports.ExportReportsDialog=k.ExportReportsDialog;exports.fetchOrderReportData=M.fetchOrderReportData;exports.getOrderDetails=F.getOrderDetails;exports.getOrders=F.getOrders;exports.ProductsPage=N.ProductsPage;exports.InventoryPage=L.InventoryPage;exports.AttributeManagementPage=z.AttributeManagementPage;exports.NewProductPage=_.NewProductPage;exports.EditProductPage=U.EditProductPage;exports.CopyProductFromLanguage=W.CopyProductFromLanguage;exports.CategoryManagementPage=G.CategoryManagementPage;exports.PaymentsPage=w.PaymentsPage;exports.savePaymentProviderCredentials=h.savePaymentProviderCredentials;exports.updatePaymentSettings=h.updatePaymentSettings;exports.ShippingPage=K.ShippingPage;exports.createShippingRate=u.createShippingRate;exports.createShippingZone=u.createShippingZone;exports.deleteShippingRate=u.deleteShippingRate;exports.deleteShippingZone=u.deleteShippingZone;exports.updateInventoryTrackingAction=u.updateInventoryTrackingAction;exports.updateShippingRate=u.updateShippingRate;exports.updateShippingZone=u.updateShippingZone;exports.TaxesPage=V.TaxesPage;exports.deleteTaxRateAction=S.deleteTaxRateAction;exports.saveTaxRateAction=S.saveTaxRateAction;exports.updateTaxSettingsAction=S.updateTaxSettingsAction;exports.CouponsPage=B.CouponsPage;exports.EditCouponPage=Y.EditCouponPage;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./lib/payment-config.cjs.js"),F=require("./lib/stripe/client.cjs.js"),A=require("./lib/stripe/checkout.cjs.js"),R=require("./lib/stripe/order-sync.cjs.js"),O=require("./lib/stripe/webhooks.cjs.js"),I=require("./lib/order-inventory.cjs.js"),i=require("./lib/order-tax-details.cjs.js"),n=require("./lib/invoice.cjs.js"),C=require("./lib/invoice-server.cjs.js"),m=require("./lib/customer-orders.cjs.js"),P=require("./lib/coupon-server.cjs.js"),p=require("./lib/freemius-coupons.cjs.js"),g=require("./lib/freemius-license-claim.cjs.js"),l=require("./lib/customer.cjs.js"),y=require("./lib/customer-addresses.cjs.js"),e=require("./lib/currency.cjs.js"),T=require("./lib/currency-constants.cjs.js"),S=require("./lib/currency-sync.cjs.js"),q=require("./lib/product-schema.cjs.js"),r=require("./lib/product-actions.cjs.js"),D=require("./lib/factory.cjs.js"),b=require("./lib/providers/stripe.cjs.js"),c=require("./lib/providers/freemius.cjs.js"),a=require("./lib/freemius-order-sync.cjs.js"),M=require("./lib/freemius-license.cjs.js"),s=require("./lib/pages/cms/products/actions.cjs.js"),o=require("./lib/pages/cms/products/server-actions.cjs.js"),d=require("./lib/pages/cms/payments/queries.cjs.js"),f=require("./lib/pages/cms/orders/OrdersPage.cjs.js"),_=require("./lib/pages/cms/orders/OrderDetailPage.cjs.js"),L=require("./lib/pages/cms/orders/ExportReportsDialog.cjs.js"),x=require("./lib/pages/cms/orders/export-actions.cjs.js"),E=require("./lib/pages/cms/orders/actions.cjs.js"),k=require("./lib/pages/cms/products/ProductsPage.cjs.js"),N=require("./lib/pages/cms/products/inventory/InventoryPage.cjs.js"),U=require("./lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js"),z=require("./lib/pages/cms/products/new/NewProductPage.cjs.js"),W=require("./lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js"),G=require("./lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js"),K=require("./lib/pages/cms/products/categories/CategoryManagementPage.cjs.js"),w=require("./lib/pages/cms/payments/PaymentsPage.cjs.js"),h=require("./lib/pages/cms/payments/actions.cjs.js"),V=require("./lib/pages/cms/shipping/ShippingPage.cjs.js"),u=require("./lib/pages/cms/shipping/server-actions.cjs.js"),B=require("./lib/pages/cms/taxes/TaxesPage.cjs.js"),v=require("./lib/pages/cms/taxes/actions.cjs.js"),Y=require("./lib/pages/cms/coupons/CouponsPage.cjs.js"),Z=require("./lib/pages/cms/coupons/EditCouponPage.cjs.js");exports.clearPaymentConfigCache=t.clearPaymentConfigCache;exports.getPaymentConfigStatus=t.getPaymentConfigStatus;exports.getPaymentCredentialsView=t.getPaymentCredentialsView;exports.hydrateFreemiusEnvFromDb=t.hydrateFreemiusEnvFromDb;exports.resolveStripePublishableKey=t.resolveStripePublishableKey;exports.resolveStripeSecretKey=t.resolveStripeSecretKey;exports.resolveStripeWebhookSecret=t.resolveStripeWebhookSecret;exports.savePaymentCredentials=t.savePaymentCredentials;exports.StripeNotConfiguredError=F.StripeNotConfiguredError;exports.getStripeClient=F.getStripeClient;exports.createCheckoutSession=A.createCheckoutSession;exports.syncStripeOrderFromSession=R.syncStripeOrderFromSession;exports.handleStripeWebhook=O.handleStripeWebhook;exports.applyOrderInventoryDeduction=I.applyOrderInventoryDeduction;exports.aggregateOrderTaxLines=i.aggregateOrderTaxLines;exports.buildOrderTaxDetailsFromCalculation=i.buildOrderTaxDetailsFromCalculation;exports.buildOrderTaxDetailsFromStripeSession=i.buildOrderTaxDetailsFromStripeSession;exports.getOrderTaxRateJurisdiction=i.getOrderTaxRateJurisdiction;exports.getOrderTaxRateLabel=i.getOrderTaxRateLabel;exports.getOrderTaxRatePercentage=i.getOrderTaxRatePercentage;exports.normalizeOrderTaxDetails=i.normalizeOrderTaxDetails;exports.DEFAULT_INVOICE_SETTINGS=n.DEFAULT_INVOICE_SETTINGS;exports.INVOICE_SETTINGS_KEY=n.INVOICE_SETTINGS_KEY;exports.formatInvoiceCurrency=n.formatInvoiceCurrency;exports.formatInvoiceDate=n.formatInvoiceDate;exports.getInvoiceAddressLines=n.getInvoiceAddressLines;exports.normalizeInvoiceSettings=n.normalizeInvoiceSettings;exports.serializeInvoiceSettings=n.serializeInvoiceSettings;exports.assignInvoiceMetadata=C.assignInvoiceMetadata;exports.getInvoiceBrandingData=C.getInvoiceBrandingData;exports.getInvoiceOrder=C.getInvoiceOrder;exports.getInvoicePresentationData=C.getInvoicePresentationData;exports.getCurrentCustomerOrder=m.getCurrentCustomerOrder;exports.getCurrentCustomerOrderInvoice=m.getCurrentCustomerOrderInvoice;exports.getCurrentCustomerOrders=m.getCurrentCustomerOrders;exports.getCouponQuote=P.getCouponQuote;exports.getQuoteLineDiscountMap=P.getQuoteLineDiscountMap;exports.recordCouponRedemption=P.recordCouponRedemption;exports.deleteCouponFromFreemius=p.deleteCouponFromFreemius;exports.syncCouponToFreemius=p.syncCouponToFreemius;exports.syncProductSaleCouponToFreemius=p.syncProductSaleCouponToFreemius;exports.FREEMIUS_LICENSE_CLAIM_MAX_AGE_MINUTES=g.FREEMIUS_LICENSE_CLAIM_MAX_AGE_MINUTES;exports.FREEMIUS_LICENSE_CLAIM_REFUSED_MESSAGE=g.FREEMIUS_LICENSE_CLAIM_REFUSED_MESSAGE;exports.claimFreemiusLicenseKey=g.claimFreemiusLicenseKey;exports.evaluateFreemiusLicenseClaim=g.evaluateFreemiusLicenseClaim;exports.parseFreemiusTimestamp=g.parseFreemiusTimestamp;exports.addressesMatch=l.addressesMatch;exports.emptyCustomerAddress=l.emptyCustomerAddress;exports.isCustomerAddressComplete=l.isCustomerAddressComplete;exports.normalizeCustomerAddress=l.normalizeCustomerAddress;exports.normalizeOrderCustomerDetails=l.normalizeOrderCustomerDetails;exports.fillMissingUserProfileCheckoutDetails=y.fillMissingUserProfileCheckoutDetails;exports.getDefaultUserAddresses=y.getDefaultUserAddresses;exports.upsertDefaultUserAddresses=y.upsertDefaultUserAddresses;exports.CURRENCY_ROUNDING_MODES=e.CURRENCY_ROUNDING_MODES;exports.applyCurrencyRounding=e.applyCurrencyRounding;exports.convertMinorUnitAmount=e.convertMinorUnitAmount;exports.describeCurrencyRoundingRule=e.describeCurrencyRoundingRule;exports.getCurrencyLookup=e.getCurrencyLookup;exports.getDefaultCurrency=e.getDefaultCurrency;exports.getExchangeRateForCurrency=e.getExchangeRateForCurrency;exports.inferCurrencyCodeFromLocale=e.inferCurrencyCodeFromLocale;exports.isSaleWindowActive=e.isSaleWindowActive;exports.isScheduledPriceDue=e.isScheduledPriceDue;exports.normalizeCurrencyRecord=e.normalizeCurrencyRecord;exports.normalizeCurrencyRoundingMode=e.normalizeCurrencyRoundingMode;exports.normalizePriceMap=e.normalizePriceMap;exports.normalizeSalePriceMap=e.normalizeSalePriceMap;exports.resolveEffectivePriceForCurrency=e.resolveEffectivePriceForCurrency;exports.resolvePriceForCurrency=e.resolvePriceForCurrency;exports.resolvePriceRangeForCurrency=e.resolvePriceRangeForCurrency;exports.sortCurrencies=e.sortCurrencies;exports.CURRENCY_COOKIE_NAME=T.CURRENCY_COOKIE_NAME;exports.clearAutoSyncedCurrencyPriceOverrides=S.clearAutoSyncedCurrencyPriceOverrides;exports.rebaseStoreCurrencyExchangeRates=S.rebaseStoreCurrencyExchangeRates;exports.syncStoreCurrencyRates=S.syncStoreCurrencyRates;exports.productSchema=q.productSchema;exports.copyProductFromLanguage=r.copyProductFromLanguage;exports.createProduct=r.createProduct;exports.deleteProduct=r.deleteProduct;exports.fetchTranslatedProductsForCartInternal=r.fetchTranslatedProductsForCartInternal;exports.getProduct=r.getProduct;exports.getProductBySlug=r.getProductBySlug;exports.getProducts=r.getProducts;exports.syncCategoriesForTranslationGroup=r.syncCategoriesForTranslationGroup;exports.updateProduct=r.updateProduct;exports.getPaymentProvider=D.getPaymentProvider;exports.StripeProvider=b.StripeProvider;exports.FreemiusProvider=c.FreemiusProvider;exports.parseFreemiusCheckoutCredentialsMap=c.parseFreemiusCheckoutCredentialsMap;exports.readFreemiusEnvValue=c.readFreemiusEnvValue;exports.resolveFreemiusCheckoutCredentials=c.resolveFreemiusCheckoutCredentials;exports.syncFreemiusProductsToSupabase=c.syncFreemiusProductsToSupabase;exports.syncSingleFreemiusProduct=c.syncSingleFreemiusProduct;exports.extractFreemiusCheckoutMetadata=a.extractFreemiusCheckoutMetadata;exports.getFreemiusWebhookSecretCandidates=a.getFreemiusWebhookSecretCandidates;exports.resolveFreemiusStatusFromCheckoutResponse=a.resolveFreemiusStatusFromCheckoutResponse;exports.resolveFreemiusStatusFromWebhookEvent=a.resolveFreemiusStatusFromWebhookEvent;exports.syncFreemiusCheckoutOrder=a.syncFreemiusCheckoutOrder;exports.syncFreemiusOrderFromWebhookEvent=a.syncFreemiusOrderFromWebhookEvent;exports.verifyFreemiusWebhookSignature=a.verifyFreemiusWebhookSignature;exports.getFreemiusOrderLicense=M.getFreemiusOrderLicense;exports.getCategoriesWithCount=s.getCategoriesWithCount;exports.getCategoryBySlug=s.getCategoryBySlug;exports.getCmsProduct=s.getProduct;exports.getCmsProducts=s.getProducts;exports.getGlobalProductAttributes=s.getGlobalProductAttributes;exports.getProductCategories=s.getProductCategories;exports.getProductTranslations=s.getProductTranslations;exports.createCategoryAction=o.createCategoryAction;exports.createProductAction=o.createProductAction;exports.deleteCategoryAction=o.deleteCategoryAction;exports.deleteProductAction=o.deleteProductAction;exports.publishProductAction=o.publishProductAction;exports.syncProductCategoriesAction=o.syncProductCategoriesAction;exports.updateCategoryAction=o.updateCategoryAction;exports.updateProductAction=o.updateProductAction;exports.getEnabledPaymentProviders=d.getEnabledPaymentProviders;exports.getPaymentSettings=d.getPaymentSettings;exports.getProviderReadiness=d.getProviderReadiness;exports.getReadinessForProductType=d.getReadinessForProductType;exports.getStoreConfigStatus=d.getStoreConfigStatus;exports.getStoreReadiness=d.getStoreReadiness;exports.OrdersPage=f.OrdersPage;exports.OrderDetailPage=_.OrderDetailPage;exports.ExportReportsDialog=L.ExportReportsDialog;exports.fetchOrderReportData=x.fetchOrderReportData;exports.getOrderDetails=E.getOrderDetails;exports.getOrders=E.getOrders;exports.ProductsPage=k.ProductsPage;exports.InventoryPage=N.InventoryPage;exports.AttributeManagementPage=U.AttributeManagementPage;exports.NewProductPage=z.NewProductPage;exports.EditProductPage=W.EditProductPage;exports.CopyProductFromLanguage=G.CopyProductFromLanguage;exports.CategoryManagementPage=K.CategoryManagementPage;exports.PaymentsPage=w.PaymentsPage;exports.savePaymentProviderCredentials=h.savePaymentProviderCredentials;exports.updatePaymentSettings=h.updatePaymentSettings;exports.ShippingPage=V.ShippingPage;exports.createShippingRate=u.createShippingRate;exports.createShippingZone=u.createShippingZone;exports.deleteShippingRate=u.deleteShippingRate;exports.deleteShippingZone=u.deleteShippingZone;exports.updateInventoryTrackingAction=u.updateInventoryTrackingAction;exports.updateShippingRate=u.updateShippingRate;exports.updateShippingZone=u.updateShippingZone;exports.TaxesPage=B.TaxesPage;exports.deleteTaxRateAction=v.deleteTaxRateAction;exports.saveTaxRateAction=v.saveTaxRateAction;exports.updateTaxSettingsAction=v.updateTaxSettingsAction;exports.CouponsPage=Y.CouponsPage;exports.EditCouponPage=Z.EditCouponPage;
package/server.d.ts CHANGED
@@ -10,6 +10,7 @@ export * from './lib/invoice-server';
10
10
  export * from './lib/customer-orders';
11
11
  export * from './lib/coupon-server';
12
12
  export * from './lib/freemius-coupons';
13
+ export * from './lib/freemius-license-claim';
13
14
  export * from './lib/customer';
14
15
  export * from './lib/customer-addresses';
15
16
  export * from './lib/currency';
package/server.es.js CHANGED
@@ -1,197 +1,203 @@
1
- import { clearPaymentConfigCache as t, getPaymentConfigStatus as o, getPaymentCredentialsView as a, hydrateFreemiusEnvFromDb as n, resolveStripePublishableKey as i, resolveStripeSecretKey as s, resolveStripeWebhookSecret as u, savePaymentCredentials as c } from "./lib/payment-config.es.js";
1
+ import { clearPaymentConfigCache as t, getPaymentConfigStatus as o, getPaymentCredentialsView as a, hydrateFreemiusEnvFromDb as i, resolveStripePublishableKey as n, resolveStripeSecretKey as s, resolveStripeWebhookSecret as u, savePaymentCredentials as c } from "./lib/payment-config.es.js";
2
2
  import { StripeNotConfiguredError as m, getStripeClient as p } from "./lib/stripe/client.es.js";
3
- import { createCheckoutSession as l } from "./lib/stripe/checkout.es.js";
3
+ import { createCheckoutSession as C } from "./lib/stripe/checkout.es.js";
4
4
  import { syncStripeOrderFromSession as P } from "./lib/stripe/order-sync.es.js";
5
5
  import { handleStripeWebhook as x } from "./lib/stripe/webhooks.es.js";
6
- import { applyOrderInventoryDeduction as S } from "./lib/order-inventory.es.js";
7
- import { aggregateOrderTaxLines as F, buildOrderTaxDetailsFromCalculation as h, buildOrderTaxDetailsFromStripeSession as O, getOrderTaxRateJurisdiction as R, getOrderTaxRateLabel as A, getOrderTaxRatePercentage as T, normalizeOrderTaxDetails as E } from "./lib/order-tax-details.es.js";
8
- import { DEFAULT_INVOICE_SETTINGS as I, INVOICE_SETTINGS_KEY as b, formatInvoiceCurrency as k, formatInvoiceDate as M, getInvoiceAddressLines as N, normalizeInvoiceSettings as L, serializeInvoiceSettings as z } from "./lib/invoice.es.js";
9
- import { assignInvoiceMetadata as W, getInvoiceBrandingData as _, getInvoiceOrder as G, getInvoicePresentationData as K } from "./lib/invoice-server.es.js";
6
+ import { applyOrderInventoryDeduction as y } from "./lib/order-inventory.es.js";
7
+ import { aggregateOrderTaxLines as v, buildOrderTaxDetailsFromCalculation as E, buildOrderTaxDetailsFromStripeSession as h, getOrderTaxRateJurisdiction as R, getOrderTaxRateLabel as A, getOrderTaxRatePercentage as I, normalizeOrderTaxDetails as O } from "./lib/order-tax-details.es.js";
8
+ import { DEFAULT_INVOICE_SETTINGS as D, INVOICE_SETTINGS_KEY as M, formatInvoiceCurrency as b, formatInvoiceDate as _, getInvoiceAddressLines as L, normalizeInvoiceSettings as k, serializeInvoiceSettings as N } from "./lib/invoice.es.js";
9
+ import { assignInvoiceMetadata as z, getInvoiceBrandingData as W, getInvoiceOrder as G, getInvoicePresentationData as K } from "./lib/invoice-server.es.js";
10
10
  import { getCurrentCustomerOrder as w, getCurrentCustomerOrderInvoice as B, getCurrentCustomerOrders as Y } from "./lib/customer-orders.es.js";
11
- import { getCouponQuote as Q, getQuoteLineDiscountMap as J, recordCouponRedemption as j } from "./lib/coupon-server.es.js";
12
- import { deleteCouponFromFreemius as H, syncCouponToFreemius as X, syncProductSaleCouponToFreemius as $ } from "./lib/freemius-coupons.es.js";
13
- import { addressesMatch as re, emptyCustomerAddress as te, isCustomerAddressComplete as oe, normalizeCustomerAddress as ae, normalizeOrderCustomerDetails as ne } from "./lib/customer.es.js";
14
- import { fillMissingUserProfileCheckoutDetails as se, getDefaultUserAddresses as ue, upsertDefaultUserAddresses as ce } from "./lib/customer-addresses.es.js";
15
- import { CURRENCY_ROUNDING_MODES as me, applyCurrencyRounding as pe, convertMinorUnitAmount as ge, describeCurrencyRoundingRule as le, getCurrencyLookup as Ce, getDefaultCurrency as Pe, getExchangeRateForCurrency as fe, inferCurrencyCodeFromLocale as xe, isSaleWindowActive as ye, isScheduledPriceDue as Se, normalizeCurrencyRecord as ve, normalizeCurrencyRoundingMode as Fe, normalizePriceMap as he, normalizeSalePriceMap as Oe, resolveEffectivePriceForCurrency as Re, resolvePriceForCurrency as Ae, resolvePriceRangeForCurrency as Te, sortCurrencies as Ee } from "./lib/currency.es.js";
16
- import { CURRENCY_COOKIE_NAME as Ie } from "./lib/currency-constants.es.js";
17
- import { clearAutoSyncedCurrencyPriceOverrides as ke, rebaseStoreCurrencyExchangeRates as Me, syncStoreCurrencyRates as Ne } from "./lib/currency-sync.es.js";
18
- import { productSchema as ze } from "./lib/product-schema.es.js";
19
- import { copyProductFromLanguage as We, createProduct as _e, deleteProduct as Ge, fetchTranslatedProductsForCartInternal as Ke, getProduct as Ve, getProductBySlug as we, getProducts as Be, syncCategoriesForTranslationGroup as Ye, updateProduct as Ze } from "./lib/product-actions.es.js";
20
- import { getPaymentProvider as Je } from "./lib/factory.es.js";
21
- import { StripeProvider as qe } from "./lib/providers/stripe.es.js";
22
- import { FreemiusProvider as Xe, parseFreemiusCheckoutCredentialsMap as $e, readFreemiusEnvValue as er, resolveFreemiusCheckoutCredentials as rr, syncFreemiusProductsToSupabase as tr, syncSingleFreemiusProduct as or } from "./lib/providers/freemius.es.js";
23
- import { extractFreemiusCheckoutMetadata as nr, getFreemiusWebhookSecretCandidates as ir, resolveFreemiusStatusFromCheckoutResponse as sr, resolveFreemiusStatusFromWebhookEvent as ur, syncFreemiusCheckoutOrder as cr, syncFreemiusOrderFromWebhookEvent as dr, verifyFreemiusWebhookSignature as mr } from "./lib/freemius-order-sync.es.js";
24
- import { getFreemiusOrderLicense as gr } from "./lib/freemius-license.es.js";
25
- import { getCategoriesWithCount as Cr, getCategoryBySlug as Pr, getProduct as fr, getProducts as xr, getGlobalProductAttributes as yr, getProductCategories as Sr, getProductTranslations as vr } from "./lib/pages/cms/products/actions.es.js";
26
- import { createCategoryAction as hr, createProductAction as Or, deleteCategoryAction as Rr, deleteProductAction as Ar, publishProductAction as Tr, syncProductCategoriesAction as Er, updateCategoryAction as Dr, updateProductAction as Ir } from "./lib/pages/cms/products/server-actions.es.js";
27
- import { getEnabledPaymentProviders as kr, getPaymentSettings as Mr, getProviderReadiness as Nr, getReadinessForProductType as Lr, getStoreConfigStatus as zr, getStoreReadiness as Ur } from "./lib/pages/cms/payments/queries.es.js";
28
- import { OrdersPage as _r } from "./lib/pages/cms/orders/OrdersPage.es.js";
29
- import { OrderDetailPage as Kr } from "./lib/pages/cms/orders/OrderDetailPage.es.js";
30
- import { ExportReportsDialog as wr } from "./lib/pages/cms/orders/ExportReportsDialog.es.js";
31
- import { fetchOrderReportData as Yr } from "./lib/pages/cms/orders/export-actions.es.js";
32
- import { getOrderDetails as Qr, getOrders as Jr } from "./lib/pages/cms/orders/actions.es.js";
33
- import { ProductsPage as qr } from "./lib/pages/cms/products/ProductsPage.es.js";
34
- import { InventoryPage as Xr } from "./lib/pages/cms/products/inventory/InventoryPage.es.js";
35
- import { AttributeManagementPage as et } from "./lib/pages/cms/products/attributes/AttributeManagementPage.es.js";
36
- import { NewProductPage as tt } from "./lib/pages/cms/products/new/NewProductPage.es.js";
37
- import { EditProductPage as at } from "./lib/pages/cms/products/_id_/edit/EditProductPage.es.js";
38
- import { CopyProductFromLanguage as it } from "./lib/pages/cms/products/components/CopyProductFromLanguage.es.js";
39
- import { CategoryManagementPage as ut } from "./lib/pages/cms/products/categories/CategoryManagementPage.es.js";
40
- import { PaymentsPage as dt } from "./lib/pages/cms/payments/PaymentsPage.es.js";
41
- import { savePaymentProviderCredentials as pt, updatePaymentSettings as gt } from "./lib/pages/cms/payments/actions.es.js";
42
- import { ShippingPage as Ct } from "./lib/pages/cms/shipping/ShippingPage.es.js";
43
- import { createShippingRate as ft, createShippingZone as xt, deleteShippingRate as yt, deleteShippingZone as St, updateInventoryTrackingAction as vt, updateShippingRate as Ft, updateShippingZone as ht } from "./lib/pages/cms/shipping/server-actions.es.js";
44
- import { TaxesPage as Rt } from "./lib/pages/cms/taxes/TaxesPage.es.js";
45
- import { deleteTaxRateAction as Tt, saveTaxRateAction as Et, updateTaxSettingsAction as Dt } from "./lib/pages/cms/taxes/actions.es.js";
46
- import { CouponsPage as bt } from "./lib/pages/cms/coupons/CouponsPage.es.js";
47
- import { EditCouponPage as Mt } from "./lib/pages/cms/coupons/EditCouponPage.es.js";
11
+ import { getCouponQuote as Q, getQuoteLineDiscountMap as J, recordCouponRedemption as X } from "./lib/coupon-server.es.js";
12
+ import { deleteCouponFromFreemius as q, syncCouponToFreemius as H, syncProductSaleCouponToFreemius as $ } from "./lib/freemius-coupons.es.js";
13
+ import { FREEMIUS_LICENSE_CLAIM_MAX_AGE_MINUTES as re, FREEMIUS_LICENSE_CLAIM_REFUSED_MESSAGE as te, claimFreemiusLicenseKey as oe, evaluateFreemiusLicenseClaim as ae, parseFreemiusTimestamp as ie } from "./lib/freemius-license-claim.es.js";
14
+ import { addressesMatch as se, emptyCustomerAddress as ue, isCustomerAddressComplete as ce, normalizeCustomerAddress as de, normalizeOrderCustomerDetails as me } from "./lib/customer.es.js";
15
+ import { fillMissingUserProfileCheckoutDetails as ge, getDefaultUserAddresses as Ce, upsertDefaultUserAddresses as le } from "./lib/customer-addresses.es.js";
16
+ import { CURRENCY_ROUNDING_MODES as fe, applyCurrencyRounding as xe, convertMinorUnitAmount as Se, describeCurrencyRoundingRule as ye, getCurrencyLookup as Fe, getDefaultCurrency as ve, getExchangeRateForCurrency as Ee, inferCurrencyCodeFromLocale as he, isSaleWindowActive as Re, isScheduledPriceDue as Ae, normalizeCurrencyRecord as Ie, normalizeCurrencyRoundingMode as Oe, normalizePriceMap as Te, normalizeSalePriceMap as De, resolveEffectivePriceForCurrency as Me, resolvePriceForCurrency as be, resolvePriceRangeForCurrency as _e, sortCurrencies as Le } from "./lib/currency.es.js";
17
+ import { CURRENCY_COOKIE_NAME as Ne } from "./lib/currency-constants.es.js";
18
+ import { clearAutoSyncedCurrencyPriceOverrides as ze, rebaseStoreCurrencyExchangeRates as We, syncStoreCurrencyRates as Ge } from "./lib/currency-sync.es.js";
19
+ import { productSchema as Ve } from "./lib/product-schema.es.js";
20
+ import { copyProductFromLanguage as Be, createProduct as Ye, deleteProduct as Ze, fetchTranslatedProductsForCartInternal as Qe, getProduct as Je, getProductBySlug as Xe, getProducts as je, syncCategoriesForTranslationGroup as qe, updateProduct as He } from "./lib/product-actions.es.js";
21
+ import { getPaymentProvider as er } from "./lib/factory.es.js";
22
+ import { StripeProvider as tr } from "./lib/providers/stripe.es.js";
23
+ import { FreemiusProvider as ar, parseFreemiusCheckoutCredentialsMap as ir, readFreemiusEnvValue as nr, resolveFreemiusCheckoutCredentials as sr, syncFreemiusProductsToSupabase as ur, syncSingleFreemiusProduct as cr } from "./lib/providers/freemius.es.js";
24
+ import { extractFreemiusCheckoutMetadata as mr, getFreemiusWebhookSecretCandidates as pr, resolveFreemiusStatusFromCheckoutResponse as gr, resolveFreemiusStatusFromWebhookEvent as Cr, syncFreemiusCheckoutOrder as lr, syncFreemiusOrderFromWebhookEvent as Pr, verifyFreemiusWebhookSignature as fr } from "./lib/freemius-order-sync.es.js";
25
+ import { getFreemiusOrderLicense as Sr } from "./lib/freemius-license.es.js";
26
+ import { getCategoriesWithCount as Fr, getCategoryBySlug as vr, getProduct as Er, getProducts as hr, getGlobalProductAttributes as Rr, getProductCategories as Ar, getProductTranslations as Ir } from "./lib/pages/cms/products/actions.es.js";
27
+ import { createCategoryAction as Tr, createProductAction as Dr, deleteCategoryAction as Mr, deleteProductAction as br, publishProductAction as _r, syncProductCategoriesAction as Lr, updateCategoryAction as kr, updateProductAction as Nr } from "./lib/pages/cms/products/server-actions.es.js";
28
+ import { getEnabledPaymentProviders as zr, getPaymentSettings as Wr, getProviderReadiness as Gr, getReadinessForProductType as Kr, getStoreConfigStatus as Vr, getStoreReadiness as wr } from "./lib/pages/cms/payments/queries.es.js";
29
+ import { OrdersPage as Yr } from "./lib/pages/cms/orders/OrdersPage.es.js";
30
+ import { OrderDetailPage as Qr } from "./lib/pages/cms/orders/OrderDetailPage.es.js";
31
+ import { ExportReportsDialog as Xr } from "./lib/pages/cms/orders/ExportReportsDialog.es.js";
32
+ import { fetchOrderReportData as qr } from "./lib/pages/cms/orders/export-actions.es.js";
33
+ import { getOrderDetails as $r, getOrders as et } from "./lib/pages/cms/orders/actions.es.js";
34
+ import { ProductsPage as tt } from "./lib/pages/cms/products/ProductsPage.es.js";
35
+ import { InventoryPage as at } from "./lib/pages/cms/products/inventory/InventoryPage.es.js";
36
+ import { AttributeManagementPage as nt } from "./lib/pages/cms/products/attributes/AttributeManagementPage.es.js";
37
+ import { NewProductPage as ut } from "./lib/pages/cms/products/new/NewProductPage.es.js";
38
+ import { EditProductPage as dt } from "./lib/pages/cms/products/_id_/edit/EditProductPage.es.js";
39
+ import { CopyProductFromLanguage as pt } from "./lib/pages/cms/products/components/CopyProductFromLanguage.es.js";
40
+ import { CategoryManagementPage as Ct } from "./lib/pages/cms/products/categories/CategoryManagementPage.es.js";
41
+ import { PaymentsPage as Pt } from "./lib/pages/cms/payments/PaymentsPage.es.js";
42
+ import { savePaymentProviderCredentials as xt, updatePaymentSettings as St } from "./lib/pages/cms/payments/actions.es.js";
43
+ import { ShippingPage as Ft } from "./lib/pages/cms/shipping/ShippingPage.es.js";
44
+ import { createShippingRate as Et, createShippingZone as ht, deleteShippingRate as Rt, deleteShippingZone as At, updateInventoryTrackingAction as It, updateShippingRate as Ot, updateShippingZone as Tt } from "./lib/pages/cms/shipping/server-actions.es.js";
45
+ import { TaxesPage as Mt } from "./lib/pages/cms/taxes/TaxesPage.es.js";
46
+ import { deleteTaxRateAction as _t, saveTaxRateAction as Lt, updateTaxSettingsAction as kt } from "./lib/pages/cms/taxes/actions.es.js";
47
+ import { CouponsPage as Ut } from "./lib/pages/cms/coupons/CouponsPage.es.js";
48
+ import { EditCouponPage as Wt } from "./lib/pages/cms/coupons/EditCouponPage.es.js";
48
49
  export {
49
- et as AttributeManagementPage,
50
- Ie as CURRENCY_COOKIE_NAME,
51
- me as CURRENCY_ROUNDING_MODES,
52
- ut as CategoryManagementPage,
53
- it as CopyProductFromLanguage,
54
- bt as CouponsPage,
55
- I as DEFAULT_INVOICE_SETTINGS,
56
- Mt as EditCouponPage,
57
- at as EditProductPage,
58
- wr as ExportReportsDialog,
59
- Xe as FreemiusProvider,
60
- b as INVOICE_SETTINGS_KEY,
61
- Xr as InventoryPage,
62
- tt as NewProductPage,
63
- Kr as OrderDetailPage,
64
- _r as OrdersPage,
65
- dt as PaymentsPage,
66
- qr as ProductsPage,
67
- Ct as ShippingPage,
50
+ nt as AttributeManagementPage,
51
+ Ne as CURRENCY_COOKIE_NAME,
52
+ fe as CURRENCY_ROUNDING_MODES,
53
+ Ct as CategoryManagementPage,
54
+ pt as CopyProductFromLanguage,
55
+ Ut as CouponsPage,
56
+ D as DEFAULT_INVOICE_SETTINGS,
57
+ Wt as EditCouponPage,
58
+ dt as EditProductPage,
59
+ Xr as ExportReportsDialog,
60
+ re as FREEMIUS_LICENSE_CLAIM_MAX_AGE_MINUTES,
61
+ te as FREEMIUS_LICENSE_CLAIM_REFUSED_MESSAGE,
62
+ ar as FreemiusProvider,
63
+ M as INVOICE_SETTINGS_KEY,
64
+ at as InventoryPage,
65
+ ut as NewProductPage,
66
+ Qr as OrderDetailPage,
67
+ Yr as OrdersPage,
68
+ Pt as PaymentsPage,
69
+ tt as ProductsPage,
70
+ Ft as ShippingPage,
68
71
  m as StripeNotConfiguredError,
69
- qe as StripeProvider,
70
- Rt as TaxesPage,
71
- re as addressesMatch,
72
- F as aggregateOrderTaxLines,
73
- pe as applyCurrencyRounding,
74
- S as applyOrderInventoryDeduction,
75
- W as assignInvoiceMetadata,
76
- h as buildOrderTaxDetailsFromCalculation,
77
- O as buildOrderTaxDetailsFromStripeSession,
78
- ke as clearAutoSyncedCurrencyPriceOverrides,
72
+ tr as StripeProvider,
73
+ Mt as TaxesPage,
74
+ se as addressesMatch,
75
+ v as aggregateOrderTaxLines,
76
+ xe as applyCurrencyRounding,
77
+ y as applyOrderInventoryDeduction,
78
+ z as assignInvoiceMetadata,
79
+ E as buildOrderTaxDetailsFromCalculation,
80
+ h as buildOrderTaxDetailsFromStripeSession,
81
+ oe as claimFreemiusLicenseKey,
82
+ ze as clearAutoSyncedCurrencyPriceOverrides,
79
83
  t as clearPaymentConfigCache,
80
- ge as convertMinorUnitAmount,
81
- We as copyProductFromLanguage,
82
- hr as createCategoryAction,
83
- l as createCheckoutSession,
84
- _e as createProduct,
85
- Or as createProductAction,
86
- ft as createShippingRate,
87
- xt as createShippingZone,
88
- Rr as deleteCategoryAction,
89
- H as deleteCouponFromFreemius,
90
- Ge as deleteProduct,
91
- Ar as deleteProductAction,
92
- yt as deleteShippingRate,
93
- St as deleteShippingZone,
94
- Tt as deleteTaxRateAction,
95
- le as describeCurrencyRoundingRule,
96
- te as emptyCustomerAddress,
97
- nr as extractFreemiusCheckoutMetadata,
98
- Yr as fetchOrderReportData,
99
- Ke as fetchTranslatedProductsForCartInternal,
100
- se as fillMissingUserProfileCheckoutDetails,
101
- k as formatInvoiceCurrency,
102
- M as formatInvoiceDate,
103
- Cr as getCategoriesWithCount,
104
- Pr as getCategoryBySlug,
105
- fr as getCmsProduct,
106
- xr as getCmsProducts,
84
+ Se as convertMinorUnitAmount,
85
+ Be as copyProductFromLanguage,
86
+ Tr as createCategoryAction,
87
+ C as createCheckoutSession,
88
+ Ye as createProduct,
89
+ Dr as createProductAction,
90
+ Et as createShippingRate,
91
+ ht as createShippingZone,
92
+ Mr as deleteCategoryAction,
93
+ q as deleteCouponFromFreemius,
94
+ Ze as deleteProduct,
95
+ br as deleteProductAction,
96
+ Rt as deleteShippingRate,
97
+ At as deleteShippingZone,
98
+ _t as deleteTaxRateAction,
99
+ ye as describeCurrencyRoundingRule,
100
+ ue as emptyCustomerAddress,
101
+ ae as evaluateFreemiusLicenseClaim,
102
+ mr as extractFreemiusCheckoutMetadata,
103
+ qr as fetchOrderReportData,
104
+ Qe as fetchTranslatedProductsForCartInternal,
105
+ ge as fillMissingUserProfileCheckoutDetails,
106
+ b as formatInvoiceCurrency,
107
+ _ as formatInvoiceDate,
108
+ Fr as getCategoriesWithCount,
109
+ vr as getCategoryBySlug,
110
+ Er as getCmsProduct,
111
+ hr as getCmsProducts,
107
112
  Q as getCouponQuote,
108
- Ce as getCurrencyLookup,
113
+ Fe as getCurrencyLookup,
109
114
  w as getCurrentCustomerOrder,
110
115
  B as getCurrentCustomerOrderInvoice,
111
116
  Y as getCurrentCustomerOrders,
112
- Pe as getDefaultCurrency,
113
- ue as getDefaultUserAddresses,
114
- kr as getEnabledPaymentProviders,
115
- fe as getExchangeRateForCurrency,
116
- gr as getFreemiusOrderLicense,
117
- ir as getFreemiusWebhookSecretCandidates,
118
- yr as getGlobalProductAttributes,
119
- N as getInvoiceAddressLines,
120
- _ as getInvoiceBrandingData,
117
+ ve as getDefaultCurrency,
118
+ Ce as getDefaultUserAddresses,
119
+ zr as getEnabledPaymentProviders,
120
+ Ee as getExchangeRateForCurrency,
121
+ Sr as getFreemiusOrderLicense,
122
+ pr as getFreemiusWebhookSecretCandidates,
123
+ Rr as getGlobalProductAttributes,
124
+ L as getInvoiceAddressLines,
125
+ W as getInvoiceBrandingData,
121
126
  G as getInvoiceOrder,
122
127
  K as getInvoicePresentationData,
123
- Qr as getOrderDetails,
128
+ $r as getOrderDetails,
124
129
  R as getOrderTaxRateJurisdiction,
125
130
  A as getOrderTaxRateLabel,
126
- T as getOrderTaxRatePercentage,
127
- Jr as getOrders,
131
+ I as getOrderTaxRatePercentage,
132
+ et as getOrders,
128
133
  o as getPaymentConfigStatus,
129
134
  a as getPaymentCredentialsView,
130
- Je as getPaymentProvider,
131
- Mr as getPaymentSettings,
132
- Ve as getProduct,
133
- we as getProductBySlug,
134
- Sr as getProductCategories,
135
- vr as getProductTranslations,
136
- Be as getProducts,
137
- Nr as getProviderReadiness,
135
+ er as getPaymentProvider,
136
+ Wr as getPaymentSettings,
137
+ Je as getProduct,
138
+ Xe as getProductBySlug,
139
+ Ar as getProductCategories,
140
+ Ir as getProductTranslations,
141
+ je as getProducts,
142
+ Gr as getProviderReadiness,
138
143
  J as getQuoteLineDiscountMap,
139
- Lr as getReadinessForProductType,
140
- zr as getStoreConfigStatus,
141
- Ur as getStoreReadiness,
144
+ Kr as getReadinessForProductType,
145
+ Vr as getStoreConfigStatus,
146
+ wr as getStoreReadiness,
142
147
  p as getStripeClient,
143
148
  x as handleStripeWebhook,
144
- n as hydrateFreemiusEnvFromDb,
145
- xe as inferCurrencyCodeFromLocale,
146
- oe as isCustomerAddressComplete,
147
- ye as isSaleWindowActive,
148
- Se as isScheduledPriceDue,
149
- ve as normalizeCurrencyRecord,
150
- Fe as normalizeCurrencyRoundingMode,
151
- ae as normalizeCustomerAddress,
152
- L as normalizeInvoiceSettings,
153
- ne as normalizeOrderCustomerDetails,
154
- E as normalizeOrderTaxDetails,
155
- he as normalizePriceMap,
156
- Oe as normalizeSalePriceMap,
157
- $e as parseFreemiusCheckoutCredentialsMap,
158
- ze as productSchema,
159
- Tr as publishProductAction,
160
- er as readFreemiusEnvValue,
161
- Me as rebaseStoreCurrencyExchangeRates,
162
- j as recordCouponRedemption,
163
- Re as resolveEffectivePriceForCurrency,
164
- rr as resolveFreemiusCheckoutCredentials,
165
- sr as resolveFreemiusStatusFromCheckoutResponse,
166
- ur as resolveFreemiusStatusFromWebhookEvent,
167
- Ae as resolvePriceForCurrency,
168
- Te as resolvePriceRangeForCurrency,
169
- i as resolveStripePublishableKey,
149
+ i as hydrateFreemiusEnvFromDb,
150
+ he as inferCurrencyCodeFromLocale,
151
+ ce as isCustomerAddressComplete,
152
+ Re as isSaleWindowActive,
153
+ Ae as isScheduledPriceDue,
154
+ Ie as normalizeCurrencyRecord,
155
+ Oe as normalizeCurrencyRoundingMode,
156
+ de as normalizeCustomerAddress,
157
+ k as normalizeInvoiceSettings,
158
+ me as normalizeOrderCustomerDetails,
159
+ O as normalizeOrderTaxDetails,
160
+ Te as normalizePriceMap,
161
+ De as normalizeSalePriceMap,
162
+ ir as parseFreemiusCheckoutCredentialsMap,
163
+ ie as parseFreemiusTimestamp,
164
+ Ve as productSchema,
165
+ _r as publishProductAction,
166
+ nr as readFreemiusEnvValue,
167
+ We as rebaseStoreCurrencyExchangeRates,
168
+ X as recordCouponRedemption,
169
+ Me as resolveEffectivePriceForCurrency,
170
+ sr as resolveFreemiusCheckoutCredentials,
171
+ gr as resolveFreemiusStatusFromCheckoutResponse,
172
+ Cr as resolveFreemiusStatusFromWebhookEvent,
173
+ be as resolvePriceForCurrency,
174
+ _e as resolvePriceRangeForCurrency,
175
+ n as resolveStripePublishableKey,
170
176
  s as resolveStripeSecretKey,
171
177
  u as resolveStripeWebhookSecret,
172
178
  c as savePaymentCredentials,
173
- pt as savePaymentProviderCredentials,
174
- Et as saveTaxRateAction,
175
- z as serializeInvoiceSettings,
176
- Ee as sortCurrencies,
177
- Ye as syncCategoriesForTranslationGroup,
178
- X as syncCouponToFreemius,
179
- cr as syncFreemiusCheckoutOrder,
180
- dr as syncFreemiusOrderFromWebhookEvent,
181
- tr as syncFreemiusProductsToSupabase,
182
- Er as syncProductCategoriesAction,
179
+ xt as savePaymentProviderCredentials,
180
+ Lt as saveTaxRateAction,
181
+ N as serializeInvoiceSettings,
182
+ Le as sortCurrencies,
183
+ qe as syncCategoriesForTranslationGroup,
184
+ H as syncCouponToFreemius,
185
+ lr as syncFreemiusCheckoutOrder,
186
+ Pr as syncFreemiusOrderFromWebhookEvent,
187
+ ur as syncFreemiusProductsToSupabase,
188
+ Lr as syncProductCategoriesAction,
183
189
  $ as syncProductSaleCouponToFreemius,
184
- or as syncSingleFreemiusProduct,
185
- Ne as syncStoreCurrencyRates,
190
+ cr as syncSingleFreemiusProduct,
191
+ Ge as syncStoreCurrencyRates,
186
192
  P as syncStripeOrderFromSession,
187
- Dr as updateCategoryAction,
188
- vt as updateInventoryTrackingAction,
189
- gt as updatePaymentSettings,
190
- Ze as updateProduct,
191
- Ir as updateProductAction,
192
- Ft as updateShippingRate,
193
- ht as updateShippingZone,
194
- Dt as updateTaxSettingsAction,
195
- ce as upsertDefaultUserAddresses,
196
- mr as verifyFreemiusWebhookSignature
193
+ kr as updateCategoryAction,
194
+ It as updateInventoryTrackingAction,
195
+ St as updatePaymentSettings,
196
+ He as updateProduct,
197
+ Nr as updateProductAction,
198
+ Ot as updateShippingRate,
199
+ Tt as updateShippingZone,
200
+ kt as updateTaxSettingsAction,
201
+ le as upsertDefaultUserAddresses,
202
+ fr as verifyFreemiusWebhookSignature
197
203
  };