wabachi 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 +84 -0
- package/dist/architecture/canon/authority.d.ts +35 -0
- package/dist/architecture/canon/authority.js +76 -0
- package/dist/architecture/canon/authority.js.map +1 -0
- package/dist/architecture/canon/boundaries.d.ts +31 -0
- package/dist/architecture/canon/boundaries.js +73 -0
- package/dist/architecture/canon/boundaries.js.map +1 -0
- package/dist/architecture/canon/codec.d.ts +10 -0
- package/dist/architecture/canon/codec.js +516 -0
- package/dist/architecture/canon/codec.js.map +1 -0
- package/dist/architecture/canon/constraints.d.ts +60 -0
- package/dist/architecture/canon/constraints.js +116 -0
- package/dist/architecture/canon/constraints.js.map +1 -0
- package/dist/architecture/canon/decisions.d.ts +62 -0
- package/dist/architecture/canon/decisions.js +192 -0
- package/dist/architecture/canon/decisions.js.map +1 -0
- package/dist/architecture/canon/deployment.d.ts +89 -0
- package/dist/architecture/canon/deployment.js +156 -0
- package/dist/architecture/canon/deployment.js.map +1 -0
- package/dist/architecture/canon/document.d.ts +60 -0
- package/dist/architecture/canon/document.js +106 -0
- package/dist/architecture/canon/document.js.map +1 -0
- package/dist/architecture/canon/elements.d.ts +21 -0
- package/dist/architecture/canon/elements.js +87 -0
- package/dist/architecture/canon/elements.js.map +1 -0
- package/dist/architecture/canon/flows.d.ts +37 -0
- package/dist/architecture/canon/flows.js +82 -0
- package/dist/architecture/canon/flows.js.map +1 -0
- package/dist/architecture/canon/identity.d.ts +45 -0
- package/dist/architecture/canon/identity.js +83 -0
- package/dist/architecture/canon/identity.js.map +1 -0
- package/dist/architecture/canon/relationships.d.ts +48 -0
- package/dist/architecture/canon/relationships.js +181 -0
- package/dist/architecture/canon/relationships.js.map +1 -0
- package/dist/architecture/canon/repository-mappings.d.ts +51 -0
- package/dist/architecture/canon/repository-mappings.js +134 -0
- package/dist/architecture/canon/repository-mappings.js.map +1 -0
- package/dist/architecture/canon/responsibilities.d.ts +40 -0
- package/dist/architecture/canon/responsibilities.js +89 -0
- package/dist/architecture/canon/responsibilities.js.map +1 -0
- package/dist/architecture/canon/validate.d.ts +14 -0
- package/dist/architecture/canon/validate.js +389 -0
- package/dist/architecture/canon/validate.js.map +1 -0
- package/dist/architecture/canon/views.d.ts +101 -0
- package/dist/architecture/canon/views.js +182 -0
- package/dist/architecture/canon/views.js.map +1 -0
- package/dist/architecture/cli.d.ts +2 -0
- package/dist/architecture/cli.js +158 -0
- package/dist/architecture/cli.js.map +1 -0
- package/dist/architecture/documentation/html.d.ts +3 -0
- package/dist/architecture/documentation/html.js +143 -0
- package/dist/architecture/documentation/html.js.map +1 -0
- package/dist/architecture/documentation/model.d.ts +46 -0
- package/dist/architecture/documentation/model.js +13 -0
- package/dist/architecture/documentation/model.js.map +1 -0
- package/dist/architecture/documentation/project.d.ts +4 -0
- package/dist/architecture/documentation/project.js +166 -0
- package/dist/architecture/documentation/project.js.map +1 -0
- package/dist/architecture/documentation/site.d.ts +43 -0
- package/dist/architecture/documentation/site.js +147 -0
- package/dist/architecture/documentation/site.js.map +1 -0
- package/dist/architecture/projection/structurizr-export.d.ts +65 -0
- package/dist/architecture/projection/structurizr-export.js +136 -0
- package/dist/architecture/projection/structurizr-export.js.map +1 -0
- package/dist/architecture/projection/structurizr.d.ts +34 -0
- package/dist/architecture/projection/structurizr.js +667 -0
- package/dist/architecture/projection/structurizr.js.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +143 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/runtime/correlation.d.ts +143 -0
- package/dist/runtime/correlation.js +919 -0
- package/dist/runtime/correlation.js.map +1 -0
- package/dist/runtime/facts.d.ts +138 -0
- package/dist/runtime/facts.js +614 -0
- package/dist/runtime/facts.js.map +1 -0
- package/dist/runtime/fixtureProvider.d.ts +10 -0
- package/dist/runtime/fixtureProvider.js +30 -0
- package/dist/runtime/fixtureProvider.js.map +1 -0
- package/dist/runtime/graftProvider.d.ts +8 -0
- package/dist/runtime/graftProvider.js +107 -0
- package/dist/runtime/graftProvider.js.map +1 -0
- package/dist/runtime/graftWiring.d.ts +30 -0
- package/dist/runtime/graftWiring.js +3 -0
- package/dist/runtime/graftWiring.js.map +1 -0
- package/dist/runtime/manifest.d.ts +17 -0
- package/dist/runtime/manifest.js +39 -0
- package/dist/runtime/manifest.js.map +1 -0
- package/dist/runtime/matrix.d.ts +337 -0
- package/dist/runtime/matrix.js +1485 -0
- package/dist/runtime/matrix.js.map +1 -0
- package/dist/runtime/observation.d.ts +36 -0
- package/dist/runtime/observation.js +3 -0
- package/dist/runtime/observation.js.map +1 -0
- package/dist/runtime/provider.d.ts +34 -0
- package/dist/runtime/provider.js +2 -0
- package/dist/runtime/provider.js.map +1 -0
- package/dist/runtime/repository.d.ts +20 -0
- package/dist/runtime/repository.js +55 -0
- package/dist/runtime/repository.js.map +1 -0
- package/dist/runtime/run.d.ts +21 -0
- package/dist/runtime/run.js +80 -0
- package/dist/runtime/run.js.map +1 -0
- package/dist/runtime/scipProvider.d.ts +11 -0
- package/dist/runtime/scipProvider.js +126 -0
- package/dist/runtime/scipProvider.js.map +1 -0
- package/dist/runtime/typescriptProvider.d.ts +10 -0
- package/dist/runtime/typescriptProvider.js +289 -0
- package/dist/runtime/typescriptProvider.js.map +1 -0
- package/dist/runtime/workflow.d.ts +30 -0
- package/dist/runtime/workflow.js +153 -0
- package/dist/runtime/workflow.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structurizr.js","sourceRoot":"","sources":["../../../src/architecture/projection/structurizr.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function runCli(argv: string[]): Promise<number>;
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { mkdtemp, readFile } from "node:fs/promises";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { createFixtureProvider } from "./runtime/fixtureProvider.js";
|
|
5
|
+
import { createGraftProvider } from "./runtime/graftProvider.js";
|
|
6
|
+
import { run } from "./runtime/run.js";
|
|
7
|
+
import { createScipTypescriptProvider } from "./runtime/scipProvider.js";
|
|
8
|
+
import { createTypeScriptProvider } from "./runtime/typescriptProvider.js";
|
|
9
|
+
import { runProviderMatrix } from "./runtime/workflow.js";
|
|
10
|
+
import { runArchitectureCli } from "./architecture/cli.js";
|
|
11
|
+
export async function runCli(argv) {
|
|
12
|
+
const command = argv[0];
|
|
13
|
+
if (command === undefined || command === "--help" || command === "-h") {
|
|
14
|
+
printHelp();
|
|
15
|
+
return command === undefined ? 1 : 0;
|
|
16
|
+
}
|
|
17
|
+
if (command === "--version") {
|
|
18
|
+
console.log(getVersion());
|
|
19
|
+
return 0;
|
|
20
|
+
}
|
|
21
|
+
if (command === "run") {
|
|
22
|
+
return runRunCommand(argv.slice(1));
|
|
23
|
+
}
|
|
24
|
+
if (command === "matrix") {
|
|
25
|
+
return runMatrixCommand(argv.slice(1));
|
|
26
|
+
}
|
|
27
|
+
if (command === "architecture") {
|
|
28
|
+
return runArchitectureCli(argv.slice(1));
|
|
29
|
+
}
|
|
30
|
+
console.error(`unknown command: ${command}`);
|
|
31
|
+
printHelp();
|
|
32
|
+
return 1;
|
|
33
|
+
}
|
|
34
|
+
async function runMatrixCommand(args) {
|
|
35
|
+
const configIndex = args.indexOf("--config");
|
|
36
|
+
const outIndex = args.indexOf("--out");
|
|
37
|
+
let source = args[0];
|
|
38
|
+
let revision = optionValue(args, "--revision");
|
|
39
|
+
let configuredProviderIds;
|
|
40
|
+
let configuredAdditionOrder;
|
|
41
|
+
try {
|
|
42
|
+
if (configIndex !== -1) {
|
|
43
|
+
const configPath = args[configIndex + 1];
|
|
44
|
+
if (configPath === undefined)
|
|
45
|
+
throw new Error("--config requires a JSON file");
|
|
46
|
+
const config = JSON.parse(await readFile(configPath, "utf8"));
|
|
47
|
+
if (typeof config.source !== "string" || typeof config.revision !== "string") {
|
|
48
|
+
throw new Error("workflow config must contain string source and revision");
|
|
49
|
+
}
|
|
50
|
+
if (!isStringArray(config.providers) || !isStringArray(config.additionOrder)) {
|
|
51
|
+
throw new Error("workflow config must contain provider and additionOrder string arrays");
|
|
52
|
+
}
|
|
53
|
+
source = config.source;
|
|
54
|
+
revision = config.revision;
|
|
55
|
+
configuredProviderIds = config.providers;
|
|
56
|
+
configuredAdditionOrder = config.additionOrder;
|
|
57
|
+
}
|
|
58
|
+
if (source === undefined)
|
|
59
|
+
throw new Error("usage: wabachi matrix <repository> --revision <sha> --out <dir>");
|
|
60
|
+
if (revision === undefined)
|
|
61
|
+
throw new Error("matrix requires --revision <40-character commit SHA>");
|
|
62
|
+
const runRoot = outIndex === -1 ? undefined : args[outIndex + 1];
|
|
63
|
+
if (runRoot === undefined)
|
|
64
|
+
throw new Error("matrix requires --out <dir> so artifacts are retained");
|
|
65
|
+
const providers = [createTypeScriptProvider(), createGraftProvider(), createScipTypescriptProvider()];
|
|
66
|
+
const providerIds = providers.map((provider) => provider.identity.id);
|
|
67
|
+
if (configuredProviderIds !== undefined && !sameStrings(configuredProviderIds, providerIds)) {
|
|
68
|
+
throw new Error(`workflow config provider set does not match registered providers: ${providerIds.join(", ")}`);
|
|
69
|
+
}
|
|
70
|
+
const configuredOrder = configuredAdditionOrder === undefined
|
|
71
|
+
? undefined
|
|
72
|
+
: configuredAdditionOrder.map((id) => {
|
|
73
|
+
const provider = providers.find((candidate) => candidate.identity.id === id);
|
|
74
|
+
if (provider === undefined)
|
|
75
|
+
throw new Error(`workflow config names an unknown provider: ${id}`);
|
|
76
|
+
return provider.identity;
|
|
77
|
+
});
|
|
78
|
+
const result = await runProviderMatrix({ source, revision, runRoot, providers, additionOrder: configuredOrder });
|
|
79
|
+
console.log(result.matrixPaths.reportPath);
|
|
80
|
+
return 0;
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
84
|
+
return 1;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function optionValue(args, option) {
|
|
88
|
+
const index = args.indexOf(option);
|
|
89
|
+
return index === -1 ? undefined : args[index + 1];
|
|
90
|
+
}
|
|
91
|
+
function isStringArray(value) {
|
|
92
|
+
return Array.isArray(value) && value.every((item) => typeof item === "string");
|
|
93
|
+
}
|
|
94
|
+
function sameStrings(left, right) {
|
|
95
|
+
return left.length === right.length && left.every((value, index) => value === right[index]);
|
|
96
|
+
}
|
|
97
|
+
async function runRunCommand(args) {
|
|
98
|
+
const source = args[0];
|
|
99
|
+
if (source === undefined) {
|
|
100
|
+
console.error("usage: wabachi run <repository> [--revision <ref>] [--out <dir>]");
|
|
101
|
+
return 1;
|
|
102
|
+
}
|
|
103
|
+
const revisionIndex = args.indexOf("--revision");
|
|
104
|
+
const revision = revisionIndex === -1 ? undefined : args[revisionIndex + 1];
|
|
105
|
+
const outIndex = args.indexOf("--out");
|
|
106
|
+
const runRoot = outIndex === -1 ? await mkdtemp(path.join(os.tmpdir(), "wabachi-run-")) : args[outIndex + 1];
|
|
107
|
+
try {
|
|
108
|
+
const { manifestPath } = await run({
|
|
109
|
+
source,
|
|
110
|
+
revision,
|
|
111
|
+
runRoot,
|
|
112
|
+
providers: [
|
|
113
|
+
createFixtureProvider(),
|
|
114
|
+
createTypeScriptProvider(),
|
|
115
|
+
createGraftProvider(),
|
|
116
|
+
createScipTypescriptProvider(),
|
|
117
|
+
],
|
|
118
|
+
});
|
|
119
|
+
console.log(manifestPath);
|
|
120
|
+
return 0;
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
124
|
+
return 1;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function printHelp() {
|
|
128
|
+
console.log([
|
|
129
|
+
"Usage: wabachi <command> [options]",
|
|
130
|
+
"",
|
|
131
|
+
"Commands:",
|
|
132
|
+
" run <repository> Resolve a repository/revision and execute registered providers",
|
|
133
|
+
" matrix <repository> Run providers and generate auditable facts, correlation, matrix, and report",
|
|
134
|
+
" architecture validate <file> Validate an explicit Architecture Canon file",
|
|
135
|
+
" architecture render <file> --out <dir> Render an explicit Architecture Canon site",
|
|
136
|
+
" --help Show this help",
|
|
137
|
+
" --version Print the installed version",
|
|
138
|
+
].join("\n"));
|
|
139
|
+
}
|
|
140
|
+
function getVersion() {
|
|
141
|
+
return "0.1.0";
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;IAC9C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import type { Observation, SourceEvidence } from "./observation.js";
|
|
2
|
+
import type { ProviderIdentity, ResolvedRepository } from "./provider.js";
|
|
3
|
+
/** The only outcomes a canonical entity can have. */
|
|
4
|
+
export type CorrelationStatus = "matched" | "probable" | "ambiguous" | "unmatched";
|
|
5
|
+
/** Relationship cardinality is retained instead of being hidden by grouping. */
|
|
6
|
+
export type CorrelationCardinality = "one-to-one" | "one-to-many" | "many-to-one" | "many-to-many" | "unmatched";
|
|
7
|
+
export type RangeBase = "zero-based" | "one-based";
|
|
8
|
+
/** A source range uses one-based lines and columns after normalization. */
|
|
9
|
+
export interface NormalizedSourceRange {
|
|
10
|
+
readonly startLine: number;
|
|
11
|
+
readonly startColumn?: number;
|
|
12
|
+
readonly endLine: number;
|
|
13
|
+
readonly endColumn?: number;
|
|
14
|
+
}
|
|
15
|
+
export type SourceRangeInput = string | readonly number[] | NormalizedSourceRange;
|
|
16
|
+
/**
|
|
17
|
+
* One provider-native entity to be correlated. `id` is never replaced: it is
|
|
18
|
+
* the provider's native identity and is retained in every output member.
|
|
19
|
+
*/
|
|
20
|
+
export interface ProviderEntityInput {
|
|
21
|
+
readonly provider: ProviderIdentity;
|
|
22
|
+
readonly repository: ResolvedRepository;
|
|
23
|
+
readonly id: string;
|
|
24
|
+
readonly kind: string;
|
|
25
|
+
readonly path?: string;
|
|
26
|
+
readonly span?: string;
|
|
27
|
+
readonly range?: SourceRangeInput;
|
|
28
|
+
readonly rangeBase?: RangeBase;
|
|
29
|
+
readonly source?: SourceEvidence;
|
|
30
|
+
readonly name?: string;
|
|
31
|
+
readonly qualifiedName?: string;
|
|
32
|
+
readonly signature?: string;
|
|
33
|
+
readonly aliases?: readonly string[];
|
|
34
|
+
readonly providerNative?: unknown;
|
|
35
|
+
}
|
|
36
|
+
export interface ProviderEntityReference {
|
|
37
|
+
readonly provider: ProviderIdentity;
|
|
38
|
+
readonly nativeId: string;
|
|
39
|
+
readonly kind: string;
|
|
40
|
+
readonly path?: string;
|
|
41
|
+
readonly range?: NormalizedSourceRange;
|
|
42
|
+
}
|
|
43
|
+
export interface CanonicalEntityMember extends ProviderEntityReference {
|
|
44
|
+
readonly repository: ResolvedRepository;
|
|
45
|
+
readonly canonicalKind: string;
|
|
46
|
+
readonly name?: string;
|
|
47
|
+
readonly qualifiedName?: string;
|
|
48
|
+
readonly signature?: string;
|
|
49
|
+
readonly aliases: readonly string[];
|
|
50
|
+
/** Lossless provider-native evidence supplied for this member. */
|
|
51
|
+
readonly providerNative: unknown;
|
|
52
|
+
}
|
|
53
|
+
export type CorrelationRule = "same-repository-revision" | "same-path" | "same-range" | "same-kind" | "same-qualified-name" | "same-alias" | "same-name" | "same-signature";
|
|
54
|
+
export interface CorrelationEvidence {
|
|
55
|
+
readonly left: ProviderEntityReference;
|
|
56
|
+
readonly right: ProviderEntityReference;
|
|
57
|
+
readonly score: number;
|
|
58
|
+
readonly rules: readonly CorrelationRule[];
|
|
59
|
+
}
|
|
60
|
+
export interface CorrelationRationale {
|
|
61
|
+
readonly method: "deterministic-rules";
|
|
62
|
+
readonly reason: "deterministic-evidence" | "probable-evidence" | "competing-evidence" | "provider-cardinality-conflict" | "no-cross-provider-evidence";
|
|
63
|
+
readonly cardinality: CorrelationCardinality;
|
|
64
|
+
readonly rules: readonly CorrelationRule[];
|
|
65
|
+
readonly evidence: readonly CorrelationEvidence[];
|
|
66
|
+
}
|
|
67
|
+
export interface CanonicalEntity {
|
|
68
|
+
/** Stable identity derived from the pinned repository and member set. */
|
|
69
|
+
readonly canonicalId: string;
|
|
70
|
+
/** Alias for consumers that call the record's identity simply `identity`. */
|
|
71
|
+
readonly identity: string;
|
|
72
|
+
readonly repository: ResolvedRepository;
|
|
73
|
+
readonly kind: string;
|
|
74
|
+
readonly status: CorrelationStatus;
|
|
75
|
+
readonly members: readonly CanonicalEntityMember[];
|
|
76
|
+
/** Canonical IDs of unresolved competing candidates. */
|
|
77
|
+
readonly candidateCanonicalIds: readonly string[];
|
|
78
|
+
readonly rationale: CorrelationRationale;
|
|
79
|
+
}
|
|
80
|
+
export interface CorrelationLink {
|
|
81
|
+
readonly left: ProviderEntityReference;
|
|
82
|
+
readonly right: ProviderEntityReference;
|
|
83
|
+
readonly score: number;
|
|
84
|
+
readonly strength: "matched" | "probable";
|
|
85
|
+
readonly cardinality: CorrelationCardinality;
|
|
86
|
+
readonly rules: readonly CorrelationRule[];
|
|
87
|
+
}
|
|
88
|
+
export interface ProviderCorrelationMetrics {
|
|
89
|
+
readonly provider: ProviderIdentity;
|
|
90
|
+
readonly total: number;
|
|
91
|
+
readonly canonicalEntityCount: number;
|
|
92
|
+
readonly candidateCount: number;
|
|
93
|
+
readonly matched: number;
|
|
94
|
+
readonly probable: number;
|
|
95
|
+
readonly ambiguous: number;
|
|
96
|
+
readonly unmatched: number;
|
|
97
|
+
}
|
|
98
|
+
export interface CorrelationCandidateKeyDiagnostic {
|
|
99
|
+
readonly keyClass: string;
|
|
100
|
+
readonly keyCount: number;
|
|
101
|
+
readonly potentialPairCount: number;
|
|
102
|
+
}
|
|
103
|
+
export interface CorrelationDiagnostics {
|
|
104
|
+
/** Safety bound on candidate materialization; it is not a provider score. */
|
|
105
|
+
readonly maxCandidatePairsPerKey: number;
|
|
106
|
+
readonly indexedKeyCount: number;
|
|
107
|
+
readonly skippedKeyCount: number;
|
|
108
|
+
/** Potential pairs under skipped keys, before provider/kind filtering. */
|
|
109
|
+
readonly skippedPotentialPairCount: number;
|
|
110
|
+
readonly skippedKeys: readonly CorrelationCandidateKeyDiagnostic[];
|
|
111
|
+
}
|
|
112
|
+
export interface CorrelationResult {
|
|
113
|
+
readonly canonicalEntities: readonly CanonicalEntity[];
|
|
114
|
+
/** All deterministic candidate links, including links rejected by cardinality. */
|
|
115
|
+
readonly links: readonly CorrelationLink[];
|
|
116
|
+
/** Metrics are keyed by provider id; versions remain in each metric value. */
|
|
117
|
+
readonly metrics: Readonly<Record<string, ProviderCorrelationMetrics>>;
|
|
118
|
+
readonly diagnostics: CorrelationDiagnostics;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Converts provider paths to a repository-relative, slash-separated form.
|
|
122
|
+
* This intentionally does not consult the host filesystem.
|
|
123
|
+
*/
|
|
124
|
+
export declare function normalizeRepositoryPath(value: string): string;
|
|
125
|
+
/**
|
|
126
|
+
* Converts common TypeScript/Graft (`L1C1-L1C4`), SCIP (`0:0-0:3`), and
|
|
127
|
+
* packed SCIP ranges to the same one-based representation.
|
|
128
|
+
*/
|
|
129
|
+
export declare function normalizeSourceRange(value: SourceRangeInput | undefined, providerId?: string, rangeBase?: RangeBase): NormalizedSourceRange | undefined;
|
|
130
|
+
/** Correlates provider-native entities using only deterministic local rules. */
|
|
131
|
+
export declare function correlateProviderEntities(inputs: readonly ProviderEntityInput[]): CorrelationResult;
|
|
132
|
+
/** Short alias for callers that already have provider entities. */
|
|
133
|
+
export declare const correlateEntities: typeof correlateProviderEntities;
|
|
134
|
+
/** Extracts definition/structural entities from the existing Observation envelope. */
|
|
135
|
+
export declare function providerEntitiesFromObservations(observations: readonly Observation[]): ProviderEntityInput[];
|
|
136
|
+
/**
|
|
137
|
+
* Extracts every endpoint represented by observations. Definitions are still
|
|
138
|
+
* preferred by the fact normalizer, but relation-only endpoints (for example
|
|
139
|
+
* call sites) must remain available when no definition observation exists.
|
|
140
|
+
*/
|
|
141
|
+
export declare function providerEntitiesFromAllObservations(observations: readonly Observation[]): ProviderEntityInput[];
|
|
142
|
+
/** Correlates the provider-native entities represented by observations. */
|
|
143
|
+
export declare function correlateObservations(observations: readonly Observation[]): CorrelationResult;
|