package domain import "time" type Tool struct { ID string `db:"id" json:"id"` TeamID string `db:"team_id" json:"teamId"` Name string `db:"name" json:"name"` Enabled bool `db:"enabled" json:"enabled"` Configuration string `db:"configuration" json:"configuration"` 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 ToolRepository interface { ListTools(userID string, teamID string) ([]*Tool, error) GetToolByName(userID string, teamID string, name string) (*Tool, error) GetToolByID(userID string, teamID string, id string) (*Tool, error) CreateTool(userID string, agent *Tool) (*Tool, error) UpdateTool(userID string, agent *Tool) (*Tool, error) DeleteTool(userID string, teamID string, name string) error }