feat: Implement AI Agent Workflow Binding functionality
- 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.
This commit is contained in:
@@ -65,6 +65,7 @@ var Models = []any{
|
||||
&AgentRunQualityFeedback{},
|
||||
&AIWorkflow{},
|
||||
&AIWorkflowVersion{},
|
||||
&AIAgentWorkflowBinding{},
|
||||
&AIWorkflowRun{},
|
||||
&AIWorkflowNodeRun{},
|
||||
&ConversationInterrupt{},
|
||||
@@ -664,6 +665,21 @@ type AIWorkflowVersion struct {
|
||||
AuditFields
|
||||
}
|
||||
|
||||
// AIAgentWorkflowBinding binds an Agent to one immutable, published workflow
|
||||
// version. Workflows are maintained independently and can be reused by many
|
||||
// Agents; Agent publication snapshots the binding set for reproducible runs.
|
||||
type AIAgentWorkflowBinding struct {
|
||||
ID int64 `gorm:"primaryKey;autoIncrement"`
|
||||
AIAgentID int64 `gorm:"type:bigint;not null;index;uniqueIndex:uk_agent_workflow_binding"`
|
||||
WorkflowID int64 `gorm:"type:bigint;not null;index"`
|
||||
WorkflowVersionID int64 `gorm:"type:bigint;not null;index;uniqueIndex:uk_agent_workflow_binding"`
|
||||
ToolName string `gorm:"type:varchar(100);not null;default:''"`
|
||||
TriggerInstruction string `gorm:"type:text"`
|
||||
Priority int `gorm:"type:int;not null;default:0;index"`
|
||||
Enabled bool `gorm:"not null;default:true;index"`
|
||||
AuditFields
|
||||
}
|
||||
|
||||
// AIWorkflowRun 表示一次会话 workflow 执行记录。
|
||||
type AIWorkflowRun struct {
|
||||
ID int64 `gorm:"primaryKey;autoIncrement"`
|
||||
|
||||
Reference in New Issue
Block a user