Something went wrong. Try again.
small gleam coding and persistent agent daemon with a detachable cli and a canvas ui forked from okami.mom/albedo
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556package app
import ( "cmp" "context" "slices"
"albedo/cli/internal/daemon")
type ProxyProvider struct { Name string Models []string}
type PreparedProxy struct { Connection *daemon.Connection Enabled bool Providers []ProxyProvider Unavailable []string}
// PrepareProxy reads the global extension choice and its advertised models.func (s *Service) PrepareProxy(ctx context.Context) (PreparedProxy, error) { conn, err := s.Connect(ctx) if err != nil { return PreparedProxy{}, err } settings, err := daemon.GetSettings(ctx, conn) if err != nil { return PreparedProxy{}, err } prepared := PreparedProxy{Connection: conn, Enabled: settings.Extensions["proxy"]} if !prepared.Enabled { return prepared, nil } catalog, err := daemon.ListProxyModels(ctx, conn) if err != nil { return PreparedProxy{}, err } groups := map[string][]string{} for _, model := range catalog.Data { groups[model.Provider] = append(groups[model.Provider], model.ID) } for name, models := range groups { slices.Sort(models) prepared.Providers = append(prepared.Providers, ProxyProvider{Name: name, Models: slices.Compact(models)}) } slices.SortFunc(prepared.Providers, func(a, b ProxyProvider) int { return cmp.Compare(a.Name, b.Name) }) for _, failure := range catalog.Errors { prepared.Unavailable = append(prepared.Unavailable, failure.Profile) } slices.Sort(prepared.Unavailable) return prepared, nil}