@gramatr/mcp 0.13.128 → 0.13.130

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 (40) hide show
  1. package/README.md +14 -2
  2. package/dist/bin/hook-dispatcher.d.ts.map +1 -1
  3. package/dist/bin/hook-dispatcher.js +0 -5
  4. package/dist/bin/hook-dispatcher.js.map +1 -1
  5. package/dist/bin/install.d.ts +89 -0
  6. package/dist/bin/install.d.ts.map +1 -1
  7. package/dist/bin/install.js +371 -15
  8. package/dist/bin/install.js.map +1 -1
  9. package/dist/bin/setup-legacy.d.ts +1 -0
  10. package/dist/bin/setup-legacy.d.ts.map +1 -1
  11. package/dist/bin/setup-legacy.js +114 -0
  12. package/dist/bin/setup-legacy.js.map +1 -1
  13. package/dist/hooks/generated/hook-registry.d.ts +2 -2
  14. package/dist/hooks/generated/hook-registry.d.ts.map +1 -1
  15. package/dist/hooks/generated/hook-registry.js +1 -4
  16. package/dist/hooks/generated/hook-registry.js.map +1 -1
  17. package/dist/hooks/generated/hook-timeouts.d.ts +2 -6
  18. package/dist/hooks/generated/hook-timeouts.d.ts.map +1 -1
  19. package/dist/hooks/generated/hook-timeouts.js +2 -6
  20. package/dist/hooks/generated/hook-timeouts.js.map +1 -1
  21. package/dist/hooks/index.d.ts +0 -1
  22. package/dist/hooks/index.d.ts.map +1 -1
  23. package/dist/hooks/index.js +0 -1
  24. package/dist/hooks/index.js.map +1 -1
  25. package/dist/hooks/lib/auto-feedback.d.ts +7 -0
  26. package/dist/hooks/lib/auto-feedback.d.ts.map +1 -0
  27. package/dist/hooks/lib/auto-feedback.js +37 -0
  28. package/dist/hooks/lib/auto-feedback.js.map +1 -0
  29. package/dist/hooks/stop.d.ts.map +1 -1
  30. package/dist/hooks/stop.js +11 -0
  31. package/dist/hooks/stop.js.map +1 -1
  32. package/dist/setup/generated/platform-hooks.d.ts +1 -1
  33. package/dist/setup/generated/platform-hooks.d.ts.map +1 -1
  34. package/dist/setup/generated/platform-hooks.js +1 -4
  35. package/dist/setup/generated/platform-hooks.js.map +1 -1
  36. package/package.json +1 -1
  37. package/dist/hooks/rating-capture.d.ts +0 -2
  38. package/dist/hooks/rating-capture.d.ts.map +0 -1
  39. package/dist/hooks/rating-capture.js +0 -113
  40. package/dist/hooks/rating-capture.js.map +0 -1
package/README.md CHANGED
@@ -23,7 +23,10 @@ Idempotent. Safe to re-run for upgrades. Configures everything in one shot:
23
23
  `~/.claude/CLAUDE.md`. Preserves everything outside the block.
24
24
  5. **Legacy cleanup** — with `--clean-legacy` (or `--non-interactive`), removes
25
25
  the legacy 14-handler scaffold (`~/.gramatr/bin/gramatr-hook*`),
26
- daemon `state.db*`, `~/.gramatr/debug/`, and stale auth-cache backups.
26
+ daemon `state.db*`, `~/.gramatr/debug/`, stale auth-cache backups, and
27
+ legacy gramatr-flavored slash commands under `~/.claude/commands/`
28
+ (e.g. `save-handoff.md` that still references the retired
29
+ `~/.gramatr/.state/last-packet.json` path).
27
30
 
28
31
  Restart Claude Code after install to activate the hook.
29
32
 
@@ -31,10 +34,19 @@ Restart Claude Code after install to activate the hook.
31
34
 
32
35
  | Flag | Effect |
33
36
  |------|--------|
34
- | `--clean-legacy` | Scrub legacy gramatr-* hook entries + filesystem cruft without prompting. |
37
+ | `--client=<claude-code\|claude-desktop\|claude-web>` | Target a specific client. Default: auto-detect. |
38
+ | `--clean-legacy` | Scrub legacy gramatr-* hook entries + filesystem cruft + slash commands without prompting. |
35
39
  | `--non-interactive` | CI-friendly; implies `--clean-legacy`. |
36
40
  | `--dry-run` | Print actions without writing. |
37
41
 
