@dewtech/dare-cli 3.4.0 → 3.5.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 (175) 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/commands/__tests__/execute.telemetry.spec.js +9 -0
  40. package/dist/commands/__tests__/execute.telemetry.spec.js.map +1 -1
  41. package/dist/commands/__tests__/graph-viz-layers.test.d.ts +2 -0
  42. package/dist/commands/__tests__/graph-viz-layers.test.d.ts.map +1 -0
  43. package/dist/commands/__tests__/graph-viz-layers.test.js +36 -0
  44. package/dist/commands/__tests__/graph-viz-layers.test.js.map +1 -0
  45. package/dist/commands/__tests__/impact.test.d.ts +2 -0
  46. package/dist/commands/__tests__/impact.test.d.ts.map +1 -0
  47. package/dist/commands/__tests__/impact.test.js +26 -0
  48. package/dist/commands/__tests__/impact.test.js.map +1 -0
  49. package/dist/commands/__tests__/locate.test.d.ts +2 -0
  50. package/dist/commands/__tests__/locate.test.d.ts.map +1 -0
  51. package/dist/commands/__tests__/locate.test.js +35 -0
  52. package/dist/commands/__tests__/locate.test.js.map +1 -0
  53. package/dist/commands/__tests__/owners.test.d.ts +2 -0
  54. package/dist/commands/__tests__/owners.test.d.ts.map +1 -0
  55. package/dist/commands/__tests__/owners.test.js +34 -0
  56. package/dist/commands/__tests__/owners.test.js.map +1 -0
  57. package/dist/commands/__tests__/trace.test.d.ts +2 -0
  58. package/dist/commands/__tests__/trace.test.d.ts.map +1 -0
  59. package/dist/commands/__tests__/trace.test.js +29 -0
  60. package/dist/commands/__tests__/trace.test.js.map +1 -0
  61. package/dist/commands/execute.d.ts.map +1 -1
  62. package/dist/commands/execute.js +11 -6
  63. package/dist/commands/execute.js.map +1 -1
  64. package/dist/commands/graph-queries.d.ts +48 -0
  65. package/dist/commands/graph-queries.d.ts.map +1 -0
  66. package/dist/commands/graph-queries.js +204 -0
  67. package/dist/commands/graph-queries.js.map +1 -0
  68. package/dist/commands/graph.d.ts +13 -0
  69. package/dist/commands/graph.d.ts.map +1 -1
  70. package/dist/commands/graph.js +212 -8
  71. package/dist/commands/graph.js.map +1 -1
  72. package/dist/dag-runner/__tests__/fixtures/src/math.d.ts +3 -0
  73. package/dist/dag-runner/__tests__/fixtures/src/math.d.ts.map +1 -0
  74. package/dist/dag-runner/__tests__/fixtures/src/math.js +7 -0
  75. package/dist/dag-runner/__tests__/fixtures/src/math.js.map +1 -0
  76. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.d.ts +2 -0
  77. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.d.ts.map +1 -0
  78. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.js +81 -0
  79. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.js.map +1 -0
  80. package/dist/dag-runner/graph-ingest.d.ts.map +1 -1
  81. package/dist/dag-runner/graph-ingest.js +46 -0
  82. package/dist/dag-runner/graph-ingest.js.map +1 -1
  83. package/dist/dag-runner/graph-locate.d.ts +11 -0
  84. package/dist/dag-runner/graph-locate.d.ts.map +1 -0
  85. package/dist/dag-runner/graph-locate.js +74 -0
  86. package/dist/dag-runner/graph-locate.js.map +1 -0
  87. package/dist/dag-runner/run_dag.d.ts +3 -1
  88. package/dist/dag-runner/run_dag.d.ts.map +1 -1
  89. package/dist/dag-runner/run_dag.js +2 -1
  90. package/dist/dag-runner/run_dag.js.map +1 -1
  91. package/dist/dag-runner/utils/stitch-context.d.ts +3 -1
  92. package/dist/dag-runner/utils/stitch-context.d.ts.map +1 -1
  93. package/dist/dag-runner/utils/stitch-context.js +8 -2
  94. package/dist/dag-runner/utils/stitch-context.js.map +1 -1
  95. package/dist/graphrag/__tests__/code-index.test.d.ts +2 -0
  96. package/dist/graphrag/__tests__/code-index.test.d.ts.map +1 -0
  97. package/dist/graphrag/__tests__/code-index.test.js +75 -0
  98. package/dist/graphrag/__tests__/code-index.test.js.map +1 -0
  99. package/dist/graphrag/__tests__/fixtures/code-index/sample.d.ts +5 -0
  100. package/dist/graphrag/__tests__/fixtures/code-index/sample.d.ts.map +1 -0
  101. package/dist/graphrag/__tests__/fixtures/code-index/sample.js +10 -0
  102. package/dist/graphrag/__tests__/fixtures/code-index/sample.js.map +1 -0
  103. package/dist/graphrag/__tests__/locate.test.d.ts +2 -0
  104. package/dist/graphrag/__tests__/locate.test.d.ts.map +1 -0
  105. package/dist/graphrag/__tests__/locate.test.js +43 -0
  106. package/dist/graphrag/__tests__/locate.test.js.map +1 -0
  107. package/dist/graphrag/__tests__/requirement-ingest.test.d.ts +2 -0
  108. package/dist/graphrag/__tests__/requirement-ingest.test.d.ts.map +1 -0
  109. package/dist/graphrag/__tests__/requirement-ingest.test.js +66 -0
  110. package/dist/graphrag/__tests__/requirement-ingest.test.js.map +1 -0
  111. package/dist/graphrag/__tests__/traverse.test.d.ts +2 -0
  112. package/dist/graphrag/__tests__/traverse.test.d.ts.map +1 -0
  113. package/dist/graphrag/__tests__/traverse.test.js +71 -0
  114. package/dist/graphrag/__tests__/traverse.test.js.map +1 -0
  115. package/dist/graphrag/__tests__/types.test.d.ts +2 -0
  116. package/dist/graphrag/__tests__/types.test.d.ts.map +1 -0
  117. package/dist/graphrag/__tests__/types.test.js +52 -0
  118. package/dist/graphrag/__tests__/types.test.js.map +1 -0
  119. package/dist/graphrag/code-index.d.ts +15 -0
  120. package/dist/graphrag/code-index.d.ts.map +1 -0
  121. package/dist/graphrag/code-index.js +205 -0
  122. package/dist/graphrag/code-index.js.map +1 -0
  123. package/dist/graphrag/factory.d.ts.map +1 -1
  124. package/dist/graphrag/factory.js +5 -0
  125. package/dist/graphrag/factory.js.map +1 -1
  126. package/dist/graphrag/graph-rag.d.ts +6 -2
  127. package/dist/graphrag/graph-rag.d.ts.map +1 -1
  128. package/dist/graphrag/graph-rag.js +40 -2
  129. package/dist/graphrag/graph-rag.js.map +1 -1
  130. package/dist/graphrag/index.d.ts +8 -2
  131. package/dist/graphrag/index.d.ts.map +1 -1
  132. package/dist/graphrag/index.js +5 -1
  133. package/dist/graphrag/index.js.map +1 -1
  134. package/dist/graphrag/json-graph.d.ts +8 -0
  135. package/dist/graphrag/json-graph.d.ts.map +1 -1
  136. package/dist/graphrag/json-graph.js +50 -4
  137. package/dist/graphrag/json-graph.js.map +1 -1
  138. package/dist/graphrag/knowledge-graph.d.ts +8 -3
  139. package/dist/graphrag/knowledge-graph.d.ts.map +1 -1
  140. package/dist/graphrag/neo4j-graph.d.ts +19 -18
  141. package/dist/graphrag/neo4j-graph.d.ts.map +1 -1
  142. package/dist/graphrag/neo4j-graph.js +164 -38
  143. package/dist/graphrag/neo4j-graph.js.map +1 -1
  144. package/dist/graphrag/requirement-ingest.d.ts +15 -0
  145. package/dist/graphrag/requirement-ingest.d.ts.map +1 -0
  146. package/dist/graphrag/requirement-ingest.js +158 -0
  147. package/dist/graphrag/requirement-ingest.js.map +1 -0
  148. package/dist/graphrag/traverse.d.ts +5 -0
  149. package/dist/graphrag/traverse.d.ts.map +1 -0
  150. package/dist/graphrag/traverse.js +139 -0
  151. package/dist/graphrag/traverse.js.map +1 -0
  152. package/dist/graphrag/types.d.ts +60 -2
  153. package/dist/graphrag/types.d.ts.map +1 -1
  154. package/dist/graphrag/types.js +34 -1
  155. package/dist/graphrag/types.js.map +1 -1
  156. package/dist/mcp-server/__tests__/mcp-graph.test.d.ts +2 -0
  157. package/dist/mcp-server/__tests__/mcp-graph.test.d.ts.map +1 -0
  158. package/dist/mcp-server/__tests__/mcp-graph.test.js +85 -0
  159. package/dist/mcp-server/__tests__/mcp-graph.test.js.map +1 -0
  160. package/dist/mcp-server/server.d.ts.map +1 -1
  161. package/dist/mcp-server/server.js +106 -1
  162. package/dist/mcp-server/server.js.map +1 -1
  163. package/dist/utils/__tests__/static-analyzer-exports.test.d.ts +2 -0
  164. package/dist/utils/__tests__/static-analyzer-exports.test.d.ts.map +1 -0
  165. package/dist/utils/__tests__/static-analyzer-exports.test.js +21 -0
  166. package/dist/utils/__tests__/static-analyzer-exports.test.js.map +1 -0
  167. package/dist/utils/project-generator.js +12 -0
  168. package/dist/utils/project-generator.js.map +1 -1
  169. package/dist/utils/static-analyzer.d.ts +9 -0
  170. package/dist/utils/static-analyzer.d.ts.map +1 -1
  171. package/dist/utils/static-analyzer.js +2 -2
  172. package/dist/utils/static-analyzer.js.map +1 -1
  173. package/dist/verification/__tests__/telemetry.test.js +9 -0
  174. package/dist/verification/__tests__/telemetry.test.js.map +1 -1
  175. package/package.json +1 -1
