/** * Public entry for `@sitecoreai-labs/sitecoreai-cli/hygiene`. * * Hygiene = the audit + cleanup surface (`scai hygiene audit *`, `scai hygiene cleanup *`). * Replaces the dotnet `Sitecore.DevEx dbcleanup` family with a typed, * agent-friendly equivalent. See [[scai-content-hygiene-area]] for the * design decisions. * * Three layers exposed here: * * 1. **API client** — `createHygieneApiClient` + the search/item/role/ * user typed surface it wraps. Build your own task runner on top * of this if the bundled runners don't fit. * 2. **Task runners** — the same runners the CLI commands call. One * per audit/cleanup, plus the suite/baseline/history wrappers. * 3. **Output + baseline helpers** — JSON/CSV/Markdown formatting, * baseline diffing, history snapshots, field-cache. */ export { createHygieneApiClient, type HygieneApiClient, type HygieneClientOptions, type ItemWorkflowState, type ArchiveVersionInput, type ArchivedItem, type ChildSummary, type DeleteItemInput, type DeleteItemVersionInput, type ItemField, type ItemTemplateSummary, type ItemVersion, type RoleSummary, type SearchCriterion, type SearchCriteriaType, type SearchOperator, type SearchPage, type SearchPaging, type SearchQuery, type SearchResultItem, type SearchStatement, type UserDetail, type UserSummary, MEDIA_LIBRARY_ROOT, DEFAULT_MASTER_INDEX, } from "./api/client.js"; export { runHygieneAuthoringGraphQL, type AuthoringRequestOptions as HygieneAuthoringRequestOptions, } from "./api/graphql.js"; export { formatAuditOutput, writeAuditOutput, inferFormatFromExtension, type AuditEnvelope, type OutputFormat, } from "./output-adapters.js"; export { fingerprintFinding, openBaseline, splitByBaseline, type BaselineEntry, type BaselineFile, type BaselineHandle, type OpenBaselineOptions, } from "./baseline.js"; export { captureHistory, listHistory, loadSnapshot, diffSnapshots, type CaptureAuditAllEnvelope, type DiffSummary, type HistorySnapshot, type SnapshotEntry, } from "./history.js"; export { loadAuditSuite, expandOutputPath, auditSuiteToRunnerInput, type AuditSuiteEntry, type AuditSuiteFile, } from "./audit-suite.js"; export { createFieldCache, wrapFieldsBatchWithCache, isAuditCacheEnabled, type FieldCache, type FieldCacheOptions, } from "./cache.js"; export { runAuditBrokenLinks } from "./tasks/audit/broken-links.js"; export type { AuditBrokenLinksOptions, BrokenLinkReport } from "./tasks/audit/broken-links.js"; export { runAuditUnusedMedia } from "./tasks/audit/unused-media.js"; export type { AuditUnusedMediaOptions, UnusedMediaReport } from "./tasks/audit/unused-media.js"; export { runAuditOrphans } from "./tasks/audit/orphans.js"; export type { AuditOrphansOptions, OrphanReport } from "./tasks/audit/orphans.js"; export { runAuditStaleWorkflow } from "./tasks/audit/stale-workflow.js"; export type { AuditStaleWorkflowOptions, StaleWorkflowReport } from "./tasks/audit/stale-workflow.js"; export { runAuditLanguageData } from "./tasks/audit/language-data.js"; export type { AuditLanguageDataOptions, LanguageDataReport } from "./tasks/audit/language-data.js"; export { runAuditDeadTemplates } from "./tasks/audit/dead-templates.js"; export type { AuditDeadTemplatesOptions, DeadTemplateReport } from "./tasks/audit/dead-templates.js"; export { runAuditDatasourceMissing } from "./tasks/audit/datasource-missing.js"; export type { AuditDatasourceMissingOptions, DatasourceMissingReport, } from "./tasks/audit/datasource-missing.js"; export { runAuditDuplicates } from "./tasks/audit/duplicates.js"; export type { AuditDuplicatesOptions, DuplicatesGroup } from "./tasks/audit/duplicates.js"; export { runAuditEmptyItems } from "./tasks/audit/empty-items.js"; export type { AuditEmptyItemsOptions, EmptyItemReport } from "./tasks/audit/empty-items.js"; export { runAuditPageDesignOrphans } from "./tasks/audit/page-design-orphans.js"; export type { AuditPageDesignOrphansOptions, PageDesignOrphanReport, } from "./tasks/audit/page-design-orphans.js"; export { runAuditPersonalizationBroken } from "./tasks/audit/personalization-broken.js"; export type { AuditPersonalizationBrokenOptions, PersonalizationBrokenReport, } from "./tasks/audit/personalization-broken.js"; export { runCleanupVersionsPrune } from "./tasks/cleanup/versions-prune.js"; export type { CleanupVersionsPruneOptions, VersionPruneAction, } from "./tasks/cleanup/versions-prune.js"; export { runCleanupArchivePurge } from "./tasks/cleanup/archive-purge.js"; export type { CleanupArchivePurgeOptions, ArchivePurgeAction } from "./tasks/cleanup/archive-purge.js"; export { runCleanupDeadTemplates } from "./tasks/cleanup/dead-templates.js"; export type { CleanupDeadTemplatesOptions, DeadTemplatePurgeAction, FolderCleanupAction, } from "./tasks/cleanup/dead-templates.js"; export { runCleanupDuplicates } from "./tasks/cleanup/duplicates.js"; export type { CleanupDuplicatesOptions, DuplicatePurgeAction, DuplicatesKeepRule, } from "./tasks/cleanup/duplicates.js"; export { runCleanupSlugConflicts } from "./tasks/cleanup/slug-conflicts.js"; export type { CleanupSlugConflictsOptions, SlugConflictPurgeAction, SlugConflictsAction, SlugConflictsKeepRule, } from "./tasks/cleanup/slug-conflicts.js"; export { runCleanupVersionsArchive } from "./tasks/cleanup/versions-archive.js"; export type { CleanupVersionsArchiveOptions, VersionArchiveAction, } from "./tasks/cleanup/versions-archive.js"; export { runAuditFindReplace } from "./tasks/audit/find-replace.js"; export type { AuditFindReplaceOptions, FindReplaceMatch } from "./tasks/audit/find-replace.js"; export { runAuditStaleContent } from "./tasks/audit/stale-content.js"; export type { AuditStaleContentOptions, StaleContentReport } from "./tasks/audit/stale-content.js"; export { runCleanupFindReplace } from "./tasks/cleanup/find-replace.js"; export type { CleanupFindReplaceOptions, FindReplaceAction } from "./tasks/cleanup/find-replace.js"; export { runAuditLargeFields } from "./tasks/audit/large-fields.js"; export type { AuditLargeFieldsOptions, LargeFieldReport } from "./tasks/audit/large-fields.js"; export { runAuditHeavyTemplates } from "./tasks/audit/heavy-templates.js"; export type { AuditHeavyTemplatesOptions, HeavyTemplateReport, } from "./tasks/audit/heavy-templates.js"; export { runAuditMissingMeta } from "./tasks/audit/missing-meta.js"; export type { AuditMissingMetaOptions, MissingMetaReport } from "./tasks/audit/missing-meta.js"; export { runAuditAltTextMissing } from "./tasks/audit/alt-text-missing.js"; export type { AuditAltTextMissingOptions, AltTextMissingReport, } from "./tasks/audit/alt-text-missing.js"; export { runAuditRoleBloat } from "./tasks/audit/role-bloat.js"; export type { AuditRoleBloatOptions, RoleBloatReport } from "./tasks/audit/role-bloat.js"; export { runAuditEmptyRoles } from "./tasks/audit/empty-roles.js"; export type { AuditEmptyRolesOptions, EmptyRoleReport } from "./tasks/audit/empty-roles.js"; export { runAuditStaleUsers } from "./tasks/audit/stale-users.js"; export type { AuditStaleUsersOptions, StaleUserReport } from "./tasks/audit/stale-users.js"; export { runAuditBrokenImages } from "./tasks/audit/broken-images.js"; export type { AuditBrokenImagesOptions, BrokenImageReport } from "./tasks/audit/broken-images.js"; export { runAuditSlugConflicts } from "./tasks/audit/slug-conflicts.js"; export type { AuditSlugConflictsOptions, SlugConflictGroup } from "./tasks/audit/slug-conflicts.js"; export { runAuditTranslationCoverage } from "./tasks/audit/translation-coverage.js"; export type { AuditTranslationCoverageOptions, TranslationCoverageReport, } from "./tasks/audit/translation-coverage.js"; export { runAuditFallbackDrift } from "./tasks/audit/fallback-drift.js"; export type { AuditFallbackDriftOptions, FallbackDriftReport } from "./tasks/audit/fallback-drift.js"; export { runAuditEmptyLinks } from "./tasks/audit/empty-links.js"; export type { AuditEmptyLinksOptions, EmptyLinkReport } from "./tasks/audit/empty-links.js"; export { runCleanupFieldSet } from "./tasks/cleanup/field-set.js"; export type { CleanupFieldSetOptions, FieldSetAction, FieldSetMode, } from "./tasks/cleanup/field-set.js"; export { runCleanupRename } from "./tasks/cleanup/rename.js"; export type { CleanupRenameOptions, RenameAction } from "./tasks/cleanup/rename.js"; export { runCleanupLanguageVersionAdd } from "./tasks/cleanup/language-version-add.js"; export type { CleanupLanguageVersionAddOptions, LanguageVersionAddAction, } from "./tasks/cleanup/language-version-add.js"; export { runAuditSiteResidue } from "./tasks/audit/site-residue.js"; export type { AuditSiteResidueOptions, SiteResidueKind, SiteResidueReport, } from "./tasks/audit/site-residue.js"; export { runCleanupSiteResidue } from "./tasks/cleanup/site-residue.js"; export type { CleanupSiteResidueOptions, SiteResidueCleanupAction, InboundRef, } from "./tasks/cleanup/site-residue.js"; export { runCleanupWorkflowAdvance } from "./tasks/cleanup/workflow-advance.js"; export type { CleanupWorkflowAdvanceOptions, WorkflowAdvanceAction, } from "./tasks/cleanup/workflow-advance.js"; export { runCleanupWorkflowApply } from "./tasks/cleanup/workflow-apply.js"; export type { CleanupWorkflowApplyOptions, WorkflowApplyAction, WorkflowApplyActionStatus, } from "./tasks/cleanup/workflow-apply.js"; export { runCleanupEmptyFolders } from "./tasks/cleanup/empty-folders.js"; export type { CleanupEmptyFoldersOptions, EmptyFolderAction } from "./tasks/cleanup/empty-folders.js"; export { runCleanupRoles } from "./tasks/cleanup/roles.js"; export type { CleanupRolesOptions, RoleCleanupAction } from "./tasks/cleanup/roles.js"; export { runCleanupUsers } from "./tasks/cleanup/users.js"; export type { CleanupUsersOptions, UserCleanupAction } from "./tasks/cleanup/users.js"; export { runAuditSuiteRun } from "./tasks/audit/suite-run.js"; export type { AuditSuiteRunOptions } from "./tasks/audit/suite-run.js"; export { runHistoryCapture, runHistoryList, runHistoryDiff } from "./tasks/audit/history.js"; export type { HistoryCaptureOptions, HistoryListOptions, HistoryDiffOptions, } from "./tasks/audit/history.js"; export { runAuditAll, auditNames } from "./tasks/audit/all.js"; export type { AuditAllOptions } from "./tasks/audit/all.js"; export { runBaselineShow, runBaselineCreate, runBaselineRemove, runBaselineReset, runBaselineAccept, } from "./tasks/audit/baseline.js"; export type { BaselineShowOptions, BaselineCreateOptions, BaselineRemoveOptions, BaselineResetOptions, BaselineAcceptOptions, } from "./tasks/audit/baseline.js"; export type { HygieneCommonOptions } from "./tasks/shared.js"; export { runAuditReferences } from "./tasks/audit/references.js"; export type { AuditReferencesOptions, ReferenceReport } from "./tasks/audit/references.js"; export { runAuditTemplateDependencies } from "./tasks/audit/template-dependencies.js"; export type { AuditTemplateDependenciesOptions, TemplateDependencyReport, TemplateReferenceKind, } from "./tasks/audit/template-dependencies.js"; export { runCleanupSubtree } from "./tasks/cleanup/subtree.js"; export type { CleanupSubtreeOptions, CleanupSubtreeResult, InboundBlocker, OrphanExternalRefsPolicy, SubtreeDeletion, } from "./tasks/cleanup/subtree.js"; export { runExplainWhyBlocked } from "./tasks/explain/why-blocked.js"; export type { ExplainWhyBlockedOptions, ExplainWhyBlockedReport, BlockerEntry, } from "./tasks/explain/why-blocked.js"; export { runExplainOrphanSite } from "./tasks/explain/orphan-site.js"; export type { ExplainOrphanSiteOptions, ExplainOrphanSiteReport, OrphanSiteEntry, } from "./tasks/explain/orphan-site.js";