agent

package
v0.2.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 1, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrMaxStepsExceeded = errors.New("agent exceeded max steps without converging")
View Source
var ErrUserDenied = errors.New("user denied action")

Functions

This section is empty.

Types

type AgentState

type AgentState struct {
	Task        string
	Steps       []Step
	Memory      *memory.Session
	Done        bool
	FinalOutput string
}

type CommitEvaluator

type CommitEvaluator struct{}

func (CommitEvaluator) FailThreshold

func (e CommitEvaluator) FailThreshold() float64

func (CommitEvaluator) IsValid

func (e CommitEvaluator) IsValid(action, output string) bool

func (CommitEvaluator) PassThreshold

func (e CommitEvaluator) PassThreshold() float64

func (CommitEvaluator) Score

func (e CommitEvaluator) Score(action, output string) float64

type ConflictEvaluator

type ConflictEvaluator struct{}

func (ConflictEvaluator) FailThreshold

func (e ConflictEvaluator) FailThreshold() float64

func (ConflictEvaluator) IsValid

func (e ConflictEvaluator) IsValid(action, output string) bool

func (ConflictEvaluator) PassThreshold

func (e ConflictEvaluator) PassThreshold() float64

func (ConflictEvaluator) Score

func (e ConflictEvaluator) Score(action, output string) float64

type Evaluator

type Evaluator interface {
	Score(action string, output string) float64
	IsValid(action string, output string) bool
	PassThreshold() float64
	FailThreshold() float64
}

type Executor

type Executor struct {
	// contains filtered or unexported fields
}

func NewExecutor

func NewExecutor(reg *tools.Registry) *Executor

func (*Executor) Execute

func (e *Executor) Execute(ctx context.Context, action, input string) (string, error)

func (*Executor) Has

func (e *Executor) Has(action string) bool

func (*Executor) Names

func (e *Executor) Names() []string

func (*Executor) RegisterTool

func (e *Executor) RegisterTool(t tools.Tool)

type ExplainEvaluator

type ExplainEvaluator struct{}

func (ExplainEvaluator) FailThreshold

func (e ExplainEvaluator) FailThreshold() float64

func (ExplainEvaluator) IsValid

func (e ExplainEvaluator) IsValid(_, output string) bool

func (ExplainEvaluator) PassThreshold

func (e ExplainEvaluator) PassThreshold() float64

func (ExplainEvaluator) Score

func (e ExplainEvaluator) Score(action, output string) float64

type LLMPlanner

type LLMPlanner struct {
	AI             *ai.Client
	AvailableTools []string
}

func (*LLMPlanner) Plan

func (p *LLMPlanner) Plan(ctx context.Context, task string, state *AgentState) (string, string, string, error)

type Option

type Option func(*Orchestrator)

func WithAI

func WithAI(c *ai.Client) Option

func WithApproval

func WithApproval(a *approval.Manager) Option

func WithEvaluator

func WithEvaluator(e Evaluator) Option

func WithExecutor

func WithExecutor(e *Executor) Option

func WithLogger

func WithLogger(l *observability.Logger) Option

func WithLongTerm

func WithLongTerm(s *memory.Store) Option

func WithMaxSteps

func WithMaxSteps(n int) Option

func WithPlanner

func WithPlanner(p Planner) Option

func WithSession

func WithSession(s *memory.Session) Option

func WithTools

func WithTools(reg *tools.Registry) Option

type Orchestrator

type Orchestrator struct {
	Planner       Planner
	Executor      *Executor
	Evaluator     Evaluator
	Approval      *approval.Manager
	Logger        *observability.Logger
	AI            *ai.Client
	LongTerm      *memory.Store
	SessionMemory *memory.Session
	MaxSteps      int
}

func New

func New(opts ...Option) *Orchestrator

func (*Orchestrator) Run

func (o *Orchestrator) Run(ctx context.Context, task string) (string, error)

type Planner

type Planner interface {
	Plan(ctx context.Context, task string, state *AgentState) (thought, action, input string, err error)
}

type RiskEvaluator

type RiskEvaluator struct{}

func (RiskEvaluator) FailThreshold

func (e RiskEvaluator) FailThreshold() float64

func (RiskEvaluator) IsValid

func (e RiskEvaluator) IsValid(_, output string) bool

func (RiskEvaluator) PassThreshold

func (e RiskEvaluator) PassThreshold() float64

func (RiskEvaluator) Score

func (e RiskEvaluator) Score(_, output string) float64

type Step

type Step struct {
	Thought     string
	Action      string
	ActionInput string
	Observation string
	Score       float64
	UserAction  string
	Time        time.Time
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL