# sec_interp.core.validation.path_validator module

sec_interp.core.validation.path_validator.validate_safe_output_path(path: str, base_dir: Path | None = None, must_exist: bool = False, create_if_missing: bool = False) → tuple[bool, str, Path | None]

  Validate an output path string with security and path traversal protection.

  Parameters:

    - path – Original path string to validate.

    - base_dir – Optional base directory to restrict the path to (security sandbox).

    - must_exist – If True, validation fails if the path is not currently found on disk.

    - create_if_missing – If True, attempts to create the directory if it does not exist.

  Returns:

    (is_valid, error_message, resolved_path)

      - is_valid (bool): True if the path is safe and meets requirements.

      - error_message (str): Reason for validation failure.

      - resolved_path (Path | None): Cleaned, absolute Path object if valid.

  Return type:

    tuple

sec_interp.core.validation.path_validator.validate_output_path(path: str) → tuple[bool, str, Path | None]

  Validate that an output path is a valid directory and currently writable.

  This is a convenience wrapper around validate_safe_output_path() for general directory validation.

  Parameters:

    path – The path string to validate.

  Returns:

    (is_valid, error_message, resolved_path)

      - is_valid (bool): True if the directory is valid and writable.

      - error_message (str): Error details if validation fails.

      - resolved_path (Path | None): Absolute Path object if valid.

  Return type:

    tuple