mnemocyte 0.1.5 → 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.
- package/README.md +72 -9
- package/dist/embedders/openai.d.mts +1 -1
- package/dist/index.d.mts +3 -5
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +48 -9
- package/dist/index.mjs.map +1 -1
- package/dist/{types-QK_43oKJ.d.mts → types-DXEGcc47.d.mts} +3 -2
- package/dist/types-DXEGcc47.d.mts.map +1 -0
- package/migrations/0000_initial.sql.template +42 -0
- package/migrations/0001_add_mnemocyte_meta.sql +6 -0
- package/migrations/meta/0001_snapshot.json +309 -0
- package/migrations/meta/_journal.json +7 -0
- package/migrations/render-initial.mjs +36 -0
- package/package.json +2 -1
- package/dist/types-QK_43oKJ.d.mts.map +0 -1
|
@@ -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
|
|
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-
|
|
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,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
|
+
}
|
|
@@ -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.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Persistent memory for TypeScript AI apps.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
"bench:retrieval": "vitest bench --project unit test/benchmarks/retrieval.bench.ts",
|
|
85
85
|
"lint": "biome lint --write",
|
|
86
86
|
"format": "biome format --write",
|
|
87
|
+
"migration:render": "node migrations/render-initial.mjs",
|
|
87
88
|
"db:generate": "drizzle-kit generate",
|
|
88
89
|
"db:migrate": "drizzle-kit migrate",
|
|
89
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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"}
|