@tonytang99/integration-canonical 1.0.0 → 1.1.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 (38) hide show
  1. package/README.md +414 -1
  2. package/dist/index.d.ts +5 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +80 -15
  5. package/dist/index.js.map +1 -1
  6. package/dist/schemas/customer.d.ts +746 -0
  7. package/dist/schemas/customer.d.ts.map +1 -0
  8. package/dist/schemas/customer.js +282 -0
  9. package/dist/schemas/customer.js.map +1 -0
  10. package/dist/schemas/index.d.ts +13 -0
  11. package/dist/schemas/index.d.ts.map +1 -0
  12. package/dist/schemas/index.js +33 -0
  13. package/dist/schemas/index.js.map +1 -0
  14. package/dist/schemas/inventory.d.ts +1642 -0
  15. package/dist/schemas/inventory.d.ts.map +1 -0
  16. package/dist/schemas/inventory.js +302 -0
  17. package/dist/schemas/inventory.js.map +1 -0
  18. package/dist/schemas/order.d.ts +1339 -0
  19. package/dist/schemas/order.d.ts.map +1 -0
  20. package/dist/schemas/order.js +310 -0
  21. package/dist/schemas/order.js.map +1 -0
  22. package/dist/schemas/product.d.ts +717 -0
  23. package/dist/schemas/product.d.ts.map +1 -0
  24. package/dist/schemas/product.js +303 -0
  25. package/dist/schemas/product.js.map +1 -0
  26. package/dist/slots.d.ts +572 -0
  27. package/dist/slots.d.ts.map +1 -0
  28. package/dist/slots.js +20 -0
  29. package/dist/slots.js.map +1 -0
  30. package/dist/types/common.d.ts +284 -0
  31. package/dist/types/common.d.ts.map +1 -0
  32. package/dist/types/common.js +401 -0
  33. package/dist/types/common.js.map +1 -0
  34. package/dist/types/enrichments.d.ts +378 -0
  35. package/dist/types/enrichments.d.ts.map +1 -0
  36. package/dist/types/enrichments.js +96 -0
  37. package/dist/types/enrichments.js.map +1 -0
  38. package/package.json +2 -1
