Source code for oas2mcp.generate.config

"""Export configuration models for ``oas2mcp`` generation."""

from __future__ import annotations

from pathlib import Path

from pydantic import Field

from oas2mcp.models.normalized import NormalizedBaseModel


[docs] class ExportConfig(NormalizedBaseModel): """Configuration for enhanced artifact export. Args: None. Returns: None. Raises: None. Examples: .. code-block:: python config = ExportConfig( project_root=Path.cwd(), export_dir="data/exports", write_root_snapshot=False, ) """
[docs] project_root: Path = Field(default_factory=Path.cwd)
[docs] export_dir: str = "data/exports"
[docs] write_root_snapshot: bool = False
[docs] root_snapshot_name: str | None = None
[docs] write_operation_notes: bool = True
[docs] write_fastmcp_config: bool = True
[docs] write_surface_plan: bool = True
@property
[docs] def resolved_export_dir(self) -> Path: """Return the resolved export directory. Args: None. Returns: Path: The resolved export directory path. Raises: None. """ return self.project_root / self.export_dir