family-ai-agent 1.0.5 → 1.0.7

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 (153) hide show
  1. package/.letta/settings.local.json +3 -0
  2. package/dist/cli/index.js +6 -4
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/database/adapters/base-adapter.d.ts +81 -0
  5. package/dist/database/adapters/base-adapter.d.ts.map +1 -0
  6. package/dist/database/adapters/base-adapter.js +105 -0
  7. package/dist/database/adapters/base-adapter.js.map +1 -0
  8. package/dist/database/adapters/index.d.ts +49 -0
  9. package/dist/database/adapters/index.d.ts.map +1 -0
  10. package/dist/database/adapters/index.js +200 -0
  11. package/dist/database/adapters/index.js.map +1 -0
  12. package/dist/database/adapters/postgres-adapter.d.ts +75 -0
  13. package/dist/database/adapters/postgres-adapter.d.ts.map +1 -0
  14. package/dist/database/adapters/postgres-adapter.js +225 -0
  15. package/dist/database/adapters/postgres-adapter.js.map +1 -0
  16. package/dist/database/adapters/sqlite-adapter.d.ts +72 -0
  17. package/dist/database/adapters/sqlite-adapter.d.ts.map +1 -0
  18. package/dist/database/adapters/sqlite-adapter.js +368 -0
  19. package/dist/database/adapters/sqlite-adapter.js.map +1 -0
  20. package/dist/database/cache/cache-keys.d.ts +180 -0
  21. package/dist/database/cache/cache-keys.d.ts.map +1 -0
  22. package/dist/database/cache/cache-keys.js +107 -0
  23. package/dist/database/cache/cache-keys.js.map +1 -0
  24. package/dist/database/cache/index.d.ts +24 -0
  25. package/dist/database/cache/index.d.ts.map +1 -0
  26. package/dist/database/cache/index.js +34 -0
  27. package/dist/database/cache/index.js.map +1 -0
  28. package/dist/database/cache/query-cache.d.ts +67 -0
  29. package/dist/database/cache/query-cache.d.ts.map +1 -0
  30. package/dist/database/cache/query-cache.js +177 -0
  31. package/dist/database/cache/query-cache.js.map +1 -0
  32. package/dist/database/client.d.ts +63 -4
  33. package/dist/database/client.d.ts.map +1 -1
  34. package/dist/database/client.js +147 -59
  35. package/dist/database/client.js.map +1 -1
  36. package/dist/database/db-config.d.ts +104 -0
  37. package/dist/database/db-config.d.ts.map +1 -0
  38. package/dist/database/db-config.js +167 -0
  39. package/dist/database/db-config.js.map +1 -0
  40. package/dist/database/drizzle/index.d.ts +42 -0
  41. package/dist/database/drizzle/index.d.ts.map +1 -0
  42. package/dist/database/drizzle/index.js +48 -0
  43. package/dist/database/drizzle/index.js.map +1 -0
  44. package/dist/database/drizzle/schema/audit.d.ts +533 -0
  45. package/dist/database/drizzle/schema/audit.d.ts.map +1 -0
  46. package/dist/database/drizzle/schema/audit.js +71 -0
  47. package/dist/database/drizzle/schema/audit.js.map +1 -0
  48. package/dist/database/drizzle/schema/checkpoints.d.ts +665 -0
  49. package/dist/database/drizzle/schema/checkpoints.d.ts.map +1 -0
  50. package/dist/database/drizzle/schema/checkpoints.js +110 -0
  51. package/dist/database/drizzle/schema/checkpoints.js.map +1 -0
  52. package/dist/database/drizzle/schema/conversations.d.ts +449 -0
  53. package/dist/database/drizzle/schema/conversations.d.ts.map +1 -0
  54. package/dist/database/drizzle/schema/conversations.js +91 -0
  55. package/dist/database/drizzle/schema/conversations.js.map +1 -0
  56. package/dist/database/drizzle/schema/documents.d.ts +600 -0
  57. package/dist/database/drizzle/schema/documents.d.ts.map +1 -0
  58. package/dist/database/drizzle/schema/documents.js +100 -0
  59. package/dist/database/drizzle/schema/documents.js.map +1 -0
  60. package/dist/database/drizzle/schema/index.d.ts +3084 -0
  61. package/dist/database/drizzle/schema/index.d.ts.map +1 -0
  62. package/dist/database/drizzle/schema/index.js +46 -0
  63. package/dist/database/drizzle/schema/index.js.map +1 -0
  64. package/dist/database/drizzle/schema/memories.d.ts +435 -0
  65. package/dist/database/drizzle/schema/memories.d.ts.map +1 -0
  66. package/dist/database/drizzle/schema/memories.js +73 -0
  67. package/dist/database/drizzle/schema/memories.js.map +1 -0
  68. package/dist/database/drizzle/schema/tasks.d.ts +565 -0
  69. package/dist/database/drizzle/schema/tasks.d.ts.map +1 -0
  70. package/dist/database/drizzle/schema/tasks.js +84 -0
  71. package/dist/database/drizzle/schema/tasks.js.map +1 -0
  72. package/dist/database/health/circuit-breaker.d.ts +81 -0
  73. package/dist/database/health/circuit-breaker.d.ts.map +1 -0
  74. package/dist/database/health/circuit-breaker.js +184 -0
  75. package/dist/database/health/circuit-breaker.js.map +1 -0
  76. package/dist/database/health/health-monitor.d.ts +69 -0
  77. package/dist/database/health/health-monitor.d.ts.map +1 -0
  78. package/dist/database/health/health-monitor.js +174 -0
  79. package/dist/database/health/health-monitor.js.map +1 -0
  80. package/dist/database/health/index.d.ts +27 -0
  81. package/dist/database/health/index.d.ts.map +1 -0
  82. package/dist/database/health/index.js +23 -0
  83. package/dist/database/health/index.js.map +1 -0
  84. package/dist/database/index.d.ts +16 -0
  85. package/dist/database/index.d.ts.map +1 -0
  86. package/dist/database/index.js +41 -0
  87. package/dist/database/index.js.map +1 -0
  88. package/dist/database/migrations/index.d.ts +34 -0
  89. package/dist/database/migrations/index.d.ts.map +1 -0
  90. package/dist/database/migrations/index.js +45 -0
  91. package/dist/database/migrations/index.js.map +1 -0
  92. package/dist/database/migrations/migrator.d.ts +77 -0
  93. package/dist/database/migrations/migrator.d.ts.map +1 -0
  94. package/dist/database/migrations/migrator.js +258 -0
  95. package/dist/database/migrations/migrator.js.map +1 -0
  96. package/dist/database/migrations/versions/001_initial.d.ts +9 -0
  97. package/dist/database/migrations/versions/001_initial.d.ts.map +1 -0
  98. package/dist/database/migrations/versions/001_initial.js +183 -0
  99. package/dist/database/migrations/versions/001_initial.js.map +1 -0
  100. package/dist/database/types.d.ts +255 -0
  101. package/dist/database/types.d.ts.map +1 -0
  102. package/dist/database/types.js +8 -0
  103. package/dist/database/types.js.map +1 -0
  104. package/dist/database/vector/embedding-cache.d.ts +92 -0
  105. package/dist/database/vector/embedding-cache.d.ts.map +1 -0
  106. package/dist/database/vector/embedding-cache.js +185 -0
  107. package/dist/database/vector/embedding-cache.js.map +1 -0
  108. package/dist/database/vector/hnsw-index.d.ts +111 -0
  109. package/dist/database/vector/hnsw-index.d.ts.map +1 -0
  110. package/dist/database/vector/hnsw-index.js +337 -0
  111. package/dist/database/vector/hnsw-index.js.map +1 -0
  112. package/dist/database/vector/index.d.ts +75 -0
  113. package/dist/database/vector/index.d.ts.map +1 -0
  114. package/dist/database/vector/index.js +213 -0
  115. package/dist/database/vector/index.js.map +1 -0
  116. package/dist/database/vector/similarity.d.ts +67 -0
  117. package/dist/database/vector/similarity.d.ts.map +1 -0
  118. package/dist/database/vector/similarity.js +176 -0
  119. package/dist/database/vector/similarity.js.map +1 -0
  120. package/dist/index.d.ts +1 -1
  121. package/dist/index.js +1 -1
  122. package/package.json +6 -3
  123. package/src/cli/index.ts +5 -5
  124. package/src/database/adapters/base-adapter.ts +171 -0
  125. package/src/database/adapters/index.ts +224 -0
  126. package/src/database/adapters/postgres-adapter.ts +285 -0
  127. package/src/database/adapters/sqlite-adapter.ts +420 -0
  128. package/src/database/cache/cache-keys.ts +150 -0
  129. package/src/database/cache/index.ts +44 -0
  130. package/src/database/cache/query-cache.ts +213 -0
  131. package/src/database/client.ts +166 -64
  132. package/src/database/db-config.ts +194 -0
  133. package/src/database/drizzle/index.ts +66 -0
  134. package/src/database/drizzle/schema/audit.ts +127 -0
  135. package/src/database/drizzle/schema/checkpoints.ts +164 -0
  136. package/src/database/drizzle/schema/conversations.ts +138 -0
  137. package/src/database/drizzle/schema/documents.ts +157 -0
  138. package/src/database/drizzle/schema/index.ts +139 -0
  139. package/src/database/drizzle/schema/memories.ts +127 -0
  140. package/src/database/drizzle/schema/tasks.ts +129 -0
  141. package/src/database/health/circuit-breaker.ts +214 -0
  142. package/src/database/health/health-monitor.ts +224 -0
  143. package/src/database/health/index.ts +41 -0
  144. package/src/database/index.ts +157 -0
  145. package/src/database/migrations/index.ts +52 -0
  146. package/src/database/migrations/migrator.ts +325 -0
  147. package/src/database/migrations/versions/001_initial.ts +198 -0
  148. package/src/database/types.ts +324 -0
  149. package/src/database/vector/embedding-cache.ts +234 -0
  150. package/src/database/vector/hnsw-index.ts +452 -0
  151. package/src/database/vector/index.ts +292 -0
  152. package/src/database/vector/similarity.ts +198 -0
  153. package/src/index.ts +1 -1
