@dewtech/dare-cli 3.4.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/dist/__tests__/dag-runner/buildLocateContext.test.d.ts +2 -0
  2. package/dist/__tests__/dag-runner/buildLocateContext.test.d.ts.map +1 -0
  3. package/dist/__tests__/dag-runner/buildLocateContext.test.js +53 -0
  4. package/dist/__tests__/dag-runner/buildLocateContext.test.js.map +1 -0
  5. package/dist/__tests__/dual-graph.test.d.ts +2 -0
  6. package/dist/__tests__/dual-graph.test.d.ts.map +1 -0
  7. package/dist/__tests__/dual-graph.test.js +141 -0
  8. package/dist/__tests__/dual-graph.test.js.map +1 -0
  9. package/dist/__tests__/graphrag/contract/traverse.contract.d.ts +9 -0
  10. package/dist/__tests__/graphrag/contract/traverse.contract.d.ts.map +1 -0
  11. package/dist/__tests__/graphrag/contract/traverse.contract.js +58 -0
  12. package/dist/__tests__/graphrag/contract/traverse.contract.js.map +1 -0
  13. package/dist/__tests__/graphrag/contract/traverse.contract.test.d.ts +2 -0
  14. package/dist/__tests__/graphrag/contract/traverse.contract.test.d.ts.map +1 -0
  15. package/dist/__tests__/graphrag/contract/traverse.contract.test.js +100 -0
  16. package/dist/__tests__/graphrag/contract/traverse.contract.test.js.map +1 -0
  17. package/dist/__tests__/graphrag/factory.test.js +10 -1
  18. package/dist/__tests__/graphrag/factory.test.js.map +1 -1
  19. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.d.ts +11 -0
  20. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.d.ts.map +1 -0
  21. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js +34 -0
  22. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js.map +1 -0
  23. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.d.ts +2 -0
  24. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.d.ts.map +1 -0
  25. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.js +46 -0
  26. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.js.map +1 -0
  27. package/dist/__tests__/graphrag/graph-rag.test.js +31 -0
  28. package/dist/__tests__/graphrag/graph-rag.test.js.map +1 -1
  29. package/dist/__tests__/graphrag/json-graph.test.js +57 -0
  30. package/dist/__tests__/graphrag/json-graph.test.js.map +1 -1
  31. package/dist/__tests__/graphrag/neo4j-graph.test.d.ts +2 -0
  32. package/dist/__tests__/graphrag/neo4j-graph.test.d.ts.map +1 -0
  33. package/dist/__tests__/graphrag/neo4j-graph.test.js +104 -0
  34. package/dist/__tests__/graphrag/neo4j-graph.test.js.map +1 -0
  35. package/dist/__tests__/graphrag/neo4j-persistence.test.d.ts +2 -0
  36. package/dist/__tests__/graphrag/neo4j-persistence.test.d.ts.map +1 -0
  37. package/dist/__tests__/graphrag/neo4j-persistence.test.js +110 -0
  38. package/dist/__tests__/graphrag/neo4j-persistence.test.js.map +1 -0
  39. package/dist/__tests__/ide-adapters.test.d.ts +2 -0
  40. package/dist/__tests__/ide-adapters.test.d.ts.map +1 -0
  41. package/dist/__tests__/ide-adapters.test.js +39 -0
  42. package/dist/__tests__/ide-adapters.test.js.map +1 -0
  43. package/dist/__tests__/ide-command-parity.test.js +2 -0
  44. package/dist/__tests__/ide-command-parity.test.js.map +1 -1
  45. package/dist/bin/dare.js +4 -0
  46. package/dist/bin/dare.js.map +1 -1
  47. package/dist/commands/__tests__/execute.telemetry.spec.js +9 -0
  48. package/dist/commands/__tests__/execute.telemetry.spec.js.map +1 -1
  49. package/dist/commands/__tests__/graph-viz-layers.test.d.ts +2 -0
  50. package/dist/commands/__tests__/graph-viz-layers.test.d.ts.map +1 -0
  51. package/dist/commands/__tests__/graph-viz-layers.test.js +36 -0
  52. package/dist/commands/__tests__/graph-viz-layers.test.js.map +1 -0
  53. package/dist/commands/__tests__/hooks.test.d.ts +2 -0
  54. package/dist/commands/__tests__/hooks.test.d.ts.map +1 -0
  55. package/dist/commands/__tests__/hooks.test.js +109 -0
  56. package/dist/commands/__tests__/hooks.test.js.map +1 -0
  57. package/dist/commands/__tests__/impact.test.d.ts +2 -0
  58. package/dist/commands/__tests__/impact.test.d.ts.map +1 -0
  59. package/dist/commands/__tests__/impact.test.js +26 -0
  60. package/dist/commands/__tests__/impact.test.js.map +1 -0
  61. package/dist/commands/__tests__/locate.test.d.ts +2 -0
  62. package/dist/commands/__tests__/locate.test.d.ts.map +1 -0
  63. package/dist/commands/__tests__/locate.test.js +35 -0
  64. package/dist/commands/__tests__/locate.test.js.map +1 -0
  65. package/dist/commands/__tests__/owners.test.d.ts +2 -0
  66. package/dist/commands/__tests__/owners.test.d.ts.map +1 -0
  67. package/dist/commands/__tests__/owners.test.js +34 -0
  68. package/dist/commands/__tests__/owners.test.js.map +1 -0
  69. package/dist/commands/__tests__/steering.test.d.ts +2 -0
  70. package/dist/commands/__tests__/steering.test.d.ts.map +1 -0
  71. package/dist/commands/__tests__/steering.test.js +69 -0
  72. package/dist/commands/__tests__/steering.test.js.map +1 -0
  73. package/dist/commands/__tests__/trace.test.d.ts +2 -0
  74. package/dist/commands/__tests__/trace.test.d.ts.map +1 -0
  75. package/dist/commands/__tests__/trace.test.js +29 -0
  76. package/dist/commands/__tests__/trace.test.js.map +1 -0
  77. package/dist/commands/execute.d.ts.map +1 -1
  78. package/dist/commands/execute.js +11 -6
  79. package/dist/commands/execute.js.map +1 -1
  80. package/dist/commands/graph-queries.d.ts +48 -0
  81. package/dist/commands/graph-queries.d.ts.map +1 -0
  82. package/dist/commands/graph-queries.js +204 -0
  83. package/dist/commands/graph-queries.js.map +1 -0
  84. package/dist/commands/graph.d.ts +13 -0
  85. package/dist/commands/graph.d.ts.map +1 -1
  86. package/dist/commands/graph.js +212 -8
  87. package/dist/commands/graph.js.map +1 -1
  88. package/dist/commands/hooks.d.ts +3 -0
  89. package/dist/commands/hooks.d.ts.map +1 -0
  90. package/dist/commands/hooks.js +163 -0
  91. package/dist/commands/hooks.js.map +1 -0
  92. package/dist/commands/steering.d.ts +3 -0
  93. package/dist/commands/steering.d.ts.map +1 -0
  94. package/dist/commands/steering.js +70 -0
  95. package/dist/commands/steering.js.map +1 -0
  96. package/dist/dag-runner/__tests__/fixtures/src/math.d.ts +3 -0
  97. package/dist/dag-runner/__tests__/fixtures/src/math.d.ts.map +1 -0
  98. package/dist/dag-runner/__tests__/fixtures/src/math.js +7 -0
  99. package/dist/dag-runner/__tests__/fixtures/src/math.js.map +1 -0
  100. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.d.ts +2 -0
  101. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.d.ts.map +1 -0
  102. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.js +81 -0
  103. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.js.map +1 -0
  104. package/dist/dag-runner/graph-ingest.d.ts.map +1 -1
  105. package/dist/dag-runner/graph-ingest.js +46 -0
  106. package/dist/dag-runner/graph-ingest.js.map +1 -1
  107. package/dist/dag-runner/graph-locate.d.ts +11 -0
  108. package/dist/dag-runner/graph-locate.d.ts.map +1 -0
  109. package/dist/dag-runner/graph-locate.js +74 -0
  110. package/dist/dag-runner/graph-locate.js.map +1 -0
  111. package/dist/dag-runner/run_dag.d.ts +3 -1
  112. package/dist/dag-runner/run_dag.d.ts.map +1 -1
  113. package/dist/dag-runner/run_dag.js +2 -1
  114. package/dist/dag-runner/run_dag.js.map +1 -1
  115. package/dist/dag-runner/utils/stitch-context.d.ts +3 -1
  116. package/dist/dag-runner/utils/stitch-context.d.ts.map +1 -1
  117. package/dist/dag-runner/utils/stitch-context.js +8 -2
  118. package/dist/dag-runner/utils/stitch-context.js.map +1 -1
  119. package/dist/graphrag/__tests__/code-index.test.d.ts +2 -0
  120. package/dist/graphrag/__tests__/code-index.test.d.ts.map +1 -0
  121. package/dist/graphrag/__tests__/code-index.test.js +75 -0
  122. package/dist/graphrag/__tests__/code-index.test.js.map +1 -0
  123. package/dist/graphrag/__tests__/fixtures/code-index/sample.d.ts +5 -0
  124. package/dist/graphrag/__tests__/fixtures/code-index/sample.d.ts.map +1 -0
  125. package/dist/graphrag/__tests__/fixtures/code-index/sample.js +10 -0
  126. package/dist/graphrag/__tests__/fixtures/code-index/sample.js.map +1 -0
  127. package/dist/graphrag/__tests__/locate.test.d.ts +2 -0
  128. package/dist/graphrag/__tests__/locate.test.d.ts.map +1 -0
  129. package/dist/graphrag/__tests__/locate.test.js +43 -0
  130. package/dist/graphrag/__tests__/locate.test.js.map +1 -0
  131. package/dist/graphrag/__tests__/requirement-ingest.test.d.ts +2 -0
  132. package/dist/graphrag/__tests__/requirement-ingest.test.d.ts.map +1 -0
  133. package/dist/graphrag/__tests__/requirement-ingest.test.js +66 -0
  134. package/dist/graphrag/__tests__/requirement-ingest.test.js.map +1 -0
  135. package/dist/graphrag/__tests__/traverse.test.d.ts +2 -0
  136. package/dist/graphrag/__tests__/traverse.test.d.ts.map +1 -0
  137. package/dist/graphrag/__tests__/traverse.test.js +71 -0
  138. package/dist/graphrag/__tests__/traverse.test.js.map +1 -0
  139. package/dist/graphrag/__tests__/types.test.d.ts +2 -0
  140. package/dist/graphrag/__tests__/types.test.d.ts.map +1 -0
  141. package/dist/graphrag/__tests__/types.test.js +52 -0
  142. package/dist/graphrag/__tests__/types.test.js.map +1 -0
  143. package/dist/graphrag/code-index.d.ts +15 -0
  144. package/dist/graphrag/code-index.d.ts.map +1 -0
  145. package/dist/graphrag/code-index.js +205 -0
  146. package/dist/graphrag/code-index.js.map +1 -0
  147. package/dist/graphrag/factory.d.ts.map +1 -1
  148. package/dist/graphrag/factory.js +5 -0
  149. package/dist/graphrag/factory.js.map +1 -1
  150. package/dist/graphrag/graph-rag.d.ts +6 -2
  151. package/dist/graphrag/graph-rag.d.ts.map +1 -1
  152. package/dist/graphrag/graph-rag.js +40 -2
  153. package/dist/graphrag/graph-rag.js.map +1 -1
  154. package/dist/graphrag/index.d.ts +8 -2
  155. package/dist/graphrag/index.d.ts.map +1 -1
  156. package/dist/graphrag/index.js +5 -1
  157. package/dist/graphrag/index.js.map +1 -1
  158. package/dist/graphrag/json-graph.d.ts +8 -0
  159. package/dist/graphrag/json-graph.d.ts.map +1 -1
  160. package/dist/graphrag/json-graph.js +50 -4
  161. package/dist/graphrag/json-graph.js.map +1 -1
  162. package/dist/graphrag/knowledge-graph.d.ts +8 -3
  163. package/dist/graphrag/knowledge-graph.d.ts.map +1 -1
  164. package/dist/graphrag/neo4j-graph.d.ts +19 -18
  165. package/dist/graphrag/neo4j-graph.d.ts.map +1 -1
  166. package/dist/graphrag/neo4j-graph.js +164 -38
  167. package/dist/graphrag/neo4j-graph.js.map +1 -1
  168. package/dist/graphrag/requirement-ingest.d.ts +15 -0
  169. package/dist/graphrag/requirement-ingest.d.ts.map +1 -0
  170. package/dist/graphrag/requirement-ingest.js +158 -0
  171. package/dist/graphrag/requirement-ingest.js.map +1 -0
  172. package/dist/graphrag/traverse.d.ts +5 -0
  173. package/dist/graphrag/traverse.d.ts.map +1 -0
  174. package/dist/graphrag/traverse.js +139 -0
  175. package/dist/graphrag/traverse.js.map +1 -0
  176. package/dist/graphrag/types.d.ts +60 -2
  177. package/dist/graphrag/types.d.ts.map +1 -1
  178. package/dist/graphrag/types.js +34 -1
  179. package/dist/graphrag/types.js.map +1 -1
  180. package/dist/hooks/__tests__/allowlist.test.d.ts +2 -0
  181. package/dist/hooks/__tests__/allowlist.test.d.ts.map +1 -0
  182. package/dist/hooks/__tests__/allowlist.test.js +29 -0
  183. package/dist/hooks/__tests__/allowlist.test.js.map +1 -0
  184. package/dist/hooks/__tests__/config.test.d.ts +2 -0
  185. package/dist/hooks/__tests__/config.test.d.ts.map +1 -0
  186. package/dist/hooks/__tests__/config.test.js +57 -0
  187. package/dist/hooks/__tests__/config.test.js.map +1 -0
  188. package/dist/hooks/__tests__/dispatcher.security.test.d.ts +2 -0
  189. package/dist/hooks/__tests__/dispatcher.security.test.d.ts.map +1 -0
  190. package/dist/hooks/__tests__/dispatcher.security.test.js +86 -0
  191. package/dist/hooks/__tests__/dispatcher.security.test.js.map +1 -0
  192. package/dist/hooks/__tests__/dispatcher.test.d.ts +2 -0
  193. package/dist/hooks/__tests__/dispatcher.test.d.ts.map +1 -0
  194. package/dist/hooks/__tests__/dispatcher.test.js +69 -0
  195. package/dist/hooks/__tests__/dispatcher.test.js.map +1 -0
  196. package/dist/hooks/__tests__/idempotency.test.d.ts +2 -0
  197. package/dist/hooks/__tests__/idempotency.test.d.ts.map +1 -0
  198. package/dist/hooks/__tests__/idempotency.test.js +45 -0
  199. package/dist/hooks/__tests__/idempotency.test.js.map +1 -0
  200. package/dist/hooks/__tests__/telemetry.test.d.ts +2 -0
  201. package/dist/hooks/__tests__/telemetry.test.d.ts.map +1 -0
  202. package/dist/hooks/__tests__/telemetry.test.js +52 -0
  203. package/dist/hooks/__tests__/telemetry.test.js.map +1 -0
  204. package/dist/hooks/allowlist.d.ts +24 -0
  205. package/dist/hooks/allowlist.d.ts.map +1 -0
  206. package/dist/hooks/allowlist.js +61 -0
  207. package/dist/hooks/allowlist.js.map +1 -0
  208. package/dist/hooks/config.d.ts +24 -0
  209. package/dist/hooks/config.d.ts.map +1 -0
  210. package/dist/hooks/config.js +82 -0
  211. package/dist/hooks/config.js.map +1 -0
  212. package/dist/hooks/dispatcher.d.ts +17 -0
  213. package/dist/hooks/dispatcher.d.ts.map +1 -0
  214. package/dist/hooks/dispatcher.js +157 -0
  215. package/dist/hooks/dispatcher.js.map +1 -0
  216. package/dist/hooks/idempotency.d.ts +14 -0
  217. package/dist/hooks/idempotency.d.ts.map +1 -0
  218. package/dist/hooks/idempotency.js +64 -0
  219. package/dist/hooks/idempotency.js.map +1 -0
  220. package/dist/hooks/telemetry.d.ts +12 -0
  221. package/dist/hooks/telemetry.d.ts.map +1 -0
  222. package/dist/hooks/telemetry.js +66 -0
  223. package/dist/hooks/telemetry.js.map +1 -0
  224. package/dist/hooks/types.d.ts +36 -0
  225. package/dist/hooks/types.d.ts.map +1 -0
  226. package/dist/hooks/types.js +7 -0
  227. package/dist/hooks/types.js.map +1 -0
  228. package/dist/index.d.ts +2 -0
  229. package/dist/index.d.ts.map +1 -1
  230. package/dist/index.js +2 -0
  231. package/dist/index.js.map +1 -1
  232. package/dist/mcp-server/__tests__/mcp-graph.test.d.ts +2 -0
  233. package/dist/mcp-server/__tests__/mcp-graph.test.d.ts.map +1 -0
  234. package/dist/mcp-server/__tests__/mcp-graph.test.js +85 -0
  235. package/dist/mcp-server/__tests__/mcp-graph.test.js.map +1 -0
  236. package/dist/mcp-server/__tests__/mcp-steering.test.d.ts +2 -0
  237. package/dist/mcp-server/__tests__/mcp-steering.test.d.ts.map +1 -0
  238. package/dist/mcp-server/__tests__/mcp-steering.test.js +90 -0
  239. package/dist/mcp-server/__tests__/mcp-steering.test.js.map +1 -0
  240. package/dist/mcp-server/server.d.ts.map +1 -1
  241. package/dist/mcp-server/server.js +136 -1
  242. package/dist/mcp-server/server.js.map +1 -1
  243. package/dist/steering/__tests__/loader.test.d.ts +2 -0
  244. package/dist/steering/__tests__/loader.test.d.ts.map +1 -0
  245. package/dist/steering/__tests__/loader.test.js +80 -0
  246. package/dist/steering/__tests__/loader.test.js.map +1 -0
  247. package/dist/steering/__tests__/resolver.security.test.d.ts +2 -0
  248. package/dist/steering/__tests__/resolver.security.test.d.ts.map +1 -0
  249. package/dist/steering/__tests__/resolver.security.test.js +42 -0
  250. package/dist/steering/__tests__/resolver.security.test.js.map +1 -0
  251. package/dist/steering/__tests__/resolver.test.d.ts +2 -0
  252. package/dist/steering/__tests__/resolver.test.d.ts.map +1 -0
  253. package/dist/steering/__tests__/resolver.test.js +75 -0
  254. package/dist/steering/__tests__/resolver.test.js.map +1 -0
  255. package/dist/steering/loader.d.ts +8 -0
  256. package/dist/steering/loader.d.ts.map +1 -0
  257. package/dist/steering/loader.js +98 -0
  258. package/dist/steering/loader.js.map +1 -0
  259. package/dist/steering/resolver.d.ts +6 -0
  260. package/dist/steering/resolver.d.ts.map +1 -0
  261. package/dist/steering/resolver.js +59 -0
  262. package/dist/steering/resolver.js.map +1 -0
  263. package/dist/steering/types.d.ts +22 -0
  264. package/dist/steering/types.d.ts.map +1 -0
  265. package/dist/steering/types.js +2 -0
  266. package/dist/steering/types.js.map +1 -0
  267. package/dist/utils/UpdateApplier.d.ts.map +1 -1
  268. package/dist/utils/UpdateApplier.js +2 -0
  269. package/dist/utils/UpdateApplier.js.map +1 -1
  270. package/dist/utils/__tests__/static-analyzer-exports.test.d.ts +2 -0
  271. package/dist/utils/__tests__/static-analyzer-exports.test.d.ts.map +1 -0
  272. package/dist/utils/__tests__/static-analyzer-exports.test.js +21 -0
  273. package/dist/utils/__tests__/static-analyzer-exports.test.js.map +1 -0
  274. package/dist/utils/project-generator.d.ts.map +1 -1
  275. package/dist/utils/project-generator.js +14 -0
  276. package/dist/utils/project-generator.js.map +1 -1
  277. package/dist/utils/static-analyzer.d.ts +9 -0
  278. package/dist/utils/static-analyzer.d.ts.map +1 -1
  279. package/dist/utils/static-analyzer.js +2 -2
  280. package/dist/utils/static-analyzer.js.map +1 -1
  281. package/dist/verification/__tests__/telemetry.test.js +9 -0
  282. package/dist/verification/__tests__/telemetry.test.js.map +1 -1
  283. package/package.json +1 -1
  284. package/templates/hooks/dare.config.hooks.example.json +12 -0
  285. package/templates/hooks/pre-commit-dare-validate +2 -2
  286. package/templates/ide/antigravity/.agents/skills/dare-hooks/SKILL.md +13 -0
  287. package/templates/ide/antigravity/.agents/skills/dare-steering/SKILL.md +15 -0
  288. package/templates/ide/antigravity/templates/HOOKS-ADAPTER.md +14 -0
  289. package/templates/ide/claude/.claude/commands/dare-hooks.md +17 -0
  290. package/templates/ide/claude/.claude/commands/dare-steering.md +19 -0
  291. package/templates/ide/claude/.claude/settings.example.json +1 -1
  292. package/templates/ide/cursor/.cursor/commands/dare-hooks.md +17 -0
  293. package/templates/ide/cursor/.cursor/commands/dare-steering.md +19 -0
  294. package/templates/ide/cursor/templates/HOOKS-ADAPTER.md +14 -0
