@huyooo/ai-chat-storage 0.2.44 → 0.3.2

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 (46) hide show
  1. package/dist/adapters/postgres/backups.d.ts +12 -0
  2. package/dist/adapters/postgres/backups.d.ts.map +1 -0
  3. package/dist/adapters/postgres/base.d.ts +12 -0
  4. package/dist/adapters/postgres/base.d.ts.map +1 -0
  5. package/dist/adapters/postgres/embeddings.d.ts +16 -0
  6. package/dist/adapters/postgres/embeddings.d.ts.map +1 -0
  7. package/dist/adapters/postgres/index.d.ts +55 -0
  8. package/dist/adapters/postgres/index.d.ts.map +1 -0
  9. package/dist/adapters/postgres/messages.d.ts +25 -0
  10. package/dist/adapters/postgres/messages.d.ts.map +1 -0
  11. package/dist/adapters/postgres/operations.d.ts +16 -0
  12. package/dist/adapters/postgres/operations.d.ts.map +1 -0
  13. package/dist/adapters/postgres/sessions.d.ts +16 -0
  14. package/dist/adapters/postgres/sessions.d.ts.map +1 -0
  15. package/dist/adapters/postgres/trash.d.ts +14 -0
  16. package/dist/adapters/postgres/trash.d.ts.map +1 -0
  17. package/dist/adapters/sqlite/backups.d.ts +12 -0
  18. package/dist/adapters/sqlite/backups.d.ts.map +1 -0
  19. package/dist/adapters/sqlite/base.d.ts +22 -0
  20. package/dist/adapters/sqlite/base.d.ts.map +1 -0
  21. package/dist/adapters/sqlite/embeddings.d.ts +16 -0
  22. package/dist/adapters/sqlite/embeddings.d.ts.map +1 -0
  23. package/dist/adapters/sqlite/index.d.ts +55 -0
  24. package/dist/adapters/sqlite/index.d.ts.map +1 -0
  25. package/dist/adapters/sqlite/messages.d.ts +25 -0
  26. package/dist/adapters/sqlite/messages.d.ts.map +1 -0
  27. package/dist/adapters/sqlite/operations.d.ts +16 -0
  28. package/dist/adapters/sqlite/operations.d.ts.map +1 -0
  29. package/dist/adapters/sqlite/sessions.d.ts +16 -0
  30. package/dist/adapters/sqlite/sessions.d.ts.map +1 -0
  31. package/dist/adapters/sqlite/trash.d.ts +14 -0
  32. package/dist/adapters/sqlite/trash.d.ts.map +1 -0
  33. package/dist/adapters/sqlite/user-settings.d.ts +22 -0
  34. package/dist/adapters/sqlite/user-settings.d.ts.map +1 -0
  35. package/dist/index.d.ts +13 -1567
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +545 -1
  38. package/dist/schema.d.ts +1410 -0
  39. package/dist/schema.d.ts.map +1 -0
  40. package/dist/types.d.ts +195 -0
  41. package/dist/types.d.ts.map +1 -0
  42. package/package.json +8 -4
  43. package/dist/chunk-EXGLTJH4.js +0 -268
  44. package/dist/chunk-V5E7YX6J.js +0 -1
  45. package/dist/postgres-JFFEO52T.js +0 -1
  46. package/dist/sqlite-BVA3FN4Z.js +0 -1
