@mka-rainmaker/ama 0.1.2 → 0.2.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.
Files changed (60) hide show
  1. package/README.md +18 -2
  2. package/dist/analyzers/baseline/analyzer.d.ts +9 -0
  3. package/dist/analyzers/baseline/analyzer.d.ts.map +1 -1
  4. package/dist/analyzers/baseline/analyzer.js +5 -0
  5. package/dist/analyzers/baseline/analyzer.js.map +1 -1
  6. package/dist/analyzers/baseline/go.d.ts.map +1 -1
  7. package/dist/analyzers/baseline/go.js +67 -0
  8. package/dist/analyzers/baseline/go.js.map +1 -1
  9. package/dist/analyzers/baseline/java.d.ts.map +1 -1
  10. package/dist/analyzers/baseline/java.js +84 -0
  11. package/dist/analyzers/baseline/java.js.map +1 -1
  12. package/dist/analyzers/baseline/php.d.ts.map +1 -1
  13. package/dist/analyzers/baseline/php.js +56 -0
  14. package/dist/analyzers/baseline/php.js.map +1 -1
  15. package/dist/analyzers/baseline/python.d.ts.map +1 -1
  16. package/dist/analyzers/baseline/python.js +160 -2
  17. package/dist/analyzers/baseline/python.js.map +1 -1
  18. package/dist/analyzers/baseline/rust.d.ts.map +1 -1
  19. package/dist/analyzers/baseline/rust.js +80 -0
  20. package/dist/analyzers/baseline/rust.js.map +1 -1
  21. package/dist/analyzers/sidecar/protocol.d.ts +22 -22
  22. package/dist/analyzers/typescript/analyzer.d.ts.map +1 -1
  23. package/dist/analyzers/typescript/analyzer.js +51 -1
  24. package/dist/analyzers/typescript/analyzer.js.map +1 -1
  25. package/dist/api.d.ts +34 -0
  26. package/dist/api.d.ts.map +1 -0
  27. package/dist/api.js +38 -0
  28. package/dist/api.js.map +1 -0
  29. package/dist/cli/agents.d.ts +11 -2
  30. package/dist/cli/agents.d.ts.map +1 -1
  31. package/dist/cli/agents.js +39 -0
  32. package/dist/cli/agents.js.map +1 -1
  33. package/dist/cli/commands/install.d.ts.map +1 -1
  34. package/dist/cli/commands/install.js +31 -8
  35. package/dist/cli/commands/install.js.map +1 -1
  36. package/dist/graph/index.d.ts +2 -1
  37. package/dist/graph/index.d.ts.map +1 -1
  38. package/dist/graph/index.js +2 -1
  39. package/dist/graph/index.js.map +1 -1
  40. package/dist/graph/prisma-link.d.ts +9 -4
  41. package/dist/graph/prisma-link.d.ts.map +1 -1
  42. package/dist/graph/prisma-link.js +25 -10
  43. package/dist/graph/prisma-link.js.map +1 -1
  44. package/dist/graph/python-calls.d.ts +14 -0
  45. package/dist/graph/python-calls.d.ts.map +1 -0
  46. package/dist/graph/python-calls.js +0 -0
  47. package/dist/graph/python-calls.js.map +1 -0
  48. package/dist/graph/types.d.ts +1 -1
  49. package/dist/graph/types.d.ts.map +1 -1
  50. package/dist/indexer/indexer.d.ts.map +1 -1
  51. package/dist/indexer/indexer.js +12 -1
  52. package/dist/indexer/indexer.js.map +1 -1
  53. package/dist/mcp/server.d.ts.map +1 -1
  54. package/dist/mcp/server.js +7 -2
  55. package/dist/mcp/server.js.map +1 -1
  56. package/dist/query/service.d.ts +3 -0
  57. package/dist/query/service.d.ts.map +1 -1
  58. package/dist/query/service.js +18 -2
  59. package/dist/query/service.js.map +1 -1
  60. package/package.json +10 -1
