From 47d3bc03a504d903b39ea44dba8f2bc7fcce3d00 Mon Sep 17 00:00:00 2001 From: junwen-lee Date: Mon, 1 Sep 2025 19:50:18 +0800 Subject: [PATCH] fix(singleagent): error no (#1920) --- .../application/conversation/openapi_agent_run.go | 2 +- backend/crossdomain/impl/singleagent/single_agent.go | 3 +++ .../conversation/agentrun/internal/agent_info.go | 12 +++++++++--- backend/domain/conversation/agentrun/internal/run.go | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/backend/application/conversation/openapi_agent_run.go b/backend/application/conversation/openapi_agent_run.go index 96c30fb4..b0525594 100644 --- a/backend/application/conversation/openapi_agent_run.go +++ b/backend/application/conversation/openapi_agent_run.go @@ -127,7 +127,7 @@ func (a *OpenapiAgentRunApplication) checkAgent(ctx context.Context, ar *run.Cha } if agentInfo == nil { - return nil, errors.New("agent info is nil") + return nil, errorx.New(errno.ErrAgentNotExists) } return agentInfo, nil } diff --git a/backend/crossdomain/impl/singleagent/single_agent.go b/backend/crossdomain/impl/singleagent/single_agent.go index d349cb96..2cc3f522 100644 --- a/backend/crossdomain/impl/singleagent/single_agent.go +++ b/backend/crossdomain/impl/singleagent/single_agent.go @@ -97,5 +97,8 @@ func (c *impl) ObtainAgentByIdentity(ctx context.Context, identity *model.AgentI if err != nil { return nil, err } + if agentInfo == nil { + return nil, nil + } return agentInfo.SingleAgent, nil } diff --git a/backend/domain/conversation/agentrun/internal/agent_info.go b/backend/domain/conversation/agentrun/internal/agent_info.go index c3d824d3..f8f4fdfe 100644 --- a/backend/domain/conversation/agentrun/internal/agent_info.go +++ b/backend/domain/conversation/agentrun/internal/agent_info.go @@ -21,7 +21,9 @@ import ( "github.com/coze-dev/coze-studio/backend/api/model/crossdomain/singleagent" crossagent "github.com/coze-dev/coze-studio/backend/crossdomain/contract/agent" "github.com/coze-dev/coze-studio/backend/domain/conversation/agentrun/entity" + "github.com/coze-dev/coze-studio/backend/pkg/errorx" "github.com/coze-dev/coze-studio/backend/pkg/lang/ptr" + "github.com/coze-dev/coze-studio/backend/types/errno" ) func getAgentHistoryRounds(agentInfo *singleagent.SingleAgent) int32 { @@ -32,14 +34,18 @@ func getAgentHistoryRounds(agentInfo *singleagent.SingleAgent) int32 { return conversationTurns } -func getAgentInfo(ctx context.Context, agentID int64, isDraft bool) (*singleagent.SingleAgent, error) { +func getAgentInfo(ctx context.Context, agentID int64, isDraft bool, connID int64) (*singleagent.SingleAgent, error) { agentInfo, err := crossagent.DefaultSVC().ObtainAgentByIdentity(ctx, &singleagent.AgentIdentity{ - AgentID: agentID, - IsDraft: isDraft, + AgentID: agentID, + IsDraft: isDraft, + ConnectorID: connID, }) if err != nil { return nil, err } + if agentInfo == nil { + return nil, errorx.New(errno.ErrAgentNotExists) + } return agentInfo, nil } diff --git a/backend/domain/conversation/agentrun/internal/run.go b/backend/domain/conversation/agentrun/internal/run.go index ac27624f..a315f78e 100644 --- a/backend/domain/conversation/agentrun/internal/run.go +++ b/backend/domain/conversation/agentrun/internal/run.go @@ -107,7 +107,7 @@ func (rd *AgentRuntime) GetHistory() []*msgEntity.Message { func (art *AgentRuntime) Run(ctx context.Context) (err error) { - agentInfo, err := getAgentInfo(ctx, art.GetRunMeta().AgentID, art.GetRunMeta().IsDraft) + agentInfo, err := getAgentInfo(ctx, art.GetRunMeta().AgentID, art.GetRunMeta().IsDraft, art.GetRunMeta().ConnectorID) if err != nil { return }