package capability import ( "git.cin.su/m/Assistant/contracts/identity" "git.cin.su/m/Assistant/platform/ids" ) type CapabilityID ids.ID type CapabilityBindingID ids.ID type BindingState string type BindingProtocol string const ( BindingActive BindingState = "ACTIVE" BindingRetired BindingState = "RETIRED" ProtocolIdempotentReceiptV1 BindingProtocol = "IDEMPOTENT_RECEIPT_V1" ) // Binding is Capability-owned correctness state. SecretRef is an opaque // lookup name; it must never contain credential bytes. type Binding struct { ID CapabilityBindingID CapabilityID CapabilityID OwnerPrincipalID identity.PrincipalID Revision int64 State BindingState HTTPSOrigin string DeliveryPath string ReceiptPath string Protocol BindingProtocol SecretRef string VerifiedAtUnixMillis int64 Health HealthState } type HealthState string const ( HealthAvailable HealthState = "AVAILABLE" HealthDegraded HealthState = "DEGRADED" HealthUnavailable HealthState = "UNAVAILABLE" ) type HealthReason string const ( ReasonCognitiveProvidersUnavailable HealthReason = "COGNITIVE_PROVIDERS_UNAVAILABLE" ReasonNone HealthReason = "NONE" ) type HealthSemanticVersion int const ( HealthV1 HealthSemanticVersion = 1 HealthV2 HealthSemanticVersion = 2 ) // Health is the Capability owner's current, explicit statement about whether // a capability can be used. It is not an authority grant. type Health struct { CapabilityID CapabilityID State HealthState Reason HealthReason Revision int64 SemanticVersion HealthSemanticVersion ObservedAtUnixMillis *int64 }