@gramatr/mcp 0.13.101 → 0.13.103

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 (49) hide show
  1. package/dist/daemon/daemon-logger.d.ts +55 -0
  2. package/dist/daemon/daemon-logger.d.ts.map +1 -0
  3. package/dist/daemon/daemon-logger.js +222 -0
  4. package/dist/daemon/daemon-logger.js.map +1 -0
  5. package/dist/daemon/index.d.ts.map +1 -1
  6. package/dist/daemon/index.js +11 -0
  7. package/dist/daemon/index.js.map +1 -1
  8. package/dist/daemon/ipc-protocol.d.ts +13 -1
  9. package/dist/daemon/ipc-protocol.d.ts.map +1 -1
  10. package/dist/daemon/ipc-protocol.js.map +1 -1
  11. package/dist/daemon/server.d.ts.map +1 -1
  12. package/dist/daemon/server.js +68 -0
  13. package/dist/daemon/server.js.map +1 -1
  14. package/dist/hooks/compact.js +1 -1
  15. package/dist/hooks/compact.js.map +1 -1
  16. package/dist/hooks/lib/compact-writer.d.ts +1 -1
  17. package/dist/hooks/lib/compact-writer.d.ts.map +1 -1
  18. package/dist/hooks/lib/compact-writer.js +2 -2
  19. package/dist/hooks/lib/compact-writer.js.map +1 -1
  20. package/dist/hooks/lib/formatting-compat.js +1 -1
  21. package/dist/hooks/lib/formatting-compat.js.map +1 -1
  22. package/dist/hooks/lib/hook-state.d.ts +7 -7
  23. package/dist/hooks/lib/hook-state.d.ts.map +1 -1
  24. package/dist/hooks/lib/hook-state.js +54 -18
  25. package/dist/hooks/lib/hook-state.js.map +1 -1
  26. package/dist/hooks/lib/intelligence.js +7 -7
  27. package/dist/hooks/lib/intelligence.js.map +1 -1
  28. package/dist/hooks/lib/types.d.ts +1 -1
  29. package/dist/hooks/lib/types.d.ts.map +1 -1
  30. package/dist/hooks/stop.d.ts.map +1 -1
  31. package/dist/hooks/stop.js +50 -9
  32. package/dist/hooks/stop.js.map +1 -1
  33. package/dist/hooks/subagent-route.d.ts +1 -1
  34. package/dist/hooks/subagent-route.js +3 -3
  35. package/dist/hooks/subagent-route.js.map +1 -1
  36. package/dist/hooks/tool-tracker.js +1 -1
  37. package/dist/hooks/tool-tracker.js.map +1 -1
  38. package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
  39. package/dist/hooks/user-prompt-submit.js +8 -5
  40. package/dist/hooks/user-prompt-submit.js.map +1 -1
  41. package/dist/proxy/local-client.d.ts +13 -0
  42. package/dist/proxy/local-client.d.ts.map +1 -1
  43. package/dist/proxy/local-client.js +21 -0
  44. package/dist/proxy/local-client.js.map +1 -1
  45. package/dist/setup/generated/instruction-blocks.d.ts +4 -4
  46. package/dist/setup/generated/instruction-blocks.d.ts.map +1 -1
  47. package/dist/setup/generated/instruction-blocks.js +4 -4
  48. package/dist/setup/generated/instruction-blocks.js.map +1 -1
  49. package/package.json +1 -1
@@ -0,0 +1,55 @@
1
+ /**
2
+ * daemon-logger.ts — Rotating file logger for the gramatr daemon.
3
+ *
4
+ * Writes structured log lines to ~/.gramatr/debug/daemon.log.
5
+ * Rotates when the file exceeds 5 MB: renames to daemon.log.1, keeps at
6
+ * most 2 rotated files (daemon.log.1, daemon.log.2), then starts fresh.
7
+ *
8
+ * On unexpected exit (non-zero code or uncaught exception), writes a crash
9
+ * record to ~/.gramatr/debug/daemon-crash.json.
10
+ *
11
+ * Design constraints:
12
+ * - No external dependencies — plain Node.js fs calls only.
13
+ * - All operations are synchronous and best-effort: log failures never
14
+ * propagate to callers.
15
+ * - Safe to call before the daemon is fully initialised.
16
+ */
17
+ export declare function getDaemonLogPath(): string;
18
+ export declare function getDaemonCrashPath(): string;
19
+ /**
20
+ * Append a log line to ~/.gramatr/debug/daemon.log.
21
+ * Rotates the file first if it has grown past 5 MB.
22
+ * Silently no-ops on any filesystem error.
23
+ */
24
+ export declare function logDaemon(level: 'INFO' | 'WARN' | 'ERROR', message: string, extra?: Record<string, unknown>): void;
25
+ export interface CrashRecord {
26
+ timestamp: string;
27
+ exit_code: number | null;
28
+ signal: string | null;
29
+ last_known_state: string;
30
+ error_message: string | null;
31
+ }
32
+ /**
33
+ * Write a crash record to ~/.gramatr/debug/daemon-crash.json.
34
+ * Overwrites on each crash — only the latest crash is kept.
35
+ */
36
+ export declare function writeCrashRecord(record: CrashRecord): void;
37
+ /**
38
+ * Redirect process.stderr so every byte written to it is also appended to the
39
+ * daemon log file. Call once at daemon startup.
40
+ *
41
+ * Implementation: monkey-patches process.stderr.write(). The original write
42
+ * is always called first so stderr still works normally.
43
+ */
44
+ export declare function redirectStderrToLog(): void;
45
+ /**
46
+ * Register process-level crash handlers.
47
+ * Should be called once, as early as possible in the daemon entry point.
48
+ *
49
+ * Captures:
50
+ * - process.on('uncaughtException')
51
+ * - process.on('unhandledRejection')
52
+ * - process.on('exit') when exit code != 0
53
+ */
54
+ export declare function registerCrashHandlers(): void;
55
+ //# sourceMappingURL=daemon-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-logger.d.ts","sourceRoot":"","sources":["../../src/daemon/daemon-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA6BH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AA6CD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAgBlH;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAO1D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAgC1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA+D5C"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * daemon-logger.ts — Rotating file logger for the gramatr daemon.
3
+ *
4
+ * Writes structured log lines to ~/.gramatr/debug/daemon.log.
5
+ * Rotates when the file exceeds 5 MB: renames to daemon.log.1, keeps at
6
+ * most 2 rotated files (daemon.log.1, daemon.log.2), then starts fresh.
7
+ *
8
+ * On unexpected exit (non-zero code or uncaught exception), writes a crash
9
+ * record to ~/.gramatr/debug/daemon-crash.json.
10
+ *
11
+ * Design constraints:
12
+ * - No external dependencies — plain Node.js fs calls only.
13
+ * - All operations are synchronous and best-effort: log failures never
14
+ * propagate to callers.
15
+ * - Safe to call before the daemon is fully initialised.
16
+ */
17
+ import { appendFileSync, existsSync, mkdirSync, renameSync, statSync, unlinkSync, writeFileSync, } from 'node:fs';
18
+ import { join } from 'node:path';
19
+ import { getGramatrDirFromEnv, getHomeDir } from '../config-runtime.js';
20
+ // ── Constants ─────────────────────────────────────────────────────────────────
21
+ const MAX_LOG_BYTES = 5 * 1024 * 1024; // 5 MB
22
+ const MAX_ROTATED = 2; // keep daemon.log.1 and daemon.log.2
23
+ // ── Path helpers ──────────────────────────────────────────────────────────────
24
+ function getGramatrDir() {
25
+ return getGramatrDirFromEnv() ?? join(getHomeDir(), '.gramatr');
26
+ }
27
+ function getDebugDir() {
28
+ return join(getGramatrDir(), 'debug');
29
+ }
30
+ export function getDaemonLogPath() {
31
+ return join(getDebugDir(), 'daemon.log');
32
+ }
33
+ export function getDaemonCrashPath() {
34
+ return join(getDebugDir(), 'daemon-crash.json');
35
+ }
36
+ // ── Directory init ────────────────────────────────────────────────────────────
37
+ function ensureDebugDir() {
38
+ const dir = getDebugDir();
39
+ if (!existsSync(dir)) {
40
+ try {
41
+ mkdirSync(dir, { recursive: true, mode: 0o700 });
42
+ }
43
+ catch {
44
+ // Non-fatal — log writes will simply fail silently below.
45
+ }
46
+ }
47
+ }
48
+ // ── Log rotation ──────────────────────────────────────────────────────────────
49
+ function rotateLogs() {
50
+ const logPath = getDaemonLogPath();
51
+ try {
52
+ const st = statSync(logPath);
53
+ if (st.size < MAX_LOG_BYTES)
54
+ return;
55
+ }
56
+ catch {
57
+ return; // file doesn't exist yet — nothing to rotate
58
+ }
59
+ // Shift existing rotated files: .2 → drop, .1 → .2, current → .1
60
+ try {
61
+ const slot2 = `${getDaemonLogPath()}.2`;
62
+ const slot1 = `${getDaemonLogPath()}.1`;
63
+ if (existsSync(slot2)) {
64
+ try {
65
+ unlinkSync(slot2);
66
+ }
67
+ catch { /* best-effort */ }
68
+ }
69
+ if (existsSync(slot1)) {
70
+ try {
71
+ renameSync(slot1, slot2);
72
+ }
73
+ catch { /* best-effort */ }
74
+ }
75
+ renameSync(logPath, slot1);
76
+ }
77
+ catch {
78
+ // If rotation fails (e.g. permissions), keep writing to the existing file.
79
+ }
80
+ }
81
+ // ── Public API ────────────────────────────────────────────────────────────────
82
+ /**
83
+ * Append a log line to ~/.gramatr/debug/daemon.log.
84
+ * Rotates the file first if it has grown past 5 MB.
85
+ * Silently no-ops on any filesystem error.
86
+ */
87
+ export function logDaemon(level, message, extra) {
88
+ try {
89
+ ensureDebugDir();
90
+ rotateLogs();
91
+ const timestamp = new Date().toISOString();
92
+ const line = JSON.stringify({
93
+ timestamp,
94
+ level,
95
+ pid: process.pid,
96
+ message,
97
+ ...(extra ? { extra } : {}),
98
+ }) + '\n';
99
+ appendFileSync(getDaemonLogPath(), line, { encoding: 'utf8' });
100
+ }
101
+ catch {
102
+ // Never let logging errors surface to callers.
103
+ }
104
+ }
105
+ /**
106
+ * Write a crash record to ~/.gramatr/debug/daemon-crash.json.
107
+ * Overwrites on each crash — only the latest crash is kept.
108
+ */
109
+ export function writeCrashRecord(record) {
110
+ try {
111
+ ensureDebugDir();
112
+ writeFileSync(getDaemonCrashPath(), JSON.stringify(record, null, 2) + '\n', { encoding: 'utf8', mode: 0o600 });
113
+ }
114
+ catch {
115
+ // Best-effort — don't let crash-record writes re-throw.
116
+ }
117
+ }
118
+ /**
119
+ * Redirect process.stderr so every byte written to it is also appended to the
120
+ * daemon log file. Call once at daemon startup.
121
+ *
122
+ * Implementation: monkey-patches process.stderr.write(). The original write
123
+ * is always called first so stderr still works normally.
124
+ */
125
+ export function redirectStderrToLog() {
126
+ const originalWrite = process.stderr.write.bind(process.stderr);
127
+ // process.stderr.write has two overloads; we need to handle both.
128
+ // eslint-disable-next-line @typescript-eslint/unbound-method
129
+ process.stderr.write = function patchedWrite(chunk, encodingOrCb, cb) {
130
+ // Call original first
131
+ let result;
132
+ if (typeof encodingOrCb === 'function') {
133
+ result = originalWrite(chunk, encodingOrCb);
134
+ }
135
+ else if (cb) {
136
+ result = originalWrite(chunk, encodingOrCb, cb);
137
+ }
138
+ else {
139
+ result = originalWrite(chunk, encodingOrCb);
140
+ }
141
+ // Mirror to log file (best-effort, synchronous)
142
+ try {
143
+ const text = chunk instanceof Uint8Array ? Buffer.from(chunk).toString('utf8') : chunk;
144
+ ensureDebugDir();
145
+ rotateLogs();
146
+ appendFileSync(getDaemonLogPath(), text, { encoding: 'utf8' });
147
+ }
148
+ catch {
149
+ // Never let log mirroring break stderr
150
+ }
151
+ return result;
152
+ };
153
+ }
154
+ /**
155
+ * Register process-level crash handlers.
156
+ * Should be called once, as early as possible in the daemon entry point.
157
+ *
158
+ * Captures:
159
+ * - process.on('uncaughtException')
160
+ * - process.on('unhandledRejection')
161
+ * - process.on('exit') when exit code != 0
162
+ */
163
+ export function registerCrashHandlers() {
164
+ process.on('uncaughtException', (err, origin) => {
165
+ const record = {
166
+ timestamp: new Date().toISOString(),
167
+ exit_code: null,
168
+ signal: null,
169
+ last_known_state: `uncaughtException origin=${origin}`,
170
+ error_message: `${err.name}: ${err.message}${err.stack ? '\n' + err.stack : ''}`,
171
+ };
172
+ logDaemon('ERROR', 'uncaughtException — daemon will exit', { origin, error: record.error_message });
173
+ writeCrashRecord(record);
174
+ // Give the log write a moment then exit 1 (Node.js default behaviour)
175
+ process.exit(1);
176
+ });
177
+ process.on('unhandledRejection', (reason, promise) => {
178
+ const message = reason instanceof Error
179
+ ? `${reason.name}: ${reason.message}${reason.stack ? '\n' + reason.stack : ''}`
180
+ : String(reason);
181
+ logDaemon('ERROR', 'unhandledRejection', { message, promise: String(promise) });
182
+ // Not fatal by default — log and continue. If it becomes fatal, the
183
+ // uncaughtException handler above will catch the ensuing exception.
184
+ });
185
+ process.on('exit', (code) => {
186
+ if (code !== 0) {
187
+ const record = {
188
+ timestamp: new Date().toISOString(),
189
+ exit_code: code,
190
+ signal: null,
191
+ last_known_state: 'process.exit with non-zero code',
192
+ error_message: `Exited with code ${code}`,
193
+ };
194
+ writeCrashRecord(record);
195
+ }
196
+ });
197
+ // SIGTERM / SIGKILL arrive as signals; capture the signal name in the crash
198
+ // record when the process is killed unexpectedly (not via gracefulShutdown).
199
+ // We use a flag so that gracefulShutdown can suppress the crash record.
200
+ let handledGracefully = false;
201
+ globalThis['__gramatrDaemonGracefulExit'] = () => { handledGracefully = true; };
202
+ process.on('SIGKILL', () => {
203
+ // SIGKILL cannot be caught — this handler is for documentation only.
204
+ });
205
+ // Wrap the exit handler to detect signal-induced exits
206
+ const origExit = process.exit.bind(process);
207
+ process.exit = (code) => {
208
+ const exitCode = typeof code === 'number' ? code : (code != null ? parseInt(String(code), 10) || 0 : 0);
209
+ if (!handledGracefully && exitCode !== 0) {
210
+ const record = {
211
+ timestamp: new Date().toISOString(),
212
+ exit_code: exitCode,
213
+ signal: null,
214
+ last_known_state: 'process.exit called',
215
+ error_message: `Exited with code ${exitCode}`,
216
+ };
217
+ writeCrashRecord(record);
218
+ }
219
+ return origExit(exitCode);
220
+ };
221
+ }
222
+ //# sourceMappingURL=daemon-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-logger.js","sourceRoot":"","sources":["../../src/daemon/daemon-logger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuDH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAuGjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAwDH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA6GjD"}
@@ -13,6 +13,7 @@ import { chmodSync, existsSync, mkdirSync, unlinkSync, writeFileSync } from 'nod
13
13
  import { join } from 'node:path';
14
14
  import { createDaemonServer, dispatchRpcRequest } from './server.js';
15
15
  import { startHttpFallback } from './http-server.js';
16
+ import { redirectStderrToLog, registerCrashHandlers, logDaemon } from './daemon-logger.js';
16
17
  import { writePidFile, writeDaemonToken, removePidFile, removeSocketFile, terminateOrphanDaemon, getDaemonSocketPath, getDaemonLockPath, writeHttpCredentials, removeHttpCredentials, } from './startup.js';
17
18
  import { sessionRegistry } from './session-registry.js';
18
19
  import { sqliteOwner } from './sqlite-owner.js';
@@ -49,6 +50,11 @@ function removeSentinel() {
49
50
  }
50
51
  let _httpServer = null;
51
52
  export async function startDaemon() {
53
+ // Install crash handlers and stderr→logfile mirroring as the very first
54
+ // thing — before any I/O that could fail. This ensures that even startup
55
+ // errors are captured in ~/.gramatr/debug/daemon.log.
56
+ redirectStderrToLog();
57
+ registerCrashHandlers();
52
58
  const sockPath = getDaemonSocketPath();
53
59
  // Ensure ~/.gramatr/ is 0700 — world-traversable dir exposes the socket path (#1453).
54
60
  const gramatrDir = join(sockPath, '..');
@@ -140,6 +146,11 @@ export async function startDaemon() {
140
146
  process.stderr.write(`[gramatr-daemon] listening on ${sockPath} (pid ${process.pid})\n`);
141
147
  }
142
148
  async function gracefulShutdown(server, reason) {
149
+ // Signal the crash handler that this is intentional so no crash record is written.
150
+ const markGraceful = globalThis['__gramatrDaemonGracefulExit'];
151
+ if (typeof markGraceful === 'function')
152
+ markGraceful();
153
+ logDaemon('INFO', `daemon shutting down (${reason})`);
143
154
  process.stderr.write(`[gramatr-daemon] shutting down (${reason})\n`);
144
155
  server.close();
145
156
  _httpServer?.close();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,19 @@ export interface DaemonResponse {
22
22
  data?: unknown;
23
23
  };
24
24
  }
25
- export type DaemonMethod = 'tool/call' | 'session/register' | 'session/release' | 'session/context/get' | 'session/context/set' | 'project/resolve' | 'project/cache-set' | 'db/query' | 'agent/store' | 'agent/get' | 'agent/list' | 'agent/expire' | 'daemon/ping' | 'daemon/shutdown' | 'orchestration/run-create' | 'orchestration/run-get' | 'orchestration/run-list' | 'orchestration/run-update' | 'orchestration/task-enqueue' | 'orchestration/task-get' | 'orchestration/task-list' | 'orchestration/task-pickup' | 'orchestration/task-complete' | 'orchestration/approval-create' | 'orchestration/approval-resolve' | 'orchestration/approval-get' | 'orchestration/status-dashboard';
25
+ export type DaemonMethod = 'tool/call' | 'session/register' | 'session/release' | 'session/context/get' | 'session/context/set' | 'project/resolve' | 'project/cache-set' | 'db/query' | 'agent/store' | 'agent/get' | 'agent/list' | 'agent/expire' | 'daemon/ping' | 'daemon/shutdown' | 'orchestration/run-create' | 'orchestration/run-get' | 'orchestration/run-list' | 'orchestration/run-update' | 'orchestration/task-enqueue' | 'orchestration/task-get' | 'orchestration/task-list' | 'orchestration/task-pickup' | 'orchestration/task-complete' | 'orchestration/approval-create' | 'orchestration/approval-resolve' | 'orchestration/approval-get' | 'orchestration/status-dashboard' | 'db/write';
26
+ /**
27
+ * Parameters for the db/write IPC method.
28
+ *
29
+ * Routes INSERT/INSERT OR REPLACE operations for turns, op_history, and
30
+ * compacts through the daemon's owned SQLite connection — eliminating
31
+ * SQLITE_BUSY collisions when 4+ concurrent hook processes write simultaneously.
32
+ */
33
+ export interface DbWriteParams {
34
+ table: 'turns' | 'op_history' | 'compacts';
35
+ operation: 'insert' | 'insert_or_replace';
36
+ record: Record<string, unknown>;
37
+ }
26
38
  /**
27
39
  * Parameters for the db/query IPC method.
28
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-protocol.d.ts","sourceRoot":"","sources":["../../src/daemon/ipc-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipc-protocol.d.ts","sourceRoot":"","sources":["../../src/daemon/ipc-protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-protocol.js","sourceRoot":"","sources":["../../src/daemon/ipc-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiKH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"ipc-protocol.js","sourceRoot":"","sources":["../../src/daemon/ipc-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+KH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAOlE,OAAO,KAAK,EAAE,aAAa,EAAuD,MAAM,mBAAmB,CAAC;AA8G5G;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CA2W7E;AA0FD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAU5D;AAED,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,CAE9C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAQlE,OAAO,KAAK,EAAE,aAAa,EAAsE,MAAM,mBAAmB,CAAC;AA+G3H;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAya7E;AAoGD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAW5D;AAED,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,CAE9C"}
@@ -18,6 +18,7 @@ import { sessionRegistry } from './session-registry.js';
18
18
  import { projectCache } from './project-cache.js';
19
19
  import { sqliteOwner } from './sqlite-owner.js';
20
20
  import { VERSION } from '../hooks/lib/version.js';
21
+ import { logDaemon } from './daemon-logger.js';
21
22
  const contextStore = new Map();
22
23
  const activeSockets = new Set();
23
24
  let _server = null;
@@ -247,6 +248,62 @@ export async function dispatchRpcRequest(req) {
247
248
  sqliteOwner.resetIdleTimer();
248
249
  return { ok: true };
249
250
  }
251
+ case 'db/write': {
252
+ const { table, operation, record } = params;
253
+ const db = sqliteOwner.getDb();
254
+ if (!db)
255
+ return { ok: false, reason: 'db_unavailable' };
256
+ try {
257
+ switch (table) {
258
+ case 'turns': {
259
+ const sql = operation === 'insert_or_replace'
260
+ ? `INSERT OR REPLACE INTO turns
261
+ (session_id, client_session_id, project_id, agent_name,
262
+ turn_number, timestamp, prompt, effort_level, intent_type, confidence, tokens_saved)
263
+ VALUES
264
+ (@session_id, @client_session_id, @project_id, @agent_name,
265
+ @turn_number, @timestamp, @prompt, @effort_level, @intent_type, @confidence, @tokens_saved)`
266
+ : `INSERT INTO turns
267
+ (session_id, client_session_id, project_id, agent_name,
268
+ turn_number, timestamp, prompt, effort_level, intent_type, confidence, tokens_saved)
269
+ VALUES
270
+ (@session_id, @client_session_id, @project_id, @agent_name,
271
+ @turn_number, @timestamp, @prompt, @effort_level, @intent_type, @confidence, @tokens_saved)`;
272
+ db.prepare(sql).run(record);
273
+ break;
274
+ }
275
+ case 'op_history': {
276
+ const sql = operation === 'insert_or_replace'
277
+ ? `INSERT OR REPLACE INTO op_history (session_id, tool, time_ms, tokens_saved, timestamp)
278
+ VALUES (@session_id, @tool, @time_ms, @tokens_saved, @timestamp)`
279
+ : `INSERT INTO op_history (session_id, tool, time_ms, tokens_saved, timestamp)
280
+ VALUES (@session_id, @tool, @time_ms, @tokens_saved, @timestamp)`;
281
+ db.prepare(sql).run(record);
282
+ break;
283
+ }
284
+ case 'compacts': {
285
+ // compacts always uses INSERT OR REPLACE — only one compact per id.
286
+ db.prepare(`
287
+ INSERT OR REPLACE INTO compacts
288
+ (id, project_id, session_id, created_at, summary, turns_json, metadata_json)
289
+ VALUES
290
+ (@id, @project_id, @session_id, @created_at, @summary, @turns_json, @metadata_json)
291
+ `).run(record);
292
+ break;
293
+ }
294
+ default: {
295
+ throw Object.assign(new Error(`db/write: unknown table: ${String(table)}`), { code: -32601 });
296
+ }
297
+ }
298
+ }
299
+ catch (err) {
300
+ if (err !== null && typeof err === 'object' && 'code' in err)
301
+ throw err;
302
+ throw Object.assign(new Error(`db/write(${String(table)}) failed: ${err instanceof Error ? err.message : String(err)}`), { code: -32603 });
303
+ }
304
+ sqliteOwner.resetIdleTimer();
305
+ return { ok: true };
306
+ }
250
307
  case 'db/query': {
251
308
  const { operation, args } = params;
252
309
  const result = handleDbQuery(operation, args);
@@ -530,6 +587,16 @@ async function handleRpc(line, socket, rl) {
530
587
  const isRpcError = err !== null && typeof err === 'object' && 'code' in err;
531
588
  const code = isRpcError ? err.code : -32603;
532
589
  const message = err instanceof Error ? err.message : String(err);
590
+ // Log internal errors (code -32603) structurally — they indicate unexpected
591
+ // failures, not intentional JSON-RPC error responses.
592
+ if (code === -32603) {
593
+ logDaemon('ERROR', 'unhandled error in request handler', {
594
+ method: req.method,
595
+ id: req.id,
596
+ error: message,
597
+ stack: err instanceof Error ? err.stack : undefined,
598
+ });
599
+ }
533
600
  sendError(code, message);
534
601
  }
535
602
  }
@@ -539,6 +606,7 @@ export function createDaemonServer(authToken) {
539
606
  const server = createServer(handleConnection);
540
607
  _server = server;
541
608
  server.on('error', (err) => {
609
+ logDaemon('ERROR', 'IPC server error', { code: err.code, message: err.message });
542
610
  process.stderr.write(`[gramatr-daemon] server error: ${err.message}\n`);
543
611
  });
544
612
  return server;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export async function runCompactHook(_args = []) {
14
14
  const projectId = sessionCtx?.project_id
15
15
  ?? resolveLocalProjectUuid({ directory: git.root, projectName: git.projectName })
16
16
  ?? null;
17
- const result = writeCompact({ sessionId, projectId, projectSlug: git.projectName, gitRoot: git.root });
17
+ const result = await writeCompact({ sessionId, projectId, projectSlug: git.projectName, gitRoot: git.root });
18
18
  process.stderr.write(`[gramatr] compact saved: ${result.id} (${result.turnCount} turns)\n`);
19
19
  process.stdout.write(`${result.summary}\n`);
20
20
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/hooks/compact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAkB,EAAE;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAClE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,UAAU,EAAE,UAAU,IAAI,SAAS,CAAC;QACtD,MAAM,SAAS,GAAG,UAAU,EAAE,UAAU;eACnC,uBAAuB,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;eAC9E,IAAI,CAAC;QAEV,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,SAAS,WAAW,CAAC,CAAC;QAC5F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/hooks/compact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAkB,EAAE;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAClE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,UAAU,EAAE,UAAU,IAAI,SAAS,CAAC;QACtD,MAAM,SAAS,GAAG,UAAU,EAAE,UAAU;eACnC,uBAAuB,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;eAC9E,IAAI,CAAC;QAEV,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,SAAS,WAAW,CAAC,CAAC;QAC5F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -16,7 +16,7 @@ export declare function writeCompact(opts: {
16
16
  projectId: string | null;
17
17
  projectSlug: string;
18
18
  gitRoot: string | null;
19
- }): CompactResult;
19
+ }): Promise<CompactResult>;
20
20
  /** Build the injection message for the agent based on client capabilities. */
21
21
  export declare function buildCompactInjection(opts: {
22
22
  compactId: string;