chore: import clean Agent Desk snapshot (2/7)

This commit is contained in:
2026-10-16 11:57:21 +00:00
parent 79176541c7
commit 89c5231c4c
461 changed files with 60092 additions and 0 deletions

View File

@@ -0,0 +1,96 @@
package request
import "agent-desk/internal/pkg/enums"
type RevokeSessionRequest struct {
ID int64 `json:"id"`
}
type RevokeUserSessionsRequest struct {
UserID int64 `json:"userId"`
}
type CreateUserRequest struct {
Username string `json:"username"`
Nickname string `json:"nickname"`
Avatar string `json:"avatar"`
Mobile *string `json:"mobile"`
Email *string `json:"email"`
Remark string `json:"remark"`
RoleIDs []int64 `json:"roleIds"`
}
type UpdateUserRequest struct {
ID int64 `json:"id"`
Nickname string `json:"nickname"`
Avatar string `json:"avatar"`
Mobile *string `json:"mobile"`
Email *string `json:"email"`
Remark string `json:"remark"`
}
type DeleteUserRequest struct {
ID int64 `json:"id"`
}
type UpdateUserStatusRequest struct {
ID int64 `json:"id"`
Status int `json:"status"`
}
type ChangePasswordRequest struct {
Password string `json:"password"`
}
type AssignRoleRequest struct {
UserID int64 `json:"userId"`
RoleIDs []int64 `json:"roleIds"`
}
type CreateRoleRequest struct {
Name string `json:"name"`
Code string `json:"code"`
Remark string `json:"remark"`
}
type UpdateRoleRequest struct {
ID int64 `json:"id"`
Name string `json:"name"`
SortNo int `json:"sortNo"`
Remark string `json:"remark"`
}
type DeleteRoleRequest struct {
ID int64 `json:"id"`
}
type UpdateRoleStatusRequest struct {
ID int64 `json:"id"`
Status enums.Status `json:"status"`
}
type AssignPermissionRequest struct {
RoleID int64 `json:"roleId"`
PermissionIDs []int64 `json:"permissionIds"`
}
type CreateConversationTagRequest struct {
Name string `json:"name"`
Color string `json:"color"`
Status int `json:"status"`
SortNo int `json:"sortNo"`
Remark string `json:"remark"`
}
type UpdateConversationTagRequest struct {
ID int64 `json:"id"`
Name string `json:"name"`
Color string `json:"color"`
Status int `json:"status"`
SortNo int `json:"sortNo"`
Remark string `json:"remark"`
}
type DeleteConversationTagRequest struct {
ID int64 `json:"id"`
}

View File

@@ -0,0 +1,14 @@
package request
type RunAgentEvaluationRequest struct {
AIAgentID int64 `json:"aiAgentId"`
Cases []AgentEvaluationCase `json:"cases"`
}
type AgentEvaluationCase struct {
ID string `json:"id"`
Category string `json:"category"`
Message string `json:"message"`
History []string `json:"history,omitempty"`
Expect map[string]any `json:"expect,omitempty"`
}

View File

