# | Dependency management instances (defaults only)
# | Migrated from: provisioning/kcl/dependencies.k
# | Pattern: Hybrid - defaults + makers + direct access (contracts available via import)

let contracts_lib = import "./contracts.ncl" in
let defaults_lib = import "./defaults.ncl" in

{
  defaults = defaults_lib,

  make_resource_requirement | not_exported = fun overrides =>
    defaults_lib.resource_requirement & overrides,
  make_health_check | not_exported = fun overrides =>
    defaults_lib.health_check & overrides,
  make_installation_phase | not_exported = fun overrides =>
    defaults_lib.installation_phase & overrides,
  make_taskserv_dependencies | not_exported = fun overrides =>
    defaults_lib.taskserv_dependencies & overrides,
  make_taskserv_dependency | not_exported = fun overrides =>
    defaults_lib.taskserv_dependency & overrides,
  make_oci_source | not_exported = fun overrides =>
    defaults_lib.oci_source & overrides,
  make_gitea_source | not_exported = fun overrides =>
    defaults_lib.gitea_source & overrides,
  make_local_source | not_exported = fun overrides =>
    defaults_lib.local_source & overrides,
  make_http_source | not_exported = fun overrides =>
    defaults_lib.http_source & overrides,
  make_extension_source | not_exported = fun overrides =>
    defaults_lib.extension_source & overrides,
  make_extension_manifest | not_exported = fun overrides =>
    defaults_lib.extension_manifest & overrides,
  make_repository_config | not_exported = fun overrides =>
    defaults_lib.repository_config & overrides,
  make_dependency_resolution | not_exported = fun overrides =>
    defaults_lib.dependency_resolution & overrides,

  DefaultResourceRequirement = defaults_lib.resource_requirement,
  DefaultHealthCheck = defaults_lib.health_check,
  DefaultInstallationPhase = defaults_lib.installation_phase,
  DefaultTaskservDependencies = defaults_lib.taskserv_dependencies,
  DefaultTaskservDependency = defaults_lib.taskserv_dependency,
  DefaultOCISource = defaults_lib.oci_source,
  DefaultGiteaSource = defaults_lib.gitea_source,
  DefaultLocalSource = defaults_lib.local_source,
  DefaultHTTPSource = defaults_lib.http_source,
  DefaultExtensionSource = defaults_lib.extension_source,
  DefaultExtensionManifest = defaults_lib.extension_manifest,
  DefaultRepositoryConfig = defaults_lib.repository_config,
  DefaultDependencyResolution = defaults_lib.dependency_resolution,
}
