@gramatr/mcp 0.7.6 → 0.7.10

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.
@@ -9,13 +9,17 @@
9
9
  * gramatr-mcp logout Remove stored credentials
10
10
  * gramatr-mcp clear-creds Remove all stored local credentials
11
11
  * gramatr-mcp setup claude Auto-configure Claude Code settings and hooks
12
+ * gramatr-mcp setup claude --clean-install Remove legacy Claude/PAI/Fabric artifacts first
12
13
  * gramatr-mcp setup codex Auto-configure Codex hook settings
13
14
  * gramatr-mcp setup claude-desktop Auto-configure Claude Desktop MCP settings
14
15
  * gramatr-mcp setup chatgpt-desktop Auto-configure ChatGPT Desktop MCP settings
15
16
  * gramatr-mcp setup gemini Auto-configure Gemini CLI extension files
17
+ * gramatr-mcp setup auto Auto-detect and install detected local clients
16
18
  * gramatr-mcp setup web Show web connector instructions + prompt suggestion
17
19
  * gramatr-mcp setup web chatgpt Show ChatGPT web connector instructions
18
20
  * gramatr-mcp setup web gemini Show Gemini web connector instructions
21
+ * gramatr-mcp setup clean-install Clean legacy install artifacts across known targets
22
+ * gramatr-mcp setup verify Verify local MCP/hook install health
19
23
  * gramatr-mcp build-mcpb Build a Claude Desktop .mcpb manifest bundle
20
24
  * gramatr-mcp hook <name> [args...] Run a hook (session-start, ...)
21
25
  * gramatr-mcp hook --list List registered hooks
@@ -32,6 +36,7 @@
32
36
  * client hooks (Claude Code, Codex, Gemini) invoke this binary directly
33
37
  * instead of shipping duplicated TypeScript in each integration package.
34
38
  */
39
+ export declare function parseAutoTargetSelection(raw: string, detected: string[]): string[] | null;
35
40
  export declare function printHelp(): void;
36
41
  export declare function cliMain(cliArgs?: string[]): Promise<void>;
37
42
  //# sourceMappingURL=gramatr-mcp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gramatr-mcp.d.ts","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAKH,wBAAgB,SAAS,IAAI,IAAI,CAwChC;AAED,wBAAsB,OAAO,CAAC,OAAO,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHtF"}
1
+ {"version":3,"file":"gramatr-mcp.d.ts","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAOH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,GAAG,IAAI,CAqBjB;AAqBD,wBAAgB,SAAS,IAAI,IAAI,CAkDhC;AAED,wBAAsB,OAAO,CAAC,OAAO,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA0MtF"}
@@ -9,13 +9,17 @@
9
9
  * gramatr-mcp logout Remove stored credentials
10
10
  * gramatr-mcp clear-creds Remove all stored local credentials
11
11
  * gramatr-mcp setup claude Auto-configure Claude Code settings and hooks
12
+ * gramatr-mcp setup claude --clean-install Remove legacy Claude/PAI/Fabric artifacts first
12
13
  * gramatr-mcp setup codex Auto-configure Codex hook settings
13
14
  * gramatr-mcp setup claude-desktop Auto-configure Claude Desktop MCP settings
14
15
  * gramatr-mcp setup chatgpt-desktop Auto-configure ChatGPT Desktop MCP settings
15
16
  * gramatr-mcp setup gemini Auto-configure Gemini CLI extension files
17
+ * gramatr-mcp setup auto Auto-detect and install detected local clients
16
18
  * gramatr-mcp setup web Show web connector instructions + prompt suggestion
17
19
  * gramatr-mcp setup web chatgpt Show ChatGPT web connector instructions
18
20
  * gramatr-mcp setup web gemini Show Gemini web connector instructions
21
+ * gramatr-mcp setup clean-install Clean legacy install artifacts across known targets
22
+ * gramatr-mcp setup verify Verify local MCP/hook install health
19
23
  * gramatr-mcp build-mcpb Build a Claude Desktop .mcpb manifest bundle
20
24
  * gramatr-mcp hook <name> [args...] Run a hook (session-start, ...)
21
25
  * gramatr-mcp hook --list List registered hooks
@@ -34,6 +38,46 @@
34
38
  */
35
39
  import { VERSION } from '../hooks/lib/version.js';
36
40
  import { fileURLToPath } from 'node:url';
41
+ import { createInterface } from 'node:readline/promises';
42
+ export function parseAutoTargetSelection(raw, detected) {
43
+ const normalized = raw.trim().toLowerCase();
44
+ if (!normalized)
45
+ return detected;
46
+ if (normalized === 'all' || normalized === '*')
47
+ return detected;
48
+ if (normalized === 'none' || normalized === 'cancel' || normalized === 'q' || normalized === 'quit')
49
+ return null;
50
+ const indexes = normalized
51
+ .split(',')
52
+ .map((chunk) => chunk.trim())
53
+ .filter(Boolean)
54
+ .map((chunk) => Number.parseInt(chunk, 10));
55
+ if (indexes.length === 0 || indexes.some((n) => Number.isNaN(n))) {
56
+ return detected;
57
+ }
58
+ const selected = indexes
59
+ .map((n) => detected[n - 1])
60
+ .filter((value) => typeof value === 'string');
61
+ return selected.length > 0 ? Array.from(new Set(selected)) : detected;
62
+ }
63
+ async function promptAutoTargetSelection(detected) {
64
+ const rl = createInterface({
65
+ input: process.stdin,
66
+ output: process.stderr,
67
+ });
68
+ try {
69
+ process.stderr.write('\n[gramatr-mcp] Select install targets for setup auto:\n');
70
+ detected.forEach((target, index) => {
71
+ process.stderr.write(` ${index + 1}. ${target}\n`);
72
+ });
73
+ process.stderr.write(' Enter numbers (e.g. 1,3,4), or `all`, or `none` to cancel.\n');
74
+ const answer = await rl.question(' Selection [all]: ');
75
+ return parseAutoTargetSelection(answer, detected);
76
+ }
77
+ finally {
78
+ rl.close();
79
+ }
80
+ }
37
81
  export function printHelp() {
38
82
  process.stderr.write(`
39
83
  gramatr-mcp — Local MCP server for grāmatr
@@ -49,13 +93,18 @@ export function printHelp() {
49
93
  gramatr-mcp logout Remove stored credentials
50
94
  gramatr-mcp clear-creds Remove all stored local credentials
51
95
  gramatr-mcp setup claude Configure Claude Code to use this server
96
+ gramatr-mcp setup claude --clean-install
97
+ Remove legacy Claude + PAI/Fabric/AIOS artifacts first
52
98
  gramatr-mcp setup codex Configure Codex hook wiring
53
99
  gramatr-mcp setup claude-desktop Configure Claude Desktop to use this server
54
100
  gramatr-mcp setup chatgpt-desktop Configure ChatGPT Desktop to use this server
55
101
  gramatr-mcp setup gemini Configure Gemini CLI extension files
102
+ gramatr-mcp setup auto Detect and install supported local clients
56
103
  gramatr-mcp setup web Show claude.ai web connector setup + prompt
57
104
  gramatr-mcp setup web chatgpt Show ChatGPT web connector setup + prompt
58
105
  gramatr-mcp setup web gemini Show Gemini web connector setup + prompt
106
+ gramatr-mcp setup clean-install Remove stale legacy install artifacts globally
107
+ gramatr-mcp setup verify [target] Verify install wiring (all|claude|codex|...)
59
108
  gramatr-mcp build-mcpb Build a Claude Desktop .mcpb bundle
60
109
  gramatr-mcp hook <name> [args...] Run a hook (stdin → stdout contract)
61
110
  gramatr-mcp hook --list List registered hooks
@@ -69,9 +118,14 @@ export function printHelp() {
69
118
 
70
119
  Setup:
71
120
  gramatr-mcp setup claude Write MCP config to ~/.claude.json
121
+ gramatr-mcp setup claude --clean-install
122
+ Remove stale legacy artifacts before writing setup
72
123
  gramatr-mcp setup claude-desktop Write Claude Desktop config
73
124
  gramatr-mcp setup chatgpt-desktop Write ChatGPT Desktop config
74
125
  gramatr-mcp setup gemini Write Gemini extension manifest/hooks
126
+ gramatr-mcp setup auto Detect and install supported local clients
127
+ gramatr-mcp setup clean-install Remove stale legacy install artifacts first
128
+ gramatr-mcp setup verify Verify setup wiring + managed guidance blocks
75
129
  gramatr-mcp setup claude --dry Preview without writing
76
130
  `);
77
131
  }
@@ -117,47 +171,82 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
117
171
  if (cliArgs[0] === 'setup') {
118
172
  const target = cliArgs[1];
119
173
  const dryRun = cliArgs.includes('--dry');
174
+ const cleanInstall = cliArgs.includes('--clean-install') || cliArgs.includes('--clean');
175
+ const showPrompts = cliArgs.includes('--show-prompts');
176
+ const json = cliArgs.includes('--json');
120
177
  if (target === 'claude') {
121
178
  const { setupClaude } = await import('./setup.js');
122
- setupClaude(dryRun);
179
+ setupClaude(dryRun, cleanInstall);
123
180
  return;
124
181
  }
125
182
  if (target === 'codex') {
183
+ if (cleanInstall) {
184
+ const { runCleanInstall } = await import('./setup.js');
185
+ runCleanInstall(dryRun);
186
+ }
126
187
  const { setupCodex } = await import('./setup.js');
127
188
  setupCodex(dryRun);
128
189
  return;
129
190
  }
130
191
  if (target === 'claude-desktop') {
192
+ if (cleanInstall) {
193
+ const { runCleanInstall } = await import('./setup.js');
194
+ runCleanInstall(dryRun);
195
+ }
131
196
  const { setupClaudeDesktop } = await import('./setup.js');
132
197
  setupClaudeDesktop(dryRun);
133
198
  return;
134
199
  }
135
200
  if (target === 'chatgpt-desktop') {
201
+ if (cleanInstall) {
202
+ const { runCleanInstall } = await import('./setup.js');
203
+ runCleanInstall(dryRun);
204
+ }
136
205
  const { setupChatgptDesktop } = await import('./setup.js');
137
206
  setupChatgptDesktop(dryRun);
138
207
  return;
139
208
  }
140
209
  if (target === 'gemini') {
210
+ if (cleanInstall) {
211
+ const { runCleanInstall } = await import('./setup.js');
212
+ runCleanInstall(dryRun);
213
+ }
141
214
  const { setupGemini } = await import('./setup.js');
142
215
  setupGemini(dryRun);
143
216
  return;
144
217
  }
145
218
  if (target === 'cursor') {
219
+ if (cleanInstall) {
220
+ const { runCleanInstall } = await import('./setup.js');
221
+ runCleanInstall(dryRun);
222
+ }
146
223
  const { setupCursor } = await import('./setup.js');
147
224
  setupCursor(dryRun);
148
225
  return;
149
226
  }
150
227
  if (target === 'windsurf') {
228
+ if (cleanInstall) {
229
+ const { runCleanInstall } = await import('./setup.js');
230
+ runCleanInstall(dryRun);
231
+ }
151
232
  const { setupWindsurf } = await import('./setup.js');
152
233
  setupWindsurf(dryRun);
153
234
  return;
154
235
  }
155
236
  if (target === 'vscode') {
237
+ if (cleanInstall) {
238
+ const { runCleanInstall } = await import('./setup.js');
239
+ runCleanInstall(dryRun);
240
+ }
156
241
  const { setupVscode } = await import('./setup.js');
157
242
  setupVscode(dryRun);
158
243
  return;
159
244
  }
160
245
  if (target === 'web') {
246
+ if (cleanInstall) {
247
+ const { runCleanInstall } = await import('./setup.js');
248
+ runCleanInstall(dryRun);
249
+ }
161
250
  const webTarget = cliArgs[2];
162
251
  const resolved = webTarget === 'chatgpt' ? 'chatgpt-web'
163
252
  : webTarget === 'gemini' ? 'gemini-web'
@@ -166,8 +255,42 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
166
255
  await setupWeb(resolved);
167
256
  return;
168
257
  }
258
+ if (target === 'auto') {
259
+ const { setupAutoInstall, getAutoDetectedTargets } = await import('./setup.js');
260
+ const listOnly = cliArgs.includes('--list') || cliArgs.includes('--list-only');
261
+ const assumeYes = cliArgs.includes('--yes') || cliArgs.includes('-y');
262
+ const interactiveAllowed = Boolean(process.stdin.isTTY && process.stdout.isTTY);
263
+ let selectedTargets;
264
+ if (!listOnly && !assumeYes && interactiveAllowed) {
265
+ const detected = getAutoDetectedTargets();
266
+ const selected = await promptAutoTargetSelection(detected);
267
+ if (selected === null) {
268
+ process.stderr.write('[gramatr-mcp] setup auto cancelled.\n');
269
+ process.exit(1);
270
+ }
271
+ selectedTargets = selected;
272
+ }
273
+ setupAutoInstall({
274
+ dryRun,
275
+ cleanInstall,
276
+ listOnly,
277
+ selectedTargets,
278
+ });
279
+ return;
280
+ }
281
+ if (target === 'clean-install') {
282
+ const { runCleanInstall } = await import('./setup.js');
283
+ runCleanInstall(dryRun);
284
+ return;
285
+ }
286
+ if (target === 'verify') {
287
+ const verifyTargetRaw = cliArgs.find((arg, index) => index > 1 && !arg.startsWith('--')) || 'all';
288
+ const verifyTarget = verifyTargetRaw;
289
+ const { verifySetupInstall } = await import('./setup.js');
290
+ process.exit(verifySetupInstall(verifyTarget, { json, showPrompts }));
291
+ }
169
292
  process.stderr.write(`[gramatr-mcp] Unknown setup target: ${target}\n`);
170
- process.stderr.write(' Supported: claude | codex | claude-desktop | chatgpt-desktop | gemini | cursor | windsurf | vscode | web\n');
293
+ process.stderr.write(' Supported: claude | codex | claude-desktop | chatgpt-desktop | gemini | cursor | windsurf | vscode | auto | web | clean-install | verify\n');
171
294
  process.exit(1);
172
295
  }
173
296
  // Default: start the stdio server. Lazy-loaded so the `hook` and `setup`
@@ -1 +1 @@
1
- {"version":3,"file":"gramatr-mcp.js","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gramatr-mcp.js","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,9 @@ interface McpServerEntry {
20
20
  env?: Record<string, string>;
21
21
  [key: string]: unknown;
22
22
  }
23
+ type SetupTarget = 'all' | 'claude' | 'codex' | 'claude-desktop' | 'chatgpt-desktop' | 'gemini' | 'cursor' | 'windsurf' | 'vscode';
24
+ export type InstallableTarget = Exclude<SetupTarget, 'all'>;
25
+ export declare const AUTO_TARGET_ORDER: InstallableTarget[];
23
26
  /**
24
27
  * Resolve the path to the gramatr-mcp binary.
25
28
  * Prefers the compiled dist version, falls back to npx.
@@ -47,8 +50,9 @@ export declare function readClaudeConfig(configPath: string): ClaudeConfig;
47
50
  export declare function upsertManagedBlock(existing: string, content: string, startMarker: string, endMarker: string): string;
48
51
  export declare function escapeRegExp(text: string): string;
49
52
  export declare function ensureLocalSettings(): void;
53
+ export declare function runCleanInstall(dryRun: boolean): void;
50
54
  export declare function emitInstallPromptSuggestion(target: Parameters<typeof buildInstallPromptSuggestion>[0]): void;
51
- export declare function setupClaude(dryRun?: boolean): void;
55
+ export declare function setupClaude(dryRun?: boolean, cleanInstall?: boolean): void;
52
56
  export declare function setupCodex(dryRun?: boolean): void;
53
57
  /**
54
58
  * Generic MCP-only target setup — merges the gramatr MCP server entry into
@@ -61,7 +65,18 @@ export declare function setupChatgptDesktop(dryRun?: boolean): void;
61
65
  export declare function setupCursor(dryRun?: boolean): void;
62
66
  export declare function setupWindsurf(dryRun?: boolean): void;
63
67
  export declare function setupVscode(dryRun?: boolean): void;
68
+ export declare function getAutoDetectedTargets(): InstallableTarget[];
69
+ export declare function setupAutoInstall(options?: {
70
+ dryRun?: boolean;
71
+ cleanInstall?: boolean;
72
+ listOnly?: boolean;
73
+ selectedTargets?: InstallableTarget[];
74
+ }): number;
64
75
  export declare function setupGemini(dryRun?: boolean): void;
65
76
  export declare function setupWeb(target?: 'claude-web' | 'chatgpt-web' | 'gemini-web'): Promise<void>;
77
+ export declare function verifySetupInstall(target?: SetupTarget, options?: {
78
+ json?: boolean;
79
+ showPrompts?: boolean;
80
+ }): number;
66
81
  export {};
67
82
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/bin/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAaH,OAAO,EAOL,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AA2BlC,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CASvE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAG/C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAM5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAOjE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAapH;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CA0B1C;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAM5G;AAED,wBAAgB,WAAW,CAAC,MAAM,UAAQ,GAAG,IAAI,CAuFhD;AAED,wBAAgB,UAAU,CAAC,MAAM,UAAQ,GAAG,IAAI,CAqC/C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAgB5F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,UAAQ,GAAG,IAAI,CAGvD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,UAAQ,GAAG,IAAI,CAGxD;AAED,wBAAgB,WAAW,CAAC,MAAM,UAAQ,GAAG,IAAI,CAGhD;AAED,wBAAgB,aAAa,CAAC,MAAM,UAAQ,GAAG,IAAI,CAGlD;AAED,wBAAgB,WAAW,CAAC,MAAM,UAAQ,GAAG,IAAI,CAGhD;AAED,wBAAgB,WAAW,CAAC,MAAM,UAAQ,GAAG,IAAI,CAwBhD;AAED,wBAAsB,QAAQ,CAAC,MAAM,GAAE,YAAY,GAAG,aAAa,GAAG,YAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAmChH"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/bin/setup.ts"],"names":[],"mappings":"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"}
package/dist/bin/setup.js CHANGED
@@ -9,7 +9,7 @@
9
9
  * gramatr-mcp setup claude Configure Claude Code
10
10
  * gramatr-mcp setup claude --dry Run without writing
11
11
  */
12
- import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
12
+ import { readFileSync, writeFileSync, existsSync, mkdirSync, rmSync, readdirSync, statSync, lstatSync, readlinkSync, unlinkSync, } from 'node:fs';
13
13
  import { join, resolve, dirname } from 'node:path';
14
14
  import { fileURLToPath } from 'node:url';
15
15
  import { getGramatrDirFromEnv, getGramatrUrlFromEnv } from '../config-runtime.js';
@@ -21,6 +21,48 @@ const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = dirname(__filename);
22
22
  // gramatr-allow: C1 — CLI entry point, reads HOME for config path
23
23
  const HOME = process.env.HOME || process.env.USERPROFILE || '';
24
+ export const AUTO_TARGET_ORDER = [
25
+ 'claude',
26
+ 'codex',
27
+ 'gemini',
28
+ 'claude-desktop',
29
+ 'chatgpt-desktop',
30
+ 'cursor',
31
+ 'windsurf',
32
+ 'vscode',
33
+ ];
34
+ const LEGACY_HOOK_BASENAMES = [
35
+ 'LoadContext.hook.ts',
36
+ 'SecurityValidator.hook.ts',
37
+ 'RatingCapture.hook.ts',
38
+ 'VoiceGate.hook.ts',
39
+ 'AutoWorkCreation.hook.ts',
40
+ 'WorkCompletionLearning.hook.ts',
41
+ 'RelationshipMemory.hook.ts',
42
+ 'SessionSummary.hook.ts',
43
+ 'UpdateCounts.hook.ts',
44
+ 'IntegrityCheck.hook.ts',
45
+ ];
46
+ const LEGACY_MCP_KEY_PATTERNS = [/^aios/i, /^pai$/i, /^pai[-_]/i, /^fabric/i];
47
+ const LEGACY_CLAUDE_ARTIFACT_PATTERNS = [
48
+ /^pai[-_]/i,
49
+ /^pai$/i,
50
+ /^fabric[-_]/i,
51
+ /^fabric$/i,
52
+ /^aios[-_]/i,
53
+ /^aios$/i,
54
+ /^extract[-_]?wisdom/i,
55
+ /^pattern[-_]/i,
56
+ /^official[-_]?pattern/i,
57
+ /^becreative$/i,
58
+ /^beexpert$/i,
59
+ ];
60
+ const LEGACY_MANAGED_BLOCK_MARKERS = [
61
+ { start: '<!-- AIOS-START -->', end: '<!-- AIOS-END -->' },
62
+ { start: '<!-- PAI-START -->', end: '<!-- PAI-END -->' },
63
+ { start: '<!-- FABRIC-START -->', end: '<!-- FABRIC-END -->' },
64
+ { start: '<!-- GMTR-START -->', end: '<!-- GMTR-END -->' },
65
+ ];
24
66
  /**
25
67
  * Resolve the path to the gramatr-mcp binary.
26
68
  * Prefers the compiled dist version, falls back to npx.
@@ -117,6 +159,252 @@ export function ensureLocalSettings() {
117
159
  mkdirSync(settingsDir, { recursive: true });
118
160
  writeFileSync(settingsPath, JSON.stringify(next, null, 2) + '\n', 'utf8');
119
161
  }
162
+ function matchesLegacyClaudeArtifact(name) {
163
+ const stem = name.replace(/\.md$/i, '');
164
+ return LEGACY_CLAUDE_ARTIFACT_PATTERNS.some((pattern) => pattern.test(stem));
165
+ }
166
+ function sanitizeLegacyMcpServers(raw) {
167
+ if (!raw.mcpServers || typeof raw.mcpServers !== 'object')
168
+ return raw;
169
+ const servers = raw.mcpServers;
170
+ const next = {};
171
+ for (const [key, value] of Object.entries(servers)) {
172
+ if (LEGACY_MCP_KEY_PATTERNS.some((pattern) => pattern.test(key)))
173
+ continue;
174
+ next[key] = value;
175
+ }
176
+ return { ...raw, mcpServers: next };
177
+ }
178
+ function stripManagedBlock(content, startMarker, endMarker) {
179
+ const pattern = new RegExp(`${escapeRegExp(startMarker)}[\\s\\S]*?${escapeRegExp(endMarker)}\\n?`, 'gm');
180
+ return content.replace(pattern, '').trimEnd() + '\n';
181
+ }
182
+ function isLegacyHookCommand(command) {
183
+ if (command.includes('/.claude/hooks/'))
184
+ return true;
185
+ if (command.includes('/aios-v2-client/'))
186
+ return true;
187
+ if (command.includes('/fabric/'))
188
+ return true;
189
+ if (command.includes('/pai/'))
190
+ return true;
191
+ return LEGACY_HOOK_BASENAMES.some((basename) => command.includes(`/${basename}`));
192
+ }
193
+ function sanitizeHookEventArray(value) {
194
+ if (!Array.isArray(value))
195
+ return value;
196
+ return value
197
+ .map((entry) => {
198
+ if (!entry || typeof entry !== 'object')
199
+ return entry;
200
+ const commands = entry.hooks;
201
+ if (!Array.isArray(commands))
202
+ return entry;
203
+ const filtered = commands.filter((cmd) => {
204
+ const command = typeof cmd?.command === 'string' ? cmd.command : '';
205
+ return !command || !isLegacyHookCommand(command);
206
+ });
207
+ if (filtered.length === 0)
208
+ return null;
209
+ return { ...entry, hooks: filtered };
210
+ })
211
+ .filter(Boolean);
212
+ }
213
+ function sanitizeHookFile(hookFile) {
214
+ const hooksRoot = hookFile.hooks;
215
+ if (!hooksRoot || typeof hooksRoot !== 'object')
216
+ return hookFile;
217
+ const nextHooks = { ...hooksRoot };
218
+ for (const [eventName, value] of Object.entries(nextHooks)) {
219
+ nextHooks[eventName] = sanitizeHookEventArray(value);
220
+ }
221
+ return { ...hookFile, hooks: nextHooks };
222
+ }
223
+ function removeDirectoryIfExists(path, dryRun) {
224
+ if (!existsSync(path))
225
+ return;
226
+ if (dryRun) {
227
+ process.stderr.write(`[gramatr-mcp] clean-install dry-run: would remove ${path}\n`);
228
+ return;
229
+ }
230
+ rmSync(path, { recursive: true, force: true });
231
+ process.stderr.write(`[gramatr-mcp] clean-install: removed ${path}\n`);
232
+ }
233
+ function removeFileIfExists(path, dryRun) {
234
+ if (!existsSync(path))
235
+ return;
236
+ if (dryRun) {
237
+ process.stderr.write(`[gramatr-mcp] clean-install dry-run: would remove ${path}\n`);
238
+ return;
239
+ }
240
+ rmSync(path, { force: true });
241
+ process.stderr.write(`[gramatr-mcp] clean-install: removed ${path}\n`);
242
+ }
243
+ function cleanLegacyClaudeArtifacts(dryRun) {
244
+ process.stderr.write('[gramatr-mcp] clean-install: removing legacy Claude + PAI/Fabric/AIOS artifacts\n');
245
+ const legacyDirs = [
246
+ join(HOME, 'aios-v2-client'),
247
+ join(HOME, '.claude', 'hooks'),
248
+ ];
249
+ for (const dir of legacyDirs)
250
+ removeDirectoryIfExists(dir, dryRun);
251
+ const commandsDir = join(HOME, '.claude', 'commands');
252
+ if (existsSync(commandsDir)) {
253
+ try {
254
+ for (const entry of readdirSync(commandsDir)) {
255
+ if (!entry.endsWith('.md'))
256
+ continue;
257
+ if (!matchesLegacyClaudeArtifact(entry))
258
+ continue;
259
+ removeFileIfExists(join(commandsDir, entry), dryRun);
260
+ }
261
+ }
262
+ catch {
263
+ // non-critical
264
+ }
265
+ }
266
+ const skillsDir = join(HOME, '.claude', 'skills');
267
+ if (existsSync(skillsDir)) {
268
+ try {
269
+ for (const entry of readdirSync(skillsDir)) {
270
+ const path = join(skillsDir, entry);
271
+ if (!statSync(path).isDirectory())
272
+ continue;
273
+ if (!matchesLegacyClaudeArtifact(entry))
274
+ continue;
275
+ removeDirectoryIfExists(path, dryRun);
276
+ }
277
+ }
278
+ catch {
279
+ // non-critical
280
+ }
281
+ }
282
+ const clientHooksDir = join(HOME, '.gramatr', 'hooks');
283
+ if (existsSync(clientHooksDir)) {
284
+ for (const basename of LEGACY_HOOK_BASENAMES) {
285
+ removeFileIfExists(join(clientHooksDir, basename), dryRun);
286
+ }
287
+ try {
288
+ for (const entry of readdirSync(clientHooksDir)) {
289
+ if (!entry.endsWith('.sh'))
290
+ continue;
291
+ removeFileIfExists(join(clientHooksDir, entry), dryRun);
292
+ }
293
+ }
294
+ catch {
295
+ // non-critical
296
+ }
297
+ }
298
+ }
299
+ function sanitizeLegacyMcpServersInFile(path, dryRun) {
300
+ const current = readJsonFile(path, {});
301
+ const next = sanitizeLegacyMcpServers(current);
302
+ if (JSON.stringify(next) === JSON.stringify(current))
303
+ return;
304
+ if (dryRun) {
305
+ process.stderr.write(`[gramatr-mcp] clean-install dry-run: would sanitize legacy mcpServers in ${path}\n`);
306
+ return;
307
+ }
308
+ mkdirSync(dirname(path), { recursive: true });
309
+ writeFileSync(path, JSON.stringify(next, null, 2) + '\n', 'utf8');
310
+ process.stderr.write(`[gramatr-mcp] clean-install: sanitized legacy mcpServers in ${path}\n`);
311
+ }
312
+ function sanitizeHookFileAtPath(path, dryRun, label) {
313
+ const current = readJsonFile(path, {});
314
+ const next = sanitizeHookFile(current);
315
+ if (JSON.stringify(next) === JSON.stringify(current))
316
+ return;
317
+ if (dryRun) {
318
+ process.stderr.write(`[gramatr-mcp] clean-install dry-run: would sanitize legacy hooks in ${path}\n`);
319
+ return;
320
+ }
321
+ mkdirSync(dirname(path), { recursive: true });
322
+ writeFileSync(path, JSON.stringify(next, null, 2) + '\n', 'utf8');
323
+ process.stderr.write(`[gramatr-mcp] clean-install: sanitized legacy hooks (${label}) in ${path}\n`);
324
+ }
325
+ function stripLegacyManagedBlocks(path, dryRun) {
326
+ if (!existsSync(path))
327
+ return;
328
+ const current = readFileSync(path, 'utf8');
329
+ let next = current;
330
+ for (const marker of LEGACY_MANAGED_BLOCK_MARKERS) {
331
+ next = stripManagedBlock(next, marker.start, marker.end);
332
+ }
333
+ if (next === current)
334
+ return;
335
+ if (dryRun) {
336
+ process.stderr.write(`[gramatr-mcp] clean-install dry-run: would strip legacy managed blocks in ${path}\n`);
337
+ return;
338
+ }
339
+ writeFileSync(path, next, 'utf8');
340
+ process.stderr.write(`[gramatr-mcp] clean-install: stripped legacy managed blocks in ${path}\n`);
341
+ }
342
+ function cleanAllInstallTargets(dryRun) {
343
+ sanitizeLegacyMcpServersInFile(getClaudeConfigPath(), dryRun);
344
+ sanitizeLegacyMcpServersInFile(join(HOME, '.claude', 'mcp.json'), dryRun);
345
+ sanitizeLegacyMcpServersInFile(getClaudeDesktopConfigPath(HOME), dryRun);
346
+ sanitizeLegacyMcpServersInFile(getChatgptDesktopConfigPath(HOME), dryRun);
347
+ sanitizeLegacyMcpServersInFile(getCursorConfigPath(HOME), dryRun);
348
+ sanitizeLegacyMcpServersInFile(getWindsurfConfigPath(HOME), dryRun);
349
+ sanitizeLegacyMcpServersInFile(getVscodeConfigPath(HOME), dryRun);
350
+ sanitizeLegacyMcpServersInFile(getGeminiManifestPath(HOME), dryRun);
351
+ sanitizeHookFileAtPath(getClaudeSettingsPath(), dryRun, 'claude');
352
+ sanitizeHookFileAtPath(getCodexHooksPath(), dryRun, 'codex');
353
+ sanitizeHookFileAtPath(getGeminiHooksPath(HOME), dryRun, 'gemini');
354
+ stripLegacyManagedBlocks(getClaudeMarkdownPath(), dryRun);
355
+ stripLegacyManagedBlocks(getCodexAgentsPath(), dryRun);
356
+ }
357
+ function cleanLegacyHomeNodeShims(dryRun) {
358
+ const candidates = new Set();
359
+ candidates.add(join(HOME, '.local', 'bin', 'gramatr-mcp'));
360
+ candidates.add(join(HOME, '.local', 'bin', 'gramatr'));
361
+ candidates.add(join(HOME, 'bin', 'gramatr-mcp'));
362
+ candidates.add(join(HOME, 'bin', 'gramatr'));
363
+ candidates.add(join(HOME, 'bin', 'gramatr-mac'));
364
+ for (const shimPath of candidates) {
365
+ if (!existsSync(shimPath))
366
+ continue;
367
+ try {
368
+ let stale = false;
369
+ if (lstatSync(shimPath).isSymbolicLink()) {
370
+ const target = readlinkSync(shimPath);
371
+ if (target.includes('aios-v2-client')
372
+ || target.includes('/packages/client/bin/gramatr')
373
+ || target.includes('/fabric/')
374
+ || target.includes('/pai/')) {
375
+ stale = true;
376
+ }
377
+ }
378
+ else {
379
+ const body = readFileSync(shimPath, 'utf8');
380
+ if (body.includes('aios-v2-client')
381
+ || body.includes('/packages/client/bin/gramatr')
382
+ || body.includes('/fabric/')
383
+ || body.includes('/pai/')) {
384
+ stale = true;
385
+ }
386
+ }
387
+ if (!stale)
388
+ continue;
389
+ if (dryRun) {
390
+ process.stderr.write(`[gramatr-mcp] clean-install dry-run: would remove stale shim ${shimPath}\n`);
391
+ }
392
+ else {
393
+ unlinkSync(shimPath);
394
+ process.stderr.write(`[gramatr-mcp] clean-install: removed stale shim ${shimPath}\n`);
395
+ }
396
+ }
397
+ catch {
398
+ // non-critical
399
+ }
400
+ }
401
+ }
402
+ export function runCleanInstall(dryRun) {
403
+ process.stderr.write('[gramatr-mcp] clean-install: running global legacy cleanup across known install targets\n');
404
+ cleanAllInstallTargets(dryRun);
405
+ cleanLegacyClaudeArtifacts(dryRun);
406
+ cleanLegacyHomeNodeShims(dryRun);
407
+ }
120
408
  export function emitInstallPromptSuggestion(target) {
121
409
  const promptBlock = buildInstallPromptSuggestion(target);
122
410
  process.stderr.write('\n━━━ Prompt Suggestion (copy into custom instructions) ━━━\n\n');
@@ -124,7 +412,10 @@ export function emitInstallPromptSuggestion(target) {
124
412
  process.stderr.write('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n');
125
413
  process.stderr.write('[gramatr-mcp] Paste the prompt block above into your custom instructions / project knowledge.\n');
126
414
  }
127
- export function setupClaude(dryRun = false) {
415
+ export function setupClaude(dryRun = false, cleanInstall = false) {
416
+ if (cleanInstall) {
417
+ runCleanInstall(dryRun);
418
+ }
128
419
  const configPath = getClaudeConfigPath();
129
420
  const settingsPath = getClaudeSettingsPath();
130
421
  const markdownPath = getClaudeMarkdownPath();
@@ -277,6 +568,75 @@ export function setupVscode(dryRun = false) {
277
568
  if (!dryRun)
278
569
  emitInstallPromptSuggestion('vscode');
279
570
  }
571
+ export function getAutoDetectedTargets() {
572
+ const checks = {
573
+ claude: existsSync(join(HOME, '.claude')) || existsSync(getClaudeConfigPath()),
574
+ codex: existsSync(join(HOME, '.codex')),
575
+ gemini: existsSync(join(HOME, '.gemini')),
576
+ 'claude-desktop': existsSync(dirname(getClaudeDesktopConfigPath(HOME))),
577
+ 'chatgpt-desktop': existsSync(dirname(getChatgptDesktopConfigPath(HOME))),
578
+ cursor: existsSync(join(HOME, '.cursor')),
579
+ windsurf: existsSync(join(HOME, '.windsurf')),
580
+ vscode: existsSync(join(HOME, '.vscode')),
581
+ };
582
+ return AUTO_TARGET_ORDER.filter((target) => checks[target]);
583
+ }
584
+ export function setupAutoInstall(options = {}) {
585
+ const dryRun = options.dryRun === true;
586
+ const cleanInstall = options.cleanInstall === true;
587
+ const listOnly = options.listOnly === true;
588
+ const detected = getAutoDetectedTargets();
589
+ const selected = Array.isArray(options.selectedTargets) && options.selectedTargets.length > 0
590
+ ? detected.filter((target) => options.selectedTargets.includes(target))
591
+ : detected;
592
+ process.stderr.write('[gramatr-mcp] auto-detect scan complete\n');
593
+ if (detected.length === 0) {
594
+ process.stderr.write('[gramatr-mcp] No supported local clients detected.\n');
595
+ process.stderr.write('[gramatr-mcp] Install manually with: setup <target>\n');
596
+ return 0;
597
+ }
598
+ process.stderr.write(`[gramatr-mcp] Detected targets: ${detected.join(', ')}\n`);
599
+ process.stderr.write(`[gramatr-mcp] Selected targets: ${selected.join(', ')}\n`);
600
+ if (listOnly) {
601
+ process.stderr.write('[gramatr-mcp] list-only mode: no setup changes made.\n');
602
+ return selected.length;
603
+ }
604
+ if (cleanInstall) {
605
+ runCleanInstall(dryRun);
606
+ }
607
+ for (const target of selected) {
608
+ switch (target) {
609
+ case 'claude':
610
+ setupClaude(dryRun, false);
611
+ break;
612
+ case 'codex':
613
+ setupCodex(dryRun);
614
+ break;
615
+ case 'gemini':
616
+ setupGemini(dryRun);
617
+ break;
618
+ case 'claude-desktop':
619
+ setupClaudeDesktop(dryRun);
620
+ break;
621
+ case 'chatgpt-desktop':
622
+ setupChatgptDesktop(dryRun);
623
+ break;
624
+ case 'cursor':
625
+ setupCursor(dryRun);
626
+ break;
627
+ case 'windsurf':
628
+ setupWindsurf(dryRun);
629
+ break;
630
+ case 'vscode':
631
+ setupVscode(dryRun);
632
+ break;
633
+ default:
634
+ break;
635
+ }
636
+ }
637
+ process.stderr.write(`[gramatr-mcp] Auto setup completed for ${selected.length} target(s).\n`);
638
+ return selected.length;
639
+ }
280
640
  export function setupGemini(dryRun = false) {
281
641
  const extensionDir = getGeminiExtensionDir(HOME);
282
642
  const manifestPath = getGeminiManifestPath(HOME);
@@ -330,4 +690,227 @@ export async function setupWeb(target = 'claude-web') {
330
690
  process.stderr.write('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n');
331
691
  process.stderr.write('[gramatr-mcp] Paste the prompt block above into your custom instructions / project knowledge.\n');
332
692
  }
693
+ function addResult(items, severity, label, detail) {
694
+ items.push({ severity, label, detail });
695
+ }
696
+ function parseJson(path) {
697
+ try {
698
+ return JSON.parse(readFileSync(path, 'utf8'));
699
+ }
700
+ catch {
701
+ return null;
702
+ }
703
+ }
704
+ function hasHookCommand(config, eventName, needle) {
705
+ if (!config || typeof config !== 'object')
706
+ return false;
707
+ const hooksRoot = config.hooks;
708
+ if (!hooksRoot || typeof hooksRoot !== 'object')
709
+ return false;
710
+ const entries = hooksRoot[eventName];
711
+ if (!Array.isArray(entries))
712
+ return false;
713
+ for (const entry of entries) {
714
+ if (!entry || typeof entry !== 'object')
715
+ continue;
716
+ const commands = entry.hooks;
717
+ if (!Array.isArray(commands))
718
+ continue;
719
+ for (const command of commands) {
720
+ const value = command?.command;
721
+ if (typeof value === 'string' && value.includes(needle)) {
722
+ return true;
723
+ }
724
+ }
725
+ }
726
+ return false;
727
+ }
728
+ function readManagedBlock(path, startMarker, endMarker) {
729
+ if (!existsSync(path))
730
+ return null;
731
+ const body = readFileSync(path, 'utf8');
732
+ const pattern = new RegExp(`${escapeRegExp(startMarker)}[\\s\\S]*?${escapeRegExp(endMarker)}`, 'm');
733
+ const match = body.match(pattern);
734
+ return match ? match[0] : null;
735
+ }
736
+ function verifyClaude(items) {
737
+ const configPath = getClaudeConfigPath();
738
+ const settingsPath = getClaudeSettingsPath();
739
+ const markdownPath = getClaudeMarkdownPath();
740
+ const config = parseJson(configPath);
741
+ const gramatrServer = config?.mcpServers && typeof config.mcpServers === 'object'
742
+ ? config.mcpServers.gramatr
743
+ : null;
744
+ if (gramatrServer) {
745
+ addResult(items, 'ok', 'claude.mcp_server', `${configPath} contains mcpServers.gramatr`);
746
+ }
747
+ else {
748
+ addResult(items, 'error', 'claude.mcp_server', `${configPath} missing mcpServers.gramatr`);
749
+ }
750
+ const settings = parseJson(settingsPath);
751
+ const hasPromptHook = hasHookCommand(settings, 'UserPromptSubmit', 'hook user-prompt-submit');
752
+ const hasSessionStartHook = hasHookCommand(settings, 'SessionStart', 'hook session-start');
753
+ if (hasPromptHook && hasSessionStartHook) {
754
+ addResult(items, 'ok', 'claude.hooks', `${settingsPath} includes session-start + user-prompt-submit`);
755
+ }
756
+ else {
757
+ addResult(items, 'error', 'claude.hooks', `${settingsPath} missing required hooks (session-start=${hasSessionStartHook}, user-prompt-submit=${hasPromptHook})`);
758
+ }
759
+ const managedBlock = readManagedBlock(markdownPath, CLAUDE_BLOCK_START, CLAUDE_BLOCK_END);
760
+ if (managedBlock) {
761
+ addResult(items, 'ok', 'claude.guidance', `${markdownPath} contains managed gramatr guidance block`);
762
+ }
763
+ else {
764
+ addResult(items, 'warn', 'claude.guidance', `${markdownPath} missing managed guidance block`);
765
+ }
766
+ }
767
+ function verifyCodex(items) {
768
+ const hooksPath = getCodexHooksPath();
769
+ const configPath = getCodexConfigPath();
770
+ const agentsPath = getCodexAgentsPath();
771
+ const hooks = parseJson(hooksPath);
772
+ const hasPromptHook = hasHookCommand(hooks, 'UserPromptSubmit', 'hook user-prompt-submit');
773
+ const hasSessionStartHook = hasHookCommand(hooks, 'SessionStart', 'hook session-start');
774
+ const hasStopHook = hasHookCommand(hooks, 'Stop', 'hook stop');
775
+ if (hasPromptHook && hasSessionStartHook && hasStopHook) {
776
+ addResult(items, 'ok', 'codex.hooks', `${hooksPath} includes session-start + user-prompt-submit + stop`);
777
+ }
778
+ else {
779
+ addResult(items, 'error', 'codex.hooks', `${hooksPath} missing required hooks (session-start=${hasSessionStartHook}, user-prompt-submit=${hasPromptHook}, stop=${hasStopHook})`);
780
+ }
781
+ const configToml = existsSync(configPath) ? readFileSync(configPath, 'utf8') : '';
782
+ const hooksEnabled = /^\s*codex_hooks\s*=\s*true\s*$/m.test(configToml);
783
+ if (hooksEnabled) {
784
+ addResult(items, 'ok', 'codex.feature_flag', `${configPath} enables codex_hooks`);
785
+ }
786
+ else {
787
+ addResult(items, 'error', 'codex.feature_flag', `${configPath} missing codex_hooks = true`);
788
+ }
789
+ const managedBlock = readManagedBlock(agentsPath, CODEX_BLOCK_START, CODEX_BLOCK_END);
790
+ if (managedBlock) {
791
+ addResult(items, 'ok', 'codex.guidance', `${agentsPath} contains managed gramatr guidance block`);
792
+ }
793
+ else {
794
+ addResult(items, 'warn', 'codex.guidance', `${agentsPath} missing managed guidance block`);
795
+ }
796
+ }
797
+ function verifyJsonMcpTarget(items, label, configPath) {
798
+ const json = parseJson(configPath);
799
+ const gramatrServer = json?.mcpServers && typeof json.mcpServers === 'object'
800
+ ? json.mcpServers.gramatr
801
+ : null;
802
+ if (gramatrServer) {
803
+ addResult(items, 'ok', `${label}.mcp_server`, `${configPath} contains mcpServers.gramatr`);
804
+ }
805
+ else {
806
+ addResult(items, 'warn', `${label}.mcp_server`, `${configPath} missing mcpServers.gramatr`);
807
+ }
808
+ }
809
+ function verifyGemini(items) {
810
+ const manifestPath = getGeminiManifestPath(HOME);
811
+ const hooksPath = getGeminiHooksPath(HOME);
812
+ const manifest = parseJson(manifestPath);
813
+ const geminiServer = manifest?.mcpServers && typeof manifest.mcpServers === 'object'
814
+ ? manifest.mcpServers.gramatr
815
+ : null;
816
+ if (geminiServer) {
817
+ addResult(items, 'ok', 'gemini.manifest', `${manifestPath} contains mcpServers.gramatr`);
818
+ }
819
+ else {
820
+ addResult(items, 'warn', 'gemini.manifest', `${manifestPath} missing mcpServers.gramatr`);
821
+ }
822
+ const hooks = parseJson(hooksPath);
823
+ const hasBeforeAgent = hasHookCommand(hooks, 'BeforeAgent', 'hook user-prompt-submit');
824
+ const hasSessionStart = hasHookCommand(hooks, 'SessionStart', 'hook session-start');
825
+ if (hasBeforeAgent && hasSessionStart) {
826
+ addResult(items, 'ok', 'gemini.hooks', `${hooksPath} includes BeforeAgent + SessionStart hooks`);
827
+ }
828
+ else {
829
+ addResult(items, 'warn', 'gemini.hooks', `${hooksPath} missing expected hooks (before-agent=${hasBeforeAgent}, session-start=${hasSessionStart})`);
830
+ }
831
+ }
832
+ function verifyLocalSettings(items) {
833
+ const settingsPath = getGramatrSettingsPath();
834
+ const settings = parseJson(settingsPath);
835
+ if (!settings) {
836
+ addResult(items, 'error', 'runtime.settings', `${settingsPath} is missing or invalid JSON`);
837
+ return;
838
+ }
839
+ const hasPrincipal = Boolean(settings.principal?.name);
840
+ const hasIdentity = Boolean(settings.daidentity?.name);
841
+ if (hasPrincipal && hasIdentity) {
842
+ addResult(items, 'ok', 'runtime.settings', `${settingsPath} initialized with principal + daidentity`);
843
+ }
844
+ else {
845
+ addResult(items, 'warn', 'runtime.settings', `${settingsPath} missing expected fields (principal=${hasPrincipal}, daidentity=${hasIdentity})`);
846
+ }
847
+ }
848
+ function printPromptBlocks(target) {
849
+ if (target === 'all' || target === 'claude') {
850
+ const block = readManagedBlock(getClaudeMarkdownPath(), CLAUDE_BLOCK_START, CLAUDE_BLOCK_END);
851
+ process.stderr.write('\n━━━ Claude Managed Guidance Block ━━━\n\n');
852
+ process.stdout.write((block || '[missing managed block]\n') + '\n');
853
+ }
854
+ if (target === 'all' || target === 'codex') {
855
+ const block = readManagedBlock(getCodexAgentsPath(), CODEX_BLOCK_START, CODEX_BLOCK_END);
856
+ process.stderr.write('\n━━━ Codex Managed Guidance Block ━━━\n\n');
857
+ process.stdout.write((block || '[missing managed block]\n') + '\n');
858
+ }
859
+ }
860
+ export function verifySetupInstall(target = 'all', options = {}) {
861
+ const items = [];
862
+ verifyLocalSettings(items);
863
+ if (target === 'all' || target === 'claude')
864
+ verifyClaude(items);
865
+ if (target === 'all' || target === 'codex')
866
+ verifyCodex(items);
867
+ if (target === 'all' || target === 'claude-desktop') {
868
+ verifyJsonMcpTarget(items, 'claude-desktop', getClaudeDesktopConfigPath(HOME));
869
+ }
870
+ if (target === 'all' || target === 'chatgpt-desktop') {
871
+ verifyJsonMcpTarget(items, 'chatgpt-desktop', getChatgptDesktopConfigPath(HOME));
872
+ }
873
+ if (target === 'all' || target === 'cursor') {
874
+ verifyJsonMcpTarget(items, 'cursor', getCursorConfigPath(HOME));
875
+ }
876
+ if (target === 'all' || target === 'windsurf') {
877
+ verifyJsonMcpTarget(items, 'windsurf', getWindsurfConfigPath(HOME));
878
+ }
879
+ if (target === 'all' || target === 'vscode') {
880
+ verifyJsonMcpTarget(items, 'vscode', getVscodeConfigPath(HOME));
881
+ }
882
+ if (target === 'all' || target === 'gemini')
883
+ verifyGemini(items);
884
+ const hasError = items.some((item) => item.severity === 'error');
885
+ const hasWarn = items.some((item) => item.severity === 'warn');
886
+ if (options.json) {
887
+ process.stdout.write(JSON.stringify({
888
+ ok: !hasError,
889
+ warnings: hasWarn,
890
+ target,
891
+ checks: items,
892
+ }, null, 2) + '\n');
893
+ }
894
+ else {
895
+ process.stderr.write(`\n[gramatr-mcp] Setup verification target=${target}\n`);
896
+ for (const item of items) {
897
+ const marker = item.severity === 'ok' ? 'OK' : item.severity === 'warn' ? 'WARN' : 'ERROR';
898
+ process.stderr.write(` [${marker}] ${item.label}: ${item.detail}\n`);
899
+ }
900
+ }
901
+ if (options.showPrompts) {
902
+ printPromptBlocks(target);
903
+ }
904
+ if (hasError) {
905
+ process.stderr.write('[gramatr-mcp] Verification failed. Re-run setup for the failing target(s).\n');
906
+ return 1;
907
+ }
908
+ if (hasWarn) {
909
+ process.stderr.write('[gramatr-mcp] Verification completed with warnings.\n');
910
+ }
911
+ else {
912
+ process.stderr.write('[gramatr-mcp] Verification passed.\n');
913
+ }
914
+ return 0;
915
+ }
333
916
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/bin/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/bin/setup.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,14 @@ When a \`[gramatr intelligence]\` block is present, follow it as authoritative.
69
69
  When the packet is missing or clearly stale, call \`gramatr_route_request\`
70
70
  with the user's request before answering.
71
71
 
72
+ Treat \`packet_1\` as the canonical fast contract envelope. Read from
73
+ \`packet_1.manifest\`, \`packet_1.classification\`, and
74
+ \`packet_1.search_results\` / \`packet_1.memory_context\` when present.
75
+
76
+ If \`packet_1.manifest.packet_2_status === "required"\`, call
77
+ \`gramatr_get_enrichment\` with \`packet_1.manifest.enrichment_id\` before
78
+ proceeding. Packet 2 is mandatory whenever it is required.
79
+
72
80
  For continuity questions like "what were we doing?" or "what changed?",
73
81
  call \`gramatr_load_handoff\` first, then \`search_semantic\` for detail.
74
82
 
@@ -91,6 +99,11 @@ Before responding to any user message, call \`gramatr_route_request\` with the
91
99
  user's request. This returns the current project context, memory, behavioral
92
100
  guidance, and effort classification needed for a grounded response.
93
101
 
102
+ Use \`packet_1\` as the canonical response envelope. If
103
+ \`packet_1.manifest.packet_2_status === "required"\`, call
104
+ \`gramatr_get_enrichment\` with the returned \`enrichment_id\` and treat Packet 2
105
+ as mandatory before full execution.
106
+
94
107
  For continuity questions like "what were we doing?" or "what changed?",
95
108
  call \`gramatr_load_handoff\` before answering, then \`search_semantic\`
96
109
  for additional detail.
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/setup/instructions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG,4BAA4B,CAAC;AAY5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,kBAAkB;;;;;;;;;;;;;;;EAevD,gBAAgB;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,iBAAiB;;;;;;;;;;;;;;;;;EAiBhD,eAAe;CAChB,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,MAA2B;IACtE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa,CAAC;QACnB,KAAK,OAAO,CAAC;QACb,KAAK,YAAY;YACf,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,gBAAgB,CAAC;QACtB,KAAK,iBAAiB,CAAC;QACvB,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,kCAAkC,CAAC,MAAM,CAAC,CAAC;QACpD;YACE,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,MAA8C;IACjF,MAAM,QAAQ,GAAG,MAAM,KAAK,aAAa;QACvC,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,MAAM,KAAK,YAAY;YACvB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,OAAO,CAAC;IAEd,OAAO,cAAc,QAAQ;;;;;;;;;;;;;uCAaQ,CAAC;AACxC,CAAC;AAED,SAAS,kCAAkC,CACzC,MAA+E;IAE/E,MAAM,WAAW,GAAkC;QACjD,gBAAgB,EAAE,gBAAgB;QAClC,iBAAiB,EAAE,iBAAiB;QACpC,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,SAAS;KAClB,CAAC;IAEF,OAAO,cAAc,WAAW,CAAC,MAAM,CAAC;;;;;;;;;;;;iEAYuB,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/setup/instructions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG,4BAA4B,CAAC;AAY5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,kBAAkB;;;;;;;;;;;;;;;EAevD,gBAAgB;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,iBAAiB;;;;;;;;;;;;;;;;;EAiBhD,eAAe;CAChB,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,MAA2B;IACtE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa,CAAC;QACnB,KAAK,OAAO,CAAC;QACb,KAAK,YAAY;YACf,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,gBAAgB,CAAC;QACtB,KAAK,iBAAiB,CAAC;QACvB,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,kCAAkC,CAAC,MAAM,CAAC,CAAC;QACpD;YACE,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,MAA8C;IACjF,MAAM,QAAQ,GAAG,MAAM,KAAK,aAAa;QACvC,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,MAAM,KAAK,YAAY;YACvB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,OAAO,CAAC;IAEd,OAAO,cAAc,QAAQ;;;;;;;;;;;;;;;;;;;;;uCAqBQ,CAAC;AACxC,CAAC;AAED,SAAS,kCAAkC,CACzC,MAA+E;IAE/E,MAAM,WAAW,GAAkC;QACjD,gBAAgB,EAAE,gBAAgB;QAClC,iBAAiB,EAAE,iBAAiB;QACpC,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,SAAS;KAClB,CAAC;IAEF,OAAO,cAAc,WAAW,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;iEAiBuB,CAAC;AAClE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../src/setup/web-connector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,4BAA4B;IAC3C,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iDAAiD;IACjD,MAAM,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC;CACtD;AAED,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,EAAE,UAAU,CAAC;IACvB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,SAAS,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,4BAAiC,GACzC,qBAAqB,CAgBvB;AAgDD,wBAAgB,qBAAqB,CAAC,MAAM,GAAE,MAAqB,GAAG,MAAM,CA2B3E;AAMD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAGR;AAMD,wBAAsB,0BAA0B,CAC9C,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,kBAAkB,CAAC,CAuB7B"}
1
+ {"version":3,"file":"web-connector.d.ts","sourceRoot":"","sources":["../../src/setup/web-connector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,4BAA4B;IAC3C,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iDAAiD;IACjD,MAAM,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC;CACtD;AAED,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,EAAE,UAAU,CAAC;IACvB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,SAAS,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,4BAAiC,GACzC,qBAAqB,CAgBvB;AAgDD,wBAAgB,qBAAqB,CAAC,MAAM,GAAE,MAAqB,GAAG,MAAM,CA+B3E;AAMD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAGR;AAMD,wBAAsB,0BAA0B,CAC9C,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,kBAAkB,CAAC,CAuB7B"}
@@ -86,6 +86,10 @@ the user's prompt. This returns essential context:
86
86
  - Effort level classification
87
87
  - Matched capabilities and phase templates
88
88
 
89
+ Treat packet_1 as the canonical response envelope. If
90
+ packet_1.manifest.packet_2_status is "required", call gramatr_get_enrichment
91
+ with packet_1.manifest.enrichment_id before proceeding.
92
+
89
93
  Without calling gramatr_route_request, your response will be generic and miss
90
94
  critical context. With it, you deliver targeted, personalized answers.
91
95
 
@@ -1 +1 @@
1
- {"version":3,"file":"web-connector.js","sourceRoot":"","sources":["../../src/setup/web-connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-connector.js","sourceRoot":"","sources":["../../src/setup/web-connector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gramatr/mcp",
3
- "version": "0.7.6",
3
+ "version": "0.7.10",
4
4
  "description": "grāmatr — Intelligence middleware for AI agents. Pre-classifies every request, injects relevant memory and behavioral context, enforces data quality, and maintains session continuity across Claude, ChatGPT, Codex, Cursor, Gemini, and any MCP-compatible client.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "publishConfig": {