@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,538 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Quote Requests (RFQ) module contracts — feature 008 workflow rewrite.
4
+ * Source of truth per Principle V; the backend re-uses these schemas as
5
+ * route validators and the frontends consume the inferred TS types.
6
+ *
7
+ * Replaces the foundation 001 contract entirely. The legacy seven-state
8
+ * status set is gone; the feature-008 six-state set lives below.
9
+ *
10
+ * See specs/008-quote-requests/contracts/ for the HTTP contract docs.
11
+ */
12
+ export declare const rfqStatusSchema: z.ZodEnum<{
13
+ "Created from admin": "Created from admin";
14
+ Pending: "Pending";
15
+ Canceled: "Canceled";
16
+ Approved: "Approved";
17
+ Completed: "Completed";
18
+ Expired: "Expired";
19
+ }>;
20
+ export type RfqStatus = z.infer<typeof rfqStatusSchema>;
21
+ export declare const quoteRequestItemSchema: z.ZodObject<{
22
+ id: z.ZodString;
23
+ productId: z.ZodString;
24
+ productName: z.ZodString;
25
+ productSlug: z.ZodNullable<z.ZodString>;
26
+ variantId: z.ZodNullable<z.ZodString>;
27
+ variantLabel: z.ZodNullable<z.ZodString>;
28
+ quantity: z.ZodNumber;
29
+ desiredUnitPrice: z.ZodNullable<z.ZodNumber>;
30
+ agreedUnitPrice: z.ZodNullable<z.ZodNumber>;
31
+ lineNote: z.ZodNullable<z.ZodString>;
32
+ lineCurrency: z.ZodString;
33
+ discountPercent: z.ZodNullable<z.ZodNumber>;
34
+ taxRate: z.ZodDefault<z.ZodNumber>;
35
+ }, z.core.$strip>;
36
+ export type QuoteRequestItem = z.infer<typeof quoteRequestItemSchema>;
37
+ export declare const rfqEventTypeSchema: z.ZodEnum<{
38
+ completed: "completed";
39
+ created: "created";
40
+ approved: "approved";
41
+ expired: "expired";
42
+ submitted: "submitted";
43
+ modified: "modified";
44
+ canceled: "canceled";
45
+ "customer-accepted-revision": "customer-accepted-revision";
46
+ "customer-rejected-revision": "customer-rejected-revision";
47
+ "re-submitted": "re-submitted";
48
+ "note-added": "note-added";
49
+ }>;
50
+ export type RfqEventType = z.infer<typeof rfqEventTypeSchema>;
51
+ export declare const quoteRequestEventSchema: z.ZodObject<{
52
+ id: z.ZodString;
53
+ eventType: z.ZodEnum<{
54
+ completed: "completed";
55
+ created: "created";
56
+ approved: "approved";
57
+ expired: "expired";
58
+ submitted: "submitted";
59
+ modified: "modified";
60
+ canceled: "canceled";
61
+ "customer-accepted-revision": "customer-accepted-revision";
62
+ "customer-rejected-revision": "customer-rejected-revision";
63
+ "re-submitted": "re-submitted";
64
+ "note-added": "note-added";
65
+ }>;
66
+ actorAdminUserId: z.ZodNullable<z.ZodString>;
67
+ actorCustomerAccountId: z.ZodNullable<z.ZodString>;
68
+ actorRoleLabel: z.ZodNullable<z.ZodString>;
69
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
70
+ revisionId: z.ZodNullable<z.ZodString>;
71
+ createdAt: z.ZodString;
72
+ }, z.core.$strip>;
73
+ export type QuoteRequestEvent = z.infer<typeof quoteRequestEventSchema>;
74
+ export declare const rfqDiffEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
75
+ kind: z.ZodLiteral<"header_note">;
76
+ before: z.ZodNullable<z.ZodString>;
77
+ after: z.ZodNullable<z.ZodString>;
78
+ }, z.core.$strip>, z.ZodObject<{
79
+ kind: z.ZodLiteral<"line_added">;
80
+ productId: z.ZodString;
81
+ productName: z.ZodString;
82
+ quantity: z.ZodNumber;
83
+ agreedUnitPrice: z.ZodNullable<z.ZodNumber>;
84
+ }, z.core.$strip>, z.ZodObject<{
85
+ kind: z.ZodLiteral<"line_removed">;
86
+ productId: z.ZodString;
87
+ productName: z.ZodString;
88
+ }, z.core.$strip>, z.ZodObject<{
89
+ kind: z.ZodLiteral<"line_quantity">;
90
+ productId: z.ZodString;
91
+ productName: z.ZodString;
92
+ before: z.ZodNumber;
93
+ after: z.ZodNumber;
94
+ }, z.core.$strip>, z.ZodObject<{
95
+ kind: z.ZodLiteral<"line_agreed_unit_price">;
96
+ productId: z.ZodString;
97
+ productName: z.ZodString;
98
+ before: z.ZodNullable<z.ZodNumber>;
99
+ after: z.ZodNullable<z.ZodNumber>;
100
+ }, z.core.$strip>], "kind">;
101
+ export type RfqDiffEntry = z.infer<typeof rfqDiffEntrySchema>;
102
+ export declare const rfqComparisonAgainstLastSeenSchema: z.ZodObject<{
103
+ diff: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
104
+ kind: z.ZodLiteral<"header_note">;
105
+ before: z.ZodNullable<z.ZodString>;
106
+ after: z.ZodNullable<z.ZodString>;
107
+ }, z.core.$strip>, z.ZodObject<{
108
+ kind: z.ZodLiteral<"line_added">;
109
+ productId: z.ZodString;
110
+ productName: z.ZodString;
111
+ quantity: z.ZodNumber;
112
+ agreedUnitPrice: z.ZodNullable<z.ZodNumber>;
113
+ }, z.core.$strip>, z.ZodObject<{
114
+ kind: z.ZodLiteral<"line_removed">;
115
+ productId: z.ZodString;
116
+ productName: z.ZodString;
117
+ }, z.core.$strip>, z.ZodObject<{
118
+ kind: z.ZodLiteral<"line_quantity">;
119
+ productId: z.ZodString;
120
+ productName: z.ZodString;
121
+ before: z.ZodNumber;
122
+ after: z.ZodNumber;
123
+ }, z.core.$strip>, z.ZodObject<{
124
+ kind: z.ZodLiteral<"line_agreed_unit_price">;
125
+ productId: z.ZodString;
126
+ productName: z.ZodString;
127
+ before: z.ZodNullable<z.ZodNumber>;
128
+ after: z.ZodNullable<z.ZodNumber>;
129
+ }, z.core.$strip>], "kind">>;
130
+ lastSeenRevisionNumber: z.ZodNumber;
131
+ currentRevisionNumber: z.ZodNumber;
132
+ }, z.core.$strip>;
133
+ export type RfqComparisonAgainstLastSeen = z.infer<typeof rfqComparisonAgainstLastSeenSchema>;
134
+ export declare const quoteRequestSchema: z.ZodObject<{
135
+ id: z.ZodString;
136
+ businessId: z.ZodString;
137
+ organizationId: z.ZodString;
138
+ customerAccountId: z.ZodString;
139
+ createdByAdminUserId: z.ZodNullable<z.ZodString>;
140
+ assignedAdminUserId: z.ZodNullable<z.ZodString>;
141
+ status: z.ZodEnum<{
142
+ "Created from admin": "Created from admin";
143
+ Pending: "Pending";
144
+ Canceled: "Canceled";
145
+ Approved: "Approved";
146
+ Completed: "Completed";
147
+ Expired: "Expired";
148
+ }>;
149
+ awaitingCustomerRevisionAcceptance: z.ZodBoolean;
150
+ currentRevisionNumber: z.ZodNumber;
151
+ lastCustomerSeenRevisionNumber: z.ZodNumber;
152
+ headerNote: z.ZodNullable<z.ZodString>;
153
+ cancellationReason: z.ZodNullable<z.ZodString>;
154
+ customFieldValues: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
155
+ items: z.ZodArray<z.ZodObject<{
156
+ id: z.ZodString;
157
+ productId: z.ZodString;
158
+ productName: z.ZodString;
159
+ productSlug: z.ZodNullable<z.ZodString>;
160
+ variantId: z.ZodNullable<z.ZodString>;
161
+ variantLabel: z.ZodNullable<z.ZodString>;
162
+ quantity: z.ZodNumber;
163
+ desiredUnitPrice: z.ZodNullable<z.ZodNumber>;
164
+ agreedUnitPrice: z.ZodNullable<z.ZodNumber>;
165
+ lineNote: z.ZodNullable<z.ZodString>;
166
+ lineCurrency: z.ZodString;
167
+ discountPercent: z.ZodNullable<z.ZodNumber>;
168
+ taxRate: z.ZodDefault<z.ZodNumber>;
169
+ }, z.core.$strip>>;
170
+ events: z.ZodArray<z.ZodObject<{
171
+ id: z.ZodString;
172
+ eventType: z.ZodEnum<{
173
+ completed: "completed";
174
+ created: "created";
175
+ approved: "approved";
176
+ expired: "expired";
177
+ submitted: "submitted";
178
+ modified: "modified";
179
+ canceled: "canceled";
180
+ "customer-accepted-revision": "customer-accepted-revision";
181
+ "customer-rejected-revision": "customer-rejected-revision";
182
+ "re-submitted": "re-submitted";
183
+ "note-added": "note-added";
184
+ }>;
185
+ actorAdminUserId: z.ZodNullable<z.ZodString>;
186
+ actorCustomerAccountId: z.ZodNullable<z.ZodString>;
187
+ actorRoleLabel: z.ZodNullable<z.ZodString>;
188
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
189
+ revisionId: z.ZodNullable<z.ZodString>;
190
+ createdAt: z.ZodString;
191
+ }, z.core.$strip>>;
192
+ comparisonAgainstLastSeen: z.ZodNullable<z.ZodObject<{
193
+ diff: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
194
+ kind: z.ZodLiteral<"header_note">;
195
+ before: z.ZodNullable<z.ZodString>;
196
+ after: z.ZodNullable<z.ZodString>;
197
+ }, z.core.$strip>, z.ZodObject<{
198
+ kind: z.ZodLiteral<"line_added">;
199
+ productId: z.ZodString;
200
+ productName: z.ZodString;
201
+ quantity: z.ZodNumber;
202
+ agreedUnitPrice: z.ZodNullable<z.ZodNumber>;
203
+ }, z.core.$strip>, z.ZodObject<{
204
+ kind: z.ZodLiteral<"line_removed">;
205
+ productId: z.ZodString;
206
+ productName: z.ZodString;
207
+ }, z.core.$strip>, z.ZodObject<{
208
+ kind: z.ZodLiteral<"line_quantity">;
209
+ productId: z.ZodString;
210
+ productName: z.ZodString;
211
+ before: z.ZodNumber;
212
+ after: z.ZodNumber;
213
+ }, z.core.$strip>, z.ZodObject<{
214
+ kind: z.ZodLiteral<"line_agreed_unit_price">;
215
+ productId: z.ZodString;
216
+ productName: z.ZodString;
217
+ before: z.ZodNullable<z.ZodNumber>;
218
+ after: z.ZodNullable<z.ZodNumber>;
219
+ }, z.core.$strip>], "kind">>;
220
+ lastSeenRevisionNumber: z.ZodNumber;
221
+ currentRevisionNumber: z.ZodNumber;
222
+ }, z.core.$strip>>;
223
+ submittedAt: z.ZodNullable<z.ZodString>;
224
+ approvedAt: z.ZodNullable<z.ZodString>;
225
+ canceledAt: z.ZodNullable<z.ZodString>;
226
+ completedAt: z.ZodNullable<z.ZodString>;
227
+ expiredAt: z.ZodNullable<z.ZodString>;
228
+ expiresAt: z.ZodNullable<z.ZodString>;
229
+ convertedOrderId: z.ZodNullable<z.ZodString>;
230
+ taxRate: z.ZodDefault<z.ZodNumber>;
231
+ organization: z.ZodOptional<z.ZodNullable<z.ZodObject<{
232
+ id: z.ZodString;
233
+ name: z.ZodString;
234
+ legalName: z.ZodNullable<z.ZodString>;
235
+ taxId: z.ZodString;
236
+ vatStatus: z.ZodString;
237
+ }, z.core.$strip>>>;
238
+ customer: z.ZodOptional<z.ZodNullable<z.ZodObject<{
239
+ id: z.ZodString;
240
+ firstName: z.ZodNullable<z.ZodString>;
241
+ lastName: z.ZodNullable<z.ZodString>;
242
+ email: z.ZodString;
243
+ }, z.core.$strip>>>;
244
+ createdAt: z.ZodString;
245
+ updatedAt: z.ZodString;
246
+ version: z.ZodNumber;
247
+ }, z.core.$strip>;
248
+ export type QuoteRequest = z.infer<typeof quoteRequestSchema>;
249
+ export declare const quoteRequestSummarySchema: z.ZodObject<{
250
+ id: z.ZodString;
251
+ businessId: z.ZodString;
252
+ organizationId: z.ZodString;
253
+ customerAccountId: z.ZodString;
254
+ status: z.ZodEnum<{
255
+ "Created from admin": "Created from admin";
256
+ Pending: "Pending";
257
+ Canceled: "Canceled";
258
+ Approved: "Approved";
259
+ Completed: "Completed";
260
+ Expired: "Expired";
261
+ }>;
262
+ awaitingCustomerRevisionAcceptance: z.ZodBoolean;
263
+ lineCount: z.ZodNumber;
264
+ totalAtCustomerPrice: z.ZodNullable<z.ZodNumber>;
265
+ totalAtAgreedPrice: z.ZodNullable<z.ZodNumber>;
266
+ taxRate: z.ZodDefault<z.ZodNumber>;
267
+ currency: z.ZodString;
268
+ submittedAt: z.ZodNullable<z.ZodString>;
269
+ expiresAt: z.ZodNullable<z.ZodString>;
270
+ createdAt: z.ZodString;
271
+ updatedAt: z.ZodString;
272
+ version: z.ZodNumber;
273
+ originalRequester: z.ZodOptional<z.ZodObject<{
274
+ customerAccountId: z.ZodString;
275
+ displayName: z.ZodNullable<z.ZodString>;
276
+ }, z.core.$strip>>;
277
+ organizationName: z.ZodOptional<z.ZodString>;
278
+ customerDisplayName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
279
+ }, z.core.$strip>;
280
+ export type QuoteRequestSummary = z.infer<typeof quoteRequestSummarySchema>;
281
+ export declare const createQuoteRequestLineSchema: z.ZodObject<{
282
+ productId: z.ZodString;
283
+ variantId: z.ZodOptional<z.ZodString>;
284
+ quantity: z.ZodNumber;
285
+ desiredUnitPrice: z.ZodOptional<z.ZodNumber>;
286
+ lineNote: z.ZodOptional<z.ZodString>;
287
+ packagingUnitName: z.ZodOptional<z.ZodString>;
288
+ packagingUnitBaseQuantity: z.ZodOptional<z.ZodNumber>;
289
+ }, z.core.$strip>;
290
+ export type CreateQuoteRequestLine = z.infer<typeof createQuoteRequestLineSchema>;
291
+ export declare const createQuoteRequestSchema: z.ZodObject<{
292
+ headerNote: z.ZodOptional<z.ZodString>;
293
+ items: z.ZodArray<z.ZodObject<{
294
+ productId: z.ZodString;
295
+ variantId: z.ZodOptional<z.ZodString>;
296
+ quantity: z.ZodNumber;
297
+ desiredUnitPrice: z.ZodOptional<z.ZodNumber>;
298
+ lineNote: z.ZodOptional<z.ZodString>;
299
+ packagingUnitName: z.ZodOptional<z.ZodString>;
300
+ packagingUnitBaseQuantity: z.ZodOptional<z.ZodNumber>;
301
+ }, z.core.$strip>>;
302
+ }, z.core.$strip>;
303
+ export type CreateQuoteRequest = z.infer<typeof createQuoteRequestSchema>;
304
+ export declare const patchQuoteRequestSchema: z.ZodObject<{
305
+ headerNote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
306
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
307
+ productId: z.ZodString;
308
+ variantId: z.ZodOptional<z.ZodString>;
309
+ quantity: z.ZodNumber;
310
+ desiredUnitPrice: z.ZodOptional<z.ZodNumber>;
311
+ lineNote: z.ZodOptional<z.ZodString>;
312
+ packagingUnitName: z.ZodOptional<z.ZodString>;
313
+ packagingUnitBaseQuantity: z.ZodOptional<z.ZodNumber>;
314
+ }, z.core.$strip>>>;
315
+ }, z.core.$strict>;
316
+ export type PatchQuoteRequest = z.infer<typeof patchQuoteRequestSchema>;
317
+ export declare const acceptRevisionSchema: z.ZodObject<{
318
+ expectedRevisionNumber: z.ZodNumber;
319
+ }, z.core.$strip>;
320
+ export type AcceptRevisionRequest = z.infer<typeof acceptRevisionSchema>;
321
+ export declare const rejectRevisionSchema: z.ZodObject<{
322
+ expectedRevisionNumber: z.ZodNumber;
323
+ reason: z.ZodOptional<z.ZodString>;
324
+ }, z.core.$strip>;
325
+ export type RejectRevisionRequest = z.infer<typeof rejectRevisionSchema>;
326
+ export declare const resubmitQuoteRequestSchema: z.ZodObject<{
327
+ headerNote: z.ZodOptional<z.ZodString>;
328
+ }, z.core.$strict>;
329
+ export type ResubmitQuoteRequest = z.infer<typeof resubmitQuoteRequestSchema>;
330
+ export declare const adminCreateQuoteRequestLineSchema: z.ZodObject<{
331
+ productId: z.ZodString;
332
+ variantId: z.ZodOptional<z.ZodString>;
333
+ quantity: z.ZodNumber;
334
+ agreedUnitPrice: z.ZodNumber;
335
+ lineNote: z.ZodOptional<z.ZodString>;
336
+ }, z.core.$strip>;
337
+ export type AdminCreateQuoteRequestLine = z.infer<typeof adminCreateQuoteRequestLineSchema>;
338
+ export declare const adminCreateQuoteRequestSchema: z.ZodObject<{
339
+ organizationId: z.ZodString;
340
+ customerAccountId: z.ZodString;
341
+ headerNote: z.ZodOptional<z.ZodString>;
342
+ items: z.ZodArray<z.ZodObject<{
343
+ productId: z.ZodString;
344
+ variantId: z.ZodOptional<z.ZodString>;
345
+ quantity: z.ZodNumber;
346
+ agreedUnitPrice: z.ZodNumber;
347
+ lineNote: z.ZodOptional<z.ZodString>;
348
+ }, z.core.$strip>>;
349
+ expiresInDays: z.ZodOptional<z.ZodNumber>;
350
+ }, z.core.$strip>;
351
+ export type AdminCreateQuoteRequest = z.infer<typeof adminCreateQuoteRequestSchema>;
352
+ export declare const adminPatchQuoteRequestLineSchema: z.ZodObject<{
353
+ id: z.ZodOptional<z.ZodString>;
354
+ productId: z.ZodString;
355
+ variantId: z.ZodOptional<z.ZodString>;
356
+ quantity: z.ZodNumber;
357
+ agreedUnitPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
358
+ lineNote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
359
+ }, z.core.$strip>;
360
+ export type AdminPatchQuoteRequestLine = z.infer<typeof adminPatchQuoteRequestLineSchema>;
361
+ export declare const adminPatchQuoteRequestSchema: z.ZodObject<{
362
+ headerNote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
363
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
364
+ id: z.ZodOptional<z.ZodString>;
365
+ productId: z.ZodString;
366
+ variantId: z.ZodOptional<z.ZodString>;
367
+ quantity: z.ZodNumber;
368
+ agreedUnitPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
369
+ lineNote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
370
+ }, z.core.$strip>>>;
371
+ expiresInDays: z.ZodOptional<z.ZodNumber>;
372
+ customFieldValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
373
+ }, z.core.$strict>;
374
+ export type AdminPatchQuoteRequest = z.infer<typeof adminPatchQuoteRequestSchema>;
375
+ export declare const adminApproveQuoteRequestSchema: z.ZodObject<{
376
+ note: z.ZodOptional<z.ZodString>;
377
+ }, z.core.$strict>;
378
+ export type AdminApproveQuoteRequest = z.infer<typeof adminApproveQuoteRequestSchema>;
379
+ export declare const adminCancelQuoteRequestSchema: z.ZodObject<{
380
+ reason: z.ZodOptional<z.ZodString>;
381
+ }, z.core.$strict>;
382
+ export type AdminCancelQuoteRequest = z.infer<typeof adminCancelQuoteRequestSchema>;
383
+ export declare const adminAssignQuoteRequestSchema: z.ZodObject<{
384
+ adminUserId: z.ZodString;
385
+ }, z.core.$strip>;
386
+ export type AdminAssignQuoteRequest = z.infer<typeof adminAssignQuoteRequestSchema>;
387
+ export declare const convertQuoteRequestResponseSchema: z.ZodObject<{
388
+ cartId: z.ZodString;
389
+ checkoutUrl: z.ZodString;
390
+ }, z.core.$strip>;
391
+ export type ConvertQuoteRequestResponse = z.infer<typeof convertQuoteRequestResponseSchema>;
392
+ export declare const storefrontQuoteRequestSettingsSchema: z.ZodObject<{
393
+ showAddToQuoteOnCard: z.ZodBoolean;
394
+ showAddToQuoteOnPdp: z.ZodBoolean;
395
+ }, z.core.$strip>;
396
+ export type StorefrontQuoteRequestSettings = z.infer<typeof storefrontQuoteRequestSettingsSchema>;
397
+ /**
398
+ * The lifecycle statuses of a quote request.
399
+ *
400
+ * Published as a **union, not a port** (FR-013): `organizations`' sales-rep
401
+ * screen counts the three open ones by name, and switching a module off does
402
+ * not change what `'Pending'` is spelled. Unlike the order lifecycle these are
403
+ * fixed at compile time — a quote's status set is not admin-configurable.
404
+ *
405
+ * The capitalised, space-separated spellings are the persisted column values
406
+ * (research §R3); do not tidy them.
407
+ */
408
+ export type QuoteRequestStatus = 'Created from admin' | 'Pending' | 'Canceled' | 'Approved' | 'Completed' | 'Expired';
409
+ /** The statuses that mean "this quote is still live". */
410
+ export declare const OPEN_QUOTE_REQUEST_STATUSES: readonly QuoteRequestStatus[];
411
+ /**
412
+ * A quote request as it crosses a module boundary — a plain shape, never the
413
+ * ORM entity (FR-011). The full customer-facing projection is `RfqDto`
414
+ * (`QuoteRequest` above), which carries the items, the events and the revision
415
+ * comparison; this is the row, for the two modules that only need to count or
416
+ * cross-reference one.
417
+ */
418
+ export interface QuoteRequestRecord {
419
+ id: string;
420
+ businessId: string;
421
+ organizationId: string;
422
+ customerAccountId: string;
423
+ createdByAdminUserId: string | null;
424
+ assignedAdminUserId: string | null;
425
+ status: QuoteRequestStatus;
426
+ headerNote: string | null;
427
+ cancellationReason: string | null;
428
+ awaitingCustomerRevisionAcceptance: boolean;
429
+ lastCustomerSeenRevisionNumber: number;
430
+ currentRevisionNumber: number;
431
+ submittedAt: Date | null;
432
+ approvedAt: Date | null;
433
+ canceledAt: Date | null;
434
+ completedAt: Date | null;
435
+ expiredAt: Date | null;
436
+ expiresAt: Date | null;
437
+ convertedOrderId: string | null;
438
+ customFieldValues: Record<string, unknown>;
439
+ version: number;
440
+ createdAt: Date;
441
+ updatedAt: Date;
442
+ }
443
+ /**
444
+ * One quote-request line, as the module that converts one back into a cart
445
+ * reads it (feature 075, `carts`' cut).
446
+ *
447
+ * Narrower than the row on purpose: the conversion re-resolves every price
448
+ * against the buyer's current price list (FR-017), so the money columns are
449
+ * deliberately absent — a caller that cannot see `desiredUnitPrice` cannot
450
+ * accidentally carry it over, which is the rule the conversion exists to obey.
451
+ * `productName` travels because a dropped line is reported by name.
452
+ */
453
+ export interface QuoteRequestLineRecord {
454
+ id: string;
455
+ quoteRequestId: string;
456
+ productId: string;
457
+ productName: string;
458
+ variantId: string | null;
459
+ quantity: number;
460
+ packagingUnitName: string | null;
461
+ packagingUnitBaseQuantity: number | null;
462
+ /** Present for ERP export callers; cart conversion ignores these (FR-017). */
463
+ lineCurrency: string;
464
+ agreedUnitPrice: string | null;
465
+ desiredUnitPrice: string | null;
466
+ }
467
+ /**
468
+ * Container name: `quoteRequestReadPort`. Owner: `quote_requests`.
469
+ *
470
+ * Two consumers, two questions. `carts` resolves the quote a cart was
471
+ * converted from, to show the buyer where the prices came from;
472
+ * `organizations` counts the open quotes per organisation on the sales-rep
473
+ * screen, which is where `OPEN_QUOTE_REQUEST_STATUSES` had been written out by
474
+ * hand.
475
+ *
476
+ * **Owner off:** the seam fails closed — resolving this port throws
477
+ * `ModuleDisabledError` and the call answers 503 `MODULE_DISABLED`, so nothing
478
+ * half-executes. Whether `quote_requests` has an off state at all is its manifest's
479
+ * `activation` to say, not this line's: a module declaring
480
+ * `nonDeactivatable` never enters one.
481
+ */
482
+ export interface QuoteRequestReadPort {
483
+ findById(id: string): Promise<QuoteRequestRecord | null>;
484
+ /**
485
+ * Open quotes for the given organisations. Empty `organizationIds` answers
486
+ * the empty array rather than every quote — a rep assigned nothing sees
487
+ * nothing, which is not the same question as "no filter".
488
+ */
489
+ listOpenForOrganizations(organizationIds: readonly string[]): Promise<QuoteRequestRecord[]>;
490
+ /**
491
+ * The quote's lines, in insertion order. Added in `carts`' cut: the
492
+ * quote-to-cart conversion read `QuoteRequestItem` directly, so it kept
493
+ * re-stocking a cart from quotes belonging to a module an operator had
494
+ * switched off.
495
+ */
496
+ listItems(quoteRequestId: string): Promise<QuoteRequestLineRecord[]>;
497
+ /**
498
+ * The quote carrying this human-facing business id, or `null`.
499
+ *
500
+ * Added in `comarch_xl`'s cut: an ERP offer names the quote it answers by
501
+ * the reference a person read off the document, never by the uuid, and the
502
+ * connector had been reading `quote_requests` with a raw statement to
503
+ * resolve it.
504
+ */
505
+ findByBusinessId(businessId: string): Promise<QuoteRequestRecord | null>;
506
+ }
507
+ /** Who is asking, on a customer-facing quote path. */
508
+ export interface RfqCustomerContext {
509
+ customerAccountId: string;
510
+ organizationId: string;
511
+ /**
512
+ * True when the account holds the org-admin role on the current
513
+ * organisation (FR-011 — broader visibility).
514
+ */
515
+ isOrgAdmin: boolean;
516
+ }
517
+ /**
518
+ * Container name: `rfqService`. Owner: `quote_requests`.
519
+ *
520
+ * The customer-facing quote surface five modules reach: `carts` converting a
521
+ * cart, `orders` cloning an order to a quote, `shopping_lists` and
522
+ * `quick_order` quoting a built list, `customers` listing a buyer's quotes.
523
+ *
524
+ * Both methods already answer with contract DTOs, so this port needed no
525
+ * adapter — only a published name for the shape the five were importing the
526
+ * class to get.
527
+ *
528
+ * **Owner off:** the seam fails closed — resolving this port throws
529
+ * `ModuleDisabledError` and the call answers 503 `MODULE_DISABLED`, so nothing
530
+ * half-executes. Whether `quote_requests` has an off state at all is its manifest's
531
+ * `activation` to say, not this line's: a module declaring
532
+ * `nonDeactivatable` never enters one.
533
+ */
534
+ export interface RfqCustomerPort {
535
+ createForCustomer(ctx: RfqCustomerContext, input: CreateQuoteRequest): Promise<QuoteRequest>;
536
+ listForCustomer(ctx: RfqCustomerContext): Promise<QuoteRequestSummary[]>;
537
+ }
538
+ //# sourceMappingURL=quote-requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quote-requests.d.ts","sourceRoot":"","sources":["../src/quote-requests.ts"],"names":[],"mappings":"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"}