@01.software/sdk 0.30.1 → 0.31.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 (46) hide show
  1. package/README.md +74 -20
  2. package/dist/client.cjs +81 -16
  3. package/dist/client.cjs.map +1 -1
  4. package/dist/client.d.cts +6 -6
  5. package/dist/client.d.ts +6 -6
  6. package/dist/client.js +81 -16
  7. package/dist/client.js.map +1 -1
  8. package/dist/{collection-client-B9d9kr1d.d.ts → collection-client-ByzY3hWK.d.ts} +3 -3
  9. package/dist/{collection-client-QPbwimkU.d.cts → collection-client-DFXXz0vk.d.cts} +3 -3
  10. package/dist/{const-VZuk2tWc.d.cts → const-AytzliEu.d.cts} +4 -4
  11. package/dist/{const-B75IFDRi.d.ts → const-BGCP-OJL.d.ts} +4 -4
  12. package/dist/{index-B2WbhEgT.d.cts → index-BGEhoDUs.d.cts} +1 -1
  13. package/dist/{index-B2WbhEgT.d.ts → index-BGEhoDUs.d.ts} +1 -1
  14. package/dist/index.cjs +156 -19
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.cts +8 -8
  17. package/dist/index.d.ts +8 -8
  18. package/dist/index.js +156 -19
  19. package/dist/index.js.map +1 -1
  20. package/dist/{payload-types-DPjO_IbQ.d.cts → payload-types-Wa4-eC6x.d.cts} +790 -534
  21. package/dist/{payload-types-DPjO_IbQ.d.ts → payload-types-Wa4-eC6x.d.ts} +790 -534
  22. package/dist/query.cjs +63 -13
  23. package/dist/query.cjs.map +1 -1
  24. package/dist/query.d.cts +6 -6
  25. package/dist/query.d.ts +6 -6
  26. package/dist/query.js +63 -13
  27. package/dist/query.js.map +1 -1
  28. package/dist/realtime.d.cts +2 -2
  29. package/dist/realtime.d.ts +2 -2
  30. package/dist/server.cjs +142 -17
  31. package/dist/server.cjs.map +1 -1
  32. package/dist/server.d.cts +32 -7
  33. package/dist/server.d.ts +32 -7
  34. package/dist/server.js +142 -17
  35. package/dist/server.js.map +1 -1
  36. package/dist/{types-Dlb2mwpX.d.cts → types-BX2mqDf6.d.ts} +46 -6
  37. package/dist/{types-1fBLrYU7.d.ts → types-CVA10VC-.d.ts} +6 -2
  38. package/dist/{types-BwT0eeaz.d.cts → types-CmLG-7RL.d.cts} +6 -2
  39. package/dist/{types-DuSKPiY5.d.ts → types-DChFjQGz.d.cts} +46 -6
  40. package/dist/ui/form.d.cts +1 -1
  41. package/dist/ui/form.d.ts +1 -1
  42. package/dist/ui/video.d.cts +1 -1
  43. package/dist/ui/video.d.ts +1 -1
  44. package/dist/webhook.d.cts +3 -3
  45. package/dist/webhook.d.ts +3 -3
  46. package/package.json +1 -1
