Documentation
¶
Overview ¶
Package databasesql provides a database/sql driver implementation for AgentPG.
Index ¶
- type Driver
- func (d *Driver) BeginTx(ctx context.Context) (*sql.Tx, error)
- func (d *Driver) Close() error
- func (d *Driver) CommitTx(ctx context.Context, tx *sql.Tx) error
- func (d *Driver) DB() *sql.DB
- func (d *Driver) Listener() driver.Listener
- func (d *Driver) RollbackTx(ctx context.Context, tx *sql.Tx) error
- func (d *Driver) Store() driver.Store[*sql.Tx]
- type Listener
- type Store
- func (s *Store) ArchiveMessage(ctx context.Context, compactionEventID, messageID, sessionID uuid.UUID, ...) error
- func (s *Store) CancelRun(ctx context.Context, id uuid.UUID) (bool, string, string, error)
- func (s *Store) ClaimRuns(ctx context.Context, instanceID string, maxCount int, runMode string) ([]*driver.Run, error)
- func (s *Store) ClaimToolExecutions(ctx context.Context, instanceID string, maxCount int) ([]*driver.ToolExecution, error)
- func (s *Store) CompleteToolExecution(ctx context.Context, id uuid.UUID, output string, isError bool, ...) error
- func (s *Store) CompleteToolsAndContinueRun(ctx context.Context, sessionID, runID uuid.UUID, ...) (*driver.Message, error)
- func (s *Store) CreateAgent(ctx context.Context, agent *driver.AgentDefinition) (*driver.AgentDefinition, error)
- func (s *Store) CreateCompactionEvent(ctx context.Context, params driver.CreateCompactionEventParams) (*driver.CompactionEvent, error)
- func (s *Store) CreateContentBlocks(ctx context.Context, messageID uuid.UUID, blocks []driver.ContentBlock) error
- func (s *Store) CreateIteration(ctx context.Context, params driver.CreateIterationParams) (*driver.Iteration, error)
- func (s *Store) CreateMessage(ctx context.Context, params driver.CreateMessageParams) (*driver.Message, error)
- func (s *Store) CreateRun(ctx context.Context, params driver.CreateRunParams) (*driver.Run, error)
- func (s *Store) CreateRunTx(ctx context.Context, tx *sql.Tx, params driver.CreateRunParams) (*driver.Run, error)
- func (s *Store) CreateSession(ctx context.Context, params driver.CreateSessionParams) (*driver.Session, error)
- func (s *Store) CreateSessionTx(ctx context.Context, tx *sql.Tx, params driver.CreateSessionParams) (*driver.Session, error)
- func (s *Store) CreateToolExecution(ctx context.Context, params driver.CreateToolExecutionParams) (*driver.ToolExecution, error)
- func (s *Store) CreateToolExecutions(ctx context.Context, params []driver.CreateToolExecutionParams) ([]*driver.ToolExecution, error)
- func (s *Store) CreateToolExecutionsAndUpdateRunState(ctx context.Context, params []driver.CreateToolExecutionParams, ...) ([]*driver.ToolExecution, error)
- func (s *Store) DeleteAgent(ctx context.Context, id uuid.UUID) error
- func (s *Store) DeleteMessage(ctx context.Context, id uuid.UUID) error
- func (s *Store) DeleteRunMessages(ctx context.Context, runID uuid.UUID) (int, error)
- func (s *Store) DeleteStaleInstances(ctx context.Context, ttl time.Duration) (int, error)
- func (s *Store) DeleteTool(ctx context.Context, name string) error
- func (s *Store) DiscardToolExecution(ctx context.Context, id uuid.UUID, errorMsg string) error
- func (s *Store) GetAgent(ctx context.Context, id uuid.UUID) (*driver.AgentDefinition, error)
- func (s *Store) GetAgentByName(ctx context.Context, name string, metadata map[string]any) (*driver.AgentDefinition, error)
- func (s *Store) GetAllInstanceActiveCounts(ctx context.Context) (map[string][2]int, error)
- func (s *Store) GetCompactionEvents(ctx context.Context, sessionID uuid.UUID, limit int) ([]*driver.CompactionEvent, error)
- func (s *Store) GetCompactionStats(ctx context.Context) (*driver.CompactionStats, error)
- func (s *Store) GetContentBlocks(ctx context.Context, messageID uuid.UUID) ([]driver.ContentBlock, error)
- func (s *Store) GetInstance(ctx context.Context, instanceID string) (*driver.Instance, error)
- func (s *Store) GetInstanceActiveCounts(ctx context.Context, instanceID string) (activeRuns, activeTools int, err error)
- func (s *Store) GetInstanceTools(ctx context.Context, instanceID string) ([]string, error)
- func (s *Store) GetIteration(ctx context.Context, id uuid.UUID) (*driver.Iteration, error)
- func (s *Store) GetIterationsByRun(ctx context.Context, runID uuid.UUID) ([]*driver.Iteration, error)
- func (s *Store) GetIterationsForPoll(ctx context.Context, instanceID string, pollInterval time.Duration, ...) ([]*driver.Iteration, error)
- func (s *Store) GetLeader(ctx context.Context) (string, error)
- func (s *Store) GetMessage(ctx context.Context, id uuid.UUID) (*driver.Message, error)
- func (s *Store) GetMessages(ctx context.Context, sessionID uuid.UUID, limit int) ([]*driver.Message, error)
- func (s *Store) GetMessagesByRun(ctx context.Context, runID uuid.UUID) ([]*driver.Message, error)
- func (s *Store) GetMessagesForRunContext(ctx context.Context, runID uuid.UUID) ([]*driver.Message, error)
- func (s *Store) GetMessagesWithRunInfo(ctx context.Context, sessionID uuid.UUID, limit int) ([]*driver.MessageWithRunInfo, error)
- func (s *Store) GetMetadataValues(ctx context.Context, key string) ([]driver.MetadataValue, error)
- func (s *Store) GetPendingToolExecutionsForRun(ctx context.Context, runID uuid.UUID) ([]*driver.ToolExecution, error)
- func (s *Store) GetRun(ctx context.Context, id uuid.UUID) (*driver.Run, error)
- func (s *Store) GetRunsBySession(ctx context.Context, sessionID uuid.UUID, limit int) ([]*driver.Run, error)
- func (s *Store) GetSession(ctx context.Context, id uuid.UUID) (*driver.Session, error)
- func (s *Store) GetStaleInstances(ctx context.Context, ttl time.Duration) ([]string, error)
- func (s *Store) GetStuckPendingToolsRuns(ctx context.Context, limit int) ([]*driver.Run, error)
- func (s *Store) GetStuckRuns(ctx context.Context, timeout time.Duration, maxRescueAttempts, limit int) ([]*driver.Run, error)
- func (s *Store) GetTool(ctx context.Context, name string) (*driver.ToolDefinition, error)
- func (s *Store) GetToolExecution(ctx context.Context, id uuid.UUID) (*driver.ToolExecution, error)
- func (s *Store) GetToolExecutionsByIteration(ctx context.Context, iterationID uuid.UUID) ([]*driver.ToolExecution, error)
- func (s *Store) GetToolExecutionsByRun(ctx context.Context, runID uuid.UUID) ([]*driver.ToolExecution, error)
- func (s *Store) IsLeader(ctx context.Context, instanceID string) (bool, error)
- func (s *Store) ListAgents(ctx context.Context, params driver.ListAgentsParams) ([]*driver.AgentDefinition, int, error)
- func (s *Store) ListInstances(ctx context.Context) ([]*driver.Instance, error)
- func (s *Store) ListRuns(ctx context.Context, params driver.ListRunsParams) ([]*driver.Run, int, error)
- func (s *Store) ListSessions(ctx context.Context, params driver.ListSessionsParams) ([]*driver.Session, int, error)
- func (s *Store) ListToolExecutions(ctx context.Context, params driver.ListToolExecutionsParams) ([]*driver.ToolExecution, int, error)
- func (s *Store) ListTools(ctx context.Context) ([]*driver.ToolDefinition, error)
- func (s *Store) RefreshLeader(ctx context.Context, instanceID string, ttl time.Duration) error
- func (s *Store) RegisterInstance(ctx context.Context, params driver.RegisterInstanceParams) error
- func (s *Store) RegisterInstanceTool(ctx context.Context, instanceID, toolName string) error
- func (s *Store) ReleaseLeader(ctx context.Context, instanceID string) error
- func (s *Store) RescueRun(ctx context.Context, id uuid.UUID) error
- func (s *Store) RetryToolExecution(ctx context.Context, id uuid.UUID, scheduledAt time.Time, lastError string) error
- func (s *Store) SnoozeToolExecution(ctx context.Context, id uuid.UUID, scheduledAt time.Time) error
- func (s *Store) TryAcquireLeader(ctx context.Context, instanceID string, ttl time.Duration) (bool, error)
- func (s *Store) UnregisterInstance(ctx context.Context, instanceID string) error
- func (s *Store) UnregisterInstanceTool(ctx context.Context, instanceID, toolName string) error
- func (s *Store) UpdateAgent(ctx context.Context, agent *driver.AgentDefinition) error
- func (s *Store) UpdateHeartbeat(ctx context.Context, instanceID string) error
- func (s *Store) UpdateIteration(ctx context.Context, id uuid.UUID, updates map[string]any) error
- func (s *Store) UpdateMessage(ctx context.Context, id uuid.UUID, updates map[string]any) error
- func (s *Store) UpdateRun(ctx context.Context, id uuid.UUID, updates map[string]any) error
- func (s *Store) UpdateRunState(ctx context.Context, id uuid.UUID, state driver.RunState, ...) error
- func (s *Store) UpdateSession(ctx context.Context, id uuid.UUID, updates map[string]any) error
- func (s *Store) UpdateToolExecution(ctx context.Context, id uuid.UUID, updates map[string]any) error
- func (s *Store) UpsertTool(ctx context.Context, tool *driver.ToolDefinition) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Driver ¶
type Driver struct {
// contains filtered or unexported fields
}
Driver implements driver.Driver using database/sql.
func New ¶
New creates a new database/sql driver using the provided connection. The connStr is required for creating listener connections.
func (*Driver) Listener ¶
Listener returns the listener for LISTEN/NOTIFY. Uses lib/pq for LISTEN/NOTIFY support.
func (*Driver) RollbackTx ¶
RollbackTx rolls back a transaction.
type Listener ¶
type Listener struct {
// contains filtered or unexported fields
}
Listener implements driver.Listener using lib/pq.
func NewListener ¶
NewListener creates a new Listener using the provided connection string.
func (*Listener) Notifications ¶
func (l *Listener) Notifications() <-chan driver.Notification
Notifications returns a channel for receiving notifications.
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store implements driver.Store using database/sql.
func (*Store) ArchiveMessage ¶
func (*Store) CancelRun ¶ added in v0.3.1
CancelRun atomically cancels a run and all its child runs via stored procedure.
func (*Store) ClaimToolExecutions ¶
func (*Store) CompleteToolExecution ¶
func (*Store) CompleteToolsAndContinueRun ¶
func (*Store) CreateAgent ¶
func (s *Store) CreateAgent(ctx context.Context, agent *driver.AgentDefinition) (*driver.AgentDefinition, error)
func (*Store) CreateCompactionEvent ¶
func (s *Store) CreateCompactionEvent(ctx context.Context, params driver.CreateCompactionEventParams) (*driver.CompactionEvent, error)
func (*Store) CreateContentBlocks ¶
func (*Store) CreateIteration ¶
func (*Store) CreateMessage ¶
func (*Store) CreateRunTx ¶
func (*Store) CreateSession ¶
func (*Store) CreateSessionTx ¶
func (*Store) CreateToolExecution ¶
func (s *Store) CreateToolExecution(ctx context.Context, params driver.CreateToolExecutionParams) (*driver.ToolExecution, error)
func (*Store) CreateToolExecutions ¶
func (s *Store) CreateToolExecutions(ctx context.Context, params []driver.CreateToolExecutionParams) ([]*driver.ToolExecution, error)
func (*Store) CreateToolExecutionsAndUpdateRunState ¶
func (*Store) DeleteMessage ¶
func (*Store) DeleteRunMessages ¶ added in v0.3.1
DeleteRunMessages deletes all messages and content blocks for a run.
func (*Store) DeleteStaleInstances ¶
func (*Store) DiscardToolExecution ¶
func (*Store) GetAgentByName ¶
func (*Store) GetAllInstanceActiveCounts ¶
GetAllInstanceActiveCounts returns the active run and tool counts for all instances. Returns a map of instance ID to [activeRuns, activeTools].
func (*Store) GetCompactionEvents ¶
func (*Store) GetCompactionStats ¶
func (*Store) GetContentBlocks ¶
func (*Store) GetInstance ¶
func (*Store) GetInstanceActiveCounts ¶
func (s *Store) GetInstanceActiveCounts(ctx context.Context, instanceID string) (activeRuns, activeTools int, err error)
GetInstanceActiveCounts returns the active run and tool counts for an instance. Counts are calculated on-the-fly by querying runs and tool_executions tables.
func (*Store) GetInstanceTools ¶
func (*Store) GetIteration ¶
func (*Store) GetIterationsByRun ¶
func (*Store) GetIterationsForPoll ¶
func (*Store) GetMessage ¶
func (*Store) GetMessages ¶
func (*Store) GetMessagesByRun ¶
func (*Store) GetMessagesForRunContext ¶
func (*Store) GetMessagesWithRunInfo ¶
func (*Store) GetMetadataValues ¶
func (*Store) GetPendingToolExecutionsForRun ¶
func (*Store) GetRunsBySession ¶
func (*Store) GetSession ¶
func (*Store) GetStaleInstances ¶
func (*Store) GetStuckPendingToolsRuns ¶
func (*Store) GetStuckRuns ¶
func (*Store) GetToolExecution ¶
func (*Store) GetToolExecutionsByIteration ¶
func (*Store) GetToolExecutionsByRun ¶
func (*Store) ListAgents ¶
func (s *Store) ListAgents(ctx context.Context, params driver.ListAgentsParams) ([]*driver.AgentDefinition, int, error)
func (*Store) ListInstances ¶
func (*Store) ListSessions ¶
func (*Store) ListToolExecutions ¶
func (s *Store) ListToolExecutions(ctx context.Context, params driver.ListToolExecutionsParams) ([]*driver.ToolExecution, int, error)