@@ -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":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAuBlD;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,EAAE,YAatB,CAAC"}
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;AAIlC;qFACqF;AACrF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzD;;;;mFAImF;AACnF,SAAS,WAAW,CAAC,IAAuB,EAAE,WAAmB;IAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC;QAAE,OAAO,EAAE,CAAC,CAAC,gBAAgB;IAC9F,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IAClD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC;IAC3D,OAAO,CAAC,CAAC,GAAG,IAAI,KAAK,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,MAAM;IACf,OAAO,EAAE;QACP,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QACnC,8EAA8E;QAC9E,uBAAuB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;KAClC;IACD,cAAc,EAAE,WAAW;CAC5B,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`. */
@@ -104,13 +104,13 @@ export declare const analyzeRequestSchema: z.ZodObject<{
104
104
  }, "strip", z.ZodTypeAny, {
105
105
  type: "analyze";
106
106
  id: number;
107
- root: string;
108
107
  files: string[];
108
+ root: string;
109
109
  }, {
110
110
  type: "analyze";
111
111
  id: number;
112
- root: string;
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;
@@ -226,9 +226,9 @@ declare const resultSchema: z.ZodObject<{
226
226
  kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
227
227
  name: string;
228
228
  id: string;
229
+ tier: "deep" | "baseline";
229
230
  file: string;
230
231
  qualifiedName: string;
231
- tier: "deep" | "baseline";
232
232
  range?: {
233
233
  startLine: number;
234
234
  endLine: number;
@@ -242,11 +242,11 @@ declare const resultSchema: z.ZodObject<{
242
242
  line: number;
243
243
  column: number;
244
244
  } | undefined;
245
- provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
246
245
  sites?: {
247
246
  line: number;
248
247
  column: number;
249
248
  }[] | undefined;
249
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
250
250
  }[];
251
251
  type: "result";
252
252
  id: number;
@@ -260,9 +260,9 @@ declare const resultSchema: z.ZodObject<{
260
260
  kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
261
261
  name: string;
262
262
  id: string;
263
+ tier: "deep" | "baseline";
263
264
  file: string;
264
265
  qualifiedName: string;
265
- tier: "deep" | "baseline";
266
266
  range?: {
267
267
  startLine: number;
268
268
  endLine: number;
@@ -276,11 +276,11 @@ declare const resultSchema: z.ZodObject<{
276
276
  line: number;
277
277
  column: number;
278
278
  } | undefined;
279
- provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
280
279
  sites?: {
281
280
  line: number;
282
281
  column: number;
283
282
  }[] | undefined;
283
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
284
284
  }[];
285
285
  type: "result";
286
286
  id: 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;
@@ -416,9 +416,9 @@ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
416
416
  kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
417
417
  name: string;
418
418
  id: string;
419
+ tier: "deep" | "baseline";
419
420
  file: string;
420
421
  qualifiedName: string;
421
- tier: "deep" | "baseline";
422
422
  range?: {
423
423
  startLine: number;
424
424
  endLine: number;
@@ -432,11 +432,11 @@ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
432
432
  line: number;
433
433
  column: number;
434
434
  } | undefined;
435
- provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
436
435
  sites?: {
437
436
  line: number;
438
437
  column: number;
439
438
  }[] | undefined;
439
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
440
440
  }[];
441
441
  type: "result";
442
442
  id: number;
@@ -450,9 +450,9 @@ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
450
450
  kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
451
451
  name: string;
452
452
  id: string;
453
+ tier: "deep" | "baseline";
453
454
  file: string;
454
455
  qualifiedName: string;
455
- tier: "deep" | "baseline";
456
456
  range?: {
457
457
  startLine: number;
458
458
  endLine: number;
@@ -466,11 +466,11 @@ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.Zo
466
466
  line: number;
467
467
  column: number;
468
468
  } | undefined;
469
- provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
470
469
  sites?: {
471
470
  line: number;
472
471
  column: number;
473
472
  }[] | undefined;
473
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
474
474
  }[];
475
475
  type: "result";
476
476
  id: number;
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/typescript/analyzer.ts"],"names":[],"mappings":"AAIA,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;IAwE5B,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"}
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"}
@@ -1,6 +1,6 @@
1
1
  import * as path from "node:path";
2
2
  import ts from "typescript";
3
- import { PRISMA_REF_PREFIX, deriveDispatchEdges, fileId, symbolId } from "../../graph/index.js";
3
+ import { PRISMA_FIELD_REF_PREFIX, PRISMA_REF_PREFIX, deriveDispatchEdges, fileId, symbolId, } from "../../graph/index.js";
4
4
  /**
5
5
  * Log a per-file analyzer failure to stderr and carry on. The deep TypeScript
6
6
  * analyzer shares one ts.Program across the whole batch for cross-file
@@ -359,6 +359,7 @@ export class TypeScriptAnalyzer {
359
359
  kind: "References",
360
360
  provenance: "prisma-ref",
361
361
  });
362
+ collectPrismaFieldEdges(parent, child.text.toLowerCase(), enclosingId, edges);
362
363
  }
363
364
  else if (!(ts.isCallExpression(parent.parent) && parent.parent.expression === parent)) {
364
365
  const to = resolveValueRef(child, checker, declToId, root);
@@ -1294,6 +1295,55 @@ function isPrismaClientExpr(expr) {
1294
1295
  }
1295
1296
  return false;
1296
1297
  }
1298
+ /** Prisma query clauses whose nested object keys name model fields. (ama-bgu) */
1299
+ const PRISMA_QUERY_CLAUSES = new Set([
1300
+ "where",
1301
+ "data",
1302
+ "select",
1303
+ "orderBy",
1304
+ "include",
1305
+ "having",
1306
+ "create",
1307
+ "update",
1308
+ "cursor",
1309
+ "distinct",
1310
+ ]);
1311
+ /** where-clause logical combinators — keys, but not fields. */
1312
+ const PRISMA_WHERE_OPERATORS = new Set(["AND", "OR", "NOT"]);
1313
+ /** From a `prisma.<model>` access, tag the field keys used in the enclosing query call's first
1314
+ * arg (the keys of its where/select/data/orderBy/… objects) as `prisma:field:<model>.<field>`
1315
+ * candidates — the whole-graph pass resolves them to `Model.field` Property nodes. Top-level
1316
+ * keys only (nested relation filters are a refinement). (ama-bgu) */
1317
+ function collectPrismaFieldEdges(modelAccess, model, enclosingId, edges) {
1318
+ const methodAccess = modelAccess.parent;
1319
+ if (!ts.isPropertyAccessExpression(methodAccess) || methodAccess.expression !== modelAccess)
1320
+ return;
1321
+ const call = methodAccess.parent;
1322
+ if (!ts.isCallExpression(call) || call.expression !== methodAccess)
1323
+ return;
1324
+ const arg = call.arguments[0];
1325
+ if (!arg || !ts.isObjectLiteralExpression(arg))
1326
+ return;
1327
+ for (const clause of arg.properties) {
1328
+ if (!ts.isPropertyAssignment(clause) || !ts.isIdentifier(clause.name))
1329
+ continue;
1330
+ if (!PRISMA_QUERY_CLAUSES.has(clause.name.text))
1331
+ continue;
1332
+ if (!ts.isObjectLiteralExpression(clause.initializer))
1333
+ continue;
1334
+ for (const field of clause.initializer.properties) {
1335
+ const name = field.name && ts.isIdentifier(field.name) ? field.name.text : undefined;
1336
+ if (!name || PRISMA_WHERE_OPERATORS.has(name))
1337
+ continue;
1338
+ edges.push({
1339
+ from: enclosingId,
1340
+ to: `${PRISMA_FIELD_REF_PREFIX}${model}.${name.toLowerCase()}`,
1341
+ kind: "References",
1342
+ provenance: "prisma-ref",
1343
+ });
1344
+ }
1345
+ }
1346
+ }
1297
1347
  const FILE_ROUTE_EXTS = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs"]);
1298
1348
  /** The URL path for a *filename*-routed module (the route includes the filename),
1299
1349
  * plus whether a default export should count as a handler. Next.js Pages Router