Documentation
¶
Index ¶
- func Close(db *sql.DB) error
- func Connect(config *ConnectionConfig) (*sql.DB, error)
- func HealthCheck(db *sql.DB) error
- func Migrate(db *sql.DB) error
- func MigrateContext(ctx context.Context, db *sql.DB) error
- func Rollback(db *sql.DB) error
- func RollbackContext(ctx context.Context, db *sql.DB) error
- type ConnectionConfig
- type CreateMessageParams
- type CreateSessionParams
- type CreateToolExecutionParams
- type DB
- func (d *DB) Close() error
- func (d *DB) DB() *sql.DB
- func (d *DB) ExecInTx(ctx context.Context, query string, args ...interface{}) error
- func (d *DB) Health() error
- func (d *DB) Ping() error
- func (d *DB) PingContext(ctx context.Context) error
- func (d *DB) Stats() sql.DBStats
- func (d *DB) WithTx(ctx context.Context, fn func(*Queries) error) error
- func (d *DB) WithTxOptions(ctx context.Context, opts *sql.TxOptions, fn func(*Queries) error) error
- type DBTX
- type GetConversationThreadRow
- type GetFailedToolExecutionsParams
- type GetMessageCountByRoleParams
- type GetMessagesByTimeRangeParams
- type GetSessionWithMessageCountRow
- type GetToolExecutionStatsRow
- type GetToolExecutionsByTimeRangeParams
- type GetToolUsageStatsRow
- type ListMessagesByRoleParams
- type ListMessagesBySessionPaginatedParams
- type ListSessionsByStatusParams
- type ListSessionsParams
- type ListToolExecutionsByNameParams
- type ListToolExecutionsBySessionParams
- type ListToolExecutionsByStatusParams
- type Message
- type Metadata
- type Migration
- type MigrationStatus
- type Querier
- type Queries
- func (q *Queries) ArchiveSession(ctx context.Context, id string) error
- func (q *Queries) CountSessions(ctx context.Context) (int64, error)
- func (q *Queries) CountSessionsByStatus(ctx context.Context, status string) (int64, error)
- func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) error
- func (q *Queries) CreateSession(ctx context.Context, arg CreateSessionParams) error
- func (q *Queries) CreateToolExecution(ctx context.Context, arg CreateToolExecutionParams) error
- func (q *Queries) DeleteMessage(ctx context.Context, id string) error
- func (q *Queries) DeleteMessagesBySession(ctx context.Context, sessionID string) error
- func (q *Queries) DeleteMetadata(ctx context.Context, key string) error
- func (q *Queries) DeleteSession(ctx context.Context, id string) error
- func (q *Queries) DeleteToolExecution(ctx context.Context, id string) error
- func (q *Queries) DeleteToolExecutionsByMessage(ctx context.Context, messageID string) error
- func (q *Queries) GetConversationThread(ctx context.Context, id string) ([]GetConversationThreadRow, error)
- func (q *Queries) GetFailedToolExecutions(ctx context.Context, arg GetFailedToolExecutionsParams) ([]ToolExecution, error)
- func (q *Queries) GetLatestMessage(ctx context.Context, sessionID string) (Message, error)
- func (q *Queries) GetMessage(ctx context.Context, id string) (Message, error)
- func (q *Queries) GetMessageCount(ctx context.Context, sessionID string) (int64, error)
- func (q *Queries) GetMessageCountByRole(ctx context.Context, arg GetMessageCountByRoleParams) (int64, error)
- func (q *Queries) GetMessagesByTimeRange(ctx context.Context, arg GetMessagesByTimeRangeParams) ([]Message, error)
- func (q *Queries) GetMetadata(ctx context.Context, key string) (Metadata, error)
- func (q *Queries) GetPendingToolExecutions(ctx context.Context) ([]ToolExecution, error)
- func (q *Queries) GetRecentToolExecutions(ctx context.Context, limit int64) ([]ToolExecution, error)
- func (q *Queries) GetSession(ctx context.Context, id string) (Session, error)
- func (q *Queries) GetSessionByID(ctx context.Context, id string) (Session, error)
- func (q *Queries) GetSessionWithMessageCount(ctx context.Context, id string) (GetSessionWithMessageCountRow, error)
- func (q *Queries) GetToolExecution(ctx context.Context, id string) (ToolExecution, error)
- func (q *Queries) GetToolExecutionCount(ctx context.Context, messageID string) (int64, error)
- func (q *Queries) GetToolExecutionCountByStatus(ctx context.Context, status string) (int64, error)
- func (q *Queries) GetToolExecutionStats(ctx context.Context, toolName string) (GetToolExecutionStatsRow, error)
- func (q *Queries) GetToolExecutionsByTimeRange(ctx context.Context, arg GetToolExecutionsByTimeRangeParams) ([]ToolExecution, error)
- func (q *Queries) GetToolUsageStats(ctx context.Context) ([]GetToolUsageStatsRow, error)
- func (q *Queries) GetTotalTokensUsed(ctx context.Context, sessionID string) (interface{}, error)
- func (q *Queries) HardDeleteSession(ctx context.Context, id string) error
- func (q *Queries) IncrementRetryCount(ctx context.Context, id string) error
- func (q *Queries) ListAllSessions(ctx context.Context) ([]Session, error)
- func (q *Queries) ListMessagesByParent(ctx context.Context, parentID *string) ([]Message, error)
- func (q *Queries) ListMessagesByRole(ctx context.Context, arg ListMessagesByRoleParams) ([]Message, error)
- func (q *Queries) ListMessagesBySession(ctx context.Context, sessionID string) ([]Message, error)
- func (q *Queries) ListMessagesBySessionPaginated(ctx context.Context, arg ListMessagesBySessionPaginatedParams) ([]Message, error)
- func (q *Queries) ListMetadata(ctx context.Context) ([]Metadata, error)
- func (q *Queries) ListSessions(ctx context.Context, arg ListSessionsParams) ([]Session, error)
- func (q *Queries) ListSessionsByStatus(ctx context.Context, arg ListSessionsByStatusParams) ([]Session, error)
- func (q *Queries) ListToolExecutionsByMessage(ctx context.Context, messageID string) ([]ToolExecution, error)
- func (q *Queries) ListToolExecutionsByName(ctx context.Context, arg ListToolExecutionsByNameParams) ([]ToolExecution, error)
- func (q *Queries) ListToolExecutionsBySession(ctx context.Context, arg ListToolExecutionsBySessionParams) ([]ToolExecution, error)
- func (q *Queries) ListToolExecutionsByStatus(ctx context.Context, arg ListToolExecutionsByStatusParams) ([]ToolExecution, error)
- func (q *Queries) MetadataExists(ctx context.Context, key string) (bool, error)
- func (q *Queries) SearchMessages(ctx context.Context, arg SearchMessagesParams) ([]Message, error)
- func (q *Queries) SearchSessions(ctx context.Context, arg SearchSessionsParams) ([]Session, error)
- func (q *Queries) SetMetadata(ctx context.Context, arg SetMetadataParams) error
- func (q *Queries) TouchSession(ctx context.Context, id string) error
- func (q *Queries) UpdateMessage(ctx context.Context, arg UpdateMessageParams) error
- func (q *Queries) UpdateSession(ctx context.Context, arg UpdateSessionParams) error
- func (q *Queries) UpdateSessionStatus(ctx context.Context, arg UpdateSessionStatusParams) error
- func (q *Queries) UpdateToolExecutionError(ctx context.Context, arg UpdateToolExecutionErrorParams) error
- func (q *Queries) UpdateToolExecutionOutput(ctx context.Context, arg UpdateToolExecutionOutputParams) error
- func (q *Queries) UpdateToolExecutionStatus(ctx context.Context, arg UpdateToolExecutionStatusParams) error
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type SearchMessagesParams
- type SearchSessionsParams
- type Session
- type SetMetadataParams
- type ToolExecution
- type UpdateMessageParams
- type UpdateSessionParams
- type UpdateSessionStatusParams
- type UpdateToolExecutionErrorParams
- type UpdateToolExecutionOutputParams
- type UpdateToolExecutionStatusParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Connect ¶
func Connect(config *ConnectionConfig) (*sql.DB, error)
Connect establishes a connection to the SQLite database
func HealthCheck ¶
HealthCheck verifies the database connection is healthy
func MigrateContext ¶
MigrateContext runs all pending migrations with context
Types ¶
type ConnectionConfig ¶
type ConnectionConfig struct {
Path string // Database file path
MaxOpenConns int // Maximum number of open connections
MaxIdleConns int // Maximum number of idle connections
ConnMaxLifetime time.Duration // Maximum lifetime of a connection
ConnMaxIdleTime time.Duration // Maximum idle time of a connection
BusyTimeout int // SQLite busy timeout in milliseconds
JournalMode string // SQLite journal mode (WAL, DELETE, etc.)
Synchronous string // SQLite synchronous mode (NORMAL, FULL, OFF)
}
ConnectionConfig holds database connection configuration
func DefaultConfig ¶
func DefaultConfig(dbPath string) *ConnectionConfig
DefaultConfig returns a default database configuration
type CreateMessageParams ¶
type CreateMessageParams struct {
ID string `json:"id"`
SessionID string `json:"session_id"`
Role string `json:"role"`
Content string `json:"content"`
ParentID *string `json:"parent_id"`
TokensUsed *int64 `json:"tokens_used"`
Model *string `json:"model"`
FinishReason *string `json:"finish_reason"`
Metadata *string `json:"metadata"`
}
type CreateSessionParams ¶
type CreateToolExecutionParams ¶
type CreateToolExecutionParams struct {
ID string `json:"id"`
MessageID string `json:"message_id"`
ToolName string `json:"tool_name"`
Input string `json:"input"`
Output *string `json:"output"`
Status string `json:"status"`
Error *string `json:"error"`
StartedAt string `json:"started_at"`
CompletedAt *string `json:"completed_at"`
DurationMs *int64 `json:"duration_ms"`
RetryCount int64 `json:"retry_count"`
Metadata *string `json:"metadata"`
}
type DB ¶
type DB struct {
*Queries
// contains filtered or unexported fields
}
DB wraps the SQLC Queries interface with additional functionality
func Initialize ¶
func Initialize(config *ConnectionConfig) (*DB, error)
Initialize sets up the database connection and runs migrations
func InitializeContext ¶
func InitializeContext(ctx context.Context, config *ConnectionConfig) (*DB, error)
InitializeContext sets up the database connection and runs migrations with context
func NewFromConfig ¶
func NewFromConfig(config *ConnectionConfig) (*DB, error)
NewFromConfig creates a new database instance from configuration
func (*DB) PingContext ¶
PingContext verifies the database connection is alive with context
type GetConversationThreadRow ¶
type GetConversationThreadRow struct {
ID string `json:"id"`
SessionID string `json:"session_id"`
Role string `json:"role"`
Content string `json:"content"`
Timestamp string `json:"timestamp"`
ParentID *string `json:"parent_id"`
TokensUsed *int64 `json:"tokens_used"`
Model *string `json:"model"`
FinishReason *string `json:"finish_reason"`
Metadata *string `json:"metadata"`
}
type GetSessionWithMessageCountRow ¶
type GetSessionWithMessageCountRow struct {
ID string `json:"id"`
Name string `json:"name"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
Status string `json:"status"`
Model *string `json:"model"`
Temperature *float64 `json:"temperature"`
MaxTokens *int64 `json:"max_tokens"`
Settings *string `json:"settings"`
MessageCount int64 `json:"message_count"`
}
type GetToolExecutionStatsRow ¶
type GetToolExecutionStatsRow struct {
TotalExecutions int64 `json:"total_executions"`
SuccessfulExecutions int64 `json:"successful_executions"`
FailedExecutions int64 `json:"failed_executions"`
TimeoutExecutions int64 `json:"timeout_executions"`
AvgDurationMs *float64 `json:"avg_duration_ms"`
MaxDurationMs interface{} `json:"max_duration_ms"`
MinDurationMs interface{} `json:"min_duration_ms"`
}
type GetToolUsageStatsRow ¶
type ListSessionsParams ¶
type Message ¶
type Message struct {
ID string `json:"id"`
SessionID string `json:"session_id"`
Role string `json:"role"`
Content string `json:"content"`
Timestamp string `json:"timestamp"`
ParentID *string `json:"parent_id"`
TokensUsed *int64 `json:"tokens_used"`
Model *string `json:"model"`
FinishReason *string `json:"finish_reason"`
Metadata *string `json:"metadata"`
}
type Migration ¶
type Migration struct {
Version int
Name string
UpSQL string
DownSQL string
AppliedAt time.Time
Description string
}
Migration represents a database migration
type MigrationStatus ¶
MigrationStatus represents the status of migrations
func GetStatus ¶
func GetStatus(db *sql.DB) (*MigrationStatus, error)
GetStatus returns the current migration status
func GetStatusContext ¶
GetStatusContext returns the current migration status with context
type Querier ¶
type Querier interface {
ArchiveSession(ctx context.Context, id string) error
CountSessions(ctx context.Context) (int64, error)
CountSessionsByStatus(ctx context.Context, status string) (int64, error)
CreateMessage(ctx context.Context, arg CreateMessageParams) error
CreateSession(ctx context.Context, arg CreateSessionParams) error
CreateToolExecution(ctx context.Context, arg CreateToolExecutionParams) error
DeleteMessage(ctx context.Context, id string) error
DeleteMessagesBySession(ctx context.Context, sessionID string) error
DeleteMetadata(ctx context.Context, key string) error
DeleteSession(ctx context.Context, id string) error
DeleteToolExecution(ctx context.Context, id string) error
DeleteToolExecutionsByMessage(ctx context.Context, messageID string) error
GetConversationThread(ctx context.Context, id string) ([]GetConversationThreadRow, error)
GetFailedToolExecutions(ctx context.Context, arg GetFailedToolExecutionsParams) ([]ToolExecution, error)
GetLatestMessage(ctx context.Context, sessionID string) (Message, error)
GetMessage(ctx context.Context, id string) (Message, error)
GetMessageCount(ctx context.Context, sessionID string) (int64, error)
GetMessageCountByRole(ctx context.Context, arg GetMessageCountByRoleParams) (int64, error)
GetMessagesByTimeRange(ctx context.Context, arg GetMessagesByTimeRangeParams) ([]Message, error)
GetMetadata(ctx context.Context, key string) (Metadata, error)
GetPendingToolExecutions(ctx context.Context) ([]ToolExecution, error)
GetRecentToolExecutions(ctx context.Context, limit int64) ([]ToolExecution, error)
GetSession(ctx context.Context, id string) (Session, error)
GetSessionByID(ctx context.Context, id string) (Session, error)
GetSessionWithMessageCount(ctx context.Context, id string) (GetSessionWithMessageCountRow, error)
GetToolExecution(ctx context.Context, id string) (ToolExecution, error)
GetToolExecutionCount(ctx context.Context, messageID string) (int64, error)
GetToolExecutionCountByStatus(ctx context.Context, status string) (int64, error)
GetToolExecutionStats(ctx context.Context, toolName string) (GetToolExecutionStatsRow, error)
GetToolExecutionsByTimeRange(ctx context.Context, arg GetToolExecutionsByTimeRangeParams) ([]ToolExecution, error)
GetToolUsageStats(ctx context.Context) ([]GetToolUsageStatsRow, error)
GetTotalTokensUsed(ctx context.Context, sessionID string) (interface{}, error)
HardDeleteSession(ctx context.Context, id string) error
IncrementRetryCount(ctx context.Context, id string) error
ListAllSessions(ctx context.Context) ([]Session, error)
ListMessagesByParent(ctx context.Context, parentID *string) ([]Message, error)
ListMessagesByRole(ctx context.Context, arg ListMessagesByRoleParams) ([]Message, error)
ListMessagesBySession(ctx context.Context, sessionID string) ([]Message, error)
ListMessagesBySessionPaginated(ctx context.Context, arg ListMessagesBySessionPaginatedParams) ([]Message, error)
ListMetadata(ctx context.Context) ([]Metadata, error)
ListSessions(ctx context.Context, arg ListSessionsParams) ([]Session, error)
ListSessionsByStatus(ctx context.Context, arg ListSessionsByStatusParams) ([]Session, error)
ListToolExecutionsByMessage(ctx context.Context, messageID string) ([]ToolExecution, error)
ListToolExecutionsByName(ctx context.Context, arg ListToolExecutionsByNameParams) ([]ToolExecution, error)
ListToolExecutionsBySession(ctx context.Context, arg ListToolExecutionsBySessionParams) ([]ToolExecution, error)
ListToolExecutionsByStatus(ctx context.Context, arg ListToolExecutionsByStatusParams) ([]ToolExecution, error)
MetadataExists(ctx context.Context, key string) (bool, error)
SearchMessages(ctx context.Context, arg SearchMessagesParams) ([]Message, error)
SearchSessions(ctx context.Context, arg SearchSessionsParams) ([]Session, error)
SetMetadata(ctx context.Context, arg SetMetadataParams) error
TouchSession(ctx context.Context, id string) error
UpdateMessage(ctx context.Context, arg UpdateMessageParams) error
UpdateSession(ctx context.Context, arg UpdateSessionParams) error
UpdateSessionStatus(ctx context.Context, arg UpdateSessionStatusParams) error
UpdateToolExecutionError(ctx context.Context, arg UpdateToolExecutionErrorParams) error
UpdateToolExecutionOutput(ctx context.Context, arg UpdateToolExecutionOutputParams) error
UpdateToolExecutionStatus(ctx context.Context, arg UpdateToolExecutionStatusParams) error
}
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) ArchiveSession ¶
func (*Queries) CountSessionsByStatus ¶
func (*Queries) CreateMessage ¶
func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) error
func (*Queries) CreateSession ¶
func (q *Queries) CreateSession(ctx context.Context, arg CreateSessionParams) error
func (*Queries) CreateToolExecution ¶
func (q *Queries) CreateToolExecution(ctx context.Context, arg CreateToolExecutionParams) error
func (*Queries) DeleteMessage ¶
func (*Queries) DeleteMessagesBySession ¶
func (*Queries) DeleteMetadata ¶
func (*Queries) DeleteSession ¶
func (*Queries) DeleteToolExecution ¶
func (*Queries) DeleteToolExecutionsByMessage ¶
func (*Queries) GetConversationThread ¶
func (*Queries) GetFailedToolExecutions ¶
func (q *Queries) GetFailedToolExecutions(ctx context.Context, arg GetFailedToolExecutionsParams) ([]ToolExecution, error)
func (*Queries) GetLatestMessage ¶
func (*Queries) GetMessage ¶
func (*Queries) GetMessageCount ¶
func (*Queries) GetMessageCountByRole ¶
func (*Queries) GetMessagesByTimeRange ¶
func (*Queries) GetMetadata ¶
func (*Queries) GetPendingToolExecutions ¶
func (q *Queries) GetPendingToolExecutions(ctx context.Context) ([]ToolExecution, error)
func (*Queries) GetRecentToolExecutions ¶
func (*Queries) GetSession ¶
func (*Queries) GetSessionByID ¶
func (*Queries) GetSessionWithMessageCount ¶
func (*Queries) GetToolExecution ¶
func (*Queries) GetToolExecutionCount ¶
func (*Queries) GetToolExecutionCountByStatus ¶
func (*Queries) GetToolExecutionStats ¶
func (*Queries) GetToolExecutionsByTimeRange ¶
func (q *Queries) GetToolExecutionsByTimeRange(ctx context.Context, arg GetToolExecutionsByTimeRangeParams) ([]ToolExecution, error)
func (*Queries) GetToolUsageStats ¶
func (q *Queries) GetToolUsageStats(ctx context.Context) ([]GetToolUsageStatsRow, error)
func (*Queries) GetTotalTokensUsed ¶
func (*Queries) HardDeleteSession ¶
func (*Queries) IncrementRetryCount ¶
func (*Queries) ListAllSessions ¶
func (*Queries) ListMessagesByParent ¶
func (*Queries) ListMessagesByRole ¶
func (*Queries) ListMessagesBySession ¶
func (*Queries) ListMessagesBySessionPaginated ¶
func (*Queries) ListMetadata ¶
func (*Queries) ListSessions ¶
func (*Queries) ListSessionsByStatus ¶
func (*Queries) ListToolExecutionsByMessage ¶
func (*Queries) ListToolExecutionsByName ¶
func (q *Queries) ListToolExecutionsByName(ctx context.Context, arg ListToolExecutionsByNameParams) ([]ToolExecution, error)
func (*Queries) ListToolExecutionsBySession ¶
func (q *Queries) ListToolExecutionsBySession(ctx context.Context, arg ListToolExecutionsBySessionParams) ([]ToolExecution, error)
func (*Queries) ListToolExecutionsByStatus ¶
func (q *Queries) ListToolExecutionsByStatus(ctx context.Context, arg ListToolExecutionsByStatusParams) ([]ToolExecution, error)
func (*Queries) MetadataExists ¶
func (*Queries) SearchMessages ¶
func (*Queries) SearchSessions ¶
func (*Queries) SetMetadata ¶
func (q *Queries) SetMetadata(ctx context.Context, arg SetMetadataParams) error
func (*Queries) UpdateMessage ¶
func (q *Queries) UpdateMessage(ctx context.Context, arg UpdateMessageParams) error
func (*Queries) UpdateSession ¶
func (q *Queries) UpdateSession(ctx context.Context, arg UpdateSessionParams) error
func (*Queries) UpdateSessionStatus ¶
func (q *Queries) UpdateSessionStatus(ctx context.Context, arg UpdateSessionStatusParams) error
func (*Queries) UpdateToolExecutionError ¶
func (q *Queries) UpdateToolExecutionError(ctx context.Context, arg UpdateToolExecutionErrorParams) error
func (*Queries) UpdateToolExecutionOutput ¶
func (q *Queries) UpdateToolExecutionOutput(ctx context.Context, arg UpdateToolExecutionOutputParams) error
func (*Queries) UpdateToolExecutionStatus ¶
func (q *Queries) UpdateToolExecutionStatus(ctx context.Context, arg UpdateToolExecutionStatusParams) error
type SearchMessagesParams ¶
type SearchSessionsParams ¶
type Session ¶
type Session struct {
ID string `json:"id"`
Name string `json:"name"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
Status string `json:"status"`
Model *string `json:"model"`
Temperature *float64 `json:"temperature"`
MaxTokens *int64 `json:"max_tokens"`
Settings *string `json:"settings"`
}
type SetMetadataParams ¶
type ToolExecution ¶
type ToolExecution struct {
ID string `json:"id"`
MessageID string `json:"message_id"`
ToolName string `json:"tool_name"`
Input string `json:"input"`
Output *string `json:"output"`
Status string `json:"status"`
Error *string `json:"error"`
StartedAt string `json:"started_at"`
CompletedAt *string `json:"completed_at"`
DurationMs *int64 `json:"duration_ms"`
RetryCount int64 `json:"retry_count"`
Metadata *string `json:"metadata"`
}