Support configuring effort alongside model
This commit is contained in:
@@ -46,13 +46,15 @@ func (m *Manager) subtaskTools(l *live) []mcp.Tool {
|
||||
`{"type": "object", "properties": {
|
||||
"title": {"type": "string", "description": "Short task title, shown in the task list."},
|
||||
"prompt": {"type": "string", "description": "The new agent's first message: a complete, self-contained brief."},
|
||||
"model": {"type": "string", "description": "Model for the new agent: gpt-* models run on Codex, gemini-* models on Antigravity, every other model on Claude Code. Defaults to this session's model."}
|
||||
"model": {"type": "string", "description": "Model for the new agent: gpt-* models run on Codex, gemini-* models on Antigravity, every other model on Claude Code. Defaults to this session's model and effort."},
|
||||
`+effortProperty+`
|
||||
}, "required": ["title", "prompt"]}`,
|
||||
func(ctx context.Context, creator api.User, raw json.RawMessage) (string, error) {
|
||||
args := struct {
|
||||
Title string `json:"title"`
|
||||
Prompt string `json:"prompt"`
|
||||
Model string `json:"model"`
|
||||
Effort string `json:"effort"`
|
||||
}{}
|
||||
err := json.Unmarshal(raw, &args)
|
||||
if err != nil {
|
||||
@@ -73,7 +75,8 @@ func (m *Manager) subtaskTools(l *live) []mcp.Tool {
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
_, err = m.create(ctx, task, creator, "", args.Prompt, m.modelOr(args.Model, l), agentActor, "", "", nil)
|
||||
model, effort := m.modelOr(args.Model, args.Effort, l)
|
||||
_, err = m.create(ctx, task, creator, "", args.Prompt, model, effort, agentActor, "", "", nil)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("subtask %s created, but its agent did not start: %w", task.Id, err)
|
||||
}
|
||||
@@ -99,7 +102,7 @@ func (m *Manager) subtaskTools(l *live) []mcp.Tool {
|
||||
return "", err
|
||||
}
|
||||
if found {
|
||||
agent = fmt.Sprintf("agent %s on %s", sess.State, sess.Model)
|
||||
agent = fmt.Sprintf("agent %s on %s", sess.State, modelLabel(sess))
|
||||
}
|
||||
fmt.Fprintf(b, "- %s %q: %s; branch %s; worktree %s", t.Id, t.Title, agent, t.Branch, t.WorktreePath)
|
||||
if t.MergingIntoParent {
|
||||
@@ -294,10 +297,10 @@ func (m *Manager) messageTask(ctx context.Context, task api.Task, user api.User,
|
||||
return err
|
||||
}
|
||||
if !found {
|
||||
_, err = m.create(ctx, task, user, sess.Member, text, "", actor, "", "", nil)
|
||||
_, err = m.create(ctx, task, user, sess.Member, text, "", "", actor, "", "", nil)
|
||||
return err
|
||||
}
|
||||
_, _, err = m.Message(ctx, sess.Id, actor, text, "", "", "")
|
||||
_, _, err = m.Message(ctx, sess.Id, actor, text, "", "", "", "")
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user