Skip to content

Commit 5b3453a

Browse files
authored
fix: state update in skills checklist (#514)
1 parent 7c135b0 commit 5b3453a

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

veadk/skills/utils.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,18 @@ def update_check_list(
3838
update_check_list(skill_name="skill-creator", check_item="analyze_content", state=True)
3939
"""
4040
agent_name = tool_context.agent_name
41-
if agent_name not in tool_context.state:
42-
tool_context.state[agent_name] = {}
43-
if skill_name not in tool_context.state[agent_name]:
44-
tool_context.state[agent_name][skill_name] = {}
45-
if "check_list" not in tool_context.state[agent_name][skill_name]:
46-
tool_context.state[agent_name][skill_name]["check_list"] = {}
47-
tool_context.state[agent_name][skill_name]["check_list"][check_item] = state
48-
logger.info(f"Updated agent[{agent_name}] state: {tool_context.state[agent_name]}")
41+
current_state = tool_context.state.to_dict()
42+
if agent_name not in current_state:
43+
current_state[agent_name] = {}
44+
if skill_name not in current_state[agent_name]:
45+
current_state[agent_name][skill_name] = {}
46+
if "check_list" not in current_state[agent_name][skill_name]:
47+
current_state[agent_name][skill_name]["check_list"] = {}
48+
current_state[agent_name][skill_name]["check_list"][check_item] = state
49+
tool_context.state.update(current_state)
50+
logger.info(
51+
f"Updated agent[{agent_name}] skill[{skill_name}] check_list[{check_item}] state: {state}"
52+
)
4953

5054

5155
def create_init_skill_check_list_callback(
@@ -72,11 +76,11 @@ def init_skill_check_list(
7276
skill = skills_with_checklist[skill_name]
7377
check_list_items = skill.get_checklist_items()
7478
check_list_state = {item: False for item in check_list_items}
75-
if agent_name not in tool_context.state:
76-
tool_context.state[agent_name] = {}
77-
tool_context.state[agent_name][skill_name] = {
78-
"check_list": check_list_state
79-
}
79+
current_state = tool_context.state.to_dict()
80+
if agent_name not in current_state:
81+
current_state[agent_name] = {}
82+
current_state[agent_name][skill_name] = {"check_list": check_list_state}
83+
tool_context.state.update(current_state)
8084
logger.info(
8185
f"Initialized agent[{agent_name}] skill[{skill_name}] check_list: {check_list_state}"
8286
)

0 commit comments

Comments
 (0)