@@ -0,0 +1,80 @@
package request
import "agent-desk/internal/pkg/enums"
type CreateAgentProfileRequest struct {
UserID int64 `json:"userId"`
TeamID int64 `json:"teamId"`
AgentCode string `json:"agentCode"`
DisplayName string `json:"displayName"`
Avatar string `json:"avatar"`
ServiceStatus enums.ServiceStatus `json:"serviceStatus"`
MaxConcurrentCount int `json:"maxConcurrentCount"`
PriorityLevel int `json:"priorityLevel"`
AutoAssignEnabled bool `json:"autoAssignEnabled"`
ReceiveOfflineMessage bool `json:"receiveOfflineMessage"`
Remark string `json:"remark"`
}
type UpdateAgentProfileRequest struct {
ID int64 `json:"id"`
CreateAgentProfileRequest
}
type DeleteAgentProfileRequest struct {
ID int64 `json:"id"`
}
type CreateAgentTeamRequest struct {
Name string `json:"name"`
LeaderUserID int64 `json:"leaderUserId"`
Status int `json:"status"`
Description string `json:"description"`
Remark string `json:"remark"`
}
type UpdateAgentTeamRequest struct {
ID int64 `json:"id"`
Name string `json:"name"`
LeaderUserID int64 `json:"leaderUserId"`
Status int `json:"status"`
Description string `json:"description"`
Remark string `json:"remark"`
}
type DeleteAgentTeamRequest struct {
ID int64 `json:"id"`
}
type CreateAgentTeamScheduleRequest struct {
TeamID int64 `json:"teamId"`
StartAt string `json:"startAt"`
EndAt string `json:"endAt"`
Remark string `json:"remark"`
}
type UpdateAgentTeamScheduleRequest struct {
ID int64 `json:"id"`
CreateAgentTeamScheduleRequest
}
type DeleteAgentTeamScheduleRequest struct {
ID int64 `json:"id"`
}
type AgentTeamScheduleCalendarRequest struct {
StartAt string `json:"startAt"`
EndAt string `json:"endAt"`
TeamID int64 `json:"teamId"`
}
type AgentTeamScheduleBatchRequest struct {
TeamIDs []int64 `json:"teamIds"`
StartDate string `json:"startDate"`
EndDate string `json:"endDate"`
Weekdays []int `json:"weekdays"`
StartTime string `json:"startTime"`
EndTime string `json:"endTime"`
Remark string `json:"remark"`
Locale string `json:"-"`
}

View File

@@ -0,0 +1,10 @@
package request
import "agent-desk/internal/pkg/enums"
type SaveAgentRunQualityFeedbackRequest struct {
AgentRunID int64 `json:"agentRunId"`
ResolutionStatus enums.AgentRunResolutionStatus `json:"resolutionStatus"`
EvidenceStatus enums.AgentRunEvidenceStatus `json:"evidenceStatus"`
Comment string `json:"comment"`
}

View File

@@ -0,0 +1,9 @@
package request
type SuggestReplyRequest struct {
ConversationID int64 `json:"conversationId"`
}
type SummarizeConversationRequest struct {
ConversationID int64 `json:"conversationId"`
}

View File

@@ -0,0 +1,106 @@
package request
import "agent-desk/internal/pkg/enums"
type AIAgentMCPToolRequest struct {
ToolCode string `json:"toolCode"`
ServerCode string `json:"serverCode"`
ToolName string `json:"toolName"`
Title string `json:"title"`
Description string `json:"description"`
RiskLevel string `json:"riskLevel"`
RequireConfirmation bool `json:"requireConfirmation"`
Arguments map[string]string `json:"arguments"`
}
type AIAgentWorkflowBindingRequest struct {
WorkflowVersionID int64 `json:"workflowVersionId"`
ToolName string `json:"toolName"`
TriggerInstruction string `json:"triggerInstruction"`
Priority int `json:"priority"`
Enabled bool `json:"enabled"`
}
type CreateAIConfigRequest struct {
Name string `json:"name"`
Provider enums.AIProvider `json:"provider"`
BaseURL string `json:"baseUrl"`
APIKey string `json:"apiKey"`
ModelType enums.AIModelType `json:"modelType"`
ModelName string `json:"modelName"`
Dimension int `json:"dimension"`
MaxContextTokens int `json:"maxContextTokens"`
MaxOutputTokens int `json:"maxOutputTokens"`
TimeoutMS int `json:"timeoutMs"`
MaxRetryCount int `json:"maxRetryCount"`
RPMLimit int `json:"rpmLimit"`
TPMLimit int `json:"tpmLimit"`
Remark string `json:"remark"`
}
type UpdateAIConfigRequest struct {
ID int64 `json:"id"`
CreateAIConfigRequest
}
type DeleteAIConfigRequest struct {
ID int64 `json:"id"`
}
type UpdateAIConfigStatusRequest struct {
ID int64 `json:"id"`
Status enums.Status `json:"status"`
}
type CreateAIAgentRequest struct {
Name string `json:"name"`
Description string `json:"description"`
AIConfigID int64 `json:"aiConfigId"`
MaxSteps int `json:"maxSteps"`
ContextWindow int `json:"contextWindow"`
ToolPolicy string `json:"toolPolicy"`
KnowledgePolicy string `json:"knowledgePolicy"`
ServiceMode enums.IMConversationServiceMode `json:"serviceMode"`
SystemPrompt string `json:"systemPrompt"`
WelcomeMessage string `json:"welcomeMessage"`
ReplyTimeoutSeconds int `json:"replyTimeoutSeconds"`
RolloutPercent int `json:"rolloutPercent"`
TeamIDs []int64 `json:"teamIds"`
HandoffMode enums.AIAgentHandoffMode `json:"handoffMode"`
FallbackMode enums.AIAgentFallbackMode `json:"fallbackMode"`
FallbackMessage string `json:"fallbackMessage"`
KnowledgeBaseIDs []int64 `json:"knowledgeBaseIds"`
SkillIDs []int64 `json:"skillIds"`
MCPTools []AIAgentMCPToolRequest `json:"mcpTools"`
WorkflowBindings []AIAgentWorkflowBindingRequest `json:"workflowBindings"`
AutoHandoffOnFailure *bool `json:"autoHandoffOnFailure"`
HandoffMessage string `json:"handoffMessage"`
OffHoursMessage string `json:"offHoursMessage"`
}
type UpdateAIAgentRequest struct {
ID int64 `json:"id"`
CreateAIAgentRequest
}
type DeleteAIAgentRequest struct {
ID int64 `json:"id"`
}
type PublishAIAgentRequest struct {
ID int64 `json:"id"`
}
type RollbackAIAgentRequest struct {
ID int64 `json:"id"`
RevisionID int64 `json:"revisionId"`
}
type RollbackAIAgentRolloutRequest struct {
ID int64 `json:"id"`
}
type UpdateAIAgentStatusRequest struct {
ID int64 `json:"id"`
Status int `json:"status"`
}

