@openlup/platform 0.26.0 → 0.27.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 (520) hide show
  1. package/CHANGELOG.md +138 -218
  2. package/README.md +229 -16
  3. package/dist/commerce/adapters/managed/commerceOmsControlPlane.d.ts +3 -0
  4. package/dist/commerce/adapters/managed/commerceOmsControlPlane.js +71 -0
  5. package/dist/commerce/adapters/managed/commerceOmsMutations.d.ts +10 -0
  6. package/dist/commerce/adapters/managed/commerceOmsMutations.js +119 -0
  7. package/dist/commerce/adapters/managed/commerceOmsPort.d.ts +28 -0
  8. package/dist/commerce/adapters/managed/commerceOmsPort.js +101 -0
  9. package/dist/commerce/adapters/managed/oms/accounting.d.ts +3 -0
  10. package/dist/commerce/adapters/managed/oms/accounting.js +13 -0
  11. package/dist/commerce/adapters/managed/oms/fulfillmentReads.d.ts +17 -0
  12. package/dist/commerce/adapters/managed/oms/fulfillmentReads.js +81 -0
  13. package/dist/commerce/adapters/managed/oms/inboundEvents.d.ts +9 -0
  14. package/dist/commerce/adapters/managed/oms/inboundEvents.js +40 -0
  15. package/dist/commerce/adapters/managed/oms/outboxEvents.d.ts +2 -0
  16. package/dist/commerce/adapters/managed/oms/outboxEvents.js +23 -0
  17. package/dist/commerce/adapters/managed/oms/paymentAttempts.d.ts +3 -0
  18. package/dist/commerce/adapters/managed/oms/paymentAttempts.js +15 -0
  19. package/dist/commerce/adapters/managed/oms/queueSelection.d.ts +12 -0
  20. package/dist/commerce/adapters/managed/oms/queueSelection.js +109 -0
  21. package/dist/commerce/adapters/managed/oms/readProjections.d.ts +18 -0
  22. package/dist/commerce/adapters/managed/oms/readProjections.js +13 -0
  23. package/dist/commerce/adapters/managed/oms/readQueries.d.ts +16 -0
  24. package/dist/commerce/adapters/managed/oms/readQueries.js +276 -0
  25. package/dist/commerce/adapters/managed/oms/types.d.ts +2 -0
  26. package/dist/commerce/adapters/managed/oms/types.js +7 -0
  27. package/dist/commerce/checkoutCommandSchemas.d.ts +89 -0
  28. package/dist/commerce/checkoutCommandSchemas.js +70 -0
  29. package/dist/commerce/checkoutHelpers.d.ts +21 -0
  30. package/dist/commerce/checkoutHelpers.js +29 -0
  31. package/dist/commerce/checkoutResumeSchemas.d.ts +158 -0
  32. package/dist/commerce/checkoutResumeSchemas.js +145 -0
  33. package/dist/commerce/checkoutSchemas.d.ts +158 -0
  34. package/dist/commerce/checkoutSchemas.js +161 -0
  35. package/dist/commerce/commerceReturnsPort.d.ts +97 -0
  36. package/dist/commerce/commerceReturnsPort.js +39 -0
  37. package/dist/commerce/configuratorIntentPersistenceSchemas.d.ts +20 -0
  38. package/dist/commerce/configuratorIntentPersistenceSchemas.js +21 -0
  39. package/dist/commerce/configuratorIntentSchemas.d.ts +63 -0
  40. package/dist/commerce/configuratorIntentSchemas.js +43 -0
  41. package/dist/commerce/contractPrimitives.d.ts +50 -0
  42. package/dist/commerce/contractPrimitives.js +25 -0
  43. package/dist/commerce/contracts/availability.d.ts +23 -0
  44. package/dist/commerce/contracts/availability.js +1 -0
  45. package/dist/commerce/contracts/fulfillmentRecovery.d.ts +25 -0
  46. package/dist/commerce/contracts/fulfillmentRecovery.js +1 -0
  47. package/dist/commerce/contracts/index.d.ts +13 -0
  48. package/dist/commerce/contracts/index.js +1 -0
  49. package/dist/commerce/contracts/intent.d.ts +86 -0
  50. package/dist/commerce/contracts/intent.js +1 -0
  51. package/dist/commerce/contracts/omsTypes.d.ts +1216 -0
  52. package/dist/commerce/contracts/omsTypes.js +1 -0
  53. package/dist/commerce/contracts/order.d.ts +39 -0
  54. package/dist/commerce/contracts/order.js +1 -0
  55. package/dist/commerce/contracts/orderMoney.d.ts +52 -0
  56. package/dist/commerce/contracts/orderMoney.js +1 -0
  57. package/dist/commerce/contracts/ports.d.ts +113 -0
  58. package/dist/commerce/contracts/ports.js +1 -0
  59. package/dist/commerce/contracts/recovery.d.ts +11 -0
  60. package/dist/commerce/contracts/recovery.js +1 -0
  61. package/dist/commerce/contracts/runtimePorts.d.ts +196 -0
  62. package/dist/commerce/contracts/runtimePorts.js +1 -0
  63. package/dist/commerce/contracts/state.d.ts +26 -0
  64. package/dist/commerce/contracts/state.js +43 -0
  65. package/dist/commerce/customerDefaultsSnapshotSchemas.d.ts +51 -0
  66. package/dist/commerce/customerDefaultsSnapshotSchemas.js +106 -0
  67. package/dist/commerce/errors.d.ts +18 -0
  68. package/dist/commerce/errors.js +36 -0
  69. package/dist/commerce/fulfillmentEligibility.d.ts +6 -0
  70. package/dist/commerce/fulfillmentEligibility.js +31 -0
  71. package/dist/commerce/index.d.ts +72 -0
  72. package/dist/commerce/index.js +67 -0
  73. package/dist/commerce/model/customerFulfillmentRecovery.d.ts +40 -0
  74. package/dist/commerce/model/customerFulfillmentRecovery.js +144 -0
  75. package/dist/commerce/model/fulfillmentCancellationEligibility.d.ts +7 -0
  76. package/dist/commerce/model/fulfillmentCancellationEligibility.js +9 -0
  77. package/dist/commerce/model/omsAccountingVisibility.d.ts +12 -0
  78. package/dist/commerce/model/omsAccountingVisibility.js +118 -0
  79. package/dist/commerce/model/omsBillingInvoiceBuyer.d.ts +2 -0
  80. package/dist/commerce/model/omsBillingInvoiceBuyer.js +15 -0
  81. package/dist/commerce/model/omsCurrency.d.ts +4 -0
  82. package/dist/commerce/model/omsCurrency.js +5 -0
  83. package/dist/commerce/model/omsFulfillmentDebug.d.ts +20 -0
  84. package/dist/commerce/model/omsFulfillmentDebug.js +122 -0
  85. package/dist/commerce/model/omsFulfillmentSummary.d.ts +16 -0
  86. package/dist/commerce/model/omsFulfillmentSummary.js +189 -0
  87. package/dist/commerce/model/omsListTotals.d.ts +13 -0
  88. package/dist/commerce/model/omsListTotals.js +32 -0
  89. package/dist/commerce/model/omsOperationalLadder.d.ts +51 -0
  90. package/dist/commerce/model/omsOperationalLadder.js +158 -0
  91. package/dist/commerce/model/omsOrderLineMoney.d.ts +4 -0
  92. package/dist/commerce/model/omsOrderLineMoney.js +25 -0
  93. package/dist/commerce/model/omsPaymentMethodSummary.d.ts +5 -0
  94. package/dist/commerce/model/omsPaymentMethodSummary.js +11 -0
  95. package/dist/commerce/model/omsReadModel.d.ts +43 -0
  96. package/dist/commerce/model/omsReadModel.js +211 -0
  97. package/dist/commerce/model/omsReadModelCommunication.d.ts +3 -0
  98. package/dist/commerce/model/omsReadModelCommunication.js +29 -0
  99. package/dist/commerce/model/omsReadModelHelpers.d.ts +125 -0
  100. package/dist/commerce/model/omsReadModelHelpers.js +212 -0
  101. package/dist/commerce/model/omsReadModelList.d.ts +33 -0
  102. package/dist/commerce/model/omsReadModelList.js +50 -0
  103. package/dist/commerce/model/omsReadModelListSummary.d.ts +3 -0
  104. package/dist/commerce/model/omsReadModelListSummary.js +13 -0
  105. package/dist/commerce/model/omsReadModelPricing.d.ts +5 -0
  106. package/dist/commerce/model/omsReadModelPricing.js +36 -0
  107. package/dist/commerce/model/omsReadModelProjections.d.ts +1 -0
  108. package/dist/commerce/model/omsReadModelProjections.js +1 -0
  109. package/dist/commerce/model/omsReadModelRowCore.d.ts +79 -0
  110. package/dist/commerce/model/omsReadModelRowCore.js +149 -0
  111. package/dist/commerce/model/omsReadModelRows.d.ts +1 -0
  112. package/dist/commerce/model/omsReadModelRows.js +6 -0
  113. package/dist/commerce/offerAvailability.d.ts +18 -0
  114. package/dist/commerce/offerAvailability.js +53 -0
  115. package/dist/commerce/offerAvailabilitySchemas.d.ts +43 -0
  116. package/dist/commerce/offerAvailabilitySchemas.js +42 -0
  117. package/dist/commerce/offerEvidenceSchemas.d.ts +7 -0
  118. package/dist/commerce/offerEvidenceSchemas.js +13 -0
  119. package/dist/commerce/oms/omsContractBase.d.ts +130 -0
  120. package/dist/commerce/oms/omsContractBase.js +86 -0
  121. package/dist/commerce/oms/omsContractReadAuxSchemas.d.ts +222 -0
  122. package/dist/commerce/oms/omsContractReadAuxSchemas.js +123 -0
  123. package/dist/commerce/oms/omsContractReadSchemas.d.ts +2266 -0
  124. package/dist/commerce/oms/omsContractReadSchemas.js +277 -0
  125. package/dist/commerce/oms/omsContractRequests.d.ts +196 -0
  126. package/dist/commerce/oms/omsContractRequests.js +118 -0
  127. package/dist/commerce/oms/omsContracts.d.ts +5 -0
  128. package/dist/commerce/oms/omsContracts.js +4 -0
  129. package/dist/commerce/oms/omsControlPlane.d.ts +275 -0
  130. package/dist/commerce/oms/omsControlPlane.js +72 -0
  131. package/dist/commerce/oms/omsFulfillmentContractSchemas.d.ts +203 -0
  132. package/dist/commerce/oms/omsFulfillmentContractSchemas.js +94 -0
  133. package/dist/commerce/oms/omsFulfillmentDebugSchemas.d.ts +69 -0
  134. package/dist/commerce/oms/omsFulfillmentDebugSchemas.js +33 -0
  135. package/dist/commerce/oms/omsFulfillmentHealthSchemas.d.ts +67 -0
  136. package/dist/commerce/oms/omsFulfillmentHealthSchemas.js +44 -0
  137. package/dist/commerce/oms/omsPorts.d.ts +84 -0
  138. package/dist/commerce/oms/omsPorts.js +148 -0
  139. package/dist/commerce/oms/omsPrimitives.d.ts +5 -0
  140. package/dist/commerce/oms/omsPrimitives.js +3 -0
  141. package/dist/commerce/oms/omsProviderEvidenceSchemas.d.ts +15 -0
  142. package/dist/commerce/oms/omsProviderEvidenceSchemas.js +12 -0
  143. package/dist/commerce/orderDraftErrors.d.ts +13 -0
  144. package/dist/commerce/orderDraftErrors.js +20 -0
  145. package/dist/commerce/orderEmailEligibility.d.ts +54 -0
  146. package/dist/commerce/orderEmailEligibility.js +123 -0
  147. package/dist/commerce/orderEmailLines.d.ts +12 -0
  148. package/dist/commerce/orderEmailLines.js +8 -0
  149. package/dist/commerce/orderFeedbackContracts.d.ts +41 -0
  150. package/dist/commerce/orderFeedbackContracts.js +33 -0
  151. package/dist/commerce/orderMoney.d.ts +6 -0
  152. package/dist/commerce/orderMoney.js +168 -0
  153. package/dist/commerce/orderReviewContracts.d.ts +475 -0
  154. package/dist/commerce/orderReviewContracts.js +94 -0
  155. package/dist/commerce/orderReviewPorts.d.ts +140 -0
  156. package/dist/commerce/orderReviewPorts.js +1 -0
  157. package/dist/commerce/outboxDispatchContracts.d.ts +30 -0
  158. package/dist/commerce/outboxDispatchContracts.js +1 -0
  159. package/dist/commerce/outboxEventSchemas.d.ts +162 -0
  160. package/dist/commerce/outboxEventSchemas.js +164 -0
  161. package/dist/commerce/outboxOrderDraftEmailPorts.d.ts +207 -0
  162. package/dist/commerce/outboxOrderDraftEmailPorts.js +12 -0
  163. package/dist/commerce/paymentContinuation.d.ts +4 -0
  164. package/dist/commerce/paymentContinuation.js +4 -0
  165. package/dist/commerce/ports.d.ts +8 -0
  166. package/dist/commerce/ports.js +1 -0
  167. package/dist/commerce/recoveryDestination.d.ts +3 -0
  168. package/dist/commerce/recoveryDestination.js +17 -0
  169. package/dist/commerce/runtimeErrors.d.ts +8 -0
  170. package/dist/commerce/runtimeErrors.js +16 -0
  171. package/dist/commerce/salesChannelEnvelope.d.ts +20 -0
  172. package/dist/commerce/salesChannelEnvelope.js +7 -0
  173. package/dist/commerce/schemas.d.ts +174 -0
  174. package/dist/commerce/schemas.js +84 -0
  175. package/dist/commerce/server/checkoutCompensation.d.ts +21 -0
  176. package/dist/commerce/server/checkoutCompensation.js +32 -0
  177. package/dist/commerce/server/checkoutConflictClassifiers.d.ts +17 -0
  178. package/dist/commerce/server/checkoutConflictClassifiers.js +38 -0
  179. package/dist/commerce/server/checkoutExpiredRecoveryPolicy.d.ts +38 -0
  180. package/dist/commerce/server/checkoutExpiredRecoveryPolicy.js +85 -0
  181. package/dist/commerce/server/checkoutInvoiceBuyerSnapshot.d.ts +22 -0
  182. package/dist/commerce/server/checkoutInvoiceBuyerSnapshot.js +30 -0
  183. package/dist/commerce/server/checkoutOfferPolicyPort.d.ts +33 -0
  184. package/dist/commerce/server/checkoutOfferPolicyPort.js +49 -0
  185. package/dist/commerce/server/checkoutPaymentContinuationCredential.d.ts +58 -0
  186. package/dist/commerce/server/checkoutPaymentContinuationCredential.js +154 -0
  187. package/dist/commerce/server/checkoutQuoteTypes.d.ts +19 -0
  188. package/dist/commerce/server/checkoutQuoteTypes.js +1 -0
  189. package/dist/commerce/server/checkoutRecoveryOrderPort.d.ts +42 -0
  190. package/dist/commerce/server/checkoutRecoveryOrderPort.js +1 -0
  191. package/dist/commerce/server/checkoutRecoveryToken.d.ts +40 -0
  192. package/dist/commerce/server/checkoutRecoveryToken.js +26 -0
  193. package/dist/commerce/server/checkoutRefusalContinuation.d.ts +24 -0
  194. package/dist/commerce/server/checkoutRefusalContinuation.js +18 -0
  195. package/dist/commerce/server/checkoutRuntimeTypes.d.ts +81 -0
  196. package/dist/commerce/server/checkoutRuntimeTypes.js +1 -0
  197. package/dist/commerce/server/commerceCheckoutCommandExecution.d.ts +60 -0
  198. package/dist/commerce/server/commerceCheckoutCommandExecution.js +136 -0
  199. package/dist/commerce/server/commerceCheckoutCompensation.d.ts +26 -0
  200. package/dist/commerce/server/commerceCheckoutCompensation.js +46 -0
  201. package/dist/commerce/server/commerceCheckoutContinuationTerms.d.ts +50 -0
  202. package/dist/commerce/server/commerceCheckoutContinuationTerms.js +66 -0
  203. package/dist/commerce/server/commerceCheckoutCustomerDefaults.d.ts +18 -0
  204. package/dist/commerce/server/commerceCheckoutCustomerDefaults.js +17 -0
  205. package/dist/commerce/server/commerceCheckoutFailureHandler.d.ts +51 -0
  206. package/dist/commerce/server/commerceCheckoutFailureHandler.js +90 -0
  207. package/dist/commerce/server/commerceCheckoutHandler.d.ts +213 -0
  208. package/dist/commerce/server/commerceCheckoutHandler.js +196 -0
  209. package/dist/commerce/server/commerceCheckoutHandlerAdmission.d.ts +58 -0
  210. package/dist/commerce/server/commerceCheckoutHandlerAdmission.js +94 -0
  211. package/dist/commerce/server/commerceCheckoutHandlerHelpers.d.ts +67 -0
  212. package/dist/commerce/server/commerceCheckoutHandlerHelpers.js +155 -0
  213. package/dist/commerce/server/commerceCheckoutOrchestrationError.d.ts +9 -0
  214. package/dist/commerce/server/commerceCheckoutOrchestrationError.js +14 -0
  215. package/dist/commerce/server/commerceCheckoutPromotionPriceChange.d.ts +47 -0
  216. package/dist/commerce/server/commerceCheckoutPromotionPriceChange.js +43 -0
  217. package/dist/commerce/server/commerceCheckoutProviderPayment.d.ts +34 -0
  218. package/dist/commerce/server/commerceCheckoutProviderPayment.js +37 -0
  219. package/dist/commerce/server/commerceCheckoutQuoteGuard.d.ts +62 -0
  220. package/dist/commerce/server/commerceCheckoutQuoteGuard.js +106 -0
  221. package/dist/commerce/server/commerceCheckoutResume.d.ts +29 -0
  222. package/dist/commerce/server/commerceCheckoutResume.js +81 -0
  223. package/dist/commerce/server/commerceCheckoutResumeGuard.d.ts +54 -0
  224. package/dist/commerce/server/commerceCheckoutResumeGuard.js +138 -0
  225. package/dist/commerce/server/commerceCheckoutSavedPaymentMethod.d.ts +39 -0
  226. package/dist/commerce/server/commerceCheckoutSavedPaymentMethod.js +44 -0
  227. package/dist/commerce/server/commerceCheckoutStartRuntimeFailure.d.ts +7 -0
  228. package/dist/commerce/server/commerceCheckoutStartRuntimeFailure.js +39 -0
  229. package/dist/commerce/server/commerceCheckoutTiming.d.ts +8 -0
  230. package/dist/commerce/server/commerceCheckoutTiming.js +31 -0
  231. package/dist/commerce/server/commerceDiagnostics.d.ts +6 -0
  232. package/dist/commerce/server/commerceDiagnostics.js +31 -0
  233. package/dist/commerce/server/commerceOmsCancelOrderHandler.d.ts +7 -0
  234. package/dist/commerce/server/commerceOmsCancelOrderHandler.js +22 -0
  235. package/dist/commerce/server/commerceOmsControlPlaneHandlers.d.ts +18 -0
  236. package/dist/commerce/server/commerceOmsControlPlaneHandlers.js +60 -0
  237. package/dist/commerce/server/commerceOmsHandlers.d.ts +47 -0
  238. package/dist/commerce/server/commerceOmsHandlers.js +176 -0
  239. package/dist/commerce/server/commerceOmsMarkRefundedHandler.d.ts +7 -0
  240. package/dist/commerce/server/commerceOmsMarkRefundedHandler.js +19 -0
  241. package/dist/commerce/server/commerceOrderDraft.d.ts +24 -0
  242. package/dist/commerce/server/commerceOrderDraft.js +92 -0
  243. package/dist/commerce/server/commercePaidOrderOrchestration.d.ts +131 -0
  244. package/dist/commerce/server/commercePaidOrderOrchestration.js +140 -0
  245. package/dist/commerce/server/commerceProviderAttemptFailure.d.ts +133 -0
  246. package/dist/commerce/server/commerceProviderAttemptFailure.js +175 -0
  247. package/dist/commerce/server/commerceReturnsHandlers.d.ts +41 -0
  248. package/dist/commerce/server/commerceReturnsHandlers.js +100 -0
  249. package/dist/commerce/server/commerceRuntimePort.d.ts +16 -0
  250. package/dist/commerce/server/commerceRuntimePort.js +57 -0
  251. package/dist/commerce/server/commerceRuntimeService.d.ts +98 -0
  252. package/dist/commerce/server/commerceRuntimeService.js +186 -0
  253. package/dist/commerce/server/commerceRuntimeStartResponse.d.ts +37 -0
  254. package/dist/commerce/server/commerceRuntimeStartResponse.js +56 -0
  255. package/dist/commerce/server/commerceStarterOfferGuard.d.ts +55 -0
  256. package/dist/commerce/server/commerceStarterOfferGuard.js +128 -0
  257. package/dist/commerce/server/configuratorIntentPersistence.d.ts +47 -0
  258. package/dist/commerce/server/configuratorIntentPersistence.js +85 -0
  259. package/dist/commerce/server/configuratorIntentPersistenceHandler.d.ts +14 -0
  260. package/dist/commerce/server/configuratorIntentPersistenceHandler.js +42 -0
  261. package/dist/commerce/server/emailRuntime.d.ts +47 -0
  262. package/dist/commerce/server/emailRuntime.js +1 -0
  263. package/dist/commerce/server/handlerSupport.d.ts +68 -0
  264. package/dist/commerce/server/handlerSupport.js +1 -0
  265. package/dist/commerce/server/index.d.ts +178 -0
  266. package/dist/commerce/server/index.js +127 -0
  267. package/dist/commerce/server/offerAvailability.d.ts +21 -0
  268. package/dist/commerce/server/offerAvailability.js +163 -0
  269. package/dist/commerce/server/orderDraftRpcPayload.d.ts +20 -0
  270. package/dist/commerce/server/orderDraftRpcPayload.js +21 -0
  271. package/dist/commerce/server/orderFeedbackSubmit.d.ts +20 -0
  272. package/dist/commerce/server/orderFeedbackSubmit.js +16 -0
  273. package/dist/commerce/server/orderFeedbackTokenCheck.d.ts +17 -0
  274. package/dist/commerce/server/orderFeedbackTokenCheck.js +14 -0
  275. package/dist/commerce/server/orderReviewAdminHandlers.d.ts +47 -0
  276. package/dist/commerce/server/orderReviewAdminHandlers.js +41 -0
  277. package/dist/commerce/server/orderReviewHandlers.d.ts +114 -0
  278. package/dist/commerce/server/orderReviewHandlers.js +42 -0
  279. package/dist/commerce/server/orderReviewLifecycle.d.ts +10 -0
  280. package/dist/commerce/server/orderReviewLifecycle.js +121 -0
  281. package/dist/commerce/server/orderReviewMedia.d.ts +11 -0
  282. package/dist/commerce/server/orderReviewMedia.js +172 -0
  283. package/dist/commerce/server/orderReviewRawUploadHandler.d.ts +40 -0
  284. package/dist/commerce/server/orderReviewRawUploadHandler.js +316 -0
  285. package/dist/commerce/server/outboxCheckoutExpiredEmailHandler.d.ts +14 -0
  286. package/dist/commerce/server/outboxCheckoutExpiredEmailHandler.js +57 -0
  287. package/dist/commerce/server/outboxCheckoutRecoveryEmailHandler.d.ts +13 -0
  288. package/dist/commerce/server/outboxCheckoutRecoveryEmailHandler.js +150 -0
  289. package/dist/commerce/server/outboxDispatchRegistry.d.ts +46 -0
  290. package/dist/commerce/server/outboxDispatchRegistry.js +184 -0
  291. package/dist/commerce/server/outboxDispatchRegistryComposition.d.ts +6 -0
  292. package/dist/commerce/server/outboxDispatchRegistryComposition.js +23 -0
  293. package/dist/commerce/server/outboxOrderDraftEmailHandler.d.ts +14 -0
  294. package/dist/commerce/server/outboxOrderDraftEmailHandler.js +130 -0
  295. package/dist/commerce/server/outboxOrderPaidEmailHandler.d.ts +21 -0
  296. package/dist/commerce/server/outboxOrderPaidEmailHandler.js +93 -0
  297. package/dist/commerce/server/outboxOrderPaidFulfillmentHandler.d.ts +3 -0
  298. package/dist/commerce/server/outboxOrderPaidFulfillmentHandler.js +1 -0
  299. package/dist/commerce/server/outboxOrderPaidFulfillmentPorts.d.ts +3 -0
  300. package/dist/commerce/server/outboxOrderPaidFulfillmentPorts.js +1 -0
  301. package/dist/commerce/server/outboxOrderRefundedEmailHandler.d.ts +13 -0
  302. package/dist/commerce/server/outboxOrderRefundedEmailHandler.js +42 -0
  303. package/dist/commerce/server/outboxPaymentFailedEmailHandler.d.ts +14 -0
  304. package/dist/commerce/server/outboxPaymentFailedEmailHandler.js +65 -0
  305. package/dist/commerce/server/outboxReturnEmailHandlers.d.ts +26 -0
  306. package/dist/commerce/server/outboxReturnEmailHandlers.js +53 -0
  307. package/dist/commerce/server/outboxShipmentDeliveredEmailHandler.d.ts +17 -0
  308. package/dist/commerce/server/outboxShipmentDeliveredEmailHandler.js +52 -0
  309. package/dist/commerce/server/outboxShipmentDispatchedEmailHandler.d.ts +13 -0
  310. package/dist/commerce/server/outboxShipmentDispatchedEmailHandler.js +87 -0
  311. package/dist/commerce/server/outboxShipmentExceptionEmailHandler.d.ts +13 -0
  312. package/dist/commerce/server/outboxShipmentExceptionEmailHandler.js +46 -0
  313. package/dist/commerce/server/referenceCheckoutHandler.d.ts +48 -0
  314. package/dist/commerce/server/referenceCheckoutHandler.js +68 -0
  315. package/dist/commerce/server/reservationSweepPort.d.ts +31 -0
  316. package/dist/commerce/server/reservationSweepPort.js +45 -0
  317. package/dist/commerce/server/starterTermsPort.d.ts +22 -0
  318. package/dist/commerce/server/starterTermsPort.js +1 -0
  319. package/dist/commerce/server/supabaseCommerceReturnsPort.d.ts +13 -0
  320. package/dist/commerce/server/supabaseCommerceReturnsPort.js +56 -0
  321. package/dist/communications/consentPurposeRegistry.d.ts +1 -1
  322. package/dist/communications/newsletterIntegrationContracts.d.ts +5 -5
  323. package/dist/composition/commerceContribution.d.ts +21 -0
  324. package/dist/composition/commerceContribution.js +27 -0
  325. package/dist/composition/index.d.ts +1 -0
  326. package/dist/composition/index.js +1 -0
  327. package/dist/fulfillment/handlerSchemas.d.ts +41 -41
  328. package/dist/fulfillment/index.d.ts +1 -1
  329. package/dist/fulfillment/index.js +1 -1
  330. package/dist/fulfillment/paidHandoff.d.ts +12 -1
  331. package/dist/fulfillment/paidHandoff.js +2 -2
  332. package/dist/fulfillment/providerDispatchWorker.d.ts +4 -4
  333. package/dist/identity/customerContracts.d.ts +2 -2
  334. package/dist/inventory/bindings.d.ts +3 -0
  335. package/dist/inventory/bindings.js +10 -4
  336. package/dist/inventory/index.d.ts +1 -0
  337. package/dist/inventory/index.js +1 -0
  338. package/dist/inventory/managedStockAvailability.d.ts +15 -0
  339. package/dist/inventory/managedStockAvailability.js +16 -0
  340. package/dist/inventory/postgresStockAvailability.js +2 -25
  341. package/dist/inventory/schemas.d.ts +1 -1
  342. package/dist/inventory/stockReadResponse.d.ts +4 -0
  343. package/dist/inventory/stockReadResponse.js +27 -0
  344. package/dist/pricing/browser/index.d.ts +6 -0
  345. package/dist/pricing/browser/index.js +6 -0
  346. package/dist/promotions/adminPromotionsContracts.d.ts +2 -2
  347. package/dist/subscriptions/index.d.ts +3 -2
  348. package/dist/subscriptions/index.js +3 -2
  349. package/package.json +22 -2
  350. package/release-gates.json +63 -8
  351. package/src/commerce/adapters/managed/commerceOmsControlPlane.ts +80 -0
  352. package/src/commerce/adapters/managed/commerceOmsMutations.ts +145 -0
  353. package/src/commerce/adapters/managed/commerceOmsPort.ts +158 -0
  354. package/src/commerce/adapters/managed/oms/accounting.ts +18 -0
  355. package/src/commerce/adapters/managed/oms/fulfillmentReads.ts +82 -0
  356. package/src/commerce/adapters/managed/oms/inboundEvents.ts +45 -0
  357. package/src/commerce/adapters/managed/oms/outboxEvents.ts +30 -0
  358. package/src/commerce/adapters/managed/oms/paymentAttempts.ts +19 -0
  359. package/src/commerce/adapters/managed/oms/queueSelection.ts +132 -0
  360. package/src/commerce/adapters/managed/oms/readProjections.ts +22 -0
  361. package/src/commerce/adapters/managed/oms/readQueries.ts +292 -0
  362. package/src/commerce/adapters/managed/oms/types.ts +9 -0
  363. package/src/commerce/checkoutCommandSchemas.ts +93 -0
  364. package/src/commerce/checkoutHelpers.ts +47 -0
  365. package/src/commerce/checkoutResumeSchemas.ts +164 -0
  366. package/src/commerce/checkoutSchemas.ts +182 -0
  367. package/src/commerce/commerceReturnsPort.ts +67 -0
  368. package/src/commerce/configuratorIntentPersistenceSchemas.ts +26 -0
  369. package/src/commerce/configuratorIntentSchemas.ts +47 -0
  370. package/src/commerce/contractPrimitives.ts +30 -0
  371. package/src/commerce/contracts/availability.ts +21 -0
  372. package/src/commerce/contracts/fulfillmentRecovery.ts +26 -0
  373. package/src/commerce/contracts/index.ts +17 -0
  374. package/src/commerce/contracts/intent.ts +58 -0
  375. package/src/commerce/contracts/omsTypes.ts +1217 -0
  376. package/src/commerce/contracts/order.ts +44 -0
  377. package/src/commerce/contracts/orderMoney.ts +75 -0
  378. package/src/commerce/contracts/ports.ts +124 -0
  379. package/src/commerce/contracts/recovery.ts +24 -0
  380. package/src/commerce/contracts/runtimePorts.ts +201 -0
  381. package/src/commerce/contracts/state.ts +64 -0
  382. package/src/commerce/customerDefaultsSnapshotSchemas.ts +117 -0
  383. package/src/commerce/errors.ts +53 -0
  384. package/src/commerce/fulfillmentEligibility.ts +32 -0
  385. package/src/commerce/index.ts +82 -0
  386. package/src/commerce/model/customerFulfillmentRecovery.ts +185 -0
  387. package/src/commerce/model/fulfillmentCancellationEligibility.ts +18 -0
  388. package/src/commerce/model/omsAccountingVisibility.ts +135 -0
  389. package/src/commerce/model/omsBillingInvoiceBuyer.ts +20 -0
  390. package/src/commerce/model/omsCurrency.ts +8 -0
  391. package/src/commerce/model/omsFulfillmentDebug.ts +157 -0
  392. package/src/commerce/model/omsFulfillmentSummary.ts +225 -0
  393. package/src/commerce/model/omsListTotals.ts +38 -0
  394. package/src/commerce/model/omsOperationalLadder.ts +181 -0
  395. package/src/commerce/model/omsOrderLineMoney.ts +34 -0
  396. package/src/commerce/model/omsPaymentMethodSummary.ts +19 -0
  397. package/src/commerce/model/omsReadModel.ts +302 -0
  398. package/src/commerce/model/omsReadModelCommunication.ts +32 -0
  399. package/src/commerce/model/omsReadModelHelpers.ts +279 -0
  400. package/src/commerce/model/omsReadModelList.ts +90 -0
  401. package/src/commerce/model/omsReadModelListSummary.ts +19 -0
  402. package/src/commerce/model/omsReadModelPricing.ts +57 -0
  403. package/src/commerce/model/omsReadModelProjections.ts +1 -0
  404. package/src/commerce/model/omsReadModelRowCore.ts +193 -0
  405. package/src/commerce/model/omsReadModelRows.ts +7 -0
  406. package/src/commerce/offerAvailability.ts +75 -0
  407. package/src/commerce/offerAvailabilitySchemas.ts +56 -0
  408. package/src/commerce/offerEvidenceSchemas.ts +17 -0
  409. package/src/commerce/oms/omsContractBase.ts +92 -0
  410. package/src/commerce/oms/omsContractReadAuxSchemas.ts +130 -0
  411. package/src/commerce/oms/omsContractReadSchemas.ts +303 -0
  412. package/src/commerce/oms/omsContractRequests.ts +143 -0
  413. package/src/commerce/oms/omsContracts.ts +6 -0
  414. package/src/commerce/oms/omsControlPlane.ts +85 -0
  415. package/src/commerce/oms/omsFulfillmentContractSchemas.ts +113 -0
  416. package/src/commerce/oms/omsFulfillmentDebugSchemas.ts +38 -0
  417. package/src/commerce/oms/omsFulfillmentHealthSchemas.ts +46 -0
  418. package/src/commerce/oms/omsPorts.ts +165 -0
  419. package/src/commerce/oms/omsPrimitives.ts +3 -0
  420. package/src/commerce/oms/omsProviderEvidenceSchemas.ts +13 -0
  421. package/src/commerce/orderDraftErrors.ts +28 -0
  422. package/src/commerce/orderEmailEligibility.ts +131 -0
  423. package/src/commerce/orderEmailLines.ts +22 -0
  424. package/src/commerce/orderFeedbackContracts.ts +47 -0
  425. package/src/commerce/orderMoney.ts +207 -0
  426. package/src/commerce/orderReviewContracts.ts +124 -0
  427. package/src/commerce/orderReviewPorts.ts +94 -0
  428. package/src/commerce/outboxDispatchContracts.ts +30 -0
  429. package/src/commerce/outboxEventSchemas.ts +230 -0
  430. package/src/commerce/outboxOrderDraftEmailPorts.ts +241 -0
  431. package/src/commerce/paymentContinuation.ts +5 -0
  432. package/src/commerce/ports.ts +7 -0
  433. package/src/commerce/recoveryDestination.ts +23 -0
  434. package/src/commerce/runtimeErrors.ts +19 -0
  435. package/src/commerce/salesChannelEnvelope.ts +28 -0
  436. package/src/commerce/schemas.ts +104 -0
  437. package/src/commerce/server/checkoutCompensation.ts +49 -0
  438. package/src/commerce/server/checkoutConflictClassifiers.ts +53 -0
  439. package/src/commerce/server/checkoutExpiredRecoveryPolicy.ts +107 -0
  440. package/src/commerce/server/checkoutInvoiceBuyerSnapshot.ts +36 -0
  441. package/src/commerce/server/checkoutOfferPolicyPort.ts +60 -0
  442. package/src/commerce/server/checkoutPaymentContinuationCredential.ts +222 -0
  443. package/src/commerce/server/checkoutQuoteTypes.ts +9 -0
  444. package/src/commerce/server/checkoutRecoveryOrderPort.ts +40 -0
  445. package/src/commerce/server/checkoutRecoveryToken.ts +63 -0
  446. package/src/commerce/server/checkoutRefusalContinuation.ts +29 -0
  447. package/src/commerce/server/checkoutRuntimeTypes.ts +26 -0
  448. package/src/commerce/server/commerceCheckoutCommandExecution.ts +188 -0
  449. package/src/commerce/server/commerceCheckoutCompensation.ts +66 -0
  450. package/src/commerce/server/commerceCheckoutContinuationTerms.ts +87 -0
  451. package/src/commerce/server/commerceCheckoutCustomerDefaults.ts +24 -0
  452. package/src/commerce/server/commerceCheckoutFailureHandler.ts +144 -0
  453. package/src/commerce/server/commerceCheckoutHandler.ts +269 -0
  454. package/src/commerce/server/commerceCheckoutHandlerAdmission.ts +157 -0
  455. package/src/commerce/server/commerceCheckoutHandlerHelpers.ts +223 -0
  456. package/src/commerce/server/commerceCheckoutOrchestrationError.ts +15 -0
  457. package/src/commerce/server/commerceCheckoutPromotionPriceChange.ts +83 -0
  458. package/src/commerce/server/commerceCheckoutProviderPayment.ts +45 -0
  459. package/src/commerce/server/commerceCheckoutQuoteGuard.ts +172 -0
  460. package/src/commerce/server/commerceCheckoutResume.ts +132 -0
  461. package/src/commerce/server/commerceCheckoutResumeGuard.ts +195 -0
  462. package/src/commerce/server/commerceCheckoutSavedPaymentMethod.ts +85 -0
  463. package/src/commerce/server/commerceCheckoutStartRuntimeFailure.ts +59 -0
  464. package/src/commerce/server/commerceCheckoutTiming.ts +53 -0
  465. package/src/commerce/server/commerceDiagnostics.ts +37 -0
  466. package/src/commerce/server/commerceOmsCancelOrderHandler.ts +43 -0
  467. package/src/commerce/server/commerceOmsControlPlaneHandlers.ts +71 -0
  468. package/src/commerce/server/commerceOmsHandlers.ts +275 -0
  469. package/src/commerce/server/commerceOmsMarkRefundedHandler.ts +39 -0
  470. package/src/commerce/server/commerceOrderDraft.ts +131 -0
  471. package/src/commerce/server/commercePaidOrderOrchestration.ts +275 -0
  472. package/src/commerce/server/commerceProviderAttemptFailure.ts +257 -0
  473. package/src/commerce/server/commerceReturnsHandlers.ts +143 -0
  474. package/src/commerce/server/commerceRuntimePort.ts +75 -0
  475. package/src/commerce/server/commerceRuntimeService.ts +229 -0
  476. package/src/commerce/server/commerceRuntimeStartResponse.ts +76 -0
  477. package/src/commerce/server/commerceStarterOfferGuard.ts +200 -0
  478. package/src/commerce/server/configuratorIntentPersistence.ts +161 -0
  479. package/src/commerce/server/configuratorIntentPersistenceHandler.ts +54 -0
  480. package/src/commerce/server/emailRuntime.ts +30 -0
  481. package/src/commerce/server/handlerSupport.ts +22 -0
  482. package/src/commerce/server/index.ts +181 -0
  483. package/src/commerce/server/offerAvailability.ts +275 -0
  484. package/src/commerce/server/orderDraftRpcPayload.ts +39 -0
  485. package/src/commerce/server/orderFeedbackSubmit.ts +40 -0
  486. package/src/commerce/server/orderFeedbackTokenCheck.ts +28 -0
  487. package/src/commerce/server/orderReviewAdminHandlers.ts +43 -0
  488. package/src/commerce/server/orderReviewHandlers.ts +57 -0
  489. package/src/commerce/server/orderReviewLifecycle.ts +129 -0
  490. package/src/commerce/server/orderReviewMedia.ts +170 -0
  491. package/src/commerce/server/orderReviewRawUploadHandler.ts +300 -0
  492. package/src/commerce/server/outboxCheckoutExpiredEmailHandler.ts +86 -0
  493. package/src/commerce/server/outboxCheckoutRecoveryEmailHandler.ts +188 -0
  494. package/src/commerce/server/outboxDispatchRegistry.ts +269 -0
  495. package/src/commerce/server/outboxDispatchRegistryComposition.ts +31 -0
  496. package/src/commerce/server/outboxOrderDraftEmailHandler.ts +162 -0
  497. package/src/commerce/server/outboxOrderPaidEmailHandler.ts +147 -0
  498. package/src/commerce/server/outboxOrderPaidFulfillmentHandler.ts +4 -0
  499. package/src/commerce/server/outboxOrderPaidFulfillmentPorts.ts +3 -0
  500. package/src/commerce/server/outboxOrderRefundedEmailHandler.ts +58 -0
  501. package/src/commerce/server/outboxPaymentFailedEmailHandler.ts +99 -0
  502. package/src/commerce/server/outboxReturnEmailHandlers.ts +92 -0
  503. package/src/commerce/server/outboxShipmentDeliveredEmailHandler.ts +94 -0
  504. package/src/commerce/server/outboxShipmentDispatchedEmailHandler.ts +112 -0
  505. package/src/commerce/server/outboxShipmentExceptionEmailHandler.ts +73 -0
  506. package/src/commerce/server/referenceCheckoutHandler.ts +87 -0
  507. package/src/commerce/server/reservationSweepPort.ts +67 -0
  508. package/src/commerce/server/starterTermsPort.ts +22 -0
  509. package/src/commerce/server/supabaseCommerceReturnsPort.ts +81 -0
  510. package/src/composition/commerceContribution.ts +35 -0
  511. package/src/composition/index.ts +1 -0
  512. package/src/fulfillment/index.ts +1 -1
  513. package/src/fulfillment/paidHandoff.ts +2 -2
  514. package/src/inventory/bindings.ts +12 -4
  515. package/src/inventory/index.ts +1 -0
  516. package/src/inventory/managedStockAvailability.ts +23 -0
  517. package/src/inventory/postgresStockAvailability.ts +2 -21
  518. package/src/inventory/stockReadResponse.ts +25 -0
  519. package/src/pricing/browser/index.ts +6 -0
  520. package/src/subscriptions/index.ts +3 -2
@@ -0,0 +1,145 @@
1
+ import { z } from "zod";
2
+ import { commerceIdempotencyKeySchema } from "./contractPrimitives.js";
3
+ export const CHECKOUT_RESUME_CONTRACT_VERSION = "commerce.checkout_resume.v1";
4
+ export const checkoutResumeTokenSchema = z.string().trim().min(43).max(128).regex(/^[A-Za-z0-9_-]+$/);
5
+ export const checkoutResumeModeSchema = z.enum(["one_time", "subscription"]);
6
+ export const checkoutResumeCompletionCoreSchema = z
7
+ .object({
8
+ productSelection: z.boolean().default(false),
9
+ cadence: z.boolean().default(false),
10
+ account: z.boolean().default(false),
11
+ shipping: z.boolean().default(false),
12
+ billing: z.boolean().default(false),
13
+ payment: z.boolean().default(false),
14
+ review: z.boolean().default(false),
15
+ })
16
+ .strict();
17
+ export function createCheckoutResumeSchemas(input) {
18
+ const checkoutResumeSectionIdSchema = input.sectionSchema;
19
+ const checkoutResumeRedactedFieldSchema = input.redactedFieldSchema;
20
+ const commerceProductSlugSchema = input.productSlugSchema;
21
+ const commerceSkuSchema = input.skuSchema;
22
+ const forbiddenKeys = new Set([...FORBIDDEN_RESUME_STATE_KEYS, ...(input.additionalForbiddenKeys ?? [])]);
23
+ const checkoutResumeDraftStateSchema = z
24
+ .object({
25
+ version: z.literal(CHECKOUT_RESUME_CONTRACT_VERSION),
26
+ mode: checkoutResumeModeSchema.nullable().default(null),
27
+ cadenceDays: z.number().int().positive().max(120).nullable().default(null),
28
+ cart: z
29
+ .object({
30
+ items: z
31
+ .array(z
32
+ .object({
33
+ sku: commerceSkuSchema,
34
+ productSlug: commerceProductSlugSchema.nullable().default(null),
35
+ variantId: z.string().trim().min(1).max(120).nullable().default(null),
36
+ quantity: z.number().int().positive().max(99),
37
+ })
38
+ .strict())
39
+ .max(50)
40
+ .default([]),
41
+ })
42
+ .strict()
43
+ .default({ items: [] }),
44
+ completion: input.completionSchema,
45
+ redactedFields: z.array(checkoutResumeRedactedFieldSchema).max(20).default([]),
46
+ })
47
+ .strict()
48
+ .superRefine((state, ctx) => {
49
+ if (state.mode !== "subscription" && state.cadenceDays !== null) {
50
+ ctx.addIssue({
51
+ code: z.ZodIssueCode.custom,
52
+ message: "cadenceDays can only be set for subscription resume state",
53
+ path: ["cadenceDays"],
54
+ });
55
+ }
56
+ const piiPath = findForbiddenResumeStatePath(state, [], forbiddenKeys);
57
+ if (piiPath) {
58
+ ctx.addIssue({
59
+ code: z.ZodIssueCode.custom,
60
+ message: "checkout resume draft state cannot include raw PII, address or payment fields",
61
+ path: piiPath,
62
+ });
63
+ }
64
+ });
65
+ const checkoutResumeUpsertRequestSchema = z
66
+ .object({
67
+ resumeToken: checkoutResumeTokenSchema.optional(),
68
+ idempotencyKey: commerceIdempotencyKeySchema.optional(),
69
+ lastSectionId: checkoutResumeSectionIdSchema,
70
+ draftState: checkoutResumeDraftStateSchema,
71
+ ttlMinutes: z.number().int().positive().max(10_080).default(120),
72
+ })
73
+ .strict();
74
+ const checkoutResumeReadRequestSchema = z
75
+ .object({
76
+ resumeToken: checkoutResumeTokenSchema,
77
+ })
78
+ .strict();
79
+ const checkoutResumeDraftSchema = z
80
+ .object({
81
+ id: z.guid(),
82
+ contractVersion: z.literal(CHECKOUT_RESUME_CONTRACT_VERSION),
83
+ lastSectionId: checkoutResumeSectionIdSchema,
84
+ draftState: checkoutResumeDraftStateSchema,
85
+ expiresAt: z.string().datetime({ offset: true }),
86
+ createdAt: z.string().datetime({ offset: true }),
87
+ updatedAt: z.string().datetime({ offset: true }),
88
+ replayed: z.boolean(),
89
+ })
90
+ .strict();
91
+ const checkoutResumeUpsertResponseSchema = z
92
+ .object({
93
+ contractVersion: z.literal(CHECKOUT_RESUME_CONTRACT_VERSION),
94
+ resumeToken: checkoutResumeTokenSchema,
95
+ draft: checkoutResumeDraftSchema,
96
+ })
97
+ .strict();
98
+ const checkoutResumeReadResponseSchema = z
99
+ .object({
100
+ contractVersion: z.literal(CHECKOUT_RESUME_CONTRACT_VERSION),
101
+ draft: checkoutResumeDraftSchema,
102
+ })
103
+ .strict();
104
+ return { checkoutResumeDraftStateSchema, checkoutResumeUpsertRequestSchema, checkoutResumeReadRequestSchema, checkoutResumeDraftSchema, checkoutResumeUpsertResponseSchema, checkoutResumeReadResponseSchema };
105
+ }
106
+ const FORBIDDEN_RESUME_STATE_KEYS = new Set([
107
+ "name",
108
+ "firstName",
109
+ "lastName",
110
+ "email",
111
+ "phone",
112
+ "street",
113
+ "postalCode",
114
+ "city",
115
+ "address",
116
+ "shippingAddress",
117
+ "billingAddress",
118
+ "deliveryNotes",
119
+ "courierInstructions",
120
+ "providerPayload",
121
+ "pspReference",
122
+ "paymentProvider",
123
+ "card",
124
+ "rawFormPayload",
125
+ ]);
126
+ function findForbiddenResumeStatePath(value, path = [], forbiddenKeys = FORBIDDEN_RESUME_STATE_KEYS) {
127
+ if (!value || typeof value !== "object")
128
+ return null;
129
+ if (Array.isArray(value)) {
130
+ for (const [index, item] of value.entries()) {
131
+ const result = findForbiddenResumeStatePath(item, [...path, index], forbiddenKeys);
132
+ if (result)
133
+ return result;
134
+ }
135
+ return null;
136
+ }
137
+ for (const [key, nestedValue] of Object.entries(value)) {
138
+ if (forbiddenKeys.has(key))
139
+ return [...path, key];
140
+ const result = findForbiddenResumeStatePath(nestedValue, [...path, key], forbiddenKeys);
141
+ if (result)
142
+ return result;
143
+ }
144
+ return null;
145
+ }
@@ -0,0 +1,158 @@
1
+ import { z } from "zod";
2
+ export declare const CHECKOUT_CONTRACT_VERSION = "commerce.checkout.v2";
3
+ export declare const checkoutKindSchema: z.ZodEnum<{
4
+ one_time: "one_time";
5
+ subscription_initial: "subscription_initial";
6
+ }>;
7
+ export declare const checkoutActivationStatusSchema: z.ZodEnum<{
8
+ not_applicable: "not_applicable";
9
+ pending_payment_success: "pending_payment_success";
10
+ activated: "activated";
11
+ blocked_missing_payment_method: "blocked_missing_payment_method";
12
+ }>;
13
+ export declare const ASYNC_CHECKOUT_STATUSES: readonly ["pending_provider_action", "requires_action", "processing", "paid", "failed", "expired"];
14
+ export type AsyncCheckoutStatus = (typeof ASYNC_CHECKOUT_STATUSES)[number];
15
+ export declare const asyncCheckoutStatusSchema: z.ZodEnum<{
16
+ expired: "expired";
17
+ paid: "paid";
18
+ failed: "failed";
19
+ requires_action: "requires_action";
20
+ processing: "processing";
21
+ pending_provider_action: "pending_provider_action";
22
+ }>;
23
+ export declare const subscriptionActivationStatusSchema: z.ZodEnum<{
24
+ active: "active";
25
+ not_applicable: "not_applicable";
26
+ waiting_for_mandate: "waiting_for_mandate";
27
+ action_required: "action_required";
28
+ }>;
29
+ export declare const invoiceBuyerSnapshotAddressCoreSchema: z.ZodObject<{
30
+ line1: z.ZodString;
31
+ line2: z.ZodDefault<z.ZodNullable<z.ZodString>>;
32
+ city: z.ZodString;
33
+ postalCode: z.ZodString;
34
+ country: z.ZodString;
35
+ source: z.ZodString;
36
+ }, z.core.$strict>;
37
+ export declare const checkoutRequestCoreSchema: z.ZodObject<{
38
+ paymentAttemptSequence: z.ZodOptional<z.ZodNumber>;
39
+ returnContext: z.ZodDefault<z.ZodEnum<{
40
+ public: "public";
41
+ account: "account";
42
+ }>>;
43
+ }, z.core.$strict>;
44
+ /** Host composes fiscal, action and acquisition schemas over neutral checkout fields. */
45
+ export declare function createCheckoutResponseSchemas<Quote extends z.ZodType, Expectation extends z.ZodType, Action extends z.ZodType, IntentStatus extends z.ZodType<string>, AttemptStatus extends z.ZodType<string>, Display extends z.ZodType>(input: {
46
+ quoteSchema: Quote;
47
+ quoteExpectationSchema: Expectation;
48
+ clientActionSchema: Action;
49
+ paymentIntentStatusSchema: IntentStatus;
50
+ paymentAttemptStatusSchema: AttemptStatus;
51
+ failureDisplaySchema: Display;
52
+ }): {
53
+ checkoutResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
54
+ contractVersion: z.ZodLiteral<"commerce.checkout.v2">;
55
+ checkoutKind: z.ZodEnum<{
56
+ one_time: "one_time";
57
+ subscription_initial: "subscription_initial";
58
+ }>;
59
+ orderRef: z.ZodString;
60
+ orderId: z.ZodGUID;
61
+ status: z.ZodEnum<{
62
+ expired: "expired";
63
+ paid: "paid";
64
+ failed: "failed";
65
+ requires_action: "requires_action";
66
+ processing: "processing";
67
+ pending_provider_action: "pending_provider_action";
68
+ }>;
69
+ paymentIntentId: z.ZodOptional<z.ZodGUID>;
70
+ paymentAttemptId: z.ZodOptional<z.ZodNullable<z.ZodGUID>>;
71
+ providerPaymentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
72
+ clientId: z.ZodOptional<z.ZodGUID>;
73
+ clientAction: z.ZodOptional<Action>;
74
+ returnUrl: z.ZodOptional<z.ZodString>;
75
+ statusUrl: z.ZodOptional<z.ZodString>;
76
+ subscription: z.ZodOptional<z.ZodObject<{
77
+ requested: z.ZodBoolean;
78
+ cadenceDays: z.ZodNullable<z.ZodNumber>;
79
+ activationStatus: z.ZodEnum<{
80
+ not_applicable: "not_applicable";
81
+ pending_payment_success: "pending_payment_success";
82
+ activated: "activated";
83
+ blocked_missing_payment_method: "blocked_missing_payment_method";
84
+ }>;
85
+ }, z.core.$strict>>;
86
+ payment: z.ZodOptional<z.ZodObject<{
87
+ requiresReusablePaymentMethod: z.ZodBoolean;
88
+ }, z.core.$strict>>;
89
+ authoritativeQuote: z.ZodOptional<Quote>;
90
+ }, z.core.$strict>, z.ZodObject<{
91
+ contractVersion: z.ZodLiteral<"commerce.checkout.v2">;
92
+ checkoutKind: z.ZodEnum<{
93
+ one_time: "one_time";
94
+ subscription_initial: "subscription_initial";
95
+ }>;
96
+ status: z.ZodLiteral<"price_changed">;
97
+ priceChanged: z.ZodLiteral<true>;
98
+ expectedQuote: Expectation;
99
+ authoritativeQuote: Quote;
100
+ }, z.core.$strict>], "status">;
101
+ paymentStatusRequestSchema: z.ZodObject<{
102
+ orderId: z.ZodGUID;
103
+ paymentIntentId: z.ZodGUID;
104
+ clientId: z.ZodGUID;
105
+ }, z.core.$strict>;
106
+ paymentStatusResponseSchema: z.ZodObject<{
107
+ contractVersion: z.ZodLiteral<"commerce.checkout.v2">;
108
+ orderId: z.ZodGUID;
109
+ paymentIntentId: z.ZodGUID;
110
+ status: z.ZodEnum<{
111
+ expired: "expired";
112
+ paid: "paid";
113
+ failed: "failed";
114
+ requires_action: "requires_action";
115
+ processing: "processing";
116
+ pending_provider_action: "pending_provider_action";
117
+ }>;
118
+ orderStatus: z.ZodString;
119
+ payment: z.ZodObject<{
120
+ intentStatus: IntentStatus;
121
+ attemptStatus: z.ZodNullable<AttemptStatus>;
122
+ paymentAttemptId: z.ZodNullable<z.ZodGUID>;
123
+ provider: z.ZodNullable<z.ZodString>;
124
+ providerPaymentId: z.ZodNullable<z.ZodString>;
125
+ updatedAt: z.ZodString;
126
+ }, z.core.$strict>;
127
+ failureReason: z.ZodDefault<z.ZodNullable<z.ZodString>>;
128
+ failureDisplay: z.ZodOptional<z.ZodNullable<Display>>;
129
+ subscriptionActivation: z.ZodObject<{
130
+ status: z.ZodEnum<{
131
+ active: "active";
132
+ not_applicable: "not_applicable";
133
+ waiting_for_mandate: "waiting_for_mandate";
134
+ action_required: "action_required";
135
+ }>;
136
+ subscriptionId: z.ZodNullable<z.ZodGUID>;
137
+ }, z.core.$strict>;
138
+ nextAction: z.ZodNullable<Action>;
139
+ }, z.core.$strict>;
140
+ };
141
+ /** Acquisition promises are compared independently of money. M05 owns their schemas. */
142
+ export declare function createCheckoutQuoteSchemas<Money extends z.ZodType, Policy extends z.ZodType, Terms extends z.ZodType>(input: {
143
+ moneySchema: Money;
144
+ pricingPolicySchema: Policy;
145
+ acquisitionTermsExpectationSchema: Terms;
146
+ }): {
147
+ checkoutQuoteExpectationSchema: z.ZodObject<{
148
+ totalGross: Money;
149
+ pricingPolicy: z.ZodOptional<Policy>;
150
+ acquisitionTerms: z.ZodOptional<Terms>;
151
+ }, z.core.$strict>;
152
+ checkoutQuoteAcceptanceSchema: z.ZodObject<{
153
+ totalGross: Money;
154
+ pricingPolicy: z.ZodOptional<Policy>;
155
+ acquisitionTerms: z.ZodOptional<Terms>;
156
+ promotionAcceptanceToken: z.ZodOptional<z.ZodString>;
157
+ }, z.core.$strict>;
158
+ };
@@ -0,0 +1,161 @@
1
+ import { z } from "zod";
2
+ export const CHECKOUT_CONTRACT_VERSION = "commerce.checkout.v2";
3
+ const uuidSchema = z.guid();
4
+ const datetimeSchema = z.string().datetime({ offset: true });
5
+ export const checkoutKindSchema = z.enum(["one_time", "subscription_initial"]);
6
+ export const checkoutActivationStatusSchema = z.enum([
7
+ "not_applicable",
8
+ "pending_payment_success",
9
+ "activated",
10
+ "blocked_missing_payment_method",
11
+ ]);
12
+ export const ASYNC_CHECKOUT_STATUSES = [
13
+ "pending_provider_action",
14
+ "requires_action",
15
+ "processing",
16
+ "paid",
17
+ "failed",
18
+ "expired",
19
+ ];
20
+ export const asyncCheckoutStatusSchema = z.enum(ASYNC_CHECKOUT_STATUSES);
21
+ export const subscriptionActivationStatusSchema = z.enum(["not_applicable", "waiting_for_mandate", "active", "action_required"]);
22
+ export const invoiceBuyerSnapshotAddressCoreSchema = z
23
+ .object({
24
+ line1: z.string().trim().min(3).max(160),
25
+ line2: z.string().trim().min(1).max(160).nullable().default(null),
26
+ city: z.string().trim().min(2).max(120),
27
+ postalCode: z.string().trim().min(3).max(16),
28
+ country: z.string().regex(/^[A-Z]{2}$/),
29
+ source: z.string().trim().min(1).max(120),
30
+ })
31
+ .strict();
32
+ export const checkoutRequestCoreSchema = z.object({
33
+ paymentAttemptSequence: z.number().int().min(0).max(50).optional(),
34
+ returnContext: z.enum(["public", "account"]).default("public"),
35
+ }).strict();
36
+ /** Host composes fiscal, action and acquisition schemas over neutral checkout fields. */
37
+ export function createCheckoutResponseSchemas(input) {
38
+ const createQuoteResponseSchema = input.quoteSchema;
39
+ const checkoutClientActionSchema = input.clientActionSchema;
40
+ const paymentFailureDisplayReasonSchema = input.failureDisplaySchema;
41
+ const checkoutSuccessResponseSchema = z
42
+ .object({
43
+ contractVersion: z.literal(CHECKOUT_CONTRACT_VERSION),
44
+ checkoutKind: checkoutKindSchema,
45
+ orderRef: z.string().regex(/^order_[a-z0-9-]+$/),
46
+ orderId: uuidSchema,
47
+ status: asyncCheckoutStatusSchema,
48
+ paymentIntentId: uuidSchema.optional(),
49
+ paymentAttemptId: uuidSchema.nullable().optional(),
50
+ providerPaymentId: z.string().trim().min(1).nullable().optional(),
51
+ // Server-resolved customer identity used by owned payment and order reads.
52
+ clientId: uuidSchema.optional(),
53
+ clientAction: checkoutClientActionSchema.optional(),
54
+ returnUrl: z.string().url().optional(),
55
+ statusUrl: z.string().min(1).optional(),
56
+ subscription: z
57
+ .object({
58
+ requested: z.boolean(),
59
+ cadenceDays: z.number().int().positive().max(120).nullable(),
60
+ activationStatus: checkoutActivationStatusSchema,
61
+ })
62
+ .strict()
63
+ .optional(),
64
+ payment: z
65
+ .object({
66
+ requiresReusablePaymentMethod: z.boolean(),
67
+ })
68
+ .strict()
69
+ .optional(),
70
+ authoritativeQuote: createQuoteResponseSchema.optional(),
71
+ })
72
+ .strict()
73
+ .superRefine((response, ctx) => {
74
+ const subscription = response.subscription;
75
+ if (response.checkoutKind === "one_time") {
76
+ if (subscription && (subscription.requested || subscription.cadenceDays !== null || subscription.activationStatus !== "not_applicable")) {
77
+ ctx.addIssue({
78
+ code: z.ZodIssueCode.custom,
79
+ message: "one-time checkout cannot report requested subscription activation",
80
+ path: ["subscription"],
81
+ });
82
+ }
83
+ return;
84
+ }
85
+ if (!subscription?.requested || !subscription.cadenceDays) {
86
+ ctx.addIssue({
87
+ code: z.ZodIssueCode.custom,
88
+ message: "subscription checkout requires subscription response details",
89
+ path: ["subscription"],
90
+ });
91
+ }
92
+ if (response.payment?.requiresReusablePaymentMethod !== true) {
93
+ ctx.addIssue({
94
+ code: z.ZodIssueCode.custom,
95
+ message: "subscription checkout requires reusable payment method",
96
+ path: ["payment", "requiresReusablePaymentMethod"],
97
+ });
98
+ }
99
+ });
100
+ const checkoutPriceChangedResponseSchema = z
101
+ .object({
102
+ contractVersion: z.literal(CHECKOUT_CONTRACT_VERSION),
103
+ checkoutKind: checkoutKindSchema,
104
+ status: z.literal("price_changed"),
105
+ priceChanged: z.literal(true),
106
+ expectedQuote: input.quoteExpectationSchema,
107
+ authoritativeQuote: createQuoteResponseSchema,
108
+ })
109
+ .strict();
110
+ const checkoutResponseSchema = z.discriminatedUnion("status", [
111
+ checkoutSuccessResponseSchema,
112
+ checkoutPriceChangedResponseSchema,
113
+ ]);
114
+ const paymentStatusRequestSchema = z
115
+ .object({
116
+ orderId: uuidSchema,
117
+ paymentIntentId: uuidSchema,
118
+ clientId: uuidSchema,
119
+ })
120
+ .strict();
121
+ const paymentStatusResponseSchema = z
122
+ .object({
123
+ contractVersion: z.literal(CHECKOUT_CONTRACT_VERSION),
124
+ orderId: uuidSchema,
125
+ paymentIntentId: uuidSchema,
126
+ status: asyncCheckoutStatusSchema,
127
+ orderStatus: z.string().trim().min(1),
128
+ payment: z
129
+ .object({
130
+ intentStatus: input.paymentIntentStatusSchema,
131
+ attemptStatus: input.paymentAttemptStatusSchema.nullable(),
132
+ paymentAttemptId: uuidSchema.nullable(),
133
+ provider: z.string().trim().min(1).nullable(),
134
+ providerPaymentId: z.string().trim().min(1).nullable(),
135
+ updatedAt: datetimeSchema,
136
+ })
137
+ .strict(),
138
+ /**
139
+ * Why the payment failed, as a stable code. Travels BESIDE `status`, never
140
+ * inside it: collapsing a reason into the status enum is what left every
141
+ * decline indistinguishable from every other in the first place.
142
+ */
143
+ failureReason: z.string().trim().min(1).max(240).nullable().default(null),
144
+ failureDisplay: paymentFailureDisplayReasonSchema.nullable().optional(),
145
+ subscriptionActivation: z.object({ status: subscriptionActivationStatusSchema, subscriptionId: uuidSchema.nullable() }).strict(),
146
+ nextAction: checkoutClientActionSchema.nullable(),
147
+ })
148
+ .strict();
149
+ return { checkoutResponseSchema, paymentStatusRequestSchema, paymentStatusResponseSchema };
150
+ }
151
+ /** Acquisition promises are compared independently of money. M05 owns their schemas. */
152
+ export function createCheckoutQuoteSchemas(input) {
153
+ const checkoutQuoteExpectationSchema = z.object({
154
+ totalGross: input.moneySchema, pricingPolicy: input.pricingPolicySchema.optional(),
155
+ acquisitionTerms: input.acquisitionTermsExpectationSchema.optional(),
156
+ }).strict();
157
+ const checkoutQuoteAcceptanceSchema = checkoutQuoteExpectationSchema.extend({
158
+ promotionAcceptanceToken: z.string().min(1).max(8_300).optional(),
159
+ });
160
+ return { checkoutQuoteExpectationSchema, checkoutQuoteAcceptanceSchema };
161
+ }
@@ -0,0 +1,97 @@
1
+ import { z } from "zod";
2
+ /** Returns request/approve/reject only. Restock and refund fields record intent; no receive, restock or refund execution. */
3
+ export declare const returnRequestLineSchema: z.ZodObject<{
4
+ orderItemId: z.ZodGUID;
5
+ sku: z.ZodOptional<z.ZodString>;
6
+ quantity: z.ZodNumber;
7
+ restockDisposition: z.ZodOptional<z.ZodEnum<{
8
+ restock: "restock";
9
+ quarantine: "quarantine";
10
+ scrap: "scrap";
11
+ }>>;
12
+ }, z.core.$strip>;
13
+ /** Bind host reason codes for request/approve/reject only; restock/refund fields record intent, without execution. */
14
+ export declare function createCommerceReturnsSchemas<const Reasons extends readonly [string, ...string[]]>(reasonCodes: Reasons): {
15
+ returnRequestCreateSchema: z.ZodObject<{
16
+ idempotencyKey: z.ZodString;
17
+ orderId: z.ZodGUID;
18
+ reasonCode: z.ZodEnum<{ [k_1 in Reasons[number]]: k_1; } extends infer T ? { [k in keyof T]: T[k]; } : never>;
19
+ lines: z.ZodArray<z.ZodObject<{
20
+ orderItemId: z.ZodGUID;
21
+ sku: z.ZodOptional<z.ZodString>;
22
+ quantity: z.ZodNumber;
23
+ restockDisposition: z.ZodOptional<z.ZodEnum<{
24
+ restock: "restock";
25
+ quarantine: "quarantine";
26
+ scrap: "scrap";
27
+ }>>;
28
+ }, z.core.$strip>>;
29
+ customerNote: z.ZodOptional<z.ZodString>;
30
+ }, z.core.$strip>;
31
+ };
32
+ /** Neutral default reasons for request/approve/reject only; restock/refund fields record intent, without execution. */
33
+ export declare const returnRequestCreateSchema: z.ZodObject<{
34
+ idempotencyKey: z.ZodString;
35
+ orderId: z.ZodGUID;
36
+ reasonCode: z.ZodEnum<{
37
+ other: "other";
38
+ damaged: "damaged";
39
+ wrong_item: "wrong_item";
40
+ not_as_described: "not_as_described";
41
+ changed_mind: "changed_mind";
42
+ }>;
43
+ lines: z.ZodArray<z.ZodObject<{
44
+ orderItemId: z.ZodGUID;
45
+ sku: z.ZodOptional<z.ZodString>;
46
+ quantity: z.ZodNumber;
47
+ restockDisposition: z.ZodOptional<z.ZodEnum<{
48
+ restock: "restock";
49
+ quarantine: "quarantine";
50
+ scrap: "scrap";
51
+ }>>;
52
+ }, z.core.$strip>>;
53
+ customerNote: z.ZodOptional<z.ZodString>;
54
+ }, z.core.$strip>;
55
+ /** Returns request/approve/reject only. Restock and refund fields record intent; no receive, restock or refund execution. */
56
+ export declare const returnApproveSchema: z.ZodObject<{
57
+ idempotencyKey: z.ZodString;
58
+ returnRequestId: z.ZodGUID;
59
+ refundMode: z.ZodDefault<z.ZodEnum<{
60
+ partial: "partial";
61
+ full: "full";
62
+ none: "none";
63
+ }>>;
64
+ refundAmountCents: z.ZodOptional<z.ZodNumber>;
65
+ adminNote: z.ZodOptional<z.ZodString>;
66
+ }, z.core.$strip>;
67
+ /** Returns request/approve/reject only. Restock and refund fields record intent; no receive, restock or refund execution. */
68
+ export declare const returnRejectSchema: z.ZodObject<{
69
+ idempotencyKey: z.ZodString;
70
+ returnRequestId: z.ZodGUID;
71
+ adminNote: z.ZodOptional<z.ZodString>;
72
+ }, z.core.$strip>;
73
+ /** Returns request/approve/reject only. Restock and refund fields record intent; no receive, restock or refund execution. */
74
+ export type ReturnRequestCreateInput<Reason extends string = z.infer<typeof returnRequestCreateSchema>["reasonCode"]> = Omit<z.infer<typeof returnRequestCreateSchema>, "reasonCode"> & {
75
+ reasonCode: Reason;
76
+ requestedBy?: string | null;
77
+ };
78
+ /** Returns request/approve/reject only. Restock and refund fields record intent; no receive, restock or refund execution. */
79
+ export type ReturnApproveInput = z.infer<typeof returnApproveSchema> & {
80
+ actorUserId?: string | null;
81
+ };
82
+ /** Returns request/approve/reject only. Restock and refund fields record intent; no receive, restock or refund execution. */
83
+ export type ReturnRejectInput = z.infer<typeof returnRejectSchema> & {
84
+ actorUserId?: string | null;
85
+ };
86
+ /** Returns request/approve/reject only. Restock and refund fields record intent; no receive, restock or refund execution. */
87
+ export interface ReturnLifecycleResult {
88
+ returnRequestId: string;
89
+ status: string;
90
+ replayed: boolean;
91
+ }
92
+ /** Returns request/approve/reject only. Restock and refund fields record intent; no receive, restock or refund execution. */
93
+ export interface CommerceReturnsPort<Reason extends string = ReturnRequestCreateInput["reasonCode"]> {
94
+ createRequest(input: ReturnRequestCreateInput<Reason>): Promise<ReturnLifecycleResult>;
95
+ approve(input: ReturnApproveInput): Promise<ReturnLifecycleResult>;
96
+ reject(input: ReturnRejectInput): Promise<ReturnLifecycleResult>;
97
+ }
@@ -0,0 +1,39 @@
1
+ // Provider-neutral Commerce Returns contracts and validation.
2
+ import { z } from "zod";
3
+ /** Returns request/approve/reject only. Restock and refund fields record intent; no receive, restock or refund execution. */
4
+ export const returnRequestLineSchema = z.object({
5
+ orderItemId: z.guid(),
6
+ sku: z.string().trim().min(1).max(120).optional(),
7
+ quantity: z.number().int().positive(),
8
+ restockDisposition: z.enum(["restock", "quarantine", "scrap"]).optional(),
9
+ });
10
+ /** Bind host reason codes for request/approve/reject only; restock/refund fields record intent, without execution. */
11
+ export function createCommerceReturnsSchemas(reasonCodes) {
12
+ return {
13
+ returnRequestCreateSchema: z.object({
14
+ idempotencyKey: z.string().trim().min(8).max(200),
15
+ orderId: z.guid(),
16
+ reasonCode: z.enum(reasonCodes),
17
+ lines: z.array(returnRequestLineSchema).min(1),
18
+ customerNote: z.string().trim().max(2000).optional(),
19
+ }),
20
+ };
21
+ }
22
+ /** Neutral default reasons for request/approve/reject only; restock/refund fields record intent, without execution. */
23
+ export const { returnRequestCreateSchema } = createCommerceReturnsSchemas([
24
+ "damaged", "wrong_item", "not_as_described", "changed_mind", "other",
25
+ ]);
26
+ /** Returns request/approve/reject only. Restock and refund fields record intent; no receive, restock or refund execution. */
27
+ export const returnApproveSchema = z.object({
28
+ idempotencyKey: z.string().trim().min(8).max(200),
29
+ returnRequestId: z.guid(),
30
+ refundMode: z.enum(["full", "partial", "none"]).default("full"),
31
+ refundAmountCents: z.number().int().nonnegative().optional(),
32
+ adminNote: z.string().trim().max(2000).optional(),
33
+ });
34
+ /** Returns request/approve/reject only. Restock and refund fields record intent; no receive, restock or refund execution. */
35
+ export const returnRejectSchema = z.object({
36
+ idempotencyKey: z.string().trim().min(8).max(200),
37
+ returnRequestId: z.guid(),
38
+ adminNote: z.string().trim().max(2000).optional(),
39
+ });
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ export declare const CONFIGURATOR_INTENT_PERSISTENCE_CONTRACT_VERSION = "commerce.configurator_intent_persistence.v1";
3
+ export declare const configuratorIntentClientMatchReasonSchema: z.ZodEnum<{
4
+ client_created: "client_created";
5
+ client_match_exact_email: "client_match_exact_email";
6
+ client_match_plus_normalized_fallback: "client_match_plus_normalized_fallback";
7
+ }>;
8
+ export declare const configuratorIntentPersistenceResponseCoreSchema: z.ZodObject<{
9
+ contractVersion: z.ZodLiteral<"commerce.configurator_intent_persistence.v1">;
10
+ intentVersion: z.ZodLiteral<"commerce.configurator_intent.v1">;
11
+ idempotencyKey: z.ZodString;
12
+ clientId: z.ZodGUID;
13
+ addressId: z.ZodGUID;
14
+ clientMatchReason: z.ZodOptional<z.ZodEnum<{
15
+ client_created: "client_created";
16
+ client_match_exact_email: "client_match_exact_email";
17
+ client_match_plus_normalized_fallback: "client_match_plus_normalized_fallback";
18
+ }>>;
19
+ replayed: z.ZodBoolean;
20
+ }, z.core.$strict>;
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ import { CONFIGURATOR_INTENT_VERSION } from "./configuratorIntentSchemas.js";
3
+ export const CONFIGURATOR_INTENT_PERSISTENCE_CONTRACT_VERSION = "commerce.configurator_intent_persistence.v1";
4
+ const uuidSchema = z.guid();
5
+ export const configuratorIntentClientMatchReasonSchema = z.enum([
6
+ "client_created",
7
+ "client_match_exact_email",
8
+ // Historical replay value; current writers need not emit it.
9
+ "client_match_plus_normalized_fallback",
10
+ ]);
11
+ export const configuratorIntentPersistenceResponseCoreSchema = z
12
+ .object({
13
+ contractVersion: z.literal(CONFIGURATOR_INTENT_PERSISTENCE_CONTRACT_VERSION),
14
+ intentVersion: z.literal(CONFIGURATOR_INTENT_VERSION),
15
+ idempotencyKey: z.string().trim().min(8).max(120),
16
+ clientId: uuidSchema,
17
+ addressId: uuidSchema,
18
+ clientMatchReason: configuratorIntentClientMatchReasonSchema.optional(),
19
+ replayed: z.boolean(),
20
+ })
21
+ .strict();