@thorprovider/types 3.1.0 → 3.2.1
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/CHANGELOG.md +12 -0
- package/dist/index.d.mts +69 -24
- package/dist/index.d.ts +69 -24
- package/dist/index.js +28 -15
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +28 -15
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -4
- package/src/commerce-provider.ts +14 -2
- package/src/index.ts +1 -6
- package/src/provider.ts +26 -4
- package/src/storefront.ts +12 -9
- package/.turbo/turbo-build.log +0 -18
- package/.turbo/turbo-type-check.log +0 -0
- package/dist/.tsbuildinfo +0 -1
- package/publish.log +0 -60
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @thorprovider/types Changelog
|
|
2
2
|
|
|
3
|
+
## 3.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Fix the published export map so bundlers do not resolve the `development` condition to an incomplete source graph. The package now resolves development/import/default entrypoints to built `dist` files, preventing Turbopack module-resolution failures in consumers.
|
|
8
|
+
|
|
9
|
+
## 3.2.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 926be1f: Add mock-provider support across published packages and align the starter for mock-first storefront creation.
|
|
14
|
+
|
|
3
15
|
## 3.1.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -1387,6 +1387,49 @@ interface GetOrdersOptions {
|
|
|
1387
1387
|
customFetcher?: GetOrdersCallback;
|
|
1388
1388
|
}
|
|
1389
1389
|
|
|
1390
|
+
/**
|
|
1391
|
+
* @thorprovider/types — Supported Providers
|
|
1392
|
+
*
|
|
1393
|
+
* Centralized list of all supported commerce providers.
|
|
1394
|
+
* This is the single source of truth for provider types across the monorepo.
|
|
1395
|
+
*
|
|
1396
|
+
* @remarks
|
|
1397
|
+
* - L1 (Foundation): Defines the contract
|
|
1398
|
+
* - L2 (@thorprovider/adapters) imports from here to build the factory
|
|
1399
|
+
* - L5 (Starters) uses the factory which is bound to this enum
|
|
1400
|
+
*
|
|
1401
|
+
* When adding a new provider (e.g., Stel Order):
|
|
1402
|
+
* 1. Add to SupportedProviderType enum below
|
|
1403
|
+
* 2. Update @thorprovider/adapters factory/index.ts with discriminated union
|
|
1404
|
+
* 3. Create packages/adapters/src/providers/shopify/
|
|
1405
|
+
* 4. Implement CommerceProvider interface
|
|
1406
|
+
* 5. Update StorefrontPlatformType in storefront.ts
|
|
1407
|
+
*/
|
|
1408
|
+
/**
|
|
1409
|
+
* All supported commerce platform providers.
|
|
1410
|
+
* `mock` is the backend-optional runtime provider used for layout/design mode.
|
|
1411
|
+
* `medusa` is fully implemented for real backend usage; others are placeholders for future expansion.
|
|
1412
|
+
*
|
|
1413
|
+
* @remarks Implementation status:
|
|
1414
|
+
* - ✅ mock: Fixture-backed provider for backend-optional storefronts
|
|
1415
|
+
* - ✅ medusa: Fully implemented
|
|
1416
|
+
* - 🟡 stelorder: In progress (ERP adapter v1)
|
|
1417
|
+
* - 🟡 shopify: Planned (Phase 2)
|
|
1418
|
+
* - 🟡 bigcommerce: Planned (Phase 2)
|
|
1419
|
+
* - 🟡 woocommerce: Planned (Phase 3)
|
|
1420
|
+
* - 🟡 spree: Planned (Phase 3)
|
|
1421
|
+
* - 🟡 magento: Planned (Phase 3)
|
|
1422
|
+
*/
|
|
1423
|
+
declare enum SupportedProviderType {
|
|
1424
|
+
Mock = "mock",
|
|
1425
|
+
Medusa = "medusa",
|
|
1426
|
+
StelOrder = "stelorder",
|
|
1427
|
+
Shopify = "shopify",
|
|
1428
|
+
BigCommerce = "bigcommerce",
|
|
1429
|
+
WooCommerce = "woocommerce",
|
|
1430
|
+
Spree = "spree",
|
|
1431
|
+
Magento = "magento"
|
|
1432
|
+
}
|
|
1390
1433
|
/**
|
|
1391
1434
|
* Union type of all supported provider string values.
|
|
1392
1435
|
* Use this for type annotations when a provider type is expected.
|
|
@@ -1398,7 +1441,7 @@ interface GetOrdersOptions {
|
|
|
1398
1441
|
* }
|
|
1399
1442
|
* ```
|
|
1400
1443
|
*/
|
|
1401
|
-
type ProviderTypeString = 'medusa' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
1444
|
+
type ProviderTypeString = 'mock' | 'medusa' | 'stelorder' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
1402
1445
|
/**
|
|
1403
1446
|
* Metadata about each provider.
|
|
1404
1447
|
* Useful for UI, error messages, validation, and documentation.
|
|
@@ -1451,12 +1494,14 @@ declare function getProviderMetadata(type: ProviderTypeString): (typeof PROVIDER
|
|
|
1451
1494
|
* Supported commerce platform types for storefront identification.
|
|
1452
1495
|
*
|
|
1453
1496
|
* @remarks
|
|
1454
|
-
*
|
|
1455
|
-
* When adding a new provider, update packages/types/src/provider.ts
|
|
1456
|
-
* and this type
|
|
1497
|
+
* Keep this type in sync with SupportedProviderType from provider.ts.
|
|
1498
|
+
* When adding a new provider, update both packages/types/src/provider.ts
|
|
1499
|
+
* and this type.
|
|
1457
1500
|
*
|
|
1458
1501
|
* Currently supported:
|
|
1502
|
+
* - ✅ 'mock': Backend-optional layout/design mode using fixture data
|
|
1459
1503
|
* - ✅ 'medusa': Fully implemented
|
|
1504
|
+
* - 🟡 'stelorder': ERP adapter v1
|
|
1460
1505
|
*
|
|
1461
1506
|
* Planned (not yet implemented):
|
|
1462
1507
|
* - 🟡 'shopify': Phase 2
|
|
@@ -1465,7 +1510,7 @@ declare function getProviderMetadata(type: ProviderTypeString): (typeof PROVIDER
|
|
|
1465
1510
|
* - 🟡 'spree': Phase 3
|
|
1466
1511
|
* - 🟡 'magento': Phase 3
|
|
1467
1512
|
*/
|
|
1468
|
-
type StorefrontPlatformType = 'medusa' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
1513
|
+
type StorefrontPlatformType = 'mock' | 'medusa' | 'stelorder' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
1469
1514
|
/**
|
|
1470
1515
|
* StorefrontContext
|
|
1471
1516
|
*
|
|
@@ -1501,11 +1546,12 @@ interface StorefrontContext {
|
|
|
1501
1546
|
*
|
|
1502
1547
|
* @remarks
|
|
1503
1548
|
* - Medusa: true (products must be linked to sales channel)
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1549
|
+
* - Shopify: false (products visible by default unless unlisted)
|
|
1550
|
+
* - Stel Order: false (single-company ERP model, no native channel scoping)
|
|
1551
|
+
* - WooCommerce: false (no scoping concept)
|
|
1552
|
+
* - BigCommerce: false (products visible by default unless delisted)
|
|
1553
|
+
* - Spree: true (products must be assigned per store)
|
|
1554
|
+
* - Magento: true (products must be assigned per website)
|
|
1509
1555
|
*/
|
|
1510
1556
|
requiresProductScoping: boolean;
|
|
1511
1557
|
/**
|
|
@@ -2234,6 +2280,8 @@ interface BackendCapabilities {
|
|
|
2234
2280
|
*
|
|
2235
2281
|
* This interface defines a unified API for interacting with different
|
|
2236
2282
|
* e-commerce platforms (Medusa, Shopify, WooCommerce, etc.)
|
|
2283
|
+
* including the fixture-backed `mock` runtime used when a storefront has
|
|
2284
|
+
* not been connected to a real backend yet.
|
|
2237
2285
|
*
|
|
2238
2286
|
* @thorprovider/adapters (L2) implements this interface
|
|
2239
2287
|
* @thorprovider/components (L3) depends on this abstraction
|
|
@@ -2262,6 +2310,13 @@ interface CommerceProvider {
|
|
|
2262
2310
|
* ```
|
|
2263
2311
|
*/
|
|
2264
2312
|
readonly capabilities: BackendCapabilities;
|
|
2313
|
+
/**
|
|
2314
|
+
* Whether this provider is backed by fixture/mock data instead of a live backend.
|
|
2315
|
+
*
|
|
2316
|
+
* Layout/design mode should remain fully functional with `isMock = true`, but
|
|
2317
|
+
* the same UI must transparently switch to live data once a real backend is configured.
|
|
2318
|
+
*/
|
|
2319
|
+
readonly isMock?: boolean;
|
|
2265
2320
|
/**
|
|
2266
2321
|
* Authentication provider
|
|
2267
2322
|
*
|
|
@@ -2280,13 +2335,15 @@ interface CommerceProvider {
|
|
|
2280
2335
|
/**
|
|
2281
2336
|
* Get multiple products with optional filtering and sorting
|
|
2282
2337
|
* @param options - Query options (search, sort, pagination)
|
|
2283
|
-
* @returns Array of products
|
|
2338
|
+
* @returns Array of products. In mock mode, these are fixture-backed products used
|
|
2339
|
+
* for layout/design workflows until a real backend is configured.
|
|
2284
2340
|
*/
|
|
2285
2341
|
getProducts(options?: GetProductsOptions): Promise<Product[]>;
|
|
2286
2342
|
/**
|
|
2287
2343
|
* Get product recommendations for a given product
|
|
2288
2344
|
* @param productId - Product ID
|
|
2289
|
-
* @returns Array of recommended products
|
|
2345
|
+
* @returns Array of recommended products. In mock mode, recommendations may be
|
|
2346
|
+
* derived from the same fixture-backed catalog.
|
|
2290
2347
|
*/
|
|
2291
2348
|
getProductRecommendations(productId: string): Promise<Product[]>;
|
|
2292
2349
|
/**
|
|
@@ -3326,16 +3383,4 @@ interface SiteConfigMetadata {
|
|
|
3326
3383
|
history?: ConfigHistoryEntry[];
|
|
3327
3384
|
}
|
|
3328
3385
|
|
|
3329
|
-
/**
|
|
3330
|
-
* @thorprovider/types v1.0
|
|
3331
|
-
* Shared TypeScript types for Thor Commerce ecosystem
|
|
3332
|
-
*
|
|
3333
|
-
* Pure type definitions with zero runtime dependencies.
|
|
3334
|
-
* Foundation for type-safe commerce operations following SOLID principles.
|
|
3335
|
-
*/
|
|
3336
|
-
|
|
3337
|
-
declare enum SupportedProviderType {
|
|
3338
|
-
Medusa = "medusa"
|
|
3339
|
-
}
|
|
3340
|
-
|
|
3341
3386
|
export { type AccountDropdownConfig, type AccountMenuItem, type ActiveFilter, type Address, type AdminProduct, type AdminProductVariant, type AdminUser, type AdvancedSearchProductsOptions, type AuditLog, type AuditLogAdapter, type AuthConfig, type AuthMethod, type AuthProvider, type AuthResponse, type AuthStorage, type AuthorConfig, type BackendCapabilities, type BrandConfig, type CachedPaymentMethods, type Cart, type CartCost, type CartItem, type CartLineInput, type CartLineUpdate, type CartProduct, type ChartDataPoint, type Collection, type CollectionProductsOptions, type CommerceProvider, type CompareProduct, type ConfigHistoryEntry, type Connection, type Country, type CreateAddressData, type Customer, type DashboardConfig, type DashboardMetrics, type DashboardMetricsAdapter, type DashboardOrdersAdapter, type DashboardProductsAdapter, type DesignerConfig, type DesignerHistoryEntry, type DesignerNavItem, type DesignerThemeConfig, type DesignerThemePreset, type DiscountCode, type DynamicSource, type Edge, type FilterConfig, type FilterOption, type FilterSection, type FulfillmentOption, type FulfillmentSet, type FulfillmentStatus, type GetCategoriesCallback, type GetCategoriesOptions, type GetCollectionsOptions, type GetCustomersCallback, type GetCustomersOptions, type GetOrdersCallback, type GetOrdersOptions, type GetProductsOptions, type HeaderLinkItem, type HeaderNavigationConfig, type IconConfig, type Image, type InventoryLevel, type LoginCredentials, type ModulesConfig, type Money, type NavigationCalloutItem, type NavigationItem, type NavigationLinkItem, type Order, type OrderItem, type OrderStatus, type OrdersMetrics, PROVIDER_METADATA, type PaginationOptions, type PasswordResetConfirm, type PasswordResetRequest, type PaymentMethod, type PaymentMethodFeatures, type PaymentMethodType, type PaymentMethodsOptions, type PaymentStatus, type PriceRange, type Product, type ProductCategory, type ProductOption, type ProductPreview, type ProductVariant, type ProductsMetrics, type ProviderConfig, type ProviderTypeString, type Region, type RegisterData, type Review, type SEO, type SalesMetrics, type SearchBarConfig, type SearchResultMeta, type SelectedOption, type ShippingMethod, type SiteConfig, type SiteConfigLabels, type SiteConfigMetadata, type SocialConfig, type SortOption, type SortOptions, type StockLocation, type StockStatus, type StockValidation, type StorefrontConfig, StorefrontConfigError, type StorefrontContext, type StorefrontPlatformType, type StorefrontSeoDefaults, SupportedProviderType, type UpdateCustomerData, getProviderMetadata, isSupportedProviderType };
|
package/dist/index.d.ts
CHANGED
|
@@ -1387,6 +1387,49 @@ interface GetOrdersOptions {
|
|
|
1387
1387
|
customFetcher?: GetOrdersCallback;
|
|
1388
1388
|
}
|
|
1389
1389
|
|
|
1390
|
+
/**
|
|
1391
|
+
* @thorprovider/types — Supported Providers
|
|
1392
|
+
*
|
|
1393
|
+
* Centralized list of all supported commerce providers.
|
|
1394
|
+
* This is the single source of truth for provider types across the monorepo.
|
|
1395
|
+
*
|
|
1396
|
+
* @remarks
|
|
1397
|
+
* - L1 (Foundation): Defines the contract
|
|
1398
|
+
* - L2 (@thorprovider/adapters) imports from here to build the factory
|
|
1399
|
+
* - L5 (Starters) uses the factory which is bound to this enum
|
|
1400
|
+
*
|
|
1401
|
+
* When adding a new provider (e.g., Stel Order):
|
|
1402
|
+
* 1. Add to SupportedProviderType enum below
|
|
1403
|
+
* 2. Update @thorprovider/adapters factory/index.ts with discriminated union
|
|
1404
|
+
* 3. Create packages/adapters/src/providers/shopify/
|
|
1405
|
+
* 4. Implement CommerceProvider interface
|
|
1406
|
+
* 5. Update StorefrontPlatformType in storefront.ts
|
|
1407
|
+
*/
|
|
1408
|
+
/**
|
|
1409
|
+
* All supported commerce platform providers.
|
|
1410
|
+
* `mock` is the backend-optional runtime provider used for layout/design mode.
|
|
1411
|
+
* `medusa` is fully implemented for real backend usage; others are placeholders for future expansion.
|
|
1412
|
+
*
|
|
1413
|
+
* @remarks Implementation status:
|
|
1414
|
+
* - ✅ mock: Fixture-backed provider for backend-optional storefronts
|
|
1415
|
+
* - ✅ medusa: Fully implemented
|
|
1416
|
+
* - 🟡 stelorder: In progress (ERP adapter v1)
|
|
1417
|
+
* - 🟡 shopify: Planned (Phase 2)
|
|
1418
|
+
* - 🟡 bigcommerce: Planned (Phase 2)
|
|
1419
|
+
* - 🟡 woocommerce: Planned (Phase 3)
|
|
1420
|
+
* - 🟡 spree: Planned (Phase 3)
|
|
1421
|
+
* - 🟡 magento: Planned (Phase 3)
|
|
1422
|
+
*/
|
|
1423
|
+
declare enum SupportedProviderType {
|
|
1424
|
+
Mock = "mock",
|
|
1425
|
+
Medusa = "medusa",
|
|
1426
|
+
StelOrder = "stelorder",
|
|
1427
|
+
Shopify = "shopify",
|
|
1428
|
+
BigCommerce = "bigcommerce",
|
|
1429
|
+
WooCommerce = "woocommerce",
|
|
1430
|
+
Spree = "spree",
|
|
1431
|
+
Magento = "magento"
|
|
1432
|
+
}
|
|
1390
1433
|
/**
|
|
1391
1434
|
* Union type of all supported provider string values.
|
|
1392
1435
|
* Use this for type annotations when a provider type is expected.
|
|
@@ -1398,7 +1441,7 @@ interface GetOrdersOptions {
|
|
|
1398
1441
|
* }
|
|
1399
1442
|
* ```
|
|
1400
1443
|
*/
|
|
1401
|
-
type ProviderTypeString = 'medusa' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
1444
|
+
type ProviderTypeString = 'mock' | 'medusa' | 'stelorder' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
1402
1445
|
/**
|
|
1403
1446
|
* Metadata about each provider.
|
|
1404
1447
|
* Useful for UI, error messages, validation, and documentation.
|
|
@@ -1451,12 +1494,14 @@ declare function getProviderMetadata(type: ProviderTypeString): (typeof PROVIDER
|
|
|
1451
1494
|
* Supported commerce platform types for storefront identification.
|
|
1452
1495
|
*
|
|
1453
1496
|
* @remarks
|
|
1454
|
-
*
|
|
1455
|
-
* When adding a new provider, update packages/types/src/provider.ts
|
|
1456
|
-
* and this type
|
|
1497
|
+
* Keep this type in sync with SupportedProviderType from provider.ts.
|
|
1498
|
+
* When adding a new provider, update both packages/types/src/provider.ts
|
|
1499
|
+
* and this type.
|
|
1457
1500
|
*
|
|
1458
1501
|
* Currently supported:
|
|
1502
|
+
* - ✅ 'mock': Backend-optional layout/design mode using fixture data
|
|
1459
1503
|
* - ✅ 'medusa': Fully implemented
|
|
1504
|
+
* - 🟡 'stelorder': ERP adapter v1
|
|
1460
1505
|
*
|
|
1461
1506
|
* Planned (not yet implemented):
|
|
1462
1507
|
* - 🟡 'shopify': Phase 2
|
|
@@ -1465,7 +1510,7 @@ declare function getProviderMetadata(type: ProviderTypeString): (typeof PROVIDER
|
|
|
1465
1510
|
* - 🟡 'spree': Phase 3
|
|
1466
1511
|
* - 🟡 'magento': Phase 3
|
|
1467
1512
|
*/
|
|
1468
|
-
type StorefrontPlatformType = 'medusa' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
1513
|
+
type StorefrontPlatformType = 'mock' | 'medusa' | 'stelorder' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
1469
1514
|
/**
|
|
1470
1515
|
* StorefrontContext
|
|
1471
1516
|
*
|
|
@@ -1501,11 +1546,12 @@ interface StorefrontContext {
|
|
|
1501
1546
|
*
|
|
1502
1547
|
* @remarks
|
|
1503
1548
|
* - Medusa: true (products must be linked to sales channel)
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1549
|
+
* - Shopify: false (products visible by default unless unlisted)
|
|
1550
|
+
* - Stel Order: false (single-company ERP model, no native channel scoping)
|
|
1551
|
+
* - WooCommerce: false (no scoping concept)
|
|
1552
|
+
* - BigCommerce: false (products visible by default unless delisted)
|
|
1553
|
+
* - Spree: true (products must be assigned per store)
|
|
1554
|
+
* - Magento: true (products must be assigned per website)
|
|
1509
1555
|
*/
|
|
1510
1556
|
requiresProductScoping: boolean;
|
|
1511
1557
|
/**
|
|
@@ -2234,6 +2280,8 @@ interface BackendCapabilities {
|
|
|
2234
2280
|
*
|
|
2235
2281
|
* This interface defines a unified API for interacting with different
|
|
2236
2282
|
* e-commerce platforms (Medusa, Shopify, WooCommerce, etc.)
|
|
2283
|
+
* including the fixture-backed `mock` runtime used when a storefront has
|
|
2284
|
+
* not been connected to a real backend yet.
|
|
2237
2285
|
*
|
|
2238
2286
|
* @thorprovider/adapters (L2) implements this interface
|
|
2239
2287
|
* @thorprovider/components (L3) depends on this abstraction
|
|
@@ -2262,6 +2310,13 @@ interface CommerceProvider {
|
|
|
2262
2310
|
* ```
|
|
2263
2311
|
*/
|
|
2264
2312
|
readonly capabilities: BackendCapabilities;
|
|
2313
|
+
/**
|
|
2314
|
+
* Whether this provider is backed by fixture/mock data instead of a live backend.
|
|
2315
|
+
*
|
|
2316
|
+
* Layout/design mode should remain fully functional with `isMock = true`, but
|
|
2317
|
+
* the same UI must transparently switch to live data once a real backend is configured.
|
|
2318
|
+
*/
|
|
2319
|
+
readonly isMock?: boolean;
|
|
2265
2320
|
/**
|
|
2266
2321
|
* Authentication provider
|
|
2267
2322
|
*
|
|
@@ -2280,13 +2335,15 @@ interface CommerceProvider {
|
|
|
2280
2335
|
/**
|
|
2281
2336
|
* Get multiple products with optional filtering and sorting
|
|
2282
2337
|
* @param options - Query options (search, sort, pagination)
|
|
2283
|
-
* @returns Array of products
|
|
2338
|
+
* @returns Array of products. In mock mode, these are fixture-backed products used
|
|
2339
|
+
* for layout/design workflows until a real backend is configured.
|
|
2284
2340
|
*/
|
|
2285
2341
|
getProducts(options?: GetProductsOptions): Promise<Product[]>;
|
|
2286
2342
|
/**
|
|
2287
2343
|
* Get product recommendations for a given product
|
|
2288
2344
|
* @param productId - Product ID
|
|
2289
|
-
* @returns Array of recommended products
|
|
2345
|
+
* @returns Array of recommended products. In mock mode, recommendations may be
|
|
2346
|
+
* derived from the same fixture-backed catalog.
|
|
2290
2347
|
*/
|
|
2291
2348
|
getProductRecommendations(productId: string): Promise<Product[]>;
|
|
2292
2349
|
/**
|
|
@@ -3326,16 +3383,4 @@ interface SiteConfigMetadata {
|
|
|
3326
3383
|
history?: ConfigHistoryEntry[];
|
|
3327
3384
|
}
|
|
3328
3385
|
|
|
3329
|
-
/**
|
|
3330
|
-
* @thorprovider/types v1.0
|
|
3331
|
-
* Shared TypeScript types for Thor Commerce ecosystem
|
|
3332
|
-
*
|
|
3333
|
-
* Pure type definitions with zero runtime dependencies.
|
|
3334
|
-
* Foundation for type-safe commerce operations following SOLID principles.
|
|
3335
|
-
*/
|
|
3336
|
-
|
|
3337
|
-
declare enum SupportedProviderType {
|
|
3338
|
-
Medusa = "medusa"
|
|
3339
|
-
}
|
|
3340
|
-
|
|
3341
3386
|
export { type AccountDropdownConfig, type AccountMenuItem, type ActiveFilter, type Address, type AdminProduct, type AdminProductVariant, type AdminUser, type AdvancedSearchProductsOptions, type AuditLog, type AuditLogAdapter, type AuthConfig, type AuthMethod, type AuthProvider, type AuthResponse, type AuthStorage, type AuthorConfig, type BackendCapabilities, type BrandConfig, type CachedPaymentMethods, type Cart, type CartCost, type CartItem, type CartLineInput, type CartLineUpdate, type CartProduct, type ChartDataPoint, type Collection, type CollectionProductsOptions, type CommerceProvider, type CompareProduct, type ConfigHistoryEntry, type Connection, type Country, type CreateAddressData, type Customer, type DashboardConfig, type DashboardMetrics, type DashboardMetricsAdapter, type DashboardOrdersAdapter, type DashboardProductsAdapter, type DesignerConfig, type DesignerHistoryEntry, type DesignerNavItem, type DesignerThemeConfig, type DesignerThemePreset, type DiscountCode, type DynamicSource, type Edge, type FilterConfig, type FilterOption, type FilterSection, type FulfillmentOption, type FulfillmentSet, type FulfillmentStatus, type GetCategoriesCallback, type GetCategoriesOptions, type GetCollectionsOptions, type GetCustomersCallback, type GetCustomersOptions, type GetOrdersCallback, type GetOrdersOptions, type GetProductsOptions, type HeaderLinkItem, type HeaderNavigationConfig, type IconConfig, type Image, type InventoryLevel, type LoginCredentials, type ModulesConfig, type Money, type NavigationCalloutItem, type NavigationItem, type NavigationLinkItem, type Order, type OrderItem, type OrderStatus, type OrdersMetrics, PROVIDER_METADATA, type PaginationOptions, type PasswordResetConfirm, type PasswordResetRequest, type PaymentMethod, type PaymentMethodFeatures, type PaymentMethodType, type PaymentMethodsOptions, type PaymentStatus, type PriceRange, type Product, type ProductCategory, type ProductOption, type ProductPreview, type ProductVariant, type ProductsMetrics, type ProviderConfig, type ProviderTypeString, type Region, type RegisterData, type Review, type SEO, type SalesMetrics, type SearchBarConfig, type SearchResultMeta, type SelectedOption, type ShippingMethod, type SiteConfig, type SiteConfigLabels, type SiteConfigMetadata, type SocialConfig, type SortOption, type SortOptions, type StockLocation, type StockStatus, type StockValidation, type StorefrontConfig, StorefrontConfigError, type StorefrontContext, type StorefrontPlatformType, type StorefrontSeoDefaults, SupportedProviderType, type UpdateCustomerData, getProviderMetadata, isSupportedProviderType };
|
package/dist/index.js
CHANGED
|
@@ -22,23 +22,32 @@ var src_exports = {};
|
|
|
22
22
|
__export(src_exports, {
|
|
23
23
|
PROVIDER_METADATA: () => PROVIDER_METADATA,
|
|
24
24
|
StorefrontConfigError: () => StorefrontConfigError,
|
|
25
|
-
SupportedProviderType: () =>
|
|
25
|
+
SupportedProviderType: () => SupportedProviderType,
|
|
26
26
|
getProviderMetadata: () => getProviderMetadata,
|
|
27
27
|
isSupportedProviderType: () => isSupportedProviderType
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(src_exports);
|
|
30
30
|
|
|
31
31
|
// src/provider.ts
|
|
32
|
-
var SupportedProviderType = /* @__PURE__ */ ((
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
var SupportedProviderType = /* @__PURE__ */ ((SupportedProviderType2) => {
|
|
33
|
+
SupportedProviderType2["Mock"] = "mock";
|
|
34
|
+
SupportedProviderType2["Medusa"] = "medusa";
|
|
35
|
+
SupportedProviderType2["StelOrder"] = "stelorder";
|
|
36
|
+
SupportedProviderType2["Shopify"] = "shopify";
|
|
37
|
+
SupportedProviderType2["BigCommerce"] = "bigcommerce";
|
|
38
|
+
SupportedProviderType2["WooCommerce"] = "woocommerce";
|
|
39
|
+
SupportedProviderType2["Spree"] = "spree";
|
|
40
|
+
SupportedProviderType2["Magento"] = "magento";
|
|
41
|
+
return SupportedProviderType2;
|
|
40
42
|
})(SupportedProviderType || {});
|
|
41
43
|
var PROVIDER_METADATA = {
|
|
44
|
+
mock: {
|
|
45
|
+
name: "Mock",
|
|
46
|
+
description: "Fixture-backed runtime provider for layout/design mode without a real backend",
|
|
47
|
+
requiresStorefront: false,
|
|
48
|
+
requiredEnvVars: [],
|
|
49
|
+
maxRetries: 0
|
|
50
|
+
},
|
|
42
51
|
medusa: {
|
|
43
52
|
name: "Medusa JS",
|
|
44
53
|
description: "Medusa v2 commerce engine",
|
|
@@ -50,6 +59,16 @@ var PROVIDER_METADATA = {
|
|
|
50
59
|
],
|
|
51
60
|
maxRetries: 3
|
|
52
61
|
},
|
|
62
|
+
stelorder: {
|
|
63
|
+
name: "Stel Order",
|
|
64
|
+
description: "Stel Order ERP and sales document API",
|
|
65
|
+
requiresStorefront: false,
|
|
66
|
+
requiredEnvVars: [
|
|
67
|
+
"NEXT_PUBLIC_COMMERCE_API_URL",
|
|
68
|
+
"NEXT_PUBLIC_COMMERCE_API_KEY"
|
|
69
|
+
],
|
|
70
|
+
maxRetries: 2
|
|
71
|
+
},
|
|
53
72
|
shopify: {
|
|
54
73
|
name: "Shopify",
|
|
55
74
|
description: "Shopify Storefront API (GraphQL)",
|
|
@@ -127,12 +146,6 @@ var StorefrontConfigError = class extends Error {
|
|
|
127
146
|
this.requiredEnvVar = requiredEnvVar;
|
|
128
147
|
}
|
|
129
148
|
};
|
|
130
|
-
|
|
131
|
-
// src/index.ts
|
|
132
|
-
var SupportedProviderType2 = /* @__PURE__ */ ((SupportedProviderType3) => {
|
|
133
|
-
SupportedProviderType3["Medusa"] = "medusa";
|
|
134
|
-
return SupportedProviderType3;
|
|
135
|
-
})(SupportedProviderType2 || {});
|
|
136
149
|
// Annotate the CommonJS export names for ESM import in node:
|
|
137
150
|
0 && (module.exports = {
|
|
138
151
|
PROVIDER_METADATA,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/provider.ts","../src/storefront.ts"],"sourcesContent":["/**\n * @thorprovider/types v1.0\n * Shared TypeScript types for Thor Commerce ecosystem\n * \n * Pure type definitions with zero runtime dependencies.\n * Foundation for type-safe commerce operations following SOLID principles.\n */\n\n// ============================================\n// Common Types\n// ============================================\nexport type {\n Money,\n Image,\n SEO,\n Connection,\n Edge,\n PaginationOptions,\n SortOptions,\n Country,\n} from './common';\n\nexport type {\n AuthorConfig,\n BrandConfig,\n ModulesConfig,\n NavigationItem,\n SiteConfig,\n SocialConfig,\n} from './site-config';\n\nexport type { SiteConfigLabels } from './site-config-labels';\n\n// ============================================\n// Product Types\n// ============================================\nexport type {\n Product,\n ProductOption,\n ProductVariant,\n SelectedOption,\n PriceRange,\n GetProductsOptions,\n ActiveFilter,\n SortOption,\n FilterSection,\n FilterOption,\n ProductPreview,\n Review,\n CompareProduct,\n AdminProductVariant,\n AdminProduct,\n AdvancedSearchProductsOptions,\n SearchResultMeta,\n FilterConfig,\n} from './product';\n\n// ============================================\n// Cart Types\n// ============================================\nexport type {\n Cart,\n CartItem,\n CartProduct,\n CartCost,\n CartLineInput,\n CartLineUpdate,\n ShippingMethod,\n DiscountCode,\n} from './cart';\n\n// ============================================\n// Inventory & Fulfillment Types\n// ============================================\nexport type {\n StockLocation,\n InventoryLevel,\n FulfillmentSet,\n FulfillmentOption,\n StockStatus,\n StockValidation,\n} from './stock-location';\n\n// ============================================\n// Collection Types\n// ============================================\nexport type {\n Collection,\n CollectionProductsOptions,\n GetCollectionsOptions,\n} from './collection';\n\n// ============================================\n// Category Types\n// ============================================\nexport type {\n ProductCategory,\n GetCategoriesOptions,\n GetCategoriesCallback,\n} from './category';\n\n// ============================================\n// Customer Types\n// ============================================\nexport type {\n Customer,\n Address,\n GetCustomersOptions,\n GetCustomersCallback,\n} from './customer';\n\n// ============================================\n// Region Types\n// ============================================\nexport type {\n Region,\n} from './region';\n\n// ============================================\n// Order Types\n// ============================================\nexport type {\n Order,\n OrderItem,\n OrderStatus,\n PaymentStatus,\n FulfillmentStatus,\n GetOrdersOptions,\n GetOrdersCallback,\n} from './order';\n\n// ============================================\n// Provider Types (L1 - Source of Truth)\n// ============================================\nexport enum SupportedProviderType {\n Medusa = 'medusa',\n}\n\n// Re-export provider types directly\nexport { type ProviderTypeString } from './provider';\n\nexport {\n isSupportedProviderType,\n getProviderMetadata,\n PROVIDER_METADATA,\n} from './provider';\n\n// ============================================\n// Storefront Types\n// ============================================\nexport type {\n StorefrontContext,\n StorefrontPlatformType,\n} from './storefront';\n\nexport {\n StorefrontConfigError,\n} from './storefront';\n\n// ============================================\n// Storefront Configuration Types\n// ============================================\nexport type {\n StorefrontConfig,\n StorefrontSeoDefaults,\n} from './storefront-config';\n\n// ============================================\n// Designer Configuration Types\n// ============================================\nexport type {\n DesignerConfig,\n DesignerThemeConfig,\n DesignerThemePreset,\n DesignerNavItem,\n DesignerHistoryEntry,\n} from './designer-config';\n\n// ============================================\n// Auth Types\n// ============================================\nexport type {\n AuthProvider,\n AuthConfig,\n AuthMethod,\n AuthStorage,\n LoginCredentials,\n RegisterData,\n AuthResponse,\n UpdateCustomerData,\n CreateAddressData,\n PasswordResetRequest,\n PasswordResetConfirm,\n} from './auth';\n\n// ============================================\n// Payment Types\n// ============================================\nexport type {\n PaymentMethod,\n PaymentMethodType,\n PaymentMethodFeatures,\n PaymentMethodsOptions,\n CachedPaymentMethods,\n} from './payment';\n\n// ============================================\n// Commerce Provider Interface\n// ============================================\nexport type {\n CommerceProvider,\n BackendCapabilities,\n ProviderConfig,\n} from './commerce-provider';\n\n// ============================================\n// Admin Types\n// ============================================\nexport type {\n AdminUser,\n AuditLog,\n DashboardConfig,\n DashboardMetrics,\n SalesMetrics,\n OrdersMetrics,\n ProductsMetrics,\n ChartDataPoint,\n DashboardMetricsAdapter,\n DashboardOrdersAdapter,\n DashboardProductsAdapter,\n AuditLogAdapter,\n SiteConfigMetadata,\n ConfigHistoryEntry,\n} from './admin';\n\n// ============================================\n// Header Configuration Types\n// ============================================\nexport type {\n IconConfig,\n NavigationCalloutItem,\n NavigationLinkItem,\n DynamicSource,\n HeaderLinkItem,\n AccountMenuItem,\n AccountDropdownConfig,\n SearchBarConfig,\n HeaderNavigationConfig,\n} from './header-config';\n","/**\n * @thorprovider/types — Supported Providers\n *\n * Centralized list of all supported commerce providers.\n * This is the single source of truth for provider types across the monorepo.\n *\n * @remarks\n * - L1 (Foundation): Defines the contract\n * - L2 (@thorprovider/adapters) imports from here to build the factory\n * - L5 (Starters) uses the factory which is bound to this enum\n *\n * When adding a new provider (e.g., Shopify):\n * 1. Add to SupportedProviderType enum below\n * 2. Update @thorprovider/adapters factory/index.ts with discriminated union\n * 3. Create packages/adapters/src/providers/shopify/\n * 4. Implement CommerceProvider interface\n * 5. Update StorefrontPlatformType in storefront.ts (automatically synced)\n */\n\n/**\n * All supported commerce platform providers.\n * Currently only 'medusa' is implemented; others are placeholders for future expansion.\n *\n * @remarks Implementation status:\n * - ✅ medusa: Fully implemented\n * - 🟡 shopify: Planned (Phase 2)\n * - 🟡 bigcommerce: Planned (Phase 2)\n * - 🟡 woocommerce: Planned (Phase 3)\n * - 🟡 spree: Planned (Phase 3)\n * - 🟡 magento: Planned (Phase 3)\n */\nexport enum SupportedProviderType {\n Medusa = 'medusa',\n Shopify = 'shopify',\n BigCommerce = 'bigcommerce',\n WooCommerce = 'woocommerce',\n Spree = 'spree',\n Magento = 'magento',\n}\n\n/**\n * Union type of all supported provider string values.\n * Use this for type annotations when a provider type is expected.\n *\n * @example\n * ```typescript\n * function getProviderName(type: ProviderTypeString): string {\n * // type is 'medusa'\n * }\n * ```\n */\nexport type ProviderTypeString = 'medusa' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';\n\n/**\n * Metadata about each provider.\n * Useful for UI, error messages, validation, and documentation.\n *\n * @internal\n */\nexport const PROVIDER_METADATA: Record<\n ProviderTypeString,\n {\n name: string;\n description: string;\n requiresStorefront: boolean;\n requiredEnvVars: string[];\n maxRetries: number;\n }\n> = {\n medusa: {\n name: 'Medusa JS',\n description: 'Medusa v2 commerce engine',\n requiresStorefront: true,\n requiredEnvVars: [\n 'NEXT_PUBLIC_COMMERCE_API_URL',\n 'NEXT_PUBLIC_COMMERCE_API_KEY',\n 'NEXT_PUBLIC_SALES_CHANNEL_ID',\n ],\n maxRetries: 3,\n },\n shopify: {\n name: 'Shopify',\n description: 'Shopify Storefront API (GraphQL)',\n requiresStorefront: false,\n requiredEnvVars: [\n 'NEXT_PUBLIC_SHOPIFY_STORE_DOMAIN',\n 'NEXT_PUBLIC_SHOPIFY_STOREFRONT_TOKEN',\n ],\n maxRetries: 3,\n },\n bigcommerce: {\n name: 'BigCommerce',\n description: 'BigCommerce REST Storefront API',\n requiresStorefront: false,\n requiredEnvVars: [\n 'BIGCOMMERCE_STORE_HASH',\n 'BIGCOMMERCE_STOREFRONT_API_TOKEN',\n 'BIGCOMMERCE_CHANNEL_ID',\n ],\n maxRetries: 3,\n },\n woocommerce: {\n name: 'WooCommerce',\n description: 'WooCommerce Store API + REST API v3',\n requiresStorefront: false,\n requiredEnvVars: [\n 'WOOCOMMERCE_URL',\n 'WOOCOMMERCE_CONSUMER_KEY',\n 'WOOCOMMERCE_CONSUMER_SECRET',\n ],\n maxRetries: 3,\n },\n spree: {\n name: 'Spree Commerce',\n description: 'Spree API v2 Storefront (JSON:API)',\n requiresStorefront: false,\n requiredEnvVars: [\n 'SPREE_API_URL',\n ],\n maxRetries: 3,\n },\n magento: {\n name: 'Adobe Commerce (Magento)',\n description: 'Adobe Commerce GraphQL + REST API',\n requiresStorefront: true,\n requiredEnvVars: [\n 'MAGENTO_URL',\n 'MAGENTO_STORE_CODE',\n ],\n maxRetries: 3,\n },\n};\n\n/**\n * Check if a string is a valid provider type.\n *\n * @example\n * ```typescript\n * if (isSupportedProviderType(process.env.COMMERCE_PROVIDER)) {\n * // type is narrowed to ProviderTypeString\n * }\n * ```\n */\nexport function isSupportedProviderType(\n value: unknown\n): value is ProviderTypeString {\n return (\n typeof value === 'string' &&\n Object.values(SupportedProviderType).includes(value as SupportedProviderType)\n );\n}\n\n/**\n * Get metadata for a provider type.\n * Useful for validation, error messages, and logging.\n *\n * @example\n * ```typescript\n * const meta = getProviderMetadata('medusa');\n * console.log(`Using ${meta.name} with max ${meta.maxRetries} retries`);\n * ```\n */\nexport function getProviderMetadata(\n type: ProviderTypeString\n): (typeof PROVIDER_METADATA)[ProviderTypeString] {\n if (!isSupportedProviderType(type)) {\n throw new Error(\n `Unsupported provider: ${type}. Supported: ${Object.values(\n SupportedProviderType\n ).join(', ')}`\n );\n }\n return PROVIDER_METADATA[type];\n}\n","/**\n * @thorprovider/types — Storefront Context\n *\n * Platform-agnostic representation of a \"sales channel\" or equivalent.\n * Abstracts differences between Medusa sales_channel, Shopify publications,\n * BigCommerce channels, WooCommerce sites, Spree stores, and Magento store views.\n *\n * @remarks\n * - Required for all multi-tenant deployments\n * - Returned by `CommerceProvider.getStorefrontContext()`\n * - MUST be validated on startup; errors should NOT be silently ignored\n */\n\n/**\n * Supported commerce platform types for storefront identification.\n *\n * @remarks\n * This type is automatically synced with SupportedProviderType from provider.ts.\n * When adding a new provider, update packages/types/src/provider.ts,\n * and this type will automatically reflect the new provider.\n *\n * Currently supported:\n * - ✅ 'medusa': Fully implemented\n *\n * Planned (not yet implemented):\n * - 🟡 'shopify': Phase 2\n * - 🟡 'bigcommerce': Phase 2\n * - 🟡 'woocommerce': Phase 3\n * - 🟡 'spree': Phase 3\n * - 🟡 'magento': Phase 3\n */\nexport type StorefrontPlatformType = 'medusa' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';\n\n/**\n * StorefrontContext\n *\n * Platform-agnostic representation of a \"sales channel\" or equivalent.\n *\n * @example\n * ```typescript\n * const ctx: StorefrontContext = {\n * id: 'sc_01J...',\n * name: 'B2C Storefront',\n * platformType: 'medusa',\n * requiresProductScoping: true,\n * currencyCode: 'USD',\n * };\n * ```\n */\nexport interface StorefrontContext {\n /**\n * Unique identifier for this storefront across the system.\n * Examples: \"sc_123\" (Medusa), \"gid://shopify/Channel/789\" (Shopify), \"1\" (WooCommerce)\n */\n id: string;\n\n /**\n * Human-readable name for logging and debugging.\n */\n name: string;\n\n /**\n * Platform this storefront belongs to.\n */\n platformType: StorefrontPlatformType;\n\n /**\n * Whether products must be explicitly linked/published to this storefront.\n *\n * @remarks\n * - Medusa: true (products must be linked to sales channel)\n * - Shopify: false (products visible by default unless unlisted)\n * - WooCommerce: false (no scoping concept)\n * - BigCommerce: false (products visible by default unless delisted)\n * - Spree: true (products must be assigned per store)\n * - Magento: true (products must be assigned per website)\n */\n requiresProductScoping: boolean;\n\n /**\n * Primary currency code for this storefront.\n * Examples: \"USD\", \"EUR\", \"GBP\"\n */\n currencyCode: string;\n\n /**\n * Optional region or locale code.\n * Examples: \"US\", \"EU\", \"en-US\", \"es-ES\"\n */\n locale?: string;\n\n /**\n * Optional: Store/Channel metadata from platform.\n * @internal\n */\n metadata?: Record<string, unknown>;\n}\n\n/**\n * Storefront validation error.\n * Thrown when storefront configuration is invalid or missing.\n *\n * @example\n * ```typescript\n * throw new StorefrontConfigError(\n * 'Medusa requires NEXT_PUBLIC_SALES_CHANNEL_ID',\n * 'medusa',\n * 'NEXT_PUBLIC_SALES_CHANNEL_ID',\n * );\n * ```\n */\nexport class StorefrontConfigError extends Error {\n public readonly platformType: string;\n public readonly requiredEnvVar?: string;\n\n constructor(\n message: string,\n platformType: string,\n requiredEnvVar?: string,\n ) {\n super(message);\n this.name = 'StorefrontConfigError';\n this.platformType = platformType;\n this.requiredEnvVar = requiredEnvVar;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;;;AC+BO,IAAK,wBAAL,kBAAKC,2BAAL;AACL,EAAAA,uBAAA,YAAS;AACT,EAAAA,uBAAA,aAAU;AACV,EAAAA,uBAAA,iBAAc;AACd,EAAAA,uBAAA,iBAAc;AACd,EAAAA,uBAAA,WAAQ;AACR,EAAAA,uBAAA,aAAU;AANA,SAAAA;AAAA,GAAA;AA4BL,IAAM,oBAST;AAAA,EACF,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAYO,SAAS,wBACd,OAC6B;AAC7B,SACE,OAAO,UAAU,YACjB,OAAO,OAAO,qBAAqB,EAAE,SAAS,KAA8B;AAEhF;AAYO,SAAS,oBACd,MACgD;AAChD,MAAI,CAAC,wBAAwB,IAAI,GAAG;AAClC,UAAM,IAAI;AAAA,MACR,yBAAyB,IAAI,gBAAgB,OAAO;AAAA,QAClD;AAAA,MACF,EAAE,KAAK,IAAI,CAAC;AAAA,IACd;AAAA,EACF;AACA,SAAO,kBAAkB,IAAI;AAC/B;;;AC9DO,IAAM,wBAAN,cAAoC,MAAM;AAAA,EAC/B;AAAA,EACA;AAAA,EAEhB,YACE,SACA,cACA,gBACA;AACA,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,eAAe;AACpB,SAAK,iBAAiB;AAAA,EACxB;AACF;;;AFSO,IAAKC,yBAAL,kBAAKA,2BAAL;AACL,EAAAA,uBAAA,YAAS;AADC,SAAAA;AAAA,6BAAA;","names":["SupportedProviderType","SupportedProviderType","SupportedProviderType"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/provider.ts","../src/storefront.ts"],"sourcesContent":["/**\n * @thorprovider/types v1.0\n * Shared TypeScript types for Thor Commerce ecosystem\n * \n * Pure type definitions with zero runtime dependencies.\n * Foundation for type-safe commerce operations following SOLID principles.\n */\n\n// ============================================\n// Common Types\n// ============================================\nexport type {\n Money,\n Image,\n SEO,\n Connection,\n Edge,\n PaginationOptions,\n SortOptions,\n Country,\n} from './common';\n\nexport type {\n AuthorConfig,\n BrandConfig,\n ModulesConfig,\n NavigationItem,\n SiteConfig,\n SocialConfig,\n} from './site-config';\n\nexport type { SiteConfigLabels } from './site-config-labels';\n\n// ============================================\n// Product Types\n// ============================================\nexport type {\n Product,\n ProductOption,\n ProductVariant,\n SelectedOption,\n PriceRange,\n GetProductsOptions,\n ActiveFilter,\n SortOption,\n FilterSection,\n FilterOption,\n ProductPreview,\n Review,\n CompareProduct,\n AdminProductVariant,\n AdminProduct,\n AdvancedSearchProductsOptions,\n SearchResultMeta,\n FilterConfig,\n} from './product';\n\n// ============================================\n// Cart Types\n// ============================================\nexport type {\n Cart,\n CartItem,\n CartProduct,\n CartCost,\n CartLineInput,\n CartLineUpdate,\n ShippingMethod,\n DiscountCode,\n} from './cart';\n\n// ============================================\n// Inventory & Fulfillment Types\n// ============================================\nexport type {\n StockLocation,\n InventoryLevel,\n FulfillmentSet,\n FulfillmentOption,\n StockStatus,\n StockValidation,\n} from './stock-location';\n\n// ============================================\n// Collection Types\n// ============================================\nexport type {\n Collection,\n CollectionProductsOptions,\n GetCollectionsOptions,\n} from './collection';\n\n// ============================================\n// Category Types\n// ============================================\nexport type {\n ProductCategory,\n GetCategoriesOptions,\n GetCategoriesCallback,\n} from './category';\n\n// ============================================\n// Customer Types\n// ============================================\nexport type {\n Customer,\n Address,\n GetCustomersOptions,\n GetCustomersCallback,\n} from './customer';\n\n// ============================================\n// Region Types\n// ============================================\nexport type {\n Region,\n} from './region';\n\n// ============================================\n// Order Types\n// ============================================\nexport type {\n Order,\n OrderItem,\n OrderStatus,\n PaymentStatus,\n FulfillmentStatus,\n GetOrdersOptions,\n GetOrdersCallback,\n} from './order';\n\n// ============================================\n// Provider Types (L1 - Source of Truth)\n// ============================================\nexport { SupportedProviderType, type ProviderTypeString } from './provider';\n\nexport {\n isSupportedProviderType,\n getProviderMetadata,\n PROVIDER_METADATA,\n} from './provider';\n\n// ============================================\n// Storefront Types\n// ============================================\nexport type {\n StorefrontContext,\n StorefrontPlatformType,\n} from './storefront';\n\nexport {\n StorefrontConfigError,\n} from './storefront';\n\n// ============================================\n// Storefront Configuration Types\n// ============================================\nexport type {\n StorefrontConfig,\n StorefrontSeoDefaults,\n} from './storefront-config';\n\n// ============================================\n// Designer Configuration Types\n// ============================================\nexport type {\n DesignerConfig,\n DesignerThemeConfig,\n DesignerThemePreset,\n DesignerNavItem,\n DesignerHistoryEntry,\n} from './designer-config';\n\n// ============================================\n// Auth Types\n// ============================================\nexport type {\n AuthProvider,\n AuthConfig,\n AuthMethod,\n AuthStorage,\n LoginCredentials,\n RegisterData,\n AuthResponse,\n UpdateCustomerData,\n CreateAddressData,\n PasswordResetRequest,\n PasswordResetConfirm,\n} from './auth';\n\n// ============================================\n// Payment Types\n// ============================================\nexport type {\n PaymentMethod,\n PaymentMethodType,\n PaymentMethodFeatures,\n PaymentMethodsOptions,\n CachedPaymentMethods,\n} from './payment';\n\n// ============================================\n// Commerce Provider Interface\n// ============================================\nexport type {\n CommerceProvider,\n BackendCapabilities,\n ProviderConfig,\n} from './commerce-provider';\n\n// ============================================\n// Admin Types\n// ============================================\nexport type {\n AdminUser,\n AuditLog,\n DashboardConfig,\n DashboardMetrics,\n SalesMetrics,\n OrdersMetrics,\n ProductsMetrics,\n ChartDataPoint,\n DashboardMetricsAdapter,\n DashboardOrdersAdapter,\n DashboardProductsAdapter,\n AuditLogAdapter,\n SiteConfigMetadata,\n ConfigHistoryEntry,\n} from './admin';\n\n// ============================================\n// Header Configuration Types\n// ============================================\nexport type {\n IconConfig,\n NavigationCalloutItem,\n NavigationLinkItem,\n DynamicSource,\n HeaderLinkItem,\n AccountMenuItem,\n AccountDropdownConfig,\n SearchBarConfig,\n HeaderNavigationConfig,\n} from './header-config';\n","/**\n * @thorprovider/types — Supported Providers\n *\n * Centralized list of all supported commerce providers.\n * This is the single source of truth for provider types across the monorepo.\n *\n * @remarks\n * - L1 (Foundation): Defines the contract\n * - L2 (@thorprovider/adapters) imports from here to build the factory\n * - L5 (Starters) uses the factory which is bound to this enum\n *\n * When adding a new provider (e.g., Stel Order):\n * 1. Add to SupportedProviderType enum below\n * 2. Update @thorprovider/adapters factory/index.ts with discriminated union\n * 3. Create packages/adapters/src/providers/shopify/\n * 4. Implement CommerceProvider interface\n * 5. Update StorefrontPlatformType in storefront.ts\n */\n\n/**\n * All supported commerce platform providers.\n * `mock` is the backend-optional runtime provider used for layout/design mode.\n * `medusa` is fully implemented for real backend usage; others are placeholders for future expansion.\n *\n * @remarks Implementation status:\n * - ✅ mock: Fixture-backed provider for backend-optional storefronts\n * - ✅ medusa: Fully implemented\n * - 🟡 stelorder: In progress (ERP adapter v1)\n * - 🟡 shopify: Planned (Phase 2)\n * - 🟡 bigcommerce: Planned (Phase 2)\n * - 🟡 woocommerce: Planned (Phase 3)\n * - 🟡 spree: Planned (Phase 3)\n * - 🟡 magento: Planned (Phase 3)\n */\nexport enum SupportedProviderType {\n Mock = 'mock',\n Medusa = 'medusa',\n StelOrder = 'stelorder',\n Shopify = 'shopify',\n BigCommerce = 'bigcommerce',\n WooCommerce = 'woocommerce',\n Spree = 'spree',\n Magento = 'magento',\n}\n\n/**\n * Union type of all supported provider string values.\n * Use this for type annotations when a provider type is expected.\n *\n * @example\n * ```typescript\n * function getProviderName(type: ProviderTypeString): string {\n * // type is 'medusa'\n * }\n * ```\n */\nexport type ProviderTypeString = 'mock' | 'medusa' | 'stelorder' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';\n\n/**\n * Metadata about each provider.\n * Useful for UI, error messages, validation, and documentation.\n *\n * @internal\n */\nexport const PROVIDER_METADATA: Record<\n ProviderTypeString,\n {\n name: string;\n description: string;\n requiresStorefront: boolean;\n requiredEnvVars: string[];\n maxRetries: number;\n }\n> = {\n mock: {\n name: 'Mock',\n description: 'Fixture-backed runtime provider for layout/design mode without a real backend',\n requiresStorefront: false,\n requiredEnvVars: [],\n maxRetries: 0,\n },\n medusa: {\n name: 'Medusa JS',\n description: 'Medusa v2 commerce engine',\n requiresStorefront: true,\n requiredEnvVars: [\n 'NEXT_PUBLIC_COMMERCE_API_URL',\n 'NEXT_PUBLIC_COMMERCE_API_KEY',\n 'NEXT_PUBLIC_SALES_CHANNEL_ID',\n ],\n maxRetries: 3,\n },\n stelorder: {\n name: 'Stel Order',\n description: 'Stel Order ERP and sales document API',\n requiresStorefront: false,\n requiredEnvVars: [\n 'NEXT_PUBLIC_COMMERCE_API_URL',\n 'NEXT_PUBLIC_COMMERCE_API_KEY',\n ],\n maxRetries: 2,\n },\n shopify: {\n name: 'Shopify',\n description: 'Shopify Storefront API (GraphQL)',\n requiresStorefront: false,\n requiredEnvVars: [\n 'NEXT_PUBLIC_SHOPIFY_STORE_DOMAIN',\n 'NEXT_PUBLIC_SHOPIFY_STOREFRONT_TOKEN',\n ],\n maxRetries: 3,\n },\n bigcommerce: {\n name: 'BigCommerce',\n description: 'BigCommerce REST Storefront API',\n requiresStorefront: false,\n requiredEnvVars: [\n 'BIGCOMMERCE_STORE_HASH',\n 'BIGCOMMERCE_STOREFRONT_API_TOKEN',\n 'BIGCOMMERCE_CHANNEL_ID',\n ],\n maxRetries: 3,\n },\n woocommerce: {\n name: 'WooCommerce',\n description: 'WooCommerce Store API + REST API v3',\n requiresStorefront: false,\n requiredEnvVars: [\n 'WOOCOMMERCE_URL',\n 'WOOCOMMERCE_CONSUMER_KEY',\n 'WOOCOMMERCE_CONSUMER_SECRET',\n ],\n maxRetries: 3,\n },\n spree: {\n name: 'Spree Commerce',\n description: 'Spree API v2 Storefront (JSON:API)',\n requiresStorefront: false,\n requiredEnvVars: [\n 'SPREE_API_URL',\n ],\n maxRetries: 3,\n },\n magento: {\n name: 'Adobe Commerce (Magento)',\n description: 'Adobe Commerce GraphQL + REST API',\n requiresStorefront: true,\n requiredEnvVars: [\n 'MAGENTO_URL',\n 'MAGENTO_STORE_CODE',\n ],\n maxRetries: 3,\n },\n};\n\n/**\n * Check if a string is a valid provider type.\n *\n * @example\n * ```typescript\n * if (isSupportedProviderType(process.env.COMMERCE_PROVIDER)) {\n * // type is narrowed to ProviderTypeString\n * }\n * ```\n */\nexport function isSupportedProviderType(\n value: unknown\n): value is ProviderTypeString {\n return (\n typeof value === 'string' &&\n Object.values(SupportedProviderType).includes(value as SupportedProviderType)\n );\n}\n\n/**\n * Get metadata for a provider type.\n * Useful for validation, error messages, and logging.\n *\n * @example\n * ```typescript\n * const meta = getProviderMetadata('medusa');\n * console.log(`Using ${meta.name} with max ${meta.maxRetries} retries`);\n * ```\n */\nexport function getProviderMetadata(\n type: ProviderTypeString\n): (typeof PROVIDER_METADATA)[ProviderTypeString] {\n if (!isSupportedProviderType(type)) {\n throw new Error(\n `Unsupported provider: ${type}. Supported: ${Object.values(\n SupportedProviderType\n ).join(', ')}`\n );\n }\n return PROVIDER_METADATA[type];\n}\n","/**\n * @thorprovider/types — Storefront Context\n *\n * Platform-agnostic representation of a \"sales channel\" or equivalent.\n * Abstracts differences between Medusa sales_channel, Shopify publications,\n * BigCommerce channels, WooCommerce sites, Spree stores, and Magento store views.\n *\n * @remarks\n * - Required for all multi-tenant deployments\n * - Returned by `CommerceProvider.getStorefrontContext()`\n * - MUST be validated on startup; errors should NOT be silently ignored\n */\n\n/**\n * Supported commerce platform types for storefront identification.\n *\n * @remarks\n * Keep this type in sync with SupportedProviderType from provider.ts.\n * When adding a new provider, update both packages/types/src/provider.ts\n * and this type.\n *\n * Currently supported:\n * - ✅ 'mock': Backend-optional layout/design mode using fixture data\n * - ✅ 'medusa': Fully implemented\n * - 🟡 'stelorder': ERP adapter v1\n *\n * Planned (not yet implemented):\n * - 🟡 'shopify': Phase 2\n * - 🟡 'bigcommerce': Phase 2\n * - 🟡 'woocommerce': Phase 3\n * - 🟡 'spree': Phase 3\n * - 🟡 'magento': Phase 3\n */\nexport type StorefrontPlatformType = 'mock' | 'medusa' | 'stelorder' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';\n\n/**\n * StorefrontContext\n *\n * Platform-agnostic representation of a \"sales channel\" or equivalent.\n *\n * @example\n * ```typescript\n * const ctx: StorefrontContext = {\n * id: 'sc_01J...',\n * name: 'B2C Storefront',\n * platformType: 'medusa',\n * requiresProductScoping: true,\n * currencyCode: 'USD',\n * };\n * ```\n */\nexport interface StorefrontContext {\n /**\n * Unique identifier for this storefront across the system.\n * Examples: \"sc_123\" (Medusa), \"gid://shopify/Channel/789\" (Shopify), \"1\" (WooCommerce)\n */\n id: string;\n\n /**\n * Human-readable name for logging and debugging.\n */\n name: string;\n\n /**\n * Platform this storefront belongs to.\n */\n platformType: StorefrontPlatformType;\n\n /**\n * Whether products must be explicitly linked/published to this storefront.\n *\n * @remarks\n * - Medusa: true (products must be linked to sales channel)\n * - Shopify: false (products visible by default unless unlisted)\n * - Stel Order: false (single-company ERP model, no native channel scoping)\n * - WooCommerce: false (no scoping concept)\n * - BigCommerce: false (products visible by default unless delisted)\n * - Spree: true (products must be assigned per store)\n * - Magento: true (products must be assigned per website)\n */\n requiresProductScoping: boolean;\n\n /**\n * Primary currency code for this storefront.\n * Examples: \"USD\", \"EUR\", \"GBP\"\n */\n currencyCode: string;\n\n /**\n * Optional region or locale code.\n * Examples: \"US\", \"EU\", \"en-US\", \"es-ES\"\n */\n locale?: string;\n\n /**\n * Optional: Store/Channel metadata from platform.\n * @internal\n */\n metadata?: Record<string, unknown>;\n}\n\n/**\n * Storefront validation error.\n * Thrown when storefront configuration is invalid or missing.\n *\n * @example\n * ```typescript\n * throw new StorefrontConfigError(\n * 'Medusa requires NEXT_PUBLIC_SALES_CHANNEL_ID',\n * 'medusa',\n * 'NEXT_PUBLIC_SALES_CHANNEL_ID',\n * );\n * ```\n */\nexport class StorefrontConfigError extends Error {\n public readonly platformType: string;\n public readonly requiredEnvVar?: string;\n\n constructor(\n message: string,\n platformType: string,\n requiredEnvVar?: string,\n ) {\n super(message);\n this.name = 'StorefrontConfigError';\n this.platformType = platformType;\n this.requiredEnvVar = requiredEnvVar;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACkCO,IAAK,wBAAL,kBAAKA,2BAAL;AACL,EAAAA,uBAAA,UAAO;AACP,EAAAA,uBAAA,YAAS;AACT,EAAAA,uBAAA,eAAY;AACZ,EAAAA,uBAAA,aAAU;AACV,EAAAA,uBAAA,iBAAc;AACd,EAAAA,uBAAA,iBAAc;AACd,EAAAA,uBAAA,WAAQ;AACR,EAAAA,uBAAA,aAAU;AARA,SAAAA;AAAA,GAAA;AA8BL,IAAM,oBAST;AAAA,EACF,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB,CAAC;AAAA,IAClB,YAAY;AAAA,EACd;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAYO,SAAS,wBACd,OAC6B;AAC7B,SACE,OAAO,UAAU,YACjB,OAAO,OAAO,qBAAqB,EAAE,SAAS,KAA8B;AAEhF;AAYO,SAAS,oBACd,MACgD;AAChD,MAAI,CAAC,wBAAwB,IAAI,GAAG;AAClC,UAAM,IAAI;AAAA,MACR,yBAAyB,IAAI,gBAAgB,OAAO;AAAA,QAClD;AAAA,MACF,EAAE,KAAK,IAAI,CAAC;AAAA,IACd;AAAA,EACF;AACA,SAAO,kBAAkB,IAAI;AAC/B;;;ACjFO,IAAM,wBAAN,cAAoC,MAAM;AAAA,EAC/B;AAAA,EACA;AAAA,EAEhB,YACE,SACA,cACA,gBACA;AACA,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,eAAe;AACpB,SAAK,iBAAiB;AAAA,EACxB;AACF;","names":["SupportedProviderType"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
// src/provider.ts
|
|
2
|
-
var SupportedProviderType = /* @__PURE__ */ ((
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
var SupportedProviderType = /* @__PURE__ */ ((SupportedProviderType2) => {
|
|
3
|
+
SupportedProviderType2["Mock"] = "mock";
|
|
4
|
+
SupportedProviderType2["Medusa"] = "medusa";
|
|
5
|
+
SupportedProviderType2["StelOrder"] = "stelorder";
|
|
6
|
+
SupportedProviderType2["Shopify"] = "shopify";
|
|
7
|
+
SupportedProviderType2["BigCommerce"] = "bigcommerce";
|
|
8
|
+
SupportedProviderType2["WooCommerce"] = "woocommerce";
|
|
9
|
+
SupportedProviderType2["Spree"] = "spree";
|
|
10
|
+
SupportedProviderType2["Magento"] = "magento";
|
|
11
|
+
return SupportedProviderType2;
|
|
10
12
|
})(SupportedProviderType || {});
|
|
11
13
|
var PROVIDER_METADATA = {
|
|
14
|
+
mock: {
|
|
15
|
+
name: "Mock",
|
|
16
|
+
description: "Fixture-backed runtime provider for layout/design mode without a real backend",
|
|
17
|
+
requiresStorefront: false,
|
|
18
|
+
requiredEnvVars: [],
|
|
19
|
+
maxRetries: 0
|
|
20
|
+
},
|
|
12
21
|
medusa: {
|
|
13
22
|
name: "Medusa JS",
|
|
14
23
|
description: "Medusa v2 commerce engine",
|
|
@@ -20,6 +29,16 @@ var PROVIDER_METADATA = {
|
|
|
20
29
|
],
|
|
21
30
|
maxRetries: 3
|
|
22
31
|
},
|
|
32
|
+
stelorder: {
|
|
33
|
+
name: "Stel Order",
|
|
34
|
+
description: "Stel Order ERP and sales document API",
|
|
35
|
+
requiresStorefront: false,
|
|
36
|
+
requiredEnvVars: [
|
|
37
|
+
"NEXT_PUBLIC_COMMERCE_API_URL",
|
|
38
|
+
"NEXT_PUBLIC_COMMERCE_API_KEY"
|
|
39
|
+
],
|
|
40
|
+
maxRetries: 2
|
|
41
|
+
},
|
|
23
42
|
shopify: {
|
|
24
43
|
name: "Shopify",
|
|
25
44
|
description: "Shopify Storefront API (GraphQL)",
|
|
@@ -97,16 +116,10 @@ var StorefrontConfigError = class extends Error {
|
|
|
97
116
|
this.requiredEnvVar = requiredEnvVar;
|
|
98
117
|
}
|
|
99
118
|
};
|
|
100
|
-
|
|
101
|
-
// src/index.ts
|
|
102
|
-
var SupportedProviderType2 = /* @__PURE__ */ ((SupportedProviderType3) => {
|
|
103
|
-
SupportedProviderType3["Medusa"] = "medusa";
|
|
104
|
-
return SupportedProviderType3;
|
|
105
|
-
})(SupportedProviderType2 || {});
|
|
106
119
|
export {
|
|
107
120
|
PROVIDER_METADATA,
|
|
108
121
|
StorefrontConfigError,
|
|
109
|
-
|
|
122
|
+
SupportedProviderType,
|
|
110
123
|
getProviderMetadata,
|
|
111
124
|
isSupportedProviderType
|
|
112
125
|
};
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/provider.ts","../src/storefront.ts","../src/index.ts"],"sourcesContent":["/**\n * @thorprovider/types — Supported Providers\n *\n * Centralized list of all supported commerce providers.\n * This is the single source of truth for provider types across the monorepo.\n *\n * @remarks\n * - L1 (Foundation): Defines the contract\n * - L2 (@thorprovider/adapters) imports from here to build the factory\n * - L5 (Starters) uses the factory which is bound to this enum\n *\n * When adding a new provider (e.g., Shopify):\n * 1. Add to SupportedProviderType enum below\n * 2. Update @thorprovider/adapters factory/index.ts with discriminated union\n * 3. Create packages/adapters/src/providers/shopify/\n * 4. Implement CommerceProvider interface\n * 5. Update StorefrontPlatformType in storefront.ts (automatically synced)\n */\n\n/**\n * All supported commerce platform providers.\n * Currently only 'medusa' is implemented; others are placeholders for future expansion.\n *\n * @remarks Implementation status:\n * - ✅ medusa: Fully implemented\n * - 🟡 shopify: Planned (Phase 2)\n * - 🟡 bigcommerce: Planned (Phase 2)\n * - 🟡 woocommerce: Planned (Phase 3)\n * - 🟡 spree: Planned (Phase 3)\n * - 🟡 magento: Planned (Phase 3)\n */\nexport enum SupportedProviderType {\n Medusa = 'medusa',\n Shopify = 'shopify',\n BigCommerce = 'bigcommerce',\n WooCommerce = 'woocommerce',\n Spree = 'spree',\n Magento = 'magento',\n}\n\n/**\n * Union type of all supported provider string values.\n * Use this for type annotations when a provider type is expected.\n *\n * @example\n * ```typescript\n * function getProviderName(type: ProviderTypeString): string {\n * // type is 'medusa'\n * }\n * ```\n */\nexport type ProviderTypeString = 'medusa' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';\n\n/**\n * Metadata about each provider.\n * Useful for UI, error messages, validation, and documentation.\n *\n * @internal\n */\nexport const PROVIDER_METADATA: Record<\n ProviderTypeString,\n {\n name: string;\n description: string;\n requiresStorefront: boolean;\n requiredEnvVars: string[];\n maxRetries: number;\n }\n> = {\n medusa: {\n name: 'Medusa JS',\n description: 'Medusa v2 commerce engine',\n requiresStorefront: true,\n requiredEnvVars: [\n 'NEXT_PUBLIC_COMMERCE_API_URL',\n 'NEXT_PUBLIC_COMMERCE_API_KEY',\n 'NEXT_PUBLIC_SALES_CHANNEL_ID',\n ],\n maxRetries: 3,\n },\n shopify: {\n name: 'Shopify',\n description: 'Shopify Storefront API (GraphQL)',\n requiresStorefront: false,\n requiredEnvVars: [\n 'NEXT_PUBLIC_SHOPIFY_STORE_DOMAIN',\n 'NEXT_PUBLIC_SHOPIFY_STOREFRONT_TOKEN',\n ],\n maxRetries: 3,\n },\n bigcommerce: {\n name: 'BigCommerce',\n description: 'BigCommerce REST Storefront API',\n requiresStorefront: false,\n requiredEnvVars: [\n 'BIGCOMMERCE_STORE_HASH',\n 'BIGCOMMERCE_STOREFRONT_API_TOKEN',\n 'BIGCOMMERCE_CHANNEL_ID',\n ],\n maxRetries: 3,\n },\n woocommerce: {\n name: 'WooCommerce',\n description: 'WooCommerce Store API + REST API v3',\n requiresStorefront: false,\n requiredEnvVars: [\n 'WOOCOMMERCE_URL',\n 'WOOCOMMERCE_CONSUMER_KEY',\n 'WOOCOMMERCE_CONSUMER_SECRET',\n ],\n maxRetries: 3,\n },\n spree: {\n name: 'Spree Commerce',\n description: 'Spree API v2 Storefront (JSON:API)',\n requiresStorefront: false,\n requiredEnvVars: [\n 'SPREE_API_URL',\n ],\n maxRetries: 3,\n },\n magento: {\n name: 'Adobe Commerce (Magento)',\n description: 'Adobe Commerce GraphQL + REST API',\n requiresStorefront: true,\n requiredEnvVars: [\n 'MAGENTO_URL',\n 'MAGENTO_STORE_CODE',\n ],\n maxRetries: 3,\n },\n};\n\n/**\n * Check if a string is a valid provider type.\n *\n * @example\n * ```typescript\n * if (isSupportedProviderType(process.env.COMMERCE_PROVIDER)) {\n * // type is narrowed to ProviderTypeString\n * }\n * ```\n */\nexport function isSupportedProviderType(\n value: unknown\n): value is ProviderTypeString {\n return (\n typeof value === 'string' &&\n Object.values(SupportedProviderType).includes(value as SupportedProviderType)\n );\n}\n\n/**\n * Get metadata for a provider type.\n * Useful for validation, error messages, and logging.\n *\n * @example\n * ```typescript\n * const meta = getProviderMetadata('medusa');\n * console.log(`Using ${meta.name} with max ${meta.maxRetries} retries`);\n * ```\n */\nexport function getProviderMetadata(\n type: ProviderTypeString\n): (typeof PROVIDER_METADATA)[ProviderTypeString] {\n if (!isSupportedProviderType(type)) {\n throw new Error(\n `Unsupported provider: ${type}. Supported: ${Object.values(\n SupportedProviderType\n ).join(', ')}`\n );\n }\n return PROVIDER_METADATA[type];\n}\n","/**\n * @thorprovider/types — Storefront Context\n *\n * Platform-agnostic representation of a \"sales channel\" or equivalent.\n * Abstracts differences between Medusa sales_channel, Shopify publications,\n * BigCommerce channels, WooCommerce sites, Spree stores, and Magento store views.\n *\n * @remarks\n * - Required for all multi-tenant deployments\n * - Returned by `CommerceProvider.getStorefrontContext()`\n * - MUST be validated on startup; errors should NOT be silently ignored\n */\n\n/**\n * Supported commerce platform types for storefront identification.\n *\n * @remarks\n * This type is automatically synced with SupportedProviderType from provider.ts.\n * When adding a new provider, update packages/types/src/provider.ts,\n * and this type will automatically reflect the new provider.\n *\n * Currently supported:\n * - ✅ 'medusa': Fully implemented\n *\n * Planned (not yet implemented):\n * - 🟡 'shopify': Phase 2\n * - 🟡 'bigcommerce': Phase 2\n * - 🟡 'woocommerce': Phase 3\n * - 🟡 'spree': Phase 3\n * - 🟡 'magento': Phase 3\n */\nexport type StorefrontPlatformType = 'medusa' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';\n\n/**\n * StorefrontContext\n *\n * Platform-agnostic representation of a \"sales channel\" or equivalent.\n *\n * @example\n * ```typescript\n * const ctx: StorefrontContext = {\n * id: 'sc_01J...',\n * name: 'B2C Storefront',\n * platformType: 'medusa',\n * requiresProductScoping: true,\n * currencyCode: 'USD',\n * };\n * ```\n */\nexport interface StorefrontContext {\n /**\n * Unique identifier for this storefront across the system.\n * Examples: \"sc_123\" (Medusa), \"gid://shopify/Channel/789\" (Shopify), \"1\" (WooCommerce)\n */\n id: string;\n\n /**\n * Human-readable name for logging and debugging.\n */\n name: string;\n\n /**\n * Platform this storefront belongs to.\n */\n platformType: StorefrontPlatformType;\n\n /**\n * Whether products must be explicitly linked/published to this storefront.\n *\n * @remarks\n * - Medusa: true (products must be linked to sales channel)\n * - Shopify: false (products visible by default unless unlisted)\n * - WooCommerce: false (no scoping concept)\n * - BigCommerce: false (products visible by default unless delisted)\n * - Spree: true (products must be assigned per store)\n * - Magento: true (products must be assigned per website)\n */\n requiresProductScoping: boolean;\n\n /**\n * Primary currency code for this storefront.\n * Examples: \"USD\", \"EUR\", \"GBP\"\n */\n currencyCode: string;\n\n /**\n * Optional region or locale code.\n * Examples: \"US\", \"EU\", \"en-US\", \"es-ES\"\n */\n locale?: string;\n\n /**\n * Optional: Store/Channel metadata from platform.\n * @internal\n */\n metadata?: Record<string, unknown>;\n}\n\n/**\n * Storefront validation error.\n * Thrown when storefront configuration is invalid or missing.\n *\n * @example\n * ```typescript\n * throw new StorefrontConfigError(\n * 'Medusa requires NEXT_PUBLIC_SALES_CHANNEL_ID',\n * 'medusa',\n * 'NEXT_PUBLIC_SALES_CHANNEL_ID',\n * );\n * ```\n */\nexport class StorefrontConfigError extends Error {\n public readonly platformType: string;\n public readonly requiredEnvVar?: string;\n\n constructor(\n message: string,\n platformType: string,\n requiredEnvVar?: string,\n ) {\n super(message);\n this.name = 'StorefrontConfigError';\n this.platformType = platformType;\n this.requiredEnvVar = requiredEnvVar;\n }\n}\n","/**\n * @thorprovider/types v1.0\n * Shared TypeScript types for Thor Commerce ecosystem\n * \n * Pure type definitions with zero runtime dependencies.\n * Foundation for type-safe commerce operations following SOLID principles.\n */\n\n// ============================================\n// Common Types\n// ============================================\nexport type {\n Money,\n Image,\n SEO,\n Connection,\n Edge,\n PaginationOptions,\n SortOptions,\n Country,\n} from './common';\n\nexport type {\n AuthorConfig,\n BrandConfig,\n ModulesConfig,\n NavigationItem,\n SiteConfig,\n SocialConfig,\n} from './site-config';\n\nexport type { SiteConfigLabels } from './site-config-labels';\n\n// ============================================\n// Product Types\n// ============================================\nexport type {\n Product,\n ProductOption,\n ProductVariant,\n SelectedOption,\n PriceRange,\n GetProductsOptions,\n ActiveFilter,\n SortOption,\n FilterSection,\n FilterOption,\n ProductPreview,\n Review,\n CompareProduct,\n AdminProductVariant,\n AdminProduct,\n AdvancedSearchProductsOptions,\n SearchResultMeta,\n FilterConfig,\n} from './product';\n\n// ============================================\n// Cart Types\n// ============================================\nexport type {\n Cart,\n CartItem,\n CartProduct,\n CartCost,\n CartLineInput,\n CartLineUpdate,\n ShippingMethod,\n DiscountCode,\n} from './cart';\n\n// ============================================\n// Inventory & Fulfillment Types\n// ============================================\nexport type {\n StockLocation,\n InventoryLevel,\n FulfillmentSet,\n FulfillmentOption,\n StockStatus,\n StockValidation,\n} from './stock-location';\n\n// ============================================\n// Collection Types\n// ============================================\nexport type {\n Collection,\n CollectionProductsOptions,\n GetCollectionsOptions,\n} from './collection';\n\n// ============================================\n// Category Types\n// ============================================\nexport type {\n ProductCategory,\n GetCategoriesOptions,\n GetCategoriesCallback,\n} from './category';\n\n// ============================================\n// Customer Types\n// ============================================\nexport type {\n Customer,\n Address,\n GetCustomersOptions,\n GetCustomersCallback,\n} from './customer';\n\n// ============================================\n// Region Types\n// ============================================\nexport type {\n Region,\n} from './region';\n\n// ============================================\n// Order Types\n// ============================================\nexport type {\n Order,\n OrderItem,\n OrderStatus,\n PaymentStatus,\n FulfillmentStatus,\n GetOrdersOptions,\n GetOrdersCallback,\n} from './order';\n\n// ============================================\n// Provider Types (L1 - Source of Truth)\n// ============================================\nexport enum SupportedProviderType {\n Medusa = 'medusa',\n}\n\n// Re-export provider types directly\nexport { type ProviderTypeString } from './provider';\n\nexport {\n isSupportedProviderType,\n getProviderMetadata,\n PROVIDER_METADATA,\n} from './provider';\n\n// ============================================\n// Storefront Types\n// ============================================\nexport type {\n StorefrontContext,\n StorefrontPlatformType,\n} from './storefront';\n\nexport {\n StorefrontConfigError,\n} from './storefront';\n\n// ============================================\n// Storefront Configuration Types\n// ============================================\nexport type {\n StorefrontConfig,\n StorefrontSeoDefaults,\n} from './storefront-config';\n\n// ============================================\n// Designer Configuration Types\n// ============================================\nexport type {\n DesignerConfig,\n DesignerThemeConfig,\n DesignerThemePreset,\n DesignerNavItem,\n DesignerHistoryEntry,\n} from './designer-config';\n\n// ============================================\n// Auth Types\n// ============================================\nexport type {\n AuthProvider,\n AuthConfig,\n AuthMethod,\n AuthStorage,\n LoginCredentials,\n RegisterData,\n AuthResponse,\n UpdateCustomerData,\n CreateAddressData,\n PasswordResetRequest,\n PasswordResetConfirm,\n} from './auth';\n\n// ============================================\n// Payment Types\n// ============================================\nexport type {\n PaymentMethod,\n PaymentMethodType,\n PaymentMethodFeatures,\n PaymentMethodsOptions,\n CachedPaymentMethods,\n} from './payment';\n\n// ============================================\n// Commerce Provider Interface\n// ============================================\nexport type {\n CommerceProvider,\n BackendCapabilities,\n ProviderConfig,\n} from './commerce-provider';\n\n// ============================================\n// Admin Types\n// ============================================\nexport type {\n AdminUser,\n AuditLog,\n DashboardConfig,\n DashboardMetrics,\n SalesMetrics,\n OrdersMetrics,\n ProductsMetrics,\n ChartDataPoint,\n DashboardMetricsAdapter,\n DashboardOrdersAdapter,\n DashboardProductsAdapter,\n AuditLogAdapter,\n SiteConfigMetadata,\n ConfigHistoryEntry,\n} from './admin';\n\n// ============================================\n// Header Configuration Types\n// ============================================\nexport type {\n IconConfig,\n NavigationCalloutItem,\n NavigationLinkItem,\n DynamicSource,\n HeaderLinkItem,\n AccountMenuItem,\n AccountDropdownConfig,\n SearchBarConfig,\n HeaderNavigationConfig,\n} from './header-config';\n"],"mappings":";AA+BO,IAAK,wBAAL,kBAAKA,2BAAL;AACL,EAAAA,uBAAA,YAAS;AACT,EAAAA,uBAAA,aAAU;AACV,EAAAA,uBAAA,iBAAc;AACd,EAAAA,uBAAA,iBAAc;AACd,EAAAA,uBAAA,WAAQ;AACR,EAAAA,uBAAA,aAAU;AANA,SAAAA;AAAA,GAAA;AA4BL,IAAM,oBAST;AAAA,EACF,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAYO,SAAS,wBACd,OAC6B;AAC7B,SACE,OAAO,UAAU,YACjB,OAAO,OAAO,qBAAqB,EAAE,SAAS,KAA8B;AAEhF;AAYO,SAAS,oBACd,MACgD;AAChD,MAAI,CAAC,wBAAwB,IAAI,GAAG;AAClC,UAAM,IAAI;AAAA,MACR,yBAAyB,IAAI,gBAAgB,OAAO;AAAA,QAClD;AAAA,MACF,EAAE,KAAK,IAAI,CAAC;AAAA,IACd;AAAA,EACF;AACA,SAAO,kBAAkB,IAAI;AAC/B;;;AC9DO,IAAM,wBAAN,cAAoC,MAAM;AAAA,EAC/B;AAAA,EACA;AAAA,EAEhB,YACE,SACA,cACA,gBACA;AACA,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,eAAe;AACpB,SAAK,iBAAiB;AAAA,EACxB;AACF;;;ACSO,IAAKC,yBAAL,kBAAKA,2BAAL;AACL,EAAAA,uBAAA,YAAS;AADC,SAAAA;AAAA,6BAAA;","names":["SupportedProviderType","SupportedProviderType"]}
|
|
1
|
+
{"version":3,"sources":["../src/provider.ts","../src/storefront.ts"],"sourcesContent":["/**\n * @thorprovider/types — Supported Providers\n *\n * Centralized list of all supported commerce providers.\n * This is the single source of truth for provider types across the monorepo.\n *\n * @remarks\n * - L1 (Foundation): Defines the contract\n * - L2 (@thorprovider/adapters) imports from here to build the factory\n * - L5 (Starters) uses the factory which is bound to this enum\n *\n * When adding a new provider (e.g., Stel Order):\n * 1. Add to SupportedProviderType enum below\n * 2. Update @thorprovider/adapters factory/index.ts with discriminated union\n * 3. Create packages/adapters/src/providers/shopify/\n * 4. Implement CommerceProvider interface\n * 5. Update StorefrontPlatformType in storefront.ts\n */\n\n/**\n * All supported commerce platform providers.\n * `mock` is the backend-optional runtime provider used for layout/design mode.\n * `medusa` is fully implemented for real backend usage; others are placeholders for future expansion.\n *\n * @remarks Implementation status:\n * - ✅ mock: Fixture-backed provider for backend-optional storefronts\n * - ✅ medusa: Fully implemented\n * - 🟡 stelorder: In progress (ERP adapter v1)\n * - 🟡 shopify: Planned (Phase 2)\n * - 🟡 bigcommerce: Planned (Phase 2)\n * - 🟡 woocommerce: Planned (Phase 3)\n * - 🟡 spree: Planned (Phase 3)\n * - 🟡 magento: Planned (Phase 3)\n */\nexport enum SupportedProviderType {\n Mock = 'mock',\n Medusa = 'medusa',\n StelOrder = 'stelorder',\n Shopify = 'shopify',\n BigCommerce = 'bigcommerce',\n WooCommerce = 'woocommerce',\n Spree = 'spree',\n Magento = 'magento',\n}\n\n/**\n * Union type of all supported provider string values.\n * Use this for type annotations when a provider type is expected.\n *\n * @example\n * ```typescript\n * function getProviderName(type: ProviderTypeString): string {\n * // type is 'medusa'\n * }\n * ```\n */\nexport type ProviderTypeString = 'mock' | 'medusa' | 'stelorder' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';\n\n/**\n * Metadata about each provider.\n * Useful for UI, error messages, validation, and documentation.\n *\n * @internal\n */\nexport const PROVIDER_METADATA: Record<\n ProviderTypeString,\n {\n name: string;\n description: string;\n requiresStorefront: boolean;\n requiredEnvVars: string[];\n maxRetries: number;\n }\n> = {\n mock: {\n name: 'Mock',\n description: 'Fixture-backed runtime provider for layout/design mode without a real backend',\n requiresStorefront: false,\n requiredEnvVars: [],\n maxRetries: 0,\n },\n medusa: {\n name: 'Medusa JS',\n description: 'Medusa v2 commerce engine',\n requiresStorefront: true,\n requiredEnvVars: [\n 'NEXT_PUBLIC_COMMERCE_API_URL',\n 'NEXT_PUBLIC_COMMERCE_API_KEY',\n 'NEXT_PUBLIC_SALES_CHANNEL_ID',\n ],\n maxRetries: 3,\n },\n stelorder: {\n name: 'Stel Order',\n description: 'Stel Order ERP and sales document API',\n requiresStorefront: false,\n requiredEnvVars: [\n 'NEXT_PUBLIC_COMMERCE_API_URL',\n 'NEXT_PUBLIC_COMMERCE_API_KEY',\n ],\n maxRetries: 2,\n },\n shopify: {\n name: 'Shopify',\n description: 'Shopify Storefront API (GraphQL)',\n requiresStorefront: false,\n requiredEnvVars: [\n 'NEXT_PUBLIC_SHOPIFY_STORE_DOMAIN',\n 'NEXT_PUBLIC_SHOPIFY_STOREFRONT_TOKEN',\n ],\n maxRetries: 3,\n },\n bigcommerce: {\n name: 'BigCommerce',\n description: 'BigCommerce REST Storefront API',\n requiresStorefront: false,\n requiredEnvVars: [\n 'BIGCOMMERCE_STORE_HASH',\n 'BIGCOMMERCE_STOREFRONT_API_TOKEN',\n 'BIGCOMMERCE_CHANNEL_ID',\n ],\n maxRetries: 3,\n },\n woocommerce: {\n name: 'WooCommerce',\n description: 'WooCommerce Store API + REST API v3',\n requiresStorefront: false,\n requiredEnvVars: [\n 'WOOCOMMERCE_URL',\n 'WOOCOMMERCE_CONSUMER_KEY',\n 'WOOCOMMERCE_CONSUMER_SECRET',\n ],\n maxRetries: 3,\n },\n spree: {\n name: 'Spree Commerce',\n description: 'Spree API v2 Storefront (JSON:API)',\n requiresStorefront: false,\n requiredEnvVars: [\n 'SPREE_API_URL',\n ],\n maxRetries: 3,\n },\n magento: {\n name: 'Adobe Commerce (Magento)',\n description: 'Adobe Commerce GraphQL + REST API',\n requiresStorefront: true,\n requiredEnvVars: [\n 'MAGENTO_URL',\n 'MAGENTO_STORE_CODE',\n ],\n maxRetries: 3,\n },\n};\n\n/**\n * Check if a string is a valid provider type.\n *\n * @example\n * ```typescript\n * if (isSupportedProviderType(process.env.COMMERCE_PROVIDER)) {\n * // type is narrowed to ProviderTypeString\n * }\n * ```\n */\nexport function isSupportedProviderType(\n value: unknown\n): value is ProviderTypeString {\n return (\n typeof value === 'string' &&\n Object.values(SupportedProviderType).includes(value as SupportedProviderType)\n );\n}\n\n/**\n * Get metadata for a provider type.\n * Useful for validation, error messages, and logging.\n *\n * @example\n * ```typescript\n * const meta = getProviderMetadata('medusa');\n * console.log(`Using ${meta.name} with max ${meta.maxRetries} retries`);\n * ```\n */\nexport function getProviderMetadata(\n type: ProviderTypeString\n): (typeof PROVIDER_METADATA)[ProviderTypeString] {\n if (!isSupportedProviderType(type)) {\n throw new Error(\n `Unsupported provider: ${type}. Supported: ${Object.values(\n SupportedProviderType\n ).join(', ')}`\n );\n }\n return PROVIDER_METADATA[type];\n}\n","/**\n * @thorprovider/types — Storefront Context\n *\n * Platform-agnostic representation of a \"sales channel\" or equivalent.\n * Abstracts differences between Medusa sales_channel, Shopify publications,\n * BigCommerce channels, WooCommerce sites, Spree stores, and Magento store views.\n *\n * @remarks\n * - Required for all multi-tenant deployments\n * - Returned by `CommerceProvider.getStorefrontContext()`\n * - MUST be validated on startup; errors should NOT be silently ignored\n */\n\n/**\n * Supported commerce platform types for storefront identification.\n *\n * @remarks\n * Keep this type in sync with SupportedProviderType from provider.ts.\n * When adding a new provider, update both packages/types/src/provider.ts\n * and this type.\n *\n * Currently supported:\n * - ✅ 'mock': Backend-optional layout/design mode using fixture data\n * - ✅ 'medusa': Fully implemented\n * - 🟡 'stelorder': ERP adapter v1\n *\n * Planned (not yet implemented):\n * - 🟡 'shopify': Phase 2\n * - 🟡 'bigcommerce': Phase 2\n * - 🟡 'woocommerce': Phase 3\n * - 🟡 'spree': Phase 3\n * - 🟡 'magento': Phase 3\n */\nexport type StorefrontPlatformType = 'mock' | 'medusa' | 'stelorder' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';\n\n/**\n * StorefrontContext\n *\n * Platform-agnostic representation of a \"sales channel\" or equivalent.\n *\n * @example\n * ```typescript\n * const ctx: StorefrontContext = {\n * id: 'sc_01J...',\n * name: 'B2C Storefront',\n * platformType: 'medusa',\n * requiresProductScoping: true,\n * currencyCode: 'USD',\n * };\n * ```\n */\nexport interface StorefrontContext {\n /**\n * Unique identifier for this storefront across the system.\n * Examples: \"sc_123\" (Medusa), \"gid://shopify/Channel/789\" (Shopify), \"1\" (WooCommerce)\n */\n id: string;\n\n /**\n * Human-readable name for logging and debugging.\n */\n name: string;\n\n /**\n * Platform this storefront belongs to.\n */\n platformType: StorefrontPlatformType;\n\n /**\n * Whether products must be explicitly linked/published to this storefront.\n *\n * @remarks\n * - Medusa: true (products must be linked to sales channel)\n * - Shopify: false (products visible by default unless unlisted)\n * - Stel Order: false (single-company ERP model, no native channel scoping)\n * - WooCommerce: false (no scoping concept)\n * - BigCommerce: false (products visible by default unless delisted)\n * - Spree: true (products must be assigned per store)\n * - Magento: true (products must be assigned per website)\n */\n requiresProductScoping: boolean;\n\n /**\n * Primary currency code for this storefront.\n * Examples: \"USD\", \"EUR\", \"GBP\"\n */\n currencyCode: string;\n\n /**\n * Optional region or locale code.\n * Examples: \"US\", \"EU\", \"en-US\", \"es-ES\"\n */\n locale?: string;\n\n /**\n * Optional: Store/Channel metadata from platform.\n * @internal\n */\n metadata?: Record<string, unknown>;\n}\n\n/**\n * Storefront validation error.\n * Thrown when storefront configuration is invalid or missing.\n *\n * @example\n * ```typescript\n * throw new StorefrontConfigError(\n * 'Medusa requires NEXT_PUBLIC_SALES_CHANNEL_ID',\n * 'medusa',\n * 'NEXT_PUBLIC_SALES_CHANNEL_ID',\n * );\n * ```\n */\nexport class StorefrontConfigError extends Error {\n public readonly platformType: string;\n public readonly requiredEnvVar?: string;\n\n constructor(\n message: string,\n platformType: string,\n requiredEnvVar?: string,\n ) {\n super(message);\n this.name = 'StorefrontConfigError';\n this.platformType = platformType;\n this.requiredEnvVar = requiredEnvVar;\n }\n}\n"],"mappings":";AAkCO,IAAK,wBAAL,kBAAKA,2BAAL;AACL,EAAAA,uBAAA,UAAO;AACP,EAAAA,uBAAA,YAAS;AACT,EAAAA,uBAAA,eAAY;AACZ,EAAAA,uBAAA,aAAU;AACV,EAAAA,uBAAA,iBAAc;AACd,EAAAA,uBAAA,iBAAc;AACd,EAAAA,uBAAA,WAAQ;AACR,EAAAA,uBAAA,aAAU;AARA,SAAAA;AAAA,GAAA;AA8BL,IAAM,oBAST;AAAA,EACF,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB,CAAC;AAAA,IAClB,YAAY;AAAA,EACd;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAYO,SAAS,wBACd,OAC6B;AAC7B,SACE,OAAO,UAAU,YACjB,OAAO,OAAO,qBAAqB,EAAE,SAAS,KAA8B;AAEhF;AAYO,SAAS,oBACd,MACgD;AAChD,MAAI,CAAC,wBAAwB,IAAI,GAAG;AAClC,UAAM,IAAI;AAAA,MACR,yBAAyB,IAAI,gBAAgB,OAAO;AAAA,QAClD;AAAA,MACF,EAAE,KAAK,IAAI,CAAC;AAAA,IACd;AAAA,EACF;AACA,SAAO,kBAAkB,IAAI;AAC/B;;;ACjFO,IAAM,wBAAN,cAAoC,MAAM;AAAA,EAC/B;AAAA,EACA;AAAA,EAEhB,YACE,SACA,cACA,gBACA;AACA,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,eAAe;AACpB,SAAK,iBAAiB;AAAA,EACxB;AACF;","names":["SupportedProviderType"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thorprovider/types",
|
|
3
|
-
"version": "3.1
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "Shared TypeScript types for Thor Commerce ecosystem - Framework-agnostic type definitions",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -17,9 +17,10 @@
|
|
|
17
17
|
"exports": {
|
|
18
18
|
".": {
|
|
19
19
|
"types": "./dist/index.d.ts",
|
|
20
|
-
"development": "./
|
|
21
|
-
"import": "./dist/index.
|
|
22
|
-
"require": "./dist/index.js"
|
|
20
|
+
"development": "./dist/index.mjs",
|
|
21
|
+
"import": "./dist/index.mjs",
|
|
22
|
+
"require": "./dist/index.js",
|
|
23
|
+
"default": "./dist/index.mjs"
|
|
23
24
|
}
|
|
24
25
|
},
|
|
25
26
|
"scripts": {
|
package/src/commerce-provider.ts
CHANGED
|
@@ -181,6 +181,8 @@ export interface BackendCapabilities {
|
|
|
181
181
|
*
|
|
182
182
|
* This interface defines a unified API for interacting with different
|
|
183
183
|
* e-commerce platforms (Medusa, Shopify, WooCommerce, etc.)
|
|
184
|
+
* including the fixture-backed `mock` runtime used when a storefront has
|
|
185
|
+
* not been connected to a real backend yet.
|
|
184
186
|
*
|
|
185
187
|
* @thorprovider/adapters (L2) implements this interface
|
|
186
188
|
* @thorprovider/components (L3) depends on this abstraction
|
|
@@ -211,6 +213,14 @@ export interface CommerceProvider {
|
|
|
211
213
|
*/
|
|
212
214
|
readonly capabilities: BackendCapabilities;
|
|
213
215
|
|
|
216
|
+
/**
|
|
217
|
+
* Whether this provider is backed by fixture/mock data instead of a live backend.
|
|
218
|
+
*
|
|
219
|
+
* Layout/design mode should remain fully functional with `isMock = true`, but
|
|
220
|
+
* the same UI must transparently switch to live data once a real backend is configured.
|
|
221
|
+
*/
|
|
222
|
+
readonly isMock?: boolean;
|
|
223
|
+
|
|
214
224
|
/**
|
|
215
225
|
* Authentication provider
|
|
216
226
|
*
|
|
@@ -233,14 +243,16 @@ export interface CommerceProvider {
|
|
|
233
243
|
/**
|
|
234
244
|
* Get multiple products with optional filtering and sorting
|
|
235
245
|
* @param options - Query options (search, sort, pagination)
|
|
236
|
-
* @returns Array of products
|
|
246
|
+
* @returns Array of products. In mock mode, these are fixture-backed products used
|
|
247
|
+
* for layout/design workflows until a real backend is configured.
|
|
237
248
|
*/
|
|
238
249
|
getProducts(options?: GetProductsOptions): Promise<Product[]>;
|
|
239
250
|
|
|
240
251
|
/**
|
|
241
252
|
* Get product recommendations for a given product
|
|
242
253
|
* @param productId - Product ID
|
|
243
|
-
* @returns Array of recommended products
|
|
254
|
+
* @returns Array of recommended products. In mock mode, recommendations may be
|
|
255
|
+
* derived from the same fixture-backed catalog.
|
|
244
256
|
*/
|
|
245
257
|
getProductRecommendations(productId: string): Promise<Product[]>;
|
|
246
258
|
|
package/src/index.ts
CHANGED
|
@@ -132,12 +132,7 @@ export type {
|
|
|
132
132
|
// ============================================
|
|
133
133
|
// Provider Types (L1 - Source of Truth)
|
|
134
134
|
// ============================================
|
|
135
|
-
export
|
|
136
|
-
Medusa = 'medusa',
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
// Re-export provider types directly
|
|
140
|
-
export { type ProviderTypeString } from './provider';
|
|
135
|
+
export { SupportedProviderType, type ProviderTypeString } from './provider';
|
|
141
136
|
|
|
142
137
|
export {
|
|
143
138
|
isSupportedProviderType,
|
package/src/provider.ts
CHANGED
|
@@ -9,20 +9,23 @@
|
|
|
9
9
|
* - L2 (@thorprovider/adapters) imports from here to build the factory
|
|
10
10
|
* - L5 (Starters) uses the factory which is bound to this enum
|
|
11
11
|
*
|
|
12
|
-
* When adding a new provider (e.g.,
|
|
12
|
+
* When adding a new provider (e.g., Stel Order):
|
|
13
13
|
* 1. Add to SupportedProviderType enum below
|
|
14
14
|
* 2. Update @thorprovider/adapters factory/index.ts with discriminated union
|
|
15
15
|
* 3. Create packages/adapters/src/providers/shopify/
|
|
16
16
|
* 4. Implement CommerceProvider interface
|
|
17
|
-
* 5. Update StorefrontPlatformType in storefront.ts
|
|
17
|
+
* 5. Update StorefrontPlatformType in storefront.ts
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* All supported commerce platform providers.
|
|
22
|
-
*
|
|
22
|
+
* `mock` is the backend-optional runtime provider used for layout/design mode.
|
|
23
|
+
* `medusa` is fully implemented for real backend usage; others are placeholders for future expansion.
|
|
23
24
|
*
|
|
24
25
|
* @remarks Implementation status:
|
|
26
|
+
* - ✅ mock: Fixture-backed provider for backend-optional storefronts
|
|
25
27
|
* - ✅ medusa: Fully implemented
|
|
28
|
+
* - 🟡 stelorder: In progress (ERP adapter v1)
|
|
26
29
|
* - 🟡 shopify: Planned (Phase 2)
|
|
27
30
|
* - 🟡 bigcommerce: Planned (Phase 2)
|
|
28
31
|
* - 🟡 woocommerce: Planned (Phase 3)
|
|
@@ -30,7 +33,9 @@
|
|
|
30
33
|
* - 🟡 magento: Planned (Phase 3)
|
|
31
34
|
*/
|
|
32
35
|
export enum SupportedProviderType {
|
|
36
|
+
Mock = 'mock',
|
|
33
37
|
Medusa = 'medusa',
|
|
38
|
+
StelOrder = 'stelorder',
|
|
34
39
|
Shopify = 'shopify',
|
|
35
40
|
BigCommerce = 'bigcommerce',
|
|
36
41
|
WooCommerce = 'woocommerce',
|
|
@@ -49,7 +54,7 @@ export enum SupportedProviderType {
|
|
|
49
54
|
* }
|
|
50
55
|
* ```
|
|
51
56
|
*/
|
|
52
|
-
export type ProviderTypeString = 'medusa' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
57
|
+
export type ProviderTypeString = 'mock' | 'medusa' | 'stelorder' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
53
58
|
|
|
54
59
|
/**
|
|
55
60
|
* Metadata about each provider.
|
|
@@ -67,6 +72,13 @@ export const PROVIDER_METADATA: Record<
|
|
|
67
72
|
maxRetries: number;
|
|
68
73
|
}
|
|
69
74
|
> = {
|
|
75
|
+
mock: {
|
|
76
|
+
name: 'Mock',
|
|
77
|
+
description: 'Fixture-backed runtime provider for layout/design mode without a real backend',
|
|
78
|
+
requiresStorefront: false,
|
|
79
|
+
requiredEnvVars: [],
|
|
80
|
+
maxRetries: 0,
|
|
81
|
+
},
|
|
70
82
|
medusa: {
|
|
71
83
|
name: 'Medusa JS',
|
|
72
84
|
description: 'Medusa v2 commerce engine',
|
|
@@ -78,6 +90,16 @@ export const PROVIDER_METADATA: Record<
|
|
|
78
90
|
],
|
|
79
91
|
maxRetries: 3,
|
|
80
92
|
},
|
|
93
|
+
stelorder: {
|
|
94
|
+
name: 'Stel Order',
|
|
95
|
+
description: 'Stel Order ERP and sales document API',
|
|
96
|
+
requiresStorefront: false,
|
|
97
|
+
requiredEnvVars: [
|
|
98
|
+
'NEXT_PUBLIC_COMMERCE_API_URL',
|
|
99
|
+
'NEXT_PUBLIC_COMMERCE_API_KEY',
|
|
100
|
+
],
|
|
101
|
+
maxRetries: 2,
|
|
102
|
+
},
|
|
81
103
|
shopify: {
|
|
82
104
|
name: 'Shopify',
|
|
83
105
|
description: 'Shopify Storefront API (GraphQL)',
|
package/src/storefront.ts
CHANGED
|
@@ -15,12 +15,14 @@
|
|
|
15
15
|
* Supported commerce platform types for storefront identification.
|
|
16
16
|
*
|
|
17
17
|
* @remarks
|
|
18
|
-
*
|
|
19
|
-
* When adding a new provider, update packages/types/src/provider.ts
|
|
20
|
-
* and this type
|
|
18
|
+
* Keep this type in sync with SupportedProviderType from provider.ts.
|
|
19
|
+
* When adding a new provider, update both packages/types/src/provider.ts
|
|
20
|
+
* and this type.
|
|
21
21
|
*
|
|
22
22
|
* Currently supported:
|
|
23
|
+
* - ✅ 'mock': Backend-optional layout/design mode using fixture data
|
|
23
24
|
* - ✅ 'medusa': Fully implemented
|
|
25
|
+
* - 🟡 'stelorder': ERP adapter v1
|
|
24
26
|
*
|
|
25
27
|
* Planned (not yet implemented):
|
|
26
28
|
* - 🟡 'shopify': Phase 2
|
|
@@ -29,7 +31,7 @@
|
|
|
29
31
|
* - 🟡 'spree': Phase 3
|
|
30
32
|
* - 🟡 'magento': Phase 3
|
|
31
33
|
*/
|
|
32
|
-
export type StorefrontPlatformType = 'medusa' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
34
|
+
export type StorefrontPlatformType = 'mock' | 'medusa' | 'stelorder' | 'shopify' | 'bigcommerce' | 'woocommerce' | 'spree' | 'magento';
|
|
33
35
|
|
|
34
36
|
/**
|
|
35
37
|
* StorefrontContext
|
|
@@ -69,11 +71,12 @@ export interface StorefrontContext {
|
|
|
69
71
|
*
|
|
70
72
|
* @remarks
|
|
71
73
|
* - Medusa: true (products must be linked to sales channel)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
* - Shopify: false (products visible by default unless unlisted)
|
|
75
|
+
* - Stel Order: false (single-company ERP model, no native channel scoping)
|
|
76
|
+
* - WooCommerce: false (no scoping concept)
|
|
77
|
+
* - BigCommerce: false (products visible by default unless delisted)
|
|
78
|
+
* - Spree: true (products must be assigned per store)
|
|
79
|
+
* - Magento: true (products must be assigned per website)
|
|
77
80
|
*/
|
|
78
81
|
requiresProductScoping: boolean;
|
|
79
82
|
|
package/.turbo/turbo-build.log
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
CLI Building entry: {"index":"src/index.ts"}
|
|
2
|
-
CLI Using tsconfig: tsconfig.json
|
|
3
|
-
CLI tsup v8.5.1
|
|
4
|
-
CLI Using tsup config: /home/nelson/dev/thorprovider/repos/thorcommerce/packages/types/tsup.config.ts
|
|
5
|
-
CLI Target: esnext
|
|
6
|
-
CLI Cleaning output folder
|
|
7
|
-
CJS Build start
|
|
8
|
-
ESM Build start
|
|
9
|
-
ESM dist/index.mjs 3.06 KB
|
|
10
|
-
ESM dist/index.mjs.map 15.45 KB
|
|
11
|
-
ESM ⚡️ Build success in 26ms
|
|
12
|
-
CJS dist/index.js 4.25 KB
|
|
13
|
-
CJS dist/index.js.map 15.55 KB
|
|
14
|
-
CJS ⚡️ Build success in 27ms
|
|
15
|
-
DTS Build start
|
|
16
|
-
DTS ⚡️ Build success in 1977ms
|
|
17
|
-
DTS dist/index.d.ts 99.05 KB
|
|
18
|
-
DTS dist/index.d.mts 99.05 KB
|
|
File without changes
|
package/dist/.tsbuildinfo
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../src/customer.ts","../src/auth.ts","../src/common.ts","../src/stock-location.ts","../src/product.ts","../src/cart.ts","../src/category.ts","../src/collection.ts","../src/order.ts","../src/region.ts","../src/payment.ts","../src/storefront.ts","../src/storefront-config.ts","../src/designer-config.ts","../src/commerce-provider.ts","../src/header-config.ts","../src/site-config.ts","../src/site-config-labels.ts","../src/provider.ts","../src/admin/AdminUser.ts","../src/admin/AuditLog.ts","../src/admin/DashboardMetrics.ts","../src/admin/DashboardConfig.ts","../src/admin/SiteConfigMetadata.ts","../src/admin/index.ts","../src/index.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/prismjs/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts"],"fileIdsList":[[121,169,186,187],[121,166,167,169,186,187],[121,168,169,186,187],[169,186,187],[121,169,174,186,187,204],[121,169,170,175,180,186,187,189,201,212],[121,169,170,171,180,186,187,189],[116,117,118,121,169,186,187],[121,169,172,186,187,213],[121,169,173,174,181,186,187,190],[121,169,174,186,187,201,209],[121,169,175,177,180,186,187,189],[121,168,169,176,186,187],[121,169,177,178,186,187],[121,169,179,180,186,187],[121,168,169,180,186,187],[121,169,180,181,182,186,187,201,212],[121,169,180,181,182,186,187,196,201,204],[121,162,169,177,180,183,186,187,189,201,212],[121,169,180,181,183,184,186,187,189,201,209,212],[121,169,183,185,186,187,201,209,212],[119,120,121,122,123,124,125,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218],[121,169,180,186,187],[121,169,186,187,188,212],[121,169,177,180,186,187,189,201],[121,169,186,187,190],[121,169,186,187,191],[121,168,169,186,187,192],[121,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218],[121,169,186,187,194],[121,169,186,187,195],[121,169,180,186,187,196,197],[121,169,186,187,196,198,213,215],[121,169,181,186,187],[121,169,180,186,187,201,202,204],[121,169,186,187,203,204],[121,169,186,187,201,202],[121,169,186,187,204],[121,169,186,187,205],[121,166,169,186,187,201,206,212],[121,169,180,186,187,207,208],[121,169,186,187,207,208],[121,169,174,186,187,189,201,209],[121,169,186,187,210],[121,169,186,187,189,211],[121,169,183,186,187,195,212],[121,169,174,186,187,213],[121,169,186,187,201,214],[121,169,186,187,188,215],[121,169,186,187,216],[121,162,169,186,187],[121,162,169,180,182,186,187,192,201,204,212,214,215,217],[121,169,186,187,201,218],[121,169,186,187,224],[121,169,186,187,221,222,223],[121,134,138,169,186,187,212],[121,134,169,186,187,201,212],[121,129,169,186,187],[121,131,134,169,186,187,209,212],[121,169,186,187,189,209],[121,169,186,187,219],[121,129,169,186,187,219],[121,131,134,169,186,187,189,212],[121,126,127,130,133,169,180,186,187,201,212],[121,134,141,169,186,187],[121,126,132,169,186,187],[121,134,155,156,169,186,187],[121,130,134,169,186,187,204,212,219],[121,155,169,186,187,219],[121,128,129,169,186,187,219],[121,134,169,186,187],[121,128,129,130,131,132,133,134,135,136,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157,158,159,160,161,169,186,187],[121,134,149,169,186,187],[121,134,141,142,169,186,187],[121,132,134,142,143,169,186,187],[121,133,169,186,187],[121,126,129,134,169,186,187],[121,134,138,142,143,169,186,187],[121,138,169,186,187],[121,132,134,137,169,186,187,212],[121,126,131,134,141,169,186,187],[121,169,186,187,201],[121,129,134,155,169,186,187,217,219],[108,112,121,169,186,187],[103,121,169,186,187],[106,107,108,109,110,121,169,186,187],[87,121,169,186,187],[89,90,91,121,169,186,187],[89,121,169,186,187],[87,88,89,90,91,92,93,94,95,96,97,98,99,100,121,169,186,187],[87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,111,121,169,186,187],[87,89,121,169,186,187],[89,90,121,169,186,187],[102,121,169,186,187]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"bde31fd423cd93b0eff97197a3f66df7c93e8c0c335cbeb113b7ff1ac35c23f4","impliedFormat":1},{"version":"0c50324b2022e6edfa5cd8d63839020e804f49c1ccf3b26b7ed6337cad3e1700","signature":"9e849d998325f62ef14f89aa57d6bbe442c82e09a870fc8fee4ae6fc8be54c18"},{"version":"3546c166979266e70f1523b08266e4a21456e0169180251102705523e9ebc74b","signature":"bd28c517bc84ae61f0b80d388a57a900bf033df4385afa7743efa50ae05980e9"},{"version":"6979c3e2e4047561c7e0be3d385b245c9fe69e3c80ca17e39c7c6539358cc379","signature":"f69741b672ae28c9ca97f3afb971f48d6cd22c3fb76c2fb9e78ef0fd274d6c7e"},{"version":"97bbcdc5d91078d3b7c8289c1e766c8e6f5fad9b429650db7e115ce575fbfcbf","signature":"a5c1a4310ad312d0f6c5b706bbf0e937cba01c88506ab2b19a96dd9523f4c240"},{"version":"d6f2e60fb3ba6ab7d83489857c446ede7fd05c8ed915782153c444e03bcd1205","signature":"a8c40db954146c7a62c5eee17455a5f26b263daa0f95a3f00ec3a40f61fc2c80"},{"version":"07e7bb8e153586c3496503201fce0f39d4d227a6ebecfe47b9b05f992b676e11","signature":"bc62c6040157c8cc5d1ee20c169676c04a8985e636e35646024b589ceef0a594"},{"version":"50be37e7bc5409b78c46d848f067478b731258f788df4fe2728bf1c93ca956a7","signature":"89e84205a1744b4fa7f33e9100149ac172e92e68e35e6e61ccfc6c51a85fd5ab"},{"version":"9577b970b76330e58eaaedf8bf276e443082a862844dd1631815275c81e8f23b","signature":"05522aaae3c3114b244b1b1809e0bd63f271e2c475769d985ce815dff2103cd5"},{"version":"191b261efb0ec8ccfd301410e8ed6acd28d00a060c30f840497fd1b51f0e3b9b","signature":"37ef9c758314c4e7366fb09f01f9ef61e8a67c113254b427ae08556baefe6698"},{"version":"73fa42f2fcc9510cb8022d538cc6f25c16d89892e9a945cb1094e8703ac73847","signature":"991cae1f33933d770b5417e77e2f1b44b91d0ffa5adb0dc8acb7927a17055625"},{"version":"4abb1ca661fcea73900caf3bf4dcf32dfeab241db93228aeda0a570521aae9fd","signature":"093676bb2ea1180e2650738e563af10b962852132ba5971897e1021ef13289bd"},{"version":"bd542cc5a25d28a2f4f6940284d267719088485de762ba2e9b9b031386965aa6","signature":"c22e7ca68d1d3a60cbd719229d43ee1f0d6a6727e7b78dbd64b0942b7b69689a"},{"version":"a3f198fb652ea347d2bb82c61c111759271def57e1f3b30554fda80b9d546c84","signature":"e4a4ce82adbe251da0ad13c195c1cc8298b6ab29f59a2662abfd57e6e1125efe"},{"version":"0926ec0c36211cfa6dbea18dd07959d98cdfb997a5a12f9e16e6ce9fbd67a566","signature":"6a4e51426c100c0f9556e891a6ade34362e2b022a5d3c07cb7e4d7b9ee9041f6"},{"version":"3949adc22210fc9f8d263415ecf484de6b64adf13c5c79cfe626941a564fecf1","signature":"a8bc130f963935e452a834770835ab9c18c04c88f12b9cbc6b8ba6bd8b009be7"},{"version":"38ba7d9f54add1d6c7cf81ade600af47e634d4d0d20ef010177ed0ca6a9df71c","signature":"00b9b581cb79c30e3f7bedffce56ae68ef219844a8a12d7c79f71563a9d6531f"},{"version":"b161990cd54be1d304e96a655f20e08e1dd7928e4ec6d641214ff42dc6dced81","signature":"f1ef4ff7d75278d63548f85ab1597f722d24bb3b408c20f6004cb5950d6cfe53"},{"version":"2de082932020a07d2fe2ff1814f37f7b7baff70d2064b6179cda79be8c3d86b7","signature":"c11e1184edd69e2243776b42dcacd4830bd5627a1adaa6d98e44538ab42f524d"},{"version":"add1a2383fead247b8d9e1d6045ba1cc118a113e2d2396cb89283016515239b9","signature":"66f7f9cd0f0ca67545642a3cecff6a652f4e9601e24c84461f88dc4d1c8bcb56"},{"version":"3ffedbfc1935dcc90a0c6e046369e860cbd3d9f58ba3c4f21922cfd869181fe2","signature":"00c339487ef0a4d7da509cdf8c7bbd95506ad7d7b6eef2372c3ff6169023819f"},{"version":"80d4a395d2df81b0405e39bbf694ea3be1bff52dc1ecade1f3970269bae9368a","signature":"a30722faa6179485c974b8fa787f9b664540342fd1b860b9b38bb2a7230b6f90"},{"version":"79e7668257bd89c3a5d2ae344fe42905cbff7476a9f8cb7af93878a73ddd3d49","signature":"b4aaedf08fbff0e2d5ab30798427a3536680d459081b7ee02338d9e205c78222"},"c0badb9cbc24d575cc3ac9bf09aaafce1509c5094cb519a8c0452606da4bc62e",{"version":"4abea1a3ab0bc53c313d5e9060a85c4411defc6acd5490481229d664e7aa9f68","signature":"e1075347ac8a851d762bb0321c4520d329a0a1c859be61f7358ccc4e4fc99f4c"},"9ad0bd16be827171844d2fc727d28267c847fffd540d9175d729ea2b204d3a50",{"version":"8a36a2e70c95358703bacd5a96f401cdd8e8c4ae98e1d3bbf983274944cf40de","signature":"288892c9415bdab9224bd8543372742c5a868466fd726533643ff0a7d30b2d47"},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"80523c00b8544a2000ae0143e4a90a00b47f99823eb7926c1e03c494216fc363","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"746911b62b329587939560deb5c036aca48aece03147b021fa680223255d5183","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"e85d04f57b46201ddc8ba238a84322432a4803a5d65e0bbd8b3b4f05345edd51","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"035312d4945d13efa134ae482f6dc56a1a9346f7ac3be7ccbad5741058ce87f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"17ed71200119e86ccef2d96b73b02ce8854b76ad6bd21b5021d4269bec527b5f","impliedFormat":1}],"root":[[87,112]],"options":{"declaration":true,"declarationMap":true,"esModuleInterop":true,"jsx":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":99,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[113,1],[114,1],[115,1],[166,2],[167,2],[168,3],[121,4],[169,5],[170,6],[171,7],[116,1],[119,8],[117,1],[118,1],[172,9],[173,10],[174,11],[175,12],[176,13],[177,14],[178,14],[179,15],[180,16],[181,17],[182,18],[122,1],[120,1],[183,19],[184,20],[185,21],[219,22],[186,23],[187,1],[188,24],[189,25],[190,26],[191,27],[192,28],[193,29],[194,30],[195,31],[196,32],[197,32],[198,33],[199,1],[200,34],[201,35],[203,36],[202,37],[204,38],[205,39],[206,40],[207,41],[208,42],[209,43],[210,44],[211,45],[212,46],[213,47],[214,48],[215,49],[216,50],[123,1],[124,1],[125,1],[163,51],[164,1],[165,1],[217,52],[218,53],[220,1],[221,1],[225,54],[222,1],[224,55],[223,1],[84,1],[85,1],[15,1],[13,1],[14,1],[19,1],[18,1],[2,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[26,1],[27,1],[3,1],[28,1],[29,1],[4,1],[30,1],[34,1],[31,1],[32,1],[33,1],[35,1],[36,1],[37,1],[5,1],[38,1],[39,1],[40,1],[41,1],[6,1],[45,1],[42,1],[43,1],[44,1],[46,1],[7,1],[47,1],[52,1],[53,1],[48,1],[49,1],[50,1],[51,1],[8,1],[57,1],[54,1],[55,1],[56,1],[58,1],[9,1],[59,1],[60,1],[61,1],[63,1],[62,1],[64,1],[65,1],[10,1],[66,1],[67,1],[68,1],[11,1],[69,1],[70,1],[71,1],[72,1],[73,1],[1,1],[74,1],[75,1],[12,1],[79,1],[77,1],[82,1],[81,1],[86,1],[76,1],[80,1],[78,1],[83,1],[17,1],[16,1],[141,56],[151,57],[140,56],[161,58],[132,59],[131,60],[160,61],[154,62],[159,63],[134,64],[148,65],[133,66],[157,67],[129,68],[128,61],[158,69],[130,70],[135,71],[136,1],[139,71],[126,1],[162,72],[152,73],[143,74],[144,75],[146,76],[142,77],[145,78],[155,61],[137,79],[138,80],[147,81],[127,82],[150,73],[149,71],[153,1],[156,83],[106,1],[107,1],[109,84],[108,1],[110,85],[111,86],[88,87],[92,88],[93,1],[94,89],[101,90],[89,1],[87,1],[100,1],[102,1],[112,91],[95,92],[97,1],[91,93],[105,1],[96,1],[104,1],[103,94],[90,89],[99,1],[98,1]],"affectedFilesPendingEmit":[[106,49],[107,49],[109,49],[108,49],[110,49],[111,49],[88,49],[92,49],[93,49],[94,49],[101,49],[89,49],[87,49],[100,49],[102,49],[112,49],[95,49],[97,49],[91,49],[105,49],[96,49],[104,49],[103,49],[90,49],[99,49],[98,49]],"version":"5.9.3"}
|
package/publish.log
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
npm warn Unknown project config "network-concurrency". This will stop working in the next major version of npm.
|
|
2
|
-
npm warn publish npm auto-corrected some errors in your package.json when publishing. Please run "npm pkg fix" to address these errors.
|
|
3
|
-
npm warn publish errors corrected:
|
|
4
|
-
npm warn publish "repository.url" was normalized to "git+https://github.com/thorprovider/thor-commerce.git"
|
|
5
|
-
npm notice
|
|
6
|
-
npm notice 📦 @thor/types@2.0.1
|
|
7
|
-
npm notice Tarball Contents
|
|
8
|
-
npm notice 277B AGENTS.md
|
|
9
|
-
npm notice 1.6kB CHANGELOG.md
|
|
10
|
-
npm notice 6.4kB README.md
|
|
11
|
-
npm notice 101.2kB dist/index.d.mts
|
|
12
|
-
npm notice 101.2kB dist/index.d.ts
|
|
13
|
-
npm notice 3.2kB dist/index.js
|
|
14
|
-
npm notice 14.3kB dist/index.js.map
|
|
15
|
-
npm notice 1.9kB dist/index.mjs
|
|
16
|
-
npm notice 14.2kB dist/index.mjs.map
|
|
17
|
-
npm notice 832B package.json
|
|
18
|
-
npm notice 724B src/admin/AdminUser.ts
|
|
19
|
-
npm notice 946B src/admin/AuditLog.ts
|
|
20
|
-
npm notice 2.0kB src/admin/DashboardConfig.ts
|
|
21
|
-
npm notice 1.5kB src/admin/DashboardMetrics.ts
|
|
22
|
-
npm notice 268B src/admin/index.ts
|
|
23
|
-
npm notice 1.2kB src/admin/SiteConfigMetadata.ts
|
|
24
|
-
npm notice 6.5kB src/auth.ts
|
|
25
|
-
npm notice 2.8kB src/cart.ts
|
|
26
|
-
npm notice 3.0kB src/category.ts
|
|
27
|
-
npm notice 733B src/collection.ts
|
|
28
|
-
npm notice 35.3kB src/commerce-provider.ts
|
|
29
|
-
npm notice 2.1kB src/common.ts
|
|
30
|
-
npm notice 4.6kB src/customer.ts
|
|
31
|
-
npm notice 2.5kB src/designer-config.ts
|
|
32
|
-
npm notice 7.3kB src/header-config.README.md
|
|
33
|
-
npm notice 4.6kB src/header-config.ts
|
|
34
|
-
npm notice 5.5kB src/index.ts
|
|
35
|
-
npm notice 5.0kB src/order.ts
|
|
36
|
-
npm notice 6.0kB src/payment.ts
|
|
37
|
-
npm notice 10.7kB src/product.ts
|
|
38
|
-
npm notice 3.8kB src/provider.ts
|
|
39
|
-
npm notice 1.4kB src/region.ts
|
|
40
|
-
npm notice 2.1kB src/site-config-labels.ts
|
|
41
|
-
npm notice 3.0kB src/site-config.ts
|
|
42
|
-
npm notice 1.3kB src/stock-location.ts
|
|
43
|
-
npm notice 1.5kB src/storefront-config.ts
|
|
44
|
-
npm notice 3.3kB src/storefront.ts
|
|
45
|
-
npm notice 333B tsconfig.json
|
|
46
|
-
npm notice 303B tsup.config.ts
|
|
47
|
-
npm notice Tarball Details
|
|
48
|
-
npm notice name: @thor/types
|
|
49
|
-
npm notice version: 2.0.1
|
|
50
|
-
npm notice filename: thor-types-2.0.1.tgz
|
|
51
|
-
npm notice package size: 87.7 kB
|
|
52
|
-
npm notice unpacked size: 365.5 kB
|
|
53
|
-
npm notice shasum: 45a0c68b20d21a5446a471abb9077f2dd59cdd0d
|
|
54
|
-
npm notice integrity: sha512-AJRNa0Gs1osFo[...]RLXmlsHuMfinQ==
|
|
55
|
-
npm notice total files: 39
|
|
56
|
-
npm notice
|
|
57
|
-
npm notice Publishing to https://npm.pkg.github.com with tag latest and restricted access
|
|
58
|
-
npm error code E401
|
|
59
|
-
npm error 401 Unauthorized - PUT https://npm.pkg.github.com/@thor%2ftypes - unauthenticated: User cannot be authenticated with the token provided.
|
|
60
|
-
npm error A complete log of this run can be found in: /home/nelson/.npm/_logs/2026-04-16T15_45_29_457Z-debug-0.log
|