Skip to content

Commit df11c92

Browse files
separate schema package wip
1 parent 7bc92cb commit df11c92

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+863
-826
lines changed

core/bifrost.go

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,15 @@ import (
1616

1717
"github.com/google/uuid"
1818
"github.com/maximhq/bifrost/core/providers"
19+
"github.com/maximhq/bifrost/core/providers/anthropic"
20+
"github.com/maximhq/bifrost/core/providers/azure"
21+
"github.com/maximhq/bifrost/core/providers/bedrock"
22+
"github.com/maximhq/bifrost/core/providers/cohere"
23+
"github.com/maximhq/bifrost/core/providers/gemini"
24+
"github.com/maximhq/bifrost/core/providers/mistral"
25+
"github.com/maximhq/bifrost/core/providers/openai"
26+
providerUtils "github.com/maximhq/bifrost/core/providers/utils"
27+
"github.com/maximhq/bifrost/core/providers/vertex"
1928
schemas "github.com/maximhq/bifrost/core/schemas"
2029
)
2130

@@ -77,13 +86,20 @@ func Init(ctx context.Context, config schemas.BifrostConfig) (*Bifrost, error) {
7786
return nil, fmt.Errorf("account is required to initialize Bifrost")
7887
}
7988

89+
if config.Logger == nil {
90+
config.Logger = NewDefaultLogger(schemas.LogLevelInfo)
91+
}
92+
93+
providerUtils.SetLogger(config.Logger)
94+
8095
bifrost := &Bifrost{
8196
ctx: ctx,
8297
account: config.Account,
8398
plugins: atomic.Pointer[[]schemas.Plugin]{},
8499
requestQueues: sync.Map{},
85100
waitGroups: sync.Map{},
86101
keySelector: config.KeySelector,
102+
logger: config.Logger,
87103
}
88104
bifrost.plugins.Store(&config.Plugins)
89105

@@ -149,11 +165,6 @@ func Init(ctx context.Context, config schemas.BifrostConfig) (*Bifrost, error) {
149165
return nil, err
150166
}
151167

152-
if config.Logger == nil {
153-
config.Logger = NewDefaultLogger(schemas.LogLevelInfo)
154-
}
155-
bifrost.logger = config.Logger
156-
157168
// Initialize MCP manager if configured
158169
if config.MCPConfig != nil {
159170
mcpManager, err := newMCPManager(ctx, *config.MCPConfig, bifrost.logger)
@@ -1168,19 +1179,19 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
11681179

11691180
switch targetProviderKey {
11701181
case schemas.OpenAI:
1171-
return providers.NewOpenAIProvider(config, bifrost.logger), nil
1182+
return openai.NewOpenAIProvider(config, bifrost.logger), nil
11721183
case schemas.Anthropic:
1173-
return providers.NewAnthropicProvider(config, bifrost.logger), nil
1184+
return anthropic.NewAnthropicProvider(config, bifrost.logger), nil
11741185
case schemas.Bedrock:
1175-
return providers.NewBedrockProvider(config, bifrost.logger)
1186+
return bedrock.NewBedrockProvider(config, bifrost.logger)
11761187
case schemas.Cohere:
1177-
return providers.NewCohereProvider(config, bifrost.logger), nil
1188+
return cohere.NewCohereProvider(config, bifrost.logger)
11781189
case schemas.Azure:
1179-
return providers.NewAzureProvider(config, bifrost.logger)
1190+
return azure.NewAzureProvider(config, bifrost.logger)
11801191
case schemas.Vertex:
1181-
return providers.NewVertexProvider(config, bifrost.logger)
1192+
return vertex.NewVertexProvider(config, bifrost.logger)
11821193
case schemas.Mistral:
1183-
return providers.NewMistralProvider(config, bifrost.logger), nil
1194+
return mistral.NewMistralProvider(config, bifrost.logger), nil
11841195
case schemas.Ollama:
11851196
return providers.NewOllamaProvider(config, bifrost.logger)
11861197
case schemas.Groq:
@@ -1192,7 +1203,7 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
11921203
case schemas.Cerebras:
11931204
return providers.NewCerebrasProvider(config, bifrost.logger)
11941205
case schemas.Gemini:
1195-
return providers.NewGeminiProvider(config, bifrost.logger), nil
1206+
return gemini.NewGeminiProvider(config, bifrost.logger), nil
11961207
case schemas.OpenRouter:
11971208
return providers.NewOpenRouterProvider(config, bifrost.logger), nil
11981209
default:

core/providers/anthropic.go renamed to core/providers/anthropic/anthropic.go

Lines changed: 92 additions & 93 deletions
Large diffs are not rendered by default.

core/schemas/providers/anthropic/chat.go renamed to core/providers/anthropic/chat.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"github.com/maximhq/bifrost/core/schemas"
99
)
1010

11-
// ToBifrostRequest converts an Anthropic messages request to Bifrost format
11+
// ToBifrostChatRequest converts an Anthropic messages request to Bifrost format
1212
func (request *AnthropicMessageRequest) ToBifrostChatRequest() *schemas.BifrostChatRequest {
1313
provider, model := schemas.ParseModelString(request.Model, schemas.Anthropic)
1414

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)