976b9defde
- Updated function signatures to accept AI Agent and AI Config as non-pointer types for better clarity and safety. - Modified instances where AI Agent and AI Config were dereferenced to improve code readability. - Removed unnecessary nil checks for AI Agent and AI Config, simplifying the logic. - Adjusted related tests and services to align with the new function signatures. - Cleaned up code in runtime, skills, and executor packages to ensure consistency in handling AI configurations.
29 lines
609 B
Go
29 lines
609 B
Go
package skills
|
|
|
|
import (
|
|
"context"
|
|
"strings"
|
|
)
|
|
|
|
func newPlanService() *planService {
|
|
return &planService{}
|
|
}
|
|
|
|
type planService struct{}
|
|
|
|
// BuildExecutionPlan 构建当前请求的 Skill 执行计划。
|
|
func (s *planService) BuildExecutionPlan(execCtx context.Context, ctx RuntimeContext) (*ExecutionPlan, error) {
|
|
skill, matchReason, routeTrace, err := MatchSkill(execCtx, ctx)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &ExecutionPlan{
|
|
AIAgent: ctx.AIAgent,
|
|
AIConfig: ctx.AIConfig,
|
|
Skill: skill,
|
|
MatchReason: strings.TrimSpace(matchReason),
|
|
RouteTrace: routeTrace,
|
|
}, nil
|
|
}
|