28 lines
736 B
Go
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
|
|
}
|