@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.
- package/dist/bin/gramatr-mcp.d.ts +5 -0
- package/dist/bin/gramatr-mcp.d.ts.map +1 -1
- package/dist/bin/gramatr-mcp.js +125 -2
- package/dist/bin/gramatr-mcp.js.map +1 -1
- package/dist/bin/setup.d.ts +16 -1
- package/dist/bin/setup.d.ts.map +1 -1
- package/dist/bin/setup.js +585 -2
- package/dist/bin/setup.js.map +1 -1
- package/dist/setup/instructions.js +13 -0
- package/dist/setup/instructions.js.map +1 -1
- package/dist/setup/web-connector.d.ts.map +1 -1
- package/dist/setup/web-connector.js +4 -0
- package/dist/setup/web-connector.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
|
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"}
|
package/dist/bin/gramatr-mcp.js
CHANGED
|
@@ -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":";AACA
|
|
1
|
+
{"version":3,"file":"gramatr-mcp.js","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/setup.d.ts
CHANGED
|
@@ -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
|
package/dist/bin/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/bin/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
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
|
package/dist/bin/setup.js.map
CHANGED
|
@@ -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
|
|
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,
|
|
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":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AACzD,MAAM,uBAAuB,GAAG,KAAK,CAAC;AA2CtC,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,MAAM,UAAU,0BAA0B,CACxC,UAAwC,EAAE;IAE1C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC;IAC9C,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE5D,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAEhF,OAAO;QACL,SAAS;QACT,UAAU;QACV,MAAM;QACN,KAAK;QACL,aAAa,EAAE,kBAAkB,CAAC,SAAS,CAAC;QAC5C,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAc,EACd,SAAiB,EACjB,UAAsB,EACtB,aAAqB;IAErB,MAAM,SAAS,GAAG,UAAU,KAAK,OAAO;QACtC,CAAC,CAAC,CAAC,gDAAgD,CAAC;QACpD,CAAC,CAAC;YACA,iEAAiE;YACjE,yEAAyE;SAC1E,CAAC;IAEJ,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa;YAChB,OAAO;gBACL,oCAAoC;gBACpC,GAAG,SAAS;gBACZ,4DAA4D;gBAC5D,yBAAyB,SAAS,EAAE;gBACpC,qBAAqB,aAAa,EAAE;aACrC,CAAC;QACJ,KAAK,YAAY;YACf,OAAO;gBACL,oCAAoC;gBACpC,GAAG,SAAS;gBACZ,gEAAgE;gBAChE,yBAAyB,SAAS,EAAE;gBACpC,qBAAqB,aAAa,EAAE;aACrC,CAAC;QACJ,KAAK,YAAY,CAAC;QAClB;YACE,OAAO;gBACL,oCAAoC;gBACpC,GAAG,SAAS;gBACZ,oDAAoD;gBACpD,yBAAyB,SAAS,EAAE;gBACpC,qBAAqB,aAAa,EAAE;aACrC,CAAC;IACN,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,mEAAmE;AACnE,8EAA8E;AAE9E,MAAM,UAAU,qBAAqB,CAAC,SAAiB,YAAY;IACjE,MAAM,YAAY,GAAG,MAAM,KAAK,aAAa;QAC3C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,KAAK,YAAY;YACvB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,QAAQ,CAAC;IAEf,OAAO,cAAc,YAAY
|
|
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.
|
|
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": {
|