codestrate 0.6.2 → 0.6.3

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 (223) hide show
  1. package/README.md +97 -101
  2. package/dist/constants.d.ts +1 -1
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +54 -4
  5. package/dist/constants.js.map +1 -1
  6. package/dist/index.d.ts +3 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +198 -119
  9. package/dist/index.js.map +1 -1
  10. package/dist/install.d.ts +0 -0
  11. package/dist/install.d.ts.map +0 -0
  12. package/dist/install.js +2 -2
  13. package/dist/install.js.map +1 -1
  14. package/dist/profiles.d.ts +28 -0
  15. package/dist/profiles.d.ts.map +1 -0
  16. package/dist/profiles.js +89 -0
  17. package/dist/profiles.js.map +1 -0
  18. package/dist/schemas/index.d.ts +1441 -126
  19. package/dist/schemas/index.d.ts.map +1 -1
  20. package/dist/schemas/index.js +221 -10
  21. package/dist/schemas/index.js.map +1 -1
  22. package/dist/security/guard.d.ts +15 -2
  23. package/dist/security/guard.d.ts.map +1 -1
  24. package/dist/security/guard.js +42 -8
  25. package/dist/security/guard.js.map +1 -1
  26. package/dist/services/code-chunker.d.ts +50 -0
  27. package/dist/services/code-chunker.d.ts.map +1 -0
  28. package/dist/services/code-chunker.js +148 -0
  29. package/dist/services/code-chunker.js.map +1 -0
  30. package/dist/services/code-searcher.d.ts +6 -2
  31. package/dist/services/code-searcher.d.ts.map +1 -1
  32. package/dist/services/code-searcher.js +111 -17
  33. package/dist/services/code-searcher.js.map +1 -1
  34. package/dist/services/context-builder.d.ts +0 -11
  35. package/dist/services/context-builder.d.ts.map +1 -1
  36. package/dist/services/context-builder.js +74 -128
  37. package/dist/services/context-builder.js.map +1 -1
  38. package/dist/services/embedding-runtime.d.ts +41 -0
  39. package/dist/services/embedding-runtime.d.ts.map +1 -0
  40. package/dist/services/embedding-runtime.js +636 -0
  41. package/dist/services/embedding-runtime.js.map +1 -0
  42. package/dist/services/embedding.d.ts +79 -0
  43. package/dist/services/embedding.d.ts.map +1 -0
  44. package/dist/services/embedding.js +257 -0
  45. package/dist/services/embedding.js.map +1 -0
  46. package/dist/services/index-state.d.ts +74 -0
  47. package/dist/services/index-state.d.ts.map +1 -0
  48. package/dist/services/index-state.js +151 -0
  49. package/dist/services/index-state.js.map +1 -0
  50. package/dist/services/index-worker.d.ts +60 -0
  51. package/dist/services/index-worker.d.ts.map +1 -0
  52. package/dist/services/index-worker.js +182 -0
  53. package/dist/services/index-worker.js.map +1 -0
  54. package/dist/services/logger.d.ts +48 -0
  55. package/dist/services/logger.d.ts.map +1 -0
  56. package/dist/services/logger.js +106 -0
  57. package/dist/services/logger.js.map +1 -0
  58. package/dist/services/memory-store.d.ts +9 -7
  59. package/dist/services/memory-store.d.ts.map +1 -1
  60. package/dist/services/memory-store.js +93 -7
  61. package/dist/services/memory-store.js.map +1 -1
  62. package/dist/services/repository-parser.d.ts +0 -0
  63. package/dist/services/repository-parser.d.ts.map +0 -0
  64. package/dist/services/repository-parser.js +0 -0
  65. package/dist/services/repository-parser.js.map +0 -0
  66. package/dist/services/symbol-indexer.d.ts +0 -0
  67. package/dist/services/symbol-indexer.d.ts.map +1 -1
  68. package/dist/services/symbol-indexer.js +25 -13
  69. package/dist/services/symbol-indexer.js.map +1 -1
  70. package/dist/services/tree-sitter.d.ts +0 -0
  71. package/dist/services/tree-sitter.d.ts.map +0 -0
  72. package/dist/services/tree-sitter.js +0 -0
  73. package/dist/services/tree-sitter.js.map +0 -0
  74. package/dist/services/validation-runner.d.ts +0 -0
  75. package/dist/services/validation-runner.d.ts.map +1 -1
  76. package/dist/services/validation-runner.js +9 -9
  77. package/dist/services/validation-runner.js.map +1 -1
  78. package/dist/services/vector-indexer.d.ts +53 -0
  79. package/dist/services/vector-indexer.d.ts.map +1 -0
  80. package/dist/services/vector-indexer.js +230 -0
  81. package/dist/services/vector-indexer.js.map +1 -0
  82. package/dist/store/index.d.ts +0 -0
  83. package/dist/store/index.d.ts.map +0 -0
  84. package/dist/store/index.js +0 -0
  85. package/dist/store/index.js.map +0 -0
  86. package/dist/store/interface.d.ts +70 -1
  87. package/dist/store/interface.d.ts.map +1 -1
  88. package/dist/store/interface.js +0 -0
  89. package/dist/store/interface.js.map +0 -0
  90. package/dist/store/memory.d.ts +0 -0
  91. package/dist/store/memory.d.ts.map +0 -0
  92. package/dist/store/memory.js +0 -0
  93. package/dist/store/memory.js.map +0 -0
  94. package/dist/store/service.d.ts +49 -0
  95. package/dist/store/service.d.ts.map +1 -0
  96. package/dist/store/service.js +147 -0
  97. package/dist/store/service.js.map +1 -0
  98. package/dist/store/sqlite.d.ts +68 -3
  99. package/dist/store/sqlite.d.ts.map +1 -1
  100. package/dist/store/sqlite.js +708 -58
  101. package/dist/store/sqlite.js.map +1 -1
  102. package/dist/store/vector-store.d.ts +66 -0
  103. package/dist/store/vector-store.d.ts.map +1 -0
  104. package/dist/store/vector-store.js +330 -0
  105. package/dist/store/vector-store.js.map +1 -0
  106. package/dist/tools/analyze-impact.d.ts +0 -0
  107. package/dist/tools/analyze-impact.d.ts.map +1 -1
  108. package/dist/tools/analyze-impact.js +101 -39
  109. package/dist/tools/analyze-impact.js.map +1 -1
  110. package/dist/tools/deep-explore.d.ts +0 -0
  111. package/dist/tools/deep-explore.d.ts.map +1 -1
  112. package/dist/tools/deep-explore.js +18 -4
  113. package/dist/tools/deep-explore.js.map +1 -1
  114. package/dist/tools/detect-cycles.d.ts +3 -0
  115. package/dist/tools/detect-cycles.d.ts.map +1 -0
  116. package/dist/tools/detect-cycles.js +61 -0
  117. package/dist/tools/detect-cycles.js.map +1 -0
  118. package/dist/tools/detect-dead-code.d.ts +0 -0
  119. package/dist/tools/detect-dead-code.d.ts.map +1 -1
  120. package/dist/tools/detect-dead-code.js +1 -0
  121. package/dist/tools/detect-dead-code.js.map +1 -1
  122. package/dist/tools/explore.d.ts +13 -0
  123. package/dist/tools/explore.d.ts.map +1 -1
  124. package/dist/tools/explore.js +122 -88
  125. package/dist/tools/explore.js.map +1 -1
  126. package/dist/tools/get-context.d.ts +15 -0
  127. package/dist/tools/get-context.d.ts.map +1 -1
  128. package/dist/tools/get-context.js +66 -61
  129. package/dist/tools/get-context.js.map +1 -1
  130. package/dist/tools/graph-explain.d.ts +3 -0
  131. package/dist/tools/graph-explain.d.ts.map +1 -0
  132. package/dist/tools/graph-explain.js +140 -0
  133. package/dist/tools/graph-explain.js.map +1 -0
  134. package/dist/tools/graph-stats.d.ts +3 -0
  135. package/dist/tools/graph-stats.d.ts.map +1 -0
  136. package/dist/tools/graph-stats.js +73 -0
  137. package/dist/tools/graph-stats.js.map +1 -0
  138. package/dist/tools/inspect-symbol.d.ts +10 -0
  139. package/dist/tools/inspect-symbol.d.ts.map +1 -1
  140. package/dist/tools/inspect-symbol.js +112 -101
  141. package/dist/tools/inspect-symbol.js.map +1 -1
  142. package/dist/tools/ping.d.ts +0 -0
  143. package/dist/tools/ping.d.ts.map +1 -1
  144. package/dist/tools/ping.js +2 -3
  145. package/dist/tools/ping.js.map +1 -1
  146. package/dist/tools/profile.d.ts +9 -0
  147. package/dist/tools/profile.d.ts.map +1 -0
  148. package/dist/tools/profile.js +101 -0
  149. package/dist/tools/profile.js.map +1 -0
  150. package/dist/tools/query-graph.d.ts +3 -0
  151. package/dist/tools/query-graph.d.ts.map +1 -0
  152. package/dist/tools/query-graph.js +157 -0
  153. package/dist/tools/query-graph.js.map +1 -0
  154. package/dist/tools/recall-experience.d.ts +0 -0
  155. package/dist/tools/recall-experience.d.ts.map +1 -1
  156. package/dist/tools/recall-experience.js +5 -5
  157. package/dist/tools/recall-experience.js.map +1 -1
  158. package/dist/tools/record-experience.d.ts +0 -0
  159. package/dist/tools/record-experience.d.ts.map +1 -1
  160. package/dist/tools/record-experience.js +2 -5
  161. package/dist/tools/record-experience.js.map +1 -1
  162. package/dist/tools/reflect.d.ts +4 -0
  163. package/dist/tools/reflect.d.ts.map +1 -0
  164. package/dist/tools/reflect.js +99 -0
  165. package/dist/tools/reflect.js.map +1 -0
  166. package/dist/tools/register.d.ts +5 -2
  167. package/dist/tools/register.d.ts.map +1 -1
  168. package/dist/tools/register.js +31 -1
  169. package/dist/tools/register.js.map +1 -1
  170. package/dist/tools/reindex.d.ts +0 -0
  171. package/dist/tools/reindex.d.ts.map +1 -1
  172. package/dist/tools/reindex.js +102 -21
  173. package/dist/tools/reindex.js.map +1 -1
  174. package/dist/tools/repo-overview.d.ts +0 -0
  175. package/dist/tools/repo-overview.d.ts.map +1 -1
  176. package/dist/tools/repo-overview.js +8 -6
  177. package/dist/tools/repo-overview.js.map +1 -1
  178. package/dist/tools/run-validation.d.ts +0 -0
  179. package/dist/tools/run-validation.d.ts.map +1 -1
  180. package/dist/tools/run-validation.js +15 -1
  181. package/dist/tools/run-validation.js.map +1 -1
  182. package/dist/tools/search-code.d.ts +0 -0
  183. package/dist/tools/search-code.d.ts.map +1 -1
  184. package/dist/tools/search-code.js +11 -4
  185. package/dist/tools/search-code.js.map +1 -1
  186. package/dist/tools/search-history.d.ts +0 -0
  187. package/dist/tools/search-history.d.ts.map +0 -0
  188. package/dist/tools/search-history.js +0 -0
  189. package/dist/tools/search-history.js.map +0 -0
  190. package/dist/tools/session-heartbeat.d.ts +0 -0
  191. package/dist/tools/session-heartbeat.d.ts.map +1 -1
  192. package/dist/tools/session-heartbeat.js +1 -0
  193. package/dist/tools/session-heartbeat.js.map +1 -1
  194. package/dist/tools/session-status.d.ts +0 -0
  195. package/dist/tools/session-status.d.ts.map +1 -1
  196. package/dist/tools/session-status.js +1 -0
  197. package/dist/tools/session-status.js.map +1 -1
  198. package/dist/tools/status.d.ts +0 -0
  199. package/dist/tools/status.d.ts.map +1 -1
  200. package/dist/tools/status.js +87 -24
  201. package/dist/tools/status.js.map +1 -1
  202. package/dist/tools/trace-bfs.d.ts +13 -0
  203. package/dist/tools/trace-bfs.d.ts.map +1 -0
  204. package/dist/tools/trace-bfs.js +251 -0
  205. package/dist/tools/trace-bfs.js.map +1 -0
  206. package/dist/tools/trace-flow.d.ts +1 -1
  207. package/dist/tools/trace-flow.d.ts.map +1 -1
  208. package/dist/tools/trace-flow.js +113 -69
  209. package/dist/tools/trace-flow.js.map +1 -1
  210. package/dist/types.d.ts +75 -13
  211. package/dist/types.d.ts.map +1 -1
  212. package/dist/types.js +15 -0
  213. package/dist/types.js.map +1 -1
  214. package/grammars/tree-sitter-c.wasm +0 -0
  215. package/grammars/tree-sitter-cpp.wasm +0 -0
  216. package/grammars/tree-sitter-go.wasm +0 -0
  217. package/grammars/tree-sitter-java.wasm +0 -0
  218. package/grammars/tree-sitter-javascript.wasm +0 -0
  219. package/grammars/tree-sitter-python.wasm +0 -0
  220. package/grammars/tree-sitter-rust.wasm +0 -0
  221. package/grammars/tree-sitter-tsx.wasm +0 -0
  222. package/grammars/tree-sitter-typescript.wasm +0 -0
  223. package/package.json +8 -6
