@cimplify/sdk 0.103.0 → 0.104.1

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 (72) 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-DHBwvh7U.d.ts → catalogue-BlQ85Uma.d.mts} +492 -748
  6. package/dist/{client-BfpNjJ_a.d.mts → catalogue-C8TqOj9K.d.ts} +492 -748
  7. package/dist/{payment-H5LoIvXU.d.mts → checkout-BqK9XUz5.d.mts} +4338 -1495
  8. package/dist/{payment-H5LoIvXU.d.ts → checkout-BqK9XUz5.d.ts} +4338 -1495
  9. package/dist/{chunk-GOHSXBKW.mjs → chunk-33VCYWVL.mjs} +25 -1
  10. package/dist/{chunk-C2JSNJUC.mjs → chunk-6G3ANKQA.mjs} +1080 -369
  11. package/dist/{chunk-QOWPGS7Z.js → chunk-BWEIMKLF.js} +572 -17
  12. package/dist/{chunk-JSWJ4XDE.js → chunk-DQEXY542.js} +1630 -824
  13. package/dist/{chunk-CNN7Z2IP.js → chunk-EV2EVOYS.js} +27 -0
  14. package/dist/{chunk-VIL6IQCG.js → chunk-HYFA67A7.js} +1084 -373
  15. package/dist/{chunk-H7ACMHM3.mjs → chunk-L5SNEU2O.mjs} +553 -16
  16. package/dist/{chunk-JG5CQNCB.js → chunk-RBNBSQI7.mjs} +221 -19
  17. package/dist/{chunk-VNPEYLB2.mjs → chunk-SFUJMS5E.js} +265 -2
  18. package/dist/{chunk-M4URVKHE.mjs → chunk-U54CWUUT.mjs} +11 -2
  19. package/dist/{chunk-GERXZQSX.mjs → chunk-UFOWPN3D.mjs} +967 -582
  20. package/dist/{chunk-J6PNHDHL.mjs → chunk-V4457OKB.mjs} +1580 -785
  21. package/dist/{chunk-R6OLQ33I.js → chunk-WXREIBFW.js} +1041 -654
  22. package/dist/{chunk-NNG6IFFX.js → chunk-XAUSDMMZ.js} +13 -3
  23. package/dist/{client-DpqRobY9.d.mts → client-DhXeiUrf.d.ts} +2 -2
  24. package/dist/{client-Dqg2mc-7.d.ts → client-mXiUrV4X.d.mts} +2 -2
  25. package/dist/{index-C8uDqLwJ.d.ts → index-B0AdZvrM.d.mts} +9 -4
  26. package/dist/{index-e2y6AK70.d.mts → index-CK8Nk5uQ.d.ts} +9 -4
  27. package/dist/index-DPWI5XcU.d.ts +8 -0
  28. package/dist/index-DVfUh-ci.d.mts +8 -0
  29. package/dist/index.d.mts +34 -15
  30. package/dist/index.d.ts +34 -15
  31. package/dist/index.js +306 -133
  32. package/dist/index.mjs +7 -6
  33. package/dist/mock/cli.mjs +1494 -395
  34. package/dist/mock/library.js +1220 -361
  35. package/dist/mock/library.mjs +1220 -361
  36. package/dist/mock/msw.js +1220 -361
  37. package/dist/mock/msw.mjs +1220 -361
  38. package/dist/{price-C2RqscMY.d.ts → price-6hQIIac9.d.ts} +1 -1
  39. package/dist/{price-BvePgDXe.d.mts → price-BUDv1rI7.d.mts} +1 -1
  40. package/dist/react.d.mts +10 -5
  41. package/dist/react.d.ts +10 -5
  42. package/dist/react.js +279 -225
  43. package/dist/react.mjs +140 -86
  44. package/dist/{server-DoXIpSd7.d.ts → server-DJ0mSs9i.d.mts} +33 -57
  45. package/dist/{server-C7FyLdrz.d.mts → server-DSTX76Ki.d.ts} +33 -57
  46. package/dist/server.d.mts +3 -4
  47. package/dist/server.d.ts +3 -4
  48. package/dist/server.js +12 -11
  49. package/dist/server.mjs +6 -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 +2217 -14
  60. package/dist/testing.d.ts +2217 -14
  61. package/dist/testing.js +173 -83
  62. package/dist/testing.mjs +28 -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/chat-widget.json +1 -1
  69. package/registry/order-history.json +1 -1
  70. package/registry/order-summary.json +1 -1
  71. package/dist/link-cuNVYc2s.d.mts +0 -297
  72. package/dist/link-cuNVYc2s.d.ts +0 -297
