import {
  CommitMessageSchema, SAEEOL_CONFIG_FILES, ALL_CONFIG_FILES,
  SAEEOL_DIR_SUFFIXES, ALL_CONFIG_DIR_SUFFIXES, AGENT_PATTERNS, COMMAND_PATTERNS,
  projectConfigUpdateTarget, updateProjectConfig, scopeIndexing,
  stripNulls, mergeConfig, isConfigDir,
} from "./config-core"
import {
  toWarning, formatIssues, handleInvalid, caught,
} from "./config-helpers"
import {
  loadLegacyConfigs, loadOrganizationModes, migrateBashPermission,
} from "./config-legacy"

export {
  CommitMessageSchema, SAEEOL_CONFIG_FILES, ALL_CONFIG_FILES,
  SAEEOL_DIR_SUFFIXES, ALL_CONFIG_DIR_SUFFIXES, AGENT_PATTERNS, COMMAND_PATTERNS,
  projectConfigUpdateTarget, updateProjectConfig, scopeIndexing,
  stripNulls, mergeConfig, isConfigDir,
  toWarning, formatIssues, handleInvalid, caught,
  loadLegacyConfigs, loadOrganizationModes, migrateBashPermission,
}

export const SaeeolConfig = {
  CommitMessageSchema, SAEEOL_CONFIG_FILES, ALL_CONFIG_FILES,
  SAEEOL_DIR_SUFFIXES, ALL_CONFIG_DIR_SUFFIXES, AGENT_PATTERNS, COMMAND_PATTERNS,
  projectConfigUpdateTarget, updateProjectConfig, scopeIndexing,
  stripNulls, mergeConfig, isConfigDir,
  toWarning, formatIssues, handleInvalid, caught,
  loadLegacyConfigs, loadOrganizationModes, migrateBashPermission,
} satisfies Record<string, unknown>