package/README.md CHANGED
@@ -1,153 +1,149 @@
1
- # Coding Intelligence MCP Server
1
+ # Codestrate (coding-intelligence-mcp-server)
2
2
 
3
- An "external fine-tuning" layer for cloud coding models (Claude Code, Codex, Gemini, OpenCode). Provides structural code retrieval via tree-sitter AST parsing, graph-based symbol navigation, project memory, and executable validation via the Model Context Protocol.
3
+ An "external fine-tuning" layer for cloud coding models (Claude Code, Codex, Gemini, OpenCode). Provides structural code retrieval via tree-sitter AST parsing, graph-based symbol navigation, project memory, and allowlisted validation via the Model Context Protocol.
4
4
 
5
5
  ## Architecture
6
6
 
7
7
  ```
8
8
  Model (Claude Code / Codex / OpenCode)
9
9
 
10
- │ MCP (stdio / HTTP)
10
+ │ MCP (stdio)
11
11
 
12
12
  ┌──────────────────────────────────────────────────────┐
13
- Coding Intelligence MCP Server
13
+ Codestrate MCP Server
14
14
  ├──────────────────────────────────────────────────────┤
15
- Tools (13)
16
- │ ├─ ci_get_context [Primary] Context bundle
17
- │ ├─ ci_repo_overview — Project structure
18
- │ ├─ ci_search_code Hybrid code search
19
- │ ├─ ci_inspect_symbol Symbol definition
20
- │ ├─ ci_search_history Git history
21
- │ ├─ ci_recall_experience Past solutions
22
- ├─ ci_run_validation Build/test/lint
23
- ├─ ci_record_experience — Save knowledge
24
- ├─ ci_trace_flow — BFS call/import traversal
25
- │ ├─ ci_analyze_impact — Change impact analysis
26
- ├─ ci_status — Index state report
27
- ├─ ci_reindex — Rebuild symbol index
28
- └─ ci_explore — AST + graph unified query
29
-
30
- │ Prompts (3) │
31
- │ ├─ debug-runtime-error — 10-step debug workflow │
32
- │ ├─ implement-feature — 8-step impl workflow │
33
- │ └─ review-code — 6-step review │
15
+ Profile: core (default, ≤7 tools)
16
+ │ ├─ ci_status Index readiness + counts
17
+ │ ├─ ci_repo_overview — Project structure
18
+ │ ├─ ci_explore FTS5 + camelCase search
19
+ │ ├─ ci_inspect_symbol Definition + callers
20
+ │ ├─ ci_get_context Task context bundle
21
+ │ ├─ ci_analyze_impact Change impact
22
+ └─ ci_trace_flow Call/import BFS
23
+
24
+ Profile: full (opt-in)
25
+ │ ├─ validation, reindex, memory, session, graph ops
26
+ └─ set CI_MCP_PROFILE=full or "profile":"full"
27
+
28
+ Store: SQLite only (single source of truth)
29
+ Transport: stdio
34
30
  └──────────────────────────────────────────────────────┘
35
31
  ```
36
32
 
37
33
  ## Quick Start
38
34
 
39
35
  ```bash
40
- npx coding-intelligence-mcp-server
41
- ```
42
-
43
- Or from source:
36
+ # From package
37
+ npx codestrate
38
+ # or
39
+ npx ci-mcp
44
40
 
45
- ```bash
41
+ # From source
46
42
  git clone <repo> && cd coding-intelligence-mcp-server
47
43
  npm install
48
44
  npm run build
49
45
  node dist/index.js
50
46
  ```
51
47
 
52
- ## Tools
53
-
54
- ### Primary Tool
55
- - **`ci_get_context`** — Call FIRST for any task. Takes a natural language task description and returns relevant symbols, files, tests, git history, and past experiences within a token budget.
56
-
57
- ### AST & Graph Intelligence
58
- - **`ci_explore`** — Unified code exploration: search by FTS5 full-text, camelCase segments, or symbol name across the graph index. Returns ranked nodes + edges with neighbor context.
59
- - **`ci_trace_flow`** — BFS traversal of call/import graph. Given a symbol, find callers and callees up to configurable depth. Uses tree-sitter parsed AST relations.
60
- - **`ci_inspect_symbol`** — Symbol definition with ±5 lines context, callers, callees, related tests, and graph neighbors.
61
-
62
- ### Code Intelligence
63
- - **`ci_repo_overview`** — Scan repository to infer structure, build system, frameworks, entry points, and commands.
64
- - **`ci_search_code`** — Hybrid search (ripgrep + symbol matching) with BM25 scoring, language/scope filters.
65
-
66
- ### Change Analysis
67
- - **`ci_analyze_impact`** — Given file changes, find dependents, imports, exports, and related tests using the graph index.
68
- - **`ci_status`** — Report index state: repo fingerprint, commit, indexed age, symbol/relation counts, staleness detection.
69
- - **`ci_reindex`** — Rebuild the symbol index from scratch (full) or via git diff (incremental).
70
-
71
- ### Memory & Learning
72
- - **`ci_recall_experience`** — Retrieve past verified fixes and knowledge (hybrid: experiences + semantic memories).
73
- - **`ci_record_experience`** — Save a verified bug-fix with validation evidence (commit SHA, changed files, build/test pass).
74
-
75
- ### Validation
76
- - **`ci_run_validation`** — Execute build/test/lint from config allowlist (permission-gated).
48
+ Default **profile is `core`** (read-only, ≤7 tools). Mutations and extra diagnostics require full:
77
49
 
