@gramatr/mcp 0.8.9 → 0.8.11

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 (73) hide show
  1. package/dist/bin/build-mcpb.d.ts +8 -2
  2. package/dist/bin/build-mcpb.d.ts.map +1 -1
  3. package/dist/bin/build-mcpb.js +7 -7
  4. package/dist/bin/build-mcpb.js.map +1 -1
  5. package/dist/bin/gramatr-mcp.d.ts.map +1 -1
  6. package/dist/bin/gramatr-mcp.js +2 -1
  7. package/dist/bin/gramatr-mcp.js.map +1 -1
  8. package/dist/bin/setup-config-io.d.ts +26 -0
  9. package/dist/bin/setup-config-io.d.ts.map +1 -0
  10. package/dist/bin/setup-config-io.js +131 -0
  11. package/dist/bin/setup-config-io.js.map +1 -0
  12. package/dist/bin/setup-legacy.d.ts +9 -0
  13. package/dist/bin/setup-legacy.d.ts.map +1 -0
  14. package/dist/bin/setup-legacy.js +289 -0
  15. package/dist/bin/setup-legacy.js.map +1 -0
  16. package/dist/bin/setup-platforms.d.ts +20 -0
  17. package/dist/bin/setup-platforms.d.ts.map +1 -0
  18. package/dist/bin/setup-platforms.js +180 -0
  19. package/dist/bin/setup-platforms.js.map +1 -0
  20. package/dist/bin/setup-shared.d.ts +26 -0
  21. package/dist/bin/setup-shared.d.ts.map +1 -0
  22. package/dist/bin/setup-shared.js +39 -0
  23. package/dist/bin/setup-shared.js.map +1 -0
  24. package/dist/bin/setup.d.ts +14 -68
  25. package/dist/bin/setup.d.ts.map +1 -1
  26. package/dist/bin/setup.js +33 -627
  27. package/dist/bin/setup.js.map +1 -1
  28. package/dist/hooks/generated/hook-timeouts.d.ts +13 -1
  29. package/dist/hooks/generated/hook-timeouts.d.ts.map +1 -1
  30. package/dist/hooks/generated/hook-timeouts.js +13 -1
  31. package/dist/hooks/generated/hook-timeouts.js.map +1 -1
  32. package/dist/hooks/generated/schema-constants.d.ts +23 -9
  33. package/dist/hooks/generated/schema-constants.d.ts.map +1 -1
  34. package/dist/hooks/generated/schema-constants.js +26 -9
  35. package/dist/hooks/generated/schema-constants.js.map +1 -1
  36. package/dist/hooks/input-validator.d.ts +5 -0
  37. package/dist/hooks/input-validator.d.ts.map +1 -1
  38. package/dist/hooks/input-validator.js +113 -1
  39. package/dist/hooks/input-validator.js.map +1 -1
  40. package/dist/hooks/lib/gramatr-hook-utils.d.ts.map +1 -1
  41. package/dist/hooks/lib/gramatr-hook-utils.js +2 -2
  42. package/dist/hooks/lib/gramatr-hook-utils.js.map +1 -1
  43. package/dist/hooks/lib/hook-state.d.ts.map +1 -1
  44. package/dist/hooks/lib/hook-state.js +29 -28
  45. package/dist/hooks/lib/hook-state.js.map +1 -1
  46. package/dist/hooks/lib/routing.js +1 -1
  47. package/dist/hooks/lib/routing.js.map +1 -1
  48. package/dist/hooks/lib/types.d.ts +0 -1
  49. package/dist/hooks/lib/types.d.ts.map +1 -1
  50. package/dist/hooks/user-prompt-submit.js +1 -1
  51. package/dist/hooks/user-prompt-submit.js.map +1 -1
  52. package/dist/proxy/remote-client.d.ts.map +1 -1
  53. package/dist/proxy/remote-client.js +2 -1
  54. package/dist/proxy/remote-client.js.map +1 -1
  55. package/dist/setup/examples/gramatr-opencode-plugin.js +5 -5
  56. package/dist/setup/examples/gramatr-opencode-plugin.js.map +1 -1
  57. package/dist/setup/generated/instruction-blocks.d.ts +27 -0
  58. package/dist/setup/generated/instruction-blocks.d.ts.map +1 -0
  59. package/dist/setup/generated/instruction-blocks.js +27 -0
  60. package/dist/setup/generated/instruction-blocks.js.map +1 -0
  61. package/dist/setup/generated/platform-hooks.d.ts +1 -1
  62. package/dist/setup/generated/platform-hooks.d.ts.map +1 -1
  63. package/dist/setup/generated/platform-hooks.js +37 -6
  64. package/dist/setup/generated/platform-hooks.js.map +1 -1
  65. package/dist/setup/instructions.d.ts.map +1 -1
  66. package/dist/setup/instructions.js +9 -46
  67. package/dist/setup/instructions.js.map +1 -1
  68. package/dist/setup/targets.d.ts +2 -2
  69. package/dist/setup/targets.d.ts.map +1 -1
  70. package/dist/setup/targets.js +5 -6
  71. package/dist/setup/targets.js.map +1 -1
  72. package/package.json +3 -2
  73. package/scripts/postinstall.mjs +54 -6
