db

package
v0.290.1 Latest Latest
Warning

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

Go to latest
Published: May 4, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func Connect

func Connect() (*sql.DB, error)

Types

type CreateFileParams

type CreateFileParams struct {
	ID        string `json:"id"`
	SessionID string `json:"session_id"`
	Path      string `json:"path"`
	Content   string `json:"content"`
	Version   string `json:"version"`
}

type CreateMessageParams

type CreateMessageParams struct {
	ID        string         `json:"id"`
	SessionID string         `json:"session_id"`
	Role      string         `json:"role"`
	Parts     string         `json:"parts"`
	Model     sql.NullString `json:"model"`
}

type CreateProjectParams added in v0.240.0

type CreateProjectParams struct {
	ID          string        `json:"id"`
	Name        string        `json:"name"`
	Path        string        `json:"path"`
	Status      string        `json:"status"`
	Initialized int64         `json:"initialized"`
	AcpPid      sql.NullInt64 `json:"acp_pid"`
	AcpPort     sql.NullInt64 `json:"acp_port"`
	LastOpened  sql.NullInt64 `json:"last_opened"`
}

type CreateSessionParams

type CreateSessionParams struct {
	ID               string         `json:"id"`
	ParentSessionID  sql.NullString `json:"parent_session_id"`
	Title            string         `json:"title"`
	MessageCount     int64          `json:"message_count"`
	PromptTokens     int64          `json:"prompt_tokens"`
	CompletionTokens int64          `json:"completion_tokens"`
	Cost             float64        `json:"cost"`
}

type DBTX

type DBTX interface {
	ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
	PrepareContext(context.Context, string) (*sql.Stmt, error)
	QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
	QueryRowContext(context.Context, string, ...interface{}) *sql.Row
}

type File

type File struct {
	ID        string `json:"id"`
	SessionID string `json:"session_id"`
	Path      string `json:"path"`
	Content   string `json:"content"`
	Version   string `json:"version"`
	CreatedAt int64  `json:"created_at"`
	UpdatedAt int64  `json:"updated_at"`
}

type GetEvaluatorStatsRow added in v0.26.2

type GetEvaluatorStatsRow struct {
	TotalEvaluations int64         `json:"total_evaluations"`
	AvgReward        float64       `json:"avg_reward"`
	ActiveSkills     int64         `json:"active_skills"`
	LastEvaluation   sql.NullInt64 `json:"last_evaluation"`
}

type GetFileByPathAndSessionParams

type GetFileByPathAndSessionParams struct {
	Path      string `json:"path"`
	SessionID string `json:"session_id"`
}

type InsertPromptTemplateParams added in v0.26.2

type InsertPromptTemplateParams struct {
	ID        string `json:"id"`
	Name      string `json:"name"`
	Section   string `json:"section"`
	Content   string `json:"content"`
	Version   int64  `json:"version"`
	IsActive  int64  `json:"is_active"`
	IsDefault int64  `json:"is_default"`
}

type InsertSessionScoreParams added in v0.26.2

type InsertSessionScoreParams struct {
	ID               string         `json:"id"`
	SessionID        string         `json:"session_id"`
	TemplateID       sql.NullString `json:"template_id"`
	Reward           float64        `json:"reward"`
	SuccessScore     float64        `json:"success_score"`
	EfficiencyScore  float64        `json:"efficiency_score"`
	JudgeAnalysis    sql.NullString `json:"judge_analysis"`
	JudgeModel       sql.NullString `json:"judge_model"`
	PromptTokens     int64          `json:"prompt_tokens"`
	CompletionTokens int64          `json:"completion_tokens"`
	MessageCount     int64          `json:"message_count"`
	UserCorrections  int64          `json:"user_corrections"`
}

type InsertSkillParams added in v0.26.2

type InsertSkillParams struct {
	ID               string         `json:"id"`
	Title            string         `json:"title"`
	Content          string         `json:"content"`
	SourceSessionID  sql.NullString `json:"source_session_id"`
	SourceTemplateID sql.NullString `json:"source_template_id"`
	TaskType         string         `json:"task_type"`
}

type ListActiveSkillsByTypeParams added in v0.26.2

type ListActiveSkillsByTypeParams struct {
	TaskType string `json:"task_type"`
	Limit    int64  `json:"limit"`
}

