64 lines
1.9 KiB
Go
64 lines
1.9 KiB
Go
package situation
|
|
|
|
import (
|
|
"git.cin.su/m/Assistant/contracts/authority"
|
|
"git.cin.su/m/Assistant/contracts/identity"
|
|
"git.cin.su/m/Assistant/contracts/work"
|
|
"git.cin.su/m/Assistant/platform/ids"
|
|
)
|
|
|
|
type SituationID ids.ID
|
|
type FocusBindingID ids.ID
|
|
type SessionID ids.ID
|
|
type WorkspaceID ids.ID
|
|
type ProjectID ids.ID
|
|
type ProjectAlias string
|
|
type ProjectResolutionProvenance string
|
|
|
|
const (
|
|
ProjectResolutionExplicit ProjectResolutionProvenance = "EXPLICIT"
|
|
ProjectResolutionInheritedFocus ProjectResolutionProvenance = "INHERITED_FOCUS"
|
|
ProjectResolutionEntityReference ProjectResolutionProvenance = "ENTITY_REFERENCE"
|
|
ProjectResolutionTaskReference ProjectResolutionProvenance = "TASK_REFERENCE"
|
|
ProjectResolutionRepositoryReference ProjectResolutionProvenance = "REPOSITORY_REFERENCE"
|
|
ProjectResolutionInferred ProjectResolutionProvenance = "INFERRED"
|
|
ProjectResolutionUserConfirmed ProjectResolutionProvenance = "USER_CONFIRMED"
|
|
ProjectResolutionAmbiguous ProjectResolutionProvenance = "AMBIGUOUS"
|
|
)
|
|
|
|
// FocusBinding is the situation-owned runtime context used to resolve a request.
|
|
// User text is deliberately absent: textual similarity is not a routing signal.
|
|
type FocusBinding struct {
|
|
ID FocusBindingID
|
|
ActorID identity.ActorID
|
|
SessionID SessionID
|
|
Workspace WorkspaceID
|
|
ProjectID ProjectID
|
|
GoalID work.GoalID
|
|
ScopeID authority.ScopeID
|
|
Active bool
|
|
}
|
|
|
|
type RuntimeBinding struct {
|
|
SessionID SessionID
|
|
Workspace WorkspaceID
|
|
}
|
|
|
|
type ProjectDescriptor struct {
|
|
ID ProjectID
|
|
DisplayName string
|
|
Aliases []ProjectAlias
|
|
RecordedAtUnixMillis int64
|
|
}
|
|
|
|
type ActiveProjectFocus struct {
|
|
ActorID identity.ActorID
|
|
PrincipalID identity.PrincipalID
|
|
ProjectID ProjectID
|
|
ProjectDisplayName string
|
|
Provenance ProjectResolutionProvenance
|
|
ConfidenceMillis int64
|
|
SourceUtteranceID string
|
|
UpdatedAtUnixMillis int64
|
|
}
|