@@ -1,78 +1,28 @@
1
1
  /**
2
- * gramatr setup claude auto-configure Claude Code to use the local MCP server.
2
+ * gramatr setup — Main orchestrator for multi-platform setup.
3
3
  *
4
- * Writes the mcpServers entry into ~/.claude.json (Claude Code's global MCP config).
5
- * Safe: reads existing config, merges in the gramatr server entry, writes back.
6
- * Idempotent: running it twice produces the same result.
4
+ * Delegates to focused modules:
5
+ * - setup-config-io.ts — Config file reading/writing, path resolution
6
+ * - setup-legacy.ts — Legacy artifact cleanup (pre-rebrand remnants)
7
+ * - setup-platforms.ts — Platform-specific setup (Codex, Gemini, OpenCode, web, generic MCP)
8
+ * - setup-shared.ts — Binary resolution / deployment (npx no-ops)
9
+ *
10
+ * This file owns: setupClaude(), setupAutoInstall(), verifySetupInstall(),
11
+ * getAutoDetectedTargets(), and the convenience wrappers for MCP-only targets
12
+ * (Claude Desktop, ChatGPT Desktop, Cursor, Windsurf, VS Code).
7
13
  *
8
14
  * Usage:
9
15
  * gramatr-mcp setup claude Configure Claude Code
10
16
  * gramatr-mcp setup claude --dry Run without writing
11
17
  */
12
- import { buildInstallPromptSuggestion } from '../setup/instructions.js';
13
- interface ClaudeConfig {
14
- mcpServers?: Record<string, McpServerEntry>;
15
- [key: string]: unknown;
16
- }
17
- interface McpServerEntry {
18
- command: string;
19
- args?: string[];
20
- env?: Record<string, string>;
21
- [key: string]: unknown;
22
- }
18
+ export { getClaudeConfigPath, getClaudeSettingsPath, getCodexHooksPath, getCodexConfigPath, getClaudeMarkdownPath, getCodexAgentsPath, getGramatrSettingsPath, readJsonFile, readClaudeConfig, escapeRegExp, upsertManagedBlock, ensureLocalSettings, parseJson, readManagedBlock, hasHookCommand, } from './setup-config-io.js';
19
+ export { runCleanInstall, } from './setup-legacy.js';
20
+ export { ensureCodexMcpServerConfig, emitInstallPromptSuggestion, setupCodex, setupMcpTarget, setupGemini, setupOpenCode, setupWeb, } from './setup-platforms.js';
21
+ export { resolveBinaryPath, deployPlatformBinary, } from './setup-shared.js';
23
22
  type SetupTarget = 'all' | 'claude' | 'codex' | 'opencode' | 'claude-desktop' | 'chatgpt-desktop' | 'gemini' | 'cursor' | 'windsurf' | 'vscode';
24
23
  export type InstallableTarget = Exclude<SetupTarget, 'all'>;
25
24
  export declare const AUTO_TARGET_ORDER: InstallableTarget[];
