Files
Assistant/modules/capability/ports/repository.go
2026-08-21 15:49:57 +03:00

29 lines
1.6 KiB
Go

package ports
import (
"context"
"git.cin.su/m/Assistant/contracts/capability"
"git.cin.su/m/Assistant/contracts/identity"
)
type Repository interface {
SaveHealth(context.Context, capability.Health) error
LoadHealth(context.Context, capability.CapabilityID) (capability.Health, error)
RebuildHealthProjection(context.Context) (int64, error)
SaveBinding(context.Context, capability.Binding) error
LoadBinding(context.Context, capability.CapabilityBindingID, int64) (capability.Binding, error)
LoadActiveBinding(context.Context, capability.CapabilityID, identity.PrincipalID) (capability.Binding, error)
SaveProviderInstance(context.Context, capability.ProviderInstance) error
SaveModelDescriptor(context.Context, capability.ModelDescriptor) error
SaveCognitiveBinding(context.Context, capability.CognitiveBinding) error
LoadCognitiveCandidates(context.Context, capability.CapabilityID, identity.PrincipalID) ([]capability.ResolvedCognitiveBinding, error)
LoadCognitiveCandidate(context.Context, capability.CapabilityBindingID, int64) (capability.ResolvedCognitiveBinding, error)
SaveCognitiveCanaryPromotion(context.Context, capability.CognitiveCanaryPromotion) error
SaveCognitiveActivationPromotion(context.Context, capability.CognitiveActivationPromotion) error
SaveCognitiveUsageObservation(context.Context, capability.CognitiveUsageObservation) error
SaveCognitiveDiscovery(context.Context, capability.CognitiveDiscoveryRegistration) error
SaveEvaluatedCapability(context.Context, capability.EvaluatedCapability) error
SavePerformanceEvidence(context.Context, capability.PerformanceEvidence) error
}