@roarpeng/graphflow 1.7.0 → 1.7.4

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 (203) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +11 -7
  3. package/dist/agents/insight.d.ts +13 -2
  4. package/dist/agents/insight.d.ts.map +1 -1
  5. package/dist/agents/insight.js +56 -26
  6. package/dist/agents/insight.js.map +1 -1
  7. package/dist/agents/task-profile.d.ts +19 -0
  8. package/dist/agents/task-profile.d.ts.map +1 -0
  9. package/dist/agents/task-profile.js +64 -0
  10. package/dist/agents/task-profile.js.map +1 -0
  11. package/dist/agents/validator.js +1 -1
  12. package/dist/agents/validator.js.map +1 -1
  13. package/dist/config/defaults.d.ts.map +1 -1
  14. package/dist/config/defaults.js +3 -1
  15. package/dist/config/defaults.js.map +1 -1
  16. package/dist/config/discover-workspace.d.ts.map +1 -1
  17. package/dist/config/discover-workspace.js +9 -2
  18. package/dist/config/discover-workspace.js.map +1 -1
  19. package/dist/config/embedding-factory.d.ts.map +1 -1
  20. package/dist/config/embedding-factory.js +88 -9
  21. package/dist/config/embedding-factory.js.map +1 -1
  22. package/dist/config/loader.d.ts.map +1 -1
  23. package/dist/config/loader.js +9 -2
  24. package/dist/config/loader.js.map +1 -1
  25. package/dist/config/provider-env.d.ts +32 -0
  26. package/dist/config/provider-env.d.ts.map +1 -0
  27. package/dist/config/provider-env.js +51 -0
  28. package/dist/config/provider-env.js.map +1 -0
  29. package/dist/config/resolve.d.ts.map +1 -1
  30. package/dist/config/resolve.js +7 -2
  31. package/dist/config/resolve.js.map +1 -1
  32. package/dist/config/schema.d.ts +17 -2
  33. package/dist/config/schema.d.ts.map +1 -1
  34. package/dist/config/workspace-root.d.ts +0 -12
  35. package/dist/config/workspace-root.d.ts.map +1 -1
  36. package/dist/config/workspace-root.js +21 -5
  37. package/dist/config/workspace-root.js.map +1 -1
  38. package/dist/core/agent-delegation.d.ts +5 -0
  39. package/dist/core/agent-delegation.d.ts.map +1 -1
  40. package/dist/core/agent-delegation.js +131 -57
  41. package/dist/core/agent-delegation.js.map +1 -1
  42. package/dist/core/cancellation.d.ts +57 -0
  43. package/dist/core/cancellation.d.ts.map +1 -0
  44. package/dist/core/cancellation.js +195 -0
  45. package/dist/core/cancellation.js.map +1 -0
  46. package/dist/core/dag-engine.d.ts +6 -1
  47. package/dist/core/dag-engine.d.ts.map +1 -1
  48. package/dist/core/dag-engine.js +67 -9
  49. package/dist/core/dag-engine.js.map +1 -1
  50. package/dist/core/orchestrator-context.d.ts.map +1 -1
  51. package/dist/core/orchestrator-context.js +3 -0
  52. package/dist/core/orchestrator-context.js.map +1 -1
  53. package/dist/core/orchestrator-route.d.ts +1 -1
  54. package/dist/core/orchestrator-route.d.ts.map +1 -1
  55. package/dist/core/orchestrator-route.js.map +1 -1
  56. package/dist/core/orchestrator.js +6 -1
  57. package/dist/core/orchestrator.js.map +1 -1
  58. package/dist/core/runtime-controller.d.ts +19 -0
  59. package/dist/core/runtime-controller.d.ts.map +1 -0
  60. package/dist/core/runtime-controller.js +89 -0
  61. package/dist/core/runtime-controller.js.map +1 -0
  62. package/dist/core/types.d.ts +5 -0
  63. package/dist/core/types.d.ts.map +1 -1
  64. package/dist/graph/context-slicer-types.d.ts +2 -0
  65. package/dist/graph/context-slicer-types.d.ts.map +1 -1
  66. package/dist/graph/context-slicer-types.js.map +1 -1
  67. package/dist/graph/context-slicer.d.ts +1 -0
  68. package/dist/graph/context-slicer.d.ts.map +1 -1
  69. package/dist/graph/context-slicer.js +54 -8
  70. package/dist/graph/context-slicer.js.map +1 -1
  71. package/dist/graph/file-watcher.d.ts.map +1 -1
  72. package/dist/graph/file-watcher.js +9 -2
  73. package/dist/graph/file-watcher.js.map +1 -1
  74. package/dist/graph/graph-utils.d.ts +6 -1
  75. package/dist/graph/graph-utils.d.ts.map +1 -1
  76. package/dist/graph/graph-utils.js +116 -2
  77. package/dist/graph/graph-utils.js.map +1 -1
  78. package/dist/graph/graphify-file-client.d.ts.map +1 -1
  79. package/dist/graph/graphify-file-client.js +2 -1
  80. package/dist/graph/graphify-file-client.js.map +1 -1
  81. package/dist/graph/hit-diversify.d.ts +31 -0
  82. package/dist/graph/hit-diversify.d.ts.map +1 -0
  83. package/dist/graph/hit-diversify.js +270 -0
  84. package/dist/graph/hit-diversify.js.map +1 -0
  85. package/dist/graph/language-indexers/go.d.ts.map +1 -1
  86. package/dist/graph/language-indexers/go.js +2 -3
  87. package/dist/graph/language-indexers/go.js.map +1 -1
  88. package/dist/graph/language-indexers/incremental-parse.d.ts +9 -0
  89. package/dist/graph/language-indexers/incremental-parse.d.ts.map +1 -0
  90. package/dist/graph/language-indexers/incremental-parse.js +114 -0
  91. package/dist/graph/language-indexers/incremental-parse.js.map +1 -0
  92. package/dist/graph/language-indexers/python.d.ts.map +1 -1
  93. package/dist/graph/language-indexers/python.js +2 -3
  94. package/dist/graph/language-indexers/python.js.map +1 -1
  95. package/dist/graph/language-indexers/rust.d.ts.map +1 -1
  96. package/dist/graph/language-indexers/rust.js +2 -3
  97. package/dist/graph/language-indexers/rust.js.map +1 -1
  98. package/dist/graph/language-indexers/tree-sitter-loader.d.ts +19 -3
  99. package/dist/graph/language-indexers/tree-sitter-loader.d.ts.map +1 -1
  100. package/dist/graph/language-indexers/tree-sitter-loader.js +24 -4
  101. package/dist/graph/language-indexers/tree-sitter-loader.js.map +1 -1
  102. package/dist/graph/query-expand.d.ts.map +1 -1
  103. package/dist/graph/query-expand.js +2 -0
  104. package/dist/graph/query-expand.js.map +1 -1
  105. package/dist/index.d.ts +1 -1
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +2 -1
  108. package/dist/index.js.map +1 -1
  109. package/dist/integrations/agent-mcp-installer.d.ts +39 -0
  110. package/dist/integrations/agent-mcp-installer.d.ts.map +1 -1
  111. package/dist/integrations/agent-mcp-installer.js +220 -14
  112. package/dist/integrations/agent-mcp-installer.js.map +1 -1
  113. package/dist/learning/embedding-quality.d.ts +46 -0
  114. package/dist/learning/embedding-quality.d.ts.map +1 -0
  115. package/dist/learning/embedding-quality.js +131 -0
  116. package/dist/learning/embedding-quality.js.map +1 -0
  117. package/dist/learning/embeddings.d.ts +45 -1
  118. package/dist/learning/embeddings.d.ts.map +1 -1
  119. package/dist/learning/embeddings.js +180 -5
  120. package/dist/learning/embeddings.js.map +1 -1
  121. package/dist/learning/skill-flywheel.d.ts +1 -1
  122. package/dist/learning/skill-flywheel.d.ts.map +1 -1
  123. package/dist/learning/skill-flywheel.js +10 -3
  124. package/dist/learning/skill-flywheel.js.map +1 -1
  125. package/dist/routing/deepseek-tools.d.ts +7 -0
  126. package/dist/routing/deepseek-tools.d.ts.map +1 -0
  127. package/dist/routing/deepseek-tools.js +154 -0
  128. package/dist/routing/deepseek-tools.js.map +1 -0
  129. package/dist/routing/model-router.d.ts +1 -1
  130. package/dist/routing/model-router.d.ts.map +1 -1
  131. package/dist/routing/model-router.js +5 -1
  132. package/dist/routing/model-router.js.map +1 -1
  133. package/dist/routing/provider-adapters/anthropic.d.ts.map +1 -1
  134. package/dist/routing/provider-adapters/anthropic.js +7 -4
  135. package/dist/routing/provider-adapters/anthropic.js.map +1 -1
  136. package/dist/routing/provider-adapters/bailian.d.ts.map +1 -1
  137. package/dist/routing/provider-adapters/bailian.js +7 -4
  138. package/dist/routing/provider-adapters/bailian.js.map +1 -1
  139. package/dist/routing/provider-adapters/deepseek.d.ts +5 -0
  140. package/dist/routing/provider-adapters/deepseek.d.ts.map +1 -0
  141. package/dist/routing/provider-adapters/deepseek.js +109 -0
  142. package/dist/routing/provider-adapters/deepseek.js.map +1 -0
  143. package/dist/routing/provider-adapters/doubao.d.ts.map +1 -1
  144. package/dist/routing/provider-adapters/doubao.js +7 -4
  145. package/dist/routing/provider-adapters/doubao.js.map +1 -1
  146. package/dist/routing/provider-adapters/openai.d.ts +2 -4
  147. package/dist/routing/provider-adapters/openai.d.ts.map +1 -1
  148. package/dist/routing/provider-adapters/openai.js +23 -32
  149. package/dist/routing/provider-adapters/openai.js.map +1 -1
  150. package/dist/routing/provider-adapters/types.d.ts +61 -0
  151. package/dist/routing/provider-adapters/types.d.ts.map +1 -0
  152. package/dist/routing/provider-adapters/types.js +56 -0
  153. package/dist/routing/provider-adapters/types.js.map +1 -0
  154. package/dist/routing/provider-executor.d.ts +6 -1
  155. package/dist/routing/provider-executor.d.ts.map +1 -1
  156. package/dist/routing/provider-executor.js +70 -39
  157. package/dist/routing/provider-executor.js.map +1 -1
  158. package/dist/routing/provider-health.d.ts.map +1 -1
  159. package/dist/routing/provider-health.js +7 -1
  160. package/dist/routing/provider-health.js.map +1 -1
  161. package/dist/routing/role-capabilities.d.ts +11 -0
  162. package/dist/routing/role-capabilities.d.ts.map +1 -0
  163. package/dist/routing/role-capabilities.js +94 -0
  164. package/dist/routing/role-capabilities.js.map +1 -0
  165. package/dist/surfaces/antigravity-rules/graphflow.md +3 -2
  166. package/dist/surfaces/cli/runtime/env.d.ts.map +1 -1
  167. package/dist/surfaces/cli/runtime/env.js +3 -0
  168. package/dist/surfaces/cli/runtime/env.js.map +1 -1
  169. package/dist/surfaces/cli/runtime/facade.d.ts +2 -1
  170. package/dist/surfaces/cli/runtime/facade.d.ts.map +1 -1
  171. package/dist/surfaces/cli/runtime/facade.js +1 -0
  172. package/dist/surfaces/cli/runtime/facade.js.map +1 -1
  173. package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
  174. package/dist/surfaces/cli/runtime/graph.js +7 -0
  175. package/dist/surfaces/cli/runtime/graph.js.map +1 -1
  176. package/dist/surfaces/cli/runtime/routing.d.ts +3 -0
  177. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
  178. package/dist/surfaces/cli/runtime/routing.js +31 -4
  179. package/dist/surfaces/cli/runtime/routing.js.map +1 -1
  180. package/dist/surfaces/cli/runtime/types.d.ts +23 -1
  181. package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
  182. package/dist/surfaces/cli/runtime.d.ts +1 -1
  183. package/dist/surfaces/cli/runtime.d.ts.map +1 -1
  184. package/dist/surfaces/cli/runtime.js +2 -1
  185. package/dist/surfaces/cli/runtime.js.map +1 -1
  186. package/dist/surfaces/copilot-instructions/graphflow.md +3 -2
  187. package/dist/surfaces/cursor-rules/graphflow.mdc +3 -2
  188. package/dist/surfaces/mcp/server.js +17 -6
  189. package/dist/surfaces/mcp/server.js.map +1 -1
  190. package/dist/surfaces/mcp/tool-definitions.d.ts.map +1 -1
  191. package/dist/surfaces/mcp/tool-definitions.js +1 -1
  192. package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
  193. package/dist/surfaces/mcp/tool-handlers.d.ts.map +1 -1
  194. package/dist/surfaces/mcp/tool-handlers.js +2 -0
  195. package/dist/surfaces/mcp/tool-handlers.js.map +1 -1
  196. package/dist/surfaces/trae-rules/graphflow.md +3 -2
  197. package/dist/surfaces/trae-skill/graphflow/SKILL.md +2 -0
  198. package/package.json +1 -1
  199. package/src/surfaces/antigravity-rules/graphflow.md +3 -2
  200. package/src/surfaces/copilot-instructions/graphflow.md +3 -2
  201. package/src/surfaces/cursor-rules/graphflow.mdc +3 -2
  202. package/src/surfaces/trae-rules/graphflow.md +3 -2
  203. package/src/surfaces/trae-skill/graphflow/SKILL.md +2 -0
