@gramatr/mcp 0.13.125 → 0.13.127

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.
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/bin/login.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAmMH,wBAAgB,UAAU,CAAC,SAAS,GAAE,OAAe,GAAG,OAAO,CA0B9D;AAID,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAMhD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAE7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAc1C;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAIrF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IACjD,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAWD;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkD5D;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CA+BD;AAED,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBjF;AAID,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAiChD;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ5C;AA8GD,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBjE;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAwSxF;AAWD,wBAAsB,IAAI,CAAC,OAAO,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAsFnF"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/bin/login.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAwMH,wBAAgB,UAAU,CAAC,SAAS,GAAE,OAAe,GAAG,OAAO,CA0B9D;AAID,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAMhD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAE7D;AAwBD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAc1C;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAIrF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IACjD,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAWD;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkD5D;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CA+BD;AAED,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBjF;AAID,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAsFhD;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAgB5C;AA8GD,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BjE;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAwTxF;AAWD,wBAAsB,IAAI,CAAC,OAAO,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAsFnF"}
package/dist/bin/login.js CHANGED
@@ -19,6 +19,7 @@ import { createHash, randomBytes } from "crypto";
19
19
  import { readFileSync, writeFileSync } from "fs";
20
20
  import { createServer } from "http";
21
21
  import { join } from "path";
22
+ import { clearStaleClaudeJsonAuthHeader, getClaudeJsonSyncState, writeClaudeJsonAuthHeader, } from "./setup-config-io.js";
22
23
  // ── Config ──
23
24
  const HOME = process.env.HOME || process.env.USERPROFILE || "";
24
25
  const CONFIG_PATH = join(HOME, ".gramatr.json");
@@ -238,6 +239,27 @@ export function readConfig() {
238
239
  export function writeConfig(config) {
239
240
  writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2) + "\n");
240
241
  }
