db

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

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 DeleteBranchesForRepoParams

type DeleteBranchesForRepoParams struct {
	ImplementationID string `json:"implementation_id"`
	CanonicalPath    string `json:"canonical_path"`
}

type DeleteProviderSessionParams

type DeleteProviderSessionParams struct {
	ImplementationID  string `json:"implementation_id"`
	Provider          string `json:"provider"`
	ProviderSessionID string `json:"provider_session_id"`
}

type DeleteRepoSessionsByProviderSessionParams

type DeleteRepoSessionsByProviderSessionParams struct {
	ImplementationID  string `json:"implementation_id"`
	Provider          string `json:"provider"`
	ProviderSessionID string `json:"provider_session_id"`
}

type FindActiveImplementationByBranchParams

type FindActiveImplementationByBranchParams struct {
	CanonicalPath string `json:"canonical_path"`
	Branch        string `json:"branch"`
}

type FindImplementationByCommitParams

type FindImplementationByCommitParams struct {
	CanonicalPath string `json:"canonical_path"`
	CommitHash    string `json:"commit_hash"`
}

type FindImplementationByProviderSessionParams

type FindImplementationByProviderSessionParams struct {
	Provider          string `json:"provider"`
	ProviderSessionID string `json:"provider_session_id"`
}

type GetProviderSessionOwnerParams

type GetProviderSessionOwnerParams struct {
	Provider          string `json:"provider"`
	ProviderSessionID string `json:"provider_session_id"`
}

type Implementation

type Implementation struct {
	ImplementationID string         `json:"implementation_id"`
	Title            sql.NullString `json:"title"`
	State            string         `json:"state"`
	CreatedAt        int64          `json:"created_at"`
	LastActivityAt   int64          `json:"last_activity_at"`
	ClosedAt         sql.NullInt64  `json:"closed_at"`
	MetadataJson     sql.NullString `json:"metadata_json"`
}

type ImplementationBranch

type ImplementationBranch struct {
	ImplementationID string `json:"implementation_id"`
	CanonicalPath    string `json:"canonical_path"`
	Branch           string `json:"branch"`
	FirstSeenAt      int64  `json:"first_seen_at"`
	LastSeenAt       int64  `json:"last_seen_at"`
}

type ImplementationCommit

type ImplementationCommit struct {
	ImplementationID string `json:"implementation_id"`
	CanonicalPath    string `json:"canonical_path"`
	CommitHash       string `json:"commit_hash"`
	AttachedAt       int64  `json:"attached_at"`
	AttachRule       string `json:"attach_rule"`
}

type ImplementationProviderSession

type ImplementationProviderSession struct {
	ImplementationID  string         `json:"implementation_id"`
	Provider          string         `json:"provider"`
	ProviderSessionID string         `json:"provider_session_id"`
	SourceProjectPath sql.NullString `json:"source_project_path"`
	AttachRule        string         `json:"attach_rule"`
	AttachedAt        int64          `json:"attached_at"`
}

type ImplementationRepo

type ImplementationRepo struct {
	ImplementationID string `json:"implementation_id"`
	CanonicalPath    string `json:"canonical_path"`
	DisplayName      string `json:"display_name"`
	RepoRole         string `json:"repo_role"`
	FirstSeenAt      int64  `json:"first_seen_at"`
	LastSeenAt       int64  `json:"last_seen_at"`
}

type ImplementationRepoSession

type ImplementationRepoSession struct {
	ImplementationID  string `json:"implementation_id"`
	Provider          string `json:"provider"`
	ProviderSessionID string `json:"provider_session_id"`
	CanonicalPath     string `json:"canonical_path"`
	SessionID         string `json:"session_id"`
	FirstSeenAt       int64  `json:"first_seen_at"`
	LastSeenAt        int64  `json:"last_seen_at"`
}

type InsertConflictParams

