refactor(data_model): 解除 plan_filter 对 DatabaseMessages 的直接依赖
将 `target_message_obj` 的类型从 `DatabaseMessages` 实例改为字典,从而消除了 `plan_filter` 模块对 `database_data_model` 的循环导入风险。同时更新了 `ActionPlannerInfo` 中 `action_message` 的类型注解以保持一致性。
This commit is contained in:
@@ -263,8 +263,7 @@ class PlanFilter:
|
|||||||
target_message_dict = self._get_latest_message(message_id_list)
|
target_message_dict = self._get_latest_message(message_id_list)
|
||||||
|
|
||||||
if target_message_dict:
|
if target_message_dict:
|
||||||
from src.common.data_models.database_data_model import DatabaseMessages
|
target_message_obj = target_message_dict
|
||||||
target_message_obj = DatabaseMessages(**target_message_dict)
|
|
||||||
|
|
||||||
available_action_names = list(plan.available_actions.keys())
|
available_action_names = list(plan.available_actions.keys())
|
||||||
if action not in ["no_action", "no_reply", "reply", "do_nothing", "proactive_reply"] and action not in available_action_names:
|
if action not in ["no_action", "no_reply", "reply", "do_nothing", "proactive_reply"] and action not in available_action_names:
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class ActionPlannerInfo(BaseDataModel):
|
|||||||
action_type: str = field(default_factory=str)
|
action_type: str = field(default_factory=str)
|
||||||
reasoning: Optional[str] = None
|
reasoning: Optional[str] = None
|
||||||
action_data: Optional[Dict] = None
|
action_data: Optional[Dict] = None
|
||||||
action_message: Optional["DatabaseMessages"] = None
|
action_message: Optional[Dict] = None
|
||||||
available_actions: Optional[Dict[str, "ActionInfo"]] = None
|
available_actions: Optional[Dict[str, "ActionInfo"]] = None
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user