@ai-agent-context/core 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.
- package/LICENSE +21 -0
- package/README.md +285 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/adapters/filesystem/fs-adapter.d.ts +50 -0
- package/dist/adapters/filesystem/fs-adapter.d.ts.map +1 -0
- package/dist/adapters/filesystem/fs-adapter.js +168 -0
- package/dist/adapters/filesystem/fs-adapter.js.map +1 -0
- package/dist/adapters/filesystem/sensitive.d.ts +26 -0
- package/dist/adapters/filesystem/sensitive.d.ts.map +1 -0
- package/dist/adapters/filesystem/sensitive.js +67 -0
- package/dist/adapters/filesystem/sensitive.js.map +1 -0
- package/dist/adapters/git/git-adapter.d.ts +47 -0
- package/dist/adapters/git/git-adapter.d.ts.map +1 -0
- package/dist/adapters/git/git-adapter.js +109 -0
- package/dist/adapters/git/git-adapter.js.map +1 -0
- package/dist/adapters/language/json/adapter.d.ts +24 -0
- package/dist/adapters/language/json/adapter.d.ts.map +1 -0
- package/dist/adapters/language/json/adapter.js +54 -0
- package/dist/adapters/language/json/adapter.js.map +1 -0
- package/dist/adapters/language/markdown/adapter.d.ts +41 -0
- package/dist/adapters/language/markdown/adapter.d.ts.map +1 -0
- package/dist/adapters/language/markdown/adapter.js +124 -0
- package/dist/adapters/language/markdown/adapter.js.map +1 -0
- package/dist/adapters/language/package-json/adapter.d.ts +47 -0
- package/dist/adapters/language/package-json/adapter.d.ts.map +1 -0
- package/dist/adapters/language/package-json/adapter.js +153 -0
- package/dist/adapters/language/package-json/adapter.js.map +1 -0
- package/dist/adapters/language/registry.d.ts +35 -0
- package/dist/adapters/language/registry.d.ts.map +1 -0
- package/dist/adapters/language/registry.js +79 -0
- package/dist/adapters/language/registry.js.map +1 -0
- package/dist/adapters/language/ts-js/adapter.d.ts +14 -0
- package/dist/adapters/language/ts-js/adapter.d.ts.map +1 -0
- package/dist/adapters/language/ts-js/adapter.js +59 -0
- package/dist/adapters/language/ts-js/adapter.js.map +1 -0
- package/dist/adapters/language/ts-js/extractor.d.ts +21 -0
- package/dist/adapters/language/ts-js/extractor.d.ts.map +1 -0
- package/dist/adapters/language/ts-js/extractor.js +779 -0
- package/dist/adapters/language/ts-js/extractor.js.map +1 -0
- package/dist/adapters/language/ts-js/lexer.d.ts +30 -0
- package/dist/adapters/language/ts-js/lexer.d.ts.map +1 -0
- package/dist/adapters/language/ts-js/lexer.js +446 -0
- package/dist/adapters/language/ts-js/lexer.js.map +1 -0
- package/dist/adapters/language/ts-js/package-signals.d.ts +5 -0
- package/dist/adapters/language/ts-js/package-signals.d.ts.map +1 -0
- package/dist/adapters/language/ts-js/package-signals.js +113 -0
- package/dist/adapters/language/ts-js/package-signals.js.map +1 -0
- package/dist/adapters/language/tsconfig/adapter.d.ts +38 -0
- package/dist/adapters/language/tsconfig/adapter.d.ts.map +1 -0
- package/dist/adapters/language/tsconfig/adapter.js +130 -0
- package/dist/adapters/language/tsconfig/adapter.js.map +1 -0
- package/dist/adapters/language/types.d.ts +152 -0
- package/dist/adapters/language/types.d.ts.map +1 -0
- package/dist/adapters/language/types.js +51 -0
- package/dist/adapters/language/types.js.map +1 -0
- package/dist/agent-context.d.ts +122 -0
- package/dist/agent-context.d.ts.map +1 -0
- package/dist/agent-context.js +243 -0
- package/dist/agent-context.js.map +1 -0
- package/dist/config/defaults.d.ts +13 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +98 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/load.d.ts +25 -0
- package/dist/config/load.d.ts.map +1 -0
- package/dist/config/load.js +106 -0
- package/dist/config/load.js.map +1 -0
- package/dist/config/types.d.ts +95 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +8 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/validate.d.ts +15 -0
- package/dist/config/validate.d.ts.map +1 -0
- package/dist/config/validate.js +202 -0
- package/dist/config/validate.js.map +1 -0
- package/dist/core/architecture/detector.d.ts +10 -0
- package/dist/core/architecture/detector.d.ts.map +1 -0
- package/dist/core/architecture/detector.js +37 -0
- package/dist/core/architecture/detector.js.map +1 -0
- package/dist/core/architecture/entry-points.d.ts +20 -0
- package/dist/core/architecture/entry-points.d.ts.map +1 -0
- package/dist/core/architecture/entry-points.js +190 -0
- package/dist/core/architecture/entry-points.js.map +1 -0
- package/dist/core/architecture/role-detector.d.ts +32 -0
- package/dist/core/architecture/role-detector.d.ts.map +1 -0
- package/dist/core/architecture/role-detector.js +240 -0
- package/dist/core/architecture/role-detector.js.map +1 -0
- package/dist/core/context/explain.d.ts +36 -0
- package/dist/core/context/explain.d.ts.map +1 -0
- package/dist/core/context/explain.js +199 -0
- package/dist/core/context/explain.js.map +1 -0
- package/dist/core/context/repository-context.d.ts +16 -0
- package/dist/core/context/repository-context.d.ts.map +1 -0
- package/dist/core/context/repository-context.js +134 -0
- package/dist/core/context/repository-context.js.map +1 -0
- package/dist/core/context/types.d.ts +94 -0
- package/dist/core/context/types.d.ts.map +1 -0
- package/dist/core/context/types.js +2 -0
- package/dist/core/context/types.js.map +1 -0
- package/dist/core/conventions/detector.d.ts +55 -0
- package/dist/core/conventions/detector.d.ts.map +1 -0
- package/dist/core/conventions/detector.js +438 -0
- package/dist/core/conventions/detector.js.map +1 -0
- package/dist/core/conventions/renderer.d.ts +16 -0
- package/dist/core/conventions/renderer.d.ts.map +1 -0
- package/dist/core/conventions/renderer.js +42 -0
- package/dist/core/conventions/renderer.js.map +1 -0
- package/dist/core/decisions/detector.d.ts +45 -0
- package/dist/core/decisions/detector.d.ts.map +1 -0
- package/dist/core/decisions/detector.js +256 -0
- package/dist/core/decisions/detector.js.map +1 -0
- package/dist/core/diff/differ.d.ts +26 -0
- package/dist/core/diff/differ.d.ts.map +1 -0
- package/dist/core/diff/differ.js +159 -0
- package/dist/core/diff/differ.js.map +1 -0
- package/dist/core/git-analysis/activity.d.ts +35 -0
- package/dist/core/git-analysis/activity.d.ts.map +1 -0
- package/dist/core/git-analysis/activity.js +123 -0
- package/dist/core/git-analysis/activity.js.map +1 -0
- package/dist/core/graph/aliases.d.ts +20 -0
- package/dist/core/graph/aliases.d.ts.map +1 -0
- package/dist/core/graph/aliases.js +99 -0
- package/dist/core/graph/aliases.js.map +1 -0
- package/dist/core/graph/knowledge-graph.d.ts +91 -0
- package/dist/core/graph/knowledge-graph.d.ts.map +1 -0
- package/dist/core/graph/knowledge-graph.js +572 -0
- package/dist/core/graph/knowledge-graph.js.map +1 -0
- package/dist/core/graph/modules.d.ts +28 -0
- package/dist/core/graph/modules.d.ts.map +1 -0
- package/dist/core/graph/modules.js +139 -0
- package/dist/core/graph/modules.js.map +1 -0
- package/dist/core/graph/resolver.d.ts +50 -0
- package/dist/core/graph/resolver.d.ts.map +1 -0
- package/dist/core/graph/resolver.js +180 -0
- package/dist/core/graph/resolver.js.map +1 -0
- package/dist/core/scanner/cache.d.ts +49 -0
- package/dist/core/scanner/cache.d.ts.map +1 -0
- package/dist/core/scanner/cache.js +101 -0
- package/dist/core/scanner/cache.js.map +1 -0
- package/dist/core/scanner/scanner.d.ts +60 -0
- package/dist/core/scanner/scanner.d.ts.map +1 -0
- package/dist/core/scanner/scanner.js +304 -0
- package/dist/core/scanner/scanner.js.map +1 -0
- package/dist/core/scanner/types.d.ts +47 -0
- package/dist/core/scanner/types.d.ts.map +1 -0
- package/dist/core/scanner/types.js +18 -0
- package/dist/core/scanner/types.js.map +1 -0
- package/dist/core/search/analyzer.d.ts +16 -0
- package/dist/core/search/analyzer.d.ts.map +1 -0
- package/dist/core/search/analyzer.js +165 -0
- package/dist/core/search/analyzer.js.map +1 -0
- package/dist/core/search/bm25.d.ts +21 -0
- package/dist/core/search/bm25.d.ts.map +1 -0
- package/dist/core/search/bm25.js +108 -0
- package/dist/core/search/bm25.js.map +1 -0
- package/dist/core/search/documents.d.ts +20 -0
- package/dist/core/search/documents.d.ts.map +1 -0
- package/dist/core/search/documents.js +106 -0
- package/dist/core/search/documents.js.map +1 -0
- package/dist/core/search/service.d.ts +30 -0
- package/dist/core/search/service.d.ts.map +1 -0
- package/dist/core/search/service.js +54 -0
- package/dist/core/search/service.js.map +1 -0
- package/dist/core/search/types.d.ts +44 -0
- package/dist/core/search/types.d.ts.map +1 -0
- package/dist/core/search/types.js +2 -0
- package/dist/core/search/types.js.map +1 -0
- package/dist/core/serialization/documents.d.ts +26 -0
- package/dist/core/serialization/documents.d.ts.map +1 -0
- package/dist/core/serialization/documents.js +224 -0
- package/dist/core/serialization/documents.js.map +1 -0
- package/dist/core/serialization/reader.d.ts +22 -0
- package/dist/core/serialization/reader.d.ts.map +1 -0
- package/dist/core/serialization/reader.js +65 -0
- package/dist/core/serialization/reader.js.map +1 -0
- package/dist/core/serialization/types.d.ts +184 -0
- package/dist/core/serialization/types.d.ts.map +1 -0
- package/dist/core/serialization/types.js +2 -0
- package/dist/core/serialization/types.js.map +1 -0
- package/dist/core/serialization/writer.d.ts +17 -0
- package/dist/core/serialization/writer.d.ts.map +1 -0
- package/dist/core/serialization/writer.js +64 -0
- package/dist/core/serialization/writer.js.map +1 -0
- package/dist/core/workspace/package-facts.d.ts +12 -0
- package/dist/core/workspace/package-facts.d.ts.map +1 -0
- package/dist/core/workspace/package-facts.js +50 -0
- package/dist/core/workspace/package-facts.js.map +1 -0
- package/dist/core/workspace/workspace.d.ts +32 -0
- package/dist/core/workspace/workspace.d.ts.map +1 -0
- package/dist/core/workspace/workspace.js +167 -0
- package/dist/core/workspace/workspace.js.map +1 -0
- package/dist/errors.d.ts +50 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +64 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +80 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +66 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/diagnostics.d.ts +64 -0
- package/dist/logging/diagnostics.d.ts.map +1 -0
- package/dist/logging/diagnostics.js +92 -0
- package/dist/logging/diagnostics.js.map +1 -0
- package/dist/model/canonical.d.ts +24 -0
- package/dist/model/canonical.d.ts.map +1 -0
- package/dist/model/canonical.js +69 -0
- package/dist/model/canonical.js.map +1 -0
- package/dist/model/schema.d.ts +37 -0
- package/dist/model/schema.d.ts.map +1 -0
- package/dist/model/schema.js +42 -0
- package/dist/model/schema.js.map +1 -0
- package/dist/model/types.d.ts +402 -0
- package/dist/model/types.d.ts.map +1 -0
- package/dist/model/types.js +10 -0
- package/dist/model/types.js.map +1 -0
- package/dist/pipeline/scan-pipeline.d.ts +69 -0
- package/dist/pipeline/scan-pipeline.d.ts.map +1 -0
- package/dist/pipeline/scan-pipeline.js +270 -0
- package/dist/pipeline/scan-pipeline.js.map +1 -0
- package/dist/util/concurrency.d.ts +17 -0
- package/dist/util/concurrency.d.ts.map +1 -0
- package/dist/util/concurrency.js +46 -0
- package/dist/util/concurrency.js.map +1 -0
- package/dist/util/glob.d.ts +26 -0
- package/dist/util/glob.d.ts.map +1 -0
- package/dist/util/glob.js +198 -0
- package/dist/util/glob.js.map +1 -0
- package/dist/util/paths.d.ts +23 -0
- package/dist/util/paths.d.ts.map +1 -0
- package/dist/util/paths.js +115 -0
- package/dist/util/paths.js.map +1 -0
- package/dist/util/text.d.ts +22 -0
- package/dist/util/text.d.ts.map +1 -0
- package/dist/util/text.js +66 -0
- package/dist/util/text.js.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../src/core/git-analysis/activity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript path alias collection.
|
|
3
|
+
*
|
|
4
|
+
* Aliases come from `compilerOptions.paths` / `baseUrl`, following `extends`
|
|
5
|
+
* chains (including `tsconfig.base.json` style monorepo setups). Collecting them
|
|
6
|
+
* is what makes `@app/payments/...` imports resolvable to real files, keeping the
|
|
7
|
+
* import graph honest instead of dropping aliased imports on the floor.
|
|
8
|
+
*/
|
|
9
|
+
import type { ParsedFile } from '../../adapters/language/types.ts';
|
|
10
|
+
import type { AliasEntry } from './resolver.ts';
|
|
11
|
+
/**
|
|
12
|
+
* Collects alias entries from every tsconfig in the repository.
|
|
13
|
+
*
|
|
14
|
+
* Entries are ordered by decreasing `base` depth, so the tsconfig closest to the
|
|
15
|
+
* importing file wins (matching how TypeScript resolves `paths` per project).
|
|
16
|
+
*/
|
|
17
|
+
export declare function collectAliases(parsed: Map<string, ParsedFile>): AliasEntry[];
|
|
18
|
+
/** Nearest tsconfig for a file, used in diagnostics and explanations. */
|
|
19
|
+
export declare function nearestTsConfig(tsconfigPaths: readonly string[], filePath: string): string | null;
|
|
20
|
+
//# sourceMappingURL=aliases.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../../../src/core/graph/aliases.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAsChD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,UAAU,EAAE,CAyB5E;AA8BD,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUjG"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { dirname, join, normalizeRelative } from "../../util/paths.js";
|
|
2
|
+
import { compareStrings } from "../../model/canonical.js";
|
|
3
|
+
function readTsConfigFacts(parsed) {
|
|
4
|
+
const extendsChain = parsed.metadata['tsconfig.extends'];
|
|
5
|
+
const paths = parsed.metadata['tsconfig.paths'];
|
|
6
|
+
if (!Array.isArray(extendsChain) || paths === null || typeof paths !== 'object')
|
|
7
|
+
return null;
|
|
8
|
+
const baseUrl = parsed.metadata['tsconfig.baseUrl'];
|
|
9
|
+
const facts = {
|
|
10
|
+
extendsChain: extendsChain.filter((entry) => typeof entry === 'string'),
|
|
11
|
+
baseUrl: typeof baseUrl === 'string' ? baseUrl : null,
|
|
12
|
+
paths: {},
|
|
13
|
+
strict: parsed.metadata['tsconfig.strict'] === true,
|
|
14
|
+
moduleResolution: null,
|
|
15
|
+
module: null,
|
|
16
|
+
target: null,
|
|
17
|
+
jsx: null,
|
|
18
|
+
composite: false,
|
|
19
|
+
declaration: false,
|
|
20
|
+
};
|
|
21
|
+
for (const [key, value] of Object.entries(paths)) {
|
|
22
|
+
if (Array.isArray(value))
|
|
23
|
+
facts.paths[key] = value.filter((entry) => typeof entry === 'string');
|
|
24
|
+
}
|
|
25
|
+
return facts;
|
|
26
|
+
}
|
|
27
|
+
/** Resolves an `extends` target to a repository-relative tsconfig path. */
|
|
28
|
+
function resolveExtends(fromDirectory, target) {
|
|
29
|
+
return target.startsWith('.') ? join(fromDirectory, target) : target;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Collects alias entries from every tsconfig in the repository.
|
|
33
|
+
*
|
|
34
|
+
* Entries are ordered by decreasing `base` depth, so the tsconfig closest to the
|
|
35
|
+
* importing file wins (matching how TypeScript resolves `paths` per project).
|
|
36
|
+
*/
|
|
37
|
+
export function collectAliases(parsed) {
|
|
38
|
+
const records = new Map();
|
|
39
|
+
for (const file of parsed.values()) {
|
|
40
|
+
if (file.language !== 'tsconfig')
|
|
41
|
+
continue;
|
|
42
|
+
const facts = readTsConfigFacts(file);
|
|
43
|
+
if (facts === null)
|
|
44
|
+
continue;
|
|
45
|
+
records.set(file.path, { path: file.path, directory: dirname(file.path), facts });
|
|
46
|
+
}
|
|
47
|
+
const entries = [];
|
|
48
|
+
const seen = new Set();
|
|
49
|
+
for (const record of [...records.values()].sort((a, b) => compareStrings(a.path, b.path))) {
|
|
50
|
+
for (const entry of aliasEntriesFor(record, records, new Set())) {
|
|
51
|
+
const key = `${entry.pattern}|${entry.targets.join(',')}|${entry.base}`;
|
|
52
|
+
if (seen.has(key))
|
|
53
|
+
continue;
|
|
54
|
+
seen.add(key);
|
|
55
|
+
entries.push(entry);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
entries.sort((a, b) => a.base.length === b.base.length
|
|
59
|
+
? compareStrings(a.pattern, b.pattern)
|
|
60
|
+
: b.base.length - a.base.length);
|
|
61
|
+
return entries;
|
|
62
|
+
}
|
|
63
|
+
function aliasEntriesFor(record, records, visited) {
|
|
64
|
+
if (visited.has(record.path))
|
|
65
|
+
return [];
|
|
66
|
+
visited.add(record.path);
|
|
67
|
+
const entries = [];
|
|
68
|
+
// Inherited entries first (parent project), the current file overrides them.
|
|
69
|
+
for (const parentTarget of record.facts.extendsChain) {
|
|
70
|
+
const parentPath = normalizeRelative(resolveExtends(record.directory, parentTarget));
|
|
71
|
+
const parent = records.get(parentPath) ?? records.get(`${parentPath}.json`);
|
|
72
|
+
if (parent !== undefined)
|
|
73
|
+
entries.push(...aliasEntriesFor(parent, records, visited));
|
|
74
|
+
}
|
|
75
|
+
const base = normalizeRelative(join(record.directory, record.facts.baseUrl ?? '.'));
|
|
76
|
+
for (const [pattern, targets] of Object.entries(record.facts.paths).sort((a, b) => compareStrings(a[0], b[0]))) {
|
|
77
|
+
if (targets.length === 0)
|
|
78
|
+
continue;
|
|
79
|
+
entries.push({ pattern, targets: [...targets].sort(compareStrings), base, source: record.path });
|
|
80
|
+
}
|
|
81
|
+
if (Object.keys(record.facts.paths).length === 0 && record.facts.baseUrl !== null) {
|
|
82
|
+
// A bare `baseUrl` makes every non-relative specifier resolvable from it.
|
|
83
|
+
entries.push({ pattern: '*', targets: ['*'], base, source: record.path });
|
|
84
|
+
}
|
|
85
|
+
return entries;
|
|
86
|
+
}
|
|
87
|
+
/** Nearest tsconfig for a file, used in diagnostics and explanations. */
|
|
88
|
+
export function nearestTsConfig(tsconfigPaths, filePath) {
|
|
89
|
+
const sorted = [...tsconfigPaths].sort((a, b) => b.length - a.length);
|
|
90
|
+
const directory = dirname(filePath);
|
|
91
|
+
for (const candidate of sorted) {
|
|
92
|
+
const configDirectory = dirname(candidate);
|
|
93
|
+
if (configDirectory.length === 0 || directory === configDirectory || directory.startsWith(`${configDirectory}/`)) {
|
|
94
|
+
return candidate;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=aliases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aliases.js","sourceRoot":"","sources":["../../../src/core/graph/aliases.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge graph assembly.
|
|
3
|
+
*
|
|
4
|
+
* Turns scanner output into the graph the whole product is built on:
|
|
5
|
+
*
|
|
6
|
+
* ```text
|
|
7
|
+
* File → Module → Symbol → Dependency, Module A --imports--> Module B, B --used-by--> A
|
|
8
|
+
* ```
|
|
9
|
+
*
|
|
10
|
+
* Only unambiguous relationships become edges: `imports`, `exports` (re-exports),
|
|
11
|
+
* `calls` (restricted to symbols that are actually imported by the file) and
|
|
12
|
+
* `extends` / `implements` (same restriction). Unresolvable imports are collected
|
|
13
|
+
* separately and reported as diagnostics instead of polluting the graph.
|
|
14
|
+
*/
|
|
15
|
+
import type { DependencyEdge, Detection, ExternalDependency, FileNode, ModuleNode, Relationship, Repository, SymbolNode, WorkspaceInfo } from '../../model/types.ts';
|
|
16
|
+
import type { ParsedFile } from '../../adapters/language/types.ts';
|
|
17
|
+
import { ImportResolver, type AliasEntry } from './resolver.ts';
|
|
18
|
+
import type { ScanOutput } from '../scanner/scanner.ts';
|
|
19
|
+
export interface KnowledgeGraphInput {
|
|
20
|
+
root: string;
|
|
21
|
+
repositoryName: string;
|
|
22
|
+
scan: ScanOutput;
|
|
23
|
+
workspace: WorkspaceInfo;
|
|
24
|
+
moduleDepth: number;
|
|
25
|
+
schemaVersion: number;
|
|
26
|
+
languages: string[];
|
|
27
|
+
}
|
|
28
|
+
export interface UnresolvedImport {
|
|
29
|
+
file: string;
|
|
30
|
+
specifier: string;
|
|
31
|
+
attempts: string[];
|
|
32
|
+
}
|
|
33
|
+
export interface KnowledgeGraph {
|
|
34
|
+
repository: Repository;
|
|
35
|
+
/** File level edges (`file → file`, `file → package`, symbol level calls). */
|
|
36
|
+
fileEdges: DependencyEdge[];
|
|
37
|
+
/** Module/package level edges — these are the serialized dependencies. */
|
|
38
|
+
moduleEdges: DependencyEdge[];
|
|
39
|
+
externalDependencies: ExternalDependency[];
|
|
40
|
+
unresolved: UnresolvedImport[];
|
|
41
|
+
cycles: string[][];
|
|
42
|
+
fileToModule: Map<string, string>;
|
|
43
|
+
symbolsByFile: Map<string, SymbolNode[]>;
|
|
44
|
+
symbolsByName: Map<string, SymbolNode[]>;
|
|
45
|
+
filesByPath: Map<string, FileNode>;
|
|
46
|
+
resolver: ImportResolver;
|
|
47
|
+
aliases: AliasEntry[];
|
|
48
|
+
tsconfigPaths: string[];
|
|
49
|
+
}
|
|
50
|
+
/** Builds symbol nodes and the name/file indexes used for resolution. */
|
|
51
|
+
export declare function buildSymbols(files: FileNode[], parsed: Map<string, ParsedFile>): {
|
|
52
|
+
symbols: SymbolNode[];
|
|
53
|
+
symbolsByFile: Map<string, SymbolNode[]>;
|
|
54
|
+
symbolsByName: Map<string, SymbolNode[]>;
|
|
55
|
+
};
|
|
56
|
+
/** Workspace package entry candidates, used to resolve package-name imports. */
|
|
57
|
+
export declare function resolverWorkspacePackages(workspace: WorkspaceInfo, filePaths: ReadonlySet<string>): Map<string, {
|
|
58
|
+
directory: string;
|
|
59
|
+
entries: string[];
|
|
60
|
+
}>;
|
|
61
|
+
/** Heuristic importance of an external dependency; always reported with evidence. */
|
|
62
|
+
export declare function classifyExternalImportance(name: string, options: {
|
|
63
|
+
builtin: boolean;
|
|
64
|
+
development: boolean;
|
|
65
|
+
}): Detection<'infrastructure' | 'framework' | 'tooling' | 'utility'>;
|
|
66
|
+
/** Accumulates module→module edges deterministically, with bounded evidence. */
|
|
67
|
+
export declare class ModuleEdgeAccumulator {
|
|
68
|
+
private readonly entries;
|
|
69
|
+
add(from: string, to: string, relationship: Relationship, sourceFile: string, detail: string): void;
|
|
70
|
+
/** Files that create the edge, keyed by `from|to`. */
|
|
71
|
+
fileCount(from: string, to: string): number;
|
|
72
|
+
/** Relationships observed between two modules. */
|
|
73
|
+
relationships(from: string, to: string): Relationship[];
|
|
74
|
+
edges(): DependencyEdge[];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Builds the complete repository knowledge graph.
|
|
78
|
+
*
|
|
79
|
+
* The function is pure with respect to the file system: everything it needs was
|
|
80
|
+
* produced by the scanner, which is what keeps incremental scans cheap.
|
|
81
|
+
*/
|
|
82
|
+
export declare function buildKnowledgeGraph(input: KnowledgeGraphInput): KnowledgeGraph;
|
|
83
|
+
/** Aggregates imported external packages with scope, declaring packages and importance. */
|
|
84
|
+
export declare function buildExternalDependencies(externalMap: Map<string, {
|
|
85
|
+
builtin: boolean;
|
|
86
|
+
modules: Set<string>;
|
|
87
|
+
files: Set<string>;
|
|
88
|
+
}>, workspace: WorkspaceInfo): ExternalDependency[];
|
|
89
|
+
/** Finds strongly connected components (size > 1) in the module dependency graph. */
|
|
90
|
+
export declare function findModuleCycles(modulesById: Map<string, ModuleNode>): string[][];
|
|
91
|
+
//# sourceMappingURL=knowledge-graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../../../src/core/graph/knowledge-graph.ts"],"names":[],"mappings":"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"}
|