26
- /**
27
- * Resolve the path to the gramatr binary.
28
- * Prefers the compiled Bun binary at ~/.gramatr/bin/gramatr (self-contained,
29
- * no Node version dependency). Falls back to npx for first-run / not-yet-installed.
30
- */
31
- export declare function resolveBinaryPath(): {
32
- command: string;
33
- args: string[];
34
- };
35
- /**
36
- * Deploy the correct platform-specific pre-compiled binary to ~/.gramatr/bin/.
37
- *
38
- * Checks for platform-specific binaries (e.g. gramatr-linux-x64) in the package
39
- * dist/ directory, then falls back to the generic 'gramatr' binary from
40
- * build-binary.mjs. If neither exists, logs a warning and returns false so the
41
- * caller can fall back to npx.
42
- *
43
- * Uses atomic copy (write to .new, then rename) to avoid partial-binary issues.
44
- */
45
- export declare function deployPlatformBinary(dryRun?: boolean): boolean;
46
- /**
47
- * Get the Claude Code config file path.
48
- * Claude Code stores global MCP config in ~/.claude.json
49
- */
50
- export declare function getClaudeConfigPath(): string;
51
- export declare function getClaudeSettingsPath(): string;
52
- export declare function getCodexHooksPath(): string;
53
- export declare function getCodexConfigPath(): string;
54
- export declare function getClaudeMarkdownPath(): string;
55
- export declare function getCodexAgentsPath(): string;
56
- export declare function getGramatrSettingsPath(): string;
57
- export declare function readJsonFile<T>(path: string, fallback: T): T;
58
- /**
59
- * Read existing Claude config or return empty.
60
- */
61
- export declare function readClaudeConfig(configPath: string): ClaudeConfig;
62
- export declare function upsertManagedBlock(existing: string, content: string, startMarker: string, endMarker: string): string;
63
- export declare function escapeRegExp(text: string): string;
64
- export declare function ensureCodexMcpServerConfig(configToml: string): string;
65
- export declare function ensureLocalSettings(): void;
66
- export declare function runCleanInstall(dryRun: boolean): void;
67
- export declare function emitInstallPromptSuggestion(target: Parameters<typeof buildInstallPromptSuggestion>[0]): void;
68
25
  export declare function setupClaude(dryRun?: boolean, cleanInstall?: boolean, showPrompts?: boolean): void;
69
- export declare function setupCodex(dryRun?: boolean, showPrompts?: boolean): void;
70
- /**
71
- * Generic MCP-only target setup — merges the gramatr MCP server entry into
72
- * the target's JSON config file. Used by all platforms that support MCP via
73
- * a JSON config (Claude Desktop, ChatGPT Desktop, Cursor, Windsurf, VS Code).
74
- */
75
- export declare function setupMcpTarget(targetName: string, configPath: string, dryRun: boolean): void;
76
26
  export declare function setupClaudeDesktop(dryRun?: boolean, showPrompts?: boolean): void;
77
27
  export declare function setupChatgptDesktop(dryRun?: boolean, showPrompts?: boolean): void;
78
28
  export declare function setupCursor(dryRun?: boolean, showPrompts?: boolean): void;
@@ -86,12 +36,8 @@ export declare function setupAutoInstall(options?: {
86
36
  selectedTargets?: InstallableTarget[];
87
37
  showPrompts?: boolean;
88
38
  }): number;
89
- export declare function setupGemini(dryRun?: boolean, showPrompts?: boolean): void;
90
- export declare function setupOpenCode(dryRun?: boolean, showPrompts?: boolean): void;
91
- export declare function setupWeb(target?: 'claude-web' | 'chatgpt-web' | 'gemini-web'): Promise<void>;
92
39
  export declare function verifySetupInstall(target?: SetupTarget, options?: {
93
40
  json?: boolean;
94
41
  showPrompts?: boolean;
95
42
  }): number;
96
- export {};
97
43
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/bin/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/bin/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAoCH,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAuC3B,KAAK,WAAW,GACZ,KAAK,GACL,QAAQ,GACR,OAAO,GACP,UAAU,GACV,gBAAgB,GAChB,iBAAiB,GACjB,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AAUb,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC5D,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,EAUhD,CAAC;AAIF,wBAAgB,WAAW,CAAC,MAAM,UAAQ,EAAE,YAAY,UAAQ,EAAE,WAAW,UAAQ,GAAG,IAAI,CAiG3F;AAID,wBAAgB,kBAAkB,CAAC,MAAM,UAAQ,EAAE,WAAW,UAAQ,GAAG,IAAI,CAG5E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,UAAQ,EAAE,WAAW,UAAQ,GAAG,IAAI,CAG7E;AAED,wBAAgB,WAAW,CAAC,MAAM,UAAQ,EAAE,WAAW,UAAQ,GAAG,IAAI,CAGrE;AAED,wBAAgB,aAAa,CAAC,MAAM,UAAQ,EAAE,WAAW,UAAQ,GAAG,IAAI,CAGvE;AAED,wBAAgB,WAAW,CAAC,MAAM,UAAQ,EAAE,WAAW,UAAQ,GAAG,IAAI,CAGrE;AAID,wBAAgB,sBAAsB,IAAI,iBAAiB,EAAE,CAa5D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,GAAE;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,MAAM,CAuEd;AA4KD,wBAAgB,kBAAkB,CAChC,MAAM,GAAE,WAAmB,EAC3B,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GACtD,MAAM,CAyDR"}