@dudousxd/nestjs-agent-store-drizzle 0.14.0 → 0.15.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.
- package/README.md +1 -0
- package/dist/index.cjs +25 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +41 -1
- package/dist/index.d.ts +41 -1
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
|
|
2
2
|
import { BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core';
|
|
3
|
-
import { MessageRole, ToolCallRequest, ToolResult, MessageAttachment, MessageUsage, AgentUiComponent, ToolKind, ToolCallStatus, UsagePurpose, AgentStore, ThreadTurnReader, CreateThreadInput, ThreadSummary, ThreadDetail, ThreadTurnQuery, ThreadTurnPage, ToolCallApprovalState, UpdateThreadInput, RecordRunStartInput, AppendMessageInput, StoredMessage, RecordToolCallInput, UpdateToolCallInput, RecordUsageInput, AgentGovernanceQueries, AgentPricingStore, GovernanceRange, ModelSpendRow, ActorSpendRow, ThreadSpendRow, UsageTrendPoint, ToolCallActivityRow, ThreadActivityRow, RunMetrics, RunAgentBreakdownRow, RunErrorBreakdownRow, RunTrendPoint, RecentRunRow, PendingApprovalRow, ToolStatRow, GovernancePageQuery, ToolCallWhere, GovernancePage, ThreadWhere, RunWhere, ApprovalWhere, GovernanceRunDetail, GovernanceThreadDetailQuery, GovernanceThreadDetail, MemoryProvider, ListMemoriesInput, MemoryRecord, ForgetMemoryInput, StoreMemoryInput, ModelPriceInput, CurrentModelPrice } from '@dudousxd/nestjs-agent-core';
|
|
3
|
+
import { MessageRole, ToolCallRequest, ToolResult, MessageAttachment, MessageUsage, AgentUiComponent, MessageFeedback, ToolKind, ToolCallStatus, UsagePurpose, AgentStore, ThreadTurnReader, CreateThreadInput, ThreadSummary, ThreadDetail, ThreadTurnQuery, ThreadTurnPage, ToolCallApprovalState, UpdateThreadInput, RecordRunStartInput, AppendMessageInput, StoredMessage, RecordToolCallInput, UpdateToolCallInput, RecordUsageInput, AgentGovernanceQueries, AgentPricingStore, GovernanceRange, ModelSpendRow, ActorSpendRow, ThreadSpendRow, UsageTrendPoint, ToolCallActivityRow, ThreadActivityRow, RunMetrics, RunAgentBreakdownRow, RunErrorBreakdownRow, RunTrendPoint, RecentRunRow, PendingApprovalRow, ToolStatRow, GovernancePageQuery, ToolCallWhere, GovernancePage, ThreadWhere, RunWhere, ApprovalWhere, GovernanceRunDetail, GovernanceThreadDetailQuery, GovernanceThreadDetail, MemoryProvider, ListMemoriesInput, MemoryRecord, ForgetMemoryInput, StoreMemoryInput, ModelPriceInput, CurrentModelPrice } from '@dudousxd/nestjs-agent-core';
|
|
4
4
|
export { ThreadTurnPage, ThreadTurnQuery } from '@dudousxd/nestjs-agent-core';
|
|
5
5
|
import { TablesRelationalConfig, SQL } from 'drizzle-orm';
|
|
6
6
|
import { OnModuleInit, OnModuleDestroy, Type, DynamicModule } from '@nestjs/common';
|
|
@@ -481,6 +481,25 @@ declare const agentMessage: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
481
481
|
}, {}, {
|
|
482
482
|
$type: AgentUiComponent[];
|
|
483
483
|
}>;
|
|
484
|
+
feedback: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
485
|
+
name: "feedback";
|
|
486
|
+
tableName: "agent_message";
|
|
487
|
+
dataType: "json";
|
|
488
|
+
columnType: "SQLiteTextJson";
|
|
489
|
+
data: MessageFeedback;
|
|
490
|
+
driverParam: string;
|
|
491
|
+
notNull: false;
|
|
492
|
+
hasDefault: false;
|
|
493
|
+
isPrimaryKey: false;
|
|
494
|
+
isAutoincrement: false;
|
|
495
|
+
hasRuntimeDefault: false;
|
|
496
|
+
enumValues: undefined;
|
|
497
|
+
baseColumn: never;
|
|
498
|
+
identity: undefined;
|
|
499
|
+
generated: undefined;
|
|
500
|
+
}, {}, {
|
|
501
|
+
$type: MessageFeedback;
|
|
502
|
+
}>;
|
|
484
503
|
createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
485
504
|
name: "created_at";
|
|
486
505
|
tableName: "agent_message";
|
|
@@ -2413,6 +2432,25 @@ declare const agentSchema: {
|
|
|
2413
2432
|
}, {}, {
|
|
2414
2433
|
$type: AgentUiComponent[];
|
|
2415
2434
|
}>;
|
|
2435
|
+
feedback: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
2436
|
+
name: "feedback";
|
|
2437
|
+
tableName: "agent_message";
|
|
2438
|
+
dataType: "json";
|
|
2439
|
+
columnType: "SQLiteTextJson";
|
|
2440
|
+
data: MessageFeedback;
|
|
2441
|
+
driverParam: string;
|
|
2442
|
+
notNull: false;
|
|
2443
|
+
hasDefault: false;
|
|
2444
|
+
isPrimaryKey: false;
|
|
2445
|
+
isAutoincrement: false;
|
|
2446
|
+
hasRuntimeDefault: false;
|
|
2447
|
+
enumValues: undefined;
|
|
2448
|
+
baseColumn: never;
|
|
2449
|
+
identity: undefined;
|
|
2450
|
+
generated: undefined;
|
|
2451
|
+
}, {}, {
|
|
2452
|
+
$type: MessageFeedback;
|
|
2453
|
+
}>;
|
|
2416
2454
|
createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
2417
2455
|
name: "created_at";
|
|
2418
2456
|
tableName: "agent_message";
|
|
@@ -3934,6 +3972,8 @@ declare class DrizzleAgentStore implements AgentStore, ThreadTurnReader {
|
|
|
3934
3972
|
appendMessage(input: AppendMessageInput): Promise<StoredMessage>;
|
|
3935
3973
|
setMessageToolResults(messageId: string, results: ToolResult[]): Promise<void>;
|
|
3936
3974
|
setMessageUi(messageId: string, ui: AgentUiComponent[]): Promise<void>;
|
|
3975
|
+
threadOfMessage(messageId: string): Promise<string | null>;
|
|
3976
|
+
setMessageFeedback(messageId: string, feedback: MessageFeedback | null): Promise<void>;
|
|
3937
3977
|
truncateFrom(threadId: string, messageId: string): Promise<void>;
|
|
3938
3978
|
recordToolCall(input: RecordToolCallInput): Promise<void>;
|
|
3939
3979
|
updateToolCall(input: UpdateToolCallInput): Promise<void>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
|
|
2
2
|
import { BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core';
|
|
3
|
-
import { MessageRole, ToolCallRequest, ToolResult, MessageAttachment, MessageUsage, AgentUiComponent, ToolKind, ToolCallStatus, UsagePurpose, AgentStore, ThreadTurnReader, CreateThreadInput, ThreadSummary, ThreadDetail, ThreadTurnQuery, ThreadTurnPage, ToolCallApprovalState, UpdateThreadInput, RecordRunStartInput, AppendMessageInput, StoredMessage, RecordToolCallInput, UpdateToolCallInput, RecordUsageInput, AgentGovernanceQueries, AgentPricingStore, GovernanceRange, ModelSpendRow, ActorSpendRow, ThreadSpendRow, UsageTrendPoint, ToolCallActivityRow, ThreadActivityRow, RunMetrics, RunAgentBreakdownRow, RunErrorBreakdownRow, RunTrendPoint, RecentRunRow, PendingApprovalRow, ToolStatRow, GovernancePageQuery, ToolCallWhere, GovernancePage, ThreadWhere, RunWhere, ApprovalWhere, GovernanceRunDetail, GovernanceThreadDetailQuery, GovernanceThreadDetail, MemoryProvider, ListMemoriesInput, MemoryRecord, ForgetMemoryInput, StoreMemoryInput, ModelPriceInput, CurrentModelPrice } from '@dudousxd/nestjs-agent-core';
|
|
3
|
+
import { MessageRole, ToolCallRequest, ToolResult, MessageAttachment, MessageUsage, AgentUiComponent, MessageFeedback, ToolKind, ToolCallStatus, UsagePurpose, AgentStore, ThreadTurnReader, CreateThreadInput, ThreadSummary, ThreadDetail, ThreadTurnQuery, ThreadTurnPage, ToolCallApprovalState, UpdateThreadInput, RecordRunStartInput, AppendMessageInput, StoredMessage, RecordToolCallInput, UpdateToolCallInput, RecordUsageInput, AgentGovernanceQueries, AgentPricingStore, GovernanceRange, ModelSpendRow, ActorSpendRow, ThreadSpendRow, UsageTrendPoint, ToolCallActivityRow, ThreadActivityRow, RunMetrics, RunAgentBreakdownRow, RunErrorBreakdownRow, RunTrendPoint, RecentRunRow, PendingApprovalRow, ToolStatRow, GovernancePageQuery, ToolCallWhere, GovernancePage, ThreadWhere, RunWhere, ApprovalWhere, GovernanceRunDetail, GovernanceThreadDetailQuery, GovernanceThreadDetail, MemoryProvider, ListMemoriesInput, MemoryRecord, ForgetMemoryInput, StoreMemoryInput, ModelPriceInput, CurrentModelPrice } from '@dudousxd/nestjs-agent-core';
|
|
4
4
|
export { ThreadTurnPage, ThreadTurnQuery } from '@dudousxd/nestjs-agent-core';
|
|
5
5
|
import { TablesRelationalConfig, SQL } from 'drizzle-orm';
|
|
6
6
|
import { OnModuleInit, OnModuleDestroy, Type, DynamicModule } from '@nestjs/common';
|
|
@@ -481,6 +481,25 @@ declare const agentMessage: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
|
|
|
481
481
|
}, {}, {
|
|
482
482
|
$type: AgentUiComponent[];
|
|
483
483
|
}>;
|
|
484
|
+
feedback: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
485
|
+
name: "feedback";
|
|
486
|
+
tableName: "agent_message";
|
|
487
|
+
dataType: "json";
|
|
488
|
+
columnType: "SQLiteTextJson";
|
|
489
|
+
data: MessageFeedback;
|
|
490
|
+
driverParam: string;
|
|
491
|
+
notNull: false;
|
|
492
|
+
hasDefault: false;
|
|
493
|
+
isPrimaryKey: false;
|
|
494
|
+
isAutoincrement: false;
|
|
495
|
+
hasRuntimeDefault: false;
|
|
496
|
+
enumValues: undefined;
|
|
497
|
+
baseColumn: never;
|
|
498
|
+
identity: undefined;
|
|
499
|
+
generated: undefined;
|
|
500
|
+
}, {}, {
|
|
501
|
+
$type: MessageFeedback;
|
|
502
|
+
}>;
|
|
484
503
|
createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
485
504
|
name: "created_at";
|
|
486
505
|
tableName: "agent_message";
|
|
@@ -2413,6 +2432,25 @@ declare const agentSchema: {
|
|
|
2413
2432
|
}, {}, {
|
|
2414
2433
|
$type: AgentUiComponent[];
|
|
2415
2434
|
}>;
|
|
2435
|
+
feedback: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
2436
|
+
name: "feedback";
|
|
2437
|
+
tableName: "agent_message";
|
|
2438
|
+
dataType: "json";
|
|
2439
|
+
columnType: "SQLiteTextJson";
|
|
2440
|
+
data: MessageFeedback;
|
|
2441
|
+
driverParam: string;
|
|
2442
|
+
notNull: false;
|
|
2443
|
+
hasDefault: false;
|
|
2444
|
+
isPrimaryKey: false;
|
|
2445
|
+
isAutoincrement: false;
|
|
2446
|
+
hasRuntimeDefault: false;
|
|
2447
|
+
enumValues: undefined;
|
|
2448
|
+
baseColumn: never;
|
|
2449
|
+
identity: undefined;
|
|
2450
|
+
generated: undefined;
|
|
2451
|
+
}, {}, {
|
|
2452
|
+
$type: MessageFeedback;
|
|
2453
|
+
}>;
|
|
2416
2454
|
createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
|
|
2417
2455
|
name: "created_at";
|
|
2418
2456
|
tableName: "agent_message";
|
|
@@ -3934,6 +3972,8 @@ declare class DrizzleAgentStore implements AgentStore, ThreadTurnReader {
|
|
|
3934
3972
|
appendMessage(input: AppendMessageInput): Promise<StoredMessage>;
|
|
3935
3973
|
setMessageToolResults(messageId: string, results: ToolResult[]): Promise<void>;
|
|
3936
3974
|
setMessageUi(messageId: string, ui: AgentUiComponent[]): Promise<void>;
|
|
3975
|
+
threadOfMessage(messageId: string): Promise<string | null>;
|
|
3976
|
+
setMessageFeedback(messageId: string, feedback: MessageFeedback | null): Promise<void>;
|
|
3937
3977
|
truncateFrom(threadId: string, messageId: string): Promise<void>;
|
|
3938
3978
|
recordToolCall(input: RecordToolCallInput): Promise<void>;
|
|
3939
3979
|
updateToolCall(input: UpdateToolCallInput): Promise<void>;
|
package/dist/index.js
CHANGED
|
@@ -57,6 +57,10 @@ var agentMessage = sqliteTable("agent_message", {
|
|
|
57
57
|
ui: text("ui", {
|
|
58
58
|
mode: "json"
|
|
59
59
|
}).$type(),
|
|
60
|
+
/** The thread owner's thumbs-up/down (+ comment); `null` when unrated. Not copied on fork. */
|
|
61
|
+
feedback: text("feedback", {
|
|
62
|
+
mode: "json"
|
|
63
|
+
}).$type(),
|
|
60
64
|
createdAt: integer("created_at", {
|
|
61
65
|
mode: "timestamp_ms"
|
|
62
66
|
}).notNull()
|
|
@@ -268,6 +272,7 @@ var statements = [
|
|
|
268
272
|
reasoning TEXT,
|
|
269
273
|
reasoning_ms INTEGER,
|
|
270
274
|
ui TEXT,
|
|
275
|
+
feedback TEXT,
|
|
271
276
|
created_at INTEGER NOT NULL
|
|
272
277
|
)`,
|
|
273
278
|
`CREATE INDEX IF NOT EXISTS agent_message_thread_created_idx
|
|
@@ -407,6 +412,11 @@ var additiveColumns = [
|
|
|
407
412
|
column: "ui",
|
|
408
413
|
ddl: "ALTER TABLE agent_message ADD COLUMN ui TEXT"
|
|
409
414
|
},
|
|
415
|
+
{
|
|
416
|
+
table: "agent_message",
|
|
417
|
+
column: "feedback",
|
|
418
|
+
ddl: "ALTER TABLE agent_message ADD COLUMN feedback TEXT"
|
|
419
|
+
},
|
|
410
420
|
{
|
|
411
421
|
table: "agent_tool_call",
|
|
412
422
|
column: "approver",
|
|
@@ -810,6 +820,7 @@ var DrizzleAgentStore = class {
|
|
|
810
820
|
reasoning: input.reasoning ?? null,
|
|
811
821
|
reasoningMs: input.reasoningMs ?? null,
|
|
812
822
|
ui: input.ui ?? null,
|
|
823
|
+
feedback: null,
|
|
813
824
|
createdAt: now
|
|
814
825
|
};
|
|
815
826
|
await this.db.insert(agentMessage).values(message);
|
|
@@ -828,6 +839,17 @@ var DrizzleAgentStore = class {
|
|
|
828
839
|
ui: ui.length > 0 ? ui : null
|
|
829
840
|
}).where(eq(agentMessage.id, messageId));
|
|
830
841
|
}
|
|
842
|
+
async threadOfMessage(messageId) {
|
|
843
|
+
const [row] = await this.db.select({
|
|
844
|
+
threadId: agentMessage.threadId
|
|
845
|
+
}).from(agentMessage).where(eq(agentMessage.id, messageId)).limit(1);
|
|
846
|
+
return row?.threadId ?? null;
|
|
847
|
+
}
|
|
848
|
+
async setMessageFeedback(messageId, feedback) {
|
|
849
|
+
await this.db.update(agentMessage).set({
|
|
850
|
+
feedback
|
|
851
|
+
}).where(eq(agentMessage.id, messageId));
|
|
852
|
+
}
|
|
831
853
|
async truncateFrom(threadId, messageId) {
|
|
832
854
|
const messages = await this.db.select().from(agentMessage).where(eq(agentMessage.threadId, threadId)).orderBy(asc(agentMessage.createdAt), asc(agentMessage.id));
|
|
833
855
|
const cutoff = messages.findIndex((message) => message.id === messageId);
|
|
@@ -994,6 +1016,9 @@ var DrizzleAgentStore = class {
|
|
|
994
1016
|
} : {},
|
|
995
1017
|
...message.ui != null ? {
|
|
996
1018
|
ui: message.ui
|
|
1019
|
+
} : {},
|
|
1020
|
+
...message.feedback != null ? {
|
|
1021
|
+
feedback: message.feedback
|
|
997
1022
|
} : {}
|
|
998
1023
|
};
|
|
999
1024
|
}
|