@relyio/sdk 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +68 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/{chunk-YEJUMW4X.js → chunk-2TIJLV2X.js} +10 -2
- package/dist/{chunk-SPFRDXAF.cjs → chunk-4HTIU5YE.cjs} +14 -3
- package/dist/{chunk-LGNJIGHL.js → chunk-7GLDVHIH.js} +14 -3
- package/dist/{chunk-72UK5U7T.cjs → chunk-PO7CUR5U.cjs} +10 -2
- package/dist/client/index.cjs +3 -3
- package/dist/client/index.d.cts +4 -4
- package/dist/client/index.d.ts +4 -4
- package/dist/client/index.js +1 -1
- package/dist/{define-content-type-cEGjIwT5.d.cts → define-content-type-ENAod5Ve.d.cts} +105 -16
- package/dist/{define-content-type-cEGjIwT5.d.ts → define-content-type-ENAod5Ve.d.ts} +105 -16
- package/dist/{define-schema-BPj2srgh.d.ts → define-schema-CVi8nwc7.d.ts} +29 -30
- package/dist/{define-schema-DgbJ5Kwn.d.cts → define-schema-DqpipEHv.d.cts} +29 -30
- package/dist/{index-GIfaMlQ7.d.ts → index-BKEAYvvz.d.ts} +6 -6
- package/dist/{index-B_rIWO_l.d.cts → index-BM42r4yg.d.cts} +1 -1
- package/dist/{index-Cv4tmcrw.d.ts → index-C73cK2Tt.d.ts} +1 -1
- package/dist/{index-B9axQW8s.d.cts → index-MLAFUuco.d.cts} +6 -6
- package/dist/index.cjs +82 -82
- package/dist/index.d.cts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +3 -3
- package/dist/schema/index.cjs +35 -35
- package/dist/schema/index.d.cts +5 -4
- package/dist/schema/index.d.ts +5 -4
- package/dist/schema/index.js +1 -1
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/package.json +1 -1
|
@@ -534,6 +534,14 @@ function defineView(id, config) {
|
|
|
534
534
|
if (!config.scope?.type) {
|
|
535
535
|
throw new Error(`View '${id}' must have a valid scope`);
|
|
536
536
|
}
|
|
537
|
+
const grouped = (config.filters ?? []).findIndex(
|
|
538
|
+
(filter) => typeof filter === "object" && filter !== null && "conditions" in filter
|
|
539
|
+
);
|
|
540
|
+
if (grouped !== -1) {
|
|
541
|
+
throw new Error(
|
|
542
|
+
`View '${id}' filter ${grouped} is a filter group: a view's filters are a flat list, joined by AND. List each of its conditions as a filter of its own, or use 'isAnyOf' for an OR within one field.`
|
|
543
|
+
);
|
|
544
|
+
}
|
|
537
545
|
if (config.slug !== void 0 && !/^[a-z][a-z0-9-]*$/.test(config.slug)) {
|
|
538
546
|
throw new Error(
|
|
539
547
|
`View '${id}' slug '${config.slug}' must be lowercase, start with a letter, and contain only letters, numbers, and hyphens`
|
|
@@ -682,5 +690,5 @@ __name(component, "component");
|
|
|
682
690
|
var fields = fields_exports;
|
|
683
691
|
|
|
684
692
|
export { BUILT_IN_ROLES, BUILT_IN_ROLE_ACTIONS, ROLE_ACTIONS, buildFallbackChain, defineAssetType, defineComponent, defineContentType, defineContentTypeWorkflow, defineLocale, defineQuery, defineRole, defineSchema, defineSettingsGroup, defineSingleton, defineSingletonContentType, defineView, defineWorkflow, defineWorkflowStage, fields, fieldset, findDefaultLocale, findWorkflowStage, getActiveLocales, getBuiltInRoleActions, getFirstWorkflowStage, getLocaleCodes, getNextWorkflowStage, getWorkflowStageIds, isBuiltInRole, isFinalWorkflowStage, isLocaleDefinition, isRoleDefinition, isWorkflowDefinition, isWorkflowStageDefinition };
|
|
685
|
-
//# sourceMappingURL=chunk-
|
|
686
|
-
//# sourceMappingURL=chunk-
|
|
693
|
+
//# sourceMappingURL=chunk-2TIJLV2X.js.map
|
|
694
|
+
//# sourceMappingURL=chunk-2TIJLV2X.js.map
|
|
@@ -412,7 +412,7 @@ var _InvalidPayloadError = class _InvalidPayloadError extends BaseValidationErro
|
|
|
412
412
|
chunkMWMSFIWN_cjs.__name(_InvalidPayloadError, "InvalidPayloadError");
|
|
413
413
|
var InvalidPayloadError = _InvalidPayloadError;
|
|
414
414
|
|
|
415
|
-
// ../../platform/api-contract/dist/chunk-
|
|
415
|
+
// ../../platform/api-contract/dist/chunk-46347LG2.js
|
|
416
416
|
function defineRoute(route) {
|
|
417
417
|
if (route.kind === "raw" && route.standardShape === void 0) {
|
|
418
418
|
throw new Error("kind 'raw' requires a named StandardShape");
|
|
@@ -426,6 +426,16 @@ function defineRoute(route) {
|
|
|
426
426
|
if (route.kind === "collection" && route.page === void 0) {
|
|
427
427
|
throw new Error("kind 'collection' requires a page dialect");
|
|
428
428
|
}
|
|
429
|
+
if (route.queues === true) {
|
|
430
|
+
if (route.kind !== "object" && route.kind !== "empty") {
|
|
431
|
+
throw new Error(
|
|
432
|
+
`kind '${route.kind}' cannot declare \`queues\`: only an object or empty route answers 202 beside its own status`
|
|
433
|
+
);
|
|
434
|
+
}
|
|
435
|
+
if (route.kind === "object" && route.success === 202) {
|
|
436
|
+
throw new Error("a route whose own status is 202 cannot also declare `queues`");
|
|
437
|
+
}
|
|
438
|
+
}
|
|
429
439
|
if ((route.kind === "object" || route.kind === "collection") && route.negotiated !== void 0) {
|
|
430
440
|
refuseMismatchedAlternate(route, route.negotiated["text/event-stream"]);
|
|
431
441
|
}
|
|
@@ -897,6 +907,7 @@ var DECLARED_PATHS = {
|
|
|
897
907
|
"/internal/media/resolve": true,
|
|
898
908
|
"/internal/usage/cycle": true,
|
|
899
909
|
"/internal/usage/ingest": true,
|
|
910
|
+
"/internal/usage/stops": true,
|
|
900
911
|
"/v1/{contentType}": true,
|
|
901
912
|
"/v1/{contentType}/{id}": true,
|
|
902
913
|
"/v1/{contentType}/{id}/children": true,
|
|
@@ -6335,5 +6346,5 @@ exports.matchRoute = matchRoute;
|
|
|
6335
6346
|
exports.serviceInstructedDelayMs = serviceInstructedDelayMs;
|
|
6336
6347
|
exports.sleep = sleep;
|
|
6337
6348
|
exports.validateFile = validateFile;
|
|
6338
|
-
//# sourceMappingURL=chunk-
|
|
6339
|
-
//# sourceMappingURL=chunk-
|
|
6349
|
+
//# sourceMappingURL=chunk-4HTIU5YE.cjs.map
|
|
6350
|
+
//# sourceMappingURL=chunk-4HTIU5YE.cjs.map
|
|
@@ -410,7 +410,7 @@ var _InvalidPayloadError = class _InvalidPayloadError extends BaseValidationErro
|
|
|
410
410
|
__name(_InvalidPayloadError, "InvalidPayloadError");
|
|
411
411
|
var InvalidPayloadError = _InvalidPayloadError;
|
|
412
412
|
|
|
413
|
-
// ../../platform/api-contract/dist/chunk-
|
|
413
|
+
// ../../platform/api-contract/dist/chunk-46347LG2.js
|
|
414
414
|
function defineRoute(route) {
|
|
415
415
|
if (route.kind === "raw" && route.standardShape === void 0) {
|
|
416
416
|
throw new Error("kind 'raw' requires a named StandardShape");
|
|
@@ -424,6 +424,16 @@ function defineRoute(route) {
|
|
|
424
424
|
if (route.kind === "collection" && route.page === void 0) {
|
|
425
425
|
throw new Error("kind 'collection' requires a page dialect");
|
|
426
426
|
}
|
|
427
|
+
if (route.queues === true) {
|
|
428
|
+
if (route.kind !== "object" && route.kind !== "empty") {
|
|
429
|
+
throw new Error(
|
|
430
|
+
`kind '${route.kind}' cannot declare \`queues\`: only an object or empty route answers 202 beside its own status`
|
|
431
|
+
);
|
|
432
|
+
}
|
|
433
|
+
if (route.kind === "object" && route.success === 202) {
|
|
434
|
+
throw new Error("a route whose own status is 202 cannot also declare `queues`");
|
|
435
|
+
}
|
|
436
|
+
}
|
|
427
437
|
if ((route.kind === "object" || route.kind === "collection") && route.negotiated !== void 0) {
|
|
428
438
|
refuseMismatchedAlternate(route, route.negotiated["text/event-stream"]);
|
|
429
439
|
}
|
|
@@ -895,6 +905,7 @@ var DECLARED_PATHS = {
|
|
|
895
905
|
"/internal/media/resolve": true,
|
|
896
906
|
"/internal/usage/cycle": true,
|
|
897
907
|
"/internal/usage/ingest": true,
|
|
908
|
+
"/internal/usage/stops": true,
|
|
898
909
|
"/v1/{contentType}": true,
|
|
899
910
|
"/v1/{contentType}/{id}": true,
|
|
900
911
|
"/v1/{contentType}/{id}/children": true,
|
|
@@ -6274,5 +6285,5 @@ function randomClientId() {
|
|
|
6274
6285
|
__name(randomClientId, "randomClientId");
|
|
6275
6286
|
|
|
6276
6287
|
export { AdhocQueryBuilder, AdhocQueryClient, AssetClient, AssetFileBuilder, AssetUploadBuilder, AuthorizationError, AutocompleteBuilder, BaseValidationError, BatchBuilder, BatchClient, ChangesExpiredError, ConnectionError, ContentByIdBuilder, ContentClient, ContentQueryBuilder, ErrorMapper, FileUploadError, FileValidationError, HttpClient, InvalidApiKeyError, InvalidPayloadError, LIVE_KEEPALIVE_INTERVAL_MS, LIVE_SOCKET_OPEN_TIMEOUT_MS, LiveEdgeError, MethodNotAllowedError, MissingApiKeyError, NetworkError, PUBLISHABLE_KEY_PREFIX, PayloadTooLargeError, PlanFeatureUnavailableError, RateLimitError, ReadOnlyKeyError, ResourceConflictError, ResourceExpiredError, ResourceNotFoundError, SDKError, SearchBuilder, SearchClient, ServerError, ServiceIndeterminateError, SettingsClient, SimilarBuilder, SingletonClient, TimeoutError, TransactionRolledBackError, TypedRelyIOClient, UnknownContractError, UsageQuotaExceededError, VISITOR_ADMISSION_RETRY_AFTER_SECONDS, ValidationError, createClient, entityTagOf, isAborted, isAssetEntry, isPublishableKey, isResourceNotFound, matchRoute, serviceInstructedDelayMs, sleep, validateFile };
|
|
6277
|
-
//# sourceMappingURL=chunk-
|
|
6278
|
-
//# sourceMappingURL=chunk-
|
|
6288
|
+
//# sourceMappingURL=chunk-7GLDVHIH.js.map
|
|
6289
|
+
//# sourceMappingURL=chunk-7GLDVHIH.js.map
|
|
@@ -536,6 +536,14 @@ function defineView(id, config) {
|
|
|
536
536
|
if (!config.scope?.type) {
|
|
537
537
|
throw new Error(`View '${id}' must have a valid scope`);
|
|
538
538
|
}
|
|
539
|
+
const grouped = (config.filters ?? []).findIndex(
|
|
540
|
+
(filter) => typeof filter === "object" && filter !== null && "conditions" in filter
|
|
541
|
+
);
|
|
542
|
+
if (grouped !== -1) {
|
|
543
|
+
throw new Error(
|
|
544
|
+
`View '${id}' filter ${grouped} is a filter group: a view's filters are a flat list, joined by AND. List each of its conditions as a filter of its own, or use 'isAnyOf' for an OR within one field.`
|
|
545
|
+
);
|
|
546
|
+
}
|
|
539
547
|
if (config.slug !== void 0 && !/^[a-z][a-z0-9-]*$/.test(config.slug)) {
|
|
540
548
|
throw new Error(
|
|
541
549
|
`View '${id}' slug '${config.slug}' must be lowercase, start with a letter, and contain only letters, numbers, and hyphens`
|
|
@@ -717,5 +725,5 @@ exports.isLocaleDefinition = isLocaleDefinition;
|
|
|
717
725
|
exports.isRoleDefinition = isRoleDefinition;
|
|
718
726
|
exports.isWorkflowDefinition = isWorkflowDefinition;
|
|
719
727
|
exports.isWorkflowStageDefinition = isWorkflowStageDefinition;
|
|
720
|
-
//# sourceMappingURL=chunk-
|
|
721
|
-
//# sourceMappingURL=chunk-
|
|
728
|
+
//# sourceMappingURL=chunk-PO7CUR5U.cjs.map
|
|
729
|
+
//# sourceMappingURL=chunk-PO7CUR5U.cjs.map
|
package/dist/client/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk4HTIU5YE_cjs = require('../chunk-4HTIU5YE.cjs');
|
|
4
4
|
require('../chunk-LSRPMNPT.cjs');
|
|
5
5
|
require('../chunk-TZL374LS.cjs');
|
|
6
6
|
require('../chunk-MWMSFIWN.cjs');
|
|
@@ -9,11 +9,11 @@ require('../chunk-MWMSFIWN.cjs');
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "TypedRelyIOClient", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
12
|
+
get: function () { return chunk4HTIU5YE_cjs.TypedRelyIOClient; }
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "createClient", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunk4HTIU5YE_cjs.createClient; }
|
|
17
17
|
});
|
|
18
18
|
//# sourceMappingURL=index.cjs.map
|
|
19
19
|
//# sourceMappingURL=index.cjs.map
|
package/dist/client/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { e as ClientSchema, R as Register, f as RegisteredSchema, d as TypedClientConfig, T as TypedRelyIOClient, c as createClient } from '../index-
|
|
2
|
-
import '../index-
|
|
3
|
-
import '../define-content-type-
|
|
4
|
-
import '../define-schema-
|
|
1
|
+
export { e as ClientSchema, R as Register, f as RegisteredSchema, d as TypedClientConfig, T as TypedRelyIOClient, c as createClient } from '../index-MLAFUuco.cjs';
|
|
2
|
+
import '../index-BM42r4yg.cjs';
|
|
3
|
+
import '../define-content-type-ENAod5Ve.cjs';
|
|
4
|
+
import '../define-schema-DqpipEHv.cjs';
|
|
5
5
|
import './live-visitor.js';
|
|
6
6
|
import '../dev-handshake/index.cjs';
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { e as ClientSchema, R as Register, f as RegisteredSchema, d as TypedClientConfig, T as TypedRelyIOClient, c as createClient } from '../index-
|
|
2
|
-
import '../index-
|
|
3
|
-
import '../define-content-type-
|
|
4
|
-
import '../define-schema-
|
|
1
|
+
export { e as ClientSchema, R as Register, f as RegisteredSchema, d as TypedClientConfig, T as TypedRelyIOClient, c as createClient } from '../index-BKEAYvvz.js';
|
|
2
|
+
import '../index-C73cK2Tt.js';
|
|
3
|
+
import '../define-content-type-ENAod5Ve.js';
|
|
4
|
+
import '../define-schema-CVi8nwc7.js';
|
|
5
5
|
import './live-visitor.js';
|
|
6
6
|
import '../dev-handshake/index.js';
|
package/dist/client/index.js
CHANGED
|
@@ -208,6 +208,23 @@ interface paths {
|
|
|
208
208
|
patch?: never;
|
|
209
209
|
trace?: never;
|
|
210
210
|
};
|
|
211
|
+
'/internal/usage/stops': {
|
|
212
|
+
parameters: {
|
|
213
|
+
query?: never;
|
|
214
|
+
header?: never;
|
|
215
|
+
path?: never;
|
|
216
|
+
cookie?: never;
|
|
217
|
+
};
|
|
218
|
+
get?: never;
|
|
219
|
+
put?: never;
|
|
220
|
+
/** Record the Usage Limit stops an edge refused */
|
|
221
|
+
post: operations['recordUsageStops'];
|
|
222
|
+
delete?: never;
|
|
223
|
+
options?: never;
|
|
224
|
+
head?: never;
|
|
225
|
+
patch?: never;
|
|
226
|
+
trace?: never;
|
|
227
|
+
};
|
|
211
228
|
'/v1/{contentType}': {
|
|
212
229
|
parameters: {
|
|
213
230
|
query?: never;
|
|
@@ -1041,14 +1058,14 @@ interface components {
|
|
|
1041
1058
|
localeStatus?: 'archived' | 'draft' | 'published';
|
|
1042
1059
|
/** @description Whether `locale` has unpublished changes of its own. */
|
|
1043
1060
|
localeHasDraft: boolean;
|
|
1044
|
-
/** @description Every locale holding unpublished content, sorted. A shared-field draft is listed
|
|
1061
|
+
/** @description Every locale holding unpublished content of its own, sorted. A shared-field draft is not listed: it is `hasDraft`. */
|
|
1045
1062
|
draftLocales: string[];
|
|
1063
|
+
/** @description Whether the shared (non-localized) fields have unpublished changes. Publishing any locale makes them live, so they are unpublished work in every locale. */
|
|
1064
|
+
hasDraft: boolean;
|
|
1046
1065
|
/** @description The locale the request named, when it named one other than the default. On `?locales=a,b,c` it is always sent: the primary, or `*` when the list names as many locales as the entry has — as on `?locale=*`. */
|
|
1047
1066
|
requestedLocale?: string;
|
|
1048
1067
|
/** @description The schema’s default locale. */
|
|
1049
1068
|
defaultLocale: string;
|
|
1050
|
-
/** @description Whether the shared (non-localized) fields have unpublished changes. */
|
|
1051
|
-
hasDraft: boolean;
|
|
1052
1069
|
/** @description Each field whose value came from another locale, mapped to that locale. Absent when none did. */
|
|
1053
1070
|
localeFallbacksApplied?: {
|
|
1054
1071
|
[key: string]: string;
|
|
@@ -1094,7 +1111,7 @@ interface components {
|
|
|
1094
1111
|
ErrorResponse: {
|
|
1095
1112
|
error: {
|
|
1096
1113
|
/** @enum {string} */
|
|
1097
|
-
code: 'ACCESS_DENIED' | 'CONTENT_INVALID' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_DELETE_BLOCKED' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED';
|
|
1114
|
+
code: 'ACCESS_DENIED' | 'CONTENT_INVALID' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_DELETE_BLOCKED' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED' | 'USER_NOT_PROVISIONED';
|
|
1098
1115
|
messages: string[];
|
|
1099
1116
|
details?: {
|
|
1100
1117
|
[key: string]: unknown;
|
|
@@ -1337,9 +1354,9 @@ interface components {
|
|
|
1337
1354
|
localeStatus?: 'archived' | 'draft' | 'published';
|
|
1338
1355
|
/** @description Whether `locale` has unpublished changes of its own. */
|
|
1339
1356
|
localeHasDraft: boolean;
|
|
1340
|
-
/** @description Every locale holding unpublished content, sorted. A shared-field draft is listed
|
|
1357
|
+
/** @description Every locale holding unpublished content of its own, sorted. A shared-field draft is not listed: it is `hasDraft`. */
|
|
1341
1358
|
draftLocales: string[];
|
|
1342
|
-
/** @description Whether the shared (non-localized) fields have unpublished changes. */
|
|
1359
|
+
/** @description Whether the shared (non-localized) fields have unpublished changes. Publishing any locale makes them live, so they are unpublished work in every locale. */
|
|
1343
1360
|
hasDraft: boolean;
|
|
1344
1361
|
/**
|
|
1345
1362
|
* Format: date-time
|
|
@@ -1390,8 +1407,10 @@ interface components {
|
|
|
1390
1407
|
localeStatus?: 'archived' | 'draft' | 'published';
|
|
1391
1408
|
/** @description Whether `locale` has unpublished changes of its own. */
|
|
1392
1409
|
localeHasDraft: boolean;
|
|
1393
|
-
/** @description Every locale holding unpublished content, sorted. A shared-field draft is listed
|
|
1410
|
+
/** @description Every locale holding unpublished content of its own, sorted. A shared-field draft is not listed: it is `hasDraft`. */
|
|
1394
1411
|
draftLocales: string[];
|
|
1412
|
+
/** @description Whether the shared (non-localized) fields have unpublished changes. Publishing any locale makes them live, so they are unpublished work in every locale. */
|
|
1413
|
+
hasDraft: boolean;
|
|
1395
1414
|
/**
|
|
1396
1415
|
* Format: date-time
|
|
1397
1416
|
* @description When the group was last written.
|
|
@@ -1422,8 +1441,10 @@ interface components {
|
|
|
1422
1441
|
localeStatus?: 'archived' | 'draft' | 'published';
|
|
1423
1442
|
/** @description Whether `locale` has unpublished changes of its own. */
|
|
1424
1443
|
localeHasDraft: boolean;
|
|
1425
|
-
/** @description Every locale holding unpublished content, sorted. A shared-field draft is listed
|
|
1444
|
+
/** @description Every locale holding unpublished content of its own, sorted. A shared-field draft is not listed: it is `hasDraft`. */
|
|
1426
1445
|
draftLocales: string[];
|
|
1446
|
+
/** @description Whether the shared (non-localized) fields have unpublished changes. Publishing any locale makes them live, so they are unpublished work in every locale. */
|
|
1447
|
+
hasDraft: boolean;
|
|
1427
1448
|
/**
|
|
1428
1449
|
* Format: date-time
|
|
1429
1450
|
* @description When the group was last written.
|
|
@@ -1465,9 +1486,9 @@ interface components {
|
|
|
1465
1486
|
localeStatus?: 'archived' | 'draft' | 'published';
|
|
1466
1487
|
/** @description Whether `locale` has unpublished changes of its own. */
|
|
1467
1488
|
localeHasDraft: boolean;
|
|
1468
|
-
/** @description Every locale holding unpublished content, sorted. A shared-field draft is listed
|
|
1489
|
+
/** @description Every locale holding unpublished content of its own, sorted. A shared-field draft is not listed: it is `hasDraft`. */
|
|
1469
1490
|
draftLocales: string[];
|
|
1470
|
-
/** @description Whether the shared (non-localized) fields have unpublished changes. */
|
|
1491
|
+
/** @description Whether the shared (non-localized) fields have unpublished changes. Publishing any locale makes them live, so they are unpublished work in every locale. */
|
|
1471
1492
|
hasDraft: boolean;
|
|
1472
1493
|
/**
|
|
1473
1494
|
* Format: date-time
|
|
@@ -1495,7 +1516,7 @@ interface components {
|
|
|
1495
1516
|
id?: string;
|
|
1496
1517
|
error: {
|
|
1497
1518
|
/** @enum {string} */
|
|
1498
|
-
code: 'ACCESS_DENIED' | 'CONTENT_INVALID' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_DELETE_BLOCKED' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED';
|
|
1519
|
+
code: 'ACCESS_DENIED' | 'CONTENT_INVALID' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_DELETE_BLOCKED' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED' | 'USER_NOT_PROVISIONED';
|
|
1499
1520
|
messages: string[];
|
|
1500
1521
|
details?: {
|
|
1501
1522
|
[key: string]: unknown;
|
|
@@ -2140,6 +2161,65 @@ interface operations {
|
|
|
2140
2161
|
};
|
|
2141
2162
|
};
|
|
2142
2163
|
};
|
|
2164
|
+
recordUsageStops: {
|
|
2165
|
+
parameters: {
|
|
2166
|
+
query?: never;
|
|
2167
|
+
header?: never;
|
|
2168
|
+
path?: never;
|
|
2169
|
+
cookie?: never;
|
|
2170
|
+
};
|
|
2171
|
+
requestBody?: never;
|
|
2172
|
+
responses: {
|
|
2173
|
+
/** @description Success. */
|
|
2174
|
+
200: {
|
|
2175
|
+
headers: {
|
|
2176
|
+
[name: string]: unknown;
|
|
2177
|
+
};
|
|
2178
|
+
content: {
|
|
2179
|
+
'application/json': {
|
|
2180
|
+
/** @description The payload itself. */
|
|
2181
|
+
data: unknown;
|
|
2182
|
+
};
|
|
2183
|
+
};
|
|
2184
|
+
};
|
|
2185
|
+
/** @description REQUEST_INVALID */
|
|
2186
|
+
400: {
|
|
2187
|
+
headers: {
|
|
2188
|
+
[name: string]: unknown;
|
|
2189
|
+
};
|
|
2190
|
+
content: {
|
|
2191
|
+
'application/json': components['schemas']['RefusalRequestInvalid'];
|
|
2192
|
+
};
|
|
2193
|
+
};
|
|
2194
|
+
/** @description ACCESS_DENIED */
|
|
2195
|
+
403: {
|
|
2196
|
+
headers: {
|
|
2197
|
+
[name: string]: unknown;
|
|
2198
|
+
};
|
|
2199
|
+
content: {
|
|
2200
|
+
'application/json': components['schemas']['RefusalAccessDenied'];
|
|
2201
|
+
};
|
|
2202
|
+
};
|
|
2203
|
+
/** @description RESOURCE_NOT_FOUND */
|
|
2204
|
+
404: {
|
|
2205
|
+
headers: {
|
|
2206
|
+
[name: string]: unknown;
|
|
2207
|
+
};
|
|
2208
|
+
content: {
|
|
2209
|
+
'application/json': components['schemas']['RefusalResourceNotFound'];
|
|
2210
|
+
};
|
|
2211
|
+
};
|
|
2212
|
+
/** @description INTERNAL_ERROR */
|
|
2213
|
+
500: {
|
|
2214
|
+
headers: {
|
|
2215
|
+
[name: string]: unknown;
|
|
2216
|
+
};
|
|
2217
|
+
content: {
|
|
2218
|
+
'application/json': components['schemas']['RefusalInternalError'];
|
|
2219
|
+
};
|
|
2220
|
+
};
|
|
2221
|
+
};
|
|
2222
|
+
};
|
|
2143
2223
|
listEntries: {
|
|
2144
2224
|
parameters: {
|
|
2145
2225
|
query?: {
|
|
@@ -6753,7 +6833,10 @@ interface DateConfig extends BaseFieldConfig {
|
|
|
6753
6833
|
interface DateTimeConfig extends BaseFieldConfig {
|
|
6754
6834
|
minDateTime?: string;
|
|
6755
6835
|
maxDateTime?: string;
|
|
6756
|
-
/**
|
|
6836
|
+
/**
|
|
6837
|
+
* Show the instant in UTC (`'UTC'`) or in the author's local time (`'local'`) in the editor. The
|
|
6838
|
+
* instant is stored in UTC either way.
|
|
6839
|
+
*/
|
|
6757
6840
|
timeZoneHandling?: 'UTC' | 'local';
|
|
6758
6841
|
defaultValue?: string;
|
|
6759
6842
|
}
|
|
@@ -7375,8 +7458,9 @@ type InferAssetType<T extends AnyAssetTypeDefinition, S extends FieldSchemaConte
|
|
|
7375
7458
|
* typed by one table. The types describe **what a read returns**, which is not always what a write
|
|
7376
7459
|
* accepts:
|
|
7377
7460
|
*
|
|
7378
|
-
* - `richText` is the stored HTML string; `date` is `YYYY-MM-DD` and `dateTime` an ISO 8601 string
|
|
7379
|
-
*
|
|
7461
|
+
* - `richText` is the stored HTML string; `date` is `YYYY-MM-DD` and `dateTime` an ISO 8601 string
|
|
7462
|
+
* in UTC at millisecond precision (`2026-10-01T04:30:00.000Z`), whatever offset it was written in
|
|
7463
|
+
* — the client does not revive dates.
|
|
7380
7464
|
* - A `reference` is the target's id until `include` names it, and then the target entry itself.
|
|
7381
7465
|
* The type cannot see `include`, so it is both: `string | <entry>`. A single reference whose target
|
|
7382
7466
|
* was deleted with `onTargetDelete: 'nullify'` is `null`.
|
|
@@ -7432,7 +7516,7 @@ type FieldValueByType<C, S extends Context> = OverEveryFieldType<{
|
|
|
7432
7516
|
enum: EnumValue<C>;
|
|
7433
7517
|
/** `YYYY-MM-DD`. */
|
|
7434
7518
|
date: string;
|
|
7435
|
-
/** ISO 8601. */
|
|
7519
|
+
/** ISO 8601 in UTC at millisecond precision: `2026-10-01T04:30:00.000Z`. */
|
|
7436
7520
|
dateTime: string;
|
|
7437
7521
|
reference: ReferenceValue<C, S>;
|
|
7438
7522
|
tags: string[];
|
|
@@ -7693,8 +7777,13 @@ type EntryMetadata = components['schemas']['EntryMetadata'];
|
|
|
7693
7777
|
* settings group's alike (`INV-LM-PUBLICATION-IS-REPORTED-PER-LOCALE`): a `Pick` of the document's
|
|
7694
7778
|
* {@link EntryMetadata}, so this package holds no copy of them. `localeStatus` is absent when the
|
|
7695
7779
|
* locale has no content of its own.
|
|
7780
|
+
*
|
|
7781
|
+
* Unpublished work comes in two kinds, reported apart: `draftLocales` names the locales with edits
|
|
7782
|
+
* of their own, and `hasDraft` is a change to the shared (non-localized) fields. Publishing any
|
|
7783
|
+
* locale makes a shared change live, so it is pending in every locale and no locale code is listed
|
|
7784
|
+
* for it. A locale has unpublished work when `draftLocales` names it or `hasDraft` is `true`.
|
|
7696
7785
|
*/
|
|
7697
|
-
type LocalePublicationFields = Pick<EntryMetadata, 'localeStatus' | 'localeHasDraft' | 'draftLocales'>;
|
|
7786
|
+
type LocalePublicationFields = Pick<EntryMetadata, 'localeStatus' | 'localeHasDraft' | 'draftLocales' | 'hasDraft'>;
|
|
7698
7787
|
/**
|
|
7699
7788
|
* Infer the TypeScript type of an entry from a content type definition: every field it declares,
|
|
7700
7789
|
* directly or through fieldsets, typed as a read returns it (`INV-SS-TYPES-INFERRED`), plus
|
|
@@ -208,6 +208,23 @@ interface paths {
|
|
|
208
208
|
patch?: never;
|
|
209
209
|
trace?: never;
|
|
210
210
|
};
|
|
211
|
+
'/internal/usage/stops': {
|
|
212
|
+
parameters: {
|
|
213
|
+
query?: never;
|
|
214
|
+
header?: never;
|
|
215
|
+
path?: never;
|
|
216
|
+
cookie?: never;
|
|
217
|
+
};
|
|
218
|
+
get?: never;
|
|
219
|
+
put?: never;
|
|
220
|
+
/** Record the Usage Limit stops an edge refused */
|
|
221
|
+
post: operations['recordUsageStops'];
|
|
222
|
+
delete?: never;
|
|
223
|
+
options?: never;
|
|
224
|
+
head?: never;
|
|
225
|
+
patch?: never;
|
|
226
|
+
trace?: never;
|
|
227
|
+
};
|
|
211
228
|
'/v1/{contentType}': {
|
|
212
229
|
parameters: {
|
|
213
230
|
query?: never;
|
|
@@ -1041,14 +1058,14 @@ interface components {
|
|
|
1041
1058
|
localeStatus?: 'archived' | 'draft' | 'published';
|
|
1042
1059
|
/** @description Whether `locale` has unpublished changes of its own. */
|
|
1043
1060
|
localeHasDraft: boolean;
|
|
1044
|
-
/** @description Every locale holding unpublished content, sorted. A shared-field draft is listed
|
|
1061
|
+
/** @description Every locale holding unpublished content of its own, sorted. A shared-field draft is not listed: it is `hasDraft`. */
|
|
1045
1062
|
draftLocales: string[];
|
|
1063
|
+
/** @description Whether the shared (non-localized) fields have unpublished changes. Publishing any locale makes them live, so they are unpublished work in every locale. */
|
|
1064
|
+
hasDraft: boolean;
|
|
1046
1065
|
/** @description The locale the request named, when it named one other than the default. On `?locales=a,b,c` it is always sent: the primary, or `*` when the list names as many locales as the entry has — as on `?locale=*`. */
|
|
1047
1066
|
requestedLocale?: string;
|
|
1048
1067
|
/** @description The schema’s default locale. */
|
|
1049
1068
|
defaultLocale: string;
|
|
1050
|
-
/** @description Whether the shared (non-localized) fields have unpublished changes. */
|
|
1051
|
-
hasDraft: boolean;
|
|
1052
1069
|
/** @description Each field whose value came from another locale, mapped to that locale. Absent when none did. */
|
|
1053
1070
|
localeFallbacksApplied?: {
|
|
1054
1071
|
[key: string]: string;
|
|
@@ -1094,7 +1111,7 @@ interface components {
|
|
|
1094
1111
|
ErrorResponse: {
|
|
1095
1112
|
error: {
|
|
1096
1113
|
/** @enum {string} */
|
|
1097
|
-
code: 'ACCESS_DENIED' | 'CONTENT_INVALID' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_DELETE_BLOCKED' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED';
|
|
1114
|
+
code: 'ACCESS_DENIED' | 'CONTENT_INVALID' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_DELETE_BLOCKED' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED' | 'USER_NOT_PROVISIONED';
|
|
1098
1115
|
messages: string[];
|
|
1099
1116
|
details?: {
|
|
1100
1117
|
[key: string]: unknown;
|
|
@@ -1337,9 +1354,9 @@ interface components {
|
|
|
1337
1354
|
localeStatus?: 'archived' | 'draft' | 'published';
|
|
1338
1355
|
/** @description Whether `locale` has unpublished changes of its own. */
|
|
1339
1356
|
localeHasDraft: boolean;
|
|
1340
|
-
/** @description Every locale holding unpublished content, sorted. A shared-field draft is listed
|
|
1357
|
+
/** @description Every locale holding unpublished content of its own, sorted. A shared-field draft is not listed: it is `hasDraft`. */
|
|
1341
1358
|
draftLocales: string[];
|
|
1342
|
-
/** @description Whether the shared (non-localized) fields have unpublished changes. */
|
|
1359
|
+
/** @description Whether the shared (non-localized) fields have unpublished changes. Publishing any locale makes them live, so they are unpublished work in every locale. */
|
|
1343
1360
|
hasDraft: boolean;
|
|
1344
1361
|
/**
|
|
1345
1362
|
* Format: date-time
|
|
@@ -1390,8 +1407,10 @@ interface components {
|
|
|
1390
1407
|
localeStatus?: 'archived' | 'draft' | 'published';
|
|
1391
1408
|
/** @description Whether `locale` has unpublished changes of its own. */
|
|
1392
1409
|
localeHasDraft: boolean;
|
|
1393
|
-
/** @description Every locale holding unpublished content, sorted. A shared-field draft is listed
|
|
1410
|
+
/** @description Every locale holding unpublished content of its own, sorted. A shared-field draft is not listed: it is `hasDraft`. */
|
|
1394
1411
|
draftLocales: string[];
|
|
1412
|
+
/** @description Whether the shared (non-localized) fields have unpublished changes. Publishing any locale makes them live, so they are unpublished work in every locale. */
|
|
1413
|
+
hasDraft: boolean;
|
|
1395
1414
|
/**
|
|
1396
1415
|
* Format: date-time
|
|
1397
1416
|
* @description When the group was last written.
|
|
@@ -1422,8 +1441,10 @@ interface components {
|
|
|
1422
1441
|
localeStatus?: 'archived' | 'draft' | 'published';
|
|
1423
1442
|
/** @description Whether `locale` has unpublished changes of its own. */
|
|
1424
1443
|
localeHasDraft: boolean;
|
|
1425
|
-
/** @description Every locale holding unpublished content, sorted. A shared-field draft is listed
|
|
1444
|
+
/** @description Every locale holding unpublished content of its own, sorted. A shared-field draft is not listed: it is `hasDraft`. */
|
|
1426
1445
|
draftLocales: string[];
|
|
1446
|
+
/** @description Whether the shared (non-localized) fields have unpublished changes. Publishing any locale makes them live, so they are unpublished work in every locale. */
|
|
1447
|
+
hasDraft: boolean;
|
|
1427
1448
|
/**
|
|
1428
1449
|
* Format: date-time
|
|
1429
1450
|
* @description When the group was last written.
|
|
@@ -1465,9 +1486,9 @@ interface components {
|
|
|
1465
1486
|
localeStatus?: 'archived' | 'draft' | 'published';
|
|
1466
1487
|
/** @description Whether `locale` has unpublished changes of its own. */
|
|
1467
1488
|
localeHasDraft: boolean;
|
|
1468
|
-
/** @description Every locale holding unpublished content, sorted. A shared-field draft is listed
|
|
1489
|
+
/** @description Every locale holding unpublished content of its own, sorted. A shared-field draft is not listed: it is `hasDraft`. */
|
|
1469
1490
|
draftLocales: string[];
|
|
1470
|
-
/** @description Whether the shared (non-localized) fields have unpublished changes. */
|
|
1491
|
+
/** @description Whether the shared (non-localized) fields have unpublished changes. Publishing any locale makes them live, so they are unpublished work in every locale. */
|
|
1471
1492
|
hasDraft: boolean;
|
|
1472
1493
|
/**
|
|
1473
1494
|
* Format: date-time
|
|
@@ -1495,7 +1516,7 @@ interface components {
|
|
|
1495
1516
|
id?: string;
|
|
1496
1517
|
error: {
|
|
1497
1518
|
/** @enum {string} */
|
|
1498
|
-
code: 'ACCESS_DENIED' | 'CONTENT_INVALID' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_DELETE_BLOCKED' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED';
|
|
1519
|
+
code: 'ACCESS_DENIED' | 'CONTENT_INVALID' | 'INTERNAL_ERROR' | 'INVALID_API_KEY' | 'METHOD_NOT_ALLOWED' | 'MISSING_API_KEY' | 'ORGANIZATION_DELETE_BLOCKED' | 'PAYLOAD_TOO_LARGE' | 'PLAN_DOWNGRADE_BLOCKED' | 'PLAN_FEATURE_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'READ_ONLY_KEY' | 'REQUEST_INVALID' | 'REQUEST_TIMEOUT' | 'RESOURCE_CONFLICT' | 'RESOURCE_EXPIRED' | 'RESOURCE_NOT_FOUND' | 'REVERIFICATION_REQUIRED' | 'SERVICE_INDETERMINATE' | 'TRANSACTION_ROLLED_BACK' | 'USAGE_QUOTA_EXCEEDED' | 'USER_NOT_PROVISIONED';
|
|
1499
1520
|
messages: string[];
|
|
1500
1521
|
details?: {
|
|
1501
1522
|
[key: string]: unknown;
|
|
@@ -2140,6 +2161,65 @@ interface operations {
|
|
|
2140
2161
|
};
|
|
2141
2162
|
};
|
|
2142
2163
|
};
|
|
2164
|
+
recordUsageStops: {
|
|
2165
|
+
parameters: {
|
|
2166
|
+
query?: never;
|
|
2167
|
+
header?: never;
|
|
2168
|
+
path?: never;
|
|
2169
|
+
cookie?: never;
|
|
2170
|
+
};
|
|
2171
|
+
requestBody?: never;
|
|
2172
|
+
responses: {
|
|
2173
|
+
/** @description Success. */
|
|
2174
|
+
200: {
|
|
2175
|
+
headers: {
|
|
2176
|
+
[name: string]: unknown;
|
|
2177
|
+
};
|
|
2178
|
+
content: {
|
|
2179
|
+
'application/json': {
|
|
2180
|
+
/** @description The payload itself. */
|
|
2181
|
+
data: unknown;
|
|
2182
|
+
};
|
|
2183
|
+
};
|
|
2184
|
+
};
|
|
2185
|
+
/** @description REQUEST_INVALID */
|
|
2186
|
+
400: {
|
|
2187
|
+
headers: {
|
|
2188
|
+
[name: string]: unknown;
|
|
2189
|
+
};
|
|
2190
|
+
content: {
|
|
2191
|
+
'application/json': components['schemas']['RefusalRequestInvalid'];
|
|
2192
|
+
};
|
|
2193
|
+
};
|
|
2194
|
+
/** @description ACCESS_DENIED */
|
|
2195
|
+
403: {
|
|
2196
|
+
headers: {
|
|
2197
|
+
[name: string]: unknown;
|
|
2198
|
+
};
|
|
2199
|
+
content: {
|
|
2200
|
+
'application/json': components['schemas']['RefusalAccessDenied'];
|
|
2201
|
+
};
|
|
2202
|
+
};
|
|
2203
|
+
/** @description RESOURCE_NOT_FOUND */
|
|
2204
|
+
404: {
|
|
2205
|
+
headers: {
|
|
2206
|
+
[name: string]: unknown;
|
|
2207
|
+
};
|
|
2208
|
+
content: {
|
|
2209
|
+
'application/json': components['schemas']['RefusalResourceNotFound'];
|
|
2210
|
+
};
|
|
2211
|
+
};
|
|
2212
|
+
/** @description INTERNAL_ERROR */
|
|
2213
|
+
500: {
|
|
2214
|
+
headers: {
|
|
2215
|
+
[name: string]: unknown;
|
|
2216
|
+
};
|
|
2217
|
+
content: {
|
|
2218
|
+
'application/json': components['schemas']['RefusalInternalError'];
|
|
2219
|
+
};
|
|
2220
|
+
};
|
|
2221
|
+
};
|
|
2222
|
+
};
|
|
2143
2223
|
listEntries: {
|
|
2144
2224
|
parameters: {
|
|
2145
2225
|
query?: {
|
|
@@ -6753,7 +6833,10 @@ interface DateConfig extends BaseFieldConfig {
|
|
|
6753
6833
|
interface DateTimeConfig extends BaseFieldConfig {
|
|
6754
6834
|
minDateTime?: string;
|
|
6755
6835
|
maxDateTime?: string;
|
|
6756
|
-
/**
|
|
6836
|
+
/**
|
|
6837
|
+
* Show the instant in UTC (`'UTC'`) or in the author's local time (`'local'`) in the editor. The
|
|
6838
|
+
* instant is stored in UTC either way.
|
|
6839
|
+
*/
|
|
6757
6840
|
timeZoneHandling?: 'UTC' | 'local';
|
|
6758
6841
|
defaultValue?: string;
|
|
6759
6842
|
}
|
|
@@ -7375,8 +7458,9 @@ type InferAssetType<T extends AnyAssetTypeDefinition, S extends FieldSchemaConte
|
|
|
7375
7458
|
* typed by one table. The types describe **what a read returns**, which is not always what a write
|
|
7376
7459
|
* accepts:
|
|
7377
7460
|
*
|
|
7378
|
-
* - `richText` is the stored HTML string; `date` is `YYYY-MM-DD` and `dateTime` an ISO 8601 string
|
|
7379
|
-
*
|
|
7461
|
+
* - `richText` is the stored HTML string; `date` is `YYYY-MM-DD` and `dateTime` an ISO 8601 string
|
|
7462
|
+
* in UTC at millisecond precision (`2026-10-01T04:30:00.000Z`), whatever offset it was written in
|
|
7463
|
+
* — the client does not revive dates.
|
|
7380
7464
|
* - A `reference` is the target's id until `include` names it, and then the target entry itself.
|
|
7381
7465
|
* The type cannot see `include`, so it is both: `string | <entry>`. A single reference whose target
|
|
7382
7466
|
* was deleted with `onTargetDelete: 'nullify'` is `null`.
|
|
@@ -7432,7 +7516,7 @@ type FieldValueByType<C, S extends Context> = OverEveryFieldType<{
|
|
|
7432
7516
|
enum: EnumValue<C>;
|
|
7433
7517
|
/** `YYYY-MM-DD`. */
|
|
7434
7518
|
date: string;
|
|
7435
|
-
/** ISO 8601. */
|
|
7519
|
+
/** ISO 8601 in UTC at millisecond precision: `2026-10-01T04:30:00.000Z`. */
|
|
7436
7520
|
dateTime: string;
|
|
7437
7521
|
reference: ReferenceValue<C, S>;
|
|
7438
7522
|
tags: string[];
|
|
@@ -7693,8 +7777,13 @@ type EntryMetadata = components['schemas']['EntryMetadata'];
|
|
|
7693
7777
|
* settings group's alike (`INV-LM-PUBLICATION-IS-REPORTED-PER-LOCALE`): a `Pick` of the document's
|
|
7694
7778
|
* {@link EntryMetadata}, so this package holds no copy of them. `localeStatus` is absent when the
|
|
7695
7779
|
* locale has no content of its own.
|
|
7780
|
+
*
|
|
7781
|
+
* Unpublished work comes in two kinds, reported apart: `draftLocales` names the locales with edits
|
|
7782
|
+
* of their own, and `hasDraft` is a change to the shared (non-localized) fields. Publishing any
|
|
7783
|
+
* locale makes a shared change live, so it is pending in every locale and no locale code is listed
|
|
7784
|
+
* for it. A locale has unpublished work when `draftLocales` names it or `hasDraft` is `true`.
|
|
7696
7785
|
*/
|
|
7697
|
-
type LocalePublicationFields = Pick<EntryMetadata, 'localeStatus' | 'localeHasDraft' | 'draftLocales'>;
|
|
7786
|
+
type LocalePublicationFields = Pick<EntryMetadata, 'localeStatus' | 'localeHasDraft' | 'draftLocales' | 'hasDraft'>;
|
|
7698
7787
|
/**
|
|
7699
7788
|
* Infer the TypeScript type of an entry from a content type definition: every field it declares,
|
|
7700
7789
|
* directly or through fieldsets, typed as a read returns it (`INV-SS-TYPES-INFERRED`), plus
|