@01.software/sdk 0.46.1 → 0.49.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 (57) hide show
  1. package/CHANGELOG.md +96 -1
  2. package/README.md +145 -14
  3. package/dist/client.cjs +485 -81
  4. package/dist/client.cjs.map +1 -1
  5. package/dist/client.d.cts +7 -6
  6. package/dist/client.d.ts +7 -6
  7. package/dist/client.js +485 -81
  8. package/dist/client.js.map +1 -1
  9. package/dist/{collection-client-BEGXnfQe.d.ts → collection-client-DnDt6EQz.d.ts} +4 -4
  10. package/dist/{collection-client-L2rEgBaR.d.cts → collection-client-XfGLPuTf.d.cts} +4 -4
  11. package/dist/{const-y0eipvnQ.d.cts → const-CBba4lDo.d.cts} +4 -4
  12. package/dist/{const-GYVwlXLr.d.ts → const-DCNV5Kq7.d.ts} +4 -4
  13. package/dist/errors.cjs +112 -16
  14. package/dist/errors.cjs.map +1 -1
  15. package/dist/errors.d.cts +13 -4
  16. package/dist/errors.d.ts +13 -4
  17. package/dist/errors.js +112 -16
  18. package/dist/errors.js.map +1 -1
  19. package/dist/{index-BfYL6Qb1.d.cts → index-CbKyoEzy.d.cts} +3 -3
  20. package/dist/{index-Bei4WlVw.d.ts → index-DUuIqUS8.d.ts} +3 -3
  21. package/dist/index.cjs +452 -104
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.cts +8 -8
  24. package/dist/index.d.ts +8 -8
  25. package/dist/index.js +452 -104
  26. package/dist/index.js.map +1 -1
  27. package/dist/{payload-types-3WNyC0gk.d.cts → payload-types-MKbx5MuJ.d.cts} +309 -17
  28. package/dist/{payload-types-3WNyC0gk.d.ts → payload-types-MKbx5MuJ.d.ts} +309 -17
  29. package/dist/query.cjs +165 -43
  30. package/dist/query.cjs.map +1 -1
  31. package/dist/query.d.cts +5 -5
  32. package/dist/query.d.ts +5 -5
  33. package/dist/query.js +165 -43
  34. package/dist/query.js.map +1 -1
  35. package/dist/realtime.d.cts +2 -2
  36. package/dist/realtime.d.ts +2 -2
  37. package/dist/server.cjs +566 -81
  38. package/dist/server.cjs.map +1 -1
  39. package/dist/server.d.cts +8 -7
  40. package/dist/server.d.ts +8 -7
  41. package/dist/server.js +566 -81
  42. package/dist/server.js.map +1 -1
  43. package/dist/storefront-cache.cjs +70 -1
  44. package/dist/storefront-cache.cjs.map +1 -1
  45. package/dist/storefront-cache.js +70 -1
  46. package/dist/storefront-cache.js.map +1 -1
  47. package/dist/{types-mIROvhhP.d.ts → types-1UeOk1Uy.d.cts} +110 -8
  48. package/dist/{types-CAicTn-o.d.cts → types-BKr_2avj.d.cts} +2 -2
  49. package/dist/{types-CDJ2M-MJ.d.cts → types-Du4s5anw.d.ts} +110 -8
  50. package/dist/{types-DpSyNTxy.d.ts → types-L_nh-ED7.d.ts} +2 -2
  51. package/dist/ui/form.d.cts +1 -1
  52. package/dist/ui/form.d.ts +1 -1
  53. package/dist/ui/video.d.cts +1 -1
  54. package/dist/ui/video.d.ts +1 -1
  55. package/dist/webhook.d.cts +4 -4
  56. package/dist/webhook.d.ts +4 -4
  57. package/package.json +6 -5
