codesearch-mcp 0.3.0-alpha → 0.4.0-alpha

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 (224) hide show
  1. package/CHANGELOG.md +59 -6
  2. package/LICENSE +661 -21
  3. package/README.md +33 -17
  4. package/dist/app.js +13 -20
  5. package/dist/src/ast/CallExtractor.d.ts +8 -0
  6. package/dist/src/ast/CallExtractor.js +68 -0
  7. package/dist/src/ast/GraphqlNameExtractor.d.ts +22 -0
  8. package/dist/src/ast/GraphqlNameExtractor.js +240 -0
  9. package/dist/src/ast/ImportEdgeExtractor.d.ts +11 -0
  10. package/dist/src/ast/ImportEdgeExtractor.js +129 -0
  11. package/dist/src/ast/IndexedNodeResolver.d.ts +14 -0
  12. package/dist/src/ast/IndexedNodeResolver.js +217 -0
  13. package/dist/src/ast/MemberExtractor.d.ts +8 -0
  14. package/dist/src/ast/MemberExtractor.js +129 -0
  15. package/dist/src/ast/TopLevelSymbolExtractor.d.ts +5 -0
  16. package/dist/src/ast/TopLevelSymbolExtractor.js +86 -0
  17. package/dist/src/ast/graphql-grammar.d.ts +24 -0
  18. package/dist/src/ast/graphql-grammar.js +93 -0
  19. package/dist/src/ast/node-helpers.d.ts +11 -0
  20. package/dist/src/ast/node-helpers.js +55 -0
  21. package/dist/src/commands/EvalCommand.d.ts +7 -3
  22. package/dist/src/commands/EvalCommand.js +36 -158
  23. package/dist/src/commands/IndexCommand.d.ts +10 -4
  24. package/dist/src/commands/IndexCommand.js +52 -124
  25. package/dist/src/commands/McpCommand.d.ts +6 -3
  26. package/dist/src/commands/McpCommand.js +19 -14
  27. package/dist/src/commands/WebCommand.d.ts +9 -3
  28. package/dist/src/commands/WebCommand.js +17 -8
  29. package/dist/src/commands/eval/baseline-comparison.d.ts +6 -0
  30. package/dist/src/commands/eval/baseline-comparison.js +54 -0
  31. package/dist/src/commands/eval/eval-args.d.ts +6 -0
  32. package/dist/src/commands/eval/eval-args.js +71 -0
  33. package/dist/src/commands/eval/eval-corpora.d.ts +6 -0
  34. package/dist/src/commands/eval/eval-corpora.js +76 -0
  35. package/dist/src/commands/eval/eval-metadata.d.ts +17 -0
  36. package/dist/src/commands/eval/eval-metadata.js +75 -0
  37. package/dist/src/commands/eval/index-inspector.d.ts +3 -0
  38. package/dist/src/commands/eval/index-inspector.js +21 -0
  39. package/dist/src/commands/eval/staged-search.d.ts +3 -0
  40. package/dist/src/commands/eval/staged-search.js +20 -0
  41. package/dist/src/commands/eval/suite-loader.d.ts +8 -0
  42. package/dist/src/commands/eval/suite-loader.js +52 -0
  43. package/dist/src/commands/index/backend-probe.d.ts +2 -0
  44. package/dist/src/commands/index/backend-probe.js +15 -0
  45. package/dist/src/commands/index/embedding-setup.d.ts +3 -0
  46. package/dist/src/commands/index/embedding-setup.js +16 -0
  47. package/dist/src/commands/index/index-summary.d.ts +2 -0
  48. package/dist/src/commands/index/index-summary.js +22 -0
  49. package/dist/src/commands/index/legacy-ollama-guard.d.ts +3 -0
  50. package/dist/src/commands/index/legacy-ollama-guard.js +23 -0
  51. package/dist/src/commands/index/prune-step.d.ts +3 -0
  52. package/dist/src/commands/index/prune-step.js +22 -0
  53. package/dist/src/commands/index/scan-targets.d.ts +8 -0
  54. package/dist/src/commands/index/scan-targets.js +107 -0
  55. package/dist/src/config-store.d.ts +0 -1
  56. package/dist/src/config-store.js +3 -4
  57. package/dist/src/config.d.ts +1 -1
  58. package/dist/src/config.js +1 -1
  59. package/dist/src/constants.d.ts +15 -0
  60. package/dist/src/constants.js +34 -6
  61. package/dist/src/container.d.ts +4 -2
  62. package/dist/src/container.js +7 -5
  63. package/dist/src/db/drizzle-types.d.ts +7 -0
  64. package/dist/src/db/index.d.ts +1 -0
  65. package/dist/src/db/schema-steps.d.ts +8 -0
  66. package/dist/src/db/schema-steps.js +105 -0
  67. package/dist/src/declarations/DeclarationTree.d.ts +1 -1
  68. package/dist/src/eval-results.js +16 -2
  69. package/dist/src/eval-vector-index.d.ts +5 -0
  70. package/dist/src/eval-vector-index.js +60 -0
  71. package/dist/src/help.js +9 -1
  72. package/dist/src/index-args.d.ts +13 -0
  73. package/dist/src/index-args.js +48 -0
  74. package/dist/src/indexing/AnalysisBatcher.d.ts +12 -0
  75. package/dist/src/indexing/AnalysisBatcher.js +28 -0
  76. package/dist/src/indexing/ChunkEmbedder.d.ts +24 -0
  77. package/dist/src/indexing/ChunkEmbedder.js +37 -0
  78. package/dist/src/indexing/ConsoleScanReporter.d.ts +10 -0
  79. package/dist/src/indexing/ConsoleScanReporter.js +73 -0
  80. package/dist/src/indexing/EmbeddingSchemaPreparer.d.ts +14 -0
  81. package/dist/src/indexing/EmbeddingSchemaPreparer.js +66 -0
  82. package/dist/src/indexing/FileIngestor.d.ts +22 -0
  83. package/dist/src/indexing/FileIngestor.js +116 -0
  84. package/dist/src/indexing/IndexStore.d.ts +24 -0
  85. package/dist/src/indexing/IndexStore.js +69 -0
  86. package/dist/src/indexing/StaleFilePruner.d.ts +8 -0
  87. package/dist/src/indexing/StaleFilePruner.js +55 -0
  88. package/dist/src/indexing/analysis-rows.d.ts +4 -0
  89. package/dist/src/indexing/analysis-rows.js +65 -0
  90. package/dist/src/indexing/project-notices.d.ts +2 -0
  91. package/dist/src/indexing/project-notices.js +63 -0
  92. package/dist/src/interfaces/IAstParser.d.ts +2 -1
  93. package/dist/src/interfaces/ICallGraph.d.ts +28 -0
  94. package/dist/src/interfaces/ICallGraph.js +2 -0
  95. package/dist/src/interfaces/IChunkSearch.d.ts +42 -0
  96. package/dist/src/interfaces/IChunkSearch.js +2 -0
  97. package/dist/src/interfaces/IDatabase.d.ts +6 -2
  98. package/dist/src/interfaces/IDependencyGraph.d.ts +24 -0
  99. package/dist/src/interfaces/IDependencyGraph.js +2 -0
  100. package/dist/src/interfaces/IIndexIdentityGuard.d.ts +3 -0
  101. package/dist/src/interfaces/IIndexIdentityGuard.js +2 -0
  102. package/dist/src/interfaces/IIndexedNodeResolver.d.ts +10 -0
  103. package/dist/src/interfaces/IIndexedNodeResolver.js +2 -0
  104. package/dist/src/interfaces/IMcpReadiness.d.ts +12 -0
  105. package/dist/src/interfaces/IMcpReadiness.js +2 -0
  106. package/dist/src/interfaces/IProjectCatalog.d.ts +13 -0
  107. package/dist/src/interfaces/IProjectCatalog.js +2 -0
  108. package/dist/src/interfaces/IProjectRoots.d.ts +3 -0
  109. package/dist/src/interfaces/IProjectRoots.js +2 -0
  110. package/dist/src/interfaces/IRetrievalEvaluator.d.ts +21 -2
  111. package/dist/src/interfaces/IScanReporter.d.ts +13 -0
  112. package/dist/src/interfaces/IScanReporter.js +2 -0
  113. package/dist/src/interfaces/ISymbolLookup.d.ts +49 -0
  114. package/dist/src/interfaces/ISymbolLookup.js +2 -0
  115. package/dist/src/interfaces/IToolPaths.d.ts +62 -0
  116. package/dist/src/interfaces/IToolPaths.js +2 -0
  117. package/dist/src/interfaces/IWorkspaceFiles.d.ts +28 -0
  118. package/dist/src/interfaces/IWorkspaceFiles.js +2 -0
  119. package/dist/src/interfaces/SymbolKind.d.ts +1 -0
  120. package/dist/src/interfaces/SymbolKind.js +2 -0
  121. package/dist/src/interfaces/index.d.ts +12 -1
  122. package/dist/src/project-scope.d.ts +1 -0
  123. package/dist/src/project-scope.js +5 -0
  124. package/dist/src/retrieval-eval.d.ts +2 -1
  125. package/dist/src/retrieval-eval.js +45 -2
  126. package/dist/src/search/CallGraph.d.ts +9 -0
  127. package/dist/src/search/CallGraph.js +84 -0
  128. package/dist/src/search/ChunkSearch.d.ts +23 -0
  129. package/dist/src/search/ChunkSearch.js +115 -0
  130. package/dist/src/search/DependencyGraph.d.ts +19 -0
  131. package/dist/src/search/DependencyGraph.js +180 -0
  132. package/dist/src/search/IndexIdentityGuard.d.ts +11 -0
  133. package/dist/src/search/IndexIdentityGuard.js +37 -0
  134. package/dist/src/search/ProjectCatalog.d.ts +11 -0
  135. package/dist/src/search/ProjectCatalog.js +38 -0
  136. package/dist/src/search/SymbolLookup.d.ts +24 -0
  137. package/dist/src/search/SymbolLookup.js +97 -0
  138. package/dist/src/search/chunks/CandidateFetcher.d.ts +19 -0
  139. package/dist/src/search/chunks/CandidateFetcher.js +40 -0
  140. package/dist/src/search/chunks/IterativeScanGate.d.ts +10 -0
  141. package/dist/src/search/chunks/IterativeScanGate.js +42 -0
  142. package/dist/src/search/chunks/RerankStage.d.ts +15 -0
  143. package/dist/src/search/chunks/RerankStage.js +42 -0
  144. package/dist/src/search/chunks/search-metrics.d.ts +18 -0
  145. package/dist/src/search/chunks/search-metrics.js +32 -0
  146. package/dist/src/search/chunks/search-plan.d.ts +18 -0
  147. package/dist/src/search/chunks/search-plan.js +19 -0
  148. package/dist/src/search/create-search-services.d.ts +26 -0
  149. package/dist/src/search/create-search-services.js +29 -0
  150. package/dist/src/search/index-paths.d.ts +1 -0
  151. package/dist/src/search/index-paths.js +5 -0
  152. package/dist/src/search/symbol-sql.d.ts +13 -0
  153. package/dist/src/search/symbol-sql.js +66 -0
  154. package/dist/src/search/symbols/SymbolGrepFallback.d.ts +19 -0
  155. package/dist/src/search/symbols/SymbolGrepFallback.js +106 -0
  156. package/dist/src/search/symbols/SymbolIndexQuery.d.ts +14 -0
  157. package/dist/src/search/symbols/SymbolIndexQuery.js +52 -0
  158. package/dist/src/search/symbols/SymbolTextSearch.d.ts +13 -0
  159. package/dist/src/search/symbols/SymbolTextSearch.js +84 -0
  160. package/dist/src/search/symbols/TargetColumnGate.d.ts +7 -0
  161. package/dist/src/search/symbols/TargetColumnGate.js +23 -0
  162. package/dist/src/search/symbols/find-symbol-constants.d.ts +4 -0
  163. package/dist/src/search/symbols/find-symbol-constants.js +8 -0
  164. package/dist/src/search/symbols/grep-args.d.ts +3 -0
  165. package/dist/src/search/symbols/grep-args.js +7 -0
  166. package/dist/src/search/symbols/grep-patterns.d.ts +4 -0
  167. package/dist/src/search/symbols/grep-patterns.js +60 -0
  168. package/dist/src/services/AstParserService.d.ts +8 -44
  169. package/dist/src/services/AstParserService.js +19 -938
  170. package/dist/src/services/DatabaseService.d.ts +8 -10
  171. package/dist/src/services/DatabaseService.js +29 -86
  172. package/dist/src/services/IndexerService.d.ts +7 -10
  173. package/dist/src/services/IndexerService.js +36 -255
  174. package/dist/src/services/McpReadiness.d.ts +18 -0
  175. package/dist/src/services/McpReadiness.js +73 -0
  176. package/dist/src/services/McpServer.d.ts +32 -9
  177. package/dist/src/services/McpServer.js +78 -41
  178. package/dist/src/services/WebServerService.d.ts +4 -3
  179. package/dist/src/services/WebServerService.js +16 -8
  180. package/dist/src/setup.d.ts +16 -4
  181. package/dist/src/setup.js +115 -40
  182. package/dist/src/symbol-name.d.ts +1 -0
  183. package/dist/src/symbol-name.js +16 -12
  184. package/dist/src/tools/FindSymbolTool.d.ts +17 -7
  185. package/dist/src/tools/FindSymbolTool.js +54 -35
  186. package/dist/src/tools/GetCallersTool.d.ts +16 -8
  187. package/dist/src/tools/GetCallersTool.js +65 -35
  188. package/dist/src/tools/GetDependenciesTool.d.ts +16 -8
  189. package/dist/src/tools/GetDependenciesTool.js +35 -28
  190. package/dist/src/tools/GetDependentsTool.d.ts +20 -8
  191. package/dist/src/tools/GetDependentsTool.js +47 -33
  192. package/dist/src/tools/ListFilesTool.d.ts +16 -8
  193. package/dist/src/tools/ListFilesTool.js +20 -26
  194. package/dist/src/tools/ListProjectsTool.d.ts +11 -7
  195. package/dist/src/tools/ListProjectsTool.js +13 -11
  196. package/dist/src/tools/McpTool.d.ts +17 -0
  197. package/dist/src/tools/McpTool.js +28 -0
  198. package/dist/src/tools/ReadFileRangeTool.d.ts +16 -8
  199. package/dist/src/tools/ReadFileRangeTool.js +23 -25
  200. package/dist/src/tools/ReadFileTool.d.ts +15 -8
  201. package/dist/src/tools/ReadFileTool.js +19 -24
  202. package/dist/src/tools/SearchCodebaseTool.d.ts +22 -10
  203. package/dist/src/tools/SearchCodebaseTool.js +69 -51
  204. package/dist/src/tools/format-helpers.d.ts +9 -3
  205. package/dist/src/tools/format-helpers.js +59 -14
  206. package/dist/src/tools/tool-args.d.ts +38 -0
  207. package/dist/src/tools/tool-args.js +95 -0
  208. package/dist/src/workspace/GrepRunner.d.ts +15 -0
  209. package/dist/src/workspace/GrepRunner.js +104 -0
  210. package/dist/src/workspace/ProjectRoots.d.ts +22 -0
  211. package/dist/src/workspace/ProjectRoots.js +102 -0
  212. package/dist/src/workspace/ToolPaths.d.ts +31 -0
  213. package/dist/src/workspace/ToolPaths.js +312 -0
  214. package/dist/src/workspace/WorkspaceFiles.d.ts +19 -0
  215. package/dist/src/workspace/WorkspaceFiles.js +285 -0
  216. package/dist/src/workspace/fs-access.d.ts +9 -0
  217. package/dist/src/workspace/fs-access.js +47 -0
  218. package/dist/src/workspace/path-helpers.d.ts +3 -0
  219. package/dist/src/workspace/path-helpers.js +43 -0
  220. package/package.json +4 -3
  221. package/dist/src/interfaces/ISearcher.d.ts +0 -46
  222. package/dist/src/services/SearcherService.d.ts +0 -235
  223. package/dist/src/services/SearcherService.js +0 -1118
  224. /package/dist/src/{interfaces/ISearcher.js → db/drizzle-types.js} +0 -0