@@ -1,5 +1,7 @@
1
- import { createMockApp } from './chunk-C2JSNJUC.mjs';
2
- import { createCimplifyClient } from './chunk-GERXZQSX.mjs';
1
+ import { createMockApp } from './chunk-6G3ANKQA.mjs';
2
+ import { createCimplifyClient } from './chunk-UFOWPN3D.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, PAYMENT_INSTRUMENT_DISPLAY_KIND, PAYMENT_OPTION_NEXT_ACTION, PAYMENT_OPTION_STATUS, PURCHASE_INTENT_PAYMENT_PROVIDER, PAYMENT_COLLECTION_MODE, PURCHASING_PRINCIPAL_KIND, PURCHASE_INTENT_STATUS, CHECKOUT_TERMS_COMPONENT, CHECKOUT_TERMS_DELTA_KIND, CHECKOUT_MATERIAL_TERMS_COMPONENT, PURCHASE_INTENT_CONFIRM_STATUS, CHECKOUT_INVALIDATION_REASON } from './chunk-RBNBSQI7.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,20 +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
- public_key: z.string().min(1)
581
+ public_key: z.string().min(1),
582
+ provider_account_id: z.string().min(1).optional()
583
+ }),
584
+ z.object({
585
+ type: z.literal(CHECKOUT_NEXT_ACTION.REDIRECT),
586
+ authorization_url: z.string()
575
587
  }),
576
- z.object({ type: z.literal("redirect"), authorization_url: z.string() }),
577
588
  z.object({
578
- type: z.literal("authorization"),
589
+ type: z.literal(CHECKOUT_NEXT_ACTION.AUTHORIZATION),
579
590
  authorization_type: AuthorizationTypeSchema,
580
591
  display_text: z.string().nullish()
581
592
  }),
582
- 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) })
583
603
  ]);
