family-ai-agent 1.0.6 → 1.0.8

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 (149) hide show
  1. package/.letta/settings.local.json +3 -0
  2. package/dist/cli/index.js +1 -1
  3. package/dist/database/adapters/base-adapter.d.ts +81 -0
  4. package/dist/database/adapters/base-adapter.d.ts.map +1 -0
  5. package/dist/database/adapters/base-adapter.js +105 -0
  6. package/dist/database/adapters/base-adapter.js.map +1 -0
  7. package/dist/database/adapters/index.d.ts +49 -0
  8. package/dist/database/adapters/index.d.ts.map +1 -0
  9. package/dist/database/adapters/index.js +200 -0
  10. package/dist/database/adapters/index.js.map +1 -0
  11. package/dist/database/adapters/postgres-adapter.d.ts +75 -0
  12. package/dist/database/adapters/postgres-adapter.d.ts.map +1 -0
  13. package/dist/database/adapters/postgres-adapter.js +225 -0
  14. package/dist/database/adapters/postgres-adapter.js.map +1 -0
  15. package/dist/database/adapters/sqlite-adapter.d.ts +72 -0
  16. package/dist/database/adapters/sqlite-adapter.d.ts.map +1 -0
  17. package/dist/database/adapters/sqlite-adapter.js +368 -0
  18. package/dist/database/adapters/sqlite-adapter.js.map +1 -0
  19. package/dist/database/cache/cache-keys.d.ts +180 -0
  20. package/dist/database/cache/cache-keys.d.ts.map +1 -0
  21. package/dist/database/cache/cache-keys.js +107 -0
  22. package/dist/database/cache/cache-keys.js.map +1 -0
  23. package/dist/database/cache/index.d.ts +24 -0
  24. package/dist/database/cache/index.d.ts.map +1 -0
  25. package/dist/database/cache/index.js +34 -0
  26. package/dist/database/cache/index.js.map +1 -0
  27. package/dist/database/cache/query-cache.d.ts +67 -0
  28. package/dist/database/cache/query-cache.d.ts.map +1 -0
  29. package/dist/database/cache/query-cache.js +177 -0
  30. package/dist/database/cache/query-cache.js.map +1 -0
  31. package/dist/database/client.d.ts +63 -4
  32. package/dist/database/client.d.ts.map +1 -1
  33. package/dist/database/client.js +147 -59
  34. package/dist/database/client.js.map +1 -1
  35. package/dist/database/db-config.d.ts +104 -0
  36. package/dist/database/db-config.d.ts.map +1 -0
  37. package/dist/database/db-config.js +167 -0
  38. package/dist/database/db-config.js.map +1 -0
  39. package/dist/database/drizzle/index.d.ts +42 -0
  40. package/dist/database/drizzle/index.d.ts.map +1 -0
  41. package/dist/database/drizzle/index.js +48 -0
  42. package/dist/database/drizzle/index.js.map +1 -0
  43. package/dist/database/drizzle/schema/audit.d.ts +533 -0
  44. package/dist/database/drizzle/schema/audit.d.ts.map +1 -0
  45. package/dist/database/drizzle/schema/audit.js +71 -0
  46. package/dist/database/drizzle/schema/audit.js.map +1 -0
  47. package/dist/database/drizzle/schema/checkpoints.d.ts +665 -0
  48. package/dist/database/drizzle/schema/checkpoints.d.ts.map +1 -0
  49. package/dist/database/drizzle/schema/checkpoints.js +110 -0
  50. package/dist/database/drizzle/schema/checkpoints.js.map +1 -0
  51. package/dist/database/drizzle/schema/conversations.d.ts +449 -0
  52. package/dist/database/drizzle/schema/conversations.d.ts.map +1 -0
  53. package/dist/database/drizzle/schema/conversations.js +91 -0
  54. package/dist/database/drizzle/schema/conversations.js.map +1 -0
  55. package/dist/database/drizzle/schema/documents.d.ts +600 -0
  56. package/dist/database/drizzle/schema/documents.d.ts.map +1 -0
  57. package/dist/database/drizzle/schema/documents.js +100 -0
  58. package/dist/database/drizzle/schema/documents.js.map +1 -0
  59. package/dist/database/drizzle/schema/index.d.ts +3084 -0
  60. package/dist/database/drizzle/schema/index.d.ts.map +1 -0
  61. package/dist/database/drizzle/schema/index.js +46 -0
  62. package/dist/database/drizzle/schema/index.js.map +1 -0
  63. package/dist/database/drizzle/schema/memories.d.ts +435 -0
  64. package/dist/database/drizzle/schema/memories.d.ts.map +1 -0
  65. package/dist/database/drizzle/schema/memories.js +73 -0
  66. package/dist/database/drizzle/schema/memories.js.map +1 -0
  67. package/dist/database/drizzle/schema/tasks.d.ts +565 -0
  68. package/dist/database/drizzle/schema/tasks.d.ts.map +1 -0
  69. package/dist/database/drizzle/schema/tasks.js +84 -0
  70. package/dist/database/drizzle/schema/tasks.js.map +1 -0
  71. package/dist/database/health/circuit-breaker.d.ts +81 -0
  72. package/dist/database/health/circuit-breaker.d.ts.map +1 -0
  73. package/dist/database/health/circuit-breaker.js +184 -0
  74. package/dist/database/health/circuit-breaker.js.map +1 -0
  75. package/dist/database/health/health-monitor.d.ts +69 -0
  76. package/dist/database/health/health-monitor.d.ts.map +1 -0
  77. package/dist/database/health/health-monitor.js +174 -0
  78. package/dist/database/health/health-monitor.js.map +1 -0
  79. package/dist/database/health/index.d.ts +27 -0
  80. package/dist/database/health/index.d.ts.map +1 -0
  81. package/dist/database/health/index.js +23 -0
  82. package/dist/database/health/index.js.map +1 -0
  83. package/dist/database/index.d.ts +16 -0
  84. package/dist/database/index.d.ts.map +1 -0
  85. package/dist/database/index.js +41 -0
  86. package/dist/database/index.js.map +1 -0
  87. package/dist/database/migrations/index.d.ts +34 -0
  88. package/dist/database/migrations/index.d.ts.map +1 -0
  89. package/dist/database/migrations/index.js +45 -0
  90. package/dist/database/migrations/index.js.map +1 -0
  91. package/dist/database/migrations/migrator.d.ts +77 -0
  92. package/dist/database/migrations/migrator.d.ts.map +1 -0
  93. package/dist/database/migrations/migrator.js +258 -0
  94. package/dist/database/migrations/migrator.js.map +1 -0
  95. package/dist/database/migrations/versions/001_initial.d.ts +9 -0
  96. package/dist/database/migrations/versions/001_initial.d.ts.map +1 -0
  97. package/dist/database/migrations/versions/001_initial.js +183 -0
  98. package/dist/database/migrations/versions/001_initial.js.map +1 -0
  99. package/dist/database/types.d.ts +255 -0
  100. package/dist/database/types.d.ts.map +1 -0
  101. package/dist/database/types.js +8 -0
  102. package/dist/database/types.js.map +1 -0
  103. package/dist/database/vector/embedding-cache.d.ts +92 -0
  104. package/dist/database/vector/embedding-cache.d.ts.map +1 -0
  105. package/dist/database/vector/embedding-cache.js +185 -0
  106. package/dist/database/vector/embedding-cache.js.map +1 -0
  107. package/dist/database/vector/hnsw-index.d.ts +111 -0
  108. package/dist/database/vector/hnsw-index.d.ts.map +1 -0
  109. package/dist/database/vector/hnsw-index.js +337 -0
  110. package/dist/database/vector/hnsw-index.js.map +1 -0
  111. package/dist/database/vector/index.d.ts +75 -0
  112. package/dist/database/vector/index.d.ts.map +1 -0
  113. package/dist/database/vector/index.js +213 -0
  114. package/dist/database/vector/index.js.map +1 -0
  115. package/dist/database/vector/similarity.d.ts +67 -0
  116. package/dist/database/vector/similarity.d.ts.map +1 -0
  117. package/dist/database/vector/similarity.js +176 -0
  118. package/dist/database/vector/similarity.js.map +1 -0
  119. package/package.json +6 -3
  120. package/src/cli/index.ts +1 -1
  121. package/src/database/adapters/base-adapter.ts +171 -0
  122. package/src/database/adapters/index.ts +224 -0
  123. package/src/database/adapters/postgres-adapter.ts +285 -0
  124. package/src/database/adapters/sqlite-adapter.ts +420 -0
  125. package/src/database/cache/cache-keys.ts +150 -0
  126. package/src/database/cache/index.ts +44 -0
  127. package/src/database/cache/query-cache.ts +213 -0
  128. package/src/database/client.ts +166 -64
  129. package/src/database/db-config.ts +194 -0
  130. package/src/database/drizzle/index.ts +66 -0
  131. package/src/database/drizzle/schema/audit.ts +127 -0
  132. package/src/database/drizzle/schema/checkpoints.ts +164 -0
  133. package/src/database/drizzle/schema/conversations.ts +138 -0
  134. package/src/database/drizzle/schema/documents.ts +157 -0
  135. package/src/database/drizzle/schema/index.ts +139 -0
  136. package/src/database/drizzle/schema/memories.ts +127 -0
  137. package/src/database/drizzle/schema/tasks.ts +129 -0
  138. package/src/database/health/circuit-breaker.ts +214 -0
  139. package/src/database/health/health-monitor.ts +224 -0
  140. package/src/database/health/index.ts +41 -0
  141. package/src/database/index.ts +157 -0
  142. package/src/database/migrations/index.ts +52 -0
  143. package/src/database/migrations/migrator.ts +325 -0
  144. package/src/database/migrations/versions/001_initial.ts +198 -0
  145. package/src/database/types.ts +324 -0
  146. package/src/database/vector/embedding-cache.ts +234 -0
  147. package/src/database/vector/hnsw-index.ts +452 -0
  148. package/src/database/vector/index.ts +292 -0
  149. package/src/database/vector/similarity.ts +198 -0
