29 lines
1.3 KiB
Go
29 lines
1.3 KiB
Go
package domain
|
|
|
|
import "time"
|
|
|
|
type Agent struct {
|
|
ID string `db:"id" json:"id"`
|
|
TeamID string `db:"team_id" json:"teamId"`
|
|
Name string `db:"name" json:"name"`
|
|
SystemPrompt string `db:"system_prompt" json:"systemPrompt"`
|
|
DefaultProviderID string `db:"def_provider_id" json:"defaultProviderId"`
|
|
DefaultModelID string `db:"def_model_id" json:"defaultModelId"`
|
|
ToolsPolicy string `db:"tools_policy" json:"toolsPolicy"`
|
|
SubAgents bool `db:"sub_agents" json:"subAgents"`
|
|
LoopStrategy string `db:"loop_strategy" json:"loopStrategy"`
|
|
MaxIterations string `db:"max_iterations" json:"maxIterations"`
|
|
StoppingCriteria string `db:"stopping_criteria" json:"stoppingCriteria"`
|
|
DateCreated time.Time `db:"_date_created" json:"_date_created"`
|
|
DateUpdated *time.Time `db:"_date_updated" json:"_date_updated"`
|
|
VersionId string `db:"_version" json:"_version"`
|
|
}
|
|
|
|
type AgentRepository interface {
|
|
ListAgents(userID string, teamID string) ([]*Agent, error)
|
|
GetAgent(userID string, teamID string, id string) (*Agent, error)
|
|
CreateAgent(userID string, agent *Agent) (*Agent, error)
|
|
UpdateAgent(userID string, agent *Agent) (*Agent, error)
|
|
DeleteAgent(userID string, teamID string, id string) error
|
|
}
|