@@ -0,0 +1,52 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { ALL_EDGE_TYPES, ALL_NODE_TYPES, emptyEdgesByType, emptyNodesByType, } from '../types.js';
3
+ describe('dual-graph types', () => {
4
+ it('NodeType union includes code_symbol and requirement', () => {
5
+ expect(ALL_NODE_TYPES).toContain('code_symbol');
6
+ expect(ALL_NODE_TYPES).toContain('requirement');
7
+ expect(ALL_NODE_TYPES).toContain('gate');
8
+ });
9
+ it('EdgeType union includes affects and derives_from', () => {
10
+ expect(ALL_EDGE_TYPES).toContain('affects');
11
+ expect(ALL_EDGE_TYPES).toContain('derives_from');
12
+ expect(ALL_EDGE_TYPES).toContain('verified_by');
13
+ });
14
+ it('emptyNodesByType initializes every NodeType to 0 without NaN', () => {
15
+ const counts = emptyNodesByType();
16
+ for (const t of ALL_NODE_TYPES) {
17
+ expect(counts[t]).toBe(0);
18
+ expect(Number.isNaN(counts[t])).toBe(false);
19
+ }
20
+ });
21
+ it('emptyEdgesByType initializes every EdgeType to 0 without NaN', () => {
22
+ const counts = emptyEdgesByType();
23
+ for (const t of ALL_EDGE_TYPES) {
24
+ expect(counts[t]).toBe(0);
25
+ expect(Number.isNaN(counts[t])).toBe(false);
26
+ }
27
+ });
28
+ it('CodeSymbolNode and RequirementNode satisfy extended GraphNode shapes', () => {
29
+ const symbol = {
30
+ id: 'code_symbol:src/math.ts::add',
31
+ type: 'code_symbol',
32
+ label: 'add',
33
+ path: 'src/math.ts',
34
+ symbol: 'add',
35
+ kind: 'function',
36
+ qualifiedName: 'src/math.ts::add',
37
+ line: 1,
38
+ };
39
+ const req = {
40
+ id: 'requirement:RF-01',
41
+ type: 'requirement',
42
+ label: 'RF-01',
43
+ reqId: 'RF-01',
44
+ source: 'blueprint',
45
+ title: 'Dual graph',
46
+ priority: 'MUST',
47
+ };
48
+ const opts = { seedNodeIds: [symbol.id, req.id] };
49
+ expect(opts.seedNodeIds).toHaveLength(2);
50
+ });
51
+ });
52
+ //# sourceMappingURL=types.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../../src/graphrag/__tests__/types.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GAIjB,MAAM,aAAa,CAAC;AAErB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,MAAM,GAAmB;YAC7B,EAAE,EAAE,8BAA8B;YAClC,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;YAChB,aAAa,EAAE,kBAAkB;YACjC,IAAI,EAAE,CAAC;SACR,CAAC;QACF,MAAM,GAAG,GAAoB;YAC3B,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,MAAM;SACjB,CAAC;QACF,MAAM,IAAI,GAAoB,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { CodeSymbolKind } from './types.js';
2
+ export interface ExtractedSymbol {
3
+ readonly path: string;
4
+ readonly symbol: string;
5
+ readonly kind: CodeSymbolKind;
6
+ readonly qualifiedName: string;
7
+ readonly line: number;
8
+ }
9
+ /** Normaliza path para qualifiedName (posix, lowercase drive no win32). */
10
+ export declare function toQualifiedName(filePath: string, symbol: string): string;
11
+ /** Lê arquivo do disco; retorna [] se extensão não suportada ou isTestFile. */
12
+ export declare function extractSymbolsFromFile(absPath: string, projectRoot: string): ExtractedSymbol[];
13
+ /** Batch incremental — só paths listados. */
14
+ export declare function extractSymbolsFromPaths(paths: readonly string[], projectRoot: string): ExtractedSymbol[];
15
+ //# sourceMappingURL=code-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-index.d.ts","sourceRoot":"","sources":["../../src/graphrag/code-index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMxE;AAyKD,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAe9F;AAED,6CAA6C;AAC7C,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,WAAW,EAAE,MAAM,GAClB,eAAe,EAAE,CAYnB"}
@@ -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":"AAAA;;;;;;;;GAQG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAahE,MAAM,QAAQ,GAA6C;IACzD,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAGlC,EAAE;IACJ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEjD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC;IACjE,MAAM,OAAO,GAAI,MAAM,CAAC,OAAwB,IAAI,QAAQ,CAAC;IAC7D,MAAM,QAAQ,GAAI,MAAM,CAAC,OAAO,CAAyC,IAAI,EAAE,CAAC;IAEhF,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAgB;YACzB,GAAG,EAAE,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB;YAC9E,QAAQ,EAAE,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;YAC7E,QAAQ,EAAE,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC/E,QAAQ,EAAE,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC/E,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SACpE,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,QAAQ,GACZ,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAExE,OAAO,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAmB,EACnB,OAAyB,EAAE;IAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEtC,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAEnF,MAAM,KAAK,GACT,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;IAE5E,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACnB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,GAAgB;IACjC,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;KACxC,CAAC;AACJ,CAAC"}
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"}