@01.software/sdk 0.17.0 → 0.19.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.
@@ -22,8 +22,6 @@ interface Config {
22
22
  'webhook-deliveries': WebhookDelivery;
23
23
  tenants: Tenant;
24
24
  'tenant-metadata': TenantMetadatum;
25
- 'tenant-auth-settings': TenantAuthSetting;
26
- 'tenant-community-settings': TenantCommunitySetting;
27
25
  'api-usage': ApiUsage;
28
26
  'tenant-analytics-daily': TenantAnalyticsDaily;
29
27
  'analytics-event-schemas': AnalyticsEventSchema;
@@ -59,10 +57,10 @@ interface Config {
59
57
  'cart-items': CartItem;
60
58
  discounts: Discount;
61
59
  promotions: Promotion;
62
- posts: Post;
63
- 'post-authors': PostAuthor;
64
- 'post-categories': PostCategory;
65
- 'post-tags': PostTag;
60
+ articles: Article;
61
+ 'article-authors': ArticleAuthor;
62
+ 'article-categories': ArticleCategory;
63
+ 'article-tags': ArticleTag;
66
64
  documents: Document;
67
65
  'document-categories': DocumentCategory;
68
66
  'document-types': DocumentType;
@@ -91,14 +89,19 @@ interface Config {
91
89
  'video-categories': VideoCategory;
92
90
  'video-tags': VideoTag;
93
91
  'live-streams': LiveStream;
94
- threads: Thread;
92
+ posts: Post;
95
93
  comments: Comment;
96
94
  reactions: Reaction;
97
95
  'reaction-types': ReactionType;
98
96
  bookmarks: Bookmark;
99
- 'thread-categories': ThreadCategory;
97
+ 'post-categories': PostCategory;
100
98
  reports: Report;
101
99
  'community-bans': CommunityBan;
100
+ 'event-calendars': EventCalendar;
101
+ events: Event;
102
+ 'event-tags': EventTag;
103
+ 'event-occurrences': EventOccurrence;
104
+ 'event-registrations': EventRegistration;
102
105
  forms: Form;
103
106
  'form-submissions': FormSubmission;
104
107
  'payload-kv': PayloadKv;
@@ -141,13 +144,13 @@ interface Config {
141
144
  carts: {
142
145
  items: 'cart-items';
143
146
  };
144
- 'post-authors': {
145
- posts: 'posts';
147
+ 'article-authors': {
148
+ articles: 'articles';
146
149
  };
147
150
  galleries: {
148
151
  items: 'gallery-items';
149
152
  };
150
- threads: {
153
+ posts: {
151
154
  comments: 'comments';
152
155
  };
153
156
  };
@@ -165,8 +168,6 @@ interface Config {
165
168
  'webhook-deliveries': WebhookDeliveriesSelect<false> | WebhookDeliveriesSelect<true>;
166
169
  tenants: TenantsSelect<false> | TenantsSelect<true>;
167
170
  'tenant-metadata': TenantMetadataSelect<false> | TenantMetadataSelect<true>;
168
- 'tenant-auth-settings': TenantAuthSettingsSelect<false> | TenantAuthSettingsSelect<true>;
169
- 'tenant-community-settings': TenantCommunitySettingsSelect<false> | TenantCommunitySettingsSelect<true>;
170
171
  'api-usage': ApiUsageSelect<false> | ApiUsageSelect<true>;
171
172
  'tenant-analytics-daily': TenantAnalyticsDailySelect<false> | TenantAnalyticsDailySelect<true>;
172
173
  'analytics-event-schemas': AnalyticsEventSchemasSelect<false> | AnalyticsEventSchemasSelect<true>;
@@ -202,10 +203,10 @@ interface Config {
202
203
  'cart-items': CartItemsSelect<false> | CartItemsSelect<true>;
203
204
  discounts: DiscountsSelect<false> | DiscountsSelect<true>;
204
205
  promotions: PromotionsSelect<false> | PromotionsSelect<true>;
205
- posts: PostsSelect<false> | PostsSelect<true>;
206
- 'post-authors': PostAuthorsSelect<false> | PostAuthorsSelect<true>;
207
- 'post-categories': PostCategoriesSelect<false> | PostCategoriesSelect<true>;
208
- 'post-tags': PostTagsSelect<false> | PostTagsSelect<true>;
206
+ articles: ArticlesSelect<false> | ArticlesSelect<true>;
207
+ 'article-authors': ArticleAuthorsSelect<false> | ArticleAuthorsSelect<true>;
208
+ 'article-categories': ArticleCategoriesSelect<false> | ArticleCategoriesSelect<true>;
209
+ 'article-tags': ArticleTagsSelect<false> | ArticleTagsSelect<true>;
209
210
  documents: DocumentsSelect<false> | DocumentsSelect<true>;
210
211
  'document-categories': DocumentCategoriesSelect<false> | DocumentCategoriesSelect<true>;
211
212
  'document-types': DocumentTypesSelect<false> | DocumentTypesSelect<true>;
@@ -234,14 +235,19 @@ interface Config {
234
235
  'video-categories': VideoCategoriesSelect<false> | VideoCategoriesSelect<true>;
235
236
  'video-tags': VideoTagsSelect<false> | VideoTagsSelect<true>;
236
237
  'live-streams': LiveStreamsSelect<false> | LiveStreamsSelect<true>;
237
- threads: ThreadsSelect<false> | ThreadsSelect<true>;
238
+ posts: PostsSelect<false> | PostsSelect<true>;
238
239
  comments: CommentsSelect<false> | CommentsSelect<true>;
239
240
  reactions: ReactionsSelect<false> | ReactionsSelect<true>;
240
241
  'reaction-types': ReactionTypesSelect<false> | ReactionTypesSelect<true>;
241
242
  bookmarks: BookmarksSelect<false> | BookmarksSelect<true>;
242
- 'thread-categories': ThreadCategoriesSelect<false> | ThreadCategoriesSelect<true>;
243
+ 'post-categories': PostCategoriesSelect<false> | PostCategoriesSelect<true>;
243
244
  reports: ReportsSelect<false> | ReportsSelect<true>;
244
245
  'community-bans': CommunityBansSelect<false> | CommunityBansSelect<true>;
246
+ 'event-calendars': EventCalendarsSelect<false> | EventCalendarsSelect<true>;
247
+ events: EventsSelect<false> | EventsSelect<true>;
248
+ 'event-tags': EventTagsSelect<false> | EventTagsSelect<true>;
249
+ 'event-occurrences': EventOccurrencesSelect<false> | EventOccurrencesSelect<true>;
250
+ 'event-registrations': EventRegistrationsSelect<false> | EventRegistrationsSelect<true>;
245
251
  forms: FormsSelect<false> | FormsSelect<true>;
246
252
  'form-submissions': FormSubmissionsSelect<false> | FormSubmissionsSelect<true>;
247
253
  'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
@@ -352,6 +358,9 @@ interface User {
352
358
  emailPreferences?: {
353
359
  acceptsUsageAlerts?: boolean | null;
354
360
  };
361
+ /**
362
+ * Admin contact phone number. Enter with or without country code according to operating policy.
363
+ */
355
364
  phone?: string | null;
356
365
  isPhoneVerified?: boolean | null;
357
366
  lastLoginAt?: string | null;
@@ -359,7 +368,13 @@ interface User {
359
368
  isSuspended?: boolean | null;
360
369
  suspendedAt?: string | null;
361
370
  suspendedReason?: string | null;
371
+ /**
372
+ * Timezone used for admin UI and notifications, such as Asia/Seoul.
373
+ */
362
374
  timezone?: string | null;
375
+ /**
376
+ * Admin UI language or locale code, such as ko or en.
377
+ */
363
378
  locale?: string | null;
364
379
  avatar?: (string | null) | Image;
365
380
  anonymizedAt?: string | null;
@@ -408,18 +423,21 @@ interface Tenant {
408
423
  * Features available to this tenant. Determined automatically by the plan.
409
424
  */
410
425
  features?: {
411
- feature: 'ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'posts' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community';
426
+ feature: 'ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'articles' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community' | 'events';
412
427
  provenance: string;
413
428
  id?: string | null;
414
429
  }[] | null;
415
430
  /**
416
431
  * Features this tenant has opted out of. Only effective for features granted by the plan.
417
432
  */
418
- disabledFeatures?: ('ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'posts' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community')[] | null;
433
+ disabledFeatures?: ('ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'articles' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community' | 'events')[] | null;
419
434
  /**
420
435
  * Dev mode shows configuration tools like the field settings panel. Turn off after setup for a clean production UI.
421
436
  */
422
437
  isDevMode?: boolean | null;
438
+ /**
439
+ * Tenant lifecycle status. Managed by billing webhooks, deletion scheduling, or super-admin maintenance paths, not normal edits.
440
+ */
423
441
  status?: ('active' | 'paused' | 'past_due' | 'canceled' | 'pending_deletion') | null;
424
442
  /**
425
443
  * A public key that is safe to include in browser code. (Starts with pk01_)
@@ -433,7 +451,7 @@ interface Tenant {
433
451
  id?: string | null;
434
452
  }[] | null;
435
453
  /**
436
- * Webhook endpoints to notify on data changes.
454
+ * Trusted recipients for signed events. Sensitive payloads such as password-reset events may be delivered to these endpoints.
437
455
  */
438
456
  webhooks?: {
439
457
  /**
@@ -441,11 +459,7 @@ interface Tenant {
441
459
  */
442
460
  name?: string | null;
443
461
  /**
444
- * Choose what this webhook should receive. Leave empty to receive every change notification.
445
- */
446
- purpose?: ('events' | 'verification' | 'password-reset') | null;
447
- /**
448
- * The URL to send webhooks to. Must be HTTPS.
462
+ * HTTPS URL that receives signed webhooks. Treat this endpoint as a recipient of sensitive tenant events.
449
463
  */
450
464
  url: string;
451
465
  /**
@@ -492,6 +506,9 @@ interface Tenant {
492
506
  interface Image {
493
507
  id: string;
494
508
  tenant?: (string | null) | Tenant;
509
+ /**
510
+ * Alternative text for users who cannot see the image and for search/share context.
511
+ */
495
512
  alt?: string | null;
496
513
  /**
497
514
  * Low quality image placeholder
@@ -568,7 +585,7 @@ interface Image {
568
585
  interface FieldConfig {
569
586
  id: string;
570
587
  tenant?: (string | null) | Tenant;
571
- collectionSlug: 'products' | 'product-variants' | 'product-options' | 'product-option-values' | 'product-collections' | 'product-categories' | 'product-tags' | 'brands' | 'discounts' | 'shipping-policies' | 'orders' | 'carts' | 'transactions' | 'fulfillments' | 'returns' | 'customers' | 'customer-groups' | 'customer-profiles' | 'post-authors' | 'posts' | 'post-categories' | 'post-tags' | 'documents' | 'document-categories' | 'document-types' | 'playlists' | 'playlist-categories' | 'playlist-tags' | 'tracks' | 'track-categories' | 'track-tags' | 'galleries' | 'gallery-categories' | 'gallery-tags' | 'gallery-items' | 'links' | 'link-categories' | 'link-tags' | 'canvases' | 'canvas-categories' | 'canvas-tags' | 'canvas-node-types' | 'canvas-edge-types' | 'videos' | 'video-categories' | 'video-tags' | 'live-streams' | 'forms' | 'threads' | 'comments' | 'reactions' | 'reaction-types' | 'bookmarks' | 'thread-categories';
588
+ collectionSlug: 'products' | 'product-variants' | 'product-options' | 'product-option-values' | 'product-collections' | 'product-categories' | 'product-tags' | 'brands' | 'discounts' | 'shipping-policies' | 'orders' | 'carts' | 'transactions' | 'fulfillments' | 'returns' | 'customers' | 'customer-groups' | 'customer-profiles' | 'article-authors' | 'articles' | 'article-categories' | 'article-tags' | 'documents' | 'document-categories' | 'document-types' | 'playlists' | 'playlist-categories' | 'playlist-tags' | 'tracks' | 'track-categories' | 'track-tags' | 'galleries' | 'gallery-categories' | 'gallery-tags' | 'gallery-items' | 'links' | 'link-categories' | 'link-tags' | 'canvases' | 'canvas-categories' | 'canvas-tags' | 'canvas-node-types' | 'canvas-edge-types' | 'videos' | 'video-categories' | 'video-tags' | 'live-streams' | 'forms' | 'posts' | 'comments' | 'reactions' | 'reaction-types' | 'bookmarks' | 'post-categories' | 'event-calendars' | 'events' | 'event-tags' | 'event-occurrences' | 'event-registrations';
572
589
  isHidden?: boolean | null;
573
590
  hiddenFields?: {
574
591
  [k: string]: unknown;
@@ -583,7 +600,13 @@ interface FieldConfig {
583
600
  */
584
601
  interface SystemMedia {
585
602
  id: string;
603
+ /**
604
+ * Used for accessibility and image alternative text.
605
+ */
586
606
  alt?: string | null;
607
+ /**
608
+ * Caption displayed with the image.
609
+ */
587
610
  caption?: string | null;
588
611
  /**
589
612
  * Photographer or source attribution
@@ -636,8 +659,14 @@ interface EmailLog {
636
659
  */
637
660
  tenant?: (string | null) | Tenant;
638
661
  to: string;
662
+ /**
663
+ * Sender address passed to the email provider. Used for email audit traceability.
664
+ */
639
665
  from?: string | null;
640
666
  subject: string;
667
+ /**
668
+ * Email purpose and consent category. Used for verification, password reset, marketing, and audit review.
669
+ */
641
670
  type: 'usage-alert' | 'verification' | 'password-reset' | 'newsletter' | 'other' | 'oauth-login' | 'account-link';
642
671
  status: 'sent' | 'failed';
643
672
  sentAt: string;
@@ -669,16 +698,31 @@ interface ApiKey {
669
698
  * Key prefix (e.g. sk01_ab12cd3)
670
699
  */
671
700
  displayPrefix: string;
701
+ /**
702
+ * Trailing characters used to identify the key. The raw secret key is not stored or displayed.
703
+ */
672
704
  displaySuffix: string;
673
705
  /**
674
706
  * Capability scopes. Default is read+write; webhook dispatch requires webhook, analytics writes require analytics.
675
707
  */
676
708
  scopes?: ('read' | 'write' | 'webhook' | 'analytics' | 'super-admin')[] | null;
709
+ /**
710
+ * User who issued the key. Read-only provenance for issuance audit.
711
+ */
677
712
  createdBy?: (string | null) | User;
713
+ /**
714
+ * IP address of the key creation request. Privacy-bearing security audit metadata.
715
+ */
678
716
  createdByIp?: string | null;
679
717
  lastUsedAt?: string | null;
718
+ /**
719
+ * Last IP address that used the key. Privacy-bearing audit value for abuse investigation.
720
+ */
680
721
  lastUsedIp?: string | null;
681
722
  revokedAt?: string | null;
723
+ /**
724
+ * User who revoked the key. Read-only provenance for revocation audit.
725
+ */
682
726
  revokedBy?: (string | null) | User;
683
727
  /**
684
728
  * Optional expiration. Empty = never expires.
@@ -700,16 +744,31 @@ interface PersonalAccessToken {
700
744
  */
701
745
  name: string;
702
746
  secretHash: string;
747
+ /**
748
+ * PAT prefix. Display-only token type marker, not the raw token.
749
+ */
703
750
  displayPrefix: string;
751
+ /**
752
+ * Trailing characters used to identify the PAT. The raw token is not shown again.
753
+ */
704
754
  displaySuffix: string;
705
755
  /**
706
756
  * Default tenant ID for CLI operations. Set via `01 tenant use <name>`.
707
757
  */
708
758
  defaultTenant?: string | null;
759
+ /**
760
+ * IP address of the PAT creation request. Privacy-bearing security audit metadata.
761
+ */
709
762
  createdByIp?: string | null;
710
763
  lastUsedAt?: string | null;
764
+ /**
765
+ * Last IP address that used the PAT. Privacy-bearing audit value for abuse investigation.
766
+ */
711
767
  lastUsedIp?: string | null;
712
768
  revokedAt?: string | null;
769
+ /**
770
+ * User who revoked the PAT. Read-only provenance for revocation audit.
771
+ */
713
772
  revokedBy?: (string | null) | User;
714
773
  /**
715
774
  * PATs expire after 90 days by default.
@@ -731,11 +790,11 @@ interface AuditLog {
731
790
  */
732
791
  eventType: string;
733
792
  /**
734
- * Actor ID
793
+ * Actor ID. May refer to a user or service, and can be empty for system actions.
735
794
  */
736
795
  actorId?: string | null;
737
796
  /**
738
- * Event payload
797
+ * Detailed audit event payload. May contain sensitive security, billing, or provider context.
739
798
  */
740
799
  payload?: {
741
800
  [k: string]: unknown;
@@ -755,10 +814,13 @@ interface WebhookEvent {
755
814
  */
756
815
  provider: string;
757
816
  /**
758
- * Event ID
817
+ * Provider-supplied event ID. Used with provider as the idempotency key for duplicate prevention.
759
818
  */
760
819
  eventId: string;
761
820
  receivedAt?: string | null;
821
+ /**
822
+ * Raw provider event body. May contain sensitive security or payment context.
823
+ */
762
824
  payload?: {
763
825
  [k: string]: unknown;
764
826
  } | unknown[] | string | number | boolean | null;
@@ -774,7 +836,13 @@ interface WebhookDelivery {
774
836
  tenant?: (string | null) | Tenant;
775
837
  webhookEventId?: (string | null) | WebhookEvent;
776
838
  attempt: number;
839
+ /**
840
+ * Webhook delivery state. Updated by dispatcher and retry handling paths.
841
+ */
777
842
  status: 'pending' | 'success' | 'failed' | 'dead';
843
+ /**
844
+ * Timestamp when the webhook request was dispatched to the endpoint.
845
+ */
778
846
  dispatchedAt?: string | null;
779
847
  updatedAt: string;
780
848
  createdAt: string;
@@ -954,6 +1022,9 @@ interface TenantMetadatum {
954
1022
  interface BrandLogo {
955
1023
  id: string;
956
1024
  tenant?: (string | null) | Tenant;
1025
+ /**
1026
+ * Alternative text for users who cannot see the image and for search/share context.
1027
+ */
957
1028
  alt?: string | null;
958
1029
  /**
959
1030
  * Low quality image placeholder
@@ -1039,36 +1110,6 @@ interface BrandLogo {
1039
1110
  };
1040
1111
  };
1041
1112
  }
1042
- /**
1043
- * This interface was referenced by `Config`'s JSON-Schema
1044
- * via the `definition` "tenant-auth-settings".
1045
- */
1046
- interface TenantAuthSetting {
1047
- id: string;
1048
- tenant?: (string | null) | Tenant;
1049
- /**
1050
- * Require customer email verification before registration-dependent auth flows proceed.
1051
- */
1052
- requiresEmailVerification?: boolean | null;
1053
- updatedAt: string;
1054
- createdAt: string;
1055
- deletedAt?: string | null;
1056
- }
1057
- /**
1058
- * This interface was referenced by `Config`'s JSON-Schema
1059
- * via the `definition` "tenant-community-settings".
1060
- */
1061
- interface TenantCommunitySetting {
1062
- id: string;
1063
- tenant?: (string | null) | Tenant;
1064
- /**
1065
- * When enabled, new customer-created threads remain pending until approved by an admin.
1066
- */
1067
- requiresPostApproval?: boolean | null;
1068
- updatedAt: string;
1069
- createdAt: string;
1070
- deletedAt?: string | null;
1071
- }
1072
1113
  /**
1073
1114
  * This interface was referenced by `Config`'s JSON-Schema
1074
1115
  * via the `definition` "api-usage".
@@ -1114,6 +1155,9 @@ interface ApiUsage {
1114
1155
  * AI generation count
1115
1156
  */
1116
1157
  aiGenerationCount?: number | null;
1158
+ /**
1159
+ * Timestamp when the usage snapshot cron calculated this monthly aggregate.
1160
+ */
1117
1161
  snapshottedAt?: string | null;
1118
1162
  updatedAt: string;
1119
1163
  createdAt: string;
@@ -1204,7 +1248,7 @@ interface AnalyticsEventSchema {
1204
1248
  id: string;
1205
1249
  tenant?: (string | null) | Tenant;
1206
1250
  /**
1207
- * snake_case identifier. Must match /^[a-z][a-z0-9_]*$/
1251
+ * Valid event name pattern.
1208
1252
  */
1209
1253
  eventName: string;
1210
1254
  enabled: boolean;
@@ -1232,13 +1276,19 @@ interface TenantEntitlement {
1232
1276
  id: string;
1233
1277
  tenant: string | Tenant;
1234
1278
  plan: 'free' | 'starter' | 'basic' | 'pro' | 'enterprise';
1279
+ /**
1280
+ * Lifecycle status for the entitlement. Only active rows participate in current plan resolution.
1281
+ */
1235
1282
  status: 'active' | 'scheduled' | 'expired' | 'revoked';
1236
1283
  sourceType: 'subscription' | 'manual' | 'support' | 'promo' | 'trial' | 'legacy_migration' | 'enterprise_contract';
1237
1284
  sourceSubscription?: (string | null) | Subscription;
1285
+ /**
1286
+ * Tie-breaker for overlapping entitlements. Higher values win within the same source precedence.
1287
+ */
1238
1288
  priority: number;
1239
1289
  startsAt: string;
1240
1290
  /**
1241
- * Entitlement end date. Required for promo / trial / legacy_migration sources, optional otherwise.
1291
+ * Entitlement end date. Required by hook validation for promo / trial / legacy_migration sources and excluded from current plan resolution after expiry.
1242
1292
  */
1243
1293
  endsAt?: string | null;
1244
1294
  reason?: string | null;
@@ -1291,7 +1341,7 @@ interface Subscription {
1291
1341
  cardType?: string | null;
1292
1342
  };
1293
1343
  /**
1294
- * Additional provider metadata
1344
+ * Provider-owned diagnostic and audit metadata returned by the billing provider. Not a general manual-edit field.
1295
1345
  */
1296
1346
  providerMetadata?: {
1297
1347
  [k: string]: unknown;
@@ -1373,11 +1423,11 @@ interface Plan {
1373
1423
  */
1374
1424
  name: string;
1375
1425
  /**
1376
- * Features allowed for this plan
1426
+ * Reference-only feature list; enforced elsewhere.
1377
1427
  */
1378
- featuresAllowed?: ('ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'posts' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community')[] | null;
1428
+ featuresAllowed?: ('ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'articles' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community' | 'events')[] | null;
1379
1429
  /**
1380
- * Quota limits (storageBytes, apiPerMonth, ...)
1430
+ * Reference-only quotas such as storageBytes; enforced by entitlement and usage policy elsewhere.
1381
1431
  */
1382
1432
  quotas?: {
1383
1433
  [k: string]: unknown;
@@ -1425,6 +1475,9 @@ interface Webhook {
1425
1475
  interface TenantLogo {
1426
1476
  id: string;
1427
1477
  tenant?: (string | null) | Tenant;
1478
+ /**
1479
+ * Alternative text for users who cannot see the image and for search/share context.
1480
+ */
1428
1481
  alt?: string | null;
1429
1482
  /**
1430
1483
  * Low quality image placeholder
@@ -1727,6 +1780,9 @@ interface Video {
1727
1780
  metadata?: {
1728
1781
  [k: string]: unknown;
1729
1782
  } | unknown[] | string | number | boolean | null;
1783
+ /**
1784
+ * Read-only counter accumulated from video view events.
1785
+ */
1730
1786
  viewCount?: number | null;
1731
1787
  aspectRatio?: ('16_9' | '9_16' | '4_3' | '1_1') | null;
1732
1788
  /**
@@ -1814,7 +1870,13 @@ interface LiveStream {
1814
1870
  } | unknown[] | string | number | boolean | null;
1815
1871
  startedAt?: string | null;
1816
1872
  endedAt?: string | null;
1873
+ /**
1874
+ * Highest concurrent viewer count recorded during live sessions.
1875
+ */
1817
1876
  peakViewerCount?: number | null;
1877
+ /**
1878
+ * Read-only counter accumulated from live stream view events.
1879
+ */
1818
1880
  viewCount?: number | null;
1819
1881
  updatedAt: string;
1820
1882
  createdAt: string;
@@ -2362,12 +2424,14 @@ interface Customer {
2362
2424
  birthDate?: string | null;
2363
2425
  gender?: ('male' | 'female' | 'other' | 'prefer_not_to_say') | null;
2364
2426
  isGuest?: boolean | null;
2427
+ /**
2428
+ * Authentication provider used at signup. Immutable account provenance after creation.
2429
+ */
2365
2430
  authProvider?: ('local' | 'google' | 'apple' | 'kakao' | 'naver') | null;
2366
2431
  /**
2367
- * External provider user ID
2432
+ * External provider user ID. Paired with authProvider to identify the linked account and not edited after creation.
2368
2433
  */
2369
2434
  providerUserId?: string | null;
2370
- isEmailVerified?: boolean | null;
2371
2435
  lastLoginAt?: string | null;
2372
2436
  /**
2373
2437
  * Last password change timestamp (used for JWT revocation)
@@ -2385,6 +2449,9 @@ interface Customer {
2385
2449
  };
2386
2450
  defaultShippingAddress?: (string | null) | CustomerAddress;
2387
2451
  defaultBillingAddress?: (string | null) | CustomerAddress;
2452
+ /**
2453
+ * Read-only counter maintained by order hooks for this customer's completed orders.
2454
+ */
2388
2455
  totalOrderCount?: number | null;
2389
2456
  lifetimeValue?: number | null;
2390
2457
  firstOrderAt?: string | null;
@@ -2394,9 +2461,21 @@ interface Customer {
2394
2461
  hasNextPage?: boolean;
2395
2462
  totalDocs?: number;
2396
2463
  };
2397
- threadCount?: number | null;
2464
+ /**
2465
+ * Read-only counter maintained by hooks for community posts authored by this customer.
2466
+ */
2467
+ postCount?: number | null;
2468
+ /**
2469
+ * Read-only counter maintained by hooks for community comments authored by this customer.
2470
+ */
2398
2471
  commentCount?: number | null;
2472
+ /**
2473
+ * Read-only counter maintained by hooks for community reactions made by this customer.
2474
+ */
2399
2475
  reactionCount?: number | null;
2476
+ /**
2477
+ * Marks a minor customer. When enabled, guardian consent fields are managed as compliance evidence.
2478
+ */
2400
2479
  isMinor?: boolean | null;
2401
2480
  marketingConsent?: {
2402
2481
  email?: {
@@ -2422,10 +2501,25 @@ interface Customer {
2422
2501
  */
2423
2502
  consentSource?: string | null;
2424
2503
  };
2504
+ /**
2505
+ * Guardian consent evidence for a minor customer. May contain guardian PII.
2506
+ */
2425
2507
  guardianConsent?: {
2508
+ /**
2509
+ * Whether guardian consent has been collected. Internal compliance marker for minor-customer handling.
2510
+ */
2426
2511
  hasGuardianConsent?: boolean | null;
2512
+ /**
2513
+ * Guardian name. Treat as guardian PII.
2514
+ */
2427
2515
  guardianName?: string | null;
2516
+ /**
2517
+ * Guardian phone number. Treat as guardian PII.
2518
+ */
2428
2519
  guardianPhone?: string | null;
2520
+ /**
2521
+ * Timestamp when guardian consent was recorded. Read-only audit evidence.
2522
+ */
2429
2523
  guardianConsentedAt?: string | null;
2430
2524
  };
2431
2525
  acceptsTos?: boolean | null;
@@ -2436,19 +2530,18 @@ interface Customer {
2436
2530
  withdrawReason?: string | null;
2437
2531
  withdrawnAt?: string | null;
2438
2532
  /**
2439
- * Legal retention deadline (hard-delete eligible after this date)
2533
+ * Legal retention deadline. Retention cleanup or manual hard-delete paths may purge after this date.
2440
2534
  */
2441
2535
  retainUntil?: string | null;
2442
2536
  anonymizedAt?: string | null;
2443
2537
  hashedPassword?: string | null;
2444
2538
  salt?: string | null;
2445
- verificationToken?: string | null;
2446
2539
  resetPasswordToken?: string | null;
2447
2540
  resetPasswordExpiresAt?: string | null;
2448
2541
  loginAttemptCount?: number | null;
2449
2542
  lockedUntil?: string | null;
2450
2543
  /**
2451
- * Account suspension
2544
+ * Account suspension flag. Used with password/JWT revocation paths to block sessions.
2452
2545
  */
2453
2546
  isSuspended?: boolean | null;
2454
2547
  metadata?: {
@@ -2553,8 +2646,11 @@ interface CustomerProfile {
2553
2646
  id: string;
2554
2647
  tenant?: (string | null) | Tenant;
2555
2648
  customer: string | Customer;
2649
+ /**
2650
+ * 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.
2651
+ */
2556
2652
  handle?: string | null;
2557
- displayName: string;
2653
+ displayName?: string | null;
2558
2654
  avatar?: (string | null) | Image;
2559
2655
  bio?: string | null;
2560
2656
  bioRichText?: {
@@ -2572,7 +2668,7 @@ interface CustomerProfile {
2572
2668
  };
2573
2669
  [k: string]: unknown;
2574
2670
  } | null;
2575
- joinedAt: string;
2671
+ joinedAt?: string | null;
2576
2672
  isPublic?: boolean | null;
2577
2673
  anonymizedAt?: string | null;
2578
2674
  metadata?: {
@@ -2587,11 +2683,14 @@ interface OrderItem {
2587
2683
  id: string;
2588
2684
  tenant?: (string | null) | Tenant;
2589
2685
  order: string | Order;
2686
+ /**
2687
+ * Quantity snapshot at order time. Used for payment and inventory calculations and not edited directly.
2688
+ */
2590
2689
  product: string | Product;
2591
2690
  variant?: (string | null) | ProductVariant;
2592
2691
  quantity: number;
2593
2692
  /**
2594
- * Price per unit at time of order
2693
+ * Unit-price snapshot at order time. Later product price changes do not rewrite it.
2595
2694
  */
2596
2695
  unitPrice: number;
2597
2696
  variantTitle?: string | null;
@@ -2600,7 +2699,7 @@ interface OrderItem {
2600
2699
  weight?: number | null;
2601
2700
  requiresShipping?: boolean | null;
2602
2701
  /**
2603
- * unitPrice × quantity
2702
+ * Total-price snapshot at order time, preserved from unitPrice × quantity.
2604
2703
  */
2605
2704
  totalPrice: number;
2606
2705
  productTitle?: string | null;
@@ -2628,6 +2727,9 @@ interface Transaction {
2628
2727
  status: 'pending' | 'paid' | 'failed' | 'canceled' | 'refunded';
2629
2728
  order: string | Order;
2630
2729
  amount?: number | null;
2730
+ /**
2731
+ * Payment method snapshot returned by the provider. Not edited directly.
2732
+ */
2631
2733
  paymentMethod?: string | null;
2632
2734
  /**
2633
2735
  * Installment months (0 = lump sum)
@@ -2685,6 +2787,9 @@ interface Fulfillment {
2685
2787
  * Carrier name (e.g. CJ Logistics, FedEx)
2686
2788
  */
2687
2789
  carrier?: string | null;
2790
+ /**
2791
+ * Carrier tracking number. Used as input for the derived trackingUrl.
2792
+ */
2688
2793
  trackingNumber?: string | null;
2689
2794
  /**
2690
2795
  * Tracking URL (auto-derived from carrier + trackingNumber)
@@ -2699,7 +2804,7 @@ interface Fulfillment {
2699
2804
  totalDocs?: number;
2700
2805
  };
2701
2806
  /**
2702
- * Internal admin notes
2807
+ * Internal fulfillment note. Not shown directly to customers.
2703
2808
  */
2704
2809
  adminNotes?: string | null;
2705
2810
  metadata?: {
@@ -2738,6 +2843,9 @@ interface Return {
2738
2843
  */
2739
2844
  exchangeOrder?: (string | null) | Order;
2740
2845
  status: 'requested' | 'processing' | 'approved' | 'rejected' | 'completed';
2846
+ /**
2847
+ * Reason category for the return or refund request. Used for reporting and operations.
2848
+ */
2741
2849
  reason?: ('change_of_mind' | 'defective' | 'wrong_delivery' | 'damaged' | 'other') | null;
2742
2850
  /**
2743
2851
  * Detailed return reason
@@ -2749,7 +2857,7 @@ interface Return {
2749
2857
  totalDocs?: number;
2750
2858
  };
2751
2859
  /**
2752
- * Internal notes
2860
+ * Internal return-processing note. Not shown directly to customers.
2753
2861
  */
2754
2862
  adminNotes?: string | null;
2755
2863
  completedAt?: string | null;
@@ -2948,6 +3056,9 @@ interface Discount {
2948
3056
  * Total usage limit (empty = unlimited)
2949
3057
  */
2950
3058
  maxUses?: number | null;
3059
+ /**
3060
+ * Read-only usage count accumulated when this discount is applied successfully.
3061
+ */
2951
3062
  usesCount?: number | null;
2952
3063
  /**
2953
3064
  * Usage limit per customer (empty = unlimited)
@@ -2999,13 +3110,16 @@ interface Promotion {
2999
3110
  }
3000
3111
  /**
3001
3112
  * This interface was referenced by `Config`'s JSON-Schema
3002
- * via the `definition` "posts".
3113
+ * via the `definition` "articles".
3003
3114
  */
3004
- interface Post {
3115
+ interface Article {
3005
3116
  id: string;
3006
3117
  _order?: string | null;
3007
3118
  tenant?: (string | null) | Tenant;
3008
3119
  title: string;
3120
+ /**
3121
+ * Secondary title shown in article lists and at the top of the article page.
3122
+ */
3009
3123
  subtitle?: string | null;
3010
3124
  /**
3011
3125
  * Short summary for listing/cards
@@ -3026,9 +3140,9 @@ interface Post {
3026
3140
  };
3027
3141
  [k: string]: unknown;
3028
3142
  } | null;
3029
- authors?: (string | PostAuthor)[] | null;
3030
- categories?: (string | PostCategory)[] | null;
3031
- tags?: (string | PostTag)[] | null;
3143
+ authors?: (string | ArticleAuthor)[] | null;
3144
+ categories?: (string | ArticleCategory)[] | null;
3145
+ tags?: (string | ArticleTag)[] | null;
3032
3146
  videos?: (string | Video)[] | null;
3033
3147
  seo?: {
3034
3148
  /**
@@ -3079,14 +3193,23 @@ interface Post {
3079
3193
  * OG/Twitter excerpt (280 chars)
3080
3194
  */
3081
3195
  excerpt?: string | null;
3196
+ /**
3197
+ * Canonical URL for search engines. Leave empty to use this article URL.
3198
+ */
3082
3199
  canonicalUrl?: string | null;
3083
3200
  visibility?: ('public' | 'members' | 'paid') | null;
3201
+ /**
3202
+ * Scheduled publish time. The scheduled publishing job uses this timestamp.
3203
+ */
3084
3204
  scheduledAt?: string | null;
3205
+ /**
3206
+ * Date when featured placement should end.
3207
+ */
3085
3208
  featuredUntil?: string | null;
3086
3209
  /**
3087
- * Related posts
3210
+ * Related articles
3088
3211
  */
3089
- relatedPosts?: (string | Post)[] | null;
3212
+ relatedArticles?: (string | Article)[] | null;
3090
3213
  metadata?: {
3091
3214
  [k: string]: unknown;
3092
3215
  } | unknown[] | string | number | boolean | null;
@@ -3097,9 +3220,9 @@ interface Post {
3097
3220
  }
3098
3221
  /**
3099
3222
  * This interface was referenced by `Config`'s JSON-Schema
3100
- * via the `definition` "post-authors".
3223
+ * via the `definition` "article-authors".
3101
3224
  */
3102
- interface PostAuthor {
3225
+ interface ArticleAuthor {
3103
3226
  id: string;
3104
3227
  _order?: string | null;
3105
3228
  tenant?: (string | null) | Tenant;
@@ -3112,8 +3235,8 @@ interface PostAuthor {
3112
3235
  avatar?: (string | null) | Image;
3113
3236
  bio?: string | null;
3114
3237
  email?: string | null;
3115
- posts?: {
3116
- docs?: (string | Post)[];
3238
+ articles?: {
3239
+ docs?: (string | Article)[];
3117
3240
  hasNextPage?: boolean;
3118
3241
  totalDocs?: number;
3119
3242
  };
@@ -3127,9 +3250,9 @@ interface PostAuthor {
3127
3250
  }
3128
3251
  /**
3129
3252
  * This interface was referenced by `Config`'s JSON-Schema
3130
- * via the `definition` "post-categories".
3253
+ * via the `definition` "article-categories".
3131
3254
  */
3132
- interface PostCategory {
3255
+ interface ArticleCategory {
3133
3256
  id: string;
3134
3257
  _order?: string | null;
3135
3258
  tenant?: (string | null) | Tenant;
@@ -3144,7 +3267,7 @@ interface PostCategory {
3144
3267
  */
3145
3268
  description?: string | null;
3146
3269
  image?: (string | null) | Image;
3147
- parent?: (string | null) | PostCategory;
3270
+ parent?: (string | null) | ArticleCategory;
3148
3271
  color?: string | null;
3149
3272
  updatedAt: string;
3150
3273
  createdAt: string;
@@ -3152,9 +3275,9 @@ interface PostCategory {
3152
3275
  }
3153
3276
  /**
3154
3277
  * This interface was referenced by `Config`'s JSON-Schema
3155
- * via the `definition` "post-tags".
3278
+ * via the `definition` "article-tags".
3156
3279
  */
3157
- interface PostTag {
3280
+ interface ArticleTag {
3158
3281
  id: string;
3159
3282
  _order?: string | null;
3160
3283
  tenant?: (string | null) | Tenant;
@@ -3169,7 +3292,7 @@ interface PostTag {
3169
3292
  */
3170
3293
  description?: string | null;
3171
3294
  image?: (string | null) | Image;
3172
- parent?: (string | null) | PostTag;
3295
+ parent?: (string | null) | ArticleTag;
3173
3296
  color?: string | null;
3174
3297
  updatedAt: string;
3175
3298
  createdAt: string;
@@ -3224,10 +3347,6 @@ interface Document {
3224
3347
  * Audience/timing for required agreement
3225
3348
  */
3226
3349
  agreementScope?: ('all_users' | 'new_users' | 'on_update') | null;
3227
- /**
3228
- * Legacy compatibility field; replaced by agreementScope
3229
- */
3230
- requiresAgreement?: boolean | null;
3231
3350
  /**
3232
3351
  * Keywords for search (e.g. GDPR, CCPA)
3233
3352
  */
@@ -3275,6 +3394,9 @@ interface Document {
3275
3394
  slug?: string | null;
3276
3395
  type?: (string | null) | DocumentType;
3277
3396
  jurisdiction?: string | null;
3397
+ /**
3398
+ * Document language code. Defaults to ko and is used for display and search categorization.
3399
+ */
3278
3400
  language?: string | null;
3279
3401
  /**
3280
3402
  * Document that supersedes this one
@@ -3786,10 +3908,25 @@ interface Link {
3786
3908
  thumbnail?: (string | null) | Image;
3787
3909
  icon?: (string | null) | Image;
3788
3910
  publishedAt?: string | null;
3911
+ /**
3912
+ * Platform name for social or external links, such as Instagram or YouTube.
3913
+ */
3789
3914
  platform?: string | null;
3915
+ /**
3916
+ * Whether clicks should open this link in a new tab.
3917
+ */
3790
3918
  opensInNewTab?: boolean | null;
3919
+ /**
3920
+ * Controls whether rel=nofollow should be emitted for search engines.
3921
+ */
3791
3922
  noFollow?: boolean | null;
3923
+ /**
3924
+ * Link exposure expiration time. Can be used to stop showing the link after this timestamp.
3925
+ */
3792
3926
  expiresAt?: string | null;
3927
+ /**
3928
+ * Read-only counter accumulated from link click events.
3929
+ */
3793
3930
  clickCount?: number | null;
3794
3931
  lastClickedAt?: string | null;
3795
3932
  status?: ('draft' | 'published' | 'archived') | null;
@@ -4022,11 +4159,11 @@ interface CanvasNodeType {
4022
4159
  id?: string | null;
4023
4160
  }[] | null;
4024
4161
  /**
4025
- * React component code. Props: { fields, label, color, nodeTypeSlug, width, height }
4162
+ * Runtime JSX template. Props: { fields, label, color, nodeTypeSlug, width, height }. Save-time validation rejects blocked patterns.
4026
4163
  */
4027
4164
  template?: string | null;
4028
4165
  /**
4029
- * CSS for node. Selector: .flow-node--{slug}
4166
+ * CSS for this node. Scope selectors to .flow-node--{slug}; url/import/script patterns are rejected on save.
4030
4167
  */
4031
4168
  customCSS?: string | null;
4032
4169
  updatedAt: string;
@@ -4140,9 +4277,9 @@ interface CanvasEdge {
4140
4277
  }
4141
4278
  /**
4142
4279
  * This interface was referenced by `Config`'s JSON-Schema
4143
- * via the `definition` "threads".
4280
+ * via the `definition` "posts".
4144
4281
  */
4145
- interface Thread {
4282
+ interface Post {
4146
4283
  id: string;
4147
4284
  _order?: string | null;
4148
4285
  tenant?: (string | null) | Tenant;
@@ -4162,7 +4299,7 @@ interface Thread {
4162
4299
  };
4163
4300
  [k: string]: unknown;
4164
4301
  } | null;
4165
- categories?: (string | ThreadCategory)[] | null;
4302
+ categories?: (string | PostCategory)[] | null;
4166
4303
  comments?: {
4167
4304
  docs?: (string | Comment)[];
4168
4305
  hasNextPage?: boolean;
@@ -4183,17 +4320,38 @@ interface Thread {
4183
4320
  avatarUrl?: string | null;
4184
4321
  };
4185
4322
  moderationStatus?: ('pending' | 'approved' | 'rejected' | 'reported' | 'hidden') | null;
4323
+ /**
4324
+ * Read-only counter accumulated from post view events.
4325
+ */
4186
4326
  viewCount?: number | null;
4327
+ /**
4328
+ * Read-only counter maintained by hooks for comments on this post.
4329
+ */
4187
4330
  commentCount?: number | null;
4331
+ /**
4332
+ * Read-only counter maintained by hooks for reactions on this post.
4333
+ */
4188
4334
  reactionCount?: number | null;
4335
+ /**
4336
+ * Accumulated report count for this post. Used only as a moderation signal.
4337
+ */
4189
4338
  reportCount?: number | null;
4339
+ /**
4340
+ * Marks whether this post should be pinned at the top of community lists.
4341
+ */
4190
4342
  isPinned?: boolean | null;
4343
+ /**
4344
+ * Controls whether new comments can be created for this post.
4345
+ */
4191
4346
  allowsComments?: boolean | null;
4192
4347
  visibility?: ('visible' | 'hidden') | null;
4193
4348
  /**
4194
4349
  * Lock comments
4195
4350
  */
4196
4351
  isLocked?: boolean | null;
4352
+ /**
4353
+ * Last comment or activity timestamp. Updated server-side for sorting and activity indicators.
4354
+ */
4197
4355
  lastActivityAt?: string | null;
4198
4356
  lastCommentByProfile?: (string | null) | CustomerProfile;
4199
4357
  isFeatured?: boolean | null;
@@ -4207,9 +4365,9 @@ interface Thread {
4207
4365
  }
4208
4366
  /**
4209
4367
  * This interface was referenced by `Config`'s JSON-Schema
4210
- * via the `definition` "thread-categories".
4368
+ * via the `definition` "post-categories".
4211
4369
  */
4212
- interface ThreadCategory {
4370
+ interface PostCategory {
4213
4371
  id: string;
4214
4372
  _order?: string | null;
4215
4373
  tenant?: (string | null) | Tenant;
@@ -4224,7 +4382,7 @@ interface ThreadCategory {
4224
4382
  */
4225
4383
  description?: string | null;
4226
4384
  image?: (string | null) | Image;
4227
- parent?: (string | null) | ThreadCategory;
4385
+ parent?: (string | null) | PostCategory;
4228
4386
  color?: string | null;
4229
4387
  updatedAt: string;
4230
4388
  createdAt: string;
@@ -4237,7 +4395,7 @@ interface ThreadCategory {
4237
4395
  interface Comment {
4238
4396
  id: string;
4239
4397
  tenant?: (string | null) | Tenant;
4240
- thread: string | Thread;
4398
+ post: string | Post;
4241
4399
  authorProfile: string | CustomerProfile;
4242
4400
  authorSnapshot: {
4243
4401
  displayName: string;
@@ -4247,15 +4405,30 @@ interface Comment {
4247
4405
  };
4248
4406
  body?: string | null;
4249
4407
  parent?: (string | null) | Comment;
4408
+ /**
4409
+ * Comment nesting depth. Calculated server-side from parent/rootComment and not edited directly.
4410
+ */
4250
4411
  depth?: number | null;
4412
+ /**
4413
+ * Root comment for the thread. Server-managed relationship for efficient reply-tree lookup.
4414
+ */
4251
4415
  rootComment?: (string | null) | Comment;
4252
4416
  status?: ('published' | 'hidden' | 'removed') | null;
4253
4417
  moderationStatus?: ('pending' | 'approved' | 'rejected' | 'reported') | null;
4254
4418
  visibility?: ('visible' | 'hidden' | 'removed') | null;
4255
4419
  editedAt?: string | null;
4256
4420
  isEdited?: boolean | null;
4421
+ /**
4422
+ * Read-only counter maintained by hooks for reactions on this comment.
4423
+ */
4257
4424
  reactionCount?: number | null;
4425
+ /**
4426
+ * Accumulated report count for this comment. Used only as a moderation signal.
4427
+ */
4258
4428
  reportCount?: number | null;
4429
+ /**
4430
+ * Read-only counter for replies to this comment, maintained by hooks.
4431
+ */
4259
4432
  replyCount?: number | null;
4260
4433
  metadata?: {
4261
4434
  [k: string]: unknown;
@@ -4270,7 +4443,7 @@ interface Comment {
4270
4443
  interface Reaction {
4271
4444
  id: string;
4272
4445
  tenant?: (string | null) | Tenant;
4273
- thread?: (string | null) | Thread;
4446
+ post?: (string | null) | Post;
4274
4447
  comment?: (string | null) | Comment;
4275
4448
  actorProfile: string | CustomerProfile;
4276
4449
  type: string | ReactionType;
@@ -4316,7 +4489,7 @@ interface ReactionType {
4316
4489
  interface Bookmark {
4317
4490
  id: string;
4318
4491
  tenant?: (string | null) | Tenant;
4319
- thread: string | Thread;
4492
+ post: string | Post;
4320
4493
  customer: string | Customer;
4321
4494
  metadata?: {
4322
4495
  [k: string]: unknown;
@@ -4331,7 +4504,7 @@ interface Bookmark {
4331
4504
  interface Report {
4332
4505
  id: string;
4333
4506
  tenant?: (string | null) | Tenant;
4334
- target?: (string | null) | Thread;
4507
+ target?: (string | null) | Post;
4335
4508
  targetComment?: (string | null) | Comment;
4336
4509
  customer: string | Customer;
4337
4510
  reason: 'spam' | 'harassment' | 'inappropriate' | 'off-topic' | 'other';
@@ -4376,9 +4549,9 @@ interface CommunityBan {
4376
4549
  }
4377
4550
  /**
4378
4551
  * This interface was referenced by `Config`'s JSON-Schema
4379
- * via the `definition` "forms".
4552
+ * via the `definition` "event-calendars".
4380
4553
  */
4381
- interface Form {
4554
+ interface EventCalendar {
4382
4555
  id: string;
4383
4556
  _order?: string | null;
4384
4557
  tenant?: (string | null) | Tenant;
@@ -4387,29 +4560,387 @@ interface Form {
4387
4560
  * Short summary for listing/cards
4388
4561
  */
4389
4562
  description?: string | null;
4390
- isActive?: boolean | null;
4563
+ content?: {
4564
+ root: {
4565
+ type: string;
4566
+ children: {
4567
+ type: any;
4568
+ version: number;
4569
+ [k: string]: unknown;
4570
+ }[];
4571
+ direction: ('ltr' | 'rtl') | null;
4572
+ format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
4573
+ indent: number;
4574
+ version: number;
4575
+ };
4576
+ [k: string]: unknown;
4577
+ } | null;
4578
+ publicListing?: {
4579
+ showPastOccurrences?: boolean | null;
4580
+ defaultRangeMonths?: number | null;
4581
+ };
4582
+ defaultLocation?: {
4583
+ name?: string | null;
4584
+ address?: string | null;
4585
+ onlineUrl?: string | null;
4586
+ };
4587
+ defaultRegistration?: {
4588
+ policy?: ('none' | 'rsvp' | 'approval' | 'external') | null;
4589
+ capacity?: number | null;
4590
+ };
4591
+ seo?: {
4592
+ /**
4593
+ * Search result title (falls back to document title)
4594
+ */
4595
+ title?: string | null;
4596
+ /**
4597
+ * Search result description
4598
+ */
4599
+ description?: string | null;
4600
+ /**
4601
+ * Block search engine indexing
4602
+ */
4603
+ noIndex?: boolean | null;
4604
+ /**
4605
+ * Canonical URL (prevents duplicate content)
4606
+ */
4607
+ canonical?: string | null;
4608
+ openGraph?: {
4609
+ /**
4610
+ * OG title (falls back to seo.title)
4611
+ */
4612
+ title?: string | null;
4613
+ /**
4614
+ * OG description (falls back to seo.description)
4615
+ */
4616
+ description?: string | null;
4617
+ /**
4618
+ * OG / Twitter Card image (1200×630 recommended)
4619
+ */
4620
+ image?: (string | null) | Image;
4621
+ };
4622
+ };
4391
4623
  /**
4392
4624
  * When enabled, the slug will auto-generate from the title field on save and autosave.
4393
4625
  */
4394
4626
  generateSlug?: boolean | null;
4395
4627
  slug?: string | null;
4396
- fields?: ({
4397
- name: string;
4398
- label?: string | null;
4399
- width?: number | null;
4400
- required?: boolean | null;
4401
- defaultValue?: boolean | null;
4402
- id?: string | null;
4403
- blockName?: string | null;
4404
- blockType: 'checkbox';
4405
- } | {
4406
- name: string;
4407
- label?: string | null;
4408
- width?: number | null;
4409
- required?: boolean | null;
4410
- id?: string | null;
4411
- blockName?: string | null;
4412
- blockType: 'country';
4628
+ timezone: string;
4629
+ color?: string | null;
4630
+ visibility: 'public' | 'unlisted' | 'members' | 'private';
4631
+ publishedAt?: string | null;
4632
+ metadata?: {
4633
+ [k: string]: unknown;
4634
+ } | unknown[] | string | number | boolean | null;
4635
+ updatedAt: string;
4636
+ createdAt: string;
4637
+ deletedAt?: string | null;
4638
+ _status?: ('draft' | 'published') | null;
4639
+ }
4640
+ /**
4641
+ * This interface was referenced by `Config`'s JSON-Schema
4642
+ * via the `definition` "events".
4643
+ */
4644
+ interface Event {
4645
+ id: string;
4646
+ _order?: string | null;
4647
+ tenant?: (string | null) | Tenant;
4648
+ title: string;
4649
+ /**
4650
+ * Short summary for listing/cards
4651
+ */
4652
+ description?: string | null;
4653
+ content?: {
4654
+ root: {
4655
+ type: string;
4656
+ children: {
4657
+ type: any;
4658
+ version: number;
4659
+ [k: string]: unknown;
4660
+ }[];
4661
+ direction: ('ltr' | 'rtl') | null;
4662
+ format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
4663
+ indent: number;
4664
+ version: number;
4665
+ };
4666
+ [k: string]: unknown;
4667
+ } | null;
4668
+ eventCalendars: (string | EventCalendar)[];
4669
+ tags?: (string | EventTag)[] | null;
4670
+ organizer?: {
4671
+ name?: string | null;
4672
+ url?: string | null;
4673
+ user?: (string | null) | User;
4674
+ };
4675
+ startsAt: string;
4676
+ endsAt: string;
4677
+ timezone: string;
4678
+ isAllDay?: boolean | null;
4679
+ recurrence?: {
4680
+ /**
4681
+ * RFC 5545 RRULE string
4682
+ */
4683
+ rrule?: string | null;
4684
+ rdates?: {
4685
+ date?: string | null;
4686
+ id?: string | null;
4687
+ }[] | null;
4688
+ exdates?: {
4689
+ date?: string | null;
4690
+ id?: string | null;
4691
+ }[] | null;
4692
+ materializationMonths?: number | null;
4693
+ };
4694
+ location?: {
4695
+ type?: ('physical' | 'online' | 'hybrid' | 'hidden') | null;
4696
+ name?: string | null;
4697
+ address?: string | null;
4698
+ onlineUrl?: string | null;
4699
+ onlineNote?: string | null;
4700
+ privateNote?: string | null;
4701
+ };
4702
+ registrationPolicy?: ('none' | 'rsvp' | 'approval' | 'external') | null;
4703
+ waitlistPolicy: 'disabled' | 'auto_waitlist';
4704
+ externalRegistrationUrl?: string | null;
4705
+ seo?: {
4706
+ /**
4707
+ * Search result title (falls back to document title)
4708
+ */
4709
+ title?: string | null;
4710
+ /**
4711
+ * Search result description
4712
+ */
4713
+ description?: string | null;
4714
+ /**
4715
+ * Block search engine indexing
4716
+ */
4717
+ noIndex?: boolean | null;
4718
+ /**
4719
+ * Canonical URL (prevents duplicate content)
4720
+ */
4721
+ canonical?: string | null;
4722
+ openGraph?: {
4723
+ /**
4724
+ * OG title (falls back to seo.title)
4725
+ */
4726
+ title?: string | null;
4727
+ /**
4728
+ * OG description (falls back to seo.description)
4729
+ */
4730
+ description?: string | null;
4731
+ /**
4732
+ * OG / Twitter Card image (1200×630 recommended)
4733
+ */
4734
+ image?: (string | null) | Image;
4735
+ };
4736
+ };
4737
+ /**
4738
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
4739
+ */
4740
+ generateSlug?: boolean | null;
4741
+ slug?: string | null;
4742
+ status: 'draft' | 'published' | 'archived' | 'canceled';
4743
+ coverImage?: (string | null) | Image;
4744
+ visibility: 'inherit' | 'public' | 'unlisted' | 'members' | 'private';
4745
+ sourceType: 'native' | 'external';
4746
+ externalSource?: {
4747
+ provider?: string | null;
4748
+ sourceId?: string | null;
4749
+ url?: string | null;
4750
+ };
4751
+ publishedAt?: string | null;
4752
+ metadata?: {
4753
+ [k: string]: unknown;
4754
+ } | unknown[] | string | number | boolean | null;
4755
+ updatedAt: string;
4756
+ createdAt: string;
4757
+ deletedAt?: string | null;
4758
+ _status?: ('draft' | 'published') | null;
4759
+ }
4760
+ /**
4761
+ * This interface was referenced by `Config`'s JSON-Schema
4762
+ * via the `definition` "event-tags".
4763
+ */
4764
+ interface EventTag {
4765
+ id: string;
4766
+ _order?: string | null;
4767
+ tenant?: (string | null) | Tenant;
4768
+ title: string;
4769
+ /**
4770
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
4771
+ */
4772
+ generateSlug?: boolean | null;
4773
+ slug?: string | null;
4774
+ /**
4775
+ * Short summary for listing/cards
4776
+ */
4777
+ description?: string | null;
4778
+ image?: (string | null) | Image;
4779
+ parent?: (string | null) | EventTag;
4780
+ color?: string | null;
4781
+ updatedAt: string;
4782
+ createdAt: string;
4783
+ deletedAt?: string | null;
4784
+ }
4785
+ /**
4786
+ * This interface was referenced by `Config`'s JSON-Schema
4787
+ * via the `definition` "event-occurrences".
4788
+ */
4789
+ interface EventOccurrence {
4790
+ id: string;
4791
+ tenant?: (string | null) | Tenant;
4792
+ event: string | Event;
4793
+ /**
4794
+ * RECURRENCE-ID based on original DTSTART
4795
+ */
4796
+ instanceKey: string;
4797
+ startsAt: string;
4798
+ endsAt: string;
4799
+ timezone: string;
4800
+ isAllDay?: boolean | null;
4801
+ status: 'scheduled' | 'canceled' | 'completed';
4802
+ /**
4803
+ * Location override for this occurrence only. Leave empty to use the event default location.
4804
+ */
4805
+ locationOverride?: {
4806
+ name?: string | null;
4807
+ address?: string | null;
4808
+ onlineUrl?: string | null;
4809
+ note?: string | null;
4810
+ privateNote?: string | null;
4811
+ };
4812
+ /**
4813
+ * Capacity for this occurrence. Leave empty to inherit the event default registration settings.
4814
+ */
4815
+ capacity?: number | null;
4816
+ registrationCount?: number | null;
4817
+ waitlistCount?: number | null;
4818
+ checkInWindow?: {
4819
+ opensAt?: string | null;
4820
+ closesAt?: string | null;
4821
+ };
4822
+ cancellation?: {
4823
+ canceledAt?: string | null;
4824
+ reason?: string | null;
4825
+ };
4826
+ metadata?: {
4827
+ [k: string]: unknown;
4828
+ } | unknown[] | string | number | boolean | null;
4829
+ updatedAt: string;
4830
+ createdAt: string;
4831
+ deletedAt?: string | null;
4832
+ }
4833
+ /**
4834
+ * This interface was referenced by `Config`'s JSON-Schema
4835
+ * via the `definition` "event-registrations".
4836
+ */
4837
+ interface EventRegistration {
4838
+ id: string;
4839
+ tenant?: (string | null) | Tenant;
4840
+ event: string | Event;
4841
+ occurrence: string | EventOccurrence;
4842
+ customer?: (string | null) | Customer;
4843
+ registrationStatus: 'pending' | 'going' | 'waitlisted' | 'declined' | 'canceled';
4844
+ attendanceStatus: 'not_checked_in' | 'checked_in' | 'no_show';
4845
+ /**
4846
+ * Number of attendees for this registration. Used for ticketing and capacity calculations.
4847
+ */
4848
+ quantity: number;
4849
+ /**
4850
+ * PII snapshot captured at registration time. Hidden from publishable-key reads and subject to retention cleanup.
4851
+ */
4852
+ attendeeSnapshot?: {
4853
+ name?: string | null;
4854
+ email?: string | null;
4855
+ phone?: string | null;
4856
+ };
4857
+ /**
4858
+ * Internal attendee email. This is PII and is hidden from publishable-key reads.
4859
+ */
4860
+ attendeeEmail?: string | null;
4861
+ /**
4862
+ * Internal answers to registration questions. Hidden from publishable-key reads.
4863
+ */
4864
+ answers?: {
4865
+ question?: string | null;
4866
+ answer?: string | null;
4867
+ id?: string | null;
4868
+ }[] | null;
4869
+ /**
4870
+ * Manual approval data, including approval time, approver, and internal note.
4871
+ */
4872
+ approval?: {
4873
+ approvedAt?: string | null;
4874
+ approvedBy?: (string | null) | User;
4875
+ note?: string | null;
4876
+ };
4877
+ cancellation?: {
4878
+ canceledAt?: string | null;
4879
+ reason?: string | null;
4880
+ };
4881
+ checkIn?: {
4882
+ checkedInAt?: string | null;
4883
+ checkedInBy?: (string | null) | User;
4884
+ };
4885
+ /**
4886
+ * Hash of the guest access token. It is not the raw token and cannot be revealed or recovered by operators.
4887
+ */
4888
+ guestTokenHash?: string | null;
4889
+ /**
4890
+ * Guest token expiration timestamp. Used internally to decide token validity.
4891
+ */
4892
+ guestTokenExpiresAt?: string | null;
4893
+ /**
4894
+ * Retention deadline for attendee PII. Cleanup may redact PII after this timestamp.
4895
+ */
4896
+ piiRetentionUntil?: string | null;
4897
+ /**
4898
+ * Timestamp when PII was actually redacted. Written by the retention cleanup path.
4899
+ */
4900
+ piiRedactedAt?: string | null;
4901
+ metadata?: {
4902
+ [k: string]: unknown;
4903
+ } | unknown[] | string | number | boolean | null;
4904
+ updatedAt: string;
4905
+ createdAt: string;
4906
+ deletedAt?: string | null;
4907
+ }
4908
+ /**
4909
+ * This interface was referenced by `Config`'s JSON-Schema
4910
+ * via the `definition` "forms".
4911
+ */
4912
+ interface Form {
4913
+ id: string;
4914
+ _order?: string | null;
4915
+ tenant?: (string | null) | Tenant;
4916
+ title: string;
4917
+ /**
4918
+ * Short summary for listing/cards
4919
+ */
4920
+ description?: string | null;
4921
+ isActive?: boolean | null;
4922
+ /**
4923
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
4924
+ */
4925
+ generateSlug?: boolean | null;
4926
+ slug?: string | null;
4927
+ fields?: ({
4928
+ name: string;
4929
+ label?: string | null;
4930
+ width?: number | null;
4931
+ required?: boolean | null;
4932
+ defaultValue?: boolean | null;
4933
+ id?: string | null;
4934
+ blockName?: string | null;
4935
+ blockType: 'checkbox';
4936
+ } | {
4937
+ name: string;
4938
+ label?: string | null;
4939
+ width?: number | null;
4940
+ required?: boolean | null;
4941
+ id?: string | null;
4942
+ blockName?: string | null;
4943
+ blockType: 'country';
4413
4944
  } | {
4414
4945
  name: string;
4415
4946
  label?: string | null;
@@ -4619,12 +5150,6 @@ interface PayloadLockedDocument {
4619
5150
  } | null) | ({
4620
5151
  relationTo: 'tenant-metadata';
4621
5152
  value: string | TenantMetadatum;
4622
- } | null) | ({
4623
- relationTo: 'tenant-auth-settings';
4624
- value: string | TenantAuthSetting;
4625
- } | null) | ({
4626
- relationTo: 'tenant-community-settings';
4627
- value: string | TenantCommunitySetting;
4628
5153
  } | null) | ({
4629
5154
  relationTo: 'api-usage';
4630
5155
  value: string | ApiUsage;
@@ -4731,17 +5256,17 @@ interface PayloadLockedDocument {
4731
5256
  relationTo: 'promotions';
4732
5257
  value: string | Promotion;
4733
5258
  } | null) | ({
4734
- relationTo: 'posts';
4735
- value: string | Post;
5259
+ relationTo: 'articles';
5260
+ value: string | Article;
4736
5261
  } | null) | ({
4737
- relationTo: 'post-authors';
4738
- value: string | PostAuthor;
5262
+ relationTo: 'article-authors';
5263
+ value: string | ArticleAuthor;
4739
5264
  } | null) | ({
4740
- relationTo: 'post-categories';
4741
- value: string | PostCategory;
5265
+ relationTo: 'article-categories';
5266
+ value: string | ArticleCategory;
4742
5267
  } | null) | ({
4743
- relationTo: 'post-tags';
4744
- value: string | PostTag;
5268
+ relationTo: 'article-tags';
5269
+ value: string | ArticleTag;
4745
5270
  } | null) | ({
4746
5271
  relationTo: 'documents';
4747
5272
  value: string | Document;
@@ -4827,8 +5352,8 @@ interface PayloadLockedDocument {
4827
5352
  relationTo: 'live-streams';
4828
5353
  value: string | LiveStream;
4829
5354
  } | null) | ({
4830
- relationTo: 'threads';
4831
- value: string | Thread;
5355
+ relationTo: 'posts';
5356
+ value: string | Post;
4832
5357
  } | null) | ({
4833
5358
  relationTo: 'comments';
4834
5359
  value: string | Comment;
@@ -4842,14 +5367,29 @@ interface PayloadLockedDocument {
4842
5367
  relationTo: 'bookmarks';
4843
5368
  value: string | Bookmark;
4844
5369
  } | null) | ({
4845
- relationTo: 'thread-categories';
4846
- value: string | ThreadCategory;
5370
+ relationTo: 'post-categories';
5371
+ value: string | PostCategory;
4847
5372
  } | null) | ({
4848
5373
  relationTo: 'reports';
4849
5374
  value: string | Report;
4850
5375
  } | null) | ({
4851
5376
  relationTo: 'community-bans';
4852
5377
  value: string | CommunityBan;
5378
+ } | null) | ({
5379
+ relationTo: 'event-calendars';
5380
+ value: string | EventCalendar;
5381
+ } | null) | ({
5382
+ relationTo: 'events';
5383
+ value: string | Event;
5384
+ } | null) | ({
5385
+ relationTo: 'event-tags';
5386
+ value: string | EventTag;
5387
+ } | null) | ({
5388
+ relationTo: 'event-occurrences';
5389
+ value: string | EventOccurrence;
5390
+ } | null) | ({
5391
+ relationTo: 'event-registrations';
5392
+ value: string | EventRegistration;
4853
5393
  } | null) | ({
4854
5394
  relationTo: 'forms';
4855
5395
  value: string | Form;
@@ -5196,7 +5736,6 @@ interface TenantsSelect<T extends boolean = true> {
5196
5736
  };
5197
5737
  webhooks?: T | {
5198
5738
  name?: T;
5199
- purpose?: T;
5200
5739
  url?: T;
5201
5740
  secret?: T;
5202
5741
  isEnabled?: T;
@@ -5281,28 +5820,6 @@ interface TenantMetadataSelect<T extends boolean = true> {
5281
5820
  createdAt?: T;
5282
5821
  deletedAt?: T;
5283
5822
  }
5284
- /**
5285
- * This interface was referenced by `Config`'s JSON-Schema
5286
- * via the `definition` "tenant-auth-settings_select".
5287
- */
5288
- interface TenantAuthSettingsSelect<T extends boolean = true> {
5289
- tenant?: T;
5290
- requiresEmailVerification?: T;
5291
- updatedAt?: T;
5292
- createdAt?: T;
5293
- deletedAt?: T;
5294
- }
5295
- /**
5296
- * This interface was referenced by `Config`'s JSON-Schema
5297
- * via the `definition` "tenant-community-settings_select".
5298
- */
5299
- interface TenantCommunitySettingsSelect<T extends boolean = true> {
5300
- tenant?: T;
5301
- requiresPostApproval?: T;
5302
- updatedAt?: T;
5303
- createdAt?: T;
5304
- deletedAt?: T;
5305
- }
5306
5823
  /**
5307
5824
  * This interface was referenced by `Config`'s JSON-Schema
5308
5825
  * via the `definition` "api-usage_select".
@@ -6185,7 +6702,6 @@ interface CustomersSelect<T extends boolean = true> {
6185
6702
  isGuest?: T;
6186
6703
  authProvider?: T;
6187
6704
  providerUserId?: T;
6188
- isEmailVerified?: T;
6189
6705
  lastLoginAt?: T;
6190
6706
  passwordChangedAt?: T;
6191
6707
  orders?: T;
@@ -6197,7 +6713,7 @@ interface CustomersSelect<T extends boolean = true> {
6197
6713
  firstOrderAt?: T;
6198
6714
  lastOrderAt?: T;
6199
6715
  profile?: T;
6200
- threadCount?: T;
6716
+ postCount?: T;
6201
6717
  commentCount?: T;
6202
6718
  reactionCount?: T;
6203
6719
  isMinor?: T;
@@ -6236,7 +6752,6 @@ interface CustomersSelect<T extends boolean = true> {
6236
6752
  anonymizedAt?: T;
6237
6753
  hashedPassword?: T;
6238
6754
  salt?: T;
6239
- verificationToken?: T;
6240
6755
  resetPasswordToken?: T;
6241
6756
  resetPasswordExpiresAt?: T;
6242
6757
  loginAttemptCount?: T;
@@ -6421,9 +6936,9 @@ interface PromotionsSelect<T extends boolean = true> {
6421
6936
  }
6422
6937
  /**
6423
6938
  * This interface was referenced by `Config`'s JSON-Schema
6424
- * via the `definition` "posts_select".
6939
+ * via the `definition` "articles_select".
6425
6940
  */
6426
- interface PostsSelect<T extends boolean = true> {
6941
+ interface ArticlesSelect<T extends boolean = true> {
6427
6942
  _order?: T;
6428
6943
  tenant?: T;
6429
6944
  title?: T;
@@ -6457,7 +6972,7 @@ interface PostsSelect<T extends boolean = true> {
6457
6972
  visibility?: T;
6458
6973
  scheduledAt?: T;
6459
6974
  featuredUntil?: T;
6460
- relatedPosts?: T;
6975
+ relatedArticles?: T;
6461
6976
  metadata?: T;
6462
6977
  updatedAt?: T;
6463
6978
  createdAt?: T;
@@ -6466,9 +6981,9 @@ interface PostsSelect<T extends boolean = true> {
6466
6981
  }
6467
6982
  /**
6468
6983
  * This interface was referenced by `Config`'s JSON-Schema
6469
- * via the `definition` "post-authors_select".
6984
+ * via the `definition` "article-authors_select".
6470
6985
  */
6471
- interface PostAuthorsSelect<T extends boolean = true> {
6986
+ interface ArticleAuthorsSelect<T extends boolean = true> {
6472
6987
  _order?: T;
6473
6988
  tenant?: T;
6474
6989
  name?: T;
@@ -6477,7 +6992,7 @@ interface PostAuthorsSelect<T extends boolean = true> {
6477
6992
  avatar?: T;
6478
6993
  bio?: T;
6479
6994
  email?: T;
6480
- posts?: T;
6995
+ articles?: T;
6481
6996
  isActive?: T;
6482
6997
  metadata?: T;
6483
6998
  updatedAt?: T;
@@ -6486,9 +7001,9 @@ interface PostAuthorsSelect<T extends boolean = true> {
6486
7001
  }
6487
7002
  /**
6488
7003
  * This interface was referenced by `Config`'s JSON-Schema
6489
- * via the `definition` "post-categories_select".
7004
+ * via the `definition` "article-categories_select".
6490
7005
  */
6491
- interface PostCategoriesSelect<T extends boolean = true> {
7006
+ interface ArticleCategoriesSelect<T extends boolean = true> {
6492
7007
  _order?: T;
6493
7008
  tenant?: T;
6494
7009
  title?: T;
@@ -6504,9 +7019,9 @@ interface PostCategoriesSelect<T extends boolean = true> {
6504
7019
  }
6505
7020
  /**
6506
7021
  * This interface was referenced by `Config`'s JSON-Schema
6507
- * via the `definition` "post-tags_select".
7022
+ * via the `definition` "article-tags_select".
6508
7023
  */
6509
- interface PostTagsSelect<T extends boolean = true> {
7024
+ interface ArticleTagsSelect<T extends boolean = true> {
6510
7025
  _order?: T;
6511
7026
  tenant?: T;
6512
7027
  title?: T;
@@ -6536,7 +7051,6 @@ interface DocumentsSelect<T extends boolean = true> {
6536
7051
  expiresAt?: T;
6537
7052
  changeLog?: T;
6538
7053
  agreementScope?: T;
6539
- requiresAgreement?: T;
6540
7054
  keywords?: T | {
6541
7055
  keyword?: T;
6542
7056
  id?: T;
@@ -7227,9 +7741,9 @@ interface LiveStreamsSelect<T extends boolean = true> {
7227
7741
  }
7228
7742
  /**
7229
7743
  * This interface was referenced by `Config`'s JSON-Schema
7230
- * via the `definition` "threads_select".
7744
+ * via the `definition` "posts_select".
7231
7745
  */
7232
- interface ThreadsSelect<T extends boolean = true> {
7746
+ interface PostsSelect<T extends boolean = true> {
7233
7747
  _order?: T;
7234
7748
  tenant?: T;
7235
7749
  title?: T;
@@ -7271,7 +7785,7 @@ interface ThreadsSelect<T extends boolean = true> {
7271
7785
  */
7272
7786
  interface CommentsSelect<T extends boolean = true> {
7273
7787
  tenant?: T;
7274
- thread?: T;
7788
+ post?: T;
7275
7789
  authorProfile?: T;
7276
7790
  authorSnapshot?: T | {
7277
7791
  displayName?: T;
@@ -7301,7 +7815,7 @@ interface CommentsSelect<T extends boolean = true> {
7301
7815
  */
7302
7816
  interface ReactionsSelect<T extends boolean = true> {
7303
7817
  tenant?: T;
7304
- thread?: T;
7818
+ post?: T;
7305
7819
  comment?: T;
7306
7820
  actorProfile?: T;
7307
7821
  type?: T;
@@ -7332,7 +7846,7 @@ interface ReactionTypesSelect<T extends boolean = true> {
7332
7846
  */
7333
7847
  interface BookmarksSelect<T extends boolean = true> {
7334
7848
  tenant?: T;
7335
- thread?: T;
7849
+ post?: T;
7336
7850
  customer?: T;
7337
7851
  metadata?: T;
7338
7852
  updatedAt?: T;
@@ -7340,9 +7854,9 @@ interface BookmarksSelect<T extends boolean = true> {
7340
7854
  }
7341
7855
  /**
7342
7856
  * This interface was referenced by `Config`'s JSON-Schema
7343
- * via the `definition` "thread-categories_select".
7857
+ * via the `definition` "post-categories_select".
7344
7858
  */
7345
- interface ThreadCategoriesSelect<T extends boolean = true> {
7859
+ interface PostCategoriesSelect<T extends boolean = true> {
7346
7860
  _order?: T;
7347
7861
  tenant?: T;
7348
7862
  title?: T;
@@ -7389,6 +7903,224 @@ interface CommunityBansSelect<T extends boolean = true> {
7389
7903
  updatedAt?: T;
7390
7904
  createdAt?: T;
7391
7905
  }
7906
+ /**
7907
+ * This interface was referenced by `Config`'s JSON-Schema
7908
+ * via the `definition` "event-calendars_select".
7909
+ */
7910
+ interface EventCalendarsSelect<T extends boolean = true> {
7911
+ _order?: T;
7912
+ tenant?: T;
7913
+ title?: T;
7914
+ description?: T;
7915
+ content?: T;
7916
+ publicListing?: T | {
7917
+ showPastOccurrences?: T;
7918
+ defaultRangeMonths?: T;
7919
+ };
7920
+ defaultLocation?: T | {
7921
+ name?: T;
7922
+ address?: T;
7923
+ onlineUrl?: T;
7924
+ };
7925
+ defaultRegistration?: T | {
7926
+ policy?: T;
7927
+ capacity?: T;
7928
+ };
7929
+ seo?: T | {
7930
+ title?: T;
7931
+ description?: T;
7932
+ noIndex?: T;
7933
+ canonical?: T;
7934
+ openGraph?: T | {
7935
+ title?: T;
7936
+ description?: T;
7937
+ image?: T;
7938
+ };
7939
+ };
7940
+ generateSlug?: T;
7941
+ slug?: T;
7942
+ timezone?: T;
7943
+ color?: T;
7944
+ visibility?: T;
7945
+ publishedAt?: T;
7946
+ metadata?: T;
7947
+ updatedAt?: T;
7948
+ createdAt?: T;
7949
+ deletedAt?: T;
7950
+ _status?: T;
7951
+ }
7952
+ /**
7953
+ * This interface was referenced by `Config`'s JSON-Schema
7954
+ * via the `definition` "events_select".
7955
+ */
7956
+ interface EventsSelect<T extends boolean = true> {
7957
+ _order?: T;
7958
+ tenant?: T;
7959
+ title?: T;
7960
+ description?: T;
7961
+ content?: T;
7962
+ eventCalendars?: T;
7963
+ tags?: T;
7964
+ organizer?: T | {
7965
+ name?: T;
7966
+ url?: T;
7967
+ user?: T;
7968
+ };
7969
+ startsAt?: T;
7970
+ endsAt?: T;
7971
+ timezone?: T;
7972
+ isAllDay?: T;
7973
+ recurrence?: T | {
7974
+ rrule?: T;
7975
+ rdates?: T | {
7976
+ date?: T;
7977
+ id?: T;
7978
+ };
7979
+ exdates?: T | {
7980
+ date?: T;
7981
+ id?: T;
7982
+ };
7983
+ materializationMonths?: T;
7984
+ };
7985
+ location?: T | {
7986
+ type?: T;
7987
+ name?: T;
7988
+ address?: T;
7989
+ onlineUrl?: T;
7990
+ onlineNote?: T;
7991
+ privateNote?: T;
7992
+ };
7993
+ registrationPolicy?: T;
7994
+ waitlistPolicy?: T;
7995
+ externalRegistrationUrl?: T;
7996
+ seo?: T | {
7997
+ title?: T;
7998
+ description?: T;
7999
+ noIndex?: T;
8000
+ canonical?: T;
8001
+ openGraph?: T | {
8002
+ title?: T;
8003
+ description?: T;
8004
+ image?: T;
8005
+ };
8006
+ };
8007
+ generateSlug?: T;
8008
+ slug?: T;
8009
+ status?: T;
8010
+ coverImage?: T;
8011
+ visibility?: T;
8012
+ sourceType?: T;
8013
+ externalSource?: T | {
8014
+ provider?: T;
8015
+ sourceId?: T;
8016
+ url?: T;
8017
+ };
8018
+ publishedAt?: T;
8019
+ metadata?: T;
8020
+ updatedAt?: T;
8021
+ createdAt?: T;
8022
+ deletedAt?: T;
8023
+ _status?: T;
8024
+ }
8025
+ /**
8026
+ * This interface was referenced by `Config`'s JSON-Schema
8027
+ * via the `definition` "event-tags_select".
8028
+ */
8029
+ interface EventTagsSelect<T extends boolean = true> {
8030
+ _order?: T;
8031
+ tenant?: T;
8032
+ title?: T;
8033
+ generateSlug?: T;
8034
+ slug?: T;
8035
+ description?: T;
8036
+ image?: T;
8037
+ parent?: T;
8038
+ color?: T;
8039
+ updatedAt?: T;
8040
+ createdAt?: T;
8041
+ deletedAt?: T;
8042
+ }
8043
+ /**
8044
+ * This interface was referenced by `Config`'s JSON-Schema
8045
+ * via the `definition` "event-occurrences_select".
8046
+ */
8047
+ interface EventOccurrencesSelect<T extends boolean = true> {
8048
+ tenant?: T;
8049
+ event?: T;
8050
+ instanceKey?: T;
8051
+ startsAt?: T;
8052
+ endsAt?: T;
8053
+ timezone?: T;
8054
+ isAllDay?: T;
8055
+ status?: T;
8056
+ locationOverride?: T | {
8057
+ name?: T;
8058
+ address?: T;
8059
+ onlineUrl?: T;
8060
+ note?: T;
8061
+ privateNote?: T;
8062
+ };
8063
+ capacity?: T;
8064
+ registrationCount?: T;
8065
+ waitlistCount?: T;
8066
+ checkInWindow?: T | {
8067
+ opensAt?: T;
8068
+ closesAt?: T;
8069
+ };
8070
+ cancellation?: T | {
8071
+ canceledAt?: T;
8072
+ reason?: T;
8073
+ };
8074
+ metadata?: T;
8075
+ updatedAt?: T;
8076
+ createdAt?: T;
8077
+ deletedAt?: T;
8078
+ }
8079
+ /**
8080
+ * This interface was referenced by `Config`'s JSON-Schema
8081
+ * via the `definition` "event-registrations_select".
8082
+ */
8083
+ interface EventRegistrationsSelect<T extends boolean = true> {
8084
+ tenant?: T;
8085
+ event?: T;
8086
+ occurrence?: T;
8087
+ customer?: T;
8088
+ registrationStatus?: T;
8089
+ attendanceStatus?: T;
8090
+ quantity?: T;
8091
+ attendeeSnapshot?: T | {
8092
+ name?: T;
8093
+ email?: T;
8094
+ phone?: T;
8095
+ };
8096
+ attendeeEmail?: T;
8097
+ answers?: T | {
8098
+ question?: T;
8099
+ answer?: T;
8100
+ id?: T;
8101
+ };
8102
+ approval?: T | {
8103
+ approvedAt?: T;
8104
+ approvedBy?: T;
8105
+ note?: T;
8106
+ };
8107
+ cancellation?: T | {
8108
+ canceledAt?: T;
8109
+ reason?: T;
8110
+ };
8111
+ checkIn?: T | {
8112
+ checkedInAt?: T;
8113
+ checkedInBy?: T;
8114
+ };
8115
+ guestTokenHash?: T;
8116
+ guestTokenExpiresAt?: T;
8117
+ piiRetentionUntil?: T;
8118
+ piiRedactedAt?: T;
8119
+ metadata?: T;
8120
+ updatedAt?: T;
8121
+ createdAt?: T;
8122
+ deletedAt?: T;
8123
+ }
7392
8124
  /**
7393
8125
  * This interface was referenced by `Config`'s JSON-Schema
7394
8126
  * via the `definition` "forms_select".
@@ -7575,4 +8307,4 @@ declare module 'payload' {
7575
8307
  }
7576
8308
  }
7577
8309
 
7578
- export type { Config as C, Document as D, Form as F, Image as I, Order as O, Product as P, Return as R, Transaction as T, Video as V, Cart as a, CartItem as b, OrderItem as c, Fulfillment as d, Post as e, PostCategory as f, PostTag as g, ProductVariant as h, Tenant as i };
8310
+ export type { Article as A, Config as C, Document as D, Form as F, Image as I, Order as O, Product as P, Return as R, Transaction as T, Video as V, Cart as a, CartItem as b, OrderItem as c, Fulfillment as d, ArticleAuthor as e, ArticleCategory as f, ArticleTag as g, Post as h, PostCategory as i, ProductVariant as j, Tenant as k, CustomerProfile as l, Comment as m, Reaction as n };