@mka-rainmaker/ama 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +81 -53
- package/dist/analyzers/baseline/analyzer.d.ts +9 -0
- package/dist/analyzers/baseline/analyzer.d.ts.map +1 -1
- package/dist/analyzers/baseline/analyzer.js +5 -0
- package/dist/analyzers/baseline/analyzer.js.map +1 -1
- package/dist/analyzers/baseline/go.d.ts.map +1 -1
- package/dist/analyzers/baseline/go.js +67 -0
- package/dist/analyzers/baseline/go.js.map +1 -1
- package/dist/analyzers/baseline/java.d.ts.map +1 -1
- package/dist/analyzers/baseline/java.js +84 -0
- package/dist/analyzers/baseline/java.js.map +1 -1
- package/dist/analyzers/baseline/php.d.ts.map +1 -1
- package/dist/analyzers/baseline/php.js +56 -0
- package/dist/analyzers/baseline/php.js.map +1 -1
- package/dist/analyzers/baseline/python.d.ts.map +1 -1
- package/dist/analyzers/baseline/python.js +178 -2
- package/dist/analyzers/baseline/python.js.map +1 -1
- package/dist/analyzers/baseline/rust.d.ts.map +1 -1
- package/dist/analyzers/baseline/rust.js +80 -0
- package/dist/analyzers/baseline/rust.js.map +1 -1
- package/dist/analyzers/sidecar/protocol.d.ts +28 -28
- package/dist/analyzers/typescript/analyzer.d.ts.map +1 -1
- package/dist/analyzers/typescript/analyzer.js +51 -1
- package/dist/analyzers/typescript/analyzer.js.map +1 -1
- package/dist/api.d.ts +34 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +38 -0
- package/dist/api.js.map +1 -0
- package/dist/cli/agents.d.ts +11 -2
- package/dist/cli/agents.d.ts.map +1 -1
- package/dist/cli/agents.js +39 -0
- package/dist/cli/agents.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +31 -8
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +27 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -0
- package/dist/cli/commands/upgrade.js +136 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/graph/index.d.ts +3 -1
- package/dist/graph/index.d.ts.map +1 -1
- package/dist/graph/index.js +3 -1
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/prisma-link.d.ts +9 -4
- package/dist/graph/prisma-link.d.ts.map +1 -1
- package/dist/graph/prisma-link.js +25 -10
- package/dist/graph/prisma-link.js.map +1 -1
- package/dist/graph/python-calls.d.ts +14 -0
- package/dist/graph/python-calls.d.ts.map +1 -0
- package/dist/graph/python-calls.js +0 -0
- package/dist/graph/python-calls.js.map +1 -0
- package/dist/graph/route-tests.d.ts +15 -0
- package/dist/graph/route-tests.d.ts.map +1 -0
- package/dist/graph/route-tests.js +67 -0
- package/dist/graph/route-tests.js.map +1 -0
- package/dist/graph/types.d.ts +1 -1
- package/dist/graph/types.d.ts.map +1 -1
- package/dist/indexer/ignore.d.ts.map +1 -1
- package/dist/indexer/ignore.js +13 -1
- package/dist/indexer/ignore.js.map +1 -1
- package/dist/indexer/indexer.d.ts.map +1 -1
- package/dist/indexer/indexer.js +22 -1
- package/dist/indexer/indexer.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +7 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/query/service.d.ts +3 -0
- package/dist/query/service.d.ts.map +1 -1
- package/dist/query/service.js +19 -2
- package/dist/query/service.js.map +1 -1
- package/package.json +11 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as path from "node:path";
|
|
2
|
-
import { symbolId } from "../../graph/index.js";
|
|
2
|
+
import { CALL_REF_PREFIX, ROUTE_REF_PREFIX, symbolId, } from "../../graph/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* Resolve a Python relative import (`from .x import y`, `from . import m`,
|
|
5
5
|
* `from ..pkg import z`) to candidate repo-relative module files. The leading
|
|
@@ -141,6 +141,181 @@ function pythonRoutes(root, rel) {
|
|
|
141
141
|
}
|
|
142
142
|
return { nodes, edges };
|
|
143
143
|
}
|
|
144
|
+
/** Django URL-pattern functions in `urls.py`. */
|
|
145
|
+
const DJANGO_URL_FUNCS = new Set(["path", "re_path"]);
|
|
146
|
+
function* eachCall(node) {
|
|
147
|
+
if (node.type === "call")
|
|
148
|
+
yield node;
|
|
149
|
+
for (const c of node.namedChildren)
|
|
150
|
+
yield* eachCall(c);
|
|
151
|
+
}
|
|
152
|
+
/** Detect Django URL patterns: `path("users/<int:pk>/", view)` / `re_path(...)` in urls.py —
|
|
153
|
+
* method-agnostic (the view handles every verb), so each forms an `ANY /path` Route. The view
|
|
154
|
+
* is a cross-module reference (`views.foo`), not a same-file symbol, so no handler edge. (ama-a2r) */
|
|
155
|
+
function djangoUrlRoutes(root, rel) {
|
|
156
|
+
const nodes = [];
|
|
157
|
+
for (const call of eachCall(root)) {
|
|
158
|
+
const fn = call.childForFieldName("function");
|
|
159
|
+
if (fn?.type !== "identifier" || !DJANGO_URL_FUNCS.has(fn.text))
|
|
160
|
+
continue;
|
|
161
|
+
const raw = firstStringArg(call.childForFieldName("arguments"));
|
|
162
|
+
if (raw === undefined)
|
|
163
|
+
continue;
|
|
164
|
+
const name = `ANY ${normalizeRoutePath(raw)}`;
|
|
165
|
+
nodes.push({
|
|
166
|
+
id: symbolId({ file: rel, qualifiedName: name }),
|
|
167
|
+
kind: "Route",
|
|
168
|
+
name,
|
|
169
|
+
file: rel,
|
|
170
|
+
qualifiedName: name,
|
|
171
|
+
tier: "baseline",
|
|
172
|
+
range: { startLine: call.startPosition.row + 1, endLine: call.endPosition.row + 1 },
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
return { nodes, edges: [] };
|
|
176
|
+
}
|
|
177
|
+
/** Python route detection across shapes: Flask/FastAPI decorators + Django urls.py `path()`. */
|
|
178
|
+
function pythonRoutesAll(root, rel) {
|
|
179
|
+
const decorated = pythonRoutes(root, rel);
|
|
180
|
+
const django = djangoUrlRoutes(root, rel);
|
|
181
|
+
return {
|
|
182
|
+
nodes: [...decorated.nodes, ...django.nodes],
|
|
183
|
+
edges: [...decorated.edges, ...django.edges],
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/** The nearest enclosing `function_definition` of a node, or undefined (module-level). */
|
|
187
|
+
function enclosingFunction(node) {
|
|
188
|
+
for (let p = node.parent; p; p = p.parent) {
|
|
189
|
+
if (p.type === "function_definition")
|
|
190
|
+
return p;
|
|
191
|
+
}
|
|
192
|
+
return undefined;
|
|
193
|
+
}
|
|
194
|
+
function* eachFunction(node) {
|
|
195
|
+
if (node.type === "function_definition")
|
|
196
|
+
yield node;
|
|
197
|
+
for (const c of node.namedChildren)
|
|
198
|
+
yield* eachFunction(c);
|
|
199
|
+
}
|
|
200
|
+
/** The simple (last-segment) name a call targets: `foo()` → "foo", `obj.bar()` → "bar". */
|
|
201
|
+
function calleeName(call) {
|
|
202
|
+
const fn = call.childForFieldName("function");
|
|
203
|
+
if (fn?.type === "identifier")
|
|
204
|
+
return fn.text;
|
|
205
|
+
if (fn?.type === "attribute")
|
|
206
|
+
return fn.childForFieldName("attribute")?.text;
|
|
207
|
+
return undefined;
|
|
208
|
+
}
|
|
209
|
+
/** Common Python builtins — not emitted as cross-file call candidates (they resolve to no
|
|
210
|
+
* project function, so they'd only add dangling candidates). (ama-bnj) */
|
|
211
|
+
const PYTHON_BUILTINS = new Set([
|
|
212
|
+
"print",
|
|
213
|
+
"len",
|
|
214
|
+
"range",
|
|
215
|
+
"str",
|
|
216
|
+
"int",
|
|
217
|
+
"float",
|
|
218
|
+
"bool",
|
|
219
|
+
"list",
|
|
220
|
+
"dict",
|
|
221
|
+
"set",
|
|
222
|
+
"tuple",
|
|
223
|
+
"isinstance",
|
|
224
|
+
"issubclass",
|
|
225
|
+
"super",
|
|
226
|
+
"open",
|
|
227
|
+
"enumerate",
|
|
228
|
+
"zip",
|
|
229
|
+
"map",
|
|
230
|
+
"filter",
|
|
231
|
+
"sorted",
|
|
232
|
+
"reversed",
|
|
233
|
+
"sum",
|
|
234
|
+
"min",
|
|
235
|
+
"max",
|
|
236
|
+
"abs",
|
|
237
|
+
"round",
|
|
238
|
+
"getattr",
|
|
239
|
+
"setattr",
|
|
240
|
+
"hasattr",
|
|
241
|
+
"type",
|
|
242
|
+
"repr",
|
|
243
|
+
"format",
|
|
244
|
+
"iter",
|
|
245
|
+
"next",
|
|
246
|
+
"any",
|
|
247
|
+
"all",
|
|
248
|
+
]);
|
|
249
|
+
/** Heuristic baseline call edges. A call to a function/method defined in the SAME file resolves
|
|
250
|
+
* straight to a `Calls` edge (name-based; an ambiguous name defined more than once, and
|
|
251
|
+
* module-level calls with no enclosing function, are skipped). A call to a name NOT defined
|
|
252
|
+
* locally (and not a builtin) becomes a `call:<name>` candidate that {@link deriveCallEdges}
|
|
253
|
+
* resolves cross-file via the import graph. (ama-bnj) */
|
|
254
|
+
function pythonCalls(root, rel) {
|
|
255
|
+
const byName = new Map(); // simple name → id, or null when ambiguous
|
|
256
|
+
for (const fn of eachFunction(root)) {
|
|
257
|
+
const qn = qualifiedNameOf(fn);
|
|
258
|
+
if (!qn)
|
|
259
|
+
continue;
|
|
260
|
+
const simple = qn.slice(qn.lastIndexOf(".") + 1);
|
|
261
|
+
byName.set(simple, byName.has(simple) ? null : symbolId({ file: rel, qualifiedName: qn }));
|
|
262
|
+
}
|
|
263
|
+
const edges = [];
|
|
264
|
+
const seen = new Set();
|
|
265
|
+
for (const call of eachCall(root)) {
|
|
266
|
+
const enc = enclosingFunction(call);
|
|
267
|
+
const name = calleeName(call);
|
|
268
|
+
if (!enc || !name)
|
|
269
|
+
continue;
|
|
270
|
+
const callerQn = qualifiedNameOf(enc);
|
|
271
|
+
if (!callerQn)
|
|
272
|
+
continue;
|
|
273
|
+
const from = symbolId({ file: rel, qualifiedName: callerQn });
|
|
274
|
+
// TestClient-style route call: `client.<verb>("/path")` — link the test to the route it
|
|
275
|
+
// exercises (resolved cross-file by deriveRouteTestEdges via the route's path). (ama-f2c)
|
|
276
|
+
if (ROUTE_METHOD_ATTRS.has(name.toLowerCase())) {
|
|
277
|
+
const reqPath = firstStringArg(call.childForFieldName("arguments"));
|
|
278
|
+
if (reqPath?.startsWith("/")) {
|
|
279
|
+
const key = `t ${from} ${name} ${reqPath}`;
|
|
280
|
+
if (!seen.has(key)) {
|
|
281
|
+
seen.add(key);
|
|
282
|
+
edges.push({
|
|
283
|
+
from,
|
|
284
|
+
to: `${ROUTE_REF_PREFIX}${name.toUpperCase()} ${reqPath}`,
|
|
285
|
+
kind: "References",
|
|
286
|
+
provenance: "call-ref",
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
const local = byName.get(name);
|
|
293
|
+
if (local === null)
|
|
294
|
+
continue; // a name defined more than once locally — don't guess
|
|
295
|
+
if (local) {
|
|
296
|
+
// resolved within this file (slice 1)
|
|
297
|
+
const key = `c ${from} ${local}`;
|
|
298
|
+
if (from === local || seen.has(key))
|
|
299
|
+
continue; // skip self-recursion + duplicate sites
|
|
300
|
+
seen.add(key);
|
|
301
|
+
edges.push({ from, to: local, kind: "Calls", provenance: "heuristic" });
|
|
302
|
+
}
|
|
303
|
+
else if (!PYTHON_BUILTINS.has(name)) {
|
|
304
|
+
// not local — a cross-file candidate deriveCallEdges resolves via the import graph (slice 2)
|
|
305
|
+
const key = `r ${from} ${name}`;
|
|
306
|
+
if (seen.has(key))
|
|
307
|
+
continue;
|
|
308
|
+
seen.add(key);
|
|
309
|
+
edges.push({
|
|
310
|
+
from,
|
|
311
|
+
to: `${CALL_REF_PREFIX}${name}`,
|
|
312
|
+
kind: "References",
|
|
313
|
+
provenance: "call-ref",
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return { nodes: [], edges };
|
|
318
|
+
}
|
|
144
319
|
/**
|
|
145
320
|
* Baseline (syntactic) spec for Python. Functions and classes are the symbols
|
|
146
321
|
* worth a node; methods are `function_definition` too (Python doesn't
|
|
@@ -157,6 +332,7 @@ export const pythonSpec = {
|
|
|
157
332
|
class_definition: { kind: "Class" },
|
|
158
333
|
},
|
|
159
334
|
resolveImports: pythonImports,
|
|
160
|
-
collectRoutes:
|
|
335
|
+
collectRoutes: pythonRoutesAll,
|
|
336
|
+
collectCalls: pythonCalls,
|
|
161
337
|
};
|
|
162
338
|
//# sourceMappingURL=python.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/analyzers/baseline/python.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/analyzers/baseline/python.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/analyzers/baseline/rust.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/analyzers/baseline/rust.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AA2GlD;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,EAAE,YActB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as path from "node:path";
|
|
2
|
+
import { symbolId } from "../../graph/index.js";
|
|
2
3
|
/** Files whose `mod foo;` submodules live in the *same* directory (a crate root
|
|
3
4
|
* or a `mod.rs`); any other `foo.rs` owns a `foo/` directory for its submodules. */
|
|
4
5
|
const RUST_DIR_MODULES = new Set(["mod", "lib", "main"]);
|
|
@@ -21,6 +22,84 @@ function rustImports(node, importerRel) {
|
|
|
21
22
|
const base = baseDir === "." ? name : `${baseDir}/${name}`;
|
|
22
23
|
return [[`${base}.rs`, `${base}/mod.rs`]];
|
|
23
24
|
}
|
|
25
|
+
/** actix-web route attribute macros — `#[get("/x")]` — by macro name → HTTP verb. (ama-a2r) */
|
|
26
|
+
const RUST_ROUTE_VERBS = new Map([
|
|
27
|
+
["get", "GET"],
|
|
28
|
+
["post", "POST"],
|
|
29
|
+
["put", "PUT"],
|
|
30
|
+
["delete", "DELETE"],
|
|
31
|
+
["patch", "PATCH"],
|
|
32
|
+
["head", "HEAD"],
|
|
33
|
+
]);
|
|
34
|
+
function firstOfType(node, type) {
|
|
35
|
+
if (node.type === type)
|
|
36
|
+
return node;
|
|
37
|
+
for (const c of node.namedChildren) {
|
|
38
|
+
const found = firstOfType(c, type);
|
|
39
|
+
if (found)
|
|
40
|
+
return found;
|
|
41
|
+
}
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
/** Normalize an actix route path: `{id}` → `:id`; ensure a leading slash. (ama-a2r) */
|
|
45
|
+
function normalizeRustRoutePath(p) {
|
|
46
|
+
const s = p.replace(/\{([^}]+)\}/g, ":$1");
|
|
47
|
+
return s.startsWith("/") ? s : `/${s}`;
|
|
48
|
+
}
|
|
49
|
+
/** A route `{verb, path}` among the `attribute_item`s immediately preceding `siblings[fnIndex]`
|
|
50
|
+
* (a function_item), or undefined — `#[get("/x")]` → `attribute` (`get` + a string token). */
|
|
51
|
+
function rustRouteFromAttrs(siblings, fnIndex) {
|
|
52
|
+
for (let j = fnIndex - 1; j >= 0 && siblings[j]?.type === "attribute_item"; j--) {
|
|
53
|
+
const attr = siblings[j]?.namedChildren.find((c) => c.type === "attribute");
|
|
54
|
+
if (!attr)
|
|
55
|
+
continue;
|
|
56
|
+
const verb = RUST_ROUTE_VERBS.get(firstOfType(attr, "identifier")?.text ?? "");
|
|
57
|
+
const str = firstOfType(attr, "string_literal");
|
|
58
|
+
if (verb && str)
|
|
59
|
+
return { verb, path: str.text.replace(/^"|"$/g, "") };
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
/** Detect actix-web routes: a `#[get("/x")]`-style attribute on a `fn` becomes a `METHOD /x`
|
|
64
|
+
* Route referencing the function. Recurses so functions inside `mod` blocks are covered. (ama-a2r) */
|
|
65
|
+
function rustRoutes(root, rel) {
|
|
66
|
+
const nodes = [];
|
|
67
|
+
const edges = [];
|
|
68
|
+
const visit = (node) => {
|
|
69
|
+
const kids = node.namedChildren;
|
|
70
|
+
for (let i = 0; i < kids.length; i++) {
|
|
71
|
+
const k = kids[i];
|
|
72
|
+
if (!k)
|
|
73
|
+
continue;
|
|
74
|
+
if (k.type === "function_item") {
|
|
75
|
+
const route = rustRouteFromAttrs(kids, i);
|
|
76
|
+
const fnName = k.childForFieldName("name")?.text;
|
|
77
|
+
if (route && fnName) {
|
|
78
|
+
const name = `${route.verb} ${normalizeRustRoutePath(route.path)}`;
|
|
79
|
+
const routeId = symbolId({ file: rel, qualifiedName: name });
|
|
80
|
+
nodes.push({
|
|
81
|
+
id: routeId,
|
|
82
|
+
kind: "Route",
|
|
83
|
+
name,
|
|
84
|
+
file: rel,
|
|
85
|
+
qualifiedName: name,
|
|
86
|
+
tier: "baseline",
|
|
87
|
+
range: { startLine: k.startPosition.row + 1, endLine: k.endPosition.row + 1 },
|
|
88
|
+
});
|
|
89
|
+
edges.push({
|
|
90
|
+
from: routeId,
|
|
91
|
+
to: symbolId({ file: rel, qualifiedName: fnName }),
|
|
92
|
+
kind: "References",
|
|
93
|
+
provenance: "heuristic",
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
visit(k);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
visit(root);
|
|
101
|
+
return { nodes, edges };
|
|
102
|
+
}
|
|
24
103
|
/**
|
|
25
104
|
* Baseline (syntactic) spec for Rust. Rust gives each kind its own node type, so
|
|
26
105
|
* the plain map suffices: struct → Class, enum → Enum, trait → Interface, fn →
|
|
@@ -41,5 +120,6 @@ export const rustSpec = {
|
|
|
41
120
|
trait_item: { kind: "Interface" },
|
|
42
121
|
},
|
|
43
122
|
resolveImports: rustImports,
|
|
123
|
+
collectRoutes: rustRoutes,
|
|
44
124
|
};
|
|
45
125
|
//# sourceMappingURL=rust.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust.js","sourceRoot":"","sources":["../../../src/analyzers/baseline/rust.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"rust.js","sourceRoot":"","sources":["../../../src/analyzers/baseline/rust.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,9 +22,9 @@ export declare const graphNodeSchema: z.ZodObject<{
|
|
|
22
22
|
kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
|
|
23
23
|
name: string;
|
|
24
24
|
id: string;
|
|
25
|
+
tier: "deep" | "baseline";
|
|
25
26
|
file: string;
|
|
26
27
|
qualifiedName: string;
|
|
27
|
-
tier: "deep" | "baseline";
|
|
28
28
|
range?: {
|
|
29
29
|
startLine: number;
|
|
30
30
|
endLine: number;
|
|
@@ -33,9 +33,9 @@ export declare const graphNodeSchema: z.ZodObject<{
|
|
|
33
33
|
kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
|
|
34
34
|
name: string;
|
|
35
35
|
id: string;
|
|
36
|
+
tier: "deep" | "baseline";
|
|
36
37
|
file: string;
|
|
37
38
|
qualifiedName: string;
|
|
38
|
-
tier: "deep" | "baseline";
|
|
39
39
|
range?: {
|
|
40
40
|
startLine: number;
|
|
41
41
|
endLine: number;
|
|
@@ -75,11 +75,11 @@ export declare const graphEdgeSchema: z.ZodObject<{
|
|
|
75
75
|
line: number;
|
|
76
76
|
column: number;
|
|
77
77
|
} | undefined;
|
|
78
|
-
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
79
78
|
sites?: {
|
|
80
79
|
line: number;
|
|
81
80
|
column: number;
|
|
82
81
|
}[] | undefined;
|
|
82
|
+
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
83
83
|
}, {
|
|
84
84
|
kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
|
|
85
85
|
from: string;
|
|
@@ -88,11 +88,11 @@ export declare const graphEdgeSchema: z.ZodObject<{
|
|
|
88
88
|
line: number;
|
|
89
89
|
column: number;
|
|
90
90
|
} | undefined;
|
|
91
|
-
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
92
91
|
sites?: {
|
|
93
92
|
line: number;
|
|
94
93
|
column: number;
|
|
95
94
|
}[] | undefined;
|
|
95
|
+
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
96
96
|
}>;
|
|
97
97
|
/** Ama → sidecar: analyze these repo-relative `files` rooted at the absolute `root`.
|
|
98
98
|
* `id` correlates the matching `result`/`error`. */
|
|
@@ -102,15 +102,15 @@ export declare const analyzeRequestSchema: z.ZodObject<{
|
|
|
102
102
|
root: z.ZodString;
|
|
103
103
|
files: z.ZodArray<z.ZodString, "many">;
|
|
104
104
|
}, "strip", z.ZodTypeAny, {
|
|
105
|
-
type: "analyze";
|
|
106
105
|
id: number;
|
|
107
|
-
|
|
106
|
+
type: "analyze";
|
|
108
107
|
files: string[];
|
|
108
|
+
root: string;
|
|
109
109
|
}, {
|
|
110
|
-
type: "analyze";
|
|
111
110
|
id: number;
|
|
112
|
-
|
|
111
|
+
type: "analyze";
|
|
113
112
|
files: string[];
|
|
113
|
+
root: string;
|
|
114
114
|
}>;
|
|
115
115
|
/** Sidecar → Ama: the analysis of one request's files. */
|
|
116
116
|
declare const resultSchema: z.ZodObject<{
|
|
@@ -137,9 +137,9 @@ declare const resultSchema: z.ZodObject<{
|
|
|
137
137
|
kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
|
|
138
138
|
name: string;
|
|
139
139
|
id: string;
|
|
140
|
+
tier: "deep" | "baseline";
|
|
140
141
|
file: string;
|
|
141
142
|
qualifiedName: string;
|
|
142
|
-
tier: "deep" | "baseline";
|
|
143
143
|
range?: {
|
|
144
144
|
startLine: number;
|
|
145
145
|
endLine: number;
|
|
@@ -148,9 +148,9 @@ declare const resultSchema: z.ZodObject<{
|
|
|
148
148
|
kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
|
|
149
149
|
name: string;
|
|
150
150
|
id: string;
|
|
151
|
+
tier: "deep" | "baseline";
|
|
151
152
|
file: string;
|
|
152
153
|
qualifiedName: string;
|
|
153
|
-
tier: "deep" | "baseline";
|
|
154
154
|
range?: {
|
|
155
155
|
startLine: number;
|
|
156
156
|
endLine: number;
|
|
@@ -189,11 +189,11 @@ declare const resultSchema: z.ZodObject<{
|
|
|
189
189
|
line: number;
|
|
190
190
|
column: number;
|
|
191
191
|
} | undefined;
|
|
192
|
-
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
193
192
|
sites?: {
|
|
194
193
|
line: number;
|
|
195
194
|
column: number;
|
|
196
195
|
}[] | undefined;
|
|
196
|
+
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
197
197
|
}, {
|
|
198
198
|
kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
|
|
199
199
|
from: string;
|
|
@@ -202,11 +202,11 @@ declare const resultSchema: z.ZodObject<{
|
|
|
202
202
|
line: number;
|
|
203
203
|
column: number;
|
|
204
204
|
} | undefined;
|
|
205
|
-
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
206
205
|
sites?: {
|
|
207
206
|
line: number;
|
|
208
207
|
column: number;
|
|
209
208
|
}[] | undefined;
|
|
209
|
+
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
210
210
|
}>, "many">;
|
|
211
211
|
resolution: z.ZodOptional<z.ZodObject<{
|
|
212
212
|
callsTotal: z.ZodNumber;
|
|
@@ -222,13 +222,14 @@ declare const resultSchema: z.ZodObject<{
|
|
|
222
222
|
unresolved: Record<string, number>;
|
|
223
223
|
}>>;
|
|
224
224
|
}, "strip", z.ZodTypeAny, {
|
|
225
|
+
id: number;
|
|
225
226
|
nodes: {
|
|
226
227
|
kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
|
|
227
228
|
name: string;
|
|
228
229
|
id: string;
|
|
230
|
+
tier: "deep" | "baseline";
|
|
229
231
|
file: string;
|
|
230
232
|
qualifiedName: string;
|
|
231
|
-
tier: "deep" | "baseline";
|
|
232
233
|
range?: {
|
|
233
234
|
startLine: number;
|
|
234
235
|
endLine: number;
|
|
@@ -242,27 +243,27 @@ declare const resultSchema: z.ZodObject<{
|
|
|
242
243
|
line: number;
|
|
243
244
|
column: number;
|
|
244
245
|
} | undefined;
|
|
245
|
-
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
246
246
|
sites?: {
|
|
247
247
|
line: number;
|
|
248
248
|
column: number;
|
|
249
249
|
}[] | undefined;
|
|
250
|
+
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
250
251
|
}[];
|
|
251
252
|
type: "result";
|
|
252
|
-
id: number;
|
|
253
253
|
resolution?: {
|
|
254
254
|
callsTotal: number;
|
|
255
255
|
callsResolved: number;
|
|
256
256
|
unresolved: Record<string, number>;
|
|
257
257
|
} | undefined;
|
|
258
258
|
}, {
|
|
259
|
+
id: number;
|
|
259
260
|
nodes: {
|
|
260
261
|
kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
|
|
261
262
|
name: string;
|
|
262
263
|
id: string;
|
|
264
|
+
tier: "deep" | "baseline";
|
|
263
265
|
file: string;
|
|
264
266
|
qualifiedName: string;
|
|
265
|
-
tier: "deep" | "baseline";
|
|
266
267
|
range?: {
|
|
267
268
|
startLine: number;
|
|
268
269
|
endLine: number;
|
|
@@ -276,14 +277,13 @@ declare const resultSchema: z.ZodObject<{
|
|
|
276
277
|
line: number;
|
|
277
278
|
column: number;
|
|
278
279
|
} | undefined;
|
|
279
|
-
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
280
280
|
sites?: {
|
|
281
281
|
line: number;
|
|
282
282
|
column: number;
|
|
283
283
|
}[] | undefined;
|
|
284
|
+
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
284
285
|
}[];
|
|
285
286
|
type: "result";
|
|
286
|
-
id: number;
|
|
287
287
|
resolution?: {
|
|
288
288
|
callsTotal: number;
|
|
289
289
|
callsResolved: number;
|
|
@@ -327,9 +327,9 @@ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
|
|
|
327
327
|
kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
|
|
328
328
|
name: string;
|
|
329
329
|
id: string;
|
|
330
|
+
tier: "deep" | "baseline";
|
|
330
331
|
file: string;
|
|
331
332
|
qualifiedName: string;
|
|
332
|
-
tier: "deep" | "baseline";
|
|
333
333
|
range?: {
|
|
334
334
|
startLine: number;
|
|
335
335
|
endLine: number;
|
|
@@ -338,9 +338,9 @@ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
|
|
|
338
338
|
kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
|
|
339
339
|
name: string;
|
|
340
340
|
id: string;
|
|
341
|
+
tier: "deep" | "baseline";
|
|
341
342
|
file: string;
|
|
342
343
|
qualifiedName: string;
|
|
343
|
-
tier: "deep" | "baseline";
|
|
344
344
|
range?: {
|
|
345
345
|
startLine: number;
|
|
346
346
|
endLine: number;
|
|
@@ -379,11 +379,11 @@ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
|
|
|
379
379
|
line: number;
|
|
380
380
|
column: number;
|
|
381
381
|
} | undefined;
|
|
382
|
-
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
383
382
|
sites?: {
|
|
384
383
|
line: number;
|
|
385
384
|
column: number;
|
|
386
385
|
}[] | undefined;
|
|
386
|
+
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
387
387
|
}, {
|
|
388
388
|
kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
|
|
389
389
|
from: string;
|
|
@@ -392,11 +392,11 @@ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
|
|
|
392
392
|
line: number;
|
|
393
393
|
column: number;
|
|
394
394
|
} | undefined;
|
|
395
|
-
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
396
395
|
sites?: {
|
|
397
396
|
line: number;
|
|
398
397
|
column: number;
|
|
399
398
|
}[] | undefined;
|
|
399
|
+
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
400
400
|
}>, "many">;
|
|
401
401
|
resolution: z.ZodOptional<z.ZodObject<{
|
|
402
402
|
callsTotal: z.ZodNumber;
|
|
@@ -412,13 +412,14 @@ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
|
|
|
412
412
|
unresolved: Record<string, number>;
|
|
413
413
|
}>>;
|
|
414
414
|
}, "strip", z.ZodTypeAny, {
|
|
415
|
+
id: number;
|
|
415
416
|
nodes: {
|
|
416
417
|
kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
|
|
417
418
|
name: string;
|
|
418
419
|
id: string;
|
|
420
|
+
tier: "deep" | "baseline";
|
|
419
421
|
file: string;
|
|
420
422
|
qualifiedName: string;
|
|
421
|
-
tier: "deep" | "baseline";
|
|
422
423
|
range?: {
|
|
423
424
|
startLine: number;
|
|
424
425
|
endLine: number;
|
|
@@ -432,27 +433,27 @@ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
|
|
|
432
433
|
line: number;
|
|
433
434
|
column: number;
|
|
434
435
|
} | undefined;
|
|
435
|
-
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
436
436
|
sites?: {
|
|
437
437
|
line: number;
|
|
438
438
|
column: number;
|
|
439
439
|
}[] | undefined;
|
|
440
|
+
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
440
441
|
}[];
|
|
441
442
|
type: "result";
|
|
442
|
-
id: number;
|
|
443
443
|
resolution?: {
|
|
444
444
|
callsTotal: number;
|
|
445
445
|
callsResolved: number;
|
|
446
446
|
unresolved: Record<string, number>;
|
|
447
447
|
} | undefined;
|
|
448
448
|
}, {
|
|
449
|
+
id: number;
|
|
449
450
|
nodes: {
|
|
450
451
|
kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
|
|
451
452
|
name: string;
|
|
452
453
|
id: string;
|
|
454
|
+
tier: "deep" | "baseline";
|
|
453
455
|
file: string;
|
|
454
456
|
qualifiedName: string;
|
|
455
|
-
tier: "deep" | "baseline";
|
|
456
457
|
range?: {
|
|
457
458
|
startLine: number;
|
|
458
459
|
endLine: number;
|
|
@@ -466,14 +467,13 @@ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
|
|
|
466
467
|
line: number;
|
|
467
468
|
column: number;
|
|
468
469
|
} | undefined;
|
|
469
|
-
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
470
470
|
sites?: {
|
|
471
471
|
line: number;
|
|
472
472
|
column: number;
|
|
473
473
|
}[] | undefined;
|
|
474
|
+
provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
|
|
474
475
|
}[];
|
|
475
476
|
type: "result";
|
|
476
|
-
id: number;
|
|
477
477
|
resolution?: {
|
|
478
478
|
callsTotal: number;
|
|
479
479
|
callsResolved: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/typescript/analyzer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/typescript/analyzer.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAC;AAkB7E;;;;;;;;;;;;;;GAcG;AACH,qBAAa,kBAAmB,YAAW,QAAQ;IACjD,QAAQ,CAAC,QAAQ,gBAAgB;IACjC,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAChC,QAAQ,CAAC,UAAU,2CAA4C;IAE/D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc;IA+FtD,OAAO,CAAC,QAAQ;IAyBhB,OAAO,CAAC,KAAK;IAqHb;;;oBAGgB;IAChB,OAAO,CAAC,YAAY;IAoGpB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,oBAAoB;IAyE5B,oFAAoF;IACpF,OAAO,CAAC,eAAe;IAqBvB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAkDtB;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAkEzB;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAoOrB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,uBAAuB;IA6D/B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IA8FzB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IA0ErB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CA0BtB"}
|