@mka-rainmaker/ama 0.1.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 (211) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +149 -0
  3. package/dist/analyzers/baseline/analyzer.d.ts +47 -0
  4. package/dist/analyzers/baseline/analyzer.d.ts.map +1 -0
  5. package/dist/analyzers/baseline/analyzer.js +84 -0
  6. package/dist/analyzers/baseline/analyzer.js.map +1 -0
  7. package/dist/analyzers/baseline/c.d.ts +12 -0
  8. package/dist/analyzers/baseline/c.d.ts.map +1 -0
  9. package/dist/analyzers/baseline/c.js +56 -0
  10. package/dist/analyzers/baseline/c.js.map +1 -0
  11. package/dist/analyzers/baseline/config.d.ts +21 -0
  12. package/dist/analyzers/baseline/config.d.ts.map +1 -0
  13. package/dist/analyzers/baseline/config.js +32 -0
  14. package/dist/analyzers/baseline/config.js.map +1 -0
  15. package/dist/analyzers/baseline/csharp.d.ts +9 -0
  16. package/dist/analyzers/baseline/csharp.d.ts.map +1 -0
  17. package/dist/analyzers/baseline/csharp.js +107 -0
  18. package/dist/analyzers/baseline/csharp.js.map +1 -0
  19. package/dist/analyzers/baseline/go.d.ts +11 -0
  20. package/dist/analyzers/baseline/go.d.ts.map +1 -0
  21. package/dist/analyzers/baseline/go.js +66 -0
  22. package/dist/analyzers/baseline/go.js.map +1 -0
  23. package/dist/analyzers/baseline/java.d.ts +9 -0
  24. package/dist/analyzers/baseline/java.d.ts.map +1 -0
  25. package/dist/analyzers/baseline/java.js +50 -0
  26. package/dist/analyzers/baseline/java.js.map +1 -0
  27. package/dist/analyzers/baseline/javascript.d.ts +10 -0
  28. package/dist/analyzers/baseline/javascript.d.ts.map +1 -0
  29. package/dist/analyzers/baseline/javascript.js +55 -0
  30. package/dist/analyzers/baseline/javascript.js.map +1 -0
  31. package/dist/analyzers/baseline/kotlin.d.ts +11 -0
  32. package/dist/analyzers/baseline/kotlin.d.ts.map +1 -0
  33. package/dist/analyzers/baseline/kotlin.js +67 -0
  34. package/dist/analyzers/baseline/kotlin.js.map +1 -0
  35. package/dist/analyzers/baseline/paths.d.ts +6 -0
  36. package/dist/analyzers/baseline/paths.d.ts.map +1 -0
  37. package/dist/analyzers/baseline/paths.js +17 -0
  38. package/dist/analyzers/baseline/paths.js.map +1 -0
  39. package/dist/analyzers/baseline/php.d.ts +11 -0
  40. package/dist/analyzers/baseline/php.d.ts.map +1 -0
  41. package/dist/analyzers/baseline/php.js +76 -0
  42. package/dist/analyzers/baseline/php.js.map +1 -0
  43. package/dist/analyzers/baseline/python.d.ts +10 -0
  44. package/dist/analyzers/baseline/python.d.ts.map +1 -0
  45. package/dist/analyzers/baseline/python.js +63 -0
  46. package/dist/analyzers/baseline/python.js.map +1 -0
  47. package/dist/analyzers/baseline/rust.d.ts +10 -0
  48. package/dist/analyzers/baseline/rust.d.ts.map +1 -0
  49. package/dist/analyzers/baseline/rust.js +45 -0
  50. package/dist/analyzers/baseline/rust.js.map +1 -0
  51. package/dist/analyzers/baseline/swift.d.ts +11 -0
  52. package/dist/analyzers/baseline/swift.d.ts.map +1 -0
  53. package/dist/analyzers/baseline/swift.js +19 -0
  54. package/dist/analyzers/baseline/swift.js.map +1 -0
  55. package/dist/analyzers/baseline/treesitter.d.ts +11 -0
  56. package/dist/analyzers/baseline/treesitter.d.ts.map +1 -0
  57. package/dist/analyzers/baseline/treesitter.js +87 -0
  58. package/dist/analyzers/baseline/treesitter.js.map +1 -0
  59. package/dist/analyzers/baseline/walk.d.ts +26 -0
  60. package/dist/analyzers/baseline/walk.d.ts.map +1 -0
  61. package/dist/analyzers/baseline/walk.js +76 -0
  62. package/dist/analyzers/baseline/walk.js.map +1 -0
  63. package/dist/analyzers/registry.d.ts +19 -0
  64. package/dist/analyzers/registry.d.ts.map +1 -0
  65. package/dist/analyzers/registry.js +43 -0
  66. package/dist/analyzers/registry.js.map +1 -0
  67. package/dist/analyzers/sfc/analyzer.d.ts +17 -0
  68. package/dist/analyzers/sfc/analyzer.d.ts.map +1 -0
  69. package/dist/analyzers/sfc/analyzer.js +141 -0
  70. package/dist/analyzers/sfc/analyzer.js.map +1 -0
  71. package/dist/analyzers/sidecar/analyzer.d.ts +29 -0
  72. package/dist/analyzers/sidecar/analyzer.d.ts.map +1 -0
  73. package/dist/analyzers/sidecar/analyzer.js +114 -0
  74. package/dist/analyzers/sidecar/analyzer.js.map +1 -0
  75. package/dist/analyzers/sidecar/protocol.d.ts +508 -0
  76. package/dist/analyzers/sidecar/protocol.d.ts.map +1 -0
  77. package/dist/analyzers/sidecar/protocol.js +102 -0
  78. package/dist/analyzers/sidecar/protocol.js.map +1 -0
  79. package/dist/analyzers/types.d.ts +46 -0
  80. package/dist/analyzers/types.d.ts.map +1 -0
  81. package/dist/analyzers/types.js +2 -0
  82. package/dist/analyzers/types.js.map +1 -0
  83. package/dist/analyzers/typescript/analyzer.d.ts +126 -0
  84. package/dist/analyzers/typescript/analyzer.d.ts.map +1 -0
  85. package/dist/analyzers/typescript/analyzer.js +1600 -0
  86. package/dist/analyzers/typescript/analyzer.js.map +1 -0
  87. package/dist/cli/commands/cycles.d.ts +6 -0
  88. package/dist/cli/commands/cycles.d.ts.map +1 -0
  89. package/dist/cli/commands/cycles.js +27 -0
  90. package/dist/cli/commands/cycles.js.map +1 -0
  91. package/dist/cli/commands/files.d.ts +6 -0
  92. package/dist/cli/commands/files.d.ts.map +1 -0
  93. package/dist/cli/commands/files.js +33 -0
  94. package/dist/cli/commands/files.js.map +1 -0
  95. package/dist/cli/commands/impact.d.ts +18 -0
  96. package/dist/cli/commands/impact.d.ts.map +1 -0
  97. package/dist/cli/commands/impact.js +113 -0
  98. package/dist/cli/commands/impact.js.map +1 -0
  99. package/dist/cli/commands/lifecycle.d.ts +5 -0
  100. package/dist/cli/commands/lifecycle.d.ts.map +1 -0
  101. package/dist/cli/commands/lifecycle.js +83 -0
  102. package/dist/cli/commands/lifecycle.js.map +1 -0
  103. package/dist/cli/commands/query.d.ts +31 -0
  104. package/dist/cli/commands/query.d.ts.map +1 -0
  105. package/dist/cli/commands/query.js +187 -0
  106. package/dist/cli/commands/query.js.map +1 -0
  107. package/dist/cli/commands/search.d.ts +21 -0
  108. package/dist/cli/commands/search.d.ts.map +1 -0
  109. package/dist/cli/commands/search.js +160 -0
  110. package/dist/cli/commands/search.js.map +1 -0
  111. package/dist/cli/commands/status.d.ts +6 -0
  112. package/dist/cli/commands/status.d.ts.map +1 -0
  113. package/dist/cli/commands/status.js +63 -0
  114. package/dist/cli/commands/status.js.map +1 -0
  115. package/dist/cli/commands/sync.d.ts +6 -0
  116. package/dist/cli/commands/sync.d.ts.map +1 -0
  117. package/dist/cli/commands/sync.js +57 -0
  118. package/dist/cli/commands/sync.js.map +1 -0
  119. package/dist/cli/emit.d.ts +9 -0
  120. package/dist/cli/emit.d.ts.map +1 -0
  121. package/dist/cli/emit.js +10 -0
  122. package/dist/cli/emit.js.map +1 -0
  123. package/dist/cli/index.d.ts +37 -0
  124. package/dist/cli/index.d.ts.map +1 -0
  125. package/dist/cli/index.js +128 -0
  126. package/dist/cli/index.js.map +1 -0
  127. package/dist/cli/paths.d.ts +7 -0
  128. package/dist/cli/paths.d.ts.map +1 -0
  129. package/dist/cli/paths.js +10 -0
  130. package/dist/cli/paths.js.map +1 -0
  131. package/dist/cli/query-runner.d.ts +13 -0
  132. package/dist/cli/query-runner.d.ts.map +1 -0
  133. package/dist/cli/query-runner.js +33 -0
  134. package/dist/cli/query-runner.js.map +1 -0
  135. package/dist/graph/dispatch.d.ts +17 -0
  136. package/dist/graph/dispatch.d.ts.map +1 -0
  137. package/dist/graph/dispatch.js +82 -0
  138. package/dist/graph/dispatch.js.map +1 -0
  139. package/dist/graph/id.d.ts +19 -0
  140. package/dist/graph/id.d.ts.map +1 -0
  141. package/dist/graph/id.js +17 -0
  142. package/dist/graph/id.js.map +1 -0
  143. package/dist/graph/index.d.ts +6 -0
  144. package/dist/graph/index.d.ts.map +1 -0
  145. package/dist/graph/index.js +4 -0
  146. package/dist/graph/index.js.map +1 -0
  147. package/dist/graph/types.d.ts +71 -0
  148. package/dist/graph/types.d.ts.map +1 -0
  149. package/dist/graph/types.js +52 -0
  150. package/dist/graph/types.js.map +1 -0
  151. package/dist/indexer/debouncer.d.ts +32 -0
  152. package/dist/indexer/debouncer.d.ts.map +1 -0
  153. package/dist/indexer/debouncer.js +81 -0
  154. package/dist/indexer/debouncer.js.map +1 -0
  155. package/dist/indexer/ignore.d.ts +55 -0
  156. package/dist/indexer/ignore.d.ts.map +1 -0
  157. package/dist/indexer/ignore.js +170 -0
  158. package/dist/indexer/ignore.js.map +1 -0
  159. package/dist/indexer/indexer.d.ts +112 -0
  160. package/dist/indexer/indexer.d.ts.map +1 -0
  161. package/dist/indexer/indexer.js +392 -0
  162. package/dist/indexer/indexer.js.map +1 -0
  163. package/dist/indexer/watcher.d.ts +50 -0
  164. package/dist/indexer/watcher.d.ts.map +1 -0
  165. package/dist/indexer/watcher.js +86 -0
  166. package/dist/indexer/watcher.js.map +1 -0
  167. package/dist/mcp/build-info.d.ts +16 -0
  168. package/dist/mcp/build-info.d.ts.map +1 -0
  169. package/dist/mcp/build-info.js +54 -0
  170. package/dist/mcp/build-info.js.map +1 -0
  171. package/dist/mcp/http.d.ts +18 -0
  172. package/dist/mcp/http.d.ts.map +1 -0
  173. package/dist/mcp/http.js +145 -0
  174. package/dist/mcp/http.js.map +1 -0
  175. package/dist/mcp/server.d.ts +22 -0
  176. package/dist/mcp/server.d.ts.map +1 -0
  177. package/dist/mcp/server.js +401 -0
  178. package/dist/mcp/server.js.map +1 -0
  179. package/dist/mcp/session.d.ts +155 -0
  180. package/dist/mcp/session.d.ts.map +1 -0
  181. package/dist/mcp/session.js +319 -0
  182. package/dist/mcp/session.js.map +1 -0
  183. package/dist/query/service.d.ts +329 -0
  184. package/dist/query/service.d.ts.map +1 -0
  185. package/dist/query/service.js +959 -0
  186. package/dist/query/service.js.map +1 -0
  187. package/dist/runtime/entrypoint.d.ts +11 -0
  188. package/dist/runtime/entrypoint.d.ts.map +1 -0
  189. package/dist/runtime/entrypoint.js +22 -0
  190. package/dist/runtime/entrypoint.js.map +1 -0
  191. package/dist/runtime/quiet-sqlite-warning.d.ts +14 -0
  192. package/dist/runtime/quiet-sqlite-warning.d.ts.map +1 -0
  193. package/dist/runtime/quiet-sqlite-warning.js +26 -0
  194. package/dist/runtime/quiet-sqlite-warning.js.map +1 -0
  195. package/dist/runtime/wasm-tier.d.ts +2 -0
  196. package/dist/runtime/wasm-tier.d.ts.map +1 -0
  197. package/dist/runtime/wasm-tier.js +54 -0
  198. package/dist/runtime/wasm-tier.js.map +1 -0
  199. package/dist/store/memory.d.ts +54 -0
  200. package/dist/store/memory.d.ts.map +1 -0
  201. package/dist/store/memory.js +210 -0
  202. package/dist/store/memory.js.map +1 -0
  203. package/dist/store/sqlite.d.ts +38 -0
  204. package/dist/store/sqlite.d.ts.map +1 -0
  205. package/dist/store/sqlite.js +298 -0
  206. package/dist/store/sqlite.js.map +1 -0
  207. package/dist/store/types.d.ts +76 -0
  208. package/dist/store/types.d.ts.map +1 -0
  209. package/dist/store/types.js +2 -0
  210. package/dist/store/types.js.map +1 -0
  211. package/package.json +59 -0
