package openrouter import ( "log/slog" "net/http" "git.warky.dev/wdevs/amcs/internal/ai/compat" "git.warky.dev/wdevs/amcs/internal/config" ) func New(cfg config.AIConfig, httpClient *http.Client, log *slog.Logger) (*compat.Client, error) { headers := make(map[string]string, len(cfg.OpenRouter.ExtraHeaders)+2) for key, value := range cfg.OpenRouter.ExtraHeaders { headers[key] = value } if cfg.OpenRouter.SiteURL != "" { headers["HTTP-Referer"] = cfg.OpenRouter.SiteURL } if cfg.OpenRouter.AppName != "" { headers["X-Title"] = cfg.OpenRouter.AppName } return compat.New(compat.Config{ Name: "openrouter", BaseURL: cfg.OpenRouter.BaseURL, APIKey: cfg.OpenRouter.APIKey, EmbeddingModel: cfg.Embeddings.Model, MetadataModel: cfg.Metadata.Model, FallbackMetadataModel: cfg.Metadata.FallbackModel, Temperature: cfg.Metadata.Temperature, Headers: headers, HTTPClient: httpClient, Log: log, Dimensions: cfg.Embeddings.Dimensions, LogConversations: cfg.Metadata.LogConversations, }), nil }