@@ -0,0 +1,600 @@
1
+ /**
2
+ * Documents Schema
3
+ *
4
+ * Drizzle ORM schema for knowledge base documents and chunks.
5
+ * Supports vector embeddings for RAG (Retrieval Augmented Generation).
6
+ */
7
+ /**
8
+ * Documents table (PostgreSQL)
9
+ */
10
+ export declare const documentsPg: import("drizzle-orm/pg-core").PgTableWithColumns<{
11
+ name: "documents";
12
+ schema: undefined;
13
+ columns: {
14
+ id: import("drizzle-orm/pg-core").PgColumn<{
15
+ name: "id";
16
+ tableName: "documents";
17
+ dataType: "string";
18
+ columnType: "PgUUID";
19
+ data: string;
20
+ driverParam: string;
21
+ notNull: true;
22
+ hasDefault: true;
23
+ isPrimaryKey: true;
24
+ isAutoincrement: false;
25
+ hasRuntimeDefault: false;
26
+ enumValues: undefined;
27
+ baseColumn: never;
28
+ identity: undefined;
29
+ generated: undefined;
30
+ }, {}, {}>;
31
+ userId: import("drizzle-orm/pg-core").PgColumn<{
32
+ name: "user_id";
33
+ tableName: "documents";
34
+ dataType: "string";
35
+ columnType: "PgText";
36
+ data: string;
37
+ driverParam: string;
38
+ notNull: false;
39
+ hasDefault: false;
40
+ isPrimaryKey: false;
41
+ isAutoincrement: false;
42
+ hasRuntimeDefault: false;
43
+ enumValues: [string, ...string[]];
44
+ baseColumn: never;
45
+ identity: undefined;
46
+ generated: undefined;
47
+ }, {}, {}>;
48
+ filename: import("drizzle-orm/pg-core").PgColumn<{
49
+ name: "filename";
50
+ tableName: "documents";
51
+ dataType: "string";
52
+ columnType: "PgText";
53
+ data: string;
54
+ driverParam: string;
55
+ notNull: true;
56
+ hasDefault: false;
57
+ isPrimaryKey: false;
58
+ isAutoincrement: false;
59
+ hasRuntimeDefault: false;
60
+ enumValues: [string, ...string[]];
61
+ baseColumn: never;
62
+ identity: undefined;
63
+ generated: undefined;
64
+ }, {}, {}>;
65
+ fileType: import("drizzle-orm/pg-core").PgColumn<{
66
+ name: "file_type";
67
+ tableName: "documents";
68
+ dataType: "string";
69
+ columnType: "PgText";
70
+ data: string;
71
+ driverParam: string;
72
+ notNull: false;
73
+ hasDefault: false;
74
+ isPrimaryKey: false;
75
+ isAutoincrement: false;
76
+ hasRuntimeDefault: false;
77
+ enumValues: [string, ...string[]];
78
+ baseColumn: never;
79
+ identity: undefined;
80
+ generated: undefined;
81
+ }, {}, {}>;
82
+ fileSize: import("drizzle-orm/pg-core").PgColumn<{
83
+ name: "file_size";
84
+ tableName: "documents";
85
+ dataType: "number";
86
+ columnType: "PgInteger";
87
+ data: number;
88
+ driverParam: string | number;
89
+ notNull: false;
90
+ hasDefault: false;
91
+ isPrimaryKey: false;
92
+ isAutoincrement: false;
93
+ hasRuntimeDefault: false;
94
+ enumValues: undefined;
95
+ baseColumn: never;
96
+ identity: undefined;
97
+ generated: undefined;
98
+ }, {}, {}>;
99
+ content: import("drizzle-orm/pg-core").PgColumn<{
100
+ name: "content";
101
+ tableName: "documents";
102
+ dataType: "string";
103
+ columnType: "PgText";
104
+ data: string;
105
+ driverParam: string;
106
+ notNull: false;
107
+ hasDefault: false;
108
+ isPrimaryKey: false;
109
+ isAutoincrement: false;
110
+ hasRuntimeDefault: false;
111
+ enumValues: [string, ...string[]];
112
+ baseColumn: never;
113
+ identity: undefined;
114
+ generated: undefined;
115
+ }, {}, {}>;
116
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
117
+ name: "metadata";
118
+ tableName: "documents";
119
+ dataType: "json";
120
+ columnType: "PgJsonb";
121
+ data: unknown;
122
+ driverParam: unknown;
123
+ notNull: true;
124
+ hasDefault: true;
125
+ isPrimaryKey: false;
126
+ isAutoincrement: false;
127
+ hasRuntimeDefault: false;
128
+ enumValues: undefined;
129
+ baseColumn: never;
130
+ identity: undefined;
131
+ generated: undefined;
132
+ }, {}, {}>;
133
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
134
+ name: "created_at";
135
+ tableName: "documents";
136
+ dataType: "date";
137
+ columnType: "PgTimestamp";
138
+ data: Date;
139
+ driverParam: string;
140
+ notNull: true;
141
+ hasDefault: true;
142
+ isPrimaryKey: false;
143
+ isAutoincrement: false;
144
+ hasRuntimeDefault: false;
145
+ enumValues: undefined;
146
+ baseColumn: never;
147
+ identity: undefined;
148
+ generated: undefined;
149
+ }, {}, {}>;
150
+ };
151
+ dialect: "pg";
152
+ }>;
153
+ /**
154
+ * Document chunks table (PostgreSQL)
155
+ */
156
+ export declare const documentChunksPg: import("drizzle-orm/pg-core").PgTableWithColumns<{
157
+ name: "document_chunks";
158
+ schema: undefined;
159
+ columns: {
160
+ id: import("drizzle-orm/pg-core").PgColumn<{
161
+ name: "id";
162
+ tableName: "document_chunks";
163
+ dataType: "string";
164
+ columnType: "PgUUID";
165
+ data: string;
166
+ driverParam: string;
167
+ notNull: true;
168
+ hasDefault: true;
169
+ isPrimaryKey: true;
170
+ isAutoincrement: false;
171
+ hasRuntimeDefault: false;
172
+ enumValues: undefined;
173
+ baseColumn: never;
174
+ identity: undefined;
175
+ generated: undefined;
176
+ }, {}, {}>;
177
+ documentId: import("drizzle-orm/pg-core").PgColumn<{
178
+ name: "document_id";
179
+ tableName: "document_chunks";
180
+ dataType: "string";
181
+ columnType: "PgUUID";
182
+ data: string;
183
+ driverParam: string;
184
+ notNull: true;
185
+ hasDefault: false;
186
+ isPrimaryKey: false;
187
+ isAutoincrement: false;
188
+ hasRuntimeDefault: false;
189
+ enumValues: undefined;
190
+ baseColumn: never;
191
+ identity: undefined;
192
+ generated: undefined;
193
+ }, {}, {}>;
194
+ chunkIndex: import("drizzle-orm/pg-core").PgColumn<{
195
+ name: "chunk_index";
196
+ tableName: "document_chunks";
197
+ dataType: "number";
198
+ columnType: "PgInteger";
199
+ data: number;
200
+ driverParam: string | number;
201
+ notNull: true;
202
+ hasDefault: false;
203
+ isPrimaryKey: false;
204
+ isAutoincrement: false;
205
+ hasRuntimeDefault: false;
206
+ enumValues: undefined;
207
+ baseColumn: never;
208
+ identity: undefined;
209
+ generated: undefined;
210
+ }, {}, {}>;
211
+ content: import("drizzle-orm/pg-core").PgColumn<{
212
+ name: "content";
213
+ tableName: "document_chunks";
214
+ dataType: "string";
215
+ columnType: "PgText";
216
+ data: string;
217
+ driverParam: string;
218
+ notNull: true;
219
+ hasDefault: false;
220
+ isPrimaryKey: false;
221
+ isAutoincrement: false;
222
+ hasRuntimeDefault: false;
223
+ enumValues: [string, ...string[]];
224
+ baseColumn: never;
225
+ identity: undefined;
226
+ generated: undefined;
227
+ }, {}, {}>;
228
+ embedding: import("drizzle-orm/pg-core").PgColumn<{
229
+ name: "embedding";
230
+ tableName: "document_chunks";
231
+ dataType: "string";
232
+ columnType: "PgText";
233
+ data: string;
234
+ driverParam: string;
235
+ notNull: true;
236
+ hasDefault: false;
237
+ isPrimaryKey: false;
238
+ isAutoincrement: false;
239
+ hasRuntimeDefault: false;
240
+ enumValues: [string, ...string[]];
241
+ baseColumn: never;
242
+ identity: undefined;
243
+ generated: undefined;
244
+ }, {}, {}>;
245
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
246
+ name: "metadata";
247
+ tableName: "document_chunks";
248
+ dataType: "json";
249
+ columnType: "PgJsonb";
250
+ data: unknown;
251
+ driverParam: unknown;
252
+ notNull: true;
253
+ hasDefault: true;
254
+ isPrimaryKey: false;
255
+ isAutoincrement: false;
256
+ hasRuntimeDefault: false;
257
+ enumValues: undefined;
258
+ baseColumn: never;
259
+ identity: undefined;
260
+ generated: undefined;
261
+ }, {}, {}>;
262
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
263
+ name: "created_at";
264
+ tableName: "document_chunks";
265
+ dataType: "date";
266
+ columnType: "PgTimestamp";
267
+ data: Date;
268
+ driverParam: string;
269
+ notNull: true;
270
+ hasDefault: true;
271
+ isPrimaryKey: false;
272
+ isAutoincrement: false;
273
+ hasRuntimeDefault: false;
274
+ enumValues: undefined;
275
+ baseColumn: never;
276
+ identity: undefined;
277
+ generated: undefined;
278
+ }, {}, {}>;
279
+ };
280
+ dialect: "pg";
281
+ }>;
282
+ /**
283
+ * Documents table (SQLite)
284
+ */
285
+ export declare const documentsSqlite: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
286
+ name: "documents";
287
+ schema: undefined;
288
+ columns: {
289
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
290
+ name: "id";
291
+ tableName: "documents";
292
+ dataType: "string";
293
+ columnType: "SQLiteText";
294
+ data: string;
295
+ driverParam: string;
296
+ notNull: true;
297
+ hasDefault: true;
298
+ isPrimaryKey: true;
299
+ isAutoincrement: false;
300
+ hasRuntimeDefault: true;
301
+ enumValues: [string, ...string[]];
302
+ baseColumn: never;
303
+ identity: undefined;
304
+ generated: undefined;
305
+ }, {}, {
306
+ length: number | undefined;
307
+ }>;
308
+ userId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
309
+ name: "user_id";
310
+ tableName: "documents";
311
+ dataType: "string";
312
+ columnType: "SQLiteText";
313
+ data: string;
314
+ driverParam: string;
315
+ notNull: false;
316
+ hasDefault: false;
317
+ isPrimaryKey: false;
318
+ isAutoincrement: false;
319
+ hasRuntimeDefault: false;
320
+ enumValues: [string, ...string[]];
321
+ baseColumn: never;
322
+ identity: undefined;
323
+ generated: undefined;
324
+ }, {}, {
325
+ length: number | undefined;
326
+ }>;
327
+ filename: import("drizzle-orm/sqlite-core").SQLiteColumn<{
328
+ name: "filename";
329
+ tableName: "documents";
330
+ dataType: "string";
331
+ columnType: "SQLiteText";
332
+ data: string;
333
+ driverParam: string;
334
+ notNull: true;
335
+ hasDefault: false;
336
+ isPrimaryKey: false;
337
+ isAutoincrement: false;
338
+ hasRuntimeDefault: false;
339
+ enumValues: [string, ...string[]];
340
+ baseColumn: never;
341
+ identity: undefined;
342
+ generated: undefined;
343
+ }, {}, {
344
+ length: number | undefined;
345
+ }>;
346
+ fileType: import("drizzle-orm/sqlite-core").SQLiteColumn<{
347
+ name: "file_type";
348
+ tableName: "documents";
349
+ dataType: "string";
350
+ columnType: "SQLiteText";
351
+ data: string;
352
+ driverParam: string;
353
+ notNull: false;
354
+ hasDefault: false;
355
+ isPrimaryKey: false;
356
+ isAutoincrement: false;
357
+ hasRuntimeDefault: false;
358
+ enumValues: [string, ...string[]];
359
+ baseColumn: never;
360
+ identity: undefined;
361
+ generated: undefined;
362
+ }, {}, {
363
+ length: number | undefined;
364
+ }>;
365
+ fileSize: import("drizzle-orm/sqlite-core").SQLiteColumn<{
366
+ name: "file_size";
367
+ tableName: "documents";
368
+ dataType: "number";
369
+ columnType: "SQLiteInteger";
370
+ data: number;
371
+ driverParam: number;
372
+ notNull: false;
373
+ hasDefault: false;
374
+ isPrimaryKey: false;
375
+ isAutoincrement: false;
376
+ hasRuntimeDefault: false;
377
+ enumValues: undefined;
378
+ baseColumn: never;
379
+ identity: undefined;
380
+ generated: undefined;
381
+ }, {}, {}>;
382
+ content: import("drizzle-orm/sqlite-core").SQLiteColumn<{
383
+ name: "content";
384
+ tableName: "documents";
385
+ dataType: "string";
386
+ columnType: "SQLiteText";
387
+ data: string;
388
+ driverParam: string;
389
+ notNull: false;
390
+ hasDefault: false;
391
+ isPrimaryKey: false;
392
+ isAutoincrement: false;
393
+ hasRuntimeDefault: false;
394
+ enumValues: [string, ...string[]];
395
+ baseColumn: never;
396
+ identity: undefined;
397
+ generated: undefined;
398
+ }, {}, {
399
+ length: number | undefined;
400
+ }>;
401
+ metadata: import("drizzle-orm/sqlite-core").SQLiteColumn<{
402
+ name: "metadata";
403
+ tableName: "documents";
404
+ dataType: "json";
405
+ columnType: "SQLiteTextJson";
406
+ data: Record<string, unknown>;
407
+ driverParam: string;
408
+ notNull: true;
409
+ hasDefault: true;
410
+ isPrimaryKey: false;
411
+ isAutoincrement: false;
412
+ hasRuntimeDefault: false;
413
+ enumValues: undefined;
414
+ baseColumn: never;
415
+ identity: undefined;
416
+ generated: undefined;
417
+ }, {}, {
418
+ $type: Record<string, unknown>;
419
+ }>;
420
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
421
+ name: "created_at";
422
+ tableName: "documents";
423
+ dataType: "date";
424
+ columnType: "SQLiteTimestamp";
425
+ data: Date;
426
+ driverParam: number;
427
+ notNull: true;
428
+ hasDefault: true;
429
+ isPrimaryKey: false;
430
+ isAutoincrement: false;
431
+ hasRuntimeDefault: true;
432
+ enumValues: undefined;
433
+ baseColumn: never;
434
+ identity: undefined;
435
+ generated: undefined;
436
+ }, {}, {}>;
437
+ };
438
+ dialect: "sqlite";
439
+ }>;
440
+ /**
441
+ * Document chunks table (SQLite)
442
+ */
443
+ export declare const documentChunksSqlite: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
444
+ name: "document_chunks";
445
+ schema: undefined;
446
+ columns: {
447
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
448
+ name: "id";
449
+ tableName: "document_chunks";
450
+ dataType: "string";
451
+ columnType: "SQLiteText";
452
+ data: string;
453
+ driverParam: string;
454
+ notNull: true;
455
+ hasDefault: true;
456
+ isPrimaryKey: true;
457
+ isAutoincrement: false;
458
+ hasRuntimeDefault: true;
459
+ enumValues: [string, ...string[]];
460
+ baseColumn: never;
461
+ identity: undefined;
462
+ generated: undefined;
463
+ }, {}, {
464
+ length: number | undefined;
465
+ }>;
466
+ documentId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
467
+ name: "document_id";
468
+ tableName: "document_chunks";
469
+ dataType: "string";
470
+ columnType: "SQLiteText";
471
+ data: string;
472
+ driverParam: string;
473
+ notNull: true;
474
+ hasDefault: false;
475
+ isPrimaryKey: false;
476
+ isAutoincrement: false;
477
+ hasRuntimeDefault: false;
478
+ enumValues: [string, ...string[]];
479
+ baseColumn: never;
480
+ identity: undefined;
481
+ generated: undefined;
482
+ }, {}, {
483
+ length: number | undefined;
484
+ }>;
485
+ chunkIndex: import("drizzle-orm/sqlite-core").SQLiteColumn<{
486
+ name: "chunk_index";
487
+ tableName: "document_chunks";
488
+ dataType: "number";
489
+ columnType: "SQLiteInteger";
490
+ data: number;
491
+ driverParam: number;
492
+ notNull: true;
493
+ hasDefault: false;
494
+ isPrimaryKey: false;
495
+ isAutoincrement: false;
496
+ hasRuntimeDefault: false;
497
+ enumValues: undefined;
498
+ baseColumn: never;
499
+ identity: undefined;
500
+ generated: undefined;
501
+ }, {}, {}>;
502
+ content: import("drizzle-orm/sqlite-core").SQLiteColumn<{
503
+ name: "content";
504
+ tableName: "document_chunks";
505
+ dataType: "string";
506
+ columnType: "SQLiteText";
507
+ data: string;
508
+ driverParam: string;
509
+ notNull: true;
510
+ hasDefault: false;
511
+ isPrimaryKey: false;
512
+ isAutoincrement: false;
513
+ hasRuntimeDefault: false;
514
+ enumValues: [string, ...string[]];
515
+ baseColumn: never;
516
+ identity: undefined;
517
+ generated: undefined;
518
+ }, {}, {
519
+ length: number | undefined;
520
+ }>;
521
+ embedding: import("drizzle-orm/sqlite-core").SQLiteColumn<{
522
+ name: "embedding";
523
+ tableName: "document_chunks";
524
+ dataType: "string";
525
+ columnType: "SQLiteText";
526
+ data: string;
527
+ driverParam: string;
528
+ notNull: true;
529
+ hasDefault: false;
530
+ isPrimaryKey: false;
531
+ isAutoincrement: false;
532
+ hasRuntimeDefault: false;
533
+ enumValues: [string, ...string[]];
534
+ baseColumn: never;
535
+ identity: undefined;
536
+ generated: undefined;
537
+ }, {}, {
538
+ length: number | undefined;
539
+ }>;
540
+ metadata: import("drizzle-orm/sqlite-core").SQLiteColumn<{
541
+ name: "metadata";
542
+ tableName: "document_chunks";
543
+ dataType: "json";
544
+ columnType: "SQLiteTextJson";
545
+ data: Record<string, unknown>;
546
+ driverParam: string;
547
+ notNull: true;
548
+ hasDefault: true;
549
+ isPrimaryKey: false;
550
+ isAutoincrement: false;
551
+ hasRuntimeDefault: false;
552
+ enumValues: undefined;
553
+ baseColumn: never;
554
+ identity: undefined;
555
+ generated: undefined;
556
+ }, {}, {
557
+ $type: Record<string, unknown>;
558
+ }>;
559
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
560
+ name: "created_at";
561
+ tableName: "document_chunks";
562
+ dataType: "date";
563
+ columnType: "SQLiteTimestamp";
564
+ data: Date;
565
+ driverParam: number;
566
+ notNull: true;
567
+ hasDefault: true;
568
+ isPrimaryKey: false;
569
+ isAutoincrement: false;
570
+ hasRuntimeDefault: true;
571
+ enumValues: undefined;
572
+ baseColumn: never;
573
+ identity: undefined;
574
+ generated: undefined;
575
+ }, {}, {}>;
576
+ };
577
+ dialect: "sqlite";
578
+ }>;
579
+ export type DocumentPg = typeof documentsPg.$inferSelect;
580
+ export type NewDocumentPg = typeof documentsPg.$inferInsert;
581
+ export type DocumentChunkPg = typeof documentChunksPg.$inferSelect;
582
+ export type NewDocumentChunkPg = typeof documentChunksPg.$inferInsert;
583
+ export type DocumentSqlite = typeof documentsSqlite.$inferSelect;
584
+ export type NewDocumentSqlite = typeof documentsSqlite.$inferInsert;
585
+ export type DocumentChunkSqlite = typeof documentChunksSqlite.$inferSelect;
586
+ export type NewDocumentChunkSqlite = typeof documentChunksSqlite.$inferInsert;
587
+ export type Document = DocumentPg | DocumentSqlite;
588
+ export type NewDocument = NewDocumentPg | NewDocumentSqlite;
589
+ export type DocumentChunk = DocumentChunkPg | DocumentChunkSqlite;
590
+ export type NewDocumentChunk = NewDocumentChunkPg | NewDocumentChunkSqlite;
591
+ export interface ParsedDocumentChunk {
592
+ id: string;
593
+ documentId: string;
594
+ chunkIndex: number;
595
+ content: string;
596
+ embedding: number[];
597
+ metadata: Record<string, unknown>;
598
+ createdAt: Date;
599
+ }
600
+ //# sourceMappingURL=documents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../../src/database/drizzle/schema/documents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB5B,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB/B,CAAC;AAMH,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAC;AAEtE,MAAM,MAAM,cAAc,GAAG,OAAO,eAAe,CAAC,YAAY,CAAC;AACjE,MAAM,MAAM,iBAAiB,GAAG,OAAO,eAAe,CAAC,YAAY,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,OAAO,oBAAoB,CAAC,YAAY,CAAC;AAC3E,MAAM,MAAM,sBAAsB,GAAG,OAAO,oBAAoB,CAAC,YAAY,CAAC;AAG9E,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAC;AACnD,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,sBAAsB,CAAC;AAG3E,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,IAAI,CAAC;CACjB"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Documents Schema
3
+ *
4
+ * Drizzle ORM schema for knowledge base documents and chunks.
5
+ * Supports vector embeddings for RAG (Retrieval Augmented Generation).
6
+ */
7
+ import { pgTable, uuid, text, integer, timestamp, jsonb, index, } from 'drizzle-orm/pg-core';
8
+ import { sqliteTable, text as sqliteText, integer as sqliteInteger, } from 'drizzle-orm/sqlite-core';
9
+ import { sql } from 'drizzle-orm';
10
+ // =============================================================================
11
+ // PostgreSQL Schema
12
+ // =============================================================================
13
+ /**
14
+ * Documents table (PostgreSQL)
15
+ */
16
+ export const documentsPg = pgTable('documents', {
17
+ id: uuid('id')
18
+ .primaryKey()
19
+ .default(sql `gen_random_uuid()`),
20
+ userId: text('user_id'),
21
+ filename: text('filename').notNull(),
22
+ fileType: text('file_type'),
23
+ fileSize: integer('file_size'),
24
+ content: text('content'),
25
+ metadata: jsonb('metadata').default({}).notNull(),
26
+ createdAt: timestamp('created_at', { withTimezone: true })
27
+ .defaultNow()
28
+ .notNull(),
29
+ }, (table) => ({
30
+ userIdIdx: index('documents_user_id_idx').on(table.userId),
31
+ filenameIdx: index('documents_filename_idx').on(table.filename),
32
+ createdAtIdx: index('documents_created_at_idx').on(table.createdAt),
33
+ }));
34
+ /**
35
+ * Document chunks table (PostgreSQL)
36
+ */
37
+ export const documentChunksPg = pgTable('document_chunks', {
38
+ id: uuid('id')
39
+ .primaryKey()
40
+ .default(sql `gen_random_uuid()`),
41
+ documentId: uuid('document_id')
42
+ .notNull()
43
+ .references(() => documentsPg.id, { onDelete: 'cascade' }),
44
+ chunkIndex: integer('chunk_index').notNull(),
45
+ content: text('content').notNull(),
46
+ // pgvector embedding
47
+ embedding: text('embedding').notNull(),
48
+ metadata: jsonb('metadata').default({}).notNull(),
49
+ createdAt: timestamp('created_at', { withTimezone: true })
50
+ .defaultNow()
51
+ .notNull(),
52
+ }, (table) => ({
53
+ documentIdIdx: index('chunks_document_id_idx').on(table.documentId),
54
+ chunkIndexIdx: index('chunks_chunk_index_idx').on(table.chunkIndex),
55
+ }));
56
+ // =============================================================================
57
+ // SQLite Schema
58
+ // =============================================================================
59
+ /**
60
+ * Documents table (SQLite)
61
+ */
62
+ export const documentsSqlite = sqliteTable('documents', {
63
+ id: sqliteText('id')
64
+ .primaryKey()
65
+ .$defaultFn(() => crypto.randomUUID()),
66
+ userId: sqliteText('user_id'),
67
+ filename: sqliteText('filename').notNull(),
68
+ fileType: sqliteText('file_type'),
69
+ fileSize: sqliteInteger('file_size'),
70
+ content: sqliteText('content'),
71
+ metadata: sqliteText('metadata', { mode: 'json' })
72
+ .notNull()
73
+ .$type()
74
+ .default({}),
75
+ createdAt: sqliteInteger('created_at', { mode: 'timestamp' })
76
+ .notNull()
77
+ .$defaultFn(() => new Date()),
78
+ });
79
+ /**
80
+ * Document chunks table (SQLite)
81
+ */
82
+ export const documentChunksSqlite = sqliteTable('document_chunks', {
83
+ id: sqliteText('id')
84
+ .primaryKey()
85
+ .$defaultFn(() => crypto.randomUUID()),
86
+ documentId: sqliteText('document_id')
87
+ .notNull()
88
+ .references(() => documentsSqlite.id, { onDelete: 'cascade' }),
89
+ chunkIndex: sqliteInteger('chunk_index').notNull(),
90
+ content: sqliteText('content').notNull(),
91
+ embedding: sqliteText('embedding').notNull(),
92
+ metadata: sqliteText('metadata', { mode: 'json' })
93
+ .notNull()
94
+ .$type()
95
+ .default({}),
96
+ createdAt: sqliteInteger('created_at', { mode: 'timestamp' })
97
+ .notNull()
98
+ .$defaultFn(() => new Date()),
99
+ });
100
+ //# sourceMappingURL=documents.js.map