@@ -1,235 +0,0 @@
1
- import * as fs from 'fs';
2
- import type { Config } from '../config';
3
- import type { IEmbedder } from '../interfaces';
4
- import type { IDatabase } from '../interfaces';
5
- import { type IndexingExclusion, type ProjectMeta } from '../file-utils';
6
- import type { ILogger } from '../interfaces';
7
- import type { IProjectDiscovery } from '../interfaces';
8
- import type { StagedSearchResult } from '../interfaces/ISearcher';
9
- export interface ChunkRow {
10
- serviceName: string;
11
- filePath: string;
12
- startLine: number;
13
- content: string;
14
- ownerPath?: string | null;
15
- }
16
- export interface SearchResult extends ChunkRow {
17
- score: number;
18
- }
19
- export interface NeighborResult {
20
- result: SearchResult;
21
- prevChunk: ChunkRow | null;
22
- nextChunk: ChunkRow | null;
23
- }
24
- export interface GraphContext {
25
- imports: string[];
26
- usedBy: string[];
27
- }
28
- export type PathRefusal = {
29
- ok: false;
30
- reason: 'invalid';
31
- missing: boolean;
32
- } | {
33
- ok: false;
34
- reason: 'absolute';
35
- relative: string;
36
- } | {
37
- ok: false;
38
- reason: 'outside_workspace';
39
- };
40
- export type ResolvedToolPath = {
41
- ok: true;
42
- relPath: string;
43
- absPath: string;
44
- } | PathRefusal;
45
- export type NotIndexedExplanation = IndexingExclusion | {
46
- kind: 'no_project';
47
- } | {
48
- kind: 'project_not_indexed';
49
- project: string;
50
- } | {
51
- kind: 'unknown';
52
- };
53
- export type PathFailure = {
54
- ok: false;
55
- reason: 'outside_workspace';
56
- } | {
57
- ok: false;
58
- reason: 'unreadable';
59
- code: string;
60
- } | {
61
- ok: false;
62
- reason: 'not_found';
63
- candidates: string[];
64
- } | {
65
- ok: false;
66
- reason: 'deleted';
67
- } | {
68
- ok: false;
69
- reason: 'not_indexed';
70
- explanation: NotIndexedExplanation;
71
- } | {
72
- ok: false;
73
- reason: 'not_a_file';
74
- } | {
75
- ok: false;
76
- reason: 'not_a_directory';
77
- };
78
- export type FileRangeResult = {
79
- ok: true;
80
- filePath: string;
81
- startLine: number;
82
- endLine: number;
83
- lines: string[];
84
- hasMore: boolean;
85
- } | PathFailure | {
86
- ok: false;
87
- reason: 'past_end';
88
- lineCount: number;
89
- startLine: number;
90
- } | {
91
- ok: false;
92
- reason: 'bad_range';
93
- startLine: number;
94
- endLine: number;
95
- };
96
- export type ListFilesResult = {
97
- ok: true;
98
- tree: string;
99
- } | PathFailure;
100
- export type GrepSymbolResult = {
101
- ok: true;
102
- matches: GrepMatch[];
103
- truncated: boolean;
104
- partial: boolean;
105
- } | {
106
- ok: false;
107
- };
108
- export interface SearcherFs {
109
- realpath(p: string): Promise<string>;
110
- stat(p: string): Promise<fs.Stats>;
111
- readdir(p: string): Promise<fs.Dirent[]>;
112
- createReadStream(p: string): NodeJS.ReadableStream;
113
- }
114
- export interface DependencyRow {
115
- fromFile: string;
116
- fromSymbol: string | null;
117
- toFile: string;
118
- toSymbol: string | null;
119
- depType: string;
120
- depth?: number;
121
- via?: string;
122
- id?: string;
123
- }
124
- export interface ProjectRow extends ProjectMeta {
125
- serviceName: string;
126
- chunks: number;
127
- packageName?: string | null;
128
- type?: 'app' | 'lib';
129
- path?: string;
130
- relPath?: string;
131
- rootError?: string | null;
132
- }
133
- export interface GrepMatch {
134
- filePath: string;
135
- line: number;
136
- }
137
- export type SymbolKind = 'function' | 'class' | 'type' | 'interface' | 'variable' | 'method' | 'get_accessor' | 'set_accessor' | 'constructor' | 'function_property' | 'method_signature' | 'graphql_query' | 'graphql_mutation' | 'graphql_subscription' | 'graphql_field' | 'graphql_type' | 'all';
138
- export interface CallerRow {
139
- fromFile: string;
140
- fromSymbol: string | null;
141
- calleeName: string;
142
- calleeFile: string;
143
- line: number | null;
144
- }
145
- export interface SymbolHit {
146
- filePath: string;
147
- line: number;
148
- column: number;
149
- kind: Exclude<SymbolKind, 'all'>;
150
- signature: string;
151
- qualified: string;
152
- isStatic: boolean;
153
- source: 'index' | 'grep';
154
- target: string | null;
155
- }
156
- export declare function rerankDocument(row: ChunkRow): string;
157
- export declare class SearcherService {
158
- private db;
159
- private embedder;
160
- private discovery;
161
- private config;
162
- private logger;
163
- private readonly fs;
164
- constructor(db: IDatabase, embedder: IEmbedder, discovery: IProjectDiscovery, config: Config, logger?: ILogger, fsDeps?: Partial<SearcherFs>);
165
- private targetColumnPresent;
166
- private realRootCache?;
167
- private rootMap?;
168
- private pgvectorVersionRead?;
169
- private degradedScanWarned;
170
- private iterativeScanEnabled;
171
- private warnDegradedScan;
172
- private projectRootMap;
173
- private resolveProjectRoot;
174
- private toRel;
175
- private toAbs;
176
- private workspaceRoot;
177
- private realWorkspaceRoot;
178
- resolveToolPath(input: string | null | undefined): Promise<ResolvedToolPath>;
179
- private realLocation;
180
- checkRealLocation(relPath: string, absPath: string, kind: 'file' | 'dir'): Promise<{
181
- ok: true;
182
- } | Extract<PathFailure, {
183
- reason: 'outside_workspace' | 'unreadable';
184
- }>>;
185
- private pathExists;
186
- isIndexedPath(relPath: string): Promise<boolean>;
187
- isContentPath(relPath: string): Promise<boolean>;
188
- private hasContentUnder;
189
- findPathCandidates(relPath: string, kind: 'file' | 'dir'): Promise<string[]>;
190
- private candidatesOrNone;
191
- private substituteProjectName;
192
- private findProjectRootByName;
193
- private findProjectRoot;
194
- fallbackRoot(relPath: string): string | null;
195
- checkGraphPath(relPath: string): Promise<PathFailure | null>;
196
- private explainNotIndexed;
197
- getProjectEdges(): Promise<{
198
- from: string;
199
- to: string;
200
- }[]>;
201
- prepareQuery(raw: string): Promise<{
202
- query: string;
203
- translated: boolean;
204
- }>;
205
- assertIndexMatches(): Promise<void>;
206
- private compareIndexed;
207
- listProjects(): Promise<ProjectRow[]>;
208
- searchChunks(query: string, limit: number, project: string | null, threshold?: number, rerankOverride?: boolean, perFile?: number): Promise<SearchResult[]>;
209
- searchChunksWithStages(query: string, limit: number, project: string | null, threshold?: number, rerankOverride?: boolean, perFile?: number): Promise<StagedSearchResult>;
210
- private emitSearchMetrics;
211
- fetchNeighbors(results: SearchResult[]): Promise<NeighborResult[]>;
212
- fetchGraphContext(results: SearchResult[]): Promise<Map<string, GraphContext>>;
213
- getDependencies(filePath: string, symbol?: string | null, transitive?: boolean): Promise<DependencyRow[]>;
214
- getDependents(filePath: string, symbol?: string | null, transitive?: boolean): Promise<DependencyRow[]>;
215
- getCallers(symbol: string, project: string, calleeFile?: string | null): Promise<CallerRow[]>;
216
- grepSymbol(symbol: string, rootDir: string, excludeFile: string): Promise<GrepSymbolResult>;
217
- findSymbol(name: string, project: string | null, kind: SymbolKind): Promise<{
218
- hits: SymbolHit[];
219
- truncated: boolean;
220
- grepFailed: boolean;
221
- }>;
222
- private hasTargetColumn;
223
- private findSymbolFromIndex;
224
- private grepFindSymbol;
225
- listFiles(relPath: string, depth: number, pattern: string | null): Promise<ListFilesResult>;
226
- private openableFile;
227
- private readLines;
228
- readFile(relPath: string, maxLines: number): Promise<FileRangeResult>;
229
- readFileRange(relPath: string, startLine: number, endLine: number): Promise<FileRangeResult>;
230
- private walkDir;
231
- private buildFindSymbolPattern;
232
- private static wholeWordIndex;
233
- private inferKind;
234
- private spawnGrep;
235
- }