@qnote/q-ai-note 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +8 -3
  2. package/dist/cli.js +16 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/server/api/chat.d.ts.map +1 -1
  5. package/dist/server/api/chat.js +3 -0
  6. package/dist/server/api/chat.js.map +1 -1
  7. package/dist/server/api/nodeEntities.d.ts +3 -0
  8. package/dist/server/api/nodeEntities.d.ts.map +1 -0
  9. package/dist/server/api/nodeEntities.js +116 -0
  10. package/dist/server/api/nodeEntities.js.map +1 -0
  11. package/dist/server/db.d.ts +13 -2
  12. package/dist/server/db.d.ts.map +1 -1
  13. package/dist/server/db.js +443 -94
  14. package/dist/server/db.js.map +1 -1
  15. package/dist/server/index.d.ts.map +1 -1
  16. package/dist/server/index.js +2 -0
  17. package/dist/server/index.js.map +1 -1
  18. package/dist/server/nodeEntitiesStore.d.ts +78 -0
  19. package/dist/server/nodeEntitiesStore.d.ts.map +1 -0
  20. package/dist/server/nodeEntitiesStore.js +196 -0
  21. package/dist/server/nodeEntitiesStore.js.map +1 -0
  22. package/dist/server/react/agent.d.ts +3 -0
  23. package/dist/server/react/agent.d.ts.map +1 -1
  24. package/dist/server/react/agent.js +132 -2
  25. package/dist/server/react/agent.js.map +1 -1
  26. package/dist/server/react/prompts.d.ts +1 -0
  27. package/dist/server/react/prompts.d.ts.map +1 -1
  28. package/dist/server/react/prompts.js +25 -4
  29. package/dist/server/react/prompts.js.map +1 -1
  30. package/dist/server/react/tools.d.ts.map +1 -1
  31. package/dist/server/react/tools.js +105 -0
  32. package/dist/server/react/tools.js.map +1 -1
  33. package/dist/web/app.js +824 -60
  34. package/dist/web/index.html +73 -1
  35. package/dist/web/styles.css +764 -33
  36. package/dist/web/vueRenderers.js +228 -13
  37. package/package.json +1 -3
package/dist/server/db.js CHANGED
@@ -1,106 +1,455 @@
1
- import Database from 'better-sqlite3';
2
1
  import fs from 'fs';
3
2
  import os from 'os';
4
3
  import path from 'path';
