chiasmus 0.1.5 → 0.1.7
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 +77 -5
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +21 -0
- package/dist/config.js.map +1 -0
- package/dist/graph/adapter-registry.d.ts +17 -0
- package/dist/graph/adapter-registry.d.ts.map +1 -0
- package/dist/graph/adapter-registry.js +160 -0
- package/dist/graph/adapter-registry.js.map +1 -0
- package/dist/graph/analyses.js +1 -1
- package/dist/graph/analyses.js.map +1 -1
- package/dist/graph/extractor.d.ts +1 -1
- package/dist/graph/extractor.d.ts.map +1 -1
- package/dist/graph/extractor.js +482 -5
- package/dist/graph/extractor.js.map +1 -1
- package/dist/graph/parser.d.ts +3 -1
- package/dist/graph/parser.d.ts.map +1 -1
- package/dist/graph/parser.js +102 -18
- package/dist/graph/parser.js.map +1 -1
- package/dist/graph/types.d.ts +21 -0
- package/dist/graph/types.d.ts.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +6 -0
- package/dist/mcp-server.js.map +1 -1
- package/dist/solvers/correction-loop.d.ts +7 -15
- package/dist/solvers/correction-loop.d.ts.map +1 -1
- package/dist/solvers/correction-loop.js +15 -33
- package/dist/solvers/correction-loop.js.map +1 -1
- package/package.json +10 -1
package/README.md
CHANGED
|
@@ -103,7 +103,9 @@ chiasmus_verify solver="prolog" format="mermaid"
|
|
|
103
103
|
→ { status: "success", answers: [{}] }
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
**`chiasmus_graph`** — Analyze source code call graphs via tree-sitter + Prolog. Parses
|
|
106
|
+
**`chiasmus_graph`** — Analyze source code call graphs via tree-sitter + Prolog. Parses source files, extracts cross-module call graphs, runs formal analyses.
|
|
107
|
+
|
|
108
|
+
Built-in language support: **TypeScript**, **JavaScript**, **Python**, **Go**, **Clojure/ClojureScript**. Additional languages can be added via [custom adapters](#custom-language-adapters).
|
|
107
109
|
|
|
108
110
|
```
|
|
109
111
|
chiasmus_graph files=["src/server.ts", "src/db.ts"] analysis="callers" target="query"
|
|
@@ -112,11 +114,11 @@ chiasmus_graph files=["src/server.ts", "src/db.ts"] analysis="callers" target="q
|
|
|
112
114
|
chiasmus_graph files=["src/**/*.ts"] analysis="dead-code"
|
|
113
115
|
→ { analysis: "dead-code", result: ["unusedHelper", "legacyParser"] }
|
|
114
116
|
|
|
115
|
-
chiasmus_graph files=["
|
|
117
|
+
chiasmus_graph files=["app.py", "db.py"] analysis="reachability" from="handle" to="connect"
|
|
116
118
|
→ { analysis: "reachability", result: { reachable: true } }
|
|
117
119
|
|
|
118
|
-
chiasmus_graph files=["
|
|
119
|
-
→ { analysis: "impact", result: ["
|
|
120
|
+
chiasmus_graph files=["main.go", "handler.go"] analysis="impact" target="Query"
|
|
121
|
+
→ { analysis: "impact", result: ["Handle", "main"] }
|
|
120
122
|
```
|
|
121
123
|
|
|
122
124
|
Analyses: `summary`, `callers`, `callees`, `reachability`, `dead-code`, `cycles`, `path`, `impact`, `facts`.
|
|
@@ -206,11 +208,75 @@ The same applies to other structural questions:
|
|
|
206
208
|
|
|
207
209
|
The key difference: grep finds string matches, `chiasmus_graph` answers structural questions. Transitive reachability, dead code, and impact analysis are formally impossible with grep alone.
|
|
208
210
|
|
|
211
|
+
## Custom Language Adapters
|
|
212
|
+
|
|
213
|
+
Add tree-sitter support for any language by publishing an npm package named `chiasmus-adapter-<language>`. Chiasmus auto-discovers these at startup.
|
|
214
|
+
|
|
215
|
+
```ts
|
|
216
|
+
// chiasmus-adapter-rust/index.ts
|
|
217
|
+
import type { LanguageAdapter } from "chiasmus/adapter";
|
|
218
|
+
|
|
219
|
+
const adapter: LanguageAdapter = {
|
|
220
|
+
language: "rust",
|
|
221
|
+
extensions: [".rs"],
|
|
222
|
+
grammar: { package: "tree-sitter-rust" },
|
|
223
|
+
extract(rootNode, filePath) {
|
|
224
|
+
const defines = [];
|
|
225
|
+
const calls = [];
|
|
226
|
+
// Walk the tree-sitter AST and populate defines, calls, imports, etc.
|
|
227
|
+
// ... your language-specific extraction logic ...
|
|
228
|
+
return { defines, calls, imports: [], exports: [], contains: [] };
|
|
229
|
+
},
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
export default adapter;
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Install alongside chiasmus and enable adapter discovery in `~/.chiasmus/config.json`:
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
npm install chiasmus-adapter-rust
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
```json
|
|
242
|
+
{
|
|
243
|
+
"adapterDiscovery": true
|
|
244
|
+
}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Adapter discovery is **off by default** to keep startup fast. Enable it when you have custom adapters installed.
|
|
248
|
+
|
|
249
|
+
### searchPaths
|
|
250
|
+
|
|
251
|
+
An adapter can export `searchPaths` to point to directories containing additional adapter modules (`.js`/`.mjs` files). This is useful for loading adapters from non-standard locations:
|
|
252
|
+
|
|
253
|
+
```ts
|
|
254
|
+
export default {
|
|
255
|
+
language: "rust",
|
|
256
|
+
extensions: [".rs"],
|
|
257
|
+
grammar: { package: "tree-sitter-rust" },
|
|
258
|
+
extract(rootNode, filePath) { /* ... */ },
|
|
259
|
+
searchPaths: ["/shared/company-adapters"],
|
|
260
|
+
};
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Adapter interface
|
|
264
|
+
|
|
265
|
+
| Field | Type | Description |
|
|
266
|
+
|-------|------|-------------|
|
|
267
|
+
| `language` | `string` | Language identifier (e.g., `"rust"`) |
|
|
268
|
+
| `extensions` | `string[]` | File extensions (e.g., `[".rs"]`) |
|
|
269
|
+
| `grammar` | `object` | Tree-sitter grammar: `{ package, moduleExport? }` for native or `{ package, wasmFile, wasm: true }` for WASM |
|
|
270
|
+
| `extract` | `(rootNode, filePath) => CodeGraph` | Walks the AST and returns `{ defines, calls, imports, exports, contains }` |
|
|
271
|
+
| `searchPaths` | `string[]` (optional) | Additional directories to scan for adapter modules |
|
|
272
|
+
|
|
273
|
+
Built-in languages always take precedence over adapters with the same extensions.
|
|
274
|
+
|
|
209
275
|
## Configuration
|
|
210
276
|
|
|
211
277
|
| Variable | Default | Purpose |
|
|
212
278
|
|----------|---------|---------|
|
|
213
|
-
| `CHIASMUS_HOME` | `~/.chiasmus/` | Database
|
|
279
|
+
| `CHIASMUS_HOME` | `~/.chiasmus/` | Database, skill storage, and config |
|
|
214
280
|
| `ANTHROPIC_API_KEY` | — | Optional: Anthropic provider for autonomous mode |
|
|
215
281
|
| `DEEPSEEK_API_KEY` | — | Optional: DeepSeek provider for autonomous mode |
|
|
216
282
|
| `OPENAI_API_KEY` | — | Optional: OpenAI provider for autonomous mode |
|
|
@@ -219,6 +285,12 @@ The key difference: grep finds string matches, `chiasmus_graph` answers structur
|
|
|
219
285
|
|
|
220
286
|
Providers are checked in order: Anthropic → DeepSeek → OpenAI. Only one key is needed for autonomous mode (`chiasmus_solve`, `chiasmus_learn`). When used from Claude Code, Crush, or OpenCode, no API key is needed — the calling LLM handles template filling directly.
|
|
221
287
|
|
|
288
|
+
### `~/.chiasmus/config.json`
|
|
289
|
+
|
|
290
|
+
| Key | Default | Purpose |
|
|
291
|
+
|-----|---------|---------|
|
|
292
|
+
| `adapterDiscovery` | `false` | Scan `node_modules` for `chiasmus-adapter-*` packages at startup |
|
|
293
|
+
|
|
222
294
|
## License
|
|
223
295
|
|
|
224
296
|
Apache-2.0
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface ChiasmusConfig {
|
|
2
|
+
/** Enable auto-discovery of chiasmus-adapter-* packages at startup (default: false) */
|
|
3
|
+
adapterDiscovery: boolean;
|
|
4
|
+
}
|
|
5
|
+
/** Load config from ~/.chiasmus/config.json, falling back to defaults */
|
|
6
|
+
export declare function loadConfig(chiasmusHome: string): ChiasmusConfig;
|
|
7
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,uFAAuF;IACvF,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAMD,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,CAY/D"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
const DEFAULTS = {
|
|
4
|
+
adapterDiscovery: false,
|
|
5
|
+
};
|
|
6
|
+
/** Load config from ~/.chiasmus/config.json, falling back to defaults */
|
|
7
|
+
export function loadConfig(chiasmusHome) {
|
|
8
|
+
const configPath = join(chiasmusHome, "config.json");
|
|
9
|
+
if (!existsSync(configPath))
|
|
10
|
+
return { ...DEFAULTS };
|
|
11
|
+
try {
|
|
12
|
+
const raw = JSON.parse(readFileSync(configPath, "utf-8"));
|
|
13
|
+
return {
|
|
14
|
+
adapterDiscovery: typeof raw.adapterDiscovery === "boolean" ? raw.adapterDiscovery : DEFAULTS.adapterDiscovery,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return { ...DEFAULTS };
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC,MAAM,QAAQ,GAAmB;IAC/B,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAEF,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,YAAoB;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,OAAO;YACL,gBAAgB,EAAE,OAAO,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB;SAC/G,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { LanguageAdapter } from "./types.js";
|
|
2
|
+
/** Register a custom language adapter */
|
|
3
|
+
export declare function registerAdapter(adapter: LanguageAdapter): void;
|
|
4
|
+
/** Get a registered adapter by language name */
|
|
5
|
+
export declare function getAdapter(language: string): LanguageAdapter | null;
|
|
6
|
+
/** Get a registered adapter by file extension */
|
|
7
|
+
export declare function getAdapterForExt(ext: string): LanguageAdapter | null;
|
|
8
|
+
/** Get all registered adapter extensions */
|
|
9
|
+
export declare function getAdapterExtensions(): string[];
|
|
10
|
+
/** Clear all registered adapters (for testing) */
|
|
11
|
+
export declare function clearAdapters(): void;
|
|
12
|
+
/**
|
|
13
|
+
* Auto-discover adapters from node_modules (chiasmus-adapter-*) and
|
|
14
|
+
* optional searchPaths exported by discovered adapters.
|
|
15
|
+
*/
|
|
16
|
+
export declare function discoverAdapters(): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=adapter-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-registry.d.ts","sourceRoot":"","sources":["../../src/graph/adapter-registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQlD,yCAAyC;AACzC,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAM9D;AAED,gDAAgD;AAChD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAEnE;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAIpE;AAED,4CAA4C;AAC5C,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED,kDAAkD;AAClD,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BtD"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { readdirSync, existsSync, statSync } from "node:fs";
|
|
3
|
+
import { join, resolve } from "node:path";
|
|
4
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
5
|
+
const require = createRequire(import.meta.url);
|
|
6
|
+
const adapters = new Map();
|
|
7
|
+
const extToLanguage = new Map();
|
|
8
|
+
let discovered = false;
|
|
9
|
+
/** Register a custom language adapter */
|
|
10
|
+
export function registerAdapter(adapter) {
|
|
11
|
+
adapters.set(adapter.language, adapter);
|
|
12
|
+
for (const ext of adapter.extensions) {
|
|
13
|
+
const normalized = ext.startsWith(".") ? ext : `.${ext}`;
|
|
14
|
+
extToLanguage.set(normalized.toLowerCase(), adapter.language);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** Get a registered adapter by language name */
|
|
18
|
+
export function getAdapter(language) {
|
|
19
|
+
return adapters.get(language) ?? null;
|
|
20
|
+
}
|
|
21
|
+
/** Get a registered adapter by file extension */
|
|
22
|
+
export function getAdapterForExt(ext) {
|
|
23
|
+
const lang = extToLanguage.get(ext.toLowerCase());
|
|
24
|
+
if (!lang)
|
|
25
|
+
return null;
|
|
26
|
+
return adapters.get(lang) ?? null;
|
|
27
|
+
}
|
|
28
|
+
/** Get all registered adapter extensions */
|
|
29
|
+
export function getAdapterExtensions() {
|
|
30
|
+
return [...extToLanguage.keys()];
|
|
31
|
+
}
|
|
32
|
+
/** Clear all registered adapters (for testing) */
|
|
33
|
+
export function clearAdapters() {
|
|
34
|
+
adapters.clear();
|
|
35
|
+
extToLanguage.clear();
|
|
36
|
+
discovered = false;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Auto-discover adapters from node_modules (chiasmus-adapter-*) and
|
|
40
|
+
* optional searchPaths exported by discovered adapters.
|
|
41
|
+
*/
|
|
42
|
+
export async function discoverAdapters() {
|
|
43
|
+
if (discovered)
|
|
44
|
+
return;
|
|
45
|
+
discovered = true;
|
|
46
|
+
// Find node_modules relative to this package
|
|
47
|
+
let nodeModulesDir;
|
|
48
|
+
try {
|
|
49
|
+
const ownPkg = require.resolve("chiasmus/package.json");
|
|
50
|
+
nodeModulesDir = resolve(ownPkg, "..", "..");
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// Fallback: walk up from this file
|
|
54
|
+
nodeModulesDir = resolve(fileURLToPath(import.meta.url), "..", "..", "..", "node_modules");
|
|
55
|
+
}
|
|
56
|
+
// Scan for chiasmus-adapter-* packages
|
|
57
|
+
await scanDirectory(nodeModulesDir, "chiasmus-adapter-");
|
|
58
|
+
// Follow searchPaths from any discovered adapters
|
|
59
|
+
const pendingPaths = [];
|
|
60
|
+
for (const adapter of adapters.values()) {
|
|
61
|
+
if (adapter.searchPaths) {
|
|
62
|
+
pendingPaths.push(...adapter.searchPaths);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
for (const searchPath of pendingPaths) {
|
|
66
|
+
const resolved = resolve(searchPath);
|
|
67
|
+
await scanDirectory(resolved, null);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Scan a directory for adapter modules.
|
|
72
|
+
* If prefix is set, only load subdirectories matching that prefix (node_modules convention).
|
|
73
|
+
* If prefix is null, load all .js/.mjs files directly (searchPaths convention).
|
|
74
|
+
*/
|
|
75
|
+
async function scanDirectory(dir, prefix) {
|
|
76
|
+
if (!existsSync(dir))
|
|
77
|
+
return;
|
|
78
|
+
let entries;
|
|
79
|
+
try {
|
|
80
|
+
entries = readdirSync(dir);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
for (const entry of entries) {
|
|
86
|
+
try {
|
|
87
|
+
if (prefix) {
|
|
88
|
+
// node_modules mode: look for chiasmus-adapter-* packages
|
|
89
|
+
if (!entry.startsWith(prefix))
|
|
90
|
+
continue;
|
|
91
|
+
const pkgDir = join(dir, entry);
|
|
92
|
+
if (!statSync(pkgDir).isDirectory())
|
|
93
|
+
continue;
|
|
94
|
+
const mod = await loadAdapterModule(pkgDir);
|
|
95
|
+
if (mod)
|
|
96
|
+
registerFromModule(mod);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// searchPaths mode: load .js/.mjs files as adapter modules
|
|
100
|
+
if (!entry.endsWith(".js") && !entry.endsWith(".mjs"))
|
|
101
|
+
continue;
|
|
102
|
+
const filePath = join(dir, entry);
|
|
103
|
+
if (!statSync(filePath).isFile())
|
|
104
|
+
continue;
|
|
105
|
+
const mod = await import(pathToFileURL(filePath).href);
|
|
106
|
+
if (mod)
|
|
107
|
+
registerFromModule(mod);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
// Skip adapters that fail to load
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async function loadAdapterModule(pkgDir) {
|
|
116
|
+
try {
|
|
117
|
+
// Try to import the package by its directory
|
|
118
|
+
const pkgJsonPath = join(pkgDir, "package.json");
|
|
119
|
+
if (!existsSync(pkgJsonPath))
|
|
120
|
+
return null;
|
|
121
|
+
return await import(pkgDir);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function registerFromModule(mod) {
|
|
128
|
+
// Handle both default and named exports
|
|
129
|
+
const candidate = mod.default ?? mod;
|
|
130
|
+
if (Array.isArray(candidate)) {
|
|
131
|
+
for (const adapter of candidate) {
|
|
132
|
+
if (isLanguageAdapter(adapter)) {
|
|
133
|
+
registerAdapter(adapter);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else if (isLanguageAdapter(candidate)) {
|
|
138
|
+
registerAdapter(candidate);
|
|
139
|
+
}
|
|
140
|
+
// Also check named 'adapter' or 'adapters' exports
|
|
141
|
+
if (mod.adapter && isLanguageAdapter(mod.adapter)) {
|
|
142
|
+
registerAdapter(mod.adapter);
|
|
143
|
+
}
|
|
144
|
+
if (Array.isArray(mod.adapters)) {
|
|
145
|
+
for (const a of mod.adapters) {
|
|
146
|
+
if (isLanguageAdapter(a))
|
|
147
|
+
registerAdapter(a);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function isLanguageAdapter(obj) {
|
|
152
|
+
if (!obj || typeof obj !== "object")
|
|
153
|
+
return false;
|
|
154
|
+
const a = obj;
|
|
155
|
+
return (typeof a.language === "string" &&
|
|
156
|
+
Array.isArray(a.extensions) &&
|
|
157
|
+
typeof a.grammar === "object" && a.grammar !== null &&
|
|
158
|
+
typeof a.extract === "function");
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=adapter-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-registry.js","sourceRoot":"","sources":["../../src/graph/adapter-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/graph/analyses.js
CHANGED
|
@@ -9,7 +9,7 @@ export async function runAnalysis(filePaths, request) {
|
|
|
9
9
|
path: p,
|
|
10
10
|
content: readFileSync(p, "utf-8"),
|
|
11
11
|
}));
|
|
12
|
-
const graph = extractGraph(files);
|
|
12
|
+
const graph = await extractGraph(files);
|
|
13
13
|
const program = graphToProlog(graph, request.entryPoints);
|
|
14
14
|
if (request.analysis === "facts") {
|
|
15
15
|
return { analysis: "facts", result: program };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyses.js","sourceRoot":"","sources":["../../src/graph/analyses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAqBjE,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,SAAmB,EACnB,OAAwB;IAExB,uBAAuB;IACvB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC;KAClC,CAAC,CAAC,CAAC;IAEJ,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"analyses.js","sourceRoot":"","sources":["../../src/graph/analyses.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/graph/extractor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/graph/extractor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAkE,MAAM,YAAY,CAAC;AAE5G,8DAA8D;AAC9D,wBAAsB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CA4CtG"}
|