@radkode/neo 0.9.1 → 0.9.2
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/storage/db.d.ts +0 -3
- package/dist/storage/db.d.ts.map +1 -1
- package/dist/storage/db.js +25 -41
- package/dist/storage/db.js.map +1 -1
- package/package.json +3 -3
package/dist/storage/db.d.ts
CHANGED
|
@@ -2,9 +2,6 @@ import type { ContextItem, ContextFilters, AddContextOptions, ContextPriority }
|
|
|
2
2
|
export declare class ContextDB {
|
|
3
3
|
private db;
|
|
4
4
|
private ready;
|
|
5
|
-
private run;
|
|
6
|
-
private get;
|
|
7
|
-
private all;
|
|
8
5
|
constructor(dbPath: string);
|
|
9
6
|
static create(dbPath: string): Promise<ContextDB>;
|
|
10
7
|
private ensureReady;
|
package/dist/storage/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EAEX,cAAc,EACd,iBAAiB,EACjB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAK1B,qBAAa,SAAS;IACpB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,KAAK,CAAgB;gBAEjB,MAAM,EAAE,MAAM;WAQb,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;YAQzC,WAAW;YAOX,UAAU;IAqBlB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IA4B5D,YAAY,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA6B9D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAWnD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW3C,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAClC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAkCxB,QAAQ,IAAI,OAAO,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC5C,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAiDI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,OAAO,CAAC,mBAAmB;CAiB5B"}
|
package/dist/storage/db.js
CHANGED
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Database from 'better-sqlite3';
|
|
2
2
|
import { nanoid } from 'nanoid';
|
|
3
3
|
import { dirname } from 'path';
|
|
4
4
|
import { mkdir } from 'fs/promises';
|
|
5
|
-
import { promisify } from 'util';
|
|
6
5
|
export class ContextDB {
|
|
7
6
|
db;
|
|
8
7
|
ready;
|
|
9
|
-
run;
|
|
10
|
-
get;
|
|
11
|
-
all;
|
|
12
8
|
constructor(dbPath) {
|
|
13
|
-
this.db = new
|
|
14
|
-
this.run = promisify(this.db.run.bind(this.db));
|
|
15
|
-
this.get = promisify(this.db.get.bind(this.db));
|
|
16
|
-
this.all = promisify(this.db.all.bind(this.db));
|
|
9
|
+
this.db = new Database(dbPath);
|
|
17
10
|
this.ready = this.initialize();
|
|
18
11
|
}
|
|
19
12
|
static async create(dbPath) {
|
|
@@ -24,7 +17,7 @@ export class ContextDB {
|
|
|
24
17
|
await this.ready;
|
|
25
18
|
}
|
|
26
19
|
async initialize() {
|
|
27
|
-
|
|
20
|
+
this.db.exec(`
|
|
28
21
|
CREATE TABLE IF NOT EXISTS contexts (
|
|
29
22
|
id TEXT PRIMARY KEY,
|
|
30
23
|
content TEXT NOT NULL,
|
|
@@ -34,8 +27,8 @@ export class ContextDB {
|
|
|
34
27
|
updated_at DATETIME NOT NULL
|
|
35
28
|
)
|
|
36
29
|
`);
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
this.db.exec(`CREATE INDEX IF NOT EXISTS idx_contexts_priority ON contexts(priority)`);
|
|
31
|
+
this.db.exec(`CREATE INDEX IF NOT EXISTS idx_contexts_created_at ON contexts(created_at)`);
|
|
39
32
|
}
|
|
40
33
|
async addContext(options) {
|
|
41
34
|
await this.ensureReady();
|
|
@@ -43,10 +36,11 @@ export class ContextDB {
|
|
|
43
36
|
const id = nanoid();
|
|
44
37
|
const tags = JSON.stringify(options.tags || []);
|
|
45
38
|
const priority = options.priority || 'medium';
|
|
46
|
-
|
|
39
|
+
const stmt = this.db.prepare(`
|
|
47
40
|
INSERT INTO contexts (id, content, tags, priority, created_at, updated_at)
|
|
48
41
|
VALUES (?, ?, ?, ?, ?, ?)
|
|
49
|
-
|
|
42
|
+
`);
|
|
43
|
+
stmt.run(id, options.content, tags, priority, now, now);
|
|
50
44
|
return {
|
|
51
45
|
id,
|
|
52
46
|
content: options.content,
|
|
@@ -72,26 +66,21 @@ export class ContextDB {
|
|
|
72
66
|
params.push(filters.tag);
|
|
73
67
|
}
|
|
74
68
|
query += ' ORDER BY priority DESC, created_at DESC';
|
|
75
|
-
const
|
|
69
|
+
const stmt = this.db.prepare(query);
|
|
70
|
+
const rows = stmt.all(...params);
|
|
76
71
|
return rows.map(this.transformRawContext);
|
|
77
72
|
}
|
|
78
73
|
async getContext(id) {
|
|
79
74
|
await this.ensureReady();
|
|
80
|
-
const
|
|
75
|
+
const stmt = this.db.prepare('SELECT * FROM contexts WHERE id = ?');
|
|
76
|
+
const row = stmt.get(id);
|
|
81
77
|
return row ? this.transformRawContext(row) : null;
|
|
82
78
|
}
|
|
83
79
|
async removeContext(id) {
|
|
84
80
|
await this.ensureReady();
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
reject(err);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
resolve(this.changes > 0);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
});
|
|
81
|
+
const stmt = this.db.prepare('DELETE FROM contexts WHERE id = ?');
|
|
82
|
+
const result = stmt.run(id);
|
|
83
|
+
return result.changes > 0;
|
|
95
84
|
}
|
|
96
85
|
async updateContext(id, updates) {
|
|
97
86
|
await this.ensureReady();
|
|
@@ -103,11 +92,12 @@ export class ContextDB {
|
|
|
103
92
|
const content = updates.content ?? existing.content;
|
|
104
93
|
const tags = JSON.stringify(updates.tags ?? existing.tags);
|
|
105
94
|
const priority = updates.priority ?? existing.priority;
|
|
106
|
-
|
|
95
|
+
const stmt = this.db.prepare(`
|
|
107
96
|
UPDATE contexts
|
|
108
97
|
SET content = ?, tags = ?, priority = ?, updated_at = ?
|
|
109
98
|
WHERE id = ?
|
|
110
|
-
|
|
99
|
+
`);
|
|
100
|
+
stmt.run(content, tags, priority, now, id);
|
|
111
101
|
return {
|
|
112
102
|
id,
|
|
113
103
|
content,
|
|
@@ -119,13 +109,15 @@ export class ContextDB {
|
|
|
119
109
|
}
|
|
120
110
|
async getStats() {
|
|
121
111
|
await this.ensureReady();
|
|
122
|
-
const
|
|
112
|
+
const totalStmt = this.db.prepare('SELECT COUNT(*) as count FROM contexts');
|
|
113
|
+
const totalResult = totalStmt.get();
|
|
123
114
|
const total = totalResult?.count || 0;
|
|
124
|
-
const
|
|
115
|
+
const priorityStmt = this.db.prepare(`
|
|
125
116
|
SELECT priority, COUNT(*) as count
|
|
126
117
|
FROM contexts
|
|
127
118
|
GROUP BY priority
|
|
128
119
|
`);
|
|
120
|
+
const priorityRows = priorityStmt.all();
|
|
129
121
|
const byPriority = {
|
|
130
122
|
low: 0,
|
|
131
123
|
medium: 0,
|
|
@@ -135,7 +127,8 @@ export class ContextDB {
|
|
|
135
127
|
priorityRows.forEach((row) => {
|
|
136
128
|
byPriority[row.priority] = row.count;
|
|
137
129
|
});
|
|
138
|
-
const
|
|
130
|
+
const tagStmt = this.db.prepare('SELECT tags FROM contexts');
|
|
131
|
+
const tagRows = tagStmt.all();
|
|
139
132
|
const allTags = new Set();
|
|
140
133
|
tagRows.forEach((row) => {
|
|
141
134
|
try {
|
|
@@ -152,16 +145,7 @@ export class ContextDB {
|
|
|
152
145
|
};
|
|
153
146
|
}
|
|
154
147
|
async close() {
|
|
155
|
-
|
|
156
|
-
this.db.close((err) => {
|
|
157
|
-
if (err) {
|
|
158
|
-
reject(err);
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
resolve();
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
});
|
|
148
|
+
this.db.close();
|
|
165
149
|
}
|
|
166
150
|
transformRawContext(raw) {
|
|
167
151
|
let tags = [];
|
package/dist/storage/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@radkode/neo",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
4
4
|
"description": "Modern CLI toolkit with intelligent git workflows and configuration management",
|
|
5
5
|
"author": "Jacek Radko",
|
|
6
6
|
"license": "MIT",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@commander-js/extra-typings": "^14.0.0",
|
|
39
|
+
"better-sqlite3": "^12.4.1",
|
|
39
40
|
"chalk": "5",
|
|
40
41
|
"commander": "^14.0.1",
|
|
41
42
|
"execa": "^9.6.0",
|
|
@@ -43,7 +44,6 @@
|
|
|
43
44
|
"inquirer": "^12.9.6",
|
|
44
45
|
"nanoid": "^5.0.0",
|
|
45
46
|
"ora": "^9.0.0",
|
|
46
|
-
"sqlite3": "^5.1.7",
|
|
47
47
|
"which": "^5.0.0",
|
|
48
48
|
"zod": "^4.1.12"
|
|
49
49
|
},
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"@changesets/changelog-github": "^0.5.1",
|
|
52
52
|
"@changesets/cli": "^2.29.7",
|
|
53
53
|
"@eslint/js": "^9.37.0",
|
|
54
|
+
"@types/better-sqlite3": "^7.6.13",
|
|
54
55
|
"@types/inquirer": "^9.0.9",
|
|
55
56
|
"@types/node": "^24.7.0",
|
|
56
|
-
"@types/sqlite3": "^3.1.11",
|
|
57
57
|
"@types/which": "^3.0.4",
|
|
58
58
|
"@typescript-eslint/eslint-plugin": "^8.46.0",
|
|
59
59
|
"@typescript-eslint/parser": "^8.46.0",
|