@hazeljs/memory 0.2.0-alpha.3

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.
Files changed (114) hide show
  1. package/LICENSE +192 -0
  2. package/README.md +121 -0
  3. package/dist/__tests__/composite.store.test.d.ts +2 -0
  4. package/dist/__tests__/composite.store.test.d.ts.map +1 -0
  5. package/dist/__tests__/composite.store.test.js +216 -0
  6. package/dist/__tests__/composite.store.test.js.map +1 -0
  7. package/dist/__tests__/create-memory-store.test.d.ts +2 -0
  8. package/dist/__tests__/create-memory-store.test.d.ts.map +1 -0
  9. package/dist/__tests__/create-memory-store.test.js +85 -0
  10. package/dist/__tests__/create-memory-store.test.js.map +1 -0
  11. package/dist/__tests__/in-memory.store.test.d.ts +2 -0
  12. package/dist/__tests__/in-memory.store.test.d.ts.map +1 -0
  13. package/dist/__tests__/in-memory.store.test.js +336 -0
  14. package/dist/__tests__/in-memory.store.test.js.map +1 -0
  15. package/dist/__tests__/memory.config.test.d.ts +2 -0
  16. package/dist/__tests__/memory.config.test.d.ts.map +1 -0
  17. package/dist/__tests__/memory.config.test.js +39 -0
  18. package/dist/__tests__/memory.config.test.js.map +1 -0
  19. package/dist/__tests__/memory.service.test.d.ts +2 -0
  20. package/dist/__tests__/memory.service.test.d.ts.map +1 -0
  21. package/dist/__tests__/memory.service.test.js +231 -0
  22. package/dist/__tests__/memory.service.test.js.map +1 -0
  23. package/dist/config/memory.config.d.ts +17 -0
  24. package/dist/config/memory.config.d.ts.map +1 -0
  25. package/dist/config/memory.config.js +20 -0
  26. package/dist/config/memory.config.js.map +1 -0
  27. package/dist/generated/prisma/client.d.ts +1 -0
  28. package/dist/generated/prisma/client.js +5 -0
  29. package/dist/generated/prisma/default.d.ts +1 -0
  30. package/dist/generated/prisma/default.js +5 -0
  31. package/dist/generated/prisma/edge.d.ts +1 -0
  32. package/dist/generated/prisma/edge.js +213 -0
  33. package/dist/generated/prisma/index-browser.js +199 -0
  34. package/dist/generated/prisma/index.d.ts +2874 -0
  35. package/dist/generated/prisma/index.js +234 -0
  36. package/dist/generated/prisma/libquery_engine-debian-openssl-3.0.x.so.node +0 -0
  37. package/dist/generated/prisma/package.json +183 -0
  38. package/dist/generated/prisma/query_engine_bg.js +2 -0
  39. package/dist/generated/prisma/query_engine_bg.wasm +0 -0
  40. package/dist/generated/prisma/runtime/edge-esm.js +35 -0
  41. package/dist/generated/prisma/runtime/edge.js +35 -0
  42. package/dist/generated/prisma/runtime/index-browser.d.ts +370 -0
  43. package/dist/generated/prisma/runtime/index-browser.js +17 -0
  44. package/dist/generated/prisma/runtime/library.d.ts +3982 -0
  45. package/dist/generated/prisma/runtime/library.js +147 -0
  46. package/dist/generated/prisma/runtime/react-native.js +84 -0
  47. package/dist/generated/prisma/runtime/wasm-compiler-edge.js +85 -0
  48. package/dist/generated/prisma/runtime/wasm-engine-edge.js +38 -0
  49. package/dist/generated/prisma/schema.prisma +32 -0
  50. package/dist/generated/prisma/wasm-edge-light-loader.mjs +5 -0
  51. package/dist/generated/prisma/wasm-worker-loader.mjs +5 -0
  52. package/dist/generated/prisma/wasm.d.ts +1 -0
  53. package/dist/generated/prisma/wasm.js +220 -0
  54. package/dist/index.d.ts +16 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +50 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/prisma-client.d.ts +13 -0
  59. package/dist/prisma-client.d.ts.map +1 -0
  60. package/dist/prisma-client.js +37 -0
  61. package/dist/prisma-client.js.map +1 -0
  62. package/dist/prisma.d.ts +12 -0
  63. package/dist/prisma.d.ts.map +1 -0
  64. package/dist/prisma.js +20 -0
  65. package/dist/prisma.js.map +1 -0
  66. package/dist/service/memory.service.d.ts +63 -0
  67. package/dist/service/memory.service.d.ts.map +1 -0
  68. package/dist/service/memory.service.js +134 -0
  69. package/dist/service/memory.service.js.map +1 -0
  70. package/dist/store/adapters/postgres.store.d.ts +55 -0
  71. package/dist/store/adapters/postgres.store.d.ts.map +1 -0
  72. package/dist/store/adapters/postgres.store.js +263 -0
  73. package/dist/store/adapters/postgres.store.js.map +1 -0
  74. package/dist/store/adapters/prisma.store.d.ts +88 -0
  75. package/dist/store/adapters/prisma.store.d.ts.map +1 -0
  76. package/dist/store/adapters/prisma.store.js +202 -0
  77. package/dist/store/adapters/prisma.store.js.map +1 -0
  78. package/dist/store/adapters/redis.store.d.ts +44 -0
  79. package/dist/store/adapters/redis.store.d.ts.map +1 -0
  80. package/dist/store/adapters/redis.store.js +261 -0
  81. package/dist/store/adapters/redis.store.js.map +1 -0
  82. package/dist/store/adapters/vector-episodic.store.d.ts +55 -0
  83. package/dist/store/adapters/vector-episodic.store.d.ts.map +1 -0
  84. package/dist/store/adapters/vector-episodic.store.js +253 -0
  85. package/dist/store/adapters/vector-episodic.store.js.map +1 -0
  86. package/dist/store/composite.store.d.ts +37 -0
  87. package/dist/store/composite.store.d.ts.map +1 -0
  88. package/dist/store/composite.store.js +151 -0
  89. package/dist/store/composite.store.js.map +1 -0
  90. package/dist/store/create-memory-store.d.ts +26 -0
  91. package/dist/store/create-memory-store.d.ts.map +1 -0
  92. package/dist/store/create-memory-store.js +29 -0
  93. package/dist/store/create-memory-store.js.map +1 -0
  94. package/dist/store/in-memory.store.d.ts +45 -0
  95. package/dist/store/in-memory.store.d.ts.map +1 -0
  96. package/dist/store/in-memory.store.js +316 -0
  97. package/dist/store/in-memory.store.js.map +1 -0
  98. package/dist/store/memory-store.interface.d.ts +56 -0
  99. package/dist/store/memory-store.interface.d.ts.map +1 -0
  100. package/dist/store/memory-store.interface.js +6 -0
  101. package/dist/store/memory-store.interface.js.map +1 -0
  102. package/dist/types/category.types.d.ts +29 -0
  103. package/dist/types/category.types.d.ts.map +1 -0
  104. package/dist/types/category.types.js +44 -0
  105. package/dist/types/category.types.js.map +1 -0
  106. package/dist/types/memory-item.types.d.ts +32 -0
  107. package/dist/types/memory-item.types.d.ts.map +1 -0
  108. package/dist/types/memory-item.types.js +6 -0
  109. package/dist/types/memory-item.types.js.map +1 -0
  110. package/dist/types/store.types.d.ts +36 -0
  111. package/dist/types/store.types.d.ts.map +1 -0
  112. package/dist/types/store.types.js +6 -0
  113. package/dist/types/store.types.js.map +1 -0
  114. package/package.json +77 -0
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const memory_service_1 = require("../service/memory.service");
4
+ const in_memory_store_1 = require("../store/in-memory.store");
5
+ const category_types_1 = require("../types/category.types");
6
+ describe('MemoryService', () => {
7
+ let service;
8
+ beforeEach(async () => {
9
+ const store = (0, in_memory_store_1.createDefaultMemoryStore)();
10
+ service = new memory_service_1.MemoryService(store);
11
+ await service.initialize();
12
+ });
13
+ describe('initialize', () => {
14
+ it('resolves', async () => {
15
+ await expect(service.initialize()).resolves.toBeUndefined();
16
+ });
17
+ });
18
+ describe('save', () => {
19
+ it('saves and returns item with id', async () => {
20
+ const item = await service.save({
21
+ userId: 'user-1',
22
+ category: category_types_1.MemoryCategory.PREFERENCE,
23
+ key: 'theme',
24
+ value: 'dark',
25
+ confidence: 0.9,
26
+ source: 'explicit',
27
+ evidence: [],
28
+ });
29
+ expect(item.id).toBeDefined();
30
+ expect(item.userId).toBe('user-1');
31
+ expect(item.key).toBe('theme');
32
+ expect(item.value).toBe('dark');
33
+ });
34
+ it('sets emotional TTL when category is EMOTIONAL', async () => {
35
+ const item = await service.save({
36
+ userId: 'u1',
37
+ category: category_types_1.MemoryCategory.EMOTIONAL,
38
+ key: 'mood',
39
+ value: 'happy',
40
+ confidence: 0.8,
41
+ source: 'explicit',
42
+ evidence: [],
43
+ });
44
+ expect(item.expiresAt).toBeDefined();
45
+ expect(item.expiresAt.getTime()).toBeGreaterThan(Date.now());
46
+ });
47
+ });
48
+ describe('get', () => {
49
+ it('returns saved item', async () => {
50
+ const saved = await service.save({
51
+ userId: 'u1',
52
+ category: category_types_1.MemoryCategory.PREFERENCE,
53
+ key: 'k1',
54
+ value: 'v1',
55
+ confidence: 1,
56
+ source: 'explicit',
57
+ evidence: [],
58
+ });
59
+ const got = await service.get(saved.id);
60
+ expect(got).not.toBeNull();
61
+ expect(got.value).toBe('v1');
62
+ });
63
+ it('returns null for missing id', async () => {
64
+ expect(await service.get('nonexistent')).toBeNull();
65
+ });
66
+ });
67
+ describe('query', () => {
68
+ it('returns items matching query', async () => {
69
+ await service.save({
70
+ userId: 'u1',
71
+ category: category_types_1.MemoryCategory.PREFERENCE,
72
+ key: 'a',
73
+ value: 'x',
74
+ confidence: 1,
75
+ source: 'explicit',
76
+ evidence: [],
77
+ });
78
+ const results = await service.query({ userId: 'u1', category: category_types_1.MemoryCategory.PREFERENCE });
79
+ expect(results.length).toBeGreaterThanOrEqual(1);
80
+ });
81
+ });
82
+ describe('getByUserAndCategory', () => {
83
+ it('returns items for user and category', async () => {
84
+ await service.save({
85
+ userId: 'u1',
86
+ category: category_types_1.MemoryCategory.PROFILE,
87
+ key: 'name',
88
+ value: 'Alice',
89
+ confidence: 1,
90
+ source: 'explicit',
91
+ evidence: [],
92
+ });
93
+ const results = await service.getByUserAndCategory('u1', category_types_1.MemoryCategory.PROFILE);
94
+ expect(results.some((r) => r.key === 'name')).toBe(true);
95
+ });
96
+ it('respects limit and order', async () => {
97
+ const results = await service.getByUserAndCategory('u1', category_types_1.MemoryCategory.PREFERENCE, {
98
+ limit: 5,
99
+ offset: 0,
100
+ orderBy: 'updatedAt',
101
+ order: 'desc',
102
+ });
103
+ expect(Array.isArray(results)).toBe(true);
104
+ });
105
+ });
106
+ describe('update', () => {
107
+ it('updates existing item', async () => {
108
+ const saved = await service.save({
109
+ userId: 'u1',
110
+ category: category_types_1.MemoryCategory.PREFERENCE,
111
+ key: 'k',
112
+ value: 'old',
113
+ confidence: 1,
114
+ source: 'explicit',
115
+ evidence: [],
116
+ });
117
+ await service.update(saved.id, { value: 'new' });
118
+ const got = await service.get(saved.id);
119
+ expect(got.value).toBe('new');
120
+ });
121
+ it('skips update when explicitOverInferred and updating inferred over explicit', async () => {
122
+ const store = (0, in_memory_store_1.createDefaultMemoryStore)();
123
+ const svc = new memory_service_1.MemoryService(store, { explicitOverInferred: true });
124
+ await svc.initialize();
125
+ const saved = await svc.save({
126
+ userId: 'u1',
127
+ category: category_types_1.MemoryCategory.PREFERENCE,
128
+ key: 'k',
129
+ value: 'original',
130
+ confidence: 1,
131
+ source: 'explicit',
132
+ evidence: [],
133
+ });
134
+ await svc.update(saved.id, { source: 'inferred', value: 'should-not-apply' });
135
+ const got = await svc.get(saved.id);
136
+ expect(got.value).toBe('original');
137
+ });
138
+ });
139
+ describe('delete', () => {
140
+ it('removes item', async () => {
141
+ const saved = await service.save({
142
+ userId: 'u1',
143
+ category: category_types_1.MemoryCategory.PREFERENCE,
144
+ key: 'del',
145
+ value: 'x',
146
+ confidence: 1,
147
+ source: 'explicit',
148
+ evidence: [],
149
+ });
150
+ await service.delete(saved.id);
151
+ expect(await service.get(saved.id)).toBeNull();
152
+ });
153
+ });
154
+ describe('incrementAccess', () => {
155
+ it('increments accessCount', async () => {
156
+ const saved = await service.save({
157
+ userId: 'u1',
158
+ category: category_types_1.MemoryCategory.PREFERENCE,
159
+ key: 'acc',
160
+ value: 'v',
161
+ confidence: 1,
162
+ source: 'explicit',
163
+ evidence: [],
164
+ });
165
+ await service.incrementAccess(saved.id);
166
+ const got = await service.get(saved.id);
167
+ expect(got.accessCount).toBe(1);
168
+ });
169
+ it('does nothing for missing id', async () => {
170
+ await expect(service.incrementAccess('nonexistent')).resolves.toBeUndefined();
171
+ });
172
+ });
173
+ describe('search', () => {
174
+ it('returns items from store search', async () => {
175
+ await service.save({
176
+ userId: 'u1',
177
+ category: category_types_1.MemoryCategory.PREFERENCE,
178
+ key: 'searchkey',
179
+ value: 'searchable text',
180
+ confidence: 1,
181
+ source: 'explicit',
182
+ evidence: [],
183
+ });
184
+ const results = await service.search('searchable', { userId: 'u1' });
185
+ expect(Array.isArray(results)).toBe(true);
186
+ });
187
+ it('returns empty when store has no search', async () => {
188
+ const store = (0, in_memory_store_1.createDefaultMemoryStore)();
189
+ const storeWithoutSearch = {
190
+ initialize: store.initialize.bind(store),
191
+ save: store.save.bind(store),
192
+ saveBatch: store.saveBatch.bind(store),
193
+ get: store.get.bind(store),
194
+ update: store.update.bind(store),
195
+ delete: store.delete.bind(store),
196
+ deleteBatch: store.deleteBatch.bind(store),
197
+ query: store.query.bind(store),
198
+ getStats: store.getStats.bind(store),
199
+ prune: store.prune.bind(store),
200
+ search: undefined,
201
+ };
202
+ const svc = new memory_service_1.MemoryService(storeWithoutSearch);
203
+ await svc.initialize();
204
+ const results = await svc.search('q', { userId: 'u1' });
205
+ expect(results).toEqual([]);
206
+ });
207
+ });
208
+ describe('getStats', () => {
209
+ it('returns stats', async () => {
210
+ await service.save({
211
+ userId: 'u1',
212
+ category: category_types_1.MemoryCategory.PREFERENCE,
213
+ key: 's1',
214
+ value: 'v',
215
+ confidence: 1,
216
+ source: 'explicit',
217
+ evidence: [],
218
+ });
219
+ const stats = await service.getStats('u1');
220
+ expect(stats.total).toBeGreaterThanOrEqual(1);
221
+ expect(stats.byCategory).toBeDefined();
222
+ });
223
+ });
224
+ describe('prune', () => {
225
+ it('returns count of pruned items', async () => {
226
+ const removed = await service.prune();
227
+ expect(typeof removed).toBe('number');
228
+ });
229
+ });
230
+ });
231
+ //# sourceMappingURL=memory.service.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.service.test.js","sourceRoot":"","sources":["../../src/__tests__/memory.service.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Default configuration for memory (TTLs, retention, category defaults).
3
+ */
4
+ import { MemoryCategory, DEFAULT_CATEGORY_CONFIG } from '../types/category.types';
5
+ export interface MemoryServiceConfig {
6
+ /** Default TTL in ms for emotional category when expiresAt not set. */
7
+ defaultEmotionalTtlMs?: number;
8
+ /** Enforce explicit over inferred on update (default true). */
9
+ explicitOverInferred?: boolean;
10
+ }
11
+ export declare const DEFAULT_MEMORY_SERVICE_CONFIG: Required<MemoryServiceConfig>;
12
+ export { DEFAULT_CATEGORY_CONFIG };
13
+ /**
14
+ * Get default TTL for a category (e.g. emotional).
15
+ */
16
+ export declare function getDefaultTtlForCategory(category: MemoryCategory): number | undefined;
17
+ //# sourceMappingURL=memory.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.config.d.ts","sourceRoot":"","sources":["../../src/config/memory.config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElF,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,mBAAmB,CAGvE,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAErF"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * Default configuration for memory (TTLs, retention, category defaults).
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DEFAULT_CATEGORY_CONFIG = exports.DEFAULT_MEMORY_SERVICE_CONFIG = void 0;
7
+ exports.getDefaultTtlForCategory = getDefaultTtlForCategory;
8
+ const category_types_1 = require("../types/category.types");
9
+ Object.defineProperty(exports, "DEFAULT_CATEGORY_CONFIG", { enumerable: true, get: function () { return category_types_1.DEFAULT_CATEGORY_CONFIG; } });
10
+ exports.DEFAULT_MEMORY_SERVICE_CONFIG = {
11
+ defaultEmotionalTtlMs: 30 * 60 * 1000, // 30 min
12
+ explicitOverInferred: true,
13
+ };
14
+ /**
15
+ * Get default TTL for a category (e.g. emotional).
16
+ */
17
+ function getDefaultTtlForCategory(category) {
18
+ return category_types_1.DEFAULT_CATEGORY_CONFIG[category]?.defaultTtlMs;
19
+ }
20
+ //# sourceMappingURL=memory.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.config.js","sourceRoot":"","sources":["../../src/config/memory.config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAqBH,4DAEC;AArBD,4DAAkF;AAczE,wGAdgB,wCAAuB,OAchB;AALnB,QAAA,6BAA6B,GAAkC;IAC1E,qBAAqB,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS;IAChD,oBAAoB,EAAE,IAAI;CAC3B,CAAC;AAIF;;GAEG;AACH,SAAgB,wBAAwB,CAAC,QAAwB;IAC/D,OAAO,wCAAuB,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;AACzD,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./index"
@@ -0,0 +1,5 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!!
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ module.exports = { ...require('.') }
@@ -0,0 +1 @@
1
+ export * from "./index"
@@ -0,0 +1,5 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!!
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ module.exports = { ...require('#main-entry-point') }
@@ -0,0 +1 @@
1
+ export * from "./default"
@@ -0,0 +1,213 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!!
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+
8
+ const {
9
+ PrismaClientKnownRequestError,
10
+ PrismaClientUnknownRequestError,
11
+ PrismaClientRustPanicError,
12
+ PrismaClientInitializationError,
13
+ PrismaClientValidationError,
14
+ getPrismaClient,
15
+ sqltag,
16
+ empty,
17
+ join,
18
+ raw,
19
+ skip,
20
+ Decimal,
21
+ Debug,
22
+ objectEnumValues,
23
+ makeStrictEnum,
24
+ Extensions,
25
+ warnOnce,
26
+ defineDmmfProperty,
27
+ Public,
28
+ getRuntime,
29
+ createParam,
30
+ } = require('./runtime/edge.js')
31
+
32
+
33
+ const Prisma = {}
34
+
35
+ exports.Prisma = Prisma
36
+ exports.$Enums = {}
37
+
38
+ /**
39
+ * Prisma Client JS version: 6.19.2
40
+ * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7
41
+ */
42
+ Prisma.prismaVersion = {
43
+ client: "6.19.2",
44
+ engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7"
45
+ }
46
+
47
+ Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError;
48
+ Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError
49
+ Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError
50
+ Prisma.PrismaClientInitializationError = PrismaClientInitializationError
51
+ Prisma.PrismaClientValidationError = PrismaClientValidationError
52
+ Prisma.Decimal = Decimal
53
+
54
+ /**
55
+ * Re-export of sql-template-tag
56
+ */
57
+ Prisma.sql = sqltag
58
+ Prisma.empty = empty
59
+ Prisma.join = join
60
+ Prisma.raw = raw
61
+ Prisma.validator = Public.validator
62
+
63
+ /**
64
+ * Extensions
65
+ */
66
+ Prisma.getExtensionContext = Extensions.getExtensionContext
67
+ Prisma.defineExtension = Extensions.defineExtension
68
+
69
+ /**
70
+ * Shorthand utilities for JSON filtering
71
+ */
72
+ Prisma.DbNull = objectEnumValues.instances.DbNull
73
+ Prisma.JsonNull = objectEnumValues.instances.JsonNull
74
+ Prisma.AnyNull = objectEnumValues.instances.AnyNull
75
+
76
+ Prisma.NullTypes = {
77
+ DbNull: objectEnumValues.classes.DbNull,
78
+ JsonNull: objectEnumValues.classes.JsonNull,
79
+ AnyNull: objectEnumValues.classes.AnyNull
80
+ }
81
+
82
+
83
+
84
+
85
+
86
+ /**
87
+ * Enums
88
+ */
89
+ exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
90
+ ReadUncommitted: 'ReadUncommitted',
91
+ ReadCommitted: 'ReadCommitted',
92
+ RepeatableRead: 'RepeatableRead',
93
+ Serializable: 'Serializable'
94
+ });
95
+
96
+ exports.Prisma.MemoryItemScalarFieldEnum = {
97
+ id: 'id',
98
+ userId: 'userId',
99
+ category: 'category',
100
+ key: 'key',
101
+ value: 'value',
102
+ confidence: 'confidence',
103
+ source: 'source',
104
+ evidence: 'evidence',
105
+ createdAt: 'createdAt',
106
+ updatedAt: 'updatedAt',
107
+ expiresAt: 'expiresAt',
108
+ accessCount: 'accessCount',
109
+ sessionId: 'sessionId'
110
+ };
111
+
112
+ exports.Prisma.SortOrder = {
113
+ asc: 'asc',
114
+ desc: 'desc'
115
+ };
116
+
117
+ exports.Prisma.JsonNullValueInput = {
118
+ JsonNull: Prisma.JsonNull
119
+ };
120
+
121
+ exports.Prisma.QueryMode = {
122
+ default: 'default',
123
+ insensitive: 'insensitive'
124
+ };
125
+
126
+ exports.Prisma.JsonNullValueFilter = {
127
+ DbNull: Prisma.DbNull,
128
+ JsonNull: Prisma.JsonNull,
129
+ AnyNull: Prisma.AnyNull
130
+ };
131
+
132
+ exports.Prisma.NullsOrder = {
133
+ first: 'first',
134
+ last: 'last'
135
+ };
136
+
137
+
138
+ exports.Prisma.ModelName = {
139
+ MemoryItem: 'MemoryItem'
140
+ };
141
+ /**
142
+ * Create the Client
143
+ */
144
+ const config = {
145
+ "generator": {
146
+ "name": "client",
147
+ "provider": {
148
+ "fromEnvVar": null,
149
+ "value": "prisma-client-js"
150
+ },
151
+ "output": {
152
+ "value": "/home/runner/work/hazeljs/hazeljs/packages/memory/src/generated/prisma",
153
+ "fromEnvVar": null
154
+ },
155
+ "config": {
156
+ "engineType": "library"
157
+ },
158
+ "binaryTargets": [
159
+ {
160
+ "fromEnvVar": null,
161
+ "value": "debian-openssl-3.0.x",
162
+ "native": true
163
+ }
164
+ ],
165
+ "previewFeatures": [],
166
+ "sourceFilePath": "/home/runner/work/hazeljs/hazeljs/packages/memory/prisma/schema.prisma",
167
+ "isCustomOutput": true
168
+ },
169
+ "relativeEnvPaths": {
170
+ "rootEnvPath": null
171
+ },
172
+ "relativePath": "../../../prisma",
173
+ "clientVersion": "6.19.2",
174
+ "engineVersion": "c2990dca591cba766e3b7ef5d9e8a84796e47ab7",
175
+ "datasourceNames": [
176
+ "db"
177
+ ],
178
+ "activeProvider": "postgresql",
179
+ "postinstall": false,
180
+ "ciName": "GitHub Actions",
181
+ "inlineDatasources": {
182
+ "db": {
183
+ "url": {
184
+ "fromEnvVar": "DATABASE_URL",
185
+ "value": null
186
+ }
187
+ }
188
+ },
189
+ "inlineSchema": "// @hazeljs/memory - User memory Prisma schema\n// Use with createPrismaMemoryStore(prisma) from '@hazeljs/memory/prisma'\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel MemoryItem {\n id String @id\n userId String @map(\"user_id\")\n category String\n key String\n value Json\n confidence Float\n source String\n evidence Json // string[]\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n expiresAt DateTime? @map(\"expires_at\")\n accessCount Int @default(0) @map(\"access_count\")\n sessionId String? @map(\"session_id\")\n\n @@index([userId, category])\n @@index([expiresAt])\n @@map(\"memory_items\")\n}\n",
190
+ "inlineSchemaHash": "fe3946530583fb0bf4d1d9520787f790b9f058936c3537e93d3661bc517f4dc9",
191
+ "copyEngine": true
192
+ }
193
+ config.dirname = '/'
194
+
195
+ config.runtimeDataModel = JSON.parse("{\"models\":{\"MemoryItem\":{\"dbName\":\"memory_items\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"dbName\":\"user_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"category\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"key\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confidence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evidence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"dbName\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"dbName\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"expiresAt\",\"dbName\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accessCount\",\"dbName\":\"access_count\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"dbName\":\"session_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
196
+ defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
197
+ config.engineWasm = undefined
198
+ config.compilerWasm = undefined
199
+
200
+ config.injectableEdgeEnv = () => ({
201
+ parsed: {
202
+ DATABASE_URL: typeof globalThis !== 'undefined' && globalThis['DATABASE_URL'] || typeof process !== 'undefined' && process.env && process.env.DATABASE_URL || undefined
203
+ }
204
+ })
205
+
206
+ if (typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) {
207
+ Debug.enable(typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined)
208
+ }
209
+
210
+ const PrismaClient = getPrismaClient(config)
211
+ exports.PrismaClient = PrismaClient
212
+ Object.assign(exports, Prisma)
213
+