@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 CHANGED
@@ -119,6 +119,7 @@ ALTER TABLE agent_run ADD COLUMN parent_run_id TEXT;
119
119
  ALTER TABLE agent_message ADD COLUMN reasoning TEXT;
120
120
  ALTER TABLE agent_message ADD COLUMN reasoning_ms INTEGER;
121
121
  ALTER TABLE agent_message ADD COLUMN ui TEXT;
122
+ ALTER TABLE agent_message ADD COLUMN feedback TEXT;
122
123
  ALTER TABLE agent_tool_call ADD COLUMN approver TEXT;
123
124
  ALTER TABLE agent_tool_call ADD COLUMN expires_at INTEGER;
124
125
  ALTER TABLE agent_tool_call ADD COLUMN remember INTEGER;
package/dist/index.cjs CHANGED
@@ -97,6 +97,10 @@ var agentMessage = (0, import_sqlite_core.sqliteTable)("agent_message", {
97
97
  ui: (0, import_sqlite_core.text)("ui", {
98
98
  mode: "json"
99
99
  }).$type(),
100
+ /** The thread owner's thumbs-up/down (+ comment); `null` when unrated. Not copied on fork. */
101
+ feedback: (0, import_sqlite_core.text)("feedback", {
102
+ mode: "json"
103
+ }).$type(),
100
104
  createdAt: (0, import_sqlite_core.integer)("created_at", {
101
105
  mode: "timestamp_ms"
102
106
  }).notNull()
@@ -308,6 +312,7 @@ var statements = [
308
312
  reasoning TEXT,
309
313
  reasoning_ms INTEGER,
310
314
  ui TEXT,
315
+ feedback TEXT,
311
316
  created_at INTEGER NOT NULL
312
317
  )`,
313
318
  `CREATE INDEX IF NOT EXISTS agent_message_thread_created_idx
@@ -447,6 +452,11 @@ var additiveColumns = [
447
452
  column: "ui",
448
453
  ddl: "ALTER TABLE agent_message ADD COLUMN ui TEXT"
449
454
  },
455
+ {
456
+ table: "agent_message",
457
+ column: "feedback",
458
+ ddl: "ALTER TABLE agent_message ADD COLUMN feedback TEXT"
459
+ },
450
460
  {
451
461
  table: "agent_tool_call",
452
462
  column: "approver",
@@ -850,6 +860,7 @@ var DrizzleAgentStore = class {
850
860
  reasoning: input.reasoning ?? null,
851
861
  reasoningMs: input.reasoningMs ?? null,
852
862
  ui: input.ui ?? null,
863
+ feedback: null,
853
864
  createdAt: now
854
865
  };
855
866
  await this.db.insert(agentMessage).values(message);
@@ -868,6 +879,17 @@ var DrizzleAgentStore = class {
868
879
  ui: ui.length > 0 ? ui : null
869
880
  }).where((0, import_drizzle_orm2.eq)(agentMessage.id, messageId));
870
881
  }
882
+ async threadOfMessage(messageId) {
883
+ const [row] = await this.db.select({
884
+ threadId: agentMessage.threadId
885
+ }).from(agentMessage).where((0, import_drizzle_orm2.eq)(agentMessage.id, messageId)).limit(1);
886
+ return row?.threadId ?? null;
887
+ }
888
+ async setMessageFeedback(messageId, feedback) {
889
+ await this.db.update(agentMessage).set({
890
+ feedback
891
+ }).where((0, import_drizzle_orm2.eq)(agentMessage.id, messageId));
892
+ }
871
893
  async truncateFrom(threadId, messageId) {
872
894
  const messages = await this.db.select().from(agentMessage).where((0, import_drizzle_orm2.eq)(agentMessage.threadId, threadId)).orderBy((0, import_drizzle_orm2.asc)(agentMessage.createdAt), (0, import_drizzle_orm2.asc)(agentMessage.id));
873
895
  const cutoff = messages.findIndex((message) => message.id === messageId);
@@ -1034,6 +1056,9 @@ var DrizzleAgentStore = class {
1034
1056
  } : {},
1035
1057
  ...message.ui != null ? {
1036
1058
  ui: message.ui
1059
+ } : {},
1060
+ ...message.feedback != null ? {
1061
+ feedback: message.feedback
1037
1062
  } : {}
1038
1063
  };
1039
1064
  }