Versions in this module Expand all Collapse all v0 v0.1.0 Aug 9, 2025 Changes in this version + func RegisterAgent(id string, definition AgentDefinition) error + func RegisterAgentFactory(id string, factory AgentFactory) error + type AdvancedAgentDefinition struct + func NewAdvancedAgentDefinition(config *AgentConfig) *AdvancedAgentDefinition + func (aad *AdvancedAgentDefinition) BuildGraph() (*core.Graph, error) + func (aad *AdvancedAgentDefinition) CreateAgent() (*Agent, error) + func (aad *AdvancedAgentDefinition) GetCustomMiddleware() ... + func (aad *AdvancedAgentDefinition) GetCustomTools() []tools.Tool + func (aad *AdvancedAgentDefinition) WithCustomGraph(graph *core.Graph) *AdvancedAgentDefinition + func (aad *AdvancedAgentDefinition) WithCustomMiddleware(...) *AdvancedAgentDefinition + func (aad *AdvancedAgentDefinition) WithCustomTools(tools ...tools.Tool) *AdvancedAgentDefinition + func (aad *AdvancedAgentDefinition) WithGraphBuilder(builder func() (*core.Graph, error)) *AdvancedAgentDefinition + func (aad *AdvancedAgentDefinition) WithMiddlewareProvider(provider func() ...) *AdvancedAgentDefinition + func (aad *AdvancedAgentDefinition) WithToolsProvider(provider func() []tools.Tool) *AdvancedAgentDefinition + type Agent struct + func NewAgent(config *AgentConfig, llmManager *llm.ProviderManager, ...) *Agent + func (a *Agent) ClearConversation() + func (a *Agent) DisableStreaming() error + func (a *Agent) EnableStreaming() error + func (a *Agent) Execute(ctx context.Context, input string) (*AgentExecution, error) + func (a *Agent) GetConfig() *AgentConfig + func (a *Agent) GetConversation() []llm.Message + func (a *Agent) GetExecutionHistory() []AgentExecution + func (a *Agent) GetGraph() *core.Graph + func (a *Agent) GetStreamingMode() llm.StreamMode + func (a *Agent) IsRunning() bool + func (a *Agent) IsStreamingEnabled() bool + func (a *Agent) SetGraph(graph *core.Graph) + func (a *Agent) SetStreamingMode(mode llm.StreamMode) error + func (a *Agent) UpdateConfig(config *AgentConfig) + type AgentConfig struct + EnableStreaming bool + ID string + MaxIterations int + MaxTokens int + Metadata map[string]interface{} + Model string + Name string + Provider string + StreamingMode llm.StreamMode + SystemPrompt string + Temperature float64 + Timeout time.Duration + Tools []string + Type AgentType + func DefaultAgentConfig() *AgentConfig + func (config *AgentConfig) Validate() error + func (config *AgentConfig) ValidateAndSanitize() error + type AgentDefinition interface + CreateAgent func() (*Agent, error) + GetConfig func() *AgentConfig + GetMetadata func() map[string]interface{} + Initialize func(llmManager *llm.ProviderManager, toolRegistry *tools.ToolRegistry) error + Validate func() error + type AgentDefinitionBuilder struct + func NewAgentDefinitionBuilder() *AgentDefinitionBuilder + func (adb *AgentDefinitionBuilder) Build() *BaseAgentDefinition + func (adb *AgentDefinitionBuilder) WithMaxTokens(maxTokens int) *AgentDefinitionBuilder + func (adb *AgentDefinitionBuilder) WithMetadata(key string, value interface{}) *AgentDefinitionBuilder + func (adb *AgentDefinitionBuilder) WithModel(model string) *AgentDefinitionBuilder + func (adb *AgentDefinitionBuilder) WithName(name string) *AgentDefinitionBuilder + func (adb *AgentDefinitionBuilder) WithProvider(provider string) *AgentDefinitionBuilder + func (adb *AgentDefinitionBuilder) WithSystemPrompt(prompt string) *AgentDefinitionBuilder + func (adb *AgentDefinitionBuilder) WithTemperature(temperature float64) *AgentDefinitionBuilder + func (adb *AgentDefinitionBuilder) WithTools(tools ...string) *AgentDefinitionBuilder + func (adb *AgentDefinitionBuilder) WithType(agentType AgentType) *AgentDefinitionBuilder + type AgentExecution struct + Duration time.Duration + Error error + ExecutionPath []string + ID string + Input string + Metadata map[string]interface{} + Output string + StateChanges []StateChange + StructuredOutput interface{} + Success bool + Timestamp time.Time + ToolCalls []llm.ToolCall + type AgentFactory func() AgentDefinition + type AgentInfo struct + Config *AgentConfig + ID string + Metadata map[string]interface{} + Source AgentSource + type AgentMetrics struct + AverageLatency time.Duration + ErrorCount int64 + LastRequest time.Time + RequestCount int64 + TotalLatency time.Duration + type AgentRegistry struct + func GetGlobalRegistry() *AgentRegistry + func NewAgentRegistry() *AgentRegistry + func (ar *AgentRegistry) CreateAgentFromDefinition(id string, llmManager *llm.ProviderManager, toolRegistry *tools.ToolRegistry) (*Agent, error) + func (ar *AgentRegistry) CreateAgentFromFactory(id string, llmManager *llm.ProviderManager, toolRegistry *tools.ToolRegistry) (*Agent, error) + func (ar *AgentRegistry) GetAgentInfo() []AgentInfo + func (ar *AgentRegistry) GetDefinition(id string) (AgentDefinition, bool) + func (ar *AgentRegistry) GetMetadata() map[string]map[string]interface{} + func (ar *AgentRegistry) ListDefinitions() []string + func (ar *AgentRegistry) ListFactories() []string + func (ar *AgentRegistry) LoadFromPlugin(pluginPath string) error + func (ar *AgentRegistry) RegisterDefinition(id string, definition AgentDefinition) error + func (ar *AgentRegistry) RegisterFactory(id string, factory AgentFactory) error + type AgentSource string + const SourceConfig + const SourceDefinition + const SourceFactory + const SourcePlugin + type AgentState struct + ErrorCount int64 + HealthStatus string + ID string + LastError string + LastRequest time.Time + Metadata map[string]interface{} + RequestCount int64 + StartedAt time.Time + Status string + UpdatedAt time.Time + type AgentType string + const AgentTypeChat + const AgentTypeReAct + const AgentTypeTool + type AlertRule struct + Annotations map[string]string + Condition string + Description string + Duration time.Duration + Labels map[string]string + Metric string + Name string + Threshold float64 + type AlertingConfig struct + Email *EmailConfig + Enabled bool + Rules []AlertRule + Slack *SlackConfig + Webhooks []WebhookConfig + type AuthConfig struct + Config map[string]interface{} + Enabled bool + Required bool + Type string + type AuthzConfig struct + Config map[string]interface{} + Enabled bool + Type string + type BaseAgentDefinition struct + func NewBaseAgentDefinition(config *AgentConfig) *BaseAgentDefinition + func (bad *BaseAgentDefinition) CreateAgent() (*Agent, error) + func (bad *BaseAgentDefinition) GetConfig() *AgentConfig + func (bad *BaseAgentDefinition) GetMetadata() map[string]interface{} + func (bad *BaseAgentDefinition) Initialize(llmManager *llm.ProviderManager, toolRegistry *tools.ToolRegistry) error + func (bad *BaseAgentDefinition) SetMetadata(key string, value interface{}) + func (bad *BaseAgentDefinition) Validate() error + type CORSConfig struct + AllowCredentials bool + AllowedHeaders []string + AllowedMethods []string + AllowedOrigins []string + Enabled bool + ExposedHeaders []string + MaxAge int + type CacheConfig struct + Database int + Host string + MaxRetries int + Password string + Port int + TTL time.Duration + Type string + type CustomAgentDefinition interface + BuildGraph func() (*core.Graph, error) + GetCustomMiddleware func() ... + GetCustomTools func() []tools.Tool + type CustomMetricConfig struct + Name string + Query string + Resource string + TargetValue string + Type string + type DNSConfig struct + Nameservers []string + Options []string + Policy string + Searches []string + type DatabaseConfig struct + Database string + Host string + MaxConns int + MaxIdleConns int + MaxLifetime time.Duration + Password string + Port int + SSLMode string + Type string + Username string + type DeploymentConfig struct + ConfigMaps map[string]string + Environment string + HealthCheck *HealthCheckConfig + Metadata map[string]interface{} + Networking *NetworkingConfig + Replicas int + Resources *ResourceConfig + Scaling *ScalingConfig + Secrets map[string]string + Type string + Volumes []VolumeConfig + type DeploymentState struct + AgentStates map[string]*AgentState + ErrorCount int + LastError string + Metadata map[string]interface{} + StartedAt time.Time + Status string + UpdatedAt time.Time + type EmailConfig struct + From string + SMTP *SMTPConfig + Subject string + Template string + To []string + type EncryptionAtRestConfig struct + Algorithm string + Enabled bool + KeyID string + Provider string + type EncryptionConfig struct + AtRest *EncryptionAtRestConfig + InTransit *EncryptionInTransitConfig + type EncryptionInTransitConfig struct + CertFile string + Ciphers []string + Enabled bool + KeyFile string + MinTLS string + type ExtendedAgentConfig struct + Annotations map[string]string + ConfigMaps map[string]string + Dependencies []string + Disabled bool + Environment map[string]string + Host string + Labels map[string]string + Middleware []MiddlewareConfig + Path string + Port int + Priority int + Resources *ResourceConfig + Scaling *ScalingConfig + Schema *SchemaConfig + Secrets map[string]string + Subdomain string + Volumes []VolumeConfig + type FileBasedAgentLoader struct + func NewFileBasedAgentLoader(registry *AgentRegistry) *FileBasedAgentLoader + func (fbal *FileBasedAgentLoader) LoadFromDirectory(directory string) error + type HTTPHeader struct + Name string + Value string + type HealthCheckConfig struct + AgentSpecific map[string]*HealthCheckConfig + Enabled bool + FailureThreshold int + HTTPHeaders []HTTPHeader + InitialDelaySeconds int + Path string + PeriodSeconds int + Port int + SuccessThreshold int + TimeoutSeconds int + type HealthChecker struct + AgentID string + Config *HealthCheckConfig + ConsecutiveFails int + LastCheck time.Time + Logger *logrus.Logger + Status string + type IngressConfig struct + Annotations map[string]string + ClassName string + Enabled bool + Hosts []string + Rules []IngressRule + TLS []IngressTLS + type IngressPath struct + AgentID string + Path string + PathType string + ServiceName string + ServicePort int + type IngressRule struct + AgentID string + Host string + Paths []IngressPath + type IngressTLS struct + Hosts []string + SecretName string + type LLMProviderConfig struct + APIKey string + Config map[string]interface{} + Endpoint string + MaxRetries int + Model string + Timeout time.Duration + Type string + type LoggingConfig struct + Fields map[string]string + Format string + Level string + Output []string + Structured bool + type MetricsConfig struct + Enabled bool + Namespace string + Path string + Port int + Subsystem string + type MiddlewareConfig struct + Config map[string]interface{} + Enabled bool + Type string + type MiddlewareFunc func(next http.Handler) http.Handler + type MonitoringConfig struct + Alerting *AlertingConfig + Enabled bool + Metrics *MetricsConfig + Tracing *TracingConfig + type MultiAgentConfig struct + Agents map[string]*AgentConfig + Deployment *DeploymentConfig + Description string + Metadata map[string]interface{} + Name string + Routing *RoutingConfig + Shared *SharedConfig + Version string + func DefaultMultiAgentConfig() *MultiAgentConfig + func LoadMultiAgentConfigFromFile(filename string) (*MultiAgentConfig, error) + func (mac *MultiAgentConfig) GetAgentByPath(path string) (string, bool) + func (mac *MultiAgentConfig) GetAgentPaths() map[string][]string + func (mac *MultiAgentConfig) GetAgentPort(agentID string) int + func (mac *MultiAgentConfig) GetEnabledAgents() map[string]*AgentConfig + func (mac *MultiAgentConfig) ListAgentIDs() []string + func (mac *MultiAgentConfig) Validate() error + type MultiAgentCoordinator struct + func NewMultiAgentCoordinator() *MultiAgentCoordinator + func (mac *MultiAgentCoordinator) AddAgent(id string, agent *Agent) + func (mac *MultiAgentCoordinator) ExecuteParallel(ctx context.Context, agentIDs []string, input string) (map[string]AgentExecution, error) + func (mac *MultiAgentCoordinator) ExecuteSequential(ctx context.Context, agentIDs []string, initialInput string) ([]AgentExecution, error) + func (mac *MultiAgentCoordinator) GetAgent(id string) (*Agent, bool) + func (mac *MultiAgentCoordinator) ListAgents() []string + func (mac *MultiAgentCoordinator) RemoveAgent(id string) + type MultiAgentManager struct + func NewMultiAgentManager(config *MultiAgentConfig, llmManager *llm.ProviderManager, ...) (*MultiAgentManager, error) + func (mam *MultiAgentManager) GetConfig() *MultiAgentConfig + func (mam *MultiAgentManager) GetDeploymentState() *DeploymentState + func (mam *MultiAgentManager) GetMetrics() *MultiAgentMetrics + func (mam *MultiAgentManager) GetRouter() *mux.Router + func (mam *MultiAgentManager) Start(ctx context.Context) error + func (mam *MultiAgentManager) Stop(ctx context.Context) error + type MultiAgentMetrics struct + AgentMetrics map[string]*AgentMetrics + LastUpdated time.Time + RoutingMetrics *RoutingMetrics + TotalErrors int64 + TotalRequests int64 + type NetworkingConfig struct + Annotations map[string]string + DNS *DNSConfig + Ingress *IngressConfig + Ports []PortConfig + Proxy *ProxyConfig + TLS *TLSConfig + Type string + type PortConfig struct + AgentID string + Name string + Port int + Protocol string + TargetPort int + type PropertyDefinition struct + Default interface{} + Description string + Enum []interface{} + Example interface{} + Format string + Items *PropertyDefinition + MaxLength int + Maximum float64 + MinLength int + Minimum float64 + Pattern string + Properties map[string]*PropertyDefinition + Required []string + Type string + type ProxyConfig struct + Enabled bool + Headers map[string]string + MaxIdleConns int + Retries int + Timeout time.Duration + Type string + URL string + type RateLimit struct + Burst int + Period time.Duration + Requests int + SkipPaths []string + type RateLimitConfig struct + BurstLimit int + Enabled bool + Global *RateLimit + PerAgent map[string]*RateLimit + PerIP *RateLimit + PerUser *RateLimit + WindowSize time.Duration + type ResourceConfig struct + CPU string + GPU string + Limits ... + Memory string + Requests ... + Storage string + type RoutingCondition struct + Key string + Operator string + Type string + Value string + type RoutingConfig struct + DefaultAgent string + Middleware []MiddlewareConfig + Rules []RoutingRule + Type string + type RoutingMetrics struct + DefaultRoutes int64 + FailedRoutes int64 + RoutingDecisions map[string]int64 + type RoutingRule struct + AgentID string + Conditions []RoutingCondition + ID string + Metadata map[string]interface{} + Method string + Pattern string + Priority int + type SMTPConfig struct + Host string + Password string + Port int + TLS bool + Username string + type ScalingConfig struct + CustomMetrics []CustomMetricConfig + Enabled bool + MaxReplicas int + MinReplicas int + ScaleDownCooldown time.Duration + ScaleUpCooldown time.Duration + TargetCPUPercent int + TargetMemoryPercent int + type SchemaConfig struct + Input *SchemaDefinition + Output *SchemaDefinition + type SchemaDefinition struct + Enum []interface{} + Example interface{} + Format string + MaxLength int + MinLength int + Pattern string + Properties map[string]*PropertyDefinition + Required []string + Type string + type SecurityConfig struct + Authentication *AuthConfig + Authorization *AuthzConfig + CORS *CORSConfig + Encryption *EncryptionConfig + Headers map[string]string + RateLimit *RateLimitConfig + type SharedConfig struct + Cache *CacheConfig + Database *DatabaseConfig + Environment map[string]string + LLMProviders map[string]*LLMProviderConfig + Logging *LoggingConfig + Monitoring *MonitoringConfig + Secrets map[string]string + Security *SecurityConfig + type SlackConfig struct + Channel string + IconEmoji string + Username string + WebhookURL string + type StateChange struct + After map[string]interface{} + Before map[string]interface{} + Duration time.Duration + NodeID string + NodeName string + Timestamp time.Time + type TLSConfig struct + CAFile string + CertFile string + Enabled bool + InsecureSkipVerify bool + KeyFile string + type TracingConfig struct + Enabled bool + Endpoint string + SampleRate float64 + ServiceName string + type VolumeConfig struct + AgentID string + MountPath string + Name string + ReadOnly bool + Source string + Type string + type WebhookConfig struct + Headers map[string]string + Method string + Timeout time.Duration + URL string