@voltro/cms 0.85.0 → 0.87.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 +5987 -0
- package/README.md +138 -0
- package/THIRD-PARTY-NOTICES.md +864 -253
- package/dist/ContentForm.js +282 -0
- package/dist/RichDocumentEditor.js +550 -0
- package/dist/RichDocumentView.js +177 -0
- package/dist/RichTextSurface.js +135 -0
- package/dist/aiCandidates.js +199 -0
- package/dist/aiOperations.js +152 -0
- package/dist/applicationBuildSnapshotService.js +101 -0
- package/dist/assetRenditions.js +102 -0
- package/dist/assetRevision.js +46 -0
- package/dist/assetUseRights.js +72 -0
- package/dist/audiences.js +31 -0
- package/dist/availability.js +124 -0
- package/dist/blueprint.js +166 -0
- package/dist/build.d.ts +3063 -0
- package/dist/build.js +37 -0
- package/dist/buildApplicationAdmission.js +16 -0
- package/dist/buildApplicationCatalog.js +136 -0
- package/dist/buildApplicationCatalogTable.js +24 -0
- package/dist/buildApplicationRest.js +99 -0
- package/dist/buildApplicationUpload.js +111 -0
- package/dist/buildSnapshot.js +401 -0
- package/dist/buildSnapshotApplicationPin.js +32 -0
- package/dist/buildSnapshotRest.js +210 -0
- package/dist/buildSnapshotService.js +265 -0
- package/dist/buildSnapshotTables.js +25 -0
- package/dist/bulk.js +282 -0
- package/dist/cacheIdentity.js +152 -0
- package/dist/changes.js +307 -0
- package/dist/cmsContext.js +229 -0
- package/dist/collections.js +224 -0
- package/dist/consent.js +29 -0
- package/dist/contentLocations.js +53 -0
- package/dist/contentProjection.js +83 -0
- package/dist/contentRouteIdentity.js +13 -0
- package/dist/contentRouteMaterializer.js +97 -0
- package/dist/contentRouteTypes.js +39 -0
- package/dist/contentSeo.js +189 -0
- package/dist/contentTreePath.js +60 -0
- package/dist/contentType.js +208 -0
- package/dist/contentValues.js +18 -0
- package/dist/contentfulImport.js +162 -0
- package/dist/copies.js +89 -0
- package/dist/cutover.js +202 -0
- package/dist/deliveryChecks.js +138 -0
- package/dist/domainHost.js +7 -0
- package/dist/domains.js +139 -0
- package/dist/draftTexts.js +164 -0
- package/dist/duplicates.js +78 -0
- package/dist/edgePurge.js +69 -0
- package/dist/editHistory.js +113 -0
- package/dist/effectForm.js +11 -0
- package/dist/environmentAliases.js +138 -0
- package/dist/environments.js +147 -0
- package/dist/errors.js +107 -0
- package/dist/experiments.js +528 -0
- package/dist/exposure.js +28 -0
- package/dist/extensionManifest.js +81 -0
- package/dist/extensions.js +314 -0
- package/dist/fieldSchema.js +199 -0
- package/dist/formStrings.js +74 -0
- package/dist/frontendBindings.js +99 -0
- package/dist/frontendMedia.js +18 -0
- package/dist/glossary.js +73 -0
- package/dist/history.js +54 -0
- package/dist/htmlImport.js +297 -0
- package/dist/index.d.ts +771 -54
- package/dist/index.js +89 -6082
- package/dist/initializePublicRoutes.js +28 -0
- package/dist/liveContentRouteView.js +76 -0
- package/dist/media.js +29 -0
- package/dist/metrics.js +46 -0
- package/dist/migration.js +193 -0
- package/dist/migrationStages.js +13 -0
- package/dist/nativeOutputDeploymentService.js +205 -0
- package/dist/outputActivation.js +234 -0
- package/dist/outputActivationOrigin.js +51 -0
- package/dist/outputActivationStore.js +411 -0
- package/dist/outputActivationTables.js +11 -0
- package/dist/outputActivationTarget.js +81 -0
- package/dist/outputActivationTargetTable.js +25 -0
- package/dist/outputDeployment.js +174 -0
- package/dist/outputDeploymentRest.js +168 -0
- package/dist/outputDeploymentService.js +241 -0
- package/dist/outputRouteGraph.js +177 -0
- package/dist/outputSafetyArtifact.js +147 -0
- package/dist/outputTargetRest.js +62 -0
- package/dist/pathSegmentEncoding.js +4 -0
- package/dist/presenceAnchors.js +68 -0
- package/dist/preview.js +31 -0
- package/dist/privateCmsTransport.js +76 -0
- package/dist/privateNativeRouteReservation.js +10 -0
- package/dist/promotion.js +116 -0
- package/dist/publicBuild.js +90 -0
- package/dist/publicBuildRest.js +98 -0
- package/dist/publicBuildService.js +63 -0
- package/dist/publicOutputHttp.js +129 -0
- package/dist/publicOutputService.js +287 -0
- package/dist/publicPresentation.js +17 -0
- package/dist/publicRouteDispositionAdmission.js +38 -0
- package/dist/publicRouteHistoryStore.js +12 -0
- package/dist/publicRouteHistoryView.js +34 -0
- package/dist/publicRouteIntegrity.js +5 -0
- package/dist/publicRouteMutation.js +6 -0
- package/dist/publicRouteNamespace.js +134 -0
- package/dist/publicRoutePublication.js +36 -0
- package/dist/publicRouteRegistry.js +17 -0
- package/dist/publicRouteRegistryBinding.js +194 -0
- package/dist/publicRouteRegistryDefinition.js +76 -0
- package/dist/publicRouteSitePublication.js +40 -0
- package/dist/publicRouteTables.js +13 -0
- package/dist/publicRouteUrl.js +18 -0
- package/dist/publicationSeo.js +52 -0
- package/dist/publicationState.js +296 -0
- package/dist/quality.js +188 -0
- package/dist/reconfigurePublicRoutes.js +41 -0
- package/dist/recurrence.js +78 -0
- package/dist/redirects.js +130 -0
- package/dist/referenceGraph.js +224 -0
- package/dist/references.js +173 -0
- package/dist/release.js +241 -0
- package/dist/renderReadAuthority.js +43 -0
- package/dist/renderReadGrant.js +137 -0
- package/dist/rest.js +52 -0
- package/dist/review.js +160 -0
- package/dist/richDocument.js +521 -0
- package/dist/richInline.js +100 -0
- package/dist/routeDispositionGraph.js +44 -0
- package/dist/routeDispositionRest.js +51 -0
- package/dist/routeDispositionService.js +73 -0
- package/dist/routeDispositionStore.js +289 -0
- package/dist/routeDispositionTables.js +5 -0
- package/dist/routeDispositions.js +91 -0
- package/dist/routeHistoryStorage.js +320 -0
- package/dist/routeHistoryStore.js +12 -0
- package/dist/schedule.js +80 -0
- package/dist/search.js +148 -0
- package/dist/selectionIntent.js +164 -0
- package/dist/seo.js +31 -0
- package/dist/series.js +105 -0
- package/dist/share.js +112 -0
- package/dist/siteBindings.js +159 -0
- package/dist/siteBuildCandidate.js +104 -0
- package/dist/siteDelivery.js +115 -0
- package/dist/siteState.js +47 -0
- package/dist/snapshotAddressGraph.js +55 -0
- package/dist/snapshotAddressRead.js +73 -0
- package/dist/snapshotAppConsumer.js +71 -0
- package/dist/snapshotAppExecution.js +102 -0
- package/dist/snapshotApplication.js +75 -0
- package/dist/snapshotApprovedRouteDispositions.js +44 -0
- package/dist/snapshotAssetAssembly.js +70 -0
- package/dist/snapshotAssetAssemblyRest.js +50 -0
- package/dist/snapshotBindingRead.js +61 -0
- package/dist/snapshotCodeSeo.js +29 -0
- package/dist/snapshotComponent.js +34 -0
- package/dist/snapshotComponentSource.js +24 -0
- package/dist/snapshotConsumer.js +87 -0
- package/dist/snapshotContentIdentity.js +10 -0
- package/dist/snapshotDefinitions.js +264 -0
- package/dist/snapshotDocumentAssembly.js +193 -0
- package/dist/snapshotDocumentAssemblyRest.js +84 -0
- package/dist/snapshotDocumentProjection.js +202 -0
- package/dist/snapshotDocumentTransfer.js +35 -0
- package/dist/snapshotDocumentTransferRest.js +80 -0
- package/dist/snapshotDomains.js +56 -0
- package/dist/snapshotEnvironment.js +31 -0
- package/dist/snapshotFieldPlan.js +85 -0
- package/dist/snapshotFrontend.js +103 -0
- package/dist/snapshotLink.js +8 -0
- package/dist/snapshotMedia.js +111 -0
- package/dist/snapshotMediaCapture.js +246 -0
- package/dist/snapshotMediaFields.js +225 -0
- package/dist/snapshotMediaRead.js +185 -0
- package/dist/snapshotMediaReader.js +13 -0
- package/dist/snapshotObservation.js +16 -0
- package/dist/snapshotObservedRouteHistory.js +34 -0
- package/dist/snapshotOutputTransfer.js +78 -0
- package/dist/snapshotPageLoader.js +7 -0
- package/dist/snapshotPageSeo.js +59 -0
- package/dist/snapshotPathLocale.js +15 -0
- package/dist/snapshotPresentation.js +86 -0
- package/dist/snapshotPresentationPolicy.js +12 -0
- package/dist/snapshotProjection.js +119 -0
- package/dist/snapshotPublicAccess.js +161 -0
- package/dist/snapshotPublicRouteHistory.js +40 -0
- package/dist/snapshotReadAdmission.js +38 -0
- package/dist/snapshotRedirectOutput.js +151 -0
- package/dist/snapshotRedirectTargets.js +24 -0
- package/dist/snapshotRedirects.js +132 -0
- package/dist/snapshotReference.js +8 -0
- package/dist/snapshotReferenceAddress.js +10 -0
- package/dist/snapshotReferenceGraph.js +79 -0
- package/dist/snapshotReferenceRead.js +65 -0
- package/dist/snapshotRelease.js +99 -0
- package/dist/snapshotRender.js +361 -0
- package/dist/snapshotRenderDependencies.js +178 -0
- package/dist/snapshotRenditions.js +88 -0
- package/dist/snapshotRichDocument.js +62 -0
- package/dist/snapshotRoleTransfer.js +106 -0
- package/dist/snapshotRoleTransferRest.js +99 -0
- package/dist/snapshotRouteAdmission.js +71 -0
- package/dist/snapshotRouteDispatch.js +111 -0
- package/dist/snapshotRouteDispositionPlan.js +73 -0
- package/dist/snapshotRouteRead.js +43 -0
- package/dist/snapshotRoutes.js +79 -0
- package/dist/snapshotRouting.js +113 -0
- package/dist/snapshotSeo.js +179 -0
- package/dist/snapshotSeoControls.js +101 -0
- package/dist/snapshotSeoDocumentInventory.js +115 -0
- package/dist/snapshotSeoDocuments.js +129 -0
- package/dist/snapshotSeoMerge.js +85 -0
- package/dist/snapshotSeoMetadata.js +137 -0
- package/dist/snapshotSeoOutput.js +173 -0
- package/dist/snapshotSeoPathSets.js +105 -0
- package/dist/snapshotSeoRead.js +88 -0
- package/dist/snapshotSite.js +128 -0
- package/dist/snapshotSitemapFiles.js +36 -0
- package/dist/snapshotTreeDependencies.js +58 -0
- package/dist/snapshotTreeLoader.js +10 -0
- package/dist/snapshotTreeRead.js +158 -0
- package/dist/staticPathSet.js +177 -0
- package/dist/staticPathSetRest.js +129 -0
- package/dist/staticPathSetService.js +249 -0
- package/dist/staticPathSetStore.js +338 -0
- package/dist/stewardship.js +146 -0
- package/dist/taxonomy.js +36 -0
- package/dist/team.js +103 -0
- package/dist/templates.js +106 -0
- package/dist/trackChanges.js +197 -0
- package/dist/translation.js +64 -0
- package/dist/tree.js +87 -0
- package/dist/usage.js +50 -0
- package/dist/validation.js +192 -0
- package/dist/visualEditing.js +60 -0
- package/dist/web.d.ts +709 -7
- package/dist/web.js +50 -2
- package/dist/workflow.js +322 -0
- package/dist/write.js +419 -0
- package/dist/xliff.js +325 -0
- package/package.json +20 -6
- package/dist/presenceAnchors-4iHAVQB3.js +0 -4367
package/dist/web.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ import { Row } from '@voltro/database';
|
|
|
3
3
|
import { Schema as Schema_2 } from 'effect';
|
|
4
4
|
import { YieldableError } from 'effect/Cause';
|
|
5
5
|
|
|
6
|
+
/** Validate against the captured policy, not a live purpose or a cookie version. */
|
|
7
|
+
export declare const admitSnapshotPresentation: (purposes: ReadonlyArray<SnapshotConsentPurpose>, supplied: unknown) => SnapshotPresentation;
|
|
8
|
+
|
|
6
9
|
/** A document's address in every language it has its own variant in. */
|
|
7
10
|
export declare const alternatesOf: (trees: ReadonlyArray<LocalizedTree>, documentId: string) => ReadonlyArray<PageAlternate>;
|
|
8
11
|
|
|
@@ -44,6 +47,12 @@ export declare const applySelection: (values: Readonly<Record<string, unknown>>,
|
|
|
44
47
|
*/
|
|
45
48
|
export declare const applyTranslation: (fields: Readonly<Record<string, FieldSchema>>, source: Readonly<Record<string, unknown>>, units: ReadonlyArray<TranslationUnit>) => Record<string, unknown>;
|
|
46
49
|
|
|
50
|
+
/** Declares the original-file field of a versioned asset document. It does
|
|
51
|
+
* not imply ingestion, creative approval, rights or public delivery fitness. */
|
|
52
|
+
declare interface AssetConfig {
|
|
53
|
+
readonly file: string;
|
|
54
|
+
}
|
|
55
|
+
|
|
47
56
|
/**
|
|
48
57
|
* Attribute per-day values (`YYYY-MM-DD`, UTC) to the revision live at the end
|
|
49
58
|
* of each day. A day when nothing was live is left out (`unattributed`).
|
|
@@ -114,6 +123,8 @@ export declare const blockMarkup: (block: RichBlock) => string;
|
|
|
114
123
|
* Arrange one variant per document into a tree. `entries` holds at most one
|
|
115
124
|
* entry per `documentId` (the first one wins). A node without a segment is
|
|
116
125
|
* not routable and counts as an orphan, and so does everything below it.
|
|
126
|
+
* Equal positions use locale-independent JavaScript string order for segments
|
|
127
|
+
* and document IDs; process locale or ICU data must not reorder a snapshot.
|
|
117
128
|
*/
|
|
118
129
|
export declare const buildTree: (entries: ReadonlyArray<TreeEntry>, config: TreeConfig) => CmsTree;
|
|
119
130
|
|
|
@@ -176,6 +187,10 @@ export declare interface CacheRequest {
|
|
|
176
187
|
readonly headers: Readonly<Record<string, string | undefined>>;
|
|
177
188
|
}
|
|
178
189
|
|
|
190
|
+
/** Shared with signed static URL identities. No database, crypto, server
|
|
191
|
+
* module or request credentials may enter this URL-only normalization. */
|
|
192
|
+
export declare const canonicalCmsPublicPath: (path: string) => string;
|
|
193
|
+
|
|
179
194
|
/** Who suggests the edit, and when; `id` names the change. */
|
|
180
195
|
export declare type ChangeAuthor = Omit<RichChange, 'kind'>;
|
|
181
196
|
|
|
@@ -185,6 +200,14 @@ export declare type ChangeDecision = 'accept' | 'reject' | 'keep';
|
|
|
185
200
|
/** The declared fields whose values differ between `before` and `after`, in declaration order. */
|
|
186
201
|
export declare const changedFields: (fields: Readonly<Record<string, unknown>>, before: Readonly<Record<string, unknown>>, after: Readonly<Record<string, unknown>>) => ReadonlyArray<string>;
|
|
187
202
|
|
|
203
|
+
/** The feed cannot issue a safe cursor; migrate, repair scope, or perform full sync. */
|
|
204
|
+
export declare class ChangeFeedUnavailable extends ChangeFeedUnavailable_base {
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
declare const ChangeFeedUnavailable_base: Schema_2.Class<ChangeFeedUnavailable, Schema_2.TaggedStruct<"ChangeFeedUnavailable", {
|
|
208
|
+
readonly reason: Schema_2.Literals<readonly ["scope", "cursor", "migration", "exhausted"]>;
|
|
209
|
+
}>, YieldableError>;
|
|
210
|
+
|
|
188
211
|
/** Throws for a vendor origin that is not exactly `https://host[:port]` — it would widen the policy. */
|
|
189
212
|
export declare const checkConsentPurposes: (purposes: ReadonlyArray<ConsentPurpose>) => void;
|
|
190
213
|
|
|
@@ -206,6 +229,51 @@ export declare interface CmsExtensionManifest {
|
|
|
206
229
|
readonly settings?: ReadonlyArray<ExtensionSetting>;
|
|
207
230
|
}
|
|
208
231
|
|
|
232
|
+
export declare interface CmsPublicBuildDocument {
|
|
233
|
+
readonly querySelectorAll: (selector: string) => ArrayLike<{
|
|
234
|
+
readonly getAttribute: (name: string) => string | null;
|
|
235
|
+
}>;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export declare interface CmsPublicBuildIdentity {
|
|
239
|
+
readonly version: 1;
|
|
240
|
+
readonly snapshotDigest: string;
|
|
241
|
+
readonly inputsId: string;
|
|
242
|
+
readonly executionId: string;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export declare interface CmsPublicBuildPage<T = unknown> {
|
|
246
|
+
readonly version: 1;
|
|
247
|
+
readonly build: CmsPublicBuildIdentity;
|
|
248
|
+
readonly path: string;
|
|
249
|
+
readonly page: T;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export declare class CmsPublicBuildUnavailable extends Error {
|
|
253
|
+
readonly reason: 'identity' | 'request' | 'changed' | 'not-found' | 'denied' | 'transport';
|
|
254
|
+
readonly _tag = "CmsPublicBuildUnavailable";
|
|
255
|
+
constructor(reason: 'identity' | 'request' | 'changed' | 'not-found' | 'denied' | 'transport');
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export declare interface CmsRouteDispositionApproval extends CmsRouteDispositionRecord {
|
|
259
|
+
readonly count: number;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
export declare interface CmsRouteDispositionPage {
|
|
263
|
+
readonly revision: number;
|
|
264
|
+
readonly count: number;
|
|
265
|
+
readonly entries: ReadonlyArray<CmsRouteDispositionRecord>;
|
|
266
|
+
readonly next: string | null;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export declare interface CmsRouteDispositionRecord {
|
|
270
|
+
readonly revision: number;
|
|
271
|
+
readonly revisionId: string;
|
|
272
|
+
readonly previousRevisionId: string | null;
|
|
273
|
+
readonly definition: RouteDispositionDefinition;
|
|
274
|
+
readonly approvedAt: number;
|
|
275
|
+
}
|
|
276
|
+
|
|
209
277
|
/**
|
|
210
278
|
* Where a content row lives besides its tenant: the site it belongs to, the
|
|
211
279
|
* content environment (e.g. `production`, `staging`) and its locale. Three
|
|
@@ -246,6 +314,20 @@ export declare const compileCacheIdentity: (contract: CacheContract, request: Ca
|
|
|
246
314
|
readonly tags?: ReadonlyArray<string>;
|
|
247
315
|
}) => CacheIdentity;
|
|
248
316
|
|
|
317
|
+
export declare interface CompiledSiteDelivery<D extends SiteDeliveryDefinition = SiteDeliveryDefinition> {
|
|
318
|
+
readonly definition: D;
|
|
319
|
+
readonly contentLocales: readonly [ContentLocale<D>, ...ContentLocale<D>[]];
|
|
320
|
+
readonly defaultLocale: ContentLocale<D>;
|
|
321
|
+
readonly sourceLocale: ContentLocale<D>;
|
|
322
|
+
readonly fallback: Readonly<Record<ContentLocale<D>, ReadonlyArray<ContentLocale<D>>>>;
|
|
323
|
+
readonly prefixes: Readonly<Record<ContentLocale<D>, string>>;
|
|
324
|
+
readonly tags: Readonly<Record<ContentLocale<D>, string>>;
|
|
325
|
+
readonly directions: Readonly<Record<ContentLocale<D>, 'ltr' | 'rtl'>>;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/** Compile the one graph used by API and frontend; fallback is ordered depth-first, with each locale visited once. */
|
|
329
|
+
export declare const compileSiteDelivery: <const D extends SiteDeliveryDefinition>(input: D) => CompiledSiteDelivery<D>;
|
|
330
|
+
|
|
249
331
|
declare type ComponentBlock = Extract<RichBlock, {
|
|
250
332
|
readonly type: 'component';
|
|
251
333
|
}>;
|
|
@@ -305,6 +387,11 @@ export declare type ConsentChoices = Readonly<Record<string, number>>;
|
|
|
305
387
|
*/
|
|
306
388
|
export declare const consentContentSecurityPolicy: (purposes: ReadonlyArray<ConsentPurpose>, choices: ConsentChoices, base?: string) => string;
|
|
307
389
|
|
|
390
|
+
/** Every current purpose was either refused or allowed in its current version.
|
|
391
|
+
* A missing or superseded choice needs another decision without discarding
|
|
392
|
+
* still-valid grants for other purposes. */
|
|
393
|
+
export declare const consentDecisionComplete: (purposes: ReadonlyArray<Pick<ConsentPurpose, "id" | "version">>, choices: ConsentChoices | undefined) => boolean;
|
|
394
|
+
|
|
308
395
|
/** The origins of the vendors whose purpose the reader granted in its current version. */
|
|
309
396
|
export declare const consentedOrigins: (purposes: ReadonlyArray<ConsentPurpose>, choices: ConsentChoices) => ReadonlyArray<string>;
|
|
310
397
|
|
|
@@ -536,6 +623,36 @@ declare const ContentIdConflict_base: Schema_2.Class<ContentIdConflict, Schema_2
|
|
|
536
623
|
readonly id: Schema_2.String;
|
|
537
624
|
}>, YieldableError>;
|
|
538
625
|
|
|
626
|
+
declare type ContentLocale<D extends SiteDeliveryDefinition> = D['locales'][number]['contentLocale'];
|
|
627
|
+
|
|
628
|
+
export declare interface ContentLocation {
|
|
629
|
+
/** Stable mapping identity. Changing a slug/path must not change this ID. */
|
|
630
|
+
readonly id: string;
|
|
631
|
+
readonly segments: ReadonlyArray<ContentLocationSegment>;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
export declare interface ContentLocationContext {
|
|
635
|
+
/** Decoded absolute locale prefix, or the empty string for the root locale. */
|
|
636
|
+
readonly prefix: string;
|
|
637
|
+
/** Decoded path from buildTree, required only by a tree segment. */
|
|
638
|
+
readonly treePath?: string;
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
/** A decoded literal segment, one string field, or the complete content-tree path. */
|
|
642
|
+
export declare type ContentLocationSegment = string | {
|
|
643
|
+
readonly field: string;
|
|
644
|
+
} | {
|
|
645
|
+
readonly tree: true;
|
|
646
|
+
};
|
|
647
|
+
|
|
648
|
+
/** Invalid location mapping or missing/unsafe decoded path input. */
|
|
649
|
+
export declare class ContentLocationUnavailable extends ContentLocationUnavailable_base {
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
declare const ContentLocationUnavailable_base: Schema_2.Class<ContentLocationUnavailable, Schema_2.TaggedStruct<"ContentLocationUnavailable", {
|
|
653
|
+
readonly reason: Schema_2.Literals<readonly ["definition", "field", "tree", "path", "bounds"]>;
|
|
654
|
+
}>, YieldableError>;
|
|
655
|
+
|
|
539
656
|
/**
|
|
540
657
|
* Raised by `publish` / `unpublish` / `archive` when the row id doesn't
|
|
541
658
|
* exist in the caller's scope. On a tenant-scoped request store this is
|
|
@@ -554,12 +671,68 @@ declare const ContentNotFound_base: Schema_2.Class<ContentNotFound, Schema_2.Tag
|
|
|
554
671
|
readonly stage: Schema_2.Literals<readonly ["draft", "published", "revision", "share"]>;
|
|
555
672
|
}>, YieldableError>;
|
|
556
673
|
|
|
674
|
+
export declare interface ContentSeoDefaults {
|
|
675
|
+
readonly title?: string;
|
|
676
|
+
readonly description?: string;
|
|
677
|
+
readonly social?: {
|
|
678
|
+
readonly title?: string;
|
|
679
|
+
readonly description?: string;
|
|
680
|
+
};
|
|
681
|
+
readonly robots?: SeoRobotsPolicy;
|
|
682
|
+
readonly sitemap?: boolean;
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
export declare interface ContentSeoDefinition {
|
|
686
|
+
readonly version: 1;
|
|
687
|
+
readonly title: SeoTextMapping;
|
|
688
|
+
readonly description?: SeoTextMapping;
|
|
689
|
+
readonly social?: {
|
|
690
|
+
readonly title?: SeoTextMapping;
|
|
691
|
+
readonly description?: SeoTextMapping;
|
|
692
|
+
readonly image?: string;
|
|
693
|
+
};
|
|
694
|
+
/** Route addresses remain authoritative; no independent URL field mapping. */
|
|
695
|
+
readonly canonical?: 'route' | 'omit';
|
|
696
|
+
readonly robots?: SeoRobotsPolicy;
|
|
697
|
+
readonly sitemap?: boolean;
|
|
698
|
+
readonly structuredData?: {
|
|
699
|
+
readonly type: 'WebPage' | 'Article' | 'BlogPosting';
|
|
700
|
+
/** A field the rendered main content actually shows, not the SEO override. */
|
|
701
|
+
readonly title: string;
|
|
702
|
+
readonly description?: string;
|
|
703
|
+
readonly datePublished?: string;
|
|
704
|
+
};
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
export declare interface ContentSeoFinding {
|
|
708
|
+
readonly kind: 'missing' | 'invalid' | 'recommendation';
|
|
709
|
+
readonly target: string;
|
|
710
|
+
readonly field: string | null;
|
|
711
|
+
readonly rule: 'required' | 'text' | 'date' | 'recommendedMaxLength';
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
export declare interface ContentSeoScope {
|
|
715
|
+
readonly site: string;
|
|
716
|
+
readonly environment: string;
|
|
717
|
+
readonly locale: string;
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
/** Invalid editorial SEO declaration or projected input; browser-safe. */
|
|
721
|
+
export declare class ContentSeoUnavailable extends ContentSeoUnavailable_base {
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
declare const ContentSeoUnavailable_base: Schema_2.Class<ContentSeoUnavailable, Schema_2.TaggedStruct<"ContentSeoUnavailable", {
|
|
725
|
+
readonly reason: Schema_2.Literals<readonly ["definition", "field", "defaults", "values", "scope"]>;
|
|
726
|
+
}>, YieldableError>;
|
|
727
|
+
|
|
557
728
|
/** A registered content type. */
|
|
558
729
|
declare interface ContentType {
|
|
559
730
|
readonly name: string;
|
|
560
731
|
readonly displayName: string;
|
|
561
732
|
readonly pluralName: string;
|
|
562
733
|
readonly fields: Readonly<Record<string, FieldSchema>>;
|
|
734
|
+
/** Original-file field of a versioned asset document. */
|
|
735
|
+
readonly asset?: AssetConfig;
|
|
563
736
|
readonly list?: ListConfig;
|
|
564
737
|
readonly idPrefix?: string;
|
|
565
738
|
/** Declared ISR revalidations fired by `revalidateContent` — see
|
|
@@ -569,6 +742,12 @@ declare interface ContentType {
|
|
|
569
742
|
readonly tree?: TreeConfig;
|
|
570
743
|
/** The field a document outside a tree is addressed by — see `ContentTypeSpec.address`. */
|
|
571
744
|
readonly address?: string;
|
|
745
|
+
/** Serializable delivery paths with stable mapping IDs; no publish reservation implied. */
|
|
746
|
+
readonly locations?: ReadonlyArray<ContentLocation>;
|
|
747
|
+
/** Required/invalid mapped values block publication; length recommendations do not. */
|
|
748
|
+
readonly seo?: ContentSeoDefinition;
|
|
749
|
+
/** Explicit delivery definitions supplying locale-specific SEO defaults. Requires `seo`. */
|
|
750
|
+
readonly seoSites?: ReadonlyArray<SiteDeliveryDefinition>;
|
|
572
751
|
/** Whether publishing needs an approved revision — see `ContentTypeSpec.review`. */
|
|
573
752
|
readonly review?: {
|
|
574
753
|
readonly required: boolean | 'workspace';
|
|
@@ -600,6 +779,8 @@ declare interface ContentTypeSpec {
|
|
|
600
779
|
readonly displayName: string;
|
|
601
780
|
readonly pluralName: string;
|
|
602
781
|
readonly fields: Readonly<Record<string, FieldSchema | PipeableField>>;
|
|
782
|
+
/** Explicit asset identity; the original is a required Media field. */
|
|
783
|
+
readonly asset?: AssetConfig;
|
|
603
784
|
readonly list?: ListConfig;
|
|
604
785
|
/** Override the TypeID prefix for awkward plurals / long names. */
|
|
605
786
|
readonly idPrefix?: string;
|
|
@@ -617,6 +798,12 @@ declare interface ContentTypeSpec {
|
|
|
617
798
|
* page in a tree does. Read it with `redirectTarget(store, type, path, scope)`.
|
|
618
799
|
*/
|
|
619
800
|
readonly address?: string;
|
|
801
|
+
/** Serializable delivery paths with stable mapping IDs; no publish reservation implied. */
|
|
802
|
+
readonly locations?: ReadonlyArray<ContentLocation>;
|
|
803
|
+
/** Required/invalid mapped values block publication; length recommendations do not. */
|
|
804
|
+
readonly seo?: ContentSeoDefinition;
|
|
805
|
+
/** Explicit delivery definitions supplying locale-specific SEO defaults. Requires `seo`. */
|
|
806
|
+
readonly seoSites?: ReadonlyArray<SiteDeliveryDefinition>;
|
|
620
807
|
/**
|
|
621
808
|
* `required: true` publishes only revisions another editor approved
|
|
622
809
|
* (`approveReview`) — for every path that publishes: single, release,
|
|
@@ -655,7 +842,8 @@ declare interface ContentTypeSpec {
|
|
|
655
842
|
/**
|
|
656
843
|
* Append every publish and take-down of this type to the change feed
|
|
657
844
|
* (`cms_changes`, read with `readChanges`), in the same transaction. Register
|
|
658
|
-
* `cmsChangesTable`
|
|
845
|
+
* `cmsChangesTable` and `cmsChangeHeadsTable` for every publication writer;
|
|
846
|
+
* this flag controls event emission, not publication coordination.
|
|
659
847
|
*/
|
|
660
848
|
readonly changeFeed?: boolean;
|
|
661
849
|
/**
|
|
@@ -746,12 +934,27 @@ export declare const contentViolations: (type: Pick<ContentType, "name" | "field
|
|
|
746
934
|
/** How many variants the contract allows at most (query strings count as unbounded beyond the budget). */
|
|
747
935
|
export declare const contractVariants: (contract: CacheContract) => number;
|
|
748
936
|
|
|
937
|
+
export declare const copyCmsPublicBuildIdentity: (value: unknown) => CmsPublicBuildIdentity;
|
|
938
|
+
|
|
939
|
+
export declare const copyRouteDispositionDefinition: (value: unknown) => RouteDispositionDefinition;
|
|
940
|
+
|
|
941
|
+
/** Detached version pins; the actual application retains its notice/vendor text. */
|
|
942
|
+
export declare const copySnapshotConsentPurposes: (value: unknown) => ReadonlyArray<SnapshotConsentPurpose>;
|
|
943
|
+
|
|
944
|
+
/** Detach a closed claim before asynchronous admission. This alone does not
|
|
945
|
+
* admit any purpose; use admitSnapshotPresentation against the captured policy. */
|
|
946
|
+
export declare const copySnapshotPresentationValue: (supplied: unknown) => SnapshotPresentation;
|
|
947
|
+
|
|
948
|
+
export declare const decodeCmsPublicBuildIdentity: (value: string) => CmsPublicBuildIdentity;
|
|
949
|
+
|
|
749
950
|
/** Decode character references (`&`, `’`, `—`). */
|
|
750
951
|
export declare const decodeEntities: (text: string) => string;
|
|
751
952
|
|
|
752
953
|
/** The intent a `?select=…` value carries, or null. */
|
|
753
954
|
export declare const decodeSelectionIntent: (value: string | null | undefined) => SelectionIntent | null;
|
|
754
955
|
|
|
956
|
+
export declare const decodeSnapshotPresentation: (purposes: ReadonlyArray<SnapshotConsentPurpose>, selector: string) => SnapshotPresentation;
|
|
957
|
+
|
|
755
958
|
/** Define an audience; a rule with no condition would match everyone and is refused. */
|
|
756
959
|
export declare const defineAudience: (audience: Audience) => Audience;
|
|
757
960
|
|
|
@@ -770,6 +973,15 @@ export declare const defineComponent: (spec: {
|
|
|
770
973
|
readonly migrations?: ComponentDefinition["migrations"];
|
|
771
974
|
}) => ComponentDefinition;
|
|
772
975
|
|
|
976
|
+
/** Validate and detach a bounded, JSON-only set of stable location mappings. */
|
|
977
|
+
export declare const defineContentLocations: (input: ReadonlyArray<ContentLocation>) => ReadonlyArray<ContentLocation>;
|
|
978
|
+
|
|
979
|
+
/** Detach a bounded JSON-only declaration; getters/functions/unknown keys refuse. */
|
|
980
|
+
export declare const defineContentSeo: (input: ContentSeoDefinition) => ContentSeoDefinition;
|
|
981
|
+
|
|
982
|
+
/** Locale-specific text and editorial policy defaults, not an access decision. */
|
|
983
|
+
export declare const defineContentSeoDefaults: (input: ContentSeoDefaults) => ContentSeoDefaults;
|
|
984
|
+
|
|
773
985
|
/**
|
|
774
986
|
* Declare the design tokens components may name (`Schema.Token(tokens, 'tone')`).
|
|
775
987
|
* Group and token names are camelCase; the values are what an editor reads
|
|
@@ -777,6 +989,10 @@ export declare const defineComponent: (spec: {
|
|
|
777
989
|
*/
|
|
778
990
|
export declare const defineDesignTokens: <T extends DesignTokens>(tokens: T) => T;
|
|
779
991
|
|
|
992
|
+
/** Validate actual callable bindings. Full schema compatibility is checked by
|
|
993
|
+
* the shared descriptor encoder when the app describes its snapshot inputs. */
|
|
994
|
+
export declare const defineFrontendBindings: (input: FrontendBindings) => FrontendBindings;
|
|
995
|
+
|
|
780
996
|
/** Declare a metric; the fingerprint follows its meaning. */
|
|
781
997
|
export declare const defineMetric: (spec: MetricSpec) => MetricDefinition;
|
|
782
998
|
|
|
@@ -804,6 +1020,13 @@ export declare const defineRichTextProfile: (spec: {
|
|
|
804
1020
|
readonly contactLiterals?: boolean;
|
|
805
1021
|
}) => RichTextProfile;
|
|
806
1022
|
|
|
1023
|
+
/**
|
|
1024
|
+
* Copy and validate the explicit site delivery graph. This performs no tag
|
|
1025
|
+
* inference, registry lookup, source migration or content writes. Authoring
|
|
1026
|
+
* supplies approved profiles; the complete definition is pinned with app code.
|
|
1027
|
+
*/
|
|
1028
|
+
export declare const defineSiteDelivery: <const D extends SiteDeliveryDefinition>(input: D) => D;
|
|
1029
|
+
|
|
807
1030
|
/**
|
|
808
1031
|
* Mark a field computed-on-save from another field. The transform runs
|
|
809
1032
|
* before the row is written — `saveDraft` applies it (via
|
|
@@ -951,9 +1174,24 @@ export declare const EMPTY_EDIT_HISTORY: EditHistory;
|
|
|
951
1174
|
/** An empty document. */
|
|
952
1175
|
export declare const emptyRichDocument: () => RichDocument;
|
|
953
1176
|
|
|
1177
|
+
/** Fixed ASCII framing needs no HTML attribute escaping and contains no site
|
|
1178
|
+
* credentials, actor, grant, personal consent or private input configuration. */
|
|
1179
|
+
export declare const encodeCmsPublicBuildIdentity: (value: CmsPublicBuildIdentity) => string;
|
|
1180
|
+
|
|
954
1181
|
/** The intent as a URL parameter value (`?select=…`). */
|
|
955
1182
|
export declare const encodeSelectionIntent: (intent: SelectionIntent) => string;
|
|
956
1183
|
|
|
1184
|
+
/** A public class selector; this is not a credential or a reader identifier. */
|
|
1185
|
+
export declare const encodeSnapshotPresentation: (purposes: ReadonlyArray<SnapshotConsentPurpose>, presentation: SnapshotPresentation) => string;
|
|
1186
|
+
|
|
1187
|
+
/** An environment alias never falls back to a literal environment or stale target. */
|
|
1188
|
+
export declare class EnvironmentAliasUnavailable extends EnvironmentAliasUnavailable_base {
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
declare const EnvironmentAliasUnavailable_base: Schema_2.Class<EnvironmentAliasUnavailable, Schema_2.TaggedStruct<"EnvironmentAliasUnavailable", {
|
|
1192
|
+
readonly reason: Schema_2.Literals<readonly ["scope", "name", "target", "missing", "conflict", "revision", "state"]>;
|
|
1193
|
+
}>, YieldableError>;
|
|
1194
|
+
|
|
957
1195
|
/** Why a dimension is in the identity or not. */
|
|
958
1196
|
export declare interface ExplainLine {
|
|
959
1197
|
readonly dimension: string;
|
|
@@ -1155,6 +1393,71 @@ export declare interface FieldViolation {
|
|
|
1155
1393
|
*/
|
|
1156
1394
|
export declare const formPartOf: (form: ParentNode, path: string) => Element | null;
|
|
1157
1395
|
|
|
1396
|
+
export declare type FrontendBindings = Readonly<Record<string, FrontendComponentBinding>>;
|
|
1397
|
+
|
|
1398
|
+
export declare class FrontendBindingUnavailable extends FrontendBindingUnavailable_base {
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
declare const FrontendBindingUnavailable_base: Schema_2.Class<FrontendBindingUnavailable, Schema_2.TaggedStruct<"FrontendBindingUnavailable", {
|
|
1402
|
+
readonly reason: Schema_2.Literals<readonly ["definition", "missing", "schema", "implementation", "context"]>;
|
|
1403
|
+
}>, YieldableError>;
|
|
1404
|
+
|
|
1405
|
+
export declare interface FrontendComponentBinding {
|
|
1406
|
+
readonly schema: ComponentDefinition;
|
|
1407
|
+
readonly renderer: string;
|
|
1408
|
+
readonly contexts: ReadonlyArray<FrontendOutputContext>;
|
|
1409
|
+
readonly render: (props: Readonly<Record<string, unknown>>, context: FrontendOutputContext, resources: {
|
|
1410
|
+
readonly media: FrontendMediaReader;
|
|
1411
|
+
readonly source?: SnapshotComponentSource;
|
|
1412
|
+
}) => unknown;
|
|
1413
|
+
readonly empty: (input: FrontendStateInput) => unknown;
|
|
1414
|
+
readonly loading: (input: FrontendStateInput) => unknown;
|
|
1415
|
+
readonly error: (input: FrontendStateInput) => unknown;
|
|
1416
|
+
readonly restricted?: (input: FrontendStateInput & {
|
|
1417
|
+
readonly purpose: string;
|
|
1418
|
+
}) => unknown;
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
export declare interface FrontendMedia extends FrontendMediaSelection, FrontendMediaFile {
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1424
|
+
export declare interface FrontendMediaFile {
|
|
1425
|
+
readonly url: string;
|
|
1426
|
+
readonly contentType: string;
|
|
1427
|
+
}
|
|
1428
|
+
|
|
1429
|
+
export declare type FrontendMediaOutput = {
|
|
1430
|
+
readonly kind: 'original';
|
|
1431
|
+
} | {
|
|
1432
|
+
readonly kind: 'rendition';
|
|
1433
|
+
readonly slot: string;
|
|
1434
|
+
};
|
|
1435
|
+
|
|
1436
|
+
export declare type FrontendMediaReader = (path: ReadonlyArray<string | number>, output?: FrontendMediaOutput) => FrontendMediaFile | null;
|
|
1437
|
+
|
|
1438
|
+
export declare interface FrontendMediaSelection {
|
|
1439
|
+
readonly fieldPath: ReadonlyArray<string | number>;
|
|
1440
|
+
readonly output: FrontendMediaOutput;
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1443
|
+
export declare interface FrontendOutputContext extends FrontendOutputSelection {
|
|
1444
|
+
readonly localeId: string;
|
|
1445
|
+
readonly contentLocale: string;
|
|
1446
|
+
readonly languageTag: string;
|
|
1447
|
+
readonly direction: 'ltr' | 'rtl';
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1450
|
+
export declare interface FrontendOutputSelection {
|
|
1451
|
+
readonly channel: string;
|
|
1452
|
+
readonly theme: string;
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
export declare interface FrontendStateInput {
|
|
1456
|
+
readonly componentId: string;
|
|
1457
|
+
readonly context: FrontendOutputContext;
|
|
1458
|
+
readonly source?: SnapshotComponentSource;
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1158
1461
|
/**
|
|
1159
1462
|
* The values with every component that needs an ungranted purpose replaced
|
|
1160
1463
|
* by a {@link WithheldInstance}. Values without such components come back
|
|
@@ -1165,7 +1468,7 @@ export declare const gateConsent: (type: {
|
|
|
1165
1468
|
}, values: Readonly<Record<string, unknown>>, granted: ReadonlySet<string>) => Record<string, unknown>;
|
|
1166
1469
|
|
|
1167
1470
|
/** The purposes whose current version the reader allowed. */
|
|
1168
|
-
export declare const grantedPurposes: (purposes: ReadonlyArray<ConsentPurpose
|
|
1471
|
+
export declare const grantedPurposes: (purposes: ReadonlyArray<Pick<ConsentPurpose, "id" | "version">>, choices: ConsentChoices) => ReadonlySet<string>;
|
|
1169
1472
|
|
|
1170
1473
|
/** Whether every character of text in `[start, end)` carries `mark` (links never do). */
|
|
1171
1474
|
export declare const hasMark: (content: ReadonlyArray<RichInline>, start: number, end: number, mark: RichMark) => boolean;
|
|
@@ -1307,6 +1610,13 @@ export declare interface LiveStretch {
|
|
|
1307
1610
|
readonly to: string | null;
|
|
1308
1611
|
}
|
|
1309
1612
|
|
|
1613
|
+
/** This dedicated public data transport cannot fall back to a live delivery
|
|
1614
|
+
* query after a pin mismatch, denial, missing captured path or network error. */
|
|
1615
|
+
export declare const loadCmsPublicBuildPage: <T>(identity: CmsPublicBuildIdentity, path: string, options?: {
|
|
1616
|
+
readonly signal?: AbortSignal;
|
|
1617
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
1618
|
+
}) => Promise<CmsPublicBuildPage<T>>;
|
|
1619
|
+
|
|
1310
1620
|
/** One language's published page tree. */
|
|
1311
1621
|
export declare interface LocalizedTree {
|
|
1312
1622
|
readonly locale: string;
|
|
@@ -1590,6 +1900,18 @@ declare const PreviewShareRejected_base: Schema_2.Class<PreviewShareRejected, Sc
|
|
|
1590
1900
|
readonly reason: Schema_2.Literals<readonly ["expiryInPast", "expiryTooFar"]>;
|
|
1591
1901
|
}>, YieldableError>;
|
|
1592
1902
|
|
|
1903
|
+
export declare interface PublicRouteIdentity {
|
|
1904
|
+
readonly url: string;
|
|
1905
|
+
readonly routeId: string;
|
|
1906
|
+
}
|
|
1907
|
+
|
|
1908
|
+
export declare class PublicRouteRegistryUnavailable extends PublicRouteRegistryUnavailable_base {
|
|
1909
|
+
}
|
|
1910
|
+
|
|
1911
|
+
declare const PublicRouteRegistryUnavailable_base: Schema_2.Class<PublicRouteRegistryUnavailable, Schema_2.TaggedStruct<"PublicRouteRegistryUnavailable", {
|
|
1912
|
+
readonly reason: Schema_2.Literals<readonly ["scope", "definition", "configuration", "history", "state", "revision", "conflict", "bounds", "location"]>;
|
|
1913
|
+
}>, YieldableError>;
|
|
1914
|
+
|
|
1593
1915
|
/**
|
|
1594
1916
|
* What stops these values from being published: every `requiredToPublish()`
|
|
1595
1917
|
* field that is empty (absent, null, or a blank string), and every rich text
|
|
@@ -1673,6 +1995,8 @@ declare const QuotaExceeded_base: Schema_2.Class<QuotaExceeded, Schema_2.TaggedS
|
|
|
1673
1995
|
readonly used: Schema_2.Number;
|
|
1674
1996
|
}>, YieldableError>;
|
|
1675
1997
|
|
|
1998
|
+
export declare const readCmsPublicBuildIdentity: (document?: CmsPublicBuildDocument | undefined) => CmsPublicBuildIdentity | null;
|
|
1999
|
+
|
|
1676
2000
|
/** The editor's message, or null for anything else. */
|
|
1677
2001
|
export declare const readEditorMessage: (event: VisualMessageEvent, session: VisualSession) => EditorMessage | null;
|
|
1678
2002
|
|
|
@@ -1757,6 +2081,8 @@ declare const ReleaseNotEditable_base: Schema_2.Class<ReleaseNotEditable, Schema
|
|
|
1757
2081
|
readonly status: Schema_2.String;
|
|
1758
2082
|
}>, YieldableError>;
|
|
1759
2083
|
|
|
2084
|
+
export declare const renderSnapshotComponent: (data: SnapshotContentData, bindings: FrontendBindings, fieldPath: ReadonlyArray<string | number>, state?: "content" | "empty" | "loading" | "error") => unknown;
|
|
2085
|
+
|
|
1760
2086
|
/**
|
|
1761
2087
|
* Replace the text in `[start, end)` with `text` (a paste, a typed line
|
|
1762
2088
|
* break). It takes the marks of the first character it replaces, or — where
|
|
@@ -1767,6 +2093,40 @@ export declare const replaceText: (content: ReadonlyArray<RichInline>, start: nu
|
|
|
1767
2093
|
/** The document with each suggestion accepted, rejected or kept, as `decide` says. */
|
|
1768
2094
|
export declare const resolveChanges: (doc: RichDocument, decide: (change: RichChange) => ChangeDecision) => RichDocument;
|
|
1769
2095
|
|
|
2096
|
+
/** Resolve decoded inputs into one canonical absolute path; no host, query or live reads. */
|
|
2097
|
+
export declare const resolveContentLocation: (input: ContentLocation, values: Readonly<Record<string, unknown>>, context: ContentLocationContext) => string;
|
|
2098
|
+
|
|
2099
|
+
/** Project only mapped fields. Findings must be judged before publication/output.
|
|
2100
|
+
* Public visibility, runtime rights, robots.txt, URLs and resolved images are
|
|
2101
|
+
* separate admission/rendering contracts; true here is never a public grant. */
|
|
2102
|
+
export declare const resolveContentSeo: (definition: ContentSeoDefinition, values: Readonly<Record<string, unknown>>, defaults?: ContentSeoDefaults) => ResolvedContentSeo;
|
|
2103
|
+
|
|
2104
|
+
export declare interface ResolvedContentSeo {
|
|
2105
|
+
readonly title: string | null;
|
|
2106
|
+
readonly description: string | null;
|
|
2107
|
+
readonly canonical: 'route' | 'omit';
|
|
2108
|
+
readonly robots: SeoRobotsPolicy;
|
|
2109
|
+
readonly sitemap: boolean;
|
|
2110
|
+
readonly social: {
|
|
2111
|
+
readonly title: string | null;
|
|
2112
|
+
readonly description: string | null;
|
|
2113
|
+
readonly imageKey: string | null;
|
|
2114
|
+
};
|
|
2115
|
+
/** Typed semantic values; a renderer adds the admitted URL, locale and media. */
|
|
2116
|
+
readonly structuredData: {
|
|
2117
|
+
readonly type: 'WebPage' | 'Article' | 'BlogPosting';
|
|
2118
|
+
readonly title: string;
|
|
2119
|
+
readonly description: string | null;
|
|
2120
|
+
readonly datePublished: string | null;
|
|
2121
|
+
} | null;
|
|
2122
|
+
readonly sources: Readonly<Record<string, string | null>>;
|
|
2123
|
+
readonly findings: ReadonlyArray<ContentSeoFinding>;
|
|
2124
|
+
}
|
|
2125
|
+
|
|
2126
|
+
/** Project the variant's own language. Delivery fallback never supplies missing
|
|
2127
|
+
* publication metadata. An undeclared scope refuses even if all fields are set. */
|
|
2128
|
+
export declare const resolveScopedContentSeo: (policy: ScopedContentSeo, values: Readonly<Record<string, unknown>>, scope: ContentSeoScope) => ResolvedContentSeo | null;
|
|
2129
|
+
|
|
1770
2130
|
/**
|
|
1771
2131
|
* Raised when a revision of a content type that requires review is published
|
|
1772
2132
|
* without an approval of exactly that revision.
|
|
@@ -1915,6 +2275,11 @@ export declare interface RichDocument {
|
|
|
1915
2275
|
readonly profile?: string;
|
|
1916
2276
|
}
|
|
1917
2277
|
|
|
2278
|
+
export declare interface RichDocumentBlockContext {
|
|
2279
|
+
/** Position in the rendered document's blocks, including repeated assets. */
|
|
2280
|
+
readonly index: number;
|
|
2281
|
+
}
|
|
2282
|
+
|
|
1918
2283
|
export declare const RichDocumentEditor: (props: RichDocumentEditorProps) => ReactNode;
|
|
1919
2284
|
|
|
1920
2285
|
export declare interface RichDocumentEditorProps extends WidgetProps {
|
|
@@ -1945,6 +2310,11 @@ export declare const richDocumentFromContentful: (root: ContentfulNode | null |
|
|
|
1945
2310
|
*/
|
|
1946
2311
|
export declare const richDocumentFromHtml: (html: string, options?: HtmlImportOptions) => HtmlImportResult;
|
|
1947
2312
|
|
|
2313
|
+
export declare interface RichDocumentInlineContext {
|
|
2314
|
+
/** Exact reference scalar path relative to the document, including block/list/table positions. */
|
|
2315
|
+
readonly fieldPath: ReadonlyArray<string | number>;
|
|
2316
|
+
}
|
|
2317
|
+
|
|
1948
2318
|
/** Renders a control that picks one document of `type`. */
|
|
1949
2319
|
export declare type RichDocumentPicker = (props: {
|
|
1950
2320
|
readonly id: string;
|
|
@@ -1979,6 +2349,18 @@ export declare interface RichDocumentReference {
|
|
|
1979
2349
|
readonly targetDocumentId: string;
|
|
1980
2350
|
}
|
|
1981
2351
|
|
|
2352
|
+
/** One direct rich-document reference, addressed at its actual scalar field. */
|
|
2353
|
+
export declare interface RichDocumentReferenceField {
|
|
2354
|
+
readonly fieldPath: ReadonlyArray<string | number>;
|
|
2355
|
+
readonly targetType: string;
|
|
2356
|
+
readonly targetDocumentId: string;
|
|
2357
|
+
}
|
|
2358
|
+
|
|
2359
|
+
/** Direct links, managed contacts and image/file assets in a valid document.
|
|
2360
|
+
* Embedded component props use their own declared component schemas. Prefix
|
|
2361
|
+
* segments are opaque; never recover these coordinates from display labels. */
|
|
2362
|
+
export declare const richDocumentReferenceFields: (prefix: ReadonlyArray<string | number>, doc: RichDocument, options: RichTextOptions) => ReadonlyArray<RichDocumentReferenceField>;
|
|
2363
|
+
|
|
1982
2364
|
/** Every image and link reference in a (valid) document, with its path. */
|
|
1983
2365
|
export declare const richDocumentReferences: (path: string, doc: RichDocument, options: RichTextOptions) => ReadonlyArray<RichDocumentReference>;
|
|
1984
2366
|
|
|
@@ -1989,18 +2371,18 @@ export declare interface RichDocumentViewProps {
|
|
|
1989
2371
|
/** A stored `Schema.RichText()` value (a plain string renders as paragraphs). */
|
|
1990
2372
|
readonly document: unknown;
|
|
1991
2373
|
/** The address of a linked document, or undefined when it has none (not live). */
|
|
1992
|
-
readonly hrefOf?: (documentId: string) => string | undefined;
|
|
2374
|
+
readonly hrefOf?: (documentId: string, context: RichDocumentInlineContext) => string | undefined;
|
|
1993
2375
|
/** Render an image block; without it, images are left out. */
|
|
1994
2376
|
readonly renderImage?: (block: {
|
|
1995
2377
|
readonly asset: string;
|
|
1996
2378
|
readonly caption?: string;
|
|
1997
|
-
}) => ReactNode;
|
|
2379
|
+
}, context: RichDocumentBlockContext) => ReactNode;
|
|
1998
2380
|
/** The `mailto:` / `tel:` address of a published contact point, or undefined when it is not live. */
|
|
1999
|
-
readonly contactHrefOf?: (documentId: string) => string | undefined;
|
|
2381
|
+
readonly contactHrefOf?: (documentId: string, context: RichDocumentInlineContext) => string | undefined;
|
|
2000
2382
|
/** Render a component placed between the blocks; without it, components are left out. */
|
|
2001
|
-
readonly renderComponent?: (block: ComponentBlock) => ReactNode;
|
|
2383
|
+
readonly renderComponent?: (block: ComponentBlock, context: RichDocumentBlockContext) => ReactNode;
|
|
2002
2384
|
/** The address a download block's file is fetched from, or undefined when it is not live — then the download is left out, never a dead link. */
|
|
2003
|
-
readonly fileHrefOf?: (asset: string) => string | undefined;
|
|
2385
|
+
readonly fileHrefOf?: (asset: string, context: RichDocumentBlockContext) => string | undefined;
|
|
2004
2386
|
}
|
|
2005
2387
|
|
|
2006
2388
|
/** A run of text inside a block. `change` marks it as suggested. */
|
|
@@ -2084,6 +2466,71 @@ export declare interface RichTextSurfaceProps {
|
|
|
2084
2466
|
};
|
|
2085
2467
|
}
|
|
2086
2468
|
|
|
2469
|
+
export declare type RouteDispositionAction = {
|
|
2470
|
+
readonly kind: 'redirect';
|
|
2471
|
+
readonly status: 301 | 302;
|
|
2472
|
+
readonly method: 'allow-post-to-get';
|
|
2473
|
+
readonly target: PublicRouteIdentity;
|
|
2474
|
+
} | {
|
|
2475
|
+
readonly kind: 'redirect';
|
|
2476
|
+
readonly status: 307 | 308;
|
|
2477
|
+
readonly method: 'preserve';
|
|
2478
|
+
readonly target: PublicRouteIdentity;
|
|
2479
|
+
} | {
|
|
2480
|
+
readonly kind: 'gone';
|
|
2481
|
+
readonly status: 404 | 410;
|
|
2482
|
+
} | {
|
|
2483
|
+
readonly kind: 'hold';
|
|
2484
|
+
};
|
|
2485
|
+
|
|
2486
|
+
export declare interface RouteDispositionDefinition {
|
|
2487
|
+
readonly version: 1;
|
|
2488
|
+
readonly source: PublicRouteIdentity;
|
|
2489
|
+
readonly action: RouteDispositionAction;
|
|
2490
|
+
/** Inclusive lower and exclusive upper bound, UTC epoch milliseconds. */
|
|
2491
|
+
readonly activeFrom: number | null;
|
|
2492
|
+
readonly activeUntil: number | null;
|
|
2493
|
+
}
|
|
2494
|
+
|
|
2495
|
+
export declare const RouteDispositionDefinitionSchema: Schema_2.Struct<{
|
|
2496
|
+
readonly version: Schema_2.Literal<1>;
|
|
2497
|
+
readonly source: Schema_2.Struct<{
|
|
2498
|
+
readonly url: Schema_2.String;
|
|
2499
|
+
readonly routeId: Schema_2.String;
|
|
2500
|
+
}>;
|
|
2501
|
+
readonly action: Schema_2.Union<readonly [Schema_2.Struct<{
|
|
2502
|
+
readonly kind: Schema_2.Literal<"redirect">;
|
|
2503
|
+
readonly status: Schema_2.Literals<readonly [301, 302]>;
|
|
2504
|
+
readonly method: Schema_2.Literal<"allow-post-to-get">;
|
|
2505
|
+
readonly target: Schema_2.Struct<{
|
|
2506
|
+
readonly url: Schema_2.String;
|
|
2507
|
+
readonly routeId: Schema_2.String;
|
|
2508
|
+
}>;
|
|
2509
|
+
}>, Schema_2.Struct<{
|
|
2510
|
+
readonly kind: Schema_2.Literal<"redirect">;
|
|
2511
|
+
readonly status: Schema_2.Literals<readonly [307, 308]>;
|
|
2512
|
+
readonly method: Schema_2.Literal<"preserve">;
|
|
2513
|
+
readonly target: Schema_2.Struct<{
|
|
2514
|
+
readonly url: Schema_2.String;
|
|
2515
|
+
readonly routeId: Schema_2.String;
|
|
2516
|
+
}>;
|
|
2517
|
+
}>, Schema_2.Struct<{
|
|
2518
|
+
readonly kind: Schema_2.Literal<"gone">;
|
|
2519
|
+
readonly status: Schema_2.Literals<readonly [404, 410]>;
|
|
2520
|
+
}>, Schema_2.Struct<{
|
|
2521
|
+
readonly kind: Schema_2.Literal<"hold">;
|
|
2522
|
+
}>]>;
|
|
2523
|
+
readonly activeFrom: Schema_2.NullOr<Schema_2.Int>;
|
|
2524
|
+
readonly activeUntil: Schema_2.NullOr<Schema_2.Int>;
|
|
2525
|
+
}>;
|
|
2526
|
+
|
|
2527
|
+
export declare class RouteDispositionUnavailable extends RouteDispositionUnavailable_base {
|
|
2528
|
+
}
|
|
2529
|
+
|
|
2530
|
+
declare const RouteDispositionUnavailable_base: Schema_2.Class<RouteDispositionUnavailable, Schema_2.TaggedStruct<"RouteDispositionUnavailable", {
|
|
2531
|
+
readonly reason: Schema_2.Literals<readonly ["input", "bounds", "scope", "state", "revision", "credential", "graph", "hold"]>;
|
|
2532
|
+
}>, YieldableError>;
|
|
2533
|
+
|
|
2087
2534
|
/**
|
|
2088
2535
|
* The CMS field namespace. Scalars mirror the effect/Schema names the
|
|
2089
2536
|
* docs use; the CMS-only constructors (RichText / Media / Reference /
|
|
@@ -2154,6 +2601,12 @@ export declare const Schema: {
|
|
|
2154
2601
|
readonly Components: (definitions: ReadonlyArray<ComponentDefinition>) => PipeableField;
|
|
2155
2602
|
};
|
|
2156
2603
|
|
|
2604
|
+
export declare interface ScopedContentSeo {
|
|
2605
|
+
readonly seo?: ContentSeoDefinition;
|
|
2606
|
+
/** The same site declarations used by delivery; no inferred site or language. */
|
|
2607
|
+
readonly seoSites?: ReadonlyArray<SiteDeliveryDefinition>;
|
|
2608
|
+
}
|
|
2609
|
+
|
|
2157
2610
|
/** What makes a type findable. */
|
|
2158
2611
|
declare interface SearchConfig {
|
|
2159
2612
|
/** The string field ranked first — usually the title. */
|
|
@@ -2202,6 +2655,18 @@ export declare interface SelectionTarget {
|
|
|
2202
2655
|
};
|
|
2203
2656
|
}
|
|
2204
2657
|
|
|
2658
|
+
export declare interface SeoRobotsPolicy {
|
|
2659
|
+
readonly index: boolean;
|
|
2660
|
+
readonly follow: boolean;
|
|
2661
|
+
}
|
|
2662
|
+
|
|
2663
|
+
export declare interface SeoTextMapping {
|
|
2664
|
+
readonly fields: ReadonlyArray<string>;
|
|
2665
|
+
readonly required?: boolean;
|
|
2666
|
+
/** An editorial recommendation, never an invented search-engine limit. */
|
|
2667
|
+
readonly recommendedMaxLength?: number;
|
|
2668
|
+
}
|
|
2669
|
+
|
|
2205
2670
|
/** What is wrong with values for a manifest's settings; empty when nothing is. Unknown keys are refused. */
|
|
2206
2671
|
export declare const settingsProblems: (manifest: CmsExtensionManifest, values: Readonly<Record<string, unknown>>) => ReadonlyArray<string>;
|
|
2207
2672
|
|
|
@@ -2215,6 +2680,49 @@ export declare const settingsWithDefaults: (manifest: CmsExtensionManifest, stor
|
|
|
2215
2680
|
*/
|
|
2216
2681
|
export declare const sharedCacheable: (headers: Readonly<Record<string, string | undefined>>) => boolean;
|
|
2217
2682
|
|
|
2683
|
+
/** A named site content binding cannot be resolved or changed as requested. */
|
|
2684
|
+
export declare class SiteBindingUnavailable extends SiteBindingUnavailable_base {
|
|
2685
|
+
}
|
|
2686
|
+
|
|
2687
|
+
declare const SiteBindingUnavailable_base: Schema_2.Class<SiteBindingUnavailable, Schema_2.TaggedStruct<"SiteBindingUnavailable", {
|
|
2688
|
+
readonly reason: Schema_2.Literals<readonly ["scope", "name", "target", "missing", "conflict", "revision", "state"]>;
|
|
2689
|
+
}>, YieldableError>;
|
|
2690
|
+
|
|
2691
|
+
export declare interface SiteDeliveryDefinition {
|
|
2692
|
+
readonly id: string;
|
|
2693
|
+
readonly version: number;
|
|
2694
|
+
readonly environments: ReadonlyArray<string>;
|
|
2695
|
+
readonly defaultEnvironment: string;
|
|
2696
|
+
readonly locales: ReadonlyArray<SiteDeliveryLocale>;
|
|
2697
|
+
readonly defaultLocale: string;
|
|
2698
|
+
readonly sourceLocale: string;
|
|
2699
|
+
/** Named site-content bindings and their registered content type names. */
|
|
2700
|
+
readonly bindings: Readonly<Record<string, string>>;
|
|
2701
|
+
/** Editorial defaults keyed by stable locale identity, never request language guesses. */
|
|
2702
|
+
readonly seo?: Readonly<Record<string, ContentSeoDefaults>>;
|
|
2703
|
+
}
|
|
2704
|
+
|
|
2705
|
+
export declare interface SiteDeliveryLocale {
|
|
2706
|
+
readonly id: string;
|
|
2707
|
+
/** An explicitly approved language tag; this compiler never canonicalizes it. */
|
|
2708
|
+
readonly tag: string;
|
|
2709
|
+
/** Existing published/draft row partition. Renaming a tag does not rewrite it. */
|
|
2710
|
+
readonly contentLocale: string;
|
|
2711
|
+
readonly direction: 'ltr' | 'rtl';
|
|
2712
|
+
readonly enabled: boolean;
|
|
2713
|
+
readonly prefix: string;
|
|
2714
|
+
/** Ordered fallback locale IDs, independent of translation source. */
|
|
2715
|
+
readonly fallback: ReadonlyArray<string>;
|
|
2716
|
+
}
|
|
2717
|
+
|
|
2718
|
+
/** The explicit site delivery definition is invalid; no implicit defaults are selected. */
|
|
2719
|
+
export declare class SiteDeliveryUnavailable extends SiteDeliveryUnavailable_base {
|
|
2720
|
+
}
|
|
2721
|
+
|
|
2722
|
+
declare const SiteDeliveryUnavailable_base: Schema_2.Class<SiteDeliveryUnavailable, Schema_2.TaggedStruct<"SiteDeliveryUnavailable", {
|
|
2723
|
+
readonly reason: Schema_2.Literals<readonly ["definition", "environment", "locale", "fallback", "prefix", "binding"]>;
|
|
2724
|
+
}>, YieldableError>;
|
|
2725
|
+
|
|
2218
2726
|
export declare interface SitemapUrl extends PageAlternate {
|
|
2219
2727
|
readonly documentId: string;
|
|
2220
2728
|
/** ISO date of the variant's last change, when known. */
|
|
@@ -2236,6 +2744,14 @@ export declare const sitemapUrls: (trees: ReadonlyArray<LocalizedTree>, include?
|
|
|
2236
2744
|
*/
|
|
2237
2745
|
export declare const sitemapXml: (urls: ReadonlyArray<SitemapUrl>, href: (locale: string, path: string) => string, xDefault?: string) => string;
|
|
2238
2746
|
|
|
2747
|
+
/** The site configuration scope or stored coordination state is invalid. */
|
|
2748
|
+
export declare class SiteStateUnavailable extends SiteStateUnavailable_base {
|
|
2749
|
+
}
|
|
2750
|
+
|
|
2751
|
+
declare const SiteStateUnavailable_base: Schema_2.Class<SiteStateUnavailable, Schema_2.TaggedStruct<"SiteStateUnavailable", {
|
|
2752
|
+
readonly reason: Schema_2.Literals<readonly ["scope", "state"]>;
|
|
2753
|
+
}>, YieldableError>;
|
|
2754
|
+
|
|
2239
2755
|
/**
|
|
2240
2756
|
* The canonical slug helper: lowercase, letters with accents folded to their
|
|
2241
2757
|
* base letter (umlauts spelled out, `ß` as `ss`), hyphenate, strip every
|
|
@@ -2243,6 +2759,192 @@ export declare const sitemapXml: (urls: ReadonlyArray<SitemapUrl>, href: (locale
|
|
|
2243
2759
|
*/
|
|
2244
2760
|
export declare const slugify: (value: unknown) => string;
|
|
2245
2761
|
|
|
2762
|
+
export declare interface SnapshotComponentSource {
|
|
2763
|
+
readonly content: SnapshotContentIdentity;
|
|
2764
|
+
readonly fieldPath: ReadonlyArray<string | number>;
|
|
2765
|
+
/** The original placed instance, or rich block id; null when not projected. */
|
|
2766
|
+
readonly instanceId: string | null;
|
|
2767
|
+
/** Paths are relative to this component's props, never document ids. */
|
|
2768
|
+
readonly link: (fieldPath: ReadonlyArray<string | number>) => string | null;
|
|
2769
|
+
readonly reference: (fieldPath: ReadonlyArray<string | number>) => SnapshotContentData | null;
|
|
2770
|
+
}
|
|
2771
|
+
|
|
2772
|
+
export declare type SnapshotConsentPurpose = Pick<ConsentPurpose, 'id' | 'version'>;
|
|
2773
|
+
|
|
2774
|
+
export declare interface SnapshotContentData {
|
|
2775
|
+
readonly content: SnapshotContentIdentity;
|
|
2776
|
+
readonly context: FrontendOutputContext;
|
|
2777
|
+
readonly sourceLocale: string;
|
|
2778
|
+
readonly fallback: boolean;
|
|
2779
|
+
readonly values: Readonly<Record<string, unknown>>;
|
|
2780
|
+
readonly media: ReadonlyArray<FrontendMedia>;
|
|
2781
|
+
readonly presentation: SnapshotPresentation;
|
|
2782
|
+
readonly consentPurposes: ReadonlyArray<SnapshotConsentPurpose>;
|
|
2783
|
+
}
|
|
2784
|
+
|
|
2785
|
+
export declare interface SnapshotContentIdentity {
|
|
2786
|
+
readonly contentType: string;
|
|
2787
|
+
readonly documentId: string;
|
|
2788
|
+
readonly variantId: string;
|
|
2789
|
+
readonly revisionId: string;
|
|
2790
|
+
readonly revision: number;
|
|
2791
|
+
}
|
|
2792
|
+
|
|
2793
|
+
/** Resolve a projected reference using the application's captured referenceRoutes. */
|
|
2794
|
+
export declare const snapshotLink: (data: SnapshotContentData, fieldPath: ReadonlyArray<string | number>) => string | null;
|
|
2795
|
+
|
|
2796
|
+
/** Read only an already staged representation and record its actual source occurrence. */
|
|
2797
|
+
export declare const snapshotMedia: (data: SnapshotContentData, fieldPath: ReadonlyArray<string | number>, output?: FrontendMediaOutput) => FrontendMediaFile | null;
|
|
2798
|
+
|
|
2799
|
+
export declare interface SnapshotPageData extends SnapshotContentData {
|
|
2800
|
+
readonly version: 6;
|
|
2801
|
+
readonly path: string;
|
|
2802
|
+
readonly seo: SnapshotPageSeo;
|
|
2803
|
+
readonly bindings: Readonly<Record<string, SnapshotContentData | null>>;
|
|
2804
|
+
}
|
|
2805
|
+
|
|
2806
|
+
export declare const snapshotPageLoader: (context: {
|
|
2807
|
+
readonly pathname: string;
|
|
2808
|
+
readonly query?: <T>(tag: string, input: Record<string, unknown>) => Promise<T>;
|
|
2809
|
+
}) => Promise<SnapshotPageData>;
|
|
2810
|
+
|
|
2811
|
+
/** Structural PageMeta: the native renderer owns HTML and JSON-LD escaping. */
|
|
2812
|
+
export declare const snapshotPageMeta: ({ loaderData }: {
|
|
2813
|
+
readonly loaderData: {
|
|
2814
|
+
readonly seo: SnapshotPageSeo;
|
|
2815
|
+
};
|
|
2816
|
+
}) => {
|
|
2817
|
+
tags: {
|
|
2818
|
+
name?: string;
|
|
2819
|
+
property?: string;
|
|
2820
|
+
content: string;
|
|
2821
|
+
}[];
|
|
2822
|
+
links: {
|
|
2823
|
+
rel: string;
|
|
2824
|
+
hreflang: string;
|
|
2825
|
+
href: string;
|
|
2826
|
+
}[];
|
|
2827
|
+
jsonLd: ({
|
|
2828
|
+
datePublished?: string;
|
|
2829
|
+
description?: string;
|
|
2830
|
+
image?: string;
|
|
2831
|
+
inLanguage: string;
|
|
2832
|
+
url?: string;
|
|
2833
|
+
name: string;
|
|
2834
|
+
'@context': string;
|
|
2835
|
+
'@type': "WebPage" | "Article" | "BlogPosting";
|
|
2836
|
+
} | {
|
|
2837
|
+
datePublished?: string;
|
|
2838
|
+
description?: string;
|
|
2839
|
+
image?: string;
|
|
2840
|
+
inLanguage: string;
|
|
2841
|
+
url?: string;
|
|
2842
|
+
headline: string;
|
|
2843
|
+
'@context': string;
|
|
2844
|
+
'@type': "WebPage" | "Article" | "BlogPosting";
|
|
2845
|
+
})[];
|
|
2846
|
+
canonical?: string;
|
|
2847
|
+
description?: string;
|
|
2848
|
+
title?: string;
|
|
2849
|
+
};
|
|
2850
|
+
|
|
2851
|
+
export declare interface SnapshotPageSeo {
|
|
2852
|
+
readonly title: string | null;
|
|
2853
|
+
readonly description: string | null;
|
|
2854
|
+
readonly canonical: string | null;
|
|
2855
|
+
readonly alternates: ReadonlyArray<{
|
|
2856
|
+
readonly locale: string;
|
|
2857
|
+
readonly href: string;
|
|
2858
|
+
}>;
|
|
2859
|
+
readonly xDefault: string | null;
|
|
2860
|
+
readonly languageTag: string;
|
|
2861
|
+
readonly robots: SeoRobotsPolicy;
|
|
2862
|
+
readonly social: {
|
|
2863
|
+
readonly title: string | null;
|
|
2864
|
+
readonly description: string | null;
|
|
2865
|
+
readonly image?: {
|
|
2866
|
+
readonly url: string;
|
|
2867
|
+
readonly contentType: string;
|
|
2868
|
+
};
|
|
2869
|
+
};
|
|
2870
|
+
readonly structuredData: ResolvedContentSeo['structuredData'];
|
|
2871
|
+
}
|
|
2872
|
+
|
|
2873
|
+
export declare interface SnapshotPresentation {
|
|
2874
|
+
readonly version: 1;
|
|
2875
|
+
readonly decided: boolean;
|
|
2876
|
+
readonly granted: ReadonlyArray<SnapshotConsentPurpose>;
|
|
2877
|
+
}
|
|
2878
|
+
|
|
2879
|
+
/** Cookie decoding belongs to the application. Retain the existing exact-version
|
|
2880
|
+
* consent decision, ignoring inherited properties and unknown purpose names. */
|
|
2881
|
+
export declare const snapshotPresentationFromChoices: (purposes: ReadonlyArray<SnapshotConsentPurpose>, choices: ConsentChoices | undefined) => SnapshotPresentation;
|
|
2882
|
+
|
|
2883
|
+
/** Complete finite public classes, including never-decided and explicit denial.
|
|
2884
|
+
* Refuse a build that cannot retain all classes within its declared budget. */
|
|
2885
|
+
export declare const snapshotPresentations: (purposes: ReadonlyArray<SnapshotConsentPurpose>, maximum?: number) => ReadonlyArray<SnapshotPresentation>;
|
|
2886
|
+
|
|
2887
|
+
export declare class SnapshotPresentationUnavailable extends SnapshotPresentationUnavailable_base {
|
|
2888
|
+
}
|
|
2889
|
+
|
|
2890
|
+
declare const SnapshotPresentationUnavailable_base: Schema_2.Class<SnapshotPresentationUnavailable, Schema_2.TaggedStruct<"SnapshotPresentationUnavailable", {
|
|
2891
|
+
readonly reason: Schema_2.Literals<readonly ["policy", "selection", "bounds"]>;
|
|
2892
|
+
}>, YieldableError>;
|
|
2893
|
+
|
|
2894
|
+
export declare const snapshotReference: (data: SnapshotContentData, fieldPath: ReadonlyArray<string | number>) => SnapshotContentData | null;
|
|
2895
|
+
|
|
2896
|
+
export declare const snapshotRichDocumentProps: (data: SnapshotContentData, fieldPath: ReadonlyArray<string | number>, options: {
|
|
2897
|
+
readonly bindings: FrontendBindings;
|
|
2898
|
+
/** Resolve the exact projected reference scalar path, including the source field prefix. */
|
|
2899
|
+
readonly hrefOf?: (fieldPath: ReadonlyArray<string | number>) => string | null | undefined;
|
|
2900
|
+
/** Resolve a managed contact occurrence through its independently admitted target. */
|
|
2901
|
+
readonly contactHrefOf?: (fieldPath: ReadonlyArray<string | number>) => string | null | undefined;
|
|
2902
|
+
readonly imageOutput?: FrontendMediaOutput;
|
|
2903
|
+
readonly renderImage: (block: {
|
|
2904
|
+
readonly asset: string;
|
|
2905
|
+
readonly caption?: string;
|
|
2906
|
+
}, file: FrontendMediaFile, context: SnapshotRichImageContext) => ReactNode;
|
|
2907
|
+
}) => RichDocumentViewProps;
|
|
2908
|
+
|
|
2909
|
+
export declare interface SnapshotRichImageContext extends RichDocumentBlockContext {
|
|
2910
|
+
/** Exact asset reference field, including the source document field prefix. */
|
|
2911
|
+
readonly fieldPath: ReadonlyArray<string | number>;
|
|
2912
|
+
}
|
|
2913
|
+
|
|
2914
|
+
export declare interface SnapshotTreeData {
|
|
2915
|
+
readonly version: 1;
|
|
2916
|
+
readonly contentType: string;
|
|
2917
|
+
readonly localeId: string;
|
|
2918
|
+
readonly requestedLocale: string;
|
|
2919
|
+
readonly currentDocumentId: string | null;
|
|
2920
|
+
readonly nodes: ReadonlyArray<SnapshotTreeNode>;
|
|
2921
|
+
/** Root-first public ancestors of the current document, independent of includeField. */
|
|
2922
|
+
readonly ancestors: ReadonlyArray<SnapshotTreeNode>;
|
|
2923
|
+
}
|
|
2924
|
+
|
|
2925
|
+
export declare const snapshotTreeLoader: (context: {
|
|
2926
|
+
readonly pathname: string;
|
|
2927
|
+
readonly query?: <T>(tag: string, input: Record<string, unknown>) => Promise<T>;
|
|
2928
|
+
}, name: string) => Promise<SnapshotTreeData>;
|
|
2929
|
+
|
|
2930
|
+
export declare interface SnapshotTreeNode {
|
|
2931
|
+
readonly documentId: string;
|
|
2932
|
+
readonly parent: string | null;
|
|
2933
|
+
readonly depth: number;
|
|
2934
|
+
readonly path: string;
|
|
2935
|
+
readonly sourceLocale: string;
|
|
2936
|
+
readonly fallback: boolean;
|
|
2937
|
+
readonly values: Readonly<Record<string, unknown>>;
|
|
2938
|
+
}
|
|
2939
|
+
|
|
2940
|
+
export declare interface SnapshotTreeSelection {
|
|
2941
|
+
readonly contentType: string;
|
|
2942
|
+
readonly mappingId: string;
|
|
2943
|
+
readonly fields: ReadonlyArray<string>;
|
|
2944
|
+
/** Include only true nodes whose ancestors also match this Boolean field. */
|
|
2945
|
+
readonly includeField?: string;
|
|
2946
|
+
}
|
|
2947
|
+
|
|
2246
2948
|
/** Mark an element of the preview with the field path it renders. */
|
|
2247
2949
|
export declare const sourceAttributes: (path: string) => {
|
|
2248
2950
|
readonly "data-cms-source": string;
|