@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.
Files changed (340) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +482 -0
  3. package/dist/bin/codegraph.d.ts +21 -0
  4. package/dist/bin/codegraph.d.ts.map +1 -0
  5. package/dist/bin/codegraph.js +1296 -0
  6. package/dist/bin/codegraph.js.map +1 -0
  7. package/dist/bin/node-version-check.d.ts +17 -0
  8. package/dist/bin/node-version-check.d.ts.map +1 -0
  9. package/dist/bin/node-version-check.js +39 -0
  10. package/dist/bin/node-version-check.js.map +1 -0
  11. package/dist/bin/uninstall.d.ts +14 -0
  12. package/dist/bin/uninstall.d.ts.map +1 -0
  13. package/dist/bin/uninstall.js +148 -0
  14. package/dist/bin/uninstall.js.map +1 -0
  15. package/dist/config.d.ts +51 -0
  16. package/dist/config.d.ts.map +1 -0
  17. package/dist/config.js +342 -0
  18. package/dist/config.js.map +1 -0
  19. package/dist/context/formatter.d.ts +30 -0
  20. package/dist/context/formatter.d.ts.map +1 -0
  21. package/dist/context/formatter.js +244 -0
  22. package/dist/context/formatter.js.map +1 -0
  23. package/dist/context/index.d.ts +99 -0
  24. package/dist/context/index.d.ts.map +1 -0
  25. package/dist/context/index.js +1075 -0
  26. package/dist/context/index.js.map +1 -0
  27. package/dist/db/index.d.ts +72 -0
  28. package/dist/db/index.d.ts.map +1 -0
  29. package/dist/db/index.js +200 -0
  30. package/dist/db/index.js.map +1 -0
  31. package/dist/db/migrations.d.ts +44 -0
  32. package/dist/db/migrations.d.ts.map +1 -0
  33. package/dist/db/migrations.js +160 -0
  34. package/dist/db/migrations.js.map +1 -0
  35. package/dist/db/queries.d.ts +253 -0
  36. package/dist/db/queries.d.ts.map +1 -0
  37. package/dist/db/queries.js +1202 -0
  38. package/dist/db/queries.js.map +1 -0
  39. package/dist/db/schema.sql +169 -0
  40. package/dist/db/sqlite-adapter.d.ts +52 -0
  41. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  42. package/dist/db/sqlite-adapter.js +237 -0
  43. package/dist/db/sqlite-adapter.js.map +1 -0
  44. package/dist/directory.d.ts +57 -0
  45. package/dist/directory.d.ts.map +1 -0
  46. package/dist/directory.js +264 -0
  47. package/dist/directory.js.map +1 -0
  48. package/dist/errors.d.ts +136 -0
  49. package/dist/errors.d.ts.map +1 -0
  50. package/dist/errors.js +219 -0
  51. package/dist/errors.js.map +1 -0
  52. package/dist/extraction/dfm-extractor.d.ts +31 -0
  53. package/dist/extraction/dfm-extractor.d.ts.map +1 -0
  54. package/dist/extraction/dfm-extractor.js +151 -0
  55. package/dist/extraction/dfm-extractor.js.map +1 -0
  56. package/dist/extraction/grammars.d.ts +78 -0
  57. package/dist/extraction/grammars.d.ts.map +1 -0
  58. package/dist/extraction/grammars.js +322 -0
  59. package/dist/extraction/grammars.js.map +1 -0
  60. package/dist/extraction/index.d.ts +130 -0
  61. package/dist/extraction/index.d.ts.map +1 -0
  62. package/dist/extraction/index.js +1279 -0
  63. package/dist/extraction/index.js.map +1 -0
  64. package/dist/extraction/languages/c-cpp.d.ts +4 -0
  65. package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  66. package/dist/extraction/languages/c-cpp.js +126 -0
  67. package/dist/extraction/languages/c-cpp.js.map +1 -0
  68. package/dist/extraction/languages/csharp.d.ts +3 -0
  69. package/dist/extraction/languages/csharp.d.ts.map +1 -0
  70. package/dist/extraction/languages/csharp.js +72 -0
  71. package/dist/extraction/languages/csharp.js.map +1 -0
  72. package/dist/extraction/languages/dart.d.ts +3 -0
  73. package/dist/extraction/languages/dart.d.ts.map +1 -0
  74. package/dist/extraction/languages/dart.js +192 -0
  75. package/dist/extraction/languages/dart.js.map +1 -0
  76. package/dist/extraction/languages/go.d.ts +3 -0
  77. package/dist/extraction/languages/go.d.ts.map +1 -0
  78. package/dist/extraction/languages/go.js +58 -0
  79. package/dist/extraction/languages/go.js.map +1 -0
  80. package/dist/extraction/languages/index.d.ts +10 -0
  81. package/dist/extraction/languages/index.d.ts.map +1 -0
  82. package/dist/extraction/languages/index.js +45 -0
  83. package/dist/extraction/languages/index.js.map +1 -0
  84. package/dist/extraction/languages/java.d.ts +3 -0
  85. package/dist/extraction/languages/java.d.ts.map +1 -0
  86. package/dist/extraction/languages/java.js +64 -0
  87. package/dist/extraction/languages/java.js.map +1 -0
  88. package/dist/extraction/languages/javascript.d.ts +3 -0
  89. package/dist/extraction/languages/javascript.d.ts.map +1 -0
  90. package/dist/extraction/languages/javascript.js +90 -0
  91. package/dist/extraction/languages/javascript.js.map +1 -0
  92. package/dist/extraction/languages/kotlin.d.ts +3 -0
  93. package/dist/extraction/languages/kotlin.d.ts.map +1 -0
  94. package/dist/extraction/languages/kotlin.js +253 -0
  95. package/dist/extraction/languages/kotlin.js.map +1 -0
  96. package/dist/extraction/languages/pascal.d.ts +3 -0
  97. package/dist/extraction/languages/pascal.d.ts.map +1 -0
  98. package/dist/extraction/languages/pascal.js +66 -0
  99. package/dist/extraction/languages/pascal.js.map +1 -0
  100. package/dist/extraction/languages/php.d.ts +3 -0
  101. package/dist/extraction/languages/php.d.ts.map +1 -0
  102. package/dist/extraction/languages/php.js +107 -0
  103. package/dist/extraction/languages/php.js.map +1 -0
  104. package/dist/extraction/languages/python.d.ts +3 -0
  105. package/dist/extraction/languages/python.d.ts.map +1 -0
  106. package/dist/extraction/languages/python.js +56 -0
  107. package/dist/extraction/languages/python.js.map +1 -0
  108. package/dist/extraction/languages/ruby.d.ts +3 -0
  109. package/dist/extraction/languages/ruby.d.ts.map +1 -0
  110. package/dist/extraction/languages/ruby.js +114 -0
  111. package/dist/extraction/languages/ruby.js.map +1 -0
  112. package/dist/extraction/languages/rust.d.ts +3 -0
  113. package/dist/extraction/languages/rust.d.ts.map +1 -0
  114. package/dist/extraction/languages/rust.js +109 -0
  115. package/dist/extraction/languages/rust.js.map +1 -0
  116. package/dist/extraction/languages/scala.d.ts +3 -0
  117. package/dist/extraction/languages/scala.d.ts.map +1 -0
  118. package/dist/extraction/languages/scala.js +139 -0
  119. package/dist/extraction/languages/scala.js.map +1 -0
  120. package/dist/extraction/languages/swift.d.ts +3 -0
  121. package/dist/extraction/languages/swift.d.ts.map +1 -0
  122. package/dist/extraction/languages/swift.js +91 -0
  123. package/dist/extraction/languages/swift.js.map +1 -0
  124. package/dist/extraction/languages/typescript.d.ts +3 -0
  125. package/dist/extraction/languages/typescript.d.ts.map +1 -0
  126. package/dist/extraction/languages/typescript.js +129 -0
  127. package/dist/extraction/languages/typescript.js.map +1 -0
  128. package/dist/extraction/liquid-extractor.d.ts +52 -0
  129. package/dist/extraction/liquid-extractor.d.ts.map +1 -0
  130. package/dist/extraction/liquid-extractor.js +313 -0
  131. package/dist/extraction/liquid-extractor.js.map +1 -0
  132. package/dist/extraction/parse-worker.d.ts +8 -0
  133. package/dist/extraction/parse-worker.d.ts.map +1 -0
  134. package/dist/extraction/parse-worker.js +94 -0
  135. package/dist/extraction/parse-worker.js.map +1 -0
  136. package/dist/extraction/svelte-extractor.d.ts +56 -0
  137. package/dist/extraction/svelte-extractor.d.ts.map +1 -0
  138. package/dist/extraction/svelte-extractor.js +272 -0
  139. package/dist/extraction/svelte-extractor.js.map +1 -0
  140. package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  141. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  142. package/dist/extraction/tree-sitter-helpers.js +103 -0
  143. package/dist/extraction/tree-sitter-helpers.js.map +1 -0
  144. package/dist/extraction/tree-sitter-types.d.ts +179 -0
  145. package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  146. package/dist/extraction/tree-sitter-types.js +10 -0
  147. package/dist/extraction/tree-sitter-types.js.map +1 -0
  148. package/dist/extraction/tree-sitter.d.ts +233 -0
  149. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  150. package/dist/extraction/tree-sitter.js +2393 -0
  151. package/dist/extraction/tree-sitter.js.map +1 -0
  152. package/dist/extraction/vue-extractor.d.ts +36 -0
  153. package/dist/extraction/vue-extractor.d.ts.map +1 -0
  154. package/dist/extraction/vue-extractor.js +163 -0
  155. package/dist/extraction/vue-extractor.js.map +1 -0
  156. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  157. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  158. package/dist/graph/index.d.ts +8 -0
  159. package/dist/graph/index.d.ts.map +1 -0
  160. package/dist/graph/index.js +13 -0
  161. package/dist/graph/index.js.map +1 -0
  162. package/dist/graph/queries.d.ts +106 -0
  163. package/dist/graph/queries.d.ts.map +1 -0
  164. package/dist/graph/queries.js +366 -0
  165. package/dist/graph/queries.js.map +1 -0
  166. package/dist/graph/traversal.d.ts +127 -0
  167. package/dist/graph/traversal.d.ts.map +1 -0
  168. package/dist/graph/traversal.js +493 -0
  169. package/dist/graph/traversal.js.map +1 -0
  170. package/dist/index.d.ts +504 -0
  171. package/dist/index.d.ts.map +1 -0
  172. package/dist/index.js +982 -0
  173. package/dist/index.js.map +1 -0
  174. package/dist/installer/claude-md-template.d.ts +10 -0
  175. package/dist/installer/claude-md-template.d.ts.map +1 -0
  176. package/dist/installer/claude-md-template.js +46 -0
  177. package/dist/installer/claude-md-template.js.map +1 -0
  178. package/dist/installer/config-writer.d.ts +36 -0
  179. package/dist/installer/config-writer.d.ts.map +1 -0
  180. package/dist/installer/config-writer.js +304 -0
  181. package/dist/installer/config-writer.js.map +1 -0
  182. package/dist/installer/index.d.ts +12 -0
  183. package/dist/installer/index.d.ts.map +1 -0
  184. package/dist/installer/index.js +201 -0
  185. package/dist/installer/index.js.map +1 -0
  186. package/dist/mcp/index.d.ts +82 -0
  187. package/dist/mcp/index.d.ts.map +1 -0
  188. package/dist/mcp/index.js +330 -0
  189. package/dist/mcp/index.js.map +1 -0
  190. package/dist/mcp/server-instructions.d.ts +19 -0
  191. package/dist/mcp/server-instructions.d.ts.map +1 -0
  192. package/dist/mcp/server-instructions.js +59 -0
  193. package/dist/mcp/server-instructions.js.map +1 -0
  194. package/dist/mcp/tools.d.ts +187 -0
  195. package/dist/mcp/tools.d.ts.map +1 -0
  196. package/dist/mcp/tools.js +1250 -0
  197. package/dist/mcp/tools.js.map +1 -0
  198. package/dist/mcp/transport.d.ts +89 -0
  199. package/dist/mcp/transport.d.ts.map +1 -0
  200. package/dist/mcp/transport.js +170 -0
  201. package/dist/mcp/transport.js.map +1 -0
  202. package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  203. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  204. package/dist/resolution/frameworks/cargo-workspace.js +225 -0
  205. package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  206. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  207. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  208. package/dist/resolution/frameworks/csharp.js +213 -0
  209. package/dist/resolution/frameworks/csharp.js.map +1 -0
  210. package/dist/resolution/frameworks/express.d.ts +8 -0
  211. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  212. package/dist/resolution/frameworks/express.js +225 -0
  213. package/dist/resolution/frameworks/express.js.map +1 -0
  214. package/dist/resolution/frameworks/go.d.ts +8 -0
  215. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  216. package/dist/resolution/frameworks/go.js +158 -0
  217. package/dist/resolution/frameworks/go.js.map +1 -0
  218. package/dist/resolution/frameworks/index.d.ts +41 -0
  219. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  220. package/dist/resolution/frameworks/index.js +129 -0
  221. package/dist/resolution/frameworks/index.js.map +1 -0
  222. package/dist/resolution/frameworks/java.d.ts +8 -0
  223. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  224. package/dist/resolution/frameworks/java.js +177 -0
  225. package/dist/resolution/frameworks/java.js.map +1 -0
  226. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  227. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  228. package/dist/resolution/frameworks/laravel.js +248 -0
  229. package/dist/resolution/frameworks/laravel.js.map +1 -0
  230. package/dist/resolution/frameworks/python.d.ts +10 -0
  231. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  232. package/dist/resolution/frameworks/python.js +278 -0
  233. package/dist/resolution/frameworks/python.js.map +1 -0
  234. package/dist/resolution/frameworks/react.d.ts +8 -0
  235. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  236. package/dist/resolution/frameworks/react.js +272 -0
  237. package/dist/resolution/frameworks/react.js.map +1 -0
  238. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  239. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  240. package/dist/resolution/frameworks/ruby.js +198 -0
  241. package/dist/resolution/frameworks/ruby.js.map +1 -0
  242. package/dist/resolution/frameworks/rust.d.ts +8 -0
  243. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  244. package/dist/resolution/frameworks/rust.js +207 -0
  245. package/dist/resolution/frameworks/rust.js.map +1 -0
  246. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  247. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  248. package/dist/resolution/frameworks/svelte.js +249 -0
  249. package/dist/resolution/frameworks/svelte.js.map +1 -0
  250. package/dist/resolution/frameworks/swift.d.ts +10 -0
  251. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  252. package/dist/resolution/frameworks/swift.js +376 -0
  253. package/dist/resolution/frameworks/swift.js.map +1 -0
  254. package/dist/resolution/frameworks/vue.d.ts +9 -0
  255. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  256. package/dist/resolution/frameworks/vue.js +306 -0
  257. package/dist/resolution/frameworks/vue.js.map +1 -0
  258. package/dist/resolution/import-resolver.d.ts +40 -0
  259. package/dist/resolution/import-resolver.d.ts.map +1 -0
  260. package/dist/resolution/import-resolver.js +663 -0
  261. package/dist/resolution/import-resolver.js.map +1 -0
  262. package/dist/resolution/index.d.ts +106 -0
  263. package/dist/resolution/index.d.ts.map +1 -0
  264. package/dist/resolution/index.js +709 -0
  265. package/dist/resolution/index.js.map +1 -0
  266. package/dist/resolution/name-matcher.d.ts +32 -0
  267. package/dist/resolution/name-matcher.d.ts.map +1 -0
  268. package/dist/resolution/name-matcher.js +384 -0
  269. package/dist/resolution/name-matcher.js.map +1 -0
  270. package/dist/resolution/path-aliases.d.ts +68 -0
  271. package/dist/resolution/path-aliases.d.ts.map +1 -0
  272. package/dist/resolution/path-aliases.js +238 -0
  273. package/dist/resolution/path-aliases.js.map +1 -0
  274. package/dist/resolution/strip-comments.d.ts +27 -0
  275. package/dist/resolution/strip-comments.d.ts.map +1 -0
  276. package/dist/resolution/strip-comments.js +441 -0
  277. package/dist/resolution/strip-comments.js.map +1 -0
  278. package/dist/resolution/types.d.ts +172 -0
  279. package/dist/resolution/types.d.ts.map +1 -0
  280. package/dist/resolution/types.js +8 -0
  281. package/dist/resolution/types.js.map +1 -0
  282. package/dist/search/query-parser.d.ts +57 -0
  283. package/dist/search/query-parser.d.ts.map +1 -0
  284. package/dist/search/query-parser.js +177 -0
  285. package/dist/search/query-parser.js.map +1 -0
  286. package/dist/search/query-utils.d.ts +53 -0
  287. package/dist/search/query-utils.d.ts.map +1 -0
  288. package/dist/search/query-utils.js +347 -0
  289. package/dist/search/query-utils.js.map +1 -0
  290. package/dist/sync/index.d.ts +13 -0
  291. package/dist/sync/index.d.ts.map +1 -0
  292. package/dist/sync/index.js +17 -0
  293. package/dist/sync/index.js.map +1 -0
  294. package/dist/sync/watcher.d.ts +81 -0
  295. package/dist/sync/watcher.d.ts.map +1 -0
  296. package/dist/sync/watcher.js +184 -0
  297. package/dist/sync/watcher.js.map +1 -0
  298. package/dist/types.d.ts +438 -0
  299. package/dist/types.d.ts.map +1 -0
  300. package/dist/types.js +263 -0
  301. package/dist/types.js.map +1 -0
  302. package/dist/ui/shimmer-progress.d.ts +11 -0
  303. package/dist/ui/shimmer-progress.d.ts.map +1 -0
  304. package/dist/ui/shimmer-progress.js +90 -0
  305. package/dist/ui/shimmer-progress.js.map +1 -0
  306. package/dist/ui/shimmer-worker.d.ts +2 -0
  307. package/dist/ui/shimmer-worker.d.ts.map +1 -0
  308. package/dist/ui/shimmer-worker.js +112 -0
  309. package/dist/ui/shimmer-worker.js.map +1 -0
  310. package/dist/ui/types.d.ts +17 -0
  311. package/dist/ui/types.d.ts.map +1 -0
  312. package/dist/ui/types.js +3 -0
  313. package/dist/ui/types.js.map +1 -0
  314. package/dist/utils.d.ts +205 -0
  315. package/dist/utils.d.ts.map +1 -0
  316. package/dist/utils.js +549 -0
  317. package/dist/utils.js.map +1 -0
  318. package/dist/vectors/embedder.d.ts +121 -0
  319. package/dist/vectors/embedder.d.ts.map +1 -0
  320. package/dist/vectors/embedder.js +237 -0
  321. package/dist/vectors/embedder.js.map +1 -0
  322. package/dist/vectors/index.d.ts +9 -0
  323. package/dist/vectors/index.d.ts.map +1 -0
  324. package/dist/vectors/index.js +20 -0
  325. package/dist/vectors/index.js.map +1 -0
  326. package/dist/vectors/manager.d.ts +124 -0
  327. package/dist/vectors/manager.d.ts.map +1 -0
  328. package/dist/vectors/manager.js +322 -0
  329. package/dist/vectors/manager.js.map +1 -0
  330. package/dist/vectors/search.d.ts +143 -0
  331. package/dist/vectors/search.d.ts.map +1 -0
  332. package/dist/vectors/search.js +460 -0
  333. package/dist/vectors/search.js.map +1 -0
  334. package/dist/visualizer/public/index.html +1994 -0
  335. package/dist/visualizer/server.d.ts +46 -0
  336. package/dist/visualizer/server.d.ts.map +1 -0
  337. package/dist/visualizer/server.js +491 -0
  338. package/dist/visualizer/server.js.map +1 -0
  339. package/package.json +60 -0
  340. package/scripts/patch-tree-sitter-dart.js +112 -0
@@ -0,0 +1,504 @@
1
+ /**
2
+ * CodeGraph
3
+ *
4
+ * A local-first code intelligence system that builds a semantic
5
+ * knowledge graph from any codebase.
6
+ */
7
+ import { CodeGraphConfig, Node, Edge, FileRecord, ExtractionResult, Subgraph, TraversalOptions, SearchOptions, SearchResult, Context, GraphStats, TaskInput, TaskContext, BuildContextOptions, FindRelevantContextOptions } from './types';
8
+ import { IndexProgress, IndexResult, SyncResult } from './extraction';
9
+ import { ResolutionResult } from './resolution';
10
+ import { EmbeddingProgress } from './vectors';
11
+ import { WatchOptions } from './sync';
12
+ export * from './types';
13
+ export { getDatabasePath } from './db';
14
+ export { getConfigPath } from './config';
15
+ export { getCodeGraphDir, isInitialized, findNearestCodeGraphRoot, CODEGRAPH_DIR, } from './directory';
16
+ export { IndexProgress, IndexResult, SyncResult } from './extraction';
17
+ export { detectLanguage, isLanguageSupported, isGrammarLoaded, getSupportedLanguages, initGrammars, loadGrammarsForLanguages, loadAllGrammars } from './extraction';
18
+ export { ResolutionResult } from './resolution';
19
+ export { EmbeddingProgress } from './vectors';
20
+ export { CodeGraphError, FileError, ParseError, DatabaseError, SearchError, VectorError, ConfigError, Logger, setLogger, getLogger, silentLogger, defaultLogger, } from './errors';
21
+ export { Mutex, FileLock, processInBatches, debounce, throttle, MemoryMonitor } from './utils';
22
+ export { FileWatcher, WatchOptions } from './sync';
23
+ export { MCPServer } from './mcp';
24
+ /**
25
+ * Options for initializing a new CodeGraph project
26
+ */
27
+ export interface InitOptions {
28
+ /** Custom configuration overrides */
29
+ config?: Partial<CodeGraphConfig>;
30
+ /** Whether to run initial indexing after init */
31
+ index?: boolean;
32
+ /** Progress callback for indexing */
33
+ onProgress?: (progress: IndexProgress) => void;
34
+ }
35
+ /**
36
+ * Options for opening an existing CodeGraph project
37
+ */
38
+ export interface OpenOptions {
39
+ /** Whether to run sync if files have changed */
40
+ sync?: boolean;
41
+ /** Whether to run in read-only mode */
42
+ readOnly?: boolean;
43
+ }
44
+ /**
45
+ * Options for indexing
46
+ */
47
+ export interface IndexOptions {
48
+ /** Progress callback */
49
+ onProgress?: (progress: IndexProgress) => void;
50
+ /** Abort signal for cancellation */
51
+ signal?: AbortSignal;
52
+ /** Enable verbose logging (worker lifecycle, memory, timeouts) */
53
+ verbose?: boolean;
54
+ }
55
+ /**
56
+ * Main CodeGraph class
57
+ *
58
+ * Provides the primary interface for interacting with the code knowledge graph.
59
+ */
60
+ export declare class CodeGraph {
61
+ private db;
62
+ private queries;
63
+ private config;
64
+ private projectRoot;
65
+ private orchestrator;
66
+ private resolver;
67
+ private graphManager;
68
+ private traverser;
69
+ private vectorManager;
70
+ private contextBuilder;
71
+ private indexMutex;
72
+ private fileLock;
73
+ private watcher;
74
+ private constructor();
75
+ private isSemanticSearchEnabled;
76
+ private createConfiguredVectorManager;
77
+ /**
78
+ * Initialize a new CodeGraph project
79
+ *
80
+ * Creates the .CodeGraph directory, database, and configuration.
81
+ *
82
+ * @param projectRoot - Path to the project root directory
83
+ * @param options - Initialization options
84
+ * @returns A new CodeGraph instance
85
+ */
86
+ static init(projectRoot: string, options?: InitOptions): Promise<CodeGraph>;
87
+ /**
88
+ * Initialize synchronously (without indexing)
89
+ */
90
+ static initSync(projectRoot: string, options?: Omit<InitOptions, 'index' | 'onProgress'>): CodeGraph;
91
+ /**
92
+ * Open an existing CodeGraph project
93
+ *
94
+ * @param projectRoot - Path to the project root directory
95
+ * @param options - Open options
96
+ * @returns A CodeGraph instance
97
+ */
98
+ static open(projectRoot: string, options?: OpenOptions): Promise<CodeGraph>;
99
+ /**
100
+ * Open synchronously (without sync)
101
+ */
102
+ static openSync(projectRoot: string): CodeGraph;
103
+ /**
104
+ * Check if a directory has been initialized as a CodeGraph project
105
+ */
106
+ static isInitialized(projectRoot: string): boolean;
107
+ /**
108
+ * Close the CodeGraph instance and release resources
109
+ */
110
+ close(): void;
111
+ /**
112
+ * Get the current configuration
113
+ */
114
+ getConfig(): CodeGraphConfig;
115
+ /**
116
+ * Update configuration
117
+ */
118
+ updateConfig(updates: Partial<CodeGraphConfig>): void;
119
+ /**
120
+ * Get the project root directory
121
+ */
122
+ getProjectRoot(): string;
123
+ /**
124
+ * Index all files in the project
125
+ *
126
+ * Uses a mutex to prevent concurrent indexing operations.
127
+ */
128
+ indexAll(options?: IndexOptions): Promise<IndexResult>;
129
+ /**
130
+ * Index specific files
131
+ *
132
+ * Uses a mutex to prevent concurrent indexing operations.
133
+ */
134
+ indexFiles(filePaths: string[]): Promise<IndexResult>;
135
+ /**
136
+ * Sync with current file state (incremental update)
137
+ *
138
+ * Uses a mutex to prevent concurrent indexing operations.
139
+ */
140
+ sync(options?: IndexOptions): Promise<SyncResult>;
141
+ private updateSemanticIndex;
142
+ private getSemanticEligibleNodeCount;
143
+ private initializeSemanticSearchForQuery;
144
+ /**
145
+ * Check if an indexing operation is currently in progress
146
+ */
147
+ isIndexing(): boolean;
148
+ /**
149
+ * Start watching for file changes and auto-syncing.
150
+ *
151
+ * Uses native OS file events (FSEvents on macOS, inotify on Linux 19+,
152
+ * ReadDirectoryChangesW on Windows) with debouncing to avoid thrashing.
153
+ *
154
+ * @param options - Watch options (debounce delay, callbacks)
155
+ * @returns true if watching started successfully
156
+ */
157
+ watch(options?: WatchOptions): boolean;
158
+ /**
159
+ * Stop watching for file changes.
160
+ */
161
+ unwatch(): void;
162
+ /**
163
+ * Check if the file watcher is active.
164
+ */
165
+ isWatching(): boolean;
166
+ /**
167
+ * Get files that have changed since last index
168
+ */
169
+ getChangedFiles(): {
170
+ added: string[];
171
+ modified: string[];
172
+ removed: string[];
173
+ };
174
+ /**
175
+ * Extract nodes and edges from source code (without storing)
176
+ */
177
+ extractFromSource(filePath: string, source: string): ExtractionResult;
178
+ /**
179
+ * Resolve unresolved references and create edges
180
+ *
181
+ * This method takes unresolved references from extraction and attempts
182
+ * to resolve them using multiple strategies:
183
+ * - Framework-specific patterns (React, Express, Laravel)
184
+ * - Import-based resolution
185
+ * - Name-based symbol matching
186
+ */
187
+ resolveReferences(onProgress?: (current: number, total: number) => void): ResolutionResult;
188
+ /**
189
+ * Resolve references in batches to keep memory bounded on large codebases.
190
+ * Processes chunks of unresolved refs, persisting results after each batch.
191
+ */
192
+ resolveReferencesBatched(onProgress?: (current: number, total: number) => void): Promise<ResolutionResult>;
193
+ /**
194
+ * Get detected frameworks in the project
195
+ */
196
+ getDetectedFrameworks(): string[];
197
+ /**
198
+ * Re-initialize the resolver (useful after adding new files)
199
+ */
200
+ reinitializeResolver(): void;
201
+ /**
202
+ * Get statistics about the knowledge graph
203
+ */
204
+ getStats(): GraphStats;
205
+ /**
206
+ * Active SQLite backend for this project's connection. `wasm` means
207
+ * the native better-sqlite3 install failed and the WASM fallback is
208
+ * serving requests at 5-10x the latency. Surfaced via `codegraph
209
+ * status` and the `codegraph_status` MCP tool.
210
+ */
211
+ getBackend(): import('./db').SqliteBackend;
212
+ /**
213
+ * Get a node by ID
214
+ */
215
+ getNode(id: string): Node | null;
216
+ /**
217
+ * Get all nodes in a file
218
+ */
219
+ getNodesInFile(filePath: string): Node[];
220
+ /**
221
+ * Get all nodes of a specific kind
222
+ */
223
+ getNodesByKind(kind: Node['kind']): Node[];
224
+ /**
225
+ * Search nodes by text
226
+ */
227
+ searchNodes(query: string, options?: SearchOptions): SearchResult[];
228
+ /**
229
+ * Get outgoing edges from a node
230
+ */
231
+ getOutgoingEdges(nodeId: string): Edge[];
232
+ /**
233
+ * Get incoming edges to a node
234
+ */
235
+ getIncomingEdges(nodeId: string): Edge[];
236
+ /**
237
+ * Get a file record by path
238
+ */
239
+ getFile(filePath: string): FileRecord | null;
240
+ /**
241
+ * Get all tracked files
242
+ */
243
+ getFiles(): FileRecord[];
244
+ /**
245
+ * Get the context for a node (ancestors, children, references)
246
+ *
247
+ * Returns comprehensive context about a node including its containment
248
+ * hierarchy, children, incoming/outgoing references, type information,
249
+ * and relevant imports.
250
+ *
251
+ * @param nodeId - ID of the focal node
252
+ * @returns Context object with all related information
253
+ */
254
+ getContext(nodeId: string): Context;
255
+ /**
256
+ * Traverse the graph from a starting node
257
+ *
258
+ * Uses breadth-first search by default. Supports filtering by edge types,
259
+ * node types, and traversal direction.
260
+ *
261
+ * @param startId - Starting node ID
262
+ * @param options - Traversal options
263
+ * @returns Subgraph containing traversed nodes and edges
264
+ */
265
+ traverse(startId: string, options?: TraversalOptions): Subgraph;
266
+ /**
267
+ * Get the call graph for a function
268
+ *
269
+ * Returns both callers (functions that call this function) and
270
+ * callees (functions called by this function) up to the specified depth.
271
+ *
272
+ * @param nodeId - ID of the function/method node
273
+ * @param depth - Maximum depth in each direction (default: 2)
274
+ * @returns Subgraph containing the call graph
275
+ */
276
+ getCallGraph(nodeId: string, depth?: number): Subgraph;
277
+ /**
278
+ * Get the type hierarchy for a class/interface
279
+ *
280
+ * Returns both ancestors (types this extends/implements) and
281
+ * descendants (types that extend/implement this).
282
+ *
283
+ * @param nodeId - ID of the class/interface node
284
+ * @returns Subgraph containing the type hierarchy
285
+ */
286
+ getTypeHierarchy(nodeId: string): Subgraph;
287
+ /**
288
+ * Find all usages of a symbol
289
+ *
290
+ * Returns all nodes that reference the specified symbol through
291
+ * any edge type (calls, references, type_of, etc.).
292
+ *
293
+ * @param nodeId - ID of the symbol node
294
+ * @returns Array of nodes and edges that reference this symbol
295
+ */
296
+ findUsages(nodeId: string): Array<{
297
+ node: Node;
298
+ edge: Edge;
299
+ }>;
300
+ /**
301
+ * Get callers of a function/method
302
+ *
303
+ * @param nodeId - ID of the function/method node
304
+ * @param maxDepth - Maximum depth to traverse (default: 1)
305
+ * @returns Array of nodes that call this function
306
+ */
307
+ getCallers(nodeId: string, maxDepth?: number): Array<{
308
+ node: Node;
309
+ edge: Edge;
310
+ }>;
311
+ /**
312
+ * Get callees of a function/method
313
+ *
314
+ * @param nodeId - ID of the function/method node
315
+ * @param maxDepth - Maximum depth to traverse (default: 1)
316
+ * @returns Array of nodes called by this function
317
+ */
318
+ getCallees(nodeId: string, maxDepth?: number): Array<{
319
+ node: Node;
320
+ edge: Edge;
321
+ }>;
322
+ /**
323
+ * Calculate the impact radius of a node
324
+ *
325
+ * Returns all nodes that could be affected by changes to this node.
326
+ *
327
+ * @param nodeId - ID of the node
328
+ * @param maxDepth - Maximum depth to traverse (default: 3)
329
+ * @returns Subgraph containing potentially impacted nodes
330
+ */
331
+ getImpactRadius(nodeId: string, maxDepth?: number): Subgraph;
332
+ /**
333
+ * Find the shortest path between two nodes
334
+ *
335
+ * @param fromId - Starting node ID
336
+ * @param toId - Target node ID
337
+ * @param edgeKinds - Edge types to consider (all if empty)
338
+ * @returns Array of nodes and edges forming the path, or null if no path exists
339
+ */
340
+ findPath(fromId: string, toId: string, edgeKinds?: Edge['kind'][]): Array<{
341
+ node: Node;
342
+ edge: Edge | null;
343
+ }> | null;
344
+ /**
345
+ * Get ancestors of a node in the containment hierarchy
346
+ *
347
+ * @param nodeId - ID of the node
348
+ * @returns Array of ancestor nodes from immediate parent to root
349
+ */
350
+ getAncestors(nodeId: string): Node[];
351
+ /**
352
+ * Get immediate children of a node
353
+ *
354
+ * @param nodeId - ID of the node
355
+ * @returns Array of child nodes
356
+ */
357
+ getChildren(nodeId: string): Node[];
358
+ /**
359
+ * Get dependencies of a file
360
+ *
361
+ * @param filePath - Path to the file
362
+ * @returns Array of file paths this file depends on
363
+ */
364
+ getFileDependencies(filePath: string): string[];
365
+ /**
366
+ * Get dependents of a file
367
+ *
368
+ * @param filePath - Path to the file
369
+ * @returns Array of file paths that depend on this file
370
+ */
371
+ getFileDependents(filePath: string): string[];
372
+ /**
373
+ * Find circular dependencies in the codebase
374
+ *
375
+ * @returns Array of cycles, each cycle is an array of file paths
376
+ */
377
+ findCircularDependencies(): string[][];
378
+ /**
379
+ * Find dead code (unreferenced symbols)
380
+ *
381
+ * @param kinds - Node kinds to check (default: functions, methods, classes)
382
+ * @returns Array of unreferenced nodes
383
+ */
384
+ findDeadCode(kinds?: Node['kind'][]): Node[];
385
+ /**
386
+ * Get complexity metrics for a node
387
+ *
388
+ * @param nodeId - ID of the node
389
+ * @returns Object containing various complexity metrics
390
+ */
391
+ getNodeMetrics(nodeId: string): {
392
+ incomingEdgeCount: number;
393
+ outgoingEdgeCount: number;
394
+ callCount: number;
395
+ callerCount: number;
396
+ childCount: number;
397
+ depth: number;
398
+ };
399
+ /**
400
+ * Initialize the embedding system
401
+ *
402
+ * This validates Gemini configuration and initializes the local vector
403
+ * search system. Must be called before using semantic search.
404
+ */
405
+ initializeEmbeddings(): Promise<void>;
406
+ /**
407
+ * Check if embeddings are initialized
408
+ */
409
+ isEmbeddingsInitialized(): boolean;
410
+ /**
411
+ * Generate embeddings for all eligible nodes
412
+ *
413
+ * @param onProgress - Optional progress callback
414
+ * @returns Number of nodes embedded
415
+ */
416
+ generateEmbeddings(onProgress?: (progress: EmbeddingProgress) => void): Promise<number>;
417
+ /**
418
+ * Semantic search using embeddings
419
+ *
420
+ * Searches for code nodes semantically similar to the query.
421
+ * Requires embeddings to be initialized first.
422
+ *
423
+ * @param query - Natural language search query
424
+ * @param limit - Maximum number of results (default: 10)
425
+ * @returns Array of search results with similarity scores
426
+ */
427
+ semanticSearch(query: string, limit?: number): Promise<SearchResult[]>;
428
+ /**
429
+ * Find similar code blocks
430
+ *
431
+ * Finds nodes semantically similar to a given node.
432
+ * Requires embeddings to be initialized first.
433
+ *
434
+ * @param nodeId - ID of the node to find similar nodes for
435
+ * @param limit - Maximum number of results (default: 10)
436
+ * @returns Array of similar nodes with similarity scores
437
+ */
438
+ findSimilar(nodeId: string, limit?: number): Promise<SearchResult[]>;
439
+ /**
440
+ * Get vector embedding statistics
441
+ */
442
+ getEmbeddingStats(): {
443
+ totalVectors: number;
444
+ vssEnabled: boolean;
445
+ modelId: string;
446
+ dimension: number;
447
+ } | null;
448
+ /**
449
+ * Get the source code for a node
450
+ *
451
+ * Reads the file and extracts the code between startLine and endLine.
452
+ *
453
+ * @param nodeId - ID of the node
454
+ * @returns Code string or null if not found
455
+ */
456
+ getCode(nodeId: string): Promise<string | null>;
457
+ /**
458
+ * Find relevant subgraph for a query
459
+ *
460
+ * Combines semantic search with graph traversal to find the most
461
+ * relevant nodes and their relationships for a given query.
462
+ *
463
+ * @param query - Natural language query describing the task
464
+ * @param options - Search and traversal options
465
+ * @returns Subgraph of relevant nodes and edges
466
+ */
467
+ findRelevantContext(query: string, options?: FindRelevantContextOptions): Promise<Subgraph>;
468
+ /**
469
+ * Build context for a task
470
+ *
471
+ * Creates comprehensive context by:
472
+ * 1. Running semantic search to find entry points
473
+ * 2. Expanding the graph around entry points
474
+ * 3. Extracting code blocks for key nodes
475
+ * 4. Formatting output for Claude
476
+ *
477
+ * @param input - Task description (string or {title, description})
478
+ * @param options - Build options (maxNodes, includeCode, format, etc.)
479
+ * @returns TaskContext object or formatted string (markdown/JSON)
480
+ */
481
+ buildContext(input: TaskInput, options?: BuildContextOptions): Promise<TaskContext | string>;
482
+ /**
483
+ * Optimize the database (vacuum and analyze)
484
+ */
485
+ optimize(): void;
486
+ /**
487
+ * Clear all data from the graph
488
+ */
489
+ clear(): void;
490
+ /**
491
+ * Alias for close() for backwards compatibility.
492
+ * @deprecated Use close() instead
493
+ */
494
+ destroy(): void;
495
+ /**
496
+ * Completely remove CodeGraph from the project.
497
+ * This closes the database and deletes the .CodeGraph directory.
498
+ *
499
+ * WARNING: This permanently deletes all CodeGraph data for the project.
500
+ */
501
+ uninitialize(): void;
502
+ }
503
+ export default CodeGraph;
504
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}