Documentation
¶
Index ¶
- Variables
- type Agent
- func (a *Agent) A2ACard() *a2a.AgentCard
- func (a *Agent) A2AClient() *a2a.A2AClient
- func (a *Agent) A2AServer() *a2a.A2AServer
- func (a *Agent) AddKnowledgeSources(sources ...knowledge.KnowledgeSource)
- func (a *Agent) Close(ctx context.Context)
- func (a *Agent) DelegateTo(ctx context.Context, role, request string) (*a2a.DelegationFuture, error)
- func (a *Agent) EmitFrame(f stream.Frame)
- func (a *Agent) Equip(t ...tools.Tool)
- func (a *Agent) Execute(ctx context.Context, taskDesc, expectedOutput string, ctxTasks []string) (string, error)
- func (a *Agent) FrameChannel() <-chan stream.Frame
- func (a *Agent) GetBackstory() string
- func (a *Agent) GetGoal() string
- func (a *Agent) GetMaxIter() int
- func (a *Agent) GetRole() string
- func (a *Agent) GetTools() []tools.Tool
- func (a *Agent) GetUsageMetrics() map[string]int
- func (a *Agent) HandleA2AMessage(ctx context.Context, msg *a2a.A2AMessage) (*a2a.A2AMessage, error)
- func (a *Agent) MCPServer() *mcp.MCPServer
- func (a *Agent) Sandbox() sandbox.Provider
- func (a *Agent) SetUnifiedMemory(m *memory.UnifiedMemory)
- func (a *Agent) StartMCPServer(ctx context.Context, port string) error
- func (a *Agent) StartMCPStdioServer(ctx context.Context) error
- type Config
Constants ¶
This section is empty.
Variables ¶
var ErrMCPStdioDisabled = errors.New("agent: mcp stdio disabled; set Config.MCPStdioEnabled=true")
ErrMCPStdioDisabled is returned when StartMCPStdioServer is called with MCPStdioEnabled=false.
Functions ¶
This section is empty.
Types ¶
type Agent ¶
Agent represents an AI agent with a role, goal, tools, and memory.
func (*Agent) A2ACard ¶ added in v0.2.0
A2ACard returns the agent's A2A agent card, or nil if not registered.
func (*Agent) A2AClient ¶ added in v0.2.0
A2AClient returns the agent's A2A client, or nil if not enabled.
func (*Agent) A2AServer ¶ added in v0.2.0
A2AServer returns the agent's A2A server, or nil if not enabled.
func (*Agent) AddKnowledgeSources ¶ added in v0.4.0
func (a *Agent) AddKnowledgeSources(sources ...knowledge.KnowledgeSource)
AddKnowledgeSources appends shared knowledge sources.
func (*Agent) Close ¶ added in v0.2.0
Close shuts down the A2A server and unregisters the agent card.
func (*Agent) DelegateTo ¶ added in v0.2.0
func (a *Agent) DelegateTo(ctx context.Context, role, request string) (*a2a.DelegationFuture, error)
DelegateTo delegates a task to another agent by role and returns a DelegationFuture.
func (*Agent) EmitFrame ¶ added in v0.7.0
EmitFrame sends a streaming frame. No-op if frame channel is nil. Sets Source and Seq before emitting.
func (*Agent) Execute ¶
func (a *Agent) Execute(ctx context.Context, taskDesc, expectedOutput string, ctxTasks []string) (string, error)
Execute runs the agent's ReAct loop to complete a given task and returns the output.
func (*Agent) FrameChannel ¶ added in v0.7.0
FrameChannel returns the agent's frame channel, creating it lazily.
func (*Agent) GetBackstory ¶
GetBackstory returns the agent's backstory.
func (*Agent) GetMaxIter ¶
GetMaxIter returns the maximum number of iterations for the agent's ReAct loop.
func (*Agent) GetUsageMetrics ¶
GetUsageMetrics returns the agent's token and tool usage metrics.
func (*Agent) HandleA2AMessage ¶ added in v0.2.0
func (a *Agent) HandleA2AMessage(ctx context.Context, msg *a2a.A2AMessage) (*a2a.A2AMessage, error)
HandleA2AMessage processes an incoming delegation and returns a typed response.
func (*Agent) MCPServer ¶ added in v0.3.0
MCPServer returns the agent's MCP server, or nil if not started.
func (*Agent) Sandbox ¶ added in v0.3.0
Sandbox returns the agent's sandbox provider, or nil if not configured.
func (*Agent) SetUnifiedMemory ¶ added in v0.7.0
func (a *Agent) SetUnifiedMemory(m *memory.UnifiedMemory)
SetUnifiedMemory sets the agent's UnifiedMemory, auto-wrapping as memory.Store.
func (*Agent) StartMCPServer ¶ added in v0.3.0
StartMCPServer starts an MCP server exposing the agent's tools.
type Config ¶
type Config struct {
Role string
Goal string
Backstory string
LLM llm.Client
Tools []tools.Tool
Memory memory.Store
MaxIter int
MaxRPM int
MaxRetries int
MaxExecutionTime time.Duration
Verbose bool
AllowDelegation bool
StepCallback callback.Callback
// @sk-task a2a#T3.2: A2A protocol fields (AC-006)
A2APort int
A2AAuthToken string
A2ACapabilities []string
// @sk-task mcp-sandbox#T2.3, T3.1: sandbox type ("wasm"/"docker"/"") (AC-007)
SandboxType string
// @sk-task knowledge-sources#T2.2: knowledge sources and pipeline (AC-007)
KnowledgeSources []knowledge.KnowledgeSource
// @sk-task guardrails#T3.1: agent-level guardrails validated before final return (AC-009)
Guardrails []guardrail.Guardrail
// @sk-task training#T3.1: training directory for advice injection (AC-009, AC-010, AC-015)
TrainingDir string
// @sk-task mcp-stdio-server#T1.1: MCPStdioEnabled config guard (AC-004)
MCPStdioEnabled bool
// @sk-task unified-memory#T3.1: UnifiedMemory field (AC-003, AC-008, DEC-003)
UnifiedMemory *memory.UnifiedMemory
}
Config defines the configuration for an Agent.