CoACT initialize (#292)
This commit is contained in:
36
mm_agents/coact/autogen/events/helpers.py
Normal file
36
mm_agents/coact/autogen/events/helpers.py
Normal file
@@ -0,0 +1,36 @@
|
||||
# Copyright (c) 2023 - 2025, AG2ai, Inc., AG2ai open-source projects maintainers and core contributors
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
import logging
|
||||
from functools import wraps
|
||||
from typing import Callable
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def deprecated_by(
|
||||
new_class: type[BaseModel],
|
||||
param_mapping: dict[str, str] = None,
|
||||
) -> Callable[[type[BaseModel]], Callable[..., BaseModel]]:
|
||||
param_mapping = param_mapping or {}
|
||||
|
||||
def decorator(
|
||||
old_class: type[BaseModel],
|
||||
param_mapping: dict[str, str] = param_mapping,
|
||||
) -> Callable[..., BaseModel]:
|
||||
@wraps(old_class)
|
||||
def wrapper(*args, **kwargs) -> BaseModel:
|
||||
logger.warning(
|
||||
f"{old_class.__name__} is deprecated by {new_class.__name__}. Please import it from {new_class.__module__} and use it instead."
|
||||
)
|
||||
# Translate old parameters to new parameters
|
||||
new_kwargs = {param_mapping.get(k, k): v for k, v in kwargs.items()}
|
||||
|
||||
# Pass the translated parameters to the new class
|
||||
return new_class(*args, **new_kwargs)
|
||||
|
||||
return wrapper
|
||||
|
||||
return decorator
|
||||
Reference in New Issue
Block a user