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 }