View File

@@ -0,0 +1,36 @@
package request
import "agent-desk/internal/ai/workflow/dsl"
type CreateAIWorkflowRequest struct {
Name string `json:"name"`
Description string `json:"description"`
Definition dsl.Definition `json:"definition"`
}
type UpdateAIWorkflowRequest struct {
ID int64 `json:"id"`
CreateAIWorkflowRequest
}
type DeleteAIWorkflowRequest struct {
ID int64 `json:"id"`
}
type ValidateAIWorkflowRequest struct {
Definition dsl.Definition `json:"definition"`
}
type PublishAIWorkflowRequest struct {
WorkflowID int64 `json:"workflowId"`
Definition dsl.Definition `json:"definition"`
}
type AIWorkflowVersionListRequest struct {
WorkflowID int64 `json:"workflowId"`
}
type RestoreAIWorkflowVersionRequest struct {
WorkflowID int64 `json:"workflowId"`
WorkflowVersionID int64 `json:"workflowVersionId"`
}

View File

@@ -0,0 +1,9 @@
package request
type CreateAssetRequest struct {
Prefix string `form:"prefix"`
}
type DeleteAssetRequest struct {
ID int64 `json:"id"`
}

View File

@@ -0,0 +1,16 @@
package request
type LoginRequest struct {
Username string `json:"username"`
Password string `json:"password"`
}
type UpdateProfileRequest struct {
Nickname string `json:"nickname"`
Avatar string `json:"avatar"`
Email *string `json:"email"`
}
type OIDCExchangeRequest struct {
Ticket string `json:"ticket"`
}

View File

@@ -0,0 +1,34 @@
package request
type CreateChannelRequest struct {
ChannelType string `json:"channelType"`
AIAgentID int64 `json:"aiAgentId"`
AIAgentRolloutPercent int `json:"aiAgentRolloutPercent"`
Name string `json:"name"`
ConfigJSON string `json:"configJson"`
Status int `json:"status"`
Remark string `json:"remark"`
}
type UpdateChannelRequest struct {
ID int64 `json:"id"`
CreateChannelRequest
}
type UpdateChannelStatusRequest struct {
ID int64 `json:"id"`
Status int `json:"status"`
}
type RollbackChannelAIAgentRolloutRequest struct {
ID int64 `json:"id"`
}
type DeleteChannelRequest struct {
ID int64 `json:"id"`
}
type ResetChannelUserTokenSecretRequest struct {
ID int64 `json:"id"`
}

View File

@@ -0,0 +1,21 @@
package request
type CreateCompanyRequest struct {
Name string `json:"name"`
Code string `json:"code"`
Remark string `json:"remark"`
}
type UpdateCompanyRequest struct {
ID int64 `json:"id"`
CreateCompanyRequest
}
type DeleteCompanyRequest struct {
ID int64 `json:"id"`
}
type UpdateCompanyStatusRequest struct {
ID int64 `json:"id"`
Status int `json:"status"`
}

