@gramatr/mcp 0.7.5 → 0.7.6

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 (61) hide show
  1. package/dist/hooks/lib/feedback.d.ts +0 -2
  2. package/dist/hooks/lib/feedback.d.ts.map +1 -1
  3. package/dist/hooks/lib/feedback.js +18 -19
  4. package/dist/hooks/lib/feedback.js.map +1 -1
  5. package/dist/hooks/lib/formatting-compat.d.ts.map +1 -1
  6. package/dist/hooks/lib/formatting-compat.js +82 -55
  7. package/dist/hooks/lib/formatting-compat.js.map +1 -1
  8. package/dist/hooks/lib/gramatr-hook-utils.d.ts +0 -59
  9. package/dist/hooks/lib/gramatr-hook-utils.d.ts.map +1 -1
  10. package/dist/hooks/lib/gramatr-hook-utils.js +1 -212
  11. package/dist/hooks/lib/gramatr-hook-utils.js.map +1 -1
  12. package/dist/hooks/lib/hook-state.d.ts +159 -0
  13. package/dist/hooks/lib/hook-state.d.ts.map +1 -0
  14. package/dist/hooks/lib/hook-state.js +430 -0
  15. package/dist/hooks/lib/hook-state.js.map +1 -0
  16. package/dist/hooks/lib/intelligence.d.ts.map +1 -1
  17. package/dist/hooks/lib/intelligence.js +112 -88
  18. package/dist/hooks/lib/intelligence.js.map +1 -1
  19. package/dist/hooks/lib/routing.d.ts +2 -2
  20. package/dist/hooks/lib/routing.d.ts.map +1 -1
  21. package/dist/hooks/lib/routing.js +71 -25
  22. package/dist/hooks/lib/routing.js.map +1 -1
  23. package/dist/hooks/lib/session-end.d.ts +7 -0
  24. package/dist/hooks/lib/session-end.d.ts.map +1 -1
  25. package/dist/hooks/lib/session-end.js +33 -16
  26. package/dist/hooks/lib/session-end.js.map +1 -1
  27. package/dist/hooks/lib/session.d.ts +7 -38
  28. package/dist/hooks/lib/session.d.ts.map +1 -1
  29. package/dist/hooks/lib/session.js +43 -87
  30. package/dist/hooks/lib/session.js.map +1 -1
  31. package/dist/hooks/lib/types.d.ts +174 -36
  32. package/dist/hooks/lib/types.d.ts.map +1 -1
  33. package/dist/hooks/session-end.d.ts.map +1 -1
  34. package/dist/hooks/session-end.js +53 -45
  35. package/dist/hooks/session-end.js.map +1 -1
  36. package/dist/hooks/session-start.d.ts.map +1 -1
  37. package/dist/hooks/session-start.js +87 -77
  38. package/dist/hooks/session-start.js.map +1 -1
  39. package/dist/hooks/stop.d.ts.map +1 -1
  40. package/dist/hooks/stop.js +1 -10
  41. package/dist/hooks/stop.js.map +1 -1
  42. package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
  43. package/dist/hooks/user-prompt-submit.js +57 -68
  44. package/dist/hooks/user-prompt-submit.js.map +1 -1
  45. package/dist/intelligence/packet2-fetcher.d.ts +3 -3
  46. package/dist/intelligence/packet2-fetcher.js +8 -8
  47. package/dist/intelligence/packet2-fetcher.js.map +1 -1
  48. package/dist/proxy/local-client.d.ts +49 -0
  49. package/dist/proxy/local-client.d.ts.map +1 -0
  50. package/dist/proxy/local-client.js +135 -0
  51. package/dist/proxy/local-client.js.map +1 -0
  52. package/dist/server/hooks-listener.d.ts +32 -0
  53. package/dist/server/hooks-listener.d.ts.map +1 -0
  54. package/dist/server/hooks-listener.js +144 -0
  55. package/dist/server/hooks-listener.js.map +1 -0
  56. package/dist/server/server.d.ts.map +1 -1
  57. package/dist/server/server.js +16 -1
  58. package/dist/server/server.js.map +1 -1
  59. package/dist/setup/integrations.js +3 -3
  60. package/dist/setup/integrations.js.map +1 -1
  61. package/package.json +5 -2
