Files
ai-agent/internal/services/skill_runtime_service.go
T

54 lines
1.8 KiB
Go
Raw Normal View History

2026-04-09 10:01:23 +08:00
package services
import (
"context"
"fmt"
2026-04-09 10:01:23 +08:00
"strings"
"cs-ai-agent/internal/pkg/dto/request"
"cs-ai-agent/internal/pkg/dto/response"
"cs-ai-agent/internal/pkg/errorsx"
2026-04-09 10:01:23 +08:00
)
var SkillRuntimeService = newSkillRuntimeService()
var SkillDebugRunHook func(ctx context.Context, req request.SkillDebugRunRequest) (*response.SkillDebugRunResponse, error)
var SkillDebugResumeHook func(ctx context.Context, req request.SkillDebugResumeRequest) (*response.SkillDebugRunResponse, error)
2026-04-09 10:01:23 +08:00
func newSkillRuntimeService() *skillRuntimeService {
return &skillRuntimeService{}
}
type skillRuntimeService struct{}
func (s *skillRuntimeService) DebugRun(ctx context.Context, req request.SkillDebugRunRequest) (*response.SkillDebugRunResponse, error) {
if req.AIAgentID <= 0 {
return nil, errorsx.InvalidParam("aiAgentId不能为空")
}
if strings.TrimSpace(req.SkillCode) == "" {
return nil, errorsx.InvalidParam("skillCode不能为空")
}
if strings.TrimSpace(req.UserMessage) == "" {
return nil, errorsx.InvalidParam("userMessage不能为空")
}
if SkillDebugRunHook == nil {
return nil, fmt.Errorf("skill debug runner is not initialized")
2026-04-09 10:01:23 +08:00
}
return SkillDebugRunHook(ctx, req)
2026-04-09 10:01:23 +08:00
}
func (s *skillRuntimeService) DebugResume(ctx context.Context, req request.SkillDebugResumeRequest) (*response.SkillDebugRunResponse, error) {
if req.AIAgentID <= 0 {
return nil, errorsx.InvalidParam("aiAgentId不能为空")
}
if strings.TrimSpace(req.CheckPointID) == "" {
return nil, errorsx.InvalidParam("checkPointId不能为空")
}
if strings.TrimSpace(req.UserMessage) == "" {
return nil, errorsx.InvalidParam("userMessage不能为空")
}
if SkillDebugResumeHook == nil {
return nil, fmt.Errorf("skill debug resume runner is not initialized")
}
return SkillDebugResumeHook(ctx, req)
}