type InsertConflictParams struct {
	ConflictID    string `json:"conflict_id"`
	ObservationID string `json:"observation_id"`
	CandidateA    string `json:"candidate_a"`
	CandidateB    string `json:"candidate_b"`
	RuleName      string `json:"rule_name"`
	CreatedAt     int64  `json:"created_at"`
}

type InsertImplementationCommitParams

type InsertImplementationCommitParams struct {
	ImplementationID string `json:"implementation_id"`
	CanonicalPath    string `json:"canonical_path"`
	CommitHash       string `json:"commit_hash"`
	AttachedAt       int64  `json:"attached_at"`
	AttachRule       string `json:"attach_rule"`
}

type InsertImplementationParams

type InsertImplementationParams struct {
	ImplementationID string `json:"implementation_id"`
	CreatedAt        int64  `json:"created_at"`
	LastActivityAt   int64  `json:"last_activity_at"`
}

type InsertObservationParams

type InsertObservationParams struct {
	ObservationID     string         `json:"observation_id"`
	Provider          string         `json:"provider"`
	ProviderSessionID string         `json:"provider_session_id"`
	ParentSessionID   sql.NullString `json:"parent_session_id"`
	SourceProjectPath sql.NullString `json:"source_project_path"`
	TargetRepoPath    string         `json:"target_repo_path"`
	EventTs           int64          `json:"event_ts"`
	CreatedAt         int64          `json:"created_at"`
}

type InsertProviderSessionParams

type InsertProviderSessionParams struct {
	ImplementationID  string         `json:"implementation_id"`
	Provider          string         `json:"provider"`
	ProviderSessionID string         `json:"provider_session_id"`
	SourceProjectPath sql.NullString `json:"source_project_path"`
	AttachRule        string         `json:"attach_rule"`
	AttachedAt        int64          `json:"attached_at"`
}

type ListActiveOrMultiRepoRow

type ListActiveOrMultiRepoRow struct {
	ImplementationID string         `json:"implementation_id"`
	Title            sql.NullString `json:"title"`
	State            string         `json:"state"`
	CreatedAt        int64          `json:"created_at"`
	LastActivityAt   int64          `json:"last_activity_at"`
	ClosedAt         sql.NullInt64  `json:"closed_at"`
	MetadataJson     sql.NullString `json:"metadata_json"`
	RepoCount        int64          `json:"repo_count"`
	CommitCount      int64          `json:"commit_count"`
}

type ListAllImplementationsRow

type ListAllImplementationsRow struct {
	ImplementationID string         `json:"implementation_id"`
	Title            sql.NullString `json:"title"`
	State            string         `json:"state"`
	CreatedAt        int64          `json:"created_at"`
	LastActivityAt   int64          `json:"last_activity_at"`
	ClosedAt         sql.NullInt64  `json:"closed_at"`
	MetadataJson     sql.NullString `json:"metadata_json"`
	RepoCount        int64          `json:"repo_count"`
	CommitCount      int64          `json:"commit_count"`
}

type ListImplementationsByStateParams

type ListImplementationsByStateParams struct {
	States []string `json:"states"`
	Limit  int64    `json:"limit"`
}

type ListImplementationsByStateRow

type ListImplementationsByStateRow struct {
	ImplementationID string         `json:"implementation_id"`
	Title            sql.NullString `json:"title"`
	State            string         `json:"state"`
	CreatedAt        int64          `json:"created_at"`
	LastActivityAt   int64          `json:"last_activity_at"`
	ClosedAt         sql.NullInt64  `json:"closed_at"`
	MetadataJson     sql.NullString `json:"metadata_json"`
	RepoCount        int64          `json:"repo_count"`
	CommitCount      int64          `json:"commit_count"`
}

type ListRetryableObservationsParams

type ListRetryableObservationsParams struct {
	ReconcileAttempts int64 `json:"reconcile_attempts"`
	Limit             int64 `json:"limit"`
}

type MarkObservationFailedParams