5
- import { fileURLToPath } from 'url';
6
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
7
- function getDbPath() {
8
- const customDbPath = process.env.Q_AI_NOTE_DB_PATH || process.env.PERSONAL_AI_NOTEBOOK_DB_PATH;
9
- if (customDbPath && customDbPath.trim()) {
10
- return customDbPath;
11
- }
12
- const customDataDir = process.env.Q_AI_NOTE_DATA_DIR || process.env.PERSONAL_AI_NOTEBOOK_DATA_DIR;
13
- if (customDataDir && customDataDir.trim()) {
14
- return path.join(customDataDir, 'q-ai-note.db');
15
- }
16
- return path.join(os.homedir(), '.q-ai-note', 'data', 'q-ai-note.db');
4
+ const DEFAULT_DATA_DIR = path.join(os.homedir(), '.q-ai-note', 'data');
5
+ function getDataDir() {
6
+ const fromCli = process.env.Q_AI_NOTE_DATA_DIR || process.env.PERSONAL_AI_NOTEBOOK_DATA_DIR;
7
+ if (fromCli && fromCli.trim()) {
8
+ return path.resolve(fromCli);
9
+ }
10
+ return DEFAULT_DATA_DIR;
11
+ }
12
+ function stableStringify(input) {
13
+ const normalize = (value) => {
14
+ if (Array.isArray(value)) {
15
+ return value.map((item) => normalize(item));
16
+ }
17
+ if (value && typeof value === 'object') {
18
+ const obj = value;
19
+ return Object.keys(obj)
20
+ .sort()
21
+ .reduce((acc, key) => {
22
+ acc[key] = normalize(obj[key]);
23
+ return acc;
24
+ }, {});
25
+ }
26
+ return value;
27
+ };
28
+ return JSON.stringify(normalize(input), null, 2);
29
+ }
30
+ function ensureDir(dir) {
31
+ if (!fs.existsSync(dir)) {
32
+ fs.mkdirSync(dir, { recursive: true });
33
+ }
34
+ }
35
+ function readJsonFile(filePath) {
36
+ if (!fs.existsSync(filePath)) {
37
+ return [];
38
+ }
39
+ try {
40
+ const text = fs.readFileSync(filePath, 'utf-8');
41
+ const parsed = JSON.parse(text);
42
+ return Array.isArray(parsed) ? parsed : [];
43
+ }
44
+ catch {
45
+ return [];
46
+ }
17
47
  }
18
- const dbPath = getDbPath();
19
- const dbDir = path.dirname(dbPath);
20
- if (!fs.existsSync(dbDir)) {
21
- fs.mkdirSync(dbDir, { recursive: true });
48
+ function writeJsonFile(filePath, value) {
49
+ const tmp = `${filePath}.tmp`;
50
+ fs.writeFileSync(tmp, stableStringify(value));
51
+ fs.renameSync(tmp, filePath);
52
+ }
53
+ class FileDb {
54
+ loaded = false;
55
+ dataDir = getDataDir();
56
+ files = {
57
+ sandboxes: '',
58
+ work_items: '',
59
+ diaries: '',
60
+ chats: '',
61
+ chat_sandbox_relations: '',
62
+ operations: '',
63
+ };
64
+ data = {
65
+ sandboxes: [],
66
+ work_items: [],
67
+ diaries: [],
68
+ chats: [],
69
+ chat_sandbox_relations: [],
70
+ operations: [],
71
+ };
72
+ sandboxById = new Map();
73
+ workItemById = new Map();
74
+ diaryById = new Map();
75
+ chatById = new Map();
76
+ operationById = new Map();
77
+ ensureLoaded() {
78
+ if (this.loaded)
79
+ return;
80
+ this.dataDir = getDataDir();
81
+ ensureDir(this.dataDir);
82
+ this.files = {
83
+ sandboxes: path.join(this.dataDir, 'sandboxes.json'),
84
+ work_items: path.join(this.dataDir, 'work-items.json'),
85
+ diaries: path.join(this.dataDir, 'diaries.json'),
86
+ chats: path.join(this.dataDir, 'chats.json'),
87
+ chat_sandbox_relations: path.join(this.dataDir, 'chat-sandbox-relations.json'),
88
+ operations: path.join(this.dataDir, 'operations.json'),
89
+ };
90
+ this.data.sandboxes = readJsonFile(this.files.sandboxes);
91
+ this.data.work_items = readJsonFile(this.files.work_items);
92
+ this.data.diaries = readJsonFile(this.files.diaries);
93
+ this.data.chats = readJsonFile(this.files.chats);
94
+ this.data.chat_sandbox_relations = readJsonFile(this.files.chat_sandbox_relations);
95
+ this.data.operations = readJsonFile(this.files.operations);
96
+ this.rebuildIndex();
97
+ this.loaded = true;
98
+ }
99
+ rebuildIndex() {
100
+ this.sandboxById = new Map(this.data.sandboxes.map((row) => [String(row.id), row]));
101
+ this.workItemById = new Map(this.data.work_items.map((row) => [String(row.id), row]));
102
+ this.diaryById = new Map(this.data.diaries.map((row) => [String(row.id), row]));
103
+ this.chatById = new Map(this.data.chats.map((row) => [String(row.id), row]));
104
+ this.operationById = new Map(this.data.operations.map((row) => [String(row.id), row]));
105
+ }
106
+ persist() {
107
+ const byIdAsc = (a, b) => String(a.id).localeCompare(String(b.id));
108
+ const workSort = (a, b) => `${a.sandbox_id || ''}/${a.parent_id || ''}/${a.created_at || ''}/${a.id || ''}`
109
+ .localeCompare(`${b.sandbox_id || ''}/${b.parent_id || ''}/${b.created_at || ''}/${b.id || ''}`);
110
+ const chatSort = (a, b) => `${a.created_at || ''}/${a.id || ''}`.localeCompare(`${b.created_at || ''}/${b.id || ''}`);
111
+ writeJsonFile(this.files.sandboxes, [...this.data.sandboxes].sort(byIdAsc));
112
+ writeJsonFile(this.files.work_items, [...this.data.work_items].sort(workSort));
113
+ writeJsonFile(this.files.diaries, [...this.data.diaries].sort(chatSort));
114
+ writeJsonFile(this.files.chats, [...this.data.chats].sort(chatSort));
115
+ writeJsonFile(this.files.chat_sandbox_relations, [...this.data.chat_sandbox_relations].sort((a, b) => `${a.sandbox_id || ''}/${a.chat_id || ''}`.localeCompare(`${b.sandbox_id || ''}/${b.chat_id || ''}`)));
116
+ writeJsonFile(this.files.operations, [...this.data.operations].sort((a, b) => `${a.created_at || ''}/${a.id || ''}`.localeCompare(`${b.created_at || ''}/${b.id || ''}`)));
117
+ }
118
+ n(sql) {
119
+ return sql.replace(/\s+/g, ' ').trim().toLowerCase();
120
+ }
121
+ asRun(changes) {
122
+ this.rebuildIndex();
123
+ this.persist();
124
+ return { changes };
125
+ }
126
+ deleteWorkItemCascade(itemId) {
127
+ const children = this.data.work_items.filter((row) => String(row.parent_id || '') === itemId);
128
+ for (const child of children) {
129
+ this.deleteWorkItemCascade(String(child.id));
130
+ }
131
+ this.data.work_items = this.data.work_items.filter((row) => String(row.id) !== itemId);
132
+ }
133
+ selectAll(sql, params) {
134
+ const n = this.n(sql);
135
+ this.ensureLoaded();
136
+ if (n.startsWith('select * from sandboxes order by updated_at desc')) {
137
+ return [...this.data.sandboxes].sort((a, b) => String(b.updated_at).localeCompare(String(a.updated_at)));
138
+ }
139
+ if (n.startsWith('select * from work_items where sandbox_id = ? order by created_at asc')) {
140
+ const sandboxId = String(params[0] || '');
141
+ return this.data.work_items
142
+ .filter((row) => String(row.sandbox_id) === sandboxId)
143
+ .sort((a, b) => String(a.created_at).localeCompare(String(b.created_at)));
144
+ }
145
+ if (n.startsWith('select * from operations where sandbox_id = ? order by created_at desc limit ?')) {
146
+ const sandboxId = String(params[0] || '');
147
+ const limit = Number(params[1] || 30);
148
+ return this.data.operations
149
+ .filter((row) => String(row.sandbox_id) === sandboxId)
150
+ .sort((a, b) => String(b.created_at).localeCompare(String(a.created_at)))
151
+ .slice(0, limit);
152
+ }
153
+ if (n.startsWith('select * from operations where sandbox_id = ? order by created_at desc')) {
154
+ const sandboxId = String(params[0] || '');
155
+ return this.data.operations
156
+ .filter((row) => String(row.sandbox_id) === sandboxId)
157
+ .sort((a, b) => String(b.created_at).localeCompare(String(a.created_at)));
158
+ }
159
+ if (n.startsWith('select * from operations order by created_at desc limit ?')) {
160
+ const limit = Number(params[0] || 30);
161
+ return [...this.data.operations].sort((a, b) => String(b.created_at).localeCompare(String(a.created_at))).slice(0, limit);
162
+ }
163
+ if (n.startsWith('select * from diaries where 1=1')) {
164
+ let rows = [...this.data.diaries];
165
+ let i = 0;
166
+ if (n.includes('sandbox_id = ?')) {
167
+ const sandboxId = String(params[i++] || '');
168
+ rows = rows.filter((row) => String(row.sandbox_id || '') === sandboxId);
169
+ }
170
+ if (n.includes('processed = ?')) {
171
+ const processed = Number(params[i++] || 0);
172
+ rows = rows.filter((row) => Number(row.processed || 0) === processed);
173
+ }
174
+ return rows.sort((a, b) => String(b.created_at).localeCompare(String(a.created_at)));
175
+ }
176
+ if (n.startsWith('select c.* from chats c left join chat_sandbox_relations r on r.chat_id = c.id where r.chat_id is null order by c.created_at desc limit 20')) {
177
+ const related = new Set(this.data.chat_sandbox_relations.map((row) => String(row.chat_id)));
178
+ return this.data.chats
179
+ .filter((row) => !related.has(String(row.id)))
180
+ .sort((a, b) => String(b.created_at).localeCompare(String(a.created_at)))
181
+ .slice(0, 20);
182
+ }
183
+ if (n.startsWith('select id, name from sandboxes')) {
184
+ return this.data.sandboxes.map((row) => ({ id: row.id, name: row.name }));
185
+ }
186
+ if (n.startsWith('select name, status, priority, assignee from work_items where sandbox_id = ? order by created_at desc limit 80')) {
187
+ const sandboxId = String(params[0] || '');
188
+ return this.data.work_items
189
+ .filter((row) => String(row.sandbox_id) === sandboxId)
190
+ .sort((a, b) => String(b.created_at).localeCompare(String(a.created_at)))
191
+ .slice(0, 80)
192
+ .map((row) => ({ name: row.name, status: row.status, priority: row.priority, assignee: row.assignee }));
193
+ }
194
+ if (n.startsWith('select content, created_at from diaries where sandbox_id = ? order by created_at desc limit 20')) {
195
+ const sandboxId = String(params[0] || '');
196
+ return this.data.diaries
197
+ .filter((row) => String(row.sandbox_id || '') === sandboxId)
198
+ .sort((a, b) => String(b.created_at).localeCompare(String(a.created_at)))
199
+ .slice(0, 20)
200
+ .map((row) => ({ content: row.content, created_at: row.created_at }));
201
+ }
202
+ if (n.startsWith('select chat_id from chat_sandbox_relations where sandbox_id = ?')) {
203
+ const sandboxId = String(params[0] || '');
204
+ return this.data.chat_sandbox_relations
205
+ .filter((row) => String(row.sandbox_id) === sandboxId)
206
+ .map((row) => ({ chat_id: row.chat_id }));
207
+ }
208
+ if (n.startsWith('select * from chats where id in')) {
209
+ const ids = new Set(params.map((p) => String(p)));
210
+ return this.data.chats
211
+ .filter((row) => ids.has(String(row.id)))
212
+ .sort((a, b) => String(a.created_at).localeCompare(String(b.created_at)));
213
+ }
214
+ if (n.startsWith('select * from diaries where sandbox_id = ? order by created_at desc limit 50')) {
215
+ const sandboxId = String(params[0] || '');
216
+ return this.data.diaries
217
+ .filter((row) => String(row.sandbox_id || '') === sandboxId)
218
+ .sort((a, b) => String(b.created_at).localeCompare(String(a.created_at)))
219
+ .slice(0, 50);
220
+ }
221
+ if (n.startsWith('select id, name, parent_id from work_items where sandbox_id = ?')) {
222
+ const sandboxId = String(params[0] || '');
223
+ return this.data.work_items
224
+ .filter((row) => String(row.sandbox_id) === sandboxId)
225
+ .map((row) => ({ id: row.id, name: row.name, parent_id: row.parent_id ?? null }));
226
+ }
227
+ throw new Error(`Unsupported SQL(all): ${sql}`);
228
+ }
229
+ selectOne(sql, params) {
230
+ const n = this.n(sql);
231
+ this.ensureLoaded();
232
+ if (n.startsWith('select * from sandboxes where id = ?')) {
233
+ return this.sandboxById.get(String(params[0] || ''));
234
+ }
235
+ if (n.startsWith('select * from work_items where id = ?')) {
236
+ return this.workItemById.get(String(params[0] || ''));
237
+ }
238
+ if (n.startsWith('select * from diaries where id = ?')) {
239
+ return this.diaryById.get(String(params[0] || ''));
240
+ }
241
+ if (n.startsWith('select * from operations where id = ?')) {
242
+ return this.operationById.get(String(params[0] || ''));
243
+ }
244
+ if (n.startsWith('select id, name from sandboxes where id = ?')) {
245
+ const sandbox = this.sandboxById.get(String(params[0] || ''));
246
+ return sandbox ? { id: sandbox.id, name: sandbox.name } : undefined;
247
+ }
248
+ if (n.startsWith('select id from work_items where id = ? and sandbox_id = ?')) {
249
+ const itemId = String(params[0] || '');
250
+ const sandboxId = String(params[1] || '');
251
+ const item = this.workItemById.get(itemId);
252
+ if (!item || String(item.sandbox_id) !== sandboxId)
253
+ return undefined;
254
+ return { id: item.id };
255
+ }
256
+ if (n.startsWith('select * from work_items where id = ? and sandbox_id = ?')) {
257
+ const itemId = String(params[0] || '');
258
+ const sandboxId = String(params[1] || '');
259
+ const item = this.workItemById.get(itemId);
260
+ return item && String(item.sandbox_id) === sandboxId ? item : undefined;
261
+ }
262
+ if (n.startsWith('select id from operations where sandbox_id = ? order by created_at desc limit 1')) {
263
+ const sandboxId = String(params[0] || '');
264
+ const latest = this.data.operations
265
+ .filter((row) => String(row.sandbox_id) === sandboxId)
266
+ .sort((a, b) => String(b.created_at).localeCompare(String(a.created_at)))[0];
267
+ return latest ? { id: latest.id } : undefined;
268
+ }
269
+ throw new Error(`Unsupported SQL(get): ${sql}`);
270
+ }
271
+ execute(sql, params) {
272
+ const n = this.n(sql);
273
+ this.ensureLoaded();
274
+ if (n.startsWith('insert into sandboxes')) {
275
+ const [id, name, description, created_at, updated_at] = params;
276
+ this.data.sandboxes.push({ id, name, description, created_at, updated_at });
277
+ return this.asRun(1);
278
+ }
279
+ if (n.startsWith('update sandboxes set name = coalesce')) {
280
+ const [name, description, updatedAt, sandboxId] = params;
281
+ const row = this.sandboxById.get(String(sandboxId || ''));
282
+ if (!row)
283
+ return { changes: 0 };
284
+ row.name = name ?? row.name;
285
+ row.description = description ?? row.description;
286
+ row.updated_at = updatedAt;
287
+ return this.asRun(1);
288
+ }
289
+ if (n.startsWith('delete from sandboxes where id = ?')) {
290
+ const sandboxId = String(params[0] || '');
291
+ if (!this.sandboxById.has(sandboxId))
292
+ return { changes: 0 };
293
+ this.data.sandboxes = this.data.sandboxes.filter((row) => String(row.id) !== sandboxId);
294
+ const itemIds = this.data.work_items.filter((row) => String(row.sandbox_id) === sandboxId).map((row) => String(row.id));
295
+ this.data.work_items = this.data.work_items.filter((row) => String(row.sandbox_id) !== sandboxId);
296
+ this.data.operations = this.data.operations.filter((row) => String(row.sandbox_id) !== sandboxId);
297
+ this.data.chat_sandbox_relations = this.data.chat_sandbox_relations.filter((row) => String(row.sandbox_id) !== sandboxId);
298
+ this.data.diaries = this.data.diaries.map((row) => String(row.sandbox_id || '') === sandboxId ? { ...row, sandbox_id: null } : row);
299
+ if (itemIds.length) {
300
+ this.data.diaries = this.data.diaries.map((row) => itemIds.includes(String(row.work_item_id || '')) ? { ...row, work_item_id: null } : row);
301
+ }
302
+ return this.asRun(1);
303
+ }
304
+ if (n.startsWith('insert into work_items') && n.includes("'pending'") && n.includes("'[]'") && n.includes("'{}'")) {
305
+ if (params.length === 9) {
306
+ const [id, sandbox_id, parent_id, name, description, assignee, priority, created_at, updated_at] = params;
307
+ this.data.work_items.push({
308
+ id, sandbox_id, parent_id: parent_id ?? null, name, description, assignee,
309
+ status: 'pending', priority, tags: '[]', extra_data: '{}', created_at, updated_at,
310
+ });
311
+ return this.asRun(1);
312
+ }
313
+ if (params.length === 6) {
314
+ const [id, sandbox_id, name, description, created_at, updated_at] = params;
315
+ this.data.work_items.push({
316
+ id, sandbox_id, parent_id: null, name, description, assignee: '',
317
+ status: 'pending', priority: 'medium', tags: '[]', extra_data: '{}', created_at, updated_at,
318
+ });
319
+ return this.asRun(1);
320
+ }
321
+ }
322
+ if (n.startsWith('insert into work_items')) {
323
+ const [id, sandbox_id, parent_id, name, description, assignee, status, priority, tags, extra_data, created_at, updated_at] = params;
324
+ this.data.work_items.push({
325
+ id, sandbox_id, parent_id: parent_id ?? null, name, description, assignee, status, priority,
326
+ tags: tags ?? '[]', extra_data: extra_data ?? '{}', created_at, updated_at
327
+ });
328
+ return this.asRun(1);
329
+ }
330
+ if (n.startsWith('update sandboxes set updated_at = ? where id = ?')) {
331
+ const [updatedAt, sandboxId] = params;
332
+ const row = this.sandboxById.get(String(sandboxId || ''));
333
+ if (!row)
334
+ return { changes: 0 };
335
+ row.updated_at = updatedAt;
336
+ return this.asRun(1);
337
+ }
338
+ if (n.startsWith('insert into operations')) {
339
+ const cols = n.slice(n.indexOf('(') + 1, n.indexOf(')')).replace(/\s/g, '').split(',');
340
+ const row = {};
341
+ cols.forEach((col, idx) => { row[col] = params[idx] ?? null; });
342
+ this.data.operations.push(row);
343
+ return this.asRun(1);
344
+ }
345
+ if (n.startsWith('update work_items set name = coalesce') && n.includes('where id = ?')) {
346
+ const [name, description, assignee, status, priority, tags, extra_data, parent_id, updated_at, id] = params;
347
+ const row = this.workItemById.get(String(id || ''));
348
+ if (!row)
349
+ return { changes: 0 };
350
+ row.name = name ?? row.name;
351
+ row.description = description ?? row.description;
352
+ row.assignee = assignee ?? row.assignee;
353
+ row.status = status ?? row.status;
354
+ row.priority = priority ?? row.priority;
355
+ row.tags = tags ?? row.tags;
356
+ row.extra_data = extra_data ?? row.extra_data;
357
+ row.parent_id = parent_id === null ? row.parent_id : (parent_id ?? row.parent_id);
358
+ row.updated_at = updated_at;
359
+ return this.asRun(1);
360
+ }
361
+ if (n.startsWith('update work_items set name = ?, description = ?, assignee = ?, status = ?, priority = ?, tags = ?, extra_data = ?, parent_id = ?, updated_at = ? where id = ?')) {
362
+ const [name, description, assignee, status, priority, tags, extra_data, parent_id, updated_at, id] = params;
363
+ const row = this.workItemById.get(String(id || ''));
364
+ if (!row)
365
+ return { changes: 0 };
366
+ Object.assign(row, { name, description, assignee, status, priority, tags, extra_data, parent_id, updated_at });
367
+ return this.asRun(1);
368
+ }
369
+ if (n.startsWith('delete from work_items where id = ?')) {
370
+ const itemId = String(params[0] || '');
371
+ if (!this.workItemById.has(itemId))
372
+ return { changes: 0 };
373
+ this.deleteWorkItemCascade(itemId);
374
+ this.data.diaries = this.data.diaries.map((row) => String(row.work_item_id || '') === itemId ? { ...row, work_item_id: null } : row);
375
+ return this.asRun(1);
376
+ }
377
+ if (n.startsWith('delete from operations where id = ?')) {
378
+ const operationId = String(params[0] || '');
379
+ const before = this.data.operations.length;
380
+ this.data.operations = this.data.operations.filter((row) => String(row.id) !== operationId);
381
+ return this.asRun(before === this.data.operations.length ? 0 : 1);
382
+ }
383
+ if (n.startsWith('insert into diaries')) {
384
+ const [id, sandbox_id, work_item_id, content, created_at] = params;
385
+ this.data.diaries.push({ id, sandbox_id, work_item_id, content, processed: 0, created_at });
386
+ return this.asRun(1);
387
+ }
388
+ if (n.startsWith('update diaries set processed = 1 where id = ?')) {
389
+ const row = this.diaryById.get(String(params[0] || ''));
390
+ if (!row)
391
+ return { changes: 0 };
392
+ row.processed = 1;
393
+ return this.asRun(1);
394
+ }
395
+ if (n.startsWith('insert into chats')) {
396
+ const [id, role, content, created_at] = params;
397
+ this.data.chats.push({ id, role, content, created_at });
398
+ return this.asRun(1);
399
+ }
400
+ if (n.startsWith('insert or ignore into chat_sandbox_relations')) {
401
+ const [chat_id, sandbox_id] = params;
402
+ const exists = this.data.chat_sandbox_relations.some((row) => String(row.chat_id) === String(chat_id) && String(row.sandbox_id) === String(sandbox_id));
403
+ if (exists)
404
+ return { changes: 0 };
405
+ this.data.chat_sandbox_relations.push({ chat_id, sandbox_id });
406
+ return this.asRun(1);
407
+ }
408
+ if (n.startsWith('update work_items set parent_id = ?, updated_at = ? where id = ?')) {
409
+ const [parent_id, updated_at, id] = params;
410
+ const row = this.workItemById.get(String(id || ''));
411
+ if (!row)
412
+ return { changes: 0 };
413
+ row.parent_id = parent_id ?? null;
414
+ row.updated_at = updated_at;
415
+ return this.asRun(1);
416
+ }
417
+ if (n.startsWith('update work_items set name = coalesce(?, name), description = coalesce(?, description), updated_at = ? where id = ?')) {
418
+ const [name, description, updated_at, id] = params;
419
+ const row = this.workItemById.get(String(id || ''));
420
+ if (!row)
421
+ return { changes: 0 };
422
+ row.name = name ?? row.name;
423
+ row.description = description ?? row.description;
424
+ row.updated_at = updated_at;
425
+ return this.asRun(1);
426
+ }
427
+ throw new Error(`Unsupported SQL(run): ${sql}`);
428
+ }
429
+ prepare(sql) {
430
+ return {
431
+ all: (...params) => this.selectAll(sql, params),
432
+ get: (...params) => this.selectOne(sql, params),
433
+ run: (...params) => this.execute(sql, params),
434
+ };
435
+ }
436
+ close() {
437
+ if (!this.loaded)
438
+ return;
439
+ this.persist();
440
+ }
22
441
  }
442
+ const fileDb = new FileDb();
23
443
  export function getResolvedDbPath() {
24
- return dbPath;
444
+ return getDataDir();
25
445
  }
26
- export const db = new Database(dbPath);
27
- db.pragma('journal_mode = WAL');
446
+ export const db = {
447
+ prepare: (sql) => fileDb.prepare(sql),
448
+ };
28
449
  export function initDb() {
29
- db.exec(`
30
- CREATE TABLE IF NOT EXISTS sandboxes (
31
- id TEXT PRIMARY KEY,
32
- name TEXT NOT NULL,
33
- description TEXT DEFAULT '',
34
- created_at TEXT NOT NULL,
35
- updated_at TEXT NOT NULL
36
- );
37
-
38
- CREATE TABLE IF NOT EXISTS work_items (
39
- id TEXT PRIMARY KEY,
40
- sandbox_id TEXT NOT NULL,
41
- parent_id TEXT,
42
- name TEXT NOT NULL,
43
- description TEXT DEFAULT '',
44
- assignee TEXT DEFAULT '',
45
- status TEXT DEFAULT 'pending',
46
- priority TEXT DEFAULT 'medium',
47
- tags TEXT DEFAULT '[]',
48
- extra_data TEXT DEFAULT '{}',
49
- created_at TEXT NOT NULL,
50
- updated_at TEXT NOT NULL,
51
- FOREIGN KEY (sandbox_id) REFERENCES sandboxes(id) ON DELETE CASCADE,
52
- FOREIGN KEY (parent_id) REFERENCES work_items(id) ON DELETE CASCADE
53
- );
54
-
55
- CREATE TABLE IF NOT EXISTS diaries (
56
- id TEXT PRIMARY KEY,
57
- sandbox_id TEXT,
58
- work_item_id TEXT,
59
- content TEXT NOT NULL,
60
- processed INTEGER DEFAULT 0,
61
- created_at TEXT NOT NULL,
62
- FOREIGN KEY (sandbox_id) REFERENCES sandboxes(id) ON DELETE SET NULL,
63
- FOREIGN KEY (work_item_id) REFERENCES work_items(id) ON DELETE SET NULL
64
- );
65
-
66
- CREATE TABLE IF NOT EXISTS chats (
67
- id TEXT PRIMARY KEY,
68
- role TEXT NOT NULL,
69
- content TEXT NOT NULL,
70
- created_at TEXT NOT NULL
71
- );
72
-
73
- CREATE TABLE IF NOT EXISTS chat_sandbox_relations (
74
- chat_id TEXT NOT NULL,
75
- sandbox_id TEXT NOT NULL,
76
- PRIMARY KEY (chat_id, sandbox_id),
77
- FOREIGN KEY (chat_id) REFERENCES chats(id) ON DELETE CASCADE,
78
- FOREIGN KEY (sandbox_id) REFERENCES sandboxes(id) ON DELETE CASCADE
79
- );
80
-
81
- CREATE TABLE IF NOT EXISTS operations (
82
- id TEXT PRIMARY KEY,
83
- sandbox_id TEXT NOT NULL,
84
- operation_type TEXT NOT NULL,
85
- data_before TEXT,
86
- data_after TEXT,
87
- created_at TEXT NOT NULL,
88
- FOREIGN KEY (sandbox_id) REFERENCES sandboxes(id) ON DELETE CASCADE
89
- );
90
-
91
- CREATE TABLE IF NOT EXISTS settings (
92
- key TEXT PRIMARY KEY,
93
- value TEXT
94
- );
95
-
96
- CREATE INDEX IF NOT EXISTS idx_work_items_sandbox ON work_items(sandbox_id);
97
- CREATE INDEX IF NOT EXISTS idx_work_items_parent ON work_items(parent_id);
98
- CREATE INDEX IF NOT EXISTS idx_diaries_sandbox ON diaries(sandbox_id);
99
- CREATE INDEX IF NOT EXISTS idx_diaries_processed ON diaries(processed);
100
- CREATE INDEX IF NOT EXISTS idx_chats_created ON chats(created_at);
101
- `);
450
+ // lazy-loaded on first query; kept for compatibility
102
451
  }
103
452
  export function closeDb() {
104
- db.close();
453
+ fileDb.close();
105
454
  }
106
455
  //# sourceMappingURL=db.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/server/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAsC,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,SAAS,SAAS;IAChB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC/F,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IAClG,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,GAAiB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AAErD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAEhC,MAAM,UAAU,MAAM;IACpB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEP,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,EAAE,CAAC,KAAK,EAAE,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/server/db.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAgBxC,wBAAgB,SAAS,gDAmBxB;AAED,wBAAgB,WAAW,CAAC,IAAI,SAAO,GAAG,MAAM,CAgB/C;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAiBxC,wBAAgB,SAAS,gDAoBxB;AAED,wBAAgB,WAAW,CAAC,IAAI,SAAO,GAAG,MAAM,CAgB/C;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBhD"}
@@ -7,6 +7,7 @@ import workItemRouter from './api/workItem.js';
7
7
  import diaryRouter from './api/diary.js';
8
8
  import chatRouter from './api/chat.js';
9
9
  import settingsRouter from './api/settings.js';
10
+ import nodeEntitiesRouter from './api/nodeEntities.js';
10
11
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
11
12
  const PORT = Number(process.env.PORT || 3000);
12
13
  let serverInstance = null;
@@ -22,6 +23,7 @@ export function createApp() {
22
23
  app.use('/api/diaries', diaryRouter);
23
24
  app.use('/api/chats', chatRouter);
24
25
  app.use('/api/settings', settingsRouter);
26
+ app.use('/api/sandboxes/:sandboxId/entities', nodeEntitiesRouter);
25
27
  app.get('*', (_req, res) => {
26
28
  res.sendFile(path.join(__dirname, '../web/index.html'));
27
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}