@cereworker/core 0.6.0 → 0.6.1
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/dist/conversation.d.ts +1 -2
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +142 -57
- package/dist/conversation.js.map +1 -1
- package/package.json +4 -2
package/dist/conversation.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { Conversation, Message, MessageRole } from './types.js';
|
|
2
2
|
export declare class ConversationStore {
|
|
3
|
-
private
|
|
3
|
+
private backend;
|
|
4
4
|
constructor(dbPath?: string);
|
|
5
|
-
private ensureSchema;
|
|
6
5
|
create(): Conversation;
|
|
7
6
|
get(id: string): Conversation | undefined;
|
|
8
7
|
list(): Conversation[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA2NrE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAiB;gBAEpB,MAAM,CAAC,EAAE,MAAM;IAqB3B,MAAM,IAAI,YAAY;IActB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAYzC,IAAI,IAAI,YAAY,EAAE;IAStB,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;IAgB5G,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE;IAI9C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAM3B,kFAAkF;IAClF,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIjD,KAAK,IAAI,IAAI;CAGd"}
|
package/dist/conversation.js
CHANGED
|
@@ -6,24 +6,24 @@ import { createRequire } from 'node:module';
|
|
|
6
6
|
import { createLogger } from './logger.js';
|
|
7
7
|
const log = createLogger('conversation');
|
|
8
8
|
const require = createRequire(import.meta.url);
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
function tryOpenDb(dbPath) {
|
|
10
|
+
try {
|
|
11
|
+
const Database = require('better-sqlite3');
|
|
12
|
+
return new Database(dbPath);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
12
17
|
}
|
|
13
18
|
const DEFAULT_DB_PATH = join(homedir(), '.cereworker', 'conversations.db');
|
|
14
|
-
|
|
19
|
+
/** SQLite-backed storage using better-sqlite3 */
|
|
20
|
+
class SqliteBackend {
|
|
15
21
|
db;
|
|
16
|
-
constructor(
|
|
17
|
-
|
|
18
|
-
const dir = dirname(path);
|
|
19
|
-
if (!existsSync(dir)) {
|
|
20
|
-
mkdirSync(dir, { recursive: true });
|
|
21
|
-
}
|
|
22
|
-
this.db = openDb(path);
|
|
22
|
+
constructor(db) {
|
|
23
|
+
this.db = db;
|
|
23
24
|
this.db.pragma('journal_mode = WAL');
|
|
24
25
|
this.db.pragma('foreign_keys = ON');
|
|
25
26
|
this.ensureSchema();
|
|
26
|
-
log.info('Opened conversation database', { path });
|
|
27
27
|
}
|
|
28
28
|
ensureSchema() {
|
|
29
29
|
this.db.exec(`
|
|
@@ -49,6 +49,125 @@ export class ConversationStore {
|
|
|
49
49
|
ON messages(conversationId, timestamp);
|
|
50
50
|
`);
|
|
51
51
|
}
|
|
52
|
+
createConversation(id, now) {
|
|
53
|
+
this.db
|
|
54
|
+
.prepare('INSERT INTO conversations (id, createdAt, updatedAt) VALUES (?, ?, ?)')
|
|
55
|
+
.run(id, now, now);
|
|
56
|
+
}
|
|
57
|
+
getConversation(id) {
|
|
58
|
+
return this.db
|
|
59
|
+
.prepare('SELECT id, createdAt, updatedAt FROM conversations WHERE id = ?')
|
|
60
|
+
.get(id);
|
|
61
|
+
}
|
|
62
|
+
listConversations() {
|
|
63
|
+
return this.db
|
|
64
|
+
.prepare('SELECT id, createdAt, updatedAt FROM conversations ORDER BY updatedAt DESC')
|
|
65
|
+
.all();
|
|
66
|
+
}
|
|
67
|
+
insertMessage(conversationId, message) {
|
|
68
|
+
this.db
|
|
69
|
+
.prepare(`INSERT INTO messages (id, conversationId, role, content, timestamp, toolCalls, toolResult, metadata)
|
|
70
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
71
|
+
.run(message.id, conversationId, message.role, message.content, message.timestamp, message.toolCalls ? JSON.stringify(message.toolCalls) : null, message.toolResult ? JSON.stringify(message.toolResult) : null, message.metadata ? JSON.stringify(message.metadata) : null);
|
|
72
|
+
this.db
|
|
73
|
+
.prepare('UPDATE conversations SET updatedAt = ? WHERE id = ?')
|
|
74
|
+
.run(Date.now(), conversationId);
|
|
75
|
+
}
|
|
76
|
+
getMessages(conversationId) {
|
|
77
|
+
const rows = this.db
|
|
78
|
+
.prepare(`SELECT id, role, content, timestamp, toolCalls, toolResult, metadata
|
|
79
|
+
FROM messages WHERE conversationId = ? ORDER BY timestamp`)
|
|
80
|
+
.all(conversationId);
|
|
81
|
+
return rows.map((row) => ({
|
|
82
|
+
id: row.id,
|
|
83
|
+
role: row.role,
|
|
84
|
+
content: row.content,
|
|
85
|
+
timestamp: row.timestamp,
|
|
86
|
+
...(row.toolCalls ? { toolCalls: JSON.parse(row.toolCalls) } : {}),
|
|
87
|
+
...(row.toolResult ? { toolResult: JSON.parse(row.toolResult) } : {}),
|
|
88
|
+
...(row.metadata ? { metadata: JSON.parse(row.metadata) } : {}),
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
deleteConversation(id) {
|
|
92
|
+
const result = this.db
|
|
93
|
+
.prepare('DELETE FROM conversations WHERE id = ?')
|
|
94
|
+
.run(id);
|
|
95
|
+
return result.changes > 0;
|
|
96
|
+
}
|
|
97
|
+
getPreview(conversationId) {
|
|
98
|
+
const row = this.db
|
|
99
|
+
.prepare(`SELECT content FROM messages
|
|
100
|
+
WHERE conversationId = ? AND role = 'user'
|
|
101
|
+
ORDER BY timestamp ASC LIMIT 1`)
|
|
102
|
+
.get(conversationId);
|
|
103
|
+
return row?.content ?? null;
|
|
104
|
+
}
|
|
105
|
+
close() {
|
|
106
|
+
this.db.close();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/** In-memory fallback when better-sqlite3 is not available */
|
|
110
|
+
class MemoryBackend {
|
|
111
|
+
conversations = new Map();
|
|
112
|
+
messages = new Map();
|
|
113
|
+
createConversation(id, now) {
|
|
114
|
+
this.conversations.set(id, { id, createdAt: now, updatedAt: now });
|
|
115
|
+
this.messages.set(id, []);
|
|
116
|
+
}
|
|
117
|
+
getConversation(id) {
|
|
118
|
+
return this.conversations.get(id);
|
|
119
|
+
}
|
|
120
|
+
listConversations() {
|
|
121
|
+
return Array.from(this.conversations.values()).sort((a, b) => b.updatedAt - a.updatedAt);
|
|
122
|
+
}
|
|
123
|
+
insertMessage(conversationId, message) {
|
|
124
|
+
const msgs = this.messages.get(conversationId);
|
|
125
|
+
if (msgs) {
|
|
126
|
+
msgs.push(message);
|
|
127
|
+
const conv = this.conversations.get(conversationId);
|
|
128
|
+
if (conv)
|
|
129
|
+
conv.updatedAt = Date.now();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
getMessages(conversationId) {
|
|
133
|
+
return [...(this.messages.get(conversationId) ?? [])];
|
|
134
|
+
}
|
|
135
|
+
deleteConversation(id) {
|
|
136
|
+
const existed = this.conversations.has(id);
|
|
137
|
+
this.conversations.delete(id);
|
|
138
|
+
this.messages.delete(id);
|
|
139
|
+
return existed;
|
|
140
|
+
}
|
|
141
|
+
getPreview(conversationId) {
|
|
142
|
+
const msgs = this.messages.get(conversationId) ?? [];
|
|
143
|
+
const first = msgs.find((m) => m.role === 'user');
|
|
144
|
+
return first?.content ?? null;
|
|
145
|
+
}
|
|
146
|
+
close() {
|
|
147
|
+
// no-op
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
export class ConversationStore {
|
|
151
|
+
backend;
|
|
152
|
+
constructor(dbPath) {
|
|
153
|
+
const path = dbPath ?? DEFAULT_DB_PATH;
|
|
154
|
+
// Try SQLite first
|
|
155
|
+
if (path !== ':memory:') {
|
|
156
|
+
const dir = dirname(path);
|
|
157
|
+
if (!existsSync(dir)) {
|
|
158
|
+
mkdirSync(dir, { recursive: true });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
const db = tryOpenDb(path);
|
|
162
|
+
if (db) {
|
|
163
|
+
this.backend = new SqliteBackend(db);
|
|
164
|
+
log.info('Opened conversation database', { path });
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
this.backend = new MemoryBackend();
|
|
168
|
+
log.warn('better-sqlite3 not available, using in-memory conversation store (conversations will not persist across sessions)');
|
|
169
|
+
}
|
|
170
|
+
}
|
|
52
171
|
create() {
|
|
53
172
|
const now = Date.now();
|
|
54
173
|
const conversation = {
|
|
@@ -57,16 +176,12 @@ export class ConversationStore {
|
|
|
57
176
|
createdAt: now,
|
|
58
177
|
updatedAt: now,
|
|
59
178
|
};
|
|
60
|
-
this.
|
|
61
|
-
.prepare('INSERT INTO conversations (id, createdAt, updatedAt) VALUES (?, ?, ?)')
|
|
62
|
-
.run(conversation.id, now, now);
|
|
179
|
+
this.backend.createConversation(conversation.id, now);
|
|
63
180
|
log.debug('Created conversation', { id: conversation.id });
|
|
64
181
|
return conversation;
|
|
65
182
|
}
|
|
66
183
|
get(id) {
|
|
67
|
-
const row = this.
|
|
68
|
-
.prepare('SELECT id, createdAt, updatedAt FROM conversations WHERE id = ?')
|
|
69
|
-
.get(id);
|
|
184
|
+
const row = this.backend.getConversation(id);
|
|
70
185
|
if (!row)
|
|
71
186
|
return undefined;
|
|
72
187
|
return {
|
|
@@ -77,10 +192,7 @@ export class ConversationStore {
|
|
|
77
192
|
};
|
|
78
193
|
}
|
|
79
194
|
list() {
|
|
80
|
-
|
|
81
|
-
.prepare('SELECT id, createdAt, updatedAt FROM conversations ORDER BY updatedAt DESC')
|
|
82
|
-
.all();
|
|
83
|
-
return rows.map((row) => ({
|
|
195
|
+
return this.backend.listConversations().map((row) => ({
|
|
84
196
|
id: row.id,
|
|
85
197
|
messages: [], // Don't load messages for list view
|
|
86
198
|
createdAt: row.createdAt,
|
|
@@ -88,9 +200,7 @@ export class ConversationStore {
|
|
|
88
200
|
}));
|
|
89
201
|
}
|
|
90
202
|
appendMessage(conversationId, role, content, extra) {
|
|
91
|
-
const row = this.
|
|
92
|
-
.prepare('SELECT id FROM conversations WHERE id = ?')
|
|
93
|
-
.get(conversationId);
|
|
203
|
+
const row = this.backend.getConversation(conversationId);
|
|
94
204
|
if (!row)
|
|
95
205
|
throw new Error(`Conversation ${conversationId} not found`);
|
|
96
206
|
const message = {
|
|
@@ -100,48 +210,23 @@ export class ConversationStore {
|
|
|
100
210
|
timestamp: Date.now(),
|
|
101
211
|
...extra,
|
|
102
212
|
};
|
|
103
|
-
this.
|
|
104
|
-
.prepare(`INSERT INTO messages (id, conversationId, role, content, timestamp, toolCalls, toolResult, metadata)
|
|
105
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
106
|
-
.run(message.id, conversationId, message.role, message.content, message.timestamp, message.toolCalls ? JSON.stringify(message.toolCalls) : null, message.toolResult ? JSON.stringify(message.toolResult) : null, message.metadata ? JSON.stringify(message.metadata) : null);
|
|
107
|
-
this.db
|
|
108
|
-
.prepare('UPDATE conversations SET updatedAt = ? WHERE id = ?')
|
|
109
|
-
.run(Date.now(), conversationId);
|
|
213
|
+
this.backend.insertMessage(conversationId, message);
|
|
110
214
|
return message;
|
|
111
215
|
}
|
|
112
216
|
getMessages(conversationId) {
|
|
113
|
-
|
|
114
|
-
.prepare(`SELECT id, role, content, timestamp, toolCalls, toolResult, metadata
|
|
115
|
-
FROM messages WHERE conversationId = ? ORDER BY timestamp`)
|
|
116
|
-
.all(conversationId);
|
|
117
|
-
return rows.map((row) => ({
|
|
118
|
-
id: row.id,
|
|
119
|
-
role: row.role,
|
|
120
|
-
content: row.content,
|
|
121
|
-
timestamp: row.timestamp,
|
|
122
|
-
...(row.toolCalls ? { toolCalls: JSON.parse(row.toolCalls) } : {}),
|
|
123
|
-
...(row.toolResult ? { toolResult: JSON.parse(row.toolResult) } : {}),
|
|
124
|
-
...(row.metadata ? { metadata: JSON.parse(row.metadata) } : {}),
|
|
125
|
-
}));
|
|
217
|
+
return this.backend.getMessages(conversationId);
|
|
126
218
|
}
|
|
127
219
|
delete(id) {
|
|
128
|
-
const result = this.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
log.debug('Deleted conversation', { id, deleted: result.changes > 0 });
|
|
132
|
-
return result.changes > 0;
|
|
220
|
+
const result = this.backend.deleteConversation(id);
|
|
221
|
+
log.debug('Deleted conversation', { id, deleted: result });
|
|
222
|
+
return result;
|
|
133
223
|
}
|
|
134
224
|
/** Get the most recent message content from a conversation (for list previews) */
|
|
135
225
|
getPreview(conversationId) {
|
|
136
|
-
|
|
137
|
-
.prepare(`SELECT content FROM messages
|
|
138
|
-
WHERE conversationId = ? AND role = 'user'
|
|
139
|
-
ORDER BY timestamp ASC LIMIT 1`)
|
|
140
|
-
.get(conversationId);
|
|
141
|
-
return row?.content ?? null;
|
|
226
|
+
return this.backend.getPreview(conversationId);
|
|
142
227
|
}
|
|
143
228
|
close() {
|
|
144
|
-
this.
|
|
229
|
+
this.backend.close();
|
|
145
230
|
}
|
|
146
231
|
}
|
|
147
232
|
//# sourceMappingURL=conversation.js.map
|
package/dist/conversation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAgB/C,SAAS,
|
|
1
|
+
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cereworker/core",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -16,10 +16,12 @@
|
|
|
16
16
|
"directory": "packages/core"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"better-sqlite3": "^11.7.0",
|
|
20
19
|
"nanoid": "^5.0.9",
|
|
21
20
|
"@cereworker/config": "0.6.0"
|
|
22
21
|
},
|
|
22
|
+
"optionalDependencies": {
|
|
23
|
+
"better-sqlite3": "^11.7.0"
|
|
24
|
+
},
|
|
23
25
|
"devDependencies": {
|
|
24
26
|
"@types/better-sqlite3": "^7.6.12",
|
|
25
27
|
"typescript": "^5.7.3"
|