type ListActiveTemplatesBySectionRow added in v0.26.2

type ListActiveTemplatesBySectionRow struct {
	ID        string  `json:"id"`
	Name      string  `json:"name"`
	Section   string  `json:"section"`
	Content   string  `json:"content"`
	Version   int64   `json:"version"`
	IsActive  int64   `json:"is_active"`
	IsDefault int64   `json:"is_default"`
	CreatedAt int64   `json:"created_at"`
	UpdatedAt int64   `json:"updated_at"`
	AvgReward float64 `json:"avg_reward"`
	TimesUsed int64   `json:"times_used"`
	UcbScore  float64 `json:"ucb_score"`
}

type ListUCBRankingRow added in v0.26.2

type ListUCBRankingRow struct {
	ID         string  `json:"id"`
	Name       string  `json:"name"`
	Section    string  `json:"section"`
	Version    int64   `json:"version"`
	IsDefault  int64   `json:"is_default"`
	TimesUsed  int64   `json:"times_used"`
	AvgReward  float64 `json:"avg_reward"`
	UcbScore   float64 `json:"ucb_score"`
	LastUsedAt int64   `json:"last_used_at"`
}

type Message

type Message struct {
	ID         string         `json:"id"`
	SessionID  string         `json:"session_id"`
	Role       string         `json:"role"`
	Parts      string         `json:"parts"`
	Model      sql.NullString `json:"model"`
	CreatedAt  int64          `json:"created_at"`
	UpdatedAt  int64          `json:"updated_at"`
	FinishedAt sql.NullInt64  `json:"finished_at"`
}

type Project added in v0.240.0

type Project struct {
	ID          string        `json:"id"`
	Name        string        `json:"name"`
	Path        string        `json:"path"`
	Status      string        `json:"status"`
	Initialized int64         `json:"initialized"`
	AcpPid      sql.NullInt64 `json:"acp_pid"`
	AcpPort     sql.NullInt64 `json:"acp_port"`
	LastOpened  sql.NullInt64 `json:"last_opened"`
	CreatedAt   int64         `json:"created_at"`
	UpdatedAt   int64         `json:"updated_at"`
}

type PromptTemplate added in v0.26.2

type PromptTemplate struct {
	ID        string `json:"id"`
	Name      string `json:"name"`
	Section   string `json:"section"`
	Content   string `json:"content"`
	Version   int64  `json:"version"`
	IsActive  int64  `json:"is_active"`
	IsDefault int64  `json:"is_default"`
	CreatedAt int64  `json:"created_at"`
	UpdatedAt int64  `json:"updated_at"`
}

type PromptUcbStat added in v0.26.2

type PromptUcbStat struct {
	TemplateID  string        `json:"template_id"`
	TimesUsed   int64         `json:"times_used"`
	TotalReward float64       `json:"total_reward"`
	AvgReward   float64       `json:"avg_reward"`
	UcbScore    float64       `json:"ucb_score"`
	LastUsedAt  sql.NullInt64 `json:"last_used_at"`
	UpdatedAt   int64         `json:"updated_at"`
}

type Querier

type Querier interface {
	CreateFile(ctx context.Context, arg CreateFileParams) (File, error)
	CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error)
	CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error)
	DeleteFile(ctx context.Context, id string) error
	DeleteMessage(ctx context.Context, id string) error
	DeleteSession(ctx context.Context, id string) error
	DeleteSessionFiles(ctx context.Context, sessionID string) error
	DeleteSessionMessages(ctx context.Context, sessionID string) error
	GetFile(ctx context.Context, id string) (File, error)
	GetFileByPathAndSession(ctx context.Context, arg GetFileByPathAndSessionParams) (File, error)
	GetMessage(ctx context.Context, id string) (Message, error)
	GetSessionByID(ctx context.Context, id string) (Session, error)
	ListFilesByPath(ctx context.Context, path string) ([]File, error)
	ListFilesBySession(ctx context.Context, sessionID string) ([]File, error)
	ListLatestSessionFiles(ctx context.Context, sessionID string) ([]File, error)
	ListMessagesBySession(ctx context.Context, sessionID string) ([]Message, error)
	ListNewFiles(ctx context.Context) ([]File, error)
	ListSessions(ctx context.Context) ([]Session, error)
	UpdateFile(ctx context.Context, arg UpdateFileParams) (File, error)
	UpdateMessage(ctx context.Context, arg UpdateMessageParams) error
	UpdateSession(ctx context.Context, arg UpdateSessionParams) (Session, error)
	// Self-improvement queries
	InsertPromptTemplate(ctx context.Context, arg InsertPromptTemplateParams) (PromptTemplate, error)
	GetPromptTemplate(ctx context.Context, id string) (PromptTemplate, error)
	ListActiveTemplatesBySection(ctx context.Context, section string) ([]ListActiveTemplatesBySectionRow, error)
	CountPromptTemplates(ctx context.Context) (int64, error)
	InsertSessionScore(ctx context.Context, arg InsertSessionScoreParams) (SessionScore, error)
	GetSessionScore(ctx context.Context, sessionID string) (SessionScore, error)
	CountSessionScores(ctx context.Context) (int64, error)
	ListSessionScores(ctx context.Context, limit int64) ([]SessionScore, error)
	GetTokenBaseline(ctx context.Context, limit int64) (float64, error)
	GetUCBStats(ctx context.Context, templateID string) (PromptUcbStat, error)
	InsertSkill(ctx context.Context, arg InsertSkillParams) (SkillLibrary, error)
	ListActiveSkillsByType(ctx context.Context, arg ListActiveSkillsByTypeParams) ([]SkillLibrary, error)
	ListAllActiveSkills(ctx context.Context) ([]SkillLibrary, error)
	CountActiveSkills(ctx context.Context) (int64, error)
	DeactivateLowestSkill(ctx context.Context) error
	IncrementSkillUsage(ctx context.Context, id string) error
	ListUCBRanking(ctx context.Context) ([]ListUCBRankingRow, error)
	GetEvaluatorStats(ctx context.Context) (GetEvaluatorStatsRow, error)
	// Project queries
	CreateProject(ctx context.Context, arg CreateProjectParams) (Project, error)
	GetProject(ctx context.Context, id string) (Project, error)
	GetProjectByPath(ctx context.Context, path string) (Project, error)
	ListProjects(ctx context.Context) ([]Project, error)
	UpdateProjectStatus(ctx context.Context, arg UpdateProjectStatusParams) error
	UpdateProjectLastOpened(ctx context.Context, arg UpdateProjectLastOpenedParams) error
	MarkProjectInitialized(ctx context.Context, id string) error
	DeleteProject(ctx context.Context, id string) error
}

type Queries

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

func New

func New(db DBTX) *Queries

func Prepare

func Prepare(ctx context.Context, db DBTX) (*Queries, error)

func (*Queries) Close

func (q *Queries) Close() error

func (*Queries) CountActiveSkills added in v0.26.2

func (q *Queries) CountActiveSkills(ctx context.Context) (int64, error)

func (*Queries) CountPromptTemplates added in v0.26.2

func (q *Queries) CountPromptTemplates(ctx context.Context) (int64, error)

func (*Queries) CountSessionScores added in v0.26.2

func (q *Queries) CountSessionScores(ctx context.Context) (int64, error)

func (*Queries) CreateFile

func (q *Queries) CreateFile(ctx context.Context, arg CreateFileParams) (File, error)

func (*Queries) CreateMessage

func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error)

func (*Queries) CreateProject added in v0.240.0

func (q *Queries) CreateProject(ctx context.Context, arg CreateProjectParams) (Project, error)

func (*Queries) CreateSession

func (q *Queries) CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error)

func (*Queries) DeactivateLowestSkill added in v0.26.2

func (q *Queries) DeactivateLowestSkill(ctx context.Context) error

func (*Queries) DeleteFile

func (q *Queries) DeleteFile(ctx context.Context, id string) error

func (*Queries) DeleteMessage

func (q *Queries) DeleteMessage(ctx context.Context, id string) error

func (*Queries) DeleteProject added in v0.240.0

func (q *Queries) DeleteProject(ctx context.Context, id string) error

func (*Queries) DeleteSession

func (q *Queries) DeleteSession(ctx context.Context, id string) error

func (*Queries) DeleteSessionFiles

func (q *Queries) DeleteSessionFiles(ctx context.Context, sessionID string) error

func (*Queries) DeleteSessionMessages

func (q *Queries) DeleteSessionMessages(ctx context.Context, sessionID string) error

func (*Queries) GetEvaluatorStats added in v0.26.2