type MarkObservationFailedParams struct {
	LastError     sql.NullString `json:"last_error"`
	ObservationID string         `json:"observation_id"`
}

type MoveCommitsParams

type MoveCommitsParams struct {
	TargetID string `json:"target_id"`
	SourceID string `json:"source_id"`
}

type MoveProviderSessionsParams

type MoveProviderSessionsParams struct {
	TargetID string `json:"target_id"`
	SourceID string `json:"source_id"`
}

type MoveRepoSessionsParams

type MoveRepoSessionsParams struct {
	TargetID string `json:"target_id"`
	SourceID string `json:"source_id"`
}

type Observation

type Observation struct {
	ObservationID     string         `json:"observation_id"`
	Provider          string         `json:"provider"`
	ProviderSessionID string         `json:"provider_session_id"`
	ParentSessionID   sql.NullString `json:"parent_session_id"`
	SourceProjectPath sql.NullString `json:"source_project_path"`
	TargetRepoPath    string         `json:"target_repo_path"`
	EventTs           int64          `json:"event_ts"`
	CreatedAt         int64          `json:"created_at"`
	Reconciled        int64          `json:"reconciled"`
	ReconcileAttempts int64          `json:"reconcile_attempts"`
	LastError         sql.NullString `json:"last_error"`
}

type ObservationConflict

type ObservationConflict struct {
	ConflictID    string         `json:"conflict_id"`
	ObservationID string         `json:"observation_id"`
	CandidateA    string         `json:"candidate_a"`
	CandidateB    string         `json:"candidate_b"`
	RuleName      string         `json:"rule_name"`
	Resolved      int64          `json:"resolved"`
	Resolution    sql.NullString `json:"resolution"`
	CreatedAt     int64          `json:"created_at"`
}

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) CountCommitsForImplementation

func (q *Queries) CountCommitsForImplementation(ctx context.Context, implementationID string) (int64, error)

func (*Queries) CountFailedObservations

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

func (*Queries) CountImplementationsByState

func (q *Queries) CountImplementationsByState(ctx context.Context, states []string) (int64, error)

func (*Queries) CountReposForImplementation added in v0.2.1

func (q *Queries) CountReposForImplementation(ctx context.Context, implementationID string) (int64, error)

func (*Queries) CountUnresolvedConflicts

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

func (*Queries) DeleteBranchesForImplementation

func (q *Queries) DeleteBranchesForImplementation(ctx context.Context, implementationID string) error

func (*Queries) DeleteBranchesForRepo

func (q *Queries) DeleteBranchesForRepo(ctx context.Context, arg DeleteBranchesForRepoParams) error

Remove all branch rows for a specific repo in an implementation. Used during force-move to clear stale branch associations.

func (*Queries) DeleteOrphanedRepos

func (q *Queries) DeleteOrphanedRepos(ctx context.Context, implID string) error

Remove repos that no longer have any repo-scoped data (sessions, commits, or branches) in this implementation.

func (*Queries) DeleteProviderSession

func (q *Queries) DeleteProviderSession(ctx context.Context, arg DeleteProviderSessionParams) error

func (*Queries) DeleteRepoSessionsByProviderSession

func (q *Queries) DeleteRepoSessionsByProviderSession(ctx context.Context, arg DeleteRepoSessionsByProviderSessionParams) error

func (*Queries) DeleteReposForImplementation

func (q *Queries) DeleteReposForImplementation(ctx context.Context, implementationID string) error

func (*Queries) FindActiveImplementationByBranch

func (q *Queries) FindActiveImplementationByBranch(ctx context.Context, arg FindActiveImplementationByBranchParams) (Implementation, error)

func (*Queries) FindImplementationByCommit

func (q *Queries) FindImplementationByCommit(ctx context.Context, arg FindImplementationByCommitParams) (string, error)

func (*Queries) FindImplementationByProviderSession