@@ -12,7 +12,6 @@ import { join, basename } from 'path';
12
12
  import { getGramatrTokenFromEnv, getGramatrUrlFromEnv, getGramatrDirFromEnv, getHomeDir, } from '../../config-runtime.js';
13
13
  // ── Constants ──
14
14
  const HOME = getHomeDir();
15
- const DEFAULT_MCP_URL = 'https://api.gramatr.com/mcp';
16
15
  // ── Logging ──
17
16
  /** Write message to stderr (visible to user in terminal) */
18
17
  export function log(msg) {
@@ -110,29 +109,6 @@ export function writeGmtrConfig(rootDir, config) {
110
109
  writeFileSync(tmpPath, JSON.stringify(config, null, 2) + '\n', 'utf8');
111
110
  renameSync(tmpPath, configPath);
112
111
  }
113
- export function saveLastClassification(rootDir, classification) {
114
- const config = readGmtrConfig(rootDir);
115
- if (!config)
116
- return;
117
- config.current_session = config.current_session || {};
118
- config.current_session.last_classification = classification;
119
- if (config.current_session.session_id && !config.last_session_id) {
120
- config.last_session_id = config.current_session.session_id;
121
- }
122
- config.metadata = config.metadata || {};
123
- config.metadata.updated = now();
124
- writeGmtrConfig(rootDir, config);
125
- }
126
- export function markClassificationFeedbackSubmitted(rootDir, submittedAt = now()) {
127
- const config = readGmtrConfig(rootDir);
128
- if (!config?.current_session?.last_classification)
129
- return;
130
- config.current_session.last_classification.pending_feedback = false;
131
- config.current_session.last_classification.feedback_submitted_at = submittedAt;
132
- config.metadata = config.metadata || {};
133
- config.metadata.updated = submittedAt;
134
- writeGmtrConfig(rootDir, config);
135
- }
136
112
  /** Migrate config from v2.0 to v2.1 if needed */
137
113
  export function migrateConfig(config, projectId) {
138
114
  const version = config.config_version || '0';
@@ -171,22 +147,7 @@ export function createDefaultConfig(options) {
171
147
  project_name: options.projectName,
172
148
  previously_known_as: [],
173
149
  git_remote: options.gitRemote,
174
- current_session: {
175
- session_id: options.sessionId,
176
- transcript_path: options.transcriptPath,
177
- last_updated: ts,
178
- token_limit: 200000,
179
- },
180
150
  last_compact: null,
181
- continuity_stats: {
182
- successful_restores: 0,
183
- failed_restores: 0,
184
- total_sessions: 1,
185
- total_compacts: 0,
186
- total_clears: 0,
187
- last_restore_quality: 'none',
188
- total_compacts_prevented: 0,
189
- },
190
151
  related_entities: {
191
152
  databases: [],
192
153
  people: [],
@@ -194,7 +155,6 @@ export function createDefaultConfig(options) {
194
155
  concepts: [],
195
156
  projects: [],
196
157
  },
197
- last_session_id: options.sessionId,
198
158
  metadata: {
199
159
  created: ts,
200
160
  updated: ts,
@@ -290,178 +250,7 @@ export function resolveMcpUrl() {
290
250
  // Not found or parse error
291
251
  }
292
252
  // 4. Default
293
- return DEFAULT_MCP_URL;
294
- }
295
- // ── MCP Transport ──
296
- /**
297
- * Call an MCP tool via the gramatr server.
298
- * Handles SSE response parsing, auth, and timeouts.
299
- */
300
- export async function callMcpTool(toolName, args, timeoutMs = 10000) {
301
- const result = await callMcpToolDetailed(toolName, args, timeoutMs);
302
- return result.data;
303
- }
304
- export async function callMcpToolDetailed(toolName, args, timeoutMs = 10000) {
305
- const mcpUrl = resolveMcpUrl();
306
- const token = resolveAuthToken();
307
- const payload = JSON.stringify({
308
- jsonrpc: '2.0',
309
- id: 1,
310
- method: 'tools/call',
311
- params: {
312
- name: toolName,
313
- arguments: args,
314
- },
315
- });
316
- const headers = {
317
- 'Content-Type': 'application/json',
318
- Accept: 'application/json, text/event-stream',
319
- };
320
- if (token) {
321
- headers['Authorization'] = `Bearer ${token}`;
322
- }
323
- const controller = new AbortController();
324
- const timeout = setTimeout(() => controller.abort(), timeoutMs);
325
- try {
326
- const response = await fetch(mcpUrl, {
327
- method: 'POST',
328
- headers,
329
- body: payload,
330
- signal: controller.signal,
331
- });
332
- const text = await response.text();
333
- if (text.includes('JWT token is required') ||
334
- text.includes('token is required') ||
335
- text.includes('Unauthorized')) {
336
- return {
337
- data: null,
338
- error: {
339
- reason: 'auth',
340
- detail: token
341
- ? 'Auth token was sent but rejected by the server.'
342
- : 'No auth token was found for the MCP request.',
343
- status: response.status,
344
- },
345
- rawText: text,
346
- };
347
- }
348
- if (!response.ok) {
349
- return {
350
- data: null,
351
- error: {
352
- reason: 'http_error',
353
- detail: `HTTP ${response.status}: ${text.slice(0, 200)}`,
354
- status: response.status,
355
- },
356
- rawText: text,
357
- };
358
- }
359
- // Parse SSE response — look for data: lines
360
- for (const line of text.split('\n')) {
361
- if (line.startsWith('data: ')) {
362
- try {
363
- const d = JSON.parse(line.slice(6));
364
- const errorText = d?.result?.content?.[0]?.text;
365
- if (errorText && d?.result?.isError) {
366
- return {
367
- data: null,
368
- error: {
369
- reason: 'mcp_error',
370
- detail: errorText,
371
- status: response.status,
372
- },
373
- rawText: text,
374
- };
375
- }
376
- const content = d?.result?.content?.[0]?.text;
377
- if (content && !d?.result?.isError) {
378
- return {
379
- data: JSON.parse(content),
380
- error: null,
381
- rawText: text,
382
- };
383
- }
384
- }
385
- catch {
386
- continue;
387
- }
388
- }
389
- }
390
- // Try direct JSON response (non-SSE)
391
- try {
392
- const direct = JSON.parse(text);
393
- const errorText = direct?.result?.content?.[0]?.text;
394
- if (errorText && direct?.result?.isError) {
395
- return {
396
- data: null,
397
- error: {
398
- reason: 'mcp_error',
399
- detail: errorText,
400
- status: response.status,
401
- },
402
- rawText: text,
403
- };
404
- }
405
- const content = direct?.result?.content?.[0]?.text;
406
- if (content && !direct?.result?.isError) {
407
- return {
408
- data: JSON.parse(content),
409
- error: null,
410
- rawText: text,
411
- };
412
- }
413
- }
414
- catch {
415
- // Not parseable
416
- }
417
- return {
418
- data: null,
419
- error: {
420
- reason: 'parse_error',
421
- detail: `Could not parse response from ${mcpUrl}.`,
422
- },
423
- rawText: text,
424
- };
425
- }
426
- catch (error) {
427
- if (error instanceof DOMException && error.name === 'AbortError') {
428
- return {
429
- data: null,
430
- error: {
431
- reason: 'timeout',
432
- detail: `Request to ${mcpUrl} timed out after ${timeoutMs}ms.`,
433
- },
434
- rawText: null,
435
- };
436
- }
437
- const message = error instanceof Error ? error.message : String(error);
438
- const reason = error instanceof TypeError ||
439
- /unable to connect|fetch failed|network|econnrefused|enotfound/i.test(message)
440
- ? 'network_error'
441
- : 'unknown';
442
- return {
443
- data: null,
444
- error: {
445
- reason,
446
- detail: message,
447
- },
448
- rawText: null,
449
- };
450
- }
451
- finally {
452
- clearTimeout(timeout);
453
- }
454
- }
455
- /**
456
- * Call MCP tool and return raw SSE inner JSON text (unparsed inner).
457
- * Useful when you need to grep specific fields from the response.
458
- */
459
- export async function callMcpToolRaw(toolName, args, timeoutMs = 10000) {
460
- const result = await callMcpToolDetailed(toolName, args, timeoutMs);
461
- if (result.data !== null) {
462
- return JSON.stringify(result.data);
463
- }
464
- return null;
253
+ return 'https://api.gramatr.com/mcp';
465
254
  }
466
255
  // ── Health Check ──
467
256
  /** Check gramatr server health. Returns true if reachable. */
@@ -1 +1 @@
1
- {"version":3,"file":"gramatr-hook-utils.js","sourceRoot":"","sources":["../../../src/hooks/lib/gramatr-hook-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gramatr-hook-utils.js","sourceRoot":"","sources":["../../../src/hooks/lib/gramatr-hook-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * hook-state.ts — Centralized SQLite state store for all gramatr hooks.
3
+ *
4
+ * Replaces the scattered ~/.gramatr/.state/ JSON/JSONL files with a single
5
+ * ~/.gramatr/state.db SQLite database. All hook processes share this DB;
6
+ * WAL mode ensures safe concurrent writes from simultaneous hook invocations.
7
+ *
8
+ * Set GRAMATR_STATE_DB=:memory: in tests to avoid touching the filesystem.
9
+ */
10
+ export interface SessionContext {
11
+ session_id: string;
12
+ project_id: string | null;
13
+ interaction_id: string | null;
14
+ entity_id: string | null;
15
+ project_name: string | null;
16
+ git_root: string | null;
17
+ git_branch: string | null;
18
+ git_remote: string | null;
19
+ working_directory: string | null;
20
+ session_start: string | null;
21
+ updated_at: string;
22
+ client_type: string | null;
23
+ agent_name: string | null;
24
+ }
25
+ export interface TurnRecord {
26
+ session_id: string;
27
+ turn_number: number | null;
28
+ timestamp: string | null;
29
+ prompt: string | null;
30
+ effort_level: string | null;
31
+ intent_type: string | null;
32
+ confidence: number | null;
33
+ tokens_saved: number | null;
34
+ }
35
+ export interface OpRecord {
36
+ session_id: string;
37
+ tool: string;
38
+ time_ms: number;
39
+ tokens_saved: number;
40
+ timestamp: number;
41
+ }
42
+ export interface ClassificationRecord {
43
+ session_id: string;
44
+ classifier_model: string | null;
45
+ classifier_time_ms: number | null;
46
+ tokens_saved: number | null;
47
+ savings_ratio: number | null;
48
+ effort: string | null;
49
+ intent: string | null;
50
+ confidence: number | null;
51
+ memory_delivered: number | null;
52
+ downstream_model: string | null;
53
+ server_version: string | null;
54
+ stage_timing: string | null;
55
+ recorded_at: number;
56
+ original_prompt: string | null;
57
+ pending_feedback: boolean;
58
+ feedback_submitted_at: string | null;
59
+ client_type: string | null;
60
+ agent_name: string | null;
61
+ memory_tier: string | null;
62
+ memory_scope: string | null;
63
+ }
64
+ export interface SessionLogEntry {
65
+ session_id: string;
66
+ project_id: string | null;
67
+ ended_at: string;
68
+ reason: string;
69
+ commit_log: string | null;
70
+ interaction_id: string | null;
71
+ entity_id: string | null;
72
+ client_type: string | null;
73
+ agent_name: string | null;
74
+ synced_at: string | null;
75
+ }
76
+ /** Lean shape received from server during session-start sync (Issue #720). */
77
+ export interface RemoteSessionRecord {
78
+ id: string;
79
+ client_session_id: string | null;
80
+ interaction_id: string | null;
81
+ client_type: string | null;
82
+ agent_name: string | null;
83
+ git_branch: string | null;
84
+ started_at: string | null;
85
+ ended_at: string | null;
86
+ status: string;
87
+ reason: string | null;
88
+ summary: string | null;
89
+ }
90
+ /** Close and reset the DB connection. Primarily for tests. */
91
+ export declare function closeDb(): void;
92
+ /**
93
+ * Returns true when the state DB is backed by the real filesystem.
94
+ * Returns false when the process could not create/open the state DB file
95
+ * (e.g. a filesystem-locked sandbox) and fell back to :memory:.
96
+ * In-memory mode means cross-hook state (session context) is not shared
97
+ * between processes — hooks must call hydrateSessionContextFromServer()
98
+ * to fetch context from the server instead.
99
+ */
100
+ export declare function isFilesystemAvailable(): boolean;
101
+ /**
102
+ * Fetch session context and populate the in-memory DB so synchronous readers
103
+ * (getSessionContext) work without hitting the filesystem.
104
+ *
105
+ * Called by user-prompt-submit and session-end when getSessionContext() returns
106
+ * null in a fresh process (SQLite cross-process IPC unavailable or filesystem
107
+ * locked). Priority:
108
+ *
109
+ * 1. Local hooks server in-memory store (Phase IV, fast, no auth needed)
110
+ * 2. Remote REST API (Phase III fallback, needs auth)
111
+ *
112
+ * No-op if both sources are unreachable — hooks already have null-safe logic.
113
+ */
114
+ export declare function hydrateSessionContextFromServer(sessionId: string): Promise<void>;
115
+ /** Write current project/session context so other hooks can read it. */
116
+ export declare function setSessionContext(ctx: SessionContext): void;
117
+ /** Read the most recently written session context. */
118
+ export declare function getSessionContext(): SessionContext | null;
119
+ /** Append one turn record. Called once per user-prompt-submit invocation. */
120
+ export declare function appendTurn(turn: TurnRecord): void;
121
+ /** Return all turns for a session and delete them atomically. Called at session-end. */
122
+ export declare function flushTurns(sessionId: string): TurnRecord[];
123
+ /** Append one op record. Called once per gramatr tool call. */
124
+ export declare function appendOpHistory(op: OpRecord): void;
125
+ /** Return all op records for a session and delete them atomically. Called at session-end. */
126
+ export declare function flushOpHistory(sessionId: string): OpRecord[];
127
+ /** Overwrite the latest classification result for a session. */
128
+ export declare function setLatestClassification(record: ClassificationRecord): void;
129
+ /** Read the latest classification record for a session. */
130
+ export declare function getLatestClassification(sessionId: string): ClassificationRecord | null;
131
+ /** Mark pending feedback as submitted for a session. */
132
+ export declare function markClassificationFeedbackSubmitted(sessionId: string, submittedAt?: string): void;
133
+ /** Append a session-end entry. Replaces session-history.log + last-session-commits.txt. */
134
+ export declare function appendSessionLog(entry: SessionLogEntry): void;
135
+ /**
136
+ * Return the most recent session log entry for a project.
137
+ * Used by session-start to find the prior interaction_id for cross-agent resumption.
138
+ */
139
+ export declare function getLastSessionForProject(projectId: string): Pick<SessionLogEntry, 'session_id' | 'interaction_id' | 'entity_id' | 'client_type' | 'agent_name' | 'ended_at'> | null;
140
+ /** Return the commit log from the most recent session that had commits. */
141
+ export declare function getLastSessionCommits(): string | null;
142
+ /**
143
+ * Upsert sessions received from the server during session-start sync (Issue #720).
144
+ * Uses INSERT OR IGNORE to preserve local commit_log if the row already exists.
145
+ * The synced_at column records when the server record arrived locally.
146
+ */
147
+ export declare function upsertSessionsFromServer(sessions: RemoteSessionRecord[]): void;
148
+ /**
149
+ * Backfill session_log rows when the server assigns a stable UUID to replace
150
+ * a locally-derived project_id (e.g. 'gramatr/gramatr' → 'a3f9b2c1-...').
151
+ * Called by persistSessionRegistration whenever project_id changes.
152
+ * Returns the number of rows updated.
153
+ */
154
+ export declare function migrateProjectId(oldProjectId: string, newProjectId: string): number;
155
+ /** Mark a local session as synced to the server after a successful session-end call. */
156
+ export declare function markSessionSynced(sessionId: string, syncedAt?: string): void;
157
+ /** Count total sessions for a project (for "Session #N" display). */
158
+ export declare function getProjectSessionCount(projectId: string): number;
159
+ //# sourceMappingURL=hook-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-state.d.ts","sourceRoot":"","sources":["../../../src/hooks/lib/hook-state.ts"],"names":[],"mappings":"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"}