@gramatr/mcp 0.10.12 → 0.10.14
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/hooks/lib/feedback.d.ts.map +1 -1
- package/dist/hooks/lib/feedback.js +0 -1
- package/dist/hooks/lib/feedback.js.map +1 -1
- package/dist/hooks/lib/hook-state.d.ts +53 -1
- package/dist/hooks/lib/hook-state.d.ts.map +1 -1
- package/dist/hooks/lib/hook-state.js +274 -81
- package/dist/hooks/lib/hook-state.js.map +1 -1
- package/dist/hooks/rating-capture.d.ts.map +1 -1
- package/dist/hooks/rating-capture.js +47 -31
- package/dist/hooks/rating-capture.js.map +1 -1
- package/dist/hooks/session-start.d.ts.map +1 -1
- package/dist/hooks/session-start.js +154 -147
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
- package/dist/hooks/user-prompt-submit.js +96 -38
- package/dist/hooks/user-prompt-submit.js.map +1 -1
- package/dist/server/hooks-listener.d.ts +13 -16
- package/dist/server/hooks-listener.d.ts.map +1 -1
- package/dist/server/hooks-listener.js +75 -27
- package/dist/server/hooks-listener.js.map +1 -1
- package/dist/tools/local-tools.d.ts +1 -1
- package/dist/tools/local-tools.d.ts.map +1 -1
- package/dist/tools/local-tools.js +69 -2
- package/dist/tools/local-tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Set GRAMATR_STATE_DB=:memory: in tests to avoid touching the filesystem.
|
|
9
9
|
*/
|
|
10
|
-
import BetterSqlite3 from
|
|
11
|
-
import { existsSync, mkdirSync } from
|
|
12
|
-
import { dirname, join } from
|
|
13
|
-
import { getGramatrDirFromEnv, getHomeDir } from
|
|
14
|
-
import { HOOK_STATE_ABORT_TIMEOUT_MS } from
|
|
10
|
+
import BetterSqlite3 from "better-sqlite3";
|
|
11
|
+
import { existsSync, mkdirSync } from "node:fs";
|
|
12
|
+
import { dirname, join } from "node:path";
|
|
13
|
+
import { getGramatrDirFromEnv, getHomeDir } from "../../config-runtime.js";
|
|
14
|
+
import { HOOK_STATE_ABORT_TIMEOUT_MS } from "../generated/hook-timeouts.js";
|
|
15
15
|
// ── DB singleton ──
|
|
16
16
|
let _db = null;
|
|
17
17
|
/**
|
|
@@ -28,14 +28,14 @@ let _filesystemAvailable = true;
|
|
|
28
28
|
function getDbPath() {
|
|
29
29
|
if (process.env.GRAMATR_STATE_DB)
|
|
30
30
|
return process.env.GRAMATR_STATE_DB;
|
|
31
|
-
const dir = getGramatrDirFromEnv() || join(getHomeDir(),
|
|
32
|
-
return join(dir,
|
|
31
|
+
const dir = getGramatrDirFromEnv() || join(getHomeDir(), ".gramatr");
|
|
32
|
+
return join(dir, "state.db");
|
|
33
33
|
}
|
|
34
34
|
function getDb() {
|
|
35
35
|
if (_db)
|
|
36
36
|
return _db;
|
|
37
37
|
const path = getDbPath();
|
|
38
|
-
if (path !==
|
|
38
|
+
if (path !== ":memory:") {
|
|
39
39
|
try {
|
|
40
40
|
const dir = dirname(path);
|
|
41
41
|
if (!existsSync(dir))
|
|
@@ -46,14 +46,14 @@ function getDb() {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
try {
|
|
49
|
-
_db = new BetterSqlite3(_filesystemAvailable ? path :
|
|
49
|
+
_db = new BetterSqlite3(_filesystemAvailable ? path : ":memory:");
|
|
50
50
|
}
|
|
51
51
|
catch {
|
|
52
52
|
_filesystemAvailable = false;
|
|
53
|
-
_db = new BetterSqlite3(
|
|
53
|
+
_db = new BetterSqlite3(":memory:");
|
|
54
54
|
}
|
|
55
|
-
_db.exec(
|
|
56
|
-
_db.exec(
|
|
55
|
+
_db.exec("PRAGMA journal_mode = WAL");
|
|
56
|
+
_db.exec("PRAGMA synchronous = NORMAL");
|
|
57
57
|
_db.exec(`
|
|
58
58
|
CREATE TABLE IF NOT EXISTS session_context (
|
|
59
59
|
session_id TEXT PRIMARY KEY,
|
|
@@ -72,15 +72,37 @@ function getDb() {
|
|
|
72
72
|
);
|
|
73
73
|
|
|
74
74
|
CREATE TABLE IF NOT EXISTS turns (
|
|
75
|
-
id
|
|
76
|
-
session_id
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
75
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
76
|
+
session_id TEXT NOT NULL,
|
|
77
|
+
client_session_id TEXT,
|
|
78
|
+
project_id TEXT,
|
|
79
|
+
agent_name TEXT,
|
|
80
|
+
turn_number INTEGER,
|
|
81
|
+
timestamp TEXT,
|
|
82
|
+
prompt TEXT,
|
|
83
|
+
effort_level TEXT,
|
|
84
|
+
intent_type TEXT,
|
|
85
|
+
confidence REAL,
|
|
86
|
+
tokens_saved INTEGER
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
CREATE TABLE IF NOT EXISTS directive_cache (
|
|
90
|
+
key TEXT NOT NULL,
|
|
91
|
+
user_id TEXT NOT NULL,
|
|
92
|
+
value_json TEXT NOT NULL,
|
|
93
|
+
cached_at TEXT NOT NULL,
|
|
94
|
+
expires_at TEXT NOT NULL,
|
|
95
|
+
PRIMARY KEY (key, user_id)
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
CREATE TABLE IF NOT EXISTS mutation_outbox (
|
|
99
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
100
|
+
tool_name TEXT NOT NULL,
|
|
101
|
+
args_json TEXT NOT NULL,
|
|
102
|
+
created_at TEXT NOT NULL,
|
|
103
|
+
replicated_at TEXT,
|
|
104
|
+
attempts INTEGER NOT NULL DEFAULT 0,
|
|
105
|
+
last_error TEXT
|
|
84
106
|
);
|
|
85
107
|
|
|
86
108
|
CREATE TABLE IF NOT EXISTS op_history (
|
|
@@ -149,31 +171,48 @@ function getDb() {
|
|
|
149
171
|
// These are no-ops if the column already exists (SQLite 3.37+ IF NOT EXISTS).
|
|
150
172
|
// For older SQLite we catch and ignore.
|
|
151
173
|
const migrations = [
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
174
|
+
"ALTER TABLE session_context ADD COLUMN entity_id TEXT",
|
|
175
|
+
"ALTER TABLE session_context ADD COLUMN client_type TEXT",
|
|
176
|
+
"ALTER TABLE session_context ADD COLUMN agent_name TEXT",
|
|
177
|
+
"ALTER TABLE latest_classification ADD COLUMN original_prompt TEXT",
|
|
178
|
+
"ALTER TABLE latest_classification ADD COLUMN pending_feedback INTEGER DEFAULT 0",
|
|
179
|
+
"ALTER TABLE latest_classification ADD COLUMN feedback_submitted_at TEXT",
|
|
180
|
+
"ALTER TABLE latest_classification ADD COLUMN client_type TEXT",
|
|
181
|
+
"ALTER TABLE latest_classification ADD COLUMN agent_name TEXT",
|
|
182
|
+
"ALTER TABLE latest_classification ADD COLUMN memory_tier TEXT",
|
|
183
|
+
"ALTER TABLE latest_classification ADD COLUMN memory_scope TEXT",
|
|
184
|
+
"ALTER TABLE session_log ADD COLUMN interaction_id TEXT",
|
|
185
|
+
"ALTER TABLE session_log ADD COLUMN entity_id TEXT",
|
|
186
|
+
"ALTER TABLE session_log ADD COLUMN client_type TEXT",
|
|
187
|
+
"ALTER TABLE session_log ADD COLUMN agent_name TEXT",
|
|
188
|
+
"ALTER TABLE session_log ADD COLUMN synced_at TEXT",
|
|
167
189
|
// Unique index is safe to re-run (IF NOT EXISTS)
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
190
|
+
"CREATE UNIQUE INDEX IF NOT EXISTS session_log_session_id ON session_log(session_id) WHERE session_id IS NOT NULL",
|
|
191
|
+
"ALTER TABLE session_context ADD COLUMN platform TEXT",
|
|
192
|
+
"ALTER TABLE session_context ADD COLUMN arch TEXT",
|
|
193
|
+
// #1214: cross-agent fields on turns for local SQLite intelligence cache
|
|
194
|
+
"ALTER TABLE turns ADD COLUMN project_id TEXT",
|
|
195
|
+
"ALTER TABLE turns ADD COLUMN client_session_id TEXT",
|
|
196
|
+
"ALTER TABLE turns ADD COLUMN agent_name TEXT",
|
|
171
197
|
];
|
|
172
198
|
for (const sql of migrations) {
|
|
173
199
|
try {
|
|
174
200
|
_db.exec(sql);
|
|
175
201
|
}
|
|
176
|
-
catch {
|
|
202
|
+
catch {
|
|
203
|
+
/* column already exists */
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
// #1214: 7-day rolling delete — evict stale turns to keep DB bounded.
|
|
207
|
+
// Safe to run on every open: small WHERE + indexed-ish timestamp; the
|
|
208
|
+
// overwhelming common case is zero matches.
|
|
209
|
+
try {
|
|
210
|
+
_db
|
|
211
|
+
.prepare("DELETE FROM turns WHERE timestamp IS NOT NULL AND timestamp < datetime('now', '-7 days')")
|
|
212
|
+
.run();
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
// Non-fatal — older SQLite without datetime() arithmetic should still boot.
|
|
177
216
|
}
|
|
178
217
|
return _db;
|
|
179
218
|
}
|
|
@@ -211,7 +250,7 @@ export function isFilesystemAvailable() {
|
|
|
211
250
|
export async function hydrateSessionContextFromServer(sessionId) {
|
|
212
251
|
// ── Phase IV path: local hooks server ──
|
|
213
252
|
try {
|
|
214
|
-
const { pullSessionContextFromLocal } = await import(
|
|
253
|
+
const { pullSessionContextFromLocal } = await import("../../proxy/local-client.js");
|
|
215
254
|
const localCtx = await pullSessionContextFromLocal(sessionId);
|
|
216
255
|
if (localCtx) {
|
|
217
256
|
setSessionContext(localCtx);
|
|
@@ -223,20 +262,20 @@ export async function hydrateSessionContextFromServer(sessionId) {
|
|
|
223
262
|
}
|
|
224
263
|
// ── Phase III fallback: remote REST API ──
|
|
225
264
|
try {
|
|
226
|
-
const { getServerUrl, getToken } = await import(
|
|
265
|
+
const { getServerUrl, getToken } = await import("../../server/auth.js");
|
|
227
266
|
const serverUrl = getServerUrl();
|
|
228
267
|
const token = getToken();
|
|
229
268
|
const url = `${serverUrl}/api/v1/sessions?session_id=${encodeURIComponent(sessionId)}`;
|
|
230
|
-
const headers = { Accept:
|
|
269
|
+
const headers = { Accept: "application/json" };
|
|
231
270
|
if (token)
|
|
232
|
-
headers[
|
|
271
|
+
headers["Authorization"] = `Bearer ${token}`;
|
|
233
272
|
const response = await fetch(url, {
|
|
234
273
|
headers,
|
|
235
274
|
signal: AbortSignal.timeout(HOOK_STATE_ABORT_TIMEOUT_MS),
|
|
236
275
|
});
|
|
237
276
|
if (!response.ok)
|
|
238
277
|
return;
|
|
239
|
-
const data = await response.json();
|
|
278
|
+
const data = (await response.json());
|
|
240
279
|
const session = data.sessions?.[0];
|
|
241
280
|
if (!session)
|
|
242
281
|
return;
|
|
@@ -265,7 +304,8 @@ export async function hydrateSessionContextFromServer(sessionId) {
|
|
|
265
304
|
// ── Session context — cross-hook IPC ──
|
|
266
305
|
/** Write current project/session context so other hooks can read it. */
|
|
267
306
|
export function setSessionContext(ctx) {
|
|
268
|
-
getDb()
|
|
307
|
+
getDb()
|
|
308
|
+
.prepare(`
|
|
269
309
|
INSERT OR REPLACE INTO session_context
|
|
270
310
|
(session_id, project_id, interaction_id, entity_id, project_name, git_root,
|
|
271
311
|
git_branch, git_remote, working_directory, session_start, updated_at,
|
|
@@ -274,7 +314,8 @@ export function setSessionContext(ctx) {
|
|
|
274
314
|
(@session_id, @project_id, @interaction_id, @entity_id, @project_name, @git_root,
|
|
275
315
|
@git_branch, @git_remote, @working_directory, @session_start, @updated_at,
|
|
276
316
|
@client_type, @agent_name, @platform, @arch)
|
|
277
|
-
`)
|
|
317
|
+
`)
|
|
318
|
+
.run(p(ctx));
|
|
278
319
|
}
|
|
279
320
|
/**
|
|
280
321
|
* Read session context.
|
|
@@ -284,64 +325,69 @@ export function setSessionContext(ctx) {
|
|
|
284
325
|
*/
|
|
285
326
|
export function getSessionContext(sessionId) {
|
|
286
327
|
const db = getDb();
|
|
287
|
-
if (sessionId && sessionId !==
|
|
328
|
+
if (sessionId && sessionId !== "unknown") {
|
|
288
329
|
const scoped = db
|
|
289
|
-
.prepare(
|
|
330
|
+
.prepare("SELECT * FROM session_context WHERE session_id = ? ORDER BY updated_at DESC LIMIT 1")
|
|
290
331
|
.get(sessionId);
|
|
291
332
|
if (scoped)
|
|
292
333
|
return scoped;
|
|
293
334
|
}
|
|
294
|
-
const row = db
|
|
295
|
-
.prepare('SELECT * FROM session_context ORDER BY updated_at DESC LIMIT 1')
|
|
296
|
-
.get();
|
|
335
|
+
const row = db.prepare("SELECT * FROM session_context ORDER BY updated_at DESC LIMIT 1").get();
|
|
297
336
|
return row ?? null;
|
|
298
337
|
}
|
|
299
338
|
export function getSessionContextByProject(projectId) {
|
|
300
339
|
const row = getDb()
|
|
301
|
-
.prepare(
|
|
340
|
+
.prepare("SELECT * FROM session_context WHERE project_id = ? ORDER BY updated_at DESC LIMIT 1")
|
|
302
341
|
.get(projectId);
|
|
303
342
|
return row ?? null;
|
|
304
343
|
}
|
|
305
344
|
// ── Turns — per-prompt metadata accumulated across user-prompt-submit calls ──
|
|
306
345
|
/** Append one turn record. Called once per user-prompt-submit invocation. */
|
|
307
346
|
export function appendTurn(turn) {
|
|
308
|
-
getDb()
|
|
347
|
+
getDb()
|
|
348
|
+
.prepare(`
|
|
309
349
|
INSERT INTO turns
|
|
310
|
-
(session_id,
|
|
350
|
+
(session_id, client_session_id, project_id, agent_name,
|
|
351
|
+
turn_number, timestamp, prompt, effort_level, intent_type, confidence, tokens_saved)
|
|
311
352
|
VALUES
|
|
312
|
-
(@session_id, @
|
|
313
|
-
|
|
353
|
+
(@session_id, @client_session_id, @project_id, @agent_name,
|
|
354
|
+
@turn_number, @timestamp, @prompt, @effort_level, @intent_type, @confidence, @tokens_saved)
|
|
355
|
+
`)
|
|
356
|
+
.run(p(turn));
|
|
314
357
|
}
|
|
315
358
|
/** Return all turns for a session and delete them atomically. Called at session-end. */
|
|
316
359
|
export function flushTurns(sessionId) {
|
|
317
360
|
const db = getDb();
|
|
318
361
|
const rows = db
|
|
319
|
-
.prepare(
|
|
362
|
+
.prepare("SELECT * FROM turns WHERE session_id = ? ORDER BY id")
|
|
320
363
|
.all(sessionId);
|
|
321
|
-
db.prepare(
|
|
364
|
+
db.prepare("DELETE FROM turns WHERE session_id = ?").run(sessionId);
|
|
322
365
|
return rows;
|
|
323
366
|
}
|
|
324
367
|
// ── Op history — tool call log accumulated per session ──
|
|
325
368
|
/** Append one op record. Called once per gramatr tool call. */
|
|
326
369
|
export function appendOpHistory(op) {
|
|
327
|
-
getDb()
|
|
370
|
+
getDb()
|
|
371
|
+
.prepare(`
|
|
328
372
|
INSERT INTO op_history (session_id, tool, time_ms, tokens_saved, timestamp)
|
|
329
373
|
VALUES (@session_id, @tool, @time_ms, @tokens_saved, @timestamp)
|
|
330
|
-
`)
|
|
374
|
+
`)
|
|
375
|
+
.run(p(op));
|
|
331
376
|
}
|
|
332
377
|
/** Return all op records for a session and delete them atomically. Called at session-end. */
|
|
333
378
|
export function flushOpHistory(sessionId) {
|
|
334
379
|
const db = getDb();
|
|
335
380
|
const rows = db
|
|
336
|
-
.prepare(
|
|
381
|
+
.prepare("SELECT * FROM op_history WHERE session_id = ? ORDER BY id")
|
|
337
382
|
.all(sessionId);
|
|
338
|
-
db.prepare(
|
|
383
|
+
db.prepare("DELETE FROM op_history WHERE session_id = ?").run(sessionId);
|
|
339
384
|
return rows;
|
|
340
385
|
}
|
|
341
386
|
// ── Latest classification — for statusline display and feedback ──
|
|
342
387
|
/** Overwrite the latest classification result for a session. */
|
|
343
388
|
export function setLatestClassification(record) {
|
|
344
|
-
getDb()
|
|
389
|
+
getDb()
|
|
390
|
+
.prepare(`
|
|
345
391
|
INSERT OR REPLACE INTO latest_classification
|
|
346
392
|
(session_id, classifier_model, classifier_time_ms, tokens_saved, savings_ratio,
|
|
347
393
|
effort, intent, confidence, memory_delivered, downstream_model,
|
|
@@ -354,7 +400,8 @@ export function setLatestClassification(record) {
|
|
|
354
400
|
@server_version, @stage_timing, @recorded_at,
|
|
355
401
|
@original_prompt, @pending_feedback, @feedback_submitted_at,
|
|
356
402
|
@client_type, @agent_name, @memory_tier, @memory_scope)
|
|
357
|
-
`)
|
|
403
|
+
`)
|
|
404
|
+
.run(p({
|
|
358
405
|
...record,
|
|
359
406
|
pending_feedback: record.pending_feedback ? 1 : 0,
|
|
360
407
|
}));
|
|
@@ -362,7 +409,7 @@ export function setLatestClassification(record) {
|
|
|
362
409
|
/** Read the latest classification record for a session. */
|
|
363
410
|
export function getLatestClassification(sessionId) {
|
|
364
411
|
const row = getDb()
|
|
365
|
-
.prepare(
|
|
412
|
+
.prepare("SELECT * FROM latest_classification WHERE session_id = ?")
|
|
366
413
|
.get(sessionId);
|
|
367
414
|
if (!row)
|
|
368
415
|
return null;
|
|
@@ -371,23 +418,27 @@ export function getLatestClassification(sessionId) {
|
|
|
371
418
|
/** Mark pending feedback as submitted for a session. */
|
|
372
419
|
export function markClassificationFeedbackSubmitted(sessionId, submittedAt) {
|
|
373
420
|
const ts = submittedAt ?? new Date().toISOString();
|
|
374
|
-
getDb()
|
|
421
|
+
getDb()
|
|
422
|
+
.prepare(`
|
|
375
423
|
UPDATE latest_classification
|
|
376
424
|
SET pending_feedback = 0, feedback_submitted_at = ?
|
|
377
425
|
WHERE session_id = ?
|
|
378
|
-
`)
|
|
426
|
+
`)
|
|
427
|
+
.run(ts, sessionId);
|
|
379
428
|
}
|
|
380
429
|
// ── Session log — persistent history across sessions ──
|
|
381
430
|
/** Append a session-end entry. Replaces session-history.log + last-session-commits.txt. */
|
|
382
431
|
export function appendSessionLog(entry) {
|
|
383
|
-
getDb()
|
|
432
|
+
getDb()
|
|
433
|
+
.prepare(`
|
|
384
434
|
INSERT INTO session_log
|
|
385
435
|
(session_id, project_id, ended_at, reason, commit_log,
|
|
386
436
|
interaction_id, entity_id, client_type, agent_name, synced_at)
|
|
387
437
|
VALUES
|
|
388
438
|
(@session_id, @project_id, @ended_at, @reason, @commit_log,
|
|
389
439
|
@interaction_id, @entity_id, @client_type, @agent_name, @synced_at)
|
|
390
|
-
`)
|
|
440
|
+
`)
|
|
441
|
+
.run(p(entry));
|
|
391
442
|
}
|
|
392
443
|
/**
|
|
393
444
|
* Return the most recent session log entry for a project.
|
|
@@ -408,7 +459,7 @@ export function getLastSessionForProject(projectId) {
|
|
|
408
459
|
/** Return the commit log from the most recent session that had commits. */
|
|
409
460
|
export function getLastSessionCommits() {
|
|
410
461
|
const row = getDb()
|
|
411
|
-
.prepare(
|
|
462
|
+
.prepare("SELECT commit_log FROM session_log WHERE commit_log IS NOT NULL ORDER BY id DESC LIMIT 1")
|
|
412
463
|
.get();
|
|
413
464
|
return row?.commit_log ?? null;
|
|
414
465
|
}
|
|
@@ -454,28 +505,27 @@ export function migrateProjectId(oldProjectId, newProjectId) {
|
|
|
454
505
|
if (oldProjectId === newProjectId)
|
|
455
506
|
return 0;
|
|
456
507
|
const db = getDb();
|
|
457
|
-
db.prepare(
|
|
458
|
-
const row = db.prepare(
|
|
508
|
+
db.prepare("UPDATE session_log SET project_id = ? WHERE project_id = ?").run(newProjectId, oldProjectId);
|
|
509
|
+
const row = db.prepare("SELECT changes() as changes").get();
|
|
459
510
|
return row?.changes ?? 0;
|
|
460
511
|
}
|
|
461
512
|
/** Mark a local session as synced to the server after a successful session-end call. */
|
|
462
513
|
export function markSessionSynced(sessionId, syncedAt) {
|
|
463
514
|
const ts = syncedAt ?? new Date().toISOString();
|
|
464
|
-
getDb()
|
|
465
|
-
.prepare('UPDATE session_log SET synced_at = ? WHERE session_id = ?')
|
|
466
|
-
.run(ts, sessionId);
|
|
515
|
+
getDb().prepare("UPDATE session_log SET synced_at = ? WHERE session_id = ?").run(ts, sessionId);
|
|
467
516
|
}
|
|
468
517
|
/** Count total sessions for a project (for "Session #N" display). */
|
|
469
518
|
export function getProjectSessionCount(projectId) {
|
|
470
519
|
const row = getDb()
|
|
471
|
-
.prepare(
|
|
520
|
+
.prepare("SELECT COUNT(*) as cnt FROM session_log WHERE project_id = ?")
|
|
472
521
|
.get(projectId);
|
|
473
522
|
return row?.cnt ?? 0;
|
|
474
523
|
}
|
|
475
524
|
// ── Projects — local project identity persistence (#947) ──
|
|
476
525
|
/** Upsert a project record in the local SQLite database. */
|
|
477
526
|
export function upsertLocalProject(project) {
|
|
478
|
-
getDb()
|
|
527
|
+
getDb()
|
|
528
|
+
.prepare(`
|
|
479
529
|
INSERT INTO projects (id, slug, git_remote, directory, org_id, updated_at)
|
|
480
530
|
VALUES (@id, @slug, @git_remote, @directory, @org_id, datetime('now'))
|
|
481
531
|
ON CONFLICT(id) DO UPDATE SET
|
|
@@ -484,7 +534,8 @@ export function upsertLocalProject(project) {
|
|
|
484
534
|
directory = COALESCE(excluded.directory, projects.directory),
|
|
485
535
|
org_id = COALESCE(excluded.org_id, projects.org_id),
|
|
486
536
|
updated_at = datetime('now')
|
|
487
|
-
`)
|
|
537
|
+
`)
|
|
538
|
+
.run(p({
|
|
488
539
|
id: project.id,
|
|
489
540
|
slug: project.slug,
|
|
490
541
|
git_remote: project.git_remote ?? null,
|
|
@@ -495,15 +546,157 @@ export function upsertLocalProject(project) {
|
|
|
495
546
|
/** Look up a project by its slug. */
|
|
496
547
|
export function getLocalProjectBySlug(slug) {
|
|
497
548
|
const row = getDb()
|
|
498
|
-
.prepare(
|
|
549
|
+
.prepare("SELECT * FROM projects WHERE slug = ? ORDER BY updated_at DESC LIMIT 1")
|
|
499
550
|
.get(slug);
|
|
500
551
|
return row ?? null;
|
|
501
552
|
}
|
|
502
553
|
/** Look up a project by its directory path. */
|
|
503
554
|
export function getLocalProjectByDirectory(directory) {
|
|
504
555
|
const row = getDb()
|
|
505
|
-
.prepare(
|
|
556
|
+
.prepare("SELECT * FROM projects WHERE directory = ? ORDER BY updated_at DESC LIMIT 1")
|
|
506
557
|
.get(directory);
|
|
507
558
|
return row ?? null;
|
|
508
559
|
}
|
|
560
|
+
// ── Directive cache — keyed {key, user_id} JSON values with TTL (#1214) ──
|
|
561
|
+
/**
|
|
562
|
+
* Write a cached directive/project-context value under (key, user_id).
|
|
563
|
+
* TTL defaults to 24h. Keys are free-form (e.g. 'directives', 'phase_template',
|
|
564
|
+
* 'project_context'). Overwrites any existing row.
|
|
565
|
+
*/
|
|
566
|
+
export function setCachedDirective(key, userId, value, ttlHours = 24) {
|
|
567
|
+
const now = new Date();
|
|
568
|
+
const expires = new Date(now.getTime() + ttlHours * 3600 * 1000);
|
|
569
|
+
getDb()
|
|
570
|
+
.prepare(`
|
|
571
|
+
INSERT INTO directive_cache (key, user_id, value_json, cached_at, expires_at)
|
|
572
|
+
VALUES (@key, @user_id, @value_json, @cached_at, @expires_at)
|
|
573
|
+
ON CONFLICT(key, user_id) DO UPDATE SET
|
|
574
|
+
value_json = excluded.value_json,
|
|
575
|
+
cached_at = excluded.cached_at,
|
|
576
|
+
expires_at = excluded.expires_at
|
|
577
|
+
`)
|
|
578
|
+
.run(p({
|
|
579
|
+
key,
|
|
580
|
+
user_id: userId,
|
|
581
|
+
value_json: JSON.stringify(value),
|
|
582
|
+
cached_at: now.toISOString(),
|
|
583
|
+
expires_at: expires.toISOString(),
|
|
584
|
+
}));
|
|
585
|
+
}
|
|
586
|
+
/**
|
|
587
|
+
* Read a cached directive. Returns null when the row is missing or expired.
|
|
588
|
+
* Corrupt JSON is treated as a miss (not a throw) so callers can degrade cleanly.
|
|
589
|
+
*/
|
|
590
|
+
export function getCachedDirective(key, userId) {
|
|
591
|
+
const row = getDb()
|
|
592
|
+
.prepare("SELECT value_json, expires_at FROM directive_cache WHERE key = ? AND user_id = ?")
|
|
593
|
+
.get(key, userId);
|
|
594
|
+
if (!row)
|
|
595
|
+
return null;
|
|
596
|
+
const expiresMs = Date.parse(row.expires_at);
|
|
597
|
+
if (Number.isFinite(expiresMs) && expiresMs <= Date.now())
|
|
598
|
+
return null;
|
|
599
|
+
try {
|
|
600
|
+
return JSON.parse(row.value_json);
|
|
601
|
+
}
|
|
602
|
+
catch {
|
|
603
|
+
return null;
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
// ── Mutation outbox — replicate failed mutations when the network recovers (#1214) ──
|
|
607
|
+
/** Enqueue a mutation to be replicated asynchronously. */
|
|
608
|
+
export function enqueueOutboxMutation(toolName, args) {
|
|
609
|
+
getDb()
|
|
610
|
+
.prepare(`
|
|
611
|
+
INSERT INTO mutation_outbox (tool_name, args_json, created_at, attempts)
|
|
612
|
+
VALUES (@tool_name, @args_json, @created_at, 0)
|
|
613
|
+
`)
|
|
614
|
+
.run(p({
|
|
615
|
+
tool_name: toolName,
|
|
616
|
+
args_json: JSON.stringify(args),
|
|
617
|
+
created_at: new Date().toISOString(),
|
|
618
|
+
}));
|
|
619
|
+
}
|
|
620
|
+
/**
|
|
621
|
+
* Attempt to replicate every unreplicated outbox row. On success the row is
|
|
622
|
+
* marked replicated_at. Rows that reach three failed attempts keep their
|
|
623
|
+
* last_error and remain in the table for manual inspection — they are not
|
|
624
|
+
* retried on subsequent drains. Rows replicated more than seven days ago are
|
|
625
|
+
* GC'd to keep the DB bounded.
|
|
626
|
+
*/
|
|
627
|
+
export async function drainOutbox(callTool) {
|
|
628
|
+
const db = getDb();
|
|
629
|
+
// GC old replicated rows first — cheap and keeps the table small.
|
|
630
|
+
try {
|
|
631
|
+
db.prepare("DELETE FROM mutation_outbox WHERE replicated_at IS NOT NULL AND replicated_at < datetime('now', '-7 days')").run();
|
|
632
|
+
}
|
|
633
|
+
catch {
|
|
634
|
+
// Non-fatal
|
|
635
|
+
}
|
|
636
|
+
const rows = db
|
|
637
|
+
.prepare(`
|
|
638
|
+
SELECT id, tool_name, args_json, attempts
|
|
639
|
+
FROM mutation_outbox
|
|
640
|
+
WHERE replicated_at IS NULL AND attempts < 3
|
|
641
|
+
ORDER BY id
|
|
642
|
+
`)
|
|
643
|
+
.all();
|
|
644
|
+
const markSuccess = db.prepare("UPDATE mutation_outbox SET replicated_at = ?, attempts = attempts + 1, last_error = NULL WHERE id = ?");
|
|
645
|
+
const markFailure = db.prepare("UPDATE mutation_outbox SET attempts = attempts + 1, last_error = ? WHERE id = ?");
|
|
646
|
+
for (const row of rows) {
|
|
647
|
+
let args = {};
|
|
648
|
+
try {
|
|
649
|
+
args = JSON.parse(row.args_json);
|
|
650
|
+
}
|
|
651
|
+
catch (err) {
|
|
652
|
+
// Permanently poisoned row — mark as terminal to stop retrying.
|
|
653
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
654
|
+
markFailure.run(`args_json parse error: ${detail}`, row.id);
|
|
655
|
+
// Force attempts to 3 so we never retry this row.
|
|
656
|
+
db.prepare("UPDATE mutation_outbox SET attempts = 3 WHERE id = ?").run(row.id);
|
|
657
|
+
continue;
|
|
658
|
+
}
|
|
659
|
+
try {
|
|
660
|
+
await callTool(row.tool_name, args);
|
|
661
|
+
markSuccess.run(new Date().toISOString(), row.id);
|
|
662
|
+
}
|
|
663
|
+
catch (err) {
|
|
664
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
665
|
+
markFailure.run(detail, row.id);
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
/** Current unreplicated outbox size. Exposed for diagnostics + tests. */
|
|
670
|
+
export function getOutboxPendingCount() {
|
|
671
|
+
const row = getDb()
|
|
672
|
+
.prepare("SELECT COUNT(*) as cnt FROM mutation_outbox WHERE replicated_at IS NULL")
|
|
673
|
+
.get();
|
|
674
|
+
return row?.cnt ?? 0;
|
|
675
|
+
}
|
|
676
|
+
/** Diagnostic — read every outbox row (primarily for tests). */
|
|
677
|
+
export function listOutboxEntries() {
|
|
678
|
+
return getDb()
|
|
679
|
+
.prepare("SELECT id, tool_name, args_json, created_at, replicated_at, attempts, last_error FROM mutation_outbox ORDER BY id")
|
|
680
|
+
.all();
|
|
681
|
+
}
|
|
682
|
+
/**
|
|
683
|
+
* Test-only hook: inject an outbox row with arbitrary args_json so the
|
|
684
|
+
* JSON.parse failure path in drainOutbox can be exercised. Production code
|
|
685
|
+
* never calls this — the marker prefix keeps it discoverable.
|
|
686
|
+
*/
|
|
687
|
+
export function __testOnlyInsertOutboxRaw(toolName, argsJsonLiteral) {
|
|
688
|
+
const result = getDb()
|
|
689
|
+
.prepare(`
|
|
690
|
+
INSERT INTO mutation_outbox (tool_name, args_json, created_at, attempts)
|
|
691
|
+
VALUES (?, ?, ?, 0)
|
|
692
|
+
`)
|
|
693
|
+
.run(toolName, argsJsonLiteral, new Date().toISOString());
|
|
694
|
+
return Number(result.lastInsertRowid);
|
|
695
|
+
}
|
|
696
|
+
/** List all locally known projects, sorted by most recently active. */
|
|
697
|
+
export function listLocalProjects(limit = 20) {
|
|
698
|
+
return getDb()
|
|
699
|
+
.prepare('SELECT * FROM projects ORDER BY updated_at DESC LIMIT ?')
|
|
700
|
+
.all(Math.min(Math.max(1, limit), 50));
|
|
701
|
+
}
|
|
509
702
|
//# sourceMappingURL=hook-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-state.js","sourceRoot":"","sources":["../../../src/hooks/lib/hook-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook-state.js","sourceRoot":"","sources":["../../../src/hooks/lib/hook-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rating-capture.d.ts","sourceRoot":"","sources":["../../src/hooks/rating-capture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rating-capture.d.ts","sourceRoot":"","sources":["../../src/hooks/rating-capture.ts"],"names":[],"mappings":"AA8BA,wBAAsB,oBAAoB,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAqGhF"}
|