584
604
  var CheckoutResponseSchema = registerSchema(
585
605
  z.looseObject({
@@ -600,11 +620,527 @@ var CheckoutResponseSchema = registerSchema(
600
620
  }),
601
621
  {
602
622
  id: "CheckoutResponse",
603
- description: "POST /checkout response \u2014 loose for payment-provider field additions",
604
- version: "1.0.0"
623
+ description: "Deprecated CheckoutService projection over PurchaseIntent; bill_token is historical compatibility only",
624
+ version: "2.0.0"
605
625
  }
606
626
  );
607
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
+ policy_name: z.string().min(1),
831
+ policy_version: z.number().int().positive(),
832
+ lane: z.enum(CHECKOUT_COMPLIANCE_LANE),
833
+ reason_code: z.enum(CHECKOUT_COMPLIANCE_REASON),
834
+ evidence_digest: z.string().min(1)
835
+ });
836
+ var PaymentInstrumentDisplaySchema = z.discriminatedUnion("kind", [
837
+ z.object({
838
+ kind: z.literal(PAYMENT_INSTRUMENT_DISPLAY_KIND.CARD),
839
+ brand: z.string(),
840
+ last4: z.string(),
841
+ exp_month: z.number().int().min(1).max(12),
842
+ exp_year: z.number().int().positive()
843
+ }),
844
+ z.object({
845
+ kind: z.literal(PAYMENT_INSTRUMENT_DISPLAY_KIND.MOBILE_MONEY),
846
+ network: z.string(),
847
+ masked_number: z.string()
848
+ }),
849
+ z.object({ kind: z.literal(PAYMENT_INSTRUMENT_DISPLAY_KIND.ERASED) })
850
+ ]);
851
+ var PaymentOptionViewSchema = z.object({
852
+ id: z.string().min(1),
853
+ rank: z.number().int().nonnegative(),
854
+ method_kind: z.enum(PURCHASE_INTENT_PAYMENT_METHOD),
855
+ collection_mode: z.enum(PAYMENT_COLLECTION_MODE),
856
+ provider: z.enum(PURCHASE_INTENT_PAYMENT_PROVIDER).nullish(),
857
+ instrument: PaymentInstrumentDisplaySchema.nullish(),
858
+ principal_amount: MoneySchema,
859
+ fee_amount: MoneySchema,
860
+ customer_debit_amount: MoneySchema,
861
+ currency: CurrencyCodeSchema,
862
+ status: z.enum(PAYMENT_OPTION_STATUS),
863
+ expected_next_action: z.enum(PAYMENT_OPTION_NEXT_ACTION),
864
+ expires_at: IsoDateTimeSchema
865
+ });
866
+ var CheckoutTermsViewSchema = registerSchema(
867
+ z.object({
868
+ id: z.string().min(1),
869
+ intent_revision: z.number().int().positive(),
870
+ terms_version: z.number().int().positive(),
871
+ terms_digest: z.string().min(1),
872
+ money: CheckoutMoneyComponentsSchema,
873
+ material: CheckoutMaterialTermsSchema,
874
+ compliance: CheckoutComplianceDecisionSchema,
875
+ payment_options: z.array(PaymentOptionViewSchema),
876
+ valid_until: IsoDateTimeSchema,
877
+ created_at: IsoDateTimeSchema
878
+ }).strict(),
879
+ {
880
+ id: "CheckoutTermsView",
881
+ description: "One immutable, versioned set of checkout terms",
882
+ version: "1.0.0"
883
+ }
884
+ );
885
+ var PurchasingPrincipalSchema = z.discriminatedUnion("kind", [
886
+ z.object({
887
+ kind: z.literal(PURCHASING_PRINCIPAL_KIND.ACCOUNT),
888
+ account_id: z.string().min(1)
889
+ }).strict(),
890
+ z.object({
891
+ kind: z.literal(PURCHASING_PRINCIPAL_KIND.BUSINESS),
892
+ business_id: z.string().min(1)
893
+ }).strict(),
894
+ z.object({ kind: z.literal(PURCHASING_PRINCIPAL_KIND.GUEST) }).strict(),
895
+ z.object({
896
+ kind: z.literal(PURCHASING_PRINCIPAL_KIND.RECOGNISED),
897
+ verified: z.boolean()
898
+ }).strict()
899
+ ]);
900
+ var CanonicalSourceAuthoritySchema = z.object({
901
+ kind: z.enum(PURCHASE_INTENT_SOURCE_KIND),
902
+ source_id: z.string().min(1),
903
+ social_post_id: z.string().nullish(),
904
+ source_version: z.string().min(1),
905
+ seller_business_id: z.string().min(1),
906
+ subject: z.discriminatedUnion("kind", [
907
+ z.object({
908
+ kind: z.literal(PURCHASING_PRINCIPAL_KIND.ACCOUNT),
909
+ account_id: z.string().min(1)
910
+ }).strict(),
911
+ z.object({
912
+ kind: z.literal(PURCHASING_PRINCIPAL_KIND.BUSINESS),
913
+ business_id: z.string().min(1)
914
+ }).strict()
915
+ ]),
916
+ binding_digest: z.string().min(1)
917
+ }).strict();
918
+ var PurchaseIntentLineViewSchema = PurchaseIntentLineInputSchema.extend({
919
+ id: z.string().min(1),
920
+ ordinal: z.number().int().nonnegative(),
921
+ configuration: PersistedLineConfigurationSchema
922
+ });
923
+ var PurchaseIntentLinePricingViewSchema = z.object({
924
+ intent_line_id: z.string().min(1),
925
+ quantity: z.number().int().positive(),
926
+ unit_price: MoneySchema,
927
+ line_subtotal: MoneySchema,
928
+ currency: CurrencyCodeSchema
929
+ }).strict();
930
+ var PurchaseIntentViewSchema = registerSchema(
931
+ z.object({
932
+ id: z.string().min(1),
933
+ seller_business_id: z.string().min(1),
934
+ principal: PurchasingPrincipalSchema.nullish(),
935
+ revision: z.number().int().nonnegative(),
936
+ status: z.enum(PURCHASE_INTENT_STATUS),
937
+ source: CanonicalSourceAuthoritySchema,
938
+ lines: z.array(PurchaseIntentLineViewSchema),
939
+ line_pricing: z.array(PurchaseIntentLinePricingViewSchema),
940
+ current_terms: CheckoutTermsViewSchema.nullish(),
941
+ converted_order_id: z.string().nullish(),
942
+ expires_at: IsoDateTimeSchema,
943
+ created_at: IsoDateTimeSchema,
944
+ updated_at: IsoDateTimeSchema
945
+ }).strict(),
946
+ {
947
+ id: "PurchaseIntentView",
948
+ description: "Durable purchase intent with its current immutable terms",
949
+ version: "1.0.0"
950
+ }
951
+ );
952
+ var ConfirmPurchaseIntentRequestSchema = registerSchema(
953
+ z.object({
954
+ accepted_intent_revision: z.number().int().positive(),
955
+ accepted_terms_version: z.number().int().positive(),
956
+ accepted_due_now: MoneySchema,
957
+ accepted_customer_debit_amount: MoneySchema,
958
+ currency: CurrencyCodeSchema,
959
+ payment_option_id: z.string().min(1).nullish(),
960
+ idempotency_key: z.string().min(1)
961
+ }).strict(),
962
+ {
963
+ id: "ConfirmPurchaseIntentRequest",
964
+ description: "Explicit consent to one immutable terms version and, for nonzero rail terms, one payment option",
965
+ version: "1.0.0"
966
+ }
967
+ );
968
+ var PreparePurchaseIntentRequestSchema = registerSchema(
969
+ z.object({
970
+ expected_intent_revision: z.number().int().nonnegative(),
971
+ idempotency_key: z.string().min(1),
972
+ checkout: CartIntentCheckoutInputSchema
973
+ }).strict(),
974
+ {
975
+ id: "PreparePurchaseIntentRequest",
976
+ description: "Owner-fenced material transition for a hosted Cart draft",
977
+ version: "1.0.0"
978
+ }
979
+ );
980
+ var PaymentAuthorizationSubmissionSchema = z.discriminatedUnion("type", [
981
+ z.object({ type: z.literal(AUTHORIZATION_TYPE.OTP), value: z.string().min(1) }).strict(),
982
+ z.object({ type: z.literal(AUTHORIZATION_TYPE.PIN), value: z.string().min(1) }).strict(),
983
+ z.object({ type: z.literal(AUTHORIZATION_TYPE.PHONE), value: z.string().min(1) }).strict(),
984
+ z.object({ type: z.literal(AUTHORIZATION_TYPE.BIRTHDAY), value: z.string().min(1) }).strict(),
985
+ z.object({
986
+ type: z.literal(AUTHORIZATION_TYPE.ADDRESS),
987
+ address: z.string().min(1),
988
+ city: z.string().min(1),
989
+ state: z.string().min(1),
990
+ zip_code: z.string().min(1)
991
+ }).strict()
992
+ ]);
993
+ var SubmitPurchaseIntentActionRequestSchema = registerSchema(
994
+ z.object({ authorization: PaymentAuthorizationSubmissionSchema }).strict(),
995
+ {
996
+ id: "SubmitPurchaseIntentActionRequest",
997
+ description: "Typed customer input for one owner-fenced purchase-intent attempt",
998
+ version: "1.0.0"
999
+ }
1000
+ );
1001
+ var CommittedResponseShape = {
1002
+ intent_id: z.string().min(1),
1003
+ attempt_id: z.string().min(1),
1004
+ order_id: z.string().min(1),
1005
+ order_number: z.string().optional(),
1006
+ payment_id: z.string().optional()
1007
+ };
1008
+ var TermsDeltaSchema = z.discriminatedUnion("kind", [
1009
+ z.object({
1010
+ kind: z.literal(CHECKOUT_TERMS_DELTA_KIND.MONEY),
1011
+ component: z.enum(CHECKOUT_TERMS_COMPONENT),
1012
+ accepted: MoneySchema,
1013
+ replacement: MoneySchema
1014
+ }),
1015
+ z.object({
1016
+ kind: z.literal(CHECKOUT_TERMS_DELTA_KIND.MATERIAL),
1017
+ component: z.enum(CHECKOUT_MATERIAL_TERMS_COMPONENT)
1018
+ }),
1019
+ z.object({
1020
+ kind: z.literal(CHECKOUT_TERMS_DELTA_KIND.PAYMENT_OPTION),
1021
+ accepted_option_id: z.string().nullish(),
1022
+ accepted_customer_debit_amount: MoneySchema,
1023
+ replacement_option_id: z.string().nullish(),
1024
+ replacement_customer_debit_amount: MoneySchema.nullish()
1025
+ })
1026
+ ]);
1027
+ var ConfirmPurchaseIntentResponseSchema = registerSchema(
1028
+ z.discriminatedUnion("status", [
1029
+ z.looseObject({
1030
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.ORDER_CREATED),
1031
+ ...CommittedResponseShape
1032
+ }),
1033
+ z.looseObject({
1034
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.COLLECTION_PROCESSING),
1035
+ ...CommittedResponseShape
1036
+ }),
1037
+ z.looseObject({
1038
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.PAYMENT_OUTCOME_UNKNOWN),
1039
+ ...CommittedResponseShape
1040
+ }),
1041
+ z.looseObject({
1042
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.PAYMENT_FAILED),
1043
+ ...CommittedResponseShape
1044
+ }),
1045
+ z.looseObject({
1046
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.REDIRECT_REQUIRED),
1047
+ ...CommittedResponseShape,
1048
+ authorization_url: z.string().min(1)
1049
+ }),
1050
+ z.looseObject({
1051
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.CARD_POPUP_REQUIRED),
1052
+ ...CommittedResponseShape,
1053
+ provider: z.enum(PURCHASE_INTENT_PAYMENT_PROVIDER),
1054
+ client_secret: z.string().min(1),
1055
+ public_key: z.string().min(1),
1056
+ provider_account_id: z.string().min(1).nullish()
1057
+ }),
1058
+ z.looseObject({
1059
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.AUTHORIZATION_REQUIRED),
1060
+ ...CommittedResponseShape,
1061
+ authorization_type: AuthorizationTypeSchema,
1062
+ display_text: z.string().optional()
1063
+ }),
1064
+ z.looseObject({
1065
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.TERMS_CHANGED),
1066
+ intent_id: z.string().min(1),
1067
+ replacement: CheckoutTermsViewSchema,
1068
+ deltas: z.array(TermsDeltaSchema)
1069
+ }),
1070
+ z.looseObject({
1071
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.SELECTION_UNAVAILABLE),
1072
+ intent_id: z.string().min(1),
1073
+ lines: z.array(
1074
+ z.object({
1075
+ line_id: z.string().min(1),
1076
+ reason: z.enum(CHECKOUT_INVALIDATION_REASON)
1077
+ })
1078
+ )
1079
+ }),
1080
+ z.looseObject({
1081
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.OFFER_ENDED),
1082
+ intent_id: z.string().min(1)
1083
+ }),
1084
+ z.looseObject({
1085
+ status: z.literal(PURCHASE_INTENT_CONFIRM_STATUS.SOURCE_UNAVAILABLE),
1086
+ intent_id: z.string().min(1)
1087
+ })
1088
+ ]),
1089
+ {
1090
+ id: "ConfirmPurchaseIntentResponse",
1091
+ description: "Door-neutral purchase-intent confirmation outcome",
1092
+ version: "1.0.0"
1093
+ }
1094
+ );
1095
+ var assertMintPurchaseIntentRequest = makeAssertion(
1096
+ MintPurchaseIntentRequestSchema,
1097
+ "mintPurchaseIntentRequest"
1098
+ );
1099
+ var assertPurchaseIntentView = makeAssertion(PurchaseIntentViewSchema, "purchaseIntent");
1100
+ var assertCheckoutTermsView = makeAssertion(CheckoutTermsViewSchema, "checkoutTerms");
1101
+ var assertConfirmPurchaseIntentRequest = makeAssertion(
1102
+ ConfirmPurchaseIntentRequestSchema,
1103
+ "confirmPurchaseIntentRequest"
1104
+ );
1105
+ var assertPreparePurchaseIntentRequest = makeAssertion(
1106
+ PreparePurchaseIntentRequestSchema,
1107
+ "preparePurchaseIntentRequest"
1108
+ );
1109
+ var assertSubmitPurchaseIntentActionRequest = makeAssertion(
1110
+ SubmitPurchaseIntentActionRequestSchema,
1111
+ "submitPurchaseIntentActionRequest"
1112
+ );
1113
+ var assertConfirmPurchaseIntentResponse = makeAssertion(
1114
+ ConfirmPurchaseIntentResponseSchema,
1115
+ "confirmPurchaseIntentResponse"
1116
+ );
1117
+ var VerifyOtpRequestSchema = registerSchema(
1118
+ z.object({
1119
+ challenge_id: z.string().nullable().optional(),
1120
+ contact: z.string(),
1121
+ contact_type: z.enum(["phone", "email"]),
1122
+ otp_code: z.string()
1123
+ }).strict(),
1124
+ {
1125
+ id: "VerifyOtpRequest",
1126
+ description: "Cimplify Link OTP verification request",
1127
+ version: "1.0.0"
1128
+ }
1129
+ );
1130
+ var RequestOtpResponseSchema = registerSchema(
1131
+ z.object({
1132
+ success: z.boolean(),
1133
+ challenge_id: z.string(),
1134
+ message: z.string(),
1135
+ expires_in: z.number().int().nonnegative(),
1136
+ is_new_account: z.boolean()
1137
+ }).strict(),
1138
+ {
1139
+ id: "RequestOtpResponse",
1140
+ description: "Cimplify Link OTP challenge issuance response",
1141
+ version: "1.0.0"
1142
+ }
1143
+ );
608
1144
 
609
1145
  // src/testing/client.ts
610
1146
  var TEST_BASE_URL = "http://test.local";
@@ -659,6 +1195,7 @@ function createTestClient(options = {}) {
659
1195
  sessionToken = void 0;
660
1196
  },
661
1197
  dispose: () => {
1198
+ client.destroy();
662
1199
  mock.deps.resetAll();
663
1200
  sessionToken = void 0;
664
1201
  }
@@ -722,4 +1259,4 @@ var fixtures = {
722
1259
  }
723
1260
  };
724
1261
 
725
- 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, SchemaViolationError, SeedNameSchema, SelectedAddOnOptionSchema, ServiceStatusSchema, TaxPriceDisplayModeSchema, TimestampSchema, VariantDetailsSchema, VariantDisplayAttributeSchema, VariantInfoSchema, assertAddItemPayload, assertBrand, assertCart, assertCartItem, assertCheckoutBody, assertCheckoutResponse, cimplifyRegistry, createTestClient, fixtures, makeAssertion, registerSchema };
1262
+ 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 };