/** * Recipe author surface — what users hand-author for one Sitecore template. * * **This file is a THIN AGGREGATOR.** The schemas live in cohesive * per-concern modules: * * - `./shared` — shared building blocks (field/source augments, * datasource, placeholder definition, meta, the * `HANDLE_PATTERN` / `FolderPath` / `resolveAllowedHandles` * primitives). * - `./content-values` — content field-value + layout + placement * primitives shared by content/page/design kinds. * - `./kinds/*` — one module per recipe kind (or cohesive group): * component, content, page, design, site, * enumeration, workflow. * * This module RE-EXPORTS every symbol those modules expose (so every * `from "./schema/recipe.js"` import keeps resolving to the same symbol) * and assembles the `RecipeSchema` discriminated-union umbrella. * * Two recipe kinds anchor the surface: * * ComponentTemplateRecipe — Has a rendering. Becomes a placeable component * on Sitecore pages. Owns its datasource template * AND its rendering item. * ContentTemplateRecipe — Fields only, no rendering. A data shape * referenced by other recipes (Treelist source, * child-item pattern, etc.). Not placeable on a * page directly. * * **These schemas must stay in sync with the registry's working copy at * `/src/lib/registry/sitecore-recipes.ts`.** Once scai exposes a * typed recipe export, the registry imports from scai and the duplication * goes away. * * The `handle` is load-bearing forever — a uuidv5 derives every item GUID * from it (see `guids.ts`), so renaming a handle creates a *different* * template. * * **Cross-field refinement note.** Cross-field validations that * `discriminatedUnion` can't express (workflow `initialState ∈ states`, * enumeration `default ∈ values`, webhook auth `Ref` XOR `Path`) live in * the compilers — NOT on these schemas — because Zod's * `discriminatedUnion` rejects `ZodEffects` members and these schemas * must be members of `RecipeSchema`. */ import { z } from "zod"; import { ComponentSectionRecipeSchema, ComponentTemplateRecipeSchema, PlaceholderRecipeSchema } from "./kinds/component.js"; import { ContentItemRecipeSchema, ContentTemplateRecipeSchema, DesignParametersTemplateRecipeSchema } from "./kinds/content.js"; import { PageDesignRecipeSchema, PartialDesignRecipeSchema, VariantRecipeSchema } from "./kinds/design.js"; import { SiteRecipeSchema, SiteTemplateRecipeSchema } from "./kinds/site.js"; import { DictionaryRecipeSchema } from "./kinds/dictionary.js"; import { EnumerationRecipeSchema } from "./kinds/enumeration.js"; import { WebhookAuthorizationRecipeSchema, WorkflowRecipeSchema } from "./kinds/workflow.js"; import { PageRecipeSchema, PageTemplateRecipeSchema } from "./kinds/page.js"; export { DesignParameterSchema, FieldDefinitionSchema, FolderPath, HANDLE_PATTERN, PlaceholderDefinitionSchema, RecipeDatasourceSchema, RecipeMetaSchema, RecipeMetaTaxSchema, RenderingDatasourceLocationSchema, RenderingVariantDefinitionSchema, SitecoreFieldAugmentSchema, SitecoreFieldSourceSchema, resolveAllowedHandles, type DesignParameter, type FieldDefinition, type PlaceholderDefinition, type RecipeDatasource, type RecipeMeta, type RenderingDatasourceLocation, type RenderingVariantDefinition, type SitecoreFieldAugment, type SitecoreFieldSource, } from "./shared.js"; export { ComponentPlacementSchema, ContentFieldValueSchema, ContentTranslationSchema, ContentVariantSchema, ContentVersionSchema, LayoutSchema, type ComponentPlacement, type ContentFieldValue, type ContentTranslation, type ContentVariant, type ContentVersion, type Layout, } from "./content-values.js"; export { ComponentSectionRecipeSchema, ComponentTemplateRecipeSchema, PlaceholderRecipeSchema, type ComponentSectionRecipe, type ComponentTemplateRecipe, type PlaceholderRecipe, } from "./kinds/component.js"; export { ContentItemRecipeSchema, ContentTemplateRecipeSchema, DesignParametersTemplateRecipeSchema, type ContentItemRecipe, type ContentTemplateRecipe, type DesignParametersTemplateRecipe, } from "./kinds/content.js"; export { PageRecipeSchema, PageTemplateRecipeSchema, type PageRecipe, type PageTemplateRecipe, } from "./kinds/page.js"; export { PageDesignRecipeSchema, PartialDesignRecipeSchema, VariantRecipeSchema, type PageDesignRecipe, type PartialDesignRecipe, type VariantRecipe, } from "./kinds/design.js"; export { SiteGroupingSchema, SiteRecipeSchema, SiteTemplateRecipeSchema, SiteTemplateTaxonomyEntrySchema, type SiteGrouping, type SiteRecipe, type SiteTemplateRecipe, type SiteTemplateTaxonomyEntry, } from "./kinds/site.js"; export { DictionaryPhraseSchema, DictionaryRecipeSchema, type DictionaryPhrase, type DictionaryRecipe, } from "./kinds/dictionary.js"; export { EnumerationRecipeSchema, EnumerationValueSchema, type EnumerationRecipe, type EnumerationValue, } from "./kinds/enumeration.js"; export { WebhookAuthorizationRecipeSchema, WorkflowRecipeSchema, type WebhookAuthorizationRecipe, type WorkflowRecipe, } from "./kinds/workflow.js"; /** * Discriminated union of recipe kinds. Compilers and validators can accept * `Recipe` and dispatch on `kind`. */ export declare const RecipeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"component-section">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; icon: z.ZodOptional; sortOrder: z.ZodOptional; ownership: z.ZodOptional>; pruneMode: z.ZodDefault>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"component-template">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; icon: z.ZodOptional; section: z.ZodOptional>; fields: z.ZodDefault; values: z.ZodOptional>; multiple: z.ZodOptional; default: z.ZodOptional]>>; role: z.ZodOptional; sitecore: z.ZodOptional>; source: z.ZodOptional; types: z.ZodOptional>; query: z.ZodOptional; scope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"raw">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"plugin">; id: z.ZodString; defaultAppId: z.ZodString; }, z.core.$strip>], "kind">>; hint: z.ZodOptional; required: z.ZodOptional; defaultValue: z.ZodOptional]>>; enumHandle: z.ZodOptional; sortOrder: z.ZodOptional; section: z.ZodOptional; storage: z.ZodOptional>; }, z.core.$loose>>; }, z.core.$strip>>>; insertOptions: z.ZodOptional>; mediaLocation: z.ZodOptional; subfolder: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ scope: z.ZodLiteral<"site">; subfolder: z.ZodOptional; }, z.core.$strip>], "scope">>; datasource: z.ZodOptional>; templates: z.ZodOptional>>; autoCreate: z.ZodDefault; openPropertiesAfterAdd: z.ZodDefault; locations: z.ZodDefault; subfolder: z.ZodOptional; allowedTemplates: z.ZodOptional>>; }, z.core.$strip>, z.ZodObject<{ scope: z.ZodLiteral<"site">; subfolder: z.ZodOptional; allowedTemplates: z.ZodOptional>>; }, z.core.$strip>], "scope">>>; query: z.ZodDefault>; }, z.core.$strip>>; parameters: z.ZodOptional>; children: z.ZodOptional; }, z.core.$strip>>; variants: z.ZodDefault>>; params: z.ZodDefault; values: z.ZodOptional>; default: z.ZodOptional]>>; sitecore: z.ZodOptional>; source: z.ZodOptional; types: z.ZodOptional>; query: z.ZodOptional; scope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"raw">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"plugin">; id: z.ZodString; defaultAppId: z.ZodString; }, z.core.$strip>], "kind">>; hint: z.ZodOptional; required: z.ZodOptional; defaultValue: z.ZodOptional]>>; enumHandle: z.ZodOptional; sortOrder: z.ZodOptional; section: z.ZodOptional; storage: z.ZodOptional>; }, z.core.$loose>>; }, z.core.$strip>>>; placedIn: z.ZodDefault>; placeholders: z.ZodDefault; folder: z.ZodOptional]>, z.ZodTransform>, z.ZodArray>>; dynamic: z.ZodOptional; allowedComponents: z.ZodOptional>; allowedRenderingHandles: z.ZodOptional>; }, z.core.$strip>>>; dynamicPlaceholders: z.ZodDefault; otherProperties: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"content-template">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; meta: z.ZodOptional>; group: z.ZodOptional>; subgroup: z.ZodOptional>; tag: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>; fields: z.ZodDefault; values: z.ZodOptional>; multiple: z.ZodOptional; default: z.ZodOptional]>>; role: z.ZodOptional; sitecore: z.ZodOptional>; source: z.ZodOptional; types: z.ZodOptional>; query: z.ZodOptional; scope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"raw">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"plugin">; id: z.ZodString; defaultAppId: z.ZodString; }, z.core.$strip>], "kind">>; hint: z.ZodOptional; required: z.ZodOptional; defaultValue: z.ZodOptional]>>; enumHandle: z.ZodOptional; sortOrder: z.ZodOptional; section: z.ZodOptional; storage: z.ZodOptional>; }, z.core.$loose>>; }, z.core.$strip>>>; insertOptions: z.ZodOptional>; defaultWorkflow: z.ZodOptional; mediaLocation: z.ZodOptional; subfolder: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ scope: z.ZodLiteral<"site">; subfolder: z.ZodOptional; }, z.core.$strip>], "scope">>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"content-item">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; templateType: z.ZodString; folder: z.ZodOptional]>, z.ZodTransform>, z.ZodArray>>; mediaLocation: z.ZodOptional; subfolder: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ scope: z.ZodLiteral<"site">; subfolder: z.ZodOptional; }, z.core.$strip>], "scope">>; fields: z.ZodDefault; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"richText">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"boolean">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"integer">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"date">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"datetime">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"enum">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"image">; mediaPath: z.ZodString; alt: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; mediaLibraryFolder: z.ZodOptional; role: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-external">; href: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; title: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-internal">; ref: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"reference">; refs: z.ZodArray; }, z.core.$strip>], "shape">>>; translations: z.ZodOptional; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"richText">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"boolean">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"integer">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"date">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"datetime">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"enum">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"image">; mediaPath: z.ZodString; alt: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; mediaLibraryFolder: z.ZodOptional; role: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-external">; href: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; title: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-internal">; ref: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"reference">; refs: z.ZodArray; }, z.core.$strip>], "shape">>>; }, z.core.$strip>>>; versions: z.ZodOptional; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"richText">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"boolean">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"integer">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"date">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"datetime">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"enum">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"image">; mediaPath: z.ZodString; alt: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; mediaLibraryFolder: z.ZodOptional; role: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-external">; href: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; title: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-internal">; ref: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"reference">; refs: z.ZodArray; }, z.core.$strip>], "shape">>>; workflowState: z.ZodOptional; date: z.ZodOptional; layout: z.ZodOptional>>>>; }, z.core.$strip>>>; variants: z.ZodOptional; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"richText">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"boolean">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"integer">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"date">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"datetime">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"enum">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"image">; mediaPath: z.ZodString; alt: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; mediaLibraryFolder: z.ZodOptional; role: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-external">; href: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; title: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-internal">; ref: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"reference">; refs: z.ZodArray; }, z.core.$strip>], "shape">>>; layout: z.ZodOptional>>>>; }, z.core.$strip>>>; }, z.core.$strip>>>; }, z.core.$strip>>>>; shared: z.ZodOptional; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"richText">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"boolean">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"integer">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"date">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"datetime">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"enum">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"image">; mediaPath: z.ZodString; alt: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; mediaLibraryFolder: z.ZodOptional; role: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-external">; href: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; title: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-internal">; ref: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"reference">; refs: z.ZodArray; }, z.core.$strip>], "shape">>>; workflow: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"page-template">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; icon: z.ZodOptional; meta: z.ZodOptional>; group: z.ZodOptional>; subgroup: z.ZodOptional>; tag: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>; fields: z.ZodDefault; values: z.ZodOptional>; multiple: z.ZodOptional; default: z.ZodOptional]>>; role: z.ZodOptional; sitecore: z.ZodOptional>; source: z.ZodOptional; types: z.ZodOptional>; query: z.ZodOptional; scope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"raw">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"plugin">; id: z.ZodString; defaultAppId: z.ZodString; }, z.core.$strip>], "kind">>; hint: z.ZodOptional; required: z.ZodOptional; defaultValue: z.ZodOptional]>>; enumHandle: z.ZodOptional; sortOrder: z.ZodOptional; section: z.ZodOptional; storage: z.ZodOptional>; }, z.core.$loose>>; }, z.core.$strip>>>; insertOptions: z.ZodOptional>; layout: z.ZodOptional>>>>; }, z.core.$strip>>; defaultWorkflow: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"page">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; template: z.ZodString; pageDesign: z.ZodOptional; itemPath: z.ZodOptional; mediaLocation: z.ZodOptional; subfolder: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ scope: z.ZodLiteral<"site">; subfolder: z.ZodOptional; }, z.core.$strip>], "scope">>; affinity: z.ZodOptional>; weight: z.ZodOptional; }, z.core.$strict>>; fields: z.ZodDefault>; translations: z.ZodOptional; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"richText">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"boolean">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"integer">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"date">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"datetime">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"enum">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"image">; mediaPath: z.ZodString; alt: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; mediaLibraryFolder: z.ZodOptional; role: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-external">; href: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; title: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-internal">; ref: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"reference">; refs: z.ZodArray; }, z.core.$strip>], "shape">>>; }, z.core.$strip>>>; versions: z.ZodOptional; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"richText">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"boolean">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"integer">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"date">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"datetime">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"enum">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"image">; mediaPath: z.ZodString; alt: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; mediaLibraryFolder: z.ZodOptional; role: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-external">; href: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; title: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-internal">; ref: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"reference">; refs: z.ZodArray; }, z.core.$strip>], "shape">>>; workflowState: z.ZodOptional; date: z.ZodOptional; layout: z.ZodOptional>>>>; }, z.core.$strip>>>; variants: z.ZodOptional; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"richText">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"boolean">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"integer">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"date">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"datetime">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"enum">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"image">; mediaPath: z.ZodString; alt: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; mediaLibraryFolder: z.ZodOptional; role: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-external">; href: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; title: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-internal">; ref: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"reference">; refs: z.ZodArray; }, z.core.$strip>], "shape">>>; layout: z.ZodOptional>>>>; }, z.core.$strip>>>; }, z.core.$strip>>>; }, z.core.$strip>>>>; shared: z.ZodOptional; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"richText">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"boolean">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"integer">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"date">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"datetime">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"enum">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"image">; mediaPath: z.ZodString; alt: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; mediaLibraryFolder: z.ZodOptional; role: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-external">; href: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; title: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"link-internal">; ref: z.ZodString; text: z.ZodOptional; target: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"reference">; refs: z.ZodArray; }, z.core.$strip>], "shape">>>; layout: z.ZodOptional>>>>; }, z.core.$strip>>; layoutScope: z.ZodOptional>; workflow: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"placeholder">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; key: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; icon: z.ZodOptional; folder: z.ZodOptional]>, z.ZodTransform>, z.ZodArray>>; dynamic: z.ZodDefault; allowedComponents: z.ZodDefault>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"design-parameters-template">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; icon: z.ZodOptional; section: z.ZodObject<{ handle: z.ZodString; }, z.core.$strip>; params: z.ZodDefault; values: z.ZodOptional>; default: z.ZodOptional]>>; sitecore: z.ZodOptional>; source: z.ZodOptional; types: z.ZodOptional>; query: z.ZodOptional; scope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"raw">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"plugin">; id: z.ZodString; defaultAppId: z.ZodString; }, z.core.$strip>], "kind">>; hint: z.ZodOptional; required: z.ZodOptional; defaultValue: z.ZodOptional]>>; enumHandle: z.ZodOptional; sortOrder: z.ZodOptional; section: z.ZodOptional; storage: z.ZodOptional>; }, z.core.$loose>>; }, z.core.$strip>>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"partial-design">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; icon: z.ZodOptional; layout: z.ZodObject<{ placeholders: z.ZodDefault>>>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"variant">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; targetRendering: z.ZodObject<{ handle: z.ZodString; name: z.ZodString; }, z.core.$strip>; name: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; content: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"page-design">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; icon: z.ZodOptional; appliesTo: z.ZodDefault>; partials: z.ZodDefault>; layout: z.ZodOptional>>>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"site-template">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; icon: z.ZodOptional; pageTemplates: z.ZodDefault>; insertOptionsMatrix: z.ZodOptional>>; pageDesigns: z.ZodDefault>; templatesToDesigns: z.ZodOptional>; dictionaries: z.ZodDefault>; taxonomy: z.ZodOptional>; }, z.core.$strip>>>; thumbnail: z.ZodOptional; url: z.ZodString; alt: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"asset">; path: z.ZodString; alt: z.ZodOptional; }, z.core.$strip>], "kind">>; contents: z.ZodOptional>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"site">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; siteTemplate: z.ZodString; language: z.ZodString; languages: z.ZodOptional>; collectionId: z.ZodOptional; collectionName: z.ZodOptional; collectionDisplayName: z.ZodOptional; collectionDescription: z.ZodOptional; collectionPath: z.ZodOptional; siteGrouping: z.ZodOptional; language: z.ZodOptional; targetHostName: z.ZodOptional; }, z.core.$strip>>; siteRole: z.ZodOptional>; dictionaryOverrides: z.ZodOptional]>>>; taxonomyOverrides: z.ZodOptional>>; initialHome: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"dictionary">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; site: z.ZodOptional; primaryLocale: z.ZodOptional; phrases: z.ZodDefault>; description: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"enumeration">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; location: z.ZodOptional; folder: z.ZodOptional]>, z.ZodTransform>, z.ZodArray>>; }, z.core.$strip>>; values: z.ZodArray; description: z.ZodOptional; }, z.core.$strip>>; default: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"workflow">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; icon: z.ZodOptional; meta: z.ZodOptional>; group: z.ZodOptional>; subgroup: z.ZodOptional>; tag: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>; initialState: z.ZodString; states: z.ZodArray; preview: z.ZodDefault; actions: z.ZodDefault; authorizationPath: z.ZodOptional; key: z.ZodString; url: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; serializationType: z.ZodDefault>; enabled: z.ZodDefault; kind: z.ZodLiteral<"webhook-submit">; }, z.core.$strip>, z.ZodObject<{ authorizationRef: z.ZodOptional; authorizationPath: z.ZodOptional; key: z.ZodString; url: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; serializationType: z.ZodDefault>; enabled: z.ZodDefault; kind: z.ZodLiteral<"webhook-validation">; }, z.core.$strip>], "kind">>>; commands: z.ZodDefault; suppressComment: z.ZodDefault; appearanceEvaluator: z.ZodDefault>; secured: z.ZodDefault; validations: z.ZodDefault; authorizationPath: z.ZodOptional; key: z.ZodString; url: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; serializationType: z.ZodDefault>; enabled: z.ZodDefault; kind: z.ZodLiteral<"webhook-validation">; }, z.core.$strip>>>; }, z.core.$strip>>>; }, z.core.$strip>>; bindings: z.ZodDefault>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"webhook-authorization">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; auth: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"ApiKey">; headerName: z.ZodString; key: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"Basic">; username: z.ZodString; password: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"OAuth2ClientCredentialsGrant">; tokenEndpoint: z.ZodString; clientId: z.ZodString; clientSecret: z.ZodString; scope: z.ZodOptional; audience: z.ZodOptional; }, z.core.$strip>], "type">; }, z.core.$strip>], "kind">; export type Recipe = z.infer; export type ComponentSectionRecipeParsed = z.output; export type ComponentTemplateRecipeParsed = z.output; export type PlaceholderRecipeParsed = z.output; export type ContentTemplateRecipeParsed = z.output; export type ContentItemRecipeParsed = z.output; export type DesignParametersTemplateRecipeParsed = z.output; export type PageRecipeParsed = z.output; export type PageTemplateRecipeParsed = z.output; export type PartialDesignRecipeParsed = z.output; export type PageDesignRecipeParsed = z.output; export type VariantRecipeParsed = z.output; export type SiteRecipeParsed = z.output; export type SiteTemplateRecipeParsed = z.output; export type DictionaryRecipeParsed = z.output; export type EnumerationRecipeParsed = z.output; export type WorkflowRecipeParsed = z.output; export type WebhookAuthorizationRecipeParsed = z.output; export type RecipeParsed = z.output;