@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":"organizations.d.ts","sourceRoot":"","sources":["../src/organizations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,418 @@
1
+ import { z } from 'zod';
2
+ import { addressSnapshotSchema, isoDateTimeSchema, organizationRoleSchema, uuidSchema, } from './common.js';
3
+ import { fulfilmentStrategySchema } from './inventory.js';
4
+ import { foldDiacritics } from './text-normalization.js';
5
+ /**
6
+ * Organizations, customer accounts, addresses, invitations — Source of truth
7
+ * per Principle V. Drives US2 + US3.
8
+ * See specs/001-b2b-platform-foundation/contracts/organizations.contract.md.
9
+ */
10
+ // --- Primitives --------------------------------------------------------------
11
+ /**
12
+ * Organization lifecycle status (feature 026 consolidation).
13
+ *
14
+ * - `pending_verification` — newly registered, blocks transactions until
15
+ * moderator approves (manual moderation mode) or auto-activated.
16
+ * - `active` — may transact normally.
17
+ * - `blocked` — operator-blocked (replaces the legacy `suspended`); the
18
+ * Organization cannot place Orders or Quote Requests; reversible.
19
+ * - `rejected` — moderator rejected at registration; terminal.
20
+ */
21
+ export const organizationStatusSchema = z.enum([
22
+ 'pending_verification',
23
+ 'active',
24
+ 'blocked',
25
+ 'rejected',
26
+ ]);
27
+ export const vatStatusSchema = z.enum(['vat_payer', 'vat_exempt', 'reverse_charge']);
28
+ /**
29
+ * Feature 056 — per-organization credit-inheritance mode. Platform-admin only.
30
+ *
31
+ * - `shared_pool` — a descendant with no own credit limit draws against the
32
+ * nearest ancestor's pool; concurrent draws across the subtree are serialized
33
+ * on the owning ancestor's row (zero double-spend).
34
+ * - `independent_default` — the inherited amount is each descendant's own
35
+ * effective limit; draws are independent of siblings.
36
+ *
37
+ * `null` on an Organization ⇒ fall back to the Settings global default
38
+ * (`organizations.hierarchy.credit_inheritance_mode`, factory `shared_pool`).
39
+ */
40
+ export const creditInheritanceModeSchema = z.enum(['shared_pool', 'independent_default']);
41
+ export const addressKindSchema = z.enum(['delivery', 'billing']);
42
+ // --- Resources --------------------------------------------------------------
43
+ export const organizationSchema = z.object({
44
+ id: uuidSchema,
45
+ name: z.string(),
46
+ taxId: z.string(),
47
+ status: organizationStatusSchema,
48
+ vatStatus: vatStatusSchema,
49
+ /** Feature 051 — true for a single-member personal (B2C) organization. */
50
+ isPersonal: z.boolean().optional(),
51
+ registeredAddress: addressSnapshotSchema.omit({ recipientName: true, phone: true }).extend({
52
+ recipientName: z.string().optional(),
53
+ phone: z.string().optional(),
54
+ }),
55
+ /**
56
+ * Organization-level override of the warehouse-picking (fulfilment) strategy
57
+ * used to reserve stock at order placement. `null` ⇒ inherit (sales-channel
58
+ * setting → platform default). When the strategy is `defined_order`,
59
+ * `fulfilmentStrategyWarehouseOrder` carries the ordered warehouse-id walk.
60
+ */
61
+ fulfilmentStrategy: fulfilmentStrategySchema.nullable().optional(),
62
+ fulfilmentStrategyWarehouseOrder: z.array(uuidSchema).nullable().optional(),
63
+ /**
64
+ * Feature 056 — hierarchy. `parentId` is the self-referential parent FK
65
+ * (`null` ⇒ root). `path` is the server-maintained materialized ancestor path
66
+ * (read-only). `creditInheritanceMode` is the per-org platform-admin override
67
+ * (`null` ⇒ global default). All three are additive; every pre-feature org is
68
+ * a root (`parentId = null`, `path = '/<id>/'`).
69
+ */
70
+ parentId: uuidSchema.nullable().optional(),
71
+ path: z.string().optional(),
72
+ creditInheritanceMode: creditInheritanceModeSchema.nullable().optional(),
73
+ createdAt: isoDateTimeSchema,
74
+ updatedAt: isoDateTimeSchema,
75
+ });
76
+ // --- Hierarchy (feature 056) ------------------------------------------------
77
+ /**
78
+ * A single node in an organization subtree / ancestor chain. `depth` is the
79
+ * node's absolute depth in the tree (root = 0). Returned pre-order (subtree) or
80
+ * nearest-first (ancestors).
81
+ */
82
+ export const organizationTreeNodeSchema = z.object({
83
+ id: uuidSchema,
84
+ name: z.string(),
85
+ parentId: uuidSchema.nullable(),
86
+ depth: z.number().int().nonnegative(),
87
+ status: organizationStatusSchema,
88
+ });
89
+ /** `GET /admin/organizations/:id/subtree` — descendants (incl. self), pre-order. */
90
+ export const organizationSubtreeResponseSchema = z.object({
91
+ items: z.array(organizationTreeNodeSchema),
92
+ });
93
+ /** `GET /admin/organizations/:id/ancestors` — ancestor chain, nearest-first. */
94
+ export const organizationAncestorsResponseSchema = z.object({
95
+ items: z.array(organizationTreeNodeSchema),
96
+ });
97
+ /**
98
+ * `POST /admin/organizations/:id/parent` — assign / move / detach parent.
99
+ * `parentId = null` makes `:id` a root. Path maintenance + cycle/depth checks
100
+ * are guaranteed server-side (this is the only writable path for `parentId`).
101
+ */
102
+ export const assignOrganizationParentRequestSchema = z.object({
103
+ parentId: uuidSchema.nullable(),
104
+ });
105
+ /**
106
+ * `PUT /admin/organizations/:id/credit-inheritance-mode` — platform-admin only.
107
+ * `mode = null` ⇒ fall back to the Settings global default.
108
+ */
109
+ export const setCreditInheritanceModeRequestSchema = z.object({
110
+ mode: creditInheritanceModeSchema.nullable(),
111
+ });
112
+ export const customerAccountSchema = z.object({
113
+ id: uuidSchema,
114
+ organizationId: uuidSchema,
115
+ email: z.string().email(),
116
+ firstName: z.string(),
117
+ lastName: z.string(),
118
+ role: organizationRoleSchema,
119
+ emailVerifiedAt: isoDateTimeSchema.nullable(),
120
+ twoFactorEnabled: z.boolean(),
121
+ createdAt: isoDateTimeSchema,
122
+ updatedAt: isoDateTimeSchema,
123
+ });
124
+ export const addressSchema = z.object({
125
+ id: uuidSchema,
126
+ organizationId: uuidSchema,
127
+ kind: addressKindSchema,
128
+ recipientName: z.string(),
129
+ street: z.string(),
130
+ city: z.string(),
131
+ postalCode: z.string(),
132
+ country: z.string().length(2),
133
+ phone: z.string().nullable().optional(),
134
+ isDefault: z.boolean(),
135
+ });
136
+ // --- Requests --------------------------------------------------------------
137
+ /** Polish NIP or a generic tax-id string; exact validation lives in the backend. */
138
+ const taxIdSchema = z.string().min(8).max(32);
139
+ export const registerOrganizationRequestSchema = z.object({
140
+ organization: z.object({
141
+ name: z.string().min(1).max(255),
142
+ taxId: taxIdSchema,
143
+ registeredAddress: z.object({
144
+ street: z.string().min(1).max(255),
145
+ city: z.string().min(1).max(120),
146
+ postalCode: z.string().min(1).max(20),
147
+ country: z.string().length(2),
148
+ }),
149
+ vatStatus: vatStatusSchema.optional(),
150
+ }),
151
+ firstUser: z.object({
152
+ email: z.string().email(),
153
+ password: z.string().min(12).max(256),
154
+ firstName: z.string().min(1).max(120),
155
+ lastName: z.string().min(1).max(120),
156
+ }),
157
+ acceptedTermsVersion: z.string(),
158
+ });
159
+ export const emailVerificationRequestSchema = z.object({
160
+ token: z.string().min(10),
161
+ });
162
+ export const passwordResetRequestSchema = z.object({
163
+ email: z.string().email(),
164
+ });
165
+ export const passwordResetConfirmSchema = z.object({
166
+ token: z.string().min(10),
167
+ newPassword: z.string().min(12).max(256),
168
+ });
169
+ export const customerLoginRequestSchema = z.object({
170
+ email: z.string().email(),
171
+ password: z.string(),
172
+ });
173
+ /**
174
+ * Outcome of the anonymous-cart → customer-cart merge that runs inside the
175
+ * customer-login flow (feature 037-cart-merge-on-login).
176
+ *
177
+ * Internal shape — split between two `noop_*` variants so the audit /
178
+ * observability paths can distinguish "anon cart was empty" from "no anon
179
+ * cart was supplied". The HTTP-facing shape collapses both into a single
180
+ * `'noop'`; see `cartMergeOutcomePublicSchema` below.
181
+ */
182
+ export const cartMergeOutcomeSchema = z.object({
183
+ outcome: z.enum(['adopted', 'merged', 'noop_empty', 'noop_no_anon']),
184
+ movedLineCount: z.number().int().min(0),
185
+ summedLineCount: z.number().int().min(0),
186
+ destinationCartId: uuidSchema,
187
+ });
188
+ /**
189
+ * Public (HTTP) narrowing of `cartMergeOutcomeSchema`. The storefront only
190
+ * needs three buckets to decide whether to surface the merge-confirmation
191
+ * toast (`adopted | merged → toast`, `noop → silent`) and the destination
192
+ * cart id for the next cart read.
193
+ */
194
+ export const cartMergeOutcomePublicSchema = z.object({
195
+ outcome: z.enum(['adopted', 'merged', 'noop']),
196
+ destinationCartId: uuidSchema,
197
+ });
198
+ /**
199
+ * Customer login response. The `cartMerge` field is populated when the
200
+ * login carries an anonymous-cart cookie; `null` when no anon cookie was
201
+ * supplied; `outcome: 'noop'` when the cookie was supplied but had no
202
+ * observable effect (no anon cart, or the anon cart was empty).
203
+ */
204
+ export const customerLoginResponseSchema = z.object({
205
+ data: z.object({
206
+ customerAccount: z.object({
207
+ id: uuidSchema,
208
+ email: z.string().email(),
209
+ organizationId: uuidSchema.nullable(),
210
+ role: organizationRoleSchema,
211
+ twoFactorEnabled: z.boolean(),
212
+ }),
213
+ cartMerge: cartMergeOutcomePublicSchema.nullable().optional(),
214
+ }),
215
+ });
216
+ export const changePasswordRequestSchema = z.object({
217
+ currentPassword: z.string(),
218
+ newPassword: z.string().min(12).max(256),
219
+ });
220
+ export const createAddressRequestSchema = z.object({
221
+ kind: addressKindSchema,
222
+ recipientName: z.string().min(1).max(160),
223
+ street: z.string().min(1).max(255),
224
+ city: z.string().min(1).max(120),
225
+ postalCode: z.string().min(1).max(20),
226
+ country: z.string().length(2),
227
+ phone: z.string().max(32).optional(),
228
+ isDefault: z.boolean().optional(),
229
+ });
230
+ export const updateAddressRequestSchema = createAddressRequestSchema.partial();
231
+ export const inviteMemberRequestSchema = z.object({
232
+ email: z.string().email(),
233
+ role: organizationRoleSchema.optional(),
234
+ });
235
+ export const acceptInvitationRequestSchema = z.object({
236
+ password: z.string().min(12),
237
+ firstName: z.string().min(1).max(120),
238
+ lastName: z.string().min(1).max(120),
239
+ });
240
+ export const changeMemberRoleRequestSchema = z.object({
241
+ role: organizationRoleSchema,
242
+ });
243
+ /** Platform admin — PATCH `/admin/organizations/:id` */
244
+ export const adminPatchOrganizationRequestSchema = z.object({
245
+ name: z.string().min(1).max(255).optional(),
246
+ vatStatus: vatStatusSchema.optional(),
247
+ status: organizationStatusSchema.optional(),
248
+ /** Feature 038 (US4) — additional emails CC'd on this org's order confirmations. */
249
+ orderConfirmationEmails: z.array(z.string()).optional(),
250
+ /**
251
+ * Organization-level fulfilment-strategy override. `null` clears the
252
+ * override (inherit channel setting → platform default). `defined_order`
253
+ * pairs with `fulfilmentStrategyWarehouseOrder` (ordered warehouse ids).
254
+ */
255
+ fulfilmentStrategy: fulfilmentStrategySchema.nullable().optional(),
256
+ fulfilmentStrategyWarehouseOrder: z.array(uuidSchema).nullable().optional(),
257
+ /** Feature 055 — custom-field values for this organization (validated on write). */
258
+ customFieldValues: z.record(z.string(), z.unknown()).optional(),
259
+ expectedUpdatedAt: z.string().optional(),
260
+ });
261
+ /** Platform admin — POST `/admin/organizations/:id/recover-admin-access` */
262
+ export const adminRecoverOrgAccessRequestSchema = z.object({
263
+ promoteCustomerAccountId: uuidSchema,
264
+ });
265
+ /** Platform admin — POST `/admin/organizations/:id/members` (direct create) */
266
+ export const adminDirectMemberRequestSchema = z.object({
267
+ email: z.string().email(),
268
+ firstName: z.string().min(1).max(120),
269
+ lastName: z.string().min(1).max(120),
270
+ password: z.string().min(12).max(256),
271
+ role: organizationRoleSchema.optional(),
272
+ });
273
+ /** Platform admin — PATCH member role */
274
+ export const adminPatchMemberRoleRequestSchema = z.object({
275
+ role: organizationRoleSchema,
276
+ expectedUpdatedAt: z.string().optional(),
277
+ });
278
+ /**
279
+ * Feature 056 (T032) — Platform admin — PATCH member roll-up capability.
280
+ * When enabled, this customer login sees/acts across its organization's subtree.
281
+ */
282
+ export const adminSetMemberRollupRequestSchema = z.object({
283
+ subtreeRollupEnabled: z.boolean(),
284
+ expectedUpdatedAt: z.string().optional(),
285
+ });
286
+ /** Platform admin — PATCH `/admin/organizations/:id/members/:customerAccountId` (profile) */
287
+ export const adminPatchMemberProfileRequestSchema = z
288
+ .object({
289
+ firstName: z.string().min(1).max(120).optional(),
290
+ lastName: z.string().min(1).max(120).optional(),
291
+ email: z.string().email().optional(),
292
+ expectedUpdatedAt: z.string().optional(),
293
+ })
294
+ .refine((b) => b.firstName !== undefined || b.lastName !== undefined || b.email !== undefined, {
295
+ message: 'At least one of firstName, lastName, email is required',
296
+ });
297
+ // --- Responses (convenience) ------------------------------------------------
298
+ export const registerOrganizationResponseSchema = z.object({
299
+ organization: organizationSchema,
300
+ customerAccount: customerAccountSchema,
301
+ emailVerificationSent: z.boolean(),
302
+ });
303
+ // --- Organization picker (feature 091, P2) ----------------------------------
304
+ /**
305
+ * One row of the admin Organization picker.
306
+ *
307
+ * A **projection**, not the `GET /api/v1/admin/organizations` envelope: the
308
+ * picker renders a label, a status pill and nothing else, and it commits the
309
+ * `id`. `version` rides along because a caller that picks an Organization in
310
+ * order to write to it needs the optimistic-concurrency token it already had.
311
+ *
312
+ * Published because `@endora-commerce/admin-kit` builds this request itself
313
+ * (feature 091's P2 — the picker moved into the kit and rebuilt its call from
314
+ * the published `apiClient`), so the shape crosses a package boundary and
315
+ * Principle II puts it here. Before P2 it was declared in
316
+ * `admin/src/modules/organizations/api/organizations-picker-client.ts`, where a
317
+ * kit component could only reach it by importing a module's admin code.
318
+ *
319
+ * The status is `organizationStatusSchema` and not a picker-local enum: the four
320
+ * members the picker filters on are exactly that schema's, so a second name
321
+ * would be two spellings of one set with nothing keeping them equal.
322
+ */
323
+ export const organizationPickerListItemSchema = z.object({
324
+ id: uuidSchema,
325
+ name: z.string(),
326
+ legalName: z.string().nullable(),
327
+ status: organizationStatusSchema,
328
+ countryCode: z.string().nullable().optional(),
329
+ salesRepAdminUserIds: z.array(uuidSchema).optional(),
330
+ memberCount: z.number().int().nonnegative().optional(),
331
+ version: z.number().int().nonnegative(),
332
+ });
333
+ /** One page of picker rows. `nextCursor` is `null` on the last page. */
334
+ export const organizationPickerPageSchema = z.object({
335
+ items: z.array(organizationPickerListItemSchema),
336
+ nextCursor: z.string().nullable(),
337
+ });
338
+ // --- Sales-rep ↔ organization assignment (feature 008) ---------------------
339
+ export const salesRepAssignmentSchema = z.object({
340
+ id: uuidSchema,
341
+ organizationId: uuidSchema,
342
+ adminUserId: uuidSchema,
343
+ displayName: z.string(),
344
+ email: z.string().email(),
345
+ assignedAt: isoDateTimeSchema,
346
+ assignedByAdminUserId: uuidSchema.nullable(),
347
+ });
348
+ export const assignSalesRepRequestSchema = z.object({
349
+ adminUserId: uuidSchema,
350
+ });
351
+ export const salesRepOrganizationSchema = z.object({
352
+ organizationId: uuidSchema,
353
+ name: z.string(),
354
+ openRfqCount: z.number().int().nonnegative(),
355
+ assignedAt: isoDateTimeSchema,
356
+ });
357
+ /**
358
+ * Diacritic-insensitive normalisation for the organisation's `name_search`
359
+ * column and for any query string matched against it.
360
+ *
361
+ * The character fold itself is `foldDiacritics` in `text-normalization.ts`,
362
+ * shared with `admin/` and reachable from `storefront/` (issue #240): it strips
363
+ * every Unicode combining mark through NFD decomposition and then maps the
364
+ * handful of precomposed Latin letters NFD does not decompose (notably Polish
365
+ * `ł`/`Ł`, Scandinavian `ø`/`Ø`, Croatian `đ`/`Đ`, Icelandic `ð`/`Ð`,
366
+ * `þ`/`Þ`, German `ß`, ligatures `æ` and `œ`). What is specific to an
367
+ * organisation name is the whitespace policy below, and only that: a name typed
368
+ * with a double space must match one stored with a single one.
369
+ *
370
+ * Published as a **function, not a port** (FR-013): it is pure over its
371
+ * argument, so switching `organizations` off does not change the answer, and a
372
+ * gated port answering 503 to "fold these diacritics" would be a bug. The
373
+ * entity's `@BeforeCreate` / `@BeforeUpdate` hooks and `orders`' list filter
374
+ * both call it, and they must agree or the filter silently stops matching.
375
+ *
376
+ * That agreement is why the fold is characterised rather than merely tested:
377
+ * `backend/test/unit/organizations/name-search-fold-characterisation.test.ts`
378
+ * pins the output for every input this function can meet, because a change here
379
+ * re-folds nothing already written to `name_search` and reports no error when
380
+ * the two stop agreeing.
381
+ *
382
+ * Node natives only (Principle IV).
383
+ */
384
+ export function normalizeOrganizationName(input) {
385
+ return foldDiacritics(input).replace(/\s+/g, ' ').trim();
386
+ }
387
+ /**
388
+ * Thrown when the organisation a read names does not exist. The kernel's
389
+ * `OrganizationReadPort` has documented it as `assertCanTransact`'s failure
390
+ * mode since D-32 while the class itself lived in a module, which is the gap
391
+ * this publication closes.
392
+ */
393
+ export class OrganizationNotFoundError extends Error {
394
+ organizationId;
395
+ constructor(organizationId) {
396
+ super(`Organization ${organizationId} not found.`);
397
+ this.organizationId = organizationId;
398
+ this.name = 'OrganizationNotFoundError';
399
+ }
400
+ }
401
+ /**
402
+ * Thrown when a write is attempted for an organisation whose status forbids
403
+ * transacting. Four modules — `carts`, `orders`, `quote_requests` and the
404
+ * external order intake — catch it by class to turn it into a 409 envelope,
405
+ * which is why it is published here rather than being a port: an error is a
406
+ * shape, and `DictionaryReferenceError` in `dictionary.ts` set the precedent.
407
+ */
408
+ export class OrganizationCannotTransactError extends Error {
409
+ organizationId;
410
+ status;
411
+ constructor(organizationId, status) {
412
+ super(`Organization ${organizationId} cannot transact in status '${status}'.`);
413
+ this.organizationId = organizationId;
414
+ this.status = status;
415
+ this.name = 'OrganizationCannotTransactError';
416
+ }
417
+ }
418
+ //# sourceMappingURL=organizations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizations.js","sourceRoot":"","sources":["../src/organizations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Cursor-based pagination payload — see
4
+ * specs/001-b2b-platform-foundation/contracts/README.md.
5
+ *
6
+ * Offset pagination is deliberately rejected because it degrades on large catalogs (R-08).
7
+ */
8
+ export declare const paginationSchema: z.ZodObject<{
9
+ cursor: z.ZodNullable<z.ZodString>;
10
+ hasMore: z.ZodBoolean;
11
+ limit: z.ZodNumber;
12
+ }, z.core.$strip>;
13
+ export type Pagination = z.infer<typeof paginationSchema>;
14
+ /** Shared query parameters for every list endpoint. */
15
+ export declare const listQuerySchema: z.ZodObject<{
16
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
17
+ cursor: z.ZodOptional<z.ZodString>;
18
+ sort: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strip>;
20
+ export type ListQuery = z.infer<typeof listQuerySchema>;
21
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAEH,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,uDAAuD;AACvD,eAAO,MAAM,eAAe;;;;iBAI1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Cursor-based pagination payload — see
4
+ * specs/001-b2b-platform-foundation/contracts/README.md.
5
+ *
6
+ * Offset pagination is deliberately rejected because it degrades on large catalogs (R-08).
7
+ */
8
+ export const paginationSchema = z.object({
9
+ cursor: z.string().nullable().describe('opaque base64 cursor for the next page; null on last page'),
10
+ hasMore: z.boolean(),
11
+ limit: z.number().int().positive().max(200),
12
+ });
13
+ /** Shared query parameters for every list endpoint. */
14
+ export const listQuerySchema = z.object({
15
+ limit: z.coerce.number().int().positive().max(200).default(50),
16
+ cursor: z.string().optional(),
17
+ sort: z.string().optional(),
18
+ });
19
+ // NOTE: cursor encode/decode helpers live in the backend (see backend/src/http/cursor.ts)
20
+ // because Node's Buffer is not available in the browser and the frontends treat the cursor
21
+ // as opaque.
22
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IACnG,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;CAC5C,CAAC,CAAC;AAIH,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAIH,0FAA0F;AAC1F,2FAA2F;AAC3F,aAAa"}