@millstone/synapse-context-mcp 0.3.0

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 (140) hide show
  1. package/README.md +217 -0
  2. package/dist/bundled/code-structure.js +12427 -0
  3. package/dist/bundled/file-search.js +40278 -0
  4. package/dist/bundled/semantic-search.js +40245 -0
  5. package/dist/bundled/tree-sitter-wasms/tree-sitter-bash.wasm +0 -0
  6. package/dist/bundled/tree-sitter-wasms/tree-sitter-c.wasm +0 -0
  7. package/dist/bundled/tree-sitter-wasms/tree-sitter-c_sharp.wasm +0 -0
  8. package/dist/bundled/tree-sitter-wasms/tree-sitter-cpp.wasm +0 -0
  9. package/dist/bundled/tree-sitter-wasms/tree-sitter-css.wasm +0 -0
  10. package/dist/bundled/tree-sitter-wasms/tree-sitter-dart.wasm +0 -0
  11. package/dist/bundled/tree-sitter-wasms/tree-sitter-elisp.wasm +0 -0
  12. package/dist/bundled/tree-sitter-wasms/tree-sitter-elixir.wasm +0 -0
  13. package/dist/bundled/tree-sitter-wasms/tree-sitter-elm.wasm +0 -0
  14. package/dist/bundled/tree-sitter-wasms/tree-sitter-embedded_template.wasm +0 -0
  15. package/dist/bundled/tree-sitter-wasms/tree-sitter-go.wasm +0 -0
  16. package/dist/bundled/tree-sitter-wasms/tree-sitter-html.wasm +0 -0
  17. package/dist/bundled/tree-sitter-wasms/tree-sitter-java.wasm +0 -0
  18. package/dist/bundled/tree-sitter-wasms/tree-sitter-javascript.wasm +0 -0
  19. package/dist/bundled/tree-sitter-wasms/tree-sitter-json.wasm +0 -0
  20. package/dist/bundled/tree-sitter-wasms/tree-sitter-kotlin.wasm +0 -0
  21. package/dist/bundled/tree-sitter-wasms/tree-sitter-lua.wasm +0 -0
  22. package/dist/bundled/tree-sitter-wasms/tree-sitter-objc.wasm +0 -0
  23. package/dist/bundled/tree-sitter-wasms/tree-sitter-ocaml.wasm +0 -0
  24. package/dist/bundled/tree-sitter-wasms/tree-sitter-php.wasm +0 -0
  25. package/dist/bundled/tree-sitter-wasms/tree-sitter-python.wasm +0 -0
  26. package/dist/bundled/tree-sitter-wasms/tree-sitter-ql.wasm +0 -0
  27. package/dist/bundled/tree-sitter-wasms/tree-sitter-rescript.wasm +0 -0
  28. package/dist/bundled/tree-sitter-wasms/tree-sitter-ruby.wasm +0 -0
  29. package/dist/bundled/tree-sitter-wasms/tree-sitter-rust.wasm +0 -0
  30. package/dist/bundled/tree-sitter-wasms/tree-sitter-scala.wasm +0 -0
  31. package/dist/bundled/tree-sitter-wasms/tree-sitter-solidity.wasm +0 -0
  32. package/dist/bundled/tree-sitter-wasms/tree-sitter-swift.wasm +0 -0
  33. package/dist/bundled/tree-sitter-wasms/tree-sitter-systemrdl.wasm +0 -0
  34. package/dist/bundled/tree-sitter-wasms/tree-sitter-tlaplus.wasm +0 -0
  35. package/dist/bundled/tree-sitter-wasms/tree-sitter-toml.wasm +0 -0
  36. package/dist/bundled/tree-sitter-wasms/tree-sitter-tsx.wasm +0 -0
  37. package/dist/bundled/tree-sitter-wasms/tree-sitter-typescript.wasm +0 -0
  38. package/dist/bundled/tree-sitter-wasms/tree-sitter-vue.wasm +0 -0
  39. package/dist/bundled/tree-sitter-wasms/tree-sitter-yaml.wasm +0 -0
  40. package/dist/bundled/tree-sitter-wasms/tree-sitter-zig.wasm +0 -0
  41. package/dist/bundled/tree-sitter-wasms/tree-sitter.wasm +0 -0
  42. package/dist/bundled/tree-sitter.wasm +0 -0
  43. package/dist/continue/ContinueIDE.d.ts +70 -0
  44. package/dist/continue/ContinueIDE.d.ts.map +1 -0
  45. package/dist/continue/ContinueIDE.js +251 -0
  46. package/dist/continue/ContinueIDE.js.map +1 -0
  47. package/dist/embeddings/embeddings-provider.d.ts +53 -0
  48. package/dist/embeddings/embeddings-provider.d.ts.map +1 -0
  49. package/dist/embeddings/embeddings-provider.js +138 -0
  50. package/dist/embeddings/embeddings-provider.js.map +1 -0
  51. package/dist/embeddings/index.d.ts +10 -0
  52. package/dist/embeddings/index.d.ts.map +1 -0
  53. package/dist/embeddings/index.js +10 -0
  54. package/dist/embeddings/index.js.map +1 -0
  55. package/dist/embeddings/vector-index.d.ts +43 -0
  56. package/dist/embeddings/vector-index.d.ts.map +1 -0
  57. package/dist/embeddings/vector-index.js +174 -0
  58. package/dist/embeddings/vector-index.js.map +1 -0
  59. package/dist/index.d.ts +3 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +53 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/selection/SelectionManager.d.ts +90 -0
  64. package/dist/selection/SelectionManager.d.ts.map +1 -0
  65. package/dist/selection/SelectionManager.js +167 -0
  66. package/dist/selection/SelectionManager.js.map +1 -0
  67. package/dist/server.d.ts +28 -0
  68. package/dist/server.d.ts.map +1 -0
  69. package/dist/server.js +480 -0
  70. package/dist/server.js.map +1 -0
  71. package/dist/shims/continue-worker-paths.d.ts +47 -0
  72. package/dist/shims/continue-worker-paths.d.ts.map +1 -0
  73. package/dist/shims/continue-worker-paths.js +94 -0
  74. package/dist/shims/continue-worker-paths.js.map +1 -0
  75. package/dist/shims/workerpool-shim.d.ts +43 -0
  76. package/dist/shims/workerpool-shim.d.ts.map +1 -0
  77. package/dist/shims/workerpool-shim.js +37 -0
  78. package/dist/shims/workerpool-shim.js.map +1 -0
  79. package/dist/tools/code-structure.d.ts +36 -0
  80. package/dist/tools/code-structure.d.ts.map +1 -0
  81. package/dist/tools/code-structure.js +131 -0
  82. package/dist/tools/code-structure.js.map +1 -0
  83. package/dist/tools/file-search.d.ts +35 -0
  84. package/dist/tools/file-search.d.ts.map +1 -0
  85. package/dist/tools/file-search.js +286 -0
  86. package/dist/tools/file-search.js.map +1 -0
  87. package/dist/tools/file-tree.d.ts +18 -0
  88. package/dist/tools/file-tree.d.ts.map +1 -0
  89. package/dist/tools/file-tree.js +45 -0
  90. package/dist/tools/file-tree.js.map +1 -0
  91. package/dist/tools/manage-selection.d.ts +28 -0
  92. package/dist/tools/manage-selection.d.ts.map +1 -0
  93. package/dist/tools/manage-selection.js +98 -0
  94. package/dist/tools/manage-selection.js.map +1 -0
  95. package/dist/tools/read-file.d.ts +19 -0
  96. package/dist/tools/read-file.d.ts.map +1 -0
  97. package/dist/tools/read-file.js +35 -0
  98. package/dist/tools/read-file.js.map +1 -0
  99. package/dist/tools/semantic-search.d.ts +50 -0
  100. package/dist/tools/semantic-search.d.ts.map +1 -0
  101. package/dist/tools/semantic-search.js +243 -0
  102. package/dist/tools/semantic-search.js.map +1 -0
  103. package/dist/tools/workspace-context.d.ts +20 -0
  104. package/dist/tools/workspace-context.d.ts.map +1 -0
  105. package/dist/tools/workspace-context.js +36 -0
  106. package/dist/tools/workspace-context.js.map +1 -0
  107. package/dist/tree-sitter/code-snippet-queries/bash.scm +7 -0
  108. package/dist/tree-sitter/code-snippet-queries/c.scm +34 -0
  109. package/dist/tree-sitter/code-snippet-queries/c_sharp.scm +42 -0
  110. package/dist/tree-sitter/code-snippet-queries/cpp.scm +34 -0
  111. package/dist/tree-sitter/code-snippet-queries/dart.scm +33 -0
  112. package/dist/tree-sitter/code-snippet-queries/elisp.scm +21 -0
  113. package/dist/tree-sitter/code-snippet-queries/elixir.scm +32 -0
  114. package/dist/tree-sitter/code-snippet-queries/elm.scm +17 -0
  115. package/dist/tree-sitter/code-snippet-queries/go.scm +28 -0
  116. package/dist/tree-sitter/code-snippet-queries/java.scm +34 -0
  117. package/dist/tree-sitter/code-snippet-queries/javascript.scm +22 -0
  118. package/dist/tree-sitter/code-snippet-queries/kotlin.scm +32 -0
  119. package/dist/tree-sitter/code-snippet-queries/lua.scm +34 -0
  120. package/dist/tree-sitter/code-snippet-queries/ocaml.scm +27 -0
  121. package/dist/tree-sitter/code-snippet-queries/php.scm +43 -0
  122. package/dist/tree-sitter/code-snippet-queries/python.scm +17 -0
  123. package/dist/tree-sitter/code-snippet-queries/rescript.scm +23 -0
  124. package/dist/tree-sitter/code-snippet-queries/ruby.scm +33 -0
  125. package/dist/tree-sitter/code-snippet-queries/rust.scm +42 -0
  126. package/dist/tree-sitter/code-snippet-queries/scala.scm +32 -0
  127. package/dist/tree-sitter/code-snippet-queries/solidity.scm +33 -0
  128. package/dist/tree-sitter/code-snippet-queries/swift.scm +40 -0
  129. package/dist/tree-sitter/code-snippet-queries/tsx.scm +54 -0
  130. package/dist/tree-sitter/code-snippet-queries/typescript.scm +28 -0
  131. package/dist/tree-sitter/code-snippet-queries/zig.scm +16 -0
  132. package/dist/utils/file-walker.d.ts +19 -0
  133. package/dist/utils/file-walker.d.ts.map +1 -0
  134. package/dist/utils/file-walker.js +82 -0
  135. package/dist/utils/file-walker.js.map +1 -0
  136. package/dist/utils/token-counter.d.ts +16 -0
  137. package/dist/utils/token-counter.d.ts.map +1 -0
  138. package/dist/utils/token-counter.js +30 -0
  139. package/dist/utils/token-counter.js.map +1 -0
  140. package/package.json +64 -0
