feat(project): 项目完结
This commit is contained in:
32
internal/domain/agent/service/armory/factory/factory.go
Normal file
32
internal/domain/agent/service/armory/factory/factory.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package factory
|
||||
|
||||
import (
|
||||
"ai-agent-scaffold-go/internal/domain/agent/ports"
|
||||
"ai-agent-scaffold-go/internal/domain/agent/service/armory"
|
||||
"ai-agent-scaffold-go/internal/domain/agent/service/armory/workflow"
|
||||
)
|
||||
|
||||
type DefaultFactory struct {
|
||||
root armory.Handler
|
||||
}
|
||||
|
||||
func NewDefaultFactory(
|
||||
modelProvider ports.ModelProvider,
|
||||
mcpFactory ports.MCPToolFactory,
|
||||
skillFactory ports.SkillFactory,
|
||||
agentFactory ports.AgentFactory,
|
||||
runnerFactory ports.RunnerFactory,
|
||||
registry ports.AgentRegistry,
|
||||
) *DefaultFactory {
|
||||
runner := armory.NewRunnerNode(runnerFactory, registry)
|
||||
workflowNode := workflow.NewAgentWorkflowNode(agentFactory, runner)
|
||||
agent := armory.NewAgentNode(agentFactory, workflowNode)
|
||||
chatModel := armory.NewChatModelNode(modelProvider, mcpFactory, skillFactory, agent)
|
||||
api := armory.NewAiAPINode(modelProvider, chatModel)
|
||||
root := armory.NewRootNode(api)
|
||||
return &DefaultFactory{root: root}
|
||||
}
|
||||
|
||||
func (f *DefaultFactory) ArmoryStrategyHandler() armory.Handler {
|
||||
return f.root
|
||||
}
|
||||
Reference in New Issue
Block a user