MCPcopy Create free account
hub / github.com/chainreactors/EvilProxy / applyOAuthModelAliasEntries

Function applyOAuthModelAliasEntries

sdk/cliproxy/service.go:2636–2726  ·  view source on GitHub ↗
(aliases []config.OAuthModelAlias, models []*ModelInfo)

Source from the content-addressed store, hash-verified

2634}
2635
2636func applyOAuthModelAliasEntries(aliases []config.OAuthModelAlias, models []*ModelInfo) []*ModelInfo {
2637 type aliasEntry struct {
2638 alias string
2639 fork bool
2640 }
2641
2642 forward := make(map[string][]aliasEntry, len(aliases))
2643 for i := range aliases {
2644 name := strings.TrimSpace(aliases[i].Name)
2645 alias := strings.TrimSpace(aliases[i].Alias)
2646 if name == "" || alias == "" {
2647 continue
2648 }
2649 if strings.EqualFold(name, alias) {
2650 continue
2651 }
2652 key := strings.ToLower(name)
2653 forward[key] = append(forward[key], aliasEntry{alias: alias, fork: aliases[i].Fork})
2654 }
2655 if len(forward) == 0 {
2656 return models
2657 }
2658
2659 out := make([]*ModelInfo, 0, len(models))
2660 seen := make(map[string]struct{}, len(models))
2661 for _, model := range models {
2662 if model == nil {
2663 continue
2664 }
2665 id := strings.TrimSpace(model.ID)
2666 if id == "" {
2667 continue
2668 }
2669 key := strings.ToLower(id)
2670 entries := forward[key]
2671 if len(entries) == 0 {
2672 if _, exists := seen[key]; exists {
2673 continue
2674 }
2675 seen[key] = struct{}{}
2676 out = append(out, model)
2677 continue
2678 }
2679
2680 keepOriginal := false
2681 for _, entry := range entries {
2682 if entry.fork {
2683 keepOriginal = true
2684 break
2685 }
2686 }
2687 if keepOriginal {
2688 if _, exists := seen[key]; !exists {
2689 seen[key] = struct{}{}
2690 out = append(out, model)
2691 }
2692 }
2693

Callers 1

Calls 1

rewriteModelInfoNameFunction · 0.85

Tested by

no test coverage detected