feat(orchestration): add orchestration system with task scheduling
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
24
backend/app/agents/orchestration/budget.py
Normal file
24
backend/app/agents/orchestration/budget.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from app.agents.schemas.task import CollaborationBudget
|
||||
|
||||
|
||||
def build_subtask_budget(
|
||||
*,
|
||||
execution_mode: str,
|
||||
max_parallel_tasks: int,
|
||||
max_tool_calls: int = 2,
|
||||
max_iterations: int = 2,
|
||||
metadata: dict | None = None,
|
||||
) -> CollaborationBudget:
|
||||
return CollaborationBudget(
|
||||
mode="collaboration" if execution_mode != "direct" else "direct",
|
||||
max_parallel_tasks=max_parallel_tasks,
|
||||
remaining_parallel_tasks=max_parallel_tasks,
|
||||
max_tool_calls=max_tool_calls,
|
||||
remaining_tool_calls=max_tool_calls,
|
||||
max_iterations=max_iterations,
|
||||
remaining_iterations=max_iterations,
|
||||
escalation_threshold=1,
|
||||
metadata=metadata or {},
|
||||
)
|
||||
Reference in New Issue
Block a user