307 lines
9.7 KiB
Go
307 lines
9.7 KiB
Go
package capability
|
|
|
|
import (
|
|
"git.cin.su/m/Assistant/contracts/artifact"
|
|
"git.cin.su/m/Assistant/contracts/identity"
|
|
"git.cin.su/m/Assistant/platform/ids"
|
|
)
|
|
|
|
type ProviderInstanceID ids.ID
|
|
type ModelDescriptorID ids.ID
|
|
type CredentialRef ids.ID
|
|
type EndpointBindingRef ids.ID
|
|
type LimitPolicyRef ids.ID
|
|
type ProviderKind string
|
|
type ProviderModelID string
|
|
type ModelFingerprint string
|
|
type QualificationState string
|
|
type ActivationState string
|
|
type DataPolicy string
|
|
type ModelModality string
|
|
type ModelCapability string
|
|
type OperationalState string
|
|
type EvaluationResult string
|
|
type EvaluationID ids.ID
|
|
type PerformanceEvidenceID ids.ID
|
|
type BillingMode string
|
|
type AuthMode string
|
|
type SelectionObjective string
|
|
|
|
const (
|
|
QualificationDiscovered QualificationState = "DISCOVERED"
|
|
QualificationProbing QualificationState = "PROBING"
|
|
QualificationEvaluating QualificationState = "EVALUATING"
|
|
QualificationValidated QualificationState = "VALIDATED"
|
|
QualificationRejected QualificationState = "REJECTED"
|
|
|
|
ActivationInactive ActivationState = "INACTIVE"
|
|
ActivationCanary ActivationState = "CANARY"
|
|
ActivationActive ActivationState = "ACTIVE"
|
|
ActivationDeprecated ActivationState = "DEPRECATED"
|
|
ActivationRetired ActivationState = "RETIRED"
|
|
|
|
DataPolicyLocalOnly DataPolicy = "LOCAL_ONLY"
|
|
DataPolicyExternalMessageOnly DataPolicy = "EXTERNAL_MESSAGE_ONLY"
|
|
DataPolicyExternalMinimizedContext DataPolicy = "EXTERNAL_MINIMIZED_CONTEXT"
|
|
|
|
ModalityText ModelModality = "TEXT"
|
|
CapabilityAdvisory ModelCapability = "ADVISORY"
|
|
CapabilityUnknown ModelCapability = "UNKNOWN"
|
|
|
|
OperationalNotObserved OperationalState = "NOT_OBSERVED"
|
|
OperationalYes OperationalState = "YES"
|
|
OperationalNo OperationalState = "NO"
|
|
|
|
EvaluationUnknown EvaluationResult = "UNKNOWN"
|
|
EvaluationSupported EvaluationResult = "SUPPORTED"
|
|
EvaluationUnsupported EvaluationResult = "UNSUPPORTED"
|
|
|
|
BillingUnknown BillingMode = "UNKNOWN"
|
|
BillingFree BillingMode = "FREE"
|
|
BillingPerInput BillingMode = "PER_INPUT_UNIT"
|
|
BillingPerOutput BillingMode = "PER_OUTPUT_UNIT"
|
|
BillingPerRequest BillingMode = "PER_REQUEST"
|
|
|
|
AuthNone AuthMode = "NONE"
|
|
AuthKey AuthMode = "API" + "_KEY"
|
|
AuthBearer AuthMode = "BEARER"
|
|
AuthUsernamePassword AuthMode = "USERNAME_PASSWORD"
|
|
AuthOAuth AuthMode = "OAUTH"
|
|
AuthSecretFile AuthMode = "SECRET_FILE"
|
|
|
|
SelectionBalanced SelectionObjective = "BALANCED"
|
|
SelectionQuality SelectionObjective = "QUALITY"
|
|
SelectionSpeed SelectionObjective = "SPEED"
|
|
SelectionEconomy SelectionObjective = "ECONOMY"
|
|
)
|
|
|
|
// ProviderInstance contains only opaque references to endpoint and credentials.
|
|
// Credential material is resolved by the cognitive runtime, never by Core.
|
|
type ProviderInstance struct {
|
|
ID ProviderInstanceID
|
|
Revision int64
|
|
Kind ProviderKind
|
|
EndpointRef EndpointBindingRef
|
|
CredentialRef CredentialRef
|
|
Enabled bool
|
|
Qualification QualificationState
|
|
Health HealthState
|
|
ObservedAtUnixMillis int64
|
|
BillingMode BillingMode
|
|
AuthMode AuthMode
|
|
InputCostMicros *int64
|
|
OutputCostMicros *int64
|
|
RequestCostMicros *int64
|
|
}
|
|
|
|
type ModelDescriptor struct {
|
|
ID ModelDescriptorID
|
|
Revision int64
|
|
ProviderInstanceID ProviderInstanceID
|
|
ProviderModelID ProviderModelID
|
|
Fingerprint ModelFingerprint
|
|
MaxContextBytes int64
|
|
Modalities []ModelModality
|
|
Capabilities []ModelCapability
|
|
Qualification QualificationState
|
|
Health HealthState
|
|
ObservedAtUnixMillis int64
|
|
IntelligenceScoreMillis *int64
|
|
}
|
|
|
|
type ProviderHealthObservation struct {
|
|
ProviderInstanceID ProviderInstanceID
|
|
Health HealthState
|
|
ObservedAtUnixMillis int64
|
|
FailureClass CognitiveFailureType
|
|
}
|
|
|
|
type ModelOperationalObservation struct {
|
|
ProviderInstanceID ProviderInstanceID
|
|
ModelDescriptorID ModelDescriptorID
|
|
Installed OperationalState
|
|
Loaded OperationalState
|
|
Invokable OperationalState
|
|
Health HealthState
|
|
ObservedAtUnixMillis int64
|
|
}
|
|
|
|
type CognitiveBinding struct {
|
|
ID CapabilityBindingID
|
|
Revision int64
|
|
CapabilityID CapabilityID
|
|
OwnerPrincipalID identity.PrincipalID
|
|
ProviderInstanceID ProviderInstanceID
|
|
ProviderRevision int64
|
|
ModelDescriptorID ModelDescriptorID
|
|
ModelRevision int64
|
|
DataPolicy DataPolicy
|
|
Qualification QualificationState
|
|
Activation ActivationState
|
|
Health HealthState
|
|
LimitPolicyRef LimitPolicyRef
|
|
}
|
|
|
|
type CognitiveRequirement struct {
|
|
CapabilityID CapabilityID
|
|
OwnerPrincipalID identity.PrincipalID
|
|
DataPolicy DataPolicy
|
|
RequiredModalities []ModelModality
|
|
RequiredCapabilities []ModelCapability
|
|
AllowCanary bool
|
|
InputBytes int64
|
|
MaxOutputBytes int64
|
|
ExcludedBindingIDs []CapabilityBindingID
|
|
Objective SelectionObjective
|
|
MaxCostMicros *int64
|
|
}
|
|
|
|
// ResolvedCognitiveBinding is a provider-neutral invocation snapshot selected
|
|
// by Capability. It contains references and declared metadata, never secrets.
|
|
type ResolvedCognitiveBinding struct {
|
|
Binding CognitiveBinding
|
|
Provider ProviderInstance
|
|
Model ModelDescriptor
|
|
Evaluation *EvaluatedCapability
|
|
Performance *PerformanceEvidence
|
|
}
|
|
|
|
type CognitiveResultClass string
|
|
type CognitiveFailureType string
|
|
|
|
type EvaluatedCapability struct {
|
|
ID EvaluationID
|
|
BindingID CapabilityBindingID
|
|
BindingRevision int64
|
|
CapabilityID CapabilityID
|
|
Result EvaluationResult
|
|
QualityScoreMillis *int64
|
|
CriticalFailureMillis *int64
|
|
BenchmarkVersion string
|
|
ArtifactID artifact.ArtifactID
|
|
ObservedAtUnixMillis int64
|
|
}
|
|
|
|
type PerformanceEvidence struct {
|
|
ID PerformanceEvidenceID
|
|
BindingID CapabilityBindingID
|
|
BindingRevision int64
|
|
ModelDescriptorID ModelDescriptorID
|
|
ModelRevision int64
|
|
HardwareProfile string
|
|
Runtime string
|
|
Quantization string
|
|
ContextUnits *int64
|
|
ThinkingEnabled *bool
|
|
GenerationTPSMillis *int64
|
|
PromptTPSMillis *int64
|
|
TTFTMicros *int64
|
|
LatencyMicros *int64
|
|
MemoryBytes *int64
|
|
ReliabilityMillis *int64
|
|
BenchmarkVersion string
|
|
ArtifactID artifact.ArtifactID
|
|
ObservedAtUnixMillis int64
|
|
}
|
|
|
|
type CognitiveDiscoveryRegistration struct {
|
|
Provider ProviderInstance
|
|
Models []ModelDescriptor
|
|
Bindings []CognitiveBinding
|
|
ProviderHealth ProviderHealthObservation
|
|
ModelAvailability []ModelOperationalObservation
|
|
}
|
|
|
|
type CognitiveCanaryPromotionRequest struct {
|
|
PromotionID ids.ID
|
|
RequestedByPrincipalID identity.PrincipalID
|
|
CapabilityID CapabilityID
|
|
BindingID CapabilityBindingID
|
|
ExpectedBindingRevision int64
|
|
ProviderInstanceID ProviderInstanceID
|
|
ExpectedProviderRevision int64
|
|
ModelDescriptorID ModelDescriptorID
|
|
ExpectedModelRevision int64
|
|
EvaluationID EvaluationID
|
|
ObservedAtUnixMillis int64
|
|
}
|
|
|
|
type CognitiveCanaryPromotion struct {
|
|
PromotionID ids.ID
|
|
ExpectedBindingRevision int64
|
|
Provider ProviderInstance
|
|
Model ModelDescriptor
|
|
Binding CognitiveBinding
|
|
Evaluation EvaluatedCapability
|
|
}
|
|
|
|
type CognitiveActivationPromotionRequest struct {
|
|
PromotionID ids.ID
|
|
RequestedByPrincipalID identity.PrincipalID
|
|
CapabilityID CapabilityID
|
|
BindingID CapabilityBindingID
|
|
ExpectedBindingRevision int64
|
|
EvaluationID EvaluationID
|
|
ObservedAtUnixMillis int64
|
|
}
|
|
|
|
type CognitiveActivationPromotion struct {
|
|
PromotionID ids.ID
|
|
ExpectedBindingRevision int64
|
|
Binding CognitiveBinding
|
|
Evaluation EvaluatedCapability
|
|
}
|
|
|
|
// CognitiveDiscoverySnapshot is provider-neutral observed inventory submitted
|
|
// to the Capability owner. The owner assigns immutable revisions and always
|
|
// registers discovered bindings as DISCOVERED/INACTIVE.
|
|
type CognitiveDiscoverySnapshot struct {
|
|
ProviderInstanceID ProviderInstanceID
|
|
ProviderKind ProviderKind
|
|
EndpointRef EndpointBindingRef
|
|
CredentialRef CredentialRef
|
|
Enabled bool
|
|
OwnerPrincipalID identity.PrincipalID
|
|
CapabilityID CapabilityID
|
|
DataPolicy DataPolicy
|
|
LimitPolicyRef LimitPolicyRef
|
|
Health HealthState
|
|
FailureClass CognitiveFailureType
|
|
ObservedAtUnixMillis int64
|
|
BillingMode BillingMode
|
|
AuthMode AuthMode
|
|
InputCostMicros *int64
|
|
OutputCostMicros *int64
|
|
RequestCostMicros *int64
|
|
Models []DiscoveredModelSnapshot
|
|
}
|
|
|
|
type DiscoveredModelSnapshot struct {
|
|
ProviderModelID ProviderModelID
|
|
Fingerprint ModelFingerprint
|
|
MaxContextBytes int64
|
|
Modalities []ModelModality
|
|
Capabilities []ModelCapability
|
|
Installed OperationalState
|
|
Loaded OperationalState
|
|
Invokable OperationalState
|
|
IntelligenceScoreMillis *int64
|
|
}
|
|
|
|
type CognitiveUsageObservation struct {
|
|
ObservationID ids.ID
|
|
RequestID ids.ID
|
|
BindingID CapabilityBindingID
|
|
BindingRevision int64
|
|
ProviderInstanceID ProviderInstanceID
|
|
ModelDescriptorID ModelDescriptorID
|
|
ObservedAtUnixMillis int64
|
|
LatencyMillis int64
|
|
InputUnits int64
|
|
OutputUnits int64
|
|
EstimatedCostMicros *int64
|
|
ActualCostMicros *int64
|
|
ResultClass CognitiveResultClass
|
|
FailureType CognitiveFailureType
|
|
}
|