codestrate 0.6.1 → 0.6.3
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/README.md +97 -101
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +54 -4
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +198 -119
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +0 -0
- package/dist/install.d.ts.map +0 -0
- package/dist/install.js +2 -2
- package/dist/install.js.map +1 -1
- package/dist/profiles.d.ts +28 -0
- package/dist/profiles.d.ts.map +1 -0
- package/dist/profiles.js +89 -0
- package/dist/profiles.js.map +1 -0
- package/dist/schemas/index.d.ts +1441 -126
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +221 -10
- package/dist/schemas/index.js.map +1 -1
- package/dist/security/guard.d.ts +15 -2
- package/dist/security/guard.d.ts.map +1 -1
- package/dist/security/guard.js +42 -8
- package/dist/security/guard.js.map +1 -1
- package/dist/services/code-chunker.d.ts +50 -0
- package/dist/services/code-chunker.d.ts.map +1 -0
- package/dist/services/code-chunker.js +148 -0
- package/dist/services/code-chunker.js.map +1 -0
- package/dist/services/code-searcher.d.ts +6 -2
- package/dist/services/code-searcher.d.ts.map +1 -1
- package/dist/services/code-searcher.js +111 -17
- package/dist/services/code-searcher.js.map +1 -1
- package/dist/services/context-builder.d.ts +0 -11
- package/dist/services/context-builder.d.ts.map +1 -1
- package/dist/services/context-builder.js +74 -128
- package/dist/services/context-builder.js.map +1 -1
- package/dist/services/embedding-runtime.d.ts +41 -0
- package/dist/services/embedding-runtime.d.ts.map +1 -0
- package/dist/services/embedding-runtime.js +636 -0
- package/dist/services/embedding-runtime.js.map +1 -0
- package/dist/services/embedding.d.ts +79 -0
- package/dist/services/embedding.d.ts.map +1 -0
- package/dist/services/embedding.js +257 -0
- package/dist/services/embedding.js.map +1 -0
- package/dist/services/index-state.d.ts +74 -0
- package/dist/services/index-state.d.ts.map +1 -0
- package/dist/services/index-state.js +151 -0
- package/dist/services/index-state.js.map +1 -0
- package/dist/services/index-worker.d.ts +60 -0
- package/dist/services/index-worker.d.ts.map +1 -0
- package/dist/services/index-worker.js +182 -0
- package/dist/services/index-worker.js.map +1 -0
- package/dist/services/logger.d.ts +48 -0
- package/dist/services/logger.d.ts.map +1 -0
- package/dist/services/logger.js +106 -0
- package/dist/services/logger.js.map +1 -0
- package/dist/services/memory-store.d.ts +9 -7
- package/dist/services/memory-store.d.ts.map +1 -1
- package/dist/services/memory-store.js +93 -7
- package/dist/services/memory-store.js.map +1 -1
- package/dist/services/repository-parser.d.ts +0 -0
- package/dist/services/repository-parser.d.ts.map +0 -0
- package/dist/services/repository-parser.js +0 -0
- package/dist/services/repository-parser.js.map +0 -0
- package/dist/services/symbol-indexer.d.ts +0 -0
- package/dist/services/symbol-indexer.d.ts.map +1 -1
- package/dist/services/symbol-indexer.js +25 -13
- package/dist/services/symbol-indexer.js.map +1 -1
- package/dist/services/tree-sitter.d.ts +0 -0
- package/dist/services/tree-sitter.d.ts.map +0 -0
- package/dist/services/tree-sitter.js +0 -0
- package/dist/services/tree-sitter.js.map +0 -0
- package/dist/services/validation-runner.d.ts +0 -0
- package/dist/services/validation-runner.d.ts.map +1 -1
- package/dist/services/validation-runner.js +9 -9
- package/dist/services/validation-runner.js.map +1 -1
- package/dist/services/vector-indexer.d.ts +53 -0
- package/dist/services/vector-indexer.d.ts.map +1 -0
- package/dist/services/vector-indexer.js +230 -0
- package/dist/services/vector-indexer.js.map +1 -0
- package/dist/store/index.d.ts +0 -0
- package/dist/store/index.d.ts.map +0 -0
- package/dist/store/index.js +0 -0
- package/dist/store/index.js.map +0 -0
- package/dist/store/interface.d.ts +70 -1
- package/dist/store/interface.d.ts.map +1 -1
- package/dist/store/interface.js +0 -0
- package/dist/store/interface.js.map +0 -0
- package/dist/store/memory.d.ts +0 -0
- package/dist/store/memory.d.ts.map +0 -0
- package/dist/store/memory.js +0 -0
- package/dist/store/memory.js.map +0 -0
- package/dist/store/service.d.ts +49 -0
- package/dist/store/service.d.ts.map +1 -0
- package/dist/store/service.js +147 -0
- package/dist/store/service.js.map +1 -0
- package/dist/store/sqlite.d.ts +68 -3
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +708 -58
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/vector-store.d.ts +66 -0
- package/dist/store/vector-store.d.ts.map +1 -0
- package/dist/store/vector-store.js +330 -0
- package/dist/store/vector-store.js.map +1 -0
- package/dist/tools/analyze-impact.d.ts +0 -0
- package/dist/tools/analyze-impact.d.ts.map +1 -1
- package/dist/tools/analyze-impact.js +101 -39
- package/dist/tools/analyze-impact.js.map +1 -1
- package/dist/tools/deep-explore.d.ts +0 -0
- package/dist/tools/deep-explore.d.ts.map +1 -1
- package/dist/tools/deep-explore.js +18 -4
- package/dist/tools/deep-explore.js.map +1 -1
- package/dist/tools/detect-cycles.d.ts +3 -0
- package/dist/tools/detect-cycles.d.ts.map +1 -0
- package/dist/tools/detect-cycles.js +61 -0
- package/dist/tools/detect-cycles.js.map +1 -0
- package/dist/tools/detect-dead-code.d.ts +0 -0
- package/dist/tools/detect-dead-code.d.ts.map +1 -1
- package/dist/tools/detect-dead-code.js +1 -0
- package/dist/tools/detect-dead-code.js.map +1 -1
- package/dist/tools/explore.d.ts +13 -0
- package/dist/tools/explore.d.ts.map +1 -1
- package/dist/tools/explore.js +122 -88
- package/dist/tools/explore.js.map +1 -1
- package/dist/tools/get-context.d.ts +15 -0
- package/dist/tools/get-context.d.ts.map +1 -1
- package/dist/tools/get-context.js +66 -61
- package/dist/tools/get-context.js.map +1 -1
- package/dist/tools/graph-explain.d.ts +3 -0
- package/dist/tools/graph-explain.d.ts.map +1 -0
- package/dist/tools/graph-explain.js +140 -0
- package/dist/tools/graph-explain.js.map +1 -0
- package/dist/tools/graph-stats.d.ts +3 -0
- package/dist/tools/graph-stats.d.ts.map +1 -0
- package/dist/tools/graph-stats.js +73 -0
- package/dist/tools/graph-stats.js.map +1 -0
- package/dist/tools/inspect-symbol.d.ts +10 -0
- package/dist/tools/inspect-symbol.d.ts.map +1 -1
- package/dist/tools/inspect-symbol.js +112 -101
- package/dist/tools/inspect-symbol.js.map +1 -1
- package/dist/tools/ping.d.ts +0 -0
- package/dist/tools/ping.d.ts.map +1 -1
- package/dist/tools/ping.js +2 -3
- package/dist/tools/ping.js.map +1 -1
- package/dist/tools/profile.d.ts +9 -0
- package/dist/tools/profile.d.ts.map +1 -0
- package/dist/tools/profile.js +101 -0
- package/dist/tools/profile.js.map +1 -0
- package/dist/tools/query-graph.d.ts +3 -0
- package/dist/tools/query-graph.d.ts.map +1 -0
- package/dist/tools/query-graph.js +157 -0
- package/dist/tools/query-graph.js.map +1 -0
- package/dist/tools/recall-experience.d.ts +0 -0
- package/dist/tools/recall-experience.d.ts.map +1 -1
- package/dist/tools/recall-experience.js +5 -5
- package/dist/tools/recall-experience.js.map +1 -1
- package/dist/tools/record-experience.d.ts +0 -0
- package/dist/tools/record-experience.d.ts.map +1 -1
- package/dist/tools/record-experience.js +2 -5
- package/dist/tools/record-experience.js.map +1 -1
- package/dist/tools/reflect.d.ts +4 -0
- package/dist/tools/reflect.d.ts.map +1 -0
- package/dist/tools/reflect.js +99 -0
- package/dist/tools/reflect.js.map +1 -0
- package/dist/tools/register.d.ts +5 -2
- package/dist/tools/register.d.ts.map +1 -1
- package/dist/tools/register.js +31 -1
- package/dist/tools/register.js.map +1 -1
- package/dist/tools/reindex.d.ts +0 -0
- package/dist/tools/reindex.d.ts.map +1 -1
- package/dist/tools/reindex.js +102 -21
- package/dist/tools/reindex.js.map +1 -1
- package/dist/tools/repo-overview.d.ts +0 -0
- package/dist/tools/repo-overview.d.ts.map +1 -1
- package/dist/tools/repo-overview.js +8 -6
- package/dist/tools/repo-overview.js.map +1 -1
- package/dist/tools/run-validation.d.ts +0 -0
- package/dist/tools/run-validation.d.ts.map +1 -1
- package/dist/tools/run-validation.js +15 -1
- package/dist/tools/run-validation.js.map +1 -1
- package/dist/tools/search-code.d.ts +0 -0
- package/dist/tools/search-code.d.ts.map +1 -1
- package/dist/tools/search-code.js +11 -4
- package/dist/tools/search-code.js.map +1 -1
- package/dist/tools/search-history.d.ts +0 -0
- package/dist/tools/search-history.d.ts.map +0 -0
- package/dist/tools/search-history.js +0 -0
- package/dist/tools/search-history.js.map +0 -0
- package/dist/tools/session-heartbeat.d.ts +0 -0
- package/dist/tools/session-heartbeat.d.ts.map +1 -1
- package/dist/tools/session-heartbeat.js +1 -0
- package/dist/tools/session-heartbeat.js.map +1 -1
- package/dist/tools/session-status.d.ts +0 -0
- package/dist/tools/session-status.d.ts.map +1 -1
- package/dist/tools/session-status.js +1 -0
- package/dist/tools/session-status.js.map +1 -1
- package/dist/tools/status.d.ts +0 -0
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +87 -24
- package/dist/tools/status.js.map +1 -1
- package/dist/tools/trace-bfs.d.ts +13 -0
- package/dist/tools/trace-bfs.d.ts.map +1 -0
- package/dist/tools/trace-bfs.js +251 -0
- package/dist/tools/trace-bfs.js.map +1 -0
- package/dist/tools/trace-flow.d.ts +1 -1
- package/dist/tools/trace-flow.d.ts.map +1 -1
- package/dist/tools/trace-flow.js +113 -69
- package/dist/tools/trace-flow.js.map +1 -1
- package/dist/types.d.ts +75 -13
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +15 -0
- package/dist/types.js.map +1 -1
- package/grammars/tree-sitter-c.wasm +0 -0
- package/grammars/tree-sitter-cpp.wasm +0 -0
- package/grammars/tree-sitter-go.wasm +0 -0
- package/grammars/tree-sitter-java.wasm +0 -0
- package/grammars/tree-sitter-javascript.wasm +0 -0
- package/grammars/tree-sitter-python.wasm +0 -0
- package/grammars/tree-sitter-rust.wasm +0 -0
- package/grammars/tree-sitter-tsx.wasm +0 -0
- package/grammars/tree-sitter-typescript.wasm +0 -0
- package/package.json +8 -6
package/dist/tools/trace-flow.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { registerCiTool } from "./register.js";
|
|
2
2
|
import { TraceFlowSchema, TraceFlowOutputSchema, ResponseFormat } from "../schemas/index.js";
|
|
3
|
-
import { findSymbol, findCallers, findCallees } from "../store/
|
|
3
|
+
import { findSymbol, findCallers, findCallees } from "../store/service.js";
|
|
4
4
|
import { getStore } from "../store/sqlite.js";
|
|
5
5
|
import { MAX_RESPONSE_CHARS } from "../constants.js";
|
|
6
6
|
import { asStructured } from "../types.js";
|
|
7
|
+
import { requireIndexReady, ciErrorToolResult, indexMeta, getIndexState, } from "../services/index-state.js";
|
|
7
8
|
export function registerTraceFlow(server) {
|
|
8
9
|
registerCiTool(server, "ci_trace_flow", {
|
|
9
10
|
title: "Trace Flow",
|
|
@@ -13,34 +14,71 @@ export function registerTraceFlow(server) {
|
|
|
13
14
|
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
14
15
|
}, async (params) => {
|
|
15
16
|
try {
|
|
17
|
+
const indexErr = requireIndexReady();
|
|
18
|
+
if (indexErr) {
|
|
19
|
+
return ciErrorToolResult(indexErr);
|
|
20
|
+
}
|
|
16
21
|
const symbol = findSymbol(params.symbol);
|
|
17
22
|
if (!symbol) {
|
|
23
|
+
const payload = {
|
|
24
|
+
symbol: params.symbol,
|
|
25
|
+
nodes: [],
|
|
26
|
+
total: 0,
|
|
27
|
+
found: false,
|
|
28
|
+
...indexMeta(),
|
|
29
|
+
};
|
|
18
30
|
return {
|
|
19
|
-
content: [
|
|
20
|
-
|
|
31
|
+
content: [
|
|
32
|
+
{
|
|
33
|
+
type: "text",
|
|
34
|
+
text: `Symbol '${params.symbol}' not found in index. Try ci_explore to find available symbols.`,
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
structuredContent: asStructured(payload),
|
|
21
38
|
};
|
|
22
39
|
}
|
|
23
|
-
//
|
|
40
|
+
// SQLite is the sole production store (no silent JSON dual-path)
|
|
24
41
|
let graphNodes = [];
|
|
42
|
+
let graphError;
|
|
25
43
|
try {
|
|
26
44
|
const store = getStore();
|
|
27
45
|
const nodes = store.searchGraphNodes(params.symbol, 1);
|
|
28
46
|
if (nodes.length > 0) {
|
|
29
47
|
graphNodes = bfsGraph(store, nodes[0].id, params);
|
|
30
48
|
}
|
|
49
|
+
if (graphNodes.length === 0) {
|
|
50
|
+
graphNodes = bfsFromRelations(params);
|
|
51
|
+
}
|
|
31
52
|
}
|
|
32
|
-
catch {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
graphNodes = bfsJson(params);
|
|
53
|
+
catch (err) {
|
|
54
|
+
graphError = err instanceof Error ? err.message : String(err);
|
|
55
|
+
graphNodes = bfsFromRelations(params);
|
|
36
56
|
}
|
|
57
|
+
const idx = getIndexState();
|
|
58
|
+
const meta = indexMeta();
|
|
59
|
+
const payload = {
|
|
60
|
+
symbol: params.symbol,
|
|
61
|
+
nodes: graphNodes,
|
|
62
|
+
total: graphNodes.length,
|
|
63
|
+
found: true,
|
|
64
|
+
graphError: graphError ?? null,
|
|
65
|
+
...meta,
|
|
66
|
+
partial: !!graphError || idx.partial || meta.partial,
|
|
67
|
+
};
|
|
37
68
|
if (params.responseFormat === ResponseFormat.JSON) {
|
|
38
69
|
return {
|
|
39
|
-
content: [{ type: "text", text: JSON.stringify(
|
|
40
|
-
structuredContent: asStructured(
|
|
70
|
+
content: [{ type: "text", text: JSON.stringify(payload, null, 2) }],
|
|
71
|
+
structuredContent: asStructured(payload),
|
|
41
72
|
};
|
|
42
73
|
}
|
|
43
|
-
const lines = [
|
|
74
|
+
const lines = [
|
|
75
|
+
`# Flow Trace: \`${params.symbol}\``,
|
|
76
|
+
`**Depth:** ${params.depth} | **Direction:** ${params.direction} | **Nodes:** ${graphNodes.length}`,
|
|
77
|
+
"",
|
|
78
|
+
];
|
|
79
|
+
if (graphError) {
|
|
80
|
+
lines.push(`> Partial: graph error — ${graphError}`, "");
|
|
81
|
+
}
|
|
44
82
|
for (const node of graphNodes) {
|
|
45
83
|
const indent = " ".repeat(node.depth);
|
|
46
84
|
lines.push(`${indent}### ${node.symbol}`);
|
|
@@ -52,8 +90,15 @@ export function registerTraceFlow(server) {
|
|
|
52
90
|
}
|
|
53
91
|
const text = lines.join("\n");
|
|
54
92
|
return {
|
|
55
|
-
content: [
|
|
56
|
-
|
|
93
|
+
content: [
|
|
94
|
+
{
|
|
95
|
+
type: "text",
|
|
96
|
+
text: text.length > MAX_RESPONSE_CHARS
|
|
97
|
+
? text.slice(0, MAX_RESPONSE_CHARS) + "\n\n[Truncated]"
|
|
98
|
+
: text,
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
structuredContent: asStructured(payload),
|
|
57
102
|
};
|
|
58
103
|
}
|
|
59
104
|
catch (error) {
|
|
@@ -62,8 +107,7 @@ export function registerTraceFlow(server) {
|
|
|
62
107
|
}
|
|
63
108
|
});
|
|
64
109
|
}
|
|
65
|
-
|
|
66
|
-
function bfsJson(params) {
|
|
110
|
+
function bfsFromRelations(params) {
|
|
67
111
|
const nodes = [];
|
|
68
112
|
const visited = new Set();
|
|
69
113
|
const queue = [{ name: params.symbol, depth: 0 }];
|
|
@@ -75,10 +119,10 @@ function bfsJson(params) {
|
|
|
75
119
|
let callers = [];
|
|
76
120
|
let callees = [];
|
|
77
121
|
if (params.direction === "backward" || params.direction === "both") {
|
|
78
|
-
callers = findCallers(current.name).map(r => r.source);
|
|
122
|
+
callers = findCallers(current.name).map((r) => r.source);
|
|
79
123
|
}
|
|
80
124
|
if (params.direction === "forward" || params.direction === "both") {
|
|
81
|
-
callees = findCallees(current.name).map(r => r.target);
|
|
125
|
+
callees = findCallees(current.name).map((r) => r.target);
|
|
82
126
|
}
|
|
83
127
|
nodes.push({ symbol: current.name, depth: current.depth, callers, callees });
|
|
84
128
|
const next = current.depth + 1;
|
|
@@ -92,67 +136,67 @@ function bfsJson(params) {
|
|
|
92
136
|
queue.push({ name: c, depth: next });
|
|
93
137
|
}
|
|
94
138
|
}
|
|
95
|
-
if (nodes.length >= params.maxResults)
|
|
96
|
-
break;
|
|
97
139
|
}
|
|
98
140
|
return nodes;
|
|
99
141
|
}
|
|
100
|
-
function bfsGraph(store,
|
|
101
|
-
const
|
|
142
|
+
function bfsGraph(store, startId, params) {
|
|
143
|
+
const result = [];
|
|
102
144
|
const visited = new Set();
|
|
103
|
-
const queue = [{
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const current = queue.shift();
|
|
111
|
-
if (current.depth > params.depth)
|
|
145
|
+
const queue = [{ id: startId, depth: 0 }];
|
|
146
|
+
let head = 0;
|
|
147
|
+
// Collect all referenced node IDs during traversal for batch name resolution
|
|
148
|
+
const referencedIds = new Set();
|
|
149
|
+
while (head < queue.length) {
|
|
150
|
+
const { id, depth } = queue[head++];
|
|
151
|
+
if (visited.has(id) || depth > params.depth)
|
|
112
152
|
continue;
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
153
|
+
visited.add(id);
|
|
154
|
+
referencedIds.add(id);
|
|
155
|
+
const edgesOut = params.direction === "forward" || params.direction === "both"
|
|
156
|
+
? store.getGraphEdges(id, "outgoing", "calls")
|
|
157
|
+
: [];
|
|
158
|
+
const edgesIn = params.direction === "backward" || params.direction === "both"
|
|
159
|
+
? store.getGraphEdges(id, "incoming", "calls")
|
|
160
|
+
: [];
|
|
161
|
+
const callerIds = [];
|
|
162
|
+
const calleeIds = [];
|
|
163
|
+
for (const e of edgesIn) {
|
|
164
|
+
callerIds.push(e.sourceNodeId);
|
|
165
|
+
referencedIds.add(e.sourceNodeId);
|
|
125
166
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
167
|
+
for (const e of edgesOut) {
|
|
168
|
+
calleeIds.push(e.targetNodeId);
|
|
169
|
+
referencedIds.add(e.targetNodeId);
|
|
170
|
+
}
|
|
171
|
+
result.push({ symbol: String(id), depth, callers: callerIds.map(String), callees: calleeIds.map(String) });
|
|
172
|
+
const next = depth + 1;
|
|
173
|
+
if (next <= params.depth) {
|
|
174
|
+
for (const e of edgesIn) {
|
|
175
|
+
if (!visited.has(e.sourceNodeId))
|
|
176
|
+
queue.push({ id: e.sourceNodeId, depth: next });
|
|
177
|
+
}
|
|
178
|
+
for (const e of edgesOut) {
|
|
179
|
+
if (!visited.has(e.targetNodeId))
|
|
180
|
+
queue.push({ id: e.targetNodeId, depth: next });
|
|
135
181
|
}
|
|
136
182
|
}
|
|
137
|
-
const symbol = idToName.get(current.nodeId) || `node_${current.nodeId}`;
|
|
138
|
-
nodes.push({ symbol, depth: current.depth, callers, callees });
|
|
139
|
-
if (nodes.length >= params.maxResults)
|
|
140
|
-
break;
|
|
141
183
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
184
|
+
// Batch-resolve all node IDs to names in ONE query
|
|
185
|
+
const nameMap = new Map();
|
|
186
|
+
if (referencedIds.size > 0) {
|
|
187
|
+
const ids = [...referencedIds];
|
|
188
|
+
const placeholders = ids.map(() => '?').join(',');
|
|
189
|
+
const rows = store.db.prepare(`SELECT id, name FROM graph_nodes WHERE id IN (${placeholders})`).all(...ids);
|
|
190
|
+
for (const r of rows)
|
|
191
|
+
nameMap.set(r.id, r.name);
|
|
192
|
+
}
|
|
193
|
+
// Resolve names in results
|
|
194
|
+
for (const node of result) {
|
|
195
|
+
const id = parseInt(node.symbol);
|
|
196
|
+
node.symbol = nameMap.get(id) ?? String(id);
|
|
197
|
+
node.callers = node.callers.map(c => nameMap.get(parseInt(c)) ?? c);
|
|
198
|
+
node.callees = node.callees.map(c => nameMap.get(parseInt(c)) ?? c);
|
|
153
199
|
}
|
|
154
|
-
|
|
155
|
-
cache.set(nodeId, `node_${nodeId}`);
|
|
156
|
-
return `node_${nodeId}`;
|
|
200
|
+
return result;
|
|
157
201
|
}
|
|
158
202
|
//# sourceMappingURL=trace-flow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-flow.js","sourceRoot":"","sources":["../../src/tools/trace-flow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAuB,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"trace-flow.js","sourceRoot":"","sources":["../../src/tools/trace-flow.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export interface RepoCommands {
|
|
|
30
30
|
export type SymbolKind = "class" | "interface" | "function" | "method" | "variable" | "type" | "enum" | "module" | "component" | "unknown";
|
|
31
31
|
export interface SymbolInfo {
|
|
32
32
|
name: string;
|
|
33
|
+
/** Qualified name (e.g. "module.ClassName.methodName"). Enables disambiguation across modules. */
|
|
34
|
+
qualifiedName?: string;
|
|
33
35
|
kind: SymbolKind;
|
|
34
36
|
file: string;
|
|
35
37
|
line: number;
|
|
@@ -47,6 +49,8 @@ export interface SymbolRelation {
|
|
|
47
49
|
source: string;
|
|
48
50
|
target: string;
|
|
49
51
|
kind: "calls" | "extends" | "implements" | "imports" | "composes" | "renders";
|
|
52
|
+
/** Confidence in this relation (0.0–1.0). 1.0 = statically verified, <1.0 = heuristic/name-based */
|
|
53
|
+
confidence?: number;
|
|
50
54
|
}
|
|
51
55
|
export interface GraphNode {
|
|
52
56
|
id: number;
|
|
@@ -57,6 +61,7 @@ export interface GraphNode {
|
|
|
57
61
|
signature: string;
|
|
58
62
|
line?: number;
|
|
59
63
|
column?: number;
|
|
64
|
+
community?: number;
|
|
60
65
|
}
|
|
61
66
|
export interface GraphEdge {
|
|
62
67
|
id: number;
|
|
@@ -65,8 +70,12 @@ export interface GraphEdge {
|
|
|
65
70
|
kind: string;
|
|
66
71
|
line?: number;
|
|
67
72
|
column?: number;
|
|
73
|
+
confidence: string;
|
|
74
|
+
provenance?: string;
|
|
68
75
|
}
|
|
69
|
-
export type MatchType = "text" | "symbol" | "filename";
|
|
76
|
+
export type MatchType = "text" | "symbol" | "filename" | "semantic";
|
|
77
|
+
/** lexical = ripgrep/BM25 only; semantic = vector only; hybrid = merge both */
|
|
78
|
+
export type SearchMode = "lexical" | "semantic" | "hybrid";
|
|
70
79
|
export interface SearchResult {
|
|
71
80
|
file: string;
|
|
72
81
|
line: number;
|
|
@@ -144,35 +153,56 @@ export interface ValidationResult {
|
|
|
144
153
|
}
|
|
145
154
|
export interface ValidationConfig {
|
|
146
155
|
commands: Partial<Record<ValidationTarget, string>>;
|
|
156
|
+
/** Whether the workspace has been explicitly trusted by the user */
|
|
157
|
+
trusted: boolean;
|
|
158
|
+
/** Canonical path of the trusted root (set on first trust) */
|
|
159
|
+
trustedRoot?: string;
|
|
160
|
+
/** Command hash fingerprint at time of trust */
|
|
161
|
+
trustedFingerprint?: string;
|
|
147
162
|
timeout: number;
|
|
148
163
|
maxOutput: number;
|
|
149
164
|
}
|
|
150
165
|
export type ContextItemType = "repo_map" | "symbol" | "file" | "history" | "memory" | "rule";
|
|
151
|
-
export interface
|
|
166
|
+
export interface SymbolicNode {
|
|
167
|
+
node_id: string;
|
|
152
168
|
type: ContextItemType;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
tokens: number;
|
|
156
|
-
relevance: number;
|
|
169
|
+
name: string;
|
|
170
|
+
ref_file?: string;
|
|
157
171
|
}
|
|
158
172
|
export interface ContextBundle {
|
|
159
173
|
task: string;
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
hasMore: boolean;
|
|
174
|
+
canvas: string;
|
|
175
|
+
nodes: SymbolicNode[];
|
|
176
|
+
instruction: string;
|
|
164
177
|
}
|
|
165
178
|
export interface CIConfig {
|
|
166
179
|
repoPath: string;
|
|
167
180
|
storePath: string;
|
|
168
181
|
maxResponseChars: number;
|
|
182
|
+
/** Active tool profile — controls which tools are available */
|
|
183
|
+
profile: "core" | "full";
|
|
169
184
|
validation: ValidationConfig;
|
|
170
|
-
|
|
185
|
+
/**
|
|
186
|
+
* auto = download model + llama-server, spawn managed runtime (default).
|
|
187
|
+
* api = use embeddingApi.url only (falls back to managed unless CI_MCP_STRICT_API=1).
|
|
188
|
+
* subprocess = same as auto for now.
|
|
189
|
+
* none = disable embeddings entirely.
|
|
190
|
+
*/
|
|
191
|
+
embeddingMode: "none" | "subprocess" | "api" | "auto";
|
|
171
192
|
embeddingApi?: {
|
|
193
|
+
/** Base URL, e.g. http://127.0.0.1:18765 */
|
|
172
194
|
url: string;
|
|
173
|
-
|
|
174
|
-
|
|
195
|
+
/** Model name passed to the API (default LFM2.5-Embedding-350M) */
|
|
196
|
+
model?: string;
|
|
197
|
+
apiKey?: string;
|
|
175
198
|
};
|
|
199
|
+
/** Embedding dimension (LFM2.5-Embedding-350M = 1024) */
|
|
200
|
+
embeddingDim?: number;
|
|
201
|
+
/**
|
|
202
|
+
* Vector index backend. zvec preferred (in-process); memory is fallback/tests.
|
|
203
|
+
* Default zvec when embedding enabled.
|
|
204
|
+
*/
|
|
205
|
+
vectorStore?: "none" | "zvec" | "memory";
|
|
176
206
|
}
|
|
177
207
|
export interface PaginationMeta {
|
|
178
208
|
total: number;
|
|
@@ -193,4 +223,36 @@ export interface ToolResponse<T> {
|
|
|
193
223
|
* Wrapping in a `{ data }` literal makes it type-safe without casts.
|
|
194
224
|
*/
|
|
195
225
|
export declare function asStructured<T>(data: T): Record<string, unknown>;
|
|
226
|
+
/**
|
|
227
|
+
* Standardized error code for tool responses.
|
|
228
|
+
* Every tool handler should return CiError on failure instead of
|
|
229
|
+
* silently falling back to empty/stale data.
|
|
230
|
+
*/
|
|
231
|
+
export type CiErrorCode = "NOT_FOUND" | "TRAVERSAL_DETECTED" | "INVALID_INPUT" | "INDEX_NOT_READY" | "INDEX_STALE" | "INDEX_FAILED" | "VALIDATION_FAILED" | "VALIDATION_DISABLED" | "TIMEOUT" | "INTERNAL_ERROR" | "PARTIAL_RESULT" | "STALE_DATA" | "NOT_IMPLEMENTED";
|
|
232
|
+
/**
|
|
233
|
+
* Structured error for MCP tool responses.
|
|
234
|
+
* Replaces silent fallbacks and generic errors with typed metadata
|
|
235
|
+
* so the calling agent can decide how to handle each condition.
|
|
236
|
+
*/
|
|
237
|
+
export interface CiError {
|
|
238
|
+
/** Machine-readable error code */
|
|
239
|
+
code: CiErrorCode;
|
|
240
|
+
/** Human-readable explanation */
|
|
241
|
+
message: string;
|
|
242
|
+
/** Whether retrying may succeed (e.g. transient I/O failure) */
|
|
243
|
+
retryable: boolean;
|
|
244
|
+
/** Whether the returned data is incomplete (partial results available) */
|
|
245
|
+
partial: boolean;
|
|
246
|
+
/** Whether the returned data is from a stale index */
|
|
247
|
+
stale: boolean;
|
|
248
|
+
/** Snapshot ID of the index state that produced this result */
|
|
249
|
+
snapshotId?: string;
|
|
250
|
+
/** Underlying error for debugging (never shown to end user) */
|
|
251
|
+
cause?: string;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Create a CiError with sensible defaults.
|
|
255
|
+
* `retryable`, `partial`, and `stale` default to `false`.
|
|
256
|
+
*/
|
|
257
|
+
export declare function ciError(code: CiErrorCode, message: string, overrides?: Partial<Pick<CiError, "retryable" | "partial" | "stale" | "snapshotId" | "cause">>): CiError;
|
|
196
258
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAID,MAAM,MAAM,UAAU,GAClB,OAAO,GACP,WAAW,GACX,UAAU,GACV,QAAQ,GACR,UAAU,GACV,MAAM,GACN,MAAM,GACN,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -14,4 +14,19 @@
|
|
|
14
14
|
export function asStructured(data) {
|
|
15
15
|
return { data };
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a CiError with sensible defaults.
|
|
19
|
+
* `retryable`, `partial`, and `stale` default to `false`.
|
|
20
|
+
*/
|
|
21
|
+
export function ciError(code, message, overrides) {
|
|
22
|
+
return {
|
|
23
|
+
code,
|
|
24
|
+
message,
|
|
25
|
+
retryable: overrides?.retryable ?? false,
|
|
26
|
+
partial: overrides?.partial ?? false,
|
|
27
|
+
stale: overrides?.stale ?? false,
|
|
28
|
+
snapshotId: overrides?.snapshotId,
|
|
29
|
+
cause: overrides?.cause,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
17
32
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsRH,2DAA2D;AAC3D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAI,IAAO;IACrC,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AA6CD;;;GAGG;AACH,MAAM,UAAU,OAAO,CACrB,IAAiB,EACjB,OAAe,EACf,SAA8F;IAE9F,OAAO;QACL,IAAI;QACJ,OAAO;QACP,SAAS,EAAE,SAAS,EAAE,SAAS,IAAI,KAAK;QACxC,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI,KAAK;QACpC,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,KAAK;QAChC,UAAU,EAAE,SAAS,EAAE,UAAU;QACjC,KAAK,EAAE,SAAS,EAAE,KAAK;KACxB,CAAC;AACJ,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codestrate",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.3",
|
|
4
4
|
"description": "Code understanding via tree-sitter AST parsing, graph-based symbol navigation, and MCP integration for coding agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -14,15 +14,14 @@
|
|
|
14
14
|
"ci-install": "./dist/install.js"
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
|
-
"
|
|
17
|
+
"prepublishOnly": "node node_modules/typescript/lib/tsc.js",
|
|
18
18
|
"dev": "tsx watch src/index.ts",
|
|
19
19
|
"build": "tsc",
|
|
20
20
|
"clean": "rm -rf dist",
|
|
21
|
-
"test": "npm run build && npx tsx --test tests/**/*.test.ts",
|
|
21
|
+
"test": "npm run build && CI_MCP_EMBEDDING_MODE=none CI_MCP_MOCK_EMBEDDER=1 npx tsx --test tests/**/*.test.ts",
|
|
22
22
|
"bench": "npx tsx benchmarks/run.ts",
|
|
23
23
|
"bench:json": "npx tsx benchmarks/run.ts --json",
|
|
24
|
-
"bench:symbol": "npx tsx benchmarks/run.ts --suite core-understanding"
|
|
25
|
-
"prepublishOnly": "npm run build"
|
|
24
|
+
"bench:symbol": "npx tsx benchmarks/run.ts --suite core-understanding"
|
|
26
25
|
},
|
|
27
26
|
"engines": {
|
|
28
27
|
"node": ">=18"
|
|
@@ -48,5 +47,8 @@
|
|
|
48
47
|
"ast-parser",
|
|
49
48
|
"code-graph"
|
|
50
49
|
],
|
|
51
|
-
"license": "MIT"
|
|
50
|
+
"license": "MIT",
|
|
51
|
+
"optionalDependencies": {
|
|
52
|
+
"@zvec/zvec": "^0.5.0"
|
|
53
|
+
}
|
|
52
54
|
}
|