@01.software/sdk 0.42.0 → 0.44.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 (51) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +27 -22
  3. package/dist/client.cjs +99 -57
  4. package/dist/client.cjs.map +1 -1
  5. package/dist/client.d.cts +9 -6
  6. package/dist/client.d.ts +9 -6
  7. package/dist/client.js +99 -57
  8. package/dist/client.js.map +1 -1
  9. package/dist/{collection-client-BhCMwIus.d.ts → collection-client-DWooaiTr.d.ts} +3 -3
  10. package/dist/{collection-client-B-qVIBnJ.d.cts → collection-client-Dyl-CDcj.d.cts} +3 -3
  11. package/dist/{const-pmHlwm3E.d.ts → const-1vleZ6ov.d.cts} +5 -5
  12. package/dist/{const-BiDujixF.d.cts → const-pGDnsy0o.d.ts} +5 -5
  13. package/dist/{index-B1UBDaKz.d.ts → index-DUNySyxV.d.ts} +4 -4
  14. package/dist/{index-D78ki6Ij.d.cts → index-a6g7vqAD.d.cts} +4 -4
  15. package/dist/index.cjs +111 -61
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +41 -8
  18. package/dist/index.d.ts +41 -8
  19. package/dist/index.js +111 -61
  20. package/dist/index.js.map +1 -1
  21. package/dist/{payload-types-C7Ul4ElL.d.cts → payload-types-CDsuOEfM.d.cts} +401 -34
  22. package/dist/{payload-types-C7Ul4ElL.d.ts → payload-types-CDsuOEfM.d.ts} +401 -34
  23. package/dist/query.cjs +59 -7
  24. package/dist/query.cjs.map +1 -1
  25. package/dist/query.d.cts +5 -5
  26. package/dist/query.d.ts +5 -5
  27. package/dist/query.js +59 -7
  28. package/dist/query.js.map +1 -1
  29. package/dist/realtime.d.cts +2 -2
  30. package/dist/realtime.d.ts +2 -2
  31. package/dist/server.cjs +130 -57
  32. package/dist/server.cjs.map +1 -1
  33. package/dist/server.d.cts +12 -7
  34. package/dist/server.d.ts +12 -7
  35. package/dist/server.js +130 -57
  36. package/dist/server.js.map +1 -1
  37. package/dist/{types-D5dSNIGs.d.ts → types-CDND3hzq.d.cts} +104 -10
  38. package/dist/{types-BL7M-EUV.d.cts → types-Dt9FJisi.d.ts} +104 -10
  39. package/dist/{types-ChV1t4ei.d.cts → types-SoXsbKhj.d.cts} +1 -1
  40. package/dist/{types-Bf2iCjy8.d.ts → types-oiae_LMm.d.ts} +1 -1
  41. package/dist/ui/form.d.cts +1 -1
  42. package/dist/ui/form.d.ts +1 -1
  43. package/dist/ui/video.d.cts +1 -1
  44. package/dist/ui/video.d.ts +1 -1
  45. package/dist/webhook.cjs +3 -1
  46. package/dist/webhook.cjs.map +1 -1
  47. package/dist/webhook.d.cts +4 -4
  48. package/dist/webhook.d.ts +4 -4
  49. package/dist/webhook.js +3 -1
  50. package/dist/webhook.js.map +1 -1
  51. package/package.json +1 -1
