90 lines
2.9 KiB
Go
90 lines
2.9 KiB
Go
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 CapabilityKind string
|
|
|
|
type BindingState string
|
|
type BindingProtocol string
|
|
|
|
const (
|
|
BindingActive BindingState = "ACTIVE"
|
|
BindingRetired BindingState = "RETIRED"
|
|
|
|
ProtocolIdempotentReceiptV1 BindingProtocol = "IDEMPOTENT_RECEIPT_V1"
|
|
|
|
CapabilityKindReadEmail CapabilityKind = "READ_EMAIL"
|
|
CapabilityKindSendEmail CapabilityKind = "SEND_EMAIL"
|
|
CapabilityKindReadDatabase CapabilityKind = "READ_DATABASE"
|
|
CapabilityKindQueryLogs CapabilityKind = "QUERY_LOGS"
|
|
CapabilityKindInspectProject CapabilityKind = "INSPECT_PROJECT"
|
|
CapabilityKindModifyCode CapabilityKind = "MODIFY_CODE"
|
|
CapabilityKindRunTests CapabilityKind = "RUN_TESTS"
|
|
CapabilityKindWebResearch CapabilityKind = "WEB_RESEARCH"
|
|
CapabilityKindCognitiveReasoning CapabilityKind = "COGNITIVE_REASONING"
|
|
CapabilityKindScheduleReminder CapabilityKind = "SCHEDULE_REMINDER"
|
|
CapabilityKindVerifyFact CapabilityKind = "VERIFY_FACT"
|
|
CapabilityKindSpeechToText CapabilityKind = "SPEECH_TO_TEXT"
|
|
CapabilityKindImageUnderstanding CapabilityKind = "IMAGE_UNDERSTANDING"
|
|
CapabilityKindOCR CapabilityKind = "OCR"
|
|
CapabilityKindVideoUnderstanding CapabilityKind = "VIDEO_UNDERSTANDING"
|
|
CapabilityKindImageGeneration CapabilityKind = "IMAGE_GENERATION"
|
|
CapabilityKindVideoGeneration CapabilityKind = "VIDEO_GENERATION"
|
|
)
|
|
|
|
// 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 (
|
|
HealthUnknown HealthState = "UNKNOWN"
|
|
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
|
|
}
|