from typing import List, Dict import types class OpenrouterConfig(): """ Reference: https://openrouter.ai/docs#format """ # OpenRouter-only parameters extra_body: Dict[str, List[str]] = { 'transforms': [] # default transforms to [] } def __init__(self, transforms: List[str] = [], models: List[str] = [], route: str = '', ) -> None: locals_ = locals() for key, value in locals_.items(): if key != 'self' and value is not None: setattr(self.__class__, key, value) @classmethod def get_config(cls): return {k: v for k, v in cls.__dict__.items() if not k.startswith('__') and not isinstance(v, (types.FunctionType, types.BuiltinFunctionType, classmethod, staticmethod)) and v is not None}