Documentation
¶
Index ¶
- Variables
- func Connect() (*sql.DB, error)
- func ConnectForRole(isPrimary bool) (*sql.DB, error)
- func ConnectRWSecondary() (*sql.DB, error)
- func ConnectReadOnly() (*sql.DB, error)
- func DBPath() (string, error)
- type ApplyRewardDeltaToSkillStatsParams
- type ApplyRewardDeltaToVariantStatsParams
- type ApplySessionRewardToSkillStatsParams
- type ApplySessionRewardToVariantStatsParams
- type CompactOptions
- type CompactResult
- type CountRecentEligibleScoredParams
- type CountRecentEligibleScoredRow
- type CreateFileParams
- type CreateGoalParams
- type CreateMessageParams
- type CreateProjectParams
- type CreateSessionParams
- type DBTX
- type File
- type GetEvaluatorStatsRow
- type GetFileByPathAndSessionParams
- type GetJudgeUsageSinceRow
- type GetSessionTemplateSelectionParams
- type GetSessionsTokenBaselineParams
- type InsertSessionFeedbackEventParams
- type InsertSessionScoreParams
- type InsertSessionSkillInjectionParams
- type InsertSessionTemplateSelectionParams
- type InsertSkillParams
- type ListActiveSkillsByTypeParams
- type ListDailyEvaluationMetricsRow
- type ListRecentSessionSkillsRow
- type ListRecentSessionVariantsRow
- type ListSessionScoresWithTitleRow
- type ListUnscoredSessionsParams
- type ListVariantSelectionCountsRow
- type Message
- type Project
- type PromptTemplate
- type PromptUcbStat
- type PromptVariantStat
- type Querier
- type Queries
- func (q *Queries) ApplyRewardDeltaToSkillStats(ctx context.Context, arg ApplyRewardDeltaToSkillStatsParams) error
- func (q *Queries) ApplyRewardDeltaToVariantStats(ctx context.Context, arg ApplyRewardDeltaToVariantStatsParams) error
- func (q *Queries) ApplySessionRewardToSkillStats(ctx context.Context, arg ApplySessionRewardToSkillStatsParams) error
- func (q *Queries) ApplySessionRewardToVariantStats(ctx context.Context, arg ApplySessionRewardToVariantStatsParams) error
- func (q *Queries) Close() error
- func (q *Queries) CountActiveSkills(ctx context.Context) (int64, error)
- func (q *Queries) CountEligibleSessions(ctx context.Context, includeChildren int64) (int64, error)
- func (q *Queries) CountRecentEligibleScored(ctx context.Context, arg CountRecentEligibleScoredParams) (CountRecentEligibleScoredRow, error)
- func (q *Queries) CountSessionScores(ctx context.Context) (int64, error)
- func (q *Queries) CountSessionSkillInjections(ctx context.Context, sessionID string) (int64, error)
- func (q *Queries) CountUnscoredEligibleSessions(ctx context.Context, includeChildren int64) (int64, error)
- func (q *Queries) CreateFile(ctx context.Context, arg CreateFileParams) (File, error)
- func (q *Queries) CreateGoal(ctx context.Context, arg CreateGoalParams) (SessionGoal, error)
- func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error)
- func (q *Queries) CreateProject(ctx context.Context, arg CreateProjectParams) (Project, error)
- func (q *Queries) CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error)
- func (q *Queries) DeactivateUnderperformingSkills(ctx context.Context) error
- func (q *Queries) DeleteFile(ctx context.Context, id string) error
- func (q *Queries) DeleteGoalsBySession(ctx context.Context, sessionID string) error
- func (q *Queries) DeleteMessage(ctx context.Context, id string) error
- func (q *Queries) DeleteProject(ctx context.Context, id string) error
- func (q *Queries) DeleteSession(ctx context.Context, id string) error
- func (q *Queries) DeleteSessionFiles(ctx context.Context, sessionID string) error
- func (q *Queries) DeleteSessionMessages(ctx context.Context, sessionID string) error
- func (q *Queries) GetActiveGoal(ctx context.Context, sessionID string) (SessionGoal, error)
- func (q *Queries) GetEvaluatorStats(ctx context.Context) (GetEvaluatorStatsRow, error)
- func (q *Queries) GetFile(ctx context.Context, id string) (File, error)
- func (q *Queries) GetFileByPathAndSession(ctx context.Context, arg GetFileByPathAndSessionParams) (File, error)
- func (q *Queries) GetGoalBySession(ctx context.Context, sessionID string) (SessionGoal, error)
- func (q *Queries) GetJudgeUsageSince(ctx context.Context, createdAt int64) (GetJudgeUsageSinceRow, error)
- func (q *Queries) GetLastEvaluationAt(ctx context.Context) (int64, error)
- func (q *Queries) GetLatestSessionFeedback(ctx context.Context, subject string) (string, error)
- func (q *Queries) GetMessage(ctx context.Context, id string) (Message, error)
- func (q *Queries) GetProject(ctx context.Context, id string) (Project, error)
- func (q *Queries) GetProjectByPath(ctx context.Context, path string) (Project, error)
- func (q *Queries) GetSessionACPState(ctx context.Context, id string) (sql.NullString, error)
- func (q *Queries) GetSessionByID(ctx context.Context, id string) (Session, error)
- func (q *Queries) GetSessionScore(ctx context.Context, sessionID string) (SessionScore, error)
- func (q *Queries) GetSessionTemplateSelection(ctx context.Context, arg GetSessionTemplateSelectionParams) (string, error)
- func (q *Queries) GetSessionsTokenBaseline(ctx context.Context, arg GetSessionsTokenBaselineParams) (float64, error)
- func (q *Queries) GetSkill(ctx context.Context, id string) (SkillLibrary, error)
- func (q *Queries) IncrementSkillUsage(ctx context.Context, id string) error
- func (q *Queries) InsertSessionFeedbackEvent(ctx context.Context, arg InsertSessionFeedbackEventParams) (int64, error)
- func (q *Queries) InsertSessionScore(ctx context.Context, arg InsertSessionScoreParams) (SessionScore, error)
- func (q *Queries) InsertSessionSkillInjection(ctx context.Context, arg InsertSessionSkillInjectionParams) error
- func (q *Queries) InsertSessionTemplateSelection(ctx context.Context, arg InsertSessionTemplateSelectionParams) error
- func (q *Queries) InsertSkill(ctx context.Context, arg InsertSkillParams) (SkillLibrary, error)
- func (q *Queries) ListActiveSkillsByType(ctx context.Context, arg ListActiveSkillsByTypeParams) ([]SkillLibrary, error)
- func (q *Queries) ListAllActiveSkills(ctx context.Context) ([]SkillLibrary, error)
- func (q *Queries) ListAllSkills(ctx context.Context) ([]SkillLibrary, error)
- func (q *Queries) ListAllVariantStats(ctx context.Context) ([]PromptVariantStat, error)
- func (q *Queries) ListDailyEvaluationMetrics(ctx context.Context, evaluatedAt int64) ([]ListDailyEvaluationMetricsRow, error)
- func (q *Queries) ListFilesByPath(ctx context.Context, path string) ([]File, error)
- func (q *Queries) ListFilesBySession(ctx context.Context, sessionID string) ([]File, error)
- func (q *Queries) ListLatestSessionFiles(ctx context.Context, sessionID string) ([]File, error)
- func (q *Queries) ListMessagesBySession(ctx context.Context, sessionID string) ([]Message, error)
- func (q *Queries) ListNewFiles(ctx context.Context) ([]File, error)
- func (q *Queries) ListProjects(ctx context.Context) ([]Project, error)
- func (q *Queries) ListRecentSessionSkills(ctx context.Context, limit int64) ([]ListRecentSessionSkillsRow, error)
- func (q *Queries) ListRecentSessionVariants(ctx context.Context, limit int64) ([]ListRecentSessionVariantsRow, error)
- func (q *Queries) ListSessionInjectedSkills(ctx context.Context, sessionID string) ([]SkillLibrary, error)
- func (q *Queries) ListSessionScores(ctx context.Context, limit int64) ([]SessionScore, error)
- func (q *Queries) ListSessionScoresWithTitle(ctx context.Context, limit int64) ([]ListSessionScoresWithTitleRow, error)
- func (q *Queries) ListSessions(ctx context.Context) ([]Session, error)
- func (q *Queries) ListUnscoredSessions(ctx context.Context, arg ListUnscoredSessionsParams) ([]string, error)
- func (q *Queries) ListVariantSelectionCounts(ctx context.Context, section string) ([]ListVariantSelectionCountsRow, error)
- func (q *Queries) ListVariantStatsBySection(ctx context.Context, section string) ([]PromptVariantStat, error)
- func (q *Queries) MarkProjectInitialized(ctx context.Context, id string) error
- func (q *Queries) SetSkillMirrorState(ctx context.Context, arg SetSkillMirrorStateParams) error
- func (q *Queries) UpdateFile(ctx context.Context, arg UpdateFileParams) (File, error)
- func (q *Queries) UpdateGoalProgress(ctx context.Context, arg UpdateGoalProgressParams) (SessionGoal, error)
- func (q *Queries) UpdateGoalStatus(ctx context.Context, arg UpdateGoalStatusParams) (SessionGoal, error)
- func (q *Queries) UpdateMessage(ctx context.Context, arg UpdateMessageParams) error
- func (q *Queries) UpdateProjectLastOpened(ctx context.Context, arg UpdateProjectLastOpenedParams) error
- func (q *Queries) UpdateProjectName(ctx context.Context, id, name string) error
- func (q *Queries) UpdateProjectStatus(ctx context.Context, arg UpdateProjectStatusParams) error
- func (q *Queries) UpdateSession(ctx context.Context, arg UpdateSessionParams) (Session, error)
- func (q *Queries) UpdateSessionACPState(ctx context.Context, arg UpdateSessionACPStateParams) error
- func (q *Queries) UpdateSessionScore(ctx context.Context, arg UpdateSessionScoreParams) (SessionScore, error)
- func (q *Queries) UpdateSessionScoreJudge(ctx context.Context, arg UpdateSessionScoreJudgeParams) error
- func (q *Queries) UpsertSkillMirror(ctx context.Context, arg UpsertSkillMirrorParams) error
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type Session
- type SessionGoal
- type SessionScore
- type SessionTemplateSelection
- type SetSkillMirrorStateParams
- type SkillLibrary
- type UpdateFileParams
- type UpdateGoalProgressParams
- type UpdateGoalStatusParams
- type UpdateMessageParams
- type UpdateProjectLastOpenedParams
- type UpdateProjectStatusParams
- type UpdateSessionACPStateParams
- type UpdateSessionParams
- type UpdateSessionScoreJudgeParams
- type UpdateSessionScoreParams
- type UpsertSkillMirrorParams
Constants ¶
This section is empty.
Variables ¶
var FS embed.FS
Functions ¶
func ConnectForRole ¶ added in v0.306.0
ConnectForRole opens the database in read-write mode when isPrimary is true, or via ConnectRWSecondary when false. This avoids duplicating the role branch in callers.
func ConnectRWSecondary ¶ added in v0.326.0
ConnectRWSecondary opens the SQLite database in read-write mode with WAL and a short busy_timeout (200 ms). It does NOT run migrations — the primary owns schema management. Secondary instances use this connection to attempt direct WAL writes; if they get SQLITE_BUSY/LOCKED they fall back to the IPC proxy.
func ConnectReadOnly ¶ added in v0.294.1
ConnectReadOnly opens the existing SQLite database in read-only mode. Secondary (non-primary) Pando instances use this so they never write directly; all writes are proxied through the primary via ZMQ RPC. The caller must NOT run migrations — the primary is responsible for that.
Types ¶
type ApplyRewardDeltaToSkillStatsParams ¶ added in v1.2.4
type ApplyRewardDeltaToVariantStatsParams ¶ added in v1.2.4
type ApplySessionRewardToSkillStatsParams ¶ added in v1.2.4
type ApplySessionRewardToVariantStatsParams ¶ added in v1.2.4
type CompactOptions ¶ added in v0.605.1
type CompactOptions struct {
// Incremental, when true, only reclaims already-freed pages via
// PRAGMA incremental_vacuum (cheap, no full file rewrite). It only has an
// effect when the database is already in auto_vacuum=INCREMENTAL mode.
Incremental bool
// EnableAutoVacuum, when true, switches the database into
// auto_vacuum=INCREMENTAL before running the full VACUUM so future
// reclamation can be done incrementally. Ignored when Incremental is true.
EnableAutoVacuum bool
}
CompactOptions controls how Compact reclaims space.
type CompactResult ¶ added in v0.605.1
type CompactResult struct {
// Mode is "full" or "incremental".
Mode string
// SizeBefore/SizeAfter are the database sizes in bytes.
SizeBefore int64
SizeAfter int64
// Freed is SizeBefore - SizeAfter. It can be negative in rare cases.
Freed int64
}
CompactResult reports the outcome of a Compact call. Sizes are the logical database size (page_count * page_size) in bytes, which matches the on-disk main file size after the trailing WAL checkpoint.
func Compact ¶ added in v0.605.1
func Compact(ctx context.Context, conn *sql.DB, opts CompactOptions) (CompactResult, error)
Compact reclaims unused space in the SQLite database.
With opts.Incremental it runs PRAGMA incremental_vacuum (only effective when auto_vacuum is already INCREMENTAL); otherwise it runs a full VACUUM, optionally switching the database into auto_vacuum=INCREMENTAL first so subsequent reclamation can be incremental.
VACUUM must run outside any transaction and briefly acquires an exclusive lock; if another process is writing it may fail with SQLITE_BUSY rather than corrupting anything. Callers should surface such errors to the user.
type CountRecentEligibleScoredParams ¶ added in v1.2.4
type CountRecentEligibleScoredRow ¶ added in v1.2.4
type CreateFileParams ¶
type CreateGoalParams ¶ added in v0.324.0
type CreateMessageParams ¶
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 GetEvaluatorStatsRow ¶ added in v0.26.2
type GetJudgeUsageSinceRow ¶ added in v1.2.4
type GetSessionTemplateSelectionParams ¶ added in v1.2.4
type GetSessionsTokenBaselineParams ¶ added in v1.2.4
type InsertSessionFeedbackEventParams ¶ added in v1.2.4
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"`
Components string `json:"components"`
JudgePromptTokens int64 `json:"judge_prompt_tokens"`
JudgeCompletionTokens int64 `json:"judge_completion_tokens"`
}
type InsertSessionSkillInjectionParams ¶ added in v1.2.4
type InsertSessionTemplateSelectionParams ¶ added in v1.2.4
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 ListDailyEvaluationMetricsRow ¶ added in v1.2.4
type ListRecentSessionSkillsRow ¶ added in v1.2.4
type ListRecentSessionVariantsRow ¶ added in v1.2.4
type ListSessionScoresWithTitleRow ¶ added in v1.2.4
type ListSessionScoresWithTitleRow 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"`
Components string `json:"components"`
JudgePromptTokens int64 `json:"judge_prompt_tokens"`
JudgeCompletionTokens int64 `json:"judge_completion_tokens"`
Title string `json:"title"`
}
type ListUnscoredSessionsParams ¶ added in v1.2.4
type ListVariantSelectionCountsRow ¶ added in v1.2.4
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 PromptVariantStat ¶ added in v1.2.4
type Querier ¶
type Querier interface {
CreateFile(ctx context.Context, arg CreateFileParams) (File, error)
CreateGoal(ctx context.Context, arg CreateGoalParams) (SessionGoal, error)
CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error)
CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error)
DeleteFile(ctx context.Context, id string) error
DeleteGoalsBySession(ctx context.Context, sessionID 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)
GetActiveGoal(ctx context.Context, sessionID string) (SessionGoal, error)
GetGoalBySession(ctx context.Context, sessionID string) (SessionGoal, 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)
UpdateGoalProgress(ctx context.Context, arg UpdateGoalProgressParams) (SessionGoal, error)
UpdateGoalStatus(ctx context.Context, arg UpdateGoalStatusParams) (SessionGoal, error)
UpdateMessage(ctx context.Context, arg UpdateMessageParams) error
UpdateSession(ctx context.Context, arg UpdateSessionParams) (Session, error)
// Self-improvement queries
InsertSessionScore(ctx context.Context, arg InsertSessionScoreParams) (SessionScore, error)
ListUnscoredSessions(ctx context.Context, arg ListUnscoredSessionsParams) ([]string, error)
GetSessionScore(ctx context.Context, sessionID string) (SessionScore, error)
UpdateSessionScore(ctx context.Context, arg UpdateSessionScoreParams) (SessionScore, error)
UpdateSessionScoreJudge(ctx context.Context, arg UpdateSessionScoreJudgeParams) error
GetJudgeUsageSince(ctx context.Context, createdAt int64) (GetJudgeUsageSinceRow, error)
InsertSessionTemplateSelection(ctx context.Context, arg InsertSessionTemplateSelectionParams) error
GetSessionTemplateSelection(ctx context.Context, arg GetSessionTemplateSelectionParams) (string, error)
ListVariantSelectionCounts(ctx context.Context, section string) ([]ListVariantSelectionCountsRow, error)
ListVariantStatsBySection(ctx context.Context, section string) ([]PromptVariantStat, error)
CountEligibleSessions(ctx context.Context, includeChildren int64) (int64, error)
CountUnscoredEligibleSessions(ctx context.Context, includeChildren int64) (int64, error)
CountRecentEligibleScored(ctx context.Context, arg CountRecentEligibleScoredParams) (CountRecentEligibleScoredRow, error)
GetLastEvaluationAt(ctx context.Context) (int64, error)
ListSessionScoresWithTitle(ctx context.Context, limit int64) ([]ListSessionScoresWithTitleRow, error)
ListRecentSessionVariants(ctx context.Context, limit int64) ([]ListRecentSessionVariantsRow, error)
ListRecentSessionSkills(ctx context.Context, limit int64) ([]ListRecentSessionSkillsRow, error)
ListDailyEvaluationMetrics(ctx context.Context, evaluatedAt int64) ([]ListDailyEvaluationMetricsRow, error)
ListAllVariantStats(ctx context.Context) ([]PromptVariantStat, error)
ApplySessionRewardToVariantStats(ctx context.Context, arg ApplySessionRewardToVariantStatsParams) error
ApplyRewardDeltaToVariantStats(ctx context.Context, arg ApplyRewardDeltaToVariantStatsParams) error
GetSessionsTokenBaseline(ctx context.Context, arg GetSessionsTokenBaselineParams) (float64, error)
InsertSessionFeedbackEvent(ctx context.Context, arg InsertSessionFeedbackEventParams) (int64, error)
GetLatestSessionFeedback(ctx context.Context, subject string) (string, error)
CountSessionScores(ctx context.Context) (int64, error)
ListSessionScores(ctx context.Context, limit int64) ([]SessionScore, 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)
// DeactivateUnderperformingSkills deactivates skills that have low success rate and
// high usage, indicating they do not improve outcomes despite being frequently selected.
DeactivateUnderperformingSkills(ctx context.Context) error
IncrementSkillUsage(ctx context.Context, id string) error
// Reviewable learned skills (files are the source of truth, the table mirrors them).
UpsertSkillMirror(ctx context.Context, arg UpsertSkillMirrorParams) error
SetSkillMirrorState(ctx context.Context, arg SetSkillMirrorStateParams) error
ListAllSkills(ctx context.Context) ([]SkillLibrary, error)
GetSkill(ctx context.Context, id string) (SkillLibrary, error)
InsertSessionSkillInjection(ctx context.Context, arg InsertSessionSkillInjectionParams) error
CountSessionSkillInjections(ctx context.Context, sessionID string) (int64, error)
ListSessionInjectedSkills(ctx context.Context, sessionID string) ([]SkillLibrary, error)
ApplySessionRewardToSkillStats(ctx context.Context, arg ApplySessionRewardToSkillStatsParams) error
ApplyRewardDeltaToSkillStats(ctx context.Context, arg ApplyRewardDeltaToSkillStatsParams) 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
// ACP session state
GetSessionACPState(ctx context.Context, id string) (sql.NullString, error)
UpdateSessionACPState(ctx context.Context, arg UpdateSessionACPStateParams) error
}
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) ApplyRewardDeltaToSkillStats ¶ added in v1.2.4
func (q *Queries) ApplyRewardDeltaToSkillStats(ctx context.Context, arg ApplyRewardDeltaToSkillStatsParams) error
ApplyRewardDeltaToSkillStats applies a re-score's reward change without touching eval_count.
func (*Queries) ApplyRewardDeltaToVariantStats ¶ added in v1.2.4
func (q *Queries) ApplyRewardDeltaToVariantStats(ctx context.Context, arg ApplyRewardDeltaToVariantStatsParams) error
A re-score applies only the reward delta and never touches times_used.
func (*Queries) ApplySessionRewardToSkillStats ¶ added in v1.2.4
func (q *Queries) ApplySessionRewardToSkillStats(ctx context.Context, arg ApplySessionRewardToSkillStatsParams) error
ApplySessionRewardToSkillStats adds an evaluated session's reward to every skill injected into it; success_rate becomes the mean reward.
func (*Queries) ApplySessionRewardToVariantStats ¶ added in v1.2.4
func (q *Queries) ApplySessionRewardToVariantStats(ctx context.Context, arg ApplySessionRewardToVariantStatsParams) error
Counts an evaluated session once for every variant it was served: one statement, joined to the session's selections.
func (*Queries) CountActiveSkills ¶ added in v0.26.2
func (*Queries) CountEligibleSessions ¶ added in v1.2.4
func (*Queries) CountRecentEligibleScored ¶ added in v1.2.4
func (q *Queries) CountRecentEligibleScored(ctx context.Context, arg CountRecentEligibleScoredParams) (CountRecentEligibleScoredRow, error)
func (*Queries) CountSessionScores ¶ added in v0.26.2
func (*Queries) CountSessionSkillInjections ¶ added in v1.2.4
CountSessionSkillInjections counts the rows of the session's frozen set, including the empty-set marker.
func (*Queries) CountUnscoredEligibleSessions ¶ added in v1.2.4
func (*Queries) CreateFile ¶
func (*Queries) CreateGoal ¶ added in v0.324.0
func (q *Queries) CreateGoal(ctx context.Context, arg CreateGoalParams) (SessionGoal, error)
func (*Queries) CreateMessage ¶
func (*Queries) CreateProject ¶ added in v0.240.0
func (*Queries) CreateSession ¶
func (*Queries) DeactivateUnderperformingSkills ¶ added in v0.407.0
DeactivateUnderperformingSkills deactivates skills whose success_rate is below 0.3 AND whose usage_count exceeds 10, pruning low-quality entries from the skill library.
func (*Queries) DeleteGoalsBySession ¶ added in v0.324.0
func (*Queries) DeleteMessage ¶
func (*Queries) DeleteProject ¶ added in v0.240.0
func (*Queries) DeleteSession ¶
func (*Queries) DeleteSessionFiles ¶
func (*Queries) DeleteSessionMessages ¶
func (*Queries) GetActiveGoal ¶ added in v0.324.0
func (*Queries) GetEvaluatorStats ¶ added in v0.26.2
func (q *Queries) GetEvaluatorStats(ctx context.Context) (GetEvaluatorStatsRow, error)
func (*Queries) GetFileByPathAndSession ¶
func (*Queries) GetGoalBySession ¶ added in v0.324.0
func (*Queries) GetJudgeUsageSince ¶ added in v1.2.4
func (q *Queries) GetJudgeUsageSince(ctx context.Context, createdAt int64) (GetJudgeUsageSinceRow, error)
Judge calls and tokens spent since a unix timestamp (start of the local day), derived from persisted scores so the daily budget survives restarts.
func (*Queries) GetLastEvaluationAt ¶ added in v1.2.4
func (*Queries) GetLatestSessionFeedback ¶ added in v1.2.4
func (*Queries) GetMessage ¶
func (*Queries) GetProject ¶ added in v0.240.0
func (*Queries) GetProjectByPath ¶ added in v0.240.0
func (*Queries) GetSessionACPState ¶ added in v0.407.0
func (*Queries) GetSessionByID ¶
func (*Queries) GetSessionScore ¶ added in v0.26.2
func (*Queries) GetSessionTemplateSelection ¶ added in v1.2.4
func (*Queries) GetSessionsTokenBaseline ¶ added in v1.2.4
func (q *Queries) GetSessionsTokenBaseline(ctx context.Context, arg GetSessionsTokenBaselineParams) (float64, error)
Token baseline from the sessions table itself (not session_scores), so it is available before any session has been scored: mean prompt+completion tokens of the most recent root sessions with at least 4 messages (>= 2 user turns and their replies), excluding the session being evaluated.
func (*Queries) IncrementSkillUsage ¶ added in v0.26.2
func (*Queries) InsertSessionFeedbackEvent ¶ added in v1.2.4
func (q *Queries) InsertSessionFeedbackEvent(ctx context.Context, arg InsertSessionFeedbackEventParams) (int64, error)
Explicit user feedback (/feedback good|bad) is stored as an event whose subject is "session_feedback:<session id>"; the payload lives in metadata.
func (*Queries) InsertSessionScore ¶ added in v0.26.2
func (q *Queries) InsertSessionScore(ctx context.Context, arg InsertSessionScoreParams) (SessionScore, error)
func (*Queries) InsertSessionSkillInjection ¶ added in v1.2.4
func (q *Queries) InsertSessionSkillInjection(ctx context.Context, arg InsertSessionSkillInjectionParams) error
InsertSessionSkillInjection records a skill of the session's frozen set. First writer wins.
func (*Queries) InsertSessionTemplateSelection ¶ added in v1.2.4
func (q *Queries) InsertSessionTemplateSelection(ctx context.Context, arg InsertSessionTemplateSelectionParams) error
Prompt template variants: the DB holds selections and statistics only; the variant sources are files. variant_id is "<section>#<variant>". First writer wins, so concurrent processes agree on the frozen choice.
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) ListAllActiveSkills ¶ added in v0.26.2
func (q *Queries) ListAllActiveSkills(ctx context.Context) ([]SkillLibrary, error)
func (*Queries) ListAllSkills ¶ added in v1.2.4
func (q *Queries) ListAllSkills(ctx context.Context) ([]SkillLibrary, error)
func (*Queries) ListAllVariantStats ¶ added in v1.2.4
func (q *Queries) ListAllVariantStats(ctx context.Context) ([]PromptVariantStat, error)
func (*Queries) ListDailyEvaluationMetrics ¶ added in v1.2.4
func (*Queries) ListFilesByPath ¶
func (*Queries) ListFilesBySession ¶
func (*Queries) ListLatestSessionFiles ¶
func (*Queries) ListMessagesBySession ¶
func (*Queries) ListProjects ¶ added in v0.240.0
func (*Queries) ListRecentSessionSkills ¶ added in v1.2.4
func (*Queries) ListRecentSessionVariants ¶ added in v1.2.4
func (*Queries) ListSessionInjectedSkills ¶ added in v1.2.4
func (q *Queries) ListSessionInjectedSkills(ctx context.Context, sessionID string) ([]SkillLibrary, error)
ListSessionInjectedSkills returns the skills frozen into the session's prompt, in injection order.
func (*Queries) ListSessionScores ¶ added in v0.244.0
func (*Queries) ListSessionScoresWithTitle ¶ added in v1.2.4
func (*Queries) ListSessions ¶
func (*Queries) ListUnscoredSessions ¶ added in v1.2.4
func (q *Queries) ListUnscoredSessions(ctx context.Context, arg ListUnscoredSessionsParams) ([]string, error)
Sessions that have no session_scores row yet, at least two user messages and have been idle since before the cutoff (unix seconds), oldest first. Child (subagent) sessions are only returned when include_children is 1.
func (*Queries) ListVariantSelectionCounts ¶ added in v1.2.4
func (*Queries) ListVariantStatsBySection ¶ added in v1.2.4
func (*Queries) MarkProjectInitialized ¶ added in v0.240.0
func (*Queries) SetSkillMirrorState ¶ added in v1.2.4
func (q *Queries) SetSkillMirrorState(ctx context.Context, arg SetSkillMirrorStateParams) error
func (*Queries) UpdateFile ¶
func (*Queries) UpdateGoalProgress ¶ added in v0.324.0
func (q *Queries) UpdateGoalProgress(ctx context.Context, arg UpdateGoalProgressParams) (SessionGoal, error)
func (*Queries) UpdateGoalStatus ¶ added in v0.324.0
func (q *Queries) UpdateGoalStatus(ctx context.Context, arg UpdateGoalStatusParams) (SessionGoal, 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 (*Queries) UpdateProjectStatus ¶ added in v0.240.0
func (q *Queries) UpdateProjectStatus(ctx context.Context, arg UpdateProjectStatusParams) error
func (*Queries) UpdateSession ¶
func (*Queries) UpdateSessionACPState ¶ added in v0.407.0
func (q *Queries) UpdateSessionACPState(ctx context.Context, arg UpdateSessionACPStateParams) error
func (*Queries) UpdateSessionScore ¶ added in v1.2.4
func (q *Queries) UpdateSessionScore(ctx context.Context, arg UpdateSessionScoreParams) (SessionScore, error)
Re-scores a session in place (explicit feedback). The row is UPDATEd, never re-inserted, so the insert-only UCB trigger cannot double count it; the update_ucb_after_rescore trigger applies just the reward delta.
func (*Queries) UpdateSessionScoreJudge ¶ added in v1.2.4
func (q *Queries) UpdateSessionScoreJudge(ctx context.Context, arg UpdateSessionScoreJudgeParams) error
Stores the LLM judge output on an existing score. It does not touch reward, so neither UCB trigger fires.
func (*Queries) UpsertSkillMirror ¶ added in v1.2.4
func (q *Queries) UpsertSkillMirror(ctx context.Context, arg UpsertSkillMirrorParams) error
UpsertSkillMirror mirrors a skill file into skill_library without touching its statistics.
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"`
CacheReadTokens int64 `json:"cache_read_tokens"`
CacheCreationTokens int64 `json:"cache_creation_tokens"`
ReasoningTokens int64 `json:"reasoning_tokens"`
}
type SessionGoal ¶ added in v0.324.0
type SessionGoal struct {
ID string `json:"id"`
SessionID string `json:"session_id"`
Objective string `json:"objective"`
Status string `json:"status"`
Iteration int64 `json:"iteration"`
MaxIterations int64 `json:"max_iterations"`
MaxDurationSeconds int64 `json:"max_duration_seconds"`
StartedAt int64 `json:"started_at"`
CompletedAt sql.NullInt64 `json:"completed_at"`
LastProgress sql.NullString `json:"last_progress"`
NextStep sql.NullString `json:"next_step"`
BlockedReason sql.NullString `json:"blocked_reason"`
CreatedAt int64 `json:"created_at"`
}
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"`
Components string `json:"components"`
JudgePromptTokens int64 `json:"judge_prompt_tokens"`
JudgeCompletionTokens int64 `json:"judge_completion_tokens"`
}
type SessionTemplateSelection ¶ added in v1.2.4
type SetSkillMirrorStateParams ¶ added in v1.2.4
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"`
// Status mirrors the review state of the skill file: pending, approved,
// rejected, or legacy (a pre-review row not yet exported to a file).
Status string `json:"status"`
Confidence float64 `json:"confidence"`
JudgeModel string `json:"judge_model"`
// EvalCount and RewardTotal accumulate the reward of the evaluated sessions
// the skill was injected in; SuccessRate = RewardTotal / EvalCount.
EvalCount int64 `json:"eval_count"`
RewardTotal float64 `json:"reward_total"`
}
type UpdateFileParams ¶
type UpdateGoalProgressParams ¶ added in v0.324.0
type UpdateGoalProgressParams struct {
LastProgress sql.NullString `json:"last_progress"`
NextStep sql.NullString `json:"next_step"`
Iteration int64 `json:"iteration"`
ID string `json:"id"`
}
type UpdateGoalStatusParams ¶ added in v0.324.0
type UpdateGoalStatusParams struct {
Status string `json:"status"`
Iteration int64 `json:"iteration"`
LastProgress sql.NullString `json:"last_progress"`
NextStep sql.NullString `json:"next_step"`
BlockedReason sql.NullString `json:"blocked_reason"`
CompletedAt sql.NullInt64 `json:"completed_at"`
ID string `json:"id"`
}
type UpdateMessageParams ¶
type UpdateProjectLastOpenedParams ¶ added in v0.240.0
type UpdateProjectStatusParams ¶ added in v0.240.0
type UpdateSessionACPStateParams ¶ added in v0.407.0
type UpdateSessionACPStateParams struct {
ACPState sql.NullString `json:"acp_state"`
ID string `json:"id"`
}
type UpdateSessionParams ¶
type UpdateSessionParams struct {
Title string `json:"title"`
PromptTokens int64 `json:"prompt_tokens"`
CompletionTokens int64 `json:"completion_tokens"`
CacheReadTokens int64 `json:"cache_read_tokens"`
CacheCreationTokens int64 `json:"cache_creation_tokens"`
ReasoningTokens int64 `json:"reasoning_tokens"`
SummaryMessageID sql.NullString `json:"summary_message_id"`
Cost float64 `json:"cost"`
ID string `json:"id"`
}
type UpdateSessionScoreJudgeParams ¶ added in v1.2.4
type UpdateSessionScoreJudgeParams struct {
JudgeAnalysis sql.NullString `json:"judge_analysis"`
JudgeModel sql.NullString `json:"judge_model"`
JudgePromptTokens int64 `json:"judge_prompt_tokens"`
JudgeCompletionTokens int64 `json:"judge_completion_tokens"`
SessionID string `json:"session_id"`
}
type UpdateSessionScoreParams ¶ added in v1.2.4
type UpdateSessionScoreParams struct {
Reward float64 `json:"reward"`
SuccessScore float64 `json:"success_score"`
EfficiencyScore float64 `json:"efficiency_score"`
PromptTokens int64 `json:"prompt_tokens"`
CompletionTokens int64 `json:"completion_tokens"`
MessageCount int64 `json:"message_count"`
UserCorrections int64 `json:"user_corrections"`
Components string `json:"components"`
SessionID string `json:"session_id"`
}
type UpsertSkillMirrorParams ¶ added in v1.2.4
type UpsertSkillMirrorParams struct {
ID string `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
SourceSessionID sql.NullString `json:"source_session_id"`
TaskType string `json:"task_type"`
IsActive int64 `json:"is_active"`
Status string `json:"status"`
Confidence float64 `json:"confidence"`
JudgeModel string `json:"judge_model"`
CreatedAt int64 `json:"created_at"`
}