Skip to content

Commit ea23f31

Browse files
separate schema package wip
1 parent 725f355 commit ea23f31

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

+867
-830
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)
@@ -1253,19 +1264,19 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
12531264

12541265
switch targetProviderKey {
12551266
case schemas.OpenAI:
1256-
return providers.NewOpenAIProvider(config, bifrost.logger), nil
1267+
return openai.NewOpenAIProvider(config, bifrost.logger), nil
12571268
case schemas.Anthropic:
1258-
return providers.NewAnthropicProvider(config, bifrost.logger), nil
1269+
return anthropic.NewAnthropicProvider(config, bifrost.logger), nil
12591270
case schemas.Bedrock:
1260-
return providers.NewBedrockProvider(config, bifrost.logger)
1271+
return bedrock.NewBedrockProvider(config, bifrost.logger)
12611272
case schemas.Cohere:
1262-
return providers.NewCohereProvider(config, bifrost.logger), nil
1273+
return cohere.NewCohereProvider(config, bifrost.logger)
12631274
case schemas.Azure:
1264-
return providers.NewAzureProvider(config, bifrost.logger)
1275+
return azure.NewAzureProvider(config, bifrost.logger)
12651276
case schemas.Vertex:
1266-
return providers.NewVertexProvider(config, bifrost.logger)
1277+
return vertex.NewVertexProvider(config, bifrost.logger)
12671278
case schemas.Mistral:
1268-
return providers.NewMistralProvider(config, bifrost.logger), nil
1279+
return mistral.NewMistralProvider(config, bifrost.logger), nil
12691280
case schemas.Ollama:
12701281
return providers.NewOllamaProvider(config, bifrost.logger)
12711282
case schemas.Groq:
@@ -1277,7 +1288,7 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
12771288
case schemas.Cerebras:
12781289
return providers.NewCerebrasProvider(config, bifrost.logger)
12791290
case schemas.Gemini:
1280-
return providers.NewGeminiProvider(config, bifrost.logger), nil
1291+
return gemini.NewGeminiProvider(config, bifrost.logger), nil
12811292
case schemas.OpenRouter:
12821293
return providers.NewOpenRouterProvider(config, bifrost.logger), nil
12831294
default:

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

Lines changed: 93 additions & 94 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)