@@ -0,0 +1,54 @@
1
+ (
2
+ (comment)? @comment
3
+ (class_declaration
4
+ name: (_) @name
5
+ body: (class_body) @body
6
+ ) @definition
7
+ )
8
+
9
+ (
10
+ (comment)? @comment
11
+ (function_declaration
12
+ name: (_) @name
13
+ parameters: (_) @parameters
14
+ body: (_) @body
15
+ ) @definition
16
+ )
17
+
18
+ (
19
+ (comment)? @comment
20
+ (method_definition
21
+ name: (_) @name
22
+ parameters: (_) @parameters
23
+ body: (_) @body
24
+ ) @definition
25
+ )
26
+
27
+ (
28
+ (comment)? @comment
29
+ (interface_declaration
30
+ name: (_) @name
31
+ body: (_) @body
32
+ ) @definition
33
+ )
34
+
35
+ (
36
+ (comment)? @comment
37
+ (type_alias_declaration
38
+ name: (_) @name
39
+ value: (_) @body
40
+ ) @definition
41
+ )
42
+
43
+ (
44
+ (comment)? @comment
45
+ (lexical_declaration
46
+ (variable_declarator
47
+ name: (_) @name
48
+ value: (arrow_function
49
+ parameters: (_) @parameters
50
+ body: (_) @body
51
+ )
52
+ )
53
+ ) @definition
54
+ )
@@ -0,0 +1,28 @@
1
+ (
2
+ (comment)? @comment
3
+ (class_declaration
4
+ name: (_) @name
5
+ ) @definition
6
+ )
7
+
8
+ (
9
+ (comment)? @comment
10
+ (function_declaration
11
+ name: (_) @name
12
+ parameters: (_) @parameters
13
+ ) @definition
14
+ )
15
+
16
+ (
17
+ (comment)? @comment
18
+ (method_definition
19
+ name: (_) @name
20
+ parameters: (_) @parameters
21
+ ) @definition
22
+ )
23
+
24
+ (
25
+ (comment)? @comment
26
+ (interface_declaration
27
+ name: (_) @name) @definition
28
+ )
@@ -0,0 +1,16 @@
1
+ (
2
+ (LINECOMMENT)? @comment
3
+ (FnProto
4
+ (IDENTIFIER) @name
5
+ (ParamDeclList) @parameters
6
+ body: (_)? @body
7
+ ) @definition
8
+ )
9
+
10
+ (
11
+ (LINECOMMENT)? @comment
12
+ (VarDecl
13
+ (IDENTIFIER) @name
14
+ value: (ContainerDecl) @body
15
+ ) @definition
16
+ )
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Walk directory tree respecting .gitignore
3
+ */
4
+ export declare class FileWalker {
5
+ private workspaceDir;
6
+ private ignoreInstance;
7
+ constructor(workspaceDir: string);
8
+ private loadGitignore;
9
+ /**
10
+ * Walk directory and return all file paths
11
+ */
12
+ walk(rootPath?: string): Promise<string[]>;
13
+ private walkRecursive;
14
+ /**
15
+ * Find files matching a pattern
16
+ */
17
+ find(pattern: string, regex?: boolean): Promise<string[]>;
18
+ }
19
+ //# sourceMappingURL=file-walker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-walker.d.ts","sourceRoot":"","sources":["../../src/utils/file-walker.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,UAAU;IAGT,OAAO,CAAC,YAAY;IAFhC,OAAO,CAAC,cAAc,CAAS;gBAEX,YAAY,EAAE,MAAM;YAK1B,aAAa;IAqB3B;;OAEG;IACG,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YASlC,aAAa;IAyB3B;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAa9D"}
@@ -0,0 +1,82 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as path from 'path';
3
+ import ignore from 'ignore';
4
+ /**
5
+ * Walk directory tree respecting .gitignore
6
+ */
7
+ export class FileWalker {
8
+ workspaceDir;
9
+ ignoreInstance;
10
+ constructor(workspaceDir) {
11
+ this.workspaceDir = workspaceDir;
12
+ this.ignoreInstance = ignore();
13
+ this.loadGitignore();
14
+ }
15
+ async loadGitignore() {
16
+ try {
17
+ const gitignorePath = path.join(this.workspaceDir, '.gitignore');
18
+ const content = await fs.readFile(gitignorePath, 'utf-8');
19
+ this.ignoreInstance.add(content);
20
+ }
21
+ catch {
22
+ // No .gitignore file, that's fine
23
+ }
24
+ // Add default ignores
25
+ this.ignoreInstance.add([
26
+ 'node_modules',
27
+ '.git',
28
+ '.DS_Store',
29
+ 'dist',
30
+ 'build',
31
+ '.continue',
32
+ '*.log',
33
+ ]);
34
+ }
35
+ /**
36
+ * Walk directory and return all file paths
37
+ */
38
+ async walk(rootPath) {
39
+ const startPath = rootPath || this.workspaceDir;
40
+ const files = [];
41
+ await this.walkRecursive(startPath, files);
42
+ return files;
43
+ }
44
+ async walkRecursive(dir, files) {
45
+ try {
46
+ const entries = await fs.readdir(dir, { withFileTypes: true });
47
+ for (const entry of entries) {
48
+ const fullPath = path.join(dir, entry.name);
49
+ const relativePath = path.relative(this.workspaceDir, fullPath);
50
+ // Check if should be ignored
51
+ if (this.ignoreInstance.ignores(relativePath)) {
52
+ continue;
53
+ }
54
+ if (entry.isDirectory()) {
55
+ await this.walkRecursive(fullPath, files);
56
+ }
57
+ else if (entry.isFile()) {
58
+ files.push(fullPath);
59
+ }
60
+ }
61
+ }
62
+ catch (error) {
63
+ // Skip directories we can't read
64
+ console.error(`Error reading directory ${dir}:`, error);
65
+ }
66
+ }
67
+ /**
68
+ * Find files matching a pattern
69
+ */
70
+ async find(pattern, regex = false) {
71
+ const allFiles = await this.walk();
72
+ if (regex) {
73
+ const re = new RegExp(pattern);
74
+ return allFiles.filter(file => re.test(file));
75
+ }
76
+ else {
77
+ // Simple substring matching
78
+ return allFiles.filter(file => file.toLowerCase().includes(pattern.toLowerCase()));
79
+ }
80
+ }
81
+ }
82
+ //# sourceMappingURL=file-walker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-walker.js","sourceRoot":"","sources":["../../src/utils/file-walker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Simple token counter using tiktoken
3
+ */
4
+ export declare class TokenCounter {
5
+ private encoder;
6
+ constructor();
7
+ /**
8
+ * Count tokens in text
9
+ */
10
+ count(text: string): number;
11
+ /**
12
+ * Free encoder resources
13
+ */
14
+ free(): void;
15
+ }
16
+ //# sourceMappingURL=token-counter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-counter.d.ts","sourceRoot":"","sources":["../../src/utils/token-counter.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAW;;IAO1B;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAS3B;;OAEG;IACH,IAAI,IAAI,IAAI;CAGb"}
@@ -0,0 +1,30 @@
1
+ import { encoding_for_model } from 'tiktoken';
2
+ /**
3
+ * Simple token counter using tiktoken
4
+ */
5
+ export class TokenCounter {
6
+ encoder;
7
+ constructor() {
8
+ // Use GPT-4 encoding as a reasonable default
9
+ this.encoder = encoding_for_model('gpt-4');
10
+ }
11
+ /**
12
+ * Count tokens in text
13
+ */
14
+ count(text) {
15
+ try {
16
+ return this.encoder.encode(text).length;
17
+ }
18
+ catch (error) {
19
+ // Fallback to rough estimation if encoding fails
20
+ return Math.ceil(text.length / 4);
21
+ }
22
+ }
23
+ /**
24
+ * Free encoder resources
25
+ */
26
+ free() {
27
+ this.encoder.free();
28
+ }
29
+ }
30
+ //# sourceMappingURL=token-counter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../../src/utils/token-counter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAY,MAAM,UAAU,CAAC;AAExD;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,OAAO,CAAW;IAE1B;QACE,6CAA6C;QAC7C,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iDAAiD;YACjD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;CACF"}
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "@millstone/synapse-context-mcp",
3
+ "version": "0.3.0",
4
+ "description": "MCP server for Synapse framework - provides context management, code structure extraction, and Claude Code integration",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "context-mcp-server": "dist/index.js"
9
+ },
10
+ "files": [
11
+ "dist/**/*",
12
+ "README.md"
13
+ ],
14
+ "scripts": {
15
+ "build": "tsc; node bundle-continue.js",
16
+ "build:verbose": "tsc",
17
+ "build:bundle": "node bundle-continue.js",
18
+ "build:clean": "rm -rf dist && npm run build",
19
+ "dev": "tsc --watch",
20
+ "test": "vitest run",
21
+ "test:watch": "vitest",
22
+ "test:continue-compat": "vitest run --reporter=verbose tests/continue-compat/",
23
+ "prepublishOnly": "npm run build:clean"
24
+ },
25
+ "publishConfig": {
26
+ "access": "public"
27
+ },
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/millstonehq/synapse.git",
31
+ "directory": "packages/context-mcp"
32
+ },
33
+ "homepage": "https://github.com/millstonehq/synapse#readme",
34
+ "bugs": {
35
+ "url": "https://github.com/millstonehq/synapse/issues"
36
+ },
37
+ "keywords": [
38
+ "synapse",
39
+ "mcp",
40
+ "context",
41
+ "code-structure",
42
+ "ai"
43
+ ],
44
+ "author": "Millstone HQ",
45
+ "license": "MIT",
46
+ "dependencies": {
47
+ "@continuedev/core": "^1.1.0",
48
+ "@modelcontextprotocol/sdk": "^0.5.0",
49
+ "glob": "^11.0.0",
50
+ "ignore": "^6.0.2",
51
+ "tiktoken": "^1.0.17"
52
+ },
53
+ "devDependencies": {
54
+ "@types/node": "^20.0.0",
55
+ "@types/uuid": "^10.0.0",
56
+ "esbuild": "^0.25.0",
57
+ "tsx": "^4.20.6",
58
+ "typescript": "^5.3.0",
59
+ "vitest": "^3.0.0"
60
+ },
61
+ "engines": {
62
+ "node": ">=20.0.0"
63
+ }
64
+ }