Pipeline.Config (pipeline v0.0.1)

View Source

Configuration management system for the pipeline.

Handles loading and validation of workflow configurations, environment variables, and runtime settings.

Summary

Functions

Merge default values into workflow configuration.

Get application configuration with environment variable overrides.

Get provider configuration for external services.

Load and validate a workflow configuration from file.

Validate a workflow configuration.

Types

config()

@type config() :: map()

validation_result()

@type validation_result() :: :ok | {:error, String.t()}

Functions

apply_defaults(config)

@spec apply_defaults(config()) :: config()

Merge default values into workflow configuration.

get_app_config()

@spec get_app_config() :: %{
  optional(atom()) => any(),
  workspace_dir: String.t(),
  output_dir: String.t(),
  checkpoint_dir: String.t(),
  log_level: atom(),
  test_mode: String.t(),
  debug_enabled: boolean()
}

Get application configuration with environment variable overrides.

get_provider_config(provider)

@spec get_provider_config(:claude | :gemini) :: %{
  api_key: String.t() | nil,
  base_url: String.t() | nil,
  model: String.t(),
  timeout: integer()
}

Get provider configuration for external services.

load_workflow(file_path)

@spec load_workflow(String.t()) :: {:ok, config()} | {:error, String.t()}

Load and validate a workflow configuration from file.

validate_workflow(config)

@spec validate_workflow(config()) :: validation_result()

Validate a workflow configuration.