package/dist/index.d.ts CHANGED
@@ -1,1563 +1,3 @@
1
- import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
2
- import Database from 'better-sqlite3';
3
-
4
- /**
5
- * 存储层类型定义
6
- */
7
- interface StorageContext {
8
- /** 租户 ID(多租户模式) */
9
- appId?: string;
10
- /** 用户 ID(多用户模式) */
11
- userId?: string;
12
- }
13
- interface SessionRecord {
14
- id: string;
15
- appId: string | null;
16
- userId: string | null;
17
- title: string;
18
- model: string;
19
- mode: 'agent' | 'plan' | 'ask';
20
- webSearchEnabled: boolean;
21
- thinkingEnabled: boolean;
22
- /** 是否在 tab 栏隐藏(关闭但不删除) */
23
- hidden: boolean;
24
- createdAt: Date;
25
- updatedAt: Date;
26
- }
27
- type CreateSessionInput = Omit<SessionRecord, 'createdAt' | 'updatedAt' | 'appId' | 'userId'>;
28
- type UpdateSessionInput = Partial<Pick<SessionRecord, 'title' | 'model' | 'mode' | 'webSearchEnabled' | 'thinkingEnabled' | 'hidden'>>;
29
- interface MessageRecord {
30
- id: string;
31
- /** 前端关联 ID(本地模式与 id 相同,云端模式为前端生成的 UUID) */
32
- clientId: string | null;
33
- sessionId: string;
34
- appId: string | null;
35
- userId: string | null;
36
- role: 'user' | 'assistant';
37
- content: string;
38
- /** 用户消息附带的图片(data URL 或 base64) */
39
- images: string[];
40
- /** 生成此消息时使用的模型 */
41
- model: string | null;
42
- /** 生成此消息时使用的模式 (ask/agent) */
43
- mode: string | null;
44
- /** 生成此消息时是否启用 web 搜索 */
45
- webSearchEnabled: boolean | null;
46
- /** 生成此消息时是否启用深度思考 */
47
- thinkingEnabled: boolean | null;
48
- /** 执行步骤列表 JSON */
49
- steps: string | null;
50
- operationIds: string | null;
51
- /** Token 使用统计(JSON 字符串) */
52
- usage: string | null;
53
- /** 响应耗时(毫秒) */
54
- duration: number | null;
55
- /** 消息序号(会话内递增,用于分叉删除,必须) */
56
- sequence: number;
57
- /** 时间戳(毫秒,Unix 时间戳,不受 JSON 序列化影响) */
58
- timestamp: number;
59
- }
60
- type CreateMessageInput = Omit<MessageRecord, 'timestamp' | 'appId' | 'userId' | 'sequence' | 'usage' | 'duration'>;
61
- /** 更新消息输入 */
62
- type UpdateMessageInput = Partial<Pick<MessageRecord, 'content' | 'steps' | 'operationIds' | 'usage' | 'duration'>>;
63
- type OperationStatus = 'pending' | 'confirmed' | 'executed' | 'reverted' | 'failed';
64
- interface OperationRecord {
65
- id: string;
66
- sessionId: string;
67
- messageId: string | null;
68
- appId: string | null;
69
- userId: string | null;
70
- command: string;
71
- operationType: string;
72
- affectedFiles: string;
73
- backupPath: string | null;
74
- status: OperationStatus;
75
- errorMessage: string | null;
76
- timestamp: Date;
77
- }
78
- type CreateOperationInput = Omit<OperationRecord, 'timestamp' | 'appId' | 'userId' | 'status' | 'errorMessage'> & {
79
- status?: OperationStatus;
80
- };
81
- interface BackupRecord {
82
- id: string;
83
- operationId: string;
84
- originalPath: string;
85
- backupPath: string;
86
- fileSize: number;
87
- fileHash: string;
88
- createdAt: Date;
89
- expiresAt: Date;
90
- }
91
- interface TrashRecord {
92
- id: string;
93
- sessionId: string;
94
- appId: string | null;
95
- userId: string | null;
96
- originalPath: string;
97
- trashPath: string;
98
- deletedAt: Date;
99
- autoDeleteAt: Date;
100
- }
101
- interface EmbeddingRecord {
102
- id: string;
103
- sessionId: string;
104
- messageId: string | null;
105
- appId: string | null;
106
- userId: string | null;
107
- content: string;
108
- contentType: 'message' | 'file' | 'summary';
109
- embedding: number[];
110
- metadata: string | null;
111
- createdAt: Date;
112
- }
113
- interface VectorSearchResult {
114
- id: string;
115
- content: string;
116
- contentType: string;
117
- similarity: number;
118
- metadata?: Record<string, unknown>;
119
- }
120
- interface VectorSearchOptions {
121
- limit?: number;
122
- threshold?: number;
123
- sessionId?: string;
124
- }
125
- interface StorageAdapter {
126
- getSessions(ctx: StorageContext): Promise<SessionRecord[]>;
127
- getSession(id: string, ctx: StorageContext): Promise<SessionRecord | null>;
128
- createSession(session: CreateSessionInput, ctx: StorageContext): Promise<SessionRecord>;
129
- updateSession(id: string, data: UpdateSessionInput, ctx: StorageContext): Promise<void>;
130
- deleteSession(id: string, ctx: StorageContext): Promise<void>;
131
- getMessages(sessionId: string, ctx: StorageContext): Promise<MessageRecord[]>;
132
- getMessage(id: string, ctx: StorageContext): Promise<MessageRecord | null>;
133
- saveMessage(message: CreateMessageInput, ctx: StorageContext): Promise<MessageRecord>;
134
- /** 更新消息(用于增量保存助手消息) */
135
- updateMessage(id: string, data: UpdateMessageInput, ctx: StorageContext): Promise<void>;
136
- deleteMessagesAfter(sessionId: string, timestamp: Date, ctx: StorageContext): Promise<void>;
137
- /**
138
- * 删除指定消息之后的所有消息(用于分叉/重新发送)
139
- *
140
- * 说明:
141
- * - 前端/IPC 里 timestamp 可能出现 Date/string 等序列化差异
142
- * - 用 messageId 作为锚点更稳定:后端根据 messageId 查出 timestamp,再执行 deleteMessagesAfter
143
- */
144
- deleteMessagesAfterMessageId(sessionId: string, messageId: string, ctx: StorageContext): Promise<void>;
145
- getOperations(sessionId: string, ctx: StorageContext): Promise<OperationRecord[]>;
146
- getOperationsByMessage(messageId: string, ctx: StorageContext): Promise<OperationRecord[]>;
147
- saveOperation(operation: CreateOperationInput, ctx: StorageContext): Promise<OperationRecord>;
148
- updateOperationStatus(id: string, status: OperationStatus, errorMessage?: string): Promise<void>;
149
- getBackups?(operationId: string): Promise<BackupRecord[]>;
150
- saveBackup?(backup: Omit<BackupRecord, 'createdAt'>): Promise<BackupRecord>;
151
- deleteExpiredBackups?(): Promise<number>;
152
- getTrashItems?(ctx: StorageContext): Promise<TrashRecord[]>;
153
- moveToTrash?(item: Omit<TrashRecord, 'deletedAt' | 'autoDeleteAt' | 'appId' | 'userId'>, ctx: StorageContext): Promise<TrashRecord>;
154
- restoreFromTrash?(id: string, ctx: StorageContext): Promise<TrashRecord>;
155
- emptyExpiredTrash?(): Promise<number>;
156
- getUserSetting(key: string, ctx: StorageContext): Promise<string | null>;
157
- setUserSetting(key: string, value: string, ctx: StorageContext): Promise<void>;
158
- getUserSettings(ctx: StorageContext): Promise<Record<string, string>>;
159
- deleteUserSetting(key: string, ctx: StorageContext): Promise<void>;
160
- saveEmbedding?(id: string, content: string, embedding: number[], metadata: {
161
- sessionId: string;
162
- messageId?: string;
163
- contentType: EmbeddingRecord['contentType'];
164
- }, ctx: StorageContext): Promise<void>;
165
- searchSimilar?(embedding: number[], options: VectorSearchOptions, ctx: StorageContext): Promise<VectorSearchResult[]>;
166
- close(): Promise<void>;
167
- }
168
- interface StorageConfig {
169
- type: 'sqlite' | 'postgres';
170
- sqlitePath?: string;
171
- postgresUrl?: string;
172
- backupRetentionDays?: number;
173
- trashRetentionDays?: number;
174
- }
175
-
176
- /**
177
- * Drizzle ORM Schema 定义
178
- * 支持 SQLite 和 PostgreSQL
179
- */
180
- /** 会话表 */
181
- declare const sessions: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
182
- name: "sessions";
183
- schema: undefined;
184
- columns: {
185
- id: drizzle_orm_sqlite_core.SQLiteColumn<{
186
- name: "id";
187
- tableName: "sessions";
188
- dataType: "string";
189
- columnType: "SQLiteText";
190
- data: string;
191
- driverParam: string;
192
- notNull: true;
193
- hasDefault: false;
194
- isPrimaryKey: true;
195
- isAutoincrement: false;
196
- hasRuntimeDefault: false;
197
- enumValues: [string, ...string[]];
198
- baseColumn: never;
199
- identity: undefined;
200
- generated: undefined;
201
- }, {}, {
202
- length: number | undefined;
203
- }>;
204
- appId: drizzle_orm_sqlite_core.SQLiteColumn<{
205
- name: "app_id";
206
- tableName: "sessions";
207
- dataType: "string";
208
- columnType: "SQLiteText";
209
- data: string;
210
- driverParam: string;
211
- notNull: false;
212
- hasDefault: false;
213
- isPrimaryKey: false;
214
- isAutoincrement: false;
215
- hasRuntimeDefault: false;
216
- enumValues: [string, ...string[]];
217
- baseColumn: never;
218
- identity: undefined;
219
- generated: undefined;
220
- }, {}, {
221
- length: number | undefined;
222
- }>;
223
- userId: drizzle_orm_sqlite_core.SQLiteColumn<{
224
- name: "user_id";
225
- tableName: "sessions";
226
- dataType: "string";
227
- columnType: "SQLiteText";
228
- data: string;
229
- driverParam: string;
230
- notNull: false;
231
- hasDefault: false;
232
- isPrimaryKey: false;
233
- isAutoincrement: false;
234
- hasRuntimeDefault: false;
235
- enumValues: [string, ...string[]];
236
- baseColumn: never;
237
- identity: undefined;
238
- generated: undefined;
239
- }, {}, {
240
- length: number | undefined;
241
- }>;
242
- title: drizzle_orm_sqlite_core.SQLiteColumn<{
243
- name: "title";
244
- tableName: "sessions";
245
- dataType: "string";
246
- columnType: "SQLiteText";
247
- data: string;
248
- driverParam: string;
249
- notNull: true;
250
- hasDefault: false;
251
- isPrimaryKey: false;
252
- isAutoincrement: false;
253
- hasRuntimeDefault: false;
254
- enumValues: [string, ...string[]];
255
- baseColumn: never;
256
- identity: undefined;
257
- generated: undefined;
258
- }, {}, {
259
- length: number | undefined;
260
- }>;
261
- model: drizzle_orm_sqlite_core.SQLiteColumn<{
262
- name: "model";
263
- tableName: "sessions";
264
- dataType: "string";
265
- columnType: "SQLiteText";
266
- data: string;
267
- driverParam: string;
268
- notNull: true;
269
- hasDefault: false;
270
- isPrimaryKey: false;
271
- isAutoincrement: false;
272
- hasRuntimeDefault: false;
273
- enumValues: [string, ...string[]];
274
- baseColumn: never;
275
- identity: undefined;
276
- generated: undefined;
277
- }, {}, {
278
- length: number | undefined;
279
- }>;
280
- mode: drizzle_orm_sqlite_core.SQLiteColumn<{
281
- name: "mode";
282
- tableName: "sessions";
283
- dataType: "string";
284
- columnType: "SQLiteText";
285
- data: string;
286
- driverParam: string;
287
- notNull: true;
288
- hasDefault: false;
289
- isPrimaryKey: false;
290
- isAutoincrement: false;
291
- hasRuntimeDefault: false;
292
- enumValues: [string, ...string[]];
293
- baseColumn: never;
294
- identity: undefined;
295
- generated: undefined;
296
- }, {}, {
297
- length: number | undefined;
298
- }>;
299
- webSearchEnabled: drizzle_orm_sqlite_core.SQLiteColumn<{
300
- name: "web_search_enabled";
301
- tableName: "sessions";
302
- dataType: "boolean";
303
- columnType: "SQLiteBoolean";
304
- data: boolean;
305
- driverParam: number;
306
- notNull: true;
307
- hasDefault: true;
308
- isPrimaryKey: false;
309
- isAutoincrement: false;
310
- hasRuntimeDefault: false;
311
- enumValues: undefined;
312
- baseColumn: never;
313
- identity: undefined;
314
- generated: undefined;
315
- }, {}, {}>;
316
- thinkingEnabled: drizzle_orm_sqlite_core.SQLiteColumn<{
317
- name: "thinking_enabled";
318
- tableName: "sessions";
319
- dataType: "boolean";
320
- columnType: "SQLiteBoolean";
321
- data: boolean;
322
- driverParam: number;
323
- notNull: true;
324
- hasDefault: true;
325
- isPrimaryKey: false;
326
- isAutoincrement: false;
327
- hasRuntimeDefault: false;
328
- enumValues: undefined;
329
- baseColumn: never;
330
- identity: undefined;
331
- generated: undefined;
332
- }, {}, {}>;
333
- hidden: drizzle_orm_sqlite_core.SQLiteColumn<{
334
- name: "hidden";
335
- tableName: "sessions";
336
- dataType: "boolean";
337
- columnType: "SQLiteBoolean";
338
- data: boolean;
339
- driverParam: number;
340
- notNull: true;
341
- hasDefault: true;
342
- isPrimaryKey: false;
343
- isAutoincrement: false;
344
- hasRuntimeDefault: false;
345
- enumValues: undefined;
346
- baseColumn: never;
347
- identity: undefined;
348
- generated: undefined;
349
- }, {}, {}>;
350
- createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
351
- name: "created_at";
352
- tableName: "sessions";
353
- dataType: "date";
354
- columnType: "SQLiteTimestamp";
355
- data: Date;
356
- driverParam: number;
357
- notNull: true;
358
- hasDefault: false;
359
- isPrimaryKey: false;
360
- isAutoincrement: false;
361
- hasRuntimeDefault: false;
362
- enumValues: undefined;
363
- baseColumn: never;
364
- identity: undefined;
365
- generated: undefined;
366
- }, {}, {}>;
367
- updatedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
368
- name: "updated_at";
369
- tableName: "sessions";
370
- dataType: "date";
371
- columnType: "SQLiteTimestamp";
372
- data: Date;
373
- driverParam: number;
374
- notNull: true;
375
- hasDefault: false;
376
- isPrimaryKey: false;
377
- isAutoincrement: false;
378
- hasRuntimeDefault: false;
379
- enumValues: undefined;
380
- baseColumn: never;
381
- identity: undefined;
382
- generated: undefined;
383
- }, {}, {}>;
384
- };
385
- dialect: "sqlite";
386
- }>;
387
- /** 消息表 */
388
- declare const messages: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
389
- name: "messages";
390
- schema: undefined;
391
- columns: {
392
- id: drizzle_orm_sqlite_core.SQLiteColumn<{
393
- name: "id";
394
- tableName: "messages";
395
- dataType: "string";
396
- columnType: "SQLiteText";
397
- data: string;
398
- driverParam: string;
399
- notNull: true;
400
- hasDefault: false;
401
- isPrimaryKey: true;
402
- isAutoincrement: false;
403
- hasRuntimeDefault: false;
404
- enumValues: [string, ...string[]];
405
- baseColumn: never;
406
- identity: undefined;
407
- generated: undefined;
408
- }, {}, {
409
- length: number | undefined;
410
- }>;
411
- clientId: drizzle_orm_sqlite_core.SQLiteColumn<{
412
- name: "client_id";
413
- tableName: "messages";
414
- dataType: "string";
415
- columnType: "SQLiteText";
416
- data: string;
417
- driverParam: string;
418
- notNull: false;
419
- hasDefault: false;
420
- isPrimaryKey: false;
421
- isAutoincrement: false;
422
- hasRuntimeDefault: false;
423
- enumValues: [string, ...string[]];
424
- baseColumn: never;
425
- identity: undefined;
426
- generated: undefined;
427
- }, {}, {
428
- length: number | undefined;
429
- }>;
430
- sessionId: drizzle_orm_sqlite_core.SQLiteColumn<{
431
- name: "session_id";
432
- tableName: "messages";
433
- dataType: "string";
434
- columnType: "SQLiteText";
435
- data: string;
436
- driverParam: string;
437
- notNull: true;
438
- hasDefault: false;
439
- isPrimaryKey: false;
440
- isAutoincrement: false;
441
- hasRuntimeDefault: false;
442
- enumValues: [string, ...string[]];
443
- baseColumn: never;
444
- identity: undefined;
445
- generated: undefined;
446
- }, {}, {
447
- length: number | undefined;
448
- }>;
449
- appId: drizzle_orm_sqlite_core.SQLiteColumn<{
450
- name: "app_id";
451
- tableName: "messages";
452
- dataType: "string";
453
- columnType: "SQLiteText";
454
- data: string;
455
- driverParam: string;
456
- notNull: false;
457
- hasDefault: false;
458
- isPrimaryKey: false;
459
- isAutoincrement: false;
460
- hasRuntimeDefault: false;
461
- enumValues: [string, ...string[]];
462
- baseColumn: never;
463
- identity: undefined;
464
- generated: undefined;
465
- }, {}, {
466
- length: number | undefined;
467
- }>;
468
- userId: drizzle_orm_sqlite_core.SQLiteColumn<{
469
- name: "user_id";
470
- tableName: "messages";
471
- dataType: "string";
472
- columnType: "SQLiteText";
473
- data: string;
474
- driverParam: string;
475
- notNull: false;
476
- hasDefault: false;
477
- isPrimaryKey: false;
478
- isAutoincrement: false;
479
- hasRuntimeDefault: false;
480
- enumValues: [string, ...string[]];
481
- baseColumn: never;
482
- identity: undefined;
483
- generated: undefined;
484
- }, {}, {
485
- length: number | undefined;
486
- }>;
487
- role: drizzle_orm_sqlite_core.SQLiteColumn<{
488
- name: "role";
489
- tableName: "messages";
490
- dataType: "string";
491
- columnType: "SQLiteText";
492
- data: string;
493
- driverParam: string;
494
- notNull: true;
495
- hasDefault: false;
496
- isPrimaryKey: false;
497
- isAutoincrement: false;
498
- hasRuntimeDefault: false;
499
- enumValues: [string, ...string[]];
500
- baseColumn: never;
501
- identity: undefined;
502
- generated: undefined;
503
- }, {}, {
504
- length: number | undefined;
505
- }>;
506
- content: drizzle_orm_sqlite_core.SQLiteColumn<{
507
- name: "content";
508
- tableName: "messages";
509
- dataType: "string";
510
- columnType: "SQLiteText";
511
- data: string;
512
- driverParam: string;
513
- notNull: true;
514
- hasDefault: false;
515
- isPrimaryKey: false;
516
- isAutoincrement: false;
517
- hasRuntimeDefault: false;
518
- enumValues: [string, ...string[]];
519
- baseColumn: never;
520
- identity: undefined;
521
- generated: undefined;
522
- }, {}, {
523
- length: number | undefined;
524
- }>;
525
- images: drizzle_orm_sqlite_core.SQLiteColumn<{
526
- name: "images";
527
- tableName: "messages";
528
- dataType: "string";
529
- columnType: "SQLiteText";
530
- data: string;
531
- driverParam: string;
532
- notNull: false;
533
- hasDefault: false;
534
- isPrimaryKey: false;
535
- isAutoincrement: false;
536
- hasRuntimeDefault: false;
537
- enumValues: [string, ...string[]];
538
- baseColumn: never;
539
- identity: undefined;
540
- generated: undefined;
541
- }, {}, {
542
- length: number | undefined;
543
- }>;
544
- model: drizzle_orm_sqlite_core.SQLiteColumn<{
545
- name: "model";
546
- tableName: "messages";
547
- dataType: "string";
548
- columnType: "SQLiteText";
549
- data: string;
550
- driverParam: string;
551
- notNull: false;
552
- hasDefault: false;
553
- isPrimaryKey: false;
554
- isAutoincrement: false;
555
- hasRuntimeDefault: false;
556
- enumValues: [string, ...string[]];
557
- baseColumn: never;
558
- identity: undefined;
559
- generated: undefined;
560
- }, {}, {
561
- length: number | undefined;
562
- }>;
563
- mode: drizzle_orm_sqlite_core.SQLiteColumn<{
564
- name: "mode";
565
- tableName: "messages";
566
- dataType: "string";
567
- columnType: "SQLiteText";
568
- data: string;
569
- driverParam: string;
570
- notNull: false;
571
- hasDefault: false;
572
- isPrimaryKey: false;
573
- isAutoincrement: false;
574
- hasRuntimeDefault: false;
575
- enumValues: [string, ...string[]];
576
- baseColumn: never;
577
- identity: undefined;
578
- generated: undefined;
579
- }, {}, {
580
- length: number | undefined;
581
- }>;
582
- webSearchEnabled: drizzle_orm_sqlite_core.SQLiteColumn<{
583
- name: "web_search_enabled";
584
- tableName: "messages";
585
- dataType: "boolean";
586
- columnType: "SQLiteBoolean";
587
- data: boolean;
588
- driverParam: number;
589
- notNull: false;
590
- hasDefault: false;
591
- isPrimaryKey: false;
592
- isAutoincrement: false;
593
- hasRuntimeDefault: false;
594
- enumValues: undefined;
595
- baseColumn: never;
596
- identity: undefined;
597
- generated: undefined;
598
- }, {}, {}>;
599
- thinkingEnabled: drizzle_orm_sqlite_core.SQLiteColumn<{
600
- name: "thinking_enabled";
601
- tableName: "messages";
602
- dataType: "boolean";
603
- columnType: "SQLiteBoolean";
604
- data: boolean;
605
- driverParam: number;
606
- notNull: false;
607
- hasDefault: false;
608
- isPrimaryKey: false;
609
- isAutoincrement: false;
610
- hasRuntimeDefault: false;
611
- enumValues: undefined;
612
- baseColumn: never;
613
- identity: undefined;
614
- generated: undefined;
615
- }, {}, {}>;
616
- steps: drizzle_orm_sqlite_core.SQLiteColumn<{
617
- name: "steps";
618
- tableName: "messages";
619
- dataType: "string";
620
- columnType: "SQLiteText";
621
- data: string;
622
- driverParam: string;
623
- notNull: false;
624
- hasDefault: false;
625
- isPrimaryKey: false;
626
- isAutoincrement: false;
627
- hasRuntimeDefault: false;
628
- enumValues: [string, ...string[]];
629
- baseColumn: never;
630
- identity: undefined;
631
- generated: undefined;
632
- }, {}, {
633
- length: number | undefined;
634
- }>;
635
- operationIds: drizzle_orm_sqlite_core.SQLiteColumn<{
636
- name: "operation_ids";
637
- tableName: "messages";
638
- dataType: "string";
639
- columnType: "SQLiteText";
640
- data: string;
641
- driverParam: string;
642
- notNull: false;
643
- hasDefault: false;
644
- isPrimaryKey: false;
645
- isAutoincrement: false;
646
- hasRuntimeDefault: false;
647
- enumValues: [string, ...string[]];
648
- baseColumn: never;
649
- identity: undefined;
650
- generated: undefined;
651
- }, {}, {
652
- length: number | undefined;
653
- }>;
654
- usage: drizzle_orm_sqlite_core.SQLiteColumn<{
655
- name: "usage";
656
- tableName: "messages";
657
- dataType: "string";
658
- columnType: "SQLiteText";
659
- data: string;
660
- driverParam: string;
661
- notNull: false;
662
- hasDefault: false;
663
- isPrimaryKey: false;
664
- isAutoincrement: false;
665
- hasRuntimeDefault: false;
666
- enumValues: [string, ...string[]];
667
- baseColumn: never;
668
- identity: undefined;
669
- generated: undefined;
670
- }, {}, {
671
- length: number | undefined;
672
- }>;
673
- duration: drizzle_orm_sqlite_core.SQLiteColumn<{
674
- name: "duration";
675
- tableName: "messages";
676
- dataType: "number";
677
- columnType: "SQLiteInteger";
678
- data: number;
679
- driverParam: number;
680
- notNull: false;
681
- hasDefault: false;
682
- isPrimaryKey: false;
683
- isAutoincrement: false;
684
- hasRuntimeDefault: false;
685
- enumValues: undefined;
686
- baseColumn: never;
687
- identity: undefined;
688
- generated: undefined;
689
- }, {}, {}>;
690
- sequence: drizzle_orm_sqlite_core.SQLiteColumn<{
691
- name: "sequence";
692
- tableName: "messages";
693
- dataType: "number";
694
- columnType: "SQLiteInteger";
695
- data: number;
696
- driverParam: number;
697
- notNull: true;
698
- hasDefault: false;
699
- isPrimaryKey: false;
700
- isAutoincrement: false;
701
- hasRuntimeDefault: false;
702
- enumValues: undefined;
703
- baseColumn: never;
704
- identity: undefined;
705
- generated: undefined;
706
- }, {}, {}>;
707
- timestamp: drizzle_orm_sqlite_core.SQLiteColumn<{
708
- name: "timestamp";
709
- tableName: "messages";
710
- dataType: "date";
711
- columnType: "SQLiteTimestamp";
712
- data: Date;
713
- driverParam: number;
714
- notNull: true;
715
- hasDefault: false;
716
- isPrimaryKey: false;
717
- isAutoincrement: false;
718
- hasRuntimeDefault: false;
719
- enumValues: undefined;
720
- baseColumn: never;
721
- identity: undefined;
722
- generated: undefined;
723
- }, {}, {}>;
724
- };
725
- dialect: "sqlite";
726
- }>;
727
- /** 操作日志表 */
728
- declare const operations: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
729
- name: "operations";
730
- schema: undefined;
731
- columns: {
732
- id: drizzle_orm_sqlite_core.SQLiteColumn<{
733
- name: "id";
734
- tableName: "operations";
735
- dataType: "string";
736
- columnType: "SQLiteText";
737
- data: string;
738
- driverParam: string;
739
- notNull: true;
740
- hasDefault: false;
741
- isPrimaryKey: true;
742
- isAutoincrement: false;
743
- hasRuntimeDefault: false;
744
- enumValues: [string, ...string[]];
745
- baseColumn: never;
746
- identity: undefined;
747
- generated: undefined;
748
- }, {}, {
749
- length: number | undefined;
750
- }>;
751
- sessionId: drizzle_orm_sqlite_core.SQLiteColumn<{
752
- name: "session_id";
753
- tableName: "operations";
754
- dataType: "string";
755
- columnType: "SQLiteText";
756
- data: string;
757
- driverParam: string;
758
- notNull: true;
759
- hasDefault: false;
760
- isPrimaryKey: false;
761
- isAutoincrement: false;
762
- hasRuntimeDefault: false;
763
- enumValues: [string, ...string[]];
764
- baseColumn: never;
765
- identity: undefined;
766
- generated: undefined;
767
- }, {}, {
768
- length: number | undefined;
769
- }>;
770
- messageId: drizzle_orm_sqlite_core.SQLiteColumn<{
771
- name: "message_id";
772
- tableName: "operations";
773
- dataType: "string";
774
- columnType: "SQLiteText";
775
- data: string;
776
- driverParam: string;
777
- notNull: false;
778
- hasDefault: false;
779
- isPrimaryKey: false;
780
- isAutoincrement: false;
781
- hasRuntimeDefault: false;
782
- enumValues: [string, ...string[]];
783
- baseColumn: never;
784
- identity: undefined;
785
- generated: undefined;
786
- }, {}, {
787
- length: number | undefined;
788
- }>;
789
- appId: drizzle_orm_sqlite_core.SQLiteColumn<{
790
- name: "app_id";
791
- tableName: "operations";
792
- dataType: "string";
793
- columnType: "SQLiteText";
794
- data: string;
795
- driverParam: string;
796
- notNull: false;
797
- hasDefault: false;
798
- isPrimaryKey: false;
799
- isAutoincrement: false;
800
- hasRuntimeDefault: false;
801
- enumValues: [string, ...string[]];
802
- baseColumn: never;
803
- identity: undefined;
804
- generated: undefined;
805
- }, {}, {
806
- length: number | undefined;
807
- }>;
808
- userId: drizzle_orm_sqlite_core.SQLiteColumn<{
809
- name: "user_id";
810
- tableName: "operations";
811
- dataType: "string";
812
- columnType: "SQLiteText";
813
- data: string;
814
- driverParam: string;
815
- notNull: false;
816
- hasDefault: false;
817
- isPrimaryKey: false;
818
- isAutoincrement: false;
819
- hasRuntimeDefault: false;
820
- enumValues: [string, ...string[]];
821
- baseColumn: never;
822
- identity: undefined;
823
- generated: undefined;
824
- }, {}, {
825
- length: number | undefined;
826
- }>;
827
- command: drizzle_orm_sqlite_core.SQLiteColumn<{
828
- name: "command";
829
- tableName: "operations";
830
- dataType: "string";
831
- columnType: "SQLiteText";
832
- data: string;
833
- driverParam: string;
834
- notNull: true;
835
- hasDefault: false;
836
- isPrimaryKey: false;
837
- isAutoincrement: false;
838
- hasRuntimeDefault: false;
839
- enumValues: [string, ...string[]];
840
- baseColumn: never;
841
- identity: undefined;
842
- generated: undefined;
843
- }, {}, {
844
- length: number | undefined;
845
- }>;
846
- operationType: drizzle_orm_sqlite_core.SQLiteColumn<{
847
- name: "operation_type";
848
- tableName: "operations";
849
- dataType: "string";
850
- columnType: "SQLiteText";
851
- data: string;
852
- driverParam: string;
853
- notNull: true;
854
- hasDefault: false;
855
- isPrimaryKey: false;
856
- isAutoincrement: false;
857
- hasRuntimeDefault: false;
858
- enumValues: [string, ...string[]];
859
- baseColumn: never;
860
- identity: undefined;
861
- generated: undefined;
862
- }, {}, {
863
- length: number | undefined;
864
- }>;
865
- affectedFiles: drizzle_orm_sqlite_core.SQLiteColumn<{
866
- name: "affected_files";
867
- tableName: "operations";
868
- dataType: "string";
869
- columnType: "SQLiteText";
870
- data: string;
871
- driverParam: string;
872
- notNull: true;
873
- hasDefault: false;
874
- isPrimaryKey: false;
875
- isAutoincrement: false;
876
- hasRuntimeDefault: false;
877
- enumValues: [string, ...string[]];
878
- baseColumn: never;
879
- identity: undefined;
880
- generated: undefined;
881
- }, {}, {
882
- length: number | undefined;
883
- }>;
884
- backupPath: drizzle_orm_sqlite_core.SQLiteColumn<{
885
- name: "backup_path";
886
- tableName: "operations";
887
- dataType: "string";
888
- columnType: "SQLiteText";
889
- data: string;
890
- driverParam: string;
891
- notNull: false;
892
- hasDefault: false;
893
- isPrimaryKey: false;
894
- isAutoincrement: false;
895
- hasRuntimeDefault: false;
896
- enumValues: [string, ...string[]];
897
- baseColumn: never;
898
- identity: undefined;
899
- generated: undefined;
900
- }, {}, {
901
- length: number | undefined;
902
- }>;
903
- status: drizzle_orm_sqlite_core.SQLiteColumn<{
904
- name: "status";
905
- tableName: "operations";
906
- dataType: "string";
907
- columnType: "SQLiteText";
908
- data: string;
909
- driverParam: string;
910
- notNull: true;
911
- hasDefault: true;
912
- isPrimaryKey: false;
913
- isAutoincrement: false;
914
- hasRuntimeDefault: false;
915
- enumValues: [string, ...string[]];
916
- baseColumn: never;
917
- identity: undefined;
918
- generated: undefined;
919
- }, {}, {
920
- length: number | undefined;
921
- }>;
922
- errorMessage: drizzle_orm_sqlite_core.SQLiteColumn<{
923
- name: "error_message";
924
- tableName: "operations";
925
- dataType: "string";
926
- columnType: "SQLiteText";
927
- data: string;
928
- driverParam: string;
929
- notNull: false;
930
- hasDefault: false;
931
- isPrimaryKey: false;
932
- isAutoincrement: false;
933
- hasRuntimeDefault: false;
934
- enumValues: [string, ...string[]];
935
- baseColumn: never;
936
- identity: undefined;
937
- generated: undefined;
938
- }, {}, {
939
- length: number | undefined;
940
- }>;
941
- timestamp: drizzle_orm_sqlite_core.SQLiteColumn<{
942
- name: "timestamp";
943
- tableName: "operations";
944
- dataType: "date";
945
- columnType: "SQLiteTimestamp";
946
- data: Date;
947
- driverParam: number;
948
- notNull: true;
949
- hasDefault: false;
950
- isPrimaryKey: false;
951
- isAutoincrement: false;
952
- hasRuntimeDefault: false;
953
- enumValues: undefined;
954
- baseColumn: never;
955
- identity: undefined;
956
- generated: undefined;
957
- }, {}, {}>;
958
- };
959
- dialect: "sqlite";
960
- }>;
961
- /** 备份记录表 */
962
- declare const backups: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
963
- name: "backups";
964
- schema: undefined;
965
- columns: {
966
- id: drizzle_orm_sqlite_core.SQLiteColumn<{
967
- name: "id";
968
- tableName: "backups";
969
- dataType: "string";
970
- columnType: "SQLiteText";
971
- data: string;
972
- driverParam: string;
973
- notNull: true;
974
- hasDefault: false;
975
- isPrimaryKey: true;
976
- isAutoincrement: false;
977
- hasRuntimeDefault: false;
978
- enumValues: [string, ...string[]];
979
- baseColumn: never;
980
- identity: undefined;
981
- generated: undefined;
982
- }, {}, {
983
- length: number | undefined;
984
- }>;
985
- operationId: drizzle_orm_sqlite_core.SQLiteColumn<{
986
- name: "operation_id";
987
- tableName: "backups";
988
- dataType: "string";
989
- columnType: "SQLiteText";
990
- data: string;
991
- driverParam: string;
992
- notNull: true;
993
- hasDefault: false;
994
- isPrimaryKey: false;
995
- isAutoincrement: false;
996
- hasRuntimeDefault: false;
997
- enumValues: [string, ...string[]];
998
- baseColumn: never;
999
- identity: undefined;
1000
- generated: undefined;
1001
- }, {}, {
1002
- length: number | undefined;
1003
- }>;
1004
- originalPath: drizzle_orm_sqlite_core.SQLiteColumn<{
1005
- name: "original_path";
1006
- tableName: "backups";
1007
- dataType: "string";
1008
- columnType: "SQLiteText";
1009
- data: string;
1010
- driverParam: string;
1011
- notNull: true;
1012
- hasDefault: false;
1013
- isPrimaryKey: false;
1014
- isAutoincrement: false;
1015
- hasRuntimeDefault: false;
1016
- enumValues: [string, ...string[]];
1017
- baseColumn: never;
1018
- identity: undefined;
1019
- generated: undefined;
1020
- }, {}, {
1021
- length: number | undefined;
1022
- }>;
1023
- backupPath: drizzle_orm_sqlite_core.SQLiteColumn<{
1024
- name: "backup_path";
1025
- tableName: "backups";
1026
- dataType: "string";
1027
- columnType: "SQLiteText";
1028
- data: string;
1029
- driverParam: string;
1030
- notNull: true;
1031
- hasDefault: false;
1032
- isPrimaryKey: false;
1033
- isAutoincrement: false;
1034
- hasRuntimeDefault: false;
1035
- enumValues: [string, ...string[]];
1036
- baseColumn: never;
1037
- identity: undefined;
1038
- generated: undefined;
1039
- }, {}, {
1040
- length: number | undefined;
1041
- }>;
1042
- fileSize: drizzle_orm_sqlite_core.SQLiteColumn<{
1043
- name: "file_size";
1044
- tableName: "backups";
1045
- dataType: "number";
1046
- columnType: "SQLiteInteger";
1047
- data: number;
1048
- driverParam: number;
1049
- notNull: true;
1050
- hasDefault: false;
1051
- isPrimaryKey: false;
1052
- isAutoincrement: false;
1053
- hasRuntimeDefault: false;
1054
- enumValues: undefined;
1055
- baseColumn: never;
1056
- identity: undefined;
1057
- generated: undefined;
1058
- }, {}, {}>;
1059
- fileHash: drizzle_orm_sqlite_core.SQLiteColumn<{
1060
- name: "file_hash";
1061
- tableName: "backups";
1062
- dataType: "string";
1063
- columnType: "SQLiteText";
1064
- data: string;
1065
- driverParam: string;
1066
- notNull: true;
1067
- hasDefault: false;
1068
- isPrimaryKey: false;
1069
- isAutoincrement: false;
1070
- hasRuntimeDefault: false;
1071
- enumValues: [string, ...string[]];
1072
- baseColumn: never;
1073
- identity: undefined;
1074
- generated: undefined;
1075
- }, {}, {
1076
- length: number | undefined;
1077
- }>;
1078
- createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1079
- name: "created_at";
1080
- tableName: "backups";
1081
- dataType: "date";
1082
- columnType: "SQLiteTimestamp";
1083
- data: Date;
1084
- driverParam: number;
1085
- notNull: true;
1086
- hasDefault: false;
1087
- isPrimaryKey: false;
1088
- isAutoincrement: false;
1089
- hasRuntimeDefault: false;
1090
- enumValues: undefined;
1091
- baseColumn: never;
1092
- identity: undefined;
1093
- generated: undefined;
1094
- }, {}, {}>;
1095
- expiresAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1096
- name: "expires_at";
1097
- tableName: "backups";
1098
- dataType: "date";
1099
- columnType: "SQLiteTimestamp";
1100
- data: Date;
1101
- driverParam: number;
1102
- notNull: true;
1103
- hasDefault: false;
1104
- isPrimaryKey: false;
1105
- isAutoincrement: false;
1106
- hasRuntimeDefault: false;
1107
- enumValues: undefined;
1108
- baseColumn: never;
1109
- identity: undefined;
1110
- generated: undefined;
1111
- }, {}, {}>;
1112
- };
1113
- dialect: "sqlite";
1114
- }>;
1115
- /** 回收站表 */
1116
- declare const trash: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1117
- name: "trash";
1118
- schema: undefined;
1119
- columns: {
1120
- id: drizzle_orm_sqlite_core.SQLiteColumn<{
1121
- name: "id";
1122
- tableName: "trash";
1123
- dataType: "string";
1124
- columnType: "SQLiteText";
1125
- data: string;
1126
- driverParam: string;
1127
- notNull: true;
1128
- hasDefault: false;
1129
- isPrimaryKey: true;
1130
- isAutoincrement: false;
1131
- hasRuntimeDefault: false;
1132
- enumValues: [string, ...string[]];
1133
- baseColumn: never;
1134
- identity: undefined;
1135
- generated: undefined;
1136
- }, {}, {
1137
- length: number | undefined;
1138
- }>;
1139
- sessionId: drizzle_orm_sqlite_core.SQLiteColumn<{
1140
- name: "session_id";
1141
- tableName: "trash";
1142
- dataType: "string";
1143
- columnType: "SQLiteText";
1144
- data: string;
1145
- driverParam: string;
1146
- notNull: true;
1147
- hasDefault: false;
1148
- isPrimaryKey: false;
1149
- isAutoincrement: false;
1150
- hasRuntimeDefault: false;
1151
- enumValues: [string, ...string[]];
1152
- baseColumn: never;
1153
- identity: undefined;
1154
- generated: undefined;
1155
- }, {}, {
1156
- length: number | undefined;
1157
- }>;
1158
- appId: drizzle_orm_sqlite_core.SQLiteColumn<{
1159
- name: "app_id";
1160
- tableName: "trash";
1161
- dataType: "string";
1162
- columnType: "SQLiteText";
1163
- data: string;
1164
- driverParam: string;
1165
- notNull: false;
1166
- hasDefault: false;
1167
- isPrimaryKey: false;
1168
- isAutoincrement: false;
1169
- hasRuntimeDefault: false;
1170
- enumValues: [string, ...string[]];
1171
- baseColumn: never;
1172
- identity: undefined;
1173
- generated: undefined;
1174
- }, {}, {
1175
- length: number | undefined;
1176
- }>;
1177
- userId: drizzle_orm_sqlite_core.SQLiteColumn<{
1178
- name: "user_id";
1179
- tableName: "trash";
1180
- dataType: "string";
1181
- columnType: "SQLiteText";
1182
- data: string;
1183
- driverParam: string;
1184
- notNull: false;
1185
- hasDefault: false;
1186
- isPrimaryKey: false;
1187
- isAutoincrement: false;
1188
- hasRuntimeDefault: false;
1189
- enumValues: [string, ...string[]];
1190
- baseColumn: never;
1191
- identity: undefined;
1192
- generated: undefined;
1193
- }, {}, {
1194
- length: number | undefined;
1195
- }>;
1196
- originalPath: drizzle_orm_sqlite_core.SQLiteColumn<{
1197
- name: "original_path";
1198
- tableName: "trash";
1199
- dataType: "string";
1200
- columnType: "SQLiteText";
1201
- data: string;
1202
- driverParam: string;
1203
- notNull: true;
1204
- hasDefault: false;
1205
- isPrimaryKey: false;
1206
- isAutoincrement: false;
1207
- hasRuntimeDefault: false;
1208
- enumValues: [string, ...string[]];
1209
- baseColumn: never;
1210
- identity: undefined;
1211
- generated: undefined;
1212
- }, {}, {
1213
- length: number | undefined;
1214
- }>;
1215
- trashPath: drizzle_orm_sqlite_core.SQLiteColumn<{
1216
- name: "trash_path";
1217
- tableName: "trash";
1218
- dataType: "string";
1219
- columnType: "SQLiteText";
1220
- data: string;
1221
- driverParam: string;
1222
- notNull: true;
1223
- hasDefault: false;
1224
- isPrimaryKey: false;
1225
- isAutoincrement: false;
1226
- hasRuntimeDefault: false;
1227
- enumValues: [string, ...string[]];
1228
- baseColumn: never;
1229
- identity: undefined;
1230
- generated: undefined;
1231
- }, {}, {
1232
- length: number | undefined;
1233
- }>;
1234
- deletedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1235
- name: "deleted_at";
1236
- tableName: "trash";
1237
- dataType: "date";
1238
- columnType: "SQLiteTimestamp";
1239
- data: Date;
1240
- driverParam: number;
1241
- notNull: true;
1242
- hasDefault: false;
1243
- isPrimaryKey: false;
1244
- isAutoincrement: false;
1245
- hasRuntimeDefault: false;
1246
- enumValues: undefined;
1247
- baseColumn: never;
1248
- identity: undefined;
1249
- generated: undefined;
1250
- }, {}, {}>;
1251
- autoDeleteAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1252
- name: "auto_delete_at";
1253
- tableName: "trash";
1254
- dataType: "date";
1255
- columnType: "SQLiteTimestamp";
1256
- data: Date;
1257
- driverParam: number;
1258
- notNull: true;
1259
- hasDefault: false;
1260
- isPrimaryKey: false;
1261
- isAutoincrement: false;
1262
- hasRuntimeDefault: false;
1263
- enumValues: undefined;
1264
- baseColumn: never;
1265
- identity: undefined;
1266
- generated: undefined;
1267
- }, {}, {}>;
1268
- };
1269
- dialect: "sqlite";
1270
- }>;
1271
- /** 向量嵌入表(SQLite 简单存储,无索引加速) */
1272
- declare const embeddings: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1273
- name: "embeddings";
1274
- schema: undefined;
1275
- columns: {
1276
- id: drizzle_orm_sqlite_core.SQLiteColumn<{
1277
- name: "id";
1278
- tableName: "embeddings";
1279
- dataType: "string";
1280
- columnType: "SQLiteText";
1281
- data: string;
1282
- driverParam: string;
1283
- notNull: true;
1284
- hasDefault: false;
1285
- isPrimaryKey: true;
1286
- isAutoincrement: false;
1287
- hasRuntimeDefault: false;
1288
- enumValues: [string, ...string[]];
1289
- baseColumn: never;
1290
- identity: undefined;
1291
- generated: undefined;
1292
- }, {}, {
1293
- length: number | undefined;
1294
- }>;
1295
- sessionId: drizzle_orm_sqlite_core.SQLiteColumn<{
1296
- name: "session_id";
1297
- tableName: "embeddings";
1298
- dataType: "string";
1299
- columnType: "SQLiteText";
1300
- data: string;
1301
- driverParam: string;
1302
- notNull: true;
1303
- hasDefault: false;
1304
- isPrimaryKey: false;
1305
- isAutoincrement: false;
1306
- hasRuntimeDefault: false;
1307
- enumValues: [string, ...string[]];
1308
- baseColumn: never;
1309
- identity: undefined;
1310
- generated: undefined;
1311
- }, {}, {
1312
- length: number | undefined;
1313
- }>;
1314
- messageId: drizzle_orm_sqlite_core.SQLiteColumn<{
1315
- name: "message_id";
1316
- tableName: "embeddings";
1317
- dataType: "string";
1318
- columnType: "SQLiteText";
1319
- data: string;
1320
- driverParam: string;
1321
- notNull: false;
1322
- hasDefault: false;
1323
- isPrimaryKey: false;
1324
- isAutoincrement: false;
1325
- hasRuntimeDefault: false;
1326
- enumValues: [string, ...string[]];
1327
- baseColumn: never;
1328
- identity: undefined;
1329
- generated: undefined;
1330
- }, {}, {
1331
- length: number | undefined;
1332
- }>;
1333
- appId: drizzle_orm_sqlite_core.SQLiteColumn<{
1334
- name: "app_id";
1335
- tableName: "embeddings";
1336
- dataType: "string";
1337
- columnType: "SQLiteText";
1338
- data: string;
1339
- driverParam: string;
1340
- notNull: false;
1341
- hasDefault: false;
1342
- isPrimaryKey: false;
1343
- isAutoincrement: false;
1344
- hasRuntimeDefault: false;
1345
- enumValues: [string, ...string[]];
1346
- baseColumn: never;
1347
- identity: undefined;
1348
- generated: undefined;
1349
- }, {}, {
1350
- length: number | undefined;
1351
- }>;
1352
- userId: drizzle_orm_sqlite_core.SQLiteColumn<{
1353
- name: "user_id";
1354
- tableName: "embeddings";
1355
- dataType: "string";
1356
- columnType: "SQLiteText";
1357
- data: string;
1358
- driverParam: string;
1359
- notNull: false;
1360
- hasDefault: false;
1361
- isPrimaryKey: false;
1362
- isAutoincrement: false;
1363
- hasRuntimeDefault: false;
1364
- enumValues: [string, ...string[]];
1365
- baseColumn: never;
1366
- identity: undefined;
1367
- generated: undefined;
1368
- }, {}, {
1369
- length: number | undefined;
1370
- }>;
1371
- content: drizzle_orm_sqlite_core.SQLiteColumn<{
1372
- name: "content";
1373
- tableName: "embeddings";
1374
- dataType: "string";
1375
- columnType: "SQLiteText";
1376
- data: string;
1377
- driverParam: string;
1378
- notNull: true;
1379
- hasDefault: false;
1380
- isPrimaryKey: false;
1381
- isAutoincrement: false;
1382
- hasRuntimeDefault: false;
1383
- enumValues: [string, ...string[]];
1384
- baseColumn: never;
1385
- identity: undefined;
1386
- generated: undefined;
1387
- }, {}, {
1388
- length: number | undefined;
1389
- }>;
1390
- contentType: drizzle_orm_sqlite_core.SQLiteColumn<{
1391
- name: "content_type";
1392
- tableName: "embeddings";
1393
- dataType: "string";
1394
- columnType: "SQLiteText";
1395
- data: string;
1396
- driverParam: string;
1397
- notNull: true;
1398
- hasDefault: false;
1399
- isPrimaryKey: false;
1400
- isAutoincrement: false;
1401
- hasRuntimeDefault: false;
1402
- enumValues: [string, ...string[]];
1403
- baseColumn: never;
1404
- identity: undefined;
1405
- generated: undefined;
1406
- }, {}, {
1407
- length: number | undefined;
1408
- }>;
1409
- embedding: drizzle_orm_sqlite_core.SQLiteColumn<{
1410
- name: "embedding";
1411
- tableName: "embeddings";
1412
- dataType: "string";
1413
- columnType: "SQLiteText";
1414
- data: string;
1415
- driverParam: string;
1416
- notNull: false;
1417
- hasDefault: false;
1418
- isPrimaryKey: false;
1419
- isAutoincrement: false;
1420
- hasRuntimeDefault: false;
1421
- enumValues: [string, ...string[]];
1422
- baseColumn: never;
1423
- identity: undefined;
1424
- generated: undefined;
1425
- }, {}, {
1426
- length: number | undefined;
1427
- }>;
1428
- metadata: drizzle_orm_sqlite_core.SQLiteColumn<{
1429
- name: "metadata";
1430
- tableName: "embeddings";
1431
- dataType: "string";
1432
- columnType: "SQLiteText";
1433
- data: string;
1434
- driverParam: string;
1435
- notNull: false;
1436
- hasDefault: false;
1437
- isPrimaryKey: false;
1438
- isAutoincrement: false;
1439
- hasRuntimeDefault: false;
1440
- enumValues: [string, ...string[]];
1441
- baseColumn: never;
1442
- identity: undefined;
1443
- generated: undefined;
1444
- }, {}, {
1445
- length: number | undefined;
1446
- }>;
1447
- createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1448
- name: "created_at";
1449
- tableName: "embeddings";
1450
- dataType: "date";
1451
- columnType: "SQLiteTimestamp";
1452
- data: Date;
1453
- driverParam: number;
1454
- notNull: true;
1455
- hasDefault: false;
1456
- isPrimaryKey: false;
1457
- isAutoincrement: false;
1458
- hasRuntimeDefault: false;
1459
- enumValues: undefined;
1460
- baseColumn: never;
1461
- identity: undefined;
1462
- generated: undefined;
1463
- }, {}, {}>;
1464
- };
1465
- dialect: "sqlite";
1466
- }>;
1467
-
1468
- /**
1469
- * SQLite 存储适配器
1470
- * 使用 Drizzle ORM + better-sqlite3
1471
- */
1472
-
1473
- declare class SqliteAdapter implements StorageAdapter {
1474
- private sqlite;
1475
- private db;
1476
- private config;
1477
- get sqliteInstance(): Database.Database;
1478
- constructor(dbPath: string, config?: StorageConfig);
1479
- getSessions(ctx: StorageContext): Promise<SessionRecord[]>;
1480
- getSession(id: string, ctx: StorageContext): Promise<SessionRecord | null>;
1481
- createSession(input: CreateSessionInput, ctx: StorageContext): Promise<SessionRecord>;
1482
- updateSession(id: string, data: UpdateSessionInput, ctx: StorageContext): Promise<void>;
1483
- deleteSession(id: string, ctx: StorageContext): Promise<void>;
1484
- getMessages(sessionId: string, ctx: StorageContext): Promise<MessageRecord[]>;
1485
- getMessage(id: string, ctx: StorageContext): Promise<MessageRecord | null>;
1486
- saveMessage(input: CreateMessageInput, ctx: StorageContext): Promise<MessageRecord>;
1487
- updateMessage(id: string, data: UpdateMessageInput, ctx: StorageContext): Promise<void>;
1488
- deleteMessagesAfter(sessionId: string, timestamp: Date, ctx: StorageContext): Promise<void>;
1489
- deleteMessagesAfterMessageId(sessionId: string, messageId: string, ctx: StorageContext): Promise<void>;
1490
- getOperations(sessionId: string, ctx: StorageContext): Promise<OperationRecord[]>;
1491
- getOperationsByMessage(messageId: string, ctx: StorageContext): Promise<OperationRecord[]>;
1492
- saveOperation(input: CreateOperationInput, ctx: StorageContext): Promise<OperationRecord>;
1493
- updateOperationStatus(id: string, status: OperationStatus, errorMessage?: string): Promise<void>;
1494
- getBackups(operationId: string): Promise<BackupRecord[]>;
1495
- saveBackup(input: Omit<BackupRecord, 'createdAt'>): Promise<BackupRecord>;
1496
- deleteExpiredBackups(): Promise<number>;
1497
- getTrashItems(ctx: StorageContext): Promise<TrashRecord[]>;
1498
- moveToTrash(input: Omit<TrashRecord, 'deletedAt' | 'autoDeleteAt' | 'appId' | 'userId'>, ctx: StorageContext): Promise<TrashRecord>;
1499
- restoreFromTrash(id: string, ctx: StorageContext): Promise<TrashRecord>;
1500
- emptyExpiredTrash(): Promise<number>;
1501
- saveEmbedding(id: string, content: string, embedding: number[], metadata: {
1502
- sessionId: string;
1503
- messageId?: string;
1504
- contentType: EmbeddingRecord['contentType'];
1505
- }, ctx: StorageContext): Promise<void>;
1506
- searchSimilar(queryEmbedding: number[], options: VectorSearchOptions, ctx: StorageContext): Promise<VectorSearchResult[]>;
1507
- getUserSetting(key: string, ctx: StorageContext): Promise<string | null>;
1508
- setUserSetting(key: string, value: string, ctx: StorageContext): Promise<void>;
1509
- getUserSettings(ctx: StorageContext): Promise<Record<string, string>>;
1510
- deleteUserSetting(key: string, ctx: StorageContext): Promise<void>;
1511
- close(): Promise<void>;
1512
- }
1513
-
1514
- /**
1515
- * PostgreSQL 存储适配器
1516
- * 使用 postgres.js 驱动,支持 pgvector
1517
- */
1518
-
1519
- declare class PostgresAdapter implements StorageAdapter {
1520
- private sql;
1521
- private config;
1522
- private initialized;
1523
- constructor(connectionString: string, config?: StorageConfig);
1524
- /** 确保表结构已初始化 */
1525
- private ensureInitialized;
1526
- getSessions(ctx: StorageContext): Promise<SessionRecord[]>;
1527
- getSession(id: string, ctx: StorageContext): Promise<SessionRecord | null>;
1528
- createSession(input: CreateSessionInput, ctx: StorageContext): Promise<SessionRecord>;
1529
- updateSession(id: string, data: UpdateSessionInput, ctx: StorageContext): Promise<void>;
1530
- deleteSession(id: string, ctx: StorageContext): Promise<void>;
1531
- getMessages(sessionId: string, ctx: StorageContext): Promise<MessageRecord[]>;
1532
- getMessage(id: string, ctx: StorageContext): Promise<MessageRecord | null>;
1533
- saveMessage(input: CreateMessageInput, ctx: StorageContext): Promise<MessageRecord>;
1534
- updateMessage(id: string, data: UpdateMessageInput, ctx: StorageContext): Promise<void>;
1535
- deleteMessagesAfter(sessionId: string, timestamp: Date, ctx: StorageContext): Promise<void>;
1536
- deleteMessagesAfterMessageId(sessionId: string, messageId: string, ctx: StorageContext): Promise<void>;
1537
- getOperations(sessionId: string, ctx: StorageContext): Promise<OperationRecord[]>;
1538
- getOperationsByMessage(messageId: string, ctx: StorageContext): Promise<OperationRecord[]>;
1539
- saveOperation(input: CreateOperationInput, ctx: StorageContext): Promise<OperationRecord>;
1540
- updateOperationStatus(id: string, status: OperationStatus, errorMessage?: string): Promise<void>;
1541
- getBackups(operationId: string): Promise<BackupRecord[]>;
1542
- saveBackup(input: Omit<BackupRecord, 'createdAt'>): Promise<BackupRecord>;
1543
- deleteExpiredBackups(): Promise<number>;
1544
- getTrashItems(ctx: StorageContext): Promise<TrashRecord[]>;
1545
- moveToTrash(input: Omit<TrashRecord, 'deletedAt' | 'autoDeleteAt' | 'appId' | 'userId'>, ctx: StorageContext): Promise<TrashRecord>;
1546
- restoreFromTrash(id: string, ctx: StorageContext): Promise<TrashRecord>;
1547
- emptyExpiredTrash(): Promise<number>;
1548
- saveEmbedding(id: string, content: string, embedding: number[], metadata: {
1549
- sessionId: string;
1550
- messageId?: string;
1551
- contentType: EmbeddingRecord['contentType'];
1552
- }, ctx: StorageContext): Promise<void>;
1553
- searchSimilar(queryEmbedding: number[], options: VectorSearchOptions, ctx: StorageContext): Promise<VectorSearchResult[]>;
1554
- getUserSetting(key: string, ctx: StorageContext): Promise<string | null>;
1555
- setUserSetting(key: string, value: string, ctx: StorageContext): Promise<void>;
1556
- getUserSettings(ctx: StorageContext): Promise<Record<string, string>>;
1557
- deleteUserSetting(key: string, ctx: StorageContext): Promise<void>;
1558
- close(): Promise<void>;
1559
- }
1560
-
1561
1
  /**
1562
2
  * AI Chat 统一存储层
1563
3
  *
@@ -1571,15 +11,22 @@ declare class PostgresAdapter implements StorageAdapter {
1571
11
  * - 备份和回收站
1572
12
  * - 向量搜索(PostgreSQL 使用 pgvector,SQLite 内存计算)
1573
13
  */