@@ -0,0 +1,114 @@
1
+ import { spawn } from "node:child_process";
2
+ import * as readline from "node:readline";
3
+ import { frame, parseMessage } from "./protocol.js";
4
+ /**
5
+ * Drives an out-of-process deep analyzer (a "sidecar") over the {@link ./protocol.ts}
6
+ * contract. Implements {@link Analyzer} (tier `deep`) so it plugs in alongside the
7
+ * in-process analyzers, but delegates the actual work to a subprocess (e.g. a Roslyn or
8
+ * native-Java tool) that speaks NDJSON over stdio.
9
+ *
10
+ * One subprocess per `analyze` call (one per language batch per index): spawn, send the
11
+ * `analyze` request on stdin, read the matching `result` from stdout, then tear it down.
12
+ * The sidecar's stderr is inherited so its logs reach Ama's stderr, never the protocol
13
+ * stream. A spawn failure, a malformed message, an `error` reply, or an exit-without-result
14
+ * rejects — the indexer's per-analyzer isolation then skips this language (graceful
15
+ * fall-through to baseline is the routing layer's job, ama-3bb.4). (ama-3bb.1)
16
+ */
17
+ export class SidecarAnalyzer {
18
+ language;
19
+ extensions;
20
+ command;
21
+ args;
22
+ tier = "deep";
23
+ constructor(language, extensions, command, args = []) {
24
+ this.language = language;
25
+ this.extensions = extensions;
26
+ this.command = command;
27
+ this.args = args;
28
+ }
29
+ /** Probe whether the sidecar can start and speak the protocol: spawn it and wait for
30
+ * its `ready` handshake within `timeoutMs`. A spawn failure, an early exit, or a
31
+ * timeout means unavailable — routing then leaves the language to the baseline tier
32
+ * rather than dropping it. (ama-3bb.4) */
33
+ isAvailable(timeoutMs = 2000) {
34
+ return new Promise((resolve) => {
35
+ const child = spawn(this.command, [...this.args], { stdio: ["pipe", "pipe", "ignore"] });
36
+ let done = false;
37
+ const finish = (ok) => {
38
+ if (done)
39
+ return;
40
+ done = true;
41
+ clearTimeout(timer);
42
+ child.kill();
43
+ resolve(ok);
44
+ };
45
+ const timer = setTimeout(() => finish(false), timeoutMs);
46
+ child.on("error", () => finish(false)); // spawn failure (ENOENT, …)
47
+ child.on("exit", () => finish(false)); // exited before announcing
48
+ child.stdin?.on("error", () => { });
49
+ if (!child.stdout) {
50
+ finish(false);
51
+ return;
52
+ }
53
+ const rl = readline.createInterface({ input: child.stdout });
54
+ rl.on("line", (line) => {
55
+ try {
56
+ if (parseMessage(line).type === "ready")
57
+ finish(true);
58
+ }
59
+ catch {
60
+ // ignore noise on stdout until a valid `ready` arrives or the timeout fires
61
+ }
62
+ });
63
+ });
64
+ }
65
+ analyze(root, files) {
66
+ const request = { type: "analyze", id: 1, root, files };
67
+ return new Promise((resolve, reject) => {
68
+ const child = spawn(this.command, [...this.args], { stdio: ["pipe", "pipe", "inherit"] });
69
+ let settled = false;
70
+ const finish = (run) => {
71
+ if (settled)
72
+ return;
73
+ settled = true;
74
+ child.kill();
75
+ run();
76
+ };
77
+ child.on("error", (err) => finish(() => reject(err))); // spawn failure (ENOENT, …)
78
+ child.on("exit", () => {
79
+ if (!settled)
80
+ reject(new Error(`${this.language} sidecar exited without a result`));
81
+ });
82
+ // Writing to a sidecar that failed to spawn can emit EPIPE; the `error`/`exit`
83
+ // handlers carry the real failure, so swallow the stream error to avoid a crash.
84
+ child.stdin?.on("error", () => { });
85
+ if (!child.stdout) {
86
+ finish(() => reject(new Error(`${this.language} sidecar has no stdout`)));
87
+ return;
88
+ }
89
+ const rl = readline.createInterface({ input: child.stdout });
90
+ rl.on("line", (line) => {
91
+ if (settled)
92
+ return;
93
+ let msg;
94
+ try {
95
+ msg = parseMessage(line);
96
+ }
97
+ catch (err) {
98
+ finish(() => reject(err instanceof Error ? err : new Error(String(err))));
99
+ return;
100
+ }
101
+ if (msg.type === "result" && msg.id === request.id) {
102
+ finish(() => resolve({ nodes: msg.nodes, edges: msg.edges, resolution: msg.resolution }));
103
+ }
104
+ else if (msg.type === "error") {
105
+ finish(() => reject(new Error(msg.message)));
106
+ }
107
+ // `ready` (and any unrelated result id) is ignored.
108
+ });
109
+ child.stdin?.write(frame(request));
110
+ child.stdin?.end();
111
+ });
112
+ }
113
+ }
114
+ //# sourceMappingURL=analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../../src/analyzers/sidecar/analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,508 @@
1
+ import { z } from "zod";
2
+ /** A {@link GraphNode} on the wire. Kept in lockstep with the graph model; the node/edge
3
+ * round-trip test fails if a required field drifts. */
4
+ export declare const graphNodeSchema: z.ZodObject<{
5
+ id: z.ZodString;
6
+ kind: z.ZodEnum<["File", "Module", "Class", "Interface", "Enum", "TypeAlias", "Function", "Method", "Property", "Variable", "Route", "Component"]>;
7
+ name: z.ZodString;
8
+ file: z.ZodString;
9
+ qualifiedName: z.ZodString;
10
+ range: z.ZodOptional<z.ZodObject<{
11
+ startLine: z.ZodNumber;
12
+ endLine: z.ZodNumber;
13
+ }, "strip", z.ZodTypeAny, {
14
+ startLine: number;
15
+ endLine: number;
16
+ }, {
17
+ startLine: number;
18
+ endLine: number;
19
+ }>>;
20
+ tier: z.ZodEnum<["deep", "baseline"]>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
23
+ name: string;
24
+ id: string;
25
+ file: string;
26
+ qualifiedName: string;
27
+ tier: "deep" | "baseline";
28
+ range?: {
29
+ startLine: number;
30
+ endLine: number;
31
+ } | undefined;
32
+ }, {
33
+ kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
34
+ name: string;
35
+ id: string;
36
+ file: string;
37
+ qualifiedName: string;
38
+ tier: "deep" | "baseline";
39
+ range?: {
40
+ startLine: number;
41
+ endLine: number;
42
+ } | undefined;
43
+ }>;
44
+ /** A {@link GraphEdge} on the wire. */
45
+ export declare const graphEdgeSchema: z.ZodObject<{
46
+ from: z.ZodString;
47
+ to: z.ZodString;
48
+ kind: z.ZodEnum<["Defines", "Calls", "Instantiates", "Overrides", "Inherits", "Implements", "UsesType", "Returns", "Imports", "ImportsType", "References"]>;
49
+ provenance: z.ZodOptional<z.ZodEnum<["resolved", "heuristic", "dispatch"]>>;
50
+ at: z.ZodOptional<z.ZodObject<{
51
+ line: z.ZodNumber;
52
+ column: z.ZodNumber;
53
+ }, "strip", z.ZodTypeAny, {
54
+ line: number;
55
+ column: number;
56
+ }, {
57
+ line: number;
58
+ column: number;
59
+ }>>;
60
+ sites: z.ZodOptional<z.ZodArray<z.ZodObject<{
61
+ line: z.ZodNumber;
62
+ column: z.ZodNumber;
63
+ }, "strip", z.ZodTypeAny, {
64
+ line: number;
65
+ column: number;
66
+ }, {
67
+ line: number;
68
+ column: number;
69
+ }>, "many">>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
72
+ from: string;
73
+ to: string;
74
+ at?: {
75
+ line: number;
76
+ column: number;
77
+ } | undefined;
78
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
79
+ sites?: {
80
+ line: number;
81
+ column: number;
82
+ }[] | undefined;
83
+ }, {
84
+ kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
85
+ from: string;
86
+ to: string;
87
+ at?: {
88
+ line: number;
89
+ column: number;
90
+ } | undefined;
91
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
92
+ sites?: {
93
+ line: number;
94
+ column: number;
95
+ }[] | undefined;
96
+ }>;
97
+ /** Ama → sidecar: analyze these repo-relative `files` rooted at the absolute `root`.
98
+ * `id` correlates the matching `result`/`error`. */
99
+ export declare const analyzeRequestSchema: z.ZodObject<{
100
+ type: z.ZodLiteral<"analyze">;
101
+ id: z.ZodNumber;
102
+ root: z.ZodString;
103
+ files: z.ZodArray<z.ZodString, "many">;
104
+ }, "strip", z.ZodTypeAny, {
105
+ type: "analyze";
106
+ id: number;
107
+ root: string;
108
+ files: string[];
109
+ }, {
110
+ type: "analyze";
111
+ id: number;
112
+ root: string;
113
+ files: string[];
114
+ }>;
115
+ /** Sidecar → Ama: the analysis of one request's files. */
116
+ declare const resultSchema: z.ZodObject<{
117
+ type: z.ZodLiteral<"result">;
118
+ id: z.ZodNumber;
119
+ nodes: z.ZodArray<z.ZodObject<{
120
+ id: z.ZodString;
121
+ kind: z.ZodEnum<["File", "Module", "Class", "Interface", "Enum", "TypeAlias", "Function", "Method", "Property", "Variable", "Route", "Component"]>;
122
+ name: z.ZodString;
123
+ file: z.ZodString;
124
+ qualifiedName: z.ZodString;
125
+ range: z.ZodOptional<z.ZodObject<{
126
+ startLine: z.ZodNumber;
127
+ endLine: z.ZodNumber;
128
+ }, "strip", z.ZodTypeAny, {
129
+ startLine: number;
130
+ endLine: number;
131
+ }, {
132
+ startLine: number;
133
+ endLine: number;
134
+ }>>;
135
+ tier: z.ZodEnum<["deep", "baseline"]>;
136
+ }, "strip", z.ZodTypeAny, {
137
+ kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
138
+ name: string;
139
+ id: string;
140
+ file: string;
141
+ qualifiedName: string;
142
+ tier: "deep" | "baseline";
143
+ range?: {
144
+ startLine: number;
145
+ endLine: number;
146
+ } | undefined;
147
+ }, {
148
+ kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
149
+ name: string;
150
+ id: string;
151
+ file: string;
152
+ qualifiedName: string;
153
+ tier: "deep" | "baseline";
154
+ range?: {
155
+ startLine: number;
156
+ endLine: number;
157
+ } | undefined;
158
+ }>, "many">;
159
+ edges: z.ZodArray<z.ZodObject<{
160
+ from: z.ZodString;
161
+ to: z.ZodString;
162
+ kind: z.ZodEnum<["Defines", "Calls", "Instantiates", "Overrides", "Inherits", "Implements", "UsesType", "Returns", "Imports", "ImportsType", "References"]>;
163
+ provenance: z.ZodOptional<z.ZodEnum<["resolved", "heuristic", "dispatch"]>>;
164
+ at: z.ZodOptional<z.ZodObject<{
165
+ line: z.ZodNumber;
166
+ column: z.ZodNumber;
167
+ }, "strip", z.ZodTypeAny, {
168
+ line: number;
169
+ column: number;
170
+ }, {
171
+ line: number;
172
+ column: number;
173
+ }>>;
174
+ sites: z.ZodOptional<z.ZodArray<z.ZodObject<{
175
+ line: z.ZodNumber;
176
+ column: z.ZodNumber;
177
+ }, "strip", z.ZodTypeAny, {
178
+ line: number;
179
+ column: number;
180
+ }, {
181
+ line: number;
182
+ column: number;
183
+ }>, "many">>;
184
+ }, "strip", z.ZodTypeAny, {
185
+ kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
186
+ from: string;
187
+ to: string;
188
+ at?: {
189
+ line: number;
190
+ column: number;
191
+ } | undefined;
192
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
193
+ sites?: {
194
+ line: number;
195
+ column: number;
196
+ }[] | undefined;
197
+ }, {
198
+ kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
199
+ from: string;
200
+ to: string;
201
+ at?: {
202
+ line: number;
203
+ column: number;
204
+ } | undefined;
205
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
206
+ sites?: {
207
+ line: number;
208
+ column: number;
209
+ }[] | undefined;
210
+ }>, "many">;
211
+ resolution: z.ZodOptional<z.ZodObject<{
212
+ callsTotal: z.ZodNumber;
213
+ callsResolved: z.ZodNumber;
214
+ unresolved: z.ZodRecord<z.ZodString, z.ZodNumber>;
215
+ }, "strip", z.ZodTypeAny, {
216
+ callsTotal: number;
217
+ callsResolved: number;
218
+ unresolved: Record<string, number>;
219
+ }, {
220
+ callsTotal: number;
221
+ callsResolved: number;
222
+ unresolved: Record<string, number>;
223
+ }>>;
224
+ }, "strip", z.ZodTypeAny, {
225
+ nodes: {
226
+ kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
227
+ name: string;
228
+ id: string;
229
+ file: string;
230
+ qualifiedName: string;
231
+ tier: "deep" | "baseline";
232
+ range?: {
233
+ startLine: number;
234
+ endLine: number;
235
+ } | undefined;
236
+ }[];
237
+ edges: {
238
+ kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
239
+ from: string;
240
+ to: string;
241
+ at?: {
242
+ line: number;
243
+ column: number;
244
+ } | undefined;
245
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
246
+ sites?: {
247
+ line: number;
248
+ column: number;
249
+ }[] | undefined;
250
+ }[];
251
+ type: "result";
252
+ id: number;
253
+ resolution?: {
254
+ callsTotal: number;
255
+ callsResolved: number;
256
+ unresolved: Record<string, number>;
257
+ } | undefined;
258
+ }, {
259
+ nodes: {
260
+ kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
261
+ name: string;
262
+ id: string;
263
+ file: string;
264
+ qualifiedName: string;
265
+ tier: "deep" | "baseline";
266
+ range?: {
267
+ startLine: number;
268
+ endLine: number;
269
+ } | undefined;
270
+ }[];
271
+ edges: {
272
+ kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
273
+ from: string;
274
+ to: string;
275
+ at?: {
276
+ line: number;
277
+ column: number;
278
+ } | undefined;
279
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
280
+ sites?: {
281
+ line: number;
282
+ column: number;
283
+ }[] | undefined;
284
+ }[];
285
+ type: "result";
286
+ id: number;
287
+ resolution?: {
288
+ callsTotal: number;
289
+ callsResolved: number;
290
+ unresolved: Record<string, number>;
291
+ } | undefined;
292
+ }>;
293
+ /** Any message a sidecar sends to Ama. */
294
+ export declare const sidecarMessageSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
295
+ type: z.ZodLiteral<"ready">;
296
+ language: z.ZodString;
297
+ version: z.ZodOptional<z.ZodString>;
298
+ }, "strip", z.ZodTypeAny, {
299
+ type: "ready";
300
+ language: string;
301
+ version?: string | undefined;
302
+ }, {
303
+ type: "ready";
304
+ language: string;
305
+ version?: string | undefined;
306
+ }>, z.ZodObject<{
307
+ type: z.ZodLiteral<"result">;
308
+ id: z.ZodNumber;
309
+ nodes: z.ZodArray<z.ZodObject<{
310
+ id: z.ZodString;
311
+ kind: z.ZodEnum<["File", "Module", "Class", "Interface", "Enum", "TypeAlias", "Function", "Method", "Property", "Variable", "Route", "Component"]>;
312
+ name: z.ZodString;
313
+ file: z.ZodString;
314
+ qualifiedName: z.ZodString;
315
+ range: z.ZodOptional<z.ZodObject<{
316
+ startLine: z.ZodNumber;
317
+ endLine: z.ZodNumber;
318
+ }, "strip", z.ZodTypeAny, {
319
+ startLine: number;
320
+ endLine: number;
321
+ }, {
322
+ startLine: number;
323
+ endLine: number;
324
+ }>>;
325
+ tier: z.ZodEnum<["deep", "baseline"]>;
326
+ }, "strip", z.ZodTypeAny, {
327
+ kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
328
+ name: string;
329
+ id: string;
330
+ file: string;
331
+ qualifiedName: string;
332
+ tier: "deep" | "baseline";
333
+ range?: {
334
+ startLine: number;
335
+ endLine: number;
336
+ } | undefined;
337
+ }, {
338
+ kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
339
+ name: string;
340
+ id: string;
341
+ file: string;
342
+ qualifiedName: string;
343
+ tier: "deep" | "baseline";
344
+ range?: {
345
+ startLine: number;
346
+ endLine: number;
347
+ } | undefined;
348
+ }>, "many">;
349
+ edges: z.ZodArray<z.ZodObject<{
350
+ from: z.ZodString;
351
+ to: z.ZodString;
352
+ kind: z.ZodEnum<["Defines", "Calls", "Instantiates", "Overrides", "Inherits", "Implements", "UsesType", "Returns", "Imports", "ImportsType", "References"]>;
353
+ provenance: z.ZodOptional<z.ZodEnum<["resolved", "heuristic", "dispatch"]>>;
354
+ at: z.ZodOptional<z.ZodObject<{
355
+ line: z.ZodNumber;
356
+ column: z.ZodNumber;
357
+ }, "strip", z.ZodTypeAny, {
358
+ line: number;
359
+ column: number;
360
+ }, {
361
+ line: number;
362
+ column: number;
363
+ }>>;
364
+ sites: z.ZodOptional<z.ZodArray<z.ZodObject<{
365
+ line: z.ZodNumber;
366
+ column: z.ZodNumber;
367
+ }, "strip", z.ZodTypeAny, {
368
+ line: number;
369
+ column: number;
370
+ }, {
371
+ line: number;
372
+ column: number;
373
+ }>, "many">>;
374
+ }, "strip", z.ZodTypeAny, {
375
+ kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
376
+ from: string;
377
+ to: string;
378
+ at?: {
379
+ line: number;
380
+ column: number;
381
+ } | undefined;
382
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
383
+ sites?: {
384
+ line: number;
385
+ column: number;
386
+ }[] | undefined;
387
+ }, {
388
+ kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
389
+ from: string;
390
+ to: string;
391
+ at?: {
392
+ line: number;
393
+ column: number;
394
+ } | undefined;
395
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
396
+ sites?: {
397
+ line: number;
398
+ column: number;
399
+ }[] | undefined;
400
+ }>, "many">;
401
+ resolution: z.ZodOptional<z.ZodObject<{
402
+ callsTotal: z.ZodNumber;
403
+ callsResolved: z.ZodNumber;
404
+ unresolved: z.ZodRecord<z.ZodString, z.ZodNumber>;
405
+ }, "strip", z.ZodTypeAny, {
406
+ callsTotal: number;
407
+ callsResolved: number;
408
+ unresolved: Record<string, number>;
409
+ }, {
410
+ callsTotal: number;
411
+ callsResolved: number;
412
+ unresolved: Record<string, number>;
413
+ }>>;
414
+ }, "strip", z.ZodTypeAny, {
415
+ nodes: {
416
+ kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
417
+ name: string;
418
+ id: string;
419
+ file: string;
420
+ qualifiedName: string;
421
+ tier: "deep" | "baseline";
422
+ range?: {
423
+ startLine: number;
424
+ endLine: number;
425
+ } | undefined;
426
+ }[];
427
+ edges: {
428
+ kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
429
+ from: string;
430
+ to: string;
431
+ at?: {
432
+ line: number;
433
+ column: number;
434
+ } | undefined;
435
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
436
+ sites?: {
437
+ line: number;
438
+ column: number;
439
+ }[] | undefined;
440
+ }[];
441
+ type: "result";
442
+ id: number;
443
+ resolution?: {
444
+ callsTotal: number;
445
+ callsResolved: number;
446
+ unresolved: Record<string, number>;
447
+ } | undefined;
448
+ }, {
449
+ nodes: {
450
+ kind: "File" | "Module" | "Class" | "Interface" | "Enum" | "TypeAlias" | "Function" | "Method" | "Property" | "Variable" | "Route" | "Component";
451
+ name: string;
452
+ id: string;
453
+ file: string;
454
+ qualifiedName: string;
455
+ tier: "deep" | "baseline";
456
+ range?: {
457
+ startLine: number;
458
+ endLine: number;
459
+ } | undefined;
460
+ }[];
461
+ edges: {
462
+ kind: "Defines" | "Calls" | "Instantiates" | "Overrides" | "Inherits" | "Implements" | "UsesType" | "Returns" | "Imports" | "ImportsType" | "References";
463
+ from: string;
464
+ to: string;
465
+ at?: {
466
+ line: number;
467
+ column: number;
468
+ } | undefined;
469
+ provenance?: "resolved" | "heuristic" | "dispatch" | undefined;
470
+ sites?: {
471
+ line: number;
472
+ column: number;
473
+ }[] | undefined;
474
+ }[];
475
+ type: "result";
476
+ id: number;
477
+ resolution?: {
478
+ callsTotal: number;
479
+ callsResolved: number;
480
+ unresolved: Record<string, number>;
481
+ } | undefined;
482
+ }>, z.ZodObject<{
483
+ type: z.ZodLiteral<"error">;
484
+ id: z.ZodOptional<z.ZodNumber>;
485
+ message: z.ZodString;
486
+ }, "strip", z.ZodTypeAny, {
487
+ type: "error";
488
+ message: string;
489
+ id?: number | undefined;
490
+ }, {
491
+ type: "error";
492
+ message: string;
493
+ id?: number | undefined;
494
+ }>]>;
495
+ export type AnalyzeRequest = z.infer<typeof analyzeRequestSchema>;
496
+ export type SidecarMessage = z.infer<typeof sidecarMessageSchema>;
497
+ export type AnalyzeResult = z.infer<typeof resultSchema>;
498
+ /** Encode a protocol message as one NDJSON line (its JSON, plus the framing newline).
499
+ * Used by both ends; a message must contain no raw newline of its own (JSON escapes them). */
500
+ export declare function frame(message: AnalyzeRequest | SidecarMessage): string;
501
+ /** Parse one inbound line as an `analyze` request (the sidecar's side). Throws (ZodError
502
+ * or SyntaxError) on a malformed or invalid line. */
503
+ export declare function parseRequest(line: string): AnalyzeRequest;
504
+ /** Parse one inbound line as a sidecar message (Ama's side). Throws on a malformed or
505
+ * invalid line, so a buggy sidecar can't inject an ill-formed node/edge into the graph. */
506
+ export declare function parseMessage(line: string): SidecarMessage;
507
+ export {};
508
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/analyzers/sidecar/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8BxB;wDACwD;AACxD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAC;AAEH,uCAAuC;AACvC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAQH;qDACqD;AACrD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AASH,0DAA0D;AAC1D,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMhB,CAAC;AASH,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAI/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEzD;+FAC+F;AAC/F,wBAAgB,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,GAAG,MAAM,CAEtE;AAED;sDACsD;AACtD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAEzD;AAED;4FAC4F;AAC5F,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAEzD"}