78
- ### Git
79
- - **`ci_search_history`** — Search git commit history by message query.
80
-
81
- ## Configuration
50
+ ```bash
51
+ CI_MCP_PROFILE=full node dist/index.js
52
+ ```
82
53
 
83
- Create `.ci-mcp.json` in your project root:
54
+ Or in `.ci-mcp.json`:
84
55
 
85
56
  ```json
86
57
  {
58
+ "profile": "full",
87
59
  "commands": {
88
60
  "build": "npm run build",
89
61
  "test": "npm test",
90
62
  "lint": "npm run lint"
91
63
  },
64
+ "validation": { "trusted": true },
92
65
  "timeout": 300,
93
66
  "storePath": "~/.ci-mcp/store"
94
67
  }
95
68
  ```
96
69
 
97
- Transport modes:
98
- - `stdio` (default) — for local use with Claude Code, OpenCode
99
- - `TRANSPORT=http PORT=3000` for remote/HTTP access
70
+ ### Semantic search (automatic by default)
71
+
72
+ On first start, codestrate **auto-downloads** LFM2.5-Embedding GGUF + `llama-server`, **spawns** a local embeddings process, indexes vectors, and uses **hybrid** search when ready.
73
+
74
+ Artifacts live under `~/.ci-mcp/` (`models/`, `bin/`, `store/`). Disable with `CI_MCP_EMBEDDING_MODE=none`.
75
+
76
+ Full guide: [`docs/semantic-search.md`](docs/semantic-search.md).
77
+
78
+ ## Tools
79
+
80
+ ### Core (default)
81
+
82
+ | Tool | Purpose |
83
+ |------|---------|
84
+ | `ci_status` | Index lifecycle, readiness, symbol counts, staleness |
85
+ | `ci_repo_overview` | Structure, build system, frameworks, entry points |
86
+ | `ci_explore` | FTS5 + camelCase + graph search |
87
+ | `ci_inspect_symbol` | Definition, callers, callees, tests |
88
+ | `ci_get_context` | Token-budgeted context bundle for a task |
89
+ | `ci_analyze_impact` | Dependents / symbols affected by file changes |
90
+ | `ci_trace_flow` | BFS call/import flow |
91
+
92
+ ### Full profile only
93
+
94
+ - `ci_search_code`, `ci_search_history`, `ci_deep_explore`
95
+ - Graph: `ci_graph_stats`, `ci_graph_explain`, `ci_query_graph`, `ci_detect_cycles`, `ci_trace_bfs`, `ci_detect_dead_code`
96
+ - Memory: `ci_recall_experience`, `ci_record_experience` (evidence-gated)
97
+ - Validation: `ci_run_validation` (requires `validation.trusted: true`)
98
+ - Index: `ci_reindex`
99
+ - Session: `ci_session_heartbeat`, `ci_session_status`, `ci_reflect`, `ci_reflect_history`
100
+ - Meta: `ci_profile`, `ci_ping`
100
101
 