func (q *Queries) FindImplementationByProviderSession(ctx context.Context, arg FindImplementationByProviderSessionParams) (Implementation, error)

func (*Queries) FindImplementationsByLocalSession

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

func (*Queries) GetImplementation

func (q *Queries) GetImplementation(ctx context.Context, implementationID string) (Implementation, error)

func (*Queries) GetProviderSessionOwner

func (q *Queries) GetProviderSessionOwner(ctx context.Context, arg GetProviderSessionOwnerParams) (string, error)

func (*Queries) InsertConflict

func (q *Queries) InsertConflict(ctx context.Context, arg InsertConflictParams) error

func (*Queries) InsertImplementation

func (q *Queries) InsertImplementation(ctx context.Context, arg InsertImplementationParams) error

func (*Queries) InsertImplementationCommit

func (q *Queries) InsertImplementationCommit(ctx context.Context, arg InsertImplementationCommitParams) error

func (*Queries) InsertObservation

func (q *Queries) InsertObservation(ctx context.Context, arg InsertObservationParams) error

func (*Queries) InsertProviderSession

func (q *Queries) InsertProviderSession(ctx context.Context, arg InsertProviderSessionParams) error

func (*Queries) ListActiveOrMultiRepo

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

func (*Queries) ListAllImplementations

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

func (*Queries) ListBranchesForImplementation

func (q *Queries) ListBranchesForImplementation(ctx context.Context, implementationID string) ([]ImplementationBranch, error)

func (*Queries) ListDeferredObservations

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

func (*Queries) ListImplementationCommits

func (q *Queries) ListImplementationCommits(ctx context.Context, implementationID string) ([]ImplementationCommit, error)

func (*Queries) ListImplementationRepos

func (q *Queries) ListImplementationRepos(ctx context.Context, implementationID string) ([]ImplementationRepo, error)

func (*Queries) ListImplementationsByState

func (q *Queries) ListImplementationsByState(ctx context.Context, arg ListImplementationsByStateParams) ([]ListImplementationsByStateRow, error)

func (*Queries) ListPendingObservations

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

func (*Queries) ListProviderSessionsForImplementation

func (q *Queries) ListProviderSessionsForImplementation(ctx context.Context, implementationID string) ([]ImplementationProviderSession, error)

func (*Queries) ListRepoSessionsForImplementation

func (q *Queries) ListRepoSessionsForImplementation(ctx context.Context, implementationID string) ([]ImplementationRepoSession, error)

func (*Queries) ListRetryableObservations

func (q *Queries) ListRetryableObservations(ctx context.Context, arg ListRetryableObservationsParams) ([]Observation, error)

func (*Queries) ListStaleImplementations

func (q *Queries) ListStaleImplementations(ctx context.Context, lastActivityAt int64) ([]Implementation, error)

func (*Queries) MarkDormant

func (q *Queries) MarkDormant(ctx context.Context, lastActivityAt int64) (sql.Result, error)

func (*Queries) MarkObservationConflict

func (q *Queries) MarkObservationConflict(ctx context.Context, observationID string) error

func (*Queries) MarkObservationDeferred

func (q *Queries) MarkObservationDeferred(ctx context.Context, observationID string) error

func (*Queries) MarkObservationFailed

func (q *Queries) MarkObservationFailed(ctx context.Context, arg MarkObservationFailedParams) error

func (*Queries) MarkObservationReconciled

func (q *Queries) MarkObservationReconciled(ctx context.Context, observationID string) error

func (*Queries) MoveCommits

func (q *Queries) MoveCommits(ctx context.Context, arg MoveCommitsParams) error

func (*Queries) MoveProviderSessions

func (q *Queries) MoveProviderSessions(ctx context.Context, arg MoveProviderSessionsParams) error

func (*Queries) MoveRepoSessions

func (q *Queries) MoveRepoSessions(ctx context.Context, arg MoveRepoSessionsParams) error

func (*Queries) PruneReconciledObservations

