Files
Assistant/contracts/interaction/types.go
T
m 9a84ac942c
CI / test (push) Successful in 15s
CI / test (pull_request) Successful in 14s
DEV-000064 capability resolution foundation
2026-08-17 15:51:25 +03:00

141 lines
5.2 KiB
Go

package interaction
import (
"git.cin.su/m/Assistant/contracts/capability"
"git.cin.su/m/Assistant/contracts/continuity"
"git.cin.su/m/Assistant/contracts/identity"
"git.cin.su/m/Assistant/contracts/situation"
)
type ConversationID string
type HumanUtteranceID string
type OriginalHumanIntentID string
type InteractionRelationID string
type SpeechAct string
type Channel string
type ConversationState string
type InterpretationState string
type InteractionRelationKind string
type InterpretationID string
type ProjectReferenceID string
type ProjectReferenceRole string
type ClarificationState string
const (
ChannelWebChat Channel = "WEB_CHAT"
ConversationOpen ConversationState = "OPEN"
ConversationArchived ConversationState = "ARCHIVED"
SpeechActDirective SpeechAct = "DIRECTIVE"
SpeechActAssertion SpeechAct = "ASSERTION"
SpeechActDecision SpeechAct = "DECISION"
SpeechActPreference SpeechAct = "PREFERENCE"
SpeechActQuestion SpeechAct = "QUESTION"
SpeechActHypothesis SpeechAct = "HYPOTHESIS"
SpeechActCorrection SpeechAct = "CORRECTION"
SpeechActRequestToInvestigate SpeechAct = "REQUEST_TO_INVESTIGATE"
SpeechActConfirmation SpeechAct = "CONFIRMATION"
SpeechActRejection SpeechAct = "REJECTION"
SpeechActCancellation SpeechAct = "CANCELLATION"
SpeechActConversational SpeechAct = "CONVERSATIONAL"
SpeechActUnknown SpeechAct = "UNKNOWN"
InterpretationRecorded InterpretationState = "RECORDED"
InterpretationInterpreted InterpretationState = "INTERPRETED"
RelationCorrects InteractionRelationKind = "CORRECTS"
RelationRespondsTo InteractionRelationKind = "RESPONDS_TO"
RelationRequestsCognition InteractionRelationKind = "REQUESTS_COGNITION"
RelationCognitionFallback InteractionRelationKind = "COGNITION_FALLBACK"
RelationSupersedes InteractionRelationKind = "SUPERSEDES"
RelationClarifies InteractionRelationKind = "CLARIFIES"
ProjectRolePrimary ProjectReferenceRole = "PRIMARY"
ProjectRoleRelated ProjectReferenceRole = "RELATED"
ProjectRoleReferenceSource ProjectReferenceRole = "REFERENCE_SOURCE"
ClarificationNotRequired ClarificationState = "NOT_REQUIRED"
ClarificationRequired ClarificationState = "REQUIRED"
)
type Conversation struct {
ID ConversationID
ActorID identity.ActorID
PrincipalID identity.PrincipalID
Channel Channel
State ConversationState
CreatedAtUnixMillis int64
UpdatedAtUnixMillis int64
}
type HumanUtterance struct {
ID HumanUtteranceID
ConversationID ConversationID
ActorID identity.ActorID
PrincipalID identity.PrincipalID
Channel Channel
ReceivedAtUnixMillis int64
CorrelationID string
Content string
ContentRef string
SpeechAct SpeechAct
InterpretationState InterpretationState
CorrectsUtteranceID HumanUtteranceID
}
type OriginalHumanIntent struct {
ID OriginalHumanIntentID
UtteranceID HumanUtteranceID
RecordedAtUnixMillis int64
Text string
}
type InteractionRelation struct {
ID InteractionRelationID
FromUtteranceID HumanUtteranceID
ToUtteranceID HumanUtteranceID
Kind InteractionRelationKind
RecordedAtUnixMillis int64
}
type UtteranceInterpretation struct {
ID InterpretationID
UtteranceID HumanUtteranceID
SpeechAct SpeechAct
ConfidenceMillis int64
Source string
AssertionVerification string
RequestedOutcome string
Clarification ClarificationState
RecordedAtUnixMillis int64
}
type ProjectReference struct {
ID ProjectReferenceID
UtteranceID HumanUtteranceID
ProjectID situation.ProjectID
ProjectDisplayName string
Role ProjectReferenceRole
Provenance situation.ProjectResolutionProvenance
ConfidenceMillis int64
RecordedAtUnixMillis int64
}
type ChatMessageRequest struct {
ConversationID ConversationID
Message string
CorrelationID string
CorrectsUtteranceID HumanUtteranceID
}
type ChatMessageResponse struct {
ConversationID ConversationID
UtteranceID HumanUtteranceID
OriginalIntentID OriginalHumanIntentID
SpeechAct SpeechAct
InterpretationState InterpretationState
NeedsCognition bool
FallbackText string
ActiveProjectName string
ProjectProvenance situation.ProjectResolutionProvenance
Clarification ClarificationState
WorkPlanned bool
PlanningReply string
CapabilityStatus capability.CapabilityResolutionStatus
CapabilityKind capability.CapabilityKind
CapabilityGapID capability.CapabilityGapID
Reminder *continuity.ProspectiveItem
}