224 lines
8.1 KiB
Go
224 lines
8.1 KiB
Go
package capability
|
|
|
|
import (
|
|
"git.cin.su/m/Assistant/contracts/identity"
|
|
"git.cin.su/m/Assistant/platform/ids"
|
|
)
|
|
|
|
type CapabilityImplementationID ids.ID
|
|
type CapabilityResolutionID ids.ID
|
|
type CapabilityGapID ids.ID
|
|
type CapabilityUsageObservationID ids.ID
|
|
type SkillProfileID ids.ID
|
|
type SkillEvidenceRef string
|
|
type RequirementRef string
|
|
type OriginalIntentRef string
|
|
type SourceUtteranceRef string
|
|
|
|
type ImplementationKind string
|
|
type ImplementationTargetRef string
|
|
type AuthorityPolicyRef string
|
|
type DataConstraint string
|
|
type CapabilityResolutionStatus string
|
|
type GapReason string
|
|
type AcquisitionStrategyKind string
|
|
type UsageOutcomeClass string
|
|
type SkillLifecycleStatus string
|
|
type FastPathDecisionState string
|
|
type FastPathDeclineReason string
|
|
|
|
const (
|
|
ImplementationInternalFunction ImplementationKind = "INTERNAL_FUNCTION"
|
|
ImplementationCognitiveBinding ImplementationKind = "COGNITIVE_BINDING"
|
|
ImplementationExternalAdapter ImplementationKind = "EXTERNAL_ADAPTER"
|
|
ImplementationAgent ImplementationKind = "AGENT"
|
|
|
|
AuthorityPolicyCreatorDirectiveV1 AuthorityPolicyRef = "creator-directive-v1"
|
|
AuthorityPolicyCognitiveGatewayV1 AuthorityPolicyRef = "cognitive-gateway-v1"
|
|
|
|
DataConstraintLocalOnly DataConstraint = "LOCAL_ONLY"
|
|
DataConstraintExternalAllowed DataConstraint = "EXTERNAL_ALLOWED"
|
|
DataConstraintNoCredentialForward DataConstraint = "NO_CREDENTIAL_FORWARD"
|
|
|
|
ResolutionAvailable CapabilityResolutionStatus = "AVAILABLE"
|
|
ResolutionPartiallyAvailable CapabilityResolutionStatus = "PARTIALLY_AVAILABLE"
|
|
ResolutionUnavailable CapabilityResolutionStatus = "UNAVAILABLE"
|
|
ResolutionUnknown CapabilityResolutionStatus = "UNKNOWN"
|
|
|
|
GapNoImplementation GapReason = "NO_IMPLEMENTATION"
|
|
GapUnhealthy GapReason = "UNHEALTHY"
|
|
GapInactive GapReason = "INACTIVE"
|
|
GapUnqualified GapReason = "UNQUALIFIED"
|
|
GapUnauthorized GapReason = "UNAUTHORIZED"
|
|
GapIncompatible GapReason = "INCOMPATIBLE"
|
|
GapUnknown GapReason = "UNKNOWN"
|
|
|
|
AcquireUseAlternative AcquisitionStrategyKind = "USE_ALTERNATIVE"
|
|
AcquireDiscoverExisting AcquisitionStrategyKind = "DISCOVER_EXISTING"
|
|
AcquireConnectExisting AcquisitionStrategyKind = "CONNECT_EXISTING"
|
|
AcquireConfigureExisting AcquisitionStrategyKind = "CONFIGURE_EXISTING"
|
|
AcquireExternal AcquisitionStrategyKind = "ACQUIRE_EXTERNAL"
|
|
AcquireBuildNew AcquisitionStrategyKind = "BUILD_NEW"
|
|
AcquireRequestUserInput AcquisitionStrategyKind = "REQUEST_USER_INPUT"
|
|
AcquireUnresolvableCurrently AcquisitionStrategyKind = "UNRESOLVABLE_CURRENTLY"
|
|
|
|
UsageSucceeded UsageOutcomeClass = "SUCCEEDED"
|
|
UsageFailed UsageOutcomeClass = "FAILED"
|
|
UsageSkipped UsageOutcomeClass = "SKIPPED"
|
|
UsageUnknown UsageOutcomeClass = "UNKNOWN"
|
|
|
|
SkillCandidate SkillLifecycleStatus = "CANDIDATE"
|
|
SkillEvaluating SkillLifecycleStatus = "EVALUATING"
|
|
SkillValidated SkillLifecycleStatus = "VALIDATED"
|
|
SkillDegraded SkillLifecycleStatus = "DEGRADED"
|
|
SkillSuspended SkillLifecycleStatus = "SUSPENDED"
|
|
SkillRetired SkillLifecycleStatus = "RETIRED"
|
|
|
|
FastPathApplied FastPathDecisionState = "APPLIED"
|
|
FastPathDeclined FastPathDecisionState = "DECLINED"
|
|
FastPathEscalate FastPathDecisionState = "ESCALATE_TO_THINK"
|
|
|
|
FastPathNotApplicable FastPathDeclineReason = "NOT_APPLICABLE"
|
|
FastPathLowConfidence FastPathDeclineReason = "LOW_CONFIDENCE"
|
|
FastPathOutOfDistribution FastPathDeclineReason = "OUT_OF_DISTRIBUTION"
|
|
FastPathConflict FastPathDeclineReason = "CONFLICT"
|
|
FastPathStale FastPathDeclineReason = "STALE"
|
|
FastPathImplementationDown FastPathDeclineReason = "IMPLEMENTATION_UNAVAILABLE"
|
|
)
|
|
|
|
// CapabilityDescriptor names what Domovoy can obtain or do. CapabilityKind is
|
|
// intentionally extensible string semantics, not a closed-world enum.
|
|
type CapabilityDescriptor struct {
|
|
ID CapabilityID
|
|
Kind CapabilityKind
|
|
DisplayName string
|
|
Description string
|
|
Revision int64
|
|
RecordedAtUnixMillis int64
|
|
}
|
|
|
|
// CapabilityImplementation is the generic implementation/binding layer. It
|
|
// may point at a cognitive binding, internal function, agent, adapter or later
|
|
// provider type. CredentialRef is metadata only and never grants authority.
|
|
type CapabilityImplementation struct {
|
|
ID CapabilityImplementationID
|
|
CapabilityID CapabilityID
|
|
CapabilityKind CapabilityKind
|
|
OwnerPrincipalID identity.PrincipalID
|
|
Revision int64
|
|
Kind ImplementationKind
|
|
TargetRef ImplementationTargetRef
|
|
CredentialRef CredentialRef
|
|
Qualification QualificationState
|
|
Activation ActivationState
|
|
Health HealthState
|
|
AuthorityPolicyRef AuthorityPolicyRef
|
|
DataConstraints []DataConstraint
|
|
CostScoreMillis *int64
|
|
LatencyScoreMillis *int64
|
|
ReliabilityMillis *int64
|
|
ObservedAtUnixMillis int64
|
|
}
|
|
|
|
type CapabilityResolutionRequirement struct {
|
|
RequirementID RequirementRef
|
|
CapabilityKind CapabilityKind
|
|
CapabilityID CapabilityID
|
|
OwnerPrincipalID identity.PrincipalID
|
|
ActorID identity.ActorID
|
|
OriginalIntentID OriginalIntentRef
|
|
SourceUtteranceID SourceUtteranceRef
|
|
RequiredConstraints []DataConstraint
|
|
AllowCanary bool
|
|
AuthorityContextRef AuthorityPolicyRef
|
|
ObservedAtUnixMillis int64
|
|
}
|
|
|
|
type ResolvedCapabilityImplementation struct {
|
|
Implementation CapabilityImplementation
|
|
Selected bool
|
|
Rank int
|
|
}
|
|
|
|
type CapabilityResolution struct {
|
|
ID CapabilityResolutionID
|
|
Requirement CapabilityResolutionRequirement
|
|
Status CapabilityResolutionStatus
|
|
Eligible []ResolvedCapabilityImplementation
|
|
ExcludedReasons map[CapabilityImplementationID]GapReason
|
|
Gap *CapabilityGap
|
|
ObservedAtUnixMillis int64
|
|
}
|
|
|
|
type CapabilityGap struct {
|
|
ID CapabilityGapID
|
|
RequirementID RequirementRef
|
|
CapabilityKind CapabilityKind
|
|
CapabilityID CapabilityID
|
|
OwnerPrincipalID identity.PrincipalID
|
|
OriginalIntentID OriginalIntentRef
|
|
SourceUtteranceID SourceUtteranceRef
|
|
Reason GapReason
|
|
Detail string
|
|
Strategies []AcquisitionStrategyCandidate
|
|
RecordedAtUnixMillis int64
|
|
}
|
|
|
|
type AcquisitionStrategyCandidate struct {
|
|
Kind AcquisitionStrategyKind
|
|
Reason string
|
|
}
|
|
|
|
type CapabilityUsageObservation struct {
|
|
ID CapabilityUsageObservationID
|
|
ImplementationID CapabilityImplementationID
|
|
ImplementationRevision int64
|
|
CapabilityID CapabilityID
|
|
CapabilityKind CapabilityKind
|
|
OwnerPrincipalID identity.PrincipalID
|
|
OriginalIntentID OriginalIntentRef
|
|
SourceUtteranceID SourceUtteranceRef
|
|
Outcome UsageOutcomeClass
|
|
OutcomeRef string
|
|
LatencyMillis *int64
|
|
ObservedAtUnixMillis int64
|
|
}
|
|
|
|
// SkillProfile describes a reusable approach/pattern/capability composition.
|
|
// It is derived from evidence and is never authority by itself.
|
|
type SkillProfile struct {
|
|
ID SkillProfileID
|
|
Revision int64
|
|
Name string
|
|
Description string
|
|
ApplicableContext []string
|
|
ImplementationRef string
|
|
ImplementationVersion string
|
|
Status SkillLifecycleStatus
|
|
SupportingExperienceRefs []SkillEvidenceRef
|
|
KnownFailureExperienceRefs []SkillEvidenceRef
|
|
ConfidenceMillis int64
|
|
LastValidatedUnixMillis int64
|
|
ObservedFailureCount int64
|
|
ObservedCorrectionCount int64
|
|
RecordedAtUnixMillis int64
|
|
}
|
|
|
|
type SkillOutcomeObservation struct {
|
|
ExperienceRef SkillEvidenceRef
|
|
Outcome UsageOutcomeClass
|
|
UserCorrected bool
|
|
ObservedAtUnixMillis int64
|
|
}
|
|
|
|
// FastPathDecision is an explicit optimization decision. Decline/escalation is
|
|
// successful safety behavior, not a failure to answer.
|
|
type FastPathDecision struct {
|
|
SkillProfileID SkillProfileID
|
|
Decision FastPathDecisionState
|
|
DeclineReason FastPathDeclineReason
|
|
RequiresCognition bool
|
|
Explanation string
|
|
ObservedAtUnixMillis int64
|
|
}
|