View File

@@ -0,0 +1,67 @@
package request
type AgentConversationFilter string
const (
AgentConversationFilterAIServing AgentConversationFilter = "ai_serving"
AgentConversationFilterMine AgentConversationFilter = "mine"
AgentConversationFilterActive AgentConversationFilter = "active"
AgentConversationFilterPending AgentConversationFilter = "pending"
AgentConversationFilterClosed AgentConversationFilter = "closed"
)
type ConversationListRequest struct {
Status int `json:"status"`
ServiceMode int `json:"serviceMode"`
CurrentAssigneeID int64 `json:"currentAssigneeId"`
Keyword string `json:"keyword"`
TagID int64 `json:"tagId"`
}
type AssignConversationRequest struct {
ConversationID int64 `json:"conversationId"`
AssigneeID int64 `json:"assigneeId"`
Reason string `json:"reason"`
}
type DispatchConversationRequest struct {
ConversationID int64 `json:"conversationId"`
}
type TransferConversationRequest struct {
ConversationID int64 `json:"conversationId"`
ToUserID int64 `json:"toUserId"`
Reason string `json:"reason"`
}
type CloseConversationRequest struct {
ConversationID int64 `json:"conversationId"`
CloseReason string `json:"closeReason"`
}
// CreateCustomerConversationRequest 访客主动新建请求的入参。
type CreateCustomerConversationRequest struct {
// Subject 是访客填写的请求主题,用于在其请求列表中区分多条会话;留空时由前端用兜底文案。
Subject string `json:"subject"`
}
type ReadConversationRequest struct {
ConversationID int64 `json:"conversationId"`
MessageID int64 `json:"messageId"`
}
type AddConversationTagRequest struct {
ConversationID int64 `json:"conversationId"`
TagID int64 `json:"tagId"`
}
type RemoveConversationTagRequest struct {
ConversationID int64 `json:"conversationId"`
TagID int64 `json:"tagId"`
}
// LinkConversationCustomerRequest 将客服会话关联到 CRM 客户(并同步访客身份映射)。
type LinkConversationCustomerRequest struct {
ConversationID int64 `json:"conversationId"`
CustomerID int64 `json:"customerId"`
}

View File

@@ -0,0 +1,27 @@
package request
type CreateCustomerContactRequest struct {
CustomerID int64 `json:"customerId"`
ContactType string `json:"contactType"`
ContactValue string `json:"contactValue"`
IsPrimary bool `json:"isPrimary"`
IsVerified bool `json:"isVerified"`
Source string `json:"source"`
Status int `json:"status"`
Remark string `json:"remark"`
}
type UpdateCustomerContactRequest struct {
ID int64 `json:"id"`
ContactType string `json:"contactType"`
ContactValue string `json:"contactValue"`
IsPrimary bool `json:"isPrimary"`
IsVerified bool `json:"isVerified"`
Source string `json:"source"`
Status int `json:"status"`
Remark string `json:"remark"`
}
type DeleteCustomerContactRequest struct {
ID int64 `json:"id"`
}

View File

