@dudousxd/nestjs-agent-store-drizzle 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2099 @@
1
+ import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
2
+ import { BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core';
3
+ import { MessageRole, ToolCallRequest, ToolResult, MessageUsage, ToolKind, ToolCallStatus, UsagePurpose, AgentStore, CreateThreadInput, ThreadSummary, ThreadDetail, AppendMessageInput, StoredMessage, RecordToolCallInput, UpdateToolCallInput, RecordUsageInput, AgentGovernanceQueries, GovernanceRange, ModelSpendRow, ActorSpendRow, UsageTrendPoint, ToolCallActivityRow, ThreadActivityRow, AgentPricingStore, ModelPriceInput, CurrentModelPrice } from '@dudousxd/nestjs-agent-core';
4
+ import { DynamicModule } from '@nestjs/common';
5
+
6
+ /**
7
+ * Drizzle schema mirroring the MikroORM agent entities (same logical columns/relations):
8
+ * threads, messages, tool calls, token usage and model pricing. Targets the SQLite core so the
9
+ * db-test runs on an in-memory better-sqlite3; timestamps are stored as integer epoch-ms columns
10
+ * (`{ mode: 'timestamp_ms' }`) which Drizzle round-trips to/from JS `Date`, and the model-facing
11
+ * message extras (tool calls/results, follow-ups, usage) live in JSON `text` columns.
12
+ */
13
+ /**
14
+ * A conversation thread. `deletedAt` drives soft delete: a deleted thread is hidden from
15
+ * {@link import('./drizzle-agent-store.js').DrizzleAgentStore.getThread}/`listThreads` but its
16
+ * row survives.
17
+ */
18
+ declare const agentThread: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
19
+ name: "agent_thread";
20
+ schema: undefined;
21
+ columns: {
22
+ id: drizzle_orm_sqlite_core.SQLiteColumn<{
23
+ name: "id";
24
+ tableName: "agent_thread";
25
+ dataType: "string";
26
+ columnType: "SQLiteText";
27
+ data: string;
28
+ driverParam: string;
29
+ notNull: true;
30
+ hasDefault: false;
31
+ isPrimaryKey: true;
32
+ isAutoincrement: false;
33
+ hasRuntimeDefault: false;
34
+ enumValues: [string, ...string[]];
35
+ baseColumn: never;
36
+ identity: undefined;
37
+ generated: undefined;
38
+ }, {}, {
39
+ length: number | undefined;
40
+ }>;
41
+ actorRef: drizzle_orm_sqlite_core.SQLiteColumn<{
42
+ name: "actor_ref";
43
+ tableName: "agent_thread";
44
+ dataType: "string";
45
+ columnType: "SQLiteText";
46
+ data: string;
47
+ driverParam: string;
48
+ notNull: true;
49
+ hasDefault: false;
50
+ isPrimaryKey: false;
51
+ isAutoincrement: false;
52
+ hasRuntimeDefault: false;
53
+ enumValues: [string, ...string[]];
54
+ baseColumn: never;
55
+ identity: undefined;
56
+ generated: undefined;
57
+ }, {}, {
58
+ length: number | undefined;
59
+ }>;
60
+ tenantRef: drizzle_orm_sqlite_core.SQLiteColumn<{
61
+ name: "tenant_ref";
62
+ tableName: "agent_thread";
63
+ dataType: "string";
64
+ columnType: "SQLiteText";
65
+ data: string;
66
+ driverParam: string;
67
+ notNull: false;
68
+ hasDefault: false;
69
+ isPrimaryKey: false;
70
+ isAutoincrement: false;
71
+ hasRuntimeDefault: false;
72
+ enumValues: [string, ...string[]];
73
+ baseColumn: never;
74
+ identity: undefined;
75
+ generated: undefined;
76
+ }, {}, {
77
+ length: number | undefined;
78
+ }>;
79
+ title: drizzle_orm_sqlite_core.SQLiteColumn<{
80
+ name: "title";
81
+ tableName: "agent_thread";
82
+ dataType: "string";
83
+ columnType: "SQLiteText";
84
+ data: string;
85
+ driverParam: string;
86
+ notNull: true;
87
+ hasDefault: false;
88
+ isPrimaryKey: false;
89
+ isAutoincrement: false;
90
+ hasRuntimeDefault: false;
91
+ enumValues: [string, ...string[]];
92
+ baseColumn: never;
93
+ identity: undefined;
94
+ generated: undefined;
95
+ }, {}, {
96
+ length: number | undefined;
97
+ }>;
98
+ persona: drizzle_orm_sqlite_core.SQLiteColumn<{
99
+ name: "persona";
100
+ tableName: "agent_thread";
101
+ dataType: "string";
102
+ columnType: "SQLiteText";
103
+ data: string;
104
+ driverParam: string;
105
+ notNull: true;
106
+ hasDefault: true;
107
+ isPrimaryKey: false;
108
+ isAutoincrement: false;
109
+ hasRuntimeDefault: false;
110
+ enumValues: [string, ...string[]];
111
+ baseColumn: never;
112
+ identity: undefined;
113
+ generated: undefined;
114
+ }, {}, {
115
+ length: number | undefined;
116
+ }>;
117
+ transient: drizzle_orm_sqlite_core.SQLiteColumn<{
118
+ name: "transient";
119
+ tableName: "agent_thread";
120
+ dataType: "boolean";
121
+ columnType: "SQLiteBoolean";
122
+ data: boolean;
123
+ driverParam: number;
124
+ notNull: true;
125
+ hasDefault: true;
126
+ isPrimaryKey: false;
127
+ isAutoincrement: false;
128
+ hasRuntimeDefault: false;
129
+ enumValues: undefined;
130
+ baseColumn: never;
131
+ identity: undefined;
132
+ generated: undefined;
133
+ }, {}, {}>;
134
+ activeStreamId: drizzle_orm_sqlite_core.SQLiteColumn<{
135
+ name: "active_stream_id";
136
+ tableName: "agent_thread";
137
+ dataType: "string";
138
+ columnType: "SQLiteText";
139
+ data: string;
140
+ driverParam: string;
141
+ notNull: false;
142
+ hasDefault: false;
143
+ isPrimaryKey: false;
144
+ isAutoincrement: false;
145
+ hasRuntimeDefault: false;
146
+ enumValues: [string, ...string[]];
147
+ baseColumn: never;
148
+ identity: undefined;
149
+ generated: undefined;
150
+ }, {}, {
151
+ length: number | undefined;
152
+ }>;
153
+ createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
154
+ name: "created_at";
155
+ tableName: "agent_thread";
156
+ dataType: "date";
157
+ columnType: "SQLiteTimestamp";
158
+ data: Date;
159
+ driverParam: number;
160
+ notNull: true;
161
+ hasDefault: false;
162
+ isPrimaryKey: false;
163
+ isAutoincrement: false;
164
+ hasRuntimeDefault: false;
165
+ enumValues: undefined;
166
+ baseColumn: never;
167
+ identity: undefined;
168
+ generated: undefined;
169
+ }, {}, {}>;
170
+ updatedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
171
+ name: "updated_at";
172
+ tableName: "agent_thread";
173
+ dataType: "date";
174
+ columnType: "SQLiteTimestamp";
175
+ data: Date;
176
+ driverParam: number;
177
+ notNull: true;
178
+ hasDefault: false;
179
+ isPrimaryKey: false;
180
+ isAutoincrement: false;
181
+ hasRuntimeDefault: false;
182
+ enumValues: undefined;
183
+ baseColumn: never;
184
+ identity: undefined;
185
+ generated: undefined;
186
+ }, {}, {}>;
187
+ deletedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
188
+ name: "deleted_at";
189
+ tableName: "agent_thread";
190
+ dataType: "date";
191
+ columnType: "SQLiteTimestamp";
192
+ data: Date;
193
+ driverParam: number;
194
+ notNull: false;
195
+ hasDefault: false;
196
+ isPrimaryKey: false;
197
+ isAutoincrement: false;
198
+ hasRuntimeDefault: false;
199
+ enumValues: undefined;
200
+ baseColumn: never;
201
+ identity: undefined;
202
+ generated: undefined;
203
+ }, {}, {}>;
204
+ };
205
+ dialect: "sqlite";
206
+ }>;
207
+ /**
208
+ * One stored message in a thread. The model-facing extras (`toolCalls`/`toolResults`/
209
+ * `followUps`/`usage`) are folded into nullable JSON columns so a single row round-trips to a
210
+ * {@link import('@dudousxd/nestjs-agent-core').StoredMessage}. `threadId` cascades on delete.
211
+ */
212
+ declare const agentMessage: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
213
+ name: "agent_message";
214
+ schema: undefined;
215
+ columns: {
216
+ id: drizzle_orm_sqlite_core.SQLiteColumn<{
217
+ name: "id";
218
+ tableName: "agent_message";
219
+ dataType: "string";
220
+ columnType: "SQLiteText";
221
+ data: string;
222
+ driverParam: string;
223
+ notNull: true;
224
+ hasDefault: false;
225
+ isPrimaryKey: true;
226
+ isAutoincrement: false;
227
+ hasRuntimeDefault: false;
228
+ enumValues: [string, ...string[]];
229
+ baseColumn: never;
230
+ identity: undefined;
231
+ generated: undefined;
232
+ }, {}, {
233
+ length: number | undefined;
234
+ }>;
235
+ threadId: drizzle_orm_sqlite_core.SQLiteColumn<{
236
+ name: "thread_id";
237
+ tableName: "agent_message";
238
+ dataType: "string";
239
+ columnType: "SQLiteText";
240
+ data: string;
241
+ driverParam: string;
242
+ notNull: true;
243
+ hasDefault: false;
244
+ isPrimaryKey: false;
245
+ isAutoincrement: false;
246
+ hasRuntimeDefault: false;
247
+ enumValues: [string, ...string[]];
248
+ baseColumn: never;
249
+ identity: undefined;
250
+ generated: undefined;
251
+ }, {}, {
252
+ length: number | undefined;
253
+ }>;
254
+ role: drizzle_orm_sqlite_core.SQLiteColumn<{
255
+ name: "role";
256
+ tableName: "agent_message";
257
+ dataType: "string";
258
+ columnType: "SQLiteText";
259
+ data: MessageRole;
260
+ driverParam: string;
261
+ notNull: true;
262
+ hasDefault: false;
263
+ isPrimaryKey: false;
264
+ isAutoincrement: false;
265
+ hasRuntimeDefault: false;
266
+ enumValues: [string, ...string[]];
267
+ baseColumn: never;
268
+ identity: undefined;
269
+ generated: undefined;
270
+ }, {}, {
271
+ length: number | undefined;
272
+ $type: MessageRole;
273
+ }>;
274
+ content: drizzle_orm_sqlite_core.SQLiteColumn<{
275
+ name: "content";
276
+ tableName: "agent_message";
277
+ dataType: "string";
278
+ columnType: "SQLiteText";
279
+ data: string;
280
+ driverParam: string;
281
+ notNull: true;
282
+ hasDefault: false;
283
+ isPrimaryKey: false;
284
+ isAutoincrement: false;
285
+ hasRuntimeDefault: false;
286
+ enumValues: [string, ...string[]];
287
+ baseColumn: never;
288
+ identity: undefined;
289
+ generated: undefined;
290
+ }, {}, {
291
+ length: number | undefined;
292
+ }>;
293
+ toolCalls: drizzle_orm_sqlite_core.SQLiteColumn<{
294
+ name: "tool_calls";
295
+ tableName: "agent_message";
296
+ dataType: "json";
297
+ columnType: "SQLiteTextJson";
298
+ data: ToolCallRequest[];
299
+ driverParam: string;
300
+ notNull: false;
301
+ hasDefault: false;
302
+ isPrimaryKey: false;
303
+ isAutoincrement: false;
304
+ hasRuntimeDefault: false;
305
+ enumValues: undefined;
306
+ baseColumn: never;
307
+ identity: undefined;
308
+ generated: undefined;
309
+ }, {}, {
310
+ $type: ToolCallRequest[];
311
+ }>;
312
+ toolResults: drizzle_orm_sqlite_core.SQLiteColumn<{
313
+ name: "tool_results";
314
+ tableName: "agent_message";
315
+ dataType: "json";
316
+ columnType: "SQLiteTextJson";
317
+ data: ToolResult[];
318
+ driverParam: string;
319
+ notNull: false;
320
+ hasDefault: false;
321
+ isPrimaryKey: false;
322
+ isAutoincrement: false;
323
+ hasRuntimeDefault: false;
324
+ enumValues: undefined;
325
+ baseColumn: never;
326
+ identity: undefined;
327
+ generated: undefined;
328
+ }, {}, {
329
+ $type: ToolResult[];
330
+ }>;
331
+ followUps: drizzle_orm_sqlite_core.SQLiteColumn<{
332
+ name: "follow_ups";
333
+ tableName: "agent_message";
334
+ dataType: "json";
335
+ columnType: "SQLiteTextJson";
336
+ data: string[];
337
+ driverParam: string;
338
+ notNull: false;
339
+ hasDefault: false;
340
+ isPrimaryKey: false;
341
+ isAutoincrement: false;
342
+ hasRuntimeDefault: false;
343
+ enumValues: undefined;
344
+ baseColumn: never;
345
+ identity: undefined;
346
+ generated: undefined;
347
+ }, {}, {
348
+ $type: string[];
349
+ }>;
350
+ usage: drizzle_orm_sqlite_core.SQLiteColumn<{
351
+ name: "usage";
352
+ tableName: "agent_message";
353
+ dataType: "json";
354
+ columnType: "SQLiteTextJson";
355
+ data: MessageUsage;
356
+ driverParam: string;
357
+ notNull: false;
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
+ $type: MessageUsage;
368
+ }>;
369
+ persona: drizzle_orm_sqlite_core.SQLiteColumn<{
370
+ name: "persona";
371
+ tableName: "agent_message";
372
+ dataType: "string";
373
+ columnType: "SQLiteText";
374
+ data: string;
375
+ driverParam: string;
376
+ notNull: false;
377
+ hasDefault: false;
378
+ isPrimaryKey: false;
379
+ isAutoincrement: false;
380
+ hasRuntimeDefault: false;
381
+ enumValues: [string, ...string[]];
382
+ baseColumn: never;
383
+ identity: undefined;
384
+ generated: undefined;
385
+ }, {}, {
386
+ length: number | undefined;
387
+ }>;
388
+ createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
389
+ name: "created_at";
390
+ tableName: "agent_message";
391
+ dataType: "date";
392
+ columnType: "SQLiteTimestamp";
393
+ data: Date;
394
+ driverParam: number;
395
+ notNull: true;
396
+ hasDefault: false;
397
+ isPrimaryKey: false;
398
+ isAutoincrement: false;
399
+ hasRuntimeDefault: false;
400
+ enumValues: undefined;
401
+ baseColumn: never;
402
+ identity: undefined;
403
+ generated: undefined;
404
+ }, {}, {}>;
405
+ };
406
+ dialect: "sqlite";
407
+ }>;
408
+ /** A tool call requested during an assistant turn. The pk is the model-supplied `toolCallId`. */
409
+ declare const agentToolCall: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
410
+ name: "agent_tool_call";
411
+ schema: undefined;
412
+ columns: {
413
+ id: drizzle_orm_sqlite_core.SQLiteColumn<{
414
+ name: "id";
415
+ tableName: "agent_tool_call";
416
+ dataType: "string";
417
+ columnType: "SQLiteText";
418
+ data: string;
419
+ driverParam: string;
420
+ notNull: true;
421
+ hasDefault: false;
422
+ isPrimaryKey: true;
423
+ isAutoincrement: false;
424
+ hasRuntimeDefault: false;
425
+ enumValues: [string, ...string[]];
426
+ baseColumn: never;
427
+ identity: undefined;
428
+ generated: undefined;
429
+ }, {}, {
430
+ length: number | undefined;
431
+ }>;
432
+ messageId: drizzle_orm_sqlite_core.SQLiteColumn<{
433
+ name: "message_id";
434
+ tableName: "agent_tool_call";
435
+ dataType: "string";
436
+ columnType: "SQLiteText";
437
+ data: string;
438
+ driverParam: string;
439
+ notNull: true;
440
+ hasDefault: false;
441
+ isPrimaryKey: false;
442
+ isAutoincrement: false;
443
+ hasRuntimeDefault: false;
444
+ enumValues: [string, ...string[]];
445
+ baseColumn: never;
446
+ identity: undefined;
447
+ generated: undefined;
448
+ }, {}, {
449
+ length: number | undefined;
450
+ }>;
451
+ toolName: drizzle_orm_sqlite_core.SQLiteColumn<{
452
+ name: "tool_name";
453
+ tableName: "agent_tool_call";
454
+ dataType: "string";
455
+ columnType: "SQLiteText";
456
+ data: string;
457
+ driverParam: string;
458
+ notNull: true;
459
+ hasDefault: false;
460
+ isPrimaryKey: false;
461
+ isAutoincrement: false;
462
+ hasRuntimeDefault: false;
463
+ enumValues: [string, ...string[]];
464
+ baseColumn: never;
465
+ identity: undefined;
466
+ generated: undefined;
467
+ }, {}, {
468
+ length: number | undefined;
469
+ }>;
470
+ toolType: drizzle_orm_sqlite_core.SQLiteColumn<{
471
+ name: "tool_type";
472
+ tableName: "agent_tool_call";
473
+ dataType: "string";
474
+ columnType: "SQLiteText";
475
+ data: ToolKind;
476
+ driverParam: string;
477
+ notNull: true;
478
+ hasDefault: false;
479
+ isPrimaryKey: false;
480
+ isAutoincrement: false;
481
+ hasRuntimeDefault: false;
482
+ enumValues: [string, ...string[]];
483
+ baseColumn: never;
484
+ identity: undefined;
485
+ generated: undefined;
486
+ }, {}, {
487
+ length: number | undefined;
488
+ $type: ToolKind;
489
+ }>;
490
+ input: drizzle_orm_sqlite_core.SQLiteColumn<{
491
+ name: "input";
492
+ tableName: "agent_tool_call";
493
+ dataType: "json";
494
+ columnType: "SQLiteTextJson";
495
+ data: unknown;
496
+ driverParam: string;
497
+ notNull: false;
498
+ hasDefault: false;
499
+ isPrimaryKey: false;
500
+ isAutoincrement: false;
501
+ hasRuntimeDefault: false;
502
+ enumValues: undefined;
503
+ baseColumn: never;
504
+ identity: undefined;
505
+ generated: undefined;
506
+ }, {}, {}>;
507
+ output: drizzle_orm_sqlite_core.SQLiteColumn<{
508
+ name: "output";
509
+ tableName: "agent_tool_call";
510
+ dataType: "json";
511
+ columnType: "SQLiteTextJson";
512
+ data: unknown;
513
+ driverParam: string;
514
+ notNull: false;
515
+ hasDefault: false;
516
+ isPrimaryKey: false;
517
+ isAutoincrement: false;
518
+ hasRuntimeDefault: false;
519
+ enumValues: undefined;
520
+ baseColumn: never;
521
+ identity: undefined;
522
+ generated: undefined;
523
+ }, {}, {}>;
524
+ status: drizzle_orm_sqlite_core.SQLiteColumn<{
525
+ name: "status";
526
+ tableName: "agent_tool_call";
527
+ dataType: "string";
528
+ columnType: "SQLiteText";
529
+ data: ToolCallStatus;
530
+ driverParam: string;
531
+ notNull: true;
532
+ hasDefault: false;
533
+ isPrimaryKey: false;
534
+ isAutoincrement: false;
535
+ hasRuntimeDefault: false;
536
+ enumValues: [string, ...string[]];
537
+ baseColumn: never;
538
+ identity: undefined;
539
+ generated: undefined;
540
+ }, {}, {
541
+ length: number | undefined;
542
+ $type: ToolCallStatus;
543
+ }>;
544
+ executedByRef: drizzle_orm_sqlite_core.SQLiteColumn<{
545
+ name: "executed_by_ref";
546
+ tableName: "agent_tool_call";
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
+ executionMs: drizzle_orm_sqlite_core.SQLiteColumn<{
564
+ name: "execution_ms";
565
+ tableName: "agent_tool_call";
566
+ dataType: "number";
567
+ columnType: "SQLiteInteger";
568
+ data: number;
569
+ driverParam: number;
570
+ notNull: false;
571
+ hasDefault: false;
572
+ isPrimaryKey: false;
573
+ isAutoincrement: false;
574
+ hasRuntimeDefault: false;
575
+ enumValues: undefined;
576
+ baseColumn: never;
577
+ identity: undefined;
578
+ generated: undefined;
579
+ }, {}, {}>;
580
+ error: drizzle_orm_sqlite_core.SQLiteColumn<{
581
+ name: "error";
582
+ tableName: "agent_tool_call";
583
+ dataType: "string";
584
+ columnType: "SQLiteText";
585
+ data: string;
586
+ driverParam: string;
587
+ notNull: false;
588
+ hasDefault: false;
589
+ isPrimaryKey: false;
590
+ isAutoincrement: false;
591
+ hasRuntimeDefault: false;
592
+ enumValues: [string, ...string[]];
593
+ baseColumn: never;
594
+ identity: undefined;
595
+ generated: undefined;
596
+ }, {}, {
597
+ length: number | undefined;
598
+ }>;
599
+ createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
600
+ name: "created_at";
601
+ tableName: "agent_tool_call";
602
+ dataType: "date";
603
+ columnType: "SQLiteTimestamp";
604
+ data: Date;
605
+ driverParam: number;
606
+ notNull: true;
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
+ executedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
617
+ name: "executed_at";
618
+ tableName: "agent_tool_call";
619
+ dataType: "date";
620
+ columnType: "SQLiteTimestamp";
621
+ data: Date;
622
+ driverParam: number;
623
+ notNull: false;
624
+ hasDefault: false;
625
+ isPrimaryKey: false;
626
+ isAutoincrement: false;
627
+ hasRuntimeDefault: false;
628
+ enumValues: undefined;
629
+ baseColumn: never;
630
+ identity: undefined;
631
+ generated: undefined;
632
+ }, {}, {}>;
633
+ };
634
+ dialect: "sqlite";
635
+ }>;
636
+ /** A token-usage ledger row, summed per actor per day by `quotaToday`. */
637
+ declare const agentTokenUsage: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
638
+ name: "agent_token_usage";
639
+ schema: undefined;
640
+ columns: {
641
+ id: drizzle_orm_sqlite_core.SQLiteColumn<{
642
+ name: "id";
643
+ tableName: "agent_token_usage";
644
+ dataType: "string";
645
+ columnType: "SQLiteText";
646
+ data: string;
647
+ driverParam: string;
648
+ notNull: true;
649
+ hasDefault: false;
650
+ isPrimaryKey: true;
651
+ isAutoincrement: false;
652
+ hasRuntimeDefault: false;
653
+ enumValues: [string, ...string[]];
654
+ baseColumn: never;
655
+ identity: undefined;
656
+ generated: undefined;
657
+ }, {}, {
658
+ length: number | undefined;
659
+ }>;
660
+ threadId: drizzle_orm_sqlite_core.SQLiteColumn<{
661
+ name: "thread_id";
662
+ tableName: "agent_token_usage";
663
+ dataType: "string";
664
+ columnType: "SQLiteText";
665
+ data: string;
666
+ driverParam: string;
667
+ notNull: true;
668
+ hasDefault: false;
669
+ isPrimaryKey: false;
670
+ isAutoincrement: false;
671
+ hasRuntimeDefault: false;
672
+ enumValues: [string, ...string[]];
673
+ baseColumn: never;
674
+ identity: undefined;
675
+ generated: undefined;
676
+ }, {}, {
677
+ length: number | undefined;
678
+ }>;
679
+ actorRef: drizzle_orm_sqlite_core.SQLiteColumn<{
680
+ name: "actor_ref";
681
+ tableName: "agent_token_usage";
682
+ dataType: "string";
683
+ columnType: "SQLiteText";
684
+ data: string;
685
+ driverParam: string;
686
+ notNull: true;
687
+ hasDefault: false;
688
+ isPrimaryKey: false;
689
+ isAutoincrement: false;
690
+ hasRuntimeDefault: false;
691
+ enumValues: [string, ...string[]];
692
+ baseColumn: never;
693
+ identity: undefined;
694
+ generated: undefined;
695
+ }, {}, {
696
+ length: number | undefined;
697
+ }>;
698
+ messageId: drizzle_orm_sqlite_core.SQLiteColumn<{
699
+ name: "message_id";
700
+ tableName: "agent_token_usage";
701
+ dataType: "string";
702
+ columnType: "SQLiteText";
703
+ data: string;
704
+ driverParam: string;
705
+ notNull: false;
706
+ hasDefault: false;
707
+ isPrimaryKey: false;
708
+ isAutoincrement: false;
709
+ hasRuntimeDefault: false;
710
+ enumValues: [string, ...string[]];
711
+ baseColumn: never;
712
+ identity: undefined;
713
+ generated: undefined;
714
+ }, {}, {
715
+ length: number | undefined;
716
+ }>;
717
+ modelId: drizzle_orm_sqlite_core.SQLiteColumn<{
718
+ name: "model_id";
719
+ tableName: "agent_token_usage";
720
+ dataType: "string";
721
+ columnType: "SQLiteText";
722
+ data: string;
723
+ driverParam: string;
724
+ notNull: true;
725
+ hasDefault: false;
726
+ isPrimaryKey: false;
727
+ isAutoincrement: false;
728
+ hasRuntimeDefault: false;
729
+ enumValues: [string, ...string[]];
730
+ baseColumn: never;
731
+ identity: undefined;
732
+ generated: undefined;
733
+ }, {}, {
734
+ length: number | undefined;
735
+ }>;
736
+ purpose: drizzle_orm_sqlite_core.SQLiteColumn<{
737
+ name: "purpose";
738
+ tableName: "agent_token_usage";
739
+ dataType: "string";
740
+ columnType: "SQLiteText";
741
+ data: UsagePurpose;
742
+ driverParam: string;
743
+ notNull: true;
744
+ hasDefault: false;
745
+ isPrimaryKey: false;
746
+ isAutoincrement: false;
747
+ hasRuntimeDefault: false;
748
+ enumValues: [string, ...string[]];
749
+ baseColumn: never;
750
+ identity: undefined;
751
+ generated: undefined;
752
+ }, {}, {
753
+ length: number | undefined;
754
+ $type: UsagePurpose;
755
+ }>;
756
+ inputTokens: drizzle_orm_sqlite_core.SQLiteColumn<{
757
+ name: "input_tokens";
758
+ tableName: "agent_token_usage";
759
+ dataType: "number";
760
+ columnType: "SQLiteInteger";
761
+ data: number;
762
+ driverParam: number;
763
+ notNull: true;
764
+ hasDefault: false;
765
+ isPrimaryKey: false;
766
+ isAutoincrement: false;
767
+ hasRuntimeDefault: false;
768
+ enumValues: undefined;
769
+ baseColumn: never;
770
+ identity: undefined;
771
+ generated: undefined;
772
+ }, {}, {}>;
773
+ outputTokens: drizzle_orm_sqlite_core.SQLiteColumn<{
774
+ name: "output_tokens";
775
+ tableName: "agent_token_usage";
776
+ dataType: "number";
777
+ columnType: "SQLiteInteger";
778
+ data: number;
779
+ driverParam: number;
780
+ notNull: true;
781
+ hasDefault: false;
782
+ isPrimaryKey: false;
783
+ isAutoincrement: false;
784
+ hasRuntimeDefault: false;
785
+ enumValues: undefined;
786
+ baseColumn: never;
787
+ identity: undefined;
788
+ generated: undefined;
789
+ }, {}, {}>;
790
+ cacheWriteTokens: drizzle_orm_sqlite_core.SQLiteColumn<{
791
+ name: "cache_write_tokens";
792
+ tableName: "agent_token_usage";
793
+ dataType: "number";
794
+ columnType: "SQLiteInteger";
795
+ data: number;
796
+ driverParam: number;
797
+ notNull: false;
798
+ hasDefault: false;
799
+ isPrimaryKey: false;
800
+ isAutoincrement: false;
801
+ hasRuntimeDefault: false;
802
+ enumValues: undefined;
803
+ baseColumn: never;
804
+ identity: undefined;
805
+ generated: undefined;
806
+ }, {}, {}>;
807
+ cacheReadTokens: drizzle_orm_sqlite_core.SQLiteColumn<{
808
+ name: "cache_read_tokens";
809
+ tableName: "agent_token_usage";
810
+ dataType: "number";
811
+ columnType: "SQLiteInteger";
812
+ data: number;
813
+ driverParam: number;
814
+ notNull: false;
815
+ hasDefault: false;
816
+ isPrimaryKey: false;
817
+ isAutoincrement: false;
818
+ hasRuntimeDefault: false;
819
+ enumValues: undefined;
820
+ baseColumn: never;
821
+ identity: undefined;
822
+ generated: undefined;
823
+ }, {}, {}>;
824
+ costUsd: drizzle_orm_sqlite_core.SQLiteColumn<{
825
+ name: "cost_usd";
826
+ tableName: "agent_token_usage";
827
+ dataType: "number";
828
+ columnType: "SQLiteReal";
829
+ data: number;
830
+ driverParam: number;
831
+ notNull: false;
832
+ hasDefault: false;
833
+ isPrimaryKey: false;
834
+ isAutoincrement: false;
835
+ hasRuntimeDefault: false;
836
+ enumValues: undefined;
837
+ baseColumn: never;
838
+ identity: undefined;
839
+ generated: undefined;
840
+ }, {}, {}>;
841
+ createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
842
+ name: "created_at";
843
+ tableName: "agent_token_usage";
844
+ dataType: "date";
845
+ columnType: "SQLiteTimestamp";
846
+ data: Date;
847
+ driverParam: number;
848
+ notNull: true;
849
+ hasDefault: false;
850
+ isPrimaryKey: false;
851
+ isAutoincrement: false;
852
+ hasRuntimeDefault: false;
853
+ enumValues: undefined;
854
+ baseColumn: never;
855
+ identity: undefined;
856
+ generated: undefined;
857
+ }, {}, {}>;
858
+ };
859
+ dialect: "sqlite";
860
+ }>;
861
+ /** Per-model token pricing, versioned by `effectiveFrom`; `isCurrent` flags the live row. */
862
+ declare const agentModelPricing: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
863
+ name: "agent_model_pricing";
864
+ schema: undefined;
865
+ columns: {
866
+ id: drizzle_orm_sqlite_core.SQLiteColumn<{
867
+ name: "id";
868
+ tableName: "agent_model_pricing";
869
+ dataType: "string";
870
+ columnType: "SQLiteText";
871
+ data: string;
872
+ driverParam: string;
873
+ notNull: true;
874
+ hasDefault: false;
875
+ isPrimaryKey: true;
876
+ isAutoincrement: false;
877
+ hasRuntimeDefault: false;
878
+ enumValues: [string, ...string[]];
879
+ baseColumn: never;
880
+ identity: undefined;
881
+ generated: undefined;
882
+ }, {}, {
883
+ length: number | undefined;
884
+ }>;
885
+ modelId: drizzle_orm_sqlite_core.SQLiteColumn<{
886
+ name: "model_id";
887
+ tableName: "agent_model_pricing";
888
+ dataType: "string";
889
+ columnType: "SQLiteText";
890
+ data: string;
891
+ driverParam: string;
892
+ notNull: true;
893
+ hasDefault: false;
894
+ isPrimaryKey: false;
895
+ isAutoincrement: false;
896
+ hasRuntimeDefault: false;
897
+ enumValues: [string, ...string[]];
898
+ baseColumn: never;
899
+ identity: undefined;
900
+ generated: undefined;
901
+ }, {}, {
902
+ length: number | undefined;
903
+ }>;
904
+ inputPricePer1m: drizzle_orm_sqlite_core.SQLiteColumn<{
905
+ name: "input_price_per_1m";
906
+ tableName: "agent_model_pricing";
907
+ dataType: "number";
908
+ columnType: "SQLiteReal";
909
+ data: number;
910
+ driverParam: number;
911
+ notNull: true;
912
+ hasDefault: false;
913
+ isPrimaryKey: false;
914
+ isAutoincrement: false;
915
+ hasRuntimeDefault: false;
916
+ enumValues: undefined;
917
+ baseColumn: never;
918
+ identity: undefined;
919
+ generated: undefined;
920
+ }, {}, {}>;
921
+ outputPricePer1m: drizzle_orm_sqlite_core.SQLiteColumn<{
922
+ name: "output_price_per_1m";
923
+ tableName: "agent_model_pricing";
924
+ dataType: "number";
925
+ columnType: "SQLiteReal";
926
+ data: number;
927
+ driverParam: number;
928
+ notNull: true;
929
+ hasDefault: false;
930
+ isPrimaryKey: false;
931
+ isAutoincrement: false;
932
+ hasRuntimeDefault: false;
933
+ enumValues: undefined;
934
+ baseColumn: never;
935
+ identity: undefined;
936
+ generated: undefined;
937
+ }, {}, {}>;
938
+ cacheWritePricePer1m: drizzle_orm_sqlite_core.SQLiteColumn<{
939
+ name: "cache_write_price_per_1m";
940
+ tableName: "agent_model_pricing";
941
+ dataType: "number";
942
+ columnType: "SQLiteReal";
943
+ data: number;
944
+ driverParam: number;
945
+ notNull: false;
946
+ hasDefault: false;
947
+ isPrimaryKey: false;
948
+ isAutoincrement: false;
949
+ hasRuntimeDefault: false;
950
+ enumValues: undefined;
951
+ baseColumn: never;
952
+ identity: undefined;
953
+ generated: undefined;
954
+ }, {}, {}>;
955
+ cacheReadPricePer1m: drizzle_orm_sqlite_core.SQLiteColumn<{
956
+ name: "cache_read_price_per_1m";
957
+ tableName: "agent_model_pricing";
958
+ dataType: "number";
959
+ columnType: "SQLiteReal";
960
+ data: number;
961
+ driverParam: number;
962
+ notNull: false;
963
+ hasDefault: false;
964
+ isPrimaryKey: false;
965
+ isAutoincrement: false;
966
+ hasRuntimeDefault: false;
967
+ enumValues: undefined;
968
+ baseColumn: never;
969
+ identity: undefined;
970
+ generated: undefined;
971
+ }, {}, {}>;
972
+ effectiveFrom: drizzle_orm_sqlite_core.SQLiteColumn<{
973
+ name: "effective_from";
974
+ tableName: "agent_model_pricing";
975
+ dataType: "date";
976
+ columnType: "SQLiteTimestamp";
977
+ data: Date;
978
+ driverParam: number;
979
+ notNull: true;
980
+ hasDefault: false;
981
+ isPrimaryKey: false;
982
+ isAutoincrement: false;
983
+ hasRuntimeDefault: false;
984
+ enumValues: undefined;
985
+ baseColumn: never;
986
+ identity: undefined;
987
+ generated: undefined;
988
+ }, {}, {}>;
989
+ isCurrent: drizzle_orm_sqlite_core.SQLiteColumn<{
990
+ name: "is_current";
991
+ tableName: "agent_model_pricing";
992
+ dataType: "boolean";
993
+ columnType: "SQLiteBoolean";
994
+ data: boolean;
995
+ driverParam: number;
996
+ notNull: true;
997
+ hasDefault: false;
998
+ isPrimaryKey: false;
999
+ isAutoincrement: false;
1000
+ hasRuntimeDefault: false;
1001
+ enumValues: undefined;
1002
+ baseColumn: never;
1003
+ identity: undefined;
1004
+ generated: undefined;
1005
+ }, {}, {}>;
1006
+ };
1007
+ dialect: "sqlite";
1008
+ }>;
1009
+ /** The five agent tables as one schema object, ready for `drizzle(client, { schema })`. */
1010
+ declare const agentSchema: {
1011
+ agentThread: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1012
+ name: "agent_thread";
1013
+ schema: undefined;
1014
+ columns: {
1015
+ id: drizzle_orm_sqlite_core.SQLiteColumn<{
1016
+ name: "id";
1017
+ tableName: "agent_thread";
1018
+ dataType: "string";
1019
+ columnType: "SQLiteText";
1020
+ data: string;
1021
+ driverParam: string;
1022
+ notNull: true;
1023
+ hasDefault: false;
1024
+ isPrimaryKey: true;
1025
+ isAutoincrement: false;
1026
+ hasRuntimeDefault: false;
1027
+ enumValues: [string, ...string[]];
1028
+ baseColumn: never;
1029
+ identity: undefined;
1030
+ generated: undefined;
1031
+ }, {}, {
1032
+ length: number | undefined;
1033
+ }>;
1034
+ actorRef: drizzle_orm_sqlite_core.SQLiteColumn<{
1035
+ name: "actor_ref";
1036
+ tableName: "agent_thread";
1037
+ dataType: "string";
1038
+ columnType: "SQLiteText";
1039
+ data: string;
1040
+ driverParam: string;
1041
+ notNull: true;
1042
+ hasDefault: false;
1043
+ isPrimaryKey: false;
1044
+ isAutoincrement: false;
1045
+ hasRuntimeDefault: false;
1046
+ enumValues: [string, ...string[]];
1047
+ baseColumn: never;
1048
+ identity: undefined;
1049
+ generated: undefined;
1050
+ }, {}, {
1051
+ length: number | undefined;
1052
+ }>;
1053
+ tenantRef: drizzle_orm_sqlite_core.SQLiteColumn<{
1054
+ name: "tenant_ref";
1055
+ tableName: "agent_thread";
1056
+ dataType: "string";
1057
+ columnType: "SQLiteText";
1058
+ data: string;
1059
+ driverParam: string;
1060
+ notNull: false;
1061
+ hasDefault: false;
1062
+ isPrimaryKey: false;
1063
+ isAutoincrement: false;
1064
+ hasRuntimeDefault: false;
1065
+ enumValues: [string, ...string[]];
1066
+ baseColumn: never;
1067
+ identity: undefined;
1068
+ generated: undefined;
1069
+ }, {}, {
1070
+ length: number | undefined;
1071
+ }>;
1072
+ title: drizzle_orm_sqlite_core.SQLiteColumn<{
1073
+ name: "title";
1074
+ tableName: "agent_thread";
1075
+ dataType: "string";
1076
+ columnType: "SQLiteText";
1077
+ data: string;
1078
+ driverParam: string;
1079
+ notNull: true;
1080
+ hasDefault: false;
1081
+ isPrimaryKey: false;
1082
+ isAutoincrement: false;
1083
+ hasRuntimeDefault: false;
1084
+ enumValues: [string, ...string[]];
1085
+ baseColumn: never;
1086
+ identity: undefined;
1087
+ generated: undefined;
1088
+ }, {}, {
1089
+ length: number | undefined;
1090
+ }>;
1091
+ persona: drizzle_orm_sqlite_core.SQLiteColumn<{
1092
+ name: "persona";
1093
+ tableName: "agent_thread";
1094
+ dataType: "string";
1095
+ columnType: "SQLiteText";
1096
+ data: string;
1097
+ driverParam: string;
1098
+ notNull: true;
1099
+ hasDefault: true;
1100
+ isPrimaryKey: false;
1101
+ isAutoincrement: false;
1102
+ hasRuntimeDefault: false;
1103
+ enumValues: [string, ...string[]];
1104
+ baseColumn: never;
1105
+ identity: undefined;
1106
+ generated: undefined;
1107
+ }, {}, {
1108
+ length: number | undefined;
1109
+ }>;
1110
+ transient: drizzle_orm_sqlite_core.SQLiteColumn<{
1111
+ name: "transient";
1112
+ tableName: "agent_thread";
1113
+ dataType: "boolean";
1114
+ columnType: "SQLiteBoolean";
1115
+ data: boolean;
1116
+ driverParam: number;
1117
+ notNull: true;
1118
+ hasDefault: true;
1119
+ isPrimaryKey: false;
1120
+ isAutoincrement: false;
1121
+ hasRuntimeDefault: false;
1122
+ enumValues: undefined;
1123
+ baseColumn: never;
1124
+ identity: undefined;
1125
+ generated: undefined;
1126
+ }, {}, {}>;
1127
+ activeStreamId: drizzle_orm_sqlite_core.SQLiteColumn<{
1128
+ name: "active_stream_id";
1129
+ tableName: "agent_thread";
1130
+ dataType: "string";
1131
+ columnType: "SQLiteText";
1132
+ data: string;
1133
+ driverParam: string;
1134
+ notNull: false;
1135
+ hasDefault: false;
1136
+ isPrimaryKey: false;
1137
+ isAutoincrement: false;
1138
+ hasRuntimeDefault: false;
1139
+ enumValues: [string, ...string[]];
1140
+ baseColumn: never;
1141
+ identity: undefined;
1142
+ generated: undefined;
1143
+ }, {}, {
1144
+ length: number | undefined;
1145
+ }>;
1146
+ createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1147
+ name: "created_at";
1148
+ tableName: "agent_thread";
1149
+ dataType: "date";
1150
+ columnType: "SQLiteTimestamp";
1151
+ data: Date;
1152
+ driverParam: number;
1153
+ notNull: true;
1154
+ hasDefault: false;
1155
+ isPrimaryKey: false;
1156
+ isAutoincrement: false;
1157
+ hasRuntimeDefault: false;
1158
+ enumValues: undefined;
1159
+ baseColumn: never;
1160
+ identity: undefined;
1161
+ generated: undefined;
1162
+ }, {}, {}>;
1163
+ updatedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1164
+ name: "updated_at";
1165
+ tableName: "agent_thread";
1166
+ dataType: "date";
1167
+ columnType: "SQLiteTimestamp";
1168
+ data: Date;
1169
+ driverParam: number;
1170
+ notNull: true;
1171
+ hasDefault: false;
1172
+ isPrimaryKey: false;
1173
+ isAutoincrement: false;
1174
+ hasRuntimeDefault: false;
1175
+ enumValues: undefined;
1176
+ baseColumn: never;
1177
+ identity: undefined;
1178
+ generated: undefined;
1179
+ }, {}, {}>;
1180
+ deletedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1181
+ name: "deleted_at";
1182
+ tableName: "agent_thread";
1183
+ dataType: "date";
1184
+ columnType: "SQLiteTimestamp";
1185
+ data: Date;
1186
+ driverParam: number;
1187
+ notNull: false;
1188
+ hasDefault: false;
1189
+ isPrimaryKey: false;
1190
+ isAutoincrement: false;
1191
+ hasRuntimeDefault: false;
1192
+ enumValues: undefined;
1193
+ baseColumn: never;
1194
+ identity: undefined;
1195
+ generated: undefined;
1196
+ }, {}, {}>;
1197
+ };
1198
+ dialect: "sqlite";
1199
+ }>;
1200
+ agentMessage: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1201
+ name: "agent_message";
1202
+ schema: undefined;
1203
+ columns: {
1204
+ id: drizzle_orm_sqlite_core.SQLiteColumn<{
1205
+ name: "id";
1206
+ tableName: "agent_message";
1207
+ dataType: "string";
1208
+ columnType: "SQLiteText";
1209
+ data: string;
1210
+ driverParam: string;
1211
+ notNull: true;
1212
+ hasDefault: false;
1213
+ isPrimaryKey: true;
1214
+ isAutoincrement: false;
1215
+ hasRuntimeDefault: false;
1216
+ enumValues: [string, ...string[]];
1217
+ baseColumn: never;
1218
+ identity: undefined;
1219
+ generated: undefined;
1220
+ }, {}, {
1221
+ length: number | undefined;
1222
+ }>;
1223
+ threadId: drizzle_orm_sqlite_core.SQLiteColumn<{
1224
+ name: "thread_id";
1225
+ tableName: "agent_message";
1226
+ dataType: "string";
1227
+ columnType: "SQLiteText";
1228
+ data: string;
1229
+ driverParam: string;
1230
+ notNull: true;
1231
+ hasDefault: false;
1232
+ isPrimaryKey: false;
1233
+ isAutoincrement: false;
1234
+ hasRuntimeDefault: false;
1235
+ enumValues: [string, ...string[]];
1236
+ baseColumn: never;
1237
+ identity: undefined;
1238
+ generated: undefined;
1239
+ }, {}, {
1240
+ length: number | undefined;
1241
+ }>;
1242
+ role: drizzle_orm_sqlite_core.SQLiteColumn<{
1243
+ name: "role";
1244
+ tableName: "agent_message";
1245
+ dataType: "string";
1246
+ columnType: "SQLiteText";
1247
+ data: MessageRole;
1248
+ driverParam: string;
1249
+ notNull: true;
1250
+ hasDefault: false;
1251
+ isPrimaryKey: false;
1252
+ isAutoincrement: false;
1253
+ hasRuntimeDefault: false;
1254
+ enumValues: [string, ...string[]];
1255
+ baseColumn: never;
1256
+ identity: undefined;
1257
+ generated: undefined;
1258
+ }, {}, {
1259
+ length: number | undefined;
1260
+ $type: MessageRole;
1261
+ }>;
1262
+ content: drizzle_orm_sqlite_core.SQLiteColumn<{
1263
+ name: "content";
1264
+ tableName: "agent_message";
1265
+ dataType: "string";
1266
+ columnType: "SQLiteText";
1267
+ data: string;
1268
+ driverParam: string;
1269
+ notNull: true;
1270
+ hasDefault: false;
1271
+ isPrimaryKey: false;
1272
+ isAutoincrement: false;
1273
+ hasRuntimeDefault: false;
1274
+ enumValues: [string, ...string[]];
1275
+ baseColumn: never;
1276
+ identity: undefined;
1277
+ generated: undefined;
1278
+ }, {}, {
1279
+ length: number | undefined;
1280
+ }>;
1281
+ toolCalls: drizzle_orm_sqlite_core.SQLiteColumn<{
1282
+ name: "tool_calls";
1283
+ tableName: "agent_message";
1284
+ dataType: "json";
1285
+ columnType: "SQLiteTextJson";
1286
+ data: ToolCallRequest[];
1287
+ driverParam: string;
1288
+ notNull: false;
1289
+ hasDefault: false;
1290
+ isPrimaryKey: false;
1291
+ isAutoincrement: false;
1292
+ hasRuntimeDefault: false;
1293
+ enumValues: undefined;
1294
+ baseColumn: never;
1295
+ identity: undefined;
1296
+ generated: undefined;
1297
+ }, {}, {
1298
+ $type: ToolCallRequest[];
1299
+ }>;
1300
+ toolResults: drizzle_orm_sqlite_core.SQLiteColumn<{
1301
+ name: "tool_results";
1302
+ tableName: "agent_message";
1303
+ dataType: "json";
1304
+ columnType: "SQLiteTextJson";
1305
+ data: ToolResult[];
1306
+ driverParam: string;
1307
+ notNull: false;
1308
+ hasDefault: false;
1309
+ isPrimaryKey: false;
1310
+ isAutoincrement: false;
1311
+ hasRuntimeDefault: false;
1312
+ enumValues: undefined;
1313
+ baseColumn: never;
1314
+ identity: undefined;
1315
+ generated: undefined;
1316
+ }, {}, {
1317
+ $type: ToolResult[];
1318
+ }>;
1319
+ followUps: drizzle_orm_sqlite_core.SQLiteColumn<{
1320
+ name: "follow_ups";
1321
+ tableName: "agent_message";
1322
+ dataType: "json";
1323
+ columnType: "SQLiteTextJson";
1324
+ data: string[];
1325
+ driverParam: string;
1326
+ notNull: false;
1327
+ hasDefault: false;
1328
+ isPrimaryKey: false;
1329
+ isAutoincrement: false;
1330
+ hasRuntimeDefault: false;
1331
+ enumValues: undefined;
1332
+ baseColumn: never;
1333
+ identity: undefined;
1334
+ generated: undefined;
1335
+ }, {}, {
1336
+ $type: string[];
1337
+ }>;
1338
+ usage: drizzle_orm_sqlite_core.SQLiteColumn<{
1339
+ name: "usage";
1340
+ tableName: "agent_message";
1341
+ dataType: "json";
1342
+ columnType: "SQLiteTextJson";
1343
+ data: MessageUsage;
1344
+ driverParam: string;
1345
+ notNull: false;
1346
+ hasDefault: false;
1347
+ isPrimaryKey: false;
1348
+ isAutoincrement: false;
1349
+ hasRuntimeDefault: false;
1350
+ enumValues: undefined;
1351
+ baseColumn: never;
1352
+ identity: undefined;
1353
+ generated: undefined;
1354
+ }, {}, {
1355
+ $type: MessageUsage;
1356
+ }>;
1357
+ persona: drizzle_orm_sqlite_core.SQLiteColumn<{
1358
+ name: "persona";
1359
+ tableName: "agent_message";
1360
+ dataType: "string";
1361
+ columnType: "SQLiteText";
1362
+ data: string;
1363
+ driverParam: string;
1364
+ notNull: false;
1365
+ hasDefault: false;
1366
+ isPrimaryKey: false;
1367
+ isAutoincrement: false;
1368
+ hasRuntimeDefault: false;
1369
+ enumValues: [string, ...string[]];
1370
+ baseColumn: never;
1371
+ identity: undefined;
1372
+ generated: undefined;
1373
+ }, {}, {
1374
+ length: number | undefined;
1375
+ }>;
1376
+ createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1377
+ name: "created_at";
1378
+ tableName: "agent_message";
1379
+ dataType: "date";
1380
+ columnType: "SQLiteTimestamp";
1381
+ data: Date;
1382
+ driverParam: number;
1383
+ notNull: true;
1384
+ hasDefault: false;
1385
+ isPrimaryKey: false;
1386
+ isAutoincrement: false;
1387
+ hasRuntimeDefault: false;
1388
+ enumValues: undefined;
1389
+ baseColumn: never;
1390
+ identity: undefined;
1391
+ generated: undefined;
1392
+ }, {}, {}>;
1393
+ };
1394
+ dialect: "sqlite";
1395
+ }>;
1396
+ agentToolCall: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1397
+ name: "agent_tool_call";
1398
+ schema: undefined;
1399
+ columns: {
1400
+ id: drizzle_orm_sqlite_core.SQLiteColumn<{
1401
+ name: "id";
1402
+ tableName: "agent_tool_call";
1403
+ dataType: "string";
1404
+ columnType: "SQLiteText";
1405
+ data: string;
1406
+ driverParam: string;
1407
+ notNull: true;
1408
+ hasDefault: false;
1409
+ isPrimaryKey: true;
1410
+ isAutoincrement: false;
1411
+ hasRuntimeDefault: false;
1412
+ enumValues: [string, ...string[]];
1413
+ baseColumn: never;
1414
+ identity: undefined;
1415
+ generated: undefined;
1416
+ }, {}, {
1417
+ length: number | undefined;
1418
+ }>;
1419
+ messageId: drizzle_orm_sqlite_core.SQLiteColumn<{
1420
+ name: "message_id";
1421
+ tableName: "agent_tool_call";
1422
+ dataType: "string";
1423
+ columnType: "SQLiteText";
1424
+ data: string;
1425
+ driverParam: string;
1426
+ notNull: true;
1427
+ hasDefault: false;
1428
+ isPrimaryKey: false;
1429
+ isAutoincrement: false;
1430
+ hasRuntimeDefault: false;
1431
+ enumValues: [string, ...string[]];
1432
+ baseColumn: never;
1433
+ identity: undefined;
1434
+ generated: undefined;
1435
+ }, {}, {
1436
+ length: number | undefined;
1437
+ }>;
1438
+ toolName: drizzle_orm_sqlite_core.SQLiteColumn<{
1439
+ name: "tool_name";
1440
+ tableName: "agent_tool_call";
1441
+ dataType: "string";
1442
+ columnType: "SQLiteText";
1443
+ data: string;
1444
+ driverParam: string;
1445
+ notNull: true;
1446
+ hasDefault: false;
1447
+ isPrimaryKey: false;
1448
+ isAutoincrement: false;
1449
+ hasRuntimeDefault: false;
1450
+ enumValues: [string, ...string[]];
1451
+ baseColumn: never;
1452
+ identity: undefined;
1453
+ generated: undefined;
1454
+ }, {}, {
1455
+ length: number | undefined;
1456
+ }>;
1457
+ toolType: drizzle_orm_sqlite_core.SQLiteColumn<{
1458
+ name: "tool_type";
1459
+ tableName: "agent_tool_call";
1460
+ dataType: "string";
1461
+ columnType: "SQLiteText";
1462
+ data: ToolKind;
1463
+ driverParam: string;
1464
+ notNull: true;
1465
+ hasDefault: false;
1466
+ isPrimaryKey: false;
1467
+ isAutoincrement: false;
1468
+ hasRuntimeDefault: false;
1469
+ enumValues: [string, ...string[]];
1470
+ baseColumn: never;
1471
+ identity: undefined;
1472
+ generated: undefined;
1473
+ }, {}, {
1474
+ length: number | undefined;
1475
+ $type: ToolKind;
1476
+ }>;
1477
+ input: drizzle_orm_sqlite_core.SQLiteColumn<{
1478
+ name: "input";
1479
+ tableName: "agent_tool_call";
1480
+ dataType: "json";
1481
+ columnType: "SQLiteTextJson";
1482
+ data: unknown;
1483
+ driverParam: string;
1484
+ notNull: false;
1485
+ hasDefault: false;
1486
+ isPrimaryKey: false;
1487
+ isAutoincrement: false;
1488
+ hasRuntimeDefault: false;
1489
+ enumValues: undefined;
1490
+ baseColumn: never;
1491
+ identity: undefined;
1492
+ generated: undefined;
1493
+ }, {}, {}>;
1494
+ output: drizzle_orm_sqlite_core.SQLiteColumn<{
1495
+ name: "output";
1496
+ tableName: "agent_tool_call";
1497
+ dataType: "json";
1498
+ columnType: "SQLiteTextJson";
1499
+ data: unknown;
1500
+ driverParam: string;
1501
+ notNull: false;
1502
+ hasDefault: false;
1503
+ isPrimaryKey: false;
1504
+ isAutoincrement: false;
1505
+ hasRuntimeDefault: false;
1506
+ enumValues: undefined;
1507
+ baseColumn: never;
1508
+ identity: undefined;
1509
+ generated: undefined;
1510
+ }, {}, {}>;
1511
+ status: drizzle_orm_sqlite_core.SQLiteColumn<{
1512
+ name: "status";
1513
+ tableName: "agent_tool_call";
1514
+ dataType: "string";
1515
+ columnType: "SQLiteText";
1516
+ data: ToolCallStatus;
1517
+ driverParam: string;
1518
+ notNull: true;
1519
+ hasDefault: false;
1520
+ isPrimaryKey: false;
1521
+ isAutoincrement: false;
1522
+ hasRuntimeDefault: false;
1523
+ enumValues: [string, ...string[]];
1524
+ baseColumn: never;
1525
+ identity: undefined;
1526
+ generated: undefined;
1527
+ }, {}, {
1528
+ length: number | undefined;
1529
+ $type: ToolCallStatus;
1530
+ }>;
1531
+ executedByRef: drizzle_orm_sqlite_core.SQLiteColumn<{
1532
+ name: "executed_by_ref";
1533
+ tableName: "agent_tool_call";
1534
+ dataType: "string";
1535
+ columnType: "SQLiteText";
1536
+ data: string;
1537
+ driverParam: string;
1538
+ notNull: false;
1539
+ hasDefault: false;
1540
+ isPrimaryKey: false;
1541
+ isAutoincrement: false;
1542
+ hasRuntimeDefault: false;
1543
+ enumValues: [string, ...string[]];
1544
+ baseColumn: never;
1545
+ identity: undefined;
1546
+ generated: undefined;
1547
+ }, {}, {
1548
+ length: number | undefined;
1549
+ }>;
1550
+ executionMs: drizzle_orm_sqlite_core.SQLiteColumn<{
1551
+ name: "execution_ms";
1552
+ tableName: "agent_tool_call";
1553
+ dataType: "number";
1554
+ columnType: "SQLiteInteger";
1555
+ data: number;
1556
+ driverParam: number;
1557
+ notNull: false;
1558
+ hasDefault: false;
1559
+ isPrimaryKey: false;
1560
+ isAutoincrement: false;
1561
+ hasRuntimeDefault: false;
1562
+ enumValues: undefined;
1563
+ baseColumn: never;
1564
+ identity: undefined;
1565
+ generated: undefined;
1566
+ }, {}, {}>;
1567
+ error: drizzle_orm_sqlite_core.SQLiteColumn<{
1568
+ name: "error";
1569
+ tableName: "agent_tool_call";
1570
+ dataType: "string";
1571
+ columnType: "SQLiteText";
1572
+ data: string;
1573
+ driverParam: string;
1574
+ notNull: false;
1575
+ hasDefault: false;
1576
+ isPrimaryKey: false;
1577
+ isAutoincrement: false;
1578
+ hasRuntimeDefault: false;
1579
+ enumValues: [string, ...string[]];
1580
+ baseColumn: never;
1581
+ identity: undefined;
1582
+ generated: undefined;
1583
+ }, {}, {
1584
+ length: number | undefined;
1585
+ }>;
1586
+ createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1587
+ name: "created_at";
1588
+ tableName: "agent_tool_call";
1589
+ dataType: "date";
1590
+ columnType: "SQLiteTimestamp";
1591
+ data: Date;
1592
+ driverParam: number;
1593
+ notNull: true;
1594
+ hasDefault: false;
1595
+ isPrimaryKey: false;
1596
+ isAutoincrement: false;
1597
+ hasRuntimeDefault: false;
1598
+ enumValues: undefined;
1599
+ baseColumn: never;
1600
+ identity: undefined;
1601
+ generated: undefined;
1602
+ }, {}, {}>;
1603
+ executedAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1604
+ name: "executed_at";
1605
+ tableName: "agent_tool_call";
1606
+ dataType: "date";
1607
+ columnType: "SQLiteTimestamp";
1608
+ data: Date;
1609
+ driverParam: number;
1610
+ notNull: false;
1611
+ hasDefault: false;
1612
+ isPrimaryKey: false;
1613
+ isAutoincrement: false;
1614
+ hasRuntimeDefault: false;
1615
+ enumValues: undefined;
1616
+ baseColumn: never;
1617
+ identity: undefined;
1618
+ generated: undefined;
1619
+ }, {}, {}>;
1620
+ };
1621
+ dialect: "sqlite";
1622
+ }>;
1623
+ agentTokenUsage: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1624
+ name: "agent_token_usage";
1625
+ schema: undefined;
1626
+ columns: {
1627
+ id: drizzle_orm_sqlite_core.SQLiteColumn<{
1628
+ name: "id";
1629
+ tableName: "agent_token_usage";
1630
+ dataType: "string";
1631
+ columnType: "SQLiteText";
1632
+ data: string;
1633
+ driverParam: string;
1634
+ notNull: true;
1635
+ hasDefault: false;
1636
+ isPrimaryKey: true;
1637
+ isAutoincrement: false;
1638
+ hasRuntimeDefault: false;
1639
+ enumValues: [string, ...string[]];
1640
+ baseColumn: never;
1641
+ identity: undefined;
1642
+ generated: undefined;
1643
+ }, {}, {
1644
+ length: number | undefined;
1645
+ }>;
1646
+ threadId: drizzle_orm_sqlite_core.SQLiteColumn<{
1647
+ name: "thread_id";
1648
+ tableName: "agent_token_usage";
1649
+ dataType: "string";
1650
+ columnType: "SQLiteText";
1651
+ data: string;
1652
+ driverParam: string;
1653
+ notNull: true;
1654
+ hasDefault: false;
1655
+ isPrimaryKey: false;
1656
+ isAutoincrement: false;
1657
+ hasRuntimeDefault: false;
1658
+ enumValues: [string, ...string[]];
1659
+ baseColumn: never;
1660
+ identity: undefined;
1661
+ generated: undefined;
1662
+ }, {}, {
1663
+ length: number | undefined;
1664
+ }>;
1665
+ actorRef: drizzle_orm_sqlite_core.SQLiteColumn<{
1666
+ name: "actor_ref";
1667
+ tableName: "agent_token_usage";
1668
+ dataType: "string";
1669
+ columnType: "SQLiteText";
1670
+ data: string;
1671
+ driverParam: string;
1672
+ notNull: true;
1673
+ hasDefault: false;
1674
+ isPrimaryKey: false;
1675
+ isAutoincrement: false;
1676
+ hasRuntimeDefault: false;
1677
+ enumValues: [string, ...string[]];
1678
+ baseColumn: never;
1679
+ identity: undefined;
1680
+ generated: undefined;
1681
+ }, {}, {
1682
+ length: number | undefined;
1683
+ }>;
1684
+ messageId: drizzle_orm_sqlite_core.SQLiteColumn<{
1685
+ name: "message_id";
1686
+ tableName: "agent_token_usage";
1687
+ dataType: "string";
1688
+ columnType: "SQLiteText";
1689
+ data: string;
1690
+ driverParam: string;
1691
+ notNull: false;
1692
+ hasDefault: false;
1693
+ isPrimaryKey: false;
1694
+ isAutoincrement: false;
1695
+ hasRuntimeDefault: false;
1696
+ enumValues: [string, ...string[]];
1697
+ baseColumn: never;
1698
+ identity: undefined;
1699
+ generated: undefined;
1700
+ }, {}, {
1701
+ length: number | undefined;
1702
+ }>;
1703
+ modelId: drizzle_orm_sqlite_core.SQLiteColumn<{
1704
+ name: "model_id";
1705
+ tableName: "agent_token_usage";
1706
+ dataType: "string";
1707
+ columnType: "SQLiteText";
1708
+ data: string;
1709
+ driverParam: string;
1710
+ notNull: true;
1711
+ hasDefault: false;
1712
+ isPrimaryKey: false;
1713
+ isAutoincrement: false;
1714
+ hasRuntimeDefault: false;
1715
+ enumValues: [string, ...string[]];
1716
+ baseColumn: never;
1717
+ identity: undefined;
1718
+ generated: undefined;
1719
+ }, {}, {
1720
+ length: number | undefined;
1721
+ }>;
1722
+ purpose: drizzle_orm_sqlite_core.SQLiteColumn<{
1723
+ name: "purpose";
1724
+ tableName: "agent_token_usage";
1725
+ dataType: "string";
1726
+ columnType: "SQLiteText";
1727
+ data: UsagePurpose;
1728
+ driverParam: string;
1729
+ notNull: true;
1730
+ hasDefault: false;
1731
+ isPrimaryKey: false;
1732
+ isAutoincrement: false;
1733
+ hasRuntimeDefault: false;
1734
+ enumValues: [string, ...string[]];
1735
+ baseColumn: never;
1736
+ identity: undefined;
1737
+ generated: undefined;
1738
+ }, {}, {
1739
+ length: number | undefined;
1740
+ $type: UsagePurpose;
1741
+ }>;
1742
+ inputTokens: drizzle_orm_sqlite_core.SQLiteColumn<{
1743
+ name: "input_tokens";
1744
+ tableName: "agent_token_usage";
1745
+ dataType: "number";
1746
+ columnType: "SQLiteInteger";
1747
+ data: number;
1748
+ driverParam: number;
1749
+ notNull: true;
1750
+ hasDefault: false;
1751
+ isPrimaryKey: false;
1752
+ isAutoincrement: false;
1753
+ hasRuntimeDefault: false;
1754
+ enumValues: undefined;
1755
+ baseColumn: never;
1756
+ identity: undefined;
1757
+ generated: undefined;
1758
+ }, {}, {}>;
1759
+ outputTokens: drizzle_orm_sqlite_core.SQLiteColumn<{
1760
+ name: "output_tokens";
1761
+ tableName: "agent_token_usage";
1762
+ dataType: "number";
1763
+ columnType: "SQLiteInteger";
1764
+ data: number;
1765
+ driverParam: number;
1766
+ notNull: true;
1767
+ hasDefault: false;
1768
+ isPrimaryKey: false;
1769
+ isAutoincrement: false;
1770
+ hasRuntimeDefault: false;
1771
+ enumValues: undefined;
1772
+ baseColumn: never;
1773
+ identity: undefined;
1774
+ generated: undefined;
1775
+ }, {}, {}>;
1776
+ cacheWriteTokens: drizzle_orm_sqlite_core.SQLiteColumn<{
1777
+ name: "cache_write_tokens";
1778
+ tableName: "agent_token_usage";
1779
+ dataType: "number";
1780
+ columnType: "SQLiteInteger";
1781
+ data: number;
1782
+ driverParam: number;
1783
+ notNull: false;
1784
+ hasDefault: false;
1785
+ isPrimaryKey: false;
1786
+ isAutoincrement: false;
1787
+ hasRuntimeDefault: false;
1788
+ enumValues: undefined;
1789
+ baseColumn: never;
1790
+ identity: undefined;
1791
+ generated: undefined;
1792
+ }, {}, {}>;
1793
+ cacheReadTokens: drizzle_orm_sqlite_core.SQLiteColumn<{
1794
+ name: "cache_read_tokens";
1795
+ tableName: "agent_token_usage";
1796
+ dataType: "number";
1797
+ columnType: "SQLiteInteger";
1798
+ data: number;
1799
+ driverParam: number;
1800
+ notNull: false;
1801
+ hasDefault: false;
1802
+ isPrimaryKey: false;
1803
+ isAutoincrement: false;
1804
+ hasRuntimeDefault: false;
1805
+ enumValues: undefined;
1806
+ baseColumn: never;
1807
+ identity: undefined;
1808
+ generated: undefined;
1809
+ }, {}, {}>;
1810
+ costUsd: drizzle_orm_sqlite_core.SQLiteColumn<{
1811
+ name: "cost_usd";
1812
+ tableName: "agent_token_usage";
1813
+ dataType: "number";
1814
+ columnType: "SQLiteReal";
1815
+ data: number;
1816
+ driverParam: number;
1817
+ notNull: false;
1818
+ hasDefault: false;
1819
+ isPrimaryKey: false;
1820
+ isAutoincrement: false;
1821
+ hasRuntimeDefault: false;
1822
+ enumValues: undefined;
1823
+ baseColumn: never;
1824
+ identity: undefined;
1825
+ generated: undefined;
1826
+ }, {}, {}>;
1827
+ createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
1828
+ name: "created_at";
1829
+ tableName: "agent_token_usage";
1830
+ dataType: "date";
1831
+ columnType: "SQLiteTimestamp";
1832
+ data: Date;
1833
+ driverParam: number;
1834
+ notNull: true;
1835
+ hasDefault: false;
1836
+ isPrimaryKey: false;
1837
+ isAutoincrement: false;
1838
+ hasRuntimeDefault: false;
1839
+ enumValues: undefined;
1840
+ baseColumn: never;
1841
+ identity: undefined;
1842
+ generated: undefined;
1843
+ }, {}, {}>;
1844
+ };
1845
+ dialect: "sqlite";
1846
+ }>;
1847
+ agentModelPricing: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1848
+ name: "agent_model_pricing";
1849
+ schema: undefined;
1850
+ columns: {
1851
+ id: drizzle_orm_sqlite_core.SQLiteColumn<{
1852
+ name: "id";
1853
+ tableName: "agent_model_pricing";
1854
+ dataType: "string";
1855
+ columnType: "SQLiteText";
1856
+ data: string;
1857
+ driverParam: string;
1858
+ notNull: true;
1859
+ hasDefault: false;
1860
+ isPrimaryKey: true;
1861
+ isAutoincrement: false;
1862
+ hasRuntimeDefault: false;
1863
+ enumValues: [string, ...string[]];
1864
+ baseColumn: never;
1865
+ identity: undefined;
1866
+ generated: undefined;
1867
+ }, {}, {
1868
+ length: number | undefined;
1869
+ }>;
1870
+ modelId: drizzle_orm_sqlite_core.SQLiteColumn<{
1871
+ name: "model_id";
1872
+ tableName: "agent_model_pricing";
1873
+ dataType: "string";
1874
+ columnType: "SQLiteText";
1875
+ data: string;
1876
+ driverParam: string;
1877
+ notNull: true;
1878
+ hasDefault: false;
1879
+ isPrimaryKey: false;
1880
+ isAutoincrement: false;
1881
+ hasRuntimeDefault: false;
1882
+ enumValues: [string, ...string[]];
1883
+ baseColumn: never;
1884
+ identity: undefined;
1885
+ generated: undefined;
1886
+ }, {}, {
1887
+ length: number | undefined;
1888
+ }>;
1889
+ inputPricePer1m: drizzle_orm_sqlite_core.SQLiteColumn<{
1890
+ name: "input_price_per_1m";
1891
+ tableName: "agent_model_pricing";
1892
+ dataType: "number";
1893
+ columnType: "SQLiteReal";
1894
+ data: number;
1895
+ driverParam: number;
1896
+ notNull: true;
1897
+ hasDefault: false;
1898
+ isPrimaryKey: false;
1899
+ isAutoincrement: false;
1900
+ hasRuntimeDefault: false;
1901
+ enumValues: undefined;
1902
+ baseColumn: never;
1903
+ identity: undefined;
1904
+ generated: undefined;
1905
+ }, {}, {}>;
1906
+ outputPricePer1m: drizzle_orm_sqlite_core.SQLiteColumn<{
1907
+ name: "output_price_per_1m";
1908
+ tableName: "agent_model_pricing";
1909
+ dataType: "number";
1910
+ columnType: "SQLiteReal";
1911
+ data: number;
1912
+ driverParam: number;
1913
+ notNull: true;
1914
+ hasDefault: false;
1915
+ isPrimaryKey: false;
1916
+ isAutoincrement: false;
1917
+ hasRuntimeDefault: false;
1918
+ enumValues: undefined;
1919
+ baseColumn: never;
1920
+ identity: undefined;
1921
+ generated: undefined;
1922
+ }, {}, {}>;
1923
+ cacheWritePricePer1m: drizzle_orm_sqlite_core.SQLiteColumn<{
1924
+ name: "cache_write_price_per_1m";
1925
+ tableName: "agent_model_pricing";
1926
+ dataType: "number";
1927
+ columnType: "SQLiteReal";
1928
+ data: number;
1929
+ driverParam: number;
1930
+ notNull: false;
1931
+ hasDefault: false;
1932
+ isPrimaryKey: false;
1933
+ isAutoincrement: false;
1934
+ hasRuntimeDefault: false;
1935
+ enumValues: undefined;
1936
+ baseColumn: never;
1937
+ identity: undefined;
1938
+ generated: undefined;
1939
+ }, {}, {}>;
1940
+ cacheReadPricePer1m: drizzle_orm_sqlite_core.SQLiteColumn<{
1941
+ name: "cache_read_price_per_1m";
1942
+ tableName: "agent_model_pricing";
1943
+ dataType: "number";
1944
+ columnType: "SQLiteReal";
1945
+ data: number;
1946
+ driverParam: number;
1947
+ notNull: false;
1948
+ hasDefault: false;
1949
+ isPrimaryKey: false;
1950
+ isAutoincrement: false;
1951
+ hasRuntimeDefault: false;
1952
+ enumValues: undefined;
1953
+ baseColumn: never;
1954
+ identity: undefined;
1955
+ generated: undefined;
1956
+ }, {}, {}>;
1957
+ effectiveFrom: drizzle_orm_sqlite_core.SQLiteColumn<{
1958
+ name: "effective_from";
1959
+ tableName: "agent_model_pricing";
1960
+ dataType: "date";
1961
+ columnType: "SQLiteTimestamp";
1962
+ data: Date;
1963
+ driverParam: number;
1964
+ notNull: true;
1965
+ hasDefault: false;
1966
+ isPrimaryKey: false;
1967
+ isAutoincrement: false;
1968
+ hasRuntimeDefault: false;
1969
+ enumValues: undefined;
1970
+ baseColumn: never;
1971
+ identity: undefined;
1972
+ generated: undefined;
1973
+ }, {}, {}>;
1974
+ isCurrent: drizzle_orm_sqlite_core.SQLiteColumn<{
1975
+ name: "is_current";
1976
+ tableName: "agent_model_pricing";
1977
+ dataType: "boolean";
1978
+ columnType: "SQLiteBoolean";
1979
+ data: boolean;
1980
+ driverParam: number;
1981
+ notNull: true;
1982
+ hasDefault: false;
1983
+ isPrimaryKey: false;
1984
+ isAutoincrement: false;
1985
+ hasRuntimeDefault: false;
1986
+ enumValues: undefined;
1987
+ baseColumn: never;
1988
+ identity: undefined;
1989
+ generated: undefined;
1990
+ }, {}, {}>;
1991
+ };
1992
+ dialect: "sqlite";
1993
+ }>;
1994
+ };
1995
+ /**
1996
+ * The dialect-portable Drizzle SQLite database handle the store operates on. Accepts any SQLite
1997
+ * driver (better-sqlite3, libsql, D1, …) in either sync or async result mode; the host app owns
1998
+ * the connection and passes the `drizzle(...)` instance in.
1999
+ */
2000
+ type AgentDrizzleDb = BaseSQLiteDatabase<'sync' | 'async', unknown>;
2001
+ /** A persisted thread row as Drizzle selects it. */
2002
+ type AgentThreadRow = typeof agentThread.$inferSelect;
2003
+ /** A persisted message row as Drizzle selects it. */
2004
+ type AgentMessageRow = typeof agentMessage.$inferSelect;
2005
+
2006
+ /** Runs the `CREATE TABLE IF NOT EXISTS` DDL above against the supplied Drizzle SQLite db. */
2007
+ declare function ensureAgentSchema(db: AgentDrizzleDb): Promise<void>;
2008
+
2009
+ /**
2010
+ * {@link AgentStore} backed by Drizzle ORM — a second adapter alongside the MikroORM one, proving
2011
+ * the store SPI is ORM-portable. A POJO receiving a Drizzle SQLite database handle (the host app
2012
+ * owns the connection). Behaviour mirrors {@link import('@dudousxd/nestjs-agent-store-mikro-orm')}
2013
+ * exactly (fork/truncate/quota/active-stream/soft-delete semantics) so the two are interchangeable.
2014
+ */
2015
+ declare class DrizzleAgentStore implements AgentStore {
2016
+ private readonly db;
2017
+ constructor(db: AgentDrizzleDb);
2018
+ createThread(input: CreateThreadInput): Promise<ThreadSummary>;
2019
+ getThread(threadId: string): Promise<ThreadDetail | null>;
2020
+ listThreads(actorRef: string, limit?: number): Promise<ThreadSummary[]>;
2021
+ softDeleteThread(threadId: string): Promise<void>;
2022
+ forkThread(threadId: string, fromMessageId: string): Promise<ThreadSummary>;
2023
+ ownerOfThread(threadId: string): Promise<string | null>;
2024
+ ownerOfToolCall(toolCallId: string): Promise<string | null>;
2025
+ runForToolCall(toolCallId: string): Promise<string | null>;
2026
+ ownerOfActiveStream(runId: string): Promise<string | null>;
2027
+ setTitle(threadId: string, title: string): Promise<void>;
2028
+ setActiveStream(threadId: string, runId: string | null): Promise<void>;
2029
+ appendMessage(input: AppendMessageInput): Promise<StoredMessage>;
2030
+ truncateFrom(threadId: string, messageId: string): Promise<void>;
2031
+ recordToolCall(input: RecordToolCallInput): Promise<void>;
2032
+ updateToolCall(input: UpdateToolCallInput): Promise<void>;
2033
+ recordUsage(input: RecordUsageInput): Promise<void>;
2034
+ quotaToday(actorRef: string, day: string): Promise<{
2035
+ usedTokens: number;
2036
+ }>;
2037
+ private toSummary;
2038
+ private toStoredMessage;
2039
+ }
2040
+
2041
+ /**
2042
+ * {@link AgentGovernanceQueries} backed by Drizzle ORM — the read/analytics half of the store SPI,
2043
+ * mirroring {@link import('@dudousxd/nestjs-agent-store-mikro-orm')} exactly. Cost is the token
2044
+ * ledger joined to the current pricing row per model (`agentModelPricing.isCurrent`); an unpriced
2045
+ * model contributes 0 cost. Aggregation is in-process (like `quotaToday`) so day-bucketing stays
2046
+ * dialect-portable.
2047
+ */
2048
+ declare class DrizzleGovernanceQueries implements AgentGovernanceQueries {
2049
+ private readonly db;
2050
+ constructor(db: AgentDrizzleDb);
2051
+ private loadPricing;
2052
+ private usageInRange;
2053
+ spendByModel(range: GovernanceRange): Promise<ModelSpendRow[]>;
2054
+ spendByActor(range: GovernanceRange): Promise<ActorSpendRow[]>;
2055
+ usageTrend(range: GovernanceRange): Promise<UsageTrendPoint[]>;
2056
+ recentToolCalls(limit: number): Promise<ToolCallActivityRow[]>;
2057
+ recentThreads(limit: number): Promise<ThreadActivityRow[]>;
2058
+ }
2059
+
2060
+ /**
2061
+ * {@link AgentPricingStore} backed by Drizzle ORM — the write side of the pricing table
2062
+ * {@link import('./drizzle-governance-queries.js').DrizzleGovernanceQueries} joins against. A POJO
2063
+ * receiving a Drizzle SQLite database handle (the host app owns the connection), mirroring
2064
+ * {@link import('@dudousxd/nestjs-agent-store-mikro-orm')} exactly (atomic supersede semantics).
2065
+ */
2066
+ declare class DrizzlePricingStore implements AgentPricingStore {
2067
+ private readonly db;
2068
+ constructor(db: AgentDrizzleDb);
2069
+ upsertModelPrice(input: ModelPriceInput): Promise<void>;
2070
+ listCurrentPrices(): Promise<CurrentModelPrice[]>;
2071
+ }
2072
+
2073
+ /** Options for {@link DrizzleAgentStoreModule.forRoot}. The app owns and supplies the db handle. */
2074
+ interface DrizzleAgentStoreModuleOptions {
2075
+ /** A Drizzle SQLite database instance (`drizzle(client, { schema: agentSchema })`). */
2076
+ db: AgentDrizzleDb;
2077
+ }
2078
+ /**
2079
+ * Binds {@link DrizzleAgentStore} to the {@link AGENT_STORE} token consumed by
2080
+ * `@dudousxd/nestjs-agent`, plus {@link DrizzleGovernanceQueries} to
2081
+ * {@link AGENT_GOVERNANCE_QUERIES} (the read-model the dashboard/telescope surfaces consume) and
2082
+ * {@link DrizzlePricingStore} to {@link AGENT_PRICING_STORE} (the write side of that pricing table).
2083
+ * The host app supplies an already-opened Drizzle db — this module never opens a connection itself.
2084
+ *
2085
+ * The returned module is global, so {@link AGENT_STORE}, {@link AGENT_GOVERNANCE_QUERIES} and
2086
+ * {@link AGENT_PRICING_STORE} are visible app-wide — `AgentModule` resolves the store without an
2087
+ * explicit `store` option, and the dashboard/telescope resolve {@link AGENT_GOVERNANCE_QUERIES}
2088
+ * without the host re-binding it.
2089
+ *
2090
+ * ```ts
2091
+ * @Module({ imports: [DrizzleAgentStoreModule.forRoot({ db })] })
2092
+ * export class AppModule {}
2093
+ * ```
2094
+ */
2095
+ declare class DrizzleAgentStoreModule {
2096
+ static forRoot(options: DrizzleAgentStoreModuleOptions): DynamicModule;
2097
+ }
2098
+
2099
+ export { type AgentDrizzleDb, type AgentMessageRow, type AgentThreadRow, DrizzleAgentStore, DrizzleAgentStoreModule, type DrizzleAgentStoreModuleOptions, DrizzleGovernanceQueries, DrizzlePricingStore, agentMessage, agentModelPricing, agentSchema, agentThread, agentTokenUsage, agentToolCall, ensureAgentSchema };