package request import "code.tczkiot.com/wlw/ai-agent/internal/pkg/enums" type CreateAIConfigRequest struct { Name string `json:"name"` Provider enums.AIProvider `json:"provider"` BaseURL string `json:"base_url"` APIKey string `json:"api_key"` ModelType enums.AIModelType `json:"model_type"` ModelName string `json:"model_name"` Dimension int `json:"dimension"` MaxContextTokens int `json:"max_context_tokens"` MaxOutputTokens int `json:"max_output_tokens"` TimeoutMS int `json:"timeout_ms"` MaxRetryCount int `json:"max_retry_count"` RPMLimit int `json:"rpm_limit"` TPMLimit int `json:"tpm_limit"` 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"` Avatar string `json:"avatar"` Description string `json:"description"` AIConfigID int64 `json:"ai_config_id"` MaxSteps int `json:"max_steps"` ContextWindow int `json:"context_window"` ToolPolicy string `json:"tool_policy"` KnowledgePolicy string `json:"knowledge_policy"` ServiceMode enums.IMConversationServiceMode `json:"service_mode"` SystemPrompt string `json:"system_prompt"` WelcomeMessage string `json:"welcome_message"` ReplyTimeoutSeconds int `json:"reply_timeout_seconds"` RolloutPercent int `json:"rollout_percent"` TeamIDs []int64 `json:"team_ids"` HandoffMode enums.AIAgentHandoffMode `json:"handoff_mode"` FallbackMode enums.AIAgentFallbackMode `json:"fallback_mode"` FallbackMessage string `json:"fallback_message"` KnowledgeBaseIDs []int64 `json:"knowledge_base_ids"` } 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:"revision_id"` } type RollbackAIAgentRolloutRequest struct { ID int64 `json:"id"` } type UpdateAIAgentStatusRequest struct { ID int64 `json:"id"` Status int `json:"status"` }