config_validator

Validation and configuration building for non-interactive project creation.

exception pipecat.cli.config_validator.ConfigValidationError(errors: list[str])[source]

Bases: Exception

Raised when project configuration validation fails.

Collects all validation errors so agents see every problem at once.

__init__(errors: list[str])[source]

Initialize a ConfigValidationError.

Parameters:

errors – List of validation errors

pipecat.cli.config_validator.validate_and_build_config(*, name: str | None = None, bot_type: str | None = None, transport: list[str] | None = None, mode: str | None = None, stt: str | None = None, llm: str | None = None, tts: str | None = None, realtime: str | None = None, video: str | None = None, client_framework: str | None = None, client_server: str | None = None, daily_pstn_mode: str | None = None, twilio_daily_sip_mode: str | None = None, recording: bool = False, transcription: bool = False, video_input: bool = False, video_output: bool = False, deploy_to_cloud: bool = True, enable_krisp: bool = False, observability: bool = False, enable_eval: bool = False) ProjectConfig[source]

Validate all inputs and build a ProjectConfig.

Collects all errors before raising, so callers see every problem at once.

Returns:

A fully-populated ProjectConfig.

Raises:

ConfigValidationError – If any validation fails.

pipecat.cli.config_validator.load_config_from_file(path: Path) dict[source]

Load a JSON config file and return it as a dict.

Raises:
  • FileNotFoundError – If the file does not exist.

  • json.JSONDecodeError – If the file is not valid JSON.

pipecat.cli.config_validator.config_to_json(config: ProjectConfig) str[source]

Serialize a ProjectConfig to a pretty-printed JSON string.