@@ -61,6 +61,7 @@ interface Config {
61
61
  'shipping-policies': ShippingPolicy;
62
62
  'shipping-zones': ShippingZone;
63
63
  'tenant-commerce-config': TenantCommerceConfig;
64
+ markets: Market;
64
65
  customers: Customer;
65
66
  'customer-profiles': CustomerProfile;
66
67
  'customer-profile-stats': CustomerProfileStat;
@@ -119,6 +120,11 @@ interface Config {
119
120
  'event-tags': EventTag;
120
121
  'event-occurrences': EventOccurrence;
121
122
  'event-registrations': EventRegistration;
123
+ 'membership-plans': MembershipPlan;
124
+ 'customer-payment-methods': CustomerPaymentMethod;
125
+ 'customer-memberships': CustomerMembership;
126
+ 'membership-charges': MembershipCharge;
127
+ 'tenant-payment-credentials': TenantPaymentCredential;
122
128
  'direct-upload-sessions': DirectUploadSession;
123
129
  forms: Form;
124
130
  'form-submissions': FormSubmission;
@@ -251,6 +257,7 @@ interface Config {
251
257
  'shipping-policies': ShippingPoliciesSelect<false> | ShippingPoliciesSelect<true>;
252
258
  'shipping-zones': ShippingZonesSelect<false> | ShippingZonesSelect<true>;
253
259
  'tenant-commerce-config': TenantCommerceConfigSelect<false> | TenantCommerceConfigSelect<true>;
260
+ markets: MarketsSelect<false> | MarketsSelect<true>;
254
261
  customers: CustomersSelect<false> | CustomersSelect<true>;
255
262
  'customer-profiles': CustomerProfilesSelect<false> | CustomerProfilesSelect<true>;
256
263
  'customer-profile-stats': CustomerProfileStatsSelect<false> | CustomerProfileStatsSelect<true>;
@@ -309,6 +316,11 @@ interface Config {
309
316
  'event-tags': EventTagsSelect<false> | EventTagsSelect<true>;
310
317
  'event-occurrences': EventOccurrencesSelect<false> | EventOccurrencesSelect<true>;
311
318
  'event-registrations': EventRegistrationsSelect<false> | EventRegistrationsSelect<true>;
319
+ 'membership-plans': MembershipPlansSelect<false> | MembershipPlansSelect<true>;
320
+ 'customer-payment-methods': CustomerPaymentMethodsSelect<false> | CustomerPaymentMethodsSelect<true>;
321
+ 'customer-memberships': CustomerMembershipsSelect<false> | CustomerMembershipsSelect<true>;
322
+ 'membership-charges': MembershipChargesSelect<false> | MembershipChargesSelect<true>;
323
+ 'tenant-payment-credentials': TenantPaymentCredentialsSelect<false> | TenantPaymentCredentialsSelect<true>;
312
324
  'direct-upload-sessions': DirectUploadSessionsSelect<false> | DirectUploadSessionsSelect<true>;
313
325
  forms: FormsSelect<false> | FormsSelect<true>;
314
326
  'form-submissions': FormSubmissionsSelect<false> | FormSubmissionsSelect<true>;
@@ -545,6 +557,10 @@ interface Tenant {
545
557
  draftPath?: string | null;
546
558
  id?: string | null;
547
559
  }[] | null;
560
+ /**
561
+ * Base currency for the tenant store.
562
+ */
563
+ shopCurrency?: string | null;
548
564
  /**
549
565
  * Tenant owner. Only the owner can delete the tenant or transfer ownership.
550
566
  */
@@ -552,7 +568,7 @@ interface Tenant {
552
568
  /**
553
569
  * Only features checked above will be enabled for this tenant.
554
570
  */
555
- enabledFeatures?: ('ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'articles' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community' | 'events')[] | null;
571
+ enabledFeatures?: ('ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'articles' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community' | 'events' | 'membership')[] | null;
556
572
  /**
557
573
  * Only selected relationship recipes are active for this tenant. Recipes whose required features are disabled keep their stored intent but remain inactive at runtime.
558
574
  */
@@ -562,7 +578,7 @@ interface Tenant {
562
578
  [k: string]: unknown;
563
579
  } | unknown[] | string | number | boolean | null;
564
580
  /**
565
- * Tenant status. Managed automatically.
581
+ * Tenant lifecycle status. Managed automatically.
566
582
  */
567
583
  status?: ('active' | 'paused' | 'past_due' | 'canceled' | 'pending_deletion') | null;
568
584
  /**
@@ -600,6 +616,14 @@ interface Tenant {
600
616
  * Allow customer email sends for this event.
601
617
  */
602
618
  returnRequested?: boolean | null;
619
+ /**
620
+ * Allow customer email sends for this event.
621
+ */
622
+ returnApproved?: boolean | null;
623
+ /**
624
+ * Allow customer email sends for this event.
625
+ */
626
+ returnRejected?: boolean | null;
603
627
  /**
604
628
  * Allow customer email sends for this event.
605
629
  */
@@ -853,7 +877,7 @@ interface EmailLog {
853
877
  * Commerce notification send audit metadata. Consent classification remains owned by recipientConsent.
854
878
  */
855
879
  commerceNotification?: {
856
- event?: ('orderPaid' | 'orderCanceled' | 'fulfillmentShipped' | 'orderDelivered' | 'returnRequested' | 'returnCompleted') | null;
880
+ event?: ('orderPaid' | 'orderCanceled' | 'fulfillmentShipped' | 'orderDelivered' | 'returnRequested' | 'returnApproved' | 'returnRejected' | 'returnCompleted') | null;
857
881
  intent?: (string | null) | CommerceNotificationIntent;
858
882
  dedupeKey?: string | null;
859
883
  order?: (string | null) | Order;
@@ -875,7 +899,7 @@ interface CommerceNotificationIntent {
875
899
  * Stable key that prevents duplicate notification intents within a tenant.
876
900
  */
877
901
  dedupeKey: string;
878
- event: 'orderPaid' | 'orderCanceled' | 'fulfillmentShipped' | 'orderDelivered' | 'returnRequested' | 'returnCompleted';
902
+ event: 'orderPaid' | 'orderCanceled' | 'fulfillmentShipped' | 'orderDelivered' | 'returnRequested' | 'returnApproved' | 'returnRejected' | 'returnCompleted';
879
903
  status: 'queued' | 'processing' | 'sent' | 'failed' | 'canceled';
880
904
  /**
881
905
  * Customer email address targeted by this notification.
@@ -1100,7 +1124,7 @@ interface Customer {
1100
1124
  defaultShippingAddress?: (string | null) | CustomerAddress;
1101
1125
  defaultBillingAddress?: (string | null) | CustomerAddress;
1102
1126
  /**
1103
- * Number of this customer's completed orders. Counted automatically.
1127
+ * Read-only number of this customer's completed orders. Counted automatically.
1104
1128
  */
1105
1129
  totalOrderCount?: number | null;
1106
1130
  lifetimeValue?: number | null;
@@ -1312,7 +1336,7 @@ interface CustomerProfile {
1312
1336
  tenant?: (string | null) | Tenant;
1313
1337
  customer: string | Customer;
1314
1338
  /**
1315
- * Public username shown like @01works. Must be unique within the workspace.
1339
+ * Public username shown like @01works. Store 3-30 characters without @, using lowercase ASCII letters, numbers, hyphens, or underscores, and keep it unique within the tenant.
1316
1340
  */
1317
1341
  handle?: string | null;
1318
1342
  displayName?: string | null;
@@ -1459,6 +1483,10 @@ interface Product {
1459
1483
  * Brand used for storefront filtering.
1460
1484
  */
1461
1485
  brand?: (string | null) | Brand;
1486
+ /**
1487
+ * Markets where this product is available. Leave empty to exclude it from market-aware catalogs.
1488
+ */
1489
+ markets?: (string | Market)[] | null;
1462
1490
  /**
1463
1491
  * Shipping policy for this product.
1464
1492
  */
@@ -1551,13 +1579,9 @@ interface Product {
1551
1579
  */
1552
1580
  slug?: string | null;
1553
1581
  /**
1554
- * Publication status for this product.
1582
+ * Publication status for this product. Unlisted hides the product from listings while keeping detail lookup available.
1555
1583
  */
1556
- status?: ('draft' | 'published' | 'archived') | null;
1557
- /**
1558
- * Controls whether this product appears in listings and detail pages.
1559
- */
1560
- storefrontVisibility?: ('listed' | 'unlisted' | 'hidden') | null;
1584
+ status?: ('draft' | 'published' | 'unlisted' | 'archived') | null;
1561
1585
  /**
1562
1586
  * Automatically enabled when no variant is sellable.
1563
1587
  */
@@ -2008,6 +2032,10 @@ interface Return {
2008
2032
  * Reason category for the return or refund request. Used for reporting and operations.
2009
2033
  */
2010
2034
  reason?: ('change_of_mind' | 'defective' | 'wrong_delivery' | 'damaged' | 'other') | null;
2035
+ /**
2036
+ * Structured return rejection reason code, set automatically on rejection and used in the customer notification.
2037
+ */
2038
+ rejectionReasonCode?: ('window_expired' | 'used_or_damaged' | 'non_returnable' | 'other') | null;
2011
2039
  /**
2012
2040
  * Detailed return reason
2013
2041
  */
@@ -2421,6 +2449,28 @@ interface BrandLogo {
2421
2449
  };
2422
2450
  };
2423
2451
  }
2452
+ /**
2453
+ * Manage selling countries, base currencies, and product availability.
2454
+ *
2455
+ * This interface was referenced by `Config`'s JSON-Schema
2456
+ * via the `definition` "markets".
2457
+ */
2458
+ interface Market {
2459
+ id: string;
2460
+ tenant?: (string | null) | Tenant;
2461
+ name: string;
2462
+ handle: string;
2463
+ countryCode: 'KR' | 'US';
2464
+ currency: 'KRW' | 'USD';
2465
+ isPrimary?: boolean | null;
2466
+ isActive?: boolean | null;
2467
+ metadata?: {
2468
+ [k: string]: unknown;
2469
+ } | unknown[] | string | number | boolean | null;
2470
+ updatedAt: string;
2471
+ createdAt: string;
2472
+ deletedAt?: string | null;
2473
+ }
2424
2474
  /**
2425
2475
  * Manage shipping fee rules and default shipping policies.
2426
2476
  *
@@ -2773,21 +2823,21 @@ interface ApiKey {
2773
2823
  */
2774
2824
  scopes?: ('read' | 'write' | 'webhook' | 'analytics' | 'super-admin')[] | null;
2775
2825
  /**
2776
- * User who issued the key.
2826
+ * User who issued the key for audit traceability.
2777
2827
  */
2778
2828
  createdBy?: (string | null) | User;
2779
2829
  /**
2780
- * IP address of the key creation request.
2830
+ * Privacy-bearing IP address of the key creation request.
2781
2831
  */
2782
2832
  createdByIp?: string | null;
2783
2833
  lastUsedAt?: string | null;
2784
2834
  /**
2785
- * Last IP address that used the key.
2835
+ * Privacy-bearing last IP address that used the key.
2786
2836
  */
2787
2837
  lastUsedIp?: string | null;
2788
2838
  revokedAt?: string | null;
2789
2839
  /**
2790
- * User who revoked the key.
2840
+ * User who revoked the key for audit traceability.
2791
2841
  */
2792
2842
  revokedBy?: (string | null) | User;
2793
2843
  /**
@@ -2823,17 +2873,17 @@ interface PersonalAccessToken {
2823
2873
  */
2824
2874
  defaultTenant?: string | null;
2825
2875
  /**
2826
- * IP address of the PAT creation request.
2876
+ * Privacy-bearing IP address of the PAT creation request.
2827
2877
  */
2828
2878
  createdByIp?: string | null;
2829
2879
  lastUsedAt?: string | null;
2830
2880
  /**
2831
- * Last IP address that used the PAT.
2881
+ * Privacy-bearing last IP address that used the PAT.
2832
2882
  */
2833
2883
  lastUsedIp?: string | null;
2834
2884
  revokedAt?: string | null;
2835
2885
  /**
2836
- * User who revoked the PAT.
2886
+ * User who revoked the PAT for audit traceability.
2837
2887
  */
2838
2888
  revokedBy?: (string | null) | User;
2839
2889
  /**
@@ -3004,7 +3054,7 @@ interface Webhook {
3004
3054
  /**
3005
3055
  * Receives create/update events for this collection.
3006
3056
  */
3007
- collection: 'tenant-metadata' | 'tenant-logos' | 'images' | 'products' | 'product-variants' | 'product-options' | 'product-option-values' | 'product-categories' | 'product-tags' | 'product-collections' | 'brands' | 'brand-logos' | 'orders' | 'order-items' | 'transactions' | 'fulfillment-orders' | 'fulfillment-order-items' | 'fulfillments' | 'fulfillment-items' | 'returns' | 'return-items' | 'carts' | 'cart-items' | 'discounts' | 'shipping-policies' | 'shipping-zones' | 'customers' | 'customer-profiles' | 'customer-addresses' | 'playlists' | 'playlist-categories' | 'playlist-tags' | 'tracks' | 'track-categories' | 'track-tags' | 'galleries' | 'gallery-items' | 'gallery-categories' | 'gallery-tags' | 'links' | 'link-categories' | 'link-tags' | 'forms' | 'form-submissions' | 'articles' | 'article-authors' | 'article-categories' | 'article-tags' | 'documents' | 'document-categories' | 'document-types' | 'canvases' | 'canvas-node-types' | 'canvas-edge-types' | 'canvas-categories' | 'canvas-tags' | 'videos' | 'video-categories' | 'video-tags' | 'live-streams' | 'posts' | 'comments' | 'reactions' | 'reaction-types' | 'bookmarks' | 'post-categories' | 'post-tags' | 'customer-profile-stats' | 'customer-profile-lists' | 'event-calendars' | 'events' | 'event-categories' | 'event-occurrences' | 'event-tags' | 'canvas-nodes' | 'canvas-edges';
3057
+ collection: 'tenant-metadata' | 'tenant-logos' | 'images' | 'products' | 'product-variants' | 'product-options' | 'product-option-values' | 'product-categories' | 'product-tags' | 'product-collections' | 'markets' | 'brands' | 'brand-logos' | 'orders' | 'order-items' | 'transactions' | 'fulfillment-orders' | 'fulfillment-order-items' | 'fulfillments' | 'fulfillment-items' | 'returns' | 'return-items' | 'carts' | 'cart-items' | 'discounts' | 'shipping-policies' | 'shipping-zones' | 'customers' | 'customer-profiles' | 'customer-addresses' | 'playlists' | 'playlist-categories' | 'playlist-tags' | 'tracks' | 'track-categories' | 'track-tags' | 'galleries' | 'gallery-items' | 'gallery-categories' | 'gallery-tags' | 'links' | 'link-categories' | 'link-tags' | 'forms' | 'form-submissions' | 'articles' | 'article-authors' | 'article-categories' | 'article-tags' | 'documents' | 'document-categories' | 'document-types' | 'canvases' | 'canvas-node-types' | 'canvas-edge-types' | 'canvas-categories' | 'canvas-tags' | 'videos' | 'video-categories' | 'video-tags' | 'live-streams' | 'posts' | 'comments' | 'reactions' | 'reaction-types' | 'bookmarks' | 'post-categories' | 'post-tags' | 'customer-profile-stats' | 'customer-profile-lists' | 'event-calendars' | 'events' | 'event-categories' | 'event-occurrences' | 'event-tags' | 'membership-plans' | 'canvas-nodes' | 'canvas-edges';
3008
3058
  id?: string | null;
3009
3059
  }[] | null;
3010
3060
  isActive?: boolean | null;
@@ -3296,7 +3346,7 @@ interface TenantEntitlement {
3296
3346
  priority: number;
3297
3347
  startsAt: string;
3298
3348
  /**
3299
- * Entitlement end date. Required for promo / trial sources.
3349
+ * Entitlement end date. Hook validation requires it for promo / trial sources.
3300
3350
  */
3301
3351
  endsAt?: string | null;
3302
3352
  reason?: string | null;
@@ -3452,7 +3502,7 @@ interface Plan {
3452
3502
  /**
3453
3503
  * Reference-only feature list; enforced elsewhere.
3454
3504
  */
3455
- featuresAllowed?: ('ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'articles' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community' | 'events')[] | null;
3505
+ featuresAllowed?: ('ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'articles' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community' | 'events' | 'membership')[] | null;
3456
3506
  /**
3457
3507
  * Reference-only quotas such as storageBytes; enforced by entitlement and usage policy elsewhere.
3458
3508
  */
@@ -3891,6 +3941,10 @@ interface CartItem {
3891
3941
  * Price at the time of adding to cart
3892
3942
  */
3893
3943
  unitPrice: number;
3944
+ /**
3945
+ * Shipping requirement snapshot from the time this line was added to the cart.
3946
+ */
3947
+ requiresShipping?: boolean | null;
3894
3948
  /**
3895
3949
  * Header discount allocated to this line. Calculated automatically.
3896
3950
  */
@@ -3931,6 +3985,10 @@ interface CheckoutItem {
3931
3985
  */
3932
3986
  unitPrice: number;
3933
3987
  totalPrice: number;
3988
+ /**
3989
+ * Shipping requirement snapshot from the time this checkout line was created.
3990
+ */
3991
+ requiresShipping?: boolean | null;
3934
3992
  discountAllocation?: number | null;
3935
3993
  discountedUnitPrice?: number | null;
3936
3994
  discountedTotalPrice?: number | null;
@@ -4039,6 +4097,10 @@ interface TenantCommerceConfig {
4039
4097
  multiReturnInitialShippingRefund?: 'once_only' | null;
4040
4098
  legacyOrderPolicyMode?: 'shipping_amount_manual_cap' | null;
4041
4099
  };
4100
+ /**
4101
+ * Non-shipping workspaces hide shipping setup, notifications, and order-view copy, and new variants start as non-shipping.
4102
+ */
4103
+ fulfillmentMode?: ('shipping' | 'none') | null;
4042
4104
  /**
4043
4105
  * Reusable option name and value lists for the Product Editor. Up to 20 presets.
4044
4106
  */
@@ -4082,15 +4144,15 @@ interface CustomerProfileStat {
4082
4144
  tenant?: (string | null) | Tenant;
4083
4145
  profile: string | CustomerProfile;
4084
4146
  /**
4085
- * Number of community posts authored by this profile. Counted automatically.
4147
+ * Read-only number of community posts authored by this profile. Counted automatically.
4086
4148
  */
4087
4149
  postCount?: number | null;
4088
4150
  /**
4089
- * Number of community comments authored by this profile. Counted automatically.
4151
+ * Read-only number of community comments authored by this profile. Counted automatically.
4090
4152
  */
4091
4153
  commentCount?: number | null;
4092
4154
  /**
4093
- * Number of community reactions made by this profile. Counted automatically.
4155
+ * Read-only number of community reactions made by this profile. Counted automatically.
4094
4156
  */
4095
4157
  reactionCount?: number | null;
4096
4158
  }
@@ -5588,11 +5650,11 @@ interface Post {
5588
5650
  */
5589
5651
  viewCount?: number | null;
5590
5652
  /**
5591
- * Number of comments on this post. Counted automatically.
5653
+ * Read-only number of comments on this post. Counted automatically.
5592
5654
  */
5593
5655
  commentCount?: number | null;
5594
5656
  /**
5595
- * Number of reactions on this post. Counted automatically.
5657
+ * Read-only number of reactions on this post. Counted automatically.
5596
5658
  */
5597
5659
  reactionCount?: number | null;
5598
5660
  /**
@@ -5726,7 +5788,7 @@ interface Comment {
5726
5788
  editedAt?: string | null;
5727
5789
  isEdited?: boolean | null;
5728
5790
  /**
5729
- * Number of reactions on this comment. Counted automatically.
5791
+ * Read-only number of reactions on this comment. Counted automatically.
5730
5792
  */
5731
5793
  reactionCount?: number | null;
5732
5794
  /**
@@ -5734,7 +5796,7 @@ interface Comment {
5734
5796
  */
5735
5797
  reportCount?: number | null;
5736
5798
  /**
5737
- * Number of replies to this comment. Counted automatically.
5799
+ * Read-only number of replies to this comment. Counted automatically.
5738
5800
  */
5739
5801
  replyCount?: number | null;
5740
5802
  metadata?: {
@@ -5864,7 +5926,6 @@ interface CommunityBan {
5864
5926
  */
5865
5927
  interface EventCalendar {
5866
5928
  id: string;
5867
- _order?: string | null;
5868
5929
  tenant?: (string | null) | Tenant;
5869
5930
  title?: string | null;
5870
5931
  /**
@@ -6134,6 +6195,9 @@ interface Event {
6134
6195
  */
6135
6196
  generateSlug?: boolean | null;
6136
6197
  slug?: string | null;
6198
+ /**
6199
+ * Only published events are public API and occurrence materialization candidates. Archived is an operator archive state; canceled marks a canceled event.
6200
+ */
6137
6201
  status?: ('draft' | 'published' | 'archived' | 'canceled') | null;
6138
6202
  coverImage?: (string | null) | Image;
6139
6203
  /**
@@ -6250,6 +6314,9 @@ interface EventOccurrence {
6250
6314
  * Occurrence end time.
6251
6315
  */
6252
6316
  endsAt: string;
6317
+ /**
6318
+ * IANA time zone used for occurrence identity. Existing occurrences cannot change it.
6319
+ */
6253
6320
  timezone?: string | null;
6254
6321
  isAllDay?: boolean | null;
6255
6322
  status?: ('scheduled' | 'canceled' | 'completed') | null;
@@ -6340,7 +6407,7 @@ interface EventRegistration {
6340
6407
  phone?: string | null;
6341
6408
  };
6342
6409
  /**
6343
- * Internal attendee email. This is PII and is hidden from publishable-key reads.
6410
+ * Internal attendee email PII. Duplicates the registration-time snapshot email for search/listing and is hidden from publishable-key reads.
6344
6411
  */
6345
6412
  attendeeEmail?: string | null;
6346
6413
  /**
@@ -6382,7 +6449,7 @@ interface EventRegistration {
6382
6449
  */
6383
6450
  guestTokenExpiresAt?: string | null;
6384
6451
  /**
6385
- * Retention deadline for attendee PII. Cleanup may redact PII after this timestamp.
6452
+ * Retention deadline for attendee PII. Owned by retention cleanup, which may redact PII after this timestamp.
6386
6453
  */
6387
6454
  piiRetentionUntil?: string | null;
6388
6455
  /**
@@ -6396,6 +6463,164 @@ interface EventRegistration {
6396
6463
  createdAt: string;
6397
6464
  deletedAt?: string | null;
6398
6465
  }
6466
+ /**
6467
+ * Manage paid membership plans and billing intervals.
6468
+ *
6469
+ * This interface was referenced by `Config`'s JSON-Schema
6470
+ * via the `definition` "membership-plans".
6471
+ */
6472
+ interface MembershipPlan {
6473
+ id: string;
6474
+ _order?: string | null;
6475
+ tenant?: (string | null) | Tenant;
6476
+ title?: string | null;
6477
+ /**
6478
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
6479
+ */
6480
+ generateSlug?: boolean | null;
6481
+ slug?: string | null;
6482
+ /**
6483
+ * Short summary for listing/cards
6484
+ */
6485
+ description?: string | null;
6486
+ /**
6487
+ * Charge amount (integer minor unit of currency)
6488
+ */
6489
+ price: number;
6490
+ currency: 'KRW' | 'USD' | 'EUR' | 'JPY';
6491
+ billingInterval: 'month' | 'year';
6492
+ /**
6493
+ * e.g. quarterly = month × 3
6494
+ */
6495
+ intervalCount: number;
6496
+ /**
6497
+ * Free trial days (optional)
6498
+ */
6499
+ trialDays?: number | null;
6500
+ /**
6501
+ * Customer group active members are auto-added to (benefit join point)
6502
+ */
6503
+ memberGroup: string | CustomerGroup;
6504
+ isActive?: boolean | null;
6505
+ displayOrder?: number | null;
6506
+ publicTitle?: string | null;
6507
+ publicDescription?: string | null;
6508
+ updatedAt: string;
6509
+ createdAt: string;
6510
+ deletedAt?: string | null;
6511
+ }
6512
+ /**
6513
+ * This interface was referenced by `Config`'s JSON-Schema
6514
+ * via the `definition` "customer-payment-methods".
6515
+ */
6516
+ interface CustomerPaymentMethod {
6517
+ id: string;
6518
+ tenant?: (string | null) | Tenant;
6519
+ customer: string | Customer;
6520
+ provider: string;
6521
+ /**
6522
+ * Pinned at issuance; the cron resolves the adapter from this
6523
+ */
6524
+ mode: 'connect' | 'backend-charge' | 'delegated';
6525
+ /**
6526
+ * Encrypted payment token (written in P2)
6527
+ */
6528
+ token?: string | null;
6529
+ customerRef?: string | null;
6530
+ connectedAccountRef?: string | null;
6531
+ submallRef?: string | null;
6532
+ channelRef?: string | null;
6533
+ card?: {
6534
+ last4?: string | null;
6535
+ brand?: string | null;
6536
+ };
6537
+ status: 'active' | 'revoked';
6538
+ revokedAt?: string | null;
6539
+ updatedAt: string;
6540
+ createdAt: string;
6541
+ deletedAt?: string | null;
6542
+ }
6543
+ /**
6544
+ * Review customer membership status and renewal schedules.
6545
+ *
6546
+ * This interface was referenced by `Config`'s JSON-Schema
6547
+ * via the `definition` "customer-memberships".
6548
+ */
6549
+ interface CustomerMembership {
6550
+ id: string;
6551
+ tenant?: (string | null) | Tenant;
6552
+ customer: string | Customer;
6553
+ plan: string | MembershipPlan;
6554
+ paymentMethod?: (string | null) | CustomerPaymentMethod;
6555
+ status: 'incomplete' | 'trialing' | 'active' | 'past_due' | 'cancelled' | 'expired';
6556
+ /**
6557
+ * Price snapshot at subscribe (renewals charge this)
6558
+ */
6559
+ amount?: number | null;
6560
+ currency?: ('KRW' | 'USD' | 'EUR' | 'JPY') | null;
6561
+ currentPeriodStart?: string | null;
6562
+ currentPeriodEnd?: string | null;
6563
+ nextBillingAt?: string | null;
6564
+ nextRetryAt?: string | null;
6565
+ cancelAtPeriodEnd?: boolean | null;
6566
+ startedAt?: string | null;
6567
+ cancelledAt?: string | null;
6568
+ pastDueAt?: string | null;
6569
+ failureCount?: number | null;
6570
+ /**
6571
+ * First-charge idempotency anchor (unique index added in migration)
6572
+ */
6573
+ subscribeIntentKey?: string | null;
6574
+ updatedAt: string;
6575
+ createdAt: string;
6576
+ deletedAt?: string | null;
6577
+ }
6578
+ /**
6579
+ * This interface was referenced by `Config`'s JSON-Schema
6580
+ * via the `definition` "membership-charges".
6581
+ */
6582
+ interface MembershipCharge {
6583
+ id: string;
6584
+ tenant?: (string | null) | Tenant;
6585
+ membership: string | CustomerMembership;
6586
+ customer?: (string | null) | Customer;
6587
+ amount: number;
6588
+ currency: 'KRW' | 'USD' | 'EUR' | 'JPY';
6589
+ status: 'pending' | 'paid' | 'failed' | 'refunded' | 'voided' | 'disputed';
6590
+ refundedAmount?: number | null;
6591
+ pgPaymentId?: string | null;
6592
+ pgRefundId?: string | null;
6593
+ pgProvider?: string | null;
6594
+ periodStart: string;
6595
+ periodEnd?: string | null;
6596
+ paidAt?: string | null;
6597
+ idempotencyKey?: string | null;
6598
+ updatedAt: string;
6599
+ createdAt: string;
6600
+ }
6601
+ /**
6602
+ * This interface was referenced by `Config`'s JSON-Schema
6603
+ * via the `definition` "tenant-payment-credentials".
6604
+ */
6605
+ interface TenantPaymentCredential {
6606
+ id: string;
6607
+ tenant?: (string | null) | Tenant;
6608
+ provider: string;
6609
+ mode: 'connect' | 'backend-charge' | 'delegated';
6610
+ connectedAccountRef?: string | null;
6611
+ submallRef?: string | null;
6612
+ secretKey?: string | null;
6613
+ clientKey?: string | null;
6614
+ storeId?: string | null;
6615
+ channelKey?: string | null;
6616
+ webhookSecret?: string | null;
6617
+ delegateChargeUrl?: string | null;
6618
+ isActive?: boolean | null;
6619
+ connectedAt?: string | null;
6620
+ updatedAt: string;
6621
+ createdAt: string;
6622
+ deletedAt?: string | null;
6623
+ }
6399
6624
  /**
6400
6625
  * This interface was referenced by `Config`'s JSON-Schema
6401
6626
  * via the `definition` "direct-upload-sessions".
@@ -7025,6 +7250,7 @@ interface TenantsSelect<T extends boolean = true> {
7025
7250
  draftPath?: T;
7026
7251
  id?: T;
7027
7252
  };
7253
+ shopCurrency?: T;
7028
7254
  owner?: T;
7029
7255
  enabledFeatures?: T;
7030
7256
  enabledRelationshipRecipes?: T;
@@ -7042,6 +7268,8 @@ interface TenantsSelect<T extends boolean = true> {
7042
7268
  fulfillmentShipped?: T;
7043
7269
  orderDelivered?: T;
7044
7270
  returnRequested?: T;
7271
+ returnApproved?: T;
7272
+ returnRejected?: T;
7045
7273
  returnCompleted?: T;
7046
7274
  senderDisplayName?: T;
7047
7275
  senderReplyTo?: T;
@@ -7520,6 +7748,7 @@ interface ProductsSelect<T extends boolean = true> {
7520
7748
  categories?: T;
7521
7749
  tags?: T;
7522
7750
  brand?: T;
7751
+ markets?: T;
7523
7752
  shippingPolicy?: T;
7524
7753
  weight?: T;
7525
7754
  vendor?: T;
@@ -7560,7 +7789,6 @@ interface ProductsSelect<T extends boolean = true> {
7560
7789
  generateSlug?: T;
7561
7790
  slug?: T;
7562
7791
  status?: T;
7563
- storefrontVisibility?: T;
7564
7792
  isSoldOut?: T;
7565
7793
  isFeatured?: T;
7566
7794
  publishedAt?: T;
@@ -8137,6 +8365,7 @@ interface ReturnsSelect<T extends boolean = true> {
8137
8365
  exchangeOrder?: T;
8138
8366
  status?: T;
8139
8367
  reason?: T;
8368
+ rejectionReasonCode?: T;
8140
8369
  reasonDetail?: T;
8141
8370
  items?: T;
8142
8371
  adminNotes?: T;
@@ -8252,6 +8481,7 @@ interface TenantCommerceConfigSelect<T extends boolean = true> {
8252
8481
  multiReturnInitialShippingRefund?: T;
8253
8482
  legacyOrderPolicyMode?: T;
8254
8483
  };
8484
+ fulfillmentMode?: T;
8255
8485
  optionPresets?: T | {
8256
8486
  name?: T;
8257
8487
  options?: T | {
@@ -8268,6 +8498,23 @@ interface TenantCommerceConfigSelect<T extends boolean = true> {
8268
8498
  createdAt?: T;
8269
8499
  deletedAt?: T;
8270
8500
  }
8501
+ /**
8502
+ * This interface was referenced by `Config`'s JSON-Schema
8503
+ * via the `definition` "markets_select".
8504
+ */
8505
+ interface MarketsSelect<T extends boolean = true> {
8506
+ tenant?: T;
8507
+ name?: T;
8508
+ handle?: T;
8509
+ countryCode?: T;
8510
+ currency?: T;
8511
+ isPrimary?: T;
8512
+ isActive?: T;
8513
+ metadata?: T;
8514
+ updatedAt?: T;
8515
+ createdAt?: T;
8516
+ deletedAt?: T;
8517
+ }
8271
8518
  /**
8272
8519
  * This interface was referenced by `Config`'s JSON-Schema
8273
8520
  * via the `definition` "customers_select".
@@ -8502,6 +8749,7 @@ interface CartItemsSelect<T extends boolean = true> {
8502
8749
  variant?: T;
8503
8750
  quantity?: T;
8504
8751
  unitPrice?: T;
8752
+ requiresShipping?: T;
8505
8753
  discountAllocation?: T;
8506
8754
  discountedUnitPrice?: T;
8507
8755
  discountedTotalPrice?: T;
@@ -8567,6 +8815,7 @@ interface CheckoutItemsSelect<T extends boolean = true> {
8567
8815
  optionSelection?: T;
8568
8816
  unitPrice?: T;
8569
8817
  totalPrice?: T;
8818
+ requiresShipping?: T;
8570
8819
  discountAllocation?: T;
8571
8820
  discountedUnitPrice?: T;
8572
8821
  discountedTotalPrice?: T;
@@ -9611,7 +9860,6 @@ interface CommunityBansSelect<T extends boolean = true> {
9611
9860
  * via the `definition` "event-calendars_select".
9612
9861
  */
9613
9862
  interface EventCalendarsSelect<T extends boolean = true> {
9614
- _order?: T;
9615
9863
  tenant?: T;
9616
9864
  title?: T;
9617
9865
  subtitle?: T;
@@ -9844,6 +10092,125 @@ interface EventRegistrationsSelect<T extends boolean = true> {
9844
10092
  createdAt?: T;
9845
10093
  deletedAt?: T;
9846
10094
  }
10095
+ /**
10096
+ * This interface was referenced by `Config`'s JSON-Schema
10097
+ * via the `definition` "membership-plans_select".
10098
+ */
10099
+ interface MembershipPlansSelect<T extends boolean = true> {
10100
+ _order?: T;
10101
+ tenant?: T;
10102
+ title?: T;
10103
+ generateSlug?: T;
10104
+ slug?: T;
10105
+ description?: T;
10106
+ price?: T;
10107
+ currency?: T;
10108
+ billingInterval?: T;
10109
+ intervalCount?: T;
10110
+ trialDays?: T;
10111
+ memberGroup?: T;
10112
+ isActive?: T;
10113
+ displayOrder?: T;
10114
+ publicTitle?: T;
10115
+ publicDescription?: T;
10116
+ updatedAt?: T;
10117
+ createdAt?: T;
10118
+ deletedAt?: T;
10119
+ }
10120
+ /**
10121
+ * This interface was referenced by `Config`'s JSON-Schema
10122
+ * via the `definition` "customer-payment-methods_select".
10123
+ */
10124
+ interface CustomerPaymentMethodsSelect<T extends boolean = true> {
10125
+ tenant?: T;
10126
+ customer?: T;
10127
+ provider?: T;
10128
+ mode?: T;
10129
+ token?: T;
10130
+ customerRef?: T;
10131
+ connectedAccountRef?: T;
10132
+ submallRef?: T;
10133
+ channelRef?: T;
10134
+ card?: T | {
10135
+ last4?: T;
10136
+ brand?: T;
10137
+ };
10138
+ status?: T;
10139
+ revokedAt?: T;
10140
+ updatedAt?: T;
10141
+ createdAt?: T;
10142
+ deletedAt?: T;
10143
+ }
10144
+ /**
10145
+ * This interface was referenced by `Config`'s JSON-Schema
10146
+ * via the `definition` "customer-memberships_select".
10147
+ */
10148
+ interface CustomerMembershipsSelect<T extends boolean = true> {
10149
+ tenant?: T;
10150
+ customer?: T;
10151
+ plan?: T;
10152
+ paymentMethod?: T;
10153
+ status?: T;
10154
+ amount?: T;
10155
+ currency?: T;
10156
+ currentPeriodStart?: T;
10157
+ currentPeriodEnd?: T;
10158
+ nextBillingAt?: T;
10159
+ nextRetryAt?: T;
10160
+ cancelAtPeriodEnd?: T;
10161
+ startedAt?: T;
10162
+ cancelledAt?: T;
10163
+ pastDueAt?: T;
10164
+ failureCount?: T;
10165
+ subscribeIntentKey?: T;
10166
+ updatedAt?: T;
10167
+ createdAt?: T;
10168
+ deletedAt?: T;
10169
+ }
10170
+ /**
10171
+ * This interface was referenced by `Config`'s JSON-Schema
10172
+ * via the `definition` "membership-charges_select".
10173
+ */
10174
+ interface MembershipChargesSelect<T extends boolean = true> {
10175
+ tenant?: T;
10176
+ membership?: T;
10177
+ customer?: T;
10178
+ amount?: T;
10179
+ currency?: T;
10180
+ status?: T;
10181
+ refundedAmount?: T;
10182
+ pgPaymentId?: T;
10183
+ pgRefundId?: T;
10184
+ pgProvider?: T;
10185
+ periodStart?: T;
10186
+ periodEnd?: T;
10187
+ paidAt?: T;
10188
+ idempotencyKey?: T;
10189
+ updatedAt?: T;
10190
+ createdAt?: T;
10191
+ }
10192
+ /**
10193
+ * This interface was referenced by `Config`'s JSON-Schema
10194
+ * via the `definition` "tenant-payment-credentials_select".
10195
+ */
10196
+ interface TenantPaymentCredentialsSelect<T extends boolean = true> {
10197
+ tenant?: T;
10198
+ provider?: T;
10199
+ mode?: T;
10200
+ connectedAccountRef?: T;
10201
+ submallRef?: T;
10202
+ secretKey?: T;
10203
+ clientKey?: T;
10204
+ storeId?: T;
10205
+ channelKey?: T;
10206
+ webhookSecret?: T;
10207
+ delegateChargeUrl?: T;
10208
+ isActive?: T;
10209
+ connectedAt?: T;
10210
+ updatedAt?: T;
10211
+ createdAt?: T;
10212
+ deletedAt?: T;
10213
+ }
9847
10214
  /**
9848
10215
  * This interface was referenced by `Config`'s JSON-Schema
9849
10216
  * via the `definition` "direct-upload-sessions_select".