101
102
  ## Features
102
103
 
103
- ### Tree-Sitter AST Parsing
104
- TypeScript and Python files are parsed via WASM-compiled tree-sitter grammars. The parser extracts:
105
- - Symbol definitions (class, interface, function, method, type, enum, variable)
106
- - Call relationships (who calls whom)
107
- - Import statements (dependency edges)
108
- - Export declarations
109
-
110
- Two WASM grammars (~1.8 MB total) ship with the npm package and load lazily.
111
-
112
- ### Graph Model
113
- A directed graph of symbol dependencies is stored in SQLite with FTS5 full-text search:
114
- - **Nodes**: each symbol (class, function, method, etc.) is a node
115
- - **Edges**: calls, extends, implements, imports, composes — all stored as typed edges
116
- - **Search**: FTS5 (BM25-ranked), LIKE fallback, and **camelCase-aware** matching (`getUserData` → matches `%get%User%Data%`)
117
- - **Traversal**: BFS shortest-path search on the edge graph
118
-
119
- ### SQLite Store (Production)
120
- The default persistence backend uses `better-sqlite3` with:
121
- - Schema migrations (5 current initial, experiences, memories, FTS5, graph)
122
- - WAL journal for concurrent reads
123
- - Foreign key cascading for graph edge cleanup
124
- - In-memory mode available for tests
125
-
126
- ## Comparison to Xanther
127
-
128
- | Feature | Xanther XCE | This Server |
129
- |---------|-------------|-------------|
130
- | Backend | Hosted | **Local/self-host** |
131
- | Symbol index | ✅ PRAT | **✅ Tree-sitter AST** |
132
- | Symbol graph | ❌ | **✅ BFS + FTS5 + camelCase** |
133
- | Code search | Semantic | Hybrid (rg + symbol) |
134
- | Context bundle | ✅ xce_get_context | ✅ ci_get_context |
135
- | Execution | ❌ | **✅ Build/test/lint** |
136
- | Verified memory | ❌ (XME Coming Soon) | **✅ Quality-scored** |
137
- | Steering files | ✅ | ✅ Prompts included |
138
- | Open source | Integration only | **Full code** |
104
+ ### Tree-sitter AST + graph
105
+
106
+ Bundled WASM grammars (TypeScript, TSX, JavaScript, Python, Go, Rust, Java, C, C++). Symbols and relations land in **SQLite** with FTS5 and camelCase matching. Graph BFS powers `ci_trace_flow` / impact tools.
107
+
108
+ ### Index readiness
109
+
110
+ Auto-index runs on startup when `repoPath` is known. Lifecycle states: `not_started` | `indexing` | `ready` | `failed` | `empty`. Failed indexes **do not** report ready; tools that need the graph return typed `INDEX_FAILED` / `INDEX_NOT_READY` errors instead of empty success.
111
+
112
+ ### Evidence-gated memory
113
+
114
+ `ci_record_experience` (full profile) requires commit SHA, changed files, and validation evidence before storing.
115
+
116
+ ### Validation trust
117
+
118
+ `ci_run_validation` is default-off. Enable only after reviewing allowlisted commands and setting `"validation": { "trusted": true }`.
119
+
120
+ ## Configuration
121
+
122
+ Config files (first found wins): `.ci-mcp.json`, `ci-mcp.config.json`, `.coding-intelligence.json`.
123
+
124
+ | Key | Default | Notes |
125
+ |-----|---------|-------|
126
+ | `profile` | `core` | or env `CI_MCP_PROFILE=full` |
127
+ | `storePath` | `~/.ci-mcp/store` | SQLite DB location |
128
+ | `commands.*` | — | build/test/lint allowlist |
129
+ | `validation.trusted` | `false` | must be true to run validation |
130
+ | `timeout` | `300` | seconds |
131
+
132
+ ## Transport
133
+
134
+ **stdio only.** Streamable HTTP is not shipped in this version.
139
135
 
