@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.
- package/CHANGELOG.md +47 -0
- package/README.md +11 -7
- package/dist/agents/insight.d.ts +13 -2
- package/dist/agents/insight.d.ts.map +1 -1
- package/dist/agents/insight.js +56 -26
- package/dist/agents/insight.js.map +1 -1
- package/dist/agents/task-profile.d.ts +19 -0
- package/dist/agents/task-profile.d.ts.map +1 -0
- package/dist/agents/task-profile.js +64 -0
- package/dist/agents/task-profile.js.map +1 -0
- package/dist/agents/validator.js +1 -1
- package/dist/agents/validator.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +3 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/discover-workspace.d.ts.map +1 -1
- package/dist/config/discover-workspace.js +9 -2
- package/dist/config/discover-workspace.js.map +1 -1
- package/dist/config/embedding-factory.d.ts.map +1 -1
- package/dist/config/embedding-factory.js +88 -9
- package/dist/config/embedding-factory.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +9 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/config/provider-env.d.ts +32 -0
- package/dist/config/provider-env.d.ts.map +1 -0
- package/dist/config/provider-env.js +51 -0
- package/dist/config/provider-env.js.map +1 -0
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +7 -2
- package/dist/config/resolve.js.map +1 -1
- package/dist/config/schema.d.ts +17 -2
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/workspace-root.d.ts +0 -12
- package/dist/config/workspace-root.d.ts.map +1 -1
- package/dist/config/workspace-root.js +21 -5
- package/dist/config/workspace-root.js.map +1 -1
- package/dist/core/agent-delegation.d.ts +5 -0
- package/dist/core/agent-delegation.d.ts.map +1 -1
- package/dist/core/agent-delegation.js +131 -57
- package/dist/core/agent-delegation.js.map +1 -1
- package/dist/core/cancellation.d.ts +57 -0
- package/dist/core/cancellation.d.ts.map +1 -0
- package/dist/core/cancellation.js +195 -0
- package/dist/core/cancellation.js.map +1 -0
- package/dist/core/dag-engine.d.ts +6 -1
- package/dist/core/dag-engine.d.ts.map +1 -1
- package/dist/core/dag-engine.js +67 -9
- package/dist/core/dag-engine.js.map +1 -1
- package/dist/core/orchestrator-context.d.ts.map +1 -1
- package/dist/core/orchestrator-context.js +3 -0
- package/dist/core/orchestrator-context.js.map +1 -1
- package/dist/core/orchestrator-route.d.ts +1 -1
- package/dist/core/orchestrator-route.d.ts.map +1 -1
- package/dist/core/orchestrator-route.js.map +1 -1
- package/dist/core/orchestrator.js +6 -1
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/runtime-controller.d.ts +19 -0
- package/dist/core/runtime-controller.d.ts.map +1 -0
- package/dist/core/runtime-controller.js +89 -0
- package/dist/core/runtime-controller.js.map +1 -0
- package/dist/core/types.d.ts +5 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/graph/context-slicer-types.d.ts +2 -0
- package/dist/graph/context-slicer-types.d.ts.map +1 -1
- package/dist/graph/context-slicer-types.js.map +1 -1
- package/dist/graph/context-slicer.d.ts +1 -0
- package/dist/graph/context-slicer.d.ts.map +1 -1
- package/dist/graph/context-slicer.js +54 -8
- package/dist/graph/context-slicer.js.map +1 -1
- package/dist/graph/file-watcher.d.ts.map +1 -1
- package/dist/graph/file-watcher.js +9 -2
- package/dist/graph/file-watcher.js.map +1 -1
- package/dist/graph/graph-utils.d.ts +6 -1
- package/dist/graph/graph-utils.d.ts.map +1 -1
- package/dist/graph/graph-utils.js +116 -2
- package/dist/graph/graph-utils.js.map +1 -1
- package/dist/graph/graphify-file-client.d.ts.map +1 -1
- package/dist/graph/graphify-file-client.js +2 -1
- package/dist/graph/graphify-file-client.js.map +1 -1
- package/dist/graph/hit-diversify.d.ts +31 -0
- package/dist/graph/hit-diversify.d.ts.map +1 -0
- package/dist/graph/hit-diversify.js +270 -0
- package/dist/graph/hit-diversify.js.map +1 -0
- package/dist/graph/language-indexers/go.d.ts.map +1 -1
- package/dist/graph/language-indexers/go.js +2 -3
- package/dist/graph/language-indexers/go.js.map +1 -1
- package/dist/graph/language-indexers/incremental-parse.d.ts +9 -0
- package/dist/graph/language-indexers/incremental-parse.d.ts.map +1 -0
- package/dist/graph/language-indexers/incremental-parse.js +114 -0
- package/dist/graph/language-indexers/incremental-parse.js.map +1 -0
- package/dist/graph/language-indexers/python.d.ts.map +1 -1
- package/dist/graph/language-indexers/python.js +2 -3
- package/dist/graph/language-indexers/python.js.map +1 -1
- package/dist/graph/language-indexers/rust.d.ts.map +1 -1
- package/dist/graph/language-indexers/rust.js +2 -3
- package/dist/graph/language-indexers/rust.js.map +1 -1
- package/dist/graph/language-indexers/tree-sitter-loader.d.ts +19 -3
- package/dist/graph/language-indexers/tree-sitter-loader.d.ts.map +1 -1
- package/dist/graph/language-indexers/tree-sitter-loader.js +24 -4
- package/dist/graph/language-indexers/tree-sitter-loader.js.map +1 -1
- package/dist/graph/query-expand.d.ts.map +1 -1
- package/dist/graph/query-expand.js +2 -0
- package/dist/graph/query-expand.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/agent-mcp-installer.d.ts +39 -0
- package/dist/integrations/agent-mcp-installer.d.ts.map +1 -1
- package/dist/integrations/agent-mcp-installer.js +220 -14
- package/dist/integrations/agent-mcp-installer.js.map +1 -1
- package/dist/learning/embedding-quality.d.ts +46 -0
- package/dist/learning/embedding-quality.d.ts.map +1 -0
- package/dist/learning/embedding-quality.js +131 -0
- package/dist/learning/embedding-quality.js.map +1 -0
- package/dist/learning/embeddings.d.ts +45 -1
- package/dist/learning/embeddings.d.ts.map +1 -1
- package/dist/learning/embeddings.js +180 -5
- package/dist/learning/embeddings.js.map +1 -1
- package/dist/learning/skill-flywheel.d.ts +1 -1
- package/dist/learning/skill-flywheel.d.ts.map +1 -1
- package/dist/learning/skill-flywheel.js +10 -3
- package/dist/learning/skill-flywheel.js.map +1 -1
- package/dist/routing/deepseek-tools.d.ts +7 -0
- package/dist/routing/deepseek-tools.d.ts.map +1 -0
- package/dist/routing/deepseek-tools.js +154 -0
- package/dist/routing/deepseek-tools.js.map +1 -0
- package/dist/routing/model-router.d.ts +1 -1
- package/dist/routing/model-router.d.ts.map +1 -1
- package/dist/routing/model-router.js +5 -1
- package/dist/routing/model-router.js.map +1 -1
- package/dist/routing/provider-adapters/anthropic.d.ts.map +1 -1
- package/dist/routing/provider-adapters/anthropic.js +7 -4
- package/dist/routing/provider-adapters/anthropic.js.map +1 -1
- package/dist/routing/provider-adapters/bailian.d.ts.map +1 -1
- package/dist/routing/provider-adapters/bailian.js +7 -4
- package/dist/routing/provider-adapters/bailian.js.map +1 -1
- package/dist/routing/provider-adapters/deepseek.d.ts +5 -0
- package/dist/routing/provider-adapters/deepseek.d.ts.map +1 -0
- package/dist/routing/provider-adapters/deepseek.js +109 -0
- package/dist/routing/provider-adapters/deepseek.js.map +1 -0
- package/dist/routing/provider-adapters/doubao.d.ts.map +1 -1
- package/dist/routing/provider-adapters/doubao.js +7 -4
- package/dist/routing/provider-adapters/doubao.js.map +1 -1
- package/dist/routing/provider-adapters/openai.d.ts +2 -4
- package/dist/routing/provider-adapters/openai.d.ts.map +1 -1
- package/dist/routing/provider-adapters/openai.js +23 -32
- package/dist/routing/provider-adapters/openai.js.map +1 -1
- package/dist/routing/provider-adapters/types.d.ts +61 -0
- package/dist/routing/provider-adapters/types.d.ts.map +1 -0
- package/dist/routing/provider-adapters/types.js +56 -0
- package/dist/routing/provider-adapters/types.js.map +1 -0
- package/dist/routing/provider-executor.d.ts +6 -1
- package/dist/routing/provider-executor.d.ts.map +1 -1
- package/dist/routing/provider-executor.js +70 -39
- package/dist/routing/provider-executor.js.map +1 -1
- package/dist/routing/provider-health.d.ts.map +1 -1
- package/dist/routing/provider-health.js +7 -1
- package/dist/routing/provider-health.js.map +1 -1
- package/dist/routing/role-capabilities.d.ts +11 -0
- package/dist/routing/role-capabilities.d.ts.map +1 -0
- package/dist/routing/role-capabilities.js +94 -0
- package/dist/routing/role-capabilities.js.map +1 -0
- package/dist/surfaces/antigravity-rules/graphflow.md +3 -2
- package/dist/surfaces/cli/runtime/env.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/env.js +3 -0
- package/dist/surfaces/cli/runtime/env.js.map +1 -1
- package/dist/surfaces/cli/runtime/facade.d.ts +2 -1
- package/dist/surfaces/cli/runtime/facade.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/facade.js +1 -0
- package/dist/surfaces/cli/runtime/facade.js.map +1 -1
- package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/graph.js +7 -0
- package/dist/surfaces/cli/runtime/graph.js.map +1 -1
- package/dist/surfaces/cli/runtime/routing.d.ts +3 -0
- package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/routing.js +31 -4
- package/dist/surfaces/cli/runtime/routing.js.map +1 -1
- package/dist/surfaces/cli/runtime/types.d.ts +23 -1
- package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime.d.ts +1 -1
- package/dist/surfaces/cli/runtime.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime.js +2 -1
- package/dist/surfaces/cli/runtime.js.map +1 -1
- package/dist/surfaces/copilot-instructions/graphflow.md +3 -2
- package/dist/surfaces/cursor-rules/graphflow.mdc +3 -2
- package/dist/surfaces/mcp/server.js +17 -6
- package/dist/surfaces/mcp/server.js.map +1 -1
- package/dist/surfaces/mcp/tool-definitions.d.ts.map +1 -1
- package/dist/surfaces/mcp/tool-definitions.js +1 -1
- package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
- package/dist/surfaces/mcp/tool-handlers.d.ts.map +1 -1
- package/dist/surfaces/mcp/tool-handlers.js +2 -0
- package/dist/surfaces/mcp/tool-handlers.js.map +1 -1
- package/dist/surfaces/trae-rules/graphflow.md +3 -2
- package/dist/surfaces/trae-skill/graphflow/SKILL.md +2 -0
- package/package.json +1 -1
- package/src/surfaces/antigravity-rules/graphflow.md +3 -2
- package/src/surfaces/copilot-instructions/graphflow.md +3 -2
- package/src/surfaces/cursor-rules/graphflow.mdc +3 -2
- package/src/surfaces/trae-rules/graphflow.md +3 -2
- 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;
|
|
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
|
|
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
|
|
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":";;;AACA,
|
|
1
|
+
{"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/graph/language-indexers/go.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAG9D,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;AACtC,CAAC;AAEY,QAAA,SAAS,GAAoB;IACxC,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,OAAe;QAC7C,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,IAAA,2CAAoB,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,CAAC,IAA0B,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;YAE1C,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACvF,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,IAAI;wBACd,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC3B,IAAI,WAAW,GAAG,CAAC,CAAC;oBACpB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;oBACxD,IAAI,UAAU,EAAE,CAAC;wBACf,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC,MAAM,CAAC;oBAClG,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI;wBACJ,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;wBAC5D,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;wBAC1B,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC3B,MAAM,IAAI,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBACxD,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;oBACnF,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI;wBACJ,IAAI;wBACJ,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;wBAC1B,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,oCAAoC;oBACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACjD,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAClE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;gBAC5E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI;wBACJ,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;wBACvD,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;wBAC1B,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxD,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;CACF,CAAC"}
|
|
@@ -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;
|
|
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
|
|
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
|
|
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":";;;AACA,
|
|
1
|
+
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/graph/language-indexers/python.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAGjD,QAAA,aAAa,GAAoB;IAC5C,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,OAAe;QAC7C,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAsB,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAA,2CAAoB,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,CAAC,IAA0B,EAAE,MAAe,EAAE,EAAE;YAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;YAE1C,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI;wBACJ,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;wBAC/B,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;oBAEH,0CAA0C;oBAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;oBAChE,IAAI,gBAAgB,EAAE,CAAC;wBACrB,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,aAAa,EAAE,CAAC;4BACjD,wDAAwD;4BACxD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;4BACnC,IAAI,UAAU,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;gCAC3D,QAAQ,CAAC,IAAI,CAAC;oCACZ,KAAK,EAAE,IAAI;oCACX,MAAM,EAAE,UAAU;oCAClB,IAAI,EAAE,SAAS;oCACf,IAAI,EAAE,MAAM;iCACb,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;oBACrC,MAAM,IAAI,GAAG,UAAU,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;oBAEhH,IAAI,WAAW,GAAG,CAAC,CAAC;oBACpB,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;oBAC5D,IAAI,cAAc,EAAE,CAAC;wBACnB,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC;oBACpD,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI;wBACJ,IAAI;wBACJ,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;wBAC/B,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW;qBACZ,CAAC,CAAC;oBAEH,0DAA0D;oBAC1D,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChC,0EAA0E;gBAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACpD,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,UAA8B,CAAC;oBACnC,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACnC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC7B,CAAC;yBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACzC,kEAAkE;wBAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;wBACzD,IAAI,QAAQ,EAAE,CAAC;4BACb,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;wBAC7B,CAAC;oBACH,CAAC;oBACD,IAAI,UAAU,EAAE,CAAC;wBACf,KAAK,CAAC,IAAI,CAAC;4BACT,MAAM,EAAE,UAAU;4BAClB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC7B,IAAI,EAAE,MAAM;yBACb,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;wBACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBAC3F,IAAI,QAAQ,EAAE,CAAC;4BACb,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC9E,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACjD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBAC7D,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC;oBAClC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;wBAChB,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC/B,OAAO,EAAE,CAAC;4BACV,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC7B,CAAC;wBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACtC,oCAAoC;wBACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;wBACxD,IAAI,OAAO,EAAE,CAAC;4BACZ,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;wBACvC,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/D,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC/C,CAAC;CACF,CAAC"}
|
|
@@ -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;
|
|
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
|
|
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
|
-
|
|
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":";;;AACA,
|
|
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;
|
|
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"}
|