@shoppexio/storefront 1.0.89 → 1.0.91

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,4 +1,4 @@
1
- import { CustomerPortalAffiliateSummaryWire, CustomerPortalAffiliateCreateLinkWire, CustomerPortalAffiliateStatsWire, CustomerPortalAvatarWire, CustomerPortalDashboardWire, CustomerPortalProfileUpdateWire, CustomerPortalEmailPreferencesWire, CustomerPortalEmailPreferencesUpdateWire, CustomerPortalNotificationPreferencesWire, CustomerPortalOrderReviewWire, CustomerReplacementEligibilityWire, CustomerReplacementRequestWire, CustomerPortalLicenseResetWire, CustomerPortalLicenseRenewalWire, CustomerPortalWalletTopupQuoteWire, CustomerPortalWalletTopupResultWire, CustomerPortalSubscriptionBillingHistoryWire, CustomerPortalSubscriptionCancelWire, CustomerPortalSubscriptionStatusWire, CustomerLoyaltyWire, CustomerLoyaltyRedeemWire, CustomerWarrantyListWire, CustomerWarrantyClaimWire, CustomerPortalFavoritesWire, CustomerPortalFavoriteMutationWire, CustomerPortalSupportCreateWire, CustomerPortalSupportTicketDetailWire, CustomerResellerSummaryWire, CustomerResellerEnrollmentWire, CustomerResellerCatalogWire, CustomerResellerQuoteWire, CustomerResellerOrdersWire, CustomerResellerOrderWire, CustomerResellerWalletWire, CustomerResellerTopupWire, CustomerResellerApiKeysWire } from '@shoppex/contracts/customer-portal-wire';
1
+ import { CustomerPortalAffiliateSummaryWire, CustomerPortalAffiliateCreateLinkWire, CustomerPortalAffiliateStatsWire, CustomerPortalAvatarWire, CustomerPortalDashboardWire, CustomerPortalProfileUpdateWire, CustomerPortalEmailPreferencesWire, CustomerPortalEmailPreferencesUpdateWire, CustomerPortalNotificationPreferencesWire, CustomerPortalOrderReviewWire, CustomerPortalLicenseResetWire, CustomerPortalLicenseRenewalWire, CustomerPortalWalletTopupQuoteWire, CustomerPortalWalletTopupResultWire, CustomerPortalSubscriptionBillingHistoryWire, CustomerPortalSubscriptionCancelWire, CustomerPortalSubscriptionStatusWire, CustomerLoyaltyWire, CustomerLoyaltyRedeemWire, CustomerWarrantyListWire, CustomerWarrantyClaimWire, CustomerPortalFavoritesWire, CustomerPortalFavoriteMutationWire, CustomerPortalSupportCreateWire, CustomerPortalSupportTicketDetailWire, CustomerResellerSummaryWire, CustomerResellerEnrollmentWire, CustomerResellerCatalogWire, CustomerResellerQuoteWire, CustomerResellerOrdersWire, CustomerResellerOrderWire, CustomerResellerWalletWire, CustomerResellerTopupWire, CustomerResellerApiKeysWire } from '@shoppex/contracts/customer-portal-wire';
2
2
 
3
3
  /**
4
4
  * Browser client for a customer account hosted outside Shoppex.
@@ -72,8 +72,6 @@ type HeadlessCustomerLoyalty = CustomerLoyaltyWire;
72
72
  type HeadlessCustomerLoyaltyRedeem = CustomerLoyaltyRedeemWire;
73
73
  type HeadlessCustomerWarranties = CustomerWarrantyListWire;
74
74
  type HeadlessCustomerWarrantyClaim = CustomerWarrantyClaimWire;
75
- type HeadlessCustomerReplacementEligibility = CustomerReplacementEligibilityWire;
76
- type HeadlessCustomerReplacementRequest = CustomerReplacementRequestWire;
77
75
  type HeadlessCustomerReseller = CustomerResellerSummaryWire;
78
76
  type HeadlessCustomerResellerEnrollment = CustomerResellerEnrollmentWire;
79
77
  type HeadlessCustomerResellerCatalog = CustomerResellerCatalogWire;
@@ -114,11 +112,6 @@ interface HeadlessCustomerNotificationPreferencesPatch {
114
112
  orderCompletedEmails?: boolean;
115
113
  paymentIssueEmails?: boolean;
116
114
  }
117
- interface HeadlessCustomerReplacementOptions {
118
- lineItemId: string;
119
- reason: string;
120
- idempotencyKey?: string;
121
- }
122
115
  interface HeadlessCustomerResellerCatalogQuery {
123
116
  search?: string;
124
117
  page?: number;
@@ -250,6 +243,12 @@ interface HeadlessCustomerOrder {
250
243
  currentPayment: HeadlessCustomerPayment | null;
251
244
  payments: HeadlessCustomerPayment[];
252
245
  }
246
+ /**
247
+ * `code: 'RESPONSE_CONTRACT_VIOLATION'` (status 2xx) on `createWalletTopup`,
248
+ * `createResellerTopup` or `redeemLoyaltyPoints` means the server completed the
249
+ * call and withheld its answer. Re-read the account (`dashboard()`, `loyalty()`,
250
+ * `resellerWallet()`) and show that; do not report a failure or call again.
251
+ */
253
252
  declare class HeadlessCustomerError extends Error {
254
253
  readonly status: number;
255
254
  readonly code?: string | null | undefined;
@@ -291,8 +290,6 @@ declare class HeadlessCustomerClient {
291
290
  orderReview(orderId: string): Promise<HeadlessCustomerOrderReview>;
292
291
  submitOrderReview(orderId: string, input: HeadlessCustomerOrderReviewInput): Promise<HeadlessCustomerOrderReview>;
293
292
  invoicePdf(orderId: string): Promise<HeadlessCustomerDownload>;
294
- replacementEligibility(orderId: string, lineItemId?: string): Promise<HeadlessCustomerReplacementEligibility>;
295
- requestReplacement(orderId: string, options: HeadlessCustomerReplacementOptions): Promise<HeadlessCustomerReplacementRequest>;
296
293
  download(orderId: string, fileIndex: number): Promise<HeadlessCustomerDownload>;
297
294
  resetLicenseHwid(licenseId: string): Promise<HeadlessCustomerLicenseReset>;
298
295
  renewLicense(licenseId: string): Promise<HeadlessCustomerLicenseRenewal>;
@@ -336,4 +333,4 @@ declare class HeadlessCustomerClient {
336
333
  }
337
334
  declare function createCustomerClient(config: HeadlessCustomerClientConfig): HeadlessCustomerClient;
338
335
 
339
- export { type HeadlessCustomerAffiliate, type HeadlessCustomerAffiliateLink, type HeadlessCustomerAffiliateLinkInput, type HeadlessCustomerAffiliateStats, type HeadlessCustomerAvatar, HeadlessCustomerClient, type HeadlessCustomerClientConfig, type HeadlessCustomerDashboard, type HeadlessCustomerDownload, type HeadlessCustomerEmailPreferences, type HeadlessCustomerEmailPreferencesPatch, type HeadlessCustomerEmailPreferencesUpdate, HeadlessCustomerError, type HeadlessCustomerFavoriteMutation, type HeadlessCustomerFavorites, type HeadlessCustomerLicenseRenewal, type HeadlessCustomerLicenseReset, type HeadlessCustomerLoyalty, type HeadlessCustomerLoyaltyRedeem, type HeadlessCustomerMe, type HeadlessCustomerNotificationPreferences, type HeadlessCustomerNotificationPreferencesPatch, type HeadlessCustomerOrder, type HeadlessCustomerOrderReview, type HeadlessCustomerOrderReviewInput, type HeadlessCustomerOrderSummary, type HeadlessCustomerOrders, type HeadlessCustomerOrdersQuery, type HeadlessCustomerPayment, type HeadlessCustomerProfileUpdate, type HeadlessCustomerReplacementEligibility, type HeadlessCustomerReplacementOptions, type HeadlessCustomerReplacementRequest, type HeadlessCustomerReseller, type HeadlessCustomerResellerApiKeys, type HeadlessCustomerResellerCatalog, type HeadlessCustomerResellerCatalogQuery, type HeadlessCustomerResellerEnrollment, type HeadlessCustomerResellerOrder, type HeadlessCustomerResellerOrderItem, type HeadlessCustomerResellerOrders, type HeadlessCustomerResellerOrdersQuery, type HeadlessCustomerResellerQuote, type HeadlessCustomerResellerTopup, type HeadlessCustomerResellerWallet, type HeadlessCustomerSession, type HeadlessCustomerSubscriptionBillingHistory, type HeadlessCustomerSubscriptionCancel, type HeadlessCustomerSubscriptionCancelOptions, type HeadlessCustomerSubscriptionStatus, type HeadlessCustomerTicket, type HeadlessCustomerTicketCreateResult, type HeadlessCustomerTicketInput, type HeadlessCustomerVerifyOptions, type HeadlessCustomerWalletTopup, type HeadlessCustomerWalletTopupQuote, type HeadlessCustomerWarranties, type HeadlessCustomerWarrantyClaim, createCustomerClient };
336
+ export { type HeadlessCustomerAffiliate, type HeadlessCustomerAffiliateLink, type HeadlessCustomerAffiliateLinkInput, type HeadlessCustomerAffiliateStats, type HeadlessCustomerAvatar, HeadlessCustomerClient, type HeadlessCustomerClientConfig, type HeadlessCustomerDashboard, type HeadlessCustomerDownload, type HeadlessCustomerEmailPreferences, type HeadlessCustomerEmailPreferencesPatch, type HeadlessCustomerEmailPreferencesUpdate, HeadlessCustomerError, type HeadlessCustomerFavoriteMutation, type HeadlessCustomerFavorites, type HeadlessCustomerLicenseRenewal, type HeadlessCustomerLicenseReset, type HeadlessCustomerLoyalty, type HeadlessCustomerLoyaltyRedeem, type HeadlessCustomerMe, type HeadlessCustomerNotificationPreferences, type HeadlessCustomerNotificationPreferencesPatch, type HeadlessCustomerOrder, type HeadlessCustomerOrderReview, type HeadlessCustomerOrderReviewInput, type HeadlessCustomerOrderSummary, type HeadlessCustomerOrders, type HeadlessCustomerOrdersQuery, type HeadlessCustomerPayment, type HeadlessCustomerProfileUpdate, type HeadlessCustomerReseller, type HeadlessCustomerResellerApiKeys, type HeadlessCustomerResellerCatalog, type HeadlessCustomerResellerCatalogQuery, type HeadlessCustomerResellerEnrollment, type HeadlessCustomerResellerOrder, type HeadlessCustomerResellerOrderItem, type HeadlessCustomerResellerOrders, type HeadlessCustomerResellerOrdersQuery, type HeadlessCustomerResellerQuote, type HeadlessCustomerResellerTopup, type HeadlessCustomerResellerWallet, type HeadlessCustomerSession, type HeadlessCustomerSubscriptionBillingHistory, type HeadlessCustomerSubscriptionCancel, type HeadlessCustomerSubscriptionCancelOptions, type HeadlessCustomerSubscriptionStatus, type HeadlessCustomerTicket, type HeadlessCustomerTicketCreateResult, type HeadlessCustomerTicketInput, type HeadlessCustomerVerifyOptions, type HeadlessCustomerWalletTopup, type HeadlessCustomerWalletTopupQuote, type HeadlessCustomerWarranties, type HeadlessCustomerWarrantyClaim, createCustomerClient };
@@ -1,4 +1,4 @@
1
- import { CustomerPortalAffiliateSummaryWire, CustomerPortalAffiliateCreateLinkWire, CustomerPortalAffiliateStatsWire, CustomerPortalAvatarWire, CustomerPortalDashboardWire, CustomerPortalProfileUpdateWire, CustomerPortalEmailPreferencesWire, CustomerPortalEmailPreferencesUpdateWire, CustomerPortalNotificationPreferencesWire, CustomerPortalOrderReviewWire, CustomerReplacementEligibilityWire, CustomerReplacementRequestWire, CustomerPortalLicenseResetWire, CustomerPortalLicenseRenewalWire, CustomerPortalWalletTopupQuoteWire, CustomerPortalWalletTopupResultWire, CustomerPortalSubscriptionBillingHistoryWire, CustomerPortalSubscriptionCancelWire, CustomerPortalSubscriptionStatusWire, CustomerLoyaltyWire, CustomerLoyaltyRedeemWire, CustomerWarrantyListWire, CustomerWarrantyClaimWire, CustomerPortalFavoritesWire, CustomerPortalFavoriteMutationWire, CustomerPortalSupportCreateWire, CustomerPortalSupportTicketDetailWire, CustomerResellerSummaryWire, CustomerResellerEnrollmentWire, CustomerResellerCatalogWire, CustomerResellerQuoteWire, CustomerResellerOrdersWire, CustomerResellerOrderWire, CustomerResellerWalletWire, CustomerResellerTopupWire, CustomerResellerApiKeysWire } from '@shoppex/contracts/customer-portal-wire';
1
+ import { CustomerPortalAffiliateSummaryWire, CustomerPortalAffiliateCreateLinkWire, CustomerPortalAffiliateStatsWire, CustomerPortalAvatarWire, CustomerPortalDashboardWire, CustomerPortalProfileUpdateWire, CustomerPortalEmailPreferencesWire, CustomerPortalEmailPreferencesUpdateWire, CustomerPortalNotificationPreferencesWire, CustomerPortalOrderReviewWire, CustomerPortalLicenseResetWire, CustomerPortalLicenseRenewalWire, CustomerPortalWalletTopupQuoteWire, CustomerPortalWalletTopupResultWire, CustomerPortalSubscriptionBillingHistoryWire, CustomerPortalSubscriptionCancelWire, CustomerPortalSubscriptionStatusWire, CustomerLoyaltyWire, CustomerLoyaltyRedeemWire, CustomerWarrantyListWire, CustomerWarrantyClaimWire, CustomerPortalFavoritesWire, CustomerPortalFavoriteMutationWire, CustomerPortalSupportCreateWire, CustomerPortalSupportTicketDetailWire, CustomerResellerSummaryWire, CustomerResellerEnrollmentWire, CustomerResellerCatalogWire, CustomerResellerQuoteWire, CustomerResellerOrdersWire, CustomerResellerOrderWire, CustomerResellerWalletWire, CustomerResellerTopupWire, CustomerResellerApiKeysWire } from '@shoppex/contracts/customer-portal-wire';
2
2
 
3
3
  /**
4
4
  * Browser client for a customer account hosted outside Shoppex.
@@ -72,8 +72,6 @@ type HeadlessCustomerLoyalty = CustomerLoyaltyWire;
72
72
  type HeadlessCustomerLoyaltyRedeem = CustomerLoyaltyRedeemWire;
73
73
  type HeadlessCustomerWarranties = CustomerWarrantyListWire;
74
74
  type HeadlessCustomerWarrantyClaim = CustomerWarrantyClaimWire;
75
- type HeadlessCustomerReplacementEligibility = CustomerReplacementEligibilityWire;
76
- type HeadlessCustomerReplacementRequest = CustomerReplacementRequestWire;
77
75
  type HeadlessCustomerReseller = CustomerResellerSummaryWire;
78
76
  type HeadlessCustomerResellerEnrollment = CustomerResellerEnrollmentWire;
79
77
  type HeadlessCustomerResellerCatalog = CustomerResellerCatalogWire;
@@ -114,11 +112,6 @@ interface HeadlessCustomerNotificationPreferencesPatch {
114
112
  orderCompletedEmails?: boolean;
115
113
  paymentIssueEmails?: boolean;
116
114
  }
117
- interface HeadlessCustomerReplacementOptions {
118
- lineItemId: string;
119
- reason: string;
120
- idempotencyKey?: string;
121
- }
122
115
  interface HeadlessCustomerResellerCatalogQuery {
123
116
  search?: string;
124
117
  page?: number;
@@ -250,6 +243,12 @@ interface HeadlessCustomerOrder {
250
243
  currentPayment: HeadlessCustomerPayment | null;
251
244
  payments: HeadlessCustomerPayment[];
252
245
  }
246
+ /**
247
+ * `code: 'RESPONSE_CONTRACT_VIOLATION'` (status 2xx) on `createWalletTopup`,
248
+ * `createResellerTopup` or `redeemLoyaltyPoints` means the server completed the
249
+ * call and withheld its answer. Re-read the account (`dashboard()`, `loyalty()`,
250
+ * `resellerWallet()`) and show that; do not report a failure or call again.
251
+ */
253
252
  declare class HeadlessCustomerError extends Error {
254
253
  readonly status: number;
255
254
  readonly code?: string | null | undefined;
@@ -291,8 +290,6 @@ declare class HeadlessCustomerClient {
291
290
  orderReview(orderId: string): Promise<HeadlessCustomerOrderReview>;
292
291
  submitOrderReview(orderId: string, input: HeadlessCustomerOrderReviewInput): Promise<HeadlessCustomerOrderReview>;
293
292
  invoicePdf(orderId: string): Promise<HeadlessCustomerDownload>;
294
- replacementEligibility(orderId: string, lineItemId?: string): Promise<HeadlessCustomerReplacementEligibility>;
295
- requestReplacement(orderId: string, options: HeadlessCustomerReplacementOptions): Promise<HeadlessCustomerReplacementRequest>;
296
293
  download(orderId: string, fileIndex: number): Promise<HeadlessCustomerDownload>;
297
294
  resetLicenseHwid(licenseId: string): Promise<HeadlessCustomerLicenseReset>;
298
295
  renewLicense(licenseId: string): Promise<HeadlessCustomerLicenseRenewal>;
@@ -336,4 +333,4 @@ declare class HeadlessCustomerClient {
336
333
  }
337
334
  declare function createCustomerClient(config: HeadlessCustomerClientConfig): HeadlessCustomerClient;
338
335
 
339
- export { type HeadlessCustomerAffiliate, type HeadlessCustomerAffiliateLink, type HeadlessCustomerAffiliateLinkInput, type HeadlessCustomerAffiliateStats, type HeadlessCustomerAvatar, HeadlessCustomerClient, type HeadlessCustomerClientConfig, type HeadlessCustomerDashboard, type HeadlessCustomerDownload, type HeadlessCustomerEmailPreferences, type HeadlessCustomerEmailPreferencesPatch, type HeadlessCustomerEmailPreferencesUpdate, HeadlessCustomerError, type HeadlessCustomerFavoriteMutation, type HeadlessCustomerFavorites, type HeadlessCustomerLicenseRenewal, type HeadlessCustomerLicenseReset, type HeadlessCustomerLoyalty, type HeadlessCustomerLoyaltyRedeem, type HeadlessCustomerMe, type HeadlessCustomerNotificationPreferences, type HeadlessCustomerNotificationPreferencesPatch, type HeadlessCustomerOrder, type HeadlessCustomerOrderReview, type HeadlessCustomerOrderReviewInput, type HeadlessCustomerOrderSummary, type HeadlessCustomerOrders, type HeadlessCustomerOrdersQuery, type HeadlessCustomerPayment, type HeadlessCustomerProfileUpdate, type HeadlessCustomerReplacementEligibility, type HeadlessCustomerReplacementOptions, type HeadlessCustomerReplacementRequest, type HeadlessCustomerReseller, type HeadlessCustomerResellerApiKeys, type HeadlessCustomerResellerCatalog, type HeadlessCustomerResellerCatalogQuery, type HeadlessCustomerResellerEnrollment, type HeadlessCustomerResellerOrder, type HeadlessCustomerResellerOrderItem, type HeadlessCustomerResellerOrders, type HeadlessCustomerResellerOrdersQuery, type HeadlessCustomerResellerQuote, type HeadlessCustomerResellerTopup, type HeadlessCustomerResellerWallet, type HeadlessCustomerSession, type HeadlessCustomerSubscriptionBillingHistory, type HeadlessCustomerSubscriptionCancel, type HeadlessCustomerSubscriptionCancelOptions, type HeadlessCustomerSubscriptionStatus, type HeadlessCustomerTicket, type HeadlessCustomerTicketCreateResult, type HeadlessCustomerTicketInput, type HeadlessCustomerVerifyOptions, type HeadlessCustomerWalletTopup, type HeadlessCustomerWalletTopupQuote, type HeadlessCustomerWarranties, type HeadlessCustomerWarrantyClaim, createCustomerClient };
336
+ export { type HeadlessCustomerAffiliate, type HeadlessCustomerAffiliateLink, type HeadlessCustomerAffiliateLinkInput, type HeadlessCustomerAffiliateStats, type HeadlessCustomerAvatar, HeadlessCustomerClient, type HeadlessCustomerClientConfig, type HeadlessCustomerDashboard, type HeadlessCustomerDownload, type HeadlessCustomerEmailPreferences, type HeadlessCustomerEmailPreferencesPatch, type HeadlessCustomerEmailPreferencesUpdate, HeadlessCustomerError, type HeadlessCustomerFavoriteMutation, type HeadlessCustomerFavorites, type HeadlessCustomerLicenseRenewal, type HeadlessCustomerLicenseReset, type HeadlessCustomerLoyalty, type HeadlessCustomerLoyaltyRedeem, type HeadlessCustomerMe, type HeadlessCustomerNotificationPreferences, type HeadlessCustomerNotificationPreferencesPatch, type HeadlessCustomerOrder, type HeadlessCustomerOrderReview, type HeadlessCustomerOrderReviewInput, type HeadlessCustomerOrderSummary, type HeadlessCustomerOrders, type HeadlessCustomerOrdersQuery, type HeadlessCustomerPayment, type HeadlessCustomerProfileUpdate, type HeadlessCustomerReseller, type HeadlessCustomerResellerApiKeys, type HeadlessCustomerResellerCatalog, type HeadlessCustomerResellerCatalogQuery, type HeadlessCustomerResellerEnrollment, type HeadlessCustomerResellerOrder, type HeadlessCustomerResellerOrderItem, type HeadlessCustomerResellerOrders, type HeadlessCustomerResellerOrdersQuery, type HeadlessCustomerResellerQuote, type HeadlessCustomerResellerTopup, type HeadlessCustomerResellerWallet, type HeadlessCustomerSession, type HeadlessCustomerSubscriptionBillingHistory, type HeadlessCustomerSubscriptionCancel, type HeadlessCustomerSubscriptionCancelOptions, type HeadlessCustomerSubscriptionStatus, type HeadlessCustomerTicket, type HeadlessCustomerTicketCreateResult, type HeadlessCustomerTicketInput, type HeadlessCustomerVerifyOptions, type HeadlessCustomerWalletTopup, type HeadlessCustomerWalletTopupQuote, type HeadlessCustomerWarranties, type HeadlessCustomerWarrantyClaim, createCustomerClient };
package/dist/customer.js CHANGED
@@ -2,43 +2,352 @@ import {
2
2
  customerLoyaltyRedeemSchema,
3
3
  customerLoyaltySchema,
4
4
  customerPortalAffiliateCreateLinkSchema,
5
- customerPortalAffiliateStatsSchema,
6
5
  customerPortalAffiliateSummarySchema,
7
- customerPortalAvatarSchema,
6
+ customerPortalBrandingSchema,
8
7
  customerPortalDashboardSchema,
9
- customerPortalEmailPreferencesSchema,
10
- customerPortalEmailPreferencesUpdateSchema,
11
- customerPortalFavoriteMutationSchema,
12
- customerPortalFavoritesSchema,
13
8
  customerPortalInvoiceDetailSchema,
14
- customerPortalLicenseRenewalSchema,
15
- customerPortalLicenseResetSchema,
16
- customerPortalMeSchema,
17
9
  customerPortalNotificationPreferencesSchema,
18
- customerPortalOrderReviewSchema,
19
10
  customerPortalPaginatedInvoicesSchema,
20
- customerPortalProfileUpdateSchema,
21
- customerPortalSubscriptionBillingHistorySchema,
22
- customerPortalSubscriptionCancelSchema,
23
- customerPortalSubscriptionStatusSchema,
24
- customerPortalSupportCreateSchema,
25
- customerPortalSupportTicketDetailSchema,
26
- customerPortalWalletTopupQuoteSchema,
27
- customerPortalWalletTopupResultSchema,
28
- customerReplacementEligibilitySchema,
29
- customerReplacementRequestSchema,
30
- customerResellerApiKeysSchema,
31
- customerResellerCatalogSchema,
32
- customerResellerEnrollmentSchema,
33
- customerResellerOrderSchema,
34
- customerResellerOrdersSchema,
35
- customerResellerQuoteSchema,
36
- customerResellerSummarySchema,
37
- customerResellerTopupSchema,
38
- customerResellerWalletSchema,
39
11
  customerWarrantyClaimSchema,
40
- customerWarrantyListSchema
41
- } from "./chunk-ROQI7BO6.js";
12
+ customerWarrantyListSchema,
13
+ external_exports,
14
+ storefrontStorageKey
15
+ } from "./chunk-UW6DFRB5.js";
16
+
17
+ // ../contracts/src/customer-portal-wire.ts
18
+ var nullableStringSchema = external_exports.string().nullable();
19
+ var customerPortalMeSchema = external_exports.object({
20
+ customer: external_exports.object({
21
+ id: nullableStringSchema,
22
+ email: external_exports.string(),
23
+ name: external_exports.string(),
24
+ avatar_url: nullableStringSchema,
25
+ joined_at: nullableStringSchema
26
+ }),
27
+ shop: external_exports.object({
28
+ id: external_exports.string(),
29
+ slug: external_exports.string(),
30
+ name: external_exports.string(),
31
+ currency: external_exports.string(),
32
+ branding: customerPortalBrandingSchema
33
+ }),
34
+ token: external_exports.null()
35
+ });
36
+ var customerPortalOrderReviewSchema = external_exports.object({
37
+ can_review: external_exports.boolean(),
38
+ already_submitted: external_exports.boolean(),
39
+ feedback_uniqid: nullableStringSchema,
40
+ product_title: nullableStringSchema,
41
+ score: external_exports.union([external_exports.literal(1), external_exports.literal(3), external_exports.literal(5)]).nullable(),
42
+ is_automated: external_exports.boolean(),
43
+ message: nullableStringSchema,
44
+ submitted_at: nullableStringSchema
45
+ });
46
+ var customerPortalWalletTopupQuoteSchema = external_exports.object({
47
+ quote: external_exports.object({
48
+ enabled: external_exports.boolean(),
49
+ currency: external_exports.string(),
50
+ min_amount: external_exports.string(),
51
+ max_amount: nullableStringSchema,
52
+ bonus_tiers: external_exports.array(external_exports.object({
53
+ min_amount: external_exports.string(),
54
+ bonus_percent: external_exports.number()
55
+ }))
56
+ })
57
+ });
58
+ var customerPortalWalletTopupResultSchema = external_exports.object({
59
+ invoice_id: external_exports.string(),
60
+ url: external_exports.string()
61
+ });
62
+ var customerPortalAffiliateStatsSchema = external_exports.object({
63
+ window_days: external_exports.number(),
64
+ totals: external_exports.object({
65
+ clicks: external_exports.number(),
66
+ add_to_carts: external_exports.number(),
67
+ checkouts_started: external_exports.number(),
68
+ sales: external_exports.number()
69
+ }),
70
+ per_link: external_exports.array(external_exports.object({
71
+ link_id: external_exports.string(),
72
+ code: external_exports.string(),
73
+ label: nullableStringSchema,
74
+ clicks: external_exports.number(),
75
+ add_to_carts: external_exports.number(),
76
+ checkouts_started: external_exports.number()
77
+ })),
78
+ daily: external_exports.array(external_exports.object({
79
+ date: external_exports.string(),
80
+ clicks: external_exports.number(),
81
+ add_to_carts: external_exports.number(),
82
+ checkouts_started: external_exports.number()
83
+ }))
84
+ });
85
+ var customerPortalProfileUpdateSchema = external_exports.object({
86
+ customer: external_exports.object({
87
+ id: external_exports.string(),
88
+ email: external_exports.string(),
89
+ name: external_exports.string(),
90
+ joined_at: nullableStringSchema
91
+ })
92
+ });
93
+ var customerPortalAvatarSchema = external_exports.object({
94
+ avatar_url: nullableStringSchema
95
+ });
96
+ var customerPortalEmailPreferencesSchema = external_exports.object({
97
+ global_unsubscribed: external_exports.boolean(),
98
+ lists: external_exports.array(external_exports.object({
99
+ id: external_exports.string(),
100
+ name: external_exports.string(),
101
+ description: nullableStringSchema,
102
+ subscribed: external_exports.boolean()
103
+ }))
104
+ });
105
+ var customerPortalEmailPreferencesUpdateSchema = external_exports.object({
106
+ updated: external_exports.boolean()
107
+ });
108
+ var customerPortalFavoritesSchema = external_exports.object({
109
+ favorites: external_exports.array(external_exports.object({
110
+ product_uniqid: external_exports.string(),
111
+ title: external_exports.string(),
112
+ slug: nullableStringSchema,
113
+ image_url: nullableStringSchema,
114
+ price_display: external_exports.number(),
115
+ unavailable: external_exports.boolean(),
116
+ created_at: external_exports.string()
117
+ }))
118
+ });
119
+ var customerPortalFavoriteMutationSchema = external_exports.union([
120
+ external_exports.object({ added: external_exports.literal(true) }),
121
+ external_exports.object({ removed: external_exports.literal(true) })
122
+ ]);
123
+ var customerPortalLicenseResetSchema = external_exports.object({
124
+ license: external_exports.object({
125
+ uniqid: external_exports.string(),
126
+ hardware_id: nullableStringSchema
127
+ })
128
+ });
129
+ var customerPortalLicenseRenewalSchema = external_exports.object({
130
+ invoice_id: external_exports.string(),
131
+ checkout_url: external_exports.string(),
132
+ preferred_gateways: external_exports.array(external_exports.string()),
133
+ license: external_exports.object({
134
+ uniqid: external_exports.string(),
135
+ product_title: external_exports.string()
136
+ })
137
+ });
138
+ var customerPortalSubscriptionBillingHistorySchema = external_exports.object({
139
+ invoices: external_exports.array(external_exports.object({
140
+ id: external_exports.string(),
141
+ uniqid: external_exports.string(),
142
+ total: external_exports.string(),
143
+ currency: external_exports.string(),
144
+ status: external_exports.string(),
145
+ gateway: external_exports.string(),
146
+ created_at: external_exports.string(),
147
+ completed_at: external_exports.string()
148
+ }))
149
+ });
150
+ var customerPortalSubscriptionCancelSchema = external_exports.object({
151
+ subscription: external_exports.object({
152
+ id: external_exports.string(),
153
+ status: external_exports.string(),
154
+ cancel_at_period_end: external_exports.boolean(),
155
+ cancel_reason: nullableStringSchema,
156
+ canceled_at: nullableStringSchema
157
+ })
158
+ });
159
+ var customerPortalSubscriptionStatusSchema = external_exports.object({
160
+ subscription: external_exports.object({
161
+ id: external_exports.string(),
162
+ status: external_exports.string()
163
+ })
164
+ });
165
+ var customerPortalSupportTicketDetailSchema = external_exports.object({
166
+ ticket: external_exports.object({
167
+ uniqid: external_exports.string(),
168
+ title: external_exports.string(),
169
+ status: external_exports.string(),
170
+ invoice_id: nullableStringSchema,
171
+ created_at: external_exports.string(),
172
+ updated_at: external_exports.string(),
173
+ messages: external_exports.array(external_exports.object({
174
+ id: external_exports.string(),
175
+ role: external_exports.enum(["CUSTOMER", "SHOP", "SYSTEM"]),
176
+ message: external_exports.string(),
177
+ created_at: external_exports.string()
178
+ }))
179
+ })
180
+ });
181
+ var customerPortalSupportCreateSchema = external_exports.object({
182
+ uniqid: external_exports.string()
183
+ });
184
+ var customerResellerTierSchema = external_exports.object({
185
+ id: external_exports.string(),
186
+ name: nullableStringSchema,
187
+ discount_percent: external_exports.number().nullable()
188
+ });
189
+ var customerResellerRelationshipSchema = external_exports.object({
190
+ id: external_exports.string(),
191
+ status: external_exports.enum(["INVITED", "APPLIED", "ACTIVE", "SUSPENDED", "REJECTED"]),
192
+ tier: customerResellerTierSchema.nullable(),
193
+ application_note: nullableStringSchema,
194
+ lifetime_revenue: external_exports.string(),
195
+ lifetime_orders: external_exports.number(),
196
+ approved_at: nullableStringSchema,
197
+ created_at: external_exports.string()
198
+ });
199
+ var customerResellerSummarySchema = external_exports.object({
200
+ program_enabled: external_exports.boolean(),
201
+ api_enabled: external_exports.boolean(),
202
+ portal_purchasing_enabled: external_exports.boolean(),
203
+ enrollment_mode: external_exports.enum(["MANUAL", "APPLICATION", "OPEN"]),
204
+ application_message: nullableStringSchema,
205
+ require_application_note: external_exports.boolean(),
206
+ reseller: customerResellerRelationshipSchema.nullable()
207
+ });
208
+ var customerResellerEnrollmentSchema = external_exports.object({
209
+ reseller: customerResellerRelationshipSchema
210
+ });
211
+ var customerResellerAppliedOverrideSchema = external_exports.enum(["variant", "product", "tier"]);
212
+ var customerResellerCatalogVariantSchema = external_exports.object({
213
+ variant_id: external_exports.string(),
214
+ title: external_exports.string(),
215
+ stock: external_exports.number(),
216
+ supplier_backed: external_exports.boolean(),
217
+ orderable: external_exports.boolean(),
218
+ base_price: external_exports.string(),
219
+ unit_price: external_exports.string(),
220
+ discount_percent: external_exports.number(),
221
+ applied_override: customerResellerAppliedOverrideSchema
222
+ });
223
+ var customerResellerCustomFieldSchema = external_exports.object({
224
+ name: external_exports.string(),
225
+ type: external_exports.string(),
226
+ required: external_exports.boolean(),
227
+ placeholder: external_exports.string(),
228
+ default_value: external_exports.string(),
229
+ regex: nullableStringSchema,
230
+ min_length: external_exports.number().nullable(),
231
+ format: external_exports.enum(["number", "discord_invite", "url"]).nullable()
232
+ });
233
+ var customerResellerCatalogSchema = external_exports.object({
234
+ tier: customerResellerTierSchema,
235
+ catalog: external_exports.object({
236
+ currency: external_exports.string(),
237
+ total: external_exports.number(),
238
+ page: external_exports.number(),
239
+ per_page: external_exports.number(),
240
+ items: external_exports.array(external_exports.object({
241
+ product_id: external_exports.string(),
242
+ uniqid: external_exports.string(),
243
+ title: external_exports.string(),
244
+ type: external_exports.string(),
245
+ stock: external_exports.number(),
246
+ supplier_backed: external_exports.boolean(),
247
+ orderable: external_exports.boolean(),
248
+ volume_discount_enabled: external_exports.boolean(),
249
+ base_price: external_exports.string(),
250
+ unit_price: external_exports.string(),
251
+ discount_percent: external_exports.number(),
252
+ applied_override: customerResellerAppliedOverrideSchema,
253
+ /** The supplier's maximum price for reselling this product (and each variant); null = no limit. */
254
+ max_unit_price: external_exports.string().nullable(),
255
+ /** Optional: a backend released before reseller custom fields does not send it. */
256
+ custom_fields: external_exports.array(customerResellerCustomFieldSchema).optional(),
257
+ variants: external_exports.array(customerResellerCatalogVariantSchema)
258
+ }))
259
+ })
260
+ });
261
+ var customerResellerQuoteSchema = external_exports.object({
262
+ quote: external_exports.object({
263
+ currency: external_exports.string(),
264
+ tier: customerResellerTierSchema,
265
+ items: external_exports.array(external_exports.object({
266
+ product_id: external_exports.string(),
267
+ product_title: external_exports.string(),
268
+ product_type: external_exports.string(),
269
+ variant_id: nullableStringSchema,
270
+ variant_title: nullableStringSchema,
271
+ quantity: external_exports.number(),
272
+ base_price: external_exports.string(),
273
+ discount_percent: external_exports.number(),
274
+ unit_price: external_exports.string(),
275
+ line_total: external_exports.string(),
276
+ applied_override: customerResellerAppliedOverrideSchema,
277
+ volume_discount_applied: external_exports.string()
278
+ })),
279
+ subtotal: external_exports.string(),
280
+ volume_discount_total: external_exports.string(),
281
+ total: external_exports.string(),
282
+ savings: external_exports.string()
283
+ })
284
+ });
285
+ var customerResellerOrdersSchema = external_exports.object({
286
+ orders: external_exports.object({
287
+ total: external_exports.number(),
288
+ page: external_exports.number(),
289
+ per_page: external_exports.number(),
290
+ items: external_exports.array(external_exports.object({
291
+ uniqid: external_exports.string(),
292
+ status: external_exports.string(),
293
+ currency: external_exports.string(),
294
+ total: external_exports.string(),
295
+ item_count: external_exports.number(),
296
+ created_at: external_exports.string()
297
+ }))
298
+ })
299
+ });
300
+ var customerResellerOrderSchema = external_exports.object({
301
+ order: external_exports.object({
302
+ uniqid: external_exports.string(),
303
+ status: external_exports.string(),
304
+ currency: external_exports.string(),
305
+ total: external_exports.string(),
306
+ item_count: external_exports.number(),
307
+ created_at: external_exports.string(),
308
+ tier_name: external_exports.string(),
309
+ tier_discount_percent: external_exports.number(),
310
+ partially_delivered: external_exports.boolean(),
311
+ refunded_amount: nullableStringSchema,
312
+ lines: external_exports.array(external_exports.object({
313
+ product_id: nullableStringSchema,
314
+ product_title: external_exports.string(),
315
+ variant_id: nullableStringSchema,
316
+ variant_title: nullableStringSchema,
317
+ quantity: external_exports.number(),
318
+ unit_price: external_exports.string(),
319
+ total: external_exports.string(),
320
+ delivered: external_exports.boolean(),
321
+ delivered_at: nullableStringSchema,
322
+ serials: external_exports.array(external_exports.string())
323
+ }))
324
+ })
325
+ });
326
+ var customerResellerWalletSchema = external_exports.object({
327
+ wallet: external_exports.object({
328
+ currency: external_exports.string(),
329
+ balance: external_exports.string(),
330
+ hold_balance: external_exports.string(),
331
+ available: external_exports.string(),
332
+ is_active: external_exports.boolean()
333
+ })
334
+ });
335
+ var customerResellerApiKeysSchema = external_exports.object({
336
+ api_keys: external_exports.array(external_exports.object({
337
+ id: external_exports.string(),
338
+ name: external_exports.string(),
339
+ key_last4: external_exports.string(),
340
+ last_used_at: nullableStringSchema,
341
+ revoked_at: nullableStringSchema,
342
+ created_at: external_exports.string()
343
+ }))
344
+ });
345
+ var customerResellerTopupSchema = external_exports.object({
346
+ topup: external_exports.object({
347
+ uniqid: external_exports.string(),
348
+ url: external_exports.string()
349
+ })
350
+ });
42
351
 
43
352
  // ../sdk/src/headless-customer.ts
44
353
  var DEFAULT_API_ORIGIN = "https://api.shoppex.io";
@@ -120,14 +429,14 @@ var HeadlessCustomerClient = class {
120
429
  const candidates = this.memorySession ? [this.memorySession] : [];
121
430
  if (this.storage) {
122
431
  try {
123
- const stored2 = parseStoredSession(this.storage.getItem(this.storageKey));
432
+ const stored2 = parseStoredSession(this.storage.getItem(storefrontStorageKey(this.storageKey)));
124
433
  if (stored2) candidates.push(stored2);
125
434
  } catch {
126
435
  }
127
436
  }
128
437
  if (this.persistentStorage) {
129
438
  try {
130
- const stored2 = parseStoredSession(this.persistentStorage.getItem(this.storageKey));
439
+ const stored2 = parseStoredSession(this.persistentStorage.getItem(storefrontStorageKey(this.storageKey)));
131
440
  if (stored2) candidates.push(stored2);
132
441
  } catch {
133
442
  }
@@ -143,11 +452,11 @@ var HeadlessCustomerClient = class {
143
452
  clearSession() {
144
453
  this.memorySession = null;
145
454
  try {
146
- this.storage?.removeItem(this.storageKey);
455
+ this.storage?.removeItem(storefrontStorageKey(this.storageKey));
147
456
  } catch {
148
457
  }
149
458
  try {
150
- this.persistentStorage?.removeItem(this.storageKey);
459
+ this.persistentStorage?.removeItem(storefrontStorageKey(this.storageKey));
151
460
  } catch {
152
461
  }
153
462
  }
@@ -157,11 +466,11 @@ var HeadlessCustomerClient = class {
157
466
  const target = rememberMe ? this.persistentStorage : this.storage;
158
467
  const other = rememberMe ? this.storage : this.persistentStorage;
159
468
  try {
160
- target?.setItem(this.storageKey, JSON.stringify(storedSession));
469
+ target?.setItem(storefrontStorageKey(this.storageKey), JSON.stringify(storedSession));
161
470
  } catch {
162
471
  }
163
472
  try {
164
- other?.removeItem(this.storageKey);
473
+ other?.removeItem(storefrontStorageKey(this.storageKey));
165
474
  } catch {
166
475
  }
167
476
  }
@@ -407,25 +716,6 @@ var HeadlessCustomerClient = class {
407
716
  invoicePdf(orderId) {
408
717
  return this.requestFile(`/invoices/${encodeURIComponent(orderId)}/pdf`);
409
718
  }
410
- replacementEligibility(orderId, lineItemId) {
411
- return this.request(`/invoices/${encodeURIComponent(orderId)}/replacement-eligibility`, {
412
- authenticated: true,
413
- query: { line_item_id: lineItemId },
414
- schema: customerReplacementEligibilitySchema
415
- });
416
- }
417
- requestReplacement(orderId, options) {
418
- return this.request(`/invoices/${encodeURIComponent(orderId)}/replacement-requests`, {
419
- method: "POST",
420
- authenticated: true,
421
- body: {
422
- line_item_id: options.lineItemId,
423
- reason: options.reason,
424
- ...options.idempotencyKey ? { idempotency_key: options.idempotencyKey } : {}
425
- },
426
- schema: customerReplacementRequestSchema
427
- });
428
- }
429
719
  async download(orderId, fileIndex) {
430
720
  if (!Number.isSafeInteger(fileIndex) || fileIndex < 0) {
431
721
  throw new HeadlessCustomerError(