1574
-
14
+ export * from './types';
15
+ export * from './schema';
16
+ export { SqliteAdapter } from './adapters/sqlite';
17
+ export { PostgresAdapter } from './adapters/postgres';
18
+ import type { StorageAdapter, StorageConfig } from './types';
1575
19
  /**
1576
20
  * 创建存储适配器
1577
21
  *
1578
22
  * @example
1579
23
  * // SQLite(Electron 本地)
24
+ * import Database from 'better-sqlite3';
25
+ *
1580
26
  * const storage = await createStorage({
1581
27
  * type: 'sqlite',
1582
28
  * sqlitePath: '~/.ai-chat/db.sqlite',
29
+ * sqliteFactory: (sqlitePath) => new Database(sqlitePath),
1583
30
  * });
1584
31
  *
1585
32
  * @example
@@ -1589,18 +36,17 @@ declare class PostgresAdapter implements StorageAdapter {
1589
36
  * postgresUrl: 'postgres://user:pass@localhost:5432/ai_chat',
1590
37
  * });
1591
38
  */
1592
- declare function createStorage(config: StorageConfig): Promise<StorageAdapter>;
39
+ export declare function createStorage(config: StorageConfig): Promise<StorageAdapter>;
1593
40
  /**
1594
41
  * 默认存储路径(SQLite)
1595
42
  */
1596
- declare function getDefaultStoragePath(): string;
43
+ export declare function getDefaultStoragePath(): string;
1597
44
  /**
1598
45
  * 获取默认备份目录
1599
46
  */
1600
- declare function getDefaultBackupDir(): string;
47
+ export declare function getDefaultBackupDir(): string;
1601
48
  /**
1602
49
  * 获取默认回收站目录
1603
50
  */
1604
- declare function getDefaultTrashDir(): string;
1605
-
1606
- export { type BackupRecord, type CreateMessageInput, type CreateOperationInput, type CreateSessionInput, type EmbeddingRecord, type MessageRecord, type OperationRecord, type OperationStatus, PostgresAdapter, type SessionRecord, SqliteAdapter, type StorageAdapter, type StorageConfig, type StorageContext, type TrashRecord, type UpdateMessageInput, type UpdateSessionInput, type VectorSearchOptions, type VectorSearchResult, backups, createStorage, embeddings, getDefaultBackupDir, getDefaultStoragePath, getDefaultTrashDir, messages, operations, sessions, trash };
51
+ export declare function getDefaultTrashDir(): string;
52
+ //# sourceMappingURL=index.d.ts.map