Skip to content

Commit 22dbf88

Browse files
separate schema package wip
1 parent d60298e commit 22dbf88

Some content is hidden

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

65 files changed

+859
-821
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)
@@ -1227,19 +1238,19 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
12271238

12281239
switch targetProviderKey {
12291240
case schemas.OpenAI:
1230-
return providers.NewOpenAIProvider(config, bifrost.logger), nil
1241+
return openai.NewOpenAIProvider(config, bifrost.logger), nil
12311242
case schemas.Anthropic:
1232-
return providers.NewAnthropicProvider(config, bifrost.logger), nil
1243+
return anthropic.NewAnthropicProvider(config, bifrost.logger), nil
12331244
case schemas.Bedrock:
1234-
return providers.NewBedrockProvider(config, bifrost.logger)
1245+
return bedrock.NewBedrockProvider(config, bifrost.logger)
12351246
case schemas.Cohere:
1236-
return providers.NewCohereProvider(config, bifrost.logger), nil
1247+
return cohere.NewCohereProvider(config, bifrost.logger)
12371248
case schemas.Azure:
1238-
return providers.NewAzureProvider(config, bifrost.logger)
1249+
return azure.NewAzureProvider(config, bifrost.logger)
12391250
case schemas.Vertex:
1240-
return providers.NewVertexProvider(config, bifrost.logger)
1251+
return vertex.NewVertexProvider(config, bifrost.logger)
12411252
case schemas.Mistral:
1242-
return providers.NewMistralProvider(config, bifrost.logger), nil
1253+
return mistral.NewMistralProvider(config, bifrost.logger), nil
12431254
case schemas.Ollama:
12441255
return providers.NewOllamaProvider(config, bifrost.logger)
12451256
case schemas.Groq:
@@ -1251,7 +1262,7 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
12511262
case schemas.Cerebras:
12521263
return providers.NewCerebrasProvider(config, bifrost.logger)
12531264
case schemas.Gemini:
1254-
return providers.NewGeminiProvider(config, bifrost.logger), nil
1265+
return gemini.NewGeminiProvider(config, bifrost.logger), nil
12551266
case schemas.OpenRouter:
12561267
return providers.NewOpenRouterProvider(config, bifrost.logger), nil
12571268
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)