@01.software/sdk 0.72.1 → 0.73.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.
- package/CHANGELOG.md +34 -0
- package/README.md +40 -0
- package/dist/client.cjs +9 -2
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +6 -6
- package/dist/client.d.ts +6 -6
- package/dist/client.js +9 -2
- package/dist/client.js.map +1 -1
- package/dist/{collection-client-B3CnqMDQ.d.cts → collection-client-BH4dIZ6c.d.cts} +4 -4
- package/dist/{collection-client-uOgS_1bC.d.ts → collection-client-lLAl3xCZ.d.ts} +4 -4
- package/dist/{const-_ZfJjRQG.d.cts → const-BS2EaIp4.d.cts} +1 -1
- package/dist/{const-BJBK7jBl.d.ts → const-CCvoknRY.d.ts} +1 -1
- package/dist/{index-CI_LFWiG.d.cts → index-CHdrzJ8-.d.cts} +3 -3
- package/dist/{index-CBaP4q8r.d.ts → index-DVqNpmsc.d.ts} +3 -3
- package/dist/index.cjs +10 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -11
- package/dist/index.d.ts +14 -11
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/{payload-types-BRg8Yary.d.cts → payload-types-PXkmefhZ.d.cts} +77 -20
- package/dist/{payload-types-BRg8Yary.d.ts → payload-types-PXkmefhZ.d.ts} +77 -20
- package/dist/query.d.cts +5 -5
- package/dist/query.d.ts +5 -5
- package/dist/realtime.d.cts +2 -2
- package/dist/realtime.d.ts +2 -2
- package/dist/server.cjs +39 -10
- 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 +39 -10
- package/dist/server.js.map +1 -1
- package/dist/{types-DLjSqL0P.d.ts → types-CQRsG6sA.d.ts} +2 -2
- package/dist/{types-CnkJQUez.d.cts → types-Chwgg4CQ.d.cts} +21 -4
- package/dist/{types-FyklqLAk.d.cts → types-CyMz0Kzc.d.cts} +2 -2
- package/dist/{types-Cmnxxvuv.d.ts → types-lbzbJSZh.d.ts} +21 -4
- 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.d.cts +5 -5
- package/dist/webhook.d.ts +5 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# @01.software/sdk
|
|
2
2
|
|
|
3
|
+
## 0.73.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 57e6e15: Sort product options and option values by their orderable `_order` keys in Payload's fractional-indexing (code-unit) order instead of the runtime-locale-dependent `localeCompare` order. For current-format keys this is the order the Admin Panel shows.
|
|
8
|
+
- 623b7e8: Update the generated field descriptions for the tenant base currency and the market exchange rate.
|
|
9
|
+
- 265ad09: Synchronize generated storage types for internal Project invitations and private
|
|
10
|
+
current-email verification evidence. No invitation SDK API or collection access
|
|
11
|
+
is added.
|
|
12
|
+
|
|
13
|
+
## 0.73.0
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- b271588: Add optional market selection to events.getAdmissionAvailability so callers can display the same market price used by Cart and Checkout. Omitted market uses the catalog default; the public price response keeps its existing fields. Resolved-market reads, including default-market calls, omit admission types whose same-tenant products are not assigned to that market.
|
|
18
|
+
- 41c7d41: Add server-only `memberships.billingCustodyContext` to obtain the Console-owned
|
|
19
|
+
restore generation through the existing delegated HMAC custody boundary. Keep
|
|
20
|
+
legacy ciphertext requests and responses compatible. Deploy Console support
|
|
21
|
+
before publishing the SDK or using the updated Membership and CLUB templates.
|
|
22
|
+
The bundled starters obtain the generation from Console without a storefront
|
|
23
|
+
environment variable and retain the generation across custody read/CAS updates.
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- 163b450: Clarify that form submission email settings are retained for compatibility and do not send notifications, without changing field keys or types.
|
|
28
|
+
- ae622d1: Refresh generated workspace sender, credential, and webhook field descriptions. Public types and API behavior are unchanged.
|
|
29
|
+
- f8a25e1: Clarify that tenant administrators obtain the billing custody restore generation from the authenticated Console delegated billing connection panel.
|
|
30
|
+
- 9cfcc4e: Update generated User membership guidance to point Project workspace member management to Settings > Workspace > Project environments. No SDK type shape or runtime behavior changes.
|
|
31
|
+
- b8a447c: Clarify generated transaction kind and shipping policy descriptions without changing field keys or types.
|
|
32
|
+
- 4781438: Clarify the generated customer address description. Field types and API response shapes are unchanged.
|
|
33
|
+
- 3d0665d: Clarify the generated preview destination description without changing its schema or behavior.
|
|
34
|
+
- 668102b: Webhook.url 필드 설명의 민감정보 경고를 복원합니다. 타입 구조는 변경하지 않습니다.
|
|
35
|
+
- 5ef9bc6: Format the numbers in the `Monthly API usage limit exceeded (current/limit)` error message with a fixed `en-US` locale so the message no longer depends on the runtime's default locale.
|
|
36
|
+
|
|
3
37
|
## 0.72.1
|
|
4
38
|
|
|
5
39
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -933,6 +933,32 @@ request UUID and the current version; exact retries retain the original values.
|
|
|
933
933
|
A privacy-erased snapshot has state `erased`, null `externalCustomerId`, and
|
|
934
934
|
null `previousState`. Keep these calls and snapshots in trusted server code.
|
|
935
935
|
|
|
936
|
+
### Delegated billing ciphertext
|
|
937
|
+
|
|
938
|
+
The server client obtains the Console-owned restore generation through the
|
|
939
|
+
existing custody endpoint, using its server key and delegated connection HMAC:
|
|
940
|
+
|
|
941
|
+
```ts
|
|
942
|
+
const { generation } = await server.memberships.billingCustodyContext({
|
|
943
|
+
membershipId,
|
|
944
|
+
webhookSecret,
|
|
945
|
+
})
|
|
946
|
+
const stored = await server.memberships.billingCustody({
|
|
947
|
+
action: 'read',
|
|
948
|
+
membershipId,
|
|
949
|
+
webhookSecret,
|
|
950
|
+
generation,
|
|
951
|
+
})
|
|
952
|
+
```
|
|
953
|
+
|
|
954
|
+
Keep that generation and `stored.version` for mutations based on this read.
|
|
955
|
+
Obtain a context immediately before a fresh initial upload (`expectedVersion: 0`).
|
|
956
|
+
Generation mismatch stops execution; never fetch a new context to retry an old
|
|
957
|
+
mutation or charge. After recovery, provider re-authorization and a fresh encrypted
|
|
958
|
+
upload/readback are required. Existing explicit-generation requests remain
|
|
959
|
+
supported. Deploy Console support before SDK publication and upgraded template
|
|
960
|
+
use; unsupported servers and malformed contexts fail without fallback.
|
|
961
|
+
|
|
936
962
|
## Storefront performance defaults
|
|
937
963
|
|
|
938
964
|
- **PLP:** prefer `commerce.product.listingPage()` or `useProductListingPage()` (GET `/api/products/listing-groups/query/catalog`, CDN-cacheable, card-ready). Use `listingGroupsCatalog({ productIds })` only when IDs are already known. Treat the full listing-groups response shape as a server-auth escape hatch because it can include operational stock fields. Avoid fetching a product list and then calling `detail()` per card.
|
|
@@ -2328,6 +2354,20 @@ replacement API. Pass an empty list to clear codes. Singular `admission`,
|
|
|
2328
2354
|
Browser `mine()`/`merge({ guestCartToken })` derive customer identity from the
|
|
2329
2355
|
JWT; server calls require an explicit `customerToken`.
|
|
2330
2356
|
|
|
2357
|
+
### Event admission availability
|
|
2358
|
+
|
|
2359
|
+
For paid admission choices, call
|
|
2360
|
+
`client.events.getAdmissionAvailability({ occurrence, market: 'kr' })` with an
|
|
2361
|
+
active market handle or id. Omit `market` for the catalog default. The public
|
|
2362
|
+
price includes `amount`, `compareAtPrice`, `currency`, and `marketId` resolved
|
|
2363
|
+
from fixed market prices or the market calculation; an unknown market returns
|
|
2364
|
+
`404 not_found`. Use the same market for the Cart. Checkout re-reads current
|
|
2365
|
+
pricing and eligibility. When a market resolves, admission types are returned
|
|
2366
|
+
only when their same-tenant product is assigned to that market. This filter also
|
|
2367
|
+
applies to existing calls that omit `market` and use the default market; missing
|
|
2368
|
+
products and empty assignments are omitted. With no active market, base pricing
|
|
2369
|
+
and the existing unfiltered behavior remain.
|
|
2370
|
+
|
|
2331
2371
|
### Customer event registration history
|
|
2332
2372
|
|
|
2333
2373
|
After customer sign-in, `client.events.listMyRegistrations({ page: 1, limit: 10 })`
|
package/dist/client.cjs
CHANGED
|
@@ -896,7 +896,7 @@ async function httpFetch(url, options) {
|
|
|
896
896
|
);
|
|
897
897
|
const usageError = attachRequestId(
|
|
898
898
|
createUsageLimitError(
|
|
899
|
-
`Monthly API usage limit exceeded (${current.toLocaleString()}/${limit.toLocaleString()})`,
|
|
899
|
+
`Monthly API usage limit exceeded (${current.toLocaleString("en-US")}/${limit.toLocaleString("en-US")})`,
|
|
900
900
|
{ limit, current, remaining },
|
|
901
901
|
{
|
|
902
902
|
url,
|
|
@@ -5613,6 +5613,11 @@ function getRelationID(value) {
|
|
|
5613
5613
|
}
|
|
5614
5614
|
return void 0;
|
|
5615
5615
|
}
|
|
5616
|
+
function compareOrdinal(left, right) {
|
|
5617
|
+
if (left < right) return -1;
|
|
5618
|
+
if (left > right) return 1;
|
|
5619
|
+
return 0;
|
|
5620
|
+
}
|
|
5616
5621
|
function extractEntityId(value) {
|
|
5617
5622
|
if (typeof value === "string") return value;
|
|
5618
5623
|
if (typeof value === "number") return String(value);
|
|
@@ -6225,7 +6230,7 @@ function compareVariantOrder(a, b) {
|
|
|
6225
6230
|
}
|
|
6226
6231
|
const aId = String(getRelationID(a.id) ?? "");
|
|
6227
6232
|
const bId = String(getRelationID(b.id) ?? "");
|
|
6228
|
-
return aId
|
|
6233
|
+
return compareOrdinal(aId, bId);
|
|
6229
6234
|
}
|
|
6230
6235
|
function getVariantAvailableForSale(variant) {
|
|
6231
6236
|
if (variant.isActive === false) return false;
|
|
@@ -6830,6 +6835,8 @@ function buildRangeEndpoint(params) {
|
|
|
6830
6835
|
function buildAdmissionAvailabilityEndpoint(params) {
|
|
6831
6836
|
const urlParams = new URLSearchParams();
|
|
6832
6837
|
urlParams.set("occurrence", params.occurrence);
|
|
6838
|
+
const normalizedMarket2 = params.market?.trim();
|
|
6839
|
+
if (normalizedMarket2) urlParams.set("market", normalizedMarket2);
|
|
6833
6840
|
return resolveOperationPath(
|
|
6834
6841
|
EVENTS_ENDPOINT_OPERATIONS.occurrences.admissionAvailability,
|
|
6835
6842
|
{ query: urlParams }
|