@01.software/sdk 0.48.0 → 0.51.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 +157 -1
- package/MIGRATION.md +56 -0
- package/README.md +276 -49
- package/dist/client.cjs +375 -161
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +7 -6
- package/dist/client.d.ts +7 -6
- package/dist/client.js +375 -161
- package/dist/client.js.map +1 -1
- package/dist/{collection-client-CBup9yOx.d.cts → collection-client-CWAeuzV4.d.cts} +6 -4
- package/dist/{collection-client-D3ExJU-7.d.ts → collection-client-hYvVfHIm.d.ts} +6 -4
- package/dist/{const-k9gHylYa.d.ts → const-D8LixhAJ.d.cts} +5 -5
- package/dist/{const-BXEi1Kix.d.cts → const-JD8obaKg.d.ts} +5 -5
- package/dist/embedded-admin/server.cjs +306 -0
- package/dist/embedded-admin/server.cjs.map +1 -0
- package/dist/embedded-admin/server.d.cts +33 -0
- package/dist/embedded-admin/server.d.ts +33 -0
- package/dist/embedded-admin/server.js +288 -0
- package/dist/embedded-admin/server.js.map +1 -0
- package/dist/embedded-admin.cjs +400 -0
- package/dist/embedded-admin.cjs.map +1 -0
- package/dist/embedded-admin.d.cts +61 -0
- package/dist/embedded-admin.d.ts +61 -0
- package/dist/embedded-admin.js +377 -0
- package/dist/embedded-admin.js.map +1 -0
- package/dist/errors.cjs +64 -15
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.cts +13 -4
- package/dist/errors.d.ts +13 -4
- package/dist/errors.js +64 -15
- package/dist/errors.js.map +1 -1
- package/dist/{index-BCM9CTL7.d.cts → index-B0Hjh3Ey.d.ts} +72 -10
- package/dist/{index-CHGGkcLj.d.ts → index-Bu0kCc6o.d.cts} +72 -10
- package/dist/index.cjs +470 -429
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -67
- package/dist/index.d.ts +9 -67
- package/dist/index.js +470 -429
- package/dist/index.js.map +1 -1
- package/dist/{payload-types-B6AZQcB7.d.cts → payload-types-BOsckg8B.d.cts} +396 -57
- package/dist/{payload-types-B6AZQcB7.d.ts → payload-types-BOsckg8B.d.ts} +396 -57
- package/dist/query.cjs +115 -70
- package/dist/query.cjs.map +1 -1
- package/dist/query.d.cts +5 -5
- package/dist/query.d.ts +5 -5
- package/dist/query.js +115 -70
- package/dist/query.js.map +1 -1
- package/dist/realtime.d.cts +2 -2
- package/dist/realtime.d.ts +2 -2
- package/dist/server.cjs +591 -186
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +8 -7
- package/dist/server.d.ts +8 -7
- package/dist/server.js +591 -186
- package/dist/server.js.map +1 -1
- package/dist/storefront-cache.cjs +22 -0
- package/dist/storefront-cache.cjs.map +1 -1
- package/dist/storefront-cache.js +22 -0
- package/dist/storefront-cache.js.map +1 -1
- package/dist/{types-ByD2zii1.d.ts → types-5ZlcAFuU.d.ts} +2 -2
- package/dist/{types-8us-_C-Q.d.cts → types-B14sEt1z.d.cts} +2 -2
- package/dist/{types-CM2je9Kw.d.cts → types-Bj8j7VHU.d.ts} +107 -26
- package/dist/{types-DbA5V3mt.d.ts → types-CM5qiR2k.d.cts} +107 -26
- package/dist/ui/form.d.cts +1 -1
- package/dist/ui/form.d.ts +1 -1
- package/dist/ui/video.d.cts +1 -1
- package/dist/ui/video.d.ts +1 -1
- package/dist/webhook.cjs +124 -80
- package/dist/webhook.cjs.map +1 -1
- package/dist/webhook.d.cts +21 -5
- package/dist/webhook.d.ts +21 -5
- package/dist/webhook.js +124 -80
- package/dist/webhook.js.map +1 -1
- package/package.json +27 -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
|
};
|
|
@@ -578,6 +598,7 @@ var COMMERCE_ERROR_CODES = [
|
|
|
578
598
|
"payment_session_not_cancelable",
|
|
579
599
|
"payment_session_conflict",
|
|
580
600
|
"provider_identity_mismatch",
|
|
601
|
+
"managed_refund_attestation_forbidden",
|
|
581
602
|
"payment_method_unavailable",
|
|
582
603
|
"provider_unavailable",
|
|
583
604
|
"lock_timeout",
|
|
@@ -649,6 +670,7 @@ var ConfigError = class extends SDKError {
|
|
|
649
670
|
constructor(message, details, userMessage, suggestion) {
|
|
650
671
|
super("CONFIG_ERROR", message, void 0, details, userMessage, suggestion);
|
|
651
672
|
this.name = "ConfigError";
|
|
673
|
+
defineSDKErrorType(this, "ConfigError");
|
|
652
674
|
}
|
|
653
675
|
};
|
|
654
676
|
var createConfigError = (message, details, userMessage, suggestion) => new ConfigError(message, details, userMessage, suggestion);
|
|
@@ -813,6 +835,10 @@ var operation = (collection, method, path, errorFamily) => Object.freeze({
|
|
|
813
835
|
...errorFamily && { errorFamily }
|
|
814
836
|
});
|
|
815
837
|
var strictCommerceOperation = (collection, method, path) => operation(collection, method, path, "commerce");
|
|
838
|
+
var selectiveCommerceOperation = (collection, method, path, typedCommerceErrorReasons) => Object.freeze({
|
|
839
|
+
...operation(collection, method, path),
|
|
840
|
+
typedCommerceErrorReasons: Object.freeze([...typedCommerceErrorReasons])
|
|
841
|
+
});
|
|
816
842
|
var COMMERCE_ENDPOINT_OPERATIONS = {
|
|
817
843
|
products: {
|
|
818
844
|
detail: operation("products", "get", "/detail"),
|
|
@@ -844,7 +870,12 @@ var COMMERCE_ENDPOINT_OPERATIONS = {
|
|
|
844
870
|
confirmPayment: operation("orders", "post", "/confirm-payment"),
|
|
845
871
|
byPayment: operation("orders", "get", "/by-payment"),
|
|
846
872
|
cancel: operation("orders", "post", "/cancel"),
|
|
847
|
-
resolveCancelRefund:
|
|
873
|
+
resolveCancelRefund: selectiveCommerceOperation(
|
|
874
|
+
"orders",
|
|
875
|
+
"post",
|
|
876
|
+
"/resolve-cancel-refund",
|
|
877
|
+
["managed_refund_attestation_forbidden"]
|
|
878
|
+
),
|
|
848
879
|
checkout: strictCommerceOperation("orders", "post", "/checkout"),
|
|
849
880
|
createFulfillment: operation("orders", "post", "/create-fulfillment"),
|
|
850
881
|
updateFulfillment: operation("orders", "post", "/update-fulfillment")
|
|
@@ -915,6 +946,16 @@ var COMMERCE_ENDPOINT_OPERATIONS = {
|
|
|
915
946
|
"payment-sessions",
|
|
916
947
|
"post",
|
|
917
948
|
"/server/confirm"
|
|
949
|
+
),
|
|
950
|
+
findPortOne: strictCommerceOperation(
|
|
951
|
+
"payment-sessions",
|
|
952
|
+
"post",
|
|
953
|
+
"/server/portone/find"
|
|
954
|
+
),
|
|
955
|
+
reconcilePortOne: strictCommerceOperation(
|
|
956
|
+
"payment-sessions",
|
|
957
|
+
"post",
|
|
958
|
+
"/server/portone/reconcile"
|
|
918
959
|
)
|
|
919
960
|
},
|
|
920
961
|
custom: {
|
|
@@ -934,12 +975,26 @@ var COMMERCE_ENDPOINT_OPERATIONS = {
|
|
|
934
975
|
validate: operation("discounts", "post", "/validate")
|
|
935
976
|
}
|
|
936
977
|
};
|
|
978
|
+
var portOneStandardActionCapabilityOperations = /* @__PURE__ */ new Set([
|
|
979
|
+
COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.create,
|
|
980
|
+
COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.retrieve,
|
|
981
|
+
COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.server.create,
|
|
982
|
+
COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.server.retrieve
|
|
983
|
+
]);
|
|
937
984
|
var MEMBERSHIP_ENDPOINT_OPERATIONS = {
|
|
938
985
|
subscribe: operation(null, "post", "/memberships/subscribe"),
|
|
939
986
|
cancel: operation(null, "post", "/memberships/:id/cancel"),
|
|
940
987
|
me: operation(null, "get", "/memberships/me")
|
|
941
988
|
};
|
|
989
|
+
var EMBEDDED_ADMIN_ENDPOINT_OPERATIONS = {
|
|
990
|
+
show: operation("tenants", "get", "/embedded-admin-app"),
|
|
991
|
+
configure: operation("tenants", "patch", "/embedded-admin-app"),
|
|
992
|
+
disable: operation("tenants", "delete", "/embedded-admin-app")
|
|
993
|
+
};
|
|
942
994
|
var EVENTS_ENDPOINT_OPERATIONS = {
|
|
995
|
+
events: {
|
|
996
|
+
convertSchedule: operation("events", "post", "/:id/schedule")
|
|
997
|
+
},
|
|
943
998
|
occurrences: {
|
|
944
999
|
range: operation("event-occurrences", "get", "/range"),
|
|
945
1000
|
admissionAvailability: operation(
|
|
@@ -977,40 +1032,48 @@ function resolveOperationPath(descriptor, options) {
|
|
|
977
1032
|
}
|
|
978
1033
|
|
|
979
1034
|
// src/core/api/endpoints.ts
|
|
980
|
-
var endpoint = (method, path) => ({ method, path });
|
|
981
1035
|
var sharedEndpoint = (descriptor) => descriptor;
|
|
982
|
-
function resolveOperationPath2(descriptor, options) {
|
|
983
|
-
if ("collection" in descriptor) {
|
|
984
|
-
return resolveOperationPath(descriptor, options);
|
|
985
|
-
}
|
|
986
|
-
const query = options?.query?.toString().replace(/^\?/, "");
|
|
987
|
-
return query ? `${descriptor.path}?${query}` : descriptor.path;
|
|
988
|
-
}
|
|
989
1036
|
var COMMERCE_ENDPOINTS = {
|
|
990
1037
|
products: {
|
|
991
|
-
detail:
|
|
992
|
-
detailCatalog:
|
|
993
|
-
|
|
994
|
-
listingGroupsCatalog: endpoint(
|
|
995
|
-
"GET",
|
|
996
|
-
"/api/products/listing-groups/catalog"
|
|
1038
|
+
detail: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.products.detail),
|
|
1039
|
+
detailCatalog: sharedEndpoint(
|
|
1040
|
+
COMMERCE_ENDPOINT_OPERATIONS.products.detailCatalog
|
|
997
1041
|
),
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
"GET",
|
|
1001
|
-
"/api/products/listing-groups/query/catalog"
|
|
1042
|
+
listingGroups: sharedEndpoint(
|
|
1043
|
+
COMMERCE_ENDPOINT_OPERATIONS.products.listingGroups
|
|
1002
1044
|
),
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1045
|
+
listingGroupsCatalog: sharedEndpoint(
|
|
1046
|
+
COMMERCE_ENDPOINT_OPERATIONS.products.listingGroupsCatalog
|
|
1047
|
+
),
|
|
1048
|
+
// The manifest keeps the GET read and the POST body-query apart; this
|
|
1049
|
+
// semantic name has always resolved to the GET one.
|
|
1050
|
+
listingGroupsQuery: sharedEndpoint(
|
|
1051
|
+
COMMERCE_ENDPOINT_OPERATIONS.products.listingGroupsQueryGet
|
|
1052
|
+
),
|
|
1053
|
+
listingGroupsQueryCatalog: sharedEndpoint(
|
|
1054
|
+
COMMERCE_ENDPOINT_OPERATIONS.products.listingGroupsQueryCatalog
|
|
1055
|
+
),
|
|
1056
|
+
stockCheck: sharedEndpoint(
|
|
1057
|
+
COMMERCE_ENDPOINT_OPERATIONS.products.stockCheck
|
|
1058
|
+
),
|
|
1059
|
+
stockSnapshot: sharedEndpoint(
|
|
1060
|
+
COMMERCE_ENDPOINT_OPERATIONS.products.stockSnapshot
|
|
1061
|
+
),
|
|
1062
|
+
upsert: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.products.upsert)
|
|
1006
1063
|
},
|
|
1007
1064
|
orders: {
|
|
1008
|
-
update:
|
|
1009
|
-
byPayment:
|
|
1010
|
-
cancel:
|
|
1011
|
-
resolveCancelRefund:
|
|
1012
|
-
|
|
1013
|
-
|
|
1065
|
+
update: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.orders.update),
|
|
1066
|
+
byPayment: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.orders.byPayment),
|
|
1067
|
+
cancel: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.orders.cancel),
|
|
1068
|
+
resolveCancelRefund: sharedEndpoint(
|
|
1069
|
+
COMMERCE_ENDPOINT_OPERATIONS.orders.resolveCancelRefund
|
|
1070
|
+
),
|
|
1071
|
+
createFulfillment: sharedEndpoint(
|
|
1072
|
+
COMMERCE_ENDPOINT_OPERATIONS.orders.createFulfillment
|
|
1073
|
+
),
|
|
1074
|
+
updateFulfillment: sharedEndpoint(
|
|
1075
|
+
COMMERCE_ENDPOINT_OPERATIONS.orders.updateFulfillment
|
|
1076
|
+
)
|
|
1014
1077
|
},
|
|
1015
1078
|
checkouts: {
|
|
1016
1079
|
create: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.orders.checkout),
|
|
@@ -1022,18 +1085,21 @@ var COMMERCE_ENDPOINTS = {
|
|
|
1022
1085
|
}
|
|
1023
1086
|
},
|
|
1024
1087
|
returns: {
|
|
1025
|
-
create:
|
|
1026
|
-
update:
|
|
1027
|
-
returnRefund:
|
|
1088
|
+
create: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.returns.create),
|
|
1089
|
+
update: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.returns.update),
|
|
1090
|
+
returnRefund: sharedEndpoint(
|
|
1091
|
+
COMMERCE_ENDPOINT_OPERATIONS.returns.returnRefund
|
|
1092
|
+
)
|
|
1028
1093
|
},
|
|
1029
1094
|
fulfillmentOrders: {
|
|
1030
|
-
prepare:
|
|
1031
|
-
|
|
1032
|
-
"/api/fulfillment-orders/prepare-fulfillment-order"
|
|
1095
|
+
prepare: sharedEndpoint(
|
|
1096
|
+
COMMERCE_ENDPOINT_OPERATIONS.fulfillmentOrders.prepare
|
|
1033
1097
|
)
|
|
1034
1098
|
},
|
|
1035
1099
|
fulfillments: {
|
|
1036
|
-
bulkImport:
|
|
1100
|
+
bulkImport: sharedEndpoint(
|
|
1101
|
+
COMMERCE_ENDPOINT_OPERATIONS.fulfillments.bulkImport
|
|
1102
|
+
)
|
|
1037
1103
|
},
|
|
1038
1104
|
carts: {
|
|
1039
1105
|
create: sharedEndpoint(COMMERCE_ENDPOINT_OPERATIONS.carts.create),
|
|
@@ -1098,57 +1164,36 @@ var COMMERCE_ENDPOINTS = {
|
|
|
1098
1164
|
),
|
|
1099
1165
|
confirm: sharedEndpoint(
|
|
1100
1166
|
COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.server.confirm
|
|
1167
|
+
),
|
|
1168
|
+
findPortOne: sharedEndpoint(
|
|
1169
|
+
COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.server.findPortOne
|
|
1170
|
+
),
|
|
1171
|
+
reconcilePortOne: sharedEndpoint(
|
|
1172
|
+
COMMERCE_ENDPOINT_OPERATIONS.paymentSessions.server.reconcilePortOne
|
|
1101
1173
|
)
|
|
1102
1174
|
}
|
|
1103
1175
|
},
|
|
1104
1176
|
shippingPolicies: {
|
|
1105
|
-
calculate:
|
|
1177
|
+
calculate: sharedEndpoint(
|
|
1178
|
+
COMMERCE_ENDPOINT_OPERATIONS.shippingPolicies.calculate
|
|
1179
|
+
)
|
|
1106
1180
|
}
|
|
1107
1181
|
};
|
|
1108
|
-
function isCommerceEndpointDescriptor(value) {
|
|
1109
|
-
if (!value || typeof value !== "object") return false;
|
|
1110
|
-
const candidate = value;
|
|
1111
|
-
return typeof candidate.method === "string" && typeof candidate.path === "string";
|
|
1112
|
-
}
|
|
1113
|
-
function flattenEndpointPaths(value) {
|
|
1114
|
-
if (isCommerceEndpointDescriptor(value)) return [resolveOperationPath2(value)];
|
|
1115
|
-
if (!value || typeof value !== "object") return [];
|
|
1116
|
-
return Object.values(value).flatMap((entry) => flattenEndpointPaths(entry));
|
|
1117
|
-
}
|
|
1118
|
-
function flattenEndpointDescriptors(value) {
|
|
1119
|
-
if (isCommerceEndpointDescriptor(value)) return [value];
|
|
1120
|
-
if (!value || typeof value !== "object") return [];
|
|
1121
|
-
return Object.values(value).flatMap(
|
|
1122
|
-
(entry) => flattenEndpointDescriptors(entry)
|
|
1123
|
-
);
|
|
1124
|
-
}
|
|
1125
|
-
var COMMERCE_ENDPOINT_PATHS = flattenEndpointPaths(COMMERCE_ENDPOINTS);
|
|
1126
|
-
var COMMERCE_ENDPOINT_DESCRIPTORS = flattenEndpointDescriptors(COMMERCE_ENDPOINTS);
|
|
1127
|
-
var MEMBERSHIP_ENDPOINTS = {
|
|
1128
|
-
subscribe: "/api/memberships/subscribe",
|
|
1129
|
-
cancel: (id) => `/api/memberships/${id}/cancel`,
|
|
1130
|
-
me: "/api/memberships/me"
|
|
1131
|
-
};
|
|
1132
|
-
var MEMBERSHIP_ENDPOINT_PATHS = [
|
|
1133
|
-
MEMBERSHIP_ENDPOINTS.subscribe,
|
|
1134
|
-
MEMBERSHIP_ENDPOINTS.cancel(":id"),
|
|
1135
|
-
MEMBERSHIP_ENDPOINTS.me
|
|
1136
|
-
];
|
|
1137
1182
|
|
|
1138
1183
|
// src/core/query/query-hooks.ts
|
|
1139
1184
|
function normalizeMarket(market) {
|
|
1140
1185
|
const normalized = market?.trim();
|
|
1141
1186
|
return normalized || void 0;
|
|
1142
1187
|
}
|
|
1143
|
-
function requestCommerceFindEndpoint(collectionClient,
|
|
1144
|
-
const path =
|
|
1145
|
-
if (
|
|
1188
|
+
function requestCommerceFindEndpoint(collectionClient, endpoint, options) {
|
|
1189
|
+
const path = resolveOperationPath(endpoint, { query: options?.query });
|
|
1190
|
+
if (endpoint.method === "get") {
|
|
1146
1191
|
return collectionClient.requestFindEndpointGet(path);
|
|
1147
1192
|
}
|
|
1148
|
-
if (
|
|
1193
|
+
if (endpoint.method === "post") {
|
|
1149
1194
|
return collectionClient.requestFindEndpoint(path, options?.data);
|
|
1150
1195
|
}
|
|
1151
|
-
throw new TypeError(`Unsupported find endpoint method: ${
|
|
1196
|
+
throw new TypeError(`Unsupported find endpoint method: ${endpoint.method}`);
|
|
1152
1197
|
}
|
|
1153
1198
|
function withDefaultMarket(params, market) {
|
|
1154
1199
|
const defaultMarket = normalizeMarket(market);
|