@stupidloud/codegraph 0.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +482 -0
- package/dist/bin/codegraph.d.ts +21 -0
- package/dist/bin/codegraph.d.ts.map +1 -0
- package/dist/bin/codegraph.js +1296 -0
- package/dist/bin/codegraph.js.map +1 -0
- package/dist/bin/node-version-check.d.ts +17 -0
- package/dist/bin/node-version-check.d.ts.map +1 -0
- package/dist/bin/node-version-check.js +39 -0
- package/dist/bin/node-version-check.js.map +1 -0
- package/dist/bin/uninstall.d.ts +14 -0
- package/dist/bin/uninstall.d.ts.map +1 -0
- package/dist/bin/uninstall.js +148 -0
- package/dist/bin/uninstall.js.map +1 -0
- package/dist/config.d.ts +51 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +342 -0
- package/dist/config.js.map +1 -0
- package/dist/context/formatter.d.ts +30 -0
- package/dist/context/formatter.d.ts.map +1 -0
- package/dist/context/formatter.js +244 -0
- package/dist/context/formatter.js.map +1 -0
- package/dist/context/index.d.ts +99 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +1075 -0
- package/dist/context/index.js.map +1 -0
- package/dist/db/index.d.ts +72 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +200 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/migrations.d.ts +44 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/migrations.js +160 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/queries.d.ts +253 -0
- package/dist/db/queries.d.ts.map +1 -0
- package/dist/db/queries.js +1202 -0
- package/dist/db/queries.js.map +1 -0
- package/dist/db/schema.sql +169 -0
- package/dist/db/sqlite-adapter.d.ts +52 -0
- package/dist/db/sqlite-adapter.d.ts.map +1 -0
- package/dist/db/sqlite-adapter.js +237 -0
- package/dist/db/sqlite-adapter.js.map +1 -0
- package/dist/directory.d.ts +57 -0
- package/dist/directory.d.ts.map +1 -0
- package/dist/directory.js +264 -0
- package/dist/directory.js.map +1 -0
- package/dist/errors.d.ts +136 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +219 -0
- package/dist/errors.js.map +1 -0
- package/dist/extraction/dfm-extractor.d.ts +31 -0
- package/dist/extraction/dfm-extractor.d.ts.map +1 -0
- package/dist/extraction/dfm-extractor.js +151 -0
- package/dist/extraction/dfm-extractor.js.map +1 -0
- package/dist/extraction/grammars.d.ts +78 -0
- package/dist/extraction/grammars.d.ts.map +1 -0
- package/dist/extraction/grammars.js +322 -0
- package/dist/extraction/grammars.js.map +1 -0
- package/dist/extraction/index.d.ts +130 -0
- package/dist/extraction/index.d.ts.map +1 -0
- package/dist/extraction/index.js +1279 -0
- package/dist/extraction/index.js.map +1 -0
- package/dist/extraction/languages/c-cpp.d.ts +4 -0
- package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
- package/dist/extraction/languages/c-cpp.js +126 -0
- package/dist/extraction/languages/c-cpp.js.map +1 -0
- package/dist/extraction/languages/csharp.d.ts +3 -0
- package/dist/extraction/languages/csharp.d.ts.map +1 -0
- package/dist/extraction/languages/csharp.js +72 -0
- package/dist/extraction/languages/csharp.js.map +1 -0
- package/dist/extraction/languages/dart.d.ts +3 -0
- package/dist/extraction/languages/dart.d.ts.map +1 -0
- package/dist/extraction/languages/dart.js +192 -0
- package/dist/extraction/languages/dart.js.map +1 -0
- package/dist/extraction/languages/go.d.ts +3 -0
- package/dist/extraction/languages/go.d.ts.map +1 -0
- package/dist/extraction/languages/go.js +58 -0
- package/dist/extraction/languages/go.js.map +1 -0
- package/dist/extraction/languages/index.d.ts +10 -0
- package/dist/extraction/languages/index.d.ts.map +1 -0
- package/dist/extraction/languages/index.js +45 -0
- package/dist/extraction/languages/index.js.map +1 -0
- package/dist/extraction/languages/java.d.ts +3 -0
- package/dist/extraction/languages/java.d.ts.map +1 -0
- package/dist/extraction/languages/java.js +64 -0
- package/dist/extraction/languages/java.js.map +1 -0
- package/dist/extraction/languages/javascript.d.ts +3 -0
- package/dist/extraction/languages/javascript.d.ts.map +1 -0
- package/dist/extraction/languages/javascript.js +90 -0
- package/dist/extraction/languages/javascript.js.map +1 -0
- package/dist/extraction/languages/kotlin.d.ts +3 -0
- package/dist/extraction/languages/kotlin.d.ts.map +1 -0
- package/dist/extraction/languages/kotlin.js +253 -0
- package/dist/extraction/languages/kotlin.js.map +1 -0
- package/dist/extraction/languages/pascal.d.ts +3 -0
- package/dist/extraction/languages/pascal.d.ts.map +1 -0
- package/dist/extraction/languages/pascal.js +66 -0
- package/dist/extraction/languages/pascal.js.map +1 -0
- package/dist/extraction/languages/php.d.ts +3 -0
- package/dist/extraction/languages/php.d.ts.map +1 -0
- package/dist/extraction/languages/php.js +107 -0
- package/dist/extraction/languages/php.js.map +1 -0
- package/dist/extraction/languages/python.d.ts +3 -0
- package/dist/extraction/languages/python.d.ts.map +1 -0
- package/dist/extraction/languages/python.js +56 -0
- package/dist/extraction/languages/python.js.map +1 -0
- package/dist/extraction/languages/ruby.d.ts +3 -0
- package/dist/extraction/languages/ruby.d.ts.map +1 -0
- package/dist/extraction/languages/ruby.js +114 -0
- package/dist/extraction/languages/ruby.js.map +1 -0
- package/dist/extraction/languages/rust.d.ts +3 -0
- package/dist/extraction/languages/rust.d.ts.map +1 -0
- package/dist/extraction/languages/rust.js +109 -0
- package/dist/extraction/languages/rust.js.map +1 -0
- package/dist/extraction/languages/scala.d.ts +3 -0
- package/dist/extraction/languages/scala.d.ts.map +1 -0
- package/dist/extraction/languages/scala.js +139 -0
- package/dist/extraction/languages/scala.js.map +1 -0
- package/dist/extraction/languages/swift.d.ts +3 -0
- package/dist/extraction/languages/swift.d.ts.map +1 -0
- package/dist/extraction/languages/swift.js +91 -0
- package/dist/extraction/languages/swift.js.map +1 -0
- package/dist/extraction/languages/typescript.d.ts +3 -0
- package/dist/extraction/languages/typescript.d.ts.map +1 -0
- package/dist/extraction/languages/typescript.js +129 -0
- package/dist/extraction/languages/typescript.js.map +1 -0
- package/dist/extraction/liquid-extractor.d.ts +52 -0
- package/dist/extraction/liquid-extractor.d.ts.map +1 -0
- package/dist/extraction/liquid-extractor.js +313 -0
- package/dist/extraction/liquid-extractor.js.map +1 -0
- package/dist/extraction/parse-worker.d.ts +8 -0
- package/dist/extraction/parse-worker.d.ts.map +1 -0
- package/dist/extraction/parse-worker.js +94 -0
- package/dist/extraction/parse-worker.js.map +1 -0
- package/dist/extraction/svelte-extractor.d.ts +56 -0
- package/dist/extraction/svelte-extractor.d.ts.map +1 -0
- package/dist/extraction/svelte-extractor.js +272 -0
- package/dist/extraction/svelte-extractor.js.map +1 -0
- package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
- package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
- package/dist/extraction/tree-sitter-helpers.js +103 -0
- package/dist/extraction/tree-sitter-helpers.js.map +1 -0
- package/dist/extraction/tree-sitter-types.d.ts +179 -0
- package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
- package/dist/extraction/tree-sitter-types.js +10 -0
- package/dist/extraction/tree-sitter-types.js.map +1 -0
- package/dist/extraction/tree-sitter.d.ts +233 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -0
- package/dist/extraction/tree-sitter.js +2393 -0
- package/dist/extraction/tree-sitter.js.map +1 -0
- package/dist/extraction/vue-extractor.d.ts +36 -0
- package/dist/extraction/vue-extractor.d.ts.map +1 -0
- package/dist/extraction/vue-extractor.js +163 -0
- package/dist/extraction/vue-extractor.js.map +1 -0
- package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
- package/dist/graph/index.d.ts +8 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +13 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/queries.d.ts +106 -0
- package/dist/graph/queries.d.ts.map +1 -0
- package/dist/graph/queries.js +366 -0
- package/dist/graph/queries.js.map +1 -0
- package/dist/graph/traversal.d.ts +127 -0
- package/dist/graph/traversal.d.ts.map +1 -0
- package/dist/graph/traversal.js +493 -0
- package/dist/graph/traversal.js.map +1 -0
- package/dist/index.d.ts +504 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +982 -0
- package/dist/index.js.map +1 -0
- package/dist/installer/claude-md-template.d.ts +10 -0
- package/dist/installer/claude-md-template.d.ts.map +1 -0
- package/dist/installer/claude-md-template.js +46 -0
- package/dist/installer/claude-md-template.js.map +1 -0
- package/dist/installer/config-writer.d.ts +36 -0
- package/dist/installer/config-writer.d.ts.map +1 -0
- package/dist/installer/config-writer.js +304 -0
- package/dist/installer/config-writer.js.map +1 -0
- package/dist/installer/index.d.ts +12 -0
- package/dist/installer/index.d.ts.map +1 -0
- package/dist/installer/index.js +201 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/mcp/index.d.ts +82 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +330 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server-instructions.d.ts +19 -0
- package/dist/mcp/server-instructions.d.ts.map +1 -0
- package/dist/mcp/server-instructions.js +59 -0
- package/dist/mcp/server-instructions.js.map +1 -0
- package/dist/mcp/tools.d.ts +187 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +1250 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/transport.d.ts +89 -0
- package/dist/mcp/transport.d.ts.map +1 -0
- package/dist/mcp/transport.js +170 -0
- package/dist/mcp/transport.js.map +1 -0
- package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
- package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
- package/dist/resolution/frameworks/cargo-workspace.js +225 -0
- package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
- package/dist/resolution/frameworks/csharp.d.ts +8 -0
- package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
- package/dist/resolution/frameworks/csharp.js +213 -0
- package/dist/resolution/frameworks/csharp.js.map +1 -0
- package/dist/resolution/frameworks/express.d.ts +8 -0
- package/dist/resolution/frameworks/express.d.ts.map +1 -0
- package/dist/resolution/frameworks/express.js +225 -0
- package/dist/resolution/frameworks/express.js.map +1 -0
- package/dist/resolution/frameworks/go.d.ts +8 -0
- package/dist/resolution/frameworks/go.d.ts.map +1 -0
- package/dist/resolution/frameworks/go.js +158 -0
- package/dist/resolution/frameworks/go.js.map +1 -0
- package/dist/resolution/frameworks/index.d.ts +41 -0
- package/dist/resolution/frameworks/index.d.ts.map +1 -0
- package/dist/resolution/frameworks/index.js +129 -0
- package/dist/resolution/frameworks/index.js.map +1 -0
- package/dist/resolution/frameworks/java.d.ts +8 -0
- package/dist/resolution/frameworks/java.d.ts.map +1 -0
- package/dist/resolution/frameworks/java.js +177 -0
- package/dist/resolution/frameworks/java.js.map +1 -0
- package/dist/resolution/frameworks/laravel.d.ts +13 -0
- package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
- package/dist/resolution/frameworks/laravel.js +248 -0
- package/dist/resolution/frameworks/laravel.js.map +1 -0
- package/dist/resolution/frameworks/python.d.ts +10 -0
- package/dist/resolution/frameworks/python.d.ts.map +1 -0
- package/dist/resolution/frameworks/python.js +278 -0
- package/dist/resolution/frameworks/python.js.map +1 -0
- package/dist/resolution/frameworks/react.d.ts +8 -0
- package/dist/resolution/frameworks/react.d.ts.map +1 -0
- package/dist/resolution/frameworks/react.js +272 -0
- package/dist/resolution/frameworks/react.js.map +1 -0
- package/dist/resolution/frameworks/ruby.d.ts +8 -0
- package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
- package/dist/resolution/frameworks/ruby.js +198 -0
- package/dist/resolution/frameworks/ruby.js.map +1 -0
- package/dist/resolution/frameworks/rust.d.ts +8 -0
- package/dist/resolution/frameworks/rust.d.ts.map +1 -0
- package/dist/resolution/frameworks/rust.js +207 -0
- package/dist/resolution/frameworks/rust.js.map +1 -0
- package/dist/resolution/frameworks/svelte.d.ts +9 -0
- package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
- package/dist/resolution/frameworks/svelte.js +249 -0
- package/dist/resolution/frameworks/svelte.js.map +1 -0
- package/dist/resolution/frameworks/swift.d.ts +10 -0
- package/dist/resolution/frameworks/swift.d.ts.map +1 -0
- package/dist/resolution/frameworks/swift.js +376 -0
- package/dist/resolution/frameworks/swift.js.map +1 -0
- package/dist/resolution/frameworks/vue.d.ts +9 -0
- package/dist/resolution/frameworks/vue.d.ts.map +1 -0
- package/dist/resolution/frameworks/vue.js +306 -0
- package/dist/resolution/frameworks/vue.js.map +1 -0
- package/dist/resolution/import-resolver.d.ts +40 -0
- package/dist/resolution/import-resolver.d.ts.map +1 -0
- package/dist/resolution/import-resolver.js +663 -0
- package/dist/resolution/import-resolver.js.map +1 -0
- package/dist/resolution/index.d.ts +106 -0
- package/dist/resolution/index.d.ts.map +1 -0
- package/dist/resolution/index.js +709 -0
- package/dist/resolution/index.js.map +1 -0
- package/dist/resolution/name-matcher.d.ts +32 -0
- package/dist/resolution/name-matcher.d.ts.map +1 -0
- package/dist/resolution/name-matcher.js +384 -0
- package/dist/resolution/name-matcher.js.map +1 -0
- package/dist/resolution/path-aliases.d.ts +68 -0
- package/dist/resolution/path-aliases.d.ts.map +1 -0
- package/dist/resolution/path-aliases.js +238 -0
- package/dist/resolution/path-aliases.js.map +1 -0
- package/dist/resolution/strip-comments.d.ts +27 -0
- package/dist/resolution/strip-comments.d.ts.map +1 -0
- package/dist/resolution/strip-comments.js +441 -0
- package/dist/resolution/strip-comments.js.map +1 -0
- package/dist/resolution/types.d.ts +172 -0
- package/dist/resolution/types.d.ts.map +1 -0
- package/dist/resolution/types.js +8 -0
- package/dist/resolution/types.js.map +1 -0
- package/dist/search/query-parser.d.ts +57 -0
- package/dist/search/query-parser.d.ts.map +1 -0
- package/dist/search/query-parser.js +177 -0
- package/dist/search/query-parser.js.map +1 -0
- package/dist/search/query-utils.d.ts +53 -0
- package/dist/search/query-utils.d.ts.map +1 -0
- package/dist/search/query-utils.js +347 -0
- package/dist/search/query-utils.js.map +1 -0
- package/dist/sync/index.d.ts +13 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +17 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/watcher.d.ts +81 -0
- package/dist/sync/watcher.d.ts.map +1 -0
- package/dist/sync/watcher.js +184 -0
- package/dist/sync/watcher.js.map +1 -0
- package/dist/types.d.ts +438 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +263 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/shimmer-progress.d.ts +11 -0
- package/dist/ui/shimmer-progress.d.ts.map +1 -0
- package/dist/ui/shimmer-progress.js +90 -0
- package/dist/ui/shimmer-progress.js.map +1 -0
- package/dist/ui/shimmer-worker.d.ts +2 -0
- package/dist/ui/shimmer-worker.d.ts.map +1 -0
- package/dist/ui/shimmer-worker.js +112 -0
- package/dist/ui/shimmer-worker.js.map +1 -0
- package/dist/ui/types.d.ts +17 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +3 -0
- package/dist/ui/types.js.map +1 -0
- package/dist/utils.d.ts +205 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +549 -0
- package/dist/utils.js.map +1 -0
- package/dist/vectors/embedder.d.ts +121 -0
- package/dist/vectors/embedder.d.ts.map +1 -0
- package/dist/vectors/embedder.js +237 -0
- package/dist/vectors/embedder.js.map +1 -0
- package/dist/vectors/index.d.ts +9 -0
- package/dist/vectors/index.d.ts.map +1 -0
- package/dist/vectors/index.js +20 -0
- package/dist/vectors/index.js.map +1 -0
- package/dist/vectors/manager.d.ts +124 -0
- package/dist/vectors/manager.d.ts.map +1 -0
- package/dist/vectors/manager.js +322 -0
- package/dist/vectors/manager.js.map +1 -0
- package/dist/vectors/search.d.ts +143 -0
- package/dist/vectors/search.d.ts.map +1 -0
- package/dist/vectors/search.js +460 -0
- package/dist/vectors/search.js.map +1 -0
- package/dist/visualizer/public/index.html +1994 -0
- package/dist/visualizer/server.d.ts +46 -0
- package/dist/visualizer/server.d.ts.map +1 -0
- package/dist/visualizer/server.js +491 -0
- package/dist/visualizer/server.js.map +1 -0
- package/package.json +60 -0
- package/scripts/patch-tree-sitter-dart.js +112 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SERVER_INSTRUCTIONS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Server-level instructions emitted in the MCP `initialize` response.
|
|
6
|
+
*
|
|
7
|
+
* MCP clients (Claude Code, Cursor, opencode, LangChain, OpenAI Agent
|
|
8
|
+
* SDK, …) surface this text in the agent's system prompt automatically,
|
|
9
|
+
* giving the agent a high-level playbook for the codegraph toolset
|
|
10
|
+
* before it sees individual tool descriptions.
|
|
11
|
+
*
|
|
12
|
+
* Goals when editing this:
|
|
13
|
+
* - Tool selection by intent (which tool for which question)
|
|
14
|
+
* - Common chains (refactor planning = X then Y)
|
|
15
|
+
* - Anti-patterns (don't grep when codegraph_search is faster)
|
|
16
|
+
*
|
|
17
|
+
* Keep it tight. The agent reads this every session — long instructions
|
|
18
|
+
* burn tokens. Reference only tools that exist on `main`; gate any
|
|
19
|
+
* conditional tools behind feature checks if/when they ship.
|
|
20
|
+
*/
|
|
21
|
+
exports.SERVER_INSTRUCTIONS = `# Codegraph — code intelligence over an indexed knowledge graph
|
|
22
|
+
|
|
23
|
+
Codegraph is a SQLite knowledge graph of every symbol, edge, and file
|
|
24
|
+
in the workspace. Reads are sub-millisecond; the index lags writes by
|
|
25
|
+
about a second through the file watcher. Consult it BEFORE writing or
|
|
26
|
+
editing code, not during.
|
|
27
|
+
|
|
28
|
+
## Tool selection by intent
|
|
29
|
+
|
|
30
|
+
- **"What is the symbol named X?"** → \`codegraph_search\`
|
|
31
|
+
- **"What's the deal with this task / feature / area?"** → \`codegraph_context\` (PRIMARY — composes search + node + callers + callees in one call)
|
|
32
|
+
- **"What calls this?"** → \`codegraph_callers\`
|
|
33
|
+
- **"What does this call?"** → \`codegraph_callees\`
|
|
34
|
+
- **"What would changing this break?"** → \`codegraph_impact\`
|
|
35
|
+
- **"Show me this symbol's source / signature / docstring."** → \`codegraph_node\`
|
|
36
|
+
- **"Survey an unfamiliar topic / pattern / module."** → \`codegraph_explore\` (heavier; deep dive)
|
|
37
|
+
- **"What's in directory X?"** → \`codegraph_files\`
|
|
38
|
+
- **"Is the index ready / what's its size?"** → \`codegraph_status\`
|
|
39
|
+
|
|
40
|
+
## Common chains
|
|
41
|
+
|
|
42
|
+
- **Onboarding**: \`codegraph_context\` first. If still unclear, \`codegraph_explore\` for breadth, then \`codegraph_node\` on specific symbols.
|
|
43
|
+
- **Refactor planning**: \`codegraph_search\` → \`codegraph_callers\` → \`codegraph_impact\`. The blast-radius answer comes from impact, not from walking callers manually.
|
|
44
|
+
- **Debugging a regression**: \`codegraph_callers\` of the suspected symbol; widen with \`codegraph_impact\` if an unexpected call appears.
|
|
45
|
+
|
|
46
|
+
## Anti-patterns
|
|
47
|
+
|
|
48
|
+
- **Don't grep first** when looking up a symbol by name — \`codegraph_search\` is faster and returns kind + location + signature.
|
|
49
|
+
- **Don't chain \`codegraph_search\` + \`codegraph_node\`** when you just want context — \`codegraph_context\` is one round-trip.
|
|
50
|
+
- **Don't use \`codegraph_explore\` for narrow questions** — it's a multi-call deep dive, expensive in tokens. Save it for genuine "I'm new here" surveys.
|
|
51
|
+
- **Don't query the index immediately after editing a file** — the watcher needs ~500ms to debounce + sync. Wait for the next turn.
|
|
52
|
+
|
|
53
|
+
## Limitations
|
|
54
|
+
|
|
55
|
+
- Index lags file writes by ~1 second.
|
|
56
|
+
- Cross-file resolution is best-effort name matching; ambiguous calls may return multiple candidates.
|
|
57
|
+
- No live correctness validation — that's still the TypeScript compiler / test suite / linter's job. Codegraph supplements those with structural context they don't have.
|
|
58
|
+
`;
|
|
59
|
+
//# sourceMappingURL=server-instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-instructions.js","sourceRoot":"","sources":["../../src/mcp/server-instructions.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;GAgBG;AACU,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqClC,CAAC"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Definitions
|
|
3
|
+
*
|
|
4
|
+
* Defines the tools exposed by the CodeGraph MCP server.
|
|
5
|
+
*/
|
|
6
|
+
import CodeGraph from '../index';
|
|
7
|
+
/**
|
|
8
|
+
* Calculate the recommended number of codegraph_explore calls based on project size.
|
|
9
|
+
* Larger codebases need more exploration calls to cover their surface area,
|
|
10
|
+
* but smaller ones should use fewer to avoid unnecessary overhead.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getExploreBudget(fileCount: number): number;
|
|
13
|
+
/**
|
|
14
|
+
* MCP Tool definition
|
|
15
|
+
*/
|
|
16
|
+
export interface ToolDefinition {
|
|
17
|
+
name: string;
|
|
18
|
+
description: string;
|
|
19
|
+
inputSchema: {
|
|
20
|
+
type: 'object';
|
|
21
|
+
properties: Record<string, PropertySchema>;
|
|
22
|
+
required?: string[];
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
interface PropertySchema {
|
|
26
|
+
type: string;
|
|
27
|
+
description: string;
|
|
28
|
+
enum?: string[];
|
|
29
|
+
default?: unknown;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Tool execution result
|
|
33
|
+
*/
|
|
34
|
+
export interface ToolResult {
|
|
35
|
+
content: Array<{
|
|
36
|
+
type: 'text';
|
|
37
|
+
text: string;
|
|
38
|
+
}>;
|
|
39
|
+
isError?: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* All CodeGraph MCP tools
|
|
43
|
+
*
|
|
44
|
+
* Designed for minimal context usage - use codegraph_context as the primary tool,
|
|
45
|
+
* and only use other tools for targeted follow-up queries.
|
|
46
|
+
*
|
|
47
|
+
* All tools support cross-project queries via the optional `projectPath` parameter.
|
|
48
|
+
*/
|
|
49
|
+
export declare const tools: ToolDefinition[];
|
|
50
|
+
/**
|
|
51
|
+
* Tool handler that executes tools against a CodeGraph instance
|
|
52
|
+
*
|
|
53
|
+
* Supports cross-project queries via the projectPath parameter.
|
|
54
|
+
* Other projects are opened on-demand and cached for performance.
|
|
55
|
+
*/
|
|
56
|
+
export declare class ToolHandler {
|
|
57
|
+
private cg;
|
|
58
|
+
private projectCache;
|
|
59
|
+
constructor(cg: CodeGraph | null);
|
|
60
|
+
/**
|
|
61
|
+
* Update the default CodeGraph instance (e.g. after lazy initialization)
|
|
62
|
+
*/
|
|
63
|
+
setDefaultCodeGraph(cg: CodeGraph): void;
|
|
64
|
+
/**
|
|
65
|
+
* Whether a default CodeGraph instance is available
|
|
66
|
+
*/
|
|
67
|
+
hasDefaultCodeGraph(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Get tool definitions with dynamic descriptions based on project size.
|
|
70
|
+
* The codegraph_explore tool description includes a budget recommendation
|
|
71
|
+
* scaled to the number of indexed files.
|
|
72
|
+
*/
|
|
73
|
+
getTools(): ToolDefinition[];
|
|
74
|
+
/**
|
|
75
|
+
* Get CodeGraph instance for a project
|
|
76
|
+
*
|
|
77
|
+
* If projectPath is provided, opens that project's CodeGraph (cached).
|
|
78
|
+
* Otherwise returns the default CodeGraph instance.
|
|
79
|
+
*
|
|
80
|
+
* Walks up parent directories to find the nearest .codegraph/ folder,
|
|
81
|
+
* similar to how git finds .git/ directories.
|
|
82
|
+
*/
|
|
83
|
+
private getCodeGraph;
|
|
84
|
+
/**
|
|
85
|
+
* Close all cached project connections
|
|
86
|
+
*/
|
|
87
|
+
closeAll(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Validate that a value is a non-empty string
|
|
90
|
+
*/
|
|
91
|
+
private validateString;
|
|
92
|
+
/**
|
|
93
|
+
* Execute a tool by name
|
|
94
|
+
*/
|
|
95
|
+
execute(toolName: string, args: Record<string, unknown>): Promise<ToolResult>;
|
|
96
|
+
/**
|
|
97
|
+
* Handle codegraph_search
|
|
98
|
+
*/
|
|
99
|
+
private handleSearch;
|
|
100
|
+
/**
|
|
101
|
+
* Handle codegraph_context
|
|
102
|
+
*/
|
|
103
|
+
private handleContext;
|
|
104
|
+
/**
|
|
105
|
+
* Heuristic to detect if a query looks like a feature request
|
|
106
|
+
*/
|
|
107
|
+
private looksLikeFeatureRequest;
|
|
108
|
+
/**
|
|
109
|
+
* Handle codegraph_callers
|
|
110
|
+
*/
|
|
111
|
+
private handleCallers;
|
|
112
|
+
/**
|
|
113
|
+
* Handle codegraph_callees
|
|
114
|
+
*/
|
|
115
|
+
private handleCallees;
|
|
116
|
+
/**
|
|
117
|
+
* Handle codegraph_impact
|
|
118
|
+
*/
|
|
119
|
+
private handleImpact;
|
|
120
|
+
/** Maximum output for explore tool — sized to stay under MCP client token limits (~10k tokens) */
|
|
121
|
+
private static readonly EXPLORE_MAX_OUTPUT;
|
|
122
|
+
/**
|
|
123
|
+
* Handle codegraph_explore — deep exploration in a single call
|
|
124
|
+
*
|
|
125
|
+
* Strategy: find relevant symbols via graph traversal, group by file,
|
|
126
|
+
* then read contiguous file sections covering all symbols per file.
|
|
127
|
+
* This replaces multiple codegraph_node + Read calls.
|
|
128
|
+
*/
|
|
129
|
+
private handleExplore;
|
|
130
|
+
/**
|
|
131
|
+
* Handle codegraph_node
|
|
132
|
+
*/
|
|
133
|
+
private handleNode;
|
|
134
|
+
/**
|
|
135
|
+
* Handle codegraph_status
|
|
136
|
+
*/
|
|
137
|
+
private handleStatus;
|
|
138
|
+
/**
|
|
139
|
+
* Handle codegraph_files - get project file structure from the index
|
|
140
|
+
*/
|
|
141
|
+
private handleFiles;
|
|
142
|
+
/**
|
|
143
|
+
* Convert glob pattern to regex
|
|
144
|
+
*/
|
|
145
|
+
private globToRegex;
|
|
146
|
+
/**
|
|
147
|
+
* Format files as a flat list
|
|
148
|
+
*/
|
|
149
|
+
private formatFilesFlat;
|
|
150
|
+
/**
|
|
151
|
+
* Format files grouped by language
|
|
152
|
+
*/
|
|
153
|
+
private formatFilesGrouped;
|
|
154
|
+
/**
|
|
155
|
+
* Format files as a tree structure
|
|
156
|
+
*/
|
|
157
|
+
private formatFilesTree;
|
|
158
|
+
/**
|
|
159
|
+
* Find a symbol by name, handling disambiguation when multiple matches exist.
|
|
160
|
+
* Returns the best match and a note about alternatives if any.
|
|
161
|
+
*/
|
|
162
|
+
/**
|
|
163
|
+
* Check if a node matches a symbol query, supporting both simple names and
|
|
164
|
+
* qualified "Parent.child" notation (e.g., "Session.request" matches a method
|
|
165
|
+
* named "request" inside a class named "Session").
|
|
166
|
+
*/
|
|
167
|
+
private matchesSymbol;
|
|
168
|
+
private findSymbol;
|
|
169
|
+
/**
|
|
170
|
+
* Find ALL symbols matching a name. Used by callers/callees/impact to aggregate
|
|
171
|
+
* results across all matching symbols (e.g., multiple classes with an `execute` method).
|
|
172
|
+
*/
|
|
173
|
+
private findAllSymbols;
|
|
174
|
+
/**
|
|
175
|
+
* Truncate output if it exceeds the maximum length
|
|
176
|
+
*/
|
|
177
|
+
private truncateOutput;
|
|
178
|
+
private formatSearchResults;
|
|
179
|
+
private formatNodeList;
|
|
180
|
+
private formatImpact;
|
|
181
|
+
private formatNodeDetails;
|
|
182
|
+
private formatTaskContext;
|
|
183
|
+
private textResult;
|
|
184
|
+
private errorResult;
|
|
185
|
+
}
|
|
186
|
+
export {};
|
|
187
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,SAAuC,MAAM,UAAU,CAAC;AAY/D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM1D;AAgBD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAUD;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,cAAc,EAkMjC,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,WAAW;IAIV,OAAO,CAAC,EAAE;IAFtB,OAAO,CAAC,YAAY,CAAqC;gBAErC,EAAE,EAAE,SAAS,GAAG,IAAI;IAExC;;OAEG;IACH,mBAAmB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAIxC;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;;OAIG;IACH,QAAQ,IAAI,cAAc,EAAE;IAqB5B;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IAqCpB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAOhB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IA6BnF;;OAEG;YACW,YAAY;IAsB1B;;OAEG;YACW,aAAa;IAmC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;OAEG;YACW,aAAa;IAgC3B;;OAEG;YACW,aAAa;IAgC3B;;OAEG;YACW,YAAY;IAyC1B,kGAAkG;IAClG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAEnD;;;;;;OAMG;YACW,aAAa;IA2R3B;;OAEG;YACW,UAAU;IAuBxB;;OAEG;YACW,YAAY;IA4C1B;;OAEG;YACW,WAAW;IAgDzB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;OAEG;IACH,OAAO,CAAC,eAAe;IA4EvB;;;OAGG;IACH;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,UAAU;IA8BlB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,WAAW;CAMpB"}
|