package/dist/query.cjs CHANGED
@@ -503,6 +503,24 @@ var CollectionHooks = class {
503
503
  var import_react_query3 = require("@tanstack/react-query");
504
504
 
505
505
  // src/core/errors.ts
506
+ var SDK_ERROR_BRAND = /* @__PURE__ */ Symbol.for("@01.software/sdk/SDKError");
507
+ var SDK_ERROR_TYPE_BRAND = /* @__PURE__ */ Symbol.for("@01.software/sdk/SDKError.type");
508
+ function defineSDKErrorBrand(error) {
509
+ Object.defineProperty(error, SDK_ERROR_BRAND, {
510
+ value: true,
511
+ enumerable: false,
512
+ configurable: false,
513
+ writable: false
514
+ });
515
+ }
516
+ function defineSDKErrorType(error, type) {
517
+ Object.defineProperty(error, SDK_ERROR_TYPE_BRAND, {
518
+ value: type,
519
+ enumerable: false,
520
+ configurable: false,
521
+ writable: false
522
+ });
523
+ }
506
524
  var SDKError = class extends Error {
507
525
  constructor(code, message, status, details, userMessage, suggestion, requestId) {
508
526
  super(message);
@@ -513,6 +531,7 @@ var SDKError = class extends Error {
513
531
  this.userMessage = userMessage;
514
532
  this.suggestion = suggestion;
515
533
  this.requestId = requestId;
534
+ defineSDKErrorBrand(this);
516
535
  if (Error.captureStackTrace) {
517
536
  Error.captureStackTrace(this, new.target);
518
537
  }
@@ -533,6 +552,7 @@ var SDKError = class extends Error {
533
552
  ...this.kind !== void 0 && { kind: this.kind },
534
553
  ...this.reason !== void 0 && { reason: this.reason },
535
554
  ...this.rawReason !== void 0 && { rawReason: this.rawReason },
555
+ ...this.apiReason !== void 0 && { apiReason: this.apiReason },
536
556
  ...this.retryable !== void 0 && { retryable: this.retryable },
537
557
  ...this.retryAfter !== void 0 && { retryAfter: this.retryAfter }
538
558
  };
@@ -540,34 +560,78 @@ var SDKError = class extends Error {
540
560
  };
541
561
  var COMMERCE_ERROR_CODES = [
542
562
  "validation_failed",
563
+ "bad_request",
543
564
  "unauthorized",
544
565
  "forbidden",
566
+ "account_suspended",
567
+ "key_invalid",
568
+ "pat_tenant_header_forbidden",
569
+ "tenant_mismatch",
570
+ "test_tenant_expired",
571
+ "token_invalid",
545
572
  "token_expired",
546
573
  "origin_not_allowed",
547
574
  "server_credentials_required",
575
+ "role_denied",
576
+ "scope_denied",
577
+ "feature_disabled",
548
578
  "not_found",
549
579
  "conflict",
580
+ "locked",
550
581
  "cart_revision_conflict",
551
582
  "rate_limit_exceeded",
552
583
  "usage_limit_exceeded",
553
584
  "service_unavailable",
554
585
  "idempotency_conflict",
555
586
  "idempotency_in_progress",
587
+ "idempotency_key_required",
588
+ "invalid_idempotency_key",
556
589
  "cart_not_active",
557
590
  "cart_locked",
558
591
  "cart_empty",
559
592
  "cart_market_unavailable",
560
593
  "cart_market_mismatch",
561
594
  "checkout_not_open",
595
+ "checkout_already_open",
562
596
  "payment_slot_held",
563
597
  "reservation_expired",
564
598
  "payment_session_not_cancelable",
599
+ "payment_session_conflict",
565
600
  "provider_identity_mismatch",
601
+ "payment_method_unavailable",
566
602
  "provider_unavailable",
567
603
  "lock_timeout",
568
604
  "price_changed",
569
605
  "pricing_fact_in_use",
570
606
  "insufficient_stock",
607
+ "reservation_conflict",
608
+ "stock_lock_unavailable",
609
+ "variant_not_found",
610
+ "variant_stock_write_failed",
611
+ "stock_invariant_violation",
612
+ "payment_confirmation_in_flight",
613
+ "checkout_reservation_release_requires_transaction",
614
+ "admission_metadata_invalid",
615
+ "admission_metadata_required",
616
+ "capacity_exceeded",
617
+ "occurrence_lock_unavailable",
618
+ "occurrence_not_open",
619
+ "admission_type_capacity_exceeded",
620
+ "admission_type_occurrence_mismatch",
621
+ "admission_hold_expired",
622
+ "admission_hold_checkout_item_conflict",
623
+ "admission_hold_checkout_conflict",
624
+ "admission_hold_quantity_mismatch",
625
+ "admission_hold_unbound",
626
+ "admission_hold_missing",
627
+ "admission_hold_checkout_item_missing",
628
+ "admission_hold_expiry_failed",
629
+ "admission_hold_expiry_requires_transaction",
630
+ "admission_hold_line_item_mismatch",
631
+ "admission_materialization_failed",
632
+ "variant_inactive",
633
+ "variant_product_mismatch",
634
+ "product_not_public",
571
635
  "market_not_found",
572
636
  "market_shipping_currency_unsupported",
573
637
  "missing_market_rate",
@@ -592,7 +656,11 @@ var COMMERCE_ERROR_CODES = [
592
656
  "discount_min_order_amount",
593
657
  "discount_currency_scope_required",
594
658
  "discount_allocation_method_unsupported",
595
- "currency_mismatch"
659
+ "currency_mismatch",
660
+ "customer_token_required",
661
+ "market_required",
662
+ "server_derived",
663
+ "internal_error"
596
664
  ];
597
665
  var COMMERCE_ERROR_CODE_SET = new Set(
598
666
  COMMERCE_ERROR_CODES
@@ -601,6 +669,7 @@ var ConfigError = class extends SDKError {
601
669
  constructor(message, details, userMessage, suggestion) {
602
670
  super("CONFIG_ERROR", message, void 0, details, userMessage, suggestion);
603
671
  this.name = "ConfigError";
672
+ defineSDKErrorType(this, "ConfigError");
604
673
  }
605
674
  };
606
675
  var createConfigError = (message, details, userMessage, suggestion) => new ConfigError(message, details, userMessage, suggestion);
@@ -757,12 +826,14 @@ function listingPageSearchParams(options) {
757
826
 
758
827
  // ../../internal/http-contracts/src/index.ts
759
828
  var operationBrand = /* @__PURE__ */ Symbol("sdk-http-operation");
760
- var operation = (collection, method, path) => Object.freeze({
829
+ var operation = (collection, method, path, errorFamily) => Object.freeze({
761
830
  [operationBrand]: true,
762
831
  collection,
763
832
  method,
764
- path
833
+ path,
834
+ ...errorFamily && { errorFamily }
765
835
  });
836
+ var strictCommerceOperation = (collection, method, path) => operation(collection, method, path, "commerce");
766
837
  var COMMERCE_ENDPOINT_OPERATIONS = {
767
838
  products: {
768
839
  detail: operation("products", "get", "/detail"),
@@ -795,13 +866,13 @@ var COMMERCE_ENDPOINT_OPERATIONS = {
795
866
  byPayment: operation("orders", "get", "/by-payment"),
796
867
  cancel: operation("orders", "post", "/cancel"),
797
868
  resolveCancelRefund: operation("orders", "post", "/resolve-cancel-refund"),
798
- checkout: operation("orders", "post", "/checkout"),
869
+ checkout: strictCommerceOperation("orders", "post", "/checkout"),
799
870
  createFulfillment: operation("orders", "post", "/create-fulfillment"),
800
871
  updateFulfillment: operation("orders", "post", "/update-fulfillment")
801
872
  },
802
873
  checkouts: {
803
- detail: operation("checkouts", "post", "/detail"),
804
- query: operation("checkouts", "post", "/query")
874
+ detail: strictCommerceOperation("checkouts", "post", "/detail"),
875
+ query: strictCommerceOperation("checkouts", "post", "/query")
805
876
  },
806
877
  transactions: {
807
878
  update: operation("transactions", "post", "/update")
@@ -822,29 +893,58 @@ var COMMERCE_ENDPOINT_OPERATIONS = {
822
893
  bulkImport: operation("fulfillments", "post", "/bulk-import")
823
894
  },
824
895
  carts: {
825
- create: operation("carts", "post", "/create"),
826
- retrieve: operation("carts", "post", "/retrieve"),
827
- mine: operation("carts", "post", "/mine"),
828
- merge: operation("carts", "post", "/merge"),
829
- addItem: operation("carts", "post", "/add-item"),
830
- updateItem: operation("carts", "post", "/update-item"),
831
- removeItem: operation("carts", "post", "/remove-item"),
832
- updateDiscountCodes: operation("carts", "post", "/update-discount-codes"),
833
- updateAttributes: operation("carts", "post", "/update-attributes"),
834
- clear: operation("carts", "post", "/clear")
896
+ create: strictCommerceOperation("carts", "post", "/create"),
897
+ retrieve: strictCommerceOperation("carts", "post", "/retrieve"),
898
+ mine: strictCommerceOperation("carts", "post", "/mine"),
899
+ merge: strictCommerceOperation("carts", "post", "/merge"),
900
+ addItem: strictCommerceOperation("carts", "post", "/add-item"),
901
+ updateItem: strictCommerceOperation("carts", "post", "/update-item"),
902
+ removeItem: strictCommerceOperation("carts", "post", "/remove-item"),
903
+ updateDiscountCodes: strictCommerceOperation(
904
+ "carts",
905
+ "post",
906
+ "/update-discount-codes"
907
+ ),
908
+ updateAttributes: strictCommerceOperation(
909
+ "carts",
910
+ "post",
911
+ "/update-attributes"
912
+ ),
913
+ clear: strictCommerceOperation("carts", "post", "/clear")
835
914
  },
836
915
  paymentSessions: {
837
- create: operation("payment-sessions", "post", "/create"),
838
- retrieve: operation("payment-sessions", "post", "/retrieve"),
839
- cancel: operation("payment-sessions", "post", "/cancel"),
916
+ create: strictCommerceOperation("payment-sessions", "post", "/create"),
917
+ retrieve: strictCommerceOperation("payment-sessions", "post", "/retrieve"),
918
+ cancel: strictCommerceOperation("payment-sessions", "post", "/cancel"),
840
919
  server: {
841
- create: operation("payment-sessions", "post", "/server/create"),
842
- retrieve: operation("payment-sessions", "post", "/server/retrieve"),
843
- cancel: operation("payment-sessions", "post", "/server/cancel"),
844
- confirm: operation("payment-sessions", "post", "/server/confirm")
920
+ create: strictCommerceOperation(
921
+ "payment-sessions",
922
+ "post",
923
+ "/server/create"
924
+ ),
925
+ retrieve: strictCommerceOperation(
926
+ "payment-sessions",
927
+ "post",
928
+ "/server/retrieve"
929
+ ),
930
+ cancel: strictCommerceOperation(
931
+ "payment-sessions",
932
+ "post",
933
+ "/server/cancel"
934
+ ),
935
+ confirm: strictCommerceOperation(
936
+ "payment-sessions",
937
+ "post",
938
+ "/server/confirm"
939
+ )
845
940
  },
846
941
  custom: {
847
942
  create: operation("orders", "post", "/custom-payment-sessions"),
943
+ retrieve: operation(
944
+ "orders",
945
+ "post",
946
+ "/custom-payment-sessions/retrieve"
947
+ ),
848
948
  confirm: operation("orders", "post", "/custom-payment-sessions/confirm")
849
949
  }
850
950
  },
@@ -870,6 +970,11 @@ var EVENTS_ENDPOINT_OPERATIONS = {
870
970
  )
871
971
  }
872
972
  };
973
+ var COMMUNITY_ENDPOINT_OPERATIONS = {
974
+ posts: {
975
+ detail: operation("posts", "get", "/detail")
976
+ }
977
+ };
873
978
  function resolveOperationTemplate(descriptor) {
874
979
  return descriptor.collection ? `/api/${descriptor.collection}${descriptor.path}` : `/api${descriptor.path}`;
875
980
  }
@@ -929,12 +1034,12 @@ var COMMERCE_ENDPOINTS = {
929
1034
  updateFulfillment: endpoint("POST", "/api/orders/update-fulfillment")
930
1035
  },
931
1036
  checkouts: {
932
- create: endpoint("POST", "/api/orders/checkout"),
933
- retrieve: endpoint("POST", "/api/checkouts/detail"),
1037
+ create: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.orders.checkout),
1038
+ retrieve: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.checkouts.detail),
934
1039
  server: {
935
- create: endpoint("POST", "/api/orders/checkout"),
936
- retrieve: endpoint("POST", "/api/checkouts/detail"),
937
- query: endpoint("POST", "/api/checkouts/query")
1040
+ create: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.orders.checkout),
1041
+ retrieve: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.checkouts.detail),
1042
+ query: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.checkouts.query)
938
1043
  }
939
1044
  },
940
1045
  returns: {
@@ -952,10 +1057,10 @@ var COMMERCE_ENDPOINTS = {
952
1057
  bulkImport: endpoint("POST", "/api/fulfillments/bulk-import")
953
1058
  },
954
1059
  carts: {
955
- create: endpoint("POST", "/api/carts/create"),
1060
+ create: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.carts.create),
956
1061
  retrieve: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.carts.retrieve),
957
- mine: endpoint("POST", "/api/carts/mine"),
958
- merge: endpoint("POST", "/api/carts/merge"),
1062
+ mine: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.carts.mine),
1063
+ merge: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.carts.merge),
959
1064
  server: {
960
1065
  // Server credentials are an authorization lane, not a second Cart
961
1066
  // transport. These must stay bound to the registered shared operations.
@@ -975,29 +1080,46 @@ var COMMERCE_ENDPOINTS = {
975
1080
  clear: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.carts.clear)
976
1081
  },
977
1082
  addItem: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.carts.addItem),
978
- updateItem: endpoint("POST", "/api/carts/update-item"),
979
- removeItem: endpoint("POST", "/api/carts/remove-item"),
980
- updateDiscountCodes: endpoint("POST", "/api/carts/update-discount-codes"),
981
- updateAttributes: endpoint("POST", "/api/carts/update-attributes"),
982
- clear: endpoint("POST", "/api/carts/clear")
1083
+ updateItem: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.carts.updateItem),
1084
+ removeItem: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.carts.removeItem),
1085
+ updateDiscountCodes: sharedEndpoint(
1086
+ COMMERCE_ENDPOINT_OPERATIONS.carts.updateDiscountCodes
1087
+ ),
1088
+ updateAttributes: sharedEndpoint(
1089
+ COMMERCE_ENDPOINT_OPERATIONS.carts.updateAttributes
1090
+ ),
1091
+ clear: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.carts.clear)
983
1092
  },
