Files
agent-desk-ng/internal/pkg/dto/response/setup_readiness_resp.go
mono 63e0457886 fix: harden identity, live access, drafts and setup (review only)
Source-reviewed hardening changes and regression tests. UNBUILT / UNTESTED: not a deployable release. Go formatting, compilation, automated regression tests, full frontend validation and staging acceptance remain required. See docs/hardening/VALIDATION.md. Main remains the original clean snapshot; no upstream Git history imported.
2026-10-16 12:15:20 +00:00

113 lines
4.7 KiB
Go

// Modified in AgentDeskFixes: safe, reviewed setup repairs and honest routing diagnostics.
package response
type SetupIssueItem struct {
Code string `json:"code"`
Severity string `json:"severity"`
EntityType string `json:"entity_type"`
EntityID int64 `json:"entity_id"`
EntityName string `json:"entity_name"`
QuickFixAction string `json:"quick_fix_action,omitempty"`
}
type SetupStepItem struct {
Key string `json:"key"`
StepNumber int `json:"step_number"`
Status string `json:"status"`
SummaryCode string `json:"summary_code"`
TotalCount int `json:"total_count"`
ReadyCount int `json:"ready_count"`
Issues []SetupIssueItem `json:"issues"`
QuickFixActions []string `json:"quick_fix_actions"`
ManagePath string `json:"manage_path"`
}
type CurrentOperatorDiagnostic struct {
UserID int64 `json:"user_id"`
Username string `json:"username"`
Nickname string `json:"nickname"`
HasProfile bool `json:"has_profile"`
ProfileStatusOk bool `json:"profile_status_ok"`
TeamID int64 `json:"team_id"`
TeamName string `json:"team_name"`
TeamActive bool `json:"team_active"`
TeamHasScheduleNow bool `json:"team_has_schedule_now"`
ServiceStatus int `json:"service_status"`
AutoAssignEnabled bool `json:"auto_assign_enabled"`
ActiveConversationCount int64 `json:"active_conversation_count"`
MaxConcurrentCount int `json:"max_concurrent_count"`
CanReceiveNow bool `json:"can_receive_now"`
BlockerCodes []string `json:"blocker_codes"`
}
type SetupChannelBrief struct {
ID int64 `json:"id"`
Name string `json:"name"`
ChannelType string `json:"channel_type"`
ChannelID string `json:"channel_id"`
AIAgentID int64 `json:"ai_agent_id"`
RolloutPercent int `json:"rollout_percent"`
Status int `json:"status"`
}
type SetupReadinessResponse struct {
OverallStatus string `json:"overall_status"`
ReadySteps int `json:"ready_steps"`
TotalSteps int `json:"total_steps"`
CanReceiveRequestsNow bool `json:"can_receive_requests_now"`
Steps []SetupStepItem `json:"steps"`
CurrentOperator CurrentOperatorDiagnostic `json:"current_operator"`
Channels []SetupChannelBrief `json:"channels"`
}
type SimulatedRouteHop struct {
HopKey string `json:"hop_key"`
Status string `json:"status"`
ReasonCode string `json:"reason_code"`
EntityID int64 `json:"entity_id,omitempty"`
EntityName string `json:"entity_name,omitempty"`
QuickFixAction string `json:"quick_fix_action,omitempty"`
}
type SimulatedOperatorCandidate struct {
UserID int64 `json:"user_id"`
DisplayName string `json:"display_name"`
TeamID int64 `json:"team_id"`
TeamName string `json:"team_name"`
Eligible bool `json:"eligible"`
SkipReasonCode string `json:"skip_reason_code"`
ActiveCount int64 `json:"active_count"`
MaxConcurrentCount int `json:"max_concurrent_count"`
ServiceStatus int `json:"service_status"`
AutoAssignEnabled bool `json:"auto_assign_enabled"`
}
type SetupSimulateRouteResponse struct {
ChannelID int64 `json:"channel_id"`
ChannelName string `json:"channel_name"`
ChannelType string `json:"channel_type"`
WillReachOperator bool `json:"will_reach_operator"`
FinalOutcomeCode string `json:"final_outcome_code"`
MatchedOperator *SimulatedOperatorCandidate `json:"matched_operator,omitempty"`
Hops []SimulatedRouteHop `json:"hops"`
CandidateOperators []SimulatedOperatorCandidate `json:"candidate_operators"`
}
type SetupQuickFixChange struct {
EntityType string `json:"entity_type"`
EntityID int64 `json:"entity_id"`
EntityName string `json:"entity_name"`
Operation string `json:"operation"`
Before map[string]any `json:"before"`
After map[string]any `json:"after"`
}
type SetupQuickFixResponse struct {
Applied bool `json:"applied"`
PreviewToken string `json:"preview_token"`
Changes []SetupQuickFixChange `json:"changes"`
WarningCodes []string `json:"warning_codes"`
AppliedActions []string `json:"applied_actions"`
Readiness *SetupReadinessResponse `json:"readiness,omitempty"`
}