@@ -0,0 +1,72 @@
package request
// CustomerListRequest 客户分页列表查询(POST /customer/list JSON Body)。
type CustomerListRequest struct {
Page int `json:"page"`
Limit int `json:"limit"`
Status *int `json:"status,omitempty"`
Gender *int `json:"gender,omitempty"`
CompanyID *int64 `json:"companyId,omitempty"`
// Keyword 模糊匹配:客户姓名、主手机号、主邮箱、任意联系方式(t_customer_contact)、公司名称(t_company)。
Keyword string `json:"keyword"`
}
func (r CustomerListRequest) GetPage() int {
if r.Page <= 0 {
return 1
}
return r.Page
}
func (r CustomerListRequest) GetLimit() int {
if r.Limit <= 0 {
return 20
}
return r.Limit
}
func (r CustomerListRequest) Offset() int {
return (r.GetPage() - 1) * r.GetLimit()
}
type CreateCustomerRequest struct {
Name string `json:"name"`
Gender int `json:"gender"`
CompanyID int64 `json:"companyId"`
PrimaryMobile string `json:"primaryMobile"`
PrimaryEmail string `json:"primaryEmail"`
Remark string `json:"remark"`
}
type UpdateCustomerRequest struct {
ID int64 `json:"id"`
CreateCustomerRequest
}
type DeleteCustomerRequest struct {
ID int64 `json:"id"`
}
type UpdateCustomerStatusRequest struct {
ID int64 `json:"id"`
Status int `json:"status"`
}
// CustomerProfileContactItem 保存客户档案时的联系方式行(无 id 表示新建)。
type CustomerProfileContactItem struct {
ID *int64 `json:"id,omitempty"`
ContactType string `json:"contactType"`
ContactValue string `json:"contactValue"`
IsPrimary bool `json:"isPrimary"`
Remark string `json:"remark"`
}
// SaveCustomerProfileRequest 客户主信息与联系方式一并保存(单事务);id 为空或 0 表示新建客户。
type SaveCustomerProfileRequest struct {
ID *int64 `json:"id,omitempty"`
Name string `json:"name"`
Gender int `json:"gender"`
CompanyID int64 `json:"companyId"`
Remark string `json:"remark"`
Contacts []CustomerProfileContactItem `json:"contacts"`
}

View File

@@ -0,0 +1,15 @@
package request
// EmailRequestRequest is the body of the API that opens a support request on a
// visitor's behalf and continues the conversation over email.
type EmailRequestRequest struct {
// Email is the visitor's address. It becomes their contact identity, so it
// must be the address their replies will come from.
Email string `json:"email"`
// Name is an optional display name.
Name string `json:"name"`
// Subject is the request title shown in the visitor's request list.
Subject string `json:"subject"`
// Message is the request body. Required.
Message string `json:"message"`
}

View File

@@ -0,0 +1,137 @@
package request
import (
"io"
"agent-desk/internal/pkg/enums"
)
type CreateKnowledgeBaseRequest struct {
Name string `json:"name"`
Description string `json:"description"`
KnowledgeType string `json:"knowledgeType"`
DefaultTopK int `json:"defaultTopK"`
DefaultScoreThreshold float64 `json:"defaultScoreThreshold"`
DefaultRerankLimit int `json:"defaultRerankLimit"`
ChunkProvider string `json:"chunkProvider"`
ChunkTargetTokens int `json:"chunkTargetTokens"`
ChunkMaxTokens int `json:"chunkMaxTokens"`
ChunkOverlapTokens int `json:"chunkOverlapTokens"`
AnswerMode int `json:"answerMode"`
Remark string `json:"remark"`
}
type UpdateKnowledgeBaseRequest struct {
ID int64 `json:"id"`
CreateKnowledgeBaseRequest
}
type CreateKnowledgeDirectoryRequest struct {
KnowledgeBaseID int64 `json:"knowledgeBaseId"`
ParentID int64 `json:"parentId"`
Name string `json:"name"`
Remark string `json:"remark"`
}
type UpdateKnowledgeDirectoryRequest struct {
ID int64 `json:"id"`
CreateKnowledgeDirectoryRequest
}
type DeleteKnowledgeDirectoryRequest struct {
ID int64 `json:"id"`
}
type CreateKnowledgeDocumentRequest struct {
KnowledgeBaseID int64 `json:"knowledgeBaseId"`
DirectoryID int64 `json:"directoryId"`
Title string `json:"title"`
ContentType enums.KnowledgeDocumentContentType `json:"contentType"`
Content string `json:"content"`
}
type UpdateKnowledgeDocumentRequest struct {
ID int64 `json:"id"`
CreateKnowledgeDocumentRequest
}
type BatchMoveKnowledgeDocumentRequest struct {
KnowledgeBaseID int64 `json:"knowledgeBaseId"`
DirectoryID int64 `json:"directoryId"`
IDs []int64 `json:"ids"`
}
type BatchDeleteKnowledgeDocumentRequest struct {
IDs []int64 `json:"ids"`
}
type CreateKnowledgeFAQRequest struct {
KnowledgeBaseID int64 `json:"knowledgeBaseId"`
DirectoryID int64 `json:"directoryId"`
Question string `json:"question"`
Answer string `json:"answer"`
SimilarQuestions []string `json:"similarQuestions"`
Remark string `json:"remark"`
}
type UpdateKnowledgeFAQRequest struct {
ID int64 `json:"id"`
CreateKnowledgeFAQRequest
}
type BatchMoveKnowledgeFAQRequest struct {
KnowledgeBaseID int64 `json:"knowledgeBaseId"`
DirectoryID int64 `json:"directoryId"`
IDs []int64 `json:"ids"`
}
type BatchDeleteKnowledgeFAQRequest struct {
IDs []int64 `json:"ids"`
}
type KnowledgeFAQImportMode string
const (
KnowledgeFAQImportModeAppend KnowledgeFAQImportMode = "append"
KnowledgeFAQImportModeOverwrite KnowledgeFAQImportMode = "overwrite"
)
type ImportKnowledgeFAQRequest struct {
KnowledgeBaseID int64
Mode KnowledgeFAQImportMode
Filename string
Reader io.Reader
Locale string
}
type KnowledgeSearchRequest struct {
KnowledgeBaseIDs []int64 `json:"knowledgeBaseIds"`
Question string `json:"question"`
TopK int `json:"topK"`
ScoreThreshold float64 `json:"scoreThreshold"`
RerankLimit int `json:"rerankLimit"`
Channel string `json:"channel"`
Scene string `json:"scene"`
SessionID string `json:"sessionId"`
ConversationID int64 `json:"conversationId"`
}
type KnowledgeAnswerRequest struct {
KnowledgeBaseIDs []int64 `json:"knowledgeBaseIds"`
Question string `json:"question"`
TopK int `json:"topK"`
ScoreThreshold float64 `json:"scoreThreshold"`
RerankLimit int `json:"rerankLimit"`
Channel string `json:"channel"`
Scene string `json:"scene"`
SessionID string `json:"sessionId"`
ConversationID int64 `json:"conversationId"`
AnswerMode int `json:"answerMode"`
}
type CreateKnowledgeFeedbackRequest struct {
RetrieveLogID int64 `json:"retrieveLogId"`
FeedbackType int `json:"feedbackType"`
FeedbackReason string `json:"feedbackReason"`
Remark string `json:"remark"`
}

View File

@@ -0,0 +1,11 @@
package request
type MCPServerDebugRequest struct {
ServerCode string `json:"serverCode"`
}
type MCPCallToolRequest struct {
ServerCode string `json:"serverCode"`
ToolName string `json:"toolName"`
Arguments map[string]any `json:"arguments"`
}

View File

@@ -0,0 +1,21 @@
package request
import "agent-desk/internal/pkg/enums"
type MessageListRequest struct {
ConversationID int64 `json:"conversationId"`
SenderType string `json:"senderType"`
MessageType string `json:"messageType"`
}
type SendConversationMessageRequest struct {
ConversationID int64 `json:"conversationId"`
MessageType enums.IMMessageType `json:"messageType"`
Content string `json:"content"`
Payload string `json:"payload"`
ClientMsgID string `json:"clientMsgId"`
}
type RecallConversationMessageRequest struct {
MessageID int64 `json:"messageId"`
}

View File

@@ -0,0 +1,15 @@
package request
type CreateNotificationRequest struct {
RecipientUserID int64 `json:"recipientUserId"`
Title string `json:"title"`
Content string `json:"content"`
NotificationType string `json:"notificationType"`
BizType string `json:"bizType"`
BizID int64 `json:"bizId"`
ActionURL string `json:"actionUrl"`
}
type MarkNotificationReadRequest struct {
ID int64 `json:"id"`
}

View File

@@ -0,0 +1,5 @@
package request
type OrganizationSwitchRequest struct {
OrganizationID int64 `json:"organizationId"`
}

View File

@@ -0,0 +1,26 @@
package request
import "agent-desk/internal/pkg/enums"
type QuickReplyListRequest struct {
GroupName string `json:"groupName"`
Keyword string `json:"keyword"`
Status int `json:"status"`
}
type CreateQuickReplyRequest struct {
GroupName string `json:"groupName"`
Title string `json:"title"`
Content string `json:"content"`
Status enums.Status `json:"status"`
SortNo int `json:"sortNo"`
}
type UpdateQuickReplyRequest struct {
ID int64 `json:"id"`
CreateQuickReplyRequest
}
type DeleteQuickReplyRequest struct {
ID int64 `json:"id"`
}

