From c67e677bda4f4cc15d16e834a2223dff26490d7b Mon Sep 17 00:00:00 2001 From: Gabriel Zeck Date: Wed, 4 Mar 2026 08:12:04 -0600 Subject: [PATCH 1/3] Update railway.json --- railway.json | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/railway.json b/railway.json index 5dbef3bc..63756ba9 100644 --- a/railway.json +++ b/railway.json @@ -1,16 +1,12 @@ { "$schema": "https://railway.app/railway.schema.json", "build": { - "builder": "NIXPACKS", - "rootDir": "packages/openmemory-js", - "buildCommand": "npm install && npm run build" + "builder": "DOCKERFILE", + "dockerfilePath": "packages/openmemory-js/Dockerfile" }, "deploy": { "startCommand": "npm start", "restartPolicyType": "ON_FAILURE", - "healthcheckPath": "/" - }, - "env": { - "NODE_ENV": "production" + "healthcheckPath": "/health" } -} \ No newline at end of file +} From f2e3e14c45a9fb2374a40f0c1090a824dfd49e7f Mon Sep 17 00:00:00 2001 From: Gabriel Zeck Date: Wed, 4 Mar 2026 08:28:29 -0600 Subject: [PATCH 2/3] Set vector dimension in Postgres table creation --- packages/openmemory-js/src/core/db.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/openmemory-js/src/core/db.ts b/packages/openmemory-js/src/core/db.ts index c5e10660..0f3305fe 100644 --- a/packages/openmemory-js/src/core/db.ts +++ b/packages/openmemory-js/src/core/db.ts @@ -158,7 +158,7 @@ if (is_pg) { `create table if not exists ${m}(id uuid primary key,user_id text,segment integer default 0,content text not null,simhash text,primary_sector text not null,tags text,meta text,created_at bigint,updated_at bigint,last_seen_at bigint,salience double precision,decay_lambda double precision,version integer default 1,mean_dim integer,mean_vec bytea,compressed_vec bytea,feedback_score double precision default 0)`, ); await pg.query( - `create table if not exists ${v}(id uuid,sector text,user_id text,v vector,dim integer not null,primary key(id,sector))`, + `create table if not exists ${v}(id uuid,sector text,user_id text,v vector(${env.vec_dim}),dim integer not null,primary key(id,sector))`, ); await pg.query( `create index if not exists openmemory_vectors_hnsw_idx on ${v} using hnsw (v vector_cosine_ops)`, From 63d28aa672eb21a27b69f917ec0c9f142f8dbbb0 Mon Sep 17 00:00:00 2001 From: Gabriel Zeck Date: Tue, 17 Mar 2026 14:20:29 -0500 Subject: [PATCH 3/3] Correct refs to the memories table --- packages/openmemory-js/src/memory/decay.ts | 6 +++--- packages/openmemory-js/src/ops/dynamics.ts | 6 +++--- packages/openmemory-js/src/server/routes/system.ts | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/openmemory-js/src/memory/decay.ts b/packages/openmemory-js/src/memory/decay.ts index 516982d5..9a4afd77 100644 --- a/packages/openmemory-js/src/memory/decay.ts +++ b/packages/openmemory-js/src/memory/decay.ts @@ -241,7 +241,7 @@ export const apply_decay = async () => { for (const seg of segments) { const segment = seg.segment; const rows = await all_async( - "select id,content,summary,salience,decay_lambda,last_seen_at,updated_at,primary_sector,coactivations from memories where segment=?", + `select id,content,summary,salience,decay_lambda,last_seen_at,updated_at,primary_sector,coactivations from ${memories_table} where segment=?`, [segment], ); @@ -323,7 +323,7 @@ export const apply_decay = async () => { if (new_summary !== (m.summary || "")) { await run_async( - "update memories set summary=? where id=?", + `update ${memories_table} set summary=? where id=?`, [new_summary, m.id], ); } @@ -342,7 +342,7 @@ export const apply_decay = async () => { fp.vector.length, ); await run_async( - "update memories set summary=? where id=?", + `update ${memories_table} set summary=? where id=?`, [fp.summary, m.id], ); fingerprinted = true; diff --git a/packages/openmemory-js/src/ops/dynamics.ts b/packages/openmemory-js/src/ops/dynamics.ts index 6be2c9f3..0a040575 100644 --- a/packages/openmemory-js/src/ops/dynamics.ts +++ b/packages/openmemory-js/src/ops/dynamics.ts @@ -117,7 +117,7 @@ export async function propagateAssociativeReinforcementToLinkedNodes( const ups: Array<{ node_id: string; new_salience: number }> = []; for (const wp of wps) { const ld = (await get_async( - "select salience from memories where id=?", + `select salience from ${memories_table} where id=?`, [wp.target_id], )) as any; if (ld) { @@ -152,7 +152,7 @@ export async function determineEnergyBasedRetrievalThreshold( export async function applyDualPhaseDecayToAllMemories(): Promise { const mems = await all_async( - "select id,salience,decay_lambda,last_seen_at,updated_at,created_at from memories", + `select id,salience,decay_lambda,last_seen_at,updated_at,created_at from ${memories_table}`, ); const ts = now(); const ops = mems.map(async (m: any) => { @@ -237,7 +237,7 @@ export async function retrieveMemoriesWithEnergyThresholding( me: number, ): Promise { const mems = (await all_async( - "select id,content,primary_sector,salience,mean_vec from memories where salience>0.01", + `select id,content,primary_sector,salience,mean_vec from ${memories_table} where salience>0.01`, )) as any[]; const sc = new Map(); for (const m of mems) { diff --git a/packages/openmemory-js/src/server/routes/system.ts b/packages/openmemory-js/src/server/routes/system.ts index 5c6ecb31..bcd30c7f 100644 --- a/packages/openmemory-js/src/server/routes/system.ts +++ b/packages/openmemory-js/src/server/routes/system.ts @@ -1,4 +1,4 @@ -import { all_async } from "../../core/db"; +import { all_async, memories_table } from "../../core/db"; import { sector_configs } from "../../memory/hsg"; import { getEmbeddingInfo } from "../../memory/embed"; import { tier, env } from "../../core/cfg"; @@ -52,7 +52,7 @@ export function sys(app: any) { try { const database_sector_statistics_rows = await all_async(` select primary_sector as sector, count(*) as count, avg(salience) as avg_salience - from memories + from ${memories_table} group by primary_sector `); outgoing_http_response.json({