sqlite

package
v0.0.0-...-c4ea987 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package sqlite provides SQLite-specific implementation for conversation storage. Schema definitions and constants for the conversation database.

Note: Actual schema migrations are defined in pkg/db/migrations/ and shared across all kodelet database components.

Package sqlite provides SQLite-specific implementation for conversation storage. It implements the ConversationStore interface using SQLite database with optimized WAL mode configuration, schema migrations, and efficient querying.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JSONField

type JSONField[T any] struct {
	Data T
}

JSONField is a generic type for handling JSON marshaling/unmarshaling in database

func (*JSONField[T]) Scan

func (j *JSONField[T]) Scan(value any) error

Scan implements the sql.Scanner interface for reading from database

func (JSONField[T]) Value

func (j JSONField[T]) Value() (driver.Value, error)

Value implements the driver.Valuer interface for writing to database

type Store

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

Store implements ConversationStore using SQLite database

func NewStore

func NewStore(ctx context.Context, dbPath string) (*Store, error)

NewStore creates a new SQLite-based conversation store. Note: Migrations should be run via db.RunMigrations() at CLI startup before calling this.

func (*Store) Close

func (s *Store) Close() error

Close closes the database connection

func (*Store) Delete

func (s *Store) Delete(ctx context.Context, id string) error

Delete removes a conversation and its associated data

func (*Store) Load

Load retrieves a conversation record by ID

func (*Store) Query

Query performs advanced queries with filtering, sorting, and pagination

func (*Store) Save

Save persists a conversation record to the database using UPSERT to preserve created_at timestamps

Jump to

Keyboard shortcuts

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