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 ¶
- type JSONField
- type Store
- func (s *Store) Close() error
- func (s *Store) Delete(ctx context.Context, id string) error
- func (s *Store) Load(ctx context.Context, id string) (conversations.ConversationRecord, error)
- func (s *Store) Query(ctx context.Context, options conversations.QueryOptions) (conversations.QueryResult, error)
- func (s *Store) Save(ctx context.Context, record conversations.ConversationRecord) error
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
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store implements ConversationStore using SQLite database
func NewStore ¶
NewStore creates a new SQLite-based conversation store. Note: Migrations should be run via db.RunMigrations() at CLI startup before calling this.
func (*Store) Load ¶
func (s *Store) Load(ctx context.Context, id string) (conversations.ConversationRecord, error)
Load retrieves a conversation record by ID
func (*Store) Query ¶
func (s *Store) Query(ctx context.Context, options conversations.QueryOptions) (conversations.QueryResult, error)
Query performs advanced queries with filtering, sorting, and pagination
func (*Store) Save ¶
func (s *Store) Save(ctx context.Context, record conversations.ConversationRecord) error
Save persists a conversation record to the database using UPSERT to preserve created_at timestamps