Files
kandev/apps/backend/internal/orchestrator/model_info.go
T
2026-06-12 08:56:14 +01:00

28 lines
736 B
Go

package orchestrator
import (
"context"
"github.com/kandev/kandev/internal/office/costs/modelsdev"
)
// ModelInfoLookup resolves optional model metadata from the existing
// models.dev cache client.
type ModelInfoLookup interface {
LookupModelInfo(ctx context.Context, modelID string) (modelsdev.ModelInfo, bool)
}
// SetModelInfoLookup wires optional models.dev metadata lookup for
// context-window fallback. Nil means ACP-only behavior.
func (s *Service) SetModelInfoLookup(lookup ModelInfoLookup) {
s.modelInfoMu.Lock()
defer s.modelInfoMu.Unlock()
s.modelInfoLookup = lookup
}
func (s *Service) currentModelInfoLookup() ModelInfoLookup {
s.modelInfoMu.RLock()
defer s.modelInfoMu.RUnlock()
return s.modelInfoLookup
}