@gramatr/mcp 0.7.10 → 0.7.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/__mocks__/bun-sqlite.d.ts +35 -0
  2. package/dist/__mocks__/bun-sqlite.d.ts.map +1 -0
  3. package/dist/__mocks__/bun-sqlite.js +89 -0
  4. package/dist/__mocks__/bun-sqlite.js.map +1 -0
  5. package/dist/bin/build-mcpb.d.ts +2 -5
  6. package/dist/bin/build-mcpb.d.ts.map +1 -1
  7. package/dist/bin/build-mcpb.js +20 -43
  8. package/dist/bin/build-mcpb.js.map +1 -1
  9. package/dist/bin/gramatr-mcp.d.ts +10 -2
  10. package/dist/bin/gramatr-mcp.d.ts.map +1 -1
  11. package/dist/bin/gramatr-mcp.js +73 -15
  12. package/dist/bin/gramatr-mcp.js.map +1 -1
  13. package/dist/bin/login.d.ts.map +1 -1
  14. package/dist/bin/login.js +5 -0
  15. package/dist/bin/login.js.map +1 -1
  16. package/dist/bin/setup.d.ts +12 -10
  17. package/dist/bin/setup.d.ts.map +1 -1
  18. package/dist/bin/setup.js +56 -40
  19. package/dist/bin/setup.js.map +1 -1
  20. package/dist/cache/lru-cache.js +1 -1
  21. package/dist/config-runtime.d.ts +13 -0
  22. package/dist/config-runtime.d.ts.map +1 -1
  23. package/dist/config-runtime.js +24 -0
  24. package/dist/config-runtime.js.map +1 -1
  25. package/dist/gramatr +0 -0
  26. package/dist/hooks/input-validator.d.ts.map +1 -1
  27. package/dist/hooks/input-validator.js +27 -9
  28. package/dist/hooks/input-validator.js.map +1 -1
  29. package/dist/hooks/lib/client-runtime.d.ts +7 -0
  30. package/dist/hooks/lib/client-runtime.d.ts.map +1 -0
  31. package/dist/hooks/lib/client-runtime.js +22 -0
  32. package/dist/hooks/lib/client-runtime.js.map +1 -0
  33. package/dist/hooks/lib/hook-state.d.ts +7 -2
  34. package/dist/hooks/lib/hook-state.d.ts.map +1 -1
  35. package/dist/hooks/lib/hook-state.js +56 -35
  36. package/dist/hooks/lib/hook-state.js.map +1 -1
  37. package/dist/hooks/lib/intelligence.d.ts.map +1 -1
  38. package/dist/hooks/lib/intelligence.js +229 -427
  39. package/dist/hooks/lib/intelligence.js.map +1 -1
  40. package/dist/hooks/lib/routing.d.ts +6 -1
  41. package/dist/hooks/lib/routing.d.ts.map +1 -1
  42. package/dist/hooks/lib/routing.js +35 -11
  43. package/dist/hooks/lib/routing.js.map +1 -1
  44. package/dist/hooks/lib/session.d.ts.map +1 -1
  45. package/dist/hooks/lib/session.js +3 -4
  46. package/dist/hooks/lib/session.js.map +1 -1
  47. package/dist/hooks/lib/tool-envelope.d.ts +9 -0
  48. package/dist/hooks/lib/tool-envelope.d.ts.map +1 -0
  49. package/dist/hooks/lib/tool-envelope.js +24 -0
  50. package/dist/hooks/lib/tool-envelope.js.map +1 -0
  51. package/dist/hooks/lib/types.d.ts +7 -0
  52. package/dist/hooks/lib/types.d.ts.map +1 -1
  53. package/dist/hooks/lib/version.d.ts.map +1 -1
  54. package/dist/hooks/lib/version.js +3 -0
  55. package/dist/hooks/lib/version.js.map +1 -1
  56. package/dist/hooks/rating-capture.d.ts.map +1 -1
  57. package/dist/hooks/rating-capture.js +7 -2
  58. package/dist/hooks/rating-capture.js.map +1 -1
  59. package/dist/hooks/session-end.d.ts.map +1 -1
  60. package/dist/hooks/session-end.js +8 -6
  61. package/dist/hooks/session-end.js.map +1 -1
  62. package/dist/hooks/session-start.d.ts.map +1 -1
  63. package/dist/hooks/session-start.js +39 -13
  64. package/dist/hooks/session-start.js.map +1 -1
  65. package/dist/hooks/stop.d.ts.map +1 -1
  66. package/dist/hooks/stop.js +18 -6
  67. package/dist/hooks/stop.js.map +1 -1
  68. package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
  69. package/dist/hooks/user-prompt-submit.js +24 -11
  70. package/dist/hooks/user-prompt-submit.js.map +1 -1
  71. package/dist/intelligence/packet2-fetcher.d.ts +2 -2
  72. package/dist/intelligence/packet2-fetcher.d.ts.map +1 -1
  73. package/dist/intelligence/packet2-fetcher.js +24 -5
  74. package/dist/intelligence/packet2-fetcher.js.map +1 -1
  75. package/dist/intelligence/session-manager.d.ts.map +1 -1
  76. package/dist/intelligence/session-manager.js +25 -1
  77. package/dist/intelligence/session-manager.js.map +1 -1
  78. package/dist/proxy/tool-proxy.d.ts.map +1 -1
  79. package/dist/proxy/tool-proxy.js +57 -11
  80. package/dist/proxy/tool-proxy.js.map +1 -1
  81. package/dist/server/server.d.ts.map +1 -1
  82. package/dist/server/server.js +8 -9
  83. package/dist/server/server.js.map +1 -1
  84. package/dist/setup/instructions.d.ts +2 -2
  85. package/dist/setup/instructions.d.ts.map +1 -1
  86. package/dist/setup/instructions.js +33 -11
  87. package/dist/setup/instructions.js.map +1 -1
  88. package/dist/setup/integrations.d.ts +1 -1
  89. package/dist/setup/integrations.d.ts.map +1 -1
  90. package/dist/setup/integrations.js +7 -4
  91. package/dist/setup/integrations.js.map +1 -1
  92. package/dist/setup/targets.d.ts +1 -1
  93. package/dist/setup/targets.d.ts.map +1 -1
  94. package/dist/setup/targets.js +2 -3
  95. package/dist/setup/targets.js.map +1 -1
  96. package/dist/setup/web-connector.d.ts.map +1 -1
  97. package/dist/setup/web-connector.js +3 -1
  98. package/dist/setup/web-connector.js.map +1 -1
  99. package/package.json +10 -7
@@ -0,0 +1,35 @@
1
+ /**
2
+ * bun-sqlite.ts — Vitest compatibility shim for bun:sqlite.
3
+ *
4
+ * In production, hook-state.ts imports from 'bun:sqlite' and runs inside the
5
+ * compiled Bun binary. In the Node/vitest test environment, 'bun:sqlite' is
6
+ * unavailable. This shim maps the bun:sqlite API surface to better-sqlite3
7
+ * so the 54 test files can keep running under Node without changes.
8
+ *
9
+ * Key differences handled here:
10
+ * - bun:sqlite named params require @-prefixed keys ({ '@session_id': val });
11
+ * better-sqlite3 requires plain keys ({ session_id: val }). Shim strips the prefix.
12
+ * - bun:sqlite positional params are passed as individual args or an array.
13
+ * better-sqlite3 accepts the same. Scalars pass through unchanged.
14
+ * - bun:sqlite .run() returns void; changes() must be queried via SELECT changes().
15
+ * better-sqlite3 returns a RunResult with .changes — handled transparently.
16
+ */
17
+ import BetterSqlite3 from 'better-sqlite3';
18
+ type ScalarParam = string | number | bigint | boolean | null | undefined;
19
+ type Params = Record<string, ScalarParam> | ScalarParam[] | ScalarParam;
20
+ declare class Statement<T = unknown> {
21
+ private stmt;
22
+ constructor(stmt: BetterSqlite3.Statement);
23
+ run(...args: Params[]): void;
24
+ get(...args: Params[]): T | null;
25
+ all(...args: Params[]): T[];
26
+ }
27
+ export declare class Database {
28
+ private db;
29
+ constructor(path: string);
30
+ exec(sql: string): void;
31
+ query<T = unknown>(sql: string): Statement<T>;
32
+ close(): void;
33
+ }
34
+ export {};
35
+ //# sourceMappingURL=bun-sqlite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-sqlite.d.ts","sourceRoot":"","sources":["../../src/__mocks__/bun-sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAE3C,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AACzE,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,WAAW,EAAE,GAAG,WAAW,CAAC;AAcxE,cAAM,SAAS,CAAC,CAAC,GAAG,OAAO;IACb,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa,CAAC,SAAS;IAEjD,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAW5B,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAahC,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;CAY5B;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,EAAE,CAAyB;gBAEvB,IAAI,EAAE,MAAM;IAIxB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAI7C,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * bun-sqlite.ts — Vitest compatibility shim for bun:sqlite.
3
+ *
4
+ * In production, hook-state.ts imports from 'bun:sqlite' and runs inside the
5
+ * compiled Bun binary. In the Node/vitest test environment, 'bun:sqlite' is
6
+ * unavailable. This shim maps the bun:sqlite API surface to better-sqlite3
7
+ * so the 54 test files can keep running under Node without changes.
8
+ *
9
+ * Key differences handled here:
10
+ * - bun:sqlite named params require @-prefixed keys ({ '@session_id': val });
11
+ * better-sqlite3 requires plain keys ({ session_id: val }). Shim strips the prefix.
12
+ * - bun:sqlite positional params are passed as individual args or an array.
13
+ * better-sqlite3 accepts the same. Scalars pass through unchanged.
14
+ * - bun:sqlite .run() returns void; changes() must be queried via SELECT changes().
15
+ * better-sqlite3 returns a RunResult with .changes — handled transparently.
16
+ */
17
+ import BetterSqlite3 from 'better-sqlite3';
18
+ function normaliseParams(params) {
19
+ if (params === undefined || params === null)
20
+ return undefined;
21
+ if (Array.isArray(params))
22
+ return params;
23
+ if (typeof params !== 'object')
24
+ return [params]; // scalar → positional array
25
+ // Named param object: strip @, $, : prefix from each key
26
+ return Object.fromEntries(Object.entries(params).map(([k, v]) => [k.replace(/^[@$:]/, ''), v]));
27
+ }
28
+ class Statement {
29
+ stmt;
30
+ constructor(stmt) {
31
+ this.stmt = stmt;
32
+ }
33
+ run(...args) {
34
+ const params = args.length === 0 ? undefined : args.length === 1 ? normaliseParams(args[0]) : args;
35
+ if (params === undefined) {
36
+ this.stmt.run();
37
+ }
38
+ else if (Array.isArray(params)) {
39
+ this.stmt.run(...params);
40
+ }
41
+ else {
42
+ this.stmt.run(params);
43
+ }
44
+ }
45
+ get(...args) {
46
+ const params = args.length === 0 ? undefined : args.length === 1 ? normaliseParams(args[0]) : args;
47
+ let result;
48
+ if (params === undefined) {
49
+ result = this.stmt.get();
50
+ }
51
+ else if (Array.isArray(params)) {
52
+ result = this.stmt.get(...params);
53
+ }
54
+ else {
55
+ result = this.stmt.get(params);
56
+ }
57
+ return (result ?? null);
58
+ }
59
+ all(...args) {
60
+ const params = args.length === 0 ? undefined : args.length === 1 ? normaliseParams(args[0]) : args;
61
+ let result;
62
+ if (params === undefined) {
63
+ result = this.stmt.all();
64
+ }
65
+ else if (Array.isArray(params)) {
66
+ result = this.stmt.all(...params);
67
+ }
68
+ else {
69
+ result = this.stmt.all(params);
70
+ }
71
+ return result;
72
+ }
73
+ }
74
+ export class Database {
75
+ db;
76
+ constructor(path) {
77
+ this.db = new BetterSqlite3(path);
78
+ }
79
+ exec(sql) {
80
+ this.db.exec(sql);
81
+ }
82
+ query(sql) {
83
+ return new Statement(this.db.prepare(sql));
84
+ }
85
+ close() {
86
+ this.db.close();
87
+ }
88
+ }
89
+ //# sourceMappingURL=bun-sqlite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-sqlite.js","sourceRoot":"","sources":["../../src/__mocks__/bun-sqlite.ts"],"names":[],"mappings":"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"}
@@ -20,10 +20,10 @@ interface McpbManifest {
20
20
  keywords: string[];
21
21
  icon?: string;
22
22
  server: {
23
- type: 'node';
23
+ type: 'binary';
24
24
  entry_point: string;
25
25
  mcp_config: {
26
- command: 'node';
26
+ command: string;
27
27
  args: string[];
28
28
  env: Record<string, string>;
29
29
  };
@@ -38,9 +38,6 @@ interface McpbManifest {
38
38
  compatibility: {
39
39
  claude_desktop: string;
40
40
  platforms: string[];
41
- runtimes: {
42
- node: string;
43
- };
44
41
  };
45
42
  privacy_policies: string[];
46
43
  tools_generated: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"build-mcpb.d.ts","sourceRoot":"","sources":["../../src/bin/build-mcpb.ts"],"names":[],"mappings":";AAwBA,UAAU,YAAY;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC7B,CAAC;KACH,CAAC;IACF,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1H,aAAa,EAAE;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5B,CAAC;IACF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAgBD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAmD3D;AAiFD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAa7H"}
1
+ {"version":3,"file":"build-mcpb.d.ts","sourceRoot":"","sources":["../../src/bin/build-mcpb.ts"],"names":[],"mappings":";AAqBA,UAAU,YAAY;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC7B,CAAC;KACH,CAAC;IACF,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1H,aAAa,EAAE;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAgBD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAkD3D;AAqDD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAa7H"}
@@ -1,15 +1,13 @@
1
1
  #!/usr/bin/env node
2
- import { copyFileSync, cpSync, existsSync, mkdirSync, readFileSync, realpathSync, rmSync, writeFileSync, } from 'node:fs';
2
+ import { chmodSync, copyFileSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync, } from 'node:fs';
3
3
  import { execFileSync } from 'node:child_process';
4
4
  import { dirname, join, resolve } from 'node:path';
5
- import { createRequire } from 'node:module';
6
5
  import { fileURLToPath } from 'node:url';
7
6
  import { getGramatrUrlFromEnv } from '../config-runtime.js';
8
7
  const currentFile = fileURLToPath(import.meta.url);
9
8
  const binDir = dirname(currentFile);
10
9
  const packageDir = dirname(dirname(binDir));
11
10
  const repoRoot = dirname(dirname(packageDir));
12
- const require = createRequire(import.meta.url);
13
11
  function readPackageJson(path) {
14
12
  return JSON.parse(readFileSync(path, 'utf8'));
15
13
  }
@@ -44,11 +42,11 @@ export function buildManifest(version) {
44
42
  keywords: ['ai', 'mcp', 'routing', 'memory', 'gramatr', 'claude-desktop'],
45
43
  icon: 'icon.png',
46
44
  server: {
47
- type: 'node',
48
- entry_point: 'dist/bin/gramatr-mcp.js',
45
+ type: 'binary',
46
+ entry_point: 'bin/gramatr',
49
47
  mcp_config: {
50
- command: 'node',
51
- args: ['${__dirname}/dist/bin/gramatr-mcp.js'],
48
+ command: '${__dirname}/bin/gramatr',
49
+ args: [],
52
50
  env: {
53
51
  GRAMATR_API_KEY: '${user_config.api_key}',
54
52
  GRAMATR_URL: mcpUrl,
@@ -67,7 +65,6 @@ export function buildManifest(version) {
67
65
  compatibility: {
68
66
  claude_desktop: '>=1.0.0',
69
67
  platforms: ['darwin', 'win32'],
70
- runtimes: { node: '>=20.0.0' },
71
68
  },
72
69
  privacy_policies: ['https://gramatr.com/privacy'],
73
70
  tools_generated: true,
@@ -77,42 +74,19 @@ export function buildManifest(version) {
77
74
  function ensureDir(path) {
78
75
  mkdirSync(path, { recursive: true });
79
76
  }
80
- function resolvePackageRoot(packageName) {
81
- return realpathSync(join(repoRoot, 'node_modules', ...packageName.split('/')));
82
- }
83
- function copyPackageRecursive(packageName, nodeModulesDir, seen = new Set()) {
84
- if (seen.has(packageName))
85
- return;
86
- seen.add(packageName);
87
- const packageRoot = resolvePackageRoot(packageName);
88
- const packageJson = readPackageJson(join(packageRoot, 'package.json'));
89
- const destination = join(nodeModulesDir, ...packageName.split('/'));
90
- ensureDir(dirname(destination));
91
- cpSync(packageRoot, destination, { recursive: true });
92
- const dependencies = Object.keys(packageJson.dependencies || {});
93
- const peerDependencies = Object.entries(packageJson.peerDependencies || {})
94
- .filter(([name]) => !packageJson.peerDependenciesMeta?.[name]?.optional)
95
- .map(([name]) => name);
96
- for (const dependency of [...dependencies, ...peerDependencies]) {
97
- copyPackageRecursive(dependency, nodeModulesDir, seen);
98
- }
99
- }
100
- function writeRuntimePackageJson(bundleDir, version) {
101
- const runtimePackage = {
102
- name: 'gramatr-mcpb-runtime',
103
- version,
104
- private: true,
105
- type: 'module',
106
- };
107
- writeFileSync(join(bundleDir, 'package.json'), `${JSON.stringify(runtimePackage, null, 2)}\n`, 'utf8');
108
- }
109
77
  function writeManifest(bundleDir, manifest) {
110
78
  writeFileSync(join(bundleDir, 'manifest.json'), `${JSON.stringify(manifest, null, 2)}\n`, 'utf8');
111
79
  }
112
- function copyRuntimeFiles(bundleDir, version) {
113
- cpSync(join(packageDir, 'dist'), join(bundleDir, 'dist'), { recursive: true });
114
- copyPackageRecursive('@modelcontextprotocol/sdk', join(bundleDir, 'node_modules'));
115
- writeRuntimePackageJson(bundleDir, version);
80
+ function copyRuntimeFiles(bundleDir) {
81
+ const binDestDir = join(bundleDir, 'bin');
82
+ ensureDir(binDestDir);
83
+ const binaryName = process.platform === 'win32' ? 'gramatr.exe' : 'gramatr';
84
+ const binarySrc = join(packageDir, 'dist', binaryName);
85
+ const binaryDest = join(binDestDir, binaryName);
86
+ copyFileSync(binarySrc, binaryDest);
87
+ if (process.platform !== 'win32') {
88
+ chmodSync(binaryDest, 0o755);
89
+ }
116
90
  const licensePath = join(repoRoot, 'LICENSE');
117
91
  if (existsSync(licensePath)) {
118
92
  copyFileSync(licensePath, join(bundleDir, 'LICENSE'));
@@ -141,7 +115,7 @@ export function buildMcpb(outDir, version) {
141
115
  rmSync(stagingDir, { recursive: true, force: true });
142
116
  ensureDir(stagingDir);
143
117
  writeManifest(stagingDir, manifest);
144
- copyRuntimeFiles(stagingDir, version);
118
+ copyRuntimeFiles(stagingDir);
145
119
  buildArchive(stagingDir, archivePath);
146
120
  return { bundleDir: stagingDir, archivePath, manifest };
147
121
  }
@@ -159,5 +133,8 @@ function main() {
159
133
  process.stdout.write(` Version: ${version}\n`);
160
134
  process.stdout.write(` Entry: ${result.manifest.server.entry_point}\n`);
161
135
  }
162
- main();
136
+ const invokedAsScript = process.argv[1] ? resolve(process.argv[1]) === currentFile : false;
137
+ if (invokedAsScript) {
138
+ main();
139
+ }
163
140
  //# sourceMappingURL=build-mcpb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-mcpb.js","sourceRoot":"","sources":["../../src/bin/build-mcpb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-mcpb.js","sourceRoot":"","sources":["../../src/bin/build-mcpb.ts"],"names":[],"mappings":"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"}
@@ -14,12 +14,20 @@
14
14
  * gramatr-mcp setup claude-desktop Auto-configure Claude Desktop MCP settings
15
15
  * gramatr-mcp setup chatgpt-desktop Auto-configure ChatGPT Desktop MCP settings
16
16
  * gramatr-mcp setup gemini Auto-configure Gemini CLI extension files
17
+ * gramatr-mcp setup cursor Auto-configure Cursor MCP settings
18
+ * gramatr-mcp setup windsurf Auto-configure Windsurf MCP settings
19
+ * gramatr-mcp setup vscode Auto-configure VS Code MCP settings
20
+ * gramatr-mcp setup all Configure all supported local clients
17
21
  * gramatr-mcp setup auto Auto-detect and install detected local clients
22
+ * gramatr-mcp setup auto --list List detected install targets only
23
+ * gramatr-mcp setup auto --yes Install all detected targets (non-interactive)
18
24
  * gramatr-mcp setup web Show web connector instructions + prompt suggestion
19
25
  * gramatr-mcp setup web chatgpt Show ChatGPT web connector instructions
20
26
  * 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
27
+ * gramatr-mcp setup clean-install Clean artifacts, then reinstall all supported local clients
28
+ * gramatr-mcp setup verify [target] Verify local MCP/hook install health
29
+ * gramatr-mcp setup verify --json Emit verification results as JSON
30
+ * gramatr-mcp setup verify --show-prompts Include install guidance prompts in verify output
23
31
  * gramatr-mcp build-mcpb Build a Claude Desktop .mcpb manifest bundle
24
32
  * gramatr-mcp hook <name> [args...] Run a hook (session-start, ...)
25
33
  * gramatr-mcp hook --list List registered hooks
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"gramatr-mcp.d.ts","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAkBH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,GAAG,IAAI,CAqBjB;AAqBD,wBAAgB,SAAS,IAAI,IAAI,CAwEhC;AAED,wBAAsB,OAAO,CAAC,OAAO,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6NtF"}
@@ -14,12 +14,20 @@
14
14
  * gramatr-mcp setup claude-desktop Auto-configure Claude Desktop MCP settings
15
15
  * gramatr-mcp setup chatgpt-desktop Auto-configure ChatGPT Desktop MCP settings
16
16
  * gramatr-mcp setup gemini Auto-configure Gemini CLI extension files
17
+ * gramatr-mcp setup cursor Auto-configure Cursor MCP settings
18
+ * gramatr-mcp setup windsurf Auto-configure Windsurf MCP settings
19
+ * gramatr-mcp setup vscode Auto-configure VS Code MCP settings
20
+ * gramatr-mcp setup all Configure all supported local clients
17
21
  * gramatr-mcp setup auto Auto-detect and install detected local clients
22
+ * gramatr-mcp setup auto --list List detected install targets only
23
+ * gramatr-mcp setup auto --yes Install all detected targets (non-interactive)
18
24
  * gramatr-mcp setup web Show web connector instructions + prompt suggestion
19
25
  * gramatr-mcp setup web chatgpt Show ChatGPT web connector instructions
20
26
  * 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
27
+ * gramatr-mcp setup clean-install Clean artifacts, then reinstall all supported local clients
28
+ * gramatr-mcp setup verify [target] Verify local MCP/hook install health
29
+ * gramatr-mcp setup verify --json Emit verification results as JSON
30
+ * gramatr-mcp setup verify --show-prompts Include install guidance prompts in verify output
23
31
  * gramatr-mcp build-mcpb Build a Claude Desktop .mcpb manifest bundle
24
32
  * gramatr-mcp hook <name> [args...] Run a hook (session-start, ...)
25
33
  * gramatr-mcp hook --list List registered hooks
@@ -39,6 +47,16 @@
39
47
  import { VERSION } from '../hooks/lib/version.js';
40
48
  import { fileURLToPath } from 'node:url';
41
49
  import { createInterface } from 'node:readline/promises';
50
+ const ALL_LOCAL_SETUP_TARGETS = [
51
+ 'claude',
52
+ 'codex',
53
+ 'gemini',
54
+ 'claude-desktop',
55
+ 'chatgpt-desktop',
56
+ 'cursor',
57
+ 'windsurf',
58
+ 'vscode',
59
+ ];
42
60
  export function parseAutoTargetSelection(raw, detected) {
43
61
  const normalized = raw.trim().toLowerCase();
44
62
  if (!normalized)
@@ -99,12 +117,23 @@ export function printHelp() {
99
117
  gramatr-mcp setup claude-desktop Configure Claude Desktop to use this server
100
118
  gramatr-mcp setup chatgpt-desktop Configure ChatGPT Desktop to use this server
101
119
  gramatr-mcp setup gemini Configure Gemini CLI extension files
120
+ gramatr-mcp setup cursor Configure Cursor MCP wiring
121
+ gramatr-mcp setup windsurf Configure Windsurf MCP wiring
122
+ gramatr-mcp setup vscode Configure VS Code MCP wiring
123
+ gramatr-mcp setup all Configure all supported local clients
102
124
  gramatr-mcp setup auto Detect and install supported local clients
125
+ gramatr-mcp setup auto --list List detected setup targets only
126
+ gramatr-mcp setup auto --yes Install all detected targets non-interactively
103
127
  gramatr-mcp setup web Show claude.ai web connector setup + prompt
104
128
  gramatr-mcp setup web chatgpt Show ChatGPT web connector setup + prompt
105
129
  gramatr-mcp setup web gemini Show Gemini web connector setup + prompt
106
- gramatr-mcp setup clean-install Remove stale legacy install artifacts globally
130
+ gramatr-mcp setup clean-install Clean stale artifacts + reinstall all supported local clients
131
+ gramatr-mcp setup <target> --show-prompts
132
+ Print optional prompt suggestions after setup writes files
107
133
  gramatr-mcp setup verify [target] Verify install wiring (all|claude|codex|...)
134
+ gramatr-mcp setup verify --json Emit verify output as JSON
135
+ gramatr-mcp setup verify --show-prompts
136
+ Include install prompt guidance in verify output
108
137
  gramatr-mcp build-mcpb Build a Claude Desktop .mcpb bundle
109
138
  gramatr-mcp hook <name> [args...] Run a hook (stdin → stdout contract)
110
139
  gramatr-mcp hook --list List registered hooks
@@ -123,9 +152,20 @@ export function printHelp() {
123
152
  gramatr-mcp setup claude-desktop Write Claude Desktop config
124
153
  gramatr-mcp setup chatgpt-desktop Write ChatGPT Desktop config
125
154
  gramatr-mcp setup gemini Write Gemini extension manifest/hooks
155
+ gramatr-mcp setup cursor Write Cursor MCP config
156
+ gramatr-mcp setup windsurf Write Windsurf MCP config
157
+ gramatr-mcp setup vscode Write VS Code MCP config
158
+ gramatr-mcp setup all Configure all supported local clients
126
159
  gramatr-mcp setup auto Detect and install supported local clients
127
- gramatr-mcp setup clean-install Remove stale legacy install artifacts first
160
+ gramatr-mcp setup auto --list List detected setup targets only
161
+ gramatr-mcp setup auto --yes Install all detected targets non-interactively
162
+ gramatr-mcp setup clean-install Clean stale artifacts, then reinstall all supported local clients
163
+ gramatr-mcp setup <target> --show-prompts
164
+ Print optional prompt suggestions after setup writes files
128
165
  gramatr-mcp setup verify Verify setup wiring + managed guidance blocks
166
+ gramatr-mcp setup verify --json Emit verify output as JSON
167
+ gramatr-mcp setup verify --show-prompts
168
+ Include install guidance prompts in verify output
129
169
  gramatr-mcp setup claude --dry Preview without writing
130
170
  `);
131
171
  }
@@ -176,7 +216,7 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
176
216
  const json = cliArgs.includes('--json');
177
217
  if (target === 'claude') {
178
218
  const { setupClaude } = await import('./setup.js');
179
- setupClaude(dryRun, cleanInstall);
219
+ setupClaude(dryRun, cleanInstall, showPrompts);
180
220
  return;
181
221
  }
182
222
  if (target === 'codex') {
@@ -185,7 +225,7 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
185
225
  runCleanInstall(dryRun);
186
226
  }
187
227
  const { setupCodex } = await import('./setup.js');
188
- setupCodex(dryRun);
228
+ setupCodex(dryRun, showPrompts);
189
229
  return;
190
230
  }
191
231
  if (target === 'claude-desktop') {
@@ -194,7 +234,7 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
194
234
  runCleanInstall(dryRun);
195
235
  }
196
236
  const { setupClaudeDesktop } = await import('./setup.js');
197
- setupClaudeDesktop(dryRun);
237
+ setupClaudeDesktop(dryRun, showPrompts);
198
238
  return;
199
239
  }
200
240
  if (target === 'chatgpt-desktop') {
@@ -203,7 +243,7 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
203
243
  runCleanInstall(dryRun);
204
244
  }
205
245
  const { setupChatgptDesktop } = await import('./setup.js');
206
- setupChatgptDesktop(dryRun);
246
+ setupChatgptDesktop(dryRun, showPrompts);
207
247
  return;
208
248
  }
209
249
  if (target === 'gemini') {
@@ -212,7 +252,7 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
212
252
  runCleanInstall(dryRun);
213
253
  }
214
254
  const { setupGemini } = await import('./setup.js');
215
- setupGemini(dryRun);
255
+ setupGemini(dryRun, showPrompts);
216
256
  return;
217
257
  }
218
258
  if (target === 'cursor') {
@@ -221,7 +261,7 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
221
261
  runCleanInstall(dryRun);
222
262
  }
223
263
  const { setupCursor } = await import('./setup.js');
224
- setupCursor(dryRun);
264
+ setupCursor(dryRun, showPrompts);
225
265
  return;
226
266
  }
227
267
  if (target === 'windsurf') {
@@ -230,7 +270,7 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
230
270
  runCleanInstall(dryRun);
231
271
  }
232
272
  const { setupWindsurf } = await import('./setup.js');
233
- setupWindsurf(dryRun);
273
+ setupWindsurf(dryRun, showPrompts);
234
274
  return;
235
275
  }
236
276
  if (target === 'vscode') {
@@ -239,7 +279,7 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
239
279
  runCleanInstall(dryRun);
240
280
  }
241
281
  const { setupVscode } = await import('./setup.js');
242
- setupVscode(dryRun);
282
+ setupVscode(dryRun, showPrompts);
243
283
  return;
244
284
  }
245
285
  if (target === 'web') {
@@ -275,12 +315,30 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
275
315
  cleanInstall,
276
316
  listOnly,
277
317
  selectedTargets,
318
+ showPrompts,
319
+ });
320
+ return;
321
+ }
322
+ if (target === 'all') {
323
+ const { setupAutoInstall } = await import('./setup.js');
324
+ setupAutoInstall({
325
+ dryRun,
326
+ cleanInstall,
327
+ listOnly: false,
328
+ selectedTargets: ALL_LOCAL_SETUP_TARGETS,
329
+ showPrompts,
278
330
  });
279
331
  return;
280
332
  }
281
333
  if (target === 'clean-install') {
282
- const { runCleanInstall } = await import('./setup.js');
283
- runCleanInstall(dryRun);
334
+ const { setupAutoInstall } = await import('./setup.js');
335
+ setupAutoInstall({
336
+ dryRun,
337
+ cleanInstall: true,
338
+ listOnly: false,
339
+ selectedTargets: ALL_LOCAL_SETUP_TARGETS,
340
+ showPrompts,
341
+ });
284
342
  return;
285
343
  }
286
344
  if (target === 'verify') {
@@ -290,7 +348,7 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
290
348
  process.exit(verifySetupInstall(verifyTarget, { json, showPrompts }));
291
349
  }
292
350
  process.stderr.write(`[gramatr-mcp] Unknown setup target: ${target}\n`);
293
- process.stderr.write(' Supported: claude | codex | claude-desktop | chatgpt-desktop | gemini | cursor | windsurf | vscode | auto | web | clean-install | verify\n');
351
+ process.stderr.write(' Supported: claude | codex | claude-desktop | chatgpt-desktop | gemini | cursor | windsurf | vscode | all | auto | web | clean-install | verify\n');
294
352
  process.exit(1);
295
353
  }
296
354
  // Default: start the stdio server. Lazy-loaded so the `hook` and `setup`
@@ -1 +1 @@
1
- {"version":3,"file":"gramatr-mcp.js","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gramatr-mcp.js","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/bin/login.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAmLH,wBAAgB,UAAU,CAAC,SAAS,GAAE,OAAe,GAAG,OAAO,CAe9D;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,wBAAsB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAIrF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAWpG;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8CzG;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,CA6BD;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;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBjE;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgQxF;AAWD,wBAAsB,IAAI,CAAC,OAAO,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkEnF"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/bin/login.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAmLH,wBAAgB,UAAU,CAAC,SAAS,GAAE,OAAe,GAAG,OAAO,CAe9D;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,wBAAsB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAIrF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAWpG;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8CzG;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,CA6BD;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;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBjE;AAED,wBAAsB,YAAY,CAAC,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAqQxF;AAWD,wBAAsB,IAAI,CAAC,OAAO,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkEnF"}
package/dist/bin/login.js CHANGED
@@ -390,6 +390,7 @@ export async function loginBrowser(opts = {}) {
390
390
  console.log(` ✗ Server unreachable: ${health.error}`);
391
391
  console.log(' Cannot authenticate. Is the server running?\n');
392
392
  process.exit(1);
393
+ return;
393
394
  }
394
395
  console.log(` Health: ✓ v${health.version || 'unknown'}`);
395
396
  console.log('');
@@ -441,6 +442,7 @@ export async function loginBrowser(opts = {}) {
441
442
  console.log(` ✗ Device login failed: ${e.message}`);
442
443
  console.log(' Fallback: gramatr-mcp login --token\n');
443
444
  process.exit(1);
445
+ return;
444
446
  }
445
447
  }
446
448
  // ── Browser environments use OAuth 2.0 authorization-code grant + PKCE ──
@@ -494,6 +496,7 @@ export async function loginBrowser(opts = {}) {
494
496
  callbackServer.close();
495
497
  console.log(` ✗ Dynamic client registration failed: ${e.message}\n`);
496
498
  process.exit(1);
499
+ return;
497
500
  }
498
501
  // 3. PKCE: generate verifier + S256 challenge
499
502
  const codeVerifier = randomBytes(32).toString('base64url');
@@ -578,6 +581,7 @@ export async function loginBrowser(opts = {}) {
578
581
  clearTimeout(codeTimeoutHandle);
579
582
  console.log(`\n ✗ Authentication failed: ${e.message}\n`);
580
583
  process.exit(1);
584
+ return;
581
585
  }
582
586
  if (codeTimeoutHandle)
583
587
  clearTimeout(codeTimeoutHandle);
@@ -608,6 +612,7 @@ export async function loginBrowser(opts = {}) {
608
612
  catch (e) {
609
613
  console.log(`\n ✗ Token exchange failed: ${e.message}\n`);
610
614
  process.exit(1);
615
+ return;
611
616
  }
612
617
  // 7. Save the opaque token — same shape as the device flow
613
618
  const updated = readConfig();