Skip to content

Commit 6d7517f

Browse files
separate schema package wip
1 parent 6b44ffb commit 6d7517f

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

+873
-1190
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

@@ -83,13 +92,20 @@ func Init(ctx context.Context, config schemas.BifrostConfig) (*Bifrost, error) {
8392
return nil, fmt.Errorf("account is required to initialize Bifrost")
8493
}
8594

95+
if config.Logger == nil {
96+
config.Logger = NewDefaultLogger(schemas.LogLevelInfo)
97+
}
98+
99+
providerUtils.SetLogger(config.Logger)
100+
86101
bifrost := &Bifrost{
87102
ctx: ctx,
88103
account: config.Account,
89104
plugins: atomic.Pointer[[]schemas.Plugin]{},
90105
requestQueues: sync.Map{},
91106
waitGroups: sync.Map{},
92107
keySelector: config.KeySelector,
108+
logger: config.Logger,
93109
}
94110
bifrost.plugins.Store(&config.Plugins)
95111

@@ -155,11 +171,6 @@ func Init(ctx context.Context, config schemas.BifrostConfig) (*Bifrost, error) {
155171
return nil, err
156172
}
157173

158-
if config.Logger == nil {
159-
config.Logger = NewDefaultLogger(schemas.LogLevelInfo)
160-
}
161-
bifrost.logger = config.Logger
162-
163174
// Initialize MCP manager if configured
164175
if config.MCPConfig != nil {
165176
mcpManager, err := newMCPManager(ctx, *config.MCPConfig, bifrost.logger)
@@ -1156,19 +1167,19 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
11561167

11571168
switch targetProviderKey {
11581169
case schemas.OpenAI:
1159-
return providers.NewOpenAIProvider(config, bifrost.logger), nil
1170+
return openai.NewOpenAIProvider(config, bifrost.logger), nil
11601171
case schemas.Anthropic:
1161-
return providers.NewAnthropicProvider(config, bifrost.logger), nil
1172+
return anthropic.NewAnthropicProvider(config, bifrost.logger), nil
11621173
case schemas.Bedrock:
1163-
return providers.NewBedrockProvider(config, bifrost.logger)
1174+
return bedrock.NewBedrockProvider(config, bifrost.logger)
11641175
case schemas.Cohere:
1165-
return providers.NewCohereProvider(config, bifrost.logger), nil
1176+
return cohere.NewCohereProvider(config, bifrost.logger)
11661177
case schemas.Azure:
1167-
return providers.NewAzureProvider(config, bifrost.logger)
1178+
return azure.NewAzureProvider(config, bifrost.logger)
11681179
case schemas.Vertex:
1169-
return providers.NewVertexProvider(config, bifrost.logger)
1180+
return vertex.NewVertexProvider(config, bifrost.logger)
11701181
case schemas.Mistral:
1171-
return providers.NewMistralProvider(config, bifrost.logger), nil
1182+
return mistral.NewMistralProvider(config, bifrost.logger), nil
11721183
case schemas.Ollama:
11731184
return providers.NewOllamaProvider(config, bifrost.logger)
11741185
case schemas.Groq:
@@ -1180,7 +1191,7 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
11801191
case schemas.Cerebras:
11811192
return providers.NewCerebrasProvider(config, bifrost.logger)
11821193
case schemas.Gemini:
1183-
return providers.NewGeminiProvider(config, bifrost.logger), nil
1194+
return gemini.NewGeminiProvider(config, bifrost.logger), nil
11841195
case schemas.OpenRouter:
11851196
return providers.NewOpenRouterProvider(config, bifrost.logger), nil
11861197
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)