View File

@@ -0,0 +1,7 @@
package request
type SubmitSatisfactionRequest struct {
ConversationID int64 `json:"conversationId"`
Score int `json:"score"`
Feedback string `json:"feedback"`
}

View File

@@ -0,0 +1,11 @@
package request
type SetupSimulateRouteRequest struct {
ChannelID int64 `json:"channel_id" form:"channel_id"`
BypassAI bool `json:"bypass_ai" form:"bypass_ai"`
}
type SetupQuickFixRequest struct {
Action string `json:"action" form:"action"`
EntityID int64 `json:"entity_id" form:"entity_id"`
}

View File

@@ -0,0 +1,47 @@
package request
type SkillDefinitionListRequest struct {
Name string `json:"name"`
Status int `json:"status"`
}
type CreateSkillDefinitionRequest struct {
Name string `json:"name"`
Description string `json:"description"`
Instruction string `json:"instruction"`
Examples []string `json:"examples"`
ToolWhitelist []string `json:"toolWhitelist"`
Remark string `json:"remark"`
}
type UpdateSkillDefinitionRequest struct {
ID int64 `json:"id"`
CreateSkillDefinitionRequest
}
type DeleteSkillDefinitionRequest struct {
ID int64 `json:"id"`
}
type RestoreSkillDefinitionRequest struct {
ID int64 `json:"id"`
}
type UpdateSkillDefinitionStatusRequest struct {
ID int64 `json:"id"`
Status int `json:"status"`
}
type SkillDebugRunRequest struct {
AIAgentID int64 `json:"aiAgentId"`
ConversationID int64 `json:"conversationId"`
SkillDefinitionID int64 `json:"skillDefinitionId"`
UserMessage string `json:"userMessage"`
}
type SkillDebugResumeRequest struct {
AIAgentID int64 `json:"aiAgentId"`
ConversationID int64 `json:"conversationId"`
CheckPointID string `json:"checkPointId"`
UserMessage string `json:"userMessage"`
}

View File

@@ -0,0 +1,128 @@
package request
import "agent-desk/internal/pkg/enums"
type SupportCustomerRegisterRequest struct {
Name string `json:"name"`
Email string `json:"email"`
Password string `json:"password"`
}
type SaveDocPageRequest struct {
ID int64 `json:"id"`
ParentID int64 `json:"parentId"`
Title string `json:"title"`
Slug string `json:"slug"`
Summary string `json:"summary"`
ContentType string `json:"contentType"`
Content string `json:"content"`
CoverURL string `json:"coverUrl"`
Tags []string `json:"tags"`
Status enums.DocPageStatus `json:"status"`
SortNo int `json:"sortNo"`
Remark string `json:"remark"`
}
type UpdateDocPageSettingsRequest struct {
ID int64 `json:"id"`
ParentID int64 `json:"parentId"`
Slug string `json:"slug"`
Summary string `json:"summary"`
}
type SortDocPagesRequest struct {
ParentID int64 `json:"parentId"`
IDs []int64 `json:"ids"`
}
type ChangeDocPageStatusRequest struct {
ID int64 `json:"id"`
Status enums.DocPageStatus `json:"status"`
}
type SaveCategoryRequest struct {
ID int64 `json:"id"`
Name string `json:"name"`
Slug string `json:"slug"`
Description string `json:"description"`
Status enums.Status `json:"status"`
Remark string `json:"remark"`
}
type CreatePostRequest struct {
CategoryID int64 `json:"categoryId"`
Title string `json:"title"`
ContentType string `json:"contentType"`
Content string `json:"content"`
Tags []string `json:"tags"`
}
type UpdatePostRequest struct {
ID int64 `json:"id"`
CategoryID int64 `json:"categoryId"`
Title string `json:"title"`
ContentType string `json:"contentType"`
Content string `json:"content"`
Tags []string `json:"tags"`
}
type ModeratePostRequest struct {
ID int64 `json:"id"`
Status enums.PostStatus `json:"status"`
}
type CreateCommentRequest struct {
PostID int64 `json:"postId"`
ParentID int64 `json:"parentId"`
ContentType string `json:"contentType"`
Content string `json:"content"`
}
type UpdateCommentRequest struct {
ID int64 `json:"id"`
ContentType string `json:"contentType"`
Content string `json:"content"`
}
type ModerateCommentRequest struct {
ID int64 `json:"id"`
Status enums.CommentStatus `json:"status"`
}
type IDRequest struct {
ID int64 `json:"id"`
}
type ReactionRequest struct {
TargetType enums.ReactionTarget `json:"targetType"`
TargetID int64 `json:"targetId"`
ReactionType enums.ReactionType `json:"reactionType"`
}
type ReportCommentRequest struct {
ID int64 `json:"id"`
Reason string `json:"reason"`
}
type AcceptCommentRequest struct {
PostID int64 `json:"postId"`
CommentID int64 `json:"commentId"`
}
type DocPageFeedbackRequest struct {
ID int64 `json:"id"`
Helpful bool `json:"helpful"`
}
type DeleteByIDRequest struct {
ID int64 `json:"id"`
}
type SupportNavigationMenuItemRequest struct {
ID string `json:"id"`
Title string `json:"title"`
URL string `json:"url"`
OpenInNewWindow bool `json:"openInNewWindow"`
Visible *bool `json:"visible"`
Children []SupportNavigationMenuItemRequest `json:"children"`
}

