interfaces

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2025 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AIModelIntegration

type AIModelIntegration interface {
	// GenerateResponse generates response(s) from the AI model with incremental saving
	GenerateResponse(ctx context.Context, messages []*entities.Message, toolList []*entities.Tool, options map[string]any, callback MessageCallback) ([]*entities.Message, error)

	// GetUsage returns token usage information for billing/reporting
	GetUsage() (*entities.Usage, error)

	// GetLastUsage returns the usage from the last API call
	GetLastUsage() (*entities.Usage, error)

	// ModelName returns the name of the model being used
	ModelName() string

	// ProviderType returns the type of provider
	ProviderType() entities.ProviderType
}

AIModelIntegration defines the interface for AI model providers

type AgentRepository

type AgentRepository interface {
	CreateAgent(ctx context.Context, agent *entities.Agent) error
	UpdateAgent(ctx context.Context, agent *entities.Agent) error
	DeleteAgent(ctx context.Context, id string) error
	GetAgent(ctx context.Context, id string) (*entities.Agent, error)
	ListAgents(ctx context.Context) ([]*entities.Agent, error)
}

type ChatRepository

type ChatRepository interface {
	CreateChat(ctx context.Context, chat *entities.Chat) error
	UpdateChat(ctx context.Context, chat *entities.Chat) error
	DeleteChat(ctx context.Context, id string) error
	GetChat(ctx context.Context, id string) (*entities.Chat, error)
	ListChats(ctx context.Context) ([]*entities.Chat, error)
}

type MessageCallback added in v1.5.0

type MessageCallback func(messages []*entities.Message) error

MessageCallback is a function that can be called to save messages incrementally

type ProviderRepository

type ProviderRepository interface {
	ListProviders(ctx context.Context) ([]*entities.Provider, error)
	GetProvider(ctx context.Context, id string) (*entities.Provider, error)
	CreateProvider(ctx context.Context, provider *entities.Provider) error
}

type TaskRepository added in v1.2.3

type TaskRepository interface {
	CreateTask(ctx context.Context, task *entities.Task) error
	UpdateTask(ctx context.Context, task *entities.Task) error
	DeleteTask(ctx context.Context, id string) error
	GetTask(ctx context.Context, id string) (*entities.Task, error)
	ListTasks(ctx context.Context) ([]*entities.Task, error)
}

type ToolRepository

type ToolRepository interface {
	RegisterTool(name string, tool *entities.Tool) error
	GetToolByName(name string) (*entities.Tool, error)
	ListTools() ([]*entities.Tool, error)

	CreateToolData(ctx context.Context, toolData *entities.ToolData) error
	UpdateToolData(ctx context.Context, toolData *entities.ToolData) error
	DeleteToolData(ctx context.Context, id string) error
	GetToolData(ctx context.Context, id string) (*entities.ToolData, error)
	ListToolData(ctx context.Context) ([]*entities.ToolData, error)
}

Jump to

Keyboard shortcuts

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