callbacks

package
v0.20.157 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TimeNowFn = time.Now

Functions

func IsTimeout added in v0.14.89

func IsTimeout(err error) bool

IsTimeout returns true for timeout error

Types

type Fanout

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

Fanout is a callback handler that forwards the events to multiple callbacks.

func NewFanout

func NewFanout(callbacks ...assistants.Callback) *Fanout

func (*Fanout) Add

func (l *Fanout) Add(callback assistants.Callback)

func (*Fanout) OnAssistantEnd

func (l *Fanout) OnAssistantEnd(ctx context.Context, assistant assistants.IAssistant, input string, resp *assistants.Response, messageHistory llms.Messages)

func (*Fanout) OnAssistantError

func (l *Fanout) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error, messages []llms.Message)

func (*Fanout) OnAssistantLLMCallEnd added in v0.10.61

func (l *Fanout) OnAssistantLLMCallEnd(ctx context.Context, agent assistants.IAssistant, llm llms.Model, resp *llms.ContentResponse)

func (*Fanout) OnAssistantLLMCallStart added in v0.10.61

func (l *Fanout) OnAssistantLLMCallStart(ctx context.Context, agent assistants.IAssistant, llm llms.Model, payload []llms.Message)

func (*Fanout) OnAssistantLLMParseError

func (l *Fanout) OnAssistantLLMParseError(ctx context.Context, a assistants.IAssistant, input string, response string, err error)

func (*Fanout) OnAssistantStart

func (l *Fanout) OnAssistantStart(ctx context.Context, assistant assistants.IAssistant, input string)

func (*Fanout) OnToolEnd

func (l *Fanout) OnToolEnd(ctx context.Context, tool tools.ITool, assistantName, input string, output string)

func (*Fanout) OnToolError

func (l *Fanout) OnToolError(ctx context.Context, tool tools.ITool, assistantName, input string, err error)

func (*Fanout) OnToolNotFound

func (l *Fanout) OnToolNotFound(ctx context.Context, agent assistants.IAssistant, tool string)

func (*Fanout) OnToolStart

func (l *Fanout) OnToolStart(ctx context.Context, tool tools.ITool, assistantName, input string)

type Mode

type Mode int

Mode defines the mode for callback printing

const (
	// ModeDefault is the default mode for callback printing
	ModeDefault Mode = iota
	// ModeVerbose is the verbose mode for callback printing
	ModeVerbose
)

type Noop

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

Noop does nothing.

func NewNoop

func NewNoop() *Noop

func (*Noop) OnAssistantEnd

func (l *Noop) OnAssistantEnd(ctx context.Context, assistant assistants.IAssistant, input string, resp *assistants.Response, messageHistory llms.Messages)

func (*Noop) OnAssistantError

func (l *Noop) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error, messageHistory llms.Messages)

func (*Noop) OnAssistantLLMCallEnd added in v0.10.61

func (l *Noop) OnAssistantLLMCallEnd(ctx context.Context, agent assistants.IAssistant, llm llms.Model, resp *llms.ContentResponse)

func (*Noop) OnAssistantLLMCallStart added in v0.10.61

func (l *Noop) OnAssistantLLMCallStart(ctx context.Context, agent assistants.IAssistant, llm llms.Model, payload []llms.Message)

func (*Noop) OnAssistantLLMParseError

func (l *Noop) OnAssistantLLMParseError(ctx context.Context, a assistants.IAssistant, input string, response string, err error)

func (*Noop) OnAssistantStart

func (l *Noop) OnAssistantStart(ctx context.Context, assistant assistants.IAssistant, input string)

func (*Noop) OnProgress added in v0.13.80

func (l *Noop) OnProgress(ctx context.Context, agent assistants.IAssistant, title, message string)

func (*Noop) OnToolEnd

func (l *Noop) OnToolEnd(ctx context.Context, tool tools.ITool, assistantName, input string, output string)

func (*Noop) OnToolError

func (l *Noop) OnToolError(ctx context.Context, tool tools.ITool, assistantName, input string, err error)

func (*Noop) OnToolNotFound

func (l *Noop) OnToolNotFound(ctx context.Context, agent assistants.IAssistant, tool string)

func (*Noop) OnToolStart

func (l *Noop) OnToolStart(ctx context.Context, tool tools.ITool, assistantName, input string)

func (*Noop) WithProgress added in v0.13.81

func (l *Noop) WithProgress(cb assistants.OnProgressFunc)

type PackageLogger

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

PackageLogger is a callback handler that prints to the logger.

func NewPackageLogger

func NewPackageLogger(logger *xlog.PackageLogger) *PackageLogger

func (*PackageLogger) OnAssistantEnd

func (l *PackageLogger) OnAssistantEnd(ctx context.Context, assistant assistants.IAssistant, input string, resp *assistants.Response, messageHistory llms.Messages)

func (*PackageLogger) OnAssistantError

func (l *PackageLogger) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error, messageHistory llms.Messages)

func (*PackageLogger) OnAssistantLLMCallEnd added in v0.10.61

func (l *PackageLogger) OnAssistantLLMCallEnd(ctx context.Context, agent assistants.IAssistant, llm llms.Model, resp *llms.ContentResponse)

func (*PackageLogger) OnAssistantLLMCallStart added in v0.10.61

func (l *PackageLogger) OnAssistantLLMCallStart(ctx context.Context, agent assistants.IAssistant, llm llms.Model, payload []llms.Message)

func (*PackageLogger) OnAssistantLLMParseError

