package request import "cs-ai-agent/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"` Arguments map[string]string `json:"arguments"` } 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"` ServiceMode enums.IMConversationServiceMode `json:"serviceMode"` SystemPrompt string `json:"systemPrompt"` WelcomeMessage string `json:"welcomeMessage"` ReplyTimeoutSeconds int `json:"replyTimeoutSeconds"` TeamIDs []int64 `json:"teamIds"` HandoffMode enums.AIAgentHandoffMode `json:"handoffMode"` FallbackMode enums.AIAgentFallbackMode `json:"fallbackMode"` FallbackMessage string `json:"fallbackMessage"` KnowledgeIDs []int64 `json:"knowledgeIds"` SkillIDs []int64 `json:"skillIds"` DirectTools []AIAgentMCPToolRequest `json:"directTools"` GraphTools []string `json:"graphTools"` } type UpdateAIAgentRequest struct { ID int64 `json:"id"` CreateAIAgentRequest } type DeleteAIAgentRequest struct { ID int64 `json:"id"` } type UpdateAIAgentStatusRequest struct { ID int64 `json:"id"` Status int `json:"status"` }