Skip to content

Commit 40f5f04

Browse files
authored
Merge pull request #139 from tcdent/default-tasks-agent
If there is only one agent in the project, treat it as a default when adding a task.
2 parents cc9df41 + 0910cb2 commit 40f5f04

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

agentstack/frameworks/__init__.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@ def add_task(self, task: TaskConfig) -> None:
7272
"""
7373
...
7474

75+
def get_task_names(self) -> list[str]:
76+
"""
77+
Get a list of task names in the user's project.
78+
"""
79+
...
80+
7581

7682
def get_framework_module(framework: str) -> FrameworkModule:
7783
"""
@@ -132,3 +138,9 @@ def add_task(task: TaskConfig):
132138
"""
133139
return get_framework_module(get_framework()).add_task(task)
134140

141+
def get_task_names() -> list[str]:
142+
"""
143+
Get a list of task names in the user's project.
144+
"""
145+
return get_framework_module(get_framework()).get_task_names()
146+

agentstack/generation/task_generation.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ def add_task(
1515
):
1616
verify_agentstack_project()
1717

18+
agents = frameworks.get_agent_names()
19+
if not agent and len(agents) == 1:
20+
# if there's only one agent, use it by default
21+
agent = agents[0]
22+
1823
task = TaskConfig(task_name)
1924
with task as config:
2025
config.description = description or "Add your description here"

tests/test_generation_tasks.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
from agentstack.conf import ConfigFile, set_path
99
from agentstack.exceptions import ValidationError
1010
from agentstack import frameworks
11+
from agentstack.tasks import TaskConfig
1112
from agentstack.generation.task_generation import add_task
13+
from agentstack.generation.agent_generation import add_agent
1214

1315
BASE_PATH = Path(__file__).parent
1416

@@ -60,3 +62,13 @@ def test_add_agent_exists(self):
6062
expected_output='expected_output',
6163
agent='agent',
6264
)
65+
66+
def test_add_task_selects_single_agent(self):
67+
add_task(
68+
'task_test',
69+
description='description',
70+
expected_output='expected_output',
71+
)
72+
73+
task_config = TaskConfig('task_test')
74+
assert task_config.agent == 'test_agent' # defined in entrypoint_max.py

0 commit comments

Comments
 (0)