Commit 261f9af
committed
feat: add incremental parsing with cross-file edge preservation
- Implement deterministic node IDs based on coreType + filePath + name
- Add file change detection using mtime, size, and content hash
- Save cross-file edges before deletion and restore after import
- Load existing nodes from Neo4j for outgoing edge detection
- Fix missing await on parseChildNodes causing nodes to be lost
- Add FairSquare monorepo auto-detection (@fairsquare/source)
- Add debug logging utilities for troubleshooting
This enables fast incremental updates when modifying individual files,
preserving relationships like INJECTS edges between services.1 parent f3ba155 commit 261f9af
File tree
9 files changed
+458
-112
lines changed- src
- core
- config
- parsers
- mcp
- tools
- storage/neo4j
- utils
9 files changed
+458
-112
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
4 | 6 | | |
5 | 7 | | |
6 | 8 | | |
| |||
940 | 942 | | |
941 | 943 | | |
942 | 944 | | |
943 | | - | |
| 945 | + | |
944 | 946 | | |
945 | 947 | | |
946 | 948 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
4 | 6 | | |
5 | 7 | | |
6 | 8 | | |
| |||
141 | 143 | | |
142 | 144 | | |
143 | 145 | | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
144 | 149 | | |
145 | 150 | | |
146 | 151 | | |
| |||
1170 | 1175 | | |
1171 | 1176 | | |
1172 | 1177 | | |
1173 | | - | |
| 1178 | + | |
1174 | 1179 | | |
1175 | 1180 | | |
1176 | 1181 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| |||
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
38 | | - | |
| 39 | + | |
39 | 40 | | |
40 | 41 | | |
41 | 42 | | |
| |||
100 | 101 | | |
101 | 102 | | |
102 | 103 | | |
103 | | - | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
104 | 108 | | |
105 | 109 | | |
106 | 110 | | |
| |||
0 commit comments