Skip to content

Commit 5f11a63

Browse files
committed
Fix sequential agents unable to use skills and uploads.
- Use `memberModel` instead of `member` when populating tools. - Refactor `convert_sequential_team_to_dict` to take a list of members instead of team.
1 parent 914af14 commit 5f11a63

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

backend/app/core/graph/build.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -139,14 +139,13 @@ def convert_hierarchical_team_to_dict(
139139
return teams
140140

141141

142-
def convert_sequential_team_to_dict(team: Team) -> Mapping[str, GraphMember]:
142+
def convert_sequential_team_to_dict(members: list[Member]) -> Mapping[str, GraphMember]:
143143
team_dict: dict[str, GraphMember] = {}
144144

145145
in_counts: defaultdict[int, int] = defaultdict(int)
146146
out_counts: defaultdict[int, list[int]] = defaultdict(list[int])
147147
members_lookup: dict[int, Member] = {}
148-
149-
for member in team.members:
148+
for member in members:
150149
assert member.id is not None, "member.id is unexpectedly None"
151150
if member.source:
152151
in_counts[member.id] += 1
@@ -171,7 +170,7 @@ def convert_sequential_team_to_dict(team: Team) -> Mapping[str, GraphMember]:
171170
managed=skill.managed,
172171
definition=skill.tool_definition,
173172
)
174-
for skill in member.skills
173+
for skill in memberModel.skills
175174
]
176175
tools += [
177176
GraphUpload(
@@ -180,7 +179,7 @@ def convert_sequential_team_to_dict(team: Team) -> Mapping[str, GraphMember]:
180179
owner_id=upload.owner_id,
181180
upload_id=cast(int, upload.id),
182181
)
183-
for upload in member.uploads
182+
for upload in memberModel.uploads
184183
if upload.owner_id is not None
185184
]
186185
graph_member = GraphMember(
@@ -453,7 +452,6 @@ async def generator(
453452

454453
try:
455454
memory = await AsyncPostgresSaver.from_conn_string(settings.PG_DATABASE_URI)
456-
457455
if team.workflow == "hierarchical":
458456
teams = convert_hierarchical_team_to_dict(team, members)
459457
team_leader = list(teams.keys())[0]
@@ -466,7 +464,7 @@ async def generator(
466464
"main_task": formatted_messages,
467465
}
468466
else:
469-
member_dict = convert_sequential_team_to_dict(team)
467+
member_dict = convert_sequential_team_to_dict(members)
470468
root = create_sequential_graph(member_dict, memory)
471469
first_member = list(member_dict.values())[0]
472470
state = {

0 commit comments

Comments
 (0)