mnemocyte 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -128,7 +128,8 @@ interface ProviderResilienceConfig {
128
128
  interface MnemocyteConfig {
129
129
  /**
130
130
  * Postgres connection string. When set, the client uses the Postgres
131
- * backend (requires the `pgvector` extension and the bundled migration).
131
+ * backend (requires the `pgvector` extension and a rendered migration
132
+ * with `mnemocyte_meta.embedding_dimensions` matching the embedder).
132
133
  * When omitted, an in-memory backend is used.
133
134
  */
134
135
  databaseUrl?: string;
@@ -842,4 +843,4 @@ interface ExperimentalMnemocyteClient {
842
843
  }
843
844
  //#endregion
844
845
  export { RetrievalConfig as A, MnemocyteOperation as C, PruneResult as D, PruneInput as E, RetrievalScoreWeights as M, RetrievalScores as N, RecallInput as O, TokenCounter as P, MnemocyteObservationPhase as S, ProviderResilienceConfig as T, MemoryWithScore as _, ConsolidateResult as a, MnemocyteConfig as b, Embedder as c, FindDuplicatesInput as d, GlobalStats as f, MemoryType as g, Memory as h, ConsolidateInput as i, RetrievalExplanation as j, RememberInput as k, EntityStats as l, ListAuditLogInput as m, AuditEvent as n, ContextFormat as o, ImportanceLevel as p, BuildContextInput as r, DuplicatePair as s, AuditConfig as t, ExperimentalMnemocyteClient as u, MnemocyteBackend as v, ObservabilityConfig as w, MnemocyteObservation as x, MnemocyteClient as y };
845
- //# sourceMappingURL=types-QK_43oKJ.d.mts.map
846
+ //# sourceMappingURL=types-DXEGcc47.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-DXEGcc47.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ CREATE TABLE "mnemocyte_events" (
2
+ "id" text PRIMARY KEY NOT NULL,
3
+ "entity_id" text NOT NULL,
4
+ "description" text NOT NULL,
5
+ "metadata" jsonb DEFAULT '{}'::jsonb NOT NULL,
6
+ "timestamp" timestamp with time zone DEFAULT now() NOT NULL
7
+ );
8
+ --> statement-breakpoint
9
+ CREATE TABLE "mnemocyte_meta" (
10
+ "key" text PRIMARY KEY NOT NULL,
11
+ "embedding_dimensions" integer NOT NULL
12
+ );
13
+ --> statement-breakpoint
14
+ INSERT INTO "mnemocyte_meta" ("key", "embedding_dimensions") VALUES ('installation', {{EMBEDDING_DIMENSIONS}});
15
+ --> statement-breakpoint
16
+ CREATE TABLE "mnemocyte_memories" (
17
+ "id" text PRIMARY KEY NOT NULL,
18
+ "entity_id" text NOT NULL,
19
+ "content" text NOT NULL,
20
+ "type" text DEFAULT 'fact' NOT NULL,
21
+ "importance" text DEFAULT 'normal' NOT NULL,
22
+ "tags" text[] DEFAULT '{}'::text[] NOT NULL,
23
+ "source" text,
24
+ "metadata" jsonb DEFAULT '{}'::jsonb NOT NULL,
25
+ "confidence" real DEFAULT 1 NOT NULL,
26
+ "embedding" vector({{EMBEDDING_DIMENSIONS}}),
27
+ "embedding_model" text NOT NULL,
28
+ "embedding_dimensions" integer NOT NULL,
29
+ "superseded_by" text,
30
+ "superseded_at" timestamp with time zone,
31
+ "expires_at" timestamp with time zone,
32
+ "last_accessed_at" timestamp with time zone,
33
+ "access_count" integer DEFAULT 0 NOT NULL,
34
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
35
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
36
+ );
37
+ --> statement-breakpoint
38
+ ALTER TABLE "mnemocyte_memories" ADD CONSTRAINT "mnemocyte_memories_superseded_by_mnemocyte_memories_id_fk" FOREIGN KEY ("superseded_by") REFERENCES "public"."mnemocyte_memories"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
39
+ CREATE INDEX "mnemocyte_events_entity_time_idx" ON "mnemocyte_events" USING btree ("entity_id","timestamp");--> statement-breakpoint
40
+ CREATE INDEX "mnemocyte_memories_entity_idx" ON "mnemocyte_memories" USING btree ("entity_id");--> statement-breakpoint
41
+ CREATE INDEX "mnemocyte_memories_entity_type_idx" ON "mnemocyte_memories" USING btree ("entity_id","type");--> statement-breakpoint
42
+ CREATE INDEX "mnemocyte_memories_embedding_hnsw_idx" ON "mnemocyte_memories" USING hnsw ("embedding" vector_cosine_ops);
@@ -0,0 +1,6 @@
1
+ CREATE TABLE "mnemocyte_meta" (
2
+ "key" text PRIMARY KEY NOT NULL,
3
+ "embedding_dimensions" integer NOT NULL
4
+ );
5
+ --> statement-breakpoint
6
+ INSERT INTO "mnemocyte_meta" ("key", "embedding_dimensions") VALUES ('installation', 1536);
@@ -0,0 +1,309 @@
1
+ {
2
+ "id": "59920203-e7f9-4cdd-9580-1c7b42ac242e",
3
+ "prevId": "feeb327d-c000-40d3-9c3c-3eb82b2e2e81",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.mnemocyte_events": {
8
+ "name": "mnemocyte_events",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "text",
14
+ "primaryKey": true,
15
+ "notNull": true
16
+ },
17
+ "entity_id": {
18
+ "name": "entity_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "description": {
24
+ "name": "description",
25
+ "type": "text",
26
+ "primaryKey": false,
27
+ "notNull": true
28
+ },
29
+ "metadata": {
30
+ "name": "metadata",
31
+ "type": "jsonb",
32
+ "primaryKey": false,
33
+ "notNull": true,
34
+ "default": "'{}'::jsonb"
35
+ },
36
+ "timestamp": {
37
+ "name": "timestamp",
38
+ "type": "timestamp with time zone",
39
+ "primaryKey": false,
40
+ "notNull": true,
41
+ "default": "now()"
42
+ }
43
+ },
44
+ "indexes": {
45
+ "mnemocyte_events_entity_time_idx": {
46
+ "name": "mnemocyte_events_entity_time_idx",
47
+ "columns": [
48
+ {
49
+ "expression": "entity_id",
50
+ "isExpression": false,
51
+ "asc": true,
52
+ "nulls": "last"
53
+ },
54
+ {
55
+ "expression": "timestamp",
56
+ "isExpression": false,
57
+ "asc": true,
58
+ "nulls": "last"
59
+ }
60
+ ],
61
+ "isUnique": false,
62
+ "concurrently": false,
63
+ "method": "btree",
64
+ "with": {}
65
+ }
66
+ },
67
+ "foreignKeys": {},
68
+ "compositePrimaryKeys": {},
69
+ "uniqueConstraints": {},
70
+ "policies": {},
71
+ "checkConstraints": {},
72
+ "isRLSEnabled": false
73
+ },
74
+ "public.mnemocyte_memories": {
75
+ "name": "mnemocyte_memories",
76
+ "schema": "",
77
+ "columns": {
78
+ "id": {
79
+ "name": "id",
80
+ "type": "text",
81
+ "primaryKey": true,
82
+ "notNull": true
83
+ },
84
+ "entity_id": {
85
+ "name": "entity_id",
86
+ "type": "text",
87
+ "primaryKey": false,
88
+ "notNull": true
89
+ },
90
+ "content": {
91
+ "name": "content",
92
+ "type": "text",
93
+ "primaryKey": false,
94
+ "notNull": true
95
+ },
96
+ "type": {
97
+ "name": "type",
98
+ "type": "text",
99
+ "primaryKey": false,
100
+ "notNull": true,
101
+ "default": "'fact'"
102
+ },
103
+ "importance": {
104
+ "name": "importance",
105
+ "type": "text",
106
+ "primaryKey": false,
107
+ "notNull": true,
108
+ "default": "'normal'"
109
+ },
110
+ "tags": {
111
+ "name": "tags",
112
+ "type": "text[]",
113
+ "primaryKey": false,
114
+ "notNull": true,
115
+ "default": "'{}'::text[]"
116
+ },
117
+ "source": {
118
+ "name": "source",
119
+ "type": "text",
120
+ "primaryKey": false,
121
+ "notNull": false
122
+ },
123
+ "metadata": {
124
+ "name": "metadata",
125
+ "type": "jsonb",
126
+ "primaryKey": false,
127
+ "notNull": true,
128
+ "default": "'{}'::jsonb"
129
+ },
130
+ "confidence": {
131
+ "name": "confidence",
132
+ "type": "real",
133
+ "primaryKey": false,
134
+ "notNull": true,
135
+ "default": 1
136
+ },
137
+ "embedding": {
138
+ "name": "embedding",
139
+ "type": "vector(1536)",
140
+ "primaryKey": false,
141
+ "notNull": false
142
+ },
143
+ "embedding_model": {
144
+ "name": "embedding_model",
145
+ "type": "text",
146
+ "primaryKey": false,
147
+ "notNull": true
148
+ },
149
+ "embedding_dimensions": {
150
+ "name": "embedding_dimensions",
151
+ "type": "integer",
152
+ "primaryKey": false,
153
+ "notNull": true
154
+ },
155
+ "superseded_by": {
156
+ "name": "superseded_by",
157
+ "type": "text",
158
+ "primaryKey": false,
159
+ "notNull": false
160
+ },
161
+ "superseded_at": {
162
+ "name": "superseded_at",
163
+ "type": "timestamp with time zone",
164
+ "primaryKey": false,
165
+ "notNull": false
166
+ },
167
+ "expires_at": {
168
+ "name": "expires_at",
169
+ "type": "timestamp with time zone",
170
+ "primaryKey": false,
171
+ "notNull": false
172
+ },
173
+ "last_accessed_at": {
174
+ "name": "last_accessed_at",
175
+ "type": "timestamp with time zone",
176
+ "primaryKey": false,
177
+ "notNull": false
178
+ },
179
+ "access_count": {
180
+ "name": "access_count",
181
+ "type": "integer",
182
+ "primaryKey": false,
183
+ "notNull": true,
184
+ "default": 0
185
+ },
186
+ "created_at": {
187
+ "name": "created_at",
188
+ "type": "timestamp with time zone",
189
+ "primaryKey": false,
190
+ "notNull": true,
191
+ "default": "now()"
192
+ },
193
+ "updated_at": {
194
+ "name": "updated_at",
195
+ "type": "timestamp with time zone",
196
+ "primaryKey": false,
197
+ "notNull": true,
198
+ "default": "now()"
199
+ }
200
+ },
201
+ "indexes": {
202
+ "mnemocyte_memories_entity_idx": {
203
+ "name": "mnemocyte_memories_entity_idx",
204
+ "columns": [
205
+ {
206
+ "expression": "entity_id",
207
+ "isExpression": false,
208
+ "asc": true,
209
+ "nulls": "last"
210
+ }
211
+ ],
212
+ "isUnique": false,
213
+ "concurrently": false,
214
+ "method": "btree",
215
+ "with": {}
216
+ },
217
+ "mnemocyte_memories_entity_type_idx": {
218
+ "name": "mnemocyte_memories_entity_type_idx",
219
+ "columns": [
220
+ {
221
+ "expression": "entity_id",
222
+ "isExpression": false,
223
+ "asc": true,
224
+ "nulls": "last"
225
+ },
226
+ {
227
+ "expression": "type",
228
+ "isExpression": false,
229
+ "asc": true,
230
+ "nulls": "last"
231
+ }
232
+ ],
233
+ "isUnique": false,
234
+ "concurrently": false,
235
+ "method": "btree",
236
+ "with": {}
237
+ },
238
+ "mnemocyte_memories_embedding_hnsw_idx": {
239
+ "name": "mnemocyte_memories_embedding_hnsw_idx",
240
+ "columns": [
241
+ {
242
+ "expression": "embedding",
243
+ "isExpression": false,
244
+ "asc": true,
245
+ "nulls": "last",
246
+ "opclass": "vector_cosine_ops"
247
+ }
248
+ ],
249
+ "isUnique": false,
250
+ "concurrently": false,
251
+ "method": "hnsw",
252
+ "with": {}
253
+ }
254
+ },
255
+ "foreignKeys": {
256
+ "mnemocyte_memories_superseded_by_mnemocyte_memories_id_fk": {
257
+ "name": "mnemocyte_memories_superseded_by_mnemocyte_memories_id_fk",
258
+ "tableFrom": "mnemocyte_memories",
259
+ "tableTo": "mnemocyte_memories",
260
+ "columnsFrom": ["superseded_by"],
261
+ "columnsTo": ["id"],
262
+ "onDelete": "no action",
263
+ "onUpdate": "no action"
264
+ }
265
+ },
266
+ "compositePrimaryKeys": {},
267
+ "uniqueConstraints": {},
268
+ "policies": {},
269
+ "checkConstraints": {},
270
+ "isRLSEnabled": false
271
+ },
272
+ "public.mnemocyte_meta": {
273
+ "name": "mnemocyte_meta",
274
+ "schema": "",
275
+ "columns": {
276
+ "key": {
277
+ "name": "key",
278
+ "type": "text",
279
+ "primaryKey": true,
280
+ "notNull": true
281
+ },
282
+ "embedding_dimensions": {
283
+ "name": "embedding_dimensions",
284
+ "type": "integer",
285
+ "primaryKey": false,
286
+ "notNull": true
287
+ }
288
+ },
289
+ "indexes": {},
290
+ "foreignKeys": {},
291
+ "compositePrimaryKeys": {},
292
+ "uniqueConstraints": {},
293
+ "policies": {},
294
+ "checkConstraints": {},
295
+ "isRLSEnabled": false
296
+ }
297
+ },
298
+ "enums": {},
299
+ "schemas": {},
300
+ "sequences": {},
301
+ "roles": {},
302
+ "policies": {},
303
+ "views": {},
304
+ "_meta": {
305
+ "columns": {},
306
+ "schemas": {},
307
+ "tables": {}
308
+ }
309
+ }
@@ -8,6 +8,13 @@
8
8
  "when": 1779280110397,