140
136
  ## Prompts
141
137
 
142
- Accessible as MCP Prompt resources:
143
138
  - `ci://prompts/debug-runtime-error`
144
139
  - `ci://prompts/implement-feature`
145
140
  - `ci://prompts/review-code`
146
141
 
147
142
  ## Limitations
148
- - C++/Rust/Go/PHP AST parsing not yet available (only tree-sitter typescript + python WASM grammars are bundled)
149
- - JSON store (default) doesn't support FTS5 SQLite mode required for full-text search
150
- - Incremental reindex (`ci_reindex --mode incremental`) uses git diff but only covers changed files, not cascading dependents
143
+
144
+ - Relation resolution is still partly name-based (heuristic edges may be wrong for overloads)
145
+ - Incremental reindex improves over full rebuild but cascading dependents are best-effort
146
+ - Regex fallback languages are best-effort vs tree-sitter grammars
151
147
 
152
148
  ## License
153
149
 
@@ -1,6 +1,6 @@
1
1
  import { type CIConfig } from "./types.js";
2
2
  export declare const SERVER_NAME = "coding-intelligence-mcp-server";
3
- export declare const SERVER_VERSION = "0.6.1";
3
+ export declare const SERVER_VERSION = "0.6.2";
4
4
  export declare const DEFAULT_STORE_PATH: string;
