ai_scheduler/cmd/server/wire_gen.go

68 lines
1.6 KiB
Go

// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:build !wireinject
// +build !wireinject
package main
import (
"ai_scheduler/internal/config"
"ai_scheduler/internal/services"
"ai_scheduler/internal/tools"
"ai_scheduler/pkg/ollama"
"ai_scheduler/pkg/types"
)
import (
_ "ai_scheduler/docs"
)
// Injectors from wire.go:
// InitializeApp 初始化应用程序
func InitializeApp(configPath string) (*App, error) {
configConfig, err := config.LoadConfig(configPath)
if err != nil {
return nil, err
}
aiClient := provideOllamaClient(configConfig)
toolsConfig := provideToolsConfig(configConfig)
manager := tools.NewManager(toolsConfig)
routerService := provideRouterService(aiClient, manager)
app := NewApp(configConfig, routerService)
return app, nil
}
// wire.go:
// provideOllamaClient 提供Ollama客户端
func provideOllamaClient(cfg *config.Config) types.AIClient {
client, _ := ollama.NewClient(&cfg.Ollama)
return client
}
// provideToolsConfig 提供工具配置
func provideToolsConfig(cfg *config.Config) *config.ToolsConfig {
return &cfg.Tools
}
// provideRouterService 提供路由服务
func provideRouterService(aiClient types.AIClient, toolManager *tools.Manager) types.RouterService {
return services.NewRouterService(aiClient, toolManager)
}
// App 应用程序结构
type App struct {
Config *config.Config
RouterService types.RouterService
}
// NewApp 创建应用程序
func NewApp(cfg *config.Config, routerService types.RouterService) *App {
return &App{
Config: cfg,
RouterService: routerService,
}
}