func (q *Queries) GetEvaluatorStats(ctx context.Context) (GetEvaluatorStatsRow, error)

func (*Queries) GetFile

func (q *Queries) GetFile(ctx context.Context, id string) (File, error)

func (*Queries) GetFileByPathAndSession

func (q *Queries) GetFileByPathAndSession(ctx context.Context, arg GetFileByPathAndSessionParams) (File, error)

func (*Queries) GetMessage

func (q *Queries) GetMessage(ctx context.Context, id string) (Message, error)

func (*Queries) GetProject added in v0.240.0

func (q *Queries) GetProject(ctx context.Context, id string) (Project, error)

func (*Queries) GetProjectByPath added in v0.240.0

func (q *Queries) GetProjectByPath(ctx context.Context, path string) (Project, error)

func (*Queries) GetPromptTemplate added in v0.26.2

func (q *Queries) GetPromptTemplate(ctx context.Context, id string) (PromptTemplate, error)

func (*Queries) GetSessionByID

func (q *Queries) GetSessionByID(ctx context.Context, id string) (Session, error)

func (*Queries) GetSessionScore added in v0.26.2

func (q *Queries) GetSessionScore(ctx context.Context, sessionID string) (SessionScore, error)

func (*Queries) GetTokenBaseline added in v0.26.2

func (q *Queries) GetTokenBaseline(ctx context.Context, limit int64) (float64, error)

func (*Queries) GetUCBStats added in v0.26.2

func (q *Queries) GetUCBStats(ctx context.Context, templateID string) (PromptUcbStat, error)

func (*Queries) IncrementSkillUsage added in v0.26.2

func (q *Queries) IncrementSkillUsage(ctx context.Context, id string) error

func (*Queries) InsertPromptTemplate added in v0.26.2

func (q *Queries) InsertPromptTemplate(ctx context.Context, arg InsertPromptTemplateParams) (PromptTemplate, error)

func (*Queries) InsertSessionScore added in v0.26.2

func (q *Queries) InsertSessionScore(ctx context.Context, arg InsertSessionScoreParams) (SessionScore, error)

func (*Queries) InsertSkill added in v0.26.2

func (q *Queries) InsertSkill(ctx context.Context, arg InsertSkillParams) (SkillLibrary, error)

func (*Queries) ListActiveSkillsByType added in v0.26.2

func (q *Queries) ListActiveSkillsByType(ctx context.Context, arg ListActiveSkillsByTypeParams) ([]SkillLibrary, error)

func (*Queries) ListActiveTemplatesBySection added in v0.26.2

func (q *Queries) ListActiveTemplatesBySection(ctx context.Context, section string) ([]ListActiveTemplatesBySectionRow, error)

func (*Queries) ListAllActiveSkills added in v0.26.2

func (q *Queries) ListAllActiveSkills(ctx context.Context) ([]SkillLibrary, error)

func (*Queries) ListFilesByPath

func (q *Queries) ListFilesByPath(ctx context.Context, path string) ([]File, error)

func (*Queries) ListFilesBySession

func (q *Queries) ListFilesBySession(ctx context.Context, sessionID string) ([]File, error)

func (*Queries) ListLatestSessionFiles

func (q *Queries) ListLatestSessionFiles(ctx context.Context, sessionID string) ([]File, error)

func (*Queries) ListMessagesBySession

func (q *Queries) ListMessagesBySession(ctx context.Context, sessionID string) ([]Message, error)

func (*Queries) ListNewFiles

func (q *Queries) ListNewFiles(ctx context.Context) ([]File, error)

func (*Queries) ListProjects added in v0.240.0

func (q *Queries) ListProjects(ctx context.Context) ([]Project, error)

func (*Queries) ListSessionScores added in v0.244.0

func (q *Queries) ListSessionScores(ctx context.Context, limit int64) ([]SessionScore, error)

func (*Queries) ListSessions

func (q *Queries) ListSessions(ctx context.Context) ([]Session, error)

func (*Queries) ListUCBRanking added in v0.26.2

func (q *Queries) ListUCBRanking(ctx context.Context) ([]ListUCBRankingRow, error)

func (*Queries) MarkProjectInitialized added in v0.240.0

func (q *Queries) MarkProjectInitialized(ctx context.Context, id string) error

func (*Queries) UpdateFile

