@cimplify/sdk 0.104.0 → 0.105.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 (71) hide show
  1. package/dist/advanced.d.mts +3 -7
  2. package/dist/advanced.d.ts +3 -7
  3. package/dist/advanced.js +23 -23
  4. package/dist/advanced.mjs +4 -4
  5. package/dist/{client-BuLcOWLv.d.ts → catalogue-D1jkpGcr.d.ts} +415 -763
  6. package/dist/{client-D5AoobFc.d.mts → catalogue-DjutZ0FC.d.mts} +415 -763
  7. package/dist/{payment-g0HFkEDU.d.mts → checkout-XoV4HNg2.d.mts} +4156 -1498
  8. package/dist/{payment-g0HFkEDU.d.ts → checkout-XoV4HNg2.d.ts} +4156 -1498
  9. package/dist/{chunk-GOHSXBKW.mjs → chunk-33VCYWVL.mjs} +25 -1
  10. package/dist/{chunk-OKADBZAI.mjs → chunk-37ZZCE7P.mjs} +808 -574
  11. package/dist/{chunk-5BDYDZ4U.js → chunk-3IMPJEUI.js} +892 -657
  12. package/dist/{chunk-YVAEY3VC.js → chunk-7PMMV5X4.js} +1040 -364
  13. package/dist/{chunk-H3RATH4B.mjs → chunk-AVXA4F6G.js} +293 -2
  14. package/dist/{chunk-CNN7Z2IP.js → chunk-EV2EVOYS.js} +27 -0
  15. package/dist/{chunk-4BKOKHE3.js → chunk-NJYR6GGM.mjs} +244 -19
  16. package/dist/{chunk-DYIAX3WI.mjs → chunk-NYDVVNZI.mjs} +11 -2
  17. package/dist/{chunk-E4K2VQDD.js → chunk-PDTXSUHZ.js} +559 -16
  18. package/dist/{chunk-2WPVUIHX.mjs → chunk-Q5HX7LVE.mjs} +1036 -360
  19. package/dist/{chunk-5RT4HYMP.mjs → chunk-TINYV5E2.mjs} +542 -15
  20. package/dist/{chunk-7PDEX54K.js → chunk-UYFTOIFW.js} +13 -3
  21. package/dist/{chunk-OCCNG6MO.mjs → chunk-X7RPMALQ.mjs} +1310 -722
  22. package/dist/{chunk-IQFFSKE2.js → chunk-XHVQDEVO.js} +1345 -746
  23. package/dist/{client-BVNWjk6W.d.ts → client-BBZj15JJ.d.ts} +2 -2
  24. package/dist/{client-fM716k7G.d.mts → client-CZ8MjJ_o.d.mts} +2 -2
  25. package/dist/index-CZjNWbQf.d.ts +8 -0
  26. package/dist/index-DNxWfRHF.d.mts +8 -0
  27. package/dist/{index-BtcoqrY1.d.ts → index-DRMBo26v.d.mts} +9 -4
  28. package/dist/{index-D7Tf3v7c.d.mts → index-DweR60Cv.d.ts} +9 -4
  29. package/dist/index.d.mts +31 -14
  30. package/dist/index.d.ts +31 -14
  31. package/dist/index.js +325 -133
  32. package/dist/index.mjs +6 -6
  33. package/dist/mock/cli.mjs +1450 -386
  34. package/dist/mock/library.js +1176 -352
  35. package/dist/mock/library.mjs +1176 -352
  36. package/dist/mock/msw.js +1176 -352
  37. package/dist/mock/msw.mjs +1176 -352
  38. package/dist/{price-BLIeAb8K.d.ts → price-CUGIYRtD.d.mts} +1 -1
  39. package/dist/{price-Czq_cTC_.d.mts → price-De-sxcuj.d.ts} +1 -1
  40. package/dist/react.d.mts +10 -5
  41. package/dist/react.d.ts +10 -5
  42. package/dist/react.js +227 -197
  43. package/dist/react.mjs +90 -60
  44. package/dist/{server-DKK_D-PP.d.ts → server-Byr4d0hL.d.mts} +31 -57
  45. package/dist/{server-BkVhOIwn.d.mts → server-C_RIDnHU.d.ts} +31 -57
  46. package/dist/server.d.mts +3 -4
  47. package/dist/server.d.ts +3 -4
  48. package/dist/server.js +11 -11
  49. package/dist/server.mjs +5 -5
  50. package/dist/styles.css +2 -2
  51. package/dist/testing/msw.d.mts +2 -2
  52. package/dist/testing/msw.d.ts +2 -2
  53. package/dist/testing/msw.js +4 -4
  54. package/dist/testing/msw.mjs +3 -3
  55. package/dist/testing/suite.d.mts +5 -6
  56. package/dist/testing/suite.d.ts +5 -6
  57. package/dist/testing/suite.js +29 -28
  58. package/dist/testing/suite.mjs +10 -9
  59. package/dist/testing.d.mts +2478 -14
  60. package/dist/testing.d.ts +2478 -14
  61. package/dist/testing.js +167 -89
  62. package/dist/testing.mjs +24 -10
  63. package/dist/utils.d.mts +3 -4
  64. package/dist/utils.d.ts +3 -4
  65. package/dist/utils.js +35 -31
  66. package/dist/utils.mjs +2 -2
  67. package/package.json +9 -9
  68. package/registry/order-history.json +1 -1
  69. package/registry/order-summary.json +1 -1
  70. package/dist/link-D9iSVxt5.d.mts +0 -308
  71. package/dist/link-D9iSVxt5.d.ts +0 -308