@@ -0,0 +1,565 @@
1
+ /**
2
+ * Tasks Schema
3
+ *
4
+ * Drizzle ORM schema for automation task queue.
5
+ * Supports scheduled and recurring tasks.
6
+ */
7
+ /**
8
+ * Tasks table (PostgreSQL)
9
+ */
10
+ export declare const tasksPg: import("drizzle-orm/pg-core").PgTableWithColumns<{
11
+ name: "tasks";
12
+ schema: undefined;
13
+ columns: {
14
+ id: import("drizzle-orm/pg-core").PgColumn<{
15
+ name: "id";
16
+ tableName: "tasks";
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: "tasks";
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
+ taskType: import("drizzle-orm/pg-core").PgColumn<{
49
+ name: "task_type";
50
+ tableName: "tasks";
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
+ priority: import("drizzle-orm/pg-core").PgColumn<{
66
+ name: "priority";
67
+ tableName: "tasks";
68
+ dataType: "number";
69
+ columnType: "PgInteger";
70
+ data: number;
71
+ driverParam: string | number;
72
+ notNull: true;
73
+ hasDefault: true;
74
+ isPrimaryKey: false;
75
+ isAutoincrement: false;
76
+ hasRuntimeDefault: false;
77
+ enumValues: undefined;
78
+ baseColumn: never;
79
+ identity: undefined;
80
+ generated: undefined;
81
+ }, {}, {}>;
82
+ status: import("drizzle-orm/pg-core").PgColumn<{
83
+ name: "status";
84
+ tableName: "tasks";
85
+ dataType: "string";
86
+ columnType: "PgText";
87
+ data: string;
88
+ driverParam: string;
89
+ notNull: true;
90
+ hasDefault: true;
91
+ isPrimaryKey: false;
92
+ isAutoincrement: false;
93
+ hasRuntimeDefault: false;
94
+ enumValues: [string, ...string[]];
95
+ baseColumn: never;
96
+ identity: undefined;
97
+ generated: undefined;
98
+ }, {}, {}>;
99
+ payload: import("drizzle-orm/pg-core").PgColumn<{
100
+ name: "payload";
101
+ tableName: "tasks";
102
+ dataType: "json";
103
+ columnType: "PgJsonb";
104
+ data: unknown;
105
+ driverParam: unknown;
106
+ notNull: true;
107
+ hasDefault: true;
108
+ isPrimaryKey: false;
109
+ isAutoincrement: false;
110
+ hasRuntimeDefault: false;
111
+ enumValues: undefined;
112
+ baseColumn: never;
113
+ identity: undefined;
114
+ generated: undefined;
115
+ }, {}, {}>;
116
+ result: import("drizzle-orm/pg-core").PgColumn<{
117
+ name: "result";
118
+ tableName: "tasks";
119
+ dataType: "json";
120
+ columnType: "PgJsonb";
121
+ data: unknown;
122
+ driverParam: unknown;
123
+ notNull: false;
124
+ hasDefault: false;
125
+ isPrimaryKey: false;
126
+ isAutoincrement: false;
127
+ hasRuntimeDefault: false;
128
+ enumValues: undefined;
129
+ baseColumn: never;
130
+ identity: undefined;
131
+ generated: undefined;
132
+ }, {}, {}>;
133
+ errorMessage: import("drizzle-orm/pg-core").PgColumn<{
134
+ name: "error_message";
135
+ tableName: "tasks";
136
+ dataType: "string";
137
+ columnType: "PgText";
138
+ data: string;
139
+ driverParam: string;
140
+ notNull: false;
141
+ hasDefault: false;
142
+ isPrimaryKey: false;
143
+ isAutoincrement: false;
144
+ hasRuntimeDefault: false;
145
+ enumValues: [string, ...string[]];
146
+ baseColumn: never;
147
+ identity: undefined;
148
+ generated: undefined;
149
+ }, {}, {}>;
150
+ scheduledAt: import("drizzle-orm/pg-core").PgColumn<{
151
+ name: "scheduled_at";
152
+ tableName: "tasks";
153
+ dataType: "date";
154
+ columnType: "PgTimestamp";
155
+ data: Date;
156
+ driverParam: string;
157
+ notNull: false;
158
+ hasDefault: false;
159
+ isPrimaryKey: false;
160
+ isAutoincrement: false;
161
+ hasRuntimeDefault: false;
162
+ enumValues: undefined;
163
+ baseColumn: never;
164
+ identity: undefined;
165
+ generated: undefined;
166
+ }, {}, {}>;
167
+ startedAt: import("drizzle-orm/pg-core").PgColumn<{
168
+ name: "started_at";
169
+ tableName: "tasks";
170
+ dataType: "date";
171
+ columnType: "PgTimestamp";
172
+ data: Date;
173
+ driverParam: string;
174
+ notNull: false;
175
+ hasDefault: false;
176
+ isPrimaryKey: false;
177
+ isAutoincrement: false;
178
+ hasRuntimeDefault: false;
179
+ enumValues: undefined;
180
+ baseColumn: never;
181
+ identity: undefined;
182
+ generated: undefined;
183
+ }, {}, {}>;
184
+ completedAt: import("drizzle-orm/pg-core").PgColumn<{
185
+ name: "completed_at";
186
+ tableName: "tasks";
187
+ dataType: "date";
188
+ columnType: "PgTimestamp";
189
+ data: Date;
190
+ driverParam: string;
191
+ notNull: false;
192
+ hasDefault: false;
193
+ isPrimaryKey: false;
194
+ isAutoincrement: false;
195
+ hasRuntimeDefault: false;
196
+ enumValues: undefined;
197
+ baseColumn: never;
198
+ identity: undefined;
199
+ generated: undefined;
200
+ }, {}, {}>;
201
+ retryCount: import("drizzle-orm/pg-core").PgColumn<{
202
+ name: "retry_count";
203
+ tableName: "tasks";
204
+ dataType: "number";
205
+ columnType: "PgInteger";
206
+ data: number;
207
+ driverParam: string | number;
208
+ notNull: true;
209
+ hasDefault: true;
210
+ isPrimaryKey: false;
211
+ isAutoincrement: false;
212
+ hasRuntimeDefault: false;
213
+ enumValues: undefined;
214
+ baseColumn: never;
215
+ identity: undefined;
216
+ generated: undefined;
217
+ }, {}, {}>;
218
+ maxRetries: import("drizzle-orm/pg-core").PgColumn<{
219
+ name: "max_retries";
220
+ tableName: "tasks";
221
+ dataType: "number";
222
+ columnType: "PgInteger";
223
+ data: number;
224
+ driverParam: string | number;
225
+ notNull: true;
226
+ hasDefault: true;
227
+ isPrimaryKey: false;
228
+ isAutoincrement: false;
229
+ hasRuntimeDefault: false;
230
+ enumValues: undefined;
231
+ baseColumn: never;
232
+ identity: undefined;
233
+ generated: undefined;
234
+ }, {}, {}>;
235
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
236
+ name: "created_at";
237
+ tableName: "tasks";
238
+ dataType: "date";
239
+ columnType: "PgTimestamp";
240
+ data: Date;
241
+ driverParam: string;
242
+ notNull: true;
243
+ hasDefault: true;
244
+ isPrimaryKey: false;
245
+ isAutoincrement: false;
246
+ hasRuntimeDefault: false;
247
+ enumValues: undefined;
248
+ baseColumn: never;
249
+ identity: undefined;
250
+ generated: undefined;
251
+ }, {}, {}>;
252
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
253
+ name: "updated_at";
254
+ tableName: "tasks";
255
+ dataType: "date";
256
+ columnType: "PgTimestamp";
257
+ data: Date;
258
+ driverParam: string;
259
+ notNull: true;
260
+ hasDefault: true;
261
+ isPrimaryKey: false;
262
+ isAutoincrement: false;
263
+ hasRuntimeDefault: false;
264
+ enumValues: undefined;
265
+ baseColumn: never;
266
+ identity: undefined;
267
+ generated: undefined;
268
+ }, {}, {}>;
269
+ };
270
+ dialect: "pg";
271
+ }>;
272
+ /**
273
+ * Tasks table (SQLite)
274
+ */
275
+ export declare const tasksSqlite: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
276
+ name: "tasks";
277
+ schema: undefined;
278
+ columns: {
279
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
280
+ name: "id";
281
+ tableName: "tasks";
282
+ dataType: "string";
283
+ columnType: "SQLiteText";
284
+ data: string;
285
+ driverParam: string;
286
+ notNull: true;
287
+ hasDefault: true;
288
+ isPrimaryKey: true;
289
+ isAutoincrement: false;
290
+ hasRuntimeDefault: true;
291
+ enumValues: [string, ...string[]];
292
+ baseColumn: never;
293
+ identity: undefined;
294
+ generated: undefined;
295
+ }, {}, {
296
+ length: number | undefined;
297
+ }>;
298
+ userId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
299
+ name: "user_id";
300
+ tableName: "tasks";
301
+ dataType: "string";
302
+ columnType: "SQLiteText";
303
+ data: string;
304
+ driverParam: string;
305
+ notNull: false;
306
+ hasDefault: false;
307
+ isPrimaryKey: false;
308
+ isAutoincrement: false;
309
+ hasRuntimeDefault: false;
310
+ enumValues: [string, ...string[]];
311
+ baseColumn: never;
312
+ identity: undefined;
313
+ generated: undefined;
314
+ }, {}, {
315
+ length: number | undefined;
316
+ }>;
317
+ taskType: import("drizzle-orm/sqlite-core").SQLiteColumn<{
318
+ name: "task_type";
319
+ tableName: "tasks";
320
+ dataType: "string";
321
+ columnType: "SQLiteText";
322
+ data: string;
323
+ driverParam: string;
324
+ notNull: true;
325
+ hasDefault: false;
326
+ isPrimaryKey: false;
327
+ isAutoincrement: false;
328
+ hasRuntimeDefault: false;
329
+ enumValues: [string, ...string[]];
330
+ baseColumn: never;
331
+ identity: undefined;
332
+ generated: undefined;
333
+ }, {}, {
334
+ length: number | undefined;
335
+ }>;
336
+ priority: import("drizzle-orm/sqlite-core").SQLiteColumn<{
337
+ name: "priority";
338
+ tableName: "tasks";
339
+ dataType: "number";
340
+ columnType: "SQLiteInteger";
341
+ data: number;
342
+ driverParam: number;
343
+ notNull: true;
344
+ hasDefault: true;
345
+ isPrimaryKey: false;
346
+ isAutoincrement: false;
347
+ hasRuntimeDefault: false;
348
+ enumValues: undefined;
349
+ baseColumn: never;
350
+ identity: undefined;
351
+ generated: undefined;
352
+ }, {}, {}>;
353
+ status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
354
+ name: "status";
355
+ tableName: "tasks";
356
+ dataType: "string";
357
+ columnType: "SQLiteText";
358
+ data: string;
359
+ driverParam: string;
360
+ notNull: true;
361
+ hasDefault: true;
362
+ isPrimaryKey: false;
363
+ isAutoincrement: false;
364
+ hasRuntimeDefault: false;
365
+ enumValues: [string, ...string[]];
366
+ baseColumn: never;
367
+ identity: undefined;
368
+ generated: undefined;
369
+ }, {}, {
370
+ length: number | undefined;
371
+ }>;
372
+ payload: import("drizzle-orm/sqlite-core").SQLiteColumn<{
373
+ name: "payload";
374
+ tableName: "tasks";
375
+ dataType: "json";
376
+ columnType: "SQLiteTextJson";
377
+ data: Record<string, unknown>;
378
+ driverParam: string;
379
+ notNull: true;
380
+ hasDefault: true;
381
+ isPrimaryKey: false;
382
+ isAutoincrement: false;
383
+ hasRuntimeDefault: false;
384
+ enumValues: undefined;
385
+ baseColumn: never;
386
+ identity: undefined;
387
+ generated: undefined;
388
+ }, {}, {
389
+ $type: Record<string, unknown>;
390
+ }>;
391
+ result: import("drizzle-orm/sqlite-core").SQLiteColumn<{
392
+ name: "result";
393
+ tableName: "tasks";
394
+ dataType: "json";
395
+ columnType: "SQLiteTextJson";
396
+ data: Record<string, unknown>;
397
+ driverParam: string;
398
+ notNull: false;
399
+ hasDefault: false;
400
+ isPrimaryKey: false;
401
+ isAutoincrement: false;
402
+ hasRuntimeDefault: false;
403
+ enumValues: undefined;
404
+ baseColumn: never;
405
+ identity: undefined;
406
+ generated: undefined;
407
+ }, {}, {
408
+ $type: Record<string, unknown>;
409
+ }>;
410
+ errorMessage: import("drizzle-orm/sqlite-core").SQLiteColumn<{
411
+ name: "error_message";
412
+ tableName: "tasks";
413
+ dataType: "string";
414
+ columnType: "SQLiteText";
415
+ data: string;
416
+ driverParam: string;
417
+ notNull: false;
418
+ hasDefault: false;
419
+ isPrimaryKey: false;
420
+ isAutoincrement: false;
421
+ hasRuntimeDefault: false;
422
+ enumValues: [string, ...string[]];
423
+ baseColumn: never;
424
+ identity: undefined;
425
+ generated: undefined;
426
+ }, {}, {
427
+ length: number | undefined;
428
+ }>;
429
+ scheduledAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
430
+ name: "scheduled_at";
431
+ tableName: "tasks";
432
+ dataType: "date";
433
+ columnType: "SQLiteTimestamp";
434
+ data: Date;
435
+ driverParam: number;
436
+ notNull: false;
437
+ hasDefault: false;
438
+ isPrimaryKey: false;
439
+ isAutoincrement: false;
440
+ hasRuntimeDefault: false;
441
+ enumValues: undefined;
442
+ baseColumn: never;
443
+ identity: undefined;
444
+ generated: undefined;
445
+ }, {}, {}>;
446
+ startedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
447
+ name: "started_at";
448
+ tableName: "tasks";
449
+ dataType: "date";
450
+ columnType: "SQLiteTimestamp";
451
+ data: Date;
452
+ driverParam: number;
453
+ notNull: false;
454
+ hasDefault: false;
455
+ isPrimaryKey: false;
456
+ isAutoincrement: false;
457
+ hasRuntimeDefault: false;
458
+ enumValues: undefined;
459
+ baseColumn: never;
460
+ identity: undefined;
461
+ generated: undefined;
462
+ }, {}, {}>;
463
+ completedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
464
+ name: "completed_at";
465
+ tableName: "tasks";
466
+ dataType: "date";
467
+ columnType: "SQLiteTimestamp";
468
+ data: Date;
469
+ driverParam: number;
470
+ notNull: false;
471
+ hasDefault: false;
472
+ isPrimaryKey: false;
473
+ isAutoincrement: false;
474
+ hasRuntimeDefault: false;
475
+ enumValues: undefined;
476
+ baseColumn: never;
477
+ identity: undefined;
478
+ generated: undefined;
479
+ }, {}, {}>;
480
+ retryCount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
481
+ name: "retry_count";
482
+ tableName: "tasks";
483
+ dataType: "number";
484
+ columnType: "SQLiteInteger";
485
+ data: number;
486
+ driverParam: number;
487
+ notNull: true;
488
+ hasDefault: true;
489
+ isPrimaryKey: false;
490
+ isAutoincrement: false;
491
+ hasRuntimeDefault: false;
492
+ enumValues: undefined;
493
+ baseColumn: never;
494
+ identity: undefined;
495
+ generated: undefined;
496
+ }, {}, {}>;
497
+ maxRetries: import("drizzle-orm/sqlite-core").SQLiteColumn<{
498
+ name: "max_retries";
499
+ tableName: "tasks";
500
+ dataType: "number";
501
+ columnType: "SQLiteInteger";
502
+ data: number;
503
+ driverParam: number;
504
+ notNull: true;
505
+ hasDefault: true;
506
+ isPrimaryKey: false;
507
+ isAutoincrement: false;
508
+ hasRuntimeDefault: false;
509
+ enumValues: undefined;
510
+ baseColumn: never;
511
+ identity: undefined;
512
+ generated: undefined;
513
+ }, {}, {}>;
514
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
515
+ name: "created_at";
516
+ tableName: "tasks";
517
+ dataType: "date";
518
+ columnType: "SQLiteTimestamp";
519
+ data: Date;
520
+ driverParam: number;
521
+ notNull: true;
522
+ hasDefault: true;
523
+ isPrimaryKey: false;
524
+ isAutoincrement: false;
525
+ hasRuntimeDefault: true;
526
+ enumValues: undefined;
527
+ baseColumn: never;
528
+ identity: undefined;
529
+ generated: undefined;
530
+ }, {}, {}>;
531
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
532
+ name: "updated_at";
533
+ tableName: "tasks";
534
+ dataType: "date";
535
+ columnType: "SQLiteTimestamp";
536
+ data: Date;
537
+ driverParam: number;
538
+ notNull: true;
539
+ hasDefault: true;
540
+ isPrimaryKey: false;
541
+ isAutoincrement: false;
542
+ hasRuntimeDefault: true;
543
+ enumValues: undefined;
544
+ baseColumn: never;
545
+ identity: undefined;
546
+ generated: undefined;
547
+ }, {}, {}>;
548
+ };
549
+ dialect: "sqlite";
550
+ }>;
551
+ export type TaskPg = typeof tasksPg.$inferSelect;
552
+ export type NewTaskPg = typeof tasksPg.$inferInsert;
553
+ export type TaskSqlite = typeof tasksSqlite.$inferSelect;
554
+ export type NewTaskSqlite = typeof tasksSqlite.$inferInsert;
555
+ export type Task = TaskPg | TaskSqlite;
556
+ export type NewTask = NewTaskPg | NewTaskSqlite;
557
+ export type TaskStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
558
+ export declare const TaskPriority: {
559
+ readonly LOW: 0;
560
+ readonly NORMAL: 5;
561
+ readonly HIGH: 10;
562
+ readonly URGENT: 20;
563
+ };
564
+ export type TaskPriorityLevel = (typeof TaskPriority)[keyof typeof TaskPriority];
565
+ //# sourceMappingURL=tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../../src/database/drizzle/schema/tasks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCnB,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBtB,CAAC;AAMH,MAAM,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,YAAY,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,YAAY,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AAG5D,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC;AACvC,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAGhD,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAGhB,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Tasks Schema
3
+ *
4
+ * Drizzle ORM schema for automation task queue.
5
+ * Supports scheduled and recurring tasks.
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
+ * Tasks table (PostgreSQL)
15
+ */
16
+ export const tasksPg = pgTable('tasks', {
17
+ id: uuid('id')
18
+ .primaryKey()
19
+ .default(sql `gen_random_uuid()`),
20
+ userId: text('user_id'),
21
+ taskType: text('task_type').notNull(),
22
+ priority: integer('priority').default(0).notNull(),
23
+ status: text('status').default('pending').notNull(), // 'pending' | 'running' | 'completed' | 'failed' | 'cancelled'
24
+ payload: jsonb('payload').default({}).notNull(),
25
+ result: jsonb('result'),
26
+ errorMessage: text('error_message'),
27
+ scheduledAt: timestamp('scheduled_at', { withTimezone: true }),
28
+ startedAt: timestamp('started_at', { withTimezone: true }),
29
+ completedAt: timestamp('completed_at', { withTimezone: true }),
30
+ retryCount: integer('retry_count').default(0).notNull(),
31
+ maxRetries: integer('max_retries').default(3).notNull(),
32
+ createdAt: timestamp('created_at', { withTimezone: true })
33
+ .defaultNow()
34
+ .notNull(),
35
+ updatedAt: timestamp('updated_at', { withTimezone: true })
36
+ .defaultNow()
37
+ .notNull(),
38
+ }, (table) => ({
39
+ userIdIdx: index('tasks_user_id_idx').on(table.userId),
40
+ statusIdx: index('tasks_status_idx').on(table.status),
41
+ priorityIdx: index('tasks_priority_idx').on(table.priority),
42
+ scheduledAtIdx: index('tasks_scheduled_at_idx').on(table.scheduledAt),
43
+ taskTypeIdx: index('tasks_task_type_idx').on(table.taskType),
44
+ }));
45
+ // =============================================================================
46
+ // SQLite Schema
47
+ // =============================================================================
48
+ /**
49
+ * Tasks table (SQLite)
50
+ */
51
+ export const tasksSqlite = sqliteTable('tasks', {
52
+ id: sqliteText('id')
53
+ .primaryKey()
54
+ .$defaultFn(() => crypto.randomUUID()),
55
+ userId: sqliteText('user_id'),
56
+ taskType: sqliteText('task_type').notNull(),
57
+ priority: sqliteInteger('priority').default(0).notNull(),
58
+ status: sqliteText('status').default('pending').notNull(),
59
+ payload: sqliteText('payload', { mode: 'json' })
60
+ .notNull()
61
+ .$type()
62
+ .default({}),
63
+ result: sqliteText('result', { mode: 'json' }).$type(),
64
+ errorMessage: sqliteText('error_message'),
65
+ scheduledAt: sqliteInteger('scheduled_at', { mode: 'timestamp' }),
66
+ startedAt: sqliteInteger('started_at', { mode: 'timestamp' }),
67
+ completedAt: sqliteInteger('completed_at', { mode: 'timestamp' }),
68
+ retryCount: sqliteInteger('retry_count').default(0).notNull(),
69
+ maxRetries: sqliteInteger('max_retries').default(3).notNull(),
70
+ createdAt: sqliteInteger('created_at', { mode: 'timestamp' })
71
+ .notNull()
72
+ .$defaultFn(() => new Date()),
73
+ updatedAt: sqliteInteger('updated_at', { mode: 'timestamp' })
74
+ .notNull()
75
+ .$defaultFn(() => new Date()),
76
+ });
77
+ // Task priority levels
78
+ export const TaskPriority = {
79
+ LOW: 0,
80
+ NORMAL: 5,
81
+ HIGH: 10,
82
+ URGENT: 20,
83
+ };
84
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../../src/database/drizzle/schema/tasks.ts"],"names":[],"mappings":"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"}