-- Agent Memory plugin initial migration: creates agent_memories table with pgvector CREATE TABLE IF NOT EXISTS agent_memories ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), tenant_id UUID NOT NULL, agent_id UUID NOT NULL, memory_type VARCHAR(50) NOT NULL DEFAULT 'fact', content TEXT NOT NULL, embedding vector(768), owner_id UUID REFERENCES users(id) ON DELETE SET NULL, deleted_at TIMESTAMPTZ, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX IF NOT EXISTS ix_agent_memories_tenant_agent ON agent_memories(tenant_id, agent_id); CREATE INDEX IF NOT EXISTS ix_agent_memories_tenant_type ON agent_memories(tenant_id, memory_type); CREATE INDEX IF NOT EXISTS ix_agent_memories_agent_id ON agent_memories(agent_id); -- HNSW index for fast vector similarity search on agent_memories.embedding CREATE INDEX IF NOT EXISTS ix_agent_memories_embedding_hnsw ON agent_memories USING hnsw (embedding vector_cosine_ops) WITH (m = 16, ef_construction = 200);