-- Table for storing message metadata and embeddings -- Embeddings stored as BLOB for proof-of-concept -- For production with many contacts, consider using sqlite-vec extension CREATE TABLE message_embeddings ( id INTEGER PRIMARY KEY NOT NULL, contact TEXT NOT NULL, body TEXT NOT NULL, timestamp BIGINT NOT NULL, is_sent BOOLEAN NOT NULL, embedding BLOB NOT NULL, created_at BIGINT NOT NULL, model_version TEXT NOT NULL, -- Prevent duplicate embeddings for the same message UNIQUE(contact, body, timestamp) ); -- Indexes for efficient queries CREATE INDEX idx_message_embeddings_contact ON message_embeddings(contact); CREATE INDEX idx_message_embeddings_timestamp ON message_embeddings(timestamp);