environment

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: May 14, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrMissingLeader = errors.New("leader agent is not set")
)

Functions

This section is empty.

Types

type Environment

type Environment struct {
	Team           *Team
	SopExpert      schema.Agent
	Planner        schema.Agent
	Watcher        schema.Agent
	WatchCondition func(message schema.Message) bool
	WatchChan      chan schema.Message
	WatchChanDone  chan struct{}
	Memory         schema.Memory
	Callback       callback.Handler
	MaxTurn        int
	MaxToken       int
	Sop            string
	// contains filtered or unexported fields
}

func NewEnv

func NewEnv() *Environment

func (*Environment) Agent

func (e *Environment) Agent(name string) schema.Agent

func (*Environment) Consume

func (e *Environment) Consume(ctx context.Context) *schema.Message

Consume When reach max token or max turn, consume return nil Consume will return next message unhandled, when next message is same receiver, it will be return instead of next message

func (*Environment) GetSubscribeAgents

func (e *Environment) GetSubscribeAgents(ctx context.Context,
	subscribed schema.Agent) []schema.Agent

func (*Environment) GetTeam

func (e *Environment) GetTeam() []schema.Agent

func (*Environment) GetTeamLeader

func (e *Environment) GetTeamLeader() schema.Agent

func (*Environment) LoadMemory

func (e *Environment) LoadMemory(ctx context.Context, receiver schema.Agent) []schema.Message

func (*Environment) Produce

func (e *Environment) Produce(ctx context.Context, msgs ...schema.Message) error

func (*Environment) SOP

func (e *Environment) SOP() string

type SubscribeMode

type SubscribeMode int
const (
	// DefaultSubMode if leader agent exists,use leader sub, or else ALL sub
	DefaultSubMode SubscribeMode = iota
	LeaderSubMode
	ALLSubMode
	CustomSubMode
)

type Team

type Team struct {
	Leader     schema.Agent
	Subscribes []schema.Subscribe
	SubMode    SubscribeMode
	// contains filtered or unexported fields
}

func NewTeam

func NewTeam() *Team

func (*Team) AddMembers

func (t *Team) AddMembers(members ...schema.Agent)

func (*Team) GetMsgSubMembers

func (t *Team) GetMsgSubMembers(msg *schema.Message) (subscribers []string)

func (*Team) GetSubMembers

func (t *Team) GetSubMembers(_ context.Context,
	subscribed schema.Agent) []schema.Agent

func (*Team) InitSubRelation

func (t *Team) InitSubRelation() error

func (*Team) Member

func (t *Team) Member(name string) schema.Agent

func (*Team) RemoveMembers

func (t *Team) RemoveMembers(names []string)

Jump to

Keyboard shortcuts

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