@velarscript/cli 0.21.0 → 0.22.1

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.
@@ -0,0 +1,131 @@
1
+ import { relative } from "node:path";
2
+ const overviewKinds = new Set([
3
+ "module",
4
+ "component",
5
+ "state",
6
+ "computed",
7
+ "action",
8
+ "function",
9
+ "class",
10
+ "type",
11
+ "enum",
12
+ "capability",
13
+ "readonlyProjection",
14
+ ]);
15
+ function portablePath(root, path) {
16
+ if (path === undefined)
17
+ return undefined;
18
+ const value = relative(root, path).replaceAll("\\", "/");
19
+ return value && !value.startsWith("../") ? value : path.replaceAll("\\", "/");
20
+ }
21
+ function focusNodes(nodes, root, query) {
22
+ const normalized = query.trim().toLocaleLowerCase("en-US");
23
+ const exact = nodes.filter((node) => node.id.toLocaleLowerCase("en-US") === normalized
24
+ || node.name.toLocaleLowerCase("en-US") === normalized
25
+ || portablePath(root, node.path)?.toLocaleLowerCase("en-US") === normalized
26
+ || node.context?.toLocaleLowerCase("en-US") === normalized);
27
+ if (exact.length > 0)
28
+ return exact;
29
+ return nodes.filter((node) => node.name.toLocaleLowerCase("en-US").includes(normalized)
30
+ || node.id.toLocaleLowerCase("en-US").includes(normalized)
31
+ || portablePath(root, node.path)?.toLocaleLowerCase("en-US").includes(normalized)
32
+ || node.context?.toLocaleLowerCase("en-US").includes(normalized));
33
+ }
34
+ export function createProjectLogicGraph(graph, root, options) {
35
+ const selected = new Set();
36
+ let selectionLimitReached = false;
37
+ if (options.focus) {
38
+ const starts = focusNodes(graph.nodes, root, options.focus);
39
+ if (starts.length === 0)
40
+ throw new Error(`No ownership graph node matches '${options.focus}'`);
41
+ const adjacent = new Map();
42
+ for (const edge of graph.edges) {
43
+ const from = adjacent.get(edge.from) ?? [];
44
+ from.push(edge.to);
45
+ adjacent.set(edge.from, from);
46
+ const to = adjacent.get(edge.to) ?? [];
47
+ to.push(edge.from);
48
+ adjacent.set(edge.to, to);
49
+ }
50
+ const pending = starts.map((node) => ({ id: node.id, depth: 0 }));
51
+ for (let cursor = 0; cursor < pending.length; cursor += 1) {
52
+ const current = pending[cursor];
53
+ if (selected.has(current.id))
54
+ continue;
55
+ if (selected.size >= options.maximumNodes) {
56
+ selectionLimitReached = true;
57
+ break;
58
+ }
59
+ selected.add(current.id);
60
+ if (current.depth >= options.depth)
61
+ continue;
62
+ for (const id of adjacent.get(current.id) ?? []) {
63
+ if (!selected.has(id))
64
+ pending.push({ id, depth: current.depth + 1 });
65
+ }
66
+ }
67
+ }
68
+ else {
69
+ for (const node of graph.nodes) {
70
+ if (!overviewKinds.has(node.kind))
71
+ continue;
72
+ if (selected.size >= options.maximumNodes) {
73
+ selectionLimitReached = true;
74
+ break;
75
+ }
76
+ selected.add(node.id);
77
+ }
78
+ }
79
+ const nodes = graph.nodes
80
+ .filter((node) => selected.has(node.id))
81
+ .map((node) => {
82
+ const { path, ...rest } = node;
83
+ return path ? { ...rest, path: portablePath(root, path) } : rest;
84
+ });
85
+ const eligibleEdges = graph.edges.filter((edge) => selected.has(edge.from) && selected.has(edge.to));
86
+ if (eligibleEdges.length > options.maximumEdges)
87
+ selectionLimitReached = true;
88
+ const edges = eligibleEdges.slice(0, options.maximumEdges)
89
+ .map((edge) => {
90
+ const { path, ...rest } = edge;
91
+ return path ? { ...rest, path: portablePath(root, path) } : rest;
92
+ });
93
+ return {
94
+ protocolVersion: 1,
95
+ revision: graph.revision,
96
+ root,
97
+ focus: options.focus ?? null,
98
+ depth: options.focus ? options.depth : 0,
99
+ diagnostics: options.diagnostics,
100
+ nodes,
101
+ edges,
102
+ coverage: graph.coverage,
103
+ sourceLimitReached: graph.limitReached,
104
+ selectionLimitReached,
105
+ };
106
+ }
107
+ function oneLine(value) {
108
+ return value.replaceAll(/\s+/gu, " ").trim();
109
+ }
110
+ export function renderProjectLogicGraph(view) {
111
+ const aliases = new Map(view.nodes.map((node, index) => [node.id, `n${index + 1}`]));
112
+ const lines = [
113
+ `velar-logic-graph v${view.protocolVersion} revision=${view.revision}`,
114
+ `scope=${view.focus ? `focus:${JSON.stringify(view.focus)} depth:${view.depth}` : "project-overview"} nodes=${view.nodes.length} edges=${view.edges.length} diagnostics=${view.diagnostics}`,
115
+ `coverage=${view.coverage.modulesIncluded}/${view.coverage.modulesTotal} complete=${view.coverage.complete} sourceLimit=${view.sourceLimitReached} selectionLimit=${view.selectionLimitReached}`,
116
+ "nodes:",
117
+ ];
118
+ for (const node of view.nodes) {
119
+ const location = node.path ? ` ${node.path}${node.selectionSpan ? `@${node.selectionSpan.start}:${node.selectionSpan.end}` : ""}` : "";
120
+ const flags = [node.exported ? "exported" : "", node.mutable ? "mutable" : ""].filter(Boolean).join(",");
121
+ const type = node.type ? ` type=${JSON.stringify(oneLine(node.type))}` : "";
122
+ const documentation = node.documentation ? ` doc=${JSON.stringify(oneLine(node.documentation))}` : "";
123
+ lines.push(`${aliases.get(node.id)} ${node.kind} ${JSON.stringify(node.name)}${location}${flags ? ` [${flags}]` : ""}${type}${documentation}`);
124
+ }
125
+ lines.push("edges:");
126
+ for (const edge of view.edges) {
127
+ lines.push(`${aliases.get(edge.from)} -${edge.kind}-> ${aliases.get(edge.to)}`);
128
+ }
129
+ return `${lines.join("\n")}\n`;
130
+ }
131
+ //# sourceMappingURL=logic-graph-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic-graph-output.js","sourceRoot":"","sources":["../src/logic-graph-output.ts"],"names":[],"mappings":"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"}
@@ -19,14 +19,13 @@ export interface MechanicalFixReport {
19
19
  * stage run and report its own mechanical guidance in turn. It stops when a
20
20
  * pass changes nothing, which is exactly what makes a second `velar fix` a
21
21
  * no-op.
22
+ *
23
+ * The scope is not a parameter: `input` is the same argument `velar check`
24
+ * takes, and the roots and the project-layer rules are both derived from it
25
+ * through the functions `check` derives them from. A fixer handed a
26
+ * pre-computed scope is a fixer that can be handed a different one, and the
27
+ * defect this shape exists to prevent is precisely the two commands reading
28
+ * one tree two ways.
22
29
  */
23
- export declare function applyProjectMechanicalFixes(config: VelarProjectConfig, displayPath: (path: string) => string, maximumPasses?: number,
24
- /**
25
- * D51 (audit 12): extra roots the module graph does not reach — `*.test.vel`
26
- * modules nobody imports, and every other source nothing imports either. Both
27
- * are source the author owns, so `fix` rewrites them on the same terms as
28
- * every other module, and on the same terms `velar check` reads them: a
29
- * diagnostic `check` refuses over must be one `fix` can reach.
30
- */
31
- additionalEntries?: readonly string[]): Promise<MechanicalFixReport>;
30
+ export declare function applyProjectMechanicalFixes(config: VelarProjectConfig, input: string | null, displayPath: (path: string) => string, maximumPasses?: number): Promise<MechanicalFixReport>;
32
31
  //# sourceMappingURL=mechanical-fixer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mechanical-fixer.d.ts","sourceRoot":"","sources":["../src/mechanical-fixer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,aAAa,SAAI;AACjB;;;;;;GAMG;AACH,iBAAiB,GAAE,SAAS,MAAM,EAAO,GACxC,OAAO,CAAC,mBAAmB,CAAC,CA6F9B"}
1
+ {"version":3,"file":"mechanical-fixer.d.ts","sourceRoot":"","sources":["../src/mechanical-fixer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAMtD,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,aAAa,SAAI,GAChB,OAAO,CAAC,mBAAmB,CAAC,CA4I9B"}
@@ -5,6 +5,7 @@ import { basename, dirname, isAbsolute, join, relative } from "node:path";
5
5
  import { applyMechanicalFixes, formatDiagnostic } from "@velarscript/compiler";
6
6
  import { hostErrorMessage } from "./host-error.js";
7
7
  import { compileProject } from "./project.js";
8
+ import { additionalProjectRoots, projectLayerFindings } from "./project-check.js";
8
9
  import { readVelarSourceFile } from "./source-limits.js";
9
10
  /**
10
11
  * D38 §48: the `velar fix` engine. It applies every rewrite the compile itself
@@ -12,19 +13,23 @@ import { readVelarSourceFile } from "./source-limits.js";
12
13
  * stage run and report its own mechanical guidance in turn. It stops when a
13
14
  * pass changes nothing, which is exactly what makes a second `velar fix` a
14
15
  * no-op.
16
+ *
17
+ * The scope is not a parameter: `input` is the same argument `velar check`
18
+ * takes, and the roots and the project-layer rules are both derived from it
19
+ * through the functions `check` derives them from. A fixer handed a
20
+ * pre-computed scope is a fixer that can be handed a different one, and the
21
+ * defect this shape exists to prevent is precisely the two commands reading
22
+ * one tree two ways.
15
23
  */
16
- export async function applyProjectMechanicalFixes(config, displayPath, maximumPasses = 8,
17
- /**
18
- * D51 (audit 12): extra roots the module graph does not reach — `*.test.vel`
19
- * modules nobody imports, and every other source nothing imports either. Both
20
- * are source the author owns, so `fix` rewrites them on the same terms as
21
- * every other module, and on the same terms `velar check` reads them: a
22
- * diagnostic `check` refuses over must be one `fix` can reach.
23
- */
24
- additionalEntries = []) {
24
+ export async function applyProjectMechanicalFixes(config, input, displayPath, maximumPasses = 8) {
25
25
  const changes = [];
26
26
  const changedFiles = new Set();
27
- const entries = [config.entryPath, ...additionalEntries];
27
+ // D51 (audit 12): extra roots the module graph does not reach — `*.test.vel`
28
+ // modules nobody imports, and every other source nothing imports either. Both
29
+ // are source the author owns, so `fix` rewrites them on the same terms as
30
+ // every other module, and on the same terms `velar check` reads them: a
31
+ // diagnostic `check` refuses over must be one `fix` can reach.
32
+ const entries = [config.entryPath, ...await additionalProjectRoots(config, input)];
28
33
  const compile = async () => {
29
34
  const results = [];
30
35
  // A root an earlier root already walked needs no compile of its own: the
@@ -60,6 +65,7 @@ additionalEntries = []) {
60
65
  passes += 1;
61
66
  const writes = [];
62
67
  const visited = new Set();
68
+ const targets = new Set();
63
69
  for (const module of projects.flatMap((result) => result.modules)) {
64
70
  if (visited.has(module.inputPath))
65
71
  continue;
@@ -75,12 +81,48 @@ additionalEntries = []) {
75
81
  const result = applyMechanicalFixes(source.text, module.result.diagnostics);
76
82
  if (result.applied.length === 0)
77
83
  continue;
84
+ // One file is written once per pass, whatever it is called. Two roots
85
+ // reach one file whenever the author gave it two names — a link inside
86
+ // `src/` pointing at a shared module, a module hard-linked under a second
87
+ // name — and each name is a module of its own to the compiler. The second
88
+ // write would be computed from the same snapshot as the first, so it
89
+ // would either race it or fail its own re-read, and it would report the
90
+ // same rewrite twice.
91
+ const identity = await writeIdentity(module.inputPath);
92
+ if (targets.has(identity))
93
+ continue;
94
+ targets.add(identity);
78
95
  const lines = result.applied.map((fix) => {
79
96
  const location = source.location(fix.offset);
80
97
  return `${displayPath(module.inputPath)}:${location.line}:${location.column} fixed ${fix.code}: ${fix.title}`;
81
98
  });
82
99
  writes.push({ path: module.inputPath, lines, write: replaceSourceFile(module.inputPath, source.text, result.text) });
83
100
  }
101
+ // The project layer's own rewrites, from the same rules `velar check`
102
+ // refuses on. They are withheld from a pass that already rewrote something:
103
+ // both kinds are computed from one snapshot, and two whole-file writes
104
+ // against one snapshot cannot both be what the file should hold. The loop
105
+ // recompiles and applies it on the next pass — the same deferral
106
+ // `applyMechanicalFixes` uses for two edits that overlap.
107
+ if (writes.length === 0) {
108
+ // `entries[0]` is the project entry and no earlier root can have covered
109
+ // it, so the first result is the entry's own project — the one the
110
+ // project-layer rules are about.
111
+ for (const finding of projectLayerFindings(config, input, projects[0])) {
112
+ const fix = finding.fix;
113
+ if (!fix)
114
+ continue;
115
+ const module = projects[0].modules.find((item) => item.inputPath === fix.path);
116
+ if (!module || !await ownedByProject(config, module))
117
+ continue;
118
+ const location = module.result.source.location(fix.offset);
119
+ writes.push({
120
+ path: fix.path,
121
+ lines: [`${displayPath(fix.path)}:${location.line}:${location.column} fixed ${fix.code}: ${fix.title}`],
122
+ write: replaceSourceFile(fix.path, fix.expected, fix.text),
123
+ });
124
+ }
125
+ }
84
126
  pending = writes.length > 0;
85
127
  if (!pending)
86
128
  break;
@@ -122,6 +164,14 @@ additionalEntries = []) {
122
164
  remaining.push(...module.result.diagnostics.map((item) => formatDiagnostic(module.result.source, item)));
123
165
  }
124
166
  }
167
+ // What the project layer still refuses over the tree as it now stands on
168
+ // disk. A finding that carried no rewrite is reported here rather than
169
+ // silently dropped, and a rewrite the passes above could not land is reported
170
+ // here too, because this is read from the files rather than from the run:
171
+ // `velar fix` may never claim a tree is clean that `velar check` will refuse.
172
+ if (projects !== null && projects.length > 0) {
173
+ remaining.push(...projectLayerFindings(config, input, projects[0]).map((finding) => finding.message));
174
+ }
125
175
  return { changes, changedFiles: [...changedFiles].sort(), remainingDiagnostics: remaining, writeFailures, passes };
126
176
  }
127
177
  /**
@@ -169,6 +219,20 @@ function containedByProject(root, path) {
169
219
  const segments = pathSegments(within);
170
220
  return !segments.includes("..") && !segments.includes("node_modules");
171
221
  }
222
+ /**
223
+ * The file a path names, as the filesystem itself identifies it. A path the
224
+ * fixer cannot stat is answered with the path, which makes it its own identity
225
+ * and leaves the failure to the write, where it is reported.
226
+ */
227
+ async function writeIdentity(path) {
228
+ try {
229
+ const metadata = await stat(path);
230
+ return `${metadata.dev}:${metadata.ino}`;
231
+ }
232
+ catch {
233
+ return path;
234
+ }
235
+ }
172
236
  /** A path that does not exist is its own real path; the write reports the rest. */
173
237
  async function resolvedPath(path) {
174
238
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"mechanical-fixer.js","sourceRoot":"","sources":["../src/mechanical-fixer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mechanical-fixer.js","sourceRoot":"","sources":["../src/mechanical-fixer.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ export interface OwnershipGraphNode {
6
6
  readonly id: string;
7
7
  readonly kind: OwnershipNodeKind;
8
8
  readonly name: string;
9
+ /** Compiler-owned declaration documentation, used by presentation clients as a human label. */
10
+ readonly documentation?: string;
11
+ readonly context?: string;
9
12
  readonly path?: string;
10
13
  readonly span?: Span;
11
14
  readonly selectionSpan?: Span;
@@ -35,12 +38,37 @@ export interface OwnershipGraphResult {
35
38
  readonly coverage: OwnershipGraphCoverage;
36
39
  readonly limitReached: boolean;
37
40
  readonly durationMs: number;
41
+ readonly activity: {
42
+ readonly strategy: "full" | "affected-modules";
43
+ readonly modulesVisited: number;
44
+ };
45
+ }
46
+ /**
47
+ * One revision-to-revision ownership update. IDs remain compiler-owned and
48
+ * stable, so an editor or AI host can patch its current view without replacing
49
+ * the whole graph after every keystroke.
50
+ */
51
+ export interface OwnershipGraphDelta {
52
+ readonly baseRevision: string;
53
+ readonly revision: string;
54
+ readonly nodes: readonly OwnershipGraphNode[];
55
+ readonly edges: readonly OwnershipGraphEdge[];
56
+ readonly removedNodeIds: readonly string[];
57
+ readonly removedEdgeIds: readonly string[];
38
58
  }
39
59
  export interface OwnershipGraphOptions {
40
60
  readonly maximumNodes?: number;
41
61
  readonly maximumEdges?: number;
42
62
  readonly cancelled?: () => boolean;
43
63
  }
64
+ /** Produces a transport patch from two complete graphs without interpreting source text. */
65
+ export declare function ownershipGraphDelta(previous: OwnershipGraphResult, current: OwnershipGraphResult): OwnershipGraphDelta;
44
66
  export declare function ownershipGraphRevision(project: ProjectResult): string;
45
67
  export declare function buildOwnershipGraph(project: ProjectResult, options?: OwnershipGraphOptions): Promise<OwnershipGraphResult>;
68
+ /**
69
+ * Reuses graph fragments whose compiler module result was reused by the
70
+ * incremental project session. A bounded/truncated base cannot be patched
71
+ * safely, so that uncommon case deliberately falls back to a full build.
72
+ */
73
+ export declare function updateOwnershipGraph(previousGraph: OwnershipGraphResult, previousProject: ProjectResult, project: ProjectResult, options?: OwnershipGraphOptions): Promise<OwnershipGraphResult>;
46
74
  //# sourceMappingURL=ownership-graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ownership-graph.d.ts","sourceRoot":"","sources":["../src/ownership-graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqC,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGxF,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,WAAW,GACX,OAAO,GACP,UAAU,GACV,QAAQ,GACR,UAAU,GACV,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,GACV,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,oBAAoB,CAAC;AAEzB,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC;CACpC;AASD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAUrE;AAqKD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA0MpI"}
1
+ {"version":3,"file":"ownership-graph.d.ts","sourceRoot":"","sources":["../src/ownership-graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqC,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGxF,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,WAAW,GACX,OAAO,GACP,UAAU,GACV,QAAQ,GACR,UAAU,GACV,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,GACV,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,oBAAoB,CAAC;AAEzB,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAAC;QAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC;CACpC;AAuCD,4FAA4F;AAC5F,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,oBAAoB,GAC5B,mBAAmB,CAmBrB;AAcD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAarE;AAqYD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAEpI;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,oBAAoB,EACnC,eAAe,EAAE,aAAa,EAC9B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAuF/B"}