@endora-commerce/contracts 0.100.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 (327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +34 -0
  3. package/dist/actor.d.ts +79 -0
  4. package/dist/actor.d.ts.map +1 -0
  5. package/dist/actor.js +41 -0
  6. package/dist/actor.js.map +1 -0
  7. package/dist/addresses.d.ts +134 -0
  8. package/dist/addresses.d.ts.map +1 -0
  9. package/dist/addresses.js +16 -0
  10. package/dist/addresses.js.map +1 -0
  11. package/dist/admin-actions.d.ts +367 -0
  12. package/dist/admin-actions.d.ts.map +1 -0
  13. package/dist/admin-actions.js +287 -0
  14. package/dist/admin-actions.js.map +1 -0
  15. package/dist/admin-contributions.d.ts +518 -0
  16. package/dist/admin-contributions.d.ts.map +1 -0
  17. package/dist/admin-contributions.js +495 -0
  18. package/dist/admin-contributions.js.map +1 -0
  19. package/dist/admin-i18n.d.ts +135 -0
  20. package/dist/admin-i18n.d.ts.map +1 -0
  21. package/dist/admin-i18n.js +72 -0
  22. package/dist/admin-i18n.js.map +1 -0
  23. package/dist/admin-notifications.d.ts +55 -0
  24. package/dist/admin-notifications.d.ts.map +1 -0
  25. package/dist/admin-notifications.js +16 -0
  26. package/dist/admin-notifications.js.map +1 -0
  27. package/dist/admin-roles.d.ts +125 -0
  28. package/dist/admin-roles.d.ts.map +1 -0
  29. package/dist/admin-roles.js +2 -0
  30. package/dist/admin-roles.js.map +1 -0
  31. package/dist/admin-users.d.ts +178 -0
  32. package/dist/admin-users.d.ts.map +1 -0
  33. package/dist/admin-users.js +14 -0
  34. package/dist/admin-users.js.map +1 -0
  35. package/dist/admin.d.ts +243 -0
  36. package/dist/admin.d.ts.map +1 -0
  37. package/dist/admin.js +246 -0
  38. package/dist/admin.js.map +1 -0
  39. package/dist/analytics.d.ts +123 -0
  40. package/dist/analytics.d.ts.map +1 -0
  41. package/dist/analytics.js +68 -0
  42. package/dist/analytics.js.map +1 -0
  43. package/dist/api-keys.d.ts +97 -0
  44. package/dist/api-keys.d.ts.map +1 -0
  45. package/dist/api-keys.js +64 -0
  46. package/dist/api-keys.js.map +1 -0
  47. package/dist/assets-library.d.ts +684 -0
  48. package/dist/assets-library.d.ts.map +1 -0
  49. package/dist/assets-library.js +181 -0
  50. package/dist/assets-library.js.map +1 -0
  51. package/dist/audit-logs.d.ts +141 -0
  52. package/dist/audit-logs.d.ts.map +1 -0
  53. package/dist/audit-logs.js +31 -0
  54. package/dist/audit-logs.js.map +1 -0
  55. package/dist/auth.d.ts +174 -0
  56. package/dist/auth.d.ts.map +1 -0
  57. package/dist/auth.js +27 -0
  58. package/dist/auth.js.map +1 -0
  59. package/dist/blog.d.ts +669 -0
  60. package/dist/blog.d.ts.map +1 -0
  61. package/dist/blog.js +360 -0
  62. package/dist/blog.js.map +1 -0
  63. package/dist/capabilities.d.ts +40 -0
  64. package/dist/capabilities.d.ts.map +1 -0
  65. package/dist/capabilities.js +38 -0
  66. package/dist/capabilities.js.map +1 -0
  67. package/dist/carts.d.ts +1367 -0
  68. package/dist/carts.d.ts.map +1 -0
  69. package/dist/carts.js +405 -0
  70. package/dist/carts.js.map +1 -0
  71. package/dist/catalog.d.ts +2855 -0
  72. package/dist/catalog.d.ts.map +1 -0
  73. package/dist/catalog.js +1543 -0
  74. package/dist/catalog.js.map +1 -0
  75. package/dist/cms.d.ts +872 -0
  76. package/dist/cms.d.ts.map +1 -0
  77. package/dist/cms.js +468 -0
  78. package/dist/cms.js.map +1 -0
  79. package/dist/common.d.ts +82 -0
  80. package/dist/common.d.ts.map +1 -0
  81. package/dist/common.js +72 -0
  82. package/dist/common.js.map +1 -0
  83. package/dist/comparisons.d.ts +487 -0
  84. package/dist/comparisons.d.ts.map +1 -0
  85. package/dist/comparisons.js +221 -0
  86. package/dist/comparisons.js.map +1 -0
  87. package/dist/credentials.d.ts +292 -0
  88. package/dist/credentials.d.ts.map +1 -0
  89. package/dist/credentials.js +142 -0
  90. package/dist/credentials.js.map +1 -0
  91. package/dist/credit-limits.d.ts +111 -0
  92. package/dist/credit-limits.d.ts.map +1 -0
  93. package/dist/credit-limits.js +35 -0
  94. package/dist/credit-limits.js.map +1 -0
  95. package/dist/currencies.d.ts +127 -0
  96. package/dist/currencies.d.ts.map +1 -0
  97. package/dist/currencies.js +20 -0
  98. package/dist/currencies.js.map +1 -0
  99. package/dist/custom-fields.d.ts +345 -0
  100. package/dist/custom-fields.d.ts.map +1 -0
  101. package/dist/custom-fields.js +185 -0
  102. package/dist/custom-fields.js.map +1 -0
  103. package/dist/customer-accounts.d.ts +690 -0
  104. package/dist/customer-accounts.d.ts.map +1 -0
  105. package/dist/customer-accounts.js +41 -0
  106. package/dist/customer-accounts.js.map +1 -0
  107. package/dist/customers.d.ts +305 -0
  108. package/dist/customers.d.ts.map +1 -0
  109. package/dist/customers.js +158 -0
  110. package/dist/customers.js.map +1 -0
  111. package/dist/dictionary.d.ts +580 -0
  112. package/dist/dictionary.d.ts.map +1 -0
  113. package/dist/dictionary.js +297 -0
  114. package/dist/dictionary.js.map +1 -0
  115. package/dist/email-address.d.ts +62 -0
  116. package/dist/email-address.d.ts.map +1 -0
  117. package/dist/email-address.js +64 -0
  118. package/dist/email-address.js.map +1 -0
  119. package/dist/email.d.ts +175 -0
  120. package/dist/email.d.ts.map +1 -0
  121. package/dist/email.js +45 -0
  122. package/dist/email.js.map +1 -0
  123. package/dist/envelopes.d.ts +15 -0
  124. package/dist/envelopes.d.ts.map +1 -0
  125. package/dist/envelopes.js +16 -0
  126. package/dist/envelopes.js.map +1 -0
  127. package/dist/environment-inputs.d.ts +306 -0
  128. package/dist/environment-inputs.d.ts.map +1 -0
  129. package/dist/environment-inputs.js +277 -0
  130. package/dist/environment-inputs.js.map +1 -0
  131. package/dist/erp-connector.d.ts +52 -0
  132. package/dist/erp-connector.d.ts.map +1 -0
  133. package/dist/erp-connector.js +34 -0
  134. package/dist/erp-connector.js.map +1 -0
  135. package/dist/errors.d.ts +455 -0
  136. package/dist/errors.d.ts.map +1 -0
  137. package/dist/errors.js +532 -0
  138. package/dist/errors.js.map +1 -0
  139. package/dist/google-analytics.d.ts +181 -0
  140. package/dist/google-analytics.d.ts.map +1 -0
  141. package/dist/google-analytics.js +176 -0
  142. package/dist/google-analytics.js.map +1 -0
  143. package/dist/google-tag-manager.d.ts +111 -0
  144. package/dist/google-tag-manager.d.ts.map +1 -0
  145. package/dist/google-tag-manager.js +129 -0
  146. package/dist/google-tag-manager.js.map +1 -0
  147. package/dist/i18n.d.ts +69 -0
  148. package/dist/i18n.d.ts.map +1 -0
  149. package/dist/i18n.js +59 -0
  150. package/dist/i18n.js.map +1 -0
  151. package/dist/import-export.d.ts +63 -0
  152. package/dist/import-export.d.ts.map +1 -0
  153. package/dist/import-export.js +37 -0
  154. package/dist/import-export.js.map +1 -0
  155. package/dist/index.d.ts +82 -0
  156. package/dist/index.d.ts.map +1 -0
  157. package/dist/index.js +126 -0
  158. package/dist/index.js.map +1 -0
  159. package/dist/inventory.d.ts +673 -0
  160. package/dist/inventory.d.ts.map +1 -0
  161. package/dist/inventory.js +412 -0
  162. package/dist/inventory.js.map +1 -0
  163. package/dist/invoice-ledger.d.ts +366 -0
  164. package/dist/invoice-ledger.d.ts.map +1 -0
  165. package/dist/invoice-ledger.js +114 -0
  166. package/dist/invoice-ledger.js.map +1 -0
  167. package/dist/invoices.d.ts +845 -0
  168. package/dist/invoices.d.ts.map +1 -0
  169. package/dist/invoices.js +314 -0
  170. package/dist/invoices.js.map +1 -0
  171. package/dist/kernel.d.ts +49 -0
  172. package/dist/kernel.d.ts.map +1 -0
  173. package/dist/kernel.js +19 -0
  174. package/dist/kernel.js.map +1 -0
  175. package/dist/languages.d.ts +122 -0
  176. package/dist/languages.d.ts.map +1 -0
  177. package/dist/languages.js +24 -0
  178. package/dist/languages.js.map +1 -0
  179. package/dist/linkedin-ads.d.ts +167 -0
  180. package/dist/linkedin-ads.d.ts.map +1 -0
  181. package/dist/linkedin-ads.js +156 -0
  182. package/dist/linkedin-ads.js.map +1 -0
  183. package/dist/megamenu.d.ts +556 -0
  184. package/dist/megamenu.d.ts.map +1 -0
  185. package/dist/megamenu.js +186 -0
  186. package/dist/megamenu.js.map +1 -0
  187. package/dist/meta-ads.d.ts +126 -0
  188. package/dist/meta-ads.d.ts.map +1 -0
  189. package/dist/meta-ads.js +112 -0
  190. package/dist/meta-ads.js.map +1 -0
  191. package/dist/mfa.d.ts +274 -0
  192. package/dist/mfa.d.ts.map +1 -0
  193. package/dist/mfa.js +187 -0
  194. package/dist/mfa.js.map +1 -0
  195. package/dist/modules.d.ts +1706 -0
  196. package/dist/modules.d.ts.map +1 -0
  197. package/dist/modules.js +1390 -0
  198. package/dist/modules.js.map +1 -0
  199. package/dist/newsletter.d.ts +611 -0
  200. package/dist/newsletter.d.ts.map +1 -0
  201. package/dist/newsletter.js +345 -0
  202. package/dist/newsletter.js.map +1 -0
  203. package/dist/orders.d.ts +1175 -0
  204. package/dist/orders.d.ts.map +1 -0
  205. package/dist/orders.js +630 -0
  206. package/dist/orders.js.map +1 -0
  207. package/dist/organizations.d.ts +938 -0
  208. package/dist/organizations.d.ts.map +1 -0
  209. package/dist/organizations.js +418 -0
  210. package/dist/organizations.js.map +1 -0
  211. package/dist/pagination.d.ts +21 -0
  212. package/dist/pagination.d.ts.map +1 -0
  213. package/dist/pagination.js +22 -0
  214. package/dist/pagination.js.map +1 -0
  215. package/dist/payment-methods.d.ts +472 -0
  216. package/dist/payment-methods.d.ts.map +1 -0
  217. package/dist/payment-methods.js +175 -0
  218. package/dist/payment-methods.js.map +1 -0
  219. package/dist/payment-return-url.d.ts +53 -0
  220. package/dist/payment-return-url.d.ts.map +1 -0
  221. package/dist/payment-return-url.js +35 -0
  222. package/dist/payment-return-url.js.map +1 -0
  223. package/dist/payments.d.ts +386 -0
  224. package/dist/payments.d.ts.map +1 -0
  225. package/dist/payments.js +84 -0
  226. package/dist/payments.js.map +1 -0
  227. package/dist/pim-connector.d.ts +60 -0
  228. package/dist/pim-connector.d.ts.map +1 -0
  229. package/dist/pim-connector.js +43 -0
  230. package/dist/pim-connector.js.map +1 -0
  231. package/dist/pim-field-path.d.ts +6 -0
  232. package/dist/pim-field-path.d.ts.map +1 -0
  233. package/dist/pim-field-path.js +101 -0
  234. package/dist/pim-field-path.js.map +1 -0
  235. package/dist/platform-language.d.ts +20 -0
  236. package/dist/platform-language.d.ts.map +1 -0
  237. package/dist/platform-language.js +22 -0
  238. package/dist/platform-language.js.map +1 -0
  239. package/dist/price-lists.d.ts +685 -0
  240. package/dist/price-lists.d.ts.map +1 -0
  241. package/dist/price-lists.js +330 -0
  242. package/dist/price-lists.js.map +1 -0
  243. package/dist/product-feeds.d.ts +2837 -0
  244. package/dist/product-feeds.d.ts.map +1 -0
  245. package/dist/product-feeds.js +1504 -0
  246. package/dist/product-feeds.js.map +1 -0
  247. package/dist/product-scope-overrides.d.ts +134 -0
  248. package/dist/product-scope-overrides.d.ts.map +1 -0
  249. package/dist/product-scope-overrides.js +82 -0
  250. package/dist/product-scope-overrides.js.map +1 -0
  251. package/dist/product-value-resolver.d.ts +88 -0
  252. package/dist/product-value-resolver.d.ts.map +1 -0
  253. package/dist/product-value-resolver.js +128 -0
  254. package/dist/product-value-resolver.js.map +1 -0
  255. package/dist/promotions.d.ts +678 -0
  256. package/dist/promotions.d.ts.map +1 -0
  257. package/dist/promotions.js +479 -0
  258. package/dist/promotions.js.map +1 -0
  259. package/dist/prompt-actions.d.ts +582 -0
  260. package/dist/prompt-actions.d.ts.map +1 -0
  261. package/dist/prompt-actions.js +221 -0
  262. package/dist/prompt-actions.js.map +1 -0
  263. package/dist/pwa.d.ts +293 -0
  264. package/dist/pwa.d.ts.map +1 -0
  265. package/dist/pwa.js +204 -0
  266. package/dist/pwa.js.map +1 -0
  267. package/dist/quick-order.d.ts +340 -0
  268. package/dist/quick-order.d.ts.map +1 -0
  269. package/dist/quick-order.js +177 -0
  270. package/dist/quick-order.js.map +1 -0
  271. package/dist/quote-requests.d.ts +538 -0
  272. package/dist/quote-requests.d.ts.map +1 -0
  273. package/dist/quote-requests.js +308 -0
  274. package/dist/quote-requests.js.map +1 -0
  275. package/dist/returns.d.ts +774 -0
  276. package/dist/returns.d.ts.map +1 -0
  277. package/dist/returns.js +389 -0
  278. package/dist/returns.js.map +1 -0
  279. package/dist/sales-channels.d.ts +392 -0
  280. package/dist/sales-channels.d.ts.map +1 -0
  281. package/dist/sales-channels.js +285 -0
  282. package/dist/sales-channels.js.map +1 -0
  283. package/dist/scope-notice.d.ts +60 -0
  284. package/dist/scope-notice.d.ts.map +1 -0
  285. package/dist/scope-notice.js +56 -0
  286. package/dist/scope-notice.js.map +1 -0
  287. package/dist/search.d.ts +321 -0
  288. package/dist/search.d.ts.map +1 -0
  289. package/dist/search.js +160 -0
  290. package/dist/search.js.map +1 -0
  291. package/dist/seo.d.ts +113 -0
  292. package/dist/seo.d.ts.map +1 -0
  293. package/dist/seo.js +63 -0
  294. package/dist/seo.js.map +1 -0
  295. package/dist/settings.d.ts +453 -0
  296. package/dist/settings.d.ts.map +1 -0
  297. package/dist/settings.js +337 -0
  298. package/dist/settings.js.map +1 -0
  299. package/dist/shipments.d.ts +140 -0
  300. package/dist/shipments.d.ts.map +1 -0
  301. package/dist/shipments.js +14 -0
  302. package/dist/shipments.js.map +1 -0
  303. package/dist/shipping-methods.d.ts +350 -0
  304. package/dist/shipping-methods.d.ts.map +1 -0
  305. package/dist/shipping-methods.js +99 -0
  306. package/dist/shipping-methods.js.map +1 -0
  307. package/dist/shopping-lists.d.ts +122 -0
  308. package/dist/shopping-lists.d.ts.map +1 -0
  309. package/dist/shopping-lists.js +92 -0
  310. package/dist/shopping-lists.js.map +1 -0
  311. package/dist/taxes.d.ts +106 -0
  312. package/dist/taxes.d.ts.map +1 -0
  313. package/dist/taxes.js +80 -0
  314. package/dist/taxes.js.map +1 -0
  315. package/dist/text-normalization.d.ts +199 -0
  316. package/dist/text-normalization.d.ts.map +1 -0
  317. package/dist/text-normalization.js +205 -0
  318. package/dist/text-normalization.js.map +1 -0
  319. package/dist/transactional-emails.d.ts +459 -0
  320. package/dist/transactional-emails.d.ts.map +1 -0
  321. package/dist/transactional-emails.js +212 -0
  322. package/dist/transactional-emails.js.map +1 -0
  323. package/dist/webhooks.d.ts +69 -0
  324. package/dist/webhooks.d.ts.map +1 -0
  325. package/dist/webhooks.js +53 -0
  326. package/dist/webhooks.js.map +1 -0
  327. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price-lists.d.ts","sourceRoot":"","sources":["../src/price-lists.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,330 @@
1
+ import { z } from 'zod';
2
+ import { isoDateTimeSchema, moneySchema, uuidSchema } from './common.js';
3
+ /**
4
+ * Pricing contracts (feature 011 engine).
5
+ *
6
+ * Schemas: `priceListEngineSchema`, `applicationRuleSchema`,
7
+ * `priceListBracketSchema`, `displayModeSchema`, etc. Model the B2B
8
+ * pricing engine: multi-currency multi-bracket prices per product, an
9
+ * Application Rule tree (AND/OR over SC/CG/Org/Cat/Currency criteria),
10
+ * Base/Sale split, lifecycle status, and the four-level price-display
11
+ * mode chain.
12
+ *
13
+ * Legacy feature-014 schemas (`priceListItemSchema`,
14
+ * `priceListAssignmentSchema`, etc.) were retired by T011 alongside
15
+ * their entity files and admin endpoints.
16
+ */
17
+ const CURRENCY = z.string().regex(/^[A-Z]{3}$/, 'ISO 4217 currency code');
18
+ const POSITIVE_INT = z.number().int().positive();
19
+ const DECIMAL_STRING = z
20
+ .string()
21
+ .regex(/^\d+(\.\d{1,4})?$/, 'decimal as string with up to 4 fractional digits');
22
+ // --- Customer Group ---------------------------------------------------------
23
+ //
24
+ // The schemas, the record and the read port moved to `customer-accounts.ts`
25
+ // with the entity (feature 076, D-79): a customer group describes the customer,
26
+ // and a price list merely refers to one by id. Nothing here imports them back —
27
+ // `PriceListAssignment` and the rule-target types carry a `customerGroupId`
28
+ // string, never the record.
29
+ // =============================================================================
30
+ // FEATURE 011 — pricing-engine schemas
31
+ // =============================================================================
32
+ // --- Application Rule AST ---------------------------------------------------
33
+ export const ruleCriterionTypeSchema = z.enum([
34
+ 'salesChannel',
35
+ 'customerGroup',
36
+ 'organization',
37
+ 'category',
38
+ 'currency',
39
+ ]);
40
+ const ruleCriterionNodeSchema = z.object({
41
+ kind: z.literal('criterion'),
42
+ type: ruleCriterionTypeSchema,
43
+ values: z.array(z.string()).max(1000),
44
+ });
45
+ const ruleAllNodeSchema = z.object({ kind: z.literal('all') });
46
+ const ruleNodeSchema = z.lazy(() => z.discriminatedUnion('kind', [
47
+ ruleAllNodeSchema,
48
+ ruleCriterionNodeSchema,
49
+ z.object({
50
+ kind: z.literal('group'),
51
+ op: z.enum(['AND', 'OR']),
52
+ children: z.array(ruleNodeSchema).min(1).max(20),
53
+ }),
54
+ ]));
55
+ function ruleDepth(node) {
56
+ if (node.kind !== 'group')
57
+ return 0;
58
+ return 1 + Math.max(...node.children.map(ruleDepth));
59
+ }
60
+ export const applicationRuleSchema = ruleNodeSchema.refine((node) => ruleDepth(node) <= 5, { message: 'rule_depth_exceeds_5' });
61
+ // --- Price list (engine shape) ---------------------------------------------
62
+ export const priceListTypeSchema = z.enum(['base', 'sale']);
63
+ export const priceListStatusSchema = z.enum([
64
+ 'draft',
65
+ 'active',
66
+ 'scheduled',
67
+ 'expired',
68
+ ]);
69
+ export const priceListEngineSchema = z.object({
70
+ id: uuidSchema,
71
+ name: z.string().min(1).max(200),
72
+ type: priceListTypeSchema,
73
+ status: priceListStatusSchema,
74
+ startsAt: isoDateTimeSchema.nullable(),
75
+ endsAt: isoDateTimeSchema.nullable(),
76
+ applicationRule: applicationRuleSchema,
77
+ isSystem: z.boolean(),
78
+ modifiedAt: isoDateTimeSchema,
79
+ createdAt: isoDateTimeSchema,
80
+ });
81
+ export const createPriceListEngineRequestSchema = z.object({
82
+ name: z.string().min(1).max(200),
83
+ type: priceListTypeSchema,
84
+ startsAt: isoDateTimeSchema.nullable().optional(),
85
+ endsAt: isoDateTimeSchema.nullable().optional(),
86
+ applicationRule: applicationRuleSchema.optional(),
87
+ });
88
+ export const patchPriceListEngineRequestSchema = z
89
+ .object({
90
+ name: z.string().min(1).max(200).optional(),
91
+ type: priceListTypeSchema.optional(),
92
+ startsAt: isoDateTimeSchema.nullable().optional(),
93
+ endsAt: isoDateTimeSchema.nullable().optional(),
94
+ applicationRule: applicationRuleSchema.optional(),
95
+ })
96
+ .refine((v) => Object.keys(v).length > 0, { message: 'patch_body_empty' });
97
+ // --- Price brackets ---------------------------------------------------------
98
+ export const priceListBracketSchema = z.object({
99
+ priceListId: uuidSchema,
100
+ productId: uuidSchema,
101
+ currencyCode: CURRENCY,
102
+ minQuantity: POSITIVE_INT,
103
+ maxQuantity: POSITIVE_INT.nullable(),
104
+ amount: DECIMAL_STRING,
105
+ });
106
+ export const replaceBracketsRequestSchema = z.object({
107
+ bracketsByCurrency: z.record(CURRENCY, z.array(z.object({
108
+ minQuantity: POSITIVE_INT,
109
+ maxQuantity: POSITIVE_INT.nullable(),
110
+ amount: DECIMAL_STRING,
111
+ }))),
112
+ });
113
+ export const productAssignmentSchema = z.object({
114
+ priceListId: uuidSchema,
115
+ productId: uuidSchema,
116
+ bracketsByCurrency: z.record(CURRENCY, z.array(priceListBracketSchema)),
117
+ });
118
+ export const replaceProductsRequestSchema = z.object({
119
+ productIds: z.array(uuidSchema),
120
+ });
121
+ // --- Display modes ----------------------------------------------------------
122
+ export const displayModeSchema = z.enum([
123
+ 'gross_only',
124
+ 'net_only',
125
+ 'both',
126
+ 'none',
127
+ ]);
128
+ export const displayModeOverrideScopeSchema = z.enum([
129
+ 'organization',
130
+ 'category',
131
+ 'product',
132
+ ]);
133
+ export const displayModeOverrideSchema = z.object({
134
+ scope: displayModeOverrideScopeSchema,
135
+ targetId: uuidSchema,
136
+ mode: displayModeSchema,
137
+ updatedAt: isoDateTimeSchema,
138
+ });
139
+ export const upsertDisplayModeOverrideRequestSchema = z.object({
140
+ mode: displayModeSchema.or(z.literal('inherit')),
141
+ });
142
+ // --- Resolved price (storefront/cart consumer) ------------------------------
143
+ export const resolvedPriceEngineSchema = z.object({
144
+ baseListId: uuidSchema,
145
+ basePrice: moneySchema,
146
+ saleListId: uuidSchema.nullable(),
147
+ salePrice: moneySchema.nullable(),
148
+ displayMode: displayModeSchema,
149
+ currencyCode: CURRENCY,
150
+ quantityBracket: z.object({
151
+ minQuantity: POSITIVE_INT,
152
+ maxQuantity: POSITIVE_INT.nullable(),
153
+ }),
154
+ });
155
+ // --- Listing price (catalogue listing / search / compare / links) -----------
156
+ /**
157
+ * What a catalogue listing may show as a product's price — issue #132.
158
+ *
159
+ * There is always one default price list, so the first arm is the path a
160
+ * listing normally takes. The product ruling names the whole chain and this
161
+ * union is that chain, one arm each:
162
+ *
163
+ * `price_list` — an applicable list priced this product for this buyer;
164
+ * `product` — no list applied, so the price assigned directly to the
165
+ * Product stands in (the legacy `defaultPrice` attribute);
166
+ * `none` — neither exists, and the listing renders no price.
167
+ *
168
+ * The `none` arm carries **no `amount` field**, following the `ResolvedTax`
169
+ * precedent (issue #124): a listing showing nothing and a listing offering a
170
+ * free product are different pages, so a caller has to narrow on `source`
171
+ * before it can read a figure. A product priced at zero comes back as
172
+ * `{ source: 'price_list' | 'product', amount: '0.00' }` and renders as zero —
173
+ * `amount` is never a falsy sentinel for absence.
174
+ *
175
+ * As with `ResolvedTax`, "the `price_lists` module is absent" is deliberately
176
+ * not an arm: absence is not a value, and the port gate throws
177
+ * `MODULE_DISABLED` before a resolution runs.
178
+ */
179
+ export const listingPriceSchema = z.discriminatedUnion('source', [
180
+ z.object({
181
+ source: z.literal('price_list'),
182
+ amount: DECIMAL_STRING,
183
+ currency: CURRENCY,
184
+ priceListId: uuidSchema,
185
+ isSale: z.boolean(),
186
+ }),
187
+ z.object({
188
+ source: z.literal('product'),
189
+ amount: DECIMAL_STRING,
190
+ currency: CURRENCY,
191
+ }),
192
+ z.object({ source: z.literal('none') }),
193
+ ]);
194
+ /**
195
+ * The money a listing renders for one resolved chain answer, or `null` when the
196
+ * chain ended in `none`.
197
+ *
198
+ * The narrowing is the point: `null` here means "there is no price", which the
199
+ * `ProductSummary.price` wire field already spells `null`. A resolved `0` comes
200
+ * back as `{ amount: 0 }` and survives every caller, because nothing on this
201
+ * path tests an amount for truthiness.
202
+ */
203
+ export function listingPriceMoney(price) {
204
+ if (price.source === 'none')
205
+ return null;
206
+ const amount = Number(price.amount);
207
+ return Number.isFinite(amount) ? { amount, currency: price.currency } : null;
208
+ }
209
+ // --- Settings keys (also exposed via the settings manifest) -----------------
210
+ export const PRICING_SETTING_CODES = {
211
+ DEFAULT_DISPLAY_MODE: 'pricing.default_display_mode',
212
+ UNAUTHENTICATED_DISPLAY_MODE: 'pricing.unauthenticated_display_mode',
213
+ };
214
+ const NO_EXPLICIT = new Set();
215
+ /**
216
+ * Pure rule evaluator (feature 011 / FR-022, FR-023, FR-026, FR-029).
217
+ *
218
+ * Walks the discriminated-union AST and returns:
219
+ * - `matched`: the overall AST truth value against the resolution context.
220
+ * - `explicitOn`: the criterion types that contributed to the match AND had
221
+ * non-empty value lists. The resolver's priority chain consults this to
222
+ * award the per-step boost (FR-026 steps 1..4).
223
+ *
224
+ * Notes:
225
+ * - The `category` criterion is product-driven (FR-029): it matches when the
226
+ * product belongs to any category named in the rule's value list.
227
+ * - The `currency` criterion never appears in the priority chain even when
228
+ * explicit; it is purely a matching criterion.
229
+ * - `{ kind: 'all' }` and any criterion with `values: []` are treated as
230
+ * always-true and contribute nothing to `explicitOn` (FR-022).
231
+ */
232
+ export function evaluateApplicationRule(rule, ctx) {
233
+ if (rule.kind === 'all') {
234
+ return { matched: true, explicitOn: NO_EXPLICIT };
235
+ }
236
+ if (rule.kind === 'criterion') {
237
+ if (rule.values.length === 0) {
238
+ return { matched: true, explicitOn: NO_EXPLICIT };
239
+ }
240
+ if (rule.type === 'organization') {
241
+ const rank = organizationMatchRank(rule.values, ctx);
242
+ if (rank === undefined)
243
+ return { matched: false, explicitOn: NO_EXPLICIT };
244
+ return { matched: true, explicitOn: new Set(['organization']), organizationRank: rank };
245
+ }
246
+ const matched = matchesCriterion(rule.type, rule.values, ctx);
247
+ return {
248
+ matched,
249
+ explicitOn: matched ? new Set([rule.type]) : NO_EXPLICIT,
250
+ };
251
+ }
252
+ // group node
253
+ if (rule.children.length === 0) {
254
+ // defensive — schema disallows, but evaluate as always-true (empty AND/OR)
255
+ return { matched: true, explicitOn: NO_EXPLICIT };
256
+ }
257
+ const childEvaluations = rule.children.map((c) => evaluateApplicationRule(c, ctx));
258
+ if (rule.op === 'AND') {
259
+ const allMatch = childEvaluations.every((e) => e.matched);
260
+ if (!allMatch)
261
+ return { matched: false, explicitOn: NO_EXPLICIT };
262
+ return {
263
+ matched: true,
264
+ explicitOn: unionExplicit(childEvaluations),
265
+ ...withRank(minRank(childEvaluations)),
266
+ };
267
+ }
268
+ // OR
269
+ const matchingChildren = childEvaluations.filter((e) => e.matched);
270
+ if (matchingChildren.length === 0)
271
+ return { matched: false, explicitOn: NO_EXPLICIT };
272
+ // Only matching children contribute to the explicit set + nearness rank.
273
+ return {
274
+ matched: true,
275
+ explicitOn: unionExplicit(matchingChildren),
276
+ ...withRank(minRank(matchingChildren)),
277
+ };
278
+ }
279
+ /**
280
+ * The nearness rank of the nearest org (in `ctx.organizationChain`, else
281
+ * `[organizationId]`) named by `values`, or `undefined` when none match.
282
+ */
283
+ function organizationMatchRank(values, ctx) {
284
+ const chain = ctx.organizationChain && ctx.organizationChain.length > 0
285
+ ? ctx.organizationChain
286
+ : ctx.organizationId !== null
287
+ ? [ctx.organizationId]
288
+ : [];
289
+ const valueSet = new Set(values);
290
+ for (let i = 0; i < chain.length; i += 1) {
291
+ if (valueSet.has(chain[i]))
292
+ return i; // nearest-first → first hit is the nearest
293
+ }
294
+ return undefined;
295
+ }
296
+ function minRank(evaluations) {
297
+ let min;
298
+ for (const e of evaluations) {
299
+ if (e.organizationRank !== undefined && (min === undefined || e.organizationRank < min)) {
300
+ min = e.organizationRank;
301
+ }
302
+ }
303
+ return min;
304
+ }
305
+ function withRank(rank) {
306
+ return rank === undefined ? {} : { organizationRank: rank };
307
+ }
308
+ function matchesCriterion(type, values, ctx) {
309
+ switch (type) {
310
+ case 'salesChannel':
311
+ return values.includes(ctx.salesChannelId);
312
+ case 'organization':
313
+ return organizationMatchRank(values, ctx) !== undefined;
314
+ case 'customerGroup':
315
+ return ctx.customerGroupId !== null && values.includes(ctx.customerGroupId);
316
+ case 'category':
317
+ return values.some((c) => ctx.productCategoryIds.has(c));
318
+ case 'currency':
319
+ return values.includes(ctx.currencyCode);
320
+ }
321
+ }
322
+ function unionExplicit(evaluations) {
323
+ const out = new Set();
324
+ for (const e of evaluations) {
325
+ for (const t of e.explicitOn)
326
+ out.add(t);
327
+ }
328
+ return out;
329
+ }
330
+ //# sourceMappingURL=price-lists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price-lists.js","sourceRoot":"","sources":["../src/price-lists.ts"],"names":[],"mappings":"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"}