984
1093
  paymentSessions: {
985
- create: endpoint("POST", "/api/payment-sessions/create"),
986
- retrieve: endpoint("POST", "/api/payment-sessions/retrieve"),
987
- cancel: endpoint("POST", "/api/payment-sessions/cancel"),
1094
+ create: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.create),
1095
+ retrieve: sharedEndpoint(
1096
+ COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.retrieve
1097
+ ),
1098
+ cancel: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.cancel),
988
1099
  custom: {
989
1100
  create: sharedEndpoint(
990
1101
  COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.custom.create
991
1102
  ),
1103
+ retrieve: sharedEndpoint(
1104
+ COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.custom.retrieve
1105
+ ),
992
1106
  confirm: sharedEndpoint(
993
1107
  COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.custom.confirm
994
1108
  )
995
1109
  },
996
1110
  server: {
997
- create: endpoint("POST", "/api/payment-sessions/server/create"),
998
- retrieve: endpoint("POST", "/api/payment-sessions/server/retrieve"),
999
- cancel: endpoint("POST", "/api/payment-sessions/server/cancel"),
1000
- confirm: endpoint("POST", "/api/payment-sessions/server/confirm")
1111
+ create: sharedEndpoint(
1112
+ COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.server.create
1113
+ ),
1114
+ retrieve: sharedEndpoint(
1115
+ COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.server.retrieve
1116
+ ),
1117
+ cancel: sharedEndpoint(
1118
+ COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.server.cancel
1119
+ ),
1120
+ confirm: sharedEndpoint(
1121
+ COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.server.confirm
1122
+ )
1001
1123
  }
1002
1124
  },
1003
1125
  shippingPolicies: {