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 }