mnemocyte 0.2.0 → 0.4.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.
@@ -0,0 +1,315 @@
1
+ {
2
+ "id": "b7cab9b6-6cbf-40c0-8796-50150531a577",
3
+ "prevId": "59920203-e7f9-4cdd-9580-1c7b42ac242e",
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
+ "embedding_model": {
289
+ "name": "embedding_model",
290
+ "type": "text",
291
+ "primaryKey": false,
292
+ "notNull": false
293
+ }
294
+ },
295
+ "indexes": {},
296
+ "foreignKeys": {},
297
+ "compositePrimaryKeys": {},
298
+ "uniqueConstraints": {},
299
+ "policies": {},
300
+ "checkConstraints": {},
301
+ "isRLSEnabled": false
302
+ }
303
+ },
304
+ "enums": {},
305
+ "schemas": {},
306
+ "sequences": {},
307
+ "roles": {},
308
+ "policies": {},
309
+ "views": {},
310
+ "_meta": {
311
+ "columns": {},
312
+ "schemas": {},
313
+ "tables": {}
314
+ }
315
+ }
@@ -15,6 +15,13 @@
15
15
  "when": 1779455085280,
16
16
  "tag": "0001_add_mnemocyte_meta",
17
17
  "breakpoints": true
18
+ },
19
+ {
20
+ "idx": 2,
21
+ "version": "7",
22
+ "when": 1784201870906,
23
+ "tag": "0002_add_embedding_model",
24
+ "breakpoints": true
18
25
  }
19
26
  ]
20
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mnemocyte",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Persistent memory for TypeScript AI apps.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -57,7 +57,7 @@
57
57
  },
58
58
  "devDependencies": {
59
59
  "@biomejs/biome": "2.4.15",
60
- "@types/node": "^25.9.0",
60
+ "@types/node": "^22.18.0",
61
61
  "drizzle-kit": "^0.31.10",
62
62
  "tsdown": "^0.22.0",
63
63
  "typescript": "^6.0.3",
@@ -82,7 +82,8 @@
82
82
  "test:context": "vitest run --project unit test/context/builder.test.ts",
83
83
  "test:integration": "vitest run --project integration",
84
84
  "bench:retrieval": "vitest bench --project unit test/benchmarks/retrieval.bench.ts",
85
- "lint": "biome lint --write",
85
+ "lint": "biome check --error-on-warnings .",
86
+ "lint:fix": "biome check --write .",
86
87
  "format": "biome format --write",
87
88
  "migration:render": "node migrations/render-initial.mjs",
88
89
  "db:generate": "drizzle-kit generate",
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors-BG3-mNur.mjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["/**\n * Stable, machine-readable error code attached to every {@link MnemocyteError}.\n *\n * - `\"CONFIG\"` — invalid client configuration (e.g. missing or malformed embedder).\n * - `\"VALIDATION\"` — invalid argument passed to a client method.\n * - `\"DB\"` — Postgres or driver-level failure.\n * - `\"EMBEDDING\"` — embedder threw or returned an invalid vector.\n * - `\"NOT_FOUND\"` — referenced memory or entity does not exist.\n * - `\"MIGRATION\"` — schema/migration check failed against the target database.\n * - `\"TIMEOUT\"` — a provider call exceeded its configured timeout.\n * - `\"ABORTED\"` — the operation was cancelled via an `AbortSignal`.\n */\nexport type MnemocyteErrorCode =\n\t| \"CONFIG\"\n\t| \"VALIDATION\"\n\t| \"DB\"\n\t| \"EMBEDDING\"\n\t| \"NOT_FOUND\"\n\t| \"MIGRATION\"\n\t| \"TIMEOUT\"\n\t| \"ABORTED\";\n\n/**\n * Error type thrown by every public Mnemocyte API.\n *\n * Use the {@link MnemocyteError.code} property — not the message — to branch\n * on failure modes, or call {@link isMnemocyteError} as a type guard when\n * working with `unknown` errors.\n *\n * @example\n * ```ts\n * try {\n * await client.recall({ entityId: \"u1\", query: \"hi\" });\n * } catch (err) {\n * if (isMnemocyteError(err) && err.code === \"DB\") {\n * // handle database failure\n * }\n * throw err;\n * }\n * ```\n */\nexport class MnemocyteError extends Error {\n\t/** Stable, machine-readable failure code. See {@link MnemocyteErrorCode}. */\n\treadonly code: MnemocyteErrorCode;\n\t/** Underlying cause, if any (e.g. an original driver or embedder error). */\n\toverride readonly cause?: unknown;\n\n\t/**\n\t * @param message - Human-readable error message.\n\t * @param code - Stable failure code; see {@link MnemocyteErrorCode}.\n\t * @param cause - Optional underlying cause (driver error, network error, etc.).\n\t */\n\tconstructor(message: string, code: MnemocyteErrorCode, cause?: unknown) {\n\t\tsuper(message);\n\t\tthis.name = \"MnemocyteError\";\n\t\tthis.code = code;\n\t\tthis.cause = cause;\n\t}\n}\n\n/**\n * Type guard for {@link MnemocyteError}.\n *\n * Prefer this over `instanceof` when working across module boundaries or\n * bundlers where multiple copies of the class may exist.\n *\n * @param error - Value to test (typically a caught `unknown`).\n * @returns `true` if `error` is a {@link MnemocyteError}.\n */\nexport function isMnemocyteError(error: unknown): error is MnemocyteError {\n\treturn error instanceof MnemocyteError;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAyCA,IAAa,iBAAb,cAAoC,MAAM;;CAEzC;;CAEA;;;;;;CAOA,YAAY,SAAiB,MAA0B,OAAiB;EACvE,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,KAAK,OAAO;EACZ,KAAK,QAAQ;CACd;AACD;;;;;;;;;;AAWA,SAAgB,iBAAiB,OAAyC;CACzE,OAAO,iBAAiB;AACzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-DXEGcc47.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"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"}