diff --git a/internal/gateway/methods/teams_members.go b/internal/gateway/methods/teams_members.go index 6fc2635d..cf058e7d 100644 --- a/internal/gateway/methods/teams_members.go +++ b/internal/gateway/methods/teams_members.go @@ -52,10 +52,11 @@ func (m *TeamsMethods) handleAddMember(ctx context.Context, client *gateway.Clie return } - // Resolve agent + // Resolve agent — accepts agent_key or UUID. H10 fix: return i18n error instead + // of leaking raw store error (was: "agent: " + err.Error()). ag, err := resolveAgentInfo(ctx, m.agentStore, params.Agent) if err != nil { - client.SendResponse(protocol.NewErrorResponse(req.ID, protocol.ErrInvalidRequest, "agent: "+err.Error())) + client.SendResponse(protocol.NewErrorResponse(req.ID, protocol.ErrInvalidRequest, i18n.T(locale, i18n.MsgInvalidID, "agent"))) return } @@ -134,7 +135,8 @@ func (m *TeamsMethods) handleRemoveMember(ctx context.Context, client *gateway.C client.SendResponse(protocol.NewErrorResponse(req.ID, protocol.ErrInvalidRequest, i18n.T(locale, i18n.MsgInvalidID, "teamId"))) return } - agentID, err := uuid.Parse(params.AgentID) + // Phase 3 FR-1: accept agent_key or UUID via cache-aware resolver. + agentID, err := resolveAgentUUIDCached(ctx, m.agentRouter, m.agentStore, params.AgentID) if err != nil { client.SendResponse(protocol.NewErrorResponse(req.ID, protocol.ErrInvalidRequest, i18n.T(locale, i18n.MsgInvalidID, "agentId"))) return diff --git a/internal/gateway/methods/teams_tasks_mutations.go b/internal/gateway/methods/teams_tasks_mutations.go index c6c13ffd..c498c1a0 100644 --- a/internal/gateway/methods/teams_tasks_mutations.go +++ b/internal/gateway/methods/teams_tasks_mutations.go @@ -151,7 +151,8 @@ func (m *TeamsMethods) handleTaskAssign(ctx context.Context, client *gateway.Cli client.SendResponse(protocol.NewErrorResponse(req.ID, protocol.ErrInvalidRequest, i18n.T(locale, i18n.MsgInvalidID, "taskId"))) return } - agentID, err := uuid.Parse(params.AgentID) + // Phase 3 FR-1: accept agent_key or UUID for assignee. + agentID, err := resolveAgentUUIDCached(ctx, m.agentRouter, m.agentStore, params.AgentID) if err != nil { client.SendResponse(protocol.NewErrorResponse(req.ID, protocol.ErrInvalidRequest, i18n.T(locale, i18n.MsgInvalidID, "agentId"))) return