Files
m 8173b8f9d6
CI / test (push) Successful in 1m32s
CI / test (pull_request) Successful in 1m31s
Define replaceable image and video capabilities
2026-08-25 16:01:22 +03:00

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
}