SQL

CREATE TABLE memory_candidates  (
  id TEXT PRIMARY KEY,
  namespace TEXT NOT NULL DEFAULT 'default',
  status TEXT NOT NULL DEFAULT 'pending',
  candidate_class TEXT NOT NULL DEFAULT 'personal_semantic',
  candidate_kind TEXT NOT NULL,
  text TEXT NOT NULL,
  thread_id TEXT,
  source_event_id TEXT,
  source_turn_id TEXT,
  confidence REAL DEFAULT 0.0,
  reason TEXT,
  labels TEXT,
  evidence_event_ids TEXT,
  meta TEXT,
  dedupe_key TEXT,
  curated_memory_id TEXT,
  decided_at TEXT,
  created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
  updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
  FOREIGN KEY (source_event_id) REFERENCES events(id) ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED,
  FOREIGN KEY (source_turn_id) REFERENCES conversation_turns(id) ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED
)

+ Add column

Columns

Column Data type Allow null Primary key Actions
id TEXT Rename | Drop
namespace TEXT Rename | Drop
status TEXT Rename | Drop
candidate_class TEXT Rename | Drop
candidate_kind TEXT Rename | Drop
text TEXT Rename | Drop
thread_id TEXT Rename | Drop
source_event_id TEXT Rename | Drop
source_turn_id TEXT Rename | Drop
confidence REAL Rename | Drop
reason TEXT Rename | Drop
labels TEXT Rename | Drop
evidence_event_ids TEXT Rename | Drop
meta TEXT Rename | Drop
dedupe_key TEXT Rename | Drop
curated_memory_id TEXT Rename | Drop
decided_at TEXT Rename | Drop
created_at TEXT Rename | Drop
updated_at TEXT Rename | Drop

Foreign Keys

Column Destination
source_turn_id conversation_turns.id
source_event_id events.id

+ Add index

Indexes

Name Columns Unique SQL Drop?
idx_memory_candidates_class_status
  • namespace
  • candidate_class
  • status
  • created_at
SQL
CREATE INDEX idx_memory_candidates_class_status
ON memory_candidates (namespace, candidate_class, status, created_at)
Drop
idx_memory_candidates_dedupe
  • namespace
  • dedupe_key
SQL
CREATE UNIQUE INDEX idx_memory_candidates_dedupe
ON memory_candidates (namespace, dedupe_key) WHERE dedupe_key IS NOT NULL
Drop
idx_memory_candidates_namespace_status
  • namespace
  • status
  • created_at
SQL
CREATE INDEX idx_memory_candidates_namespace_status
ON memory_candidates (namespace, status, created_at)
Drop
idx_memory_candidates_thread
  • thread_id
  • created_at
SQL
CREATE INDEX idx_memory_candidates_thread
ON memory_candidates (thread_id, created_at)
Drop
sqlite_autoindex_memory_candidates_1 id SQL
-- no sql found --
Drop