@fayz-ai/shop 0.10.0 → 0.11.0

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.
Files changed (63) hide show
  1. package/dist/{chunk-IL6GA4ER.js → chunk-2WACO2TG.js} +3 -3
  2. package/dist/{chunk-IL6GA4ER.js.map → chunk-2WACO2TG.js.map} +1 -1
  3. package/dist/{chunk-RGTIJQJL.js → chunk-6BO2TMZ5.js} +3 -3
  4. package/dist/{chunk-RGTIJQJL.js.map → chunk-6BO2TMZ5.js.map} +1 -1
  5. package/dist/{chunk-XOP6SHPB.js → chunk-NWW3WJ7Y.js} +4 -10
  6. package/dist/chunk-NWW3WJ7Y.js.map +1 -0
  7. package/dist/{chunk-XERLK5LD.js → chunk-STRNMFC4.js} +28 -5
  8. package/dist/chunk-STRNMFC4.js.map +1 -0
  9. package/dist/{chunk-U3O2I3RM.js → chunk-U6HV3LVP.js} +385 -23
  10. package/dist/chunk-U6HV3LVP.js.map +1 -0
  11. package/dist/data/customer-search.d.ts +3 -0
  12. package/dist/data/customer-search.d.ts.map +1 -0
  13. package/dist/data/functions.d.ts +9 -0
  14. package/dist/data/functions.d.ts.map +1 -0
  15. package/dist/data/media.d.ts +37 -0
  16. package/dist/data/media.d.ts.map +1 -0
  17. package/dist/data/mock-provider.d.ts +40 -8
  18. package/dist/data/mock-provider.d.ts.map +1 -1
  19. package/dist/data/provider.d.ts +200 -7
  20. package/dist/data/provider.d.ts.map +1 -1
  21. package/dist/data/supabase-provider.d.ts +113 -5
  22. package/dist/data/supabase-provider.d.ts.map +1 -1
  23. package/dist/data/tables.d.ts +3 -0
  24. package/dist/data/tables.d.ts.map +1 -1
  25. package/dist/entities/index.d.ts +0 -1
  26. package/dist/entities/index.d.ts.map +1 -1
  27. package/dist/entities.js +2 -2
  28. package/dist/index.d.ts +14 -5
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +891 -60
  31. package/dist/index.js.map +1 -1
  32. package/dist/inventory/index.d.ts +2 -2
  33. package/dist/inventory/index.d.ts.map +1 -1
  34. package/dist/inventory/stock-types.d.ts +60 -1
  35. package/dist/inventory/stock-types.d.ts.map +1 -1
  36. package/dist/inventory/supabase-stock-store.d.ts +1 -0
  37. package/dist/inventory/supabase-stock-store.d.ts.map +1 -1
  38. package/dist/inventory.js +1 -1
  39. package/dist/lib/commerce.d.ts.map +1 -1
  40. package/dist/lib/document.d.ts +13 -0
  41. package/dist/lib/document.d.ts.map +1 -0
  42. package/dist/lib/variant-matrix.d.ts +120 -0
  43. package/dist/lib/variant-matrix.d.ts.map +1 -0
  44. package/dist/mock.js +2 -2
  45. package/dist/providers/checkout.d.ts +129 -0
  46. package/dist/providers/checkout.d.ts.map +1 -0
  47. package/dist/providers/index.d.ts +5 -0
  48. package/dist/providers/index.d.ts.map +1 -0
  49. package/dist/providers/shipping.d.ts +43 -0
  50. package/dist/providers/shipping.d.ts.map +1 -0
  51. package/dist/providers.js +70 -0
  52. package/dist/providers.js.map +1 -0
  53. package/dist/runtime.js +3 -3
  54. package/dist/shipping/label-provider.d.ts +43 -0
  55. package/dist/shipping/label-provider.d.ts.map +1 -0
  56. package/dist/types.d.ts +457 -0
  57. package/dist/types.d.ts.map +1 -1
  58. package/package.json +8 -4
  59. package/dist/chunk-U3O2I3RM.js.map +0 -1
  60. package/dist/chunk-XERLK5LD.js.map +0 -1
  61. package/dist/chunk-XOP6SHPB.js.map +0 -1
  62. package/dist/entities/sidecar.d.ts +0 -9
  63. package/dist/entities/sidecar.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "fayz": {
4
4
  "status": "beta"
5
5
  },
6
- "version": "0.10.0",
6
+ "version": "0.11.0",
7
7
  "description": "Fayz SDK ecommerce layer — products, orders, customers, discounts, shipping",
8
8
  "type": "module",
9
9
  "sideEffects": false,
@@ -51,6 +51,10 @@
51
51
  "types": "./dist/rules/index.d.ts",
52
52
  "import": "./dist/rules.js"
53
53
  },
54
+ "./providers": {
55
+ "types": "./dist/providers/index.d.ts",
56
+ "import": "./dist/providers.js"
57
+ },
54
58
  "./inventory": {
55
59
  "types": "./dist/inventory/index.d.ts",
56
60
  "import": "./dist/inventory.js"
@@ -60,9 +64,9 @@
60
64
  "dist"
61
65
  ],
62
66
  "dependencies": {
63
- "@fayz-ai/auth": "^0.10.0",
64
- "@fayz-ai/core": "^0.10.0",
65
- "@fayz-ai/ui": "^0.10.0"
67
+ "@fayz-ai/auth": "^0.11.0",
68
+ "@fayz-ai/core": "^0.11.0",
69
+ "@fayz-ai/ui": "^0.11.0"
66
70
  },
