# Workspace Configuration - Main Module
#
# Provides workspace configuration with type-safe contracts and defaults.

let contracts = import "contracts.ncl" in
let defaults = import "defaults.ncl" in

{
  # Re-export contracts (not_exported, for type checking only)
  Workspace | not_exported = contracts.Workspace,
  Paths | not_exported = contracts.Paths,
  ProvisioningConfig | not_exported = contracts.ProvisioningConfig,
  CoreConfig | not_exported = contracts.CoreConfig,
  DebugConfig | not_exported = contracts.DebugConfig,
  OutputConfig | not_exported = contracts.OutputConfig,
  HttpConfig | not_exported = contracts.HttpConfig,
  ProviderConfig | not_exported = contracts.ProviderConfig,
  PlatformConfig | not_exported = contracts.PlatformConfig,
  SecretsConfig | not_exported = contracts.SecretsConfig,
  KmsConfig | not_exported = contracts.KmsConfig,
  SopsConfig | not_exported = contracts.SopsConfig,
  AiConfig | not_exported = contracts.AiConfig,
  TaskservsConfig | not_exported = contracts.TaskservsConfig,
  ClustersConfig | not_exported = contracts.ClustersConfig,
  GenerationConfig | not_exported = contracts.GenerationConfig,
  CacheConfig | not_exported = contracts.CacheConfig,
  InfraConfig | not_exported = contracts.InfraConfig,
  ToolsConfig | not_exported = contracts.ToolsConfig,
  KclConfig | not_exported = contracts.KclConfig,
  SshConfig | not_exported = contracts.SshConfig,
  WorkspaceConfig | not_exported = contracts.WorkspaceConfig,

  # Re-export defaults (exportable data)
  default_workspace_config = defaults.default_workspace_config,
}