@@ -0,0 +1,205 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { SUPPORTED_EXTENSIONS, inString, isTestFile } from '../utils/static-analyzer.js';
4
+ /** Normaliza path para qualifiedName (posix, lowercase drive no win32). */
5
+ export function toQualifiedName(filePath, symbol) {
6
+ let posix = filePath.replace(/\\/g, '/');
7
+ if (/^[A-Za-z]:/.test(posix)) {
8
+ posix = posix[0].toLowerCase() + posix.slice(1);
9
+ }
10
+ return `${posix}::${symbol}`;
11
+ }
12
+ function sortSymbols(symbols) {
13
+ return [...symbols].sort((a, b) => {
14
+ if (a.path !== b.path)
15
+ return a.path.localeCompare(b.path);
16
+ if (a.line !== b.line)
17
+ return a.line - b.line;
18
+ return a.symbol.localeCompare(b.symbol);
19
+ });
20
+ }
21
+ function pushSymbol(out, relPath, symbol, kind, line) {
22
+ out.push({
23
+ path: relPath,
24
+ symbol,
25
+ kind,
26
+ qualifiedName: toQualifiedName(relPath, symbol),
27
+ line,
28
+ });
29
+ }
30
+ function matchNameCol(line, re) {
31
+ const m = re.exec(line);
32
+ if (!m)
33
+ return null;
34
+ const symbol = [...m].reverse().find((g) => typeof g === 'string' && /^\w+$/.test(g));
35
+ if (!symbol)
36
+ return null;
37
+ const col = m.index + m[0].indexOf(symbol);
38
+ if (inString(line, col))
39
+ return null;
40
+ return { symbol, col };
41
+ }
42
+ function extractTsJs(lines, relPath, out) {
43
+ const fnRe = /^(export\s+)?(async\s+)?function\s+(\w+)\s*\(/;
44
+ const classRe = /^(export\s+)?(abstract\s+)?class\s+(\w+)/;
45
+ const methodRe = /^\s+(\w+)\s*\(/;
46
+ let braceDepth = 0;
47
+ let inClassBody = false;
48
+ for (let i = 0; i < lines.length; i++) {
49
+ const line = lines[i];
50
+ if (!inClassBody) {
51
+ const fnMatch = matchNameCol(line, fnRe);
52
+ if (fnMatch) {
53
+ pushSymbol(out, relPath, fnMatch.symbol, 'function', i + 1);
54
+ }
55
+ const classMatch = matchNameCol(line, classRe);
56
+ if (classMatch) {
57
+ pushSymbol(out, relPath, classMatch.symbol, 'class', i + 1);
58
+ if (line.includes('{')) {
59
+ inClassBody = true;
60
+ braceDepth =
61
+ (line.match(/\{/g) ?? []).length - (line.match(/\}/g) ?? []).length;
62
+ }
63
+ }
64
+ continue;
65
+ }
66
+ const methodMatch = matchNameCol(line, methodRe);
67
+ if (methodMatch && !/^(if|for|while|switch|catch|return)\b/.test(methodMatch.symbol)) {
68
+ pushSymbol(out, relPath, methodMatch.symbol, 'method', i + 1);
69
+ }
70
+ braceDepth += (line.match(/\{/g) ?? []).length;
71
+ braceDepth -= (line.match(/\}/g) ?? []).length;
72
+ if (braceDepth <= 0) {
73
+ inClassBody = false;
74
+ braceDepth = 0;
75
+ }
76
+ }
77
+ }
78
+ function extractPython(lines, relPath, out) {
79
+ const defRe = /^def\s+(\w+)\s*\(/;
80
+ const classRe = /^class\s+(\w+)/;
81
+ let inClass = false;
82
+ for (let i = 0; i < lines.length; i++) {
83
+ const line = lines[i];
84
+ if (!inClass) {
85
+ const classMatch = matchNameCol(line, classRe);
86
+ if (classMatch) {
87
+ pushSymbol(out, relPath, classMatch.symbol, 'class', i + 1);
88
+ inClass = true;
89
+ continue;
90
+ }
91
+ const defMatch = matchNameCol(line, defRe);
92
+ if (defMatch) {
93
+ pushSymbol(out, relPath, defMatch.symbol, 'function', i + 1);
94
+ }
95
+ }
96
+ else {
97
+ if (line.trim() === '' || /^\s/.test(line)) {
98
+ if (/^class\s/.test(line.trim()))
99
+ inClass = false;
100
+ const indentedDef = /^\s+def\s+(\w+)\s*\(/.exec(line);
101
+ if (indentedDef?.[1]) {
102
+ const col = line.indexOf(indentedDef[1]);
103
+ if (!inString(line, col)) {
104
+ pushSymbol(out, relPath, indentedDef[1], 'method', i + 1);
105
+ }
106
+ }
107
+ }
108
+ else {
109
+ inClass = false;
110
+ const defMatch = matchNameCol(line, defRe);
111
+ if (defMatch) {
112
+ pushSymbol(out, relPath, defMatch.symbol, 'function', i + 1);
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
118
+ function extractGo(lines, relPath, out) {
119
+ const fnRe = /^func\s+(\w+)\s*\(/;
120
+ const methodRe = /^func\s+\([^)]*\)\s+(\w+)\s*\(/;
121
+ for (let i = 0; i < lines.length; i++) {
122
+ const line = lines[i];
123
+ const methodMatch = matchNameCol(line, methodRe);
124
+ if (methodMatch) {
125
+ pushSymbol(out, relPath, methodMatch.symbol, 'method', i + 1);
126
+ continue;
127
+ }
128
+ const fnMatch = matchNameCol(line, fnRe);
129
+ if (fnMatch) {
130
+ pushSymbol(out, relPath, fnMatch.symbol, 'function', i + 1);
131
+ }
132
+ }
133
+ }
134
+ function extractRust(lines, relPath, out) {
135
+ const fnRe = /^(pub\s+)?(async\s+)?fn\s+(\w+)\s*\(/;
136
+ for (let i = 0; i < lines.length; i++) {
137
+ const fnMatch = matchNameCol(lines[i], fnRe);
138
+ if (fnMatch) {
139
+ pushSymbol(out, relPath, fnMatch.symbol, 'function', i + 1);
140
+ }
141
+ }
142
+ }
143
+ function extractPhp(lines, relPath, out) {
144
+ const fnRe = /^\s*(?:public|private|protected)?\s*function\s+(\w+)\s*\(/;
145
+ for (let i = 0; i < lines.length; i++) {
146
+ const m = matchNameCol(lines[i], fnRe);
147
+ if (!m)
148
+ continue;
149
+ const kind = /^\s+/.test(lines[i]) ? 'method' : 'function';
150
+ pushSymbol(out, relPath, m.symbol, kind, i + 1);
151
+ }
152
+ }
153
+ function extractByExtension(ext, lines, relPath) {
154
+ const out = [];
155
+ if (['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'].includes(ext)) {
156
+ extractTsJs(lines, relPath, out);
157
+ }
158
+ else if (ext === '.py') {
159
+ extractPython(lines, relPath, out);
160
+ }
161
+ else if (ext === '.go') {
162
+ extractGo(lines, relPath, out);
163
+ }
164
+ else if (ext === '.rs') {
165
+ extractRust(lines, relPath, out);
166
+ }
167
+ else if (ext === '.php') {
168
+ extractPhp(lines, relPath, out);
169
+ }
170
+ return out;
171
+ }
172
+ /** Lê arquivo do disco; retorna [] se extensão não suportada ou isTestFile. */
173
+ export function extractSymbolsFromFile(absPath, projectRoot) {
174
+ const ext = path.extname(absPath);
175
+ if (!SUPPORTED_EXTENSIONS.has(ext))
176
+ return [];
177
+ if (isTestFile(absPath))
178
+ return [];
179
+ const relPath = path.relative(projectRoot, absPath).replace(/\\/g, '/');
180
+ let content;
181
+ try {
182
+ content = fs.readFileSync(absPath, 'utf-8');
183
+ }
184
+ catch {
185
+ return [];
186
+ }
187
+ const lines = content.split(/\r?\n/);
188
+ return sortSymbols(extractByExtension(ext, lines, relPath));
189
+ }
190
+ /** Batch incremental — só paths listados. */
191
+ export function extractSymbolsFromPaths(paths, projectRoot) {
192
+ const seen = new Set();
193
+ const out = [];
194
+ for (const p of paths) {
195
+ const abs = path.isAbsolute(p) ? p : path.resolve(projectRoot, p);
196
+ for (const sym of extractSymbolsFromFile(abs, projectRoot)) {
197
+ if (seen.has(sym.qualifiedName))
198
+ continue;
199
+ seen.add(sym.qualifiedName);
200
+ out.push(sym);
201
+ }
202
+ }
203
+ return sortSymbols(out);
204
+ }
205
+ //# sourceMappingURL=code-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-index.js","sourceRoot":"","sources":["../../src/graphrag/code-index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/graphrag/factory.ts"],"names":[],"mappings":"AAcA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAQD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,GAAE;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,WAAW,CAAC;CACnB,GAAG,OAAO,CAAC,WAAW,CAAC,CAgC5B;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1B,OAAO,CAAC,cAAc,CAAC,CA0BzB"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/graphrag/factory.ts"],"names":[],"mappings":"AAcA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAQD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,GAAE;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,WAAW,CAAC;CACnB,GAAG,OAAO,CAAC,WAAW,CAAC,CAiC5B;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1B,OAAO,CAAC,cAAc,CAAC,CAgCzB"}
@@ -44,6 +44,7 @@ export async function loadGraphConfig(opts = {}) {
44
44
  username: typeof subBlock.username === 'string' ? subBlock.username : undefined,
45
45
  password: typeof subBlock.password === 'string' ? subBlock.password : undefined,
46
46
  auth: typeof subBlock.auth === 'string' ? subBlock.auth : undefined,
47
+ experimental: subBlock.experimental === true,
47
48
  };
48
49
  return { backend, neo4j };
49
50
  }
@@ -57,6 +58,10 @@ export async function loadGraphConfig(opts = {}) {
57
58
  export async function createGraph(config, opts = {}) {
58
59
  const cwd = opts.cwd ?? process.cwd();
59
60
  if (config.backend === 'neo4j') {
61
+ if (config.neo4j?.experimental !== true) {
62
+ throw new Error('Neo4j backend requires `neo4j.experimental: true` in dare-graph.yml until C1 is verified. ' +
63
+ 'Use sqlite or json (recommended).');
64
+ }
60
65
  if (!config.neo4j?.url) {
61
66
  throw new Error('dare-graph.yml `neo4j.url` is required for the neo4j backend (e.g. http://localhost:7474).');
62
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/graphrag/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/graphrag/factory.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { GraphNode, GraphEdge, NodeType, SearchResult, GraphStatistics } from './types.js';
2
- export declare class GraphRAG {
1
+ import type { KnowledgeGraph } from './knowledge-graph.js';
2
+ import type { GraphNode, GraphEdge, NodeType, SearchResult, GraphStatistics, CodeSymbolNode, TraverseOptions, TraverseResult, LocateOptions, LocateResult } from './types.js';
3
+ export declare class GraphRAG implements KnowledgeGraph {
3
4
  private db;
4
5
  private dbPath;
5
6
  private SQL;
@@ -17,6 +18,9 @@ export declare class GraphRAG {
17
18
  addEdge(edge: GraphEdge): void;
18
19
  getEdges(nodeId: string, direction?: 'out' | 'in' | 'both'): GraphEdge[];
19
20
  getNodeDependencies(nodeId: string, depth?: number): GraphNode[];
21
+ traverse(opts: TraverseOptions): TraverseResult;
22
+ locate(seedQuery: string, opts?: LocateOptions): LocateResult;
23
+ findByQualifiedName(qn: string): CodeSymbolNode | null;
20
24
  getStatistics(): GraphStatistics;
21
25
  exportToJson(): {
22
26
  nodes: GraphNode[];
@@ -1 +1 @@
1
- {"version":3,"file":"graph-rag.d.ts","sourceRoot":"","sources":["../../src/graphrag/graph-rag.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EAAE,SAAS,EAAE,QAAQ,EAC9B,YAAY,EAAE,eAAe,EAC9B,MAAM,YAAY,CAAC;AA4BpB,qBAAa,QAAQ;IACnB,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAe;gBAEd,MAAM,EAAE,MAAM;IAIpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3B,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAe9B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAMrC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,SAAK,GAAG,SAAS,EAAE;IAOpD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,YAAY,EAAE;IAczD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO5B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAe9B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,KAAK,GAAG,IAAI,GAAG,MAAe,GAAG,SAAS,EAAE;IAWhF,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,SAAS,EAAE;IA6B3D,aAAa,IAAI,eAAe;IAehC,YAAY,IAAI;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE;IAM1D,cAAc,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,GAAG,IAAI;IAKtE,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,SAAS;CAUlB"}
1
+ {"version":3,"file":"graph-rag.d.ts","sourceRoot":"","sources":["../../src/graphrag/graph-rag.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,SAAS,EAAE,SAAS,EAAE,QAAQ,EAC9B,YAAY,EAAE,eAAe,EAC7B,cAAc,EAAE,eAAe,EAAE,cAAc,EAC/C,aAAa,EAAE,YAAY,EAC5B,MAAM,YAAY,CAAC;AA8BpB,qBAAa,QAAS,YAAW,cAAc;IAC7C,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAe;gBAEd,MAAM,EAAE,MAAM;IAIpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3B,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAe9B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAMrC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,SAAK,GAAG,SAAS,EAAE;IAOpD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,YAAY,EAAE;IAczD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO5B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAe9B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,KAAK,GAAG,IAAI,GAAG,MAAe,GAAG,SAAS,EAAE;IAWhF,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,SAAS,EAAE;IA6B3D,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc;IAI/C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY;IAI7D,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAsBtD,aAAa,IAAI,eAAe;IAuBhC,YAAY,IAAI;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE;IAM1D,cAAc,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,GAAG,IAAI;IAKtE,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,SAAS;CAUlB"}
@@ -1,6 +1,8 @@
1
1
  import initSqlJs from 'sql.js';
2
2
  import path from 'path';
3
3
  import fs from 'fs-extra';
4
+ import { emptyEdgesByType, emptyNodesByType } from './types.js';
5
+ import { traverse as traverseFn, locate as locateFn } from './traverse.js';
4
6
  const SCHEMA_SQL = `
5
7
  CREATE TABLE IF NOT EXISTS nodes (
6
8
  id TEXT PRIMARY KEY,
@@ -150,6 +152,32 @@ export class GraphRAG {
150
152
  return result;
151
153
  }
152
154
  // ─── Utilities ─────────────────────────────────────────────────────────────
155
+ traverse(opts) {
156
+ return traverseFn(this, opts);
157
+ }
158
+ locate(seedQuery, opts) {
159
+ return locateFn(this, seedQuery, opts);
160
+ }
161
+ findByQualifiedName(qn) {
162
+ const normalized = qn.startsWith('code_symbol:') ? qn.slice('code_symbol:'.length) : qn;
163
+ const directId = `code_symbol:${normalized}`;
164
+ const direct = this.getNode(directId);
165
+ if (direct?.type === 'code_symbol')
166
+ return direct;
167
+ try {
168
+ const row = this.queryOne(`SELECT * FROM nodes WHERE type = 'code_symbol' AND json_extract(metadata, '$.qualifiedName') = ? LIMIT 1`, [normalized]);
169
+ if (row)
170
+ return this.rowToNode(row);
171
+ }
172
+ catch {
173
+ // json_extract unavailable — fall through to scan
174
+ }
175
+ for (const node of this.queryNodes('code_symbol', 10000)) {
176
+ if (node.metadata?.qualifiedName === normalized)
177
+ return node;
178
+ }
179
+ return null;
180
+ }
153
181
  getStatistics() {
154
182
  const totalNodesRow = this.queryOne('SELECT COUNT(*) as count FROM nodes');
155
183
  const totalEdgesRow = this.queryOne('SELECT COUNT(*) as count FROM edges');
@@ -157,8 +185,18 @@ export class GraphRAG {
157
185
  const totalEdges = totalEdgesRow?.count ?? 0;
158
186
  const nodeRows = this.query('SELECT type, COUNT(*) as count FROM nodes GROUP BY type');
159
187
  const edgeRows = this.query('SELECT type, COUNT(*) as count FROM edges GROUP BY type');
160
- const nodesByType = Object.fromEntries(nodeRows.map((r) => [r.type, r.count]));
161
- const edgesByType = Object.fromEntries(edgeRows.map((r) => [r.type, r.count]));
188
+ const nodesByType = emptyNodesByType();
189
+ const edgesByType = emptyEdgesByType();
190
+ for (const r of nodeRows) {
191
+ const t = r.type;
192
+ if (t in nodesByType)
193
+ nodesByType[t] = r.count;
194
+ }
195
+ for (const r of edgeRows) {
196
+ const t = r.type;
197
+ if (t in edgesByType)
198
+ edgesByType[t] = r.count;
199
+ }
162
200
  return { totalNodes, totalEdges, nodesByType, edgesByType };
163
201
  }
164
202
  exportToJson() {
@@ -1 +1 @@
1
- {"version":3,"file":"graph-rag.js","sourceRoot":"","sources":["../../src/graphrag/graph-rag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-rag.js","sourceRoot":"","sources":["../../src/graphrag/graph-rag.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
1
  export { GraphRAG } from './graph-rag.js';
2
2
  export { JsonGraph } from './json-graph.js';
3
- export { Neo4jGraph } from './neo4j-graph.js';
3
+ export { Neo4jGraph, Neo4jQueryError, parseNodeFromRecord, parseEdgeFromRecord } from './neo4j-graph.js';
4
4
  export type { Neo4jConfig } from './neo4j-graph.js';
5
+ export { traverse, locate } from './traverse.js';
5
6
  export { createGraph, loadGraphConfig } from './factory.js';
6
7
  export type { KnowledgeGraph } from './knowledge-graph.js';
7
8
  export type { GraphConfig, GraphBackend } from './factory.js';
8
- export type { GraphNode, GraphEdge, NodeType, EdgeType, TaskNode, FileNode, SchemaNode, EndpointNode, ComponentNode, SearchResult, GraphStatistics, } from './types.js';
9
+ export type { GraphNode, GraphEdge, NodeType, EdgeType, TaskNode, FileNode, SchemaNode, EndpointNode, ComponentNode, CodeSymbolKind, CodeSymbolNode, RequirementNode, TraverseOptions, TraverseResult, LocateOptions, LocateResult, LocateCandidate, SearchResult, GraphStatistics, } from './types.js';
10
+ export { ALL_NODE_TYPES, ALL_EDGE_TYPES, emptyNodesByType, emptyEdgesByType } from './types.js';
11
+ export { extractSymbolsFromFile, extractSymbolsFromPaths, toQualifiedName, } from './code-index.js';
12
+ export type { ExtractedSymbol } from './code-index.js';
13
+ export { parseRequirementsFromMarkdown, ingestRequirements } from './requirement-ingest.js';
14
+ export type { ParsedRequirement } from './requirement-ingest.js';
9
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graphrag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9D,YAAY,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graphrag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzG,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9D,YAAY,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,5 +1,9 @@
1
1
  export { GraphRAG } from './graph-rag.js';
2
2
  export { JsonGraph } from './json-graph.js';
3
- export { Neo4jGraph } from './neo4j-graph.js';
3
+ export { Neo4jGraph, Neo4jQueryError, parseNodeFromRecord, parseEdgeFromRecord } from './neo4j-graph.js';
4
+ export { traverse, locate } from './traverse.js';
4
5
  export { createGraph, loadGraphConfig } from './factory.js';
6
+ export { ALL_NODE_TYPES, ALL_EDGE_TYPES, emptyNodesByType, emptyEdgesByType } from './types.js';
7
+ export { extractSymbolsFromFile, extractSymbolsFromPaths, toQualifiedName, } from './code-index.js';
8
+ export { parseRequirementsFromMarkdown, ingestRequirements } from './requirement-ingest.js';
5
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphrag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphrag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEzG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAwB5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,8 +1,11 @@
1
1
  import type { KnowledgeGraph, GraphNode, GraphEdge, NodeType, SearchResult, GraphStatistics } from './knowledge-graph.js';
2
+ import type { CodeSymbolNode, TraverseOptions, TraverseResult, LocateOptions, LocateResult } from './types.js';
2
3
  export declare class JsonGraph implements KnowledgeGraph {
3
4
  private readonly filePath;
4
5
  private nodes;
5
6
  private edges;
7
+ /** qualifiedName → node id (code_symbol only) */
8
+ private qnIndex;
6
9
  constructor(filePath: string);
7
10
  init(): Promise<void>;
8
11
  addNode(node: GraphNode): void;
@@ -22,7 +25,12 @@ export declare class JsonGraph implements KnowledgeGraph {
22
25
  nodes: GraphNode[];
23
26
  edges: GraphEdge[];
24
27
  }): void;
28
+ traverse(opts: TraverseOptions): TraverseResult;
29
+ locate(seedQuery: string, opts?: LocateOptions): LocateResult;
30
+ findByQualifiedName(qn: string): CodeSymbolNode | null;
25
31
  close(): void;
32
+ private indexCodeSymbol;
33
+ private rebuildQnIndex;
26
34
  private flushSync;
27
35
  }
28
36
  //# sourceMappingURL=json-graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-graph.d.ts","sourceRoot":"","sources":["../../src/graphrag/json-graph.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EAER,YAAY,EACZ,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAO9B,qBAAa,SAAU,YAAW,cAAc;IAIlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAHrC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,KAAK,CAAgC;gBAEhB,QAAQ,EAAE,MAAM;IAEvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB3B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAqB9B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIrC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,SAAK,GAAG,SAAS,EAAE;IAOpD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,YAAY,EAAE;IAiBtD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU5B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAS9B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,KAAK,GAAG,IAAI,GAAG,MAAe,GAAG,SAAS,EAAE;IAQhF,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,SAAS,EAAE;IAqB3D,aAAa,IAAI,eAAe;IAiBhC,YAAY,IAAI;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE;IAI1D,cAAc,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,GAAG,IAAI;IAKtE,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,SAAS;CAWlB"}
1
+ {"version":3,"file":"json-graph.d.ts","sourceRoot":"","sources":["../../src/graphrag/json-graph.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EAER,YAAY,EACZ,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAQpB,qBAAa,SAAU,YAAW,cAAc;IAMlC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IALrC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,KAAK,CAAgC;IAC7C,iDAAiD;IACjD,OAAO,CAAC,OAAO,CAA6B;gBAEf,QAAQ,EAAE,MAAM;IAEvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB3B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAsB9B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIrC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,SAAK,GAAG,SAAS,EAAE;IAOpD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,YAAY,EAAE;IAiBtD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAe5B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAS9B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,KAAK,GAAG,IAAI,GAAG,MAAe,GAAG,SAAS,EAAE;IAQhF,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,SAAS,EAAE;IAqB3D,aAAa,IAAI,eAAe;IAiBhC,YAAY,IAAI;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE;IAI1D,cAAc,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,GAAG,IAAI;IAMtE,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc;IAI/C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY;IAI7D,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAatD,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,SAAS;CAWlB"}
@@ -7,11 +7,15 @@
7
7
  */
8
8
  import path from 'path';
9
9
  import fs from 'fs-extra';
10
+ import { emptyEdgesByType, emptyNodesByType } from './types.js';
11
+ import { traverse as traverseFn, locate as locateFn } from './traverse.js';
10
12
  export class JsonGraph {
11
13
  constructor(filePath) {
12
14
  this.filePath = filePath;
13
15
  this.nodes = new Map();
14
16
  this.edges = new Map();
17
+ /** qualifiedName → node id (code_symbol only) */
18
+ this.qnIndex = new Map();
15
19
  }
16
20
  async init() {
17
21
  await fs.ensureDir(path.dirname(this.filePath));
@@ -22,6 +26,7 @@ export class JsonGraph {
22
26
  this.nodes.set(n.id, n);
23
27
  for (const e of data.edges ?? [])
24
28
  this.edges.set(e.id, e);
29
+ this.rebuildQnIndex();
25
30
  }
26
31
  catch {
27
32
  // corrupt file — start fresh, but keep a backup
@@ -49,6 +54,7 @@ export class JsonGraph {
49
54
  updatedAt: now,
50
55
  };
51
56
  this.nodes.set(node.id, merged);
57
+ this.indexCodeSymbol(merged);
52
58
  this.flushSync();
53
59
  }
54
60
  getNode(id) {
@@ -78,6 +84,12 @@ export class JsonGraph {
78
84
  return out;
79
85
  }
80
86
  deleteNode(id) {
87
+ const removed = this.nodes.get(id);
88
+ if (removed?.type === 'code_symbol') {
89
+ const qn = String(removed.metadata?.qualifiedName ?? '');
90
+ if (qn)
91
+ this.qnIndex.delete(qn);
92
+ }
81
93
  this.nodes.delete(id);
82
94
  for (const [edgeId, e] of this.edges) {
83
95
  if (e.sourceId === id || e.targetId === id)
@@ -125,13 +137,13 @@ export class JsonGraph {
125
137
  }
126
138
  // ─── Utilities ────────────────────────────────────────────────────────────
127
139
  getStatistics() {
128
- const nodesByType = {};
129
- const edgesByType = {};
140
+ const nodesByType = emptyNodesByType();
141
+ const edgesByType = emptyEdgesByType();
130
142
  for (const n of this.nodes.values()) {
131
- nodesByType[n.type] = (nodesByType[n.type] ?? 0) + 1;
143
+ nodesByType[n.type] += 1;
132
144
  }
133
145
  for (const e of this.edges.values()) {
134
- edgesByType[e.type] = (edgesByType[e.type] ?? 0) + 1;
146
+ edgesByType[e.type] += 1;
135
147
  }
136
148
  return {
137
149
  totalNodes: this.nodes.size,
@@ -148,10 +160,44 @@ export class JsonGraph {
148
160
  this.addNode(n);
149
161
  for (const e of data.edges)
150
162
  this.addEdge(e);
163
+ this.rebuildQnIndex();
164
+ }
165
+ traverse(opts) {
166
+ return traverseFn(this, opts);
167
+ }
168
+ locate(seedQuery, opts) {
169
+ return locateFn(this, seedQuery, opts);
170
+ }
171
+ findByQualifiedName(qn) {
172
+ const normalized = qn.startsWith('code_symbol:') ? qn.slice('code_symbol:'.length) : qn;
173
+ const id = this.qnIndex.get(normalized);
174
+ if (id) {
175
+ const node = this.nodes.get(id);
176
+ if (node?.type === 'code_symbol')
177
+ return node;
178
+ }
179
+ const directId = `code_symbol:${normalized}`;
180
+ const direct = this.nodes.get(directId);
181
+ if (direct?.type === 'code_symbol')
182
+ return direct;
183
+ return null;
151
184
  }
152
185
  close() {
153
186
  // Synchronous flush is performed on every mutation; no shutdown work.
154
187
  }
188
+ indexCodeSymbol(node) {
189
+ if (node.type !== 'code_symbol')
190
+ return;
191
+ const qn = String(node.metadata?.qualifiedName ?? '');
192
+ if (qn)
193
+ this.qnIndex.set(qn, node.id);
194
+ }
195
+ rebuildQnIndex() {
196
+ this.qnIndex.clear();
197
+ for (const n of this.nodes.values()) {
198
+ this.indexCodeSymbol(n);
199
+ }
200
+ }
155
201
  flushSync() {
156
202
  const data = {
157
203
  nodes: [...this.nodes.values()],
@@ -1 +1 @@
1
- {"version":3,"file":"json-graph.js","sourceRoot":"","sources":["../../src/graphrag/json-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-graph.js","sourceRoot":"","sources":["../../src/graphrag/json-graph.ts"],"names":[],"mappings":"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"}