summaryrefslogtreecommitdiff
path: root/internal/executor
diff options
context:
space:
mode:
authorClaudomator Agent <agent@claudomator>2026-07-08 08:55:38 +0000
committerClaudomator Agent <agent@claudomator>2026-07-08 08:55:38 +0000
commit3eb50175564ecc7e0b0b250ce8b43dec7edec003 (patch)
tree99202f65ea80ddb123dcba3d0d3efca374fb59b5 /internal/executor
parent02489d25b98d67f332fe0c93156bb767c2e860a1 (diff)
feat(agentloop,executor): expose depends_on on the spawn_subtask tool
Diffstat (limited to 'internal/executor')
-rw-r--r--internal/executor/agentmcp.go12
1 files changed, 7 insertions, 5 deletions
diff --git a/internal/executor/agentmcp.go b/internal/executor/agentmcp.go
index a89c670..0b36c14 100644
--- a/internal/executor/agentmcp.go
+++ b/internal/executor/agentmcp.go
@@ -64,11 +64,12 @@ type reportSummaryInput struct {
}
type spawnSubtaskInput struct {
- Name string `json:"name" jsonschema:"short descriptive name for the subtask"`
- Instructions string `json:"instructions" jsonschema:"complete instructions for the subtask agent"`
- Model string `json:"model,omitempty" jsonschema:"optional model override, e.g. sonnet or opus"`
- MaxBudgetUSD float64 `json:"max_budget_usd,omitempty" jsonschema:"optional budget cap in USD"`
- Role string `json:"role,omitempty" jsonschema:"optional role name to dispatch the subtask through instead of a fixed model (e.g. an evaluator role); when set, model is ignored and the role's escalation ladder picks the provider/model"`
+ Name string `json:"name" jsonschema:"short descriptive name for the subtask"`
+ Instructions string `json:"instructions" jsonschema:"complete instructions for the subtask agent"`
+ Model string `json:"model,omitempty" jsonschema:"optional model override, e.g. sonnet or opus"`
+ MaxBudgetUSD float64 `json:"max_budget_usd,omitempty" jsonschema:"optional budget cap in USD"`
+ Role string `json:"role,omitempty" jsonschema:"optional role name to dispatch the subtask through instead of a fixed model (e.g. an evaluator role); when set, model is ignored and the role's escalation ladder picks the provider/model"`
+ DependsOn []string `json:"depends_on,omitempty" jsonschema:"optional list of sibling subtask IDs (returned by prior spawn_subtask calls in this same decomposition) this subtask must wait for before it can run"`
}
type recordProgressInput struct {
@@ -152,6 +153,7 @@ func newAgentServer(ch AgentChannel) *mcp.Server {
Model: in.Model,
MaxBudgetUSD: in.MaxBudgetUSD,
Role: in.Role,
+ DependsOn: in.DependsOn,
})
if err != nil {
return nil, nil, err