feat: add guard in workflow engine
This commit is contained in:
@@ -669,6 +669,19 @@ func (s *Service) processOnTurnCompleteViaEngine(ctx context.Context, taskID, se
|
||||
return false
|
||||
}
|
||||
|
||||
// Guard: skip engine evaluation when session has no workflow step (mirrors legacy path)
|
||||
session, err := s.repo.GetTaskSession(ctx, sessionID)
|
||||
if err != nil {
|
||||
s.logger.Warn("failed to get session for engine on_turn_complete",
|
||||
zap.String("session_id", sessionID), zap.Error(err))
|
||||
s.setSessionWaitingForInput(ctx, taskID, sessionID)
|
||||
return false
|
||||
}
|
||||
if session.WorkflowStepID == nil || *session.WorkflowStepID == "" {
|
||||
s.setSessionWaitingForInput(ctx, taskID, sessionID)
|
||||
return false
|
||||
}
|
||||
|
||||
result, err := s.workflowEngine.HandleTrigger(ctx, engine.HandleInput{
|
||||
TaskID: taskID,
|
||||
SessionID: sessionID,
|
||||
@@ -759,6 +772,17 @@ func (s *Service) processOnTurnStartViaEngine(ctx context.Context, taskID, sessi
|
||||
return false
|
||||
}
|
||||
|
||||
// Guard: skip engine evaluation when session has no workflow step (mirrors legacy path)
|
||||
session, err := s.repo.GetTaskSession(ctx, sessionID)
|
||||
if err != nil {
|
||||
s.logger.Warn("failed to get session for engine on_turn_start",
|
||||
zap.String("session_id", sessionID), zap.Error(err))
|
||||
return false
|
||||
}
|
||||
if session.WorkflowStepID == nil || *session.WorkflowStepID == "" {
|
||||
return false
|
||||
}
|
||||
|
||||
result, err := s.workflowEngine.HandleTrigger(ctx, engine.HandleInput{
|
||||
TaskID: taskID,
|
||||
SessionID: sessionID,
|
||||
|
||||
Reference in New Issue
Block a user