67
71
  "peerDependencies": {
68
72
  "react": "^18.0.0 || ^19.0.0",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/data/mock-provider.ts"],"names":["store","o"],"mappings":"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","file":"chunk-U3O2I3RM.js","sourcesContent":["import type { ShopProvider } from './provider'\nimport type {\n Product, ProductImage, ProductVariant, ProductVariantSet, Category, Order, ShopCustomer, Discount, ProductEnquiry,\n CreateProductInput, UpdateProductInput, ListProductsOptions,\n CreateProductEnquiryInput, ListProductEnquiriesOptions,\n CreateCategoryInput, UpdateCategoryInput,\n CreateOrderInput, UpdateOrderInput, ListOrdersOptions, PlaceOrderInput,\n CreateCustomerInput, UpdateCustomerInput, ListCustomersOptions, ResolveCustomerInput,\n CreateDiscountInput, UpdateDiscountInput, ListDiscountsOptions,\n SalesChannel, CreateSalesChannelInput, UpdateSalesChannelInput,\n Collection, CreateCollectionInput, UpdateCollectionInput, CustomerGroup, CreateCustomerGroupInput, UpdateCustomerGroupInput, CustomerSegment, CreateCustomerSegmentInput, UpdateCustomerSegmentInput, GiftCard, CreateGiftCardInput, UpdateGiftCardInput, EmailTemplate, UpsertEmailTemplateInput,\n} from '../types'\nimport { MOCK_PRODUCTS, MOCK_CATEGORIES, MOCK_DISCOUNTS, MOCK_VARIANTS } from './mock-catalog'\nimport { resolveEntityDeclaration } from '@fayz-ai/core'\nimport { resolveEntityStore } from '../entities/entity-store'\nimport type { EntityRecord, EntityRecordInput, EntityStore, ListEntityRecordsOptions } from '../entities/entity-store'\nimport { createMockEntityStore } from '../entities/mock-entity-store'\nimport { validateSidecarWrite } from '../entities/sidecar'\nimport { discountToPromotion } from '../rules/adapter'\nimport { buildRuleContext } from '../rules/context'\nimport { computePromotionActions } from '../rules/evaluator'\nimport type { ComputeAction, Promotion, RuleCartItem, RuleCartSnapshot } from '../rules/rule-types'\n\nfunction uid() { return Math.random().toString(36).slice(2) }\nfunction now() { return new Date().toISOString() }\n\n// Orders/customers persist to localStorage so \"my purchases\" survives a page\n// reload. Products/categories/discounts always reseed from the catalog —\n// the storefront sees a deterministic catalog on every load.\nconst ORDERS_KEY = 'fayz.shop.mock.orders.v1'\nconst CUSTOMERS_KEY = 'fayz.shop.mock.customers.v1'\nconst ENQUIRIES_KEY = 'fayz.shop.mock.enquiries.v1'\nconst CHANNELS_KEY = 'fayz.shop.mock.channels.v1'\n\nconst DEFAULT_CHANNELS: SalesChannel[] = [\n { id: 'online-store', tenantId: 'mock', kind: 'online_store', label: 'Loja Online', url: null, enabled: true, position: 0, createdAt: now(), updatedAt: now() },\n]\n\nfunction loadStored<T>(key: string): T[] {\n try {\n if (typeof localStorage === 'undefined') return []\n const raw = localStorage.getItem(key)\n return raw ? (JSON.parse(raw) as T[]) : []\n } catch {\n return []\n }\n}\n\nfunction store<T>(key: string, value: T[]): void {\n try {\n if (typeof localStorage === 'undefined') return\n localStorage.setItem(key, JSON.stringify(value))\n } catch {\n /* quota/serialization failures are non-fatal in mock mode */\n }\n}\n\nexport interface MockShopSeed {\n products?: Product[]\n categories?: Category[]\n discounts?: Discount[]\n /** Option axes + variants per product id (spine M5, mirrors 0028). Absent\n * with the default catalog → the MOCK_VARIANTS fixtures; absent with a\n * custom product seed → no variants (a store's own catalog stays as\n * declared). */\n variants?: Record<string, ProductVariantSet>\n /** Rule-engine promotions (spine M6) — the serializable Promotion shape the\n * Store Document's `promotions` section carries. Evaluated by\n * evaluatePromotions alongside the legacy discounts (adapter-translated). */\n promotions?: Promotion[]\n /** Custom entity records, keyed by defineEntity key. Each seed's `data` is\n * validated against the declaration when the entity's store is built. */\n entities?: Record<string, Array<{ id?: string; slug?: string | null; data: Record<string, unknown> }>>\n /** Sidecar fields on core records, keyed `<reference>:<referenceId>`. */\n entityFields?: Record<string, Record<string, unknown>>\n}\n\n// Entidades resgatadas da onda de 04-ago.\nconst COLLECTIONS_KEY = 'fayz.shop.mock.collections.v1'\nconst GIFT_CARDS_KEY = 'fayz.shop.mock.gift-cards.v1'\nconst EMAIL_TEMPLATES_KEY = 'fayz.shop.mock.email-templates.v1'\nconst CUSTOMER_GROUPS_KEY = 'fayz.shop.mock.customer-groups.v1'\nconst CUSTOMER_SEGMENTS_KEY = 'fayz.shop.mock.customer-segments.v1'\n\nfunction mockGiftCardCode(): string {\n const alphabet = 'ABCDEFGHJKLMNPQRTUVWXY2346789'\n const pick = () => alphabet[Math.floor(Math.random() * alphabet.length)]\n const block = () => Array.from({ length: 4 }, pick).join('')\n return `${block()}-${block()}-${block()}`\n}\n\nfunction mockSlugify(name: string): string {\n return name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '')\n}\n\nexport class MockShopProvider implements ShopProvider {\nprivate collections: Collection[] = loadStored<Collection>(COLLECTIONS_KEY)\n private giftCards: GiftCard[] = loadStored<GiftCard>(GIFT_CARDS_KEY)\n private emailTemplates: EmailTemplate[] = loadStored<EmailTemplate>(EMAIL_TEMPLATES_KEY)\n private customerGroups: CustomerGroup[] = loadStored<CustomerGroup>(CUSTOMER_GROUPS_KEY)\n private customerSegments: CustomerSegment[] = loadStored<CustomerSegment>(CUSTOMER_SEGMENTS_KEY)\n private products: Product[]\n private categories: Category[]\n private discounts: Discount[]\n private orders: Order[] = loadStored<Order>(ORDERS_KEY)\n private customers: ShopCustomer[] = loadStored<ShopCustomer>(CUSTOMERS_KEY)\n private enquiries: ProductEnquiry[] = loadStored<ProductEnquiry>(ENQUIRIES_KEY)\n private channels: SalesChannel[] = (() => {\n const stored = loadStored<SalesChannel>(CHANNELS_KEY)\n return stored.length ? stored : DEFAULT_CHANNELS.map(c => ({ ...c }))\n })()\n\n private entitySeed: NonNullable<MockShopSeed['entities']>\n private entityStores = new Map<string, EntityStore>()\n private sidecars = new Map<string, Record<string, unknown>>()\n\n private promotions: Promotion[]\n\n private variantSets: Record<string, ProductVariantSet>\n\n constructor(seed?: MockShopSeed) {\n this.products = (seed?.products ?? MOCK_PRODUCTS).map(p => ({ ...p }))\n this.categories = (seed?.categories ?? MOCK_CATEGORIES).map(c => ({ ...c }))\n this.discounts = (seed?.discounts ?? MOCK_DISCOUNTS).map(d => ({ ...d }))\n this.variantSets = Object.fromEntries(\n Object.entries(seed?.variants ?? (seed?.products ? {} : MOCK_VARIANTS)).map(([productId, set]) => [\n productId,\n { options: set.options.map(o => ({ ...o, values: [...o.values] })), variants: set.variants.map(v => ({ ...v, options: { ...v.options } })) },\n ]),\n )\n this.promotions = (seed?.promotions ?? []).map(p => ({ ...p }))\n this.entitySeed = seed?.entities ?? {}\n for (const [key, fields] of Object.entries(seed?.entityFields ?? {})) {\n this.sidecars.set(key, { ...fields })\n }\n }\n\n /** The I5 indirection: a promoted (registered) store wins; otherwise the\n * entity gets a lazily-built in-memory store seeded from the mock seed.\n * Lazy on purpose — the seed is validated against the declaration, which\n * the app may register after constructing the provider. */\n private entityStore(entity: string): EntityStore {\n // The I2 gate first: an unknown entity must name the declared set even for\n // reads the lazy store would otherwise satisfy with an empty list.\n resolveEntityDeclaration(entity)\n return resolveEntityStore(entity, (key) => {\n let store = this.entityStores.get(key)\n if (!store) {\n store = createMockEntityStore(key, { seed: this.entitySeed[key] })\n this.entityStores.set(key, store)\n }\n return store\n })\n }\n\n // Re-read before mutating: HMR can re-instantiate the provider mid-session\n // and a stale in-memory copy must not clobber persisted records.\n private syncOrders() { this.orders = loadStored<Order>(ORDERS_KEY) }\n private syncCustomers() { this.customers = loadStored<ShopCustomer>(CUSTOMERS_KEY) }\n private syncEnquiries() { this.enquiries = loadStored<ProductEnquiry>(ENQUIRIES_KEY) }\n private syncChannels() {\n const stored = loadStored<SalesChannel>(CHANNELS_KEY)\n if (stored.length) this.channels = stored\n }\n private persistOrders() { store(ORDERS_KEY, this.orders) }\n private persistCustomers() { store(CUSTOMERS_KEY, this.customers) }\n private persistEnquiries() { store(ENQUIRIES_KEY, this.enquiries) }\n private persistChannels() { store(CHANNELS_KEY, this.channels) }\n\n // ---------------------------------------------------------------------------\n // Products\n // ---------------------------------------------------------------------------\n\n async listProducts(opts?: ListProductsOptions): Promise<Product[]> {\n let list = [...this.products]\n if (opts?.status) list = list.filter(p => p.status === opts.status)\n if (opts?.categoryId) list = list.filter(p => p.categoryId === opts.categoryId)\n if (opts?.slug) list = list.filter(p => p.slug === opts.slug)\n if (opts?.search) {\n const q = opts.search.toLowerCase()\n list = list.filter(p =>\n p.name.toLowerCase().includes(q) ||\n (p.description ?? '').toLowerCase().includes(q) ||\n (p.sku ?? '').toLowerCase().includes(q),\n )\n }\n const orderBy = opts?.orderBy ?? 'sort_order'\n const dir = opts?.order === 'desc' ? -1 : 1\n if (opts?.search && !opts.orderBy) {\n // A term matched in the NAME must outrank one matched in the description,\n // otherwise \"caneta\" answers with whatever the catalogue happens to list\n // first among the products that merely mention a pen. Only when the caller\n // asked for a specific order does that order win.\n const q = opts.search.toLowerCase()\n const rank = (p: Product) =>\n p.name.toLowerCase().startsWith(q) ? 0 : p.name.toLowerCase().includes(q) ? 1 : 2\n list.sort((a, b) => rank(a) - rank(b) || a.sortOrder - b.sortOrder)\n } else {\n list.sort((a, b) => {\n switch (orderBy) {\n case 'name': return a.name.localeCompare(b.name) * dir\n case 'price': return (a.price - b.price) * dir\n case 'created_at': return a.createdAt.localeCompare(b.createdAt) * dir\n default: return (a.sortOrder - b.sortOrder) * dir\n }\n })\n }\n const offset = opts?.offset ?? 0\n if (offset || opts?.limit) list = list.slice(offset, opts?.limit ? offset + opts.limit : undefined)\n return list\n }\n\n async getProduct(id: string) { return this.products.find(p => p.id === id) ?? null }\n\n /** Option axes + variants (spine M5) — active variants only, like the 0028\n * storefront RLS. Answers empty sets for a variantless product. */\n async getProductVariants(productId: string): Promise<ProductVariantSet> {\n const set = this.variantSets[productId]\n if (!set) return { options: [], variants: [] }\n return {\n options: set.options.map(o => ({ ...o, values: [...o.values] })).sort((a, b) => a.position - b.position),\n variants: set.variants\n .filter(v => v.status === 'active')\n .map(v => ({ ...v, options: { ...v.options } }))\n .sort((a, b) => a.position - b.position),\n }\n }\n\n async createProduct(input: CreateProductInput): Promise<Product> {\n const p: Product = { id: uid(), tenantId: 'mock', name: input.name, slug: input.slug ?? input.name.toLowerCase().replace(/\\s+/g, '-'), description: input.description ?? null, price: input.price, compareAtPrice: input.compareAtPrice ?? null, currency: input.currency ?? 'BRL', status: input.status ?? 'active', inventoryCount: input.inventoryCount ?? 0, sku: input.sku ?? null, sortOrder: input.sortOrder ?? 0, metadata: input.metadata ?? {}, images: [], categoryId: input.categoryId ?? null, categoryName: null, isPhysical: input.isPhysical ?? true, weight: input.weight ?? null, weightUnit: input.weightUnit ?? 'kg', createdAt: now(), updatedAt: now() }\n this.products.push(p); return p\n }\n\n async updateProduct(id: string, input: UpdateProductInput): Promise<Product> {\n const i = this.products.findIndex(p => p.id === id)\n if (i < 0) throw new Error('Product not found')\n this.products[i] = { ...this.products[i], ...input, updatedAt: now() }\n return this.products[i]\n }\n\n async deleteProduct(id: string) { this.products = this.products.filter(p => p.id !== id) }\n async uploadProductImage(_productId: string, _file: File): Promise<ProductImage> { throw new Error('Image upload not available in mock mode') }\n async deleteProductImage(_imageId: string) {}\n\n async createProductEnquiry(input: CreateProductEnquiryInput): Promise<ProductEnquiry> {\n this.syncEnquiries()\n const ts = now()\n const enquiry: ProductEnquiry = {\n id: uid(),\n tenantId: 'mock',\n productId: input.productId ?? null,\n productName: input.productName,\n productSlug: input.productSlug ?? null,\n customerName: input.customerName,\n customerEmail: input.customerEmail,\n customerPhone: input.customerPhone ?? null,\n subject: input.subject ?? null,\n message: input.message,\n sourceUrl: input.sourceUrl ?? null,\n status: 'new',\n metadata: input.metadata ?? {},\n createdAt: ts,\n updatedAt: ts,\n }\n this.enquiries.unshift(enquiry)\n this.persistEnquiries()\n return enquiry\n }\n\n async listProductEnquiries(opts?: ListProductEnquiriesOptions): Promise<ProductEnquiry[]> {\n this.syncEnquiries()\n let list = [...this.enquiries]\n if (opts?.productId) list = list.filter((e) => e.productId === opts.productId)\n if (opts?.customerEmail) {\n const email = opts.customerEmail.toLowerCase()\n list = list.filter((e) => e.customerEmail.toLowerCase() === email)\n }\n if (opts?.status) list = list.filter((e) => e.status === opts.status)\n list.sort((a, b) => b.createdAt.localeCompare(a.createdAt))\n const offset = opts?.offset ?? 0\n if (offset || opts?.limit) list = list.slice(offset, opts?.limit ? offset + opts.limit : undefined)\n return list\n }\n\n // ---------------------------------------------------------------------------\n // Categories\n // ---------------------------------------------------------------------------\n\n async listCategories() { return [...this.categories].sort((a, b) => a.sortOrder - b.sortOrder) }\n\n async createCategory(input: CreateCategoryInput): Promise<Category> {\n const c: Category = { id: uid(), tenantId: 'mock', name: input.name, slug: input.slug ?? input.name.toLowerCase().replace(/\\s+/g, '-'), description: input.description ?? null, parentId: input.parentId ?? null, sortOrder: input.sortOrder ?? 0, createdAt: now() }\n this.categories.push(c); return c\n }\n\n async updateCategory(id: string, input: UpdateCategoryInput): Promise<Category> {\n const i = this.categories.findIndex(c => c.id === id)\n if (i < 0) throw new Error('Category not found')\n this.categories[i] = { ...this.categories[i], ...input }\n return this.categories[i]\n }\n\n async deleteCategory(id: string) { this.categories = this.categories.filter(c => c.id !== id) }\n\n // ---------------------------------------------------------------------------\n // Orders\n // ---------------------------------------------------------------------------\n\n async listOrders(opts?: ListOrdersOptions): Promise<Order[]> {\n this.syncOrders()\n let list = [...this.orders]\n if (opts?.status) list = list.filter(o => o.status === opts.status)\n if (opts?.financialStatus) list = list.filter(o => o.financialStatus === opts.financialStatus)\n if (opts?.fulfillmentStatus) list = list.filter(o => o.fulfillmentStatus === opts.fulfillmentStatus)\n if (opts?.customerId) list = list.filter(o => o.customerId === opts.customerId)\n if (opts?.customerEmail) {\n const email = opts.customerEmail.toLowerCase()\n list = list.filter(o => (o.customerEmail ?? '').toLowerCase() === email)\n }\n if (opts?.search) {\n const q = opts.search.toLowerCase()\n list = list.filter(o =>\n (o.customerName ?? '').toLowerCase().includes(q) ||\n (o.customerEmail ?? '').toLowerCase().includes(q) ||\n String(o.orderNumber).includes(q),\n )\n }\n list.sort((a, b) => b.createdAt.localeCompare(a.createdAt))\n if (opts?.limit) list = list.slice(0, opts.limit)\n return list\n }\n\n async getOrder(id: string) {\n this.syncOrders()\n return this.orders.find(o => o.id === id) ?? null\n }\n\n async createOrder(input: CreateOrderInput): Promise<Order> {\n this.syncOrders()\n const subtotal = input.items.reduce((s, i) => s + i.quantity * i.unitPrice, 0)\n const discountTotal = input.discountTotal ?? 0\n const shippingTotal = input.shippingTotal ?? 0\n const total = Math.round((subtotal - discountTotal + shippingTotal) * 100) / 100\n const orderId = uid()\n const maxNumber = this.orders.reduce((m, o) => Math.max(m, o.orderNumber), 1000)\n const o: Order = {\n id: orderId,\n tenantId: 'mock',\n orderNumber: maxNumber + 1,\n status: 'open',\n financialStatus: 'pending',\n fulfillmentStatus: 'unfulfilled',\n currency: input.currency ?? 'BRL',\n subtotal: Math.round(subtotal * 100) / 100,\n taxTotal: 0,\n discountTotal,\n shippingTotal,\n total,\n customerId: input.customerId ?? null,\n customerName: input.customerName ?? null,\n customerEmail: input.customerEmail ?? null,\n discountCode: input.discountCode ?? null,\n notes: input.notes ?? null,\n shippingAddress: null,\n // CreateOrderInput has no payment method — that is a PlaceOrderInput\n // concern; the mock records none rather than inventing one.\n paymentMethodKind: null,\n paidAt: null,\n items: input.items.map(i => ({ id: uid(), orderId, productId: i.productId ?? null, name: i.name, sku: i.sku ?? null, quantity: i.quantity, unitPrice: i.unitPrice, total: Math.round(i.quantity * i.unitPrice * 100) / 100, imageUrl: i.imageUrl ?? null })),\n createdAt: now(),\n updatedAt: now(),\n }\n this.orders.push(o)\n this.persistOrders()\n return o\n }\n\n async updateOrder(id: string, input: UpdateOrderInput): Promise<Order> {\n this.syncOrders()\n const i = this.orders.findIndex(o => o.id === id)\n if (i < 0) throw new Error('Order not found')\n this.orders[i] = { ...this.orders[i], ...input, updatedAt: now() }\n this.persistOrders()\n return this.orders[i]\n }\n\n // Trusted placement (mock parity with the shop_place_order RPC): re-reads\n // prices + stock from the catalog, EVALUATES THE DECLARED PROMOTIONS through\n // the rule engine, validates the legacy discount code, decrements inventory.\n // The browser-supplied prices and totals are never used.\n async placeOrder(input: PlaceOrderInput): Promise<Order> {\n this.syncOrders()\n this.syncCustomers()\n\n // Resolve / create the customer (find-or-create by email).\n let customerId = input.customerId ?? null\n let customerName = input.customer?.name?.trim() || null\n const email = input.customer?.email?.trim().toLowerCase() || null\n if (!customerId && email) {\n const existing = this.customers.find(c => (c.email ?? '').toLowerCase() === email)\n if (existing) {\n customerId = existing.id\n customerName = customerName ?? `${existing.firstName} ${existing.lastName}`.trim()\n } else {\n const [first, ...rest] = (customerName ?? email).split(' ')\n const created = await this.createCustomer({ firstName: first || email, lastName: rest.join(' '), email })\n customerId = created.id\n }\n }\n\n // Re-read price + guard stock from the catalog (never trust the client).\n // Variant lines (spine M5, mirroring 0029): the VARIANT is the priced and\n // stock-checked unit; its options derive the label the shopper sees.\n const items: CreateOrderInput['items'] = []\n // Per-line facts for coupon scoping (productId, categoryId, line total).\n const lineDetails: Array<{ productId: string; categoryId: string | null; lineTotal: number }> = []\n // The SAME lines as a rule-engine snapshot (M6). Built here, from the\n // re-read catalog prices, so the engine can never be fed client numbers.\n const snapshotItems: RuleCartItem[] = []\n let subtotal = 0\n for (const [index, line] of input.items.entries()) {\n const product = this.products.find(p => p.id === line.productId)\n if (!product || product.status !== 'active') throw new Error(`Product unavailable: ${line.productId}`)\n let variant: ProductVariant | undefined\n if (line.variantId) {\n variant = this.variantSets[line.productId]?.variants.find(v => v.id === line.variantId && v.status === 'active')\n if (!variant) throw new Error(`Variant unavailable: ${line.variantId}`)\n if (variant.inventoryCount < line.quantity) throw new Error(`Insufficient stock for ${product.name}`)\n } else if (product.inventoryCount < line.quantity) {\n throw new Error(`Insufficient stock for ${product.name}`)\n }\n const unitPrice = variant?.price ?? product.price\n const label = line.optionsLabel\n || (variant ? Object.entries(variant.options).sort(([a], [b]) => a.localeCompare(b)).map(([k, v]) => `${k}: ${v}`).join(' · ') : '')\n const name = label ? `${product.name} (${label})` : product.name\n const lineTotal = unitPrice * line.quantity\n subtotal += lineTotal\n lineDetails.push({ productId: product.id, categoryId: product.categoryId, lineTotal })\n // Line identity must be UNIQUE (the engine splits `across` allocations\n // per line id); the index guarantees it even for two lines of the same\n // product bought under different variants.\n snapshotItems.push({\n id: `${index}:${line.variantId ?? product.id}`,\n productId: product.id,\n quantity: line.quantity,\n unitPrice,\n categoryId: product.categoryId,\n collectionId: typeof product.metadata?.collection === 'string' ? product.metadata.collection : null,\n })\n items.push({ productId: product.id, name, sku: variant?.sku ?? product.sku ?? undefined, quantity: line.quantity, unitPrice, imageUrl: product.images[0]?.url })\n }\n subtotal = Math.round(subtotal * 100) / 100\n\n // Validate + apply the discount server-side.\n let shippingTotal = Math.max(input.shippingTotal ?? 0, 0)\n let discountTotal = 0\n let appliedCode: string | null = null\n\n // --- The rule engine on the ORDER path (spine M6) -----------------------\n // Declared `promotions` are evaluated here, not only in the cart preview:\n // without this a store that carries ONLY new-style promotions placed every\n // order with discountTotal 0 — the promotion was advertised, previewed and\n // then silently dropped at the till.\n //\n // Only the DECLARED promotions ride this path. Legacy `discounts` keep\n // their own (unchanged) code below; running them through the adapter here\n // as well would count the same coupon twice.\n const entered = input.discountCode ? [input.discountCode.trim()] : []\n const cart: RuleCartSnapshot = {\n items: snapshotItems,\n shippingTotal,\n customer: { email: input.customer?.email ?? null },\n codes: entered,\n currency: input.currency,\n }\n const context = await buildRuleContext(cart)\n const actions = computePromotionActions(cart, this.promotions, { context })\n\n let promotionItemDiscount = 0\n let promotionShippingDiscount = 0\n const firedPromotionIds = new Set<string>()\n const firedCodes = new Set<string>()\n for (const action of actions) {\n firedPromotionIds.add(action.promotionId)\n if (action.code) firedCodes.add(action.code.trim().toUpperCase())\n if (action.action === 'addItemDiscount') promotionItemDiscount += action.amount\n else if (action.action === 'addShippingDiscount') promotionShippingDiscount += action.amount\n else if (action.action === 'addFreeItem') {\n // The grant is a real order line at price 0 — otherwise the shopper is\n // promised a free product the order never records.\n const granted = this.products.find(p => p.id === action.productId)\n if (granted) {\n items.push({ productId: granted.id, name: granted.name, sku: granted.sku ?? undefined, quantity: action.quantity, unitPrice: 0, imageUrl: granted.images[0]?.url })\n }\n }\n }\n // Usage limits are enforced against the same counter the legacy path uses.\n for (const promotion of this.promotions) {\n if (firedPromotionIds.has(promotion.id)) promotion.timesUsed = (promotion.timesUsed ?? 0) + 1\n }\n discountTotal += Math.round(promotionItemDiscount * 100) / 100\n shippingTotal = Math.max(0, Math.round((shippingTotal - promotionShippingDiscount) * 100) / 100)\n if (input.discountCode && firedCodes.has(input.discountCode.trim().toUpperCase())) {\n appliedCode = input.discountCode.trim().toUpperCase()\n }\n\n // --- Legacy `discounts` coupons (unchanged) -----------------------------\n // Skipped only when a declared promotion already consumed this exact code,\n // so a store that migrated one coupon to the rule model is not charged the\n // discount twice.\n if (input.discountCode && !appliedCode) {\n const code = input.discountCode.trim().toLowerCase()\n const d = this.discounts.find(x => (x.code ?? '').toLowerCase() === code)\n const ts = now()\n const meetsMin = !d?.minSubtotal || subtotal >= d.minSubtotal\n const valid = !!d && d.status === 'active' && d.startsAt <= ts && (!d.endsAt || d.endsAt >= ts) && (d.usageLimit == null || d.timesUsed < d.usageLimit) && meetsMin\n if (valid && d) {\n appliedCode = d.code\n // Eligible subtotal = the part of the cart the coupon is scoped to.\n // applies_to='all' → whole subtotal (unchanged for legacy coupons).\n let eligible = subtotal\n if (d.appliesTo === 'products') {\n eligible = lineDetails.filter(l => d.productIds.includes(l.productId)).reduce((s, l) => s + l.lineTotal, 0)\n } else if (d.appliesTo === 'categories') {\n eligible = lineDetails.filter(l => l.categoryId && d.categoryIds.includes(l.categoryId)).reduce((s, l) => s + l.lineTotal, 0)\n }\n eligible = Math.round(eligible * 100) / 100\n // `+=`, not `=`: an automatic rule-engine promotion may already have\n // contributed above, and a legacy coupon must not erase it.\n if (d.type === 'percentage') discountTotal += Math.round(eligible * d.value) / 100\n else if (d.type === 'fixed_amount') discountTotal += Math.min(d.value, eligible)\n else if (d.type === 'free_shipping') shippingTotal = 0\n // buy_x_get_y unsupported in v1: code recorded, no monetary effect\n d.timesUsed += 1\n }\n }\n discountTotal = Math.round(Math.min(Math.max(discountTotal, 0), subtotal) * 100) / 100\n\n // Persist via createOrder (recomputes total from these trusted values).\n const order = await this.createOrder({\n customerId: customerId ?? undefined,\n customerName: customerName ?? undefined,\n customerEmail: input.customer?.email ?? undefined,\n currency: input.currency,\n notes: input.notes,\n discountCode: appliedCode ?? undefined,\n discountTotal,\n shippingTotal,\n items,\n })\n\n // Decrement inventory (in-memory; the mock catalog reseeds on reload).\n // A variant line decrements the VARIANT counter, and the product mirror is\n // recomputed as the sum of active variant stock — the same rule 0028's\n // sync trigger enforces on live data, so both providers report identical\n // numbers after a sale.\n for (const line of input.items) {\n const product = this.products.find(p => p.id === line.productId)\n if (!product) continue\n const variant = line.variantId\n ? this.variantSets[line.productId]?.variants.find(v => v.id === line.variantId)\n : undefined\n if (variant) {\n variant.inventoryCount = Math.max(0, variant.inventoryCount - line.quantity)\n product.inventoryCount = this.variantSets[line.productId]!.variants\n .filter(v => v.status === 'active')\n .reduce((sum, v) => sum + v.inventoryCount, 0)\n } else {\n product.inventoryCount = Math.max(0, product.inventoryCount - line.quantity)\n }\n }\n\n return order\n }\n\n // ---------------------------------------------------------------------------\n // Customers\n // ---------------------------------------------------------------------------\n\n async listCustomers(opts?: ListCustomersOptions) {\n this.syncCustomers()\n let list = [...this.customers]\n if (opts?.search) list = list.filter(c => `${c.firstName} ${c.lastName} ${c.email}`.toLowerCase().includes(opts.search!.toLowerCase()))\n if (opts?.limit) list = list.slice(0, opts.limit)\n return list\n }\n\n async getCustomer(id: string) {\n this.syncCustomers()\n return this.customers.find(c => c.id === id) ?? null\n }\n\n async createCustomer(input: CreateCustomerInput): Promise<ShopCustomer> {\n this.syncCustomers()\n const c: ShopCustomer = { id: uid(), tenantId: 'mock', firstName: input.firstName, lastName: input.lastName ?? '', email: input.email ?? null, phone: input.phone ?? null, notes: input.notes ?? null, ordersCount: 0, totalSpent: 0, createdAt: now(), updatedAt: now() }\n this.customers.push(c)\n this.persistCustomers()\n return c\n }\n\n async updateCustomer(id: string, input: UpdateCustomerInput): Promise<ShopCustomer> {\n this.syncCustomers()\n const i = this.customers.findIndex(c => c.id === id)\n if (i < 0) throw new Error('Customer not found')\n this.customers[i] = { ...this.customers[i], ...input, updatedAt: now() }\n this.persistCustomers()\n return this.customers[i]\n }\n\n async deleteCustomer(id: string) {\n this.syncCustomers()\n this.customers = this.customers.filter(c => c.id !== id)\n this.persistCustomers()\n }\n\n async resolveCustomer(input: ResolveCustomerInput): Promise<ShopCustomer> {\n this.syncCustomers()\n const email = input.email.trim().toLowerCase()\n const existing = this.customers.find(c => (c.email ?? '').toLowerCase() === email)\n if (existing) return existing\n const [first, ...rest] = (input.name?.trim() || email).split(/\\s+/)\n return this.createCustomer({ firstName: first || email, lastName: rest.join(' '), email })\n }\n\n // ---------------------------------------------------------------------------\n // Promotions (spine M6) — the mock provider IS the reference evaluator, so\n // tests and pilot fixtures exercise the rule engine without a database.\n // Seeded promotions ride as-is; legacy discounts ride through the adapter\n // (a percent code = one eligibility rule on code + percentage method).\n // ---------------------------------------------------------------------------\n\n async evaluatePromotions(input: { cart: RuleCartSnapshot }): Promise<ComputeAction[]> {\n const promotions: Promotion[] = [\n ...this.promotions,\n ...this.discounts.map(discountToPromotion).filter((p): p is Promotion => p !== null),\n ]\n const context = await buildRuleContext(input.cart)\n return computePromotionActions(input.cart, promotions, { context })\n }\n\n // ---------------------------------------------------------------------------\n // Discounts\n // ---------------------------------------------------------------------------\n\n async listDiscounts(opts?: ListDiscountsOptions) {\n let list = [...this.discounts]\n if (opts?.status) list = list.filter(d => d.status === opts.status)\n if (opts?.type) list = list.filter(d => d.type === opts.type)\n if (opts?.search) list = list.filter(d => d.title.toLowerCase().includes(opts.search!.toLowerCase()))\n if (opts?.limit) list = list.slice(0, opts.limit)\n return list\n }\n\n async getDiscount(id: string) { return this.discounts.find(d => d.id === id) ?? null }\n\n async createDiscount(input: CreateDiscountInput): Promise<Discount> {\n const d: Discount = { id: uid(), tenantId: 'mock', title: input.title, code: input.code ?? null, type: input.type, method: input.method ?? 'code', value: input.value, usageLimit: input.usageLimit ?? null, oncePerCustomer: input.oncePerCustomer ?? false, minSubtotal: input.minSubtotal ?? null, appliesTo: input.appliesTo ?? 'all', productIds: input.productIds ?? [], categoryIds: input.categoryIds ?? [], startsAt: input.startsAt ?? now(), endsAt: input.endsAt ?? null, status: input.status ?? 'active', timesUsed: 0, createdAt: now(), updatedAt: now() }\n this.discounts.push(d); return d\n }\n\n async updateDiscount(id: string, input: UpdateDiscountInput): Promise<Discount> {\n const i = this.discounts.findIndex(d => d.id === id)\n if (i < 0) throw new Error('Discount not found')\n this.discounts[i] = { ...this.discounts[i], ...input, updatedAt: now() }\n return this.discounts[i]\n }\n\n async deleteDiscount(id: string) { this.discounts = this.discounts.filter(d => d.id !== id) }\n\n // ---------------------------------------------------------------------------\n // Sales channels\n // ---------------------------------------------------------------------------\n\n async listSalesChannels(): Promise<SalesChannel[]> {\n this.syncChannels()\n return [...this.channels].sort((a, b) => a.position - b.position)\n }\n\n async createSalesChannel(input: CreateSalesChannelInput): Promise<SalesChannel> {\n this.syncChannels()\n const c: SalesChannel = { id: uid(), tenantId: 'mock', kind: input.kind, label: input.label, url: input.url ?? null, enabled: input.enabled ?? true, position: input.position ?? this.channels.length, createdAt: now(), updatedAt: now() }\n this.channels.push(c); this.persistChannels(); return c\n }\n\n async updateSalesChannel(id: string, input: UpdateSalesChannelInput): Promise<SalesChannel> {\n this.syncChannels()\n const i = this.channels.findIndex(c => c.id === id)\n if (i < 0) throw new Error('Sales channel not found')\n this.channels[i] = { ...this.channels[i], ...input, updatedAt: now() }\n this.persistChannels(); return this.channels[i]\n }\n\n async deleteSalesChannel(id: string): Promise<void> {\n this.syncChannels()\n this.channels = this.channels.filter(c => c.id !== id)\n this.persistChannels()\n }\n\n // ---------------------------------------------------------------------------\n // Custom entities (spine M4) — same EntityStore port as the live provider.\n // ---------------------------------------------------------------------------\n\n async listEntityRecords(entity: string, options?: ListEntityRecordsOptions): Promise<EntityRecord[]> {\n return this.entityStore(entity).list(options)\n }\n\n async getEntityRecord(entity: string, id: string): Promise<EntityRecord | null> {\n return this.entityStore(entity).get(id)\n }\n\n async getEntityRecordBySlug(entity: string, slug: string): Promise<EntityRecord | null> {\n return this.entityStore(entity).getBySlug(slug)\n }\n\n async createEntityRecord(entity: string, input: EntityRecordInput): Promise<EntityRecord> {\n return this.entityStore(entity).create(input)\n }\n\n async updateEntityRecord(entity: string, id: string, input: Partial<EntityRecordInput>): Promise<EntityRecord> {\n return this.entityStore(entity).update(id, input)\n }\n\n async deleteEntityRecord(entity: string, id: string): Promise<void> {\n return this.entityStore(entity).delete(id)\n }\n\n // Sidecar fields on core records — validated against defineSidecarFields.\n\n async getEntityFields(reference: string, referenceId: string): Promise<Record<string, unknown> | null> {\n return this.sidecars.get(`${reference}:${referenceId}`) ?? null\n }\n\n async setEntityFields(reference: string, referenceId: string, fields: Record<string, unknown>): Promise<Record<string, unknown>> {\n validateSidecarWrite(reference, fields)\n const stored = { ...fields }\n this.sidecars.set(`${reference}:${referenceId}`, stored)\n return stored\n }\n\n // Coleções, grupos/segmentos, vale-presente e e-mails — paridade com o\n // provider Supabase. Mídia não entra: é storage, não tem mock honesto.\n\nasync listCollections(): Promise<Collection[]> {\n this.syncCollections()\n return [...this.collections].sort((a, b) => a.sortOrder - b.sortOrder)\n }\n\n async getCollection(id: string): Promise<Collection | null> {\n this.syncCollections()\n return this.collections.find(c => c.id === id) ?? null\n }\n\n async createCollection(input: CreateCollectionInput): Promise<Collection> {\n this.syncCollections()\n const c: Collection = {\n id: uid(), tenantId: 'mock',\n title: input.title,\n handle: input.handle?.trim() || mockSlugify(input.title),\n description: input.description ?? null,\n imageUrl: input.imageUrl ?? null,\n seoTitle: input.seoTitle ?? null,\n seoDescription: input.seoDescription ?? null,\n published: input.published ?? true,\n sortOrder: input.sortOrder ?? this.collections.length,\n productIds: input.productIds ?? [],\n createdAt: now(), updatedAt: now(),\n }\n this.collections.push(c); this.persistCollections(); return c\n }\n\n async updateCollection(id: string, input: UpdateCollectionInput): Promise<Collection> {\n this.syncCollections()\n const i = this.collections.findIndex(c => c.id === id)\n if (i < 0) throw new Error('Collection not found')\n this.collections[i] = { ...this.collections[i], ...input, updatedAt: now() }\n this.persistCollections(); return this.collections[i]\n }\n\n async deleteCollection(id: string): Promise<void> {\n this.syncCollections()\n this.collections = this.collections.filter(c => c.id !== id)\n this.persistCollections()\n }\n\n async listCustomerGroups(): Promise<CustomerGroup[]> {\n const stored = loadStored<CustomerGroup>(CUSTOMER_GROUPS_KEY)\n if (stored.length) this.customerGroups = stored\n return [...this.customerGroups].sort((a, b) => a.name.localeCompare(b.name, 'pt-BR'))\n }\n\n async createCustomerGroup(input: CreateCustomerGroupInput): Promise<CustomerGroup> {\n await this.listCustomerGroups()\n const g: CustomerGroup = {\n id: uid(), tenantId: 'mock',\n name: input.name,\n description: input.description ?? null,\n color: input.color ?? null,\n customerIds: input.customerIds ?? [],\n createdAt: now(), updatedAt: now(),\n }\n this.customerGroups.push(g); store(CUSTOMER_GROUPS_KEY, this.customerGroups); return g\n }\n\n async updateCustomerGroup(id: string, input: UpdateCustomerGroupInput): Promise<CustomerGroup> {\n await this.listCustomerGroups()\n const i = this.customerGroups.findIndex(g => g.id === id)\n if (i < 0) throw new Error('Customer group not found')\n this.customerGroups[i] = { ...this.customerGroups[i], ...input, updatedAt: now() }\n store(CUSTOMER_GROUPS_KEY, this.customerGroups); return this.customerGroups[i]\n }\n\n async deleteCustomerGroup(id: string): Promise<void> {\n await this.listCustomerGroups()\n // Only the grouping goes: the customers in it are untouched.\n this.customerGroups = this.customerGroups.filter(g => g.id !== id)\n store(CUSTOMER_GROUPS_KEY, this.customerGroups)\n }\n\n async listCustomerSegments(): Promise<CustomerSegment[]> {\n const stored = loadStored<CustomerSegment>(CUSTOMER_SEGMENTS_KEY)\n if (stored.length) this.customerSegments = stored\n return [...this.customerSegments].sort((a, b) => a.name.localeCompare(b.name, 'pt-BR'))\n }\n\n async createCustomerSegment(input: CreateCustomerSegmentInput): Promise<CustomerSegment> {\n await this.listCustomerSegments()\n const s: CustomerSegment = {\n id: uid(), tenantId: 'mock',\n name: input.name,\n description: input.description ?? null,\n minOrders: input.minOrders ?? null,\n maxOrders: input.maxOrders ?? null,\n minSpent: input.minSpent ?? null,\n maxSpent: input.maxSpent ?? null,\n joinedAfter: input.joinedAfter ?? null,\n joinedBefore: input.joinedBefore ?? null,\n createdAt: now(), updatedAt: now(),\n }\n this.customerSegments.push(s); store(CUSTOMER_SEGMENTS_KEY, this.customerSegments); return s\n }\n\n async updateCustomerSegment(id: string, input: UpdateCustomerSegmentInput): Promise<CustomerSegment> {\n await this.listCustomerSegments()\n const i = this.customerSegments.findIndex(s => s.id === id)\n if (i < 0) throw new Error('Customer segment not found')\n this.customerSegments[i] = { ...this.customerSegments[i], ...input, updatedAt: now() }\n store(CUSTOMER_SEGMENTS_KEY, this.customerSegments); return this.customerSegments[i]\n }\n\n async deleteCustomerSegment(id: string): Promise<void> {\n await this.listCustomerSegments()\n this.customerSegments = this.customerSegments.filter(s => s.id !== id)\n store(CUSTOMER_SEGMENTS_KEY, this.customerSegments)\n }\n\n async listGiftCards(): Promise<GiftCard[]> {\n this.syncGiftCards()\n return [...this.giftCards].sort((a, b) => b.createdAt.localeCompare(a.createdAt))\n }\n\n async createGiftCard(input: CreateGiftCardInput): Promise<GiftCard> {\n this.syncGiftCards()\n const amount = Number(input.initialBalance) || 0\n const g: GiftCard = {\n id: uid(), tenantId: 'mock',\n code: (input.code?.trim() || mockGiftCardCode()).toUpperCase(),\n // Same rule the supabase provider enforces: a new card is worth its face\n // value, and only redemption moves the remaining balance.\n initialBalance: amount, balance: amount,\n currency: input.currency ?? 'BRL',\n status: input.status ?? 'active',\n expiresAt: input.expiresAt ?? null,\n customerId: input.customerId ?? null,\n customerEmail: input.customerEmail ?? null,\n note: input.note ?? null,\n createdAt: now(), updatedAt: now(),\n }\n this.giftCards.push(g); this.persistGiftCards(); return g\n }\n\n async updateGiftCard(id: string, input: UpdateGiftCardInput): Promise<GiftCard> {\n this.syncGiftCards()\n const i = this.giftCards.findIndex(g => g.id === id)\n if (i < 0) throw new Error('Gift card not found')\n const code = input.code !== undefined ? input.code.trim().toUpperCase() : this.giftCards[i].code\n this.giftCards[i] = { ...this.giftCards[i], ...input, code, updatedAt: now() }\n this.persistGiftCards(); return this.giftCards[i]\n }\n\n async deleteGiftCard(id: string): Promise<void> {\n this.syncGiftCards()\n this.giftCards = this.giftCards.filter(g => g.id !== id)\n this.persistGiftCards()\n }\n\n async listEmailTemplates(): Promise<EmailTemplate[]> {\n this.syncEmailTemplates()\n return [...this.emailTemplates]\n }\n\n async upsertEmailTemplate(input: UpsertEmailTemplateInput): Promise<EmailTemplate> {\n this.syncEmailTemplates()\n const i = this.emailTemplates.findIndex(t => t.event === input.event)\n const base: EmailTemplate = i >= 0 ? this.emailTemplates[i] : {\n id: uid(), tenantId: 'mock', event: input.event,\n enabled: false, subject: null, body: null, updatedAt: now(),\n }\n const next: EmailTemplate = { ...base, ...input, updatedAt: now() }\n if (i >= 0) this.emailTemplates[i] = next\n else this.emailTemplates.push(next)\n store(EMAIL_TEMPLATES_KEY, this.emailTemplates)\n return next\n }\n\nprivate syncCollections() {\n const stored = loadStored<Collection>(COLLECTIONS_KEY)\n if (stored.length) this.collections = stored\n }\n\n private persistCollections() { store(COLLECTIONS_KEY, this.collections) }\n\n private syncGiftCards() {\n const stored = loadStored<GiftCard>(GIFT_CARDS_KEY)\n if (stored.length) this.giftCards = stored\n }\n\n private persistGiftCards() { store(GIFT_CARDS_KEY, this.giftCards) }\n\n private syncEmailTemplates() {\n const stored = loadStored<EmailTemplate>(EMAIL_TEMPLATES_KEY)\n if (stored.length) this.emailTemplates = stored\n }\n}\n\nexport function createMockShopProvider(seed?: MockShopSeed): ShopProvider {\n return new MockShopProvider(seed)\n}\n"]}