export {
  MOVSCRIPT_DOMAIN_WORKSPACE_MODELS,
  MOVSCRIPT_PROJECT_WORKSPACE_MODEL,
  WORKSPACE_CONTENT_SCHEMA_IDS,
  WORKSPACE_ENTITY_KIND,
  WORKSPACE_SCOPES,
  entityKindForWorkspaceKind,
  getMovScriptDomainWorkspaceModel,
  getMovScriptWorkspaceModel,
  listMovScriptDomainWorkspaceModels,
  resolveMovScriptDomainWorkspaceKindForEntity,
  type MovScriptDomainWorkspaceKind,
  type MovScriptDomainWorkspaceModel,
  type MovScriptWorkspaceGetModelInput,
  type MovScriptWorkspaceGetModelResult,
  type WorkspaceEntityKindMap,
  type WorkspaceModel,
} from './domain/index.js'

export {
  SEMANTIC_ENTITY_KINDS,
  deriveMovScriptWorkspaceDomainIndex,
  isSemanticEntityKind,
  queryMovScriptCanonicalEntities,
  queryMovScriptWorkspaceAssets,
  queryMovScriptWorkspaceEntities,
  queryMovScriptWorkspaceProductionContext,
  queryMovScriptWorkspaceSettings,
  type MovScriptWorkspaceAssetQuery,
  type MovScriptWorkspaceDocument,
  type MovScriptWorkspaceDomainIndex,
  type MovScriptWorkspaceEntityQuery,
  type MovScriptWorkspaceIndexedEntity,
  type MovScriptWorkspaceProductionContextQuery,
  type MovScriptWorkspaceSettingQuery,
} from './indexer/index.js'

export {
  MOVSCRIPT_ASSET_INDEX_PATH,
  MOVSCRIPT_INTERPRET_CURRENT_DIR,
  MOVSCRIPT_INTERPRET_DIR,
  MOVSCRIPT_INTERPRET_INDEXES_DIR,
  MOVSCRIPT_INTERPRET_MANIFESTS_DIR,
  MOVSCRIPT_INTERPRET_REVIEWS_DIR,
  MOVSCRIPT_DOMAIN_INDEX_PATH,
  MOVSCRIPT_DOMAIN_TREE_PATH,
  MOVSCRIPT_EDITOR_STATE_PATH,
  MOVSCRIPT_RELATION_GRAPH_PATH,
  MOVSCRIPT_SOURCE_COLLECTION_DIRS,
  MOVSCRIPT_SOURCE_ENTITY_FILES,
  MOVSCRIPT_SOURCE_ROOT_FILES,
  classifyMovScriptWorkspacePath,
  isMovScriptNonSourceRootDirectory,
  isMovScriptSourceDocumentPath,
  isMovScriptSourcePath,
  displayEntityId,
  entityIdentity,
  entityPathSlug,
  entityRefAliases,
  normalizeWorkspacePath,
  sameEntityRef,
  safeWorkspacePathToken,
  semanticEntityId,
  type MovScriptEntityIdentity,
  type MovScriptWorkspaceFilePolicy,
  type MovScriptWorkspaceFileRole,
} from './layout/index.js'

export {
  MOVSCRIPT_WORKSPACE_CONFIG_SCHEMA,
  type MovScriptWorkspaceConfig,
} from './config.js'

export {
  deriveMovScriptWorkspacePreviewTimelines,
  type MovScriptWorkspacePreviewTimelineArtifact,
  type MovScriptWorkspacePreviewTimelineEntityRef,
  type MovScriptWorkspacePreviewTimelineItem,
} from './previewTimeline.js'

export {
  MOVSCRIPT_DEFAULT_WORKSPACE_DIR_NAME,
  MOVSCRIPT_WORKSPACE_DIR_NAME,
  MOVSCRIPT_WORKSPACE_MANIFEST_FILE_NAME,
  MOVSCRIPT_WORKSPACE_MANIFEST_SCHEMA,
  MOVSCRIPT_WORKSPACE_PROVIDER_CONFIGS_DIR_NAME,
  type MovScriptWorkspaceContext,
  type MovScriptWorkspaceContextInput,
  type MovScriptWorkspaceContextPaths,
  type MovScriptWorkspaceRootManifest,
  type MovScriptWorkspaceRootPaths,
  type MovScriptWorkspaceScope,
} from './root.js'

