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
MessageCallback is a function that can be called to save messages incrementally
type ProviderRepository ¶
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)
}
Click to show internal directories.
Click to hide internal directories.