@@ -1,5 +1,7 @@
1
- import { createMockApp } from './chunk-2WPVUIHX.mjs';
2
- import { createCimplifyClient } from './chunk-OKADBZAI.mjs';
1
+ import { createMockApp } from './chunk-Q5HX7LVE.mjs';
2
+ import { createCimplifyClient } from './chunk-37ZZCE7P.mjs';
3
+ import { PAYMENT_METHOD, ORDER_TYPE, AUTHORIZATION_TYPE, CHECKOUT_NEXT_ACTION } from './chunk-33VCYWVL.mjs';
4
+ import { PURCHASE_INTENT_SOURCE_KIND, PURCHASE_INTENT_SELLABLE_KIND, PURCHASE_INTENT_OFFER_KIND, PURCHASE_INTENT_LINE_CONFIGURATION_KIND, PURCHASE_INTENT_PAYMENT_METHOD, PURCHASE_INTENT_MOBILE_MONEY_NETWORK, MOBILE_MONEY_TENDER_AUTHORITY_KIND, CHECKOUT_COMPLIANCE_REASON, CHECKOUT_COMPLIANCE_LANE, PURCHASE_SURFACE, PURCHASE_DISPOSITION, PAYMENT_INSTRUMENT_DISPLAY_KIND, CHECKOUT_PROTECTION_STATUS, PAYMENT_OPTION_NEXT_ACTION, PAYMENT_OPTION_STATUS, PURCHASE_INTENT_PAYMENT_PROVIDER, PAYMENT_COLLECTION_MODE, PURCHASING_PRINCIPAL_KIND, CHECKOUT_PURCHASE_SURFACE, NATIVE_PURCHASE_PLATFORM, PURCHASE_INTENT_STATUS, CHECKOUT_TERMS_COMPONENT, CHECKOUT_TERMS_DELTA_KIND, CHECKOUT_MATERIAL_TERMS_COMPONENT, PURCHASE_INTENT_CONFIRM_STATUS, CHECKOUT_INVALIDATION_REASON } from './chunk-NJYR6GGM.mjs';
3
5
  import { z } from 'zod';
4
6
 
5
7
  var cimplifyRegistry = z.registry();
@@ -537,10 +539,10 @@ var CheckoutBodySchema = registerSchema(
537
539
  cart_id: z.string().min(1),
538
540
  location_id: z.string().optional(),
539
541
  customer: CheckoutCustomerSchema,
540
- order_type: z.string().min(1),
542
+ order_type: z.enum(ORDER_TYPE),
541
543
  address_info: z.record(z.string(), z.unknown()).optional(),
542
544
  delivery_rate_id: z.string().optional(),
543
- payment_method: z.string().min(1),
545
+ payment_method: z.enum(PAYMENT_METHOD),
544
546
  mobile_money_details: z.object({ phone_number: z.string(), provider: z.string() }).optional(),
545
547
  special_instructions: z.string().optional(),
546
548
  metadata: z.record(z.string(), z.unknown()).optional(),
@@ -549,13 +551,18 @@ var CheckoutBodySchema = registerSchema(
549
551
  }),
550
552
  {
551
553
  id: "CheckoutBody",
552
- description: "POST /checkout request body",
553
- version: "1.0.0"
554
+ description: "Deprecated CheckoutService input adapted to a PurchaseIntent command",
555
+ version: "2.0.0"
554
556
  }
555
557
  );
556
558
  var assertCheckoutBody = makeAssertion(CheckoutBodySchema, "checkoutBody");