9
9
  "tag": "0000_initial",
10
10
  "breakpoints": true
11
+ },
12
+ {
13
+ "idx": 1,
14
+ "version": "7",
15
+ "when": 1779455085280,
16
+ "tag": "0001_add_mnemocyte_meta",
17
+ "breakpoints": true
11
18
  }
12
19
  ]
13
20
  }
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+ import { readFile, writeFile } from "node:fs/promises";
3
+ import { dirname, resolve } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+
6
+ function readOption(name) {
7
+ const index = process.argv.indexOf(name);
8
+ if (index === -1) return undefined;
9
+ return process.argv[index + 1];
10
+ }
11
+
12
+ function parseDimensions(value) {
13
+ const dimensions = Number(value);
14
+ if (!Number.isInteger(dimensions) || dimensions < 1) {
15
+ throw new Error("--dimensions must be a positive integer.");
16
+ }
17
+ return dimensions;
18
+ }
19
+
20
+ const dimensions = parseDimensions(readOption("--dimensions"));
21
+ const out = readOption("--out");
22
+ const dir = dirname(fileURLToPath(import.meta.url));
23
+ const template = await readFile(
24
+ resolve(dir, "0000_initial.sql.template"),
25
+ "utf8",
26
+ );
27
+ const rendered = template.replaceAll(
28
+ "{{EMBEDDING_DIMENSIONS}}",
29
+ String(dimensions),
30
+ );
31
+
32
+ if (out) {
33
+ await writeFile(resolve(process.cwd(), out), rendered);
34
+ } else {
35
+ process.stdout.write(rendered);
36
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mnemocyte",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Persistent memory for TypeScript AI apps.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -13,9 +13,14 @@
13
13
  "types": "./dist/index.d.mts",
14
14
  "import": "./dist/index.mjs"
15
15
  },