5
5
  export declare const INDEX_FILE = "index.json";
6
6
  export declare const MEMORY_FILE = "memory.json";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAO3C,eAAO,MAAM,WAAW,mCAAmC,CAAC;AAC5D,eAAO,MAAM,cAAc,UAAU,CAAC;AAItC,eAAO,MAAM,kBAAkB,QAAsC,CAAC;AACtE,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAIzC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,4BAA4B,QAAS,CAAC;AACnD,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAC5C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAgBrC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACzC,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAOR;AAED,eAAO,MAAM,wBAAwB;;;;;;;CAO3B,CAAC;AAIX,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAoBxD,CAAC;AAUF,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CA2CtD"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAO3C,eAAO,MAAM,WAAW,mCAAmC,CAAC;AAC5D,eAAO,MAAM,cAAc,UAAU,CAAC;AAItC,eAAO,MAAM,kBAAkB,QAAsC,CAAC;AACtE,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAIzC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,4BAA4B,QAAS,CAAC;AACnD,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAC5C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAgBrC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACzC,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAOR;AAED,eAAO,MAAM,wBAAwB;;;;;;;CAO3B,CAAC;AAIX,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAoBxD,CAAC;AAUF,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAuDtD"}
package/dist/constants.js CHANGED
@@ -3,7 +3,7 @@ import { join, resolve } from "path";
3
3
  import { existsSync, readFileSync } from "fs";
4
4
  // ─── Server identity ──────────────────────────────────────
5
5
  export const SERVER_NAME = "coding-intelligence-mcp-server";
6
- export const SERVER_VERSION = "0.6.1";
6
+ export const SERVER_VERSION = "0.6.2";
7
7
  // ─── Default paths ────────────────────────────────────────
8
8
  export const DEFAULT_STORE_PATH = join(homedir(), ".ci-mcp", "store");
9
9
  export const INDEX_FILE = "index.json";