func (q *Queries) UpdateFile(ctx context.Context, arg UpdateFileParams) (File, error)

func (*Queries) UpdateMessage

func (q *Queries) UpdateMessage(ctx context.Context, arg UpdateMessageParams) error

func (*Queries) UpdateProjectLastOpened added in v0.240.0

func (q *Queries) UpdateProjectLastOpened(ctx context.Context, arg UpdateProjectLastOpenedParams) error

func (*Queries) UpdateProjectName added in v0.290.1

func (q *Queries) UpdateProjectName(ctx context.Context, id, name string) error

func (*Queries) UpdateProjectStatus added in v0.240.0

func (q *Queries) UpdateProjectStatus(ctx context.Context, arg UpdateProjectStatusParams) error

func (*Queries) UpdateSession

func (q *Queries) UpdateSession(ctx context.Context, arg UpdateSessionParams) (Session, error)

func (*Queries) WithTx

func (q *Queries) WithTx(tx *sql.Tx) *Queries

type Session

type Session struct {
	ID               string         `json:"id"`
	ParentSessionID  sql.NullString `json:"parent_session_id"`
	Title            string         `json:"title"`
	MessageCount     int64          `json:"message_count"`
	PromptTokens     int64          `json:"prompt_tokens"`
	CompletionTokens int64          `json:"completion_tokens"`
	Cost             float64        `json:"cost"`
	UpdatedAt        int64          `json:"updated_at"`
	CreatedAt        int64          `json:"created_at"`
	SummaryMessageID sql.NullString `json:"summary_message_id"`
}

type SessionScore added in v0.26.2

type SessionScore struct {
	ID               string         `json:"id"`
	SessionID        string         `json:"session_id"`
	TemplateID       sql.NullString `json:"template_id"`
	Reward           float64        `json:"reward"`
	SuccessScore     float64        `json:"success_score"`
	EfficiencyScore  float64        `json:"efficiency_score"`
	JudgeAnalysis    sql.NullString `json:"judge_analysis"`
	JudgeModel       sql.NullString `json:"judge_model"`
	PromptTokens     int64          `json:"prompt_tokens"`
	CompletionTokens int64          `json:"completion_tokens"`
	MessageCount     int64          `json:"message_count"`
	UserCorrections  int64          `json:"user_corrections"`
	EvaluatedAt      int64          `json:"evaluated_at"`
	CreatedAt        int64          `json:"created_at"`
}

type SkillLibrary added in v0.26.2

type SkillLibrary struct {
	ID               string         `json:"id"`
	Title            string         `json:"title"`
	Content          string         `json:"content"`
	SourceSessionID  sql.NullString `json:"source_session_id"`
	SourceTemplateID sql.NullString `json:"source_template_id"`
	TaskType         string         `json:"task_type"`
	UsageCount       int64          `json:"usage_count"`
	SuccessRate      float64        `json:"success_rate"`
	IsActive         int64          `json:"is_active"`
	CreatedAt        int64          `json:"created_at"`
	UpdatedAt        int64          `json:"updated_at"`
}

type UpdateFileParams

type UpdateFileParams struct {
	Content string `json:"content"`
	Version string `json:"version"`
	ID      string `json:"id"`
}

type UpdateMessageParams

type UpdateMessageParams struct {
	Parts      string        `json:"parts"`
	FinishedAt sql.NullInt64 `json:"finished_at"`
	ID         string        `json:"id"`
}

type UpdateProjectLastOpenedParams added in v0.240.0

type UpdateProjectLastOpenedParams struct {
	LastOpened sql.NullInt64 `json:"last_opened"`
	ID         string        `json:"id"`
}

type UpdateProjectStatusParams added in v0.240.0

type UpdateProjectStatusParams struct {
	Status  string        `json:"status"`
	AcpPid  sql.NullInt64 `json:"acp_pid"`
	AcpPort sql.NullInt64 `json:"acp_port"`
	ID      string        `json:"id"`
}

type UpdateSessionParams

type UpdateSessionParams struct {
	Title            string         `json:"title"`
	PromptTokens     int64          `json:"prompt_tokens"`
	CompletionTokens int64          `json:"completion_tokens"`
	SummaryMessageID sql.NullString `json:"summary_message_id"`
	Cost             float64        `json:"cost"`
	ID               string         `json:"id"`
}

Jump to

Keyboard shortcuts

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