16
- "./embedders/openai": {
17
- "types": "./dist/embedders/openai.d.mts",
18
- "import": "./dist/embedders/openai.mjs"
16
+ "./embedders": {
17
+ "types": "./dist/embedders/index.d.mts",
18
+ "import": "./dist/embedders/index.mjs"
19
+ },
20
+ "./embedders/index": null,
21
+ "./embedders/*": {
22
+ "types": "./dist/embedders/*.d.mts",
23
+ "import": "./dist/embedders/*.mjs"
19
24
  }
20
25
  },
21
26
  "types": "./dist/index.d.mts",
@@ -59,8 +64,8 @@
59
64
  "vitest": "4.1.6"
60
65
  },
61
66
  "scripts": {
62
- "build": "tsdown src/index.ts src/embedders/openai.ts",
63
- "dev": "tsdown src/index.ts src/embedders/openai.ts --watch",
67
+ "build": "tsdown src/index.ts \"src/embedders/*.ts\"",
68
+ "dev": "tsdown src/index.ts \"src/embedders/*.ts\" --watch",
64
69
  "checktypes": "tsc --noEmit && tsc --noEmit --project tsconfig.test.json",
65
70
  "test": "pnpm run test:ci",
66
71
  "test:ci": "pnpm build && vitest run --typecheck --project unit --project package",
@@ -79,6 +84,7 @@
79
84
  "bench:retrieval": "vitest bench --project unit test/benchmarks/retrieval.bench.ts",
80
85
  "lint": "biome lint --write",
81
86
  "format": "biome format --write",
87
+ "migration:render": "node migrations/render-initial.mjs",
82
88
  "db:generate": "drizzle-kit generate",
83
89
  "db:migrate": "drizzle-kit migrate",
84
90
  "pack:check": "pnpm pack --dry-run"
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-QK_43oKJ.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"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"}