Versions in this module Expand all Collapse all v1 v1.0.0 Sep 28, 2026 Changes in this version + const APIKeyAuthMethod + const APIKeyProviderAnthropic + const APIKeyProviderOpenAI + var ErrNoAudioInput = errors.New("does not accept audio input") + var ErrNoVoiceTarget = errors.New("voice target is not configured") + func APIKeyProviderInstance(provider string) (*config.ProviderInstanceConfig, error) + func AdoptDefaultModel(cfg *config.Config, target string) bool + func CatalogFilePath() string + func CatalogSyncSupported(instance *config.ProviderInstanceConfig) bool + func CheckChatTranscriptionTarget(cfg *config.Config, store *CatalogStore, target string) error + func ConnectAPIKeyProvider(ctx context.Context, cfgPath, provider, key string, deps ConnectDeps) error + func DeleteProviderInstanceCatalog(instanceID string) error + func DisconnectAPIKeyProvider(cfgPath, provider string, deps ConnectDeps) error + func DiscoverExtension(ctx context.Context, endpoint, secret string) (extension.InfoResponse, error) + func DropTargets(cfg *config.Config, keep func(target config.ExactModelTarget) bool) + func ExtensionSurface(info extension.ProviderInfo) string + func ExtensionSurfaces(info extension.ProviderInfo) []string + func InstanceCatalogs(cfg *config.Config, store *CatalogStore) map[string]providers.InstanceCatalog + func LoadInstanceCatalogs(cfg *config.Config) (map[string]providers.InstanceCatalog, error) + func ModelInputModalities(model core.ModelInfo) []string + func ModelSurfaces(model core.ModelInfo) []string + func NewExtensionClient(endpoint, secret string) (*extension.Client, error) + func ResolveCredentialReference(ref string) (string, error) + func SaveCatalogs(store *CatalogStore) error + func SaveProviderInstanceCatalog(instance *config.ProviderInstanceConfig, models []CatalogModel) error + func ServesChat(surfaces []string) bool + func ValidInstanceCatalog(key string, entry *CatalogEntry, instance *config.ProviderInstanceConfig) bool + type AnonymousProviderOutcome struct + Error string + ErrorClass string + LatencyMS int64 + Models []string + ProbeModel string + ProviderID string + RegistryID string + Status string + type AnonymousVerifyFunc func(ctx context.Context, cfg *config.Config) []AnonymousProviderOutcome + type AutoConnectResult struct + CatalogDiscovered int + DefaultModel string + Instances []string + OK bool + Outcomes []AnonymousProviderOutcome + Total int + Verified int + func AutoConnectFree(ctx context.Context, cfg *config.Config, verify AnonymousVerifyFunc) (*AutoConnectResult, error) + func AutoConnectFreeAndSave(ctx context.Context, configPath string, verify AnonymousVerifyFunc) (*AutoConnectResult, error) + type CatalogEntry struct + APIBase string + FetchedAt string + ID string + InstanceID string + Models []CatalogModel + Provider string + type CatalogLoader func(cfg *config.Config) (map[string]providers.InstanceCatalog, error) + type CatalogModel struct + AudioInput bool + DisplayName string + ID string + InputModalities []string + OwnedBy string + Surfaces []string + func CatalogModelsFromCore(models []core.ModelInfo) []CatalogModel + func SyncCatalog(ctx context.Context, input ProviderCatalogSyncInput) ([]CatalogModel, error) + type CatalogStore struct + Entries map[string]*CatalogEntry + func LoadCatalogs() (*CatalogStore, error) + type CatalogSyncFunc func(ctx context.Context, input ProviderCatalogSyncInput) ([]CatalogModel, error) + type ConnectDeps struct + DeleteCredential func(key string) error + GetCredential func(key string) (*auth.AuthCredential, error) + LoadConfig func(path string) (*config.Config, error) + SaveConfig func(path string, cfg *config.Config) error + SetCredential func(key string, cred *auth.AuthCredential) error + SyncCatalog CatalogSyncFunc + type PingResult struct + Error string + InstanceID string + LatencyMS int64 + ModelCount int + OK bool + Status string + func Ping(ctx context.Context, instance *config.ProviderInstanceConfig, secret string, ...) PingResult + func PingWithSync(ctx context.Context, instance *config.ProviderInstanceConfig, secret string, ...) PingResult + type ProviderCatalogSyncInput struct + Adapter string + AuthConnectionRef string + Endpoint string + Headers map[string]string + InstanceID string + Protocol string + ProviderKind string + Runtime *config.ProviderInstanceRuntime + Secret string + Settings map[string]any + func CatalogSyncInputFromInstance(instance *config.ProviderInstanceConfig) ProviderCatalogSyncInput + func (in ProviderCatalogSyncInput) Instance() *config.ProviderInstanceConfig + type ProviderRosterItem struct + Adapter string + AnonymousAutomation bool + AuthMethods []string + Categories []string + Compatibility string + Configured bool + ConfiguredInstances []string + DefaultEndpoint string + Description string + DisplayName string + ID string + InstanceCount int + Label string + OnboardingFields []string + Protocol string + RequiresAPIKey bool + RequiresBaseURL bool + func ListRoster(cfg *config.Config) []ProviderRosterItem + type Resolver struct + func NewResolver(opts ...ResolverOption) *Resolver + func (r *Resolver) Check(cfg *config.Config, selection string) error + func (r *Resolver) Resolve(cfg *config.Config, selection string) (*providers.InstanceResolution, error) + func (r *Resolver) ResolveVoiceTarget(cfg *config.Config, target string) (VoiceTarget, error) + type ResolverOption func(*Resolver) + func WithCatalogLoader(load CatalogLoader) ResolverOption + func WithCredentialResolver(resolve providers.InstanceCredentialResolver) ResolverOption + func WithProviderFactory(create providers.InstanceProviderFactory) ResolverOption + type VoiceTarget struct + Instance *config.ProviderInstanceConfig + Model string + Secret string + func ResolveVoiceTarget(cfg *config.Config, target string) (VoiceTarget, error) Other modules containing this package github.com/xibodev/compa/v2