@@ -113,17 +113,25 @@ export function loadConfig(repoPath) {
113
113
  repoPath: basePath,
114
114
  storePath: cfg.storePath || DEFAULT_STORE_PATH,
115
115
  maxResponseChars: cfg.maxResponseChars || MAX_RESPONSE_CHARS,
116
+ profile: process.env.CI_MCP_PROFILE === "full" ? "full" : (cfg.profile === "full" ? "full" : "core"),
116
117
  validation: {
117
118
  commands: {
118
119
  build: cfg.commands?.build ?? null,
119
120
  test: cfg.commands?.test ?? null,
120
121
  lint: cfg.commands?.lint ?? null,
121
122
  },
123
+ trusted: cfg.validation?.trusted === true,
124
+ trustedRoot: cfg.validation?.trustedRoot,
125
+ trustedFingerprint: cfg.validation?.trustedFingerprint,
122
126
  timeout: cfg.timeout ?? DEFAULT_VALIDATION_TIMEOUT,
123
127
  maxOutput: cfg.maxOutput ?? MAX_VALIDATION_OUTPUT,
124
128
  },
125
- embeddingMode: cfg.embeddingMode || "none",
126
- embeddingApi: cfg.embeddingApi,
129
+ embeddingMode: parseEmbeddingMode(cfg.embeddingMode),
130
+ embeddingApi: normalizeEmbeddingApi(cfg.embeddingApi),
131
+ embeddingDim: typeof cfg.embeddingDim === "number" && cfg.embeddingDim > 0
132
+ ? cfg.embeddingDim
133
+ : 1024,
134
+ vectorStore: parseVectorStore(cfg.vectorStore, cfg.embeddingMode),
127
135
  };
128
136
  }
129
137
  catch {
@@ -136,12 +144,54 @@ export function loadConfig(repoPath) {
136
144
  repoPath: basePath,
137
145
  storePath: DEFAULT_STORE_PATH,
138
146
  maxResponseChars: MAX_RESPONSE_CHARS,
147
+ profile: process.env.CI_MCP_PROFILE === "full" ? "full" : "core",
139
148
  validation: {
140
149
  commands: { build: undefined, test: undefined, lint: undefined },
150
+ trusted: false,
141
151
  timeout: DEFAULT_VALIDATION_TIMEOUT,
142
152
  maxOutput: MAX_VALIDATION_OUTPUT,
143
153
  },
144
- embeddingMode: "none",
154
+ embeddingMode: parseEmbeddingMode(undefined),
155
+ embeddingDim: 1024,
156
+ vectorStore: parseVectorStore(undefined, "auto"),
157
+ };
158
+ }
159
+ function parseEmbeddingMode(raw) {
160
+ const env = process.env.CI_MCP_EMBEDDING_MODE?.trim().toLowerCase();
161
+ if (env === "none" || env === "0" || env === "off" || env === "false") {
162
+ return "none";
163
+ }
164
+ if (env === "auto" || env === "api" || env === "subprocess")
165
+ return env;
166
+ if (process.env.CI_MCP_AUTO_EMBED === "0")
167
+ return "none";
168
+ if (raw === "api" || raw === "subprocess" || raw === "none" || raw === "auto") {
169
+ return raw;
170
+ }
171
+ // Default: fully automatic local runtime
172
+ return "auto";
173
+ }
174
+ function parseVectorStore(raw, embeddingMode) {
175
+ if (raw === "none" || raw === "zvec" || raw === "memory")
176
+ return raw;
177
+ // When embedding is on and vectorStore omitted → default zvec
178
+ if (embeddingMode === "api" ||
179
+ embeddingMode === "subprocess" ||
180
+ embeddingMode === "auto" ||
181
+ embeddingMode === undefined) {
182
+ return "zvec";
183
+ }
184
+ return "none";
185
+ }
186
+ function normalizeEmbeddingApi(raw) {
187
+ if (!raw || typeof raw !== "object")
188
+ return undefined;
189
+ const o = raw;
190
+ const url = typeof o.url === "string" ? o.url : "http://127.0.0.1:18765";
191
+ return {
192
+ url,
193
+ model: typeof o.model === "string" ? o.model : undefined,
194
+ apiKey: typeof o.apiKey === "string" ? o.apiKey : undefined,
145
195
  };
146
196
  }
147
197
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
- /** True once auto-reindex has completed at least once. */
3
- export declare function isIndexReady(): boolean;
2
+ import { isIndexReady } from "./services/index-state.js";
3
+ /** @deprecated Prefer isIndexReady from index-state — kept for external importers. */
4
+ export { isIndexReady };
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAwHA,0DAA0D;AAC1D,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAoBA,OAAO,EAML,YAAY,EACb,MAAM,2BAA2B,CAAC;AAkDnC,sFAAsF;AACtF,OAAO,EAAE,YAAY,EAAE,CAAC"}