7b86fd1f09
- Added aiAgentWorkflowBindingRepository for managing workflow bindings associated with AI agents. - Enhanced agentRevisionService to include workflow bindings in agent revisions. - Updated aIAgentService to handle workflow bindings during agent creation and updates. - Introduced ai_agent_workflow_binding_service for managing workflow binding logic. - Created new API endpoints for fetching, creating, updating, and deleting AI workflows. - Developed a new dashboard page for managing AI workflows. - Updated frontend components to support workflow binding management in agent configuration. - Added necessary tests for workflow binding functionality and updated existing tests for compatibility. - Translated relevant UI texts and messages for workflow management.
103 lines
3.8 KiB
Go
103 lines
3.8 KiB
Go
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"`
|
|
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"`
|
|
RuntimeMode enums.AIAgentRuntimeMode `json:"runtimeMode"`
|
|
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"`
|
|
DirectTools []AIAgentMCPToolRequest `json:"directTools"`
|
|
WorkflowBindings []AIAgentWorkflowBindingRequest `json:"workflowBindings"`
|
|
}
|
|
|
|
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"`
|
|
}
|