@@ -0,0 +1,270 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_MAX_SIBLING_FILES = exports.DEFAULT_MAX_SYMBOLS_PER_FILE = void 0;
4
+ exports.diversifyHitsBySourceFile = diversifyHitsBySourceFile;
5
+ exports.hasModuleFamilyIntent = hasModuleFamilyIntent;
6
+ exports.expandSiblingDirectoryHits = expandSiblingDirectoryHits;
7
+ exports.prepareHitsForPackaging = prepareHitsForPackaging;
8
+ const graph_utils_js_1 = require("./graph-utils.js");
9
+ const context_slicer_utils_js_1 = require("./context-slicer-utils.js");
10
+ exports.DEFAULT_MAX_SYMBOLS_PER_FILE = 2;
11
+ exports.DEFAULT_MAX_SIBLING_FILES = 8;
12
+ const MODULE_FAMILY_TOKENS = new Set([
13
+ "slice",
14
+ "slices",
15
+ "store",
16
+ "persist",
17
+ "persistence",
18
+ "localstorage",
19
+ "zustand",
20
+ "redux",
21
+ ]);
22
+ const SLICES_PATH_PATTERN = /(?:^|\/)slices(?:\/|$)/i;
23
+ const STORE_PATH_PATTERN = /(?:^|\/)store(?:\/|$)/i;
24
+ function normalizePath(path) {
25
+ return path.replace(/\\/g, "/").replace(/^\.\//, "");
26
+ }
27
+ function parentDir(path) {
28
+ const normalized = normalizePath(path);
29
+ const idx = normalized.lastIndexOf("/");
30
+ return idx > 0 ? normalized.slice(0, idx) : "";
31
+ }
32
+ function looksLikeSourcePath(path) {
33
+ const normalized = normalizePath(path);
34
+ if (!normalized || normalized.startsWith("__node__:")) {
35
+ return false;
36
+ }
37
+ // Real indexed symbols use file paths with separators or extensions.
38
+ if (normalized.includes("/") || normalized.includes("\\")) {
39
+ return true;
40
+ }
41
+ if (/\.(ts|tsx|js|jsx|mjs|cjs|py|rs|go|java|kt|swift|md|json)$/i.test(normalized)) {
42
+ return true;
43
+ }
44
+ return false;
45
+ }
46
+ /**
47
+ * Resolve the source file used for diversify bucketing.
48
+ * When the graph node has no reliable file path (synthetic ids like `symbol:mod0`),
49
+ * fall back to a per-node bucket so diversify does not collapse unrelated symbols
50
+ * that happen to share the first content token (e.g. all starting with "function").
51
+ */
52
+ function sourceFileForNode(node) {
53
+ const fromMeta = typeof node.metadata?.file === "string" && node.metadata.file.trim()
54
+ ? node.metadata.file.trim()
55
+ : typeof node.metadata?.sourcePath === "string" && node.metadata.sourcePath.trim()
56
+ ? node.metadata.sourcePath.trim()
57
+ : "";
58
+ if (looksLikeSourcePath(fromMeta)) {
59
+ return normalizePath(fromMeta);
60
+ }
61
+ if (node.type === "Symbol") {
62
+ const fromId = (0, context_slicer_utils_js_1.extractFileFromSymbolId)(node.id);
63
+ if (fromId && looksLikeSourcePath(fromId)) {
64
+ return normalizePath(fromId);
65
+ }
66
+ }
67
+ const extracted = (0, graph_utils_js_1.extractNodeSourcePath)(node);
68
+ if (looksLikeSourcePath(extracted)) {
69
+ return normalizePath(extracted);
70
+ }
71
+ return `__node__:${node.id}`;
72
+ }
73
+ /**
74
+ * Cap Symbol hits per source file and round-robin across files so a hub file
75
+ * (e.g. useGameStore.ts) cannot monopolize the L1 package.
76
+ * File / Module / other node types are preserved in encounter order (no cap).
77
+ */
78
+ function diversifyHitsBySourceFile(hits, options) {
79
+ const maxSymbols = options?.maxSymbolsPerFile ?? exports.DEFAULT_MAX_SYMBOLS_PER_FILE;
80
+ if (hits.length === 0 || maxSymbols < 1) {
81
+ return hits;
82
+ }
83
+ const fileOrder = [];
84
+ const symbolsByFile = new Map();
85
+ const nonSymbols = [];
86
+ const nonSymbolSeen = new Set();
87
+ for (const hit of hits) {
88
+ if (hit.type !== "Symbol") {
89
+ if (!nonSymbolSeen.has(hit.id)) {
90
+ nonSymbolSeen.add(hit.id);
91
+ nonSymbols.push(hit);
92
+ }
93
+ continue;
94
+ }
95
+ const file = sourceFileForNode(hit) || hit.id;
96
+ if (!symbolsByFile.has(file)) {
97
+ symbolsByFile.set(file, []);
98
+ fileOrder.push(file);
99
+ }
100
+ symbolsByFile.get(file).push(hit);
101
+ }
102
+ const cappedByFile = new Map();
103
+ for (const file of fileOrder) {
104
+ cappedByFile.set(file, (symbolsByFile.get(file) ?? []).slice(0, maxSymbols));
105
+ }
106
+ const diversified = [];
107
+ const emitted = new Set();
108
+ // Emit non-symbols first (File anchors help sibling expansion seeds).
109
+ for (const node of nonSymbols) {
110
+ diversified.push(node);
111
+ emitted.add(node.id);
112
+ }
113
+ let round = 0;
114
+ let addedInRound = true;
115
+ while (addedInRound) {
116
+ addedInRound = false;
117
+ for (const file of fileOrder) {
118
+ const bucket = cappedByFile.get(file) ?? [];
119
+ const node = bucket[round];
120
+ if (!node || emitted.has(node.id)) {
121
+ continue;
122
+ }
123
+ diversified.push(node);
124
+ emitted.add(node.id);
125
+ addedInRound = true;
126
+ }
127
+ round += 1;
128
+ }
129
+ return diversified;
130
+ }
131
+ /** True when the query (or seed hits) look like a multi-file store/slice module family. */
132
+ function hasModuleFamilyIntent(query, englishQuery, hits) {
133
+ const tokens = new Set([
134
+ ...(0, graph_utils_js_1.tokenizeForIndex)(query),
135
+ ...(0, graph_utils_js_1.tokenizeForIndex)(englishQuery ?? ""),
136
+ ]);
137
+ for (const token of tokens) {
138
+ if (MODULE_FAMILY_TOKENS.has(token.toLowerCase())) {
139
+ return true;
140
+ }
141
+ }
142
+ if (hits) {
143
+ for (const hit of hits.slice(0, 12)) {
144
+ const path = sourceFileForNode(hit);
145
+ if (STORE_PATH_PATTERN.test(path) || SLICES_PATH_PATTERN.test(path)) {
146
+ return true;
147
+ }
148
+ }
149
+ }
150
+ return false;
151
+ }
152
+ function collectSeedParentDirs(hits, limit = 8) {
153
+ const dirs = [];
154
+ const seen = new Set();
155
+ for (const hit of hits) {
156
+ if (dirs.length >= limit)
157
+ break;
158
+ const file = sourceFileForNode(hit);
159
+ if (!file)
160
+ continue;
161
+ let dir = parentDir(file);
162
+ if (!dir)
163
+ continue;
164
+ // If already inside slices/, promote to the parent store directory.
165
+ if (/\/slices$/i.test(dir)) {
166
+ dir = parentDir(dir);
167
+ }
168
+ if (!dir || seen.has(dir))
169
+ continue;
170
+ seen.add(dir);
171
+ dirs.push(dir);
172
+ }
173
+ return dirs;
174
+ }
175
+ function isUnderSiblingScope(filePath, parentDirPath) {
176
+ const file = normalizePath(filePath);
177
+ const parent = normalizePath(parentDirPath);
178
+ if (!file || !parent)
179
+ return false;
180
+ if (file === parent || file.startsWith(`${parent}/`)) {
181
+ // Same directory file or nested (including slices/).
182
+ const rel = file.slice(parent.length + 1);
183
+ if (!rel)
184
+ return false;
185
+ // Allow direct children and slices/* children only (one level of slices).
186
+ const parts = rel.split("/");
187
+ if (parts.length === 1)
188
+ return true;
189
+ if (parts.length === 2 && parts[0]?.toLowerCase() === "slices")
190
+ return true;
191
+ return false;
192
+ }
193
+ return false;
194
+ }
195
+ /**
196
+ * After hub hits (e.g. useGameStore), pull sibling File nodes from the same
197
+ * directory and `slices/` subdirectory so module-family queries cover the family.
198
+ */
199
+ function expandSiblingDirectoryHits(hits, allNodes, options) {
200
+ const maxSiblingFiles = options?.maxSiblingFiles ?? exports.DEFAULT_MAX_SIBLING_FILES;
201
+ if (hits.length === 0 ||
202
+ allNodes.length === 0 ||
203
+ !hasModuleFamilyIntent(options?.query ?? "", options?.englishQuery, hits)) {
204
+ return hits;
205
+ }
206
+ const parents = collectSeedParentDirs(hits);
207
+ if (parents.length === 0) {
208
+ return hits;
209
+ }
210
+ const existingIds = new Set(hits.map((h) => h.id));
211
+ const existingFiles = new Set(hits.map((h) => sourceFileForNode(h)).filter(Boolean));
212
+ const siblingFiles = [];
213
+ for (const node of allNodes) {
214
+ if (node.type !== "File")
215
+ continue;
216
+ if (existingIds.has(node.id))
217
+ continue;
218
+ const path = sourceFileForNode(node);
219
+ if (!path || existingFiles.has(path))
220
+ continue;
221
+ if (!parents.some((parent) => isUnderSiblingScope(path, parent)))
222
+ continue;
223
+ siblingFiles.push(node);
224
+ existingFiles.add(path);
225
+ if (siblingFiles.length >= maxSiblingFiles)
226
+ break;
227
+ }
228
+ if (siblingFiles.length === 0) {
229
+ return hits;
230
+ }
231
+ // Prefer one exported Symbol per sibling file when available (helps L1 richness).
232
+ const siblingSymbols = [];
233
+ const symbolFiles = new Set();
234
+ for (const fileNode of siblingFiles) {
235
+ const filePath = sourceFileForNode(fileNode);
236
+ if (!filePath)
237
+ continue;
238
+ for (const node of allNodes) {
239
+ if (node.type !== "Symbol")
240
+ continue;
241
+ if (existingIds.has(node.id))
242
+ continue;
243
+ if (sourceFileForNode(node) !== filePath)
244
+ continue;
245
+ if (symbolFiles.has(filePath))
246
+ break;
247
+ siblingSymbols.push(node);
248
+ symbolFiles.add(filePath);
249
+ break;
250
+ }
251
+ }
252
+ return [...hits, ...siblingFiles, ...siblingSymbols];
253
+ }
254
+ /** Prepare keyword/vector hits for packing: diversify then sibling-expand. */
255
+ function prepareHitsForPackaging(hits, options) {
256
+ const diversified = diversifyHitsBySourceFile(hits, {
257
+ maxSymbolsPerFile: options?.maxSymbolsPerFile ?? exports.DEFAULT_MAX_SYMBOLS_PER_FILE,
258
+ });
259
+ if (!options?.allNodes?.length) {
260
+ return diversified;
261
+ }
262
+ return expandSiblingDirectoryHits(diversified, options.allNodes, {
263
+ ...(options.query !== undefined ? { query: options.query } : {}),
264
+ ...(options.englishQuery !== undefined ? { englishQuery: options.englishQuery } : {}),
265
+ ...(options.maxSiblingFiles !== undefined
266
+ ? { maxSiblingFiles: options.maxSiblingFiles }
267
+ : {}),
268
+ });
269
+ }
270
+ //# sourceMappingURL=hit-diversify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hit-diversify.js","sourceRoot":"","sources":["../../src/graph/hit-diversify.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../src/graph/language-indexers/go.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkD,eAAe,EAAE,MAAM,YAAY,CAAC;AASlG,eAAO,MAAM,SAAS,EAAE,eAsFvB,CAAC"}
1
+ {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../src/graph/language-indexers/go.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkD,eAAe,EAAE,MAAM,YAAY,CAAC;AAUlG,eAAO,MAAM,SAAS,EAAE,eAqFvB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.goIndexer = void 0;
4
- const tree_sitter_loader_js_1 = require("./tree-sitter-loader.js");
4
+ const incremental_parse_js_1 = require("./incremental-parse.js");
5
5
  function isExported(name) {
6
6
  if (!name)
7
7
  return false;
@@ -14,8 +14,7 @@ exports.goIndexer = {
14
14
  async extract(filePath, content) {
15
15
  const symbols = [];
16
16
  const imports = [];
17
- const parser = await (0, tree_sitter_loader_js_1.getTreeSitterParser)("go");
18
- const tree = parser.parse(content);
17
+ const tree = await (0, incremental_parse_js_1.parseFileIncremental)(filePath, "go", content);
19
18
  const traverse = (node) => {
20
19
  const lineNo = node.startPosition.row + 1;
21
20
  if (node.type === "package_clause") {
@@ -1 +1 @@
1
- {"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/graph/language-indexers/go.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/graph/language-indexers/go.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type TreeSitterEdit, type TreeSitterLanguage, type TreeSitterSyntaxNode } from "./tree-sitter-loader.js";
2
+ export interface IncrementalParseResult {
3
+ rootNode: TreeSitterSyntaxNode;
4
+ usedIncremental: boolean;
5
+ }
6
+ export declare function parseFileIncremental(filePath: string, language: TreeSitterLanguage, newContent: string): Promise<IncrementalParseResult>;
7
+ export declare function computeTreeEdit(oldContent: string, newContent: string): TreeSitterEdit;
8
+ export declare function clearIncrementalParseCache(): void;
9
+ //# sourceMappingURL=incremental-parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incremental-parse.d.ts","sourceRoot":"","sources":["../../../src/graph/language-indexers/incremental-parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAE1B,MAAM,yBAAyB,CAAC;AAWjC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAID,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,CAAC,CAmCjC;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAkCtF;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAKjD"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseFileIncremental = parseFileIncremental;
4
+ exports.computeTreeEdit = computeTreeEdit;
5
+ exports.clearIncrementalParseCache = clearIncrementalParseCache;
6
+ const node_crypto_1 = require("node:crypto");
7
+ const node_path_1 = require("node:path");
8
+ const tree_sitter_loader_js_1 = require("./tree-sitter-loader.js");
9
+ const MAX_INCREMENTAL_PARSE_CACHE_ENTRIES = 32;
10
+ const parseCache = new Map();
11
+ async function parseFileIncremental(filePath, language, newContent) {
12
+ const key = (0, node_path_1.resolve)(filePath);
13
+ const cached = parseCache.get(key);
14
+ const parser = await (0, tree_sitter_loader_js_1.getTreeSitterParser)(language);
15
+ if (cached?.language === language && canEditTree(cached.tree)) {
16
+ try {
17
+ const edit = computeTreeEdit(cached.content, newContent);
18
+ cached.tree.edit(edit);
19
+ const tree = parser.parse(newContent, cached.tree);
20
+ cached.tree.delete?.();
21
+ rememberParsedTree(key, {
22
+ content: newContent,
23
+ hash: hashContent(newContent),
24
+ language,
25
+ tree,
26
+ });
27
+ return { rootNode: tree.rootNode, usedIncremental: true };
28
+ }
29
+ catch {
30
+ cached.tree.delete?.();
31
+ parseCache.delete(key);
32
+ }
33
+ }
34
+ else if (cached) {
35
+ cached.tree.delete?.();
36
+ parseCache.delete(key);
37
+ }
38
+ const tree = parser.parse(newContent);
39
+ rememberParsedTree(key, {
40
+ content: newContent,
41
+ hash: hashContent(newContent),
42
+ language,
43
+ tree,
44
+ });
45
+ return { rootNode: tree.rootNode, usedIncremental: false };
46
+ }
47
+ function computeTreeEdit(oldContent, newContent) {
48
+ let prefixLength = 0;
49
+ const maxPrefixLength = Math.min(oldContent.length, newContent.length);
50
+ while (prefixLength < maxPrefixLength &&
51
+ oldContent.charCodeAt(prefixLength) === newContent.charCodeAt(prefixLength)) {
52
+ prefixLength += 1;
53
+ }
54
+ let suffixLength = 0;
55
+ const maxSuffixLength = Math.min(oldContent.length - prefixLength, newContent.length - prefixLength);
56
+ while (suffixLength < maxSuffixLength &&
57
+ oldContent.charCodeAt(oldContent.length - suffixLength - 1) ===
58
+ newContent.charCodeAt(newContent.length - suffixLength - 1)) {
59
+ suffixLength += 1;
60
+ }
61
+ const oldEndCharacter = oldContent.length - suffixLength;
62
+ const newEndCharacter = newContent.length - suffixLength;
63
+ return {
64
+ startIndex: byteLength(oldContent.slice(0, prefixLength)),
65
+ oldEndIndex: byteLength(oldContent.slice(0, oldEndCharacter)),
66
+ newEndIndex: byteLength(newContent.slice(0, newEndCharacter)),
67
+ startPosition: pointForCharacterIndex(oldContent, prefixLength),
68
+ oldEndPosition: pointForCharacterIndex(oldContent, oldEndCharacter),
69
+ newEndPosition: pointForCharacterIndex(newContent, newEndCharacter),
70
+ };
71
+ }
72
+ function clearIncrementalParseCache() {
73
+ for (const entry of parseCache.values()) {
74
+ entry.tree.delete?.();
75
+ }
76
+ parseCache.clear();
77
+ }
78
+ function rememberParsedTree(key, entry) {
79
+ parseCache.delete(key);
80
+ parseCache.set(key, entry);
81
+ while (parseCache.size > MAX_INCREMENTAL_PARSE_CACHE_ENTRIES) {
82
+ const oldestKey = parseCache.keys().next().value;
83
+ if (!oldestKey) {
84
+ return;
85
+ }
86
+ const oldest = parseCache.get(oldestKey);
87
+ oldest?.tree.delete?.();
88
+ parseCache.delete(oldestKey);
89
+ }
90
+ }
91
+ function canEditTree(tree) {
92
+ return typeof tree.edit === "function";
93
+ }
94
+ function pointForCharacterIndex(content, characterIndex) {
95
+ let row = 0;
96
+ let lineStartCharacter = 0;
97
+ for (let idx = 0; idx < characterIndex; idx += 1) {
98
+ if (content.charCodeAt(idx) === 10) {
99
+ row += 1;
100
+ lineStartCharacter = idx + 1;
101
+ }
102
+ }
103
+ return {
104
+ row,
105
+ column: byteLength(content.slice(lineStartCharacter, characterIndex)),
106
+ };
107
+ }
108
+ function hashContent(content) {
109
+ return (0, node_crypto_1.createHash)("sha1").update(content).digest("hex");
110
+ }
111
+ function byteLength(value) {
112
+ return Buffer.byteLength(value, "utf8");
113
+ }
114
+ //# sourceMappingURL=incremental-parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incremental-parse.js","sourceRoot":"","sources":["../../../src/graph/language-indexers/incremental-parse.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/graph/language-indexers/python.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiF,eAAe,EAAE,MAAM,YAAY,CAAC;AAGjI,eAAO,MAAM,aAAa,EAAE,eAkI3B,CAAC"}
1
+ {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/graph/language-indexers/python.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiF,eAAe,EAAE,MAAM,YAAY,CAAC;AAIjI,eAAO,MAAM,aAAa,EAAE,eAiI3B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pythonIndexer = void 0;
4
- const tree_sitter_loader_js_1 = require("./tree-sitter-loader.js");
4
+ const incremental_parse_js_1 = require("./incremental-parse.js");
5
5
  exports.pythonIndexer = {
6
6
  language: "python",
7
7
  extensions: [".py"],
@@ -10,8 +10,7 @@ exports.pythonIndexer = {
10
10
  const imports = [];
11
11
  const calls = [];
12
12
  const inherits = [];
13
- const parser = await (0, tree_sitter_loader_js_1.getTreeSitterParser)("python");
14
- const tree = parser.parse(content);
13
+ const tree = await (0, incremental_parse_js_1.parseFileIncremental)(filePath, "python", content);
15
14
  const traverse = (node, caller) => {
16
15
  const lineNo = node.startPosition.row + 1;
17
16
  if (node.type === "class_definition") {
@@ -1 +1 @@
1
- {"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/graph/language-indexers/python.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/graph/language-indexers/python.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/graph/language-indexers/rust.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkD,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlG;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,eAwKzB,CAAC"}
1
+ {"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/graph/language-indexers/rust.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkD,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlG;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,eAuKzB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rustIndexer = void 0;
4
- const tree_sitter_loader_js_1 = require("./tree-sitter-loader.js");
4
+ const incremental_parse_js_1 = require("./incremental-parse.js");
5
5
  /**
6
6
  * Rust indexer using tree-sitter AST (upgraded from line-level regex).
7
7
  *
@@ -19,8 +19,7 @@ exports.rustIndexer = {
19
19
  const imports = [];
20
20
  let tree;
21
21
  try {
22
- const parser = await (0, tree_sitter_loader_js_1.getTreeSitterParser)("rust");
23
- tree = parser.parse(content);
22
+ tree = await (0, incremental_parse_js_1.parseFileIncremental)(filePath, "rust", content);
24
23
  }
25
24
  catch {
26
25
  // Fallback to regex if tree-sitter WASM unavailable
@@ -1 +1 @@
1
- {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../../src/graph/language-indexers/rust.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../../src/graph/language-indexers/rust.ts"],"names":[],"mappings":"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"}
@@ -3,16 +3,32 @@ export interface TreeSitterSyntaxNode {
3
3
  text: string;
4
4
  startPosition: {
5
5
  row: number;
6
+ column?: number;
6
7
  };
7
8
  parent?: TreeSitterSyntaxNode;
8
9
  namedChildren: TreeSitterSyntaxNode[];
9
10
  children?: TreeSitterSyntaxNode[];
10
11
  childForFieldName(name: string): TreeSitterSyntaxNode | null;
11
12
  }
13
+ export interface TreeSitterPoint {
14
+ row: number;
15
+ column: number;
16
+ }
17
+ export interface TreeSitterEdit {
18
+ startIndex: number;
19
+ oldEndIndex: number;
20
+ newEndIndex: number;
21
+ startPosition: TreeSitterPoint;
22
+ oldEndPosition: TreeSitterPoint;
23
+ newEndPosition: TreeSitterPoint;
24
+ }
25
+ export interface TreeSitterTree {
26
+ rootNode: TreeSitterSyntaxNode;
27
+ edit?(edit: TreeSitterEdit): void;
28
+ delete?(): void;
29
+ }
12
30
  export interface TreeSitterParser {
13
- parse(content: string): {
14
- rootNode: TreeSitterSyntaxNode;
15
- };
31
+ parse(content: string, oldTree?: unknown): TreeSitterTree;
16
32
  }
17
33
  /**
18
34
  * Supported tree-sitter languages.
@@ -1 +1 @@
1
- {"version":3,"file":"tree-sitter-loader.d.ts","sourceRoot":"","sources":["../../../src/graph/language-indexers/tree-sitter-loader.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,oBAAoB,CAAA;KAAE,CAAC;CAC5D;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,IAAI,GACJ,MAAM,GACN,GAAG,GACH,KAAK,GACL,MAAM,GACN,MAAM,GACN,QAAQ,GACR,OAAO,CAAC;AAqBZ;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAgBlF;AAuBD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAkB3B"}
1
+ {"version":3,"file":"tree-sitter-loader.d.ts","sourceRoot":"","sources":["../../../src/graph/language-indexers/tree-sitter-loader.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,eAAe,CAAC;IAC/B,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,eAAe,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;CAC3D;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,IAAI,GACJ,MAAM,GACN,GAAG,GACH,KAAK,GACL,MAAM,GACN,MAAM,GACN,QAAQ,GACR,OAAO,CAAC;AAuBZ;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAgBlF;AAuBD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAS3B"}