@@ -23,10 +23,6 @@ interface Config {
23
23
  'webhook-deliveries': WebhookDelivery;
24
24
  tenants: Tenant;
25
25
  'tenant-metadata': TenantMetadatum;
26
- 'tenant-web-analytics-config': TenantWebAnalyticsConfig;
27
- 'api-usage': ApiUsage;
28
- 'tenant-analytics-daily': TenantAnalyticsDaily;
29
- 'analytics-event-schemas': AnalyticsEventSchema;
30
26
  'tenant-entitlements': TenantEntitlement;
31
27
  'tenant-purge-jobs': TenantPurgeJob;
32
28
  subscriptions: Subscription;
@@ -34,6 +30,10 @@ interface Config {
34
30
  plans: Plan;
35
31
  webhooks: Webhook;
36
32
  'tenant-logos': TenantLogo;
33
+ 'tenant-web-analytics-config': TenantWebAnalyticsConfig;
34
+ 'tenant-analytics-daily': TenantAnalyticsDaily;
35
+ 'analytics-event-schemas': AnalyticsEventSchema;
36
+ 'api-usage': ApiUsage;
37
37
  products: Product;
38
38
  'product-variants': ProductVariant;
39
39
  'product-options': ProductOption;
@@ -41,6 +41,7 @@ interface Config {
41
41
  'product-categories': ProductCategory;
42
42
  'product-tags': ProductTag;
43
43
  'product-collections': ProductCollection;
44
+ 'product-collection-items': ProductCollectionItem;
44
45
  brands: Brand;
45
46
  'brand-logos': BrandLogo;
46
47
  orders: Order;
@@ -124,11 +125,14 @@ interface Config {
124
125
  products: {
125
126
  variants: 'product-variants';
126
127
  options: 'product-options';
127
- collections: 'product-collections';
128
+ collectionItems: 'product-collection-items';
128
129
  };
129
130
  'product-options': {
130
131
  values: 'product-option-values';
131
132
  };
133
+ 'product-collections': {
134
+ items: 'product-collection-items';
135
+ };
132
136
  orders: {
133
137
  items: 'order-items';
134
138
  transactions: 'transactions';
@@ -186,10 +190,6 @@ interface Config {
186
190
  'webhook-deliveries': WebhookDeliveriesSelect<false> | WebhookDeliveriesSelect<true>;
187
191
  tenants: TenantsSelect<false> | TenantsSelect<true>;
188
192
  'tenant-metadata': TenantMetadataSelect<false> | TenantMetadataSelect<true>;
189
- 'tenant-web-analytics-config': TenantWebAnalyticsConfigSelect<false> | TenantWebAnalyticsConfigSelect<true>;
190
- 'api-usage': ApiUsageSelect<false> | ApiUsageSelect<true>;
191
- 'tenant-analytics-daily': TenantAnalyticsDailySelect<false> | TenantAnalyticsDailySelect<true>;
192
- 'analytics-event-schemas': AnalyticsEventSchemasSelect<false> | AnalyticsEventSchemasSelect<true>;
193
193
  'tenant-entitlements': TenantEntitlementsSelect<false> | TenantEntitlementsSelect<true>;
194
194
  'tenant-purge-jobs': TenantPurgeJobsSelect<false> | TenantPurgeJobsSelect<true>;
195
195
  subscriptions: SubscriptionsSelect<false> | SubscriptionsSelect<true>;
@@ -197,6 +197,10 @@ interface Config {
197
197
  plans: PlansSelect<false> | PlansSelect<true>;
198
198
  webhooks: WebhooksSelect<false> | WebhooksSelect<true>;
199
199
  'tenant-logos': TenantLogosSelect<false> | TenantLogosSelect<true>;
200
+ 'tenant-web-analytics-config': TenantWebAnalyticsConfigSelect<false> | TenantWebAnalyticsConfigSelect<true>;
201
+ 'tenant-analytics-daily': TenantAnalyticsDailySelect<false> | TenantAnalyticsDailySelect<true>;
202
+ 'analytics-event-schemas': AnalyticsEventSchemasSelect<false> | AnalyticsEventSchemasSelect<true>;
203
+ 'api-usage': ApiUsageSelect<false> | ApiUsageSelect<true>;
200
204
  products: ProductsSelect<false> | ProductsSelect<true>;
201
205
  'product-variants': ProductVariantsSelect<false> | ProductVariantsSelect<true>;
202
206
  'product-options': ProductOptionsSelect<false> | ProductOptionsSelect<true>;
@@ -204,6 +208,7 @@ interface Config {
204
208
  'product-categories': ProductCategoriesSelect<false> | ProductCategoriesSelect<true>;
205
209
  'product-tags': ProductTagsSelect<false> | ProductTagsSelect<true>;
206
210
  'product-collections': ProductCollectionsSelect<false> | ProductCollectionsSelect<true>;
211
+ 'product-collection-items': ProductCollectionItemsSelect<false> | ProductCollectionItemsSelect<true>;
207
212
  brands: BrandsSelect<false> | BrandsSelect<true>;
208
213
  'brand-logos': BrandLogosSelect<false> | BrandLogosSelect<true>;
209
214
  orders: OrdersSelect<false> | OrdersSelect<true>;
@@ -402,7 +407,7 @@ interface Image {
402
407
  id: string;
403
408
  tenant?: (string | null) | Tenant;
404
409
  /**
405
- * Alternative text for users who cannot see the image and for search/share context.
410
+ * Describe the image. Used for users who cannot see it, screen readers, and search/share previews.
406
411
  */
407
412
  alt?: string | null;
408
413
  /**
@@ -488,6 +493,21 @@ interface Tenant {
488
493
  * URL-safe identifier (auto-generated)
489
494
  */
490
495
  slug?: string | null;
496
+ /**
497
+ * Tenant-owned frontend origins that can open saved-record preview. Storefronts, docs sites, community sites, and other tenant frontends register here. Managed separately from API CORS origins.
498
+ */
499
+ previewDestinations?: {
500
+ origin: string;
501
+ /**
502
+ * Default destination used by the preview button. Select only one primary destination.
503
+ */
504
+ isPrimary?: boolean | null;
505
+ /**
506
+ * Draft Mode route path on the destination frontend. Enter a path, not an origin.
507
+ */
508
+ draftPath?: string | null;
509
+ id?: string | null;
510
+ }[] | null;
491
511
  /**
492
512
  * Tenant owner. Only the owner can delete the tenant or transfer ownership.
493
513
  */
@@ -513,7 +533,7 @@ interface Tenant {
513
533
  */
514
534
  publishableKey: string;
515
535
  /**
516
- * Domains allowed to call this tenant’s API from a browser. Leave empty to block browser calls.
536
+ * Origins allowed to call this tenant API with a Publishable Key from a browser. Separate from saved-record preview destinations. Leave empty to block browser API calls.
517
537
  */
518
538
  cors?: {
519
539
  origin: string;
@@ -1155,7 +1175,7 @@ interface TenantLogo {
1155
1175
  id: string;
1156
1176
  tenant?: (string | null) | Tenant;
1157
1177
  /**
1158
- * Alternative text for users who cannot see the image and for search/share context.
1178
+ * Describe the image. Used for users who cannot see it, screen readers, and search/share previews.
1159
1179
  */
1160
1180
  alt?: string | null;
1161
1181
  /**
@@ -1244,82 +1264,213 @@ interface TenantLogo {
1244
1264
  }
1245
1265
  /**
1246
1266
  * This interface was referenced by `Config`'s JSON-Schema
1247
- * via the `definition` "tenant-web-analytics-config".
1267
+ * via the `definition` "tenant-entitlements".
1248
1268
  */
1249
- interface TenantWebAnalyticsConfig {
1269
+ interface TenantEntitlement {
1250
1270
  id: string;
1251
- tenant?: (string | null) | Tenant;
1252
- enabled?: boolean | null;
1271
+ tenant: string | Tenant;
1272
+ plan: 'free' | 'starter' | 'basic' | 'pro' | 'enterprise';
1253
1273
  /**
1254
- * Domains allowed to send analytics events. If empty, browser analytics is blocked.
1274
+ * Lifecycle status for the entitlement. Only active rows participate in current plan resolution.
1255
1275
  */
1256
- allowedOrigins?: {
1257
- origin: string;
1258
- id?: string | null;
1259
- }[] | null;
1276
+ status: 'active' | 'scheduled' | 'expired' | 'revoked';
1277
+ sourceType: 'subscription' | 'manual' | 'support' | 'promo' | 'trial' | 'enterprise_contract';
1278
+ sourceSubscription?: (string | null) | Subscription;
1260
1279
  /**
1261
- * Timezone used to group daily analytics. Once data starts coming in, this is locked and cannot be changed.
1280
+ * Tie-breaker for overlapping entitlements. Higher values win within the same source precedence.
1262
1281
  */
1263
- timezone: string;
1282
+ priority: number;
1283
+ startsAt: string;
1264
1284
  /**
1265
- * Automatically locked once the first analytics record is saved. Contact support to unlock.
1285
+ * Entitlement end date. Required by hook validation for promo / trial sources and excluded from current plan resolution after expiry.
1266
1286
  */
1267
- tzLocked?: boolean | null;
1287
+ endsAt?: string | null;
1288
+ reason?: string | null;
1289
+ grantedBy?: (string | null) | User;
1290
+ revokedAt?: string | null;
1291
+ revokedBy?: (string | null) | User;
1268
1292
  updatedAt: string;
1269
1293
  createdAt: string;
1270
1294
  deletedAt?: string | null;
1271
1295
  }
1272
1296
  /**
1273
1297
  * This interface was referenced by `Config`'s JSON-Schema
1274
- * via the `definition` "api-usage".
1298
+ * via the `definition` "subscriptions".
1275
1299
  */
1276
- interface ApiUsage {
1300
+ interface Subscription {
1277
1301
  id: string;
1278
- tenant?: (string | null) | Tenant;
1302
+ tenant: string | Tenant;
1303
+ plan: 'starter' | 'basic' | 'pro';
1304
+ billingCycle: 'monthly' | 'yearly';
1279
1305
  /**
1280
- * YYYY-MM format
1306
+ * Payment amount (KRW)
1281
1307
  */
1282
- month: string;
1283
- apiCallCount: number;
1284
- plan: 'free' | 'starter' | 'basic' | 'pro' | 'enterprise';
1308
+ amount: number;
1309
+ status: 'active' | 'past_due' | 'canceled' | 'expired' | 'suspended';
1310
+ currency: 'KRW' | 'USD';
1311
+ provider: 'toss';
1312
+ currentPeriodStart?: string | null;
1313
+ currentPeriodEnd?: string | null;
1314
+ trialStartAt?: string | null;
1315
+ trialEndAt?: string | null;
1316
+ endedAt?: string | null;
1317
+ pastDueAt?: string | null;
1285
1318
  /**
1286
- * -1 means unlimited
1319
+ * Toss billing key (AES-256-GCM encrypted)
1287
1320
  */
1288
- apiCallLimit: number;
1321
+ billingKey?: string | null;
1289
1322
  /**
1290
- * Storage usage in bytes
1323
+ * Toss customer key (UUID)
1291
1324
  */
1292
- storageUsedBytes?: number | null;
1325
+ customerKey?: string | null;
1293
1326
  /**
1294
- * Storage limit in bytes (-1 means unlimited)
1327
+ * Registered card info
1295
1328
  */
1296
- storageLimitBytes?: number | null;
1329
+ cardInfo?: {
1330
+ issuerCode?: string | null;
1331
+ /**
1332
+ * Masked card number
1333
+ */
1334
+ number?: string | null;
1335
+ cardType?: string | null;
1336
+ };
1297
1337
  /**
1298
- * Total document count across all tenant-scoped collections
1338
+ * Provider-owned diagnostic and audit metadata returned by the billing provider. Not a general manual-edit field.
1299
1339
  */
1300
- documentCount?: number | null;
1340
+ providerMetadata?: {
1341
+ [k: string]: unknown;
1342
+ } | unknown[] | string | number | boolean | null;
1343
+ cancelAtPeriodEnd?: boolean | null;
1344
+ canceledAt?: string | null;
1345
+ cancelReason?: string | null;
1346
+ retryCount?: number | null;
1347
+ graceDeadline?: string | null;
1348
+ lastPaymentError?: string | null;
1349
+ pendingPlanChange?: {
1350
+ targetPlan?: ('starter' | 'basic' | 'pro') | null;
1351
+ targetAmount?: number | null;
1352
+ effectiveAt?: string | null;
1353
+ };
1354
+ updatedAt: string;
1355
+ createdAt: string;
1356
+ deletedAt?: string | null;
1357
+ }
1358
+ /**
1359
+ * This interface was referenced by `Config`'s JSON-Schema
1360
+ * via the `definition` "tenant-purge-jobs".
1361
+ */
1362
+ interface TenantPurgeJob {
1363
+ id: string;
1364
+ tenantId: string;
1365
+ status: 'pending' | 'running' | 'failed' | 'ready-to-delete';
1366
+ currentCollection?: string | null;
1367
+ deletedCount?: number | null;
1368
+ failure?: string | null;
1369
+ completedAt?: string | null;
1370
+ updatedAt: string;
1371
+ createdAt: string;
1372
+ }
1373
+ /**
1374
+ * This interface was referenced by `Config`'s JSON-Schema
1375
+ * via the `definition` "billing-history".
1376
+ */
1377
+ interface BillingHistory {
1378
+ id: string;
1379
+ tenant: string | Tenant;
1380
+ subscription?: (string | null) | Subscription;
1381
+ type: 'payment' | 'refund' | 'plan_change';
1382
+ status: 'success' | 'failed' | 'refunded' | 'partial_refund';
1301
1383
  /**
1302
- * Number of video documents
1384
+ * Amount (KRW)
1303
1385
  */
1304
- videoCount?: number | null;
1386
+ amount: number;
1305
1387
  /**
1306
- * Weighted video minutes used (duration × quality multiplier)
1388
+ * Plan at time of payment
1307
1389
  */
1308
- videoMinutesUsed?: number | null;
1390
+ plan: 'starter' | 'basic' | 'pro';
1391
+ provider: 'toss';
1392
+ currency: 'KRW' | 'USD';
1393
+ billingCycle?: ('monthly' | 'yearly') | null;
1394
+ periodStart?: string | null;
1395
+ periodEnd?: string | null;
1309
1396
  /**
1310
- * Monthly viewer watch time from Mux Data
1397
+ * Unique order number
1311
1398
  */
1312
- deliveryMinutesUsed?: number | null;
1399
+ invoiceNumber: string;
1400
+ orderName?: string | null;
1313
1401
  /**
1314
- * AI generation count
1402
+ * Toss payment key
1315
1403
  */
1316
- aiGenerationCount?: number | null;
1404
+ paymentKey?: string | null;
1317
1405
  /**
1318
- * Timestamp when the usage snapshot cron calculated this monthly aggregate.
1406
+ * Full Toss API response
1319
1407
  */
1320
- snapshottedAt?: string | null;
1408
+ tossResponse?: {
1409
+ [k: string]: unknown;
1410
+ } | unknown[] | string | number | boolean | null;
1411
+ errorMessage?: string | null;
1412
+ /**
1413
+ * Original billing record for retry
1414
+ */
1415
+ retryOf?: (string | null) | BillingHistory;
1321
1416
  updatedAt: string;
1322
1417
  createdAt: string;
1418
+ deletedAt?: string | null;
1419
+ }
1420
+ /**
1421
+ * This interface was referenced by `Config`'s JSON-Schema
1422
+ * via the `definition` "plans".
1423
+ */
1424
+ interface Plan {
1425
+ id: string;
1426
+ /**
1427
+ * Plan identifier (free, starter, basic, pro, enterprise)
1428
+ */
1429
+ key: string;
1430
+ /**
1431
+ * Plan display name
1432
+ */
1433
+ name: string;
1434
+ /**
1435
+ * Reference-only feature list; enforced elsewhere.
1436
+ */
1437
+ featuresAllowed?: ('ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'articles' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community' | 'events')[] | null;
1438
+ /**
1439
+ * Reference-only quotas such as storageBytes; enforced by entitlement and usage policy elsewhere.
1440
+ */
1441
+ quotas?: {
1442
+ [k: string]: unknown;
1443
+ } | unknown[] | string | number | boolean | null;
1444
+ updatedAt: string;
1445
+ createdAt: string;
1446
+ deletedAt?: string | null;
1447
+ }
1448
+ /**
1449
+ * This interface was referenced by `Config`'s JSON-Schema
1450
+ * via the `definition` "tenant-web-analytics-config".
1451
+ */
1452
+ interface TenantWebAnalyticsConfig {
1453
+ id: string;
1454
+ tenant?: (string | null) | Tenant;
1455
+ enabled?: boolean | null;
1456
+ /**
1457
+ * Domains allowed to send analytics events. If empty, browser analytics is blocked.
1458
+ */
1459
+ allowedOrigins?: {
1460
+ origin: string;
1461
+ id?: string | null;
1462
+ }[] | null;
1463
+ /**
1464
+ * Timezone used to group daily analytics. Once data starts coming in, this is locked and cannot be changed.
1465
+ */
1466
+ timezone: string;
1467
+ /**
1468
+ * Automatically locked once the first analytics record is saved. Contact support to unlock.
1469
+ */
1470
+ tzLocked?: boolean | null;
1471
+ updatedAt: string;
1472
+ createdAt: string;
1473
+ deletedAt?: string | null;
1323
1474
  }
1324
1475
  /**
1325
1476
  * This interface was referenced by `Config`'s JSON-Schema
@@ -1426,226 +1577,95 @@ interface TenantAnalyticsDaily {
1426
1577
  p50?: number | null;
1427
1578
  p99?: number | null;
1428
1579
  buckets?: {
1429
- bucket: string;
1430
- label: string;
1431
- count: number;
1432
- id?: string | null;
1433
- }[] | null;
1434
- };
1435
- };
1436
- updatedAt: string;
1437
- createdAt: string;
1438
- }
1439
- /**
1440
- * This interface was referenced by `Config`'s JSON-Schema
1441
- * via the `definition` "analytics-event-schemas".
1442
- */
1443
- interface AnalyticsEventSchema {
1444
- id: string;
1445
- tenant?: (string | null) | Tenant;
1446
- /**
1447
- * Valid event name pattern.
1448
- */
1449
- eventName: string;
1450
- enabled: boolean;
1451
- dimensions?: {
1452
- key: string;
1453
- type: 'enum' | 'boolean';
1454
- /**
1455
- * Comma-separated values. Required when type=enum, optional otherwise. Boolean auto-derives {true,false}. Max 20 per key.
1456
- */
1457
- allowedValues?: string | null;
1458
- description?: string | null;
1459
- id?: string | null;
1460
- }[] | null;
1461
- createdBy?: (string | null) | User;
1462
- updatedBy?: (string | null) | User;
1463
- updatedAt: string;
1464
- createdAt: string;
1465
- deletedAt?: string | null;
1466
- }
1467
- /**
1468
- * This interface was referenced by `Config`'s JSON-Schema
1469
- * via the `definition` "tenant-entitlements".
1470
- */
1471
- interface TenantEntitlement {
1472
- id: string;
1473
- tenant: string | Tenant;
1474
- plan: 'free' | 'starter' | 'basic' | 'pro' | 'enterprise';
1475
- /**
1476
- * Lifecycle status for the entitlement. Only active rows participate in current plan resolution.
1477
- */
1478
- status: 'active' | 'scheduled' | 'expired' | 'revoked';
1479
- sourceType: 'subscription' | 'manual' | 'support' | 'promo' | 'trial' | 'enterprise_contract';
1480
- sourceSubscription?: (string | null) | Subscription;
1481
- /**
1482
- * Tie-breaker for overlapping entitlements. Higher values win within the same source precedence.
1483
- */
1484
- priority: number;
1485
- startsAt: string;
1486
- /**
1487
- * Entitlement end date. Required by hook validation for promo / trial sources and excluded from current plan resolution after expiry.
1488
- */
1489
- endsAt?: string | null;
1490
- reason?: string | null;
1491
- grantedBy?: (string | null) | User;
1492
- revokedAt?: string | null;
1493
- revokedBy?: (string | null) | User;
1494
- updatedAt: string;
1495
- createdAt: string;
1496
- deletedAt?: string | null;
1497
- }
1498
- /**
1499
- * This interface was referenced by `Config`'s JSON-Schema
1500
- * via the `definition` "subscriptions".
1501
- */
1502
- interface Subscription {
1503
- id: string;
1504
- tenant: string | Tenant;
1505
- plan: 'starter' | 'basic' | 'pro';
1506
- billingCycle: 'monthly' | 'yearly';
1507
- /**
1508
- * Payment amount (KRW)
1509
- */
1510
- amount: number;
1511
- status: 'active' | 'past_due' | 'canceled' | 'expired' | 'suspended';
1512
- currency: 'KRW' | 'USD';
1513
- provider: 'toss';
1514
- currentPeriodStart?: string | null;
1515
- currentPeriodEnd?: string | null;
1516
- trialStartAt?: string | null;
1517
- trialEndAt?: string | null;
1518
- endedAt?: string | null;
1519
- pastDueAt?: string | null;
1520
- /**
1521
- * Toss billing key (AES-256-GCM encrypted)
1522
- */
1523
- billingKey?: string | null;
1524
- /**
1525
- * Toss customer key (UUID)
1526
- */
1527
- customerKey?: string | null;
1528
- /**
1529
- * Registered card info
1530
- */
1531
- cardInfo?: {
1532
- issuerCode?: string | null;
1533
- /**
1534
- * Masked card number
1535
- */
1536
- number?: string | null;
1537
- cardType?: string | null;
1538
- };
1539
- /**
1540
- * Provider-owned diagnostic and audit metadata returned by the billing provider. Not a general manual-edit field.
1541
- */
1542
- providerMetadata?: {
1543
- [k: string]: unknown;
1544
- } | unknown[] | string | number | boolean | null;
1545
- cancelAtPeriodEnd?: boolean | null;
1546
- canceledAt?: string | null;
1547
- cancelReason?: string | null;
1548
- retryCount?: number | null;
1549
- graceDeadline?: string | null;
1550
- lastPaymentError?: string | null;
1551
- pendingPlanChange?: {
1552
- targetPlan?: ('starter' | 'basic' | 'pro') | null;
1553
- targetAmount?: number | null;
1554
- effectiveAt?: string | null;
1580
+ bucket: string;
1581
+ label: string;
1582
+ count: number;
1583
+ id?: string | null;
1584
+ }[] | null;
1585
+ };
1555
1586
  };
1556
1587
  updatedAt: string;
1557
1588
  createdAt: string;
1558
- deletedAt?: string | null;
1559
1589
  }
1560
1590
  /**
1561
1591
  * This interface was referenced by `Config`'s JSON-Schema
1562
- * via the `definition` "tenant-purge-jobs".
1592
+ * via the `definition` "analytics-event-schemas".
1563
1593
  */
1564
- interface TenantPurgeJob {
1594
+ interface AnalyticsEventSchema {
1565
1595
  id: string;
1566
- tenantId: string;
1567
- status: 'pending' | 'running' | 'failed' | 'ready-to-delete';
1568
- currentCollection?: string | null;
1569
- deletedCount?: number | null;
1570
- failure?: string | null;
1571
- completedAt?: string | null;
1596
+ tenant?: (string | null) | Tenant;
1597
+ /**
1598
+ * Valid event name pattern.
1599
+ */
1600
+ eventName: string;
1601
+ enabled: boolean;
1602
+ dimensions?: {
1603
+ key: string;
1604
+ type: 'enum' | 'boolean';
1605
+ /**
1606
+ * Comma-separated values. Required when type=enum, optional otherwise. Boolean auto-derives {true,false}. Max 20 per key.
1607
+ */
1608
+ allowedValues?: string | null;
1609
+ description?: string | null;
1610
+ id?: string | null;
1611
+ }[] | null;
1612
+ createdBy?: (string | null) | User;
1613
+ updatedBy?: (string | null) | User;
1572
1614
  updatedAt: string;
1573
1615
  createdAt: string;
1616
+ deletedAt?: string | null;
1574
1617
  }
1575
1618
  /**
1576
1619
  * This interface was referenced by `Config`'s JSON-Schema
1577
- * via the `definition` "billing-history".
1620
+ * via the `definition` "api-usage".
1578
1621
  */
1579
- interface BillingHistory {
1622
+ interface ApiUsage {
1580
1623
  id: string;
1581
- tenant: string | Tenant;
1582
- subscription?: (string | null) | Subscription;
1583
- type: 'payment' | 'refund' | 'plan_change';
1584
- status: 'success' | 'failed' | 'refunded' | 'partial_refund';
1624
+ tenant?: (string | null) | Tenant;
1585
1625
  /**
1586
- * Amount (KRW)
1626
+ * YYYY-MM format
1587
1627
  */
1588
- amount: number;
1628
+ month: string;
1629
+ apiCallCount: number;
1630
+ plan: 'free' | 'starter' | 'basic' | 'pro' | 'enterprise';
1589
1631
  /**
1590
- * Plan at time of payment
1632
+ * -1 means unlimited
1591
1633
  */
1592
- plan: 'starter' | 'basic' | 'pro';
1593
- provider: 'toss';
1594
- currency: 'KRW' | 'USD';
1595
- billingCycle?: ('monthly' | 'yearly') | null;
1596
- periodStart?: string | null;
1597
- periodEnd?: string | null;
1634
+ apiCallLimit: number;
1598
1635
  /**
1599
- * Unique order number
1636
+ * Storage usage in bytes
1600
1637
  */
1601
- invoiceNumber: string;
1602
- orderName?: string | null;
1638
+ storageUsedBytes?: number | null;
1603
1639
  /**
1604
- * Toss payment key
1640
+ * Storage limit in bytes (-1 means unlimited)
1605
1641
  */
1606
- paymentKey?: string | null;
1642
+ storageLimitBytes?: number | null;
1607
1643
  /**
1608
- * Full Toss API response
1644
+ * Total document count across all tenant-scoped collections
1609
1645
  */
1610
- tossResponse?: {
1611
- [k: string]: unknown;
1612
- } | unknown[] | string | number | boolean | null;
1613
- errorMessage?: string | null;
1646
+ documentCount?: number | null;
1614
1647
  /**
1615
- * Original billing record for retry
1648
+ * Number of video documents
1616
1649
  */
1617
- retryOf?: (string | null) | BillingHistory;
1618
- updatedAt: string;
1619
- createdAt: string;
1620
- deletedAt?: string | null;
1621
- }
1622
- /**
1623
- * This interface was referenced by `Config`'s JSON-Schema
1624
- * via the `definition` "plans".
1625
- */
1626
- interface Plan {
1627
- id: string;
1650
+ videoCount?: number | null;
1628
1651
  /**
1629
- * Plan identifier (free, starter, basic, pro, enterprise)
1652
+ * Weighted video minutes used (duration × quality multiplier)
1630
1653
  */
1631
- key: string;
1654
+ videoMinutesUsed?: number | null;
1632
1655
  /**
1633
- * Plan display name
1656
+ * Monthly viewer watch time from Mux Data
1634
1657
  */
1635
- name: string;
1658
+ deliveryMinutesUsed?: number | null;
1636
1659
  /**
1637
- * Reference-only feature list; enforced elsewhere.
1660
+ * AI generation count
1638
1661
  */
1639
- featuresAllowed?: ('ecommerce' | 'customers' | 'playlists' | 'galleries' | 'links' | 'forms' | 'articles' | 'documents' | 'canvas' | 'videos' | 'live-streaming' | 'community' | 'events')[] | null;
1662
+ aiGenerationCount?: number | null;
1640
1663
  /**
1641
- * Reference-only quotas such as storageBytes; enforced by entitlement and usage policy elsewhere.
1664
+ * Timestamp when the usage snapshot cron calculated this monthly aggregate.
1642
1665
  */
1643
- quotas?: {
1644
- [k: string]: unknown;
1645
- } | unknown[] | string | number | boolean | null;
1666
+ snapshottedAt?: string | null;
1646
1667
  updatedAt: string;
1647
1668
  createdAt: string;
1648
- deletedAt?: string | null;
1649
1669
  }
1650
1670
  /**
1651
1671
  * This interface was referenced by `Config`'s JSON-Schema
@@ -1655,17 +1675,26 @@ interface Product {
1655
1675
  id: string;
1656
1676
  _order?: string | null;
1657
1677
  tenant?: (string | null) | Tenant;
1658
- title?: string | null;
1678
+ title: string;
1659
1679
  /**
1660
- * Secondary display line shown in cards, listings, and detail headers.
1680
+ * Short supporting line shown on product cards and detail headers.
1661
1681
  */
1662
1682
  subtitle?: string | null;
1663
1683
  /**
1664
- * Short summary for listing/cards
1684
+ * Summary description used for product detail and search previews.
1665
1685
  */
1666
1686
  description?: string | null;
1687
+ /**
1688
+ * Product detail gallery images. When thumbnail and listing.primaryImage are empty, the first gallery image can appear as the product list thumbnail. Add alt text when uploading new images and order images in storefront display order.
1689
+ */
1667
1690
  images?: (string | Image)[] | null;
1691
+ /**
1692
+ * Links this content to videos from the Mux-backed videos collection.
1693
+ */
1668
1694
  videos?: (string | Video)[] | null;
1695
+ /**
1696
+ * Product detail body content. Supports image uploads and Iframe/Player/Carousel embed blocks. The article editor Code block and AI assist are not shown in this product profile.
1697
+ */
1669
1698
  content?: {
1670
1699
  root: {
1671
1700
  type: string;
@@ -1693,17 +1722,23 @@ interface Product {
1693
1722
  };
1694
1723
  categories?: (string | ProductCategory)[] | null;
1695
1724
  tags?: (string | ProductTag)[] | null;
1725
+ /**
1726
+ * Canonical storefront brand used for brand filtering and brand pages. Preserve external supplier names in the sidebar Vendor field.
1727
+ */
1696
1728
  brand?: (string | null) | Brand;
1729
+ /**
1730
+ * Shipping fee, free-shipping threshold, and estimated delivery policy for this product. When empty on a new product, the tenant default shipping policy is applied automatically.
1731
+ */
1697
1732
  shippingPolicy?: (string | null) | ShippingPolicy;
1698
1733
  /**
1699
- * Product weight (g)
1734
+ * Integer weight in grams. For example, enter 2500 for 2.5 kg.
1700
1735
  */
1701
1736
  weight?: number | null;
1702
1737
  /**
1703
- * Product collections that include this product. Managed from the collection edit view.
1738
+ * Collection memberships for this product. Managed from the collection edit view.
1704
1739
  */
1705
- collections?: {
1706
- docs?: (string | ProductCollection)[];
1740
+ collectionItems?: {
1741
+ docs?: (string | ProductCollectionItem)[];
1707
1742
  hasNextPage?: boolean;
1708
1743
  totalDocs?: number;
1709
1744
  };
@@ -1716,49 +1751,46 @@ interface Product {
1716
1751
  */
1717
1752
  maxOrderQuantity?: number | null;
1718
1753
  /**
1719
- * Primary option used to expand this product into option-value listing cards (for example, Color)
1754
+ * Operator-selected primary option. Save the product, then add options to make this selectable. When selected, product cards/search expand this product by option value (for example, Color).
1720
1755
  */
1721
1756
  listingPrimaryOption?: (string | null) | ProductOption;
1722
1757
  /**
1723
- * Derived listing projection for product cards and search
1758
+ * Automatically derived listing projection for product cards and search. Operators do not edit these fields directly.
1724
1759
  */
1725
1760
  listing?: {
1726
1761
  /**
1727
- * Variant prioritized for product cards. Automatically derived from sellable variants, active variants, and sort order.
1762
+ * Variant prioritized for product cards. Automatically derived from sellable variants, active variants, and sort order. Storefront product cards use this as the option hint.
1728
1763
  */
1729
1764
  selectionHintVariant?: (string | null) | ProductVariant;
1730
1765
  /**
1731
- * Primary image for product cards/search. Product media is preferred, then variant media is used as fallback.
1766
+ * Primary image rendered by storefront product cards and search results. Product thumbnail/gallery media is preferred, then variant media is used as fallback.
1732
1767
  */
1733
1768
  primaryImage?: (string | null) | Image;
1734
1769
  /**
1735
- * Lowest active variant price. Automatically recalculated when variants change.
1770
+ * Lowest active variant price. Automatically recalculated when variants change. Storefront cards and filters use this price.
1736
1771
  */
1737
1772
  minPrice?: number | null;
1738
1773
  /**
1739
- * Highest active variant price. Automatically recalculated when variants change.
1774
+ * Highest active variant price. Automatically recalculated when variants change. Storefront cards and filters use this price.
1740
1775
  */
1741
1776
  maxPrice?: number | null;
1742
1777
  /**
1743
- * Lowest compare-at price across active variants. Automatically recalculated when variants change.
1778
+ * Lowest compare-at price across active variants. Automatically recalculated when variants change. Storefront discount displays use this value.
1744
1779
  */
1745
1780
  minCompareAtPrice?: number | null;
1746
1781
  /**
1747
- * Highest compare-at price across active variants. Automatically recalculated when variants change.
1782
+ * Highest compare-at price across active variants. Automatically recalculated when variants change. Storefront discount displays use this value.
1748
1783
  */
1749
1784
  maxCompareAtPrice?: number | null;
1750
1785
  /**
1751
- * Automatically enabled when the minimum and maximum active variant prices differ.
1786
+ * Automatically enabled when the minimum and maximum active variant prices differ. Storefront cards use this to decide whether to show a price range.
1752
1787
  */
1753
1788
  isPriceRange?: boolean | null;
1754
1789
  /**
1755
- * Automatically enabled when at least one active variant is sellable.
1790
+ * Automatically enabled when at least one active variant is sellable. Storefront grids and filters use this to render and filter in-stock products.
1756
1791
  */
1757
1792
  availableForSale?: boolean | null;
1758
1793
  };
1759
- metadata?: {
1760
- [k: string]: unknown;
1761
- } | unknown[] | string | number | boolean | null;
1762
1794
  seo?: {
1763
1795
  /**
1764
1796
  * Search result title (falls back to document title)
@@ -1786,27 +1818,47 @@ interface Product {
1786
1818
  */
1787
1819
  description?: string | null;
1788
1820
  /**
1789
- * OG / Twitter Card image (1200×630 recommended)
1821
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
1790
1822
  */
1791
1823
  image?: (string | null) | Image;
1792
1824
  };
1793
1825
  };
1826
+ /**
1827
+ * Preferred product list thumbnail. When empty, the list falls back to listing primary image, then the first gallery image. Add alt text when uploading new images.
1828
+ */
1794
1829
  thumbnail?: (string | null) | Image;
1795
1830
  /**
1796
1831
  * When enabled, the slug will auto-generate from the title field on save and autosave.
1797
1832
  */
1798
1833
  generateSlug?: boolean | null;
1834
+ /**
1835
+ * Canonical product URL slug. Generated from the title or editable directly.
1836
+ */
1799
1837
  slug?: string | null;
1838
+ /**
1839
+ * Draft products are hidden from the storefront. Only Published products are exposed through public APIs. Archived hides without deleting. Deleting a product also deletes variants and options. The last 50 saved versions can be restored from the Versions tab.
1840
+ */
1800
1841
  status?: ('draft' | 'published' | 'archived') | null;
1842
+ /**
1843
+ * Automatically enabled when no active variant is sellable. A variant is sellable when it is active and either unlimited or has stock minus reserved stock greater than 0.
1844
+ */
1801
1845
  isSoldOut?: boolean | null;
1802
1846
  isFeatured?: boolean | null;
1847
+ /**
1848
+ * Automatically stamped the first time a draft is published when empty. This is not used as a scheduled publish time.
1849
+ */
1803
1850
  publishedAt?: string | null;
1851
+ metadata?: {
1852
+ [k: string]: unknown;
1853
+ } | unknown[] | string | number | boolean | null;
1854
+ /**
1855
+ * Supplier name imported from external systems, separate from the brand relationship.
1856
+ */
1804
1857
  vendor?: string | null;
1805
- productType?: string | null;
1806
1858
  /**
1807
- * URL handle (alternative to slug)
1859
+ * External catalog product type, separate from categories.
1808
1860
  */
1809
- handle?: string | null;
1861
+ productType?: string | null;
1810
1862
  updatedAt: string;
1811
1863
  createdAt: string;
1812
1864
  deletedAt?: string | null;
@@ -1885,7 +1937,7 @@ interface Video {
1885
1937
  */
1886
1938
  description?: string | null;
1887
1939
  /**
1888
- * OG / Twitter Card image (1200×630 recommended)
1940
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
1889
1941
  */
1890
1942
  image?: (string | null) | Image;
1891
1943
  };
@@ -1981,7 +2033,7 @@ interface LiveStream {
1981
2033
  */
1982
2034
  description?: string | null;
1983
2035
  /**
1984
- * OG / Twitter Card image (1200×630 recommended)
2036
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
1985
2037
  */
1986
2038
  image?: (string | null) | Image;
1987
2039
  };
@@ -2028,8 +2080,17 @@ interface VideoCategory {
2028
2080
  * Short summary for listing/cards
2029
2081
  */
2030
2082
  description?: string | null;
2083
+ /**
2084
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
2085
+ */
2031
2086
  image?: (string | null) | Image;
2087
+ /**
2088
+ * Optional parent category used for hierarchy and breadcrumbs.
2089
+ */
2032
2090
  parent?: (string | null) | VideoCategory;
2091
+ /**
2092
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
2093
+ */
2033
2094
  color?: string | null;
2034
2095
  updatedAt: string;
2035
2096
  createdAt: string;
@@ -2053,8 +2114,13 @@ interface VideoTag {
2053
2114
  * Short summary for listing/cards
2054
2115
  */
2055
2116
  description?: string | null;
2117
+ /**
2118
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
2119
+ */
2056
2120
  image?: (string | null) | Image;
2057
- parent?: (string | null) | VideoTag;
2121
+ /**
2122
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
2123
+ */
2058
2124
  color?: string | null;
2059
2125
  updatedAt: string;
2060
2126
  createdAt: string;
@@ -2074,7 +2140,7 @@ interface ProductVariant {
2074
2140
  */
2075
2141
  product: string | Product;
2076
2142
  /**
2077
- * Optional variant display label. The option value combination remains the canonical variant identity.
2143
+ * Leave blank to auto-generate from option values. Manual display labels are preserved.
2078
2144
  */
2079
2145
  title?: string | null;
2080
2146
  thumbnail?: (string | null) | Image;
@@ -2108,7 +2174,7 @@ interface ProductVariant {
2108
2174
  */
2109
2175
  barcode?: string | null;
2110
2176
  /**
2111
- * Variant-specific weight (g)
2177
+ * Variant-specific integer weight in grams. For example, enter 2500 for 2.5 kg.
2112
2178
  */
2113
2179
  weight?: number | null;
2114
2180
  /**
@@ -2123,6 +2189,9 @@ interface ProductVariant {
2123
2189
  * Option value combination for this variant (e.g. Black + S)
2124
2190
  */
2125
2191
  optionValues?: (string | ProductOptionValue)[] | null;
2192
+ /**
2193
+ * Internal unique key for the variant option combination. Products without options use __default__; temporary invalid states use the __invalid__: prefix.
2194
+ */
2126
2195
  optionKey?: string | null;
2127
2196
  isActive?: boolean | null;
2128
2197
  metadata?: {
@@ -2145,12 +2214,13 @@ interface ProductOptionValue {
2145
2214
  * Parent option for this value. It cannot be moved to another option after creation.
2146
2215
  */
2147
2216
  option: string | ProductOption;
2217
+ displayLabel?: string | null;
2148
2218
  /**
2149
2219
  * Editable option-value display label for Admin and storefront copy. Changing it after creation does not change the public slug. (e.g. Black, S)
2150
2220
  */
2151
2221
  value: string;
2152
2222
  /**
2153
- * Color swatch for this option value (for example #111111)
2223
+ * Hex color swatch for this option value (for example #111111)
2154
2224
  */
2155
2225
  swatchColor?: string | null;
2156
2226
  /**
@@ -2161,7 +2231,13 @@ interface ProductOptionValue {
2161
2231
  * Compatibility URL token generated from the option-value label on create. It is fixed after creation.
2162
2232
  */
2163
2233
  slug: string;
2234
+ /**
2235
+ * Representative image for this option value. Listing group media uses variant media first, then option-value media, and finally product media.
2236
+ */
2164
2237
  thumbnail?: (string | null) | Image;
2238
+ /**
2239
+ * Reusable supporting images for this option value; used after variant media is missing, then followed by product media.
2240
+ */
2165
2241
  images?: (string | Image)[] | null;
2166
2242
  metadata?: {
2167
2243
  [k: string]: unknown;
@@ -2205,6 +2281,8 @@ interface ProductOption {
2205
2281
  deletedAt?: string | null;
2206
2282
  }
2207
2283
  /**
2284
+ * Product categories are a hierarchical taxonomy for navigation and grouping.
2285
+ *
2208
2286
  * This interface was referenced by `Config`'s JSON-Schema
2209
2287
  * via the `definition` "product-categories".
2210
2288
  */
@@ -2222,14 +2300,25 @@ interface ProductCategory {
2222
2300
  * Short summary for listing/cards
2223
2301
  */
2224
2302
  description?: string | null;
2303
+ /**
2304
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
2305
+ */
2225
2306
  image?: (string | null) | Image;
2307
+ /**
2308
+ * Optional parent category used for hierarchy and breadcrumbs.
2309
+ */
2226
2310
  parent?: (string | null) | ProductCategory;
2311
+ /**
2312
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
2313
+ */
2227
2314
  color?: string | null;
2228
2315
  updatedAt: string;
2229
2316
  createdAt: string;
2230
2317
  deletedAt?: string | null;
2231
2318
  }
2232
2319
  /**
2320
+ * Product tags are flat labels for search and loose grouping.
2321
+ *
2233
2322
  * This interface was referenced by `Config`'s JSON-Schema
2234
2323
  * via the `definition` "product-tags".
2235
2324
  */
@@ -2247,9 +2336,10 @@ interface ProductTag {
2247
2336
  * Short summary for listing/cards
2248
2337
  */
2249
2338
  description?: string | null;
2339
+ /**
2340
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
2341
+ */
2250
2342
  image?: (string | null) | Image;
2251
- parent?: (string | null) | ProductTag;
2252
- color?: string | null;
2253
2343
  updatedAt: string;
2254
2344
  createdAt: string;
2255
2345
  deletedAt?: string | null;
@@ -2325,7 +2415,7 @@ interface Brand {
2325
2415
  */
2326
2416
  description?: string | null;
2327
2417
  /**
2328
- * OG / Twitter Card image (1200×630 recommended)
2418
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
2329
2419
  */
2330
2420
  image?: (string | null) | BrandLogo;
2331
2421
  };
@@ -2353,7 +2443,7 @@ interface BrandLogo {
2353
2443
  id: string;
2354
2444
  tenant?: (string | null) | Tenant;
2355
2445
  /**
2356
- * Alternative text for users who cannot see the image and for search/share context.
2446
+ * Describe the image. Used for users who cannot see it, screen readers, and search/share previews.
2357
2447
  */
2358
2448
  alt?: string | null;
2359
2449
  /**
@@ -2448,6 +2538,7 @@ interface ShippingPolicy {
2448
2538
  id: string;
2449
2539
  _order?: string | null;
2450
2540
  tenant?: (string | null) | Tenant;
2541
+ displayLabel?: string | null;
2451
2542
  /**
2452
2543
  * e.g. Standard shipping, Large items
2453
2544
  */
@@ -2491,6 +2582,28 @@ interface ShippingPolicy {
2491
2582
  deletedAt?: string | null;
2492
2583
  }
2493
2584
  /**
2585
+ * This interface was referenced by `Config`'s JSON-Schema
2586
+ * via the `definition` "product-collection-items".
2587
+ */
2588
+ interface ProductCollectionItem {
2589
+ id: string;
2590
+ '_product-collection-items_items_order'?: string | null;
2591
+ _order?: string | null;
2592
+ tenant?: (string | null) | Tenant;
2593
+ /**
2594
+ * Product collection for this membership. It cannot be moved to another collection after creation.
2595
+ */
2596
+ collection: string | ProductCollection;
2597
+ /**
2598
+ * Product shown in this collection. Its display order inside the collection is managed by dragging this membership row.
2599
+ */
2600
+ product: string | Product;
2601
+ updatedAt: string;
2602
+ createdAt: string;
2603
+ }
2604
+ /**
2605
+ * Curated product grouping for campaigns, recommendations, and merchandising.
2606
+ *
2494
2607
  * This interface was referenced by `Config`'s JSON-Schema
2495
2608
  * via the `definition` "product-collections".
2496
2609
  */
@@ -2523,7 +2636,14 @@ interface ProductCollection {
2523
2636
  [k: string]: unknown;
2524
2637
  } | null;
2525
2638
  images?: (string | Image)[] | null;
2526
- products?: (string | Product)[] | null;
2639
+ /**
2640
+ * Collection item memberships. Public collections include only published products, and display order follows the dragged membership row order.
2641
+ */
2642
+ items?: {
2643
+ docs?: (string | ProductCollectionItem)[];
2644
+ hasNextPage?: boolean;
2645
+ totalDocs?: number;
2646
+ };
2527
2647
  seo?: {
2528
2648
  /**
2529
2649
  * Search result title (falls back to document title)
@@ -2551,7 +2671,7 @@ interface ProductCollection {
2551
2671
  */
2552
2672
  description?: string | null;
2553
2673
  /**
2554
- * OG / Twitter Card image (1200×630 recommended)
2674
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
2555
2675
  */
2556
2676
  image?: (string | null) | Image;
2557
2677
  };
@@ -2563,7 +2683,6 @@ interface ProductCollection {
2563
2683
  generateSlug?: boolean | null;
2564
2684
  slug?: string | null;
2565
2685
  status?: ('draft' | 'published' | 'archived') | null;
2566
- sortOrder?: ('manual' | 'alphabetical' | 'price-asc' | 'price-desc' | 'newest') | null;
2567
2686
  isFeatured?: boolean | null;
2568
2687
  publishedAt?: string | null;
2569
2688
  metadata?: {
@@ -2832,6 +2951,9 @@ interface CustomerGroup {
2832
2951
  * Short summary for listing/cards
2833
2952
  */
2834
2953
  description?: string | null;
2954
+ /**
2955
+ * Optional #RRGGBB display color for Admin surfaces.
2956
+ */
2835
2957
  color?: string | null;
2836
2958
  image?: (string | null) | Image;
2837
2959
  isActive?: boolean | null;
@@ -3545,6 +3667,9 @@ interface Article {
3545
3667
  authors?: (string | ArticleAuthor)[] | null;
3546
3668
  categories?: (string | ArticleCategory)[] | null;
3547
3669
  tags?: (string | ArticleTag)[] | null;
3670
+ /**
3671
+ * Links this content to videos from the Mux-backed videos collection.
3672
+ */
3548
3673
  videos?: (string | Video)[] | null;
3549
3674
  seo?: {
3550
3675
  /**
@@ -3573,7 +3698,7 @@ interface Article {
3573
3698
  */
3574
3699
  description?: string | null;
3575
3700
  /**
3576
- * OG / Twitter Card image (1200×630 recommended)
3701
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
3577
3702
  */
3578
3703
  image?: (string | null) | Image;
3579
3704
  };
@@ -3588,9 +3713,6 @@ interface Article {
3588
3713
  images?: (string | Image)[] | null;
3589
3714
  publishedAt?: string | null;
3590
3715
  isFeatured?: boolean | null;
3591
- /**
3592
- * Reading time (minutes)
3593
- */
3594
3716
  readingMinutes?: number | null;
3595
3717
  /**
3596
3718
  * OG/Twitter excerpt (280 chars)
@@ -3608,9 +3730,6 @@ interface Article {
3608
3730
  * Date when featured placement should end.
3609
3731
  */
3610
3732
  featuredUntil?: string | null;
3611
- /**
3612
- * Related articles
3613
- */
3614
3733
  relatedArticles?: (string | Article)[] | null;
3615
3734
  metadata?: {
3616
3735
  [k: string]: unknown;
@@ -3670,8 +3789,17 @@ interface ArticleCategory {
3670
3789
  * Short summary for listing/cards
3671
3790
  */
3672
3791
  description?: string | null;
3792
+ /**
3793
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
3794
+ */
3673
3795
  image?: (string | null) | Image;
3796
+ /**
3797
+ * Optional parent category used for hierarchy and breadcrumbs.
3798
+ */
3674
3799
  parent?: (string | null) | ArticleCategory;
3800
+ /**
3801
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
3802
+ */
3675
3803
  color?: string | null;
3676
3804
  updatedAt: string;
3677
3805
  createdAt: string;
@@ -3695,8 +3823,13 @@ interface ArticleTag {
3695
3823
  * Short summary for listing/cards
3696
3824
  */
3697
3825
  description?: string | null;
3826
+ /**
3827
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
3828
+ */
3698
3829
  image?: (string | null) | Image;
3699
- parent?: (string | null) | ArticleTag;
3830
+ /**
3831
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
3832
+ */
3700
3833
  color?: string | null;
3701
3834
  updatedAt: string;
3702
3835
  createdAt: string;
@@ -3734,6 +3867,9 @@ interface Document {
3734
3867
  };
3735
3868
  [k: string]: unknown;
3736
3869
  } | null;
3870
+ /**
3871
+ * Links this content to videos from the Mux-backed videos collection.
3872
+ */
3737
3873
  videos?: (string | Video)[] | null;
3738
3874
  /**
3739
3875
  * Document version (e.g. 1.0, 1.1, 2.0)
@@ -3790,7 +3926,7 @@ interface Document {
3790
3926
  */
3791
3927
  description?: string | null;
3792
3928
  /**
3793
- * OG / Twitter Card image (1200×630 recommended)
3929
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
3794
3930
  */
3795
3931
  image?: (string | null) | Image;
3796
3932
  };
@@ -3840,8 +3976,17 @@ interface DocumentCategory {
3840
3976
  * Short summary for listing/cards
3841
3977
  */
3842
3978
  description?: string | null;
3979
+ /**
3980
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
3981
+ */
3843
3982
  image?: (string | null) | Image;
3983
+ /**
3984
+ * Optional parent category used for hierarchy and breadcrumbs.
3985
+ */
3844
3986
  parent?: (string | null) | DocumentCategory;
3987
+ /**
3988
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
3989
+ */
3845
3990
  color?: string | null;
3846
3991
  updatedAt: string;
3847
3992
  createdAt: string;
@@ -3865,7 +4010,13 @@ interface DocumentType {
3865
4010
  * Short summary for listing/cards
3866
4011
  */
3867
4012
  description?: string | null;
4013
+ /**
4014
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
4015
+ */
3868
4016
  image?: (string | null) | Image;
4017
+ /**
4018
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
4019
+ */
3869
4020
  color?: string | null;
3870
4021
  updatedAt: string;
3871
4022
  createdAt: string;
@@ -3921,7 +4072,7 @@ interface Playlist {
3921
4072
  */
3922
4073
  description?: string | null;
3923
4074
  /**
3924
- * OG / Twitter Card image (1200×630 recommended)
4075
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
3925
4076
  */
3926
4077
  image?: (string | null) | Image;
3927
4078
  };
@@ -3960,8 +4111,17 @@ interface PlaylistCategory {
3960
4111
  * Short summary for listing/cards
3961
4112
  */
3962
4113
  description?: string | null;
4114
+ /**
4115
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
4116
+ */
3963
4117
  image?: (string | null) | Image;
4118
+ /**
4119
+ * Optional parent category used for hierarchy and breadcrumbs.
4120
+ */
3964
4121
  parent?: (string | null) | PlaylistCategory;
4122
+ /**
4123
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
4124
+ */
3965
4125
  color?: string | null;
3966
4126
  updatedAt: string;
3967
4127
  createdAt: string;
@@ -3985,8 +4145,13 @@ interface PlaylistTag {
3985
4145
  * Short summary for listing/cards
3986
4146
  */
3987
4147
  description?: string | null;
4148
+ /**
4149
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
4150
+ */
3988
4151
  image?: (string | null) | Image;
3989
- parent?: (string | null) | PlaylistTag;
4152
+ /**
4153
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
4154
+ */
3990
4155
  color?: string | null;
3991
4156
  updatedAt: string;
3992
4157
  createdAt: string;
@@ -4059,8 +4224,17 @@ interface TrackCategory {
4059
4224
  * Short summary for listing/cards
4060
4225
  */
4061
4226
  description?: string | null;
4227
+ /**
4228
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
4229
+ */
4062
4230
  image?: (string | null) | Image;
4231
+ /**
4232
+ * Optional parent category used for hierarchy and breadcrumbs.
4233
+ */
4063
4234
  parent?: (string | null) | TrackCategory;
4235
+ /**
4236
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
4237
+ */
4064
4238
  color?: string | null;
4065
4239
  updatedAt: string;
4066
4240
  createdAt: string;
@@ -4084,8 +4258,13 @@ interface TrackTag {
4084
4258
  * Short summary for listing/cards
4085
4259
  */
4086
4260
  description?: string | null;
4261
+ /**
4262
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
4263
+ */
4087
4264
  image?: (string | null) | Image;
4088
- parent?: (string | null) | TrackTag;
4265
+ /**
4266
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
4267
+ */
4089
4268
  color?: string | null;
4090
4269
  updatedAt: string;
4091
4270
  createdAt: string;
@@ -4133,12 +4312,12 @@ interface Gallery {
4133
4312
  * Short summary for listing/cards
4134
4313
  */
4135
4314
  description?: string | null;
4315
+ /**
4316
+ * Links this content to videos from the Mux-backed videos collection.
4317
+ */
4136
4318
  videos?: (string | Video)[] | null;
4137
4319
  categories?: (string | GalleryCategory)[] | null;
4138
4320
  tags?: (string | GalleryTag)[] | null;
4139
- /**
4140
- * Image items shown in this gallery. Their order controls gallery display order.
4141
- */
4142
4321
  items?: {
4143
4322
  docs?: (string | GalleryItem)[];
4144
4323
  hasNextPage?: boolean;
@@ -4171,7 +4350,7 @@ interface Gallery {
4171
4350
  */
4172
4351
  description?: string | null;
4173
4352
  /**
4174
- * OG / Twitter Card image (1200×630 recommended)
4353
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
4175
4354
  */
4176
4355
  image?: (string | null) | Image;
4177
4356
  };
@@ -4211,8 +4390,17 @@ interface GalleryCategory {
4211
4390
  * Short summary for listing/cards
4212
4391
  */
4213
4392
  description?: string | null;
4393
+ /**
4394
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
4395
+ */
4214
4396
  image?: (string | null) | Image;
4397
+ /**
4398
+ * Optional parent category used for hierarchy and breadcrumbs.
4399
+ */
4215
4400
  parent?: (string | null) | GalleryCategory;
4401
+ /**
4402
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
4403
+ */
4216
4404
  color?: string | null;
4217
4405
  updatedAt: string;
4218
4406
  createdAt: string;
@@ -4236,8 +4424,13 @@ interface GalleryTag {
4236
4424
  * Short summary for listing/cards
4237
4425
  */
4238
4426
  description?: string | null;
4427
+ /**
4428
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
4429
+ */
4239
4430
  image?: (string | null) | Image;
4240
- parent?: (string | null) | GalleryTag;
4431
+ /**
4432
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
4433
+ */
4241
4434
  color?: string | null;
4242
4435
  updatedAt: string;
4243
4436
  createdAt: string;
@@ -4295,9 +4488,6 @@ interface Link {
4295
4488
  * Secondary display line shown in cards, listings, and detail headers.
4296
4489
  */
4297
4490
  subtitle?: string | null;
4298
- /**
4299
- * Link URL (internal or external)
4300
- */
4301
4491
  url: string;
4302
4492
  /**
4303
4493
  * Short summary for listing/cards
@@ -4314,13 +4504,7 @@ interface Link {
4314
4504
  thumbnail?: (string | null) | Image;
4315
4505
  icon?: (string | null) | Image;
4316
4506
  publishedAt?: string | null;
4317
- /**
4318
- * Platform name for social or external links, such as Instagram or YouTube.
4319
- */
4320
4507
  platform?: string | null;
4321
- /**
4322
- * Whether clicks should open this link in a new tab.
4323
- */
4324
4508
  opensInNewTab?: boolean | null;
4325
4509
  /**
4326
4510
  * Controls whether rel=nofollow should be emitted for search engines.
@@ -4362,8 +4546,17 @@ interface LinkCategory {
4362
4546
  * Short summary for listing/cards
4363
4547
  */
4364
4548
  description?: string | null;
4549
+ /**
4550
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
4551
+ */
4365
4552
  image?: (string | null) | Image;
4553
+ /**
4554
+ * Optional parent category used for hierarchy and breadcrumbs.
4555
+ */
4366
4556
  parent?: (string | null) | LinkCategory;
4557
+ /**
4558
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
4559
+ */
4367
4560
  color?: string | null;
4368
4561
  updatedAt: string;
4369
4562
  createdAt: string;
@@ -4387,8 +4580,13 @@ interface LinkTag {
4387
4580
  * Short summary for listing/cards
4388
4581
  */
4389
4582
  description?: string | null;
4583
+ /**
4584
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
4585
+ */
4390
4586
  image?: (string | null) | Image;
4391
- parent?: (string | null) | LinkTag;
4587
+ /**
4588
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
4589
+ */
4392
4590
  color?: string | null;
4393
4591
  updatedAt: string;
4394
4592
  createdAt: string;
@@ -4410,6 +4608,9 @@ interface Canvase {
4410
4608
  * Short summary for listing/cards
4411
4609
  */
4412
4610
  description?: string | null;
4611
+ /**
4612
+ * Links this content to videos from the Mux-backed videos collection.
4613
+ */
4413
4614
  videos?: (string | Video)[] | null;
4414
4615
  canvas?: {
4415
4616
  [k: string]: unknown;
@@ -4443,7 +4644,7 @@ interface Canvase {
4443
4644
  */
4444
4645
  description?: string | null;
4445
4646
  /**
4446
- * OG / Twitter Card image (1200×630 recommended)
4647
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
4447
4648
  */
4448
4649
  image?: (string | null) | Image;
4449
4650
  };
@@ -4482,8 +4683,17 @@ interface CanvasCategory {
4482
4683
  * Short summary for listing/cards
4483
4684
  */
4484
4685
  description?: string | null;
4686
+ /**
4687
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
4688
+ */
4485
4689
  image?: (string | null) | Image;
4690
+ /**
4691
+ * Optional parent category used for hierarchy and breadcrumbs.
4692
+ */
4486
4693
  parent?: (string | null) | CanvasCategory;
4694
+ /**
4695
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
4696
+ */
4487
4697
  color?: string | null;
4488
4698
  updatedAt: string;
4489
4699
  createdAt: string;
@@ -4507,8 +4717,13 @@ interface CanvasTag {
4507
4717
  * Short summary for listing/cards
4508
4718
  */
4509
4719
  description?: string | null;
4720
+ /**
4721
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
4722
+ */
4510
4723
  image?: (string | null) | Image;
4511
- parent?: (string | null) | CanvasTag;
4724
+ /**
4725
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
4726
+ */
4512
4727
  color?: string | null;
4513
4728
  updatedAt: string;
4514
4729
  createdAt: string;
@@ -4532,6 +4747,9 @@ interface CanvasNodeType {
4532
4747
  * Short summary for listing/cards
4533
4748
  */
4534
4749
  description?: string | null;
4750
+ /**
4751
+ * Optional #RRGGBB display color for Admin surfaces.
4752
+ */
4535
4753
  color?: string | null;
4536
4754
  defaultSize?: {
4537
4755
  width?: number | null;
@@ -4597,6 +4815,9 @@ interface CanvasEdgeType {
4597
4815
  * Short summary for listing/cards
4598
4816
  */
4599
4817
  description?: string | null;
4818
+ /**
4819
+ * Optional #RRGGBB display color for Admin surfaces.
4820
+ */
4600
4821
  color?: string | null;
4601
4822
  strokeWidth?: number | null;
4602
4823
  isAnimated?: boolean | null;
@@ -4794,8 +5015,17 @@ interface PostCategory {
4794
5015
  * Short summary for listing/cards
4795
5016
  */
4796
5017
  description?: string | null;
5018
+ /**
5019
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
5020
+ */
4797
5021
  image?: (string | null) | Image;
5022
+ /**
5023
+ * Optional parent category used for hierarchy and breadcrumbs.
5024
+ */
4798
5025
  parent?: (string | null) | PostCategory;
5026
+ /**
5027
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
5028
+ */
4799
5029
  color?: string | null;
4800
5030
  updatedAt: string;
4801
5031
  createdAt: string;
@@ -5033,7 +5263,7 @@ interface EventCalendar {
5033
5263
  */
5034
5264
  description?: string | null;
5035
5265
  /**
5036
- * OG / Twitter Card image (1200×630 recommended)
5266
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
5037
5267
  */
5038
5268
  image?: (string | null) | Image;
5039
5269
  };
@@ -5048,6 +5278,9 @@ interface EventCalendar {
5048
5278
  * Default IANA time zone for this calendar.
5049
5279
  */
5050
5280
  timezone?: string | null;
5281
+ /**
5282
+ * Optional #RRGGBB display color for Admin surfaces.
5283
+ */
5051
5284
  color?: string | null;
5052
5285
  /**
5053
5286
  * Visibility for the tenant-global calendar.
@@ -5207,7 +5440,7 @@ interface Event {
5207
5440
  */
5208
5441
  description?: string | null;
5209
5442
  /**
5210
- * OG / Twitter Card image (1200×630 recommended)
5443
+ * OG / Twitter Card image (1200×630 recommended). Leaving this empty does not set it automatically from collection media.
5211
5444
  */
5212
5445
  image?: (string | null) | Image;
5213
5446
  };
@@ -5261,8 +5494,17 @@ interface EventCategory {
5261
5494
  * Short summary for listing/cards
5262
5495
  */
5263
5496
  description?: string | null;
5497
+ /**
5498
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
5499
+ */
5264
5500
  image?: (string | null) | Image;
5501
+ /**
5502
+ * Optional parent category used for hierarchy and breadcrumbs.
5503
+ */
5265
5504
  parent?: (string | null) | EventCategory;
5505
+ /**
5506
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
5507
+ */
5266
5508
  color?: string | null;
5267
5509
  updatedAt: string;
5268
5510
  createdAt: string;
@@ -5286,8 +5528,13 @@ interface EventTag {
5286
5528
  * Short summary for listing/cards
5287
5529
  */
5288
5530
  description?: string | null;
5531
+ /**
5532
+ * Single representative taxonomy image. Add domain-specific fields for multiple images such as thumbnail and hero variants.
5533
+ */
5289
5534
  image?: (string | null) | Image;
5290
- parent?: (string | null) | EventTag;
5535
+ /**
5536
+ * Optional #RRGGBB hex color for taxonomy badges or filter UI. This does not replace the representative image.
5537
+ */
5291
5538
  color?: string | null;
5292
5539
  updatedAt: string;
5293
5540
  createdAt: string;
@@ -6026,235 +6273,89 @@ interface WebhookDeliveriesSelect<T extends boolean = true> {
6026
6273
  interface TenantsSelect<T extends boolean = true> {
6027
6274
  name?: T;
6028
6275
  slug?: T;
6029
- owner?: T;
6030
- enabledFeatures?: T;
6031
- enabledRelationshipRecipes?: T;
6032
- featureVersion?: T;
6033
- provisioning?: T;
6034
- status?: T;
6035
- publishableKey?: T;
6036
- cors?: T | {
6037
- origin?: T;
6038
- id?: T;
6039
- };
6040
- members?: T;
6041
- updatedAt?: T;
6042
- createdAt?: T;
6043
- deletedAt?: T;
6044
- }
6045
- /**
6046
- * This interface was referenced by `Config`'s JSON-Schema
6047
- * via the `definition` "tenant-metadata_select".
6048
- */
6049
- interface TenantMetadataSelect<T extends boolean = true> {
6050
- tenant?: T;
6051
- siteInfo?: T | {
6052
- title?: T;
6053
- description?: T;
6054
- keywords?: T;
6055
- author?: T;
6056
- url?: T;
6057
- };
6058
- businessInfo?: T | {
6059
- businessRegistrationNumber?: T;
6060
- businessName?: T;
6061
- ceoName?: T;
6062
- businessAddress?: T;
6063
- businessEmail?: T;
6064
- onlineSalesRegistrationNumber?: T;
6065
- };
6066
- branding?: T | {
6067
- logo?: T;
6068
- logoDark?: T;
6069
- logomark?: T;
6070
- favicon?: T;
6071
- themeColor?: T;
6072
- };
6073
- seo?: T | {
6074
- robots?: T;
6075
- googleSiteVerification?: T;
6076
- bingSiteVerification?: T;
6077
- naverSiteVerification?: T;
6078
- canonicalUrl?: T;
6079
- };
6080
- analytics?: T | {
6081
- googleAnalyticsId?: T;
6082
- googleTagManagerId?: T;
6083
- facebookPixelId?: T;
6084
- linkedInPartnerId?: T;
6085
- };
6086
- openGraph?: T | {
6087
- ogTitle?: T;
6088
- ogDescription?: T;
6089
- ogImage?: T;
6090
- ogType?: T;
6091
- ogLocale?: T;
6092
- };
6093
- twitter?: T | {
6094
- twitterCard?: T;
6095
- twitterSite?: T;
6096
- twitterCreator?: T;
6097
- twitterTitle?: T;
6098
- twitterDescription?: T;
6099
- twitterImage?: T;
6100
- };
6101
- pwa?: T | {
6102
- shortName?: T;
6103
- backgroundColor?: T;
6104
- display?: T;
6105
- };
6106
- updatedAt?: T;
6107
- createdAt?: T;
6108
- deletedAt?: T;
6109
- }
6110
- /**
6111
- * This interface was referenced by `Config`'s JSON-Schema
6112
- * via the `definition` "tenant-web-analytics-config_select".
6113
- */
6114
- interface TenantWebAnalyticsConfigSelect<T extends boolean = true> {
6115
- tenant?: T;
6116
- enabled?: T;
6117
- allowedOrigins?: T | {
6118
- origin?: T;
6119
- id?: T;
6120
- };
6121
- timezone?: T;
6122
- tzLocked?: T;
6123
- updatedAt?: T;
6124
- createdAt?: T;
6125
- deletedAt?: T;
6126
- }
6127
- /**
6128
- * This interface was referenced by `Config`'s JSON-Schema
6129
- * via the `definition` "api-usage_select".
6130
- */
6131
- interface ApiUsageSelect<T extends boolean = true> {
6132
- tenant?: T;
6133
- month?: T;
6134
- apiCallCount?: T;
6135
- plan?: T;
6136
- apiCallLimit?: T;
6137
- storageUsedBytes?: T;
6138
- storageLimitBytes?: T;
6139
- documentCount?: T;
6140
- videoCount?: T;
6141
- videoMinutesUsed?: T;
6142
- deliveryMinutesUsed?: T;
6143
- aiGenerationCount?: T;
6144
- snapshottedAt?: T;
6145
- updatedAt?: T;
6146
- createdAt?: T;
6147
- }
6148
- /**
6149
- * This interface was referenced by `Config`'s JSON-Schema
6150
- * via the `definition` "tenant-analytics-daily_select".
6151
- */
6152
- interface TenantAnalyticsDailySelect<T extends boolean = true> {
6153
- tenant?: T;
6154
- date?: T;
6155
- pageviews?: T;
6156
- visitors?: T;
6157
- topPages?: T | {
6158
- pathname?: T;
6159
- views?: T;
6160
- id?: T;
6161
- };
6162
- topReferrers?: T | {
6163
- source?: T;
6164
- views?: T;
6165
- id?: T;
6166
- };
6167
- topEvents?: T | {
6168
- name?: T;
6169
- count?: T;
6170
- id?: T;
6171
- };
6172
- eventsDropped?: T | {
6173
- cardinality?: T;
6174
- schema?: T;
6175
- late?: T;
6276
+ previewDestinations?: T | {
6176
6277
  origin?: T;
6177
- key?: T;
6178
- rate?: T;
6179
- disabled?: T;
6180
- };
6181
- snapshottedAt?: T;
6182
- bucketTz?: T;
6183
- schemaShape?: T;
6184
- eventDetails?: T | {
6185
- eventName?: T;
6186
- count?: T;
6187
- schemaShape?: T;
6188
- dimensions?: T | {
6189
- dimension?: T;
6190
- values?: T | {
6191
- value?: T;
6192
- count?: T;
6193
- id?: T;
6194
- };
6195
- id?: T;
6196
- };
6197
- pages?: T | {
6198
- pathname?: T;
6199
- count?: T;
6200
- id?: T;
6201
- };
6202
- referrers?: T | {
6203
- source?: T;
6204
- count?: T;
6205
- id?: T;
6206
- };
6278
+ isPrimary?: T;
6279
+ draftPath?: T;
6207
6280
  id?: T;
6208
6281
  };
6209
- mcpUsage?: T | {
6210
- toolCalls?: T;
6211
- sessions?: T;
6212
- convertedSessions?: T;
6213
- conversionRate?: T;
6214
- successfulWrites?: T;
6215
- isPartial?: T;
6216
- topTools?: T | {
6217
- name?: T;
6218
- count?: T;
6219
- readOnly?: T;
6220
- id?: T;
6221
- };
6222
- transports?: T | {
6223
- name?: T;
6224
- count?: T;
6225
- id?: T;
6226
- };
6227
- httpDurationMs?: T | {
6228
- p50?: T;
6229
- p99?: T;
6230
- buckets?: T | {
6231
- bucket?: T;
6232
- label?: T;
6233
- count?: T;
6234
- id?: T;
6235
- };
6236
- };
6282
+ owner?: T;
6283
+ enabledFeatures?: T;
6284
+ enabledRelationshipRecipes?: T;
6285
+ featureVersion?: T;
6286
+ provisioning?: T;
6287
+ status?: T;
6288
+ publishableKey?: T;
6289
+ cors?: T | {
6290
+ origin?: T;
6291
+ id?: T;
6237
6292
  };
6293
+ members?: T;
6238
6294
  updatedAt?: T;
6239
6295
  createdAt?: T;
6296
+ deletedAt?: T;
6240
6297
  }
6241
6298
  /**
6242
6299
  * This interface was referenced by `Config`'s JSON-Schema
6243
- * via the `definition` "analytics-event-schemas_select".
6300
+ * via the `definition` "tenant-metadata_select".
6244
6301
  */
6245
- interface AnalyticsEventSchemasSelect<T extends boolean = true> {
6302
+ interface TenantMetadataSelect<T extends boolean = true> {
6246
6303
  tenant?: T;
6247
- eventName?: T;
6248
- enabled?: T;
6249
- dimensions?: T | {
6250
- key?: T;
6251
- type?: T;
6252
- allowedValues?: T;
6304
+ siteInfo?: T | {
6305
+ title?: T;
6253
6306
  description?: T;
6254
- id?: T;
6307
+ keywords?: T;
6308
+ author?: T;
6309
+ url?: T;
6310
+ };
6311
+ businessInfo?: T | {
6312
+ businessRegistrationNumber?: T;
6313
+ businessName?: T;
6314
+ ceoName?: T;
6315
+ businessAddress?: T;
6316
+ businessEmail?: T;
6317
+ onlineSalesRegistrationNumber?: T;
6318
+ };
6319
+ branding?: T | {
6320
+ logo?: T;
6321
+ logoDark?: T;
6322
+ logomark?: T;
6323
+ favicon?: T;
6324
+ themeColor?: T;
6325
+ };
6326
+ seo?: T | {
6327
+ robots?: T;
6328
+ googleSiteVerification?: T;
6329
+ bingSiteVerification?: T;
6330
+ naverSiteVerification?: T;
6331
+ canonicalUrl?: T;
6332
+ };
6333
+ analytics?: T | {
6334
+ googleAnalyticsId?: T;
6335
+ googleTagManagerId?: T;
6336
+ facebookPixelId?: T;
6337
+ linkedInPartnerId?: T;
6338
+ };
6339
+ openGraph?: T | {
6340
+ ogTitle?: T;
6341
+ ogDescription?: T;
6342
+ ogImage?: T;
6343
+ ogType?: T;
6344
+ ogLocale?: T;
6345
+ };
6346
+ twitter?: T | {
6347
+ twitterCard?: T;
6348
+ twitterSite?: T;
6349
+ twitterCreator?: T;
6350
+ twitterTitle?: T;
6351
+ twitterDescription?: T;
6352
+ twitterImage?: T;
6353
+ };
6354
+ pwa?: T | {
6355
+ shortName?: T;
6356
+ backgroundColor?: T;
6357
+ display?: T;
6255
6358
  };
6256
- createdBy?: T;
6257
- updatedBy?: T;
6258
6359
  updatedAt?: T;
6259
6360
  createdAt?: T;
6260
6361
  deletedAt?: T;
@@ -6481,6 +6582,158 @@ interface TenantLogosSelect<T extends boolean = true> {
6481
6582
  };
6482
6583
  };
6483
6584
  }
6585
+ /**
6586
+ * This interface was referenced by `Config`'s JSON-Schema
6587
+ * via the `definition` "tenant-web-analytics-config_select".
6588
+ */
6589
+ interface TenantWebAnalyticsConfigSelect<T extends boolean = true> {
6590
+ tenant?: T;
6591
+ enabled?: T;
6592
+ allowedOrigins?: T | {
6593
+ origin?: T;
6594
+ id?: T;
6595
+ };
6596
+ timezone?: T;
6597
+ tzLocked?: T;
6598
+ updatedAt?: T;
6599
+ createdAt?: T;
6600
+ deletedAt?: T;
6601
+ }
6602
+ /**
6603
+ * This interface was referenced by `Config`'s JSON-Schema
6604
+ * via the `definition` "tenant-analytics-daily_select".
6605
+ */
6606
+ interface TenantAnalyticsDailySelect<T extends boolean = true> {
6607
+ tenant?: T;
6608
+ date?: T;
6609
+ pageviews?: T;
6610
+ visitors?: T;
6611
+ topPages?: T | {
6612
+ pathname?: T;
6613
+ views?: T;
6614
+ id?: T;
6615
+ };
6616
+ topReferrers?: T | {
6617
+ source?: T;
6618
+ views?: T;
6619
+ id?: T;
6620
+ };
6621
+ topEvents?: T | {
6622
+ name?: T;
6623
+ count?: T;
6624
+ id?: T;
6625
+ };
6626
+ eventsDropped?: T | {
6627
+ cardinality?: T;
6628
+ schema?: T;
6629
+ late?: T;
6630
+ origin?: T;
6631
+ key?: T;
6632
+ rate?: T;
6633
+ disabled?: T;
6634
+ };
6635
+ snapshottedAt?: T;
6636
+ bucketTz?: T;
6637
+ schemaShape?: T;
6638
+ eventDetails?: T | {
6639
+ eventName?: T;
6640
+ count?: T;
6641
+ schemaShape?: T;
6642
+ dimensions?: T | {
6643
+ dimension?: T;
6644
+ values?: T | {
6645
+ value?: T;
6646
+ count?: T;
6647
+ id?: T;
6648
+ };
6649
+ id?: T;
6650
+ };
6651
+ pages?: T | {
6652
+ pathname?: T;
6653
+ count?: T;
6654
+ id?: T;
6655
+ };
6656
+ referrers?: T | {
6657
+ source?: T;
6658
+ count?: T;
6659
+ id?: T;
6660
+ };
6661
+ id?: T;
6662
+ };
6663
+ mcpUsage?: T | {
6664
+ toolCalls?: T;
6665
+ sessions?: T;
6666
+ convertedSessions?: T;
6667
+ conversionRate?: T;
6668
+ successfulWrites?: T;
6669
+ isPartial?: T;
6670
+ topTools?: T | {
6671
+ name?: T;
6672
+ count?: T;
6673
+ readOnly?: T;
6674
+ id?: T;
6675
+ };
6676
+ transports?: T | {
6677
+ name?: T;
6678
+ count?: T;
6679
+ id?: T;
6680
+ };
6681
+ httpDurationMs?: T | {
6682
+ p50?: T;
6683
+ p99?: T;
6684
+ buckets?: T | {
6685
+ bucket?: T;
6686
+ label?: T;
6687
+ count?: T;
6688
+ id?: T;
6689
+ };
6690
+ };
6691
+ };
6692
+ updatedAt?: T;
6693
+ createdAt?: T;
6694
+ }
6695
+ /**
6696
+ * This interface was referenced by `Config`'s JSON-Schema
6697
+ * via the `definition` "analytics-event-schemas_select".
6698
+ */
6699
+ interface AnalyticsEventSchemasSelect<T extends boolean = true> {
6700
+ tenant?: T;
6701
+ eventName?: T;
6702
+ enabled?: T;
6703
+ dimensions?: T | {
6704
+ key?: T;
6705
+ type?: T;
6706
+ allowedValues?: T;
6707
+ description?: T;
6708
+ id?: T;
6709
+ };
6710
+ createdBy?: T;
6711
+ updatedBy?: T;
6712
+ updatedAt?: T;
6713
+ createdAt?: T;
6714
+ deletedAt?: T;
6715
+ }
6716
+ /**
6717
+ * This interface was referenced by `Config`'s JSON-Schema
6718
+ * via the `definition` "api-usage_select".
6719
+ */
6720
+ interface ApiUsageSelect<T extends boolean = true> {
6721
+ tenant?: T;
6722
+ month?: T;
6723
+ apiCallCount?: T;
6724
+ plan?: T;
6725
+ apiCallLimit?: T;
6726
+ storageUsedBytes?: T;
6727
+ storageLimitBytes?: T;
6728
+ documentCount?: T;
6729
+ videoCount?: T;
6730
+ videoMinutesUsed?: T;
6731
+ deliveryMinutesUsed?: T;
6732
+ aiGenerationCount?: T;
6733
+ snapshottedAt?: T;
6734
+ updatedAt?: T;
6735
+ createdAt?: T;
6736
+ }
6484
6737
  /**
6485
6738
  * This interface was referenced by `Config`'s JSON-Schema
6486
6739
  * via the `definition` "products_select".
@@ -6501,7 +6754,7 @@ interface ProductsSelect<T extends boolean = true> {
6501
6754
  brand?: T;
6502
6755
  shippingPolicy?: T;
6503
6756
  weight?: T;
6504
- collections?: T;
6757
+ collectionItems?: T;
6505
6758
  minOrderQuantity?: T;
6506
6759
  maxOrderQuantity?: T;
6507
6760
  listingPrimaryOption?: T;
@@ -6515,7 +6768,6 @@ interface ProductsSelect<T extends boolean = true> {
6515
6768
  isPriceRange?: T;
6516
6769
  availableForSale?: T;
6517
6770
  };
6518
- metadata?: T;
6519
6771
  seo?: T | {
6520
6772
  title?: T;
6521
6773
  description?: T;
@@ -6534,9 +6786,9 @@ interface ProductsSelect<T extends boolean = true> {
6534
6786
  isSoldOut?: T;
6535
6787
  isFeatured?: T;
6536
6788
  publishedAt?: T;
6789
+ metadata?: T;
6537
6790
  vendor?: T;
6538
6791
  productType?: T;
6539
- handle?: T;
6540
6792
  updatedAt?: T;
6541
6793
  createdAt?: T;
6542
6794
  deletedAt?: T;
@@ -6597,6 +6849,7 @@ interface ProductOptionValuesSelect<T extends boolean = true> {
6597
6849
  _order?: T;
6598
6850
  tenant?: T;
6599
6851
  option?: T;
6852
+ displayLabel?: T;
6600
6853
  value?: T;
6601
6854
  swatchColor?: T;
6602
6855
  generateSlug?: T;
@@ -6638,8 +6891,6 @@ interface ProductTagsSelect<T extends boolean = true> {
6638
6891
  slug?: T;
6639
6892
  description?: T;
6640
6893
  image?: T;
6641
- parent?: T;
6642
- color?: T;
6643
6894
  updatedAt?: T;
6644
6895
  createdAt?: T;
6645
6896
  deletedAt?: T;
@@ -6656,7 +6907,7 @@ interface ProductCollectionsSelect<T extends boolean = true> {
6656
6907
  description?: T;
6657
6908
  content?: T;
6658
6909
  images?: T;
6659
- products?: T;
6910
+ items?: T;
6660
6911
  seo?: T | {
6661
6912
  title?: T;
6662
6913
  description?: T;
@@ -6672,7 +6923,6 @@ interface ProductCollectionsSelect<T extends boolean = true> {
6672
6923
  generateSlug?: T;
6673
6924
  slug?: T;
6674
6925
  status?: T;
6675
- sortOrder?: T;
6676
6926
  isFeatured?: T;
6677
6927
  publishedAt?: T;
6678
6928
  metadata?: T;
@@ -6680,6 +6930,19 @@ interface ProductCollectionsSelect<T extends boolean = true> {
6680
6930
  createdAt?: T;
6681
6931
  deletedAt?: T;
6682
6932
  }
6933
+ /**
6934
+ * This interface was referenced by `Config`'s JSON-Schema
6935
+ * via the `definition` "product-collection-items_select".
6936
+ */
6937
+ interface ProductCollectionItemsSelect<T extends boolean = true> {
6938
+ '_product-collection-items_items_order'?: T;
6939
+ _order?: T;
6940
+ tenant?: T;
6941
+ collection?: T;
6942
+ product?: T;
6943
+ updatedAt?: T;
6944
+ createdAt?: T;
6945
+ }
6683
6946
  /**
6684
6947
  * This interface was referenced by `Config`'s JSON-Schema
6685
6948
  * via the `definition` "brands_select".
@@ -7051,6 +7314,7 @@ interface ReturnItemsSelect<T extends boolean = true> {
7051
7314
  interface ShippingPoliciesSelect<T extends boolean = true> {
7052
7315
  _order?: T;
7053
7316
  tenant?: T;
7317
+ displayLabel?: T;
7054
7318
  title?: T;
7055
7319
  baseAmount?: T;
7056
7320
  freeShippingMinAmount?: T;
@@ -7459,7 +7723,6 @@ interface ArticleTagsSelect<T extends boolean = true> {
7459
7723
  slug?: T;
7460
7724
  description?: T;
7461
7725
  image?: T;
7462
- parent?: T;
7463
7726
  color?: T;
7464
7727
  updatedAt?: T;
7465
7728
  createdAt?: T;
@@ -7614,7 +7877,6 @@ interface PlaylistTagsSelect<T extends boolean = true> {
7614
7877
  slug?: T;
7615
7878
  description?: T;
7616
7879
  image?: T;
7617
- parent?: T;
7618
7880
  color?: T;
7619
7881
  updatedAt?: T;
7620
7882
  createdAt?: T;
@@ -7703,7 +7965,6 @@ interface TrackTagsSelect<T extends boolean = true> {
7703
7965
  slug?: T;
7704
7966
  description?: T;
7705
7967
  image?: T;
7706
- parent?: T;
7707
7968
  color?: T;
7708
7969
  updatedAt?: T;
7709
7970
  createdAt?: T;
@@ -7776,7 +8037,6 @@ interface GalleryTagsSelect<T extends boolean = true> {
7776
8037
  slug?: T;
7777
8038
  description?: T;
7778
8039
  image?: T;
7779
- parent?: T;
7780
8040
  color?: T;
7781
8041
  updatedAt?: T;
7782
8042
  createdAt?: T;
@@ -7863,7 +8123,6 @@ interface LinkTagsSelect<T extends boolean = true> {
7863
8123
  slug?: T;
7864
8124
  description?: T;
7865
8125
  image?: T;
7866
- parent?: T;
7867
8126
  color?: T;
7868
8127
  updatedAt?: T;
7869
8128
  createdAt?: T;
@@ -8005,7 +8264,6 @@ interface CanvasTagsSelect<T extends boolean = true> {
8005
8264
  slug?: T;
8006
8265
  description?: T;
8007
8266
  image?: T;
8008
- parent?: T;
8009
8267
  color?: T;
8010
8268
  updatedAt?: T;
8011
8269
  createdAt?: T;
@@ -8121,7 +8379,6 @@ interface VideoTagsSelect<T extends boolean = true> {
8121
8379
  slug?: T;
8122
8380
  description?: T;
8123
8381
  image?: T;
8124
- parent?: T;
8125
8382
  color?: T;
8126
8383
  updatedAt?: T;
8127
8384
  createdAt?: T;
@@ -8479,7 +8736,6 @@ interface EventTagsSelect<T extends boolean = true> {
8479
8736
  slug?: T;
8480
8737
  description?: T;
8481
8738
  image?: T;
8482
- parent?: T;
8483
8739
  color?: T;
8484
8740
  updatedAt?: T;
8485
8741
  createdAt?: T;
@@ -8793,4 +9049,4 @@ declare module 'payload' {
8793
9049
  }
8794
9050
  }
8795
9051
 
8796
- export type { Article as A, CustomerProfile as C, Document as D, Form as F, Image as I, Order as O, Post as P, Reaction as R, Tenant as T, Video as V, CustomerProfileList as a, Comment as b, Config as c, Product as d, ArticleAuthor as e, ArticleCategory as f, ArticleTag as g, Cart as h, CartItem as i, PostCategory as j, ProductVariant as k, OrderItem as l, Transaction as m, Fulfillment as n, Return as o };
9052
+ export type { Article as A, CustomerProfile as C, Document as D, Form as F, Image as I, Order as O, Product as P, Reaction as R, Tenant as T, Video as V, CustomerProfileList as a, ProductCollection as b, Post as c, Comment as d, Config as e, ArticleAuthor as f, ArticleCategory as g, ArticleTag as h, Cart as i, CartItem as j, PostCategory as k, ProductVariant as l, OrderItem as m, Transaction as n, Fulfillment as o, Return as p };