View File

@@ -0,0 +1,27 @@
package request
type TagListRequest struct {
ParentID int64 `json:"parentId"`
Name string `json:"name"`
Status int `json:"status"`
}
type CreateTagRequest struct {
ParentID int64 `json:"parentId"`
Name string `json:"name"`
Remark string `json:"remark"`
}
type UpdateTagRequest struct {
ID int64 `json:"id"`
CreateTagRequest
}
type DeleteTagRequest struct {
ID int64 `json:"id"`
}
type UpdateTagStatusRequest struct {
ID int64 `json:"id"`
Status int `json:"status"`
}

View File

@@ -0,0 +1,59 @@
package request
type CreateTicketRequest struct {
Title string `json:"title"`
Description string `json:"description"`
Source string `json:"source"`
Channel string `json:"channel"`
CustomerID int64 `json:"customerId"`
ConversationID int64 `json:"conversationId"`
TagIDs []int64 `json:"tagIds"`
CurrentAssigneeID int64 `json:"currentAssigneeId"`
}
type CreateTicketFromConversationRequest struct {
ConversationID int64 `json:"conversationId"`
Title string `json:"title"`
Description string `json:"description"`
TagIDs []int64 `json:"tagIds"`
CurrentAssigneeID int64 `json:"currentAssigneeId"`
}
type UpdateTicketRequest struct {
TicketID int64 `json:"ticketId"`
Title string `json:"title"`
Description string `json:"description"`
TagIDs []int64 `json:"tagIds"`
CurrentAssigneeID int64 `json:"currentAssigneeId"`
}
type LinkTicketCustomerRequest struct {
TicketID int64 `json:"ticketId"`
CustomerID int64 `json:"customerId"`
}
type AssignTicketRequest struct {
TicketID int64 `json:"ticketId"`
ToUserID int64 `json:"toUserId"`
Reason string `json:"reason"`
}
type ChangeTicketStatusRequest struct {
TicketID int64 `json:"ticketId"`
Status string `json:"status"`
}
type CreateTicketProgressRequest struct {
TicketID int64 `json:"ticketId"`
Content string `json:"content"`
}
type SaveTicketViewRequest struct {
ID int64 `json:"id"`
Name string `json:"name"`
Filters map[string]any `json:"filters"`
}
type DeleteTicketViewRequest struct {
ID int64 `json:"id"`
}

View File

@@ -0,0 +1,20 @@
package request
type OrgSyncEventData struct {
OrgID string `json:"org_id"`
OrgName string `json:"org_name"`
UserID string `json:"user_id"`
UserEmail string `json:"user_email"`
UserName string `json:"user_name"`
Role string `json:"role"`
Plan string `json:"plan"`
}
type OrgSyncWebhookRequest struct {
Event string `json:"event"`
Timestamp string `json:"timestamp"`
Data OrgSyncEventData `json:"data"`
}
type DOSOrgSyncEventData = OrgSyncEventData
type DOSOrgSyncWebhookRequest = OrgSyncWebhookRequest