@@ -0,0 +1,572 @@
1
+ export declare const CanonicalSlots: {
2
+ readonly PRODUCT: import("@tonytang99/integration-core").SlotKey<{
3
+ id: string;
4
+ sku: string;
5
+ name: string;
6
+ price: {
7
+ amount: number;
8
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
9
+ };
10
+ inventory: {
11
+ quantity: number;
12
+ tracked: boolean;
13
+ allowBackorder?: boolean | undefined;
14
+ lowStockLevel?: number | undefined;
15
+ warningLevel?: number | undefined;
16
+ };
17
+ metadata: {
18
+ source: string;
19
+ sourceId: string;
20
+ createdAt?: string | undefined;
21
+ updatedAt?: string | undefined;
22
+ externalIds?: Record<string, string> | undefined;
23
+ };
24
+ compareAtPrice?: {
25
+ amount: number;
26
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
27
+ } | undefined;
28
+ description?: string | undefined;
29
+ shortDescription?: string | undefined;
30
+ costPrice?: {
31
+ amount: number;
32
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
33
+ } | undefined;
34
+ taxable?: boolean | undefined;
35
+ taxCode?: string | undefined;
36
+ weight?: {
37
+ value: number;
38
+ unit: "g" | "kg" | "oz" | "lb";
39
+ } | undefined;
40
+ dimensions?: {
41
+ length: number;
42
+ unit: "cm" | "m" | "in" | "ft";
43
+ width: number;
44
+ height: number;
45
+ } | undefined;
46
+ isVisible?: boolean | undefined;
47
+ availability?: "available" | "preorder" | "backorder" | "discontinued" | "out-of-stock" | undefined;
48
+ condition?: "new" | "refurbished" | "used" | undefined;
49
+ categories?: string[] | undefined;
50
+ brand?: string | undefined;
51
+ manufacturer?: string | undefined;
52
+ images?: {
53
+ url: string;
54
+ altText?: string | undefined;
55
+ sortOrder?: number | undefined;
56
+ isThumbnail?: boolean | undefined;
57
+ }[] | undefined;
58
+ variants?: {
59
+ id: string;
60
+ sku: string;
61
+ options?: Record<string, string> | undefined;
62
+ name?: string | undefined;
63
+ price?: {
64
+ amount: number;
65
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
66
+ } | undefined;
67
+ compareAtPrice?: {
68
+ amount: number;
69
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
70
+ } | undefined;
71
+ inventory?: {
72
+ quantity: number;
73
+ tracked: boolean;
74
+ allowBackorder?: boolean | undefined;
75
+ } | undefined;
76
+ image?: {
77
+ url: string;
78
+ altText?: string | undefined;
79
+ sortOrder?: number | undefined;
80
+ isThumbnail?: boolean | undefined;
81
+ } | undefined;
82
+ isAvailable?: boolean | undefined;
83
+ }[] | undefined;
84
+ hasVariants?: boolean | undefined;
85
+ seo?: {
86
+ description?: string | undefined;
87
+ title?: string | undefined;
88
+ keywords?: string[] | undefined;
89
+ } | undefined;
90
+ requiresShipping?: boolean | undefined;
91
+ freeShipping?: boolean | undefined;
92
+ customFields?: Record<string, any> | undefined;
93
+ }>;
94
+ readonly ORDER: import("@tonytang99/integration-core").SlotKey<{
95
+ status: "pending" | "processing" | "shipped" | "delivered" | "cancelled" | "refunded" | "on_hold" | "failed";
96
+ id: string;
97
+ metadata: {
98
+ source: string;
99
+ sourceId: string;
100
+ requiresShipping?: boolean | undefined;
101
+ externalIds?: Record<string, string> | undefined;
102
+ tags?: string[] | undefined;
103
+ isTest?: boolean | undefined;
104
+ isGift?: boolean | undefined;
105
+ giftMessage?: string | undefined;
106
+ };
107
+ fulfillmentStatus: "unfulfilled" | "fulfilled" | "partially_fulfilled" | "restocked";
108
+ orderNumber: string;
109
+ customer: {
110
+ firstName: string;
111
+ lastName: string;
112
+ email: string;
113
+ company?: string | undefined;
114
+ phone?: string | undefined;
115
+ id?: string | undefined;
116
+ isGuest?: boolean | undefined;
117
+ };
118
+ billingAddress: {
119
+ street1: string;
120
+ city: string;
121
+ postalCode: string;
122
+ country: string;
123
+ type?: "billing" | "shipping" | "both" | undefined;
124
+ street2?: string | undefined;
125
+ street3?: string | undefined;
126
+ state?: string | undefined;
127
+ stateCode?: string | undefined;
128
+ countryCode?: "US" | "CA" | "GB" | "AU" | "NZ" | "DE" | "FR" | "IT" | "ES" | "NL" | "BE" | "CH" | "AT" | "SE" | "NO" | "DK" | "FI" | "IE" | "PT" | "PL" | "CZ" | "JP" | "CN" | "IN" | "SG" | "HK" | "MX" | "BR" | "ZA" | undefined;
129
+ company?: string | undefined;
130
+ firstName?: string | undefined;
131
+ lastName?: string | undefined;
132
+ phone?: string | undefined;
133
+ email?: string | undefined;
134
+ isDefault?: boolean | undefined;
135
+ isResidential?: boolean | undefined;
136
+ isValidated?: boolean | undefined;
137
+ validationSource?: string | undefined;
138
+ };
139
+ shippingAddress: {
140
+ street1: string;
141
+ city: string;
142
+ postalCode: string;
143
+ country: string;
144
+ type?: "billing" | "shipping" | "both" | undefined;
145
+ street2?: string | undefined;
146
+ street3?: string | undefined;
147
+ state?: string | undefined;
148
+ stateCode?: string | undefined;
149
+ countryCode?: "US" | "CA" | "GB" | "AU" | "NZ" | "DE" | "FR" | "IT" | "ES" | "NL" | "BE" | "CH" | "AT" | "SE" | "NO" | "DK" | "FI" | "IE" | "PT" | "PL" | "CZ" | "JP" | "CN" | "IN" | "SG" | "HK" | "MX" | "BR" | "ZA" | undefined;
150
+ company?: string | undefined;
151
+ firstName?: string | undefined;
152
+ lastName?: string | undefined;
153
+ phone?: string | undefined;
154
+ email?: string | undefined;
155
+ isDefault?: boolean | undefined;
156
+ isResidential?: boolean | undefined;
157
+ isValidated?: boolean | undefined;
158
+ validationSource?: string | undefined;
159
+ };
160
+ lineItems: {
161
+ id: string;
162
+ sku: string;
163
+ name: string;
164
+ quantity: number;
165
+ productId: string;
166
+ unitPrice: {
167
+ amount: number;
168
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
169
+ };
170
+ totalPrice: {
171
+ amount: number;
172
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
173
+ };
174
+ weight?: {
175
+ value: number;
176
+ unit: "g" | "kg" | "oz" | "lb";
177
+ } | undefined;
178
+ customFields?: Record<string, unknown> | undefined;
179
+ taxAmount?: {
180
+ amount: number;
181
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
182
+ } | undefined;
183
+ discountAmount?: {
184
+ amount: number;
185
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
186
+ } | undefined;
187
+ variantId?: string | undefined;
188
+ variantOptions?: Record<string, string> | undefined;
189
+ fulfillmentStatus?: "unfulfilled" | "fulfilled" | "partially_fulfilled" | undefined;
190
+ quantityFulfilled?: number | undefined;
191
+ }[];
192
+ totals: {
193
+ subtotal: {
194
+ amount: number;
195
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
196
+ };
197
+ taxTotal: {
198
+ amount: number;
199
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
200
+ };
201
+ shippingTotal: {
202
+ amount: number;
203
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
204
+ };
205
+ discountTotal: {
206
+ amount: number;
207
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
208
+ };
209
+ total: {
210
+ amount: number;
211
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
212
+ };
213
+ };
214
+ paymentMethods: {
215
+ method: string;
216
+ amount?: {
217
+ amount: number;
218
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
219
+ } | undefined;
220
+ brand?: string | undefined;
221
+ gateway?: string | undefined;
222
+ transactionId?: string | undefined;
223
+ lastFour?: string | undefined;
224
+ expiryMonth?: number | undefined;
225
+ expiryYear?: number | undefined;
226
+ }[];
227
+ paymentStatus: "pending" | "refunded" | "failed" | "authorized" | "paid" | "partially_paid" | "partially_refunded" | "voided";
228
+ dates: {
229
+ createdAt: string;
230
+ updatedAt: string;
231
+ paidAt?: string | undefined;
232
+ shippedAt?: string | undefined;
233
+ deliveredAt?: string | undefined;
234
+ cancelledAt?: string | undefined;
235
+ };
236
+ customFields?: Record<string, unknown> | undefined;
237
+ taxLines?: {
238
+ amount: {
239
+ amount: number;
240
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
241
+ };
242
+ name: string;
243
+ rate: number;
244
+ jurisdiction?: string | undefined;
245
+ }[] | undefined;
246
+ discounts?: {
247
+ type: "percentage" | "fixed_amount" | "free_shipping";
248
+ amount: {
249
+ amount: number;
250
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
251
+ };
252
+ code?: string | undefined;
253
+ description?: string | undefined;
254
+ }[] | undefined;
255
+ shippingMethod?: {
256
+ id: string;
257
+ name: string;
258
+ cost: {
259
+ amount: number;
260
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
261
+ };
262
+ code?: string | undefined;
263
+ carrier?: string | undefined;
264
+ service?: string | undefined;
265
+ estimatedDelivery?: string | undefined;
266
+ trackingNumber?: string | undefined;
267
+ trackingUrl?: string | undefined;
268
+ } | undefined;
269
+ notes?: {
270
+ customer?: string | undefined;
271
+ internal?: string | undefined;
272
+ } | undefined;
273
+ ipAddress?: string | undefined;
274
+ userAgent?: string | undefined;
275
+ referralSource?: string | undefined;
276
+ }>;
277
+ readonly CUSTOMER: import("@tonytang99/integration-core").SlotKey<{
278
+ status: "pending" | "active" | "inactive" | "suspended" | "blocked";
279
+ firstName: string;
280
+ lastName: string;
281
+ email: string;
282
+ id: string;
283
+ metadata: {
284
+ source: string;
285
+ sourceId: string;
286
+ externalIds?: Record<string, string> | undefined;
287
+ isTest?: boolean | undefined;
288
+ accountNumber?: string | undefined;
289
+ taxExempt?: boolean | undefined;
290
+ taxExemptionId?: string | undefined;
291
+ businessType?: "individual" | "business" | "non-profit" | undefined;
292
+ vatNumber?: string | undefined;
293
+ isWholesale?: boolean | undefined;
294
+ isVip?: boolean | undefined;
295
+ };
296
+ dates: {
297
+ createdAt: string;
298
+ updatedAt: string;
299
+ lastOrderAt?: string | undefined;
300
+ lastLoginAt?: string | undefined;
301
+ verifiedAt?: string | undefined;
302
+ };
303
+ acceptsMarketing: boolean;
304
+ company?: string | undefined;
305
+ phone?: string | undefined;
306
+ customFields?: Record<string, unknown> | undefined;
307
+ notes?: string | undefined;
308
+ tags?: string[] | undefined;
309
+ tier?: string | undefined;
310
+ phones?: {
311
+ number: string;
312
+ type?: "mobile" | "home" | "work" | "fax" | "other" | undefined;
313
+ countryCode?: string | undefined;
314
+ extension?: string | undefined;
315
+ }[] | undefined;
316
+ defaultBillingAddressId?: string | undefined;
317
+ defaultShippingAddressId?: string | undefined;
318
+ addresses?: {
319
+ street1: string;
320
+ city: string;
321
+ postalCode: string;
322
+ country: string;
323
+ type?: "billing" | "shipping" | "both" | undefined;
324
+ street2?: string | undefined;
325
+ street3?: string | undefined;
326
+ state?: string | undefined;
327
+ stateCode?: string | undefined;
328
+ countryCode?: "US" | "CA" | "GB" | "AU" | "NZ" | "DE" | "FR" | "IT" | "ES" | "NL" | "BE" | "CH" | "AT" | "SE" | "NO" | "DK" | "FI" | "IE" | "PT" | "PL" | "CZ" | "JP" | "CN" | "IN" | "SG" | "HK" | "MX" | "BR" | "ZA" | undefined;
329
+ company?: string | undefined;
330
+ firstName?: string | undefined;
331
+ lastName?: string | undefined;
332
+ phone?: string | undefined;
333
+ email?: string | undefined;
334
+ isDefault?: boolean | undefined;
335
+ isResidential?: boolean | undefined;
336
+ isValidated?: boolean | undefined;
337
+ validationSource?: string | undefined;
338
+ id?: string | undefined;
339
+ label?: string | undefined;
340
+ }[] | undefined;
341
+ isVerified?: boolean | undefined;
342
+ acceptsSms?: boolean | undefined;
343
+ stats?: {
344
+ totalOrders: number;
345
+ totalSpent: {
346
+ amount: number;
347
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
348
+ };
349
+ averageOrderValue: {
350
+ amount: number;
351
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
352
+ };
353
+ lastOrderValue?: {
354
+ amount: number;
355
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
356
+ } | undefined;
357
+ lifetimeValue?: {
358
+ amount: number;
359
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
360
+ } | undefined;
361
+ } | undefined;
362
+ groups?: {
363
+ id: string;
364
+ name: string;
365
+ type?: "custom" | "tier" | "segment" | "category" | undefined;
366
+ }[] | undefined;
367
+ preferences?: {
368
+ currency?: string | undefined;
369
+ language?: string | undefined;
370
+ timezone?: string | undefined;
371
+ communicationPreferences?: {
372
+ push?: boolean | undefined;
373
+ phone?: boolean | undefined;
374
+ email?: boolean | undefined;
375
+ sms?: boolean | undefined;
376
+ } | undefined;
377
+ } | undefined;
378
+ internalNotes?: string | undefined;
379
+ }>;
380
+ readonly INVENTORY: import("@tonytang99/integration-core").SlotKey<{
381
+ sku: string;
382
+ tracked: boolean;
383
+ metadata: {
384
+ source: string;
385
+ sourceId?: string | undefined;
386
+ externalIds?: Record<string, string> | undefined;
387
+ isDiscontinued?: boolean | undefined;
388
+ isPerishable?: boolean | undefined;
389
+ expiryDate?: string | undefined;
390
+ };
391
+ totals: {
392
+ available: number;
393
+ onHand: number;
394
+ reserved: number;
395
+ incoming: number;
396
+ damaged?: number | undefined;
397
+ inTransit?: number | undefined;
398
+ };
399
+ dates: {
400
+ updatedAt: string;
401
+ lastCounted?: string | undefined;
402
+ lastSold?: string | undefined;
403
+ lastReceived?: string | undefined;
404
+ };
405
+ locations: {
406
+ sku: string;
407
+ location: {
408
+ code: string;
409
+ type: "warehouse" | "store" | "supplier" | "dropship" | "virtual" | "consignment" | "transit";
410
+ id: string;
411
+ name: string;
412
+ metadata?: Record<string, unknown> | undefined;
413
+ timezone?: string | undefined;
414
+ address?: {
415
+ street1: string;
416
+ city: string;
417
+ postalCode: string;
418
+ country: string;
419
+ type?: "billing" | "shipping" | "both" | undefined;
420
+ street2?: string | undefined;
421
+ street3?: string | undefined;
422
+ state?: string | undefined;
423
+ stateCode?: string | undefined;
424
+ countryCode?: "US" | "CA" | "GB" | "AU" | "NZ" | "DE" | "FR" | "IT" | "ES" | "NL" | "BE" | "CH" | "AT" | "SE" | "NO" | "DK" | "FI" | "IE" | "PT" | "PL" | "CZ" | "JP" | "CN" | "IN" | "SG" | "HK" | "MX" | "BR" | "ZA" | undefined;
425
+ company?: string | undefined;
426
+ firstName?: string | undefined;
427
+ lastName?: string | undefined;
428
+ phone?: string | undefined;
429
+ email?: string | undefined;
430
+ isDefault?: boolean | undefined;
431
+ isResidential?: boolean | undefined;
432
+ isValidated?: boolean | undefined;
433
+ validationSource?: string | undefined;
434
+ } | undefined;
435
+ contactName?: string | undefined;
436
+ contactPhone?: string | undefined;
437
+ contactEmail?: string | undefined;
438
+ isActive?: boolean | undefined;
439
+ isFulfillmentCenter?: boolean | undefined;
440
+ priority?: number | undefined;
441
+ };
442
+ quantityOnHand: number;
443
+ quantityReserved: number;
444
+ quantityAvailable: number;
445
+ quantityIncoming: number;
446
+ customFields?: Record<string, unknown> | undefined;
447
+ quantityDamaged?: number | undefined;
448
+ quantityInTransit?: number | undefined;
449
+ reorderPoint?: number | undefined;
450
+ reorderQuantity?: number | undefined;
451
+ maxQuantity?: number | undefined;
452
+ unitCost?: {
453
+ amount: number;
454
+ currency: string;
455
+ } | undefined;
456
+ lastCounted?: string | undefined;
457
+ lastAdjusted?: string | undefined;
458
+ lastMovement?: string | undefined;
459
+ binLocation?: string | undefined;
460
+ }[];
461
+ allowBackorder?: boolean | undefined;
462
+ productId?: string | undefined;
463
+ productName?: string | undefined;
464
+ allowNegative?: boolean | undefined;
465
+ thresholds?: {
466
+ lowStock?: number | undefined;
467
+ outOfStock?: number | undefined;
468
+ } | undefined;
469
+ recentMovements?: {
470
+ type: "sale" | "return" | "adjustment" | "damage" | "shrinkage" | "receipt" | "transfer" | "production" | "sample" | "promotion" | "cycle_count";
471
+ id: string;
472
+ sku: string;
473
+ quantity: number;
474
+ location: {
475
+ code: string;
476
+ type: "warehouse" | "store" | "supplier" | "dropship" | "virtual" | "consignment" | "transit";
477
+ id: string;
478
+ name: string;
479
+ metadata?: Record<string, unknown> | undefined;
480
+ timezone?: string | undefined;
481
+ address?: {
482
+ street1: string;
483
+ city: string;
484
+ postalCode: string;
485
+ country: string;
486
+ type?: "billing" | "shipping" | "both" | undefined;
487
+ street2?: string | undefined;
488
+ street3?: string | undefined;
489
+ state?: string | undefined;
490
+ stateCode?: string | undefined;
491
+ countryCode?: "US" | "CA" | "GB" | "AU" | "NZ" | "DE" | "FR" | "IT" | "ES" | "NL" | "BE" | "CH" | "AT" | "SE" | "NO" | "DK" | "FI" | "IE" | "PT" | "PL" | "CZ" | "JP" | "CN" | "IN" | "SG" | "HK" | "MX" | "BR" | "ZA" | undefined;
492
+ company?: string | undefined;
493
+ firstName?: string | undefined;
494
+ lastName?: string | undefined;
495
+ phone?: string | undefined;
496
+ email?: string | undefined;
497
+ isDefault?: boolean | undefined;
498
+ isResidential?: boolean | undefined;
499
+ isValidated?: boolean | undefined;
500
+ validationSource?: string | undefined;
501
+ } | undefined;
502
+ contactName?: string | undefined;
503
+ contactPhone?: string | undefined;
504
+ contactEmail?: string | undefined;
505
+ isActive?: boolean | undefined;
506
+ isFulfillmentCenter?: boolean | undefined;
507
+ priority?: number | undefined;
508
+ };
509
+ performedAt: string;
510
+ notes?: string | undefined;
511
+ orderId?: string | undefined;
512
+ purchaseOrderId?: string | undefined;
513
+ transferId?: string | undefined;
514
+ adjustmentReason?: string | undefined;
515
+ performedBy?: string | undefined;
516
+ quantityBefore?: number | undefined;
517
+ quantityAfter?: number | undefined;
518
+ }[] | undefined;
519
+ }>;
520
+ readonly ENRICHMENT_INVENTORY: import("@tonytang99/integration-core").SlotKey<{
521
+ available: number;
522
+ sku: string;
523
+ reserved: number;
524
+ incoming: number;
525
+ fetchedAt: Date;
526
+ locations?: {
527
+ name: string;
528
+ quantity: number;
529
+ locationId?: string | undefined;
530
+ }[] | undefined;
531
+ }>;
532
+ readonly ENRICHMENT_PRICING: import("@tonytang99/integration-core").SlotKey<{
533
+ sku: string;
534
+ fetchedAt: Date;
535
+ retailPrice: {
536
+ amount: number;
537
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
538
+ };
539
+ costPrice?: {
540
+ amount: number;
541
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
542
+ } | undefined;
543
+ salePrice?: {
544
+ amount: number;
545
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
546
+ } | undefined;
547
+ mapPrice?: {
548
+ amount: number;
549
+ currency: "USD" | "EUR" | "GBP" | "AUD" | "CAD" | "NZD" | "JPY" | "CNY" | "INR" | "SGD" | "HKD" | "MXN" | "BRL" | "ZAR";
550
+ } | undefined;
551
+ margin?: number | undefined;
552
+ markupPercentage?: number | undefined;
553
+ priceRules?: {
554
+ type: "percent" | "fixed";
555
+ name: string;
556
+ discount: number;
557
+ customerGroup?: string | undefined;
558
+ }[] | undefined;
559
+ }>;
560
+ readonly ENRICHMENT_CATEGORIES: import("@tonytang99/integration-core").SlotKey<{
561
+ categories: {
562
+ path: string[];
563
+ id: string;
564
+ name: string;
565
+ level: number;
566
+ code?: string | undefined;
567
+ }[];
568
+ fetchedAt: Date;
569
+ primaryCategory?: string | undefined;
570
+ }>;
571
+ };
572
+ //# sourceMappingURL=slots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slots.d.ts","sourceRoot":"","sources":["../src/slots.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAejB,CAAC"}
package/dist/slots.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CanonicalSlots = void 0;
4
+ const integration_core_1 = require("@tonytang99/integration-core");
5
+ exports.CanonicalSlots = {
6
+ // ─────────────────────────────────────
7
+ // CANONICAL ENTITIES
8
+ // ─────────────────────────────────────
9
+ PRODUCT: (0, integration_core_1.createSlotKey)('canonical.product'),
10
+ ORDER: (0, integration_core_1.createSlotKey)('canonical.order'),
11
+ CUSTOMER: (0, integration_core_1.createSlotKey)('canonical.customer'),
12
+ INVENTORY: (0, integration_core_1.createSlotKey)('canonical.inventory'),
13
+ // ─────────────────────────────────────
14
+ // ENRICHMENTS
15
+ // ─────────────────────────────────────
16
+ ENRICHMENT_INVENTORY: (0, integration_core_1.createSlotKey)('enrichment.inventory'),
17
+ ENRICHMENT_PRICING: (0, integration_core_1.createSlotKey)('enrichment.pricing'),
18
+ ENRICHMENT_CATEGORIES: (0, integration_core_1.createSlotKey)('enrichment.categories'),
19
+ };
20
+ //# sourceMappingURL=slots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slots.js","sourceRoot":"","sources":["../src/slots.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAahD,QAAA,cAAc,GAAG;IAC5B,wCAAwC;IACxC,qBAAqB;IACrB,wCAAwC;IACxC,OAAO,EAAE,IAAA,gCAAa,EAAmB,mBAAmB,CAAC;IAC7D,KAAK,EAAE,IAAA,gCAAa,EAAiB,iBAAiB,CAAC;IACvD,QAAQ,EAAE,IAAA,gCAAa,EAAoB,oBAAoB,CAAC;IAChE,SAAS,EAAE,IAAA,gCAAa,EAAqB,qBAAqB,CAAC;IAEnE,wCAAwC;IACxC,cAAc;IACd,wCAAwC;IACxC,oBAAoB,EAAE,IAAA,gCAAa,EAAsB,sBAAsB,CAAC;IAChF,kBAAkB,EAAE,IAAA,gCAAa,EAAoB,oBAAoB,CAAC;IAC1E,qBAAqB,EAAE,IAAA,gCAAa,EAAqB,uBAAuB,CAAC;CACzE,CAAC"}