export {
  appendMovScriptInlineCandidate,
  createMovScriptWorkspaceAssetSlotCandidateRecord,
  createMovScriptWorkspaceKeyframeCandidateRecord,
  clearMovScriptContentUnitSelection,
  contentUnitDecisionTargetRef,
  createMovScriptBackendDecisionStore,
  buildMovScriptContentCandidate,
  createMovScriptContentCandidate,
  createMovScriptWorkspaceAssetSlotCandidate,
  createMovScriptWorkspaceDomainRepository,
  createMovScriptWorkspaceKeyframeCandidate,
  deleteMovScriptWorkspaceEntity,
  lockMovScriptInlineCandidate,
  movScriptContentUnitKeyframePath,
  movScriptContentUnitPath,
  movScriptContentUnitsSceneAggregatePath,
  movScriptProductionWorkspacePath,
  movScriptWorkspaceAssetPath,
  overlayMovScriptDecisionDocuments,
  readMovScriptWorkspaceScriptSource,
  saveMovScriptProductionWorkspaceSnapshot,
  selectMovScriptContentUnitCandidate,
  selectMovScriptInlineCandidate,
  snapshotMovScriptVersionFromMarkdown,
  unlockMovScriptInlineCandidate,
  updateMovScriptContentUnitEditPrompt,
  updateMovScriptEntityTransition,
  updateMovScriptInlineCandidate,
  updateMovScriptStoryboardTimeline,
  upsertMovScriptContentUnit,
  upsertMovScriptProjectStandards,
  upsertMovScriptWorkspaceAsset,
  upsertMovScriptWorkspaceScript,
  upsertMovScriptWorkspaceSetting,
  workspaceCandidateSemanticRecord,
  type CreateMovScriptWorkspaceDomainRepositoryOptions,
  type MovScriptBackendDecisionStoreOptions,
  type MovScriptContentCandidateOutput,
  type MovScriptContentCandidateWriteInput,
  type MovScriptContentCandidateWriteResult,
  type MovScriptContentUnitEditPrompt,
  type MovScriptContentUnitEditPromptUpdateInput,
  type MovScriptContentUnitEditPromptUpdateResult,
  type MovScriptContentUnitDecisionCandidateInput,
  type MovScriptContentUnitDecisionCandidatesInput,
  type MovScriptContentUnitDecisionSelectionInput,
  type MovScriptContentUnitDecisionTarget,
  type MovScriptContentUnitSelectionInput,
  type MovScriptContentUnitSelectionResult,
  type MovScriptContentUnitWriteInput,
  type MovScriptContentUnitWriteResult,
  type MovScriptProductionWorkspaceAudioCueNode,
  type MovScriptProductionWorkspaceExpressionUnitNode,
  type MovScriptInlineCandidateLockInput,
  type MovScriptInlineCandidatePayload,
  type MovScriptInlineCandidateTargetKind,
  type MovScriptInlineCandidateUnlockInput,
  type MovScriptInlineCandidateUpdateInput,
  type MovScriptInlineCandidateWriteInput,
  type MovScriptInlineCandidateWriteResult,
  type MovScriptProductionWorkspaceSceneMomentNode,
  type MovScriptProductionWorkspaceSegmentNode,
  type MovScriptProductionWorkspaceSettingRefNode,
  type MovScriptProductionWorkspaceNode,
  type MovScriptProductionWorkspaceSnapshot,
  type MovScriptProductionWorkspaceSnapshotWriteInput,
  type MovScriptProductionWorkspaceSnapshotWriteResult,
  type MovScriptProductionWorkspaceStoryboardNode,
  type MovScriptProjectStandardsWriteInput,
  type MovScriptProjectStandardsWriteResult,
  type MovScriptScriptVersionSnapshotInput,
  type MovScriptScriptVersionSnapshotResult,
  type MovScriptEntityTransitionUpdateInput,
  type MovScriptEntityTransitionUpdateResult,
  type MovScriptStoryboardTimeline,
  type MovScriptStoryboardTimelineUpdateInput,
  type MovScriptStoryboardTimelineUpdateResult,
  type MovScriptTransitionBoundary,
  type MovScriptWorkspaceCandidateWriteInput,
  type MovScriptWorkspaceCandidateWriteResult,
  type MovScriptDecisionContext,
  type MovScriptDecisionStore,
  type MovScriptWorkspaceDomainRepository,
  type MovScriptWorkspaceEntityDeleteInput,
  type MovScriptWorkspaceEntityWriteInput,
  type MovScriptWorkspaceEntityWriteResult,
  type MovScriptWorkspaceFileRepository,
  type MovScriptWorkspaceRepositoryFileEntry,
  type MovScriptWorkspaceRepositoryListResult,
  type MovScriptWorkspaceRepositoryReadResult,
  type MovScriptWorkspaceRepositoryWriteInput,
  type MovScriptWorkspaceScriptSourceReadInput,
  type MovScriptWorkspaceScriptWriteInput,
  type MovScriptWorkspaceScriptWriteResult,
} from './repository/index.js'

export {
  createMovScriptWorkspaceService,
  type MovScriptAudioCueUpdateInput,
  type MovScriptAudioCueUpdateResult,
  type MovScriptExpressionUnitUpdateInput,
  type MovScriptExpressionUnitUpdateResult,
  type MovScriptWorkspaceInitializeFileResult,
  type MovScriptWorkspaceInitializeInput,
  type MovScriptWorkspaceInitializeResult,
  type MovScriptWorkspaceService,
  type MovScriptWorkspaceServiceOptions,
} from './service.js'
