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 }