func (q *Queries) PruneReconciledObservations(ctx context.Context, createdAt int64) (sql.Result, error)

func (*Queries) ResolveConflict

func (q *Queries) ResolveConflict(ctx context.Context, arg ResolveConflictParams) error

func (*Queries) ResolveImplementationByPrefix

func (q *Queries) ResolveImplementationByPrefix(ctx context.Context, prefix sql.NullString) ([]string, error)

func (*Queries) UpdateImplementationActivity

func (q *Queries) UpdateImplementationActivity(ctx context.Context, arg UpdateImplementationActivityParams) error

func (*Queries) UpdateImplementationMetadata

func (q *Queries) UpdateImplementationMetadata(ctx context.Context, arg UpdateImplementationMetadataParams) error

func (*Queries) UpdateImplementationState

func (q *Queries) UpdateImplementationState(ctx context.Context, arg UpdateImplementationStateParams) error

func (*Queries) UpdateImplementationTitle

func (q *Queries) UpdateImplementationTitle(ctx context.Context, arg UpdateImplementationTitleParams) error

func (*Queries) UpsertImplementationBranch

func (q *Queries) UpsertImplementationBranch(ctx context.Context, arg UpsertImplementationBranchParams) error

func (*Queries) UpsertImplementationRepo

func (q *Queries) UpsertImplementationRepo(ctx context.Context, arg UpsertImplementationRepoParams) error

func (*Queries) UpsertRepoSession

func (q *Queries) UpsertRepoSession(ctx context.Context, arg UpsertRepoSessionParams) error

func (*Queries) WithTx

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

type ResolveConflictParams

type ResolveConflictParams struct {
	Resolution sql.NullString `json:"resolution"`
	ConflictID string         `json:"conflict_id"`
}

type UpdateImplementationActivityParams

type UpdateImplementationActivityParams struct {
	LastActivityAt   int64  `json:"last_activity_at"`
	ImplementationID string `json:"implementation_id"`
}

type UpdateImplementationMetadataParams

type UpdateImplementationMetadataParams struct {
	MetadataJson     sql.NullString `json:"metadata_json"`
	ImplementationID string         `json:"implementation_id"`
}

type UpdateImplementationStateParams

type UpdateImplementationStateParams struct {
	State            string        `json:"state"`
	ClosedAt         sql.NullInt64 `json:"closed_at"`
	ImplementationID string        `json:"implementation_id"`
}

type UpdateImplementationTitleParams

type UpdateImplementationTitleParams struct {
	Title            sql.NullString `json:"title"`
	ImplementationID string         `json:"implementation_id"`
}

type UpsertImplementationBranchParams

type UpsertImplementationBranchParams struct {
	ImplementationID string `json:"implementation_id"`
	CanonicalPath    string `json:"canonical_path"`
	Branch           string `json:"branch"`
	FirstSeenAt      int64  `json:"first_seen_at"`
	LastSeenAt       int64  `json:"last_seen_at"`
}

type UpsertImplementationRepoParams

type UpsertImplementationRepoParams struct {
	ImplementationID string `json:"implementation_id"`
	CanonicalPath    string `json:"canonical_path"`
	DisplayName      string `json:"display_name"`
	RepoRole         string `json:"repo_role"`
	FirstSeenAt      int64  `json:"first_seen_at"`
	LastSeenAt       int64  `json:"last_seen_at"`
}

type UpsertRepoSessionParams

type UpsertRepoSessionParams struct {
	ImplementationID  string `json:"implementation_id"`
	Provider          string `json:"provider"`
	ProviderSessionID string `json:"provider_session_id"`
	CanonicalPath     string `json:"canonical_path"`
	SessionID         string `json:"session_id"`
	FirstSeenAt       int64  `json:"first_seen_at"`
	LastSeenAt        int64  `json:"last_seen_at"`
}

Jump to

Keyboard shortcuts

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