package models import ( "context" "git.cin.su/m/Assistant/contracts/capability" "git.cin.su/m/Assistant/contracts/cognitive" ) type ProviderProbe struct { Health capability.HealthState Version string Failure cognitive.FinishReason } type DiscoveredModel struct { ProviderModelID capability.ProviderModelID Fingerprint capability.ModelFingerprint MaxContextBytes int64 Modalities []capability.ModelModality Capabilities []capability.ModelCapability SizeBytes int64 Runtime string Quantization string } type LocalProvider interface { Probe(context.Context) ProviderProbe Discover(context.Context) ([]DiscoveredModel, ProviderProbe) Advise(context.Context, cognitive.AdvisoryRequest) (cognitive.AdvisoryResponse, error) }