Support configuring effort alongside model
This commit is contained in:
@@ -100,7 +100,7 @@ func (m *Manager) activeLead(ctx context.Context, owner string) (api.AgentSessio
|
||||
return api.AgentSession{}, false, nil
|
||||
}
|
||||
|
||||
func (m *Manager) createLead(ctx context.Context, owner api.User, prompt, model, actor, sendID, client string, images []string) (api.AgentSession, error) {
|
||||
func (m *Manager) createLead(ctx context.Context, owner api.User, prompt, model, effort, actor, sendID, client string, images []string) (api.AgentSession, error) {
|
||||
_, found, err := m.activeLead(ctx, owner.Login)
|
||||
if err != nil {
|
||||
return api.AgentSession{}, err
|
||||
@@ -116,6 +116,7 @@ func (m *Manager) createLead(ctx context.Context, owner api.User, prompt, model,
|
||||
Owner: owner.Login,
|
||||
Vendor: vendor,
|
||||
Model: model,
|
||||
Effort: effort,
|
||||
VendorSessionId: initialVendorSessionID(vendor),
|
||||
State: api.AgentSessionStateIdle,
|
||||
Role: api.Lead,
|
||||
@@ -129,7 +130,7 @@ func (m *Manager) createLead(ctx context.Context, owner api.User, prompt, model,
|
||||
return m.turn(ctx, sess, api.Task{}, actor, prompt, sendID, client, images)
|
||||
}
|
||||
|
||||
func (m *Manager) MessageLead(ctx context.Context, user api.User, text, model, sendID, client string, images []string) (api.AgentSession, error) {
|
||||
func (m *Manager) MessageLead(ctx context.Context, user api.User, text, model, effort, sendID, client string, images []string) (api.AgentSession, error) {
|
||||
m.setStartedTodo(user.Login, false)
|
||||
|
||||
m.leadMu.Lock()
|
||||
@@ -150,17 +151,17 @@ func (m *Manager) MessageLead(ctx context.Context, user api.User, text, model, s
|
||||
return prior, nil
|
||||
}
|
||||
if !found {
|
||||
return m.createLead(ctx, user, text, model, user.Login, sendID, client, images)
|
||||
return m.createLead(ctx, user, text, model, effort, user.Login, sendID, client, images)
|
||||
}
|
||||
|
||||
if sess.State == api.AgentSessionStateIdle {
|
||||
s, err := m.Send(ctx, sess.Id, user.Login, text, model, sendID, client, images...)
|
||||
s, err := m.Send(ctx, sess.Id, user.Login, text, model, effort, sendID, client, images...)
|
||||
if !errors.Is(err, ErrConflict) {
|
||||
return s, err
|
||||
}
|
||||
}
|
||||
|
||||
sess, err = m.changeModel(ctx, sess, model, user.Login)
|
||||
sess, err = m.changeModel(ctx, sess, model, effort, user.Login)
|
||||
if err != nil {
|
||||
return api.AgentSession{}, err
|
||||
}
|
||||
@@ -217,7 +218,7 @@ func (m *Manager) tryDeliverLead(ctx context.Context, owner string) error {
|
||||
}
|
||||
text += "\n\n" + state
|
||||
}
|
||||
_, err = m.Send(ctx, sess.Id, actor, text, "", sendID, client, images...)
|
||||
_, err = m.Send(ctx, sess.Id, actor, text, "", "", sendID, client, images...)
|
||||
if errors.Is(err, ErrConflict) {
|
||||
return nil
|
||||
}
|
||||
@@ -346,7 +347,7 @@ func (m *Manager) compactLead(sessionID string) {
|
||||
ctx := context.Background()
|
||||
sess, err := m.store.GetSession(ctx, sessionID)
|
||||
if err == nil {
|
||||
_, err = m.launchCompaction(ctx, sess, api.Task{}, "")
|
||||
_, err = m.launchCompaction(ctx, sess, api.Task{}, "", "")
|
||||
}
|
||||
if err == nil {
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user