@ycniuqton/devlens 0.1.22 → 0.1.23
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/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/init.js +2 -2
- package/dist/server.d.ts +2 -2
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/services/taskStore.d.ts +1 -1
- package/dist/services/taskStore.js +139 -180
- package/dist/services/taskStore.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -65,7 +65,7 @@ program
|
|
|
65
65
|
openBrowser: opts.open !== false,
|
|
66
66
|
tunnel: opts.tunnel || false,
|
|
67
67
|
};
|
|
68
|
-
const { httpServer } = (0, server_1.createServer)(options);
|
|
68
|
+
const { httpServer } = await (0, server_1.createServer)(options);
|
|
69
69
|
httpServer.listen(options.port, '0.0.0.0', () => {
|
|
70
70
|
const url = `http://localhost:${options.port}`;
|
|
71
71
|
console.log(`\n Devlens running at ${url}`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,gDAAwB;AACxB,4CAAoB;AACpB,4CAAoB;AACpB,qCAAwC;AAExC,iCAAoE;AAEpE,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,6DAA6D,CAAC;KAC1E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,kCAAkC;AAClC,OAAO;KACJ,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACrC,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,qBAAqB,EAAE,wDAAwD,CAAC;KACvF,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC;KACxD,MAAM,CAAC,UAAU,EAAE,4CAA4C,CAAC;KAChE,MAAM,CAAC,kBAAkB,EAAE,8BAA8B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,UAAU,CAAC,CAAC;IAE3E,MAAM,OAAO,GAAkB;QAC7B,IAAI;QACJ,UAAU;QACV,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK;QAChC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;KAC7B,CAAC;IAEF,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/init.js
CHANGED
|
@@ -240,7 +240,7 @@ The user wants to add a new version to an existing feature or system's documenta
|
|
|
240
240
|
|
|
241
241
|
3. **Determine the new version folder name:**
|
|
242
242
|
- If total versions < 5: next increment (e.g. active is \`00002\` → new is \`00003\`)
|
|
243
|
-
- If total versions == 5:
|
|
243
|
+
- If total versions == 5: do not add another version. Tell the user to run \`/sumu\` first to consolidate, then \`/newv\` again.
|
|
244
244
|
|
|
245
245
|
4. **Ask the user** what changed in this version (if not already described in the prompt).
|
|
246
246
|
|
|
@@ -342,7 +342,7 @@ const DEFAULT_RULES = `# Devlens Rules
|
|
|
342
342
|
- Docs live under /docs/features/<name>/<version>/ or /docs/systems/<name>/<version>/
|
|
343
343
|
- Active version = highest numeric folder (no CURRENT/active marker files)
|
|
344
344
|
- First version named 00000-init; increments 00001, 00002 … max 5 versions total
|
|
345
|
-
- At
|
|
345
|
+
- At 5 versions, run /sumu to consolidate all into one new version (next plain increment) and delete old ones — count resets to 1
|
|
346
346
|
- Each version folder contains ONLY: 01-requirements.md (≤100 lines), 02-design.md (no limit), 03-plan.md (≤100 lines)
|
|
347
347
|
- Incremental versions write only what changed; state what is unchanged; do not copy full previous content
|
|
348
348
|
- If active version cannot be understood alone, reset is required
|
package/dist/server.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import http from 'http';
|
|
2
2
|
import { ServerOptions } from './types';
|
|
3
|
-
export declare function createServer(options: ServerOptions): {
|
|
3
|
+
export declare function createServer(options: ServerOptions): Promise<{
|
|
4
4
|
app: import("express-serve-static-core").Express;
|
|
5
5
|
httpServer: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
|
|
6
6
|
wss: import("ws").Server<typeof import("ws"), typeof http.IncomingMessage>;
|
|
7
|
-
}
|
|
7
|
+
}>;
|
package/dist/server.js
CHANGED
|
@@ -23,7 +23,7 @@ const rules_2 = require("./routes/rules");
|
|
|
23
23
|
const browser_1 = require("./routes/browser");
|
|
24
24
|
const settings_2 = require("./routes/settings");
|
|
25
25
|
const auth_2 = require("./routes/auth");
|
|
26
|
-
function createServer(options) {
|
|
26
|
+
async function createServer(options) {
|
|
27
27
|
const app = (0, express_1.default)();
|
|
28
28
|
const httpServer = http_1.default.createServer(app);
|
|
29
29
|
const wss = new ws_1.WebSocketServer({ server: httpServer, path: '/ws' });
|
|
@@ -37,7 +37,7 @@ function createServer(options) {
|
|
|
37
37
|
}));
|
|
38
38
|
// Services
|
|
39
39
|
const gitService = (0, git_1.createGitService)(options.projectDir);
|
|
40
|
-
const taskStore = (0, taskStore_1.createTaskStore)(options.projectDir);
|
|
40
|
+
const taskStore = await (0, taskStore_1.createTaskStore)(options.projectDir);
|
|
41
41
|
const rulesService = (0, rules_1.createRulesService)(options.projectDir);
|
|
42
42
|
const settingsService = (0, settings_1.createSettingsService)(options.projectDir);
|
|
43
43
|
const authService = (0, auth_1.createAuthService)(options.projectDir);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;AAqBA,oCAwLC;AA7MD,sDAA8B;AAC9B,gDAAwB;AACxB,gDAAwB;AACxB,sEAAsC;AACtC,2BAAgD;AAEhD,wDAAgC;AAChC,wCAAkD;AAClD,gDAAmD;AACnD,oDAAuD;AACvD,4CAAsD;AACtD,kDAA4D;AAC5D,0CAAoD;AACpD,wCAA2C;AAC3C,0CAAmE;AACnE,wDAA2D;AAC3D,0CAA6C;AAC7C,8CAAiD;AACjD,gDAAmD;AACnD,wCAA2C;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,4 +24,4 @@ export interface TaskStoreService {
|
|
|
24
24
|
getSessions(): SessionInfo[];
|
|
25
25
|
updateSessionStatus(sessionId: string, status: 'active' | 'ended'): void;
|
|
26
26
|
}
|
|
27
|
-
export declare function createTaskStore(projectDir: string): TaskStoreService
|
|
27
|
+
export declare function createTaskStore(projectDir: string): Promise<TaskStoreService>;
|
|
@@ -4,92 +4,84 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createTaskStore = createTaskStore;
|
|
7
|
-
const
|
|
7
|
+
const sql_js_1 = __importDefault(require("sql.js"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
|
10
10
|
const crypto_1 = __importDefault(require("crypto"));
|
|
11
|
-
const ARCHIVE_AFTER_MS = 60 * 60 * 1000;
|
|
12
|
-
|
|
11
|
+
const ARCHIVE_AFTER_MS = 60 * 60 * 1000;
|
|
12
|
+
const SCHEMA = `
|
|
13
|
+
CREATE TABLE IF NOT EXISTS tasks (
|
|
14
|
+
id TEXT PRIMARY KEY,
|
|
15
|
+
title TEXT NOT NULL,
|
|
16
|
+
description TEXT DEFAULT '',
|
|
17
|
+
status TEXT DEFAULT 'pending',
|
|
18
|
+
priority TEXT DEFAULT 'medium',
|
|
19
|
+
tags TEXT DEFAULT '[]',
|
|
20
|
+
dependencies TEXT DEFAULT '[]',
|
|
21
|
+
created_at TEXT NOT NULL,
|
|
22
|
+
updated_at TEXT NOT NULL,
|
|
23
|
+
completed_at TEXT,
|
|
24
|
+
source TEXT DEFAULT 'local',
|
|
25
|
+
claude_session_id TEXT,
|
|
26
|
+
claude_task_id TEXT,
|
|
27
|
+
active_form TEXT,
|
|
28
|
+
owner TEXT,
|
|
29
|
+
metadata TEXT,
|
|
30
|
+
context TEXT,
|
|
31
|
+
completion_context TEXT
|
|
32
|
+
);
|
|
33
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
34
|
+
session_id TEXT PRIMARY KEY,
|
|
35
|
+
name TEXT,
|
|
36
|
+
cwd TEXT,
|
|
37
|
+
pid INTEGER,
|
|
38
|
+
started_at TEXT,
|
|
39
|
+
last_seen_at TEXT,
|
|
40
|
+
status TEXT DEFAULT 'active',
|
|
41
|
+
task_count INTEGER DEFAULT 0
|
|
42
|
+
);
|
|
43
|
+
`;
|
|
44
|
+
async function createTaskStore(projectDir) {
|
|
13
45
|
const devlensDir = path_1.default.join(projectDir, '.devlens');
|
|
14
46
|
if (!fs_1.default.existsSync(devlensDir)) {
|
|
15
47
|
fs_1.default.mkdirSync(devlensDir, { recursive: true });
|
|
16
48
|
}
|
|
17
49
|
const dbPath = path_1.default.join(devlensDir, 'devlens.db');
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
db
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
title TEXT NOT NULL,
|
|
26
|
-
description TEXT DEFAULT '',
|
|
27
|
-
status TEXT DEFAULT 'pending',
|
|
28
|
-
priority TEXT DEFAULT 'medium',
|
|
29
|
-
tags TEXT DEFAULT '[]',
|
|
30
|
-
dependencies TEXT DEFAULT '[]',
|
|
31
|
-
created_at TEXT NOT NULL,
|
|
32
|
-
updated_at TEXT NOT NULL,
|
|
33
|
-
completed_at TEXT,
|
|
34
|
-
source TEXT DEFAULT 'local',
|
|
35
|
-
claude_session_id TEXT,
|
|
36
|
-
claude_task_id TEXT,
|
|
37
|
-
active_form TEXT,
|
|
38
|
-
owner TEXT,
|
|
39
|
-
metadata TEXT,
|
|
40
|
-
context TEXT,
|
|
41
|
-
completion_context TEXT
|
|
42
|
-
)
|
|
43
|
-
`);
|
|
44
|
-
// Migration: add column if missing (for existing DBs)
|
|
50
|
+
const sqlJsDistDir = path_1.default.dirname(require.resolve('sql.js/dist/sql-wasm.js'));
|
|
51
|
+
const SQL = await (0, sql_js_1.default)({ locateFile: (f) => path_1.default.join(sqlJsDistDir, f) });
|
|
52
|
+
const db = fs_1.default.existsSync(dbPath)
|
|
53
|
+
? new SQL.Database(fs_1.default.readFileSync(dbPath))
|
|
54
|
+
: new SQL.Database();
|
|
55
|
+
const persist = () => fs_1.default.writeFileSync(dbPath, Buffer.from(db.export()));
|
|
56
|
+
db.exec(SCHEMA);
|
|
45
57
|
try {
|
|
46
|
-
db.
|
|
58
|
+
db.run('ALTER TABLE tasks ADD COLUMN completion_context TEXT');
|
|
47
59
|
}
|
|
48
60
|
catch { }
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const upsertSessionStmt = db.prepare(`
|
|
74
|
-
INSERT INTO sessions (session_id, name, cwd, pid, started_at, last_seen_at, status, task_count)
|
|
75
|
-
VALUES (@session_id, @name, @cwd, @pid, @started_at, @last_seen_at, @status, @task_count)
|
|
76
|
-
ON CONFLICT(session_id) DO UPDATE SET
|
|
77
|
-
name = COALESCE(@name, sessions.name),
|
|
78
|
-
cwd = COALESCE(@cwd, sessions.cwd),
|
|
79
|
-
pid = COALESCE(@pid, sessions.pid),
|
|
80
|
-
started_at = COALESCE(@started_at, sessions.started_at),
|
|
81
|
-
last_seen_at = @last_seen_at,
|
|
82
|
-
status = @status,
|
|
83
|
-
task_count = (SELECT COUNT(*) FROM tasks WHERE claude_session_id = @session_id)
|
|
84
|
-
`);
|
|
85
|
-
const selectAllSessionsStmt = db.prepare('SELECT * FROM sessions ORDER BY last_seen_at DESC');
|
|
86
|
-
const updateSessionStatusStmt = db.prepare('UPDATE sessions SET status = ?, last_seen_at = ? WHERE session_id = ?');
|
|
87
|
-
// Auto-archive completed tasks older than 1 hour
|
|
88
|
-
const archiveStmt = db.prepare(`
|
|
89
|
-
UPDATE tasks SET status = 'archived', updated_at = ?
|
|
90
|
-
WHERE status = 'completed' AND completed_at IS NOT NULL
|
|
91
|
-
AND (julianday(?) - julianday(completed_at)) * 86400000 > ?
|
|
92
|
-
`);
|
|
61
|
+
persist();
|
|
62
|
+
function all(sql, params) {
|
|
63
|
+
const stmt = db.prepare(sql);
|
|
64
|
+
const rows = [];
|
|
65
|
+
if (params)
|
|
66
|
+
stmt.bind(params);
|
|
67
|
+
while (stmt.step())
|
|
68
|
+
rows.push(stmt.getAsObject());
|
|
69
|
+
stmt.free();
|
|
70
|
+
return rows;
|
|
71
|
+
}
|
|
72
|
+
function first(sql, params) {
|
|
73
|
+
const stmt = db.prepare(sql);
|
|
74
|
+
if (params)
|
|
75
|
+
stmt.bind(params);
|
|
76
|
+
const row = stmt.step() ? stmt.getAsObject() : undefined;
|
|
77
|
+
stmt.free();
|
|
78
|
+
return row;
|
|
79
|
+
}
|
|
80
|
+
function run(sql, params) {
|
|
81
|
+
const stmt = db.prepare(sql);
|
|
82
|
+
stmt.run(params || {});
|
|
83
|
+
stmt.free();
|
|
84
|
+
}
|
|
93
85
|
function rowToTask(row) {
|
|
94
86
|
return {
|
|
95
87
|
id: row.id,
|
|
@@ -112,137 +104,103 @@ function createTaskStore(projectDir) {
|
|
|
112
104
|
completionContext: row.completion_context || undefined,
|
|
113
105
|
};
|
|
114
106
|
}
|
|
107
|
+
function buildUpdate(id, input) {
|
|
108
|
+
const sets = [];
|
|
109
|
+
const params = { '@id': id };
|
|
110
|
+
const field = (col, val) => { sets.push(`${col} = @${col}`); params[`@${col}`] = val; };
|
|
111
|
+
if (input.title !== undefined)
|
|
112
|
+
field('title', input.title);
|
|
113
|
+
if (input.description !== undefined)
|
|
114
|
+
field('description', input.description);
|
|
115
|
+
if (input.status !== undefined)
|
|
116
|
+
field('status', input.status);
|
|
117
|
+
if (input.priority !== undefined)
|
|
118
|
+
field('priority', input.priority);
|
|
119
|
+
if (input.tags !== undefined)
|
|
120
|
+
field('tags', JSON.stringify(input.tags));
|
|
121
|
+
if (input.dependencies !== undefined)
|
|
122
|
+
field('dependencies', JSON.stringify(input.dependencies));
|
|
123
|
+
if (input.claudeSessionId !== undefined)
|
|
124
|
+
field('claude_session_id', input.claudeSessionId);
|
|
125
|
+
if (input.claudeTaskId !== undefined)
|
|
126
|
+
field('claude_task_id', input.claudeTaskId);
|
|
127
|
+
if (input.activeForm !== undefined)
|
|
128
|
+
field('active_form', input.activeForm);
|
|
129
|
+
if (input.owner !== undefined)
|
|
130
|
+
field('owner', input.owner);
|
|
131
|
+
if (input.metadata !== undefined)
|
|
132
|
+
field('metadata', JSON.stringify(input.metadata));
|
|
133
|
+
if (input.context !== undefined)
|
|
134
|
+
field('context', input.context);
|
|
135
|
+
if (input.completionContext !== undefined)
|
|
136
|
+
field('completion_context', input.completionContext);
|
|
137
|
+
field('updated_at', new Date().toISOString());
|
|
138
|
+
return { sets, params };
|
|
139
|
+
}
|
|
115
140
|
return {
|
|
116
141
|
async getTasks(filter) {
|
|
117
|
-
// Auto-archive old completed tasks
|
|
118
142
|
const now = new Date().toISOString();
|
|
119
|
-
|
|
120
|
-
|
|
143
|
+
run(`UPDATE tasks SET status = 'archived', updated_at = @now
|
|
144
|
+
WHERE status = 'completed' AND completed_at IS NOT NULL
|
|
145
|
+
AND (julianday(@now) - julianday(completed_at)) * 86400000 > @ms`, { '@now': now, '@ms': ARCHIVE_AFTER_MS });
|
|
121
146
|
if (filter?.status && filter?.sessionId) {
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
else if (filter?.sessionId) {
|
|
125
|
-
rows = selectBySessionStmt.all(filter.sessionId);
|
|
147
|
+
return all('SELECT * FROM tasks WHERE status = @s AND claude_session_id = @sid ORDER BY created_at DESC', { '@s': filter.status, '@sid': filter.sessionId }).map(rowToTask);
|
|
126
148
|
}
|
|
127
|
-
|
|
128
|
-
|
|
149
|
+
if (filter?.sessionId) {
|
|
150
|
+
return all('SELECT * FROM tasks WHERE claude_session_id = @sid ORDER BY created_at DESC', { '@sid': filter.sessionId }).map(rowToTask);
|
|
129
151
|
}
|
|
130
|
-
|
|
131
|
-
|
|
152
|
+
if (filter?.status) {
|
|
153
|
+
return all('SELECT * FROM tasks WHERE status = @s ORDER BY created_at DESC', { '@s': filter.status }).map(rowToTask);
|
|
132
154
|
}
|
|
133
|
-
return
|
|
155
|
+
return all('SELECT * FROM tasks ORDER BY created_at DESC').map(rowToTask);
|
|
134
156
|
},
|
|
135
157
|
async getTask(id) {
|
|
136
|
-
const row =
|
|
158
|
+
const row = first('SELECT * FROM tasks WHERE id = @id', { '@id': id });
|
|
137
159
|
return row ? rowToTask(row) : null;
|
|
138
160
|
},
|
|
139
161
|
async createTask(input) {
|
|
140
162
|
const now = new Date().toISOString();
|
|
141
163
|
const id = crypto_1.default.randomUUID();
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
status: input.status || 'pending',
|
|
147
|
-
priority: input.priority || 'medium',
|
|
148
|
-
tags: JSON.stringify(input.tags || []),
|
|
149
|
-
dependencies: JSON.stringify(input.dependencies || []),
|
|
150
|
-
created_at: now,
|
|
151
|
-
updated_at: now,
|
|
152
|
-
source: 'local',
|
|
153
|
-
});
|
|
154
|
-
return rowToTask(selectByIdStmt.get(id));
|
|
164
|
+
run(`INSERT INTO tasks (id, title, description, status, priority, tags, dependencies, created_at, updated_at, source)
|
|
165
|
+
VALUES (@id, @title, @desc, @status, @priority, @tags, @deps, @now, @now, @source)`, { '@id': id, '@title': input.title, '@desc': input.description || '', '@status': input.status || 'pending', '@priority': input.priority || 'medium', '@tags': JSON.stringify(input.tags || []), '@deps': JSON.stringify(input.dependencies || []), '@now': now, '@source': 'local' });
|
|
166
|
+
persist();
|
|
167
|
+
return rowToTask(first('SELECT * FROM tasks WHERE id = @id', { '@id': id }));
|
|
155
168
|
},
|
|
156
169
|
async updateTask(id, input) {
|
|
157
|
-
const existing =
|
|
170
|
+
const existing = first('SELECT * FROM tasks WHERE id = @id', { '@id': id });
|
|
158
171
|
if (!existing)
|
|
159
172
|
throw new Error('Task not found');
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
values.title = input.title;
|
|
165
|
-
}
|
|
166
|
-
if (input.description !== undefined) {
|
|
167
|
-
updates.push('description = @description');
|
|
168
|
-
values.description = input.description;
|
|
169
|
-
}
|
|
170
|
-
if (input.status !== undefined) {
|
|
171
|
-
updates.push('status = @status');
|
|
172
|
-
values.status = input.status;
|
|
173
|
-
// Track completion time
|
|
174
|
-
if (input.status === 'completed' && existing.status !== 'completed') {
|
|
175
|
-
updates.push('completed_at = @completed_at');
|
|
176
|
-
values.completed_at = new Date().toISOString();
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
if (input.priority !== undefined) {
|
|
180
|
-
updates.push('priority = @priority');
|
|
181
|
-
values.priority = input.priority;
|
|
182
|
-
}
|
|
183
|
-
if (input.tags !== undefined) {
|
|
184
|
-
updates.push('tags = @tags');
|
|
185
|
-
values.tags = JSON.stringify(input.tags);
|
|
186
|
-
}
|
|
187
|
-
if (input.dependencies !== undefined) {
|
|
188
|
-
updates.push('dependencies = @dependencies');
|
|
189
|
-
values.dependencies = JSON.stringify(input.dependencies);
|
|
190
|
-
}
|
|
191
|
-
// Claude-specific fields
|
|
192
|
-
if (input.claudeSessionId !== undefined) {
|
|
193
|
-
updates.push('claude_session_id = @claude_session_id');
|
|
194
|
-
values.claude_session_id = input.claudeSessionId;
|
|
195
|
-
}
|
|
196
|
-
if (input.claudeTaskId !== undefined) {
|
|
197
|
-
updates.push('claude_task_id = @claude_task_id');
|
|
198
|
-
values.claude_task_id = input.claudeTaskId;
|
|
199
|
-
}
|
|
200
|
-
if (input.activeForm !== undefined) {
|
|
201
|
-
updates.push('active_form = @active_form');
|
|
202
|
-
values.active_form = input.activeForm;
|
|
203
|
-
}
|
|
204
|
-
if (input.owner !== undefined) {
|
|
205
|
-
updates.push('owner = @owner');
|
|
206
|
-
values.owner = input.owner;
|
|
207
|
-
}
|
|
208
|
-
if (input.metadata !== undefined) {
|
|
209
|
-
updates.push('metadata = @metadata');
|
|
210
|
-
values.metadata = JSON.stringify(input.metadata);
|
|
211
|
-
}
|
|
212
|
-
if (input.context !== undefined) {
|
|
213
|
-
updates.push('context = @context');
|
|
214
|
-
values.context = input.context;
|
|
215
|
-
}
|
|
216
|
-
if (input.completionContext !== undefined) {
|
|
217
|
-
updates.push('completion_context = @completion_context');
|
|
218
|
-
values.completion_context = input.completionContext;
|
|
173
|
+
const { sets, params } = buildUpdate(id, input);
|
|
174
|
+
if (input.status === 'completed' && existing.status !== 'completed') {
|
|
175
|
+
sets.splice(sets.indexOf('updated_at = @updated_at'), 0, 'completed_at = @completed_at');
|
|
176
|
+
params['@completed_at'] = new Date().toISOString();
|
|
219
177
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
db.prepare(`UPDATE tasks SET ${updates.join(', ')} WHERE id = @id`).run(values);
|
|
178
|
+
if (sets.length > 1) {
|
|
179
|
+
run(`UPDATE tasks SET ${sets.join(', ')} WHERE id = @id`, params);
|
|
180
|
+
persist();
|
|
224
181
|
}
|
|
225
|
-
return rowToTask(
|
|
182
|
+
return rowToTask(first('SELECT * FROM tasks WHERE id = @id', { '@id': id }));
|
|
226
183
|
},
|
|
227
184
|
async deleteTask(id) {
|
|
228
|
-
|
|
185
|
+
run('DELETE FROM tasks WHERE id = @id', { '@id': id });
|
|
186
|
+
persist();
|
|
229
187
|
},
|
|
230
188
|
upsertSession(info) {
|
|
231
189
|
const now = new Date().toISOString();
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
190
|
+
run(`INSERT INTO sessions (session_id, name, cwd, pid, started_at, last_seen_at, status, task_count)
|
|
191
|
+
VALUES (@session_id, @name, @cwd, @pid, @started_at, @last_seen_at, @status, 0)
|
|
192
|
+
ON CONFLICT(session_id) DO UPDATE SET
|
|
193
|
+
name = COALESCE(@name, sessions.name),
|
|
194
|
+
cwd = COALESCE(@cwd, sessions.cwd),
|
|
195
|
+
pid = COALESCE(@pid, sessions.pid),
|
|
196
|
+
started_at = COALESCE(@started_at, sessions.started_at),
|
|
197
|
+
last_seen_at = @last_seen_at,
|
|
198
|
+
status = @status,
|
|
199
|
+
task_count = (SELECT COUNT(*) FROM tasks WHERE claude_session_id = @session_id)`, { '@session_id': info.sessionId, '@name': info.name || null, '@cwd': info.cwd || null, '@pid': info.pid || null, '@started_at': info.startedAt || null, '@last_seen_at': now, '@status': info.status || 'active' });
|
|
200
|
+
persist();
|
|
242
201
|
},
|
|
243
202
|
getSessions() {
|
|
244
|
-
|
|
245
|
-
return rows.map(r => ({
|
|
203
|
+
return all('SELECT * FROM sessions ORDER BY last_seen_at DESC').map(r => ({
|
|
246
204
|
sessionId: r.session_id,
|
|
247
205
|
name: r.name || undefined,
|
|
248
206
|
cwd: r.cwd || undefined,
|
|
@@ -254,7 +212,8 @@ function createTaskStore(projectDir) {
|
|
|
254
212
|
}));
|
|
255
213
|
},
|
|
256
214
|
updateSessionStatus(sessionId, status) {
|
|
257
|
-
|
|
215
|
+
run('UPDATE sessions SET status = @status, last_seen_at = @now WHERE session_id = @id', { '@status': status, '@now': new Date().toISOString(), '@id': sessionId });
|
|
216
|
+
persist();
|
|
258
217
|
},
|
|
259
218
|
};
|
|
260
219
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskStore.js","sourceRoot":"","sources":["../../src/services/taskStore.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"taskStore.js","sourceRoot":"","sources":["../../src/services/taskStore.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ycniuqton/devlens",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.23",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@ycniuqton/devlens": "^0.1.13",
|
|
33
33
|
"bcryptjs": "^3.0.3",
|
|
34
|
-
"
|
|
34
|
+
"sql.js": "^1.12.0",
|
|
35
35
|
"chokidar": "^3.6.0",
|
|
36
36
|
"cloudflared": "^0.7.1",
|
|
37
37
|
"commander": "^12.0.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/bcryptjs": "^2.4.6",
|
|
49
|
-
"@types/
|
|
49
|
+
"@types/sql.js": "^1.4.9",
|
|
50
50
|
"@types/cookie-parser": "^1.4.10",
|
|
51
51
|
"@types/express": "^4.17.21",
|
|
52
52
|
"@types/express-session": "^1.19.0",
|