557
559
  var AuthorizationTypeSchema = z.union([
558
- z.enum(["otp", "pin", "phone", "birthday"]),
560
+ z.enum([
561
+ AUTHORIZATION_TYPE.OTP,
562
+ AUTHORIZATION_TYPE.PIN,
563
+ AUTHORIZATION_TYPE.PHONE,
564
+ AUTHORIZATION_TYPE.BIRTHDAY
565
+ ]),
559
566
  z.object({
560
567
  address: z.object({
561
568
  address: z.string(),
@@ -566,21 +573,33 @@ var AuthorizationTypeSchema = z.union([
566
573
  })
567
574
  ]);
568
575
  var NextActionSchema = z.discriminatedUnion("type", [
569
- z.object({ type: z.literal("none") }),
576
+ z.object({ type: z.literal(CHECKOUT_NEXT_ACTION.NONE) }),
570
577
  z.object({
571
- type: z.literal("card_popup"),
578
+ type: z.literal(CHECKOUT_NEXT_ACTION.CARD_POPUP),
572
579
  provider: z.string().min(1),
573
580
  client_secret: z.string().min(1),
574
581
  public_key: z.string().min(1),
575
582
  provider_account_id: z.string().min(1).optional()
576
583
  }),
577
- z.object({ type: z.literal("redirect"), authorization_url: z.string() }),
578
584
  z.object({
579
- type: z.literal("authorization"),
585
+ type: z.literal(CHECKOUT_NEXT_ACTION.REDIRECT),
586
+ authorization_url: z.string()
587
+ }),
588
+ z.object({
589
+ type: z.literal(CHECKOUT_NEXT_ACTION.AUTHORIZATION),
580
590
  authorization_type: AuthorizationTypeSchema,
581
591
  display_text: z.string().nullish()
582
592
  }),
583
- z.object({ type: z.literal("poll") })
593
+ z.object({
594
+ type: z.literal(CHECKOUT_NEXT_ACTION.TERMS_CHANGED),
595
+ replacement: z.unknown(),
596
+ deltas: z.array(z.unknown())
597
+ }),
598
+ z.object({
599
+ type: z.literal(CHECKOUT_NEXT_ACTION.SELECTION_UNAVAILABLE),
600
+ lines: z.array(z.unknown())
601
+ }),
602
+ z.object({ type: z.literal(CHECKOUT_NEXT_ACTION.POLL) })
584
603
  ]);
585
604
  var CheckoutResponseSchema = registerSchema(
586
605
  z.looseObject({
@@ -601,11 +620,518 @@ var CheckoutResponseSchema = registerSchema(
601
620
  }),
602
621
  {
603
622
  id: "CheckoutResponse",
604
- description: "POST /checkout response \u2014 loose for payment-provider field additions",
605
- version: "1.0.0"
623
+ description: "Deprecated CheckoutService projection over PurchaseIntent; bill_token is historical compatibility only",
624
+ version: "2.0.0"
606
625
  }
607
626
  );
608
627
  var assertCheckoutResponse = makeAssertion(CheckoutResponseSchema, "checkout");
628
+ var CheckoutAddressInfoSchema = z.object({
629
+ street_address: z.string().optional(),
630
+ apartment: z.string().optional(),
631
+ city: z.string().optional(),
632
+ region: z.string().optional(),
633
+ postal_code: z.string().optional(),
634
+ country: z.string().optional(),
635
+ delivery_instructions: z.string().optional(),
636
+ phone_for_delivery: z.string().optional(),
637
+ latitude: z.number().optional(),
638
+ longitude: z.number().optional(),
639
+ pickup_time: z.string().optional(),
640
+ guest_count: z.number().int().positive().optional(),
641
+ seating_time: z.string().optional(),
642
+ seating_requests: z.string().optional()
643
+ });
644
+ var PurchaseIntentSourceInputSchema = z.discriminatedUnion("kind", [
645
+ z.object({
646
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.PRODUCT),
647
+ product_id: z.string().min(1)
648
+ }).strict(),
649
+ z.object({
650
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.COLLECTION),
651
+ collection_id: z.string().min(1)
652
+ }).strict(),
653
+ z.object({
654
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.SALE),
655
+ sale_id: z.string().min(1)
656
+ }).strict(),
657
+ z.object({
658
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.POST),
659
+ signed_handoff: z.string().min(1)
660
+ }).strict(),
661
+ z.object({
662
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.LIVE),
663
+ signed_handoff: z.string().min(1),
664
+ signed_beat_identity: z.string().min(1)
665
+ }).strict(),
666
+ z.object({
667
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.CART),
668
+ cart_id: z.string().min(1)
669
+ }).strict(),
670
+ z.object({
671
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.CHAT),
672
+ thread_id: z.string().min(1)
673
+ }).strict()
674
+ ]);
675
+ var SellableRefSchema = z.object({
676
+ kind: z.enum(PURCHASE_INTENT_SELLABLE_KIND),
677
+ product_id: z.string().min(1),
678
+ variant_id: z.string().nullish(),
679
+ location_id: z.string().min(1)
680
+ });
681
+ var OfferRefSchema = z.object({
682
+ kind: z.enum(PURCHASE_INTENT_OFFER_KIND),
683
+ id: z.string().min(1),
684
+ version: z.string().min(1)
685
+ });
686
+ var CustomerInputSchema = z.object({
687
+ field_id: z.string().min(1),
688
+ field_name: z.string().optional(),
689
+ field_type: z.string().optional(),
690
+ value: z.unknown()
691
+ });
692
+ var DirectLineConfigurationSchema = z.object({
693
+ kind: z.literal(PURCHASE_INTENT_LINE_CONFIGURATION_KIND.SIMPLE),
694
+ variant_id: z.string().nullish(),
695
+ add_ons: z.array(z.object({ option_id: z.string().min(1), quantity: z.number().int().positive() })).optional(),
696
+ customer_inputs: z.array(CustomerInputSchema).optional()
697
+ });
698
+ var CartLineConfigurationSchema = z.looseObject({
699
+ type: z.enum(["simple", "service", "bundle", "composite", "digital"])
700
+ });
701
+ var PersistedLineConfigurationSchema = z.discriminatedUnion("kind", [
702
+ DirectLineConfigurationSchema,
703
+ z.object({
704
+ kind: z.literal(PURCHASE_INTENT_LINE_CONFIGURATION_KIND.CART),
705
+ configuration: CartLineConfigurationSchema
706
+ })
707
+ ]);
708
+ var PurchaseIntentLineInputSchema = z.object({
709
+ sellable: SellableRefSchema,
710
+ quantity: z.number().int().positive(),
711
+ configuration: DirectLineConfigurationSchema,
712
+ offer: OfferRefSchema.nullish()
713
+ });
714
+ var CheckoutDestinationInputSchema = z.object({
715
+ address_id: z.string().min(1),
716
+ delivery_rate_id: z.string().nullish()
717
+ });
718
+ var PurchaseIntentTenderPreferenceSchema = z.discriminatedUnion("method_kind", [
719
+ z.object({
720
+ method_kind: z.literal(PURCHASE_INTENT_PAYMENT_METHOD.CARD),
721
+ stored_instrument_id: z.string().optional()
722
+ }).strict(),
723
+ z.object({
724
+ method_kind: z.literal(PURCHASE_INTENT_PAYMENT_METHOD.MOBILE_MONEY),
725
+ authority: z.discriminatedUnion("authority_kind", [
726
+ z.object({
727
+ authority_kind: z.literal(MOBILE_MONEY_TENDER_AUTHORITY_KIND.TRANSIENT),
728
+ phone_number: z.string().min(1),
729
+ network: z.enum(PURCHASE_INTENT_MOBILE_MONEY_NETWORK)
730
+ }).strict(),
731
+ z.object({
732
+ authority_kind: z.literal(MOBILE_MONEY_TENDER_AUTHORITY_KIND.SAVED_REFERENCE),
733
+ stored_instrument_id: z.string().min(1)
734
+ }).strict()
735
+ ])
736
+ }).strict()
737
+ ]);
738
+ var CartIntentCheckoutInputSchema = z.object({
739
+ customer: CheckoutCustomerSchema,
740
+ order_type: z.string().min(1),
741
+ address_info: CheckoutAddressInfoSchema,
742
+ location_id: z.string().optional(),
743
+ delivery_rate_id: z.string().optional(),
744
+ special_instructions: z.string().optional(),
745
+ link_address_id: z.string().optional(),
746
+ link_payment_method_id: z.string().optional(),
747
+ metadata: z.record(z.string(), z.unknown()).optional(),
748
+ pay_currency: CurrencyCodeSchema.optional(),
749
+ fx_quote_id: z.string().optional(),
750
+ use_store_credit: z.boolean().optional(),
751
+ voucher_code: z.string().optional(),
752
+ pay_deposit: z.boolean().optional(),
753
+ tender_preference: PurchaseIntentTenderPreferenceSchema.optional()
754
+ });
755
+ var MintBaseShape = {
756
+ client_intent_key: z.string().min(1),
757
+ destination: CheckoutDestinationInputSchema.nullish()
758
+ };
759
+ var MintPurchaseIntentRequestSchema = registerSchema(
760
+ z.union([
761
+ z.object({
762
+ ...MintBaseShape,
763
+ source: z.union([
764
+ z.object({
765
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.CART),
766
+ cart_id: z.string().min(1)
767
+ }).strict(),
768
+ z.object({
769
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.CHAT),
770
+ thread_id: z.string().min(1)
771
+ }).strict()
772
+ ]),
773
+ checkout: CartIntentCheckoutInputSchema
774
+ }).strict(),
775
+ z.object({
776
+ ...MintBaseShape,
777
+ source: z.union([
778
+ z.object({
779
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.PRODUCT),
780
+ product_id: z.string().min(1)
781
+ }).strict(),
782
+ z.object({
783
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.COLLECTION),
784
+ collection_id: z.string().min(1)
785
+ }).strict(),
786
+ z.object({
787
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.SALE),
788
+ sale_id: z.string().min(1)
789
+ }).strict(),
790
+ z.object({
791
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.POST),
792
+ signed_handoff: z.string().min(1)
793
+ }).strict(),
794
+ z.object({
795
+ kind: z.literal(PURCHASE_INTENT_SOURCE_KIND.LIVE),
796
+ signed_handoff: z.string().min(1),
797
+ signed_beat_identity: z.string().min(1)
798
+ }).strict()
799
+ ]),
800
+ lines: z.array(PurchaseIntentLineInputSchema).min(1)
801
+ }).strict()
802
+ ]),
803
+ {
804
+ id: "MintPurchaseIntentRequest",
805
+ description: "Mint one durable purchase intent and its first immutable terms",
806
+ version: "1.0.0"
807
+ }
808
+ );
809
+ var CheckoutMoneyComponentsSchema = z.object({
810
+ currency: CurrencyCodeSchema,
811
+ subtotal: MoneySchema,
812
+ discount_total: MoneySchema,
813
+ tax_total: MoneySchema,
814
+ delivery_total: MoneySchema,
815
+ statutory_total: MoneySchema,
816
+ total_obligation: MoneySchema,
817
+ due_now: MoneySchema,
818
+ rail_amount: MoneySchema,
819
+ store_credit_consumed: MoneySchema,
820
+ voucher_credit_consumed: MoneySchema
821
+ });
822
+ var CheckoutMaterialTermsSchema = z.object({
823
+ line_digest: z.string().min(1),
824
+ destination_digest: z.string(),
825
+ delivery_promise_digest: z.string(),
826
+ entitlement_digest: z.string(),
827
+ cancellation_terms_digest: z.string()
828
+ });
829
+ var CheckoutComplianceDecisionSchema = z.object({
830
+ disposition: z.enum(PURCHASE_DISPOSITION).optional(),
831
+ purchase_policy: z.object({
832
+ policy_version: z.number().int(),
833
+ surface: z.enum(PURCHASE_SURFACE),
834
+ market_region: z.string(),
835
+ store_region: z.string().nullish()
836
+ }).nullish(),
837
+ policy_name: z.string().min(1),
838
+ policy_version: z.number().int().positive(),
839
+ lane: z.enum(CHECKOUT_COMPLIANCE_LANE),
840
+ reason_code: z.enum(CHECKOUT_COMPLIANCE_REASON),
841
+ evidence_digest: z.string().min(1)
842
+ });
843
+ var PaymentInstrumentDisplaySchema = z.discriminatedUnion("kind", [
844
+ z.object({
845
+ kind: z.literal(PAYMENT_INSTRUMENT_DISPLAY_KIND.CARD),
846
+ brand: z.string(),
847
+ last4: z.string(),
848
+ exp_month: z.number().int().min(1).max(12),
849
+ exp_year: z.number().int().positive()
850
+ }),
851
+ z.object({
852
+ kind: z.literal(PAYMENT_INSTRUMENT_DISPLAY_KIND.MOBILE_MONEY),
853
+ network: z.string(),
854
+ masked_number: z.string()
855
+ }),
856
+ z.object({ kind: z.literal(PAYMENT_INSTRUMENT_DISPLAY_KIND.ERASED) })
857
+ ]);
858
+ var CheckoutProtectionViewSchema = z.object({
859
+ status: z.enum(CHECKOUT_PROTECTION_STATUS),
860
+ message: z.string(),
861
+ public_policy_version: z.string().nullish()
862
+ });
863
+ var PaymentOptionViewSchema = z.object({
864
+ id: z.string().min(1),
865
+ rank: z.number().int().nonnegative(),
866
+ method_kind: z.enum(PURCHASE_INTENT_PAYMENT_METHOD),
867
+ collection_mode: z.enum(PAYMENT_COLLECTION_MODE),
868
+ provider: z.enum(PURCHASE_INTENT_PAYMENT_PROVIDER).nullish(),
869
+ instrument: PaymentInstrumentDisplaySchema.nullish(),
870
+ principal_amount: MoneySchema,
871
+ fee_amount: MoneySchema,
872
+ customer_debit_amount: MoneySchema,
873
+ currency: CurrencyCodeSchema,
874
+ protection: CheckoutProtectionViewSchema,
875
+ status: z.enum(PAYMENT_OPTION_STATUS),
876
+ expected_next_action: z.enum(PAYMENT_OPTION_NEXT_ACTION),
877
+ expires_at: IsoDateTimeSchema
878
+ });
879
+ var CheckoutTermsViewSchema = registerSchema(
880
+ z.object({
881
+ id: z.string().min(1),
882
+ intent_revision: z.number().int().positive(),
883
+ terms_version: z.number().int().positive(),
884
+ terms_digest: z.string().min(1),
885
+ money: CheckoutMoneyComponentsSchema,
886
+ material: CheckoutMaterialTermsSchema,
887
+ compliance: CheckoutComplianceDecisionSchema,
888
+ protection: CheckoutProtectionViewSchema.nullish(),
889
+ payment_options: z.array(PaymentOptionViewSchema),
890
+ valid_until: IsoDateTimeSchema,
891
+ created_at: IsoDateTimeSchema
892
+ }).strict(),
893
+ {
894
+ id: "CheckoutTermsView",
895
+ description: "One immutable, versioned set of checkout terms",
896
+ version: "1.0.0"
897
+ }
898
+ );
899
+ var PurchasingPrincipalSchema = z.discriminatedUnion("kind", [
900
+ z.object({
901
+ kind: z.literal(PURCHASING_PRINCIPAL_KIND.ACCOUNT),
902
+ account_id: z.string().min(1)
903
+ }).strict(),
904
+ z.object({
905
+ kind: z.literal(PURCHASING_PRINCIPAL_KIND.BUSINESS),
906
+ business_id: z.string().min(1)
907
+ }).strict(),
908
+ z.object({ kind: z.literal(PURCHASING_PRINCIPAL_KIND.GUEST) }).strict(),
909
+ z.object({
910
+ kind: z.literal(PURCHASING_PRINCIPAL_KIND.RECOGNISED),
911
+ verified: z.boolean()
912
+ }).strict()
913
+ ]);
914
+ var CanonicalSourceAuthoritySchema = z.object({
915
+ store_region: z.string().nullish(),
916
+ native_platform: z.enum(NATIVE_PURCHASE_PLATFORM).nullish(),
917
+ purchase_surface: z.enum(CHECKOUT_PURCHASE_SURFACE).optional(),
918
+ kind: z.enum(PURCHASE_INTENT_SOURCE_KIND),
919
+ source_id: z.string().min(1),
920
+ social_post_id: z.string().nullish(),
921
+ source_version: z.string().min(1),
922
+ seller_business_id: z.string().min(1),
923
+ subject: z.discriminatedUnion("kind", [
924
+ z.object({
925
+ kind: z.literal(PURCHASING_PRINCIPAL_KIND.ACCOUNT),
926
+ account_id: z.string().min(1)
927
+ }).strict(),
928
+ z.object({
929
+ kind: z.literal(PURCHASING_PRINCIPAL_KIND.BUSINESS),
930
+ business_id: z.string().min(1)
931
+ }).strict()
932
+ ]),
933
+ binding_digest: z.string().min(1)
934
+ }).strict();
935
+ var PurchaseIntentLineViewSchema = PurchaseIntentLineInputSchema.extend({
936
+ id: z.string().min(1),
937
+ ordinal: z.number().int().nonnegative(),
938
+ configuration: PersistedLineConfigurationSchema
939
+ });
940
+ var PurchaseIntentLinePricingViewSchema = z.object({
941
+ intent_line_id: z.string().min(1),
942
+ quantity: z.number().int().positive(),
943
+ unit_price: MoneySchema,
944
+ line_subtotal: MoneySchema,
945
+ currency: CurrencyCodeSchema
946
+ }).strict();
947
+ var PurchaseIntentViewSchema = registerSchema(
948
+ z.object({
949
+ disposition: z.enum(PURCHASE_DISPOSITION).optional(),
950
+ id: z.string().min(1),
951
+ seller_business_id: z.string().min(1),
952
+ principal: PurchasingPrincipalSchema.nullish(),
953
+ revision: z.number().int().nonnegative(),
954
+ status: z.enum(PURCHASE_INTENT_STATUS),
955
+ source: CanonicalSourceAuthoritySchema,
956
+ lines: z.array(PurchaseIntentLineViewSchema),
957
+ line_pricing: z.array(PurchaseIntentLinePricingViewSchema),
958
+ current_terms: CheckoutTermsViewSchema.nullish(),
959
+ converted_order_id: z.string().nullish(),
960
+ expires_at: IsoDateTimeSchema,
961
+ created_at: IsoDateTimeSchema,
962
+ updated_at: IsoDateTimeSchema
963
+ }).strict(),
964
+ {
965
+ id: "PurchaseIntentView",
966
+ description: "Durable purchase intent with its current immutable terms",
967
+ version: "1.0.0"
968
+ }
969
+ );
970
+ var ConfirmPurchaseIntentRequestSchema = registerSchema(
971
+ z.object({
972
+ accepted_intent_revision: z.number().int().positive(),
973
+ accepted_terms_version: z.number().int().positive(),
974
+ accepted_due_now: MoneySchema,
975
+ accepted_customer_debit_amount: MoneySchema,
976
+ currency: CurrencyCodeSchema,
977
+ payment_option_id: z.string().min(1).nullish(),
978
+ idempotency_key: z.string().min(1)
979
+ }).strict(),
980
+ {
981
+ id: "ConfirmPurchaseIntentRequest",
982
+ description: "Explicit consent to one immutable terms version and, for nonzero rail terms, one payment option",
983
+ version: "1.0.0"
984
+ }
985
+ );
986
+ var PreparePurchaseIntentRequestSchema = registerSchema(
987
+ z.object({
988
+ expected_intent_revision: z.number().int().nonnegative(),
989
+ idempotency_key: z.string().min(1),
990
+ checkout: CartIntentCheckoutInputSchema
991
+ }).strict(),
992
+ {
993
+ id: "PreparePurchaseIntentRequest",
994
+ description: "Owner-fenced material transition for a hosted Cart draft",
995
+ version: "1.0.0"
996
+ }
997
+ );
998
+ var PaymentAuthorizationSubmissionSchema = z.discriminatedUnion("type", [
999
+ z.object({ type: z.literal(AUTHORIZATION_TYPE.OTP), value: z.string().min(1) }).strict(),
1000
+ z.object({ type: z.literal(AUTHORIZATION_TYPE.PIN), value: z.string().min(1) }).strict(),
1001
+ z.object({ type: z.literal(AUTHORIZATION_TYPE.PHONE), value: z.string().min(1) }).strict(),
1002
+ z.object({ type: z.literal(AUTHORIZATION_TYPE.BIRTHDAY), value: z.string().min(1) }).strict(),
1003
+ z.object({
1004
+ type: z.literal(AUTHORIZATION_TYPE.ADDRESS),
1005
+ address: z.string().min(1),
1006
+ city: z.string().min(1),
1007
+ state: z.string().min(1),
1008
+ zip_code: z.string().min(1)
1009
+ }).strict()
1010
+ ]);
1011
+ var SubmitPurchaseIntentActionRequestSchema = registerSchema(
1012
+ z.object({ authorization: PaymentAuthorizationSubmissionSchema }).strict(),
1013
+ {
1014
+ id: "SubmitPurchaseIntentActionRequest",
1015
+ description: "Typed customer input for one owner-fenced purchase-intent attempt",
1016
+ version: "1.0.0"
1017
+ }
1018
+ );
1019
+ var CommittedResponseShape = {
1020
+ intent_id: z.string().min(1),
1021
+ attempt_id: z.string().min(1),
1022
+ order_id: z.string().min(1),
1023
+ order_number: z.string().optional(),
1024
+ payment_id: z.string().optional()
1025
+ };
1026
+ var TermsDeltaSchema = z.discriminatedUnion("kind", [
1027
+ z.object({
1028
+ kind: z.literal(CHECKOUT_TERMS_DELTA_KIND.MONEY),
1029
+ component: z.enum(CHECKOUT_TERMS_COMPONENT),
1030
+ accepted: MoneySchema,
1031
+ replacement: MoneySchema
1032
+ }),
1033
+ z.object({
1034
+ kind: z.literal(CHECKOUT_TERMS_DELTA_KIND.MATERIAL),
1035
+ component: z.enum(CHECKOUT_MATERIAL_TERMS_COMPONENT)
1036
+ }),
1037
+ z.object({
1038
+ kind: z.literal(CHECKOUT_TERMS_DELTA_KIND.PAYMENT_OPTION),
1039
+ accepted_option_id: z.string().nullish(),
1040
+ accepted_customer_debit_amount: MoneySchema,
1041
+ replacement_option_id: z.string().nullish(),
1042
+ replacement_customer_debit_amount: MoneySchema.nullish()
1043
+ })
1044
+ ]);
1045
+ var ConfirmPurchaseIntentResponseSchema = registerSchema(
1046
+ z.discriminatedUnion("status", [
1047
+ z.looseObject({
1048
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.ORDER_CREATED),
1049
+ ...CommittedResponseShape
1050
+ }),
1051
+ z.looseObject({
1052
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.COLLECTION_PROCESSING),
1053
+ ...CommittedResponseShape
1054
+ }),
1055
+ z.looseObject({
1056
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.PAYMENT_OUTCOME_UNKNOWN),
1057
+ ...CommittedResponseShape
1058
+ }),
1059
+ z.looseObject({
1060
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.PAYMENT_FAILED),
1061
+ ...CommittedResponseShape
1062
+ }),
1063
+ z.looseObject({
1064
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.REDIRECT_REQUIRED),
1065
+ ...CommittedResponseShape,
1066
+ authorization_url: z.string().min(1)
1067
+ }),
1068
+ z.looseObject({
1069
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.CARD_POPUP_REQUIRED),
1070
+ ...CommittedResponseShape,
1071
+ provider: z.enum(PURCHASE_INTENT_PAYMENT_PROVIDER),
1072
+ client_secret: z.string().min(1),
1073
+ public_key: z.string().min(1),
1074
+ provider_account_id: z.string().min(1).nullish()
1075
+ }),
1076
+ z.looseObject({
1077
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.AUTHORIZATION_REQUIRED),
1078
+ ...CommittedResponseShape,
1079
+ authorization_type: AuthorizationTypeSchema,
1080
+ display_text: z.string().optional()
1081
+ }),
1082
+ z.looseObject({
1083
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.TERMS_CHANGED),
1084
+ intent_id: z.string().min(1),
1085
+ replacement: CheckoutTermsViewSchema,
1086
+ deltas: z.array(TermsDeltaSchema)
1087
+ }),
1088
+ z.looseObject({
1089
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.SELECTION_UNAVAILABLE),
1090
+ intent_id: z.string().min(1),
1091
+ lines: z.array(
1092
+ z.object({
1093
+ line_id: z.string().min(1),
1094
+ reason: z.enum(CHECKOUT_INVALIDATION_REASON)
1095
+ })
1096
+ )
1097
+ }),
1098
+ z.looseObject({
1099
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.OFFER_ENDED),
1100
+ intent_id: z.string().min(1)
1101
+ }),
1102
+ z.looseObject({
1103
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.SOURCE_UNAVAILABLE),
1104
+ intent_id: z.string().min(1)
1105
+ })
1106
+ ]),
1107
+ {
1108
+ id: "ConfirmPurchaseIntentResponse",
1109
+ description: "Door-neutral purchase-intent confirmation outcome",
1110
+ version: "1.0.0"
1111
+ }
1112
+ );
1113
+ var assertMintPurchaseIntentRequest = makeAssertion(
1114
+ MintPurchaseIntentRequestSchema,
1115
+ "mintPurchaseIntentRequest"
1116
+ );
1117
+ var assertPurchaseIntentView = makeAssertion(PurchaseIntentViewSchema, "purchaseIntent");
1118
+ var assertCheckoutTermsView = makeAssertion(CheckoutTermsViewSchema, "checkoutTerms");
1119
+ var assertConfirmPurchaseIntentRequest = makeAssertion(
1120
+ ConfirmPurchaseIntentRequestSchema,
1121
+ "confirmPurchaseIntentRequest"
1122
+ );
1123
+ var assertPreparePurchaseIntentRequest = makeAssertion(
1124
+ PreparePurchaseIntentRequestSchema,
1125
+ "preparePurchaseIntentRequest"
1126
+ );
1127
+ var assertSubmitPurchaseIntentActionRequest = makeAssertion(
1128
+ SubmitPurchaseIntentActionRequestSchema,
1129
+ "submitPurchaseIntentActionRequest"
1130
+ );
1131
+ var assertConfirmPurchaseIntentResponse = makeAssertion(
1132
+ ConfirmPurchaseIntentResponseSchema,
1133
+ "confirmPurchaseIntentResponse"
1134
+ );
609
1135
  var VerifyOtpRequestSchema = registerSchema(
610
1136
  z.object({
611
1137
  challenge_id: z.string().nullable().optional(),
@@ -687,6 +1213,7 @@ function createTestClient(options = {}) {
687
1213
  sessionToken = void 0;
688
1214
  },
689
1215
  dispose: () => {
1216
+ client.destroy();
690
1217
  mock.deps.resetAll();
691
1218
  sessionToken = void 0;
692
1219
  }
@@ -750,4 +1277,4 @@ var fixtures = {
750
1277
  }
751
1278
  };
752
1279
 
753
- export { AddItemPayloadSchema, AddOnDetailsSchema, AddOnGroupDetailsSchema, AddOnInDetailsSchema, AddOnOptionDetailsSchema, AuthorizationTypeSchema, BrandContactSchema, BrandFaqSchema, BrandHeroSchema, BrandNavLinkSchema, BrandPolicyPageSchema, BrandPolicySectionSchema, BrandSchema, BrandSocialSchema, BundleResolvedSchema, BundleSelectionInputSchema, CartItemSchema, CartPricingSchema, CartSchema, CheckoutBodySchema, CheckoutCustomerSchema, CheckoutResponseSchema, ChosenPriceSchema, CompositeResolvedSchema, CompositeSelectionInputSchema, CountryCodeSchema, CurrencyCodeSchema, CustomerInputValueSchema, DiscountDetailsSchema, IsoDateTimeSchema, LineTypeSchema, LocaleSchema, MoneyLooseSchema, MoneySchema, NextActionSchema, PhoneE164Schema, ProductTypeSchema, RequestOtpResponseSchema, SchemaViolationError, SeedNameSchema, SelectedAddOnOptionSchema, ServiceStatusSchema, TaxPriceDisplayModeSchema, TimestampSchema, VariantDetailsSchema, VariantDisplayAttributeSchema, VariantInfoSchema, VerifyOtpRequestSchema, assertAddItemPayload, assertBrand, assertCart, assertCartItem, assertCheckoutBody, assertCheckoutResponse, cimplifyRegistry, createTestClient, fixtures, makeAssertion, registerSchema };
1280
+ export { AddItemPayloadSchema, AddOnDetailsSchema, AddOnGroupDetailsSchema, AddOnInDetailsSchema, AddOnOptionDetailsSchema, AuthorizationTypeSchema, BrandContactSchema, BrandFaqSchema, BrandHeroSchema, BrandNavLinkSchema, BrandPolicyPageSchema, BrandPolicySectionSchema, BrandSchema, BrandSocialSchema, BundleResolvedSchema, BundleSelectionInputSchema, CartItemSchema, CartPricingSchema, CartSchema, CheckoutBodySchema, CheckoutCustomerSchema, CheckoutResponseSchema, CheckoutTermsViewSchema, ChosenPriceSchema, CompositeResolvedSchema, CompositeSelectionInputSchema, ConfirmPurchaseIntentRequestSchema, ConfirmPurchaseIntentResponseSchema, CountryCodeSchema, CurrencyCodeSchema, CustomerInputValueSchema, DiscountDetailsSchema, IsoDateTimeSchema, LineTypeSchema, LocaleSchema, MintPurchaseIntentRequestSchema, MoneyLooseSchema, MoneySchema, NextActionSchema, PhoneE164Schema, PreparePurchaseIntentRequestSchema, ProductTypeSchema, PurchaseIntentSourceInputSchema, PurchaseIntentTenderPreferenceSchema, PurchaseIntentViewSchema, RequestOtpResponseSchema, SchemaViolationError, SeedNameSchema, SelectedAddOnOptionSchema, ServiceStatusSchema, SubmitPurchaseIntentActionRequestSchema, TaxPriceDisplayModeSchema, TimestampSchema, VariantDetailsSchema, VariantDisplayAttributeSchema, VariantInfoSchema, VerifyOtpRequestSchema, assertAddItemPayload, assertBrand, assertCart, assertCartItem, assertCheckoutBody, assertCheckoutResponse, assertCheckoutTermsView, assertConfirmPurchaseIntentRequest, assertConfirmPurchaseIntentResponse, assertMintPurchaseIntentRequest, assertPreparePurchaseIntentRequest, assertPurchaseIntentView, assertSubmitPurchaseIntentActionRequest, cimplifyRegistry, createTestClient, fixtures, makeAssertion, registerSchema };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk4BKOKHE3_js = require('./chunk-4BKOKHE3.js');
3
+ var chunkAVXA4F6G_js = require('./chunk-AVXA4F6G.js');
4
4
 
5
5
  // src/utils/price.ts
6
6
  var CURRENCY_SYMBOLS = {
@@ -468,14 +468,14 @@ function normalizeStatusResponse(response) {
468
468
  return {
469
469
  status: "pending",
470
470
  paid: false,
471
- amount: chunk4BKOKHE3_js.moneyFromNumber(0),
471
+ amount: chunkAVXA4F6G_js.moneyFromNumber(0),
472
472
  currency: "",
473
473
  message: "No status available"
474
474
  };
475
475
  }
476
476
  const res = response;
477
477
  const normalizedStatus = normalizePaymentStatusValue(res.status ?? void 0);
478
- const normalizedAmount = typeof res.amount === "string" ? chunk4BKOKHE3_js.money(res.amount) : typeof res.amount === "number" && Number.isFinite(res.amount) ? chunk4BKOKHE3_js.moneyFromNumber(res.amount) : chunk4BKOKHE3_js.moneyFromNumber(0);
478
+ const normalizedAmount = typeof res.amount === "string" ? chunkAVXA4F6G_js.money(res.amount) : typeof res.amount === "number" && Number.isFinite(res.amount) ? chunkAVXA4F6G_js.moneyFromNumber(res.amount) : chunkAVXA4F6G_js.moneyFromNumber(0);
479
479
  const normalizedCurrency = typeof res.currency === "string" && res.currency.trim().length > 0 ? res.currency : "";
480
480
  const paidValue = res.paid === true && normalizedStatus !== "authorized" && !PAYMENT_REQUIRES_ACTION_STATUSES.has(normalizedStatus) && !PAYMENT_FAILURE_STATUSES.has(normalizedStatus);
481
481
  const derivedPaid = paidValue || PAYMENT_SUCCESS_STATUSES.has(normalizedStatus);
@@ -513,6 +513,15 @@ function canonicalMobileMoneyProvider(provider) {
513
513
  const normalized = provider.trim().toLowerCase().replace(/[\s_-]+/g, "");
514
514
  return MOBILE_MONEY_PROVIDER_ALIASES[normalized] ?? null;
515
515
  }
516
+ var PURCHASE_INTENT_NETWORK_BY_PROVIDER = {
517
+ mtn: chunkAVXA4F6G_js.PURCHASE_INTENT_MOBILE_MONEY_NETWORK.MTN,
518
+ telecel: chunkAVXA4F6G_js.PURCHASE_INTENT_MOBILE_MONEY_NETWORK.TELECEL,
519
+ airteltigo: chunkAVXA4F6G_js.PURCHASE_INTENT_MOBILE_MONEY_NETWORK.AIRTEL
520
+ };
521
+ function purchaseIntentMobileMoneyNetwork(provider) {
522
+ const canonical = canonicalMobileMoneyProvider(provider);
523
+ return canonical ? PURCHASE_INTENT_NETWORK_BY_PROVIDER[canonical] ?? null : null;
524
+ }
516
525
  var LOOPBACK_AUTHORIZATION_HOSTS = /* @__PURE__ */ new Set(["localhost", "127.0.0.1", "[::1]"]);
517
526
  function paymentAuthorizationUrl(value) {
518
527
  if (typeof value !== "string" || !value.trim()) return null;
@@ -571,3 +580,4 @@ exports.normalizePaymentResponse = normalizePaymentResponse;
571
580
  exports.normalizeStatusResponse = normalizeStatusResponse;
572
581
  exports.parsePrice = parsePrice;
573
582
  exports.paymentAuthorizationUrl = paymentAuthorizationUrl;
583
+ exports.purchaseIntentMobileMoneyNetwork = purchaseIntentMobileMoneyNetwork;