func (l *PackageLogger) OnAssistantLLMParseError(ctx context.Context, assistant assistants.IAssistant, input string, response string, err error)

func (*PackageLogger) OnAssistantStart

func (l *PackageLogger) OnAssistantStart(ctx context.Context, assistant assistants.IAssistant, input string)

func (*PackageLogger) OnToolEnd

func (l *PackageLogger) OnToolEnd(ctx context.Context, tool tools.ITool, assistantName, input string, output string)

func (*PackageLogger) OnToolError

func (l *PackageLogger) OnToolError(ctx context.Context, tool tools.ITool, assistantName, input string, err error)

func (*PackageLogger) OnToolNotFound

func (l *PackageLogger) OnToolNotFound(ctx context.Context, agent assistants.IAssistant, tool string)

func (*PackageLogger) OnToolStart

func (l *PackageLogger) OnToolStart(ctx context.Context, tool tools.ITool, assistantName, input string)

type Printer

type Printer struct {
	Out  io.Writer
	Mode Mode
	// contains filtered or unexported fields
}

Printer is a callback handler that prints to the Writer.

func NewPrinter

func NewPrinter(out io.Writer, mode Mode) *Printer

func (*Printer) OnAssistantEnd

func (l *Printer) OnAssistantEnd(ctx context.Context, assistant assistants.IAssistant, input string, resp *assistants.Response, messageHistory llms.Messages)

func (*Printer) OnAssistantError

func (l *Printer) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error, messages []llms.Message)

func (*Printer) OnAssistantLLMCallEnd added in v0.10.61

func (l *Printer) OnAssistantLLMCallEnd(ctx context.Context, agent assistants.IAssistant, llm llms.Model, resp *llms.ContentResponse)

func (*Printer) OnAssistantLLMCallStart added in v0.10.61

func (l *Printer) OnAssistantLLMCallStart(ctx context.Context, agent assistants.IAssistant, llm llms.Model, payload []llms.Message)

func (*Printer) OnAssistantLLMParseError

func (l *Printer) OnAssistantLLMParseError(ctx context.Context, assistant assistants.IAssistant, input string, response string, err error)

func (*Printer) OnAssistantStart

func (l *Printer) OnAssistantStart(ctx context.Context, assistant assistants.IAssistant, input string)

func (*Printer) OnToolEnd

func (l *Printer) OnToolEnd(ctx context.Context, tool tools.ITool, assistantName, input string, output string)

func (*Printer) OnToolError

func (l *Printer) OnToolError(ctx context.Context, tool tools.ITool, assistantName, input string, err error)

func (*Printer) OnToolNotFound

func (l *Printer) OnToolNotFound(ctx context.Context, agent assistants.IAssistant, tool string)

func (*Printer) OnToolStart

func (l *Printer) OnToolStart(ctx context.Context, tool tools.ITool, assistantName, input string)

type RunStats

type RunStats struct {
	ChatID string
	RunID  string

	Duration                time.Duration
	TotalMessages           uint32
	Usage                   llms.UsageStats
	AssistantCalls          uint32
	AssistantCallsSucceeded uint32
	AssistantCallsFailed    uint32
	ToolsCalls              uint32
	ToolsCallsSucceeded     uint32
	ToolsCallsFailed        uint32
	ToolNotFound            uint32
}

type Scratchpad

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

ScratchpadCallback is a callback handler that prints to the Writer.

func NewScratchpad

func NewScratchpad(mode Mode) *Scratchpad

func (*Scratchpad) EndRun

func (l *Scratchpad) EndRun(ctx context.Context) (*RunStats, []byte)

func (*Scratchpad) OnAssistantEnd

func (l *Scratchpad) OnAssistantEnd(ctx context.Context, assistant assistants.IAssistant, input string, resp *assistants.Response, messageHistory llms.Messages)

func (*Scratchpad) OnAssistantError

func (l *Scratchpad) OnAssistantError(ctx context.Context, assistant assistants.IAssistant, input string, err error, messageHistory llms.Messages)

func (*Scratchpad) OnAssistantLLMCallEnd added in v0.10.61

func (l *Scratchpad) OnAssistantLLMCallEnd(ctx context.Context, agent assistants.IAssistant, llm llms.Model, resp *llms.ContentResponse)

func (*Scratchpad) OnAssistantLLMCallStart added in v0.10.61

func (l *Scratchpad) OnAssistantLLMCallStart(ctx context.Context, agent assistants.IAssistant, llm llms.Model, payload []llms.Message)

func (*Scratchpad) OnAssistantLLMParseError

func (l *Scratchpad) OnAssistantLLMParseError(ctx context.Context, assistant assistants.IAssistant, input string, response string, err error)

func (*Scratchpad) OnAssistantStart

func (l *Scratchpad) OnAssistantStart(ctx context.Context, assistant assistants.IAssistant, input string)

func (*Scratchpad) OnToolEnd

func (l *Scratchpad) OnToolEnd(ctx context.Context, tool tools.ITool, assistantName, input string, output string)

func (*Scratchpad) OnToolError

func (l *Scratchpad) OnToolError(ctx context.Context, tool tools.ITool, assistantName, input string, err error)

func (*Scratchpad) OnToolNotFound

func (l *Scratchpad) OnToolNotFound(ctx context.Context, agent assistants.IAssistant, tool string)

func (*Scratchpad) OnToolStart

func (l *Scratchpad) OnToolStart(ctx context.Context, tool tools.ITool, assistantName, input string)

func (*Scratchpad) StartRun

func (l *Scratchpad) StartRun(ctx context.Context)

Jump to

Keyboard shortcuts

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