42
+ ### Multi-client install (#2472)
43
+
44
+ | Client | Behavior |
45
+ |--------|----------|
46
+ | `claude-code` | Full path: hook scripts + `~/.claude/settings.json` + `~/.claude/CLAUDE.md`. Auto-detected when `~/.claude/settings.json` exists or `~/.claude.json` has `mcpServers`. |
47
+ | `claude-desktop` | Writes a `gramatr` entry into `claude_desktop_config.json` (HTTP transport + Bearer header from `~/.gramatr.json`). No shell hooks. Auto-detected when the Desktop config exists at the platform path (macOS `~/Library/Application Support/Claude/`, Windows `%APPDATA%\Claude\`, Linux `~/.config/Claude/`). Restart Claude Desktop after install. |
48
+ | `claude-web` | No filesystem changes. Prints copy-paste connector setup steps (URL, OAuth/API key flow) and the canonical prompt suggestion to paste into claude.ai → Settings → Profile → Custom Instructions. |
49
+
38
50
  ### Uninstall
39
51
 
40
52
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"hook-dispatcher.d.ts","sourceRoot":"","sources":["../../src/bin/hook-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA2GvF"}
1
+ {"version":3,"file":"hook-dispatcher.d.ts","sourceRoot":"","sources":["../../src/bin/hook-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAsGvF"}
@@ -76,11 +76,6 @@ export async function runHook(name, args) {
76
76
  runner = mod.runInstructionsLoadedHook;
77
77
  break;
78
78
  }
79
- case 'rating-capture': {
80
- const mod = await import('../hooks/rating-capture.js');
81
- runner = mod.runRatingCaptureHook;
82
- break;
83
- }
84
79
  case 'session-end': {
85
80
  const mod = await import('../hooks/session-end.js');
86
81
  runner = mod.runSessionEndHook;
@@ -1 +1 @@
1
- {"version":3,"file":"hook-dispatcher.js","sourceRoot":"","sources":["../../src/bin/hook-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-dispatcher.js","sourceRoot":"","sources":["../../src/bin/hook-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,12 @@
18
18
  /** Sentinel pair carved into ~/.claude/CLAUDE.md. */
19
19
  export declare const GRAMATR_MD_START = "<!-- GRAMATR-START -->";
20
20
  export declare const GRAMATR_MD_END = "<!-- GRAMATR-END -->";
21
+ /** Target client for `gramatr install` (#2472, #2490). */
22
+ export type InstallClient = "claude-code" | "claude-desktop" | "claude-web";
21
23
  export interface InstallOptions {
22
24
  home: string;
25
+ /** Target client; default auto-detect. */
26
+ client?: InstallClient;
23
27
  /** When true, scrub legacy gramatr-* hook entries without prompting. */
24
28
  cleanLegacy?: boolean;
25
29
  /** Suppress interactive prompts; behaves like --clean-legacy for cleanup. */
@@ -38,32 +42,53 @@ export interface InstallOptions {
38
42
  claudeMdSection?: string;
39
43
  /** Logger sink — defaults to process.stderr. */
40
44
  log?: (line: string) => void;
45
+ /** Override platform for tests (darwin|win32|linux). */
46
+ platformOverride?: NodeJS.Platform;
47
+ /** Override claude-desktop config path for tests. */
48
+ desktopConfigPathOverride?: string;
49
+ /** MCP server URL written into claude-desktop config (default https://api.gramatr.com/mcp). */
50
+ mcpServerUrl?: string;
41
51
  }
42
52
  export interface UninstallOptions {
43
53
  home: string;
54
+ /** Target client; default auto-detect. */
55
+ client?: InstallClient;
44
56
  /** Also remove ~/.gramatr.json (token + config). */
45
57
  purge?: boolean;
46
58
  dryRun?: boolean;
47
59
  log?: (line: string) => void;
60
+ /** Override platform for tests (darwin|win32|linux). */
61
+ platformOverride?: NodeJS.Platform;
62
+ /** Override claude-desktop config path for tests. */
63
+ desktopConfigPathOverride?: string;
48
64
  }
49
65
  interface InstallSummary {
66
+ client: InstallClient;
50
67
  hookScriptWritten: boolean;
51
68
  sessionEndScriptWritten: boolean;
52
69
  sessionStartScriptWritten: boolean;
53
70
  stopScriptWritten: boolean;
54
71
  settingsUpdated: boolean;
55
72
  claudeMdUpdated: boolean;
73
+ /** claude-desktop config file written/updated. */
74
+ desktopConfigUpdated: boolean;
75
+ /** claude-web returned instructions instead of writing files. */
76
+ webInstructions?: string;
56
77
  legacyEntriesRemoved: number;
57
78
  legacyFilesRemoved: string[];
79
+ legacySlashCommandsRemoved: string[];
58
80
  backups: string[];
59
81
  }
60
82
  interface UninstallSummary {
83
+ client: InstallClient;
61
84
  hookEntryRemoved: boolean;
62
85
  claudeMdSectionRemoved: boolean;
63
86
  hookScriptRemoved: boolean;
64
87
  sessionEndScriptRemoved: boolean;
65
88
  sessionStartScriptRemoved: boolean;
66
89
  stopScriptRemoved: boolean;
90
+ desktopConfigUpdated: boolean;
91
+ legacySlashCommandsRemoved: string[];
67
92
  tokenRemoved: boolean;
68
93
  backups: string[];
69
94
  }
@@ -75,6 +100,15 @@ export declare function gramatrSessionEndScriptPath(home: string): string;
75
100
  export declare function gramatrSessionStartScriptPath(home: string): string;
76
101
  export declare function gramatrStopScriptPath(home: string): string;
77
102
  export declare function gramatrTokenPath(home: string): string;
103
+ /** Path to Claude Code slash-command directory. */
104
+ export declare function claudeCommandsDir(home: string): string;
105
+ /**
106
+ * Resolve the claude_desktop_config.json path for the current platform.
107
+ * macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
108
+ * Windows: %APPDATA%\Claude\claude_desktop_config.json
109
+ * Linux: ~/.config/Claude/claude_desktop_config.json
110
+ */
111
+ export declare function claudeDesktopConfigPath(home: string, platform?: NodeJS.Platform): string;
78
112
  /** Resolve the bundled SessionEnd hook script source inside @gramatr/mcp. */
79
113
  export declare function resolveBundledSessionEndHookSource(): string;
80
114
  /** Resolve the bundled SessionStart hook script source inside @gramatr/mcp (#2475). */
@@ -136,8 +170,63 @@ export declare function extractCanonicalSection(docText: string): string;
136
170
  export declare function upsertGramatrSection(existing: string, sectionBody: string): string;
137
171
  /** Sentinel-safe removal from CLAUDE.md. */
138
172
  export declare function stripGramatrSection(existing: string): string;
173
+ /**
174
+ * Scan ~/.claude/commands/*.md for legacy gramatr-flavored slash commands.
175
+ * Returns absolute paths of files that match.
176
+ *
177
+ * Match rules:
178
+ * - Filename in LEGACY_SLASH_COMMAND_FILENAMES AND content gramatr-flavored.
179
+ * - OR content references retired daemon paths (~/.gramatr/.state/, etc.).
180
+ *
181
+ * Non-gramatr slash commands are preserved.
182
+ */
183
+ export declare function detectLegacySlashCommands(home: string): string[];
184
+ /** Remove the given slash-command files. Best-effort, returns removed paths. */
185
+ export declare function cleanupLegacySlashCommands(home: string, dryRun?: boolean): string[];
186
+ /**
187
+ * Detect which client this machine looks like:
188
+ * - claude-code if ~/.claude/settings.json exists OR ~/.claude.json has mcpServers
189
+ * - else claude-desktop if claude_desktop_config.json exists
190
+ * - else claude-web
191
+ */
192
+ export declare function detectClient(home: string, platform?: NodeJS.Platform): InstallClient;
139
193
  export declare function hasValidToken(home: string): boolean;
140
194
  export declare function install(opts: InstallOptions): Promise<InstallSummary>;
195
+ interface DesktopMcpServerEntry {
196
+ type?: string;
197
+ url?: string;
198
+ headers?: Record<string, string>;
199
+ command?: string;
200
+ args?: string[];
201
+ env?: Record<string, string>;
202
+ }
203
+ interface DesktopConfig {
204
+ mcpServers?: Record<string, DesktopMcpServerEntry>;
205
+ [k: string]: unknown;
206
+ }
207
+ /**
208
+ * Build the claude-desktop mcpServers entry for gramatr. Uses HTTP transport
209
+ * since Desktop supports it and we get a free Bearer token from ~/.gramatr.json.
210
+ */
211
+ export declare function buildDesktopMcpEntry(home: string, serverUrl?: string): DesktopMcpServerEntry;
212
+ /**
213
+ * Merge gramatr entry into a claude-desktop config object. Returns the next
214
+ * object and whether a change was made. Idempotent.
215
+ */
216
+ export declare function mergeDesktopConfig(current: DesktopConfig, entry: DesktopMcpServerEntry): {
217
+ next: DesktopConfig;
218
+ changed: boolean;
219
+ };
220
+ /** Remove gramatr entry from claude-desktop config. */
221
+ export declare function uninstallDesktopConfig(current: DesktopConfig): {
222
+ next: DesktopConfig;
223
+ changed: boolean;
224
+ };
225
+ /**
226
+ * Build the copy-paste instructions for claude-web. No filesystem writes.
227
+ * Combines connector steps with the canonical prompt suggestion block.
228
+ */
229
+ export declare function buildWebInstallInstructions(serverUrl?: string): string;
141
230
  export declare function uninstall(opts: UninstallOptions): Promise<UninstallSummary>;
142
231
  export declare function runInstallCli(argv: string[]): Promise<number>;
143
232
  export declare function runUninstallCli(argv: string[]): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/bin/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/bin/install.ts"],"names":[],"mappings":"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"}