blob: 8031e6274183b3f8684be4e019abfb071e264673 [file] [log] [blame]
package fake
import (
"github.com/iomodo/staff/llm"
)
// FakeFactory creates fake LLM providers for testing
type FakeFactory struct{}
// NewFakeFactory creates a new fake factory
func NewFakeFactory() *FakeFactory {
return &FakeFactory{}
}
// CreateProvider creates a new fake provider
func (f *FakeFactory) CreateProvider(config llm.Config) (llm.LLMProvider, error) {
return NewFakeProvider(), nil
}
// SupportsProvider returns true if this factory supports the given provider type
func (f *FakeFactory) SupportsProvider(provider llm.Provider) bool {
return provider == llm.ProviderFake
}
// init registers the fake factory when the package is imported
func init() {
llm.RegisterProvider(llm.ProviderFake, NewFakeFactory())
}