@thorprovider/types 5.7.7 → 5.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +18 -0
- package/.turbo/turbo-type-check.log +0 -0
- package/AGENTS.md +1 -1
- package/README.md +8 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/index.d.mts +373 -96
- package/dist/index.d.ts +373 -96
- package/dist/index.js +0 -138
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +0 -125
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/publish.log +60 -0
- package/src/cart.ts +40 -0
- package/src/catalog.ts +210 -0
- package/src/collection.ts +10 -0
- package/src/commerce-provider.ts +36 -0
- package/src/commerce.ts +88 -0
- package/src/index.ts +30 -12
- package/src/provider.ts +14 -178
- package/src/storefront.ts +5 -32
package/dist/index.d.ts
CHANGED
|
@@ -83,6 +83,80 @@ interface Country {
|
|
|
83
83
|
numCode?: string;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
/**
|
|
87
|
+
* @thorprovider/types — Commerce contracts (type-only)
|
|
88
|
+
*
|
|
89
|
+
* Single-tenant, guest-only commerce shapes owned once by this module.
|
|
90
|
+
* Validation lives in `@thorprovider/runtime/contracts` (pure Zod); this
|
|
91
|
+
* module exports types only and emits no runtime values.
|
|
92
|
+
*
|
|
93
|
+
* Canonical product/variant/Money/cart/order shapes are NOT redefined here —
|
|
94
|
+
* they stay owned by `./common`, `./product`, `./cart` and `./order`.
|
|
95
|
+
*
|
|
96
|
+
* @module commerce
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* The validated single-store context — the multitenancy seam.
|
|
101
|
+
*
|
|
102
|
+
* Declares store identity, sales channel, region, and currency once and is
|
|
103
|
+
* validated at the boundary before any commerce call. Multitenancy is
|
|
104
|
+
* post-MVP; a future tenancy layer varies these values without redefining
|
|
105
|
+
* the commerce shapes.
|
|
106
|
+
*/
|
|
107
|
+
interface StoreContext {
|
|
108
|
+
/** Stable store identity. */
|
|
109
|
+
storeId: string;
|
|
110
|
+
/** Sales channel the store is scoped to (Medusa `sales_channel_id`). */
|
|
111
|
+
salesChannelId: string;
|
|
112
|
+
/** Backend region that supplies currency, countries and shipping. */
|
|
113
|
+
regionId: string;
|
|
114
|
+
/** ISO 4217 currency code from the validated context — never hardcoded. */
|
|
115
|
+
currencyCode: string;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Issued guest shopper identity, scoped to a store.
|
|
119
|
+
*
|
|
120
|
+
* Backed by a cookie the Next host owns; it maps to a persisted backend guest
|
|
121
|
+
* cart so a reload reattaches to the same cart and two shoppers stay isolated.
|
|
122
|
+
*/
|
|
123
|
+
interface ShopperIdentity {
|
|
124
|
+
/** Opaque shopper identity issued by the host cookie. */
|
|
125
|
+
shopperId: string;
|
|
126
|
+
/** Store the identity is scoped to. */
|
|
127
|
+
storeId: string;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* A persisted backend guest cart session bound to a shopper identity.
|
|
131
|
+
*/
|
|
132
|
+
interface CartSession {
|
|
133
|
+
/** Backend cart identifier. */
|
|
134
|
+
cartId: string;
|
|
135
|
+
/** Owning shopper identity. */
|
|
136
|
+
shopperId: string;
|
|
137
|
+
/** Store the session is scoped to. */
|
|
138
|
+
storeId: string;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Safe, buyer/store-authorized order receipt projection.
|
|
142
|
+
*
|
|
143
|
+
* A minimal recoverable subset of the canonical `Order` (`./order`), used by
|
|
144
|
+
* the guest receipt protocol. Access is authorized for the buyer or the
|
|
145
|
+
* store; it is never granted by possession of a bare public order id.
|
|
146
|
+
*/
|
|
147
|
+
interface OrderReceipt {
|
|
148
|
+
/** Backend order identifier. */
|
|
149
|
+
orderId: string;
|
|
150
|
+
/** Human-readable order number. */
|
|
151
|
+
orderNumber: string;
|
|
152
|
+
/** Buyer email the order was placed with. */
|
|
153
|
+
email: string;
|
|
154
|
+
/** Order total in major units. */
|
|
155
|
+
total: Money;
|
|
156
|
+
/** ISO 8601 creation timestamp. */
|
|
157
|
+
createdAt: string;
|
|
158
|
+
}
|
|
159
|
+
|
|
86
160
|
/**
|
|
87
161
|
* Header Configuration Types
|
|
88
162
|
*
|
|
@@ -903,6 +977,201 @@ interface FilterConfig {
|
|
|
903
977
|
ranking?: number;
|
|
904
978
|
}
|
|
905
979
|
|
|
980
|
+
/**
|
|
981
|
+
* @thorprovider/types — Canonical catalog query, truthful results, and facet support.
|
|
982
|
+
*
|
|
983
|
+
* Type-only module: no runtime code, constants, or schemas. These types are shared by
|
|
984
|
+
* the URL boundary, the runtime commerce bridge, and the adapters so every product
|
|
985
|
+
* listing asks the backend one well-formed question and reports truthfully what was
|
|
986
|
+
* applied. Validation (Zod) lives in `@thorprovider/runtime/contracts`; translation to
|
|
987
|
+
* backend parameters lives in the adapters.
|
|
988
|
+
*
|
|
989
|
+
* E2 `storefront-catalog-search-filters`. The canonical URL parameter contract is:
|
|
990
|
+
* `q` (text), the route category scope plus `categories`/`collections`, `sort`
|
|
991
|
+
* (`featured` | `name` | `newest`), `page`/`pageSize`, and the optional requested
|
|
992
|
+
* facets `priceMin`/`priceMax`/`inStock`/`attr.<name>`.
|
|
993
|
+
*/
|
|
994
|
+
|
|
995
|
+
/**
|
|
996
|
+
* Canonical, backend-verified sort keys.
|
|
997
|
+
*
|
|
998
|
+
* Only these three are verified against Medusa v2: `featured` (server default),
|
|
999
|
+
* `name` (translated to `title`), and `newest` (translated to `-created_at`). Global
|
|
1000
|
+
* price ordering and rating are not verified and are rejected by the boundary as a
|
|
1001
|
+
* typed unsupported-query error. An adapter advertises the subset it can actually
|
|
1002
|
+
* apply; the listing never offers a sort the backend cannot perform.
|
|
1003
|
+
*/
|
|
1004
|
+
type CatalogSortKey = 'featured' | 'name' | 'newest';
|
|
1005
|
+
/**
|
|
1006
|
+
* Canonical catalog query crossing the URL boundary, the runtime bridge, and the
|
|
1007
|
+
* adapters.
|
|
1008
|
+
*
|
|
1009
|
+
* Fields mirror the fixed, lowercase URL namespace. They are optional because
|
|
1010
|
+
* documented defaults (`sort` = `featured`, `page` = `1`, `pageSize` = the chosen
|
|
1011
|
+
* target default) are resolved by the URL boundary and apply only to absent
|
|
1012
|
+
* parameters, never to invalid present values.
|
|
1013
|
+
*/
|
|
1014
|
+
interface CatalogQuery {
|
|
1015
|
+
/** Free-text term (`q`). Trimmed, bounded, and empty treated as absent. */
|
|
1016
|
+
text?: string;
|
|
1017
|
+
/**
|
|
1018
|
+
* Category scope supplied by the route path (`/categorias/[[...slug]]`). The route
|
|
1019
|
+
* scope is always retained, even when both optional features are removed.
|
|
1020
|
+
*/
|
|
1021
|
+
categoryScope?: string;
|
|
1022
|
+
/**
|
|
1023
|
+
* Category handles requested by the `category-filters` feature. The effective
|
|
1024
|
+
* scope is `categoryScope ∩ categories`; an empty intersection is a valid
|
|
1025
|
+
* zero-result query, never an invalid-query error.
|
|
1026
|
+
*/
|
|
1027
|
+
categories?: string[];
|
|
1028
|
+
/** Collection handles requested by the `category-filters` feature. */
|
|
1029
|
+
collections?: string[];
|
|
1030
|
+
/** Canonical sort key; defaults are resolved at the URL boundary, not here. */
|
|
1031
|
+
sort?: CatalogSortKey;
|
|
1032
|
+
/** 1-based page; bounds are enforced at the URL boundary. */
|
|
1033
|
+
page?: number;
|
|
1034
|
+
/** Page size; bounds are enforced at the URL boundary. */
|
|
1035
|
+
pageSize?: number;
|
|
1036
|
+
/** Minimum price in major units; honored only when the price facet is demonstrated. */
|
|
1037
|
+
priceMin?: number;
|
|
1038
|
+
/** Maximum price in major units; honored only when the price facet is demonstrated. */
|
|
1039
|
+
priceMax?: number;
|
|
1040
|
+
/** In-stock only; honored only when demonstrated, otherwise a typed unsupported error. */
|
|
1041
|
+
inStock?: boolean;
|
|
1042
|
+
/** Requested attribute filters keyed by attribute name (`attr.<name>`). */
|
|
1043
|
+
attributes?: Record<string, string[]>;
|
|
1044
|
+
}
|
|
1045
|
+
/**
|
|
1046
|
+
* Filters the backend actually applied to a successful result.
|
|
1047
|
+
*
|
|
1048
|
+
* A result is reported as success only when every requested filter appears here.
|
|
1049
|
+
*/
|
|
1050
|
+
interface CatalogAppliedFilters {
|
|
1051
|
+
/** Text term applied within the current scope. */
|
|
1052
|
+
text?: string;
|
|
1053
|
+
/** Category handles applied (the effective intersected scope). */
|
|
1054
|
+
categories?: string[];
|
|
1055
|
+
/** Collection handles applied. */
|
|
1056
|
+
collections?: string[];
|
|
1057
|
+
/** Minimum price applied. */
|
|
1058
|
+
priceMin?: number;
|
|
1059
|
+
/** Maximum price applied. */
|
|
1060
|
+
priceMax?: number;
|
|
1061
|
+
/** In-stock constraint applied. */
|
|
1062
|
+
inStock?: boolean;
|
|
1063
|
+
/** Attribute filters applied, keyed by attribute name. */
|
|
1064
|
+
attributes?: Record<string, string[]>;
|
|
1065
|
+
}
|
|
1066
|
+
/**
|
|
1067
|
+
* Canonical filter identifiers used by the support descriptor.
|
|
1068
|
+
*
|
|
1069
|
+
* `attr.<name>` covers backend-advertised filterable attributes.
|
|
1070
|
+
*/
|
|
1071
|
+
type CatalogFacetId = 'categories' | 'collections' | 'price' | 'inStock' | `attr.${string}`;
|
|
1072
|
+
/**
|
|
1073
|
+
* Real-endpoint demonstration source for an offered facet.
|
|
1074
|
+
*
|
|
1075
|
+
* Records the actual backend endpoint demonstrated with the applied query for the
|
|
1076
|
+
* current scope, not a capability flag or returned facet metadata.
|
|
1077
|
+
*/
|
|
1078
|
+
interface CatalogFacetDemonstrationSource {
|
|
1079
|
+
/** Real backend endpoint demonstrated with the applied query (e.g. `/store/products`). */
|
|
1080
|
+
endpoint: string;
|
|
1081
|
+
/** The query and scope the endpoint was demonstrated with. */
|
|
1082
|
+
appliedQuery?: CatalogQuery;
|
|
1083
|
+
/** Store/scope the demonstration applies to. */
|
|
1084
|
+
scope?: string;
|
|
1085
|
+
/** ISO-8601 timestamp of when support was demonstrated. */
|
|
1086
|
+
demonstratedAt?: string;
|
|
1087
|
+
}
|
|
1088
|
+
/**
|
|
1089
|
+
* Truthful facet support descriptor: which filters the backend has demonstrated
|
|
1090
|
+
* (offered) versus which are undemonstrated and held, plus the demonstration source
|
|
1091
|
+
* for each offered filter.
|
|
1092
|
+
*
|
|
1093
|
+
* Contains no counts or ranges. Facet option counts and numeric ranges come only from
|
|
1094
|
+
* backend data returned for the current query and are never synthesized here.
|
|
1095
|
+
*/
|
|
1096
|
+
interface FacetSupport {
|
|
1097
|
+
/** Filters demonstrated against the real endpoint for the current scope. */
|
|
1098
|
+
offered: CatalogFacetId[];
|
|
1099
|
+
/** Filters not demonstrated; held and diagnosed, never silently offered. */
|
|
1100
|
+
held: CatalogFacetId[];
|
|
1101
|
+
/** Real-endpoint demonstration source per offered filter, keyed by filter id. */
|
|
1102
|
+
demonstrations?: Record<string, CatalogFacetDemonstrationSource>;
|
|
1103
|
+
/** Diagnostic reason per held filter, keyed by filter id. */
|
|
1104
|
+
heldReasons?: Record<string, string>;
|
|
1105
|
+
}
|
|
1106
|
+
/**
|
|
1107
|
+
* Truthful catalog result for a fully applied query.
|
|
1108
|
+
*
|
|
1109
|
+
* When any requested filter cannot be applied, the query MUST return a typed
|
|
1110
|
+
* unsupported-query error (defined in `@thorprovider/runtime/contracts`) instead of
|
|
1111
|
+
* this shape; a partial result is never labelled success. `total` is present only
|
|
1112
|
+
* when the backend supplies it and is never manufactured.
|
|
1113
|
+
*/
|
|
1114
|
+
interface CatalogResults {
|
|
1115
|
+
/** Matching products for the requested scope, sort, and page. */
|
|
1116
|
+
products: Product[];
|
|
1117
|
+
/** Total matches supplied by the backend; absent when the backend returns none. */
|
|
1118
|
+
total?: number;
|
|
1119
|
+
/** Filters the backend actually applied. */
|
|
1120
|
+
appliedFilters: CatalogAppliedFilters;
|
|
1121
|
+
/** Facet support descriptor for the query and scope. */
|
|
1122
|
+
facetSupport?: FacetSupport;
|
|
1123
|
+
}
|
|
1124
|
+
/**
|
|
1125
|
+
* Adapter-seam typed failure code for a canonical catalog query.
|
|
1126
|
+
*
|
|
1127
|
+
* `unsupported-query` is the code an adapter returns when a requested filter
|
|
1128
|
+
* cannot be applied to the backend. `invalid-query` and `unmounted-capability`
|
|
1129
|
+
* are produced by the URL boundary (`@thorprovider/runtime/contracts`); the
|
|
1130
|
+
* adapter seam mirrors them so the runtime bridge can surface either shape
|
|
1131
|
+
* without a translation layer.
|
|
1132
|
+
*/
|
|
1133
|
+
type CatalogQueryFailureCode = 'invalid-query' | 'unsupported-query' | 'unmounted-capability';
|
|
1134
|
+
/**
|
|
1135
|
+
* Compact, structured repair metadata: the raw parameter names a host must drop
|
|
1136
|
+
* to reach a valid query. Structurally identical to the URL boundary's repair.
|
|
1137
|
+
*/
|
|
1138
|
+
interface CatalogQueryFailureRepair {
|
|
1139
|
+
/** Raw URL parameter names to remove (exactly the offending fields). */
|
|
1140
|
+
remove: string[];
|
|
1141
|
+
}
|
|
1142
|
+
/**
|
|
1143
|
+
* Typed catalog-query failure returned across the adapter seam.
|
|
1144
|
+
*
|
|
1145
|
+
* Structurally identical to `CatalogQueryError` in
|
|
1146
|
+
* `@thorprovider/runtime/contracts`, so the two are mutually assignable and the
|
|
1147
|
+
* runtime bridge can pass one through as the other. `fields` names the
|
|
1148
|
+
* offending raw parameters; `feature` is present only for
|
|
1149
|
+
* `unmounted-capability`.
|
|
1150
|
+
*/
|
|
1151
|
+
interface CatalogQueryFailure {
|
|
1152
|
+
code: CatalogQueryFailureCode;
|
|
1153
|
+
fields: string[];
|
|
1154
|
+
message: string;
|
|
1155
|
+
repair: CatalogQueryFailureRepair;
|
|
1156
|
+
feature?: 'catalog-search' | 'category-filters';
|
|
1157
|
+
}
|
|
1158
|
+
/**
|
|
1159
|
+
* Discriminated outcome of a canonical catalog query against a provider.
|
|
1160
|
+
*
|
|
1161
|
+
* A provider returns `{ ok: true, results }` **only** when every requested
|
|
1162
|
+
* filter was applied. When any requested filter cannot be applied it returns
|
|
1163
|
+
* `{ ok: false, error }` with `code: 'unsupported-query'` naming the
|
|
1164
|
+
* unappliable fields; a partial result is never returned as success and a
|
|
1165
|
+
* requested filter is never silently dropped.
|
|
1166
|
+
*/
|
|
1167
|
+
type CatalogQueryOutcome = {
|
|
1168
|
+
ok: true;
|
|
1169
|
+
results: CatalogResults;
|
|
1170
|
+
} | {
|
|
1171
|
+
ok: false;
|
|
1172
|
+
error: CatalogQueryFailure;
|
|
1173
|
+
};
|
|
1174
|
+
|
|
906
1175
|
/**
|
|
907
1176
|
* @thorprovider/adapters v2.0
|
|
908
1177
|
* Cart types - unified interface for all commerce providers
|
|
@@ -926,6 +1195,13 @@ interface CartItem {
|
|
|
926
1195
|
stockStatus?: StockStatus;
|
|
927
1196
|
cost: {
|
|
928
1197
|
totalAmount: Money;
|
|
1198
|
+
/**
|
|
1199
|
+
* Backend unit price for a single quantity, when the backend supplies it.
|
|
1200
|
+
*
|
|
1201
|
+
* Carried so the display never derives a unit price locally; absent when
|
|
1202
|
+
* the backend did not return one.
|
|
1203
|
+
*/
|
|
1204
|
+
unitPrice?: Money;
|
|
929
1205
|
};
|
|
930
1206
|
merchandise: {
|
|
931
1207
|
id: string;
|
|
@@ -936,11 +1212,20 @@ interface CartItem {
|
|
|
936
1212
|
}
|
|
937
1213
|
/**
|
|
938
1214
|
* Cart cost breakdown
|
|
1215
|
+
*
|
|
1216
|
+
* Every amount is backend-authoritative: the adapter carries the backend's
|
|
1217
|
+
* value through unchanged (including a legitimate `"0"`) and never derives a
|
|
1218
|
+
* total locally. An optional amount is absent only when the backend did not
|
|
1219
|
+
* supply it.
|
|
939
1220
|
*/
|
|
940
1221
|
interface CartCost {
|
|
941
1222
|
subtotalAmount: Money;
|
|
942
1223
|
totalAmount: Money;
|
|
943
1224
|
totalTaxAmount?: Money;
|
|
1225
|
+
/** Backend discount total, when supplied. */
|
|
1226
|
+
discountAmount?: Money;
|
|
1227
|
+
/** Backend shipping total, when supplied. */
|
|
1228
|
+
shippingAmount?: Money;
|
|
944
1229
|
}
|
|
945
1230
|
/**
|
|
946
1231
|
* Shipping method option
|
|
@@ -975,6 +1260,30 @@ interface Cart {
|
|
|
975
1260
|
stockValidation?: StockValidation;
|
|
976
1261
|
/** ISO timestamp when cart was completed/converted to order (undefined if active) */
|
|
977
1262
|
completedAt?: string;
|
|
1263
|
+
/**
|
|
1264
|
+
* Backend sales channel the cart is scoped to.
|
|
1265
|
+
*
|
|
1266
|
+
* Carried so the runtime can enforce that a cart belongs to the validated
|
|
1267
|
+
* single-store context before it is mutated; absent when a provider does not
|
|
1268
|
+
* expose it.
|
|
1269
|
+
*/
|
|
1270
|
+
salesChannelId?: string;
|
|
1271
|
+
/** Backend region the cart is scoped to (context enforcement). */
|
|
1272
|
+
regionId?: string;
|
|
1273
|
+
/** Backend currency code, uppercased (context enforcement). */
|
|
1274
|
+
currencyCode?: string;
|
|
1275
|
+
/** Backend id of the applied shipping method, when one is selected. */
|
|
1276
|
+
selectedShippingMethodId?: string;
|
|
1277
|
+
/**
|
|
1278
|
+
* Backend id of the shipping option the applied method was created from.
|
|
1279
|
+
*
|
|
1280
|
+
* This is the identity the checkout shipping UI selects (the value passed to
|
|
1281
|
+
* `addShippingMethod`), which is distinct from `selectedShippingMethodId`
|
|
1282
|
+
* (the applied shipping-method record id). Absent when no method is applied.
|
|
1283
|
+
*/
|
|
1284
|
+
selectedShippingOptionId?: string;
|
|
1285
|
+
/** Platform-specific backend metadata, carried through unchanged. */
|
|
1286
|
+
metadata?: Record<string, unknown>;
|
|
978
1287
|
}
|
|
979
1288
|
/**
|
|
980
1289
|
* Input for adding items to cart
|
|
@@ -1041,6 +1350,16 @@ interface GetCollectionsOptions {
|
|
|
1041
1350
|
limit?: number;
|
|
1042
1351
|
/** Search query to filter collections by title */
|
|
1043
1352
|
query?: string;
|
|
1353
|
+
/**
|
|
1354
|
+
* Scope results to a specific sales channel / storefront channel.
|
|
1355
|
+
* When provided, only collections that contain at least one product available
|
|
1356
|
+
* in the given channel will be returned.
|
|
1357
|
+
*
|
|
1358
|
+
* Maps to: Medusa `sales_channel_id`, Shopify Sales Channel, etc.
|
|
1359
|
+
* Adapters that support native server-side filtering should prefer it;
|
|
1360
|
+
* others may fall back to a client-side post-filter pass.
|
|
1361
|
+
*/
|
|
1362
|
+
salesChannelId?: string;
|
|
1044
1363
|
}
|
|
1045
1364
|
/**
|
|
1046
1365
|
* Options for fetching collection products
|
|
@@ -1444,48 +1763,24 @@ interface GetOrdersOptions {
|
|
|
1444
1763
|
}
|
|
1445
1764
|
|
|
1446
1765
|
/**
|
|
1447
|
-
* @thorprovider/types — Supported Providers
|
|
1766
|
+
* @thorprovider/types — Supported Providers (type-only)
|
|
1448
1767
|
*
|
|
1449
|
-
*
|
|
1450
|
-
* This is the single source of truth for provider types across the monorepo.
|
|
1768
|
+
* Defines the provider-type union contract shared across the monorepo.
|
|
1451
1769
|
*
|
|
1452
1770
|
* @remarks
|
|
1453
|
-
* - L1 (Foundation):
|
|
1454
|
-
* - L2 (@thorprovider/adapters)
|
|
1455
|
-
*
|
|
1456
|
-
*
|
|
1457
|
-
*
|
|
1458
|
-
*
|
|
1459
|
-
*
|
|
1460
|
-
*
|
|
1461
|
-
*
|
|
1462
|
-
*
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
* `mock` is the backend-optional runtime provider used for layout/design mode.
|
|
1467
|
-
* `medusa` is fully implemented for real backend usage; others are placeholders for future expansion.
|
|
1468
|
-
*
|
|
1469
|
-
* @remarks Implementation status:
|
|
1470
|
-
* - ✅ mock: Fixture-backed provider for backend-optional storefronts
|
|
1471
|
-
* - ✅ medusa: Fully implemented
|
|
1472
|
-
* - 🟡 stelorder: In progress (ERP adapter v1)
|
|
1473
|
-
* - 🟡 shopify: Planned (Phase 2)
|
|
1474
|
-
* - 🟡 bigcommerce: Planned (Phase 2)
|
|
1475
|
-
* - 🟡 woocommerce: Planned (Phase 3)
|
|
1476
|
-
* - 🟡 spree: Planned (Phase 3)
|
|
1477
|
-
* - 🟡 magento: Planned (Phase 3)
|
|
1478
|
-
*/
|
|
1479
|
-
declare enum SupportedProviderType {
|
|
1480
|
-
Mock = "mock",
|
|
1481
|
-
Medusa = "medusa",
|
|
1482
|
-
StelOrder = "stelorder",
|
|
1483
|
-
Shopify = "shopify",
|
|
1484
|
-
BigCommerce = "bigcommerce",
|
|
1485
|
-
WooCommerce = "woocommerce",
|
|
1486
|
-
Spree = "spree",
|
|
1487
|
-
Magento = "magento"
|
|
1488
|
-
}
|
|
1771
|
+
* - L1 (Foundation): owns the `ProviderTypeString` union type only.
|
|
1772
|
+
* - L2 (@thorprovider/adapters) owns the runtime provider registry
|
|
1773
|
+
* (`SupportedProviderType`, `PROVIDER_METADATA`, `isSupportedProviderType`,
|
|
1774
|
+
* `getProviderMetadata`) in `@thorprovider/adapters`.
|
|
1775
|
+
*
|
|
1776
|
+
* When adding a new provider:
|
|
1777
|
+
* 1. Add the string to `ProviderTypeString` below.
|
|
1778
|
+
* 2. Add it to `SupportedProviderType` + `PROVIDER_METADATA` in
|
|
1779
|
+
* packages/adapters/src/factory/provider-types.ts.
|
|
1780
|
+
* 3. Create packages/adapters/src/providers/[platform]/ and implement the
|
|
1781
|
+
* `CommerceProvider` interface.
|
|
1782
|
+
* 4. Update `StorefrontPlatformType` in storefront.ts.
|
|
1783
|
+
*/
|
|
1489
1784
|
/**
|
|
1490
1785
|
* Union type of all supported provider string values.
|
|
1491
1786
|
* Use this for type annotations when a provider type is expected.
|
|
@@ -1498,41 +1793,6 @@ declare enum SupportedProviderType {
|
|
|
1498
1793
|
* ```
|
|
1499
1794
|
*/
|
|
1500
1795
|
type ProviderTypeString = 'mock' | 'medusa' | 'stelorder' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
1501
|
-
/**
|
|
1502
|
-
* Metadata about each provider.
|
|
1503
|
-
* Useful for UI, error messages, validation, and documentation.
|
|
1504
|
-
*
|
|
1505
|
-
* @internal
|
|
1506
|
-
*/
|
|
1507
|
-
declare const PROVIDER_METADATA: Record<ProviderTypeString, {
|
|
1508
|
-
name: string;
|
|
1509
|
-
description: string;
|
|
1510
|
-
requiresStorefront: boolean;
|
|
1511
|
-
requiredEnvVars: string[];
|
|
1512
|
-
maxRetries: number;
|
|
1513
|
-
}>;
|
|
1514
|
-
/**
|
|
1515
|
-
* Check if a string is a valid provider type.
|
|
1516
|
-
*
|
|
1517
|
-
* @example
|
|
1518
|
-
* ```typescript
|
|
1519
|
-
* if (isSupportedProviderType(process.env.COMMERCE_PROVIDER)) {
|
|
1520
|
-
* // type is narrowed to ProviderTypeString
|
|
1521
|
-
* }
|
|
1522
|
-
* ```
|
|
1523
|
-
*/
|
|
1524
|
-
declare function isSupportedProviderType(value: unknown): value is ProviderTypeString;
|
|
1525
|
-
/**
|
|
1526
|
-
* Get metadata for a provider type.
|
|
1527
|
-
* Useful for validation, error messages, and logging.
|
|
1528
|
-
*
|
|
1529
|
-
* @example
|
|
1530
|
-
* ```typescript
|
|
1531
|
-
* const meta = getProviderMetadata('medusa');
|
|
1532
|
-
* console.log(`Using ${meta.name} with max ${meta.maxRetries} retries`);
|
|
1533
|
-
* ```
|
|
1534
|
-
*/
|
|
1535
|
-
declare function getProviderMetadata(type: ProviderTypeString): (typeof PROVIDER_METADATA)[ProviderTypeString];
|
|
1536
1796
|
|
|
1537
1797
|
/**
|
|
1538
1798
|
* @thorprovider/types — Storefront Context
|
|
@@ -1550,9 +1810,11 @@ declare function getProviderMetadata(type: ProviderTypeString): (typeof PROVIDER
|
|
|
1550
1810
|
* Supported commerce platform types for storefront identification.
|
|
1551
1811
|
*
|
|
1552
1812
|
* @remarks
|
|
1553
|
-
* Keep this type in sync with
|
|
1554
|
-
*
|
|
1555
|
-
*
|
|
1813
|
+
* Keep this type in sync with ProviderTypeString from provider.ts and the
|
|
1814
|
+
* runtime registry in @thorprovider/adapters
|
|
1815
|
+
* (packages/adapters/src/factory/provider-types.ts).
|
|
1816
|
+
* When adding a new provider, update packages/types/src/provider.ts, this
|
|
1817
|
+
* type, and the adapters registry.
|
|
1556
1818
|
*
|
|
1557
1819
|
* Currently supported:
|
|
1558
1820
|
* - ✅ 'mock': Backend-optional layout/design mode using fixture data
|
|
@@ -1626,24 +1888,6 @@ interface StorefrontContext {
|
|
|
1626
1888
|
*/
|
|
1627
1889
|
metadata?: Record<string, unknown>;
|
|
1628
1890
|
}
|
|
1629
|
-
/**
|
|
1630
|
-
* Storefront validation error.
|
|
1631
|
-
* Thrown when storefront configuration is invalid or missing.
|
|
1632
|
-
*
|
|
1633
|
-
* @example
|
|
1634
|
-
* ```typescript
|
|
1635
|
-
* throw new StorefrontConfigError(
|
|
1636
|
-
* 'Medusa requires NEXT_PUBLIC_SALES_CHANNEL_ID',
|
|
1637
|
-
* 'medusa',
|
|
1638
|
-
* 'NEXT_PUBLIC_SALES_CHANNEL_ID',
|
|
1639
|
-
* );
|
|
1640
|
-
* ```
|
|
1641
|
-
*/
|
|
1642
|
-
declare class StorefrontConfigError extends Error {
|
|
1643
|
-
readonly platformType: string;
|
|
1644
|
-
readonly requiredEnvVar?: string;
|
|
1645
|
-
constructor(message: string, platformType: string, requiredEnvVar?: string);
|
|
1646
|
-
}
|
|
1647
1891
|
|
|
1648
1892
|
/**
|
|
1649
1893
|
* @thorprovider/types — Storefront Configuration
|
|
@@ -2505,6 +2749,21 @@ interface CommerceProvider {
|
|
|
2505
2749
|
* ```
|
|
2506
2750
|
*/
|
|
2507
2751
|
readonly capabilities: BackendCapabilities;
|
|
2752
|
+
/**
|
|
2753
|
+
* Canonical catalog sort keys this provider can actually apply at the query
|
|
2754
|
+
* level (E2 `storefront-catalog-search-filters`, design Decision 6).
|
|
2755
|
+
*
|
|
2756
|
+
* Advertises only backend-verified orderings — for Medusa, `featured`
|
|
2757
|
+
* (server default), `name` (translated to `title`), and `newest` (translated
|
|
2758
|
+
* to `-created_at`). A global price or rating sort is never advertised. The
|
|
2759
|
+
* runtime query boundary consumes this set as `supportedSortKeys` and turns a
|
|
2760
|
+
* requested sort outside it into a typed unsupported-query error, so the
|
|
2761
|
+
* listing never offers an ordering the backend cannot perform.
|
|
2762
|
+
*
|
|
2763
|
+
* Optional and additive: when absent, no ordering beyond the canonical default
|
|
2764
|
+
* is assumed from the advertisement.
|
|
2765
|
+
*/
|
|
2766
|
+
readonly supportedCatalogSortKeys?: readonly CatalogSortKey[];
|
|
2508
2767
|
/**
|
|
2509
2768
|
* Whether this provider is backed by fixture/mock data instead of a live backend.
|
|
2510
2769
|
*
|
|
@@ -2534,6 +2793,24 @@ interface CommerceProvider {
|
|
|
2534
2793
|
* for layout/design workflows until a real backend is configured.
|
|
2535
2794
|
*/
|
|
2536
2795
|
getProducts(options?: GetProductsOptions): Promise<Product[]>;
|
|
2796
|
+
/**
|
|
2797
|
+
* Run a canonical, validated catalog query against the real listing endpoint
|
|
2798
|
+
* (OPTIONAL — E2 `storefront-catalog-search-filters`, task 2.2).
|
|
2799
|
+
*
|
|
2800
|
+
* The adapter translates the canonical `CatalogQuery` (text, the route
|
|
2801
|
+
* category scope plus `categories`/`collections`, sort, pagination, and
|
|
2802
|
+
* requested filters) into its backend's parameters and returns a truthful
|
|
2803
|
+
* `CatalogQueryOutcome`: `{ ok: true, results }` only when **every** requested
|
|
2804
|
+
* filter was applied, or `{ ok: false, error }` with `code:
|
|
2805
|
+
* 'unsupported-query'` naming the fields it cannot apply. It never returns a
|
|
2806
|
+
* partial result labelled success and never silently drops a requested filter.
|
|
2807
|
+
*
|
|
2808
|
+
* Optional and additive: providers that cannot forward a canonical query omit
|
|
2809
|
+
* it and callers fall back to `getProducts`/`getCategoryProducts`. The legacy
|
|
2810
|
+
* zero-argument and options-based methods keep their `Product[]` return and
|
|
2811
|
+
* are unchanged. This is the typed seam the runtime catalog bridge consumes.
|
|
2812
|
+
*/
|
|
2813
|
+
getCatalogProducts?(query: CatalogQuery): Promise<CatalogQueryOutcome>;
|
|
2537
2814
|
/**
|
|
2538
2815
|
* Get product recommendations for a given product
|
|
2539
2816
|
* @param productId - Product ID
|
|
@@ -6362,4 +6639,4 @@ type UpdateBusinessPolicyResponse = {
|
|
|
6362
6639
|
business_policy: string;
|
|
6363
6640
|
};
|
|
6364
6641
|
|
|
6365
|
-
export { type AccountDropdownConfig, type AccountMenuItem, type AcknowledgeCostPriceChangesResponse, type ActiveFilter, type AddOrderEditItemBody, type AddOrderEditItemResponse, type Address, type AdminApiKey, type AdminChannelCategory, type AdminChannelCustomer, type AdminDropshipperAccount, type AdminDropshipperBalance, type AdminProduct, type AdminProductVariant, type AdminSalesChannelRef, type AdminSiteConfig, type AdminSiteConfigHistoryEntry, type AdminSiteConfigHistoryEntryFull, type AdminStorefrontConfig, type AdminStorefrontSeoDefaults, type AdminUser, type AdvancedSearchProductsOptions, type AssignCategoriesToChannelsBody, type AssignCategoriesToChannelsResponse, type AssignCollectionsToChannelsBody, type AssignCollectionsToChannelsResponse, type AuditLog, type AuditLogAdapter, type AuthConfig, type AuthMethod, type AuthProvider, type AuthResponse, type AuthStorage, type AuthorConfig, type BackendCapabilities, type BrandConfig, type CachedPaymentMethods, type CancelDropshipperOrderResponse, type CancelMovementBody, type CancelMovementResponse, type CancelSettlementBody, type Cart, type CartCost, type CartItem, type CartLineInput, type CartLineUpdate, type CartProduct, type CategoryMapping, type ChartDataPoint, type ChatAssistantHealthResponse, type ChatIntent, type ChatMessage, type ChatRequest, type ChatResponse, type ChatSource, type ChatSourceVariant, type Collection, type CollectionProductsOptions, type CommerceProvider, type CompareProduct, type ConfigHistoryEntry, type ConfirmMovementBody, type ConfirmMovementResponse, type ConfirmOrderEditResponse, type ConfirmSettlementBody, type Connection, type ConvertDropshipperDraftOrderBody, type ConvertDropshipperDraftOrderResponse, type CostPriceChangeItem, type CostPriceChangesCheckResponse, type CostPriceChangesResponse, type Country, type CreateAddressData, type CreateAjusteBody, type CreateAjusteResponse, type CreateCategoryMappingBody, type CreateCategoryMappingResponse, type CreateCobroBody, type CreateCobroResponse, type CreateCompensacionBody, type CreateCompensacionResponse, type CreateDropshipperCategoryBody, type CreateDropshipperCustomerBody, type CreateDropshipperCustomerResponse, type CreateDropshipperDraftOrderBody, type CreateDropshipperDraftOrderResponse, type CreateDropshipperOrderBody, type CreateDropshipperOrderResponse, type CreateDropshipperPromotionBody, type CreateOrderEditBody, type CreateOrderEditResponse, type CreateOrderItem, type CreateOrderNoteBody, type CreateOrderNoteResponse, type CreatePagoBody, type CreatePagoResponse, type CreateReversoBody, type CreateReversoResponse, type CreateSettlementBody, type CreateSettlementResponse, type Customer, type DashboardChanges, type DashboardConfig, type DashboardMetrics, type DashboardMetricsAdapter, type DashboardOrdersAdapter, type DashboardPeriodMetrics, type DashboardProductsAdapter, type DashboardStats, type DashboardTopProduct, type DeleteCategoryMappingResponse, type DeleteDropshipperCategoryResponse, type DeleteDropshipperDraftOrderResponse, type DeleteDropshipperPromotionResponse, type DeleteOrderNoteResponse, type DesignerConfig, type DesignerHistoryEntry, type DesignerNavItem, type DesignerThemeConfig, type DesignerThemePreset, type DiscountCode, type DropshipperAccount, type DropshipperAccountRef, type DropshipperAddressBody, type DropshipperAddressResponse, type DropshipperAttributeDefinition, type DropshipperAttributeDefinitionValue, type DropshipperBalance, type DropshipperCategory, type DropshipperCostTier, type DropshipperCustomer, type DropshipperCustomerAddress, type DropshipperCustomerDetail, type DropshipperCustomerFinancial, type DropshipperCustomerStats, type DropshipperDashboardCapabilities, type DropshipperDraftOrder, type DropshipperDraftOrderItem, type DropshipperNotificationEventType, type DropshipperNotificationPreference, type DropshipperOrder, type DropshipperOrderCustomer, type DropshipperOrderDetail, type DropshipperOrderItem, type DropshipperOrderShippingAddress, type DropshipperOrderTimelineEvent, type DropshipperOrderTotals, type DropshipperPayableOrder, type DropshipperPaymentMethodConfig, type DropshipperPendingOrders, type DropshipperPriceItem, type DropshipperPriceTier, type DropshipperProduct, type DropshipperProductAttachment, type DropshipperProductAttribute, type DropshipperProductAttributeValue, type DropshipperProductImage, type DropshipperProductOption, type DropshipperProductOptionValue, type DropshipperProductPrivateMedia, type DropshipperProfile, type DropshipperPromotion, type DropshipperReceivableOrder, type DropshipperSaleTier, type DropshipperShippingGroup, type DropshipperShippingGroupOption, type DropshipperShippingOption, type DropshipperVariant, type DynamicSource, type Edge, type ExtendedCreateDropshipperOrderBody, type ExtendedCreateDropshipperOrderResponse, type FilterConfig, type FilterOption, type FilterSection, type FulfillmentOption, type FulfillmentSet, type FulfillmentStatus, type GeoCity, type GeoCountry, type GeoProvince, type GetAdminAccountBalanceResponse, type GetAdminDropshipperAccountOrdersResponse, type GetAdminDropshipperAccountSettlementsOptions, type GetAdminDropshipperAccountSettlementsResponse, type GetAdminDropshipperAccountsResponse, type GetAdminPriceListsResponse, type GetAdminSiteConfigHistoryOptions, type GetAdminSiteConfigHistoryResponse, type GetAdminSiteConfigResponse, type GetAdminStorefrontConfigResponse, type GetBusinessPolicyResponse, type GetCategoriesCallback, type GetCategoriesOptions, type GetCategoryMappingsOptions, type GetCategoryMappingsResponse, type GetCategorySalesChannelsResponse, type GetChannelApiKeysResponse, type GetChannelCategoriesOptions, type GetChannelCategoriesResponse, type GetChannelCustomersOptions, type GetChannelCustomersResponse, type GetCollectionSalesChannelsResponse, type GetCollectionsOptions, type GetCustomersCallback, type GetCustomersOptions, type GetDashboardStatsOptions, type GetDashboardStatsResponse, type GetDropshipperAccountBalanceResponse, type GetDropshipperAccountOrdersOptions, type GetDropshipperAccountOrdersResponse, type GetDropshipperAccountResponse, type GetDropshipperAddressesResponse, type GetDropshipperAttributesResponse, type GetDropshipperCategoriesOptions, type GetDropshipperCategoriesResponse, type GetDropshipperCustomerDetailResponse, type GetDropshipperCustomersOptions, type GetDropshipperCustomersResponse, type GetDropshipperDraftOrderDetailResponse, type GetDropshipperDraftOrdersOptions, type GetDropshipperDraftOrdersResponse, type GetDropshipperOrderDetailResponse, type GetDropshipperOrdersOptions, type GetDropshipperOrdersResponse, type GetDropshipperPayableResponse, type GetDropshipperProductsOptions, type GetDropshipperProductsResponse, type GetDropshipperPromotionsOptions, type GetDropshipperPromotionsResponse, type GetDropshipperReceivableResponse, type GetDropshipperShippingOptionsBody, type GetDropshipperShippingOptionsResponse, type GetFinancialAnalysisResponse, type GetGeoCitiesResponse, type GetGeoCountriesResponse, type GetGeoProvincesResponse, type GetMyProfileResponse, type GetNotificationPreferencesResponse, type GetNotificationsOptions, type GetNotificationsResponse, type GetOrderNotesResponse, type GetOrdersCallback, type GetOrdersOptions, type GetProductAttributesResponse, type GetProductsOptions, type GetProviderCategoriesResponse, type GetSettlementDetailResponse, type GetSettlementsOptions, type GetSettlementsResponse, type GetStorefrontDropshipperCategoriesResponse, type GetUserChannelResponse, type HeaderLinkItem, type HeaderNavigationConfig, type IconConfig, type Image, type InterestCategory, type InventoryLevel, type LinkCustomerToChannelResponse, type LoginCredentials, type ManualAdminNotificationData, type ModulesConfig, type Money, type NavigationCalloutItem, type NavigationItem, type NavigationLinkItem, type NotificationData, type OnboardDropshipperBody, type OnboardDropshipperResponse, type Order, type OrderItem, type OrderNote, type OrderStatus, type OrdersMetrics, PROVIDER_METADATA, type PaginationOptions, type PasswordResetConfirm, type PasswordResetRequest, type PaymentMethod$1 as PaymentMethod, type PaymentMethodFeatures, type PaymentMethodType, type PaymentMethodsOptions, type PaymentStatus, type PriceRange, type PriceUpdatedNotificationData, type Product, type ProductAssignedNotificationData, type ProductCategory, type ProductOption, type ProductPreview, type ProductVariant, type ProductsMetrics, type PromotionRule, type ProviderCategory, type ProviderConfig, type ProviderTypeString, type QueryEntitiesInput, type QueryEntityInput, type QueryErrors, type QueryMeta, type QueryResponse, type QuerySortDirection, type RawNotification, type RecoveryConfirmResult, type Region, type RegisterData, type RegisterPaymentBody, type RegisterPaymentResponse, type RequestedProfile, type ResolveGuaranteeBody, type ResolveGuaranteeResponse, type RestoreSiteConfigResponse, type Review, type SEO, type SalesChannelType, type SalesMetrics, type SearchBarConfig, type SearchResultMeta, type SelectedOption, type SetPaymentCollectorBody, type SetPaymentCollectorResponse, type SetPaymentMethodBody, type SetPaymentMethodResponse, type SettlementRecord, type SettlementStatus, type ShippingGroupInput, type ShippingMethod, type SiteConfig, type SiteConfigLabels, type SiteConfigMetadata, type SocialConfig, type SortOption, type SortOptions, type StockChangeNotificationData, type StockLocation, type StockStatus, type StockValidation, type StorefrontConfig, StorefrontConfigError, type StorefrontContext, type StorefrontPlatformType, type StorefrontSeoDefaults, type SubmitApplicationBody, type SubmitApplicationConflictApplication, type SubmitApplicationCreated, type SubmitApplicationResponse, type SubmitApplicationResult, type SubmitApplicationSalesChannel, SupportedProviderType, type TokenVerifyResult, type TokenVerifyState, type UnassignCategoriesFromChannelsBody, type UnassignCategoriesFromChannelsResponse, type UnassignCollectionsFromChannelsBody, type UnassignCollectionsFromChannelsResponse, type UpdateBusinessPolicyBody, type UpdateBusinessPolicyResponse, type UpdateCustomerData, type UpdateDropshipperCategoryBody, type UpdateDropshipperCustomerBody, type UpdateDropshipperCustomerResponse, type UpdateDropshipperDraftOrderBody, type UpdateDropshipperDraftOrderResponse, type UpdateDropshipperPricesBody, type UpdateDropshipperPricesResponse, type UpdateDropshipperProductStatusBody, type UpdateDropshipperProductStatusResponse, type UpdateDropshipperPromotionBody, type UpdateNotificationPreferencesBody, type UpdateSettlementStatusResponse, type UpdateSiteConfigBody, type UpdateSiteConfigResponse, type UpdateStorefrontConfigBody, type UpdateStorefrontConfigResponse, type ValidateCheckoutItemsRequest, type ValidateCheckoutItemsResponse, type ValidatedCheckoutItem, getProviderMetadata, isSupportedProviderType };
|
|
6642
|
+
export type { AccountDropdownConfig, AccountMenuItem, AcknowledgeCostPriceChangesResponse, ActiveFilter, AddOrderEditItemBody, AddOrderEditItemResponse, Address, AdminApiKey, AdminChannelCategory, AdminChannelCustomer, AdminDropshipperAccount, AdminDropshipperBalance, AdminProduct, AdminProductVariant, AdminSalesChannelRef, AdminSiteConfig, AdminSiteConfigHistoryEntry, AdminSiteConfigHistoryEntryFull, AdminStorefrontConfig, AdminStorefrontSeoDefaults, AdminUser, AdvancedSearchProductsOptions, AssignCategoriesToChannelsBody, AssignCategoriesToChannelsResponse, AssignCollectionsToChannelsBody, AssignCollectionsToChannelsResponse, AuditLog, AuditLogAdapter, AuthConfig, AuthMethod, AuthProvider, AuthResponse, AuthStorage, AuthorConfig, BackendCapabilities, BrandConfig, CachedPaymentMethods, CancelDropshipperOrderResponse, CancelMovementBody, CancelMovementResponse, CancelSettlementBody, Cart, CartCost, CartItem, CartLineInput, CartLineUpdate, CartProduct, CartSession, CatalogAppliedFilters, CatalogFacetDemonstrationSource, CatalogFacetId, CatalogQuery, CatalogQueryFailure, CatalogQueryFailureCode, CatalogQueryFailureRepair, CatalogQueryOutcome, CatalogResults, CatalogSortKey, CategoryMapping, ChartDataPoint, ChatAssistantHealthResponse, ChatIntent, ChatMessage, ChatRequest, ChatResponse, ChatSource, ChatSourceVariant, Collection, CollectionProductsOptions, CommerceProvider, CompareProduct, ConfigHistoryEntry, ConfirmMovementBody, ConfirmMovementResponse, ConfirmOrderEditResponse, ConfirmSettlementBody, Connection, ConvertDropshipperDraftOrderBody, ConvertDropshipperDraftOrderResponse, CostPriceChangeItem, CostPriceChangesCheckResponse, CostPriceChangesResponse, Country, CreateAddressData, CreateAjusteBody, CreateAjusteResponse, CreateCategoryMappingBody, CreateCategoryMappingResponse, CreateCobroBody, CreateCobroResponse, CreateCompensacionBody, CreateCompensacionResponse, CreateDropshipperCategoryBody, CreateDropshipperCustomerBody, CreateDropshipperCustomerResponse, CreateDropshipperDraftOrderBody, CreateDropshipperDraftOrderResponse, CreateDropshipperOrderBody, CreateDropshipperOrderResponse, CreateDropshipperPromotionBody, CreateOrderEditBody, CreateOrderEditResponse, CreateOrderItem, CreateOrderNoteBody, CreateOrderNoteResponse, CreatePagoBody, CreatePagoResponse, CreateReversoBody, CreateReversoResponse, CreateSettlementBody, CreateSettlementResponse, Customer, DashboardChanges, DashboardConfig, DashboardMetrics, DashboardMetricsAdapter, DashboardOrdersAdapter, DashboardPeriodMetrics, DashboardProductsAdapter, DashboardStats, DashboardTopProduct, DeleteCategoryMappingResponse, DeleteDropshipperCategoryResponse, DeleteDropshipperDraftOrderResponse, DeleteDropshipperPromotionResponse, DeleteOrderNoteResponse, DesignerConfig, DesignerHistoryEntry, DesignerNavItem, DesignerThemeConfig, DesignerThemePreset, DiscountCode, DropshipperAccount, DropshipperAccountRef, DropshipperAddressBody, DropshipperAddressResponse, DropshipperAttributeDefinition, DropshipperAttributeDefinitionValue, DropshipperBalance, DropshipperCategory, DropshipperCostTier, DropshipperCustomer, DropshipperCustomerAddress, DropshipperCustomerDetail, DropshipperCustomerFinancial, DropshipperCustomerStats, DropshipperDashboardCapabilities, DropshipperDraftOrder, DropshipperDraftOrderItem, DropshipperNotificationEventType, DropshipperNotificationPreference, DropshipperOrder, DropshipperOrderCustomer, DropshipperOrderDetail, DropshipperOrderItem, DropshipperOrderShippingAddress, DropshipperOrderTimelineEvent, DropshipperOrderTotals, DropshipperPayableOrder, DropshipperPaymentMethodConfig, DropshipperPendingOrders, DropshipperPriceItem, DropshipperPriceTier, DropshipperProduct, DropshipperProductAttachment, DropshipperProductAttribute, DropshipperProductAttributeValue, DropshipperProductImage, DropshipperProductOption, DropshipperProductOptionValue, DropshipperProductPrivateMedia, DropshipperProfile, DropshipperPromotion, DropshipperReceivableOrder, DropshipperSaleTier, DropshipperShippingGroup, DropshipperShippingGroupOption, DropshipperShippingOption, DropshipperVariant, DynamicSource, Edge, ExtendedCreateDropshipperOrderBody, ExtendedCreateDropshipperOrderResponse, FacetSupport, FilterConfig, FilterOption, FilterSection, FulfillmentOption, FulfillmentSet, FulfillmentStatus, GeoCity, GeoCountry, GeoProvince, GetAdminAccountBalanceResponse, GetAdminDropshipperAccountOrdersResponse, GetAdminDropshipperAccountSettlementsOptions, GetAdminDropshipperAccountSettlementsResponse, GetAdminDropshipperAccountsResponse, GetAdminPriceListsResponse, GetAdminSiteConfigHistoryOptions, GetAdminSiteConfigHistoryResponse, GetAdminSiteConfigResponse, GetAdminStorefrontConfigResponse, GetBusinessPolicyResponse, GetCategoriesCallback, GetCategoriesOptions, GetCategoryMappingsOptions, GetCategoryMappingsResponse, GetCategorySalesChannelsResponse, GetChannelApiKeysResponse, GetChannelCategoriesOptions, GetChannelCategoriesResponse, GetChannelCustomersOptions, GetChannelCustomersResponse, GetCollectionSalesChannelsResponse, GetCollectionsOptions, GetCustomersCallback, GetCustomersOptions, GetDashboardStatsOptions, GetDashboardStatsResponse, GetDropshipperAccountBalanceResponse, GetDropshipperAccountOrdersOptions, GetDropshipperAccountOrdersResponse, GetDropshipperAccountResponse, GetDropshipperAddressesResponse, GetDropshipperAttributesResponse, GetDropshipperCategoriesOptions, GetDropshipperCategoriesResponse, GetDropshipperCustomerDetailResponse, GetDropshipperCustomersOptions, GetDropshipperCustomersResponse, GetDropshipperDraftOrderDetailResponse, GetDropshipperDraftOrdersOptions, GetDropshipperDraftOrdersResponse, GetDropshipperOrderDetailResponse, GetDropshipperOrdersOptions, GetDropshipperOrdersResponse, GetDropshipperPayableResponse, GetDropshipperProductsOptions, GetDropshipperProductsResponse, GetDropshipperPromotionsOptions, GetDropshipperPromotionsResponse, GetDropshipperReceivableResponse, GetDropshipperShippingOptionsBody, GetDropshipperShippingOptionsResponse, GetFinancialAnalysisResponse, GetGeoCitiesResponse, GetGeoCountriesResponse, GetGeoProvincesResponse, GetMyProfileResponse, GetNotificationPreferencesResponse, GetNotificationsOptions, GetNotificationsResponse, GetOrderNotesResponse, GetOrdersCallback, GetOrdersOptions, GetProductAttributesResponse, GetProductsOptions, GetProviderCategoriesResponse, GetSettlementDetailResponse, GetSettlementsOptions, GetSettlementsResponse, GetStorefrontDropshipperCategoriesResponse, GetUserChannelResponse, HeaderLinkItem, HeaderNavigationConfig, IconConfig, Image, InterestCategory, InventoryLevel, LinkCustomerToChannelResponse, LoginCredentials, ManualAdminNotificationData, ModulesConfig, Money, NavigationCalloutItem, NavigationItem, NavigationLinkItem, NotificationData, OnboardDropshipperBody, OnboardDropshipperResponse, Order, OrderItem, OrderNote, OrderReceipt, OrderStatus, OrdersMetrics, PaginationOptions, PasswordResetConfirm, PasswordResetRequest, PaymentMethod$1 as PaymentMethod, PaymentMethodFeatures, PaymentMethodType, PaymentMethodsOptions, PaymentStatus, PriceRange, PriceUpdatedNotificationData, Product, ProductAssignedNotificationData, ProductCategory, ProductOption, ProductPreview, ProductVariant, ProductsMetrics, PromotionRule, ProviderCategory, ProviderConfig, ProviderTypeString, QueryEntitiesInput, QueryEntityInput, QueryErrors, QueryMeta, QueryResponse, QuerySortDirection, RawNotification, RecoveryConfirmResult, Region, RegisterData, RegisterPaymentBody, RegisterPaymentResponse, RequestedProfile, ResolveGuaranteeBody, ResolveGuaranteeResponse, RestoreSiteConfigResponse, Review, SEO, SalesChannelType, SalesMetrics, SearchBarConfig, SearchResultMeta, SelectedOption, SetPaymentCollectorBody, SetPaymentCollectorResponse, SetPaymentMethodBody, SetPaymentMethodResponse, SettlementRecord, SettlementStatus, ShippingGroupInput, ShippingMethod, ShopperIdentity, SiteConfig, SiteConfigLabels, SiteConfigMetadata, SocialConfig, SortOption, SortOptions, StockChangeNotificationData, StockLocation, StockStatus, StockValidation, StoreContext, StorefrontConfig, StorefrontContext, StorefrontPlatformType, StorefrontSeoDefaults, SubmitApplicationBody, SubmitApplicationConflictApplication, SubmitApplicationCreated, SubmitApplicationResponse, SubmitApplicationResult, SubmitApplicationSalesChannel, TokenVerifyResult, TokenVerifyState, UnassignCategoriesFromChannelsBody, UnassignCategoriesFromChannelsResponse, UnassignCollectionsFromChannelsBody, UnassignCollectionsFromChannelsResponse, UpdateBusinessPolicyBody, UpdateBusinessPolicyResponse, UpdateCustomerData, UpdateDropshipperCategoryBody, UpdateDropshipperCustomerBody, UpdateDropshipperCustomerResponse, UpdateDropshipperDraftOrderBody, UpdateDropshipperDraftOrderResponse, UpdateDropshipperPricesBody, UpdateDropshipperPricesResponse, UpdateDropshipperProductStatusBody, UpdateDropshipperProductStatusResponse, UpdateDropshipperPromotionBody, UpdateNotificationPreferencesBody, UpdateSettlementStatusResponse, UpdateSiteConfigBody, UpdateSiteConfigResponse, UpdateStorefrontConfigBody, UpdateStorefrontConfigResponse, ValidateCheckoutItemsRequest, ValidateCheckoutItemsResponse, ValidatedCheckoutItem };
|