/** * The `sync` engine — the kind-agnostic spine that pulls, diffs, and * pushes recipes against live Sitecore environments. * * A recipe kind (brand-kit, component, page, site, brief, campaign) * implements {@link RecipeKind}; the engine functions below drive it. * * See docs/recipe-sync-architecture.md for the recipe / sync model. */ export type { ChangeKind, PlanSummary, RecipeChange, RecipePlan } from "./plan.js"; export { planIsNoop, summarizePlan, writingChanges } from "./plan.js"; export type { ApplyResult, KindRef, RecipeKind, ResolvedIdentity, SyncContext } from "./kind.js"; export type { Baseline, BaselineStorage, FieldClassification, PullConflictPolicy, PushConflictPolicy, } from "./baseline.js"; export { classifyHashes, hashJsonValue, stableStringify } from "./baseline.js"; export { classifyCellHashMaps, resolveCellByPolicy } from "./merge-cells.js"; export { resolveMissingCurrentPlan } from "./missing-on-tenant.js"; export { HttpBaselineStorage, SYNC_BASELINE_ENV_VARS, resolveHttpBaselineStorageFromEnv, } from "./http-baseline-storage.js"; export type { PullOptions, PushOptions, PushOutcome, SyncMode } from "./engine.js"; export { syncDiff, syncPull, syncPush } from "./engine.js"; export { SYNC_CONTRACT_VERSION, SYNC_FEATURES, SYNC_CONTRACT_KINDS, SYNC_CONFLICT_POLICIES, FieldClassificationSchema, ChangeKindSchema, SyncChangeSchema, SyncConflictCellSchema, ResolvedIdentitySchema, SyncRefSchema, PlanSummarySchema, SyncResultSchema, SyncErrorSchema, SyncCapabilitiesSchema, buildSyncResult, buildPullResult, } from "./contract.js"; export type { SyncContractVersion, SyncChange, SyncConflictCell, SyncResult, SyncError, SyncFeature, SyncCapabilities, } from "./contract.js"; export { loadRecipe, writeRecipe } from "./io.js"; export { eraseKind, getKind, listKinds, registerKind } from "./registry.js"; export { aggregatePull, aggregateStatus, aggregatePush, slugifyRecipeId, DEFAULT_SYNC_DIR, } from "./aggregate.js"; export type { AggregatePullItem, AggregatePullKind, AggregatePullResult, AggregateDriftStatus, AggregateStatusItem, AggregateStatusKind, AggregateStatusResult, AggregatePushStatus, AggregatePushItem, AggregatePushKind, AggregatePushResult, } from "./aggregate.js";