@openlup/platform 0.26.0 → 0.28.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.
- package/CHANGELOG.md +305 -327
- package/README.md +332 -16
- package/dist/account-support/accountReadFacade.d.ts +8 -0
- package/dist/account-support/accountReadFacade.js +10 -0
- package/dist/account-support/accountReadModels.d.ts +69 -0
- package/dist/account-support/accountReadModels.js +272 -0
- package/dist/account-support/bindings.d.ts +23 -0
- package/dist/account-support/bindings.js +16 -0
- package/dist/account-support/contracts/account.d.ts +281 -0
- package/dist/account-support/contracts/account.js +1 -0
- package/dist/account-support/contracts/capabilities.d.ts +44 -0
- package/dist/account-support/contracts/capabilities.js +1 -0
- package/dist/account-support/contracts/commands.d.ts +307 -0
- package/dist/account-support/contracts/commands.js +1 -0
- package/dist/account-support/contracts/customer360.d.ts +154 -0
- package/dist/account-support/contracts/customer360.js +1 -0
- package/dist/account-support/contracts/index.d.ts +10 -0
- package/dist/account-support/contracts/index.js +1 -0
- package/dist/account-support/contracts/invoice.d.ts +79 -0
- package/dist/account-support/contracts/invoice.js +1 -0
- package/dist/account-support/contracts/operator.d.ts +289 -0
- package/dist/account-support/contracts/operator.js +1 -0
- package/dist/account-support/contribution.d.ts +24 -0
- package/dist/account-support/contribution.js +22 -0
- package/dist/account-support/customer360.d.ts +106 -0
- package/dist/account-support/customer360.js +163 -0
- package/dist/account-support/customerAccountReadDiagnostics.d.ts +11 -0
- package/dist/account-support/customerAccountReadDiagnostics.js +71 -0
- package/dist/account-support/index.d.ts +26 -0
- package/dist/account-support/index.js +15 -0
- package/dist/account-support/invoiceAccess.d.ts +57 -0
- package/dist/account-support/invoiceAccess.js +40 -0
- package/dist/account-support/migrations.d.ts +14 -0
- package/dist/account-support/migrations.js +7 -0
- package/dist/account-support/operatorAuthority.d.ts +67 -0
- package/dist/account-support/operatorAuthority.js +379 -0
- package/dist/account-support/operatorRecovery.d.ts +66 -0
- package/dist/account-support/operatorRecovery.js +129 -0
- package/dist/account-support/orderHistory.d.ts +50 -0
- package/dist/account-support/orderHistory.js +188 -0
- package/dist/account-support/paymentMethodComposition.d.ts +5 -0
- package/dist/account-support/paymentMethodComposition.js +4 -0
- package/dist/account-support/postgresOperatorAuthority.d.ts +16 -0
- package/dist/account-support/postgresOperatorAuthority.js +93 -0
- package/dist/account-support/selfService.d.ts +6 -0
- package/dist/account-support/selfService.js +81 -0
- package/dist/account-support/subscriptionCommandCodec.d.ts +10 -0
- package/dist/account-support/subscriptionCommandCodec.js +38 -0
- package/dist/catalog/draftSchemas.d.ts +1 -1
- package/dist/catalog/foundationSchemas.d.ts +3 -3
- package/dist/catalog/resolvedSkuProjection.d.ts +2 -2
- package/dist/catalog/sellableSchemas.d.ts +2 -2
- package/dist/commerce/adapters/managed/commerceOmsControlPlane.d.ts +3 -0
- package/dist/commerce/adapters/managed/commerceOmsControlPlane.js +71 -0
- package/dist/commerce/adapters/managed/commerceOmsMutations.d.ts +10 -0
- package/dist/commerce/adapters/managed/commerceOmsMutations.js +119 -0
- package/dist/commerce/adapters/managed/commerceOmsPort.d.ts +28 -0
- package/dist/commerce/adapters/managed/commerceOmsPort.js +101 -0
- package/dist/commerce/adapters/managed/oms/accounting.d.ts +3 -0
- package/dist/commerce/adapters/managed/oms/accounting.js +13 -0
- package/dist/commerce/adapters/managed/oms/fulfillmentReads.d.ts +17 -0
- package/dist/commerce/adapters/managed/oms/fulfillmentReads.js +81 -0
- package/dist/commerce/adapters/managed/oms/inboundEvents.d.ts +9 -0
- package/dist/commerce/adapters/managed/oms/inboundEvents.js +40 -0
- package/dist/commerce/adapters/managed/oms/outboxEvents.d.ts +2 -0
- package/dist/commerce/adapters/managed/oms/outboxEvents.js +23 -0
- package/dist/commerce/adapters/managed/oms/paymentAttempts.d.ts +3 -0
- package/dist/commerce/adapters/managed/oms/paymentAttempts.js +15 -0
- package/dist/commerce/adapters/managed/oms/queueSelection.d.ts +12 -0
- package/dist/commerce/adapters/managed/oms/queueSelection.js +109 -0
- package/dist/commerce/adapters/managed/oms/readProjections.d.ts +18 -0
- package/dist/commerce/adapters/managed/oms/readProjections.js +13 -0
- package/dist/commerce/adapters/managed/oms/readQueries.d.ts +16 -0
- package/dist/commerce/adapters/managed/oms/readQueries.js +276 -0
- package/dist/commerce/adapters/managed/oms/types.d.ts +2 -0
- package/dist/commerce/adapters/managed/oms/types.js +7 -0
- package/dist/commerce/checkoutCommandSchemas.d.ts +89 -0
- package/dist/commerce/checkoutCommandSchemas.js +70 -0
- package/dist/commerce/checkoutHelpers.d.ts +21 -0
- package/dist/commerce/checkoutHelpers.js +29 -0
- package/dist/commerce/checkoutResumeSchemas.d.ts +158 -0
- package/dist/commerce/checkoutResumeSchemas.js +145 -0
- package/dist/commerce/checkoutSchemas.d.ts +158 -0
- package/dist/commerce/checkoutSchemas.js +161 -0
- package/dist/commerce/commerceReturnsPort.d.ts +97 -0
- package/dist/commerce/commerceReturnsPort.js +39 -0
- package/dist/commerce/configuratorIntentPersistenceSchemas.d.ts +20 -0
- package/dist/commerce/configuratorIntentPersistenceSchemas.js +21 -0
- package/dist/commerce/configuratorIntentSchemas.d.ts +63 -0
- package/dist/commerce/configuratorIntentSchemas.js +43 -0
- package/dist/commerce/contractPrimitives.d.ts +50 -0
- package/dist/commerce/contractPrimitives.js +25 -0
- package/dist/commerce/contracts/availability.d.ts +23 -0
- package/dist/commerce/contracts/availability.js +1 -0
- package/dist/commerce/contracts/fulfillmentRecovery.d.ts +25 -0
- package/dist/commerce/contracts/fulfillmentRecovery.js +1 -0
- package/dist/commerce/contracts/index.d.ts +13 -0
- package/dist/commerce/contracts/index.js +1 -0
- package/dist/commerce/contracts/intent.d.ts +86 -0
- package/dist/commerce/contracts/intent.js +1 -0
- package/dist/commerce/contracts/omsTypes.d.ts +1216 -0
- package/dist/commerce/contracts/omsTypes.js +1 -0
- package/dist/commerce/contracts/order.d.ts +39 -0
- package/dist/commerce/contracts/order.js +1 -0
- package/dist/commerce/contracts/orderMoney.d.ts +52 -0
- package/dist/commerce/contracts/orderMoney.js +1 -0
- package/dist/commerce/contracts/ports.d.ts +113 -0
- package/dist/commerce/contracts/ports.js +1 -0
- package/dist/commerce/contracts/recovery.d.ts +11 -0
- package/dist/commerce/contracts/recovery.js +1 -0
- package/dist/commerce/contracts/runtimePorts.d.ts +196 -0
- package/dist/commerce/contracts/runtimePorts.js +1 -0
- package/dist/commerce/contracts/state.d.ts +26 -0
- package/dist/commerce/contracts/state.js +43 -0
- package/dist/commerce/customerDefaultsSnapshotSchemas.d.ts +51 -0
- package/dist/commerce/customerDefaultsSnapshotSchemas.js +106 -0
- package/dist/commerce/errors.d.ts +18 -0
- package/dist/commerce/errors.js +36 -0
- package/dist/commerce/fulfillmentEligibility.d.ts +6 -0
- package/dist/commerce/fulfillmentEligibility.js +31 -0
- package/dist/commerce/index.d.ts +72 -0
- package/dist/commerce/index.js +67 -0
- package/dist/commerce/model/customerFulfillmentRecovery.d.ts +40 -0
- package/dist/commerce/model/customerFulfillmentRecovery.js +144 -0
- package/dist/commerce/model/fulfillmentCancellationEligibility.d.ts +7 -0
- package/dist/commerce/model/fulfillmentCancellationEligibility.js +9 -0
- package/dist/commerce/model/omsAccountingVisibility.d.ts +12 -0
- package/dist/commerce/model/omsAccountingVisibility.js +118 -0
- package/dist/commerce/model/omsBillingInvoiceBuyer.d.ts +2 -0
- package/dist/commerce/model/omsBillingInvoiceBuyer.js +15 -0
- package/dist/commerce/model/omsCurrency.d.ts +4 -0
- package/dist/commerce/model/omsCurrency.js +5 -0
- package/dist/commerce/model/omsFulfillmentDebug.d.ts +20 -0
- package/dist/commerce/model/omsFulfillmentDebug.js +122 -0
- package/dist/commerce/model/omsFulfillmentSummary.d.ts +16 -0
- package/dist/commerce/model/omsFulfillmentSummary.js +189 -0
- package/dist/commerce/model/omsListTotals.d.ts +13 -0
- package/dist/commerce/model/omsListTotals.js +32 -0
- package/dist/commerce/model/omsOperationalLadder.d.ts +51 -0
- package/dist/commerce/model/omsOperationalLadder.js +158 -0
- package/dist/commerce/model/omsOrderLineMoney.d.ts +4 -0
- package/dist/commerce/model/omsOrderLineMoney.js +25 -0
- package/dist/commerce/model/omsPaymentMethodSummary.d.ts +5 -0
- package/dist/commerce/model/omsPaymentMethodSummary.js +11 -0
- package/dist/commerce/model/omsReadModel.d.ts +43 -0
- package/dist/commerce/model/omsReadModel.js +211 -0
- package/dist/commerce/model/omsReadModelCommunication.d.ts +3 -0
- package/dist/commerce/model/omsReadModelCommunication.js +29 -0
- package/dist/commerce/model/omsReadModelHelpers.d.ts +125 -0
- package/dist/commerce/model/omsReadModelHelpers.js +212 -0
- package/dist/commerce/model/omsReadModelList.d.ts +33 -0
- package/dist/commerce/model/omsReadModelList.js +50 -0
- package/dist/commerce/model/omsReadModelListSummary.d.ts +3 -0
- package/dist/commerce/model/omsReadModelListSummary.js +13 -0
- package/dist/commerce/model/omsReadModelPricing.d.ts +5 -0
- package/dist/commerce/model/omsReadModelPricing.js +36 -0
- package/dist/commerce/model/omsReadModelProjections.d.ts +1 -0
- package/dist/commerce/model/omsReadModelProjections.js +1 -0
- package/dist/commerce/model/omsReadModelRowCore.d.ts +79 -0
- package/dist/commerce/model/omsReadModelRowCore.js +149 -0
- package/dist/commerce/model/omsReadModelRows.d.ts +1 -0
- package/dist/commerce/model/omsReadModelRows.js +6 -0
- package/dist/commerce/offerAvailability.d.ts +18 -0
- package/dist/commerce/offerAvailability.js +53 -0
- package/dist/commerce/offerAvailabilitySchemas.d.ts +43 -0
- package/dist/commerce/offerAvailabilitySchemas.js +42 -0
- package/dist/commerce/offerEvidenceSchemas.d.ts +7 -0
- package/dist/commerce/offerEvidenceSchemas.js +13 -0
- package/dist/commerce/oms/omsContractBase.d.ts +130 -0
- package/dist/commerce/oms/omsContractBase.js +86 -0
- package/dist/commerce/oms/omsContractReadAuxSchemas.d.ts +222 -0
- package/dist/commerce/oms/omsContractReadAuxSchemas.js +123 -0
- package/dist/commerce/oms/omsContractReadSchemas.d.ts +2266 -0
- package/dist/commerce/oms/omsContractReadSchemas.js +277 -0
- package/dist/commerce/oms/omsContractRequests.d.ts +196 -0
- package/dist/commerce/oms/omsContractRequests.js +118 -0
- package/dist/commerce/oms/omsContracts.d.ts +5 -0
- package/dist/commerce/oms/omsContracts.js +4 -0
- package/dist/commerce/oms/omsControlPlane.d.ts +275 -0
- package/dist/commerce/oms/omsControlPlane.js +72 -0
- package/dist/commerce/oms/omsFulfillmentContractSchemas.d.ts +203 -0
- package/dist/commerce/oms/omsFulfillmentContractSchemas.js +94 -0
- package/dist/commerce/oms/omsFulfillmentDebugSchemas.d.ts +69 -0
- package/dist/commerce/oms/omsFulfillmentDebugSchemas.js +33 -0
- package/dist/commerce/oms/omsFulfillmentHealthSchemas.d.ts +67 -0
- package/dist/commerce/oms/omsFulfillmentHealthSchemas.js +44 -0
- package/dist/commerce/oms/omsPorts.d.ts +84 -0
- package/dist/commerce/oms/omsPorts.js +148 -0
- package/dist/commerce/oms/omsPrimitives.d.ts +5 -0
- package/dist/commerce/oms/omsPrimitives.js +3 -0
- package/dist/commerce/oms/omsProviderEvidenceSchemas.d.ts +15 -0
- package/dist/commerce/oms/omsProviderEvidenceSchemas.js +12 -0
- package/dist/commerce/orderDraftErrors.d.ts +13 -0
- package/dist/commerce/orderDraftErrors.js +20 -0
- package/dist/commerce/orderEmailEligibility.d.ts +54 -0
- package/dist/commerce/orderEmailEligibility.js +123 -0
- package/dist/commerce/orderEmailLines.d.ts +12 -0
- package/dist/commerce/orderEmailLines.js +8 -0
- package/dist/commerce/orderFeedbackContracts.d.ts +41 -0
- package/dist/commerce/orderFeedbackContracts.js +33 -0
- package/dist/commerce/orderMoney.d.ts +6 -0
- package/dist/commerce/orderMoney.js +168 -0
- package/dist/commerce/orderReviewContracts.d.ts +475 -0
- package/dist/commerce/orderReviewContracts.js +94 -0
- package/dist/commerce/orderReviewPorts.d.ts +140 -0
- package/dist/commerce/orderReviewPorts.js +1 -0
- package/dist/commerce/outboxDispatchContracts.d.ts +30 -0
- package/dist/commerce/outboxDispatchContracts.js +1 -0
- package/dist/commerce/outboxEventSchemas.d.ts +162 -0
- package/dist/commerce/outboxEventSchemas.js +164 -0
- package/dist/commerce/outboxOrderDraftEmailPorts.d.ts +207 -0
- package/dist/commerce/outboxOrderDraftEmailPorts.js +12 -0
- package/dist/commerce/paymentContinuation.d.ts +4 -0
- package/dist/commerce/paymentContinuation.js +4 -0
- package/dist/commerce/ports.d.ts +8 -0
- package/dist/commerce/ports.js +1 -0
- package/dist/commerce/recoveryDestination.d.ts +3 -0
- package/dist/commerce/recoveryDestination.js +17 -0
- package/dist/commerce/runtimeErrors.d.ts +8 -0
- package/dist/commerce/runtimeErrors.js +16 -0
- package/dist/commerce/salesChannelEnvelope.d.ts +20 -0
- package/dist/commerce/salesChannelEnvelope.js +7 -0
- package/dist/commerce/schemas.d.ts +174 -0
- package/dist/commerce/schemas.js +84 -0
- package/dist/commerce/server/checkoutCompensation.d.ts +21 -0
- package/dist/commerce/server/checkoutCompensation.js +32 -0
- package/dist/commerce/server/checkoutConflictClassifiers.d.ts +17 -0
- package/dist/commerce/server/checkoutConflictClassifiers.js +38 -0
- package/dist/commerce/server/checkoutExpiredRecoveryPolicy.d.ts +38 -0
- package/dist/commerce/server/checkoutExpiredRecoveryPolicy.js +85 -0
- package/dist/commerce/server/checkoutInvoiceBuyerSnapshot.d.ts +22 -0
- package/dist/commerce/server/checkoutInvoiceBuyerSnapshot.js +30 -0
- package/dist/commerce/server/checkoutOfferPolicyPort.d.ts +33 -0
- package/dist/commerce/server/checkoutOfferPolicyPort.js +49 -0
- package/dist/commerce/server/checkoutPaymentContinuationCredential.d.ts +58 -0
- package/dist/commerce/server/checkoutPaymentContinuationCredential.js +154 -0
- package/dist/commerce/server/checkoutQuoteTypes.d.ts +19 -0
- package/dist/commerce/server/checkoutQuoteTypes.js +1 -0
- package/dist/commerce/server/checkoutRecoveryOrderPort.d.ts +42 -0
- package/dist/commerce/server/checkoutRecoveryOrderPort.js +1 -0
- package/dist/commerce/server/checkoutRecoveryToken.d.ts +40 -0
- package/dist/commerce/server/checkoutRecoveryToken.js +26 -0
- package/dist/commerce/server/checkoutRefusalContinuation.d.ts +24 -0
- package/dist/commerce/server/checkoutRefusalContinuation.js +18 -0
- package/dist/commerce/server/checkoutRuntimeTypes.d.ts +81 -0
- package/dist/commerce/server/checkoutRuntimeTypes.js +1 -0
- package/dist/commerce/server/commerceCheckoutCommandExecution.d.ts +60 -0
- package/dist/commerce/server/commerceCheckoutCommandExecution.js +136 -0
- package/dist/commerce/server/commerceCheckoutCompensation.d.ts +26 -0
- package/dist/commerce/server/commerceCheckoutCompensation.js +46 -0
- package/dist/commerce/server/commerceCheckoutContinuationTerms.d.ts +50 -0
- package/dist/commerce/server/commerceCheckoutContinuationTerms.js +66 -0
- package/dist/commerce/server/commerceCheckoutCustomerDefaults.d.ts +18 -0
- package/dist/commerce/server/commerceCheckoutCustomerDefaults.js +17 -0
- package/dist/commerce/server/commerceCheckoutFailureHandler.d.ts +51 -0
- package/dist/commerce/server/commerceCheckoutFailureHandler.js +90 -0
- package/dist/commerce/server/commerceCheckoutHandler.d.ts +213 -0
- package/dist/commerce/server/commerceCheckoutHandler.js +196 -0
- package/dist/commerce/server/commerceCheckoutHandlerAdmission.d.ts +58 -0
- package/dist/commerce/server/commerceCheckoutHandlerAdmission.js +94 -0
- package/dist/commerce/server/commerceCheckoutHandlerHelpers.d.ts +67 -0
- package/dist/commerce/server/commerceCheckoutHandlerHelpers.js +155 -0
- package/dist/commerce/server/commerceCheckoutOrchestrationError.d.ts +9 -0
- package/dist/commerce/server/commerceCheckoutOrchestrationError.js +14 -0
- package/dist/commerce/server/commerceCheckoutPromotionPriceChange.d.ts +47 -0
- package/dist/commerce/server/commerceCheckoutPromotionPriceChange.js +43 -0
- package/dist/commerce/server/commerceCheckoutProviderPayment.d.ts +34 -0
- package/dist/commerce/server/commerceCheckoutProviderPayment.js +37 -0
- package/dist/commerce/server/commerceCheckoutQuoteGuard.d.ts +62 -0
- package/dist/commerce/server/commerceCheckoutQuoteGuard.js +106 -0
- package/dist/commerce/server/commerceCheckoutResume.d.ts +29 -0
- package/dist/commerce/server/commerceCheckoutResume.js +81 -0
- package/dist/commerce/server/commerceCheckoutResumeGuard.d.ts +54 -0
- package/dist/commerce/server/commerceCheckoutResumeGuard.js +138 -0
- package/dist/commerce/server/commerceCheckoutSavedPaymentMethod.d.ts +39 -0
- package/dist/commerce/server/commerceCheckoutSavedPaymentMethod.js +44 -0
- package/dist/commerce/server/commerceCheckoutStartRuntimeFailure.d.ts +7 -0
- package/dist/commerce/server/commerceCheckoutStartRuntimeFailure.js +39 -0
- package/dist/commerce/server/commerceCheckoutTiming.d.ts +8 -0
- package/dist/commerce/server/commerceCheckoutTiming.js +31 -0
- package/dist/commerce/server/commerceDiagnostics.d.ts +6 -0
- package/dist/commerce/server/commerceDiagnostics.js +31 -0
- package/dist/commerce/server/commerceOmsCancelOrderHandler.d.ts +7 -0
- package/dist/commerce/server/commerceOmsCancelOrderHandler.js +22 -0
- package/dist/commerce/server/commerceOmsControlPlaneHandlers.d.ts +18 -0
- package/dist/commerce/server/commerceOmsControlPlaneHandlers.js +60 -0
- package/dist/commerce/server/commerceOmsHandlers.d.ts +47 -0
- package/dist/commerce/server/commerceOmsHandlers.js +176 -0
- package/dist/commerce/server/commerceOmsMarkRefundedHandler.d.ts +7 -0
- package/dist/commerce/server/commerceOmsMarkRefundedHandler.js +19 -0
- package/dist/commerce/server/commerceOrderDraft.d.ts +24 -0
- package/dist/commerce/server/commerceOrderDraft.js +92 -0
- package/dist/commerce/server/commercePaidOrderOrchestration.d.ts +131 -0
- package/dist/commerce/server/commercePaidOrderOrchestration.js +140 -0
- package/dist/commerce/server/commerceProviderAttemptFailure.d.ts +133 -0
- package/dist/commerce/server/commerceProviderAttemptFailure.js +175 -0
- package/dist/commerce/server/commerceReturnsHandlers.d.ts +41 -0
- package/dist/commerce/server/commerceReturnsHandlers.js +100 -0
- package/dist/commerce/server/commerceRuntimePort.d.ts +16 -0
- package/dist/commerce/server/commerceRuntimePort.js +57 -0
- package/dist/commerce/server/commerceRuntimeService.d.ts +98 -0
- package/dist/commerce/server/commerceRuntimeService.js +186 -0
- package/dist/commerce/server/commerceRuntimeStartResponse.d.ts +37 -0
- package/dist/commerce/server/commerceRuntimeStartResponse.js +56 -0
- package/dist/commerce/server/commerceStarterOfferGuard.d.ts +55 -0
- package/dist/commerce/server/commerceStarterOfferGuard.js +128 -0
- package/dist/commerce/server/configuratorIntentPersistence.d.ts +47 -0
- package/dist/commerce/server/configuratorIntentPersistence.js +85 -0
- package/dist/commerce/server/configuratorIntentPersistenceHandler.d.ts +14 -0
- package/dist/commerce/server/configuratorIntentPersistenceHandler.js +42 -0
- package/dist/commerce/server/emailRuntime.d.ts +47 -0
- package/dist/commerce/server/emailRuntime.js +1 -0
- package/dist/commerce/server/handlerSupport.d.ts +68 -0
- package/dist/commerce/server/handlerSupport.js +1 -0
- package/dist/commerce/server/index.d.ts +178 -0
- package/dist/commerce/server/index.js +127 -0
- package/dist/commerce/server/offerAvailability.d.ts +21 -0
- package/dist/commerce/server/offerAvailability.js +163 -0
- package/dist/commerce/server/orderDraftRpcPayload.d.ts +20 -0
- package/dist/commerce/server/orderDraftRpcPayload.js +21 -0
- package/dist/commerce/server/orderFeedbackSubmit.d.ts +20 -0
- package/dist/commerce/server/orderFeedbackSubmit.js +16 -0
- package/dist/commerce/server/orderFeedbackTokenCheck.d.ts +17 -0
- package/dist/commerce/server/orderFeedbackTokenCheck.js +14 -0
- package/dist/commerce/server/orderReviewAdminHandlers.d.ts +47 -0
- package/dist/commerce/server/orderReviewAdminHandlers.js +41 -0
- package/dist/commerce/server/orderReviewHandlers.d.ts +114 -0
- package/dist/commerce/server/orderReviewHandlers.js +42 -0
- package/dist/commerce/server/orderReviewLifecycle.d.ts +10 -0
- package/dist/commerce/server/orderReviewLifecycle.js +121 -0
- package/dist/commerce/server/orderReviewMedia.d.ts +11 -0
- package/dist/commerce/server/orderReviewMedia.js +172 -0
- package/dist/commerce/server/orderReviewRawUploadHandler.d.ts +40 -0
- package/dist/commerce/server/orderReviewRawUploadHandler.js +316 -0
- package/dist/commerce/server/outboxCheckoutExpiredEmailHandler.d.ts +14 -0
- package/dist/commerce/server/outboxCheckoutExpiredEmailHandler.js +57 -0
- package/dist/commerce/server/outboxCheckoutRecoveryEmailHandler.d.ts +13 -0
- package/dist/commerce/server/outboxCheckoutRecoveryEmailHandler.js +150 -0
- package/dist/commerce/server/outboxDispatchRegistry.d.ts +46 -0
- package/dist/commerce/server/outboxDispatchRegistry.js +184 -0
- package/dist/commerce/server/outboxDispatchRegistryComposition.d.ts +6 -0
- package/dist/commerce/server/outboxDispatchRegistryComposition.js +23 -0
- package/dist/commerce/server/outboxOrderDraftEmailHandler.d.ts +14 -0
- package/dist/commerce/server/outboxOrderDraftEmailHandler.js +130 -0
- package/dist/commerce/server/outboxOrderPaidEmailHandler.d.ts +21 -0
- package/dist/commerce/server/outboxOrderPaidEmailHandler.js +93 -0
- package/dist/commerce/server/outboxOrderPaidFulfillmentHandler.d.ts +3 -0
- package/dist/commerce/server/outboxOrderPaidFulfillmentHandler.js +1 -0
- package/dist/commerce/server/outboxOrderPaidFulfillmentPorts.d.ts +3 -0
- package/dist/commerce/server/outboxOrderPaidFulfillmentPorts.js +1 -0
- package/dist/commerce/server/outboxOrderRefundedEmailHandler.d.ts +13 -0
- package/dist/commerce/server/outboxOrderRefundedEmailHandler.js +42 -0
- package/dist/commerce/server/outboxPaymentFailedEmailHandler.d.ts +14 -0
- package/dist/commerce/server/outboxPaymentFailedEmailHandler.js +65 -0
- package/dist/commerce/server/outboxReturnEmailHandlers.d.ts +26 -0
- package/dist/commerce/server/outboxReturnEmailHandlers.js +53 -0
- package/dist/commerce/server/outboxShipmentDeliveredEmailHandler.d.ts +17 -0
- package/dist/commerce/server/outboxShipmentDeliveredEmailHandler.js +52 -0
- package/dist/commerce/server/outboxShipmentDispatchedEmailHandler.d.ts +13 -0
- package/dist/commerce/server/outboxShipmentDispatchedEmailHandler.js +87 -0
- package/dist/commerce/server/outboxShipmentExceptionEmailHandler.d.ts +13 -0
- package/dist/commerce/server/outboxShipmentExceptionEmailHandler.js +46 -0
- package/dist/commerce/server/referenceCheckoutHandler.d.ts +48 -0
- package/dist/commerce/server/referenceCheckoutHandler.js +68 -0
- package/dist/commerce/server/reservationSweepPort.d.ts +31 -0
- package/dist/commerce/server/reservationSweepPort.js +45 -0
- package/dist/commerce/server/starterTermsPort.d.ts +22 -0
- package/dist/commerce/server/starterTermsPort.js +1 -0
- package/dist/commerce/server/supabaseCommerceReturnsPort.d.ts +13 -0
- package/dist/commerce/server/supabaseCommerceReturnsPort.js +56 -0
- package/dist/communications/consentPurposeRegistry.d.ts +1 -1
- package/dist/communications/newsletterIntegrationContracts.d.ts +10 -10
- package/dist/composition/accountSupportContribution.d.ts +18 -0
- package/dist/composition/accountSupportContribution.js +21 -0
- package/dist/composition/commerceContribution.d.ts +21 -0
- package/dist/composition/commerceContribution.js +27 -0
- package/dist/composition/index.d.ts +2 -0
- package/dist/composition/index.js +2 -0
- package/dist/fulfillment/handlerSchemas.d.ts +69 -69
- package/dist/fulfillment/index.d.ts +1 -1
- package/dist/fulfillment/index.js +1 -1
- package/dist/fulfillment/paidHandoff.d.ts +12 -1
- package/dist/fulfillment/paidHandoff.js +2 -2
- package/dist/fulfillment/providerDispatchWorker.d.ts +4 -4
- package/dist/identity/customerContracts.d.ts +4 -4
- package/dist/inventory/bindings.d.ts +3 -0
- package/dist/inventory/bindings.js +10 -4
- package/dist/inventory/index.d.ts +1 -0
- package/dist/inventory/index.js +1 -0
- package/dist/inventory/managedStockAvailability.d.ts +15 -0
- package/dist/inventory/managedStockAvailability.js +16 -0
- package/dist/inventory/postgresStockAvailability.js +2 -25
- package/dist/inventory/schemas.d.ts +1 -1
- package/dist/inventory/stockReadResponse.d.ts +4 -0
- package/dist/inventory/stockReadResponse.js +27 -0
- package/dist/invoicing/snapshot.d.ts +1 -1
- package/dist/pricing/acquisitionQuoteBinding.d.ts +1 -1
- package/dist/pricing/browser/index.d.ts +6 -0
- package/dist/pricing/browser/index.js +6 -0
- package/dist/pricing/catalogFactsSchemas.d.ts +1 -1
- package/dist/pricing/quotePromotionEvidence.d.ts +1 -1
- package/dist/pricing/quoteSchemas.d.ts +56 -56
- package/dist/promotions/adminPromotionCodesContracts.d.ts +30 -30
- package/dist/promotions/adminPromotionsContracts.d.ts +16 -16
- package/dist/subscriptions/index.d.ts +3 -2
- package/dist/subscriptions/index.js +3 -2
- package/package.json +32 -2
- package/release-gates.json +90 -8
- package/sql/20261026120000_account_support_operator_authority.sql +693 -0
- package/src/account-support/accountReadFacade.ts +15 -0
- package/src/account-support/accountReadModels.ts +371 -0
- package/src/account-support/bindings.ts +28 -0
- package/src/account-support/contracts/account.ts +306 -0
- package/src/account-support/contracts/capabilities.ts +30 -0
- package/src/account-support/contracts/commands.ts +243 -0
- package/src/account-support/contracts/customer360.ts +150 -0
- package/src/account-support/contracts/index.ts +141 -0
- package/src/account-support/contracts/invoice.ts +44 -0
- package/src/account-support/contracts/operator.ts +123 -0
- package/src/account-support/contribution.ts +35 -0
- package/src/account-support/customer360.ts +268 -0
- package/src/account-support/customerAccountReadDiagnostics.ts +83 -0
- package/src/account-support/index.ts +72 -0
- package/src/account-support/invoiceAccess.ts +63 -0
- package/src/account-support/migrations.ts +7 -0
- package/src/account-support/operatorAuthority.ts +393 -0
- package/src/account-support/operatorRecovery.ts +136 -0
- package/src/account-support/orderHistory.ts +309 -0
- package/src/account-support/paymentMethodComposition.ts +8 -0
- package/src/account-support/postgresOperatorAuthority.ts +92 -0
- package/src/account-support/selfService.ts +83 -0
- package/src/account-support/subscriptionCommandCodec.ts +48 -0
- package/src/commerce/adapters/managed/commerceOmsControlPlane.ts +80 -0
- package/src/commerce/adapters/managed/commerceOmsMutations.ts +145 -0
- package/src/commerce/adapters/managed/commerceOmsPort.ts +158 -0
- package/src/commerce/adapters/managed/oms/accounting.ts +18 -0
- package/src/commerce/adapters/managed/oms/fulfillmentReads.ts +82 -0
- package/src/commerce/adapters/managed/oms/inboundEvents.ts +45 -0
- package/src/commerce/adapters/managed/oms/outboxEvents.ts +30 -0
- package/src/commerce/adapters/managed/oms/paymentAttempts.ts +19 -0
- package/src/commerce/adapters/managed/oms/queueSelection.ts +132 -0
- package/src/commerce/adapters/managed/oms/readProjections.ts +22 -0
- package/src/commerce/adapters/managed/oms/readQueries.ts +292 -0
- package/src/commerce/adapters/managed/oms/types.ts +9 -0
- package/src/commerce/checkoutCommandSchemas.ts +93 -0
- package/src/commerce/checkoutHelpers.ts +47 -0
- package/src/commerce/checkoutResumeSchemas.ts +164 -0
- package/src/commerce/checkoutSchemas.ts +182 -0
- package/src/commerce/commerceReturnsPort.ts +67 -0
- package/src/commerce/configuratorIntentPersistenceSchemas.ts +26 -0
- package/src/commerce/configuratorIntentSchemas.ts +47 -0
- package/src/commerce/contractPrimitives.ts +30 -0
- package/src/commerce/contracts/availability.ts +21 -0
- package/src/commerce/contracts/fulfillmentRecovery.ts +26 -0
- package/src/commerce/contracts/index.ts +17 -0
- package/src/commerce/contracts/intent.ts +58 -0
- package/src/commerce/contracts/omsTypes.ts +1217 -0
- package/src/commerce/contracts/order.ts +44 -0
- package/src/commerce/contracts/orderMoney.ts +75 -0
- package/src/commerce/contracts/ports.ts +124 -0
- package/src/commerce/contracts/recovery.ts +24 -0
- package/src/commerce/contracts/runtimePorts.ts +201 -0
- package/src/commerce/contracts/state.ts +64 -0
- package/src/commerce/customerDefaultsSnapshotSchemas.ts +117 -0
- package/src/commerce/errors.ts +53 -0
- package/src/commerce/fulfillmentEligibility.ts +32 -0
- package/src/commerce/index.ts +82 -0
- package/src/commerce/model/customerFulfillmentRecovery.ts +185 -0
- package/src/commerce/model/fulfillmentCancellationEligibility.ts +18 -0
- package/src/commerce/model/omsAccountingVisibility.ts +135 -0
- package/src/commerce/model/omsBillingInvoiceBuyer.ts +20 -0
- package/src/commerce/model/omsCurrency.ts +8 -0
- package/src/commerce/model/omsFulfillmentDebug.ts +157 -0
- package/src/commerce/model/omsFulfillmentSummary.ts +225 -0
- package/src/commerce/model/omsListTotals.ts +38 -0
- package/src/commerce/model/omsOperationalLadder.ts +181 -0
- package/src/commerce/model/omsOrderLineMoney.ts +34 -0
- package/src/commerce/model/omsPaymentMethodSummary.ts +19 -0
- package/src/commerce/model/omsReadModel.ts +302 -0
- package/src/commerce/model/omsReadModelCommunication.ts +32 -0
- package/src/commerce/model/omsReadModelHelpers.ts +279 -0
- package/src/commerce/model/omsReadModelList.ts +90 -0
- package/src/commerce/model/omsReadModelListSummary.ts +19 -0
- package/src/commerce/model/omsReadModelPricing.ts +57 -0
- package/src/commerce/model/omsReadModelProjections.ts +1 -0
- package/src/commerce/model/omsReadModelRowCore.ts +193 -0
- package/src/commerce/model/omsReadModelRows.ts +7 -0
- package/src/commerce/offerAvailability.ts +75 -0
- package/src/commerce/offerAvailabilitySchemas.ts +56 -0
- package/src/commerce/offerEvidenceSchemas.ts +17 -0
- package/src/commerce/oms/omsContractBase.ts +92 -0
- package/src/commerce/oms/omsContractReadAuxSchemas.ts +130 -0
- package/src/commerce/oms/omsContractReadSchemas.ts +303 -0
- package/src/commerce/oms/omsContractRequests.ts +143 -0
- package/src/commerce/oms/omsContracts.ts +6 -0
- package/src/commerce/oms/omsControlPlane.ts +85 -0
- package/src/commerce/oms/omsFulfillmentContractSchemas.ts +113 -0
- package/src/commerce/oms/omsFulfillmentDebugSchemas.ts +38 -0
- package/src/commerce/oms/omsFulfillmentHealthSchemas.ts +46 -0
- package/src/commerce/oms/omsPorts.ts +165 -0
- package/src/commerce/oms/omsPrimitives.ts +3 -0
- package/src/commerce/oms/omsProviderEvidenceSchemas.ts +13 -0
- package/src/commerce/orderDraftErrors.ts +28 -0
- package/src/commerce/orderEmailEligibility.ts +131 -0
- package/src/commerce/orderEmailLines.ts +22 -0
- package/src/commerce/orderFeedbackContracts.ts +47 -0
- package/src/commerce/orderMoney.ts +207 -0
- package/src/commerce/orderReviewContracts.ts +124 -0
- package/src/commerce/orderReviewPorts.ts +94 -0
- package/src/commerce/outboxDispatchContracts.ts +30 -0
- package/src/commerce/outboxEventSchemas.ts +230 -0
- package/src/commerce/outboxOrderDraftEmailPorts.ts +241 -0
- package/src/commerce/paymentContinuation.ts +5 -0
- package/src/commerce/ports.ts +7 -0
- package/src/commerce/recoveryDestination.ts +23 -0
- package/src/commerce/runtimeErrors.ts +19 -0
- package/src/commerce/salesChannelEnvelope.ts +28 -0
- package/src/commerce/schemas.ts +104 -0
- package/src/commerce/server/checkoutCompensation.ts +49 -0
- package/src/commerce/server/checkoutConflictClassifiers.ts +53 -0
- package/src/commerce/server/checkoutExpiredRecoveryPolicy.ts +107 -0
- package/src/commerce/server/checkoutInvoiceBuyerSnapshot.ts +36 -0
- package/src/commerce/server/checkoutOfferPolicyPort.ts +60 -0
- package/src/commerce/server/checkoutPaymentContinuationCredential.ts +222 -0
- package/src/commerce/server/checkoutQuoteTypes.ts +9 -0
- package/src/commerce/server/checkoutRecoveryOrderPort.ts +40 -0
- package/src/commerce/server/checkoutRecoveryToken.ts +63 -0
- package/src/commerce/server/checkoutRefusalContinuation.ts +29 -0
- package/src/commerce/server/checkoutRuntimeTypes.ts +26 -0
- package/src/commerce/server/commerceCheckoutCommandExecution.ts +188 -0
- package/src/commerce/server/commerceCheckoutCompensation.ts +66 -0
- package/src/commerce/server/commerceCheckoutContinuationTerms.ts +87 -0
- package/src/commerce/server/commerceCheckoutCustomerDefaults.ts +24 -0
- package/src/commerce/server/commerceCheckoutFailureHandler.ts +144 -0
- package/src/commerce/server/commerceCheckoutHandler.ts +269 -0
- package/src/commerce/server/commerceCheckoutHandlerAdmission.ts +157 -0
- package/src/commerce/server/commerceCheckoutHandlerHelpers.ts +223 -0
- package/src/commerce/server/commerceCheckoutOrchestrationError.ts +15 -0
- package/src/commerce/server/commerceCheckoutPromotionPriceChange.ts +83 -0
- package/src/commerce/server/commerceCheckoutProviderPayment.ts +45 -0
- package/src/commerce/server/commerceCheckoutQuoteGuard.ts +172 -0
- package/src/commerce/server/commerceCheckoutResume.ts +132 -0
- package/src/commerce/server/commerceCheckoutResumeGuard.ts +195 -0
- package/src/commerce/server/commerceCheckoutSavedPaymentMethod.ts +85 -0
- package/src/commerce/server/commerceCheckoutStartRuntimeFailure.ts +59 -0
- package/src/commerce/server/commerceCheckoutTiming.ts +53 -0
- package/src/commerce/server/commerceDiagnostics.ts +37 -0
- package/src/commerce/server/commerceOmsCancelOrderHandler.ts +43 -0
- package/src/commerce/server/commerceOmsControlPlaneHandlers.ts +71 -0
- package/src/commerce/server/commerceOmsHandlers.ts +275 -0
- package/src/commerce/server/commerceOmsMarkRefundedHandler.ts +39 -0
- package/src/commerce/server/commerceOrderDraft.ts +131 -0
- package/src/commerce/server/commercePaidOrderOrchestration.ts +275 -0
- package/src/commerce/server/commerceProviderAttemptFailure.ts +257 -0
- package/src/commerce/server/commerceReturnsHandlers.ts +143 -0
- package/src/commerce/server/commerceRuntimePort.ts +75 -0
- package/src/commerce/server/commerceRuntimeService.ts +229 -0
- package/src/commerce/server/commerceRuntimeStartResponse.ts +76 -0
- package/src/commerce/server/commerceStarterOfferGuard.ts +200 -0
- package/src/commerce/server/configuratorIntentPersistence.ts +161 -0
- package/src/commerce/server/configuratorIntentPersistenceHandler.ts +54 -0
- package/src/commerce/server/emailRuntime.ts +30 -0
- package/src/commerce/server/handlerSupport.ts +22 -0
- package/src/commerce/server/index.ts +181 -0
- package/src/commerce/server/offerAvailability.ts +275 -0
- package/src/commerce/server/orderDraftRpcPayload.ts +39 -0
- package/src/commerce/server/orderFeedbackSubmit.ts +40 -0
- package/src/commerce/server/orderFeedbackTokenCheck.ts +28 -0
- package/src/commerce/server/orderReviewAdminHandlers.ts +43 -0
- package/src/commerce/server/orderReviewHandlers.ts +57 -0
- package/src/commerce/server/orderReviewLifecycle.ts +129 -0
- package/src/commerce/server/orderReviewMedia.ts +170 -0
- package/src/commerce/server/orderReviewRawUploadHandler.ts +300 -0
- package/src/commerce/server/outboxCheckoutExpiredEmailHandler.ts +86 -0
- package/src/commerce/server/outboxCheckoutRecoveryEmailHandler.ts +188 -0
- package/src/commerce/server/outboxDispatchRegistry.ts +269 -0
- package/src/commerce/server/outboxDispatchRegistryComposition.ts +31 -0
- package/src/commerce/server/outboxOrderDraftEmailHandler.ts +162 -0
- package/src/commerce/server/outboxOrderPaidEmailHandler.ts +147 -0
- package/src/commerce/server/outboxOrderPaidFulfillmentHandler.ts +4 -0
- package/src/commerce/server/outboxOrderPaidFulfillmentPorts.ts +3 -0
- package/src/commerce/server/outboxOrderRefundedEmailHandler.ts +58 -0
- package/src/commerce/server/outboxPaymentFailedEmailHandler.ts +99 -0
- package/src/commerce/server/outboxReturnEmailHandlers.ts +92 -0
- package/src/commerce/server/outboxShipmentDeliveredEmailHandler.ts +94 -0
- package/src/commerce/server/outboxShipmentDispatchedEmailHandler.ts +112 -0
- package/src/commerce/server/outboxShipmentExceptionEmailHandler.ts +73 -0
- package/src/commerce/server/referenceCheckoutHandler.ts +87 -0
- package/src/commerce/server/reservationSweepPort.ts +67 -0
- package/src/commerce/server/starterTermsPort.ts +22 -0
- package/src/commerce/server/supabaseCommerceReturnsPort.ts +81 -0
- package/src/composition/accountSupportContribution.ts +28 -0
- package/src/composition/commerceContribution.ts +35 -0
- package/src/composition/index.ts +2 -0
- package/src/fulfillment/index.ts +1 -1
- package/src/fulfillment/paidHandoff.ts +2 -2
- package/src/inventory/bindings.ts +12 -4
- package/src/inventory/index.ts +1 -0
- package/src/inventory/managedStockAvailability.ts +23 -0
- package/src/inventory/postgresStockAvailability.ts +2 -21
- package/src/inventory/stockReadResponse.ts +25 -0
- package/src/pricing/browser/index.ts +6 -0
- package/src/subscriptions/index.ts +3 -2
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
export declare const OUTBOX_ORDER_CONFIRMATION_TEMPLATE_SLUG = "commerce-order-confirmation";
|
|
2
|
+
export interface OrderRecipient {
|
|
3
|
+
email: string;
|
|
4
|
+
firstName: string | null;
|
|
5
|
+
country?: string | null;
|
|
6
|
+
contextName?: string | null;
|
|
7
|
+
}
|
|
8
|
+
export interface OrderRecipientPort {
|
|
9
|
+
resolve(orderUuid: string, signal: AbortSignal): Promise<OrderRecipient | null>;
|
|
10
|
+
}
|
|
11
|
+
export interface OrderPaymentLifecycleState {
|
|
12
|
+
orderStatus: string | null;
|
|
13
|
+
paymentStatus: string | null;
|
|
14
|
+
paymentUpdatedAt?: string | null;
|
|
15
|
+
hasPayment: boolean;
|
|
16
|
+
/** The activation sweep abandoned this order's provisional subscription: it writes
|
|
17
|
+
* `cancelled`, not `expired`, so the expired-checkout gate needs this to tell a swept
|
|
18
|
+
* first subscription from any other cancellation. Absent for every one-time order. */
|
|
19
|
+
subscriptionActivationAbandoned?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface OrderPaymentLifecyclePort {
|
|
22
|
+
read(orderUuid: string, signal: AbortSignal): Promise<OrderPaymentLifecycleState | null>;
|
|
23
|
+
}
|
|
24
|
+
export interface OrderEmailLineItem {
|
|
25
|
+
name: string;
|
|
26
|
+
quantity: number;
|
|
27
|
+
lineTotalLabel: string;
|
|
28
|
+
}
|
|
29
|
+
export interface OrderEmailTotals {
|
|
30
|
+
subtotalLabel: string | null;
|
|
31
|
+
discountLabel: string | null;
|
|
32
|
+
totalLabel: string;
|
|
33
|
+
firstSubscription?: {
|
|
34
|
+
discountPercent?: number;
|
|
35
|
+
catalogLabel: string;
|
|
36
|
+
productPayableLabel: string;
|
|
37
|
+
shippingLabel: string | null;
|
|
38
|
+
shippingFree: boolean;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export interface OrderConfirmationEmailInput<Locale extends string = string> {
|
|
42
|
+
to: string;
|
|
43
|
+
firstName: string | null;
|
|
44
|
+
contextName?: string | null;
|
|
45
|
+
orderId: string;
|
|
46
|
+
outboxEventId: string;
|
|
47
|
+
items: OrderEmailLineItem[];
|
|
48
|
+
totals: OrderEmailTotals | null;
|
|
49
|
+
locale?: Locale;
|
|
50
|
+
signal: AbortSignal;
|
|
51
|
+
}
|
|
52
|
+
export interface TransactionalEmailSendOutcome {
|
|
53
|
+
ok: boolean;
|
|
54
|
+
messageId: string | null;
|
|
55
|
+
httpStatus: number;
|
|
56
|
+
providerError: string | null;
|
|
57
|
+
aborted: boolean;
|
|
58
|
+
providerErrorCode?: string | null;
|
|
59
|
+
/** Terminal intentional non-send; callers must not count it as sent. */
|
|
60
|
+
skipReason?: "admin_disabled" | "egress_suppressed" | null;
|
|
61
|
+
}
|
|
62
|
+
export declare const OUTBOX_ORDER_PAID_TEMPLATE_SLUG = "commerce-order-paid";
|
|
63
|
+
export declare const OUTBOX_CHECKOUT_RECOVERY_TEMPLATE_SLUG = "commerce-checkout-recovery";
|
|
64
|
+
export interface CheckoutRecoveryEmailInput<Locale extends string = string> {
|
|
65
|
+
to: string;
|
|
66
|
+
firstName: string | null;
|
|
67
|
+
contextName?: string | null;
|
|
68
|
+
orderId: string;
|
|
69
|
+
recoveryToken: string;
|
|
70
|
+
mode: string;
|
|
71
|
+
reminderHours: number;
|
|
72
|
+
linkSource?: "buyer_hatch";
|
|
73
|
+
outboxEventId: string;
|
|
74
|
+
locale?: Locale;
|
|
75
|
+
signal: AbortSignal;
|
|
76
|
+
}
|
|
77
|
+
export interface OrderPaidRawLine {
|
|
78
|
+
/** Frozen historical display label, or null for sparse legacy snapshots. */
|
|
79
|
+
label: string | null;
|
|
80
|
+
quantity: number;
|
|
81
|
+
lineTotalMinor: number;
|
|
82
|
+
}
|
|
83
|
+
export interface OrderPaidRawData {
|
|
84
|
+
currency: string;
|
|
85
|
+
subtotalMinor: number;
|
|
86
|
+
discountMinor: number;
|
|
87
|
+
totalMinor: number;
|
|
88
|
+
presentation?: unknown;
|
|
89
|
+
lines: OrderPaidRawLine[];
|
|
90
|
+
}
|
|
91
|
+
export interface OrderPaidLinesPort {
|
|
92
|
+
read(orderUuid: string, signal: AbortSignal): Promise<OrderPaidRawData | null>;
|
|
93
|
+
}
|
|
94
|
+
export interface OrderPaidConfirmationEmailInput<Locale extends string = string> {
|
|
95
|
+
to: string;
|
|
96
|
+
firstName: string | null;
|
|
97
|
+
contextName?: string | null;
|
|
98
|
+
orderId: string;
|
|
99
|
+
mode: string;
|
|
100
|
+
outboxEventId: string;
|
|
101
|
+
items: OrderEmailLineItem[];
|
|
102
|
+
totals: OrderEmailTotals | null;
|
|
103
|
+
parcelNote?: string | null;
|
|
104
|
+
locale?: Locale;
|
|
105
|
+
signal: AbortSignal;
|
|
106
|
+
}
|
|
107
|
+
export declare const OUTBOX_PAYMENT_FAILED_TEMPLATE_SLUG = "commerce-payment-failed";
|
|
108
|
+
export interface PaymentFailedEmailInput<Locale extends string = string> {
|
|
109
|
+
to: string;
|
|
110
|
+
firstName: string | null;
|
|
111
|
+
orderId: string;
|
|
112
|
+
amountLabel: string | null;
|
|
113
|
+
recoveryToken: string;
|
|
114
|
+
mode: string;
|
|
115
|
+
outboxEventId: string;
|
|
116
|
+
locale?: Locale;
|
|
117
|
+
signal: AbortSignal;
|
|
118
|
+
}
|
|
119
|
+
export declare const OUTBOX_CHECKOUT_EXPIRED_TEMPLATE_SLUG = "commerce-checkout-expired";
|
|
120
|
+
export interface CheckoutExpiredEmailInput<Locale extends string = string> {
|
|
121
|
+
to: string;
|
|
122
|
+
firstName: string | null;
|
|
123
|
+
orderId: string;
|
|
124
|
+
amountLabel: string | null;
|
|
125
|
+
/** Raw checkout-recovery token, emitted only in the outbox payload: the database
|
|
126
|
+
* stores only its hash, and the host renderer builds the recovery link. */
|
|
127
|
+
recoveryToken?: string | null;
|
|
128
|
+
outboxEventId: string;
|
|
129
|
+
locale?: Locale;
|
|
130
|
+
signal: AbortSignal;
|
|
131
|
+
}
|
|
132
|
+
export declare const OUTBOX_ORDER_CANCELED_TEMPLATE_SLUG = "commerce-order-canceled";
|
|
133
|
+
export interface OrderCanceledEmailInput<Locale extends string = string> {
|
|
134
|
+
to: string;
|
|
135
|
+
firstName: string | null;
|
|
136
|
+
orderId: string;
|
|
137
|
+
amountLabel: string | null;
|
|
138
|
+
outboxEventId: string;
|
|
139
|
+
locale?: Locale;
|
|
140
|
+
signal: AbortSignal;
|
|
141
|
+
}
|
|
142
|
+
export declare const OUTBOX_ORDER_REFUNDED_TEMPLATE_SLUG = "commerce-order-refunded";
|
|
143
|
+
export interface OrderRefundedEmailInput<Locale extends string = string> {
|
|
144
|
+
to: string;
|
|
145
|
+
firstName: string | null;
|
|
146
|
+
orderId: string;
|
|
147
|
+
amountLabel: string | null;
|
|
148
|
+
outboxEventId: string;
|
|
149
|
+
locale?: Locale;
|
|
150
|
+
signal: AbortSignal;
|
|
151
|
+
}
|
|
152
|
+
export declare const OUTBOX_SHIPMENT_DISPATCHED_TEMPLATE_SLUG = "commerce-shipment-dispatched";
|
|
153
|
+
export interface ShipmentDispatchedEmailInput<Locale extends string = string> {
|
|
154
|
+
to: string;
|
|
155
|
+
firstName: string | null;
|
|
156
|
+
contextName?: string | null;
|
|
157
|
+
orderId: string;
|
|
158
|
+
trackingNumber: string | null;
|
|
159
|
+
trackingUrl: string | null;
|
|
160
|
+
outboxEventId: string;
|
|
161
|
+
locale?: Locale;
|
|
162
|
+
signal: AbortSignal;
|
|
163
|
+
}
|
|
164
|
+
export declare const OUTBOX_SHIPMENT_DELIVERED_TEMPLATE_SLUG = "commerce-shipment-delivered";
|
|
165
|
+
export interface ShipmentDeliveredEmailInput<Locale extends string = string> {
|
|
166
|
+
to: string;
|
|
167
|
+
firstName: string | null;
|
|
168
|
+
contextName?: string | null;
|
|
169
|
+
orderId: string;
|
|
170
|
+
outboxEventId: string;
|
|
171
|
+
locale?: Locale;
|
|
172
|
+
signal: AbortSignal;
|
|
173
|
+
}
|
|
174
|
+
export declare const OUTBOX_SHIPMENT_EXCEPTION_TEMPLATE_SLUG = "commerce-shipment-exception";
|
|
175
|
+
export interface ShipmentExceptionEmailInput<Locale extends string = string> {
|
|
176
|
+
to: string;
|
|
177
|
+
firstName: string | null;
|
|
178
|
+
orderId: string;
|
|
179
|
+
outboxEventId: string;
|
|
180
|
+
locale?: Locale;
|
|
181
|
+
signal: AbortSignal;
|
|
182
|
+
}
|
|
183
|
+
export declare const OUTBOX_RETURN_APPROVED_TEMPLATE_SLUG = "commerce-return-approved";
|
|
184
|
+
export declare const OUTBOX_RETURN_REJECTED_TEMPLATE_SLUG = "commerce-return-rejected";
|
|
185
|
+
export interface ReturnDecisionEmailInput<Locale extends string = string> {
|
|
186
|
+
to: string;
|
|
187
|
+
firstName: string | null;
|
|
188
|
+
orderId: string;
|
|
189
|
+
outboxEventId: string;
|
|
190
|
+
locale?: Locale;
|
|
191
|
+
signal: AbortSignal;
|
|
192
|
+
}
|
|
193
|
+
export interface TransactionalEmailPort<Locale extends string = string> {
|
|
194
|
+
findExistingSend(templateSlug: string, outboxEventId: string): Promise<boolean>;
|
|
195
|
+
sendReturnApprovedNotice(input: ReturnDecisionEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
196
|
+
sendReturnRejectedNotice(input: ReturnDecisionEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
197
|
+
sendOrderConfirmation(input: OrderConfirmationEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
198
|
+
sendCheckoutRecovery(input: CheckoutRecoveryEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
199
|
+
sendOrderPaidConfirmation(input: OrderPaidConfirmationEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
200
|
+
sendPaymentFailedNotice(input: PaymentFailedEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
201
|
+
sendCheckoutExpiredNotice(input: CheckoutExpiredEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
202
|
+
sendOrderCanceledNotice(input: OrderCanceledEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
203
|
+
sendOrderRefundedNotice(input: OrderRefundedEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
204
|
+
sendShipmentDispatchedNotice(input: ShipmentDispatchedEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
205
|
+
sendShipmentDeliveredNotice(input: ShipmentDeliveredEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
206
|
+
sendShipmentExceptionNotice(input: ShipmentExceptionEmailInput<Locale>): Promise<TransactionalEmailSendOutcome>;
|
|
207
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const OUTBOX_ORDER_CONFIRMATION_TEMPLATE_SLUG = "commerce-order-confirmation";
|
|
2
|
+
export const OUTBOX_ORDER_PAID_TEMPLATE_SLUG = "commerce-order-paid";
|
|
3
|
+
export const OUTBOX_CHECKOUT_RECOVERY_TEMPLATE_SLUG = "commerce-checkout-recovery";
|
|
4
|
+
export const OUTBOX_PAYMENT_FAILED_TEMPLATE_SLUG = "commerce-payment-failed";
|
|
5
|
+
export const OUTBOX_CHECKOUT_EXPIRED_TEMPLATE_SLUG = "commerce-checkout-expired";
|
|
6
|
+
export const OUTBOX_ORDER_CANCELED_TEMPLATE_SLUG = "commerce-order-canceled";
|
|
7
|
+
export const OUTBOX_ORDER_REFUNDED_TEMPLATE_SLUG = "commerce-order-refunded";
|
|
8
|
+
export const OUTBOX_SHIPMENT_DISPATCHED_TEMPLATE_SLUG = "commerce-shipment-dispatched";
|
|
9
|
+
export const OUTBOX_SHIPMENT_DELIVERED_TEMPLATE_SLUG = "commerce-shipment-delivered";
|
|
10
|
+
export const OUTBOX_SHIPMENT_EXCEPTION_TEMPLATE_SLUG = "commerce-shipment-exception";
|
|
11
|
+
export const OUTBOX_RETURN_APPROVED_TEMPLATE_SLUG = "commerce-return-approved";
|
|
12
|
+
export const OUTBOX_RETURN_REJECTED_TEMPLATE_SLUG = "commerce-return-rejected";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const checkoutContinuationJourneyIdSchema = z.string().regex(/^checkout:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i);
|
|
3
|
+
/** Shared client/server lifetime; terminal payment status still invalidates continuation. */
|
|
4
|
+
export const CHECKOUT_PAYMENT_CONTINUATION_TTL_SECONDS = 45 * 60;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Host-owned quote options are extended only with a server-bound offer. */
|
|
2
|
+
export type CreateQuoteOptions<Options extends object> = Options & {
|
|
3
|
+
offerVersion?: string;
|
|
4
|
+
};
|
|
5
|
+
export interface CommerceQuotePort<Request, Response, Options extends object> {
|
|
6
|
+
createQuote(request: Request, options?: CreateQuoteOptions<Options>): Promise<Response>;
|
|
7
|
+
createServerAuthoritativeQuote?(request: Request, options?: CreateQuoteOptions<Options>): Promise<Response>;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { RecoveryDestinationPolicyInput, RecoveryDestinationIntent } from "./contracts/index.js";
|
|
2
|
+
export declare function resolveRecoveryDestination(input: RecoveryDestinationPolicyInput): RecoveryDestinationIntent;
|
|
3
|
+
export declare function hasSubscriptionRecoveryContext(input: Pick<RecoveryDestinationPolicyInput, "orderMode" | "hasOrderSubscription" | "requestedSubscriptionContext" | "clientHasLiveOrPendingSubscription">): boolean;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function resolveRecoveryDestination(input) {
|
|
2
|
+
if (input.source === "subscription_dunning")
|
|
3
|
+
return "account_payment_recovery";
|
|
4
|
+
if (input.state === "recoverable")
|
|
5
|
+
return "checkout_recovery";
|
|
6
|
+
if (hasSubscriptionRecoveryContext(input))
|
|
7
|
+
return "account_payment_recovery";
|
|
8
|
+
if (input.state === "terminal_expired")
|
|
9
|
+
return "fresh_checkout";
|
|
10
|
+
return "fresh_checkout";
|
|
11
|
+
}
|
|
12
|
+
export function hasSubscriptionRecoveryContext(input) {
|
|
13
|
+
return input.orderMode === "subscription_cycle" ||
|
|
14
|
+
input.hasOrderSubscription === true ||
|
|
15
|
+
input.requestedSubscriptionContext === true ||
|
|
16
|
+
input.clientHasLiveOrPendingSubscription === true;
|
|
17
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class CommerceRuntimeConflictError extends Error {
|
|
2
|
+
readonly details: Record<string, unknown>;
|
|
3
|
+
constructor(message?: string, details?: Record<string, unknown>);
|
|
4
|
+
}
|
|
5
|
+
export declare class CommerceRuntimePersistenceError extends Error {
|
|
6
|
+
readonly details: Record<string, unknown>;
|
|
7
|
+
constructor(message?: string, details?: Record<string, unknown>);
|
|
8
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export class CommerceRuntimeConflictError extends Error {
|
|
2
|
+
details;
|
|
3
|
+
constructor(message = "Commerce runtime conflict", details = {}) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = "CommerceRuntimeConflictError";
|
|
6
|
+
this.details = details;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class CommerceRuntimePersistenceError extends Error {
|
|
10
|
+
details;
|
|
11
|
+
constructor(message = "Commerce runtime persistence failed", details = {}) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = "CommerceRuntimePersistenceError";
|
|
14
|
+
this.details = details;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface CommerceSalesChannelEnvelope {
|
|
2
|
+
sourceKind: string | null;
|
|
3
|
+
sourceChannelSlug: string | null;
|
|
4
|
+
sourceOrderRef: string | null;
|
|
5
|
+
}
|
|
6
|
+
export interface CommerceSalesChannelRow {
|
|
7
|
+
source_kind?: string | null;
|
|
8
|
+
source_order_ref?: string | null;
|
|
9
|
+
sales_channels?: {
|
|
10
|
+
slug: string | null;
|
|
11
|
+
} | null;
|
|
12
|
+
}
|
|
13
|
+
export declare function projectCommerceSalesChannelEnvelope(row: CommerceSalesChannelRow): CommerceSalesChannelEnvelope;
|
|
14
|
+
/** Host-bound read only; the inventory owner supplies exposure semantics. */
|
|
15
|
+
export type CommerceChannelExposureReadPort = (skuId: string, signal: AbortSignal) => Promise<number>;
|
|
16
|
+
export interface OrderBuyerCommsPolicy {
|
|
17
|
+
sourceKind: string;
|
|
18
|
+
buyerCommsOwner: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function platformOwnsBuyerEmail(policy: OrderBuyerCommsPolicy | null): boolean;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function projectCommerceSalesChannelEnvelope(row) {
|
|
2
|
+
return { sourceKind: row.source_kind ?? null, sourceChannelSlug: row.sales_channels?.slug ?? null,
|
|
3
|
+
sourceOrderRef: row.source_order_ref ?? null };
|
|
4
|
+
}
|
|
5
|
+
export function platformOwnsBuyerEmail(policy) {
|
|
6
|
+
return policy === null || policy.buyerCommsOwner !== "channel";
|
|
7
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Preserve pricing validation and let the host extend cart locale policy. */
|
|
3
|
+
export declare function createCommerceSchemas<Line extends z.ZodType, Currency extends z.ZodType<string>, Money extends z.ZodType, Quote extends z.ZodType, Version extends string>(input: {
|
|
4
|
+
cartLineInputSchema: Line;
|
|
5
|
+
commerceCurrencySchema: Currency;
|
|
6
|
+
commerceMoneySchema: Money;
|
|
7
|
+
createQuoteResponseSchema: Quote;
|
|
8
|
+
contractVersion: Version;
|
|
9
|
+
}): {
|
|
10
|
+
createCartRequestSchema: z.ZodObject<{
|
|
11
|
+
lines: z.ZodArray<Line>;
|
|
12
|
+
clientId: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
cartDraftSchema: z.ZodObject<{
|
|
15
|
+
id: z.ZodString;
|
|
16
|
+
status: z.ZodEnum<{
|
|
17
|
+
draft: "draft";
|
|
18
|
+
}>;
|
|
19
|
+
lines: z.ZodArray<Line>;
|
|
20
|
+
currency: Currency;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
createCartResponseSchema: z.ZodObject<{
|
|
23
|
+
contractVersion: z.ZodLiteral<Version>;
|
|
24
|
+
cart: z.ZodObject<{
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
status: z.ZodEnum<{
|
|
27
|
+
draft: "draft";
|
|
28
|
+
}>;
|
|
29
|
+
lines: z.ZodArray<Line>;
|
|
30
|
+
currency: Currency;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
createCheckoutRequestSchema: z.ZodObject<{
|
|
34
|
+
cartId: z.ZodString;
|
|
35
|
+
successUrl: z.ZodString;
|
|
36
|
+
cancelUrl: z.ZodString;
|
|
37
|
+
idempotencyKey: z.ZodOptional<z.ZodString>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
createCheckoutResponseSchema: z.ZodObject<{
|
|
40
|
+
contractVersion: z.ZodLiteral<Version>;
|
|
41
|
+
checkout: z.ZodObject<{
|
|
42
|
+
id: z.ZodString;
|
|
43
|
+
cartId: z.ZodString;
|
|
44
|
+
status: z.ZodEnum<{
|
|
45
|
+
not_configured: "not_configured";
|
|
46
|
+
created: "created";
|
|
47
|
+
expired: "expired";
|
|
48
|
+
}>;
|
|
49
|
+
redirectUrl: z.ZodNullable<z.ZodString>;
|
|
50
|
+
paymentProviderSessionId: z.ZodNullable<z.ZodString>;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
orderDraftSummarySchema: z.ZodObject<{
|
|
54
|
+
orderId: z.ZodString;
|
|
55
|
+
status: z.ZodEnum<{
|
|
56
|
+
draft: "draft";
|
|
57
|
+
}>;
|
|
58
|
+
paymentStatus: z.ZodLiteral<"not_started">;
|
|
59
|
+
idempotencyKey: z.ZodString;
|
|
60
|
+
quoteSnapshot: Quote;
|
|
61
|
+
replayed: z.ZodBoolean;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
createOrderDraftRequestSchema: z.ZodObject<{
|
|
64
|
+
idempotencyKey: z.ZodString;
|
|
65
|
+
quoteSnapshot: Quote;
|
|
66
|
+
}, z.core.$strip>;
|
|
67
|
+
createOrderDraftResponseSchema: z.ZodObject<{
|
|
68
|
+
contractVersion: z.ZodLiteral<Version>;
|
|
69
|
+
orderDraft: z.ZodObject<{
|
|
70
|
+
orderId: z.ZodString;
|
|
71
|
+
status: z.ZodEnum<{
|
|
72
|
+
draft: "draft";
|
|
73
|
+
}>;
|
|
74
|
+
paymentStatus: z.ZodLiteral<"not_started">;
|
|
75
|
+
idempotencyKey: z.ZodString;
|
|
76
|
+
quoteSnapshot: Quote;
|
|
77
|
+
replayed: z.ZodBoolean;
|
|
78
|
+
}, z.core.$strip>;
|
|
79
|
+
}, z.core.$strip>;
|
|
80
|
+
orderSummarySchema: z.ZodObject<{
|
|
81
|
+
id: z.ZodString;
|
|
82
|
+
status: z.ZodEnum<{
|
|
83
|
+
failed: "failed";
|
|
84
|
+
cancelled: "cancelled";
|
|
85
|
+
paid: "paid";
|
|
86
|
+
pending_payment: "pending_payment";
|
|
87
|
+
draft: "draft";
|
|
88
|
+
expired: "expired";
|
|
89
|
+
fulfillment_pending: "fulfillment_pending";
|
|
90
|
+
fulfilled: "fulfilled";
|
|
91
|
+
refunded: "refunded";
|
|
92
|
+
}>;
|
|
93
|
+
paymentStatus: z.ZodEnum<{
|
|
94
|
+
requires_action: "requires_action";
|
|
95
|
+
failed: "failed";
|
|
96
|
+
paid: "paid";
|
|
97
|
+
expired: "expired";
|
|
98
|
+
refunded: "refunded";
|
|
99
|
+
not_started: "not_started";
|
|
100
|
+
processing: "processing";
|
|
101
|
+
partially_refunded: "partially_refunded";
|
|
102
|
+
disputed: "disputed";
|
|
103
|
+
}>;
|
|
104
|
+
total: z.ZodNullable<Money>;
|
|
105
|
+
lines: z.ZodArray<Line>;
|
|
106
|
+
}, z.core.$strip>;
|
|
107
|
+
orderReadResponseSchema: z.ZodObject<{
|
|
108
|
+
contractVersion: z.ZodLiteral<Version>;
|
|
109
|
+
order: z.ZodObject<{
|
|
110
|
+
id: z.ZodString;
|
|
111
|
+
status: z.ZodEnum<{
|
|
112
|
+
failed: "failed";
|
|
113
|
+
cancelled: "cancelled";
|
|
114
|
+
paid: "paid";
|
|
115
|
+
pending_payment: "pending_payment";
|
|
116
|
+
draft: "draft";
|
|
117
|
+
expired: "expired";
|
|
118
|
+
fulfillment_pending: "fulfillment_pending";
|
|
119
|
+
fulfilled: "fulfilled";
|
|
120
|
+
refunded: "refunded";
|
|
121
|
+
}>;
|
|
122
|
+
paymentStatus: z.ZodEnum<{
|
|
123
|
+
requires_action: "requires_action";
|
|
124
|
+
failed: "failed";
|
|
125
|
+
paid: "paid";
|
|
126
|
+
expired: "expired";
|
|
127
|
+
refunded: "refunded";
|
|
128
|
+
not_started: "not_started";
|
|
129
|
+
processing: "processing";
|
|
130
|
+
partially_refunded: "partially_refunded";
|
|
131
|
+
disputed: "disputed";
|
|
132
|
+
}>;
|
|
133
|
+
total: z.ZodNullable<Money>;
|
|
134
|
+
lines: z.ZodArray<Line>;
|
|
135
|
+
}, z.core.$strip>;
|
|
136
|
+
}, z.core.$strip>;
|
|
137
|
+
paymentSummarySchema: z.ZodObject<{
|
|
138
|
+
id: z.ZodString;
|
|
139
|
+
orderId: z.ZodString;
|
|
140
|
+
status: z.ZodEnum<{
|
|
141
|
+
requires_action: "requires_action";
|
|
142
|
+
failed: "failed";
|
|
143
|
+
paid: "paid";
|
|
144
|
+
expired: "expired";
|
|
145
|
+
refunded: "refunded";
|
|
146
|
+
not_started: "not_started";
|
|
147
|
+
processing: "processing";
|
|
148
|
+
partially_refunded: "partially_refunded";
|
|
149
|
+
disputed: "disputed";
|
|
150
|
+
}>;
|
|
151
|
+
amount: z.ZodNullable<Money>;
|
|
152
|
+
providerReference: z.ZodNullable<z.ZodString>;
|
|
153
|
+
}, z.core.$strip>;
|
|
154
|
+
paymentStatusReadResponseSchema: z.ZodObject<{
|
|
155
|
+
contractVersion: z.ZodLiteral<Version>;
|
|
156
|
+
payment: z.ZodObject<{
|
|
157
|
+
id: z.ZodString;
|
|
158
|
+
orderId: z.ZodString;
|
|
159
|
+
status: z.ZodEnum<{
|
|
160
|
+
requires_action: "requires_action";
|
|
161
|
+
failed: "failed";
|
|
162
|
+
paid: "paid";
|
|
163
|
+
expired: "expired";
|
|
164
|
+
refunded: "refunded";
|
|
165
|
+
not_started: "not_started";
|
|
166
|
+
processing: "processing";
|
|
167
|
+
partially_refunded: "partially_refunded";
|
|
168
|
+
disputed: "disputed";
|
|
169
|
+
}>;
|
|
170
|
+
amount: z.ZodNullable<Money>;
|
|
171
|
+
providerReference: z.ZodNullable<z.ZodString>;
|
|
172
|
+
}, z.core.$strip>;
|
|
173
|
+
}, z.core.$strip>;
|
|
174
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { cartStatusSchema, checkoutStatusSchema, commerceIdempotencyKeySchema, orderDraftStatusSchema, orderStatusSchema, paymentStatusSchema } from "./contractPrimitives.js";
|
|
3
|
+
/** Preserve pricing validation and let the host extend cart locale policy. */
|
|
4
|
+
export function createCommerceSchemas(input) {
|
|
5
|
+
const { cartLineInputSchema, commerceCurrencySchema, commerceMoneySchema, createQuoteResponseSchema } = input;
|
|
6
|
+
const createCartRequestSchema = z.object({
|
|
7
|
+
lines: z.array(cartLineInputSchema).min(1).max(50),
|
|
8
|
+
clientId: z.string().trim().min(1).optional(),
|
|
9
|
+
});
|
|
10
|
+
const cartDraftSchema = z.object({
|
|
11
|
+
id: z.string().regex(/^cart_[a-z0-9-]+$/),
|
|
12
|
+
status: cartStatusSchema,
|
|
13
|
+
lines: z.array(cartLineInputSchema).min(1),
|
|
14
|
+
currency: commerceCurrencySchema,
|
|
15
|
+
});
|
|
16
|
+
const createCartResponseSchema = z.object({
|
|
17
|
+
contractVersion: z.literal(input.contractVersion),
|
|
18
|
+
cart: cartDraftSchema,
|
|
19
|
+
});
|
|
20
|
+
const createCheckoutRequestSchema = z.object({
|
|
21
|
+
cartId: z.string().regex(/^cart_[a-z0-9-]+$/),
|
|
22
|
+
successUrl: z.string().url(),
|
|
23
|
+
cancelUrl: z.string().url(),
|
|
24
|
+
idempotencyKey: z.string().trim().min(8).max(120).optional(),
|
|
25
|
+
});
|
|
26
|
+
const createCheckoutResponseSchema = z
|
|
27
|
+
.object({
|
|
28
|
+
contractVersion: z.literal(input.contractVersion),
|
|
29
|
+
checkout: z.object({
|
|
30
|
+
id: z.string().regex(/^checkout_[a-z0-9-]+$/),
|
|
31
|
+
cartId: z.string().regex(/^cart_[a-z0-9-]+$/),
|
|
32
|
+
status: checkoutStatusSchema,
|
|
33
|
+
redirectUrl: z.string().url().nullable(),
|
|
34
|
+
paymentProviderSessionId: z.string().trim().min(1).nullable(),
|
|
35
|
+
}),
|
|
36
|
+
})
|
|
37
|
+
.refine(({ checkout }) => checkout.status === "not_configured"
|
|
38
|
+
? checkout.redirectUrl === null && checkout.paymentProviderSessionId === null
|
|
39
|
+
: checkout.redirectUrl !== null, {
|
|
40
|
+
message: "checkout status must match redirect/provider fields",
|
|
41
|
+
path: ["checkout"],
|
|
42
|
+
});
|
|
43
|
+
const orderDraftSummarySchema = z.object({
|
|
44
|
+
orderId: z.string().regex(/^order_[a-z0-9-]+$/),
|
|
45
|
+
status: orderDraftStatusSchema,
|
|
46
|
+
paymentStatus: z.literal("not_started"),
|
|
47
|
+
idempotencyKey: commerceIdempotencyKeySchema,
|
|
48
|
+
quoteSnapshot: createQuoteResponseSchema,
|
|
49
|
+
replayed: z.boolean(),
|
|
50
|
+
});
|
|
51
|
+
const createOrderDraftRequestSchema = z.object({
|
|
52
|
+
idempotencyKey: commerceIdempotencyKeySchema,
|
|
53
|
+
quoteSnapshot: createQuoteResponseSchema,
|
|
54
|
+
});
|
|
55
|
+
// Customer identity is supplied out of band by trusted composition, never
|
|
56
|
+
// accepted from the public order-draft request body.
|
|
57
|
+
const createOrderDraftResponseSchema = z.object({
|
|
58
|
+
contractVersion: z.literal(input.contractVersion),
|
|
59
|
+
orderDraft: orderDraftSummarySchema,
|
|
60
|
+
});
|
|
61
|
+
const orderSummarySchema = z.object({
|
|
62
|
+
id: z.string().regex(/^order_[a-z0-9-]+$/),
|
|
63
|
+
status: orderStatusSchema,
|
|
64
|
+
paymentStatus: paymentStatusSchema,
|
|
65
|
+
total: commerceMoneySchema.nullable(),
|
|
66
|
+
lines: z.array(cartLineInputSchema).min(1),
|
|
67
|
+
});
|
|
68
|
+
const orderReadResponseSchema = z.object({
|
|
69
|
+
contractVersion: z.literal(input.contractVersion),
|
|
70
|
+
order: orderSummarySchema,
|
|
71
|
+
});
|
|
72
|
+
const paymentSummarySchema = z.object({
|
|
73
|
+
id: z.string().regex(/^payment_[a-z0-9-]+$/),
|
|
74
|
+
orderId: z.string().regex(/^order_[a-z0-9-]+$/),
|
|
75
|
+
status: paymentStatusSchema,
|
|
76
|
+
amount: commerceMoneySchema.nullable(),
|
|
77
|
+
providerReference: z.string().trim().min(1).nullable(),
|
|
78
|
+
});
|
|
79
|
+
const paymentStatusReadResponseSchema = z.object({
|
|
80
|
+
contractVersion: z.literal(input.contractVersion),
|
|
81
|
+
payment: paymentSummarySchema,
|
|
82
|
+
});
|
|
83
|
+
return { createCartRequestSchema, cartDraftSchema, createCartResponseSchema, createCheckoutRequestSchema, createCheckoutResponseSchema, orderDraftSummarySchema, createOrderDraftRequestSchema, createOrderDraftResponseSchema, orderSummarySchema, orderReadResponseSchema, paymentSummarySchema, paymentStatusReadResponseSchema };
|
|
84
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { CheckoutCompensationPort } from "./commerceCheckoutCompensation.js";
|
|
2
|
+
export interface CompensationRpcClient {
|
|
3
|
+
rpc(functionName: string, args: Record<string, unknown>): PromiseLike<{
|
|
4
|
+
data: unknown;
|
|
5
|
+
error: {
|
|
6
|
+
code?: string;
|
|
7
|
+
} | null;
|
|
8
|
+
}>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Binds both cancellations to one service-role client. Compositions inject the
|
|
12
|
+
* result into the inventory reservation port, so the staying domain module
|
|
13
|
+
* never imports this adapter.
|
|
14
|
+
*/
|
|
15
|
+
export declare function createCheckoutCompensationRpcAdapter(client: CompensationRpcClient): Pick<CheckoutCompensationPort, "cancelAbandonedOrder" | "cancelUnstartedPromotionOrder">;
|
|
16
|
+
export declare function cancelAbandonedCheckout(client: CompensationRpcClient, input: Parameters<CheckoutCompensationPort["cancelAbandonedOrder"]>[0]): Promise<{
|
|
17
|
+
cancelled: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
export declare function cancelUnstartedPromotionCheckout(client: CompensationRpcClient, input: Parameters<CheckoutCompensationPort["cancelUnstartedPromotionOrder"]>[0]): Promise<{
|
|
20
|
+
cancelled: boolean;
|
|
21
|
+
}>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CommerceRuntimePersistenceError } from "../runtimeErrors.js";
|
|
2
|
+
/**
|
|
3
|
+
* Binds both cancellations to one service-role client. Compositions inject the
|
|
4
|
+
* result into the inventory reservation port, so the staying domain module
|
|
5
|
+
* never imports this adapter.
|
|
6
|
+
*/
|
|
7
|
+
export function createCheckoutCompensationRpcAdapter(client) {
|
|
8
|
+
return {
|
|
9
|
+
cancelAbandonedOrder: (input) => cancelAbandonedCheckout(client, input),
|
|
10
|
+
cancelUnstartedPromotionOrder: (input) => cancelUnstartedPromotionCheckout(client, input),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export async function cancelAbandonedCheckout(client, input) {
|
|
14
|
+
const { data, error } = await client.rpc("commerce_cancel_abandoned_checkout", {
|
|
15
|
+
p_idempotency_key: `${input.idempotencyKey}:abandon`,
|
|
16
|
+
p_order_id: input.orderId,
|
|
17
|
+
p_reason: input.reason,
|
|
18
|
+
});
|
|
19
|
+
if (error)
|
|
20
|
+
throw new CommerceRuntimePersistenceError("Checkout cancellation RPC failed", { code: error.code });
|
|
21
|
+
return { cancelled: data?.cancelled === true };
|
|
22
|
+
}
|
|
23
|
+
export async function cancelUnstartedPromotionCheckout(client, input) {
|
|
24
|
+
const { data, error } = await client.rpc("commerce_cancel_unstarted_promotion_order", {
|
|
25
|
+
p_idempotency_key: input.idempotencyKey,
|
|
26
|
+
p_order_id: input.orderId,
|
|
27
|
+
p_reason: input.reason,
|
|
28
|
+
});
|
|
29
|
+
if (error)
|
|
30
|
+
throw new CommerceRuntimePersistenceError("Promotion cancellation RPC failed", { code: error.code });
|
|
31
|
+
return { cancelled: data === true };
|
|
32
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare function isStockUnavailableCheckoutConflict(error: unknown): boolean;
|
|
2
|
+
export declare function isProviderAttemptInFlightCheckoutConflict(error: unknown): boolean;
|
|
3
|
+
export declare function isJourneyConsumedCheckoutConflict(error: unknown): boolean;
|
|
4
|
+
/**
|
|
5
|
+
* `start_runtime` conflicts that map to an identical `CONFLICT + reason` response with
|
|
6
|
+
* no compensation side effect — the FE resumes/handles each by its `reason`. Order is
|
|
7
|
+
* significant and preserved from the original inline branches. Stock-unavailable is
|
|
8
|
+
* intentionally NOT here: it additionally cancels the abandoned order, so the handler
|
|
9
|
+
* keeps that branch inline.
|
|
10
|
+
*/
|
|
11
|
+
export declare const START_RUNTIME_SIMPLE_CONFLICTS: ReadonlyArray<{
|
|
12
|
+
match: (error: unknown) => boolean;
|
|
13
|
+
message: string;
|
|
14
|
+
reason: string;
|
|
15
|
+
}>;
|
|
16
|
+
/** Scoped semantic details only; raw SQLSTATE does not authorize this classification. */
|
|
17
|
+
export declare function isInventoryAdmissionBusy(error: unknown): boolean;
|