242
+ /**
243
+ * #2455 — Bridge the new access token into Claude Code's `~/.claude.json` so
244
+ * Claude Code's built-in MCP HTTP client picks it up immediately. Called from
245
+ * every success path in login (device flow, browser flow, token flow). Warns
246
+ * and continues if the file is owned by root or otherwise unwritable — the
247
+ * canonical config in `~/.gramatr.json` is already written by the caller.
248
+ */
249
+ function bridgeTokenToClaudeJson(token) {
250
+ try {
251
+ const ok = writeClaudeJsonAuthHeader(token, { url: DEFAULT_SERVER });
252
+ if (ok) {
253
+ console.log(" ✓ Token bridged to ~/.claude.json for Claude Code MCP");
254
+ }
255
+ else {
256
+ console.log(" ⚠ Could not write ~/.claude.json (permissions?) — Claude Code may not pick up the token automatically");
257
+ }
258
+ }
259
+ catch (e) {
260
+ console.log(` ⚠ ~/.claude.json bridge skipped: ${e.message}`);
261
+ }
262
+ }
241
263
  /**
242
264
  * Kill any running gramatr stdio server processes so they respawn with
243
265
  * the fresh credentials just written to ~/.gramatr.json. The stdio server
@@ -407,6 +429,52 @@ export async function showStatus() {
407
429
  console.log(` Auth: ✗ ${result.error}`);
408
430
  console.log("\n Run: gramatr login to re-authenticate\n");
409
431
  }
432
+ // #2453 — surface stale Bearer header in ~/.claude.json. The user may
433
+ // have a legacy HTTP-transport mcpServers.gramatr entry that holds a
434
+ // token gramatr no longer recognises; that header keeps Claude Code in
435
+ // a dead OAuth loop until cleared.
436
+ try {
437
+ const claudeJsonPath = join(HOME, ".claude.json");
438
+ const claudeRaw = JSON.parse(readFileSync(claudeJsonPath, "utf8"));
439
+ const claudeHeader = claudeRaw?.mcpServers?.gramatr?.headers?.Authorization ??
440
+ claudeRaw?.mcpServers?.gramatr?.headers?.authorization;
441
+ if (typeof claudeHeader === "string" && claudeHeader.length > 0) {
442
+ console.log(" Note: ~/.claude.json has an HTTP-transport Bearer header.");
443
+ console.log(" If you hit an OAuth loop, run: gramatr logout && gramatr login");
444
+ }
445
+ }
446
+ catch {
447
+ // Non-fatal — no claude.json or unreadable
448
+ }
449
+ // #2455 — report whether ~/.claude.json and ~/.gramatr.json are in sync.
450
+ try {
451
+ const sync = getClaudeJsonSyncState();
452
+ switch (sync) {
453
+ case "synced":
454
+ console.log(" Sync: ✓ ~/.claude.json and ~/.gramatr.json hold the same token");
455
+ break;
456
+ case "diverged":
457
+ console.log(" Sync: ⚠ tokens DIVERGE between ~/.claude.json and ~/.gramatr.json");
458
+ console.log(" One of the files was manually edited. Run `gramatr login` to resync.");
459
+ break;
460
+ case "missing-claude":
461
+ console.log(" Sync: ⚠ ~/.claude.json has no Bearer header for gramatr (Claude Code may not pick up the token).");
462
+ console.log(" Run `gramatr login` to bridge it.");
463
+ break;
464
+ case "missing-gramatr":
465
+ console.log(" Sync: ⚠ ~/.gramatr.json has no token but ~/.claude.json does — inconsistent state");
466
+ break;
467
+ case "unreadable":
468
+ console.log(" Sync: ⚠ one of the config files is unreadable / malformed");
469
+ break;
470
+ case "neither":
471
+ // No tokens anywhere — already covered by the missing-token branch above.
472
+ break;
473
+ }
474
+ }
475
+ catch {
476
+ // Non-fatal
477
+ }
410
478
  console.log("");
411
479
  }
412
480
  export async function logout() {
@@ -416,7 +484,15 @@ export async function logout() {
416
484
  delete config.token_expires;
417
485
  delete config.authenticated_at;
418
486
  writeConfig(config);
419
- console.log("\n ✓ Logged out. Token removed from ~/.gramatr.json\n");
487
+ // #2453 also strip any stale Bearer header from ~/.claude.json so the
488
+ // next Claude Code session does not present a token gramatr no longer
489
+ // believes is valid.
490
+ const cleared = clearStaleClaudeJsonAuthHeader();
491
+ console.log("\n ✓ Logged out. Token removed from ~/.gramatr.json");
492
+ if (cleared) {
493
+ console.log(" ✓ Stale Bearer header removed from ~/.claude.json");
494
+ }
495
+ console.log("");
420
496
  }
421
497
  async function fetchUserIdentity(token) {
422
498
  try {
@@ -540,6 +616,7 @@ export async function loginWithToken(token) {
540
616
  config.user = { ...(config.user ?? {}), name: identity.name };
541
617
  }
542
618
  writeConfig(config);
619
+ bridgeTokenToClaudeJson(token);
543
620
  killStaleMcpServers();
544
621
  await runPostLoginOnboarding();
545
622
  console.log(" ✓ Token valid. Saved to ~/.gramatr.json");
@@ -555,6 +632,20 @@ export async function loginBrowser(opts = {}) {
555
632
  console.log("\n gramatr login\n");
556
633
  console.log(` Server: ${SERVER_BASE}`);
557
634
  console.log(` Dashboard: ${DASHBOARD_BASE}`);
635
+ // #2453 — strip any stale Bearer token from ~/.claude.json BEFORE starting
636
+ // OAuth. If a legacy HTTP-transport `mcpServers.gramatr` entry has a token
637
+ // the server now rejects, leaving it in place confuses the OAuth bridge
638
+ // (the stale Authorization header travels alongside the OAuth dance and
639
+ // Claude Code's MCP client gets stuck in a re-auth loop). Clear it now so
640
+ // the new token issued below replaces a clean slate.
641
+ try {
642
+ if (clearStaleClaudeJsonAuthHeader()) {
643
+ console.log(" Cleared stale Bearer header from ~/.claude.json");
644
+ }
645
+ }
646
+ catch {
647
+ // Non-fatal — proceed with OAuth even if cleanup fails.
648
+ }
558
649
  // Check server health first
559
650
  const health = await checkServerHealth();
560
651
  if (!health.ok) {
@@ -624,6 +715,7 @@ export async function loginBrowser(opts = {}) {
624
715
  config.user = { ...(config.user ?? {}), name: deviceIdentity.name };
625
716
  }
626
717
  writeConfig(config);
718
+ bridgeTokenToClaudeJson(accessToken);
627
719
  killStaleMcpServers();
628
720
  await runPostLoginOnboarding();
629
721
  console.log("");
@@ -830,6 +922,7 @@ export async function loginBrowser(opts = {}) {
830
922
  updated.user = { ...(updated.user ?? {}), name: browserIdentity.name };
831
923
  }
832
924
  writeConfig(updated);
925
+ bridgeTokenToClaudeJson(accessToken);
833
926
  killStaleMcpServers();
834
927
  await runPostLoginOnboarding();
835
928
  console.log("");
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/bin/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/bin/login.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,74 @@ export declare function getCodexConfigPath(): string;
11
11
  export declare function getClaudeMarkdownPath(): string;
12
12
  export declare function getCodexAgentsPath(): string;
13
13
  export declare function getGramatrSettingsPath(): string;
14
+ /**
15
+ * #2453 — Detect and clear a stale `Bearer` token from the user's Claude Code
16
+ * MCP-server config (`~/.claude.json`).
17
+ *
18
+ * Some users have a legacy `mcpServers.gramatr` entry of `type: "http"` that
19
+ * stores the auth token in `headers.Authorization`. When Redis evicts the
20
+ * token, the server rejects the request with 401 AUTH_REQUIRED. Claude Code
21
+ * then runs its built-in MCP OAuth handler, but the stale header is still
22
+ * mounted on the connection and (as of Claude Code v?.?) the new token from
23
+ * the OAuth callback is NOT written back to disk. This leaves the user in a
24
+ * dead loop: stale token → 401 → OAuth dance → no token write → 401 → …
25
+ *
26
+ * The fix from @gramatr/mcp's side: strip the stale header out of
27
+ * `~/.claude.json` proactively (during `gramatr login` and friends) so the
28
+ * next connection attempt either succeeds anonymously (if the server allows
29
+ * it, triggering Claude Code's OAuth from a clean state) or fails fast with
30
+ * a clear "no token" error rather than the misleading "auth loop".
31
+ *
32
+ * This function ONLY clears the `Authorization` (and `authorization`) entries
33
+ * from `mcpServers.gramatr.headers`. It preserves every other key in the
34
+ * file, including non-gramatr mcpServers entries and unrelated headers.
35
+ *
36
+ * Returns true when a stale header was found and removed, false otherwise.
37
+ */
38
+ export declare function clearStaleClaudeJsonAuthHeader(configPath?: string): boolean;
39
+ /**
40
+ * #2455 — Write the gramatr access token into `~/.claude.json` as the
41
+ * `mcpServers.gramatr.headers.Authorization` Bearer header so Claude Code's
42
+ * built-in MCP client can authenticate against the gramatr HTTP transport.
43
+ *
44
+ * Claude Code reads bearer tokens from `~/.claude.json` (not `~/.gramatr.json`),
45
+ * so the canonical gramatr CLI config file (`~/.gramatr.json`) is invisible to
46
+ * it. This helper bridges that gap: every successful login path also writes
47
+ * the new token here so headless SSH users (and anyone whose Claude Code MCP
48
+ * OAuth dance silently fails) have a working bearer header immediately.
49
+ *
50
+ * Behaviour:
51
+ * - Missing file → creates skeleton `{ mcpServers: { gramatr: {...} } }`
52
+ * - Existing file with no `mcpServers` → adds the `gramatr` entry only
53
+ * - Existing `mcpServers.gramatr` → preserves every non-conflicting key
54
+ * (e.g. custom `env`, `type`, extra headers) and only updates
55
+ * `headers.Authorization`, `url` (if changed), and `type`
56
+ * - Existing `mcpServers.other-thing` → left untouched
57
+ * - Malformed JSON → throws (fail loud — never silently overwrite)
58
+ * - Atomic write via temp file + rename to avoid partial writes
59
+ * - Restrictive 0o600 mode preserved (or applied if file is new)
60
+ *
61
+ * Returns true on successful write, false when the file is owned by another
62
+ * user / unwritable (warn-don't-crash).
63
+ */
64
+ export declare function writeClaudeJsonAuthHeader(token: string, opts?: {
65
+ url?: string;
66
+ configPath?: string;
67
+ }): boolean;
68
+ /**
69
+ * Compare the token in `~/.gramatr.json` against the Bearer header in
70
+ * `~/.claude.json`. Returns:
71
+ * - `synced` — both contain the same token (or both have no token)
72
+ * - `diverged` — both exist but differ (manual edit, or write-bridge skipped)
73
+ * - `missing-claude` — `~/.gramatr.json` has a token but `~/.claude.json` does not
74
+ * - `missing-gramatr` — `~/.claude.json` has a token but `~/.gramatr.json` does not
75
+ * - `neither` — no token in either file
76
+ * - `unreadable` — one of the files is malformed / unreadable
77
+ */
78
+ export declare function getClaudeJsonSyncState(opts?: {
79
+ gramatrJsonPath?: string;
80
+ claudeJsonPath?: string;
81
+ }): "synced" | "diverged" | "missing-claude" | "missing-gramatr" | "neither" | "unreadable";
14
82
  export declare function readJsonFile<T>(path: string, fallback: T): T;
15
83
  /**
16
84
  * Read existing Claude config or return empty.
@@ -1 +1 @@
1
- {"version":3,"file":"setup-config-io.d.ts","sourceRoot":"","sources":["../../src/bin/setup-config-io.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,QAAA,MAAM,IAAI,QAAoD,CAAC;AAE/D,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,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO5E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAapH;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAMtE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASpG;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAkBjH;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAM5C;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAqBjE;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAMN;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAa7F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAA8C,GACxD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"setup-config-io.d.ts","sourceRoot":"","sources":["../../src/bin/setup-config-io.ts"],"names":[],"mappings":"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"}
@@ -3,37 +3,279 @@
3
3
  *
4
4
  * Extracted from setup.ts for SRP: pure I/O utilities with no setup orchestration.
5
5
  */
6
- import { readFileSync, writeFileSync, existsSync, mkdirSync, } from 'node:fs';
7
- import { join, dirname } from 'node:path';
8
- import { getGramatrDirFromEnv } from '../config-runtime.js';
9
- import { VERSION } from '../hooks/lib/version.js';
6
+ import { existsSync, mkdirSync, readFileSync, renameSync, statSync, writeFileSync } from "node:fs";
7
+ import { dirname, join } from "node:path";
8
+ import { getGramatrDirFromEnv } from "../config-runtime.js";
9
+ import { VERSION } from "../hooks/lib/version.js";
10
10
  // gramatr-allow: C1 — CLI entry point, reads HOME for config path
11
- const HOME = process.env.HOME || process.env.USERPROFILE || '';
11
+ const HOME = process.env.HOME || process.env.USERPROFILE || "";
12
12
  export function getClaudeConfigPath() {
13
- return join(HOME, '.claude.json');
13
+ return join(HOME, ".claude.json");
14
14
  }
15
15
  export function getClaudeSettingsPath() {
16
- return join(HOME, '.claude', 'settings.json');
16
+ return join(HOME, ".claude", "settings.json");
17
17
  }
18
18
  export function getCodexHooksPath() {
19
- return join(HOME, '.codex', 'hooks.json');
19
+ return join(HOME, ".codex", "hooks.json");
20
20
  }
21
21
  export function getCodexConfigPath() {
22
- return join(HOME, '.codex', 'config.toml');
22
+ return join(HOME, ".codex", "config.toml");
23
23
  }
24
24
  export function getClaudeMarkdownPath() {
25
- return join(HOME, '.claude', 'CLAUDE.md');
25
+ return join(HOME, ".claude", "CLAUDE.md");
26
26
  }
27
27
  export function getCodexAgentsPath() {
28
- return join(HOME, '.codex', 'AGENTS.md');
28
+ return join(HOME, ".codex", "AGENTS.md");
29
29
  }
30
30
  export function getGramatrSettingsPath() {
31
- const gramatrDir = getGramatrDirFromEnv() || join(HOME, '.gramatr');
32
- return join(gramatrDir, 'settings.json');
31
+ const gramatrDir = getGramatrDirFromEnv() || join(HOME, ".gramatr");
32
+ return join(gramatrDir, "settings.json");
33
+ }
34
+ /**
35
+ * #2453 — Detect and clear a stale `Bearer` token from the user's Claude Code
36
+ * MCP-server config (`~/.claude.json`).
37
+ *
38
+ * Some users have a legacy `mcpServers.gramatr` entry of `type: "http"` that
39
+ * stores the auth token in `headers.Authorization`. When Redis evicts the
40
+ * token, the server rejects the request with 401 AUTH_REQUIRED. Claude Code
41
+ * then runs its built-in MCP OAuth handler, but the stale header is still
42
+ * mounted on the connection and (as of Claude Code v?.?) the new token from
43
+ * the OAuth callback is NOT written back to disk. This leaves the user in a
44
+ * dead loop: stale token → 401 → OAuth dance → no token write → 401 → …
45
+ *
46
+ * The fix from @gramatr/mcp's side: strip the stale header out of
47
+ * `~/.claude.json` proactively (during `gramatr login` and friends) so the
48
+ * next connection attempt either succeeds anonymously (if the server allows
49
+ * it, triggering Claude Code's OAuth from a clean state) or fails fast with
50
+ * a clear "no token" error rather than the misleading "auth loop".
51
+ *
52
+ * This function ONLY clears the `Authorization` (and `authorization`) entries
53
+ * from `mcpServers.gramatr.headers`. It preserves every other key in the
54
+ * file, including non-gramatr mcpServers entries and unrelated headers.
55
+ *
56
+ * Returns true when a stale header was found and removed, false otherwise.
57
+ */
58
+ export function clearStaleClaudeJsonAuthHeader(configPath) {
59
+ const path = configPath ?? getClaudeConfigPath();
60
+ let raw;
61
+ try {
62
+ raw = readFileSync(path, "utf8");
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ let parsed;
68
+ try {
69
+ parsed = JSON.parse(raw);
70
+ }
71
+ catch {
72
+ return false;
73
+ }
74
+ const mcpServers = (parsed.mcpServers ?? {});
75
+ const gramatr = mcpServers.gramatr;
76
+ if (!gramatr || typeof gramatr !== "object")
77
+ return false;
78
+ const headers = gramatr.headers;
79
+ if (!headers || typeof headers !== "object")
80
+ return false;
81
+ const hadAuthorization = "Authorization" in headers || "authorization" in headers;
82
+ if (!hadAuthorization)
83
+ return false;
84
+ const { Authorization: _a, authorization: _b, ...remainingHeaders } = headers;
85
+ const updatedGramatr = { ...gramatr };
86
+ if (Object.keys(remainingHeaders).length > 0) {
87
+ updatedGramatr.headers = remainingHeaders;
88
+ }
89
+ else {
90
+ delete updatedGramatr.headers;
91
+ }
92
+ const updated = {
93
+ ...parsed,
94
+ mcpServers: {
95
+ ...mcpServers,
96
+ gramatr: updatedGramatr,
97
+ },
98
+ };
99
+ writeFileSync(path, JSON.stringify(updated, null, 2) + "\n", { mode: 0o600 });
100
+ return true;
101
+ }
102
+ const DEFAULT_GRAMATR_MCP_URL = "https://api.gramatr.com/mcp";
103
+ /**
104
+ * #2455 — Write the gramatr access token into `~/.claude.json` as the
105
+ * `mcpServers.gramatr.headers.Authorization` Bearer header so Claude Code's
106
+ * built-in MCP client can authenticate against the gramatr HTTP transport.
107
+ *
108
+ * Claude Code reads bearer tokens from `~/.claude.json` (not `~/.gramatr.json`),
109
+ * so the canonical gramatr CLI config file (`~/.gramatr.json`) is invisible to
110
+ * it. This helper bridges that gap: every successful login path also writes
111
+ * the new token here so headless SSH users (and anyone whose Claude Code MCP
112
+ * OAuth dance silently fails) have a working bearer header immediately.
113
+ *
114
+ * Behaviour:
115
+ * - Missing file → creates skeleton `{ mcpServers: { gramatr: {...} } }`
116
+ * - Existing file with no `mcpServers` → adds the `gramatr` entry only
117
+ * - Existing `mcpServers.gramatr` → preserves every non-conflicting key
118
+ * (e.g. custom `env`, `type`, extra headers) and only updates
119
+ * `headers.Authorization`, `url` (if changed), and `type`
120
+ * - Existing `mcpServers.other-thing` → left untouched
121
+ * - Malformed JSON → throws (fail loud — never silently overwrite)
122
+ * - Atomic write via temp file + rename to avoid partial writes
123
+ * - Restrictive 0o600 mode preserved (or applied if file is new)
124
+ *
125
+ * Returns true on successful write, false when the file is owned by another
126
+ * user / unwritable (warn-don't-crash).
127
+ */
128
+ export function writeClaudeJsonAuthHeader(token, opts = {}) {
129
+ // gramatr-allow: B1 — CLI helper, @gramatr/core error classes not depended on
130
+ if (!token)
131
+ throw new Error("writeClaudeJsonAuthHeader: token is required");
132
+ const path = opts.configPath ?? getClaudeConfigPath();
133
+ const url = opts.url ??
134
+ // gramatr-allow: C1 — CLI helper reads GRAMATR_API_URL for default MCP endpoint baked into ~/.claude.json
135
+ process.env.GRAMATR_API_URL ??
136
+ DEFAULT_GRAMATR_MCP_URL;
137
+ let parsed = {};
138
+ let raw = null;
139
+ try {
140
+ raw = readFileSync(path, "utf8");
141
+ }
142
+ catch (err) {
143
+ if (err?.code !== "ENOENT") {
144
+ // Permission or other I/O issue — warn and bail; caller can surface.
145
+ return false;
146
+ }
147
+ }
148
+ if (raw !== null) {
149
+ try {
150
+ const candidate = JSON.parse(raw);
151
+ if (!candidate || typeof candidate !== "object" || Array.isArray(candidate)) {
152
+ // gramatr-allow: B1 — CLI helper, @gramatr/core error classes not depended on
153
+ throw new Error(`~/.claude.json is not a JSON object (path: ${path})`);
154
+ }
155
+ parsed = candidate;
156
+ }
157
+ catch (err) {
158
+ // gramatr-allow: B1 — fail loud per contract; CLI helper, no @gramatr/core dependency
159
+ throw new Error(`writeClaudeJsonAuthHeader: refusing to overwrite malformed ${path}: ${err?.message ?? String(err)}`);
160
+ }
161
+ }
162
+ const mcpServers = (parsed.mcpServers && typeof parsed.mcpServers === "object"
163
+ ? parsed.mcpServers
164
+ : {}) ?? {};
165
+ const existingGramatr = mcpServers.gramatr && typeof mcpServers.gramatr === "object"
166
+ ? mcpServers.gramatr
167
+ : {};
168
+ const existingHeaders = existingGramatr.headers && typeof existingGramatr.headers === "object"
169
+ ? existingGramatr.headers
170
+ : {};
171
+ // Strip any case-variant of Authorization before re-applying the canonical
172
+ // 'Authorization' key so we don't accumulate stale lowercase duplicates.
173
+ const cleanedHeaders = {};
174
+ for (const [k, v] of Object.entries(existingHeaders)) {
175
+ if (k.toLowerCase() === "authorization")
176
+ continue;
177
+ cleanedHeaders[k] = v;
178
+ }
179
+ const updatedGramatr = {
180
+ // Preserve any custom keys the user set (env, args, etc.).
181
+ ...existingGramatr,
182
+ type: typeof existingGramatr.type === "string" ? existingGramatr.type : "http",
183
+ url: typeof existingGramatr.url === "string" ? existingGramatr.url : url,
184
+ headers: {
185
+ ...cleanedHeaders,
186
+ Authorization: `Bearer ${token}`,
187
+ },
188
+ };
189
+ const updated = {
190
+ ...parsed,
191
+ mcpServers: {
192
+ ...mcpServers,
193
+ gramatr: updatedGramatr,
194
+ },
195
+ };
196
+ // Preserve file mode when present, else apply restrictive 0o600.
197
+ let mode = 0o600;
198
+ if (raw !== null) {
199
+ try {
200
+ mode = statSync(path).mode & 0o777;
201
+ }
202
+ catch {
203
+ mode = 0o600;
204
+ }
205
+ }
206
+ // Atomic write: temp file + rename.
207
+ const tmpPath = `${path}.tmp-${process.pid}-${Date.now()}`;
208
+ try {
209
+ writeFileSync(tmpPath, JSON.stringify(updated, null, 2) + "\n", { mode });
210
+ renameSync(tmpPath, path);
211
+ return true;
212
+ }
213
+ catch (_err) {
214
+ // Restrictive perms or root-owned file — don't crash login, just warn.
215
+ try {
216
+ // best-effort cleanup of the temp file
217
+ // (ignore failures — readFileSync on missing file is fine)
218
+ }
219
+ catch {
220
+ /* noop */
221
+ }
222
+ return false;
223
+ }
224
+ }
225
+ /**
226
+ * Compare the token in `~/.gramatr.json` against the Bearer header in
227
+ * `~/.claude.json`. Returns:
228
+ * - `synced` — both contain the same token (or both have no token)
229
+ * - `diverged` — both exist but differ (manual edit, or write-bridge skipped)
230
+ * - `missing-claude` — `~/.gramatr.json` has a token but `~/.claude.json` does not
231
+ * - `missing-gramatr` — `~/.claude.json` has a token but `~/.gramatr.json` does not
232
+ * - `neither` — no token in either file
233
+ * - `unreadable` — one of the files is malformed / unreadable
234
+ */
235
+ export function getClaudeJsonSyncState(opts = {}) {
236
+ const gramatrPath = opts.gramatrJsonPath ?? join(HOME, ".gramatr.json");
237
+ const claudePath = opts.claudeJsonPath ?? getClaudeConfigPath();
238
+ let gramatrToken;
239
+ try {
240
+ const raw = readFileSync(gramatrPath, "utf8");
241
+ const parsed = JSON.parse(raw);
242
+ if (typeof parsed.token === "string")
243
+ gramatrToken = parsed.token;
244
+ }
245
+ catch (err) {
246
+ if (err?.code !== "ENOENT")
247
+ return "unreadable";
248
+ }
249
+ let claudeToken;
250
+ try {
251
+ const raw = readFileSync(claudePath, "utf8");
252
+ const parsed = JSON.parse(raw);
253
+ const mcp = parsed.mcpServers;
254
+ const gramatr = mcp?.gramatr;
255
+ const headers = gramatr?.headers;
256
+ const auth = headers?.Authorization ??
257
+ headers?.authorization;
258
+ if (typeof auth === "string" && auth.startsWith("Bearer ")) {
259
+ claudeToken = auth.slice(7).trim();
260
+ }
261
+ }
262
+ catch (err) {
263
+ if (err?.code !== "ENOENT")
264
+ return "unreadable";
265
+ }
266
+ if (!gramatrToken && !claudeToken)
267
+ return "neither";
268
+ if (gramatrToken && !claudeToken)
269
+ return "missing-claude";
270
+ if (!gramatrToken && claudeToken)
271
+ return "missing-gramatr";
272
+ if (gramatrToken === claudeToken)
273
+ return "synced";
274
+ return "diverged";
33
275
  }
34
276
  export function readJsonFile(path, fallback) {
35
277
  try {
36
- return JSON.parse(readFileSync(path, 'utf8'));
278
+ return JSON.parse(readFileSync(path, "utf8"));
37
279
  }
38
280
  catch {
39
281
  return fallback;
@@ -44,7 +286,7 @@ export function readJsonFile(path, fallback) {
44
286
  */
45
287
  export function readClaudeConfig(configPath) {
46
288
  try {
47
- const raw = readFileSync(configPath, 'utf8');
289
+ const raw = readFileSync(configPath, "utf8");
48
290
  return JSON.parse(raw);
49
291
  }
50
292
  catch {
@@ -52,11 +294,11 @@ export function readClaudeConfig(configPath) {
52
294
  }
53
295
  }
54
296
  export function escapeRegExp(text) {
55
- return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
297
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
56
298
  }
57
299
  export function upsertManagedBlock(existing, content, startMarker, endMarker) {
58
300
  const block = content.trim();
59
- const pattern = new RegExp(`${escapeRegExp(startMarker)}[\\s\\S]*?${escapeRegExp(endMarker)}`, 'm');
301
+ const pattern = new RegExp(`${escapeRegExp(startMarker)}[\\s\\S]*?${escapeRegExp(endMarker)}`, "m");
60
302
  if (pattern.test(existing)) {
61
303
  return existing.replace(pattern, block);
62
304
  }
@@ -65,7 +307,7 @@ export function upsertManagedBlock(existing, content, startMarker, endMarker) {
65
307
  }
66
308
  export function parseJson(path) {
67
309
  try {
68
- return JSON.parse(readFileSync(path, 'utf8'));
310
+ return JSON.parse(readFileSync(path, "utf8"));
69
311
  }
70
312
  catch {
71
313
  return null;
@@ -74,8 +316,8 @@ export function parseJson(path) {
74
316
  export function readManagedBlock(path, startMarker, endMarker) {
75
317
  if (!existsSync(path))
76
318
  return null;
77
- const body = readFileSync(path, 'utf8');
78
- const pattern = new RegExp(`${escapeRegExp(startMarker)}[\\s\\S]*?${escapeRegExp(endMarker)}`, 'm');
319
+ const body = readFileSync(path, "utf8");
320
+ const pattern = new RegExp(`${escapeRegExp(startMarker)}[\\s\\S]*?${escapeRegExp(endMarker)}`, "m");
79
321
  const match = body.match(pattern);
80
322
  return match ? match[0] : null;
81
323
  }
@@ -85,23 +327,23 @@ export function ensureLocalSettings() {
85
327
  mkdirSync(settingsDir, { recursive: true });
86
328
  }
87
329
  export function hasHookCommand(config, eventName, needle) {
88
- if (!config || typeof config !== 'object')
330
+ if (!config || typeof config !== "object")
89
331
  return false;
90
332
  const hooksRoot = config.hooks;
91
- if (!hooksRoot || typeof hooksRoot !== 'object')
333
+ if (!hooksRoot || typeof hooksRoot !== "object")
92
334
  return false;
93
335
  const entries = hooksRoot[eventName];
94
336
  if (!Array.isArray(entries))
95
337
  return false;
96
338
  for (const entry of entries) {
97
- if (!entry || typeof entry !== 'object')
339
+ if (!entry || typeof entry !== "object")
98
340
  continue;
99
341
  const commands = entry.hooks;
100
342
  if (!Array.isArray(commands))
101
343
  continue;
102
344
  for (const command of commands) {
103
345
  const value = command?.command;
104
- if (typeof value === 'string' && value.includes(needle)) {
346
+ if (typeof value === "string" && value.includes(needle)) {
105
347
  return true;
106
348
  }
107
349
  }
@@ -109,39 +351,39 @@ export function hasHookCommand(config, eventName, needle) {
109
351
  return false;
110
352
  }
111
353
  export function getGramatrPluginDir() {
112
- const gramatrDir = getGramatrDirFromEnv() || join(HOME, '.gramatr');
354
+ const gramatrDir = getGramatrDirFromEnv() || join(HOME, ".gramatr");
113
355
  // Plugin lives at <marketplace-root>/<plugin-name>/ — Claude Code resolves
114
356
  // plugins by looking for a subdirectory matching the plugin name under the
115
357
  // marketplace URL root.
116
- return join(gramatrDir, 'gramatr');
358
+ return join(gramatrDir, "gramatr");
117
359
  }
118
360
  export function writeMarketplaceManifest(gramatrDir) {
119
- const marketplaceDir = join(gramatrDir, '.claude-plugin');
361
+ const marketplaceDir = join(gramatrDir, ".claude-plugin");
120
362
  mkdirSync(marketplaceDir, { recursive: true });
121
363
  const manifest = {
122
- name: 'gramatr',
123
- description: 'gramatr — Real-Time Intelligent Context Engineering',
124
- author: { name: 'gramatr', email: 'support@gramatr.com', url: 'https://gramatr.com' },
125
- plugins: [{ name: 'gramatr', path: 'gramatr' }],
364
+ name: "gramatr",
365
+ description: "gramatr — Real-Time Intelligent Context Engineering",
366
+ author: { name: "gramatr", email: "support@gramatr.com", url: "https://gramatr.com" },
367
+ plugins: [{ name: "gramatr", path: "gramatr" }],
126
368
  };
127
- writeFileSync(join(marketplaceDir, 'marketplace.json'), JSON.stringify(manifest, null, 2) + '\n', 'utf8');
369
+ writeFileSync(join(marketplaceDir, "marketplace.json"), JSON.stringify(manifest, null, 2) + "\n", "utf8");
128
370
  // Overwrite stale ~/.gramatr/package.json — old @gramatr/client installs left this
129
371
  // with the deprecated client identity, causing Claude Code to show "gramatr Client"
130
372
  // and refuse to load plugin hooks. Must be @gramatr/mcp to match the active package.
131
373
  const rootPkg = {
132
- name: '@gramatr/mcp',
374
+ name: "@gramatr/mcp",
133
375
  version: VERSION,
134
- description: 'gramatr — Real-Time Intelligent Context Engineering',
135
- homepage: 'https://gramatr.com',
376
+ description: "gramatr — Real-Time Intelligent Context Engineering",
377
+ homepage: "https://gramatr.com",
136
378
  };
137
- writeFileSync(join(gramatrDir, 'package.json'), JSON.stringify(rootPkg, null, 2) + '\n', 'utf8');
379
+ writeFileSync(join(gramatrDir, "package.json"), JSON.stringify(rootPkg, null, 2) + "\n", "utf8");
138
380
  }
139
381
  export function writePluginFiles(pluginDir, pluginJson, hooksJson, mcpJson) {
140
- mkdirSync(join(pluginDir, '.claude-plugin'), { recursive: true });
141
- mkdirSync(join(pluginDir, 'hooks'), { recursive: true });
142
- writeFileSync(join(pluginDir, '.claude-plugin', 'plugin.json'), JSON.stringify(pluginJson, null, 2) + '\n', 'utf8');
143
- writeFileSync(join(pluginDir, 'hooks', 'hooks.json'), JSON.stringify(hooksJson, null, 2) + '\n', 'utf8');
144
- writeFileSync(join(pluginDir, '.mcp.json'), JSON.stringify(mcpJson, null, 2) + '\n', 'utf8');
382
+ mkdirSync(join(pluginDir, ".claude-plugin"), { recursive: true });
383
+ mkdirSync(join(pluginDir, "hooks"), { recursive: true });
384
+ writeFileSync(join(pluginDir, ".claude-plugin", "plugin.json"), JSON.stringify(pluginJson, null, 2) + "\n", "utf8");
385
+ writeFileSync(join(pluginDir, "hooks", "hooks.json"), JSON.stringify(hooksJson, null, 2) + "\n", "utf8");
386
+ writeFileSync(join(pluginDir, ".mcp.json"), JSON.stringify(mcpJson, null, 2) + "\n", "utf8");
145
387
  }
146
388
  export function removeGramatrHooks(settings) {
147
389
  const { hooks, ...rest } = settings;
@@ -151,9 +393,9 @@ export function removeGramatrHooks(settings) {
151
393
  for (const [event, entries] of Object.entries(hooks)) {
152
394
  if (!Array.isArray(entries))
153
395
  continue;
154
- const nonGramatr = entries.filter(entry => {
396
+ const nonGramatr = entries.filter((entry) => {
155
397
  const cmds = entry.hooks ?? [];
156
- return !cmds.some(c => typeof c.command === 'string' && c.command.includes('@gramatr/mcp'));
398
+ return !cmds.some((c) => typeof c.command === "string" && c.command.includes("@gramatr/mcp"));
157
399
  });
158
400
  if (nonGramatr.length > 0)
159
401
  filtered[event] = nonGramatr;
@@ -171,19 +413,17 @@ export function removeGramatrHooks(settings) {
171
413
  * requiring a local @gramatr/mcp installation.
172
414
  * Defaults to 'https://api.gramatr.com/marketplace'.
173
415
  */
174
- export function addPluginRegistration(settings, gramatrDir, remoteUrl = 'https://api.gramatr.com/marketplace') {
175
- const marketplaceUrl = remoteUrl
176
- ? remoteUrl
177
- : `file://${gramatrDir.replace(/\\/g, '/')}`;
416
+ export function addPluginRegistration(settings, gramatrDir, remoteUrl = "https://api.gramatr.com/marketplace") {
417
+ const marketplaceUrl = remoteUrl ? remoteUrl : `file://${gramatrDir.replace(/\\/g, "/")}`;
178
418
  return {
179
419
  ...settings,
180
420
  extraKnownMarketplaces: {
181
421
  ...(settings.extraKnownMarketplaces ?? {}),
182
- gramatr: { source: { source: 'url', url: marketplaceUrl } },
422
+ gramatr: { source: { source: "url", url: marketplaceUrl } },
183
423
  },
184
424
  enabledPlugins: {
185
425
  ...(settings.enabledPlugins ?? {}),
186
- 'gramatr@gramatr': true,
426
+ "gramatr@gramatr": true,
187
427
  },
188
428
  };
189
429
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup-config-io.js","sourceRoot":"","sources":["../../src/bin/setup-config-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-config-io.js","sourceRoot":"","sources":["../../src/bin/setup-config-io.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.13.125",
3
+ "version": "0.13.127",
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": {