@typeslayer/validate 0.1.30 → 0.1.32
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 +18 -10
- package/bin/typeslayer-validate.mjs +102 -0
- package/dist/index.d.mts +48 -48
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/dist/node.mjs +2 -8
- package/dist/node.mjs.map +1 -1
- package/package.json +10 -7
- package/src/grab-file.ts +4 -4
- package/src/utils.ts +13 -9
package/README.md
CHANGED
|
@@ -4,26 +4,35 @@ Validation schemas and utilities for TypeScript compiler trace analysis. This pa
|
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
|
+
### CLI
|
|
8
|
+
|
|
9
|
+
Validate compiler output files directly:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx @typeslayer/validate --trace ./trace.json
|
|
13
|
+
npx @typeslayer/validate --types ./types.json
|
|
14
|
+
```
|
|
15
|
+
|
|
7
16
|
### Trace JSON Validation
|
|
8
17
|
|
|
9
18
|
```ts
|
|
10
|
-
import { traceJsonSchema, type TraceEvent } from
|
|
19
|
+
import { traceJsonSchema, type TraceEvent } from "@typeslayer/validate";
|
|
11
20
|
|
|
12
21
|
// Validate trace.json output from TypeScript compiler
|
|
13
22
|
const events: TraceEvent[] = traceJsonSchema.parse(jsonData);
|
|
14
23
|
|
|
15
24
|
// Or use with Node.js streams
|
|
16
|
-
import { createReadStream } from
|
|
17
|
-
import { validateTraceJson } from
|
|
25
|
+
import { createReadStream } from "fs";
|
|
26
|
+
import { validateTraceJson } from "@typeslayer/validate/node";
|
|
18
27
|
|
|
19
|
-
const stream = createReadStream(
|
|
28
|
+
const stream = createReadStream("trace.json");
|
|
20
29
|
const events = await validateTraceJson(stream);
|
|
21
30
|
```
|
|
22
31
|
|
|
23
32
|
### Types JSON Validation
|
|
24
33
|
|
|
25
34
|
```ts
|
|
26
|
-
import { typesJsonSchema, type TypesJsonSchema } from
|
|
35
|
+
import { typesJsonSchema, type TypesJsonSchema } from "@typeslayer/validate";
|
|
27
36
|
|
|
28
37
|
const types: TypesJsonSchema = typesJsonSchema.parse(jsonData);
|
|
29
38
|
```
|
|
@@ -31,7 +40,7 @@ const types: TypesJsonSchema = typesJsonSchema.parse(jsonData);
|
|
|
31
40
|
### CPU Profile Validation
|
|
32
41
|
|
|
33
42
|
```ts
|
|
34
|
-
import { tscCpuProfileSchema } from
|
|
43
|
+
import { tscCpuProfileSchema } from "@typeslayer/validate";
|
|
35
44
|
|
|
36
45
|
const profile = tscCpuProfileSchema.parse(jsonData);
|
|
37
46
|
```
|
|
@@ -42,7 +51,6 @@ const profile = tscCpuProfileSchema.parse(jsonData);
|
|
|
42
51
|
- `traceJsonSchema` - Validates TypeScript trace events
|
|
43
52
|
- `typesJsonSchema` - Validates type information
|
|
44
53
|
- `tscCpuProfileSchema` - Validates CPU profile data
|
|
45
|
-
|
|
46
54
|
- **Node export (`@typeslayer/validate/node`)**: Node.js-specific utilities
|
|
47
55
|
- `validateTraceJson()` - Stream-based trace validation
|
|
48
56
|
- `readTraceJson()` - Read and parse trace.json files
|
|
@@ -52,13 +60,13 @@ const profile = tscCpuProfileSchema.parse(jsonData);
|
|
|
52
60
|
Full TypeScript support with type inference from schemas:
|
|
53
61
|
|
|
54
62
|
```ts
|
|
55
|
-
import type { TraceEvent } from
|
|
63
|
+
import type { TraceEvent } from "@typeslayer/validate";
|
|
56
64
|
|
|
57
65
|
// Type-safe event handling
|
|
58
66
|
function processEvent(event: TraceEvent) {
|
|
59
67
|
switch (event.name) {
|
|
60
|
-
case
|
|
61
|
-
console.log(
|
|
68
|
+
case "createSourceFile":
|
|
69
|
+
console.log("Creating source file:", event.args.path);
|
|
62
70
|
break;
|
|
63
71
|
// ... other event types
|
|
64
72
|
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { resolve } from "node:path";
|
|
4
|
+
import process, { exit } from "node:process";
|
|
5
|
+
import {
|
|
6
|
+
TRACE_JSON_FILENAME,
|
|
7
|
+
TYPES_JSON_FILENAME,
|
|
8
|
+
traceJsonSchema,
|
|
9
|
+
typesJsonSchema,
|
|
10
|
+
} from "../dist/index.mjs";
|
|
11
|
+
import { grabFile } from "../dist/node.mjs";
|
|
12
|
+
|
|
13
|
+
const usage = () => {
|
|
14
|
+
console.log(`Usage:
|
|
15
|
+
npx @typeslayer/validate --trace ./trace.json
|
|
16
|
+
npx @typeslayer/validate --types ./types.json
|
|
17
|
+
|
|
18
|
+
Flags:
|
|
19
|
+
--trace <path> Validate a trace.json file
|
|
20
|
+
--types <path> Validate a types.json file
|
|
21
|
+
--help Show this help message`);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const parseArgs = argv => {
|
|
25
|
+
let tracePath;
|
|
26
|
+
let typesPath;
|
|
27
|
+
|
|
28
|
+
for (let i = 2; i < argv.length; i++) {
|
|
29
|
+
const arg = argv[i];
|
|
30
|
+
if (arg === "--help" || arg === "-h") {
|
|
31
|
+
return { help: true };
|
|
32
|
+
}
|
|
33
|
+
if (arg === "--trace") {
|
|
34
|
+
const value = argv[i + 1];
|
|
35
|
+
if (!value || value.startsWith("--")) {
|
|
36
|
+
throw new Error("Missing value for --trace");
|
|
37
|
+
}
|
|
38
|
+
tracePath = value;
|
|
39
|
+
i++;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (arg === "--types") {
|
|
43
|
+
const value = argv[i + 1];
|
|
44
|
+
if (!value || value.startsWith("--")) {
|
|
45
|
+
throw new Error("Missing value for --types");
|
|
46
|
+
}
|
|
47
|
+
typesPath = value;
|
|
48
|
+
i++;
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
throw new Error(`Unknown argument: ${arg}`);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return { tracePath, typesPath, help: false };
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const main = async () => {
|
|
58
|
+
let parsed;
|
|
59
|
+
try {
|
|
60
|
+
parsed = parseArgs(process.argv);
|
|
61
|
+
} catch (error) {
|
|
62
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
63
|
+
usage();
|
|
64
|
+
exit(1);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (parsed.help) {
|
|
69
|
+
usage();
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (parsed.tracePath && parsed.typesPath) {
|
|
74
|
+
console.error("you can't use --trace and --types at the same time");
|
|
75
|
+
usage();
|
|
76
|
+
exit(1);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (!parsed.tracePath && !parsed.typesPath) {
|
|
81
|
+
console.error("Provide either --trace or --types.");
|
|
82
|
+
usage();
|
|
83
|
+
exit(1);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (parsed.tracePath) {
|
|
88
|
+
const filePath = resolve(parsed.tracePath);
|
|
89
|
+
await grabFile(filePath, traceJsonSchema);
|
|
90
|
+
console.log(`✅ Valid ${TRACE_JSON_FILENAME}: ${filePath}`);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const filePath = resolve(parsed.typesPath);
|
|
95
|
+
await grabFile(filePath, typesJsonSchema);
|
|
96
|
+
console.log(`✅ Valid ${TYPES_JSON_FILENAME}: ${filePath}`);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
main().catch(error => {
|
|
100
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
101
|
+
exit(1);
|
|
102
|
+
});
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod/v4";
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
2
|
+
import * as _mui_material_SvgIcon0 from "@mui/material/SvgIcon";
|
|
3
|
+
import * as _mui_material_OverridableComponent0 from "@mui/material/OverridableComponent";
|
|
4
4
|
import { SvgIconComponent } from "@mui/icons-material";
|
|
5
5
|
|
|
6
6
|
//#region src/package-name.d.ts
|
|
@@ -313,7 +313,7 @@ declare const depthLimitInfo: {
|
|
|
313
313
|
title: string;
|
|
314
314
|
notFound: string;
|
|
315
315
|
route: string;
|
|
316
|
-
icon:
|
|
316
|
+
icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
317
317
|
muiName: string;
|
|
318
318
|
};
|
|
319
319
|
};
|
|
@@ -321,7 +321,7 @@ declare const depthLimitInfo: {
|
|
|
321
321
|
title: string;
|
|
322
322
|
notFound: string;
|
|
323
323
|
route: string;
|
|
324
|
-
icon:
|
|
324
|
+
icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
325
325
|
muiName: string;
|
|
326
326
|
};
|
|
327
327
|
};
|
|
@@ -329,7 +329,7 @@ declare const depthLimitInfo: {
|
|
|
329
329
|
title: string;
|
|
330
330
|
notFound: string;
|
|
331
331
|
route: string;
|
|
332
|
-
icon:
|
|
332
|
+
icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
333
333
|
muiName: string;
|
|
334
334
|
};
|
|
335
335
|
};
|
|
@@ -337,7 +337,7 @@ declare const depthLimitInfo: {
|
|
|
337
337
|
title: string;
|
|
338
338
|
notFound: string;
|
|
339
339
|
route: string;
|
|
340
|
-
icon:
|
|
340
|
+
icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
341
341
|
muiName: string;
|
|
342
342
|
};
|
|
343
343
|
};
|
|
@@ -345,7 +345,7 @@ declare const depthLimitInfo: {
|
|
|
345
345
|
title: string;
|
|
346
346
|
notFound: string;
|
|
347
347
|
route: string;
|
|
348
|
-
icon:
|
|
348
|
+
icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
349
349
|
muiName: string;
|
|
350
350
|
};
|
|
351
351
|
};
|
|
@@ -353,7 +353,7 @@ declare const depthLimitInfo: {
|
|
|
353
353
|
title: string;
|
|
354
354
|
notFound: string;
|
|
355
355
|
route: string;
|
|
356
|
-
icon:
|
|
356
|
+
icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
357
357
|
muiName: string;
|
|
358
358
|
};
|
|
359
359
|
};
|
|
@@ -361,7 +361,7 @@ declare const depthLimitInfo: {
|
|
|
361
361
|
title: string;
|
|
362
362
|
notFound: string;
|
|
363
363
|
route: string;
|
|
364
|
-
icon:
|
|
364
|
+
icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
365
365
|
muiName: string;
|
|
366
366
|
};
|
|
367
367
|
};
|
|
@@ -369,7 +369,7 @@ declare const depthLimitInfo: {
|
|
|
369
369
|
title: string;
|
|
370
370
|
notFound: string;
|
|
371
371
|
route: string;
|
|
372
|
-
icon:
|
|
372
|
+
icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
373
373
|
muiName: string;
|
|
374
374
|
};
|
|
375
375
|
};
|
|
@@ -1794,7 +1794,7 @@ declare const typeRelationInfo: {
|
|
|
1794
1794
|
readonly description: "The type most frequently included in unions.";
|
|
1795
1795
|
};
|
|
1796
1796
|
readonly route: "union-types";
|
|
1797
|
-
readonly icon:
|
|
1797
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1798
1798
|
muiName: string;
|
|
1799
1799
|
};
|
|
1800
1800
|
};
|
|
@@ -1810,7 +1810,7 @@ declare const typeRelationInfo: {
|
|
|
1810
1810
|
readonly description: "The type most frequently included in intersections.";
|
|
1811
1811
|
};
|
|
1812
1812
|
readonly route: "intersection-types";
|
|
1813
|
-
readonly icon:
|
|
1813
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1814
1814
|
muiName: string;
|
|
1815
1815
|
};
|
|
1816
1816
|
};
|
|
@@ -1825,7 +1825,7 @@ declare const typeRelationInfo: {
|
|
|
1825
1825
|
readonly unit: "type arguments";
|
|
1826
1826
|
readonly description: "The type most frequently used as a type argument (indicating complex generic interactions).";
|
|
1827
1827
|
};
|
|
1828
|
-
readonly icon:
|
|
1828
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1829
1829
|
muiName: string;
|
|
1830
1830
|
};
|
|
1831
1831
|
readonly route: "type-arguments";
|
|
@@ -1841,7 +1841,7 @@ declare const typeRelationInfo: {
|
|
|
1841
1841
|
readonly unit: "instantiations";
|
|
1842
1842
|
readonly description: "Type that was instantiated the most, indicating high reuse.";
|
|
1843
1843
|
};
|
|
1844
|
-
readonly icon:
|
|
1844
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1845
1845
|
muiName: string;
|
|
1846
1846
|
};
|
|
1847
1847
|
readonly route: "instantiated-type";
|
|
@@ -1857,7 +1857,7 @@ declare const typeRelationInfo: {
|
|
|
1857
1857
|
readonly unit: "alias type-arguments";
|
|
1858
1858
|
readonly description: "The types most often used as generic arguments. The TypeScript compiler calls this \"alias type-arguments.\" There are technically other kinds of types that can show up here, but it's mostly generic type arguments.";
|
|
1859
1859
|
};
|
|
1860
|
-
readonly icon:
|
|
1860
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1861
1861
|
muiName: string;
|
|
1862
1862
|
};
|
|
1863
1863
|
readonly route: "alias-type-arguments";
|
|
@@ -1873,7 +1873,7 @@ declare const typeRelationInfo: {
|
|
|
1873
1873
|
readonly unit: "conditional checks";
|
|
1874
1874
|
readonly description: "Type most often used as the checked type in conditional types (the `T` in `T extends U ? A : B`).";
|
|
1875
1875
|
};
|
|
1876
|
-
readonly icon:
|
|
1876
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1877
1877
|
muiName: string;
|
|
1878
1878
|
};
|
|
1879
1879
|
readonly route: "conditional-check-type";
|
|
@@ -1889,7 +1889,7 @@ declare const typeRelationInfo: {
|
|
|
1889
1889
|
readonly unit: "extends uses";
|
|
1890
1890
|
readonly description: "Type most frequently appearing on the `extends` side of conditional types (the `U` in `T extends U ? A : B`)), indicating common constraint relationships.";
|
|
1891
1891
|
};
|
|
1892
|
-
readonly icon:
|
|
1892
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1893
1893
|
muiName: string;
|
|
1894
1894
|
};
|
|
1895
1895
|
readonly route: "conditional-extends-type";
|
|
@@ -1905,7 +1905,7 @@ declare const typeRelationInfo: {
|
|
|
1905
1905
|
readonly unit: "false-branch uses";
|
|
1906
1906
|
readonly description: "Type that most often appears as the `false` branch result of conditional types. Indicates fallback/resolution patterns.";
|
|
1907
1907
|
};
|
|
1908
|
-
readonly icon:
|
|
1908
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1909
1909
|
muiName: string;
|
|
1910
1910
|
};
|
|
1911
1911
|
readonly route: "conditional-false-type";
|
|
@@ -1921,7 +1921,7 @@ declare const typeRelationInfo: {
|
|
|
1921
1921
|
readonly unit: "true-branch uses";
|
|
1922
1922
|
readonly description: "Type that most often appears as the `true` branch result of conditional types. Indicates favored resolution outcomes.";
|
|
1923
1923
|
};
|
|
1924
|
-
readonly icon:
|
|
1924
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1925
1925
|
muiName: string;
|
|
1926
1926
|
};
|
|
1927
1927
|
readonly route: "conditional-true-type";
|
|
@@ -1937,7 +1937,7 @@ declare const typeRelationInfo: {
|
|
|
1937
1937
|
readonly unit: "indexed-accesses";
|
|
1938
1938
|
readonly description: "Type most frequently used as the object operand in indexed access (e.g. `T[K]`), indicating dynamic property shape usage.";
|
|
1939
1939
|
};
|
|
1940
|
-
readonly icon:
|
|
1940
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1941
1941
|
muiName: string;
|
|
1942
1942
|
};
|
|
1943
1943
|
readonly route: "indexed-access-object-type";
|
|
@@ -1953,7 +1953,7 @@ declare const typeRelationInfo: {
|
|
|
1953
1953
|
readonly unit: "indexed-accesses";
|
|
1954
1954
|
readonly description: "Type most frequently used as the index operand in indexed access of a tuple (e.g. `SomeTuple[K]`).";
|
|
1955
1955
|
};
|
|
1956
|
-
readonly icon:
|
|
1956
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1957
1957
|
muiName: string;
|
|
1958
1958
|
};
|
|
1959
1959
|
readonly route: "indexed-access-index-type";
|
|
@@ -1969,7 +1969,7 @@ declare const typeRelationInfo: {
|
|
|
1969
1969
|
readonly unit: "keyof uses";
|
|
1970
1970
|
readonly description: "Type most frequently used within 'keyof' operations, often indicating dynamic property access patterns.";
|
|
1971
1971
|
};
|
|
1972
|
-
readonly icon:
|
|
1972
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1973
1973
|
muiName: string;
|
|
1974
1974
|
};
|
|
1975
1975
|
readonly route: "keyof-type";
|
|
@@ -1985,7 +1985,7 @@ declare const typeRelationInfo: {
|
|
|
1985
1985
|
readonly unit: "reverse-mappings";
|
|
1986
1986
|
readonly description: "Type most commonly appearing as the source in reverse-mapped type transforms (utility mapped types in reverse).";
|
|
1987
1987
|
};
|
|
1988
|
-
readonly icon:
|
|
1988
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
1989
1989
|
muiName: string;
|
|
1990
1990
|
};
|
|
1991
1991
|
readonly route: "reverse-mapped-source-type";
|
|
@@ -2001,7 +2001,7 @@ declare const typeRelationInfo: {
|
|
|
2001
2001
|
readonly unit: "reverse-mapped sources";
|
|
2002
2002
|
readonly description: "Type most commonly produced by reverse-mapped transformations.";
|
|
2003
2003
|
};
|
|
2004
|
-
readonly icon:
|
|
2004
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
2005
2005
|
muiName: string;
|
|
2006
2006
|
};
|
|
2007
2007
|
readonly route: "reverse-mapped-mapped-type";
|
|
@@ -2017,7 +2017,7 @@ declare const typeRelationInfo: {
|
|
|
2017
2017
|
readonly unit: "reverse-mapping constraints";
|
|
2018
2018
|
readonly description: "Type that often serves as a constraint in reverse-mapped transformations, indicating mapped type bounds.";
|
|
2019
2019
|
};
|
|
2020
|
-
readonly icon:
|
|
2020
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
2021
2021
|
muiName: string;
|
|
2022
2022
|
};
|
|
2023
2023
|
readonly route: "reverse-mapped-constraint-type";
|
|
@@ -2033,7 +2033,7 @@ declare const typeRelationInfo: {
|
|
|
2033
2033
|
readonly unit: "substitution uses";
|
|
2034
2034
|
readonly description: "Type used as a substitution base during type substitution operations, signaling types that commonly serve as generic inference placeholders.";
|
|
2035
2035
|
};
|
|
2036
|
-
readonly icon:
|
|
2036
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
2037
2037
|
muiName: string;
|
|
2038
2038
|
};
|
|
2039
2039
|
readonly route: "substitution-base-type";
|
|
@@ -2049,7 +2049,7 @@ declare const typeRelationInfo: {
|
|
|
2049
2049
|
readonly unit: "constraint uses";
|
|
2050
2050
|
readonly description: "Type most often appearing as a generic constraint (e.g. in `extends` clauses) when resolving generics and conditionals.";
|
|
2051
2051
|
};
|
|
2052
|
-
readonly icon:
|
|
2052
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
2053
2053
|
muiName: string;
|
|
2054
2054
|
};
|
|
2055
2055
|
readonly route: "constraint-type";
|
|
@@ -2065,7 +2065,7 @@ declare const typeRelationInfo: {
|
|
|
2065
2065
|
readonly unit: "array element uses";
|
|
2066
2066
|
readonly description: "Type most commonly used as the evolving array element during array widening/folding operations in inference.";
|
|
2067
2067
|
};
|
|
2068
|
-
readonly icon:
|
|
2068
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
2069
2069
|
muiName: string;
|
|
2070
2070
|
};
|
|
2071
2071
|
readonly route: "evolving-array-element-type";
|
|
@@ -2081,7 +2081,7 @@ declare const typeRelationInfo: {
|
|
|
2081
2081
|
readonly unit: "array final uses";
|
|
2082
2082
|
readonly description: "Type that frequently becomes the final element type after array evolution/widening, useful to spot common widened shapes.";
|
|
2083
2083
|
};
|
|
2084
|
-
readonly icon:
|
|
2084
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
2085
2085
|
muiName: string;
|
|
2086
2086
|
};
|
|
2087
2087
|
readonly route: "evolving-array-final-type";
|
|
@@ -2097,7 +2097,7 @@ declare const typeRelationInfo: {
|
|
|
2097
2097
|
readonly unit: "alias uses";
|
|
2098
2098
|
readonly description: "Type most frequently used as an alias target, shows which aliases are heavily reused across the codebase.";
|
|
2099
2099
|
};
|
|
2100
|
-
readonly icon:
|
|
2100
|
+
readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
|
|
2101
2101
|
muiName: string;
|
|
2102
2102
|
};
|
|
2103
2103
|
readonly route: "alias-type";
|
|
@@ -2226,34 +2226,34 @@ declare const resolvedType: z.ZodObject<{
|
|
|
2226
2226
|
start: z.ZodObject<{
|
|
2227
2227
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2228
2228
|
character: z.ZodNumber;
|
|
2229
|
-
}, z.core.$
|
|
2229
|
+
}, z.core.$strict>;
|
|
2230
2230
|
end: z.ZodObject<{
|
|
2231
2231
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2232
2232
|
character: z.ZodNumber;
|
|
2233
|
-
}, z.core.$
|
|
2234
|
-
}, z.core.$
|
|
2233
|
+
}, z.core.$strict>;
|
|
2234
|
+
}, z.core.$strict>>;
|
|
2235
2235
|
referenceLocation: z.ZodOptional<z.ZodObject<{
|
|
2236
2236
|
path: z.ZodString;
|
|
2237
2237
|
start: z.ZodObject<{
|
|
2238
2238
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2239
2239
|
character: z.ZodNumber;
|
|
2240
|
-
}, z.core.$
|
|
2240
|
+
}, z.core.$strict>;
|
|
2241
2241
|
end: z.ZodObject<{
|
|
2242
2242
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2243
2243
|
character: z.ZodNumber;
|
|
2244
|
-
}, z.core.$
|
|
2245
|
-
}, z.core.$
|
|
2244
|
+
}, z.core.$strict>;
|
|
2245
|
+
}, z.core.$strict>>;
|
|
2246
2246
|
destructuringPattern: z.ZodOptional<z.ZodObject<{
|
|
2247
2247
|
path: z.ZodString;
|
|
2248
2248
|
start: z.ZodObject<{
|
|
2249
2249
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2250
2250
|
character: z.ZodNumber;
|
|
2251
|
-
}, z.core.$
|
|
2251
|
+
}, z.core.$strict>;
|
|
2252
2252
|
end: z.ZodObject<{
|
|
2253
2253
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2254
2254
|
character: z.ZodNumber;
|
|
2255
|
-
}, z.core.$
|
|
2256
|
-
}, z.core.$
|
|
2255
|
+
}, z.core.$strict>;
|
|
2256
|
+
}, z.core.$strict>>;
|
|
2257
2257
|
}, z.core.$strict>;
|
|
2258
2258
|
type ResolvedType = z.infer<typeof resolvedType>;
|
|
2259
2259
|
declare const typesJsonSchema: z.ZodArray<z.ZodObject<{
|
|
@@ -2379,34 +2379,34 @@ declare const typesJsonSchema: z.ZodArray<z.ZodObject<{
|
|
|
2379
2379
|
start: z.ZodObject<{
|
|
2380
2380
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2381
2381
|
character: z.ZodNumber;
|
|
2382
|
-
}, z.core.$
|
|
2382
|
+
}, z.core.$strict>;
|
|
2383
2383
|
end: z.ZodObject<{
|
|
2384
2384
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2385
2385
|
character: z.ZodNumber;
|
|
2386
|
-
}, z.core.$
|
|
2387
|
-
}, z.core.$
|
|
2386
|
+
}, z.core.$strict>;
|
|
2387
|
+
}, z.core.$strict>>;
|
|
2388
2388
|
referenceLocation: z.ZodOptional<z.ZodObject<{
|
|
2389
2389
|
path: z.ZodString;
|
|
2390
2390
|
start: z.ZodObject<{
|
|
2391
2391
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2392
2392
|
character: z.ZodNumber;
|
|
2393
|
-
}, z.core.$
|
|
2393
|
+
}, z.core.$strict>;
|
|
2394
2394
|
end: z.ZodObject<{
|
|
2395
2395
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2396
2396
|
character: z.ZodNumber;
|
|
2397
|
-
}, z.core.$
|
|
2398
|
-
}, z.core.$
|
|
2397
|
+
}, z.core.$strict>;
|
|
2398
|
+
}, z.core.$strict>>;
|
|
2399
2399
|
destructuringPattern: z.ZodOptional<z.ZodObject<{
|
|
2400
2400
|
path: z.ZodString;
|
|
2401
2401
|
start: z.ZodObject<{
|
|
2402
2402
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2403
2403
|
character: z.ZodNumber;
|
|
2404
|
-
}, z.core.$
|
|
2404
|
+
}, z.core.$strict>;
|
|
2405
2405
|
end: z.ZodObject<{
|
|
2406
2406
|
line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2407
2407
|
character: z.ZodNumber;
|
|
2408
|
-
}, z.core.$
|
|
2409
|
-
}, z.core.$
|
|
2408
|
+
}, z.core.$strict>;
|
|
2409
|
+
}, z.core.$strict>>;
|
|
2410
2410
|
}, z.core.$strict>>;
|
|
2411
2411
|
type TypesJsonSchema = z.infer<typeof typesJsonSchema>;
|
|
2412
2412
|
//#endregion
|
package/dist/index.mjs
CHANGED
|
@@ -61,13 +61,13 @@ const typeId = z.number().int().positive().or(z.literal(-1));
|
|
|
61
61
|
const position = z.object({
|
|
62
62
|
line: typeId,
|
|
63
63
|
character: z.number()
|
|
64
|
-
});
|
|
64
|
+
}).strict();
|
|
65
65
|
const absolutePath = z.string();
|
|
66
66
|
const location = z.object({
|
|
67
67
|
path: absolutePath,
|
|
68
68
|
start: position,
|
|
69
69
|
end: position
|
|
70
|
-
});
|
|
70
|
+
}).strict();
|
|
71
71
|
|
|
72
72
|
//#endregion
|
|
73
73
|
//#region src/trace-json.ts
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["ALL_LIFE_IS_SUFFERING_THAT_BASKS_IN_NOTHINGNESS___ALL_LIFE_IS_TEMPORARY___WHAT_LASTS_IS_CONSCIOUSNESS: [\n ResolvedType,\n]"],"sources":["../src/package-name.ts","../src/utils.ts","../src/trace-json.ts","../src/tsc-cpuprofile.ts","../src/type-registry.ts","../src/types-json.ts"],"sourcesContent":["export const packageNameRegex =\n /\\/node_modules\\/((?:[^@][^/]+)|(?:@[^/]+\\/[^/]+))/g;\n\nexport const extractPackageName = (path: string): string | null => {\n const pnpmSentinel = \"/node_modules/.pnpm/\";\n if (path.includes(pnpmSentinel)) {\n // go to the character immediately after the pnpm sentinel\n const startIndex = path.indexOf(pnpmSentinel) + pnpmSentinel.length;\n const endIndex = path.indexOf(\"/\", startIndex);\n if (endIndex === -1) {\n throw new Error(\n \"Invalid path format: no closing slash found after pnpm sentinel\",\n );\n }\n return path.substring(startIndex, endIndex).replace(\"+\", \"/\");\n }\n\n return path;\n};\n\n/**\n * Computes the relative path from one absolute path to another.\n *\n * @param from - The anchor directory (must be an absolute path).\n * @param to - The absolute path you want to relativize.\n * @returns A relative path from `from` to `to`.\n */\nexport function relativizePath(from: string, to: string): string {\n // Ensure both paths end with a slash if they're directories\n const fromURL = new URL(`file://${from.endsWith(\"/\") ? from : `${from}/}`}`);\n const toURL = new URL(`file://${to}`);\n\n const fromParts = fromURL.pathname.split(\"/\").filter(Boolean);\n const toParts = toURL.pathname.split(\"/\").filter(Boolean);\n\n // Find where they diverge\n let i = 0;\n while (\n i < fromParts.length &&\n i < toParts.length &&\n fromParts[i] === toParts[i]\n ) {\n i++;\n }\n\n const up = fromParts.length - i;\n const down = toParts.slice(i).join(\"/\");\n\n return `${\"../\".repeat(up)}${down}`;\n}\n","import { z } from \"zod/v4\";\n\nexport const CPU_PROFILE_FILENAME = \"tsc.cpuprofile\";\n\nexport const typeId = z.number().int().positive().or(z.literal(-1));\n\nexport type TypeId = z.infer<typeof typeId>;\n\nexport const position = z.object({\n line: typeId,\n character: z.number(),\n});\n\nexport const absolutePath = z.string();\n\nexport const location = z.object({\n path: absolutePath,\n start: position,\n end: position,\n});\n","import type { SvgIconComponent } from \"@mui/icons-material\";\nimport Air from \"@mui/icons-material/Air\";\nimport Calculate from \"@mui/icons-material/Calculate\";\nimport Diversity1 from \"@mui/icons-material/Diversity1\";\nimport Expand from \"@mui/icons-material/Expand\";\nimport Lightbulb from \"@mui/icons-material/Lightbulb\";\nimport RotateRight from \"@mui/icons-material/RotateRight\";\nimport SafetyDivider from \"@mui/icons-material/SafetyDivider\";\nimport SubdirectoryArrowRight from \"@mui/icons-material/SubdirectoryArrowRight\";\nimport { z } from \"zod/v4\";\nimport { absolutePath, typeId } from \"./utils\";\n\nexport const TRACE_JSON_FILENAME = \"trace.json\";\n\nexport const eventPhase = {\n begin: \"B\",\n end: \"E\",\n complete: \"X\",\n metadata: \"M\",\n instantGlobal: \"I\",\n // 'i' is instantThread (not currently used)\n} as const;\n\nexport const instantScope = {\n thread: \"t\",\n global: \"g\",\n process: \"p\",\n};\n\nconst durationEvent = {\n ph: z.union([z.literal(eventPhase.begin), z.literal(eventPhase.end)]),\n};\n\nconst completeEvent = {\n ph: z.literal(eventPhase.complete),\n dur: z.number().positive(),\n};\n\nconst instantEvent = {\n ph: z.literal(eventPhase.instantGlobal),\n};\n\nconst category = {\n parse: {\n cat: z.literal(\"parse\"),\n },\n program: {\n cat: z.literal(\"program\"),\n },\n bind: {\n cat: z.literal(\"bind\"),\n },\n check: {\n cat: z.literal(\"check\"),\n },\n checkTypes: {\n cat: z.literal(\"checkTypes\"),\n },\n emit: {\n cat: z.literal(\"emit\"),\n },\n session: {\n cat: z.literal(\"session\"),\n },\n};\n\nconst eventCommon = {\n pid: z.number().int().positive(),\n tid: z.number().int().positive(),\n ts: z.number().positive(),\n};\n\n/*\n * METADATA EVENTS\n */\n\nconst event_metadata__TracingStartedInBrowser = z\n .object({\n ...eventCommon,\n cat: z.literal(\"disabled-by-default-devtools.timeline\"),\n name: z.literal(\"TracingStartedInBrowser\"),\n ph: z.literal(eventPhase.metadata),\n })\n .strict();\n\nconst event_metadata__process_name = z\n .object({\n ...eventCommon,\n ph: z.literal(eventPhase.metadata),\n args: z.object({\n name: z.literal(\"tsc\"),\n }),\n cat: z.literal(\"__metadata\"),\n name: z.literal(\"process_name\"),\n })\n .strict();\n\nconst event_metadata__thread_name = z\n .object({\n ...eventCommon,\n name: z.literal(\"thread_name\"),\n cat: z.literal(\"__metadata\"),\n ph: z.literal(eventPhase.metadata),\n args: z.object({\n name: z.literal(\"Main\"),\n }),\n })\n .strict();\n\n/*\n * PARSE PHASE EVENTS\n */\n\nconst event_parse__createSourceFile = z\n .object({\n ...eventCommon,\n ...category.parse,\n ...durationEvent,\n name: z.literal(\"createSourceFile\"),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\nconst event_parse__parseJsonSourceFileConfigFileContent = z\n .object({\n ...eventCommon,\n ...category.parse,\n ...completeEvent,\n name: z.literal(\"parseJsonSourceFileConfigFileContent\"),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\n/*\n * PROGRAM PHASE EVENTS\n */\n\nconst event_program__createProgram = z\n .object({\n ...eventCommon,\n ...category.program,\n ...durationEvent,\n name: z.literal(\"createProgram\"),\n args: z.object({\n configFilePath: absolutePath, // path to the tsconfig.json file\n }),\n })\n .strict();\n\nconst event_program__findSourceFile = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"findSourceFile\"),\n dur: z.number(),\n args: z.object({\n fileName: absolutePath,\n fileIncludeKind: z.union([\n z.literal(\"RootFile\"),\n z.literal(\"Import\"),\n z.literal(\"TypeReferenceDirective\"),\n z.literal(\"LibFile\"),\n z.literal(\"LibReferenceDirective\"),\n z.literal(\"AutomaticTypeDirectiveFile\"),\n z.literal(\"ReferenceFile\"),\n ]),\n }),\n })\n .strict();\n\nconst event_program__processRootFiles = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"processRootFiles\"),\n dur: z.number(),\n args: z.object({ count: z.number().int().positive() }),\n })\n .strict();\n\nconst event_program__processTypeReferenceDirective = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"processTypeReferenceDirective\"),\n dur: z.number(),\n args: z.object({\n directive: z.string(),\n hasResolved: z.literal(true),\n refKind: z.number().int().positive(),\n refPath: absolutePath.optional(),\n }),\n })\n .strict();\n\nconst event_program__processTypeReferences = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"processTypeReferences\"),\n dur: z.number(),\n args: z.object({\n count: z.number().int().positive(),\n }),\n })\n .strict();\n\nconst event_program__resolveLibrary = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"resolveLibrary\"),\n args: z.object({\n resolveFrom: absolutePath,\n }),\n })\n .strict();\n\nconst event_program__resolveModuleNamesWorker = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"resolveModuleNamesWorker\"),\n args: z.object({\n containingFileName: absolutePath,\n }),\n })\n .strict();\n\nconst event_program__resolveTypeReferenceDirectiveNamesWorker = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"resolveTypeReferenceDirectiveNamesWorker\"),\n args: z.object({\n containingFileName: absolutePath,\n }),\n })\n .strict();\n\nconst event_program__shouldProgramCreateNewSourceFiles = z\n .object({\n ...eventCommon,\n ...category.program,\n ...instantEvent,\n name: z.literal(\"shouldProgramCreateNewSourceFiles\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n hasOldProgram: z.boolean(),\n }),\n })\n .strict();\n\nconst event_program__tryReuseStructureFromOldProgram = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"tryReuseStructureFromOldProgram\"),\n dur: z.number(),\n args: z.object({}),\n })\n .strict();\n\n/*\n * BIND PHASE EVENTS\n */\n\nconst event_bind__bindSourceFile = z\n .object({\n ...eventCommon,\n ...category.bind,\n ...durationEvent,\n name: z.literal(\"bindSourceFile\"),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\n/*\n * CHECK PHASE EVENTS\n */\n\nconst event_check__checkExpression = z\n .object({\n ...eventCommon,\n ...category.check,\n ...completeEvent,\n name: z.literal(\"checkExpression\"),\n dur: z.number(),\n args: z.object({\n kind: z.number(),\n pos: z.number(),\n end: z.number(),\n path: absolutePath.optional(),\n }),\n })\n .strict();\n\nconst event_check__checkSourceFile = z\n .object({\n ...eventCommon,\n ...category.check,\n ...durationEvent,\n name: z.literal(\"checkSourceFile\"),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\nconst event_check__checkVariableDeclaration = z\n .object({\n ...eventCommon,\n ...category.check,\n ...completeEvent,\n name: z.literal(\"checkVariableDeclaration\"),\n dur: z.number(),\n args: z.object({\n kind: z.number(),\n pos: z.number(),\n end: z.number(),\n path: absolutePath,\n }),\n })\n .strict();\n\nconst event_check__checkDeferredNode = z\n .object({\n ...eventCommon,\n ...category.check,\n ...completeEvent,\n name: z.literal(\"checkDeferredNode\"),\n dur: z.number(),\n args: z.object({\n kind: z.number(),\n pos: z.number(),\n end: z.number(),\n path: absolutePath,\n }),\n })\n .strict();\n\nconst event_check__checkSourceFileNodes = z\n .object({\n ...eventCommon,\n ...category.check,\n ...completeEvent,\n name: z.literal(\"checkSourceFileNodes\"),\n dur: z.number(),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\n/*\n * CHECKTYPES PHASE EVENTS\n */\nconst event_checktypes__checkTypeParameterDeferred = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...completeEvent,\n name: z.literal(\"checkTypeParameterDeferred\"),\n dur: z.number(),\n args: z.object({\n parent: typeId,\n id: typeId,\n }),\n })\n .strict();\n\nconst event_checktypes__getVariancesWorker = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...completeEvent,\n name: z.literal(\"getVariancesWorker\"),\n dur: z.number(),\n args: z.object({\n arity: z.number().int().nonnegative(),\n id: z.number().int().positive(),\n results: z.object({\n variances: z.array(\n z.union([\n z.literal(\"[independent]\"),\n z.literal(\"[independent] (unreliable)\"),\n z.literal(\"[independent] (unmeasurable)\"),\n z.literal(\"[bivariant]\"),\n z.literal(\"[bivariant] (unreliable)\"),\n z.literal(\"[bivariant] (unmeasurable)\"),\n z.literal(\"in\"),\n z.literal(\"in (unreliable)\"),\n z.literal(\"in (unmeasurable)\"),\n z.literal(\"out\"),\n z.literal(\"out (unreliable)\"),\n z.literal(\"out (unmeasurable)\"),\n z.literal(\"in out\" /*burger*/),\n z.literal(\"in out (unreliable)\"),\n z.literal(\"in out (unmeasurable)\"),\n ]),\n ),\n }),\n }),\n })\n .strict();\n\nconst event_checktypes__structuredTypeRelatedTo = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...completeEvent,\n name: z.literal(\"structuredTypeRelatedTo\"),\n args: z.object({\n sourceId: typeId,\n targetId: typeId,\n }),\n })\n .strict();\n\n/*\n * CHECKTYPES PHASE DEPTH LIMIT EVENTS\n */\n\n/**\n * The `checkCrossProductUnion_DepthLimit` limit is hit when the cross-product of two types exceeds 100_000 combinations while expanding intersections into a union.\n *\n * This triggers the error `TS(2590) Expression produces a union type that is too complex to represent.`\n */\nexport const event_checktypes__checkCrossProductUnion_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"checkCrossProductUnion_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n typeIds: z.array(typeId),\n size: z.number().int().positive(),\n }),\n })\n .strict();\nexport type EventChecktypes__CheckCrossProductUnion_DepthLimit = z.infer<\n typeof event_checktypes__checkCrossProductUnion_DepthLimit\n>;\n\n/**\n * The `checkTypeRelatedTo_DepthLimit` limit is hit when a type relationship check overflows: either the checker reaches its recursion stack limit while comparing deeply nested (or expanding) types or it exhausts the relation-complexity budget.\n * in Node.js the maximum number of elements in a map is 2^24.\n * TypeScript therefore limits the number of entries an invocation of `checkTypeRelatedTo` can add to a relation to 1/8th of its remaining capacity.\n * This limit being hit means the relation will be recorded as failing.\n *\n * This triggers one of the following errors:\n * - `TS(2859) Excessive complexity comparing types '{0}' and '{1}'.`\n * - `TS(2321) Excessive stack depth comparing types '{0}' and '{1}'.`\n */\nexport const event_checktypes__checkTypeRelatedTo_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"checkTypeRelatedTo_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n sourceId: typeId,\n targetId: typeId,\n depth: z.number().int().positive(),\n targetDepth: z.number().int().positive(),\n }),\n })\n .strict();\nexport type EventChecktypes__CheckTypeRelatedTo_DepthLimit = z.infer<\n typeof event_checktypes__checkTypeRelatedTo_DepthLimit\n>;\n\n/**\n * The `getTypeAtFlowNode_DepthLimit` limit is hit when resolving the control flow type for a reference causes more than 2_000 recursions.\n * To avoid overflowing the call stack we report an error and disable further control flow analysis in the containing function or module body.\n *\n * This triggers the error `TS(2563) The containing function or module body is too large for control flow analysis.`\n */\nexport const event_checktypes__getTypeAtFlowNode_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"getTypeAtFlowNode_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n flowId: z.number().int().positive(),\n }),\n })\n .strict();\nexport type EventChecktypes__GetTypeAtFlowNode_DepthLimit = z.infer<\n typeof event_checktypes__getTypeAtFlowNode_DepthLimit\n>;\n\n/**\n * The `instantiateType_DepthLimit` is hit when more than 100 recursive type instantiations or 5_000_000 instantiations are caused by the same statement or expression.\n * There is a very high likelihood we're dealing with a combination of infinite generic types that perpetually generate new type identities, so TypeScript stops and throws this error.\n *\n * This triggers the error `TS(2589) Type instantiation is excessively deep and possibly infinite.`\n */\n\nexport const event_checktypes__instantiateType_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"instantiateType_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n typeId,\n instantiationDepth: z.number().int(),\n instantiationCount: z.number().int().positive(),\n }),\n })\n .strict();\nexport type EventChecktypes__InstantiateType_DepthLimit = z.infer<\n typeof event_checktypes__instantiateType_DepthLimit\n>;\n\n/**\n * The `recursiveTypeRelatedTo_DepthLimit` limit is hit when the sourceDepth or targetDepth of a type check exceeds 100 during recursive type comparison, indicating a runaway recursion from deeply nested generics or type instantiations.\n *\n * This is not currently considered a hard error by the compiler and therefore\n does not report to the user (unless you're a TypeSlayer user 😉).\n */\nexport const event_checktypes__recursiveTypeRelatedTo_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"recursiveTypeRelatedTo_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n sourceId: typeId,\n sourceIdStack: z.array(typeId),\n targetId: typeId,\n targetIdStack: z.array(typeId),\n depth: z.number().int().positive(),\n targetDepth: z.number().int().positive(),\n }),\n })\n .strict();\nexport type EventChecktypes__RecursiveTypeRelatedTo_DepthLimit = z.infer<\n typeof event_checktypes__recursiveTypeRelatedTo_DepthLimit\n>;\n\n/**\n * The `removeSubtypes_DepthLimit` limit is hit when subtype-reduction work becomes too large.\n * Specifically, when more than 100,000 pairwise constituent checks occur, the type checker will pause and estimate remaining work.\n * If that estimate exceeds 1_000_000 pairwise checks, the checker will halt and report this error.\n *\n * This triggers the error `TS(2590) Expression produces a union type that is too complex to represent.`\n *\n */\nexport const event_checktypes__removeSubtypes_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"removeSubtypes_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n typeIds: z.array(typeId),\n }),\n })\n .strict();\nexport type EventChecktypes__RemoveSubtypes_DepthLimit = z.infer<\n typeof event_checktypes__removeSubtypes_DepthLimit\n>;\n\n/**\n * The `traceUnionsOrIntersectionsTooLarge_DepthLimit` limit is hit when the product of a source and target type that will be part of a union will exceed 1_000_000 members when multiplied out.\n *\n * This is not currently considered a hard error by the compiler and therefore\n does not report to the user (unless you're a TypeSlayer user 😉).\n */\nexport const event_checktypes__traceUnionsOrIntersectionsTooLarge_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"traceUnionsOrIntersectionsTooLarge_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n sourceId: typeId,\n sourceSize: z.number().int().positive(),\n targetId: typeId,\n targetSize: z.number().int().positive(),\n pos: z.number().int().nonnegative().optional(),\n end: z.number().int().positive().optional(),\n }),\n })\n .strict();\nexport type EventChecktypes__TraceUnionsOrIntersectionsTooLarge_DepthLimit =\n z.infer<\n typeof event_checktypes__traceUnionsOrIntersectionsTooLarge_DepthLimit\n >;\n\n/**\n * The `typeRelatedToDiscriminatedType_DepthLimit` limit is hit when comparing a source object to a discriminated-union target type with more than 25 constituent types.\n * When this occurs, the type checker will just return `false` for the type comparison to avoid excessive computation.\n *\n * This is not currently considered a hard error by the compiler and therefore\n does not report to the user (unless you're a TypeSlayer user 😉).\n */\nexport const event_checktypes__typeRelatedToDiscriminatedType_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"typeRelatedToDiscriminatedType_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n sourceId: typeId,\n targetId: typeId,\n numCombinations: z.number().int().positive(),\n }),\n })\n .strict();\n\nexport type EventChecktypes__TypeRelatedToDiscriminatedType_DepthLimit =\n z.infer<typeof event_checktypes__typeRelatedToDiscriminatedType_DepthLimit>;\n\nexport const depthLimits = [\n event_checktypes__checkCrossProductUnion_DepthLimit,\n event_checktypes__checkTypeRelatedTo_DepthLimit,\n event_checktypes__getTypeAtFlowNode_DepthLimit,\n event_checktypes__instantiateType_DepthLimit,\n event_checktypes__recursiveTypeRelatedTo_DepthLimit,\n event_checktypes__removeSubtypes_DepthLimit,\n event_checktypes__traceUnionsOrIntersectionsTooLarge_DepthLimit,\n event_checktypes__typeRelatedToDiscriminatedType_DepthLimit,\n];\n\nexport type DepthLimitNames =\n | EventChecktypes__CheckCrossProductUnion_DepthLimit[\"name\"]\n | EventChecktypes__CheckTypeRelatedTo_DepthLimit[\"name\"]\n | EventChecktypes__GetTypeAtFlowNode_DepthLimit[\"name\"]\n | EventChecktypes__InstantiateType_DepthLimit[\"name\"]\n | EventChecktypes__RecursiveTypeRelatedTo_DepthLimit[\"name\"]\n | EventChecktypes__RemoveSubtypes_DepthLimit[\"name\"]\n | EventChecktypes__TraceUnionsOrIntersectionsTooLarge_DepthLimit[\"name\"]\n | EventChecktypes__TypeRelatedToDiscriminatedType_DepthLimit[\"name\"];\n\nexport const depthLimitInfo = {\n instantiateType_DepthLimit: {\n title: \"Type Instantiation\",\n notFound: \"No Type Instantiation Limits Found\",\n route: \"instantiate-type-depth-limit\",\n icon: Lightbulb,\n },\n recursiveTypeRelatedTo_DepthLimit: {\n title: \"Recursive Relations\",\n notFound: \"No Recursive Relations Limits Found\",\n route: \"recursive-type-related-to-depth-limit\",\n icon: Diversity1,\n },\n typeRelatedToDiscriminatedType_DepthLimit: {\n title: \"Discrimination\",\n notFound: \"No Discriminated Type Limits Found\",\n route: \"type-related-to-discriminated-type-depth-limit\",\n icon: SafetyDivider,\n },\n checkCrossProductUnion_DepthLimit: {\n title: \"Cross-Product Union\",\n notFound: \"No Cross-Product Union Limits Found\",\n route: \"check-cross-product-union-depth-limit\",\n icon: Calculate,\n },\n checkTypeRelatedTo_DepthLimit: {\n title: \"Type Relation Depth\",\n notFound: \"No Type Relation Depth Limits Found\",\n route: \"check-type-related-to-depth-limit\",\n icon: RotateRight,\n },\n getTypeAtFlowNode_DepthLimit: {\n title: \"Flow Node Type\",\n notFound: \"No Flow Node Type Limits Found\",\n route: \"get-type-at-flow-node-depth-limit\",\n icon: Air,\n },\n removeSubtypes_DepthLimit: {\n title: \"Remove Subtypes\",\n notFound: \"No Remove Subtypes Limits Found\",\n route: \"remove-subtypes-depth-limit\",\n icon: SubdirectoryArrowRight,\n },\n traceUnionsOrIntersectionsTooLarge_DepthLimit: {\n title: \"Union/Intersection Size\",\n notFound: \"No Union/Intersection Size Limits Found\",\n route: \"trace-unions-or-intersections-too-large-depth-limit\",\n icon: Expand,\n },\n} satisfies Record<\n DepthLimitNames,\n {\n title: string;\n notFound: string;\n route: string;\n icon: SvgIconComponent;\n }\n>;\n\n/*\n * EMIT PHASE EVENTS\n */\n\nconst event_emit__emit = z\n .object({\n ...eventCommon,\n ...category.emit,\n ...durationEvent,\n name: z.literal(\"emit\"),\n args: z.object({}), // for some reason, this is empty\n })\n .strict();\n\nconst event_emit__emitBuildInfo = z\n .object({\n ...eventCommon,\n ...category.emit,\n ph: z.union([\n z.literal(eventPhase.begin),\n z.literal(eventPhase.end),\n z.literal(eventPhase.complete),\n ]),\n dur: z.number().positive().optional(),\n name: z.literal(\"emitBuildInfo\"),\n args: z.union([\n z.object({}),\n z.object({\n buildInfoPath: absolutePath,\n }),\n ]),\n })\n .strict();\n\nconst event_emit__emitDeclarationFileOrBundle = z\n .object({\n ...eventCommon,\n ...category.emit,\n ...completeEvent,\n name: z.literal(\"emitDeclarationFileOrBundle\"),\n dur: z.number(),\n args: z.object({\n declarationFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_emit__emitJsFileOrBundle = z\n .object({\n ...eventCommon,\n ...category.emit,\n ...completeEvent,\n name: z.literal(\"emitJsFileOrBundle\"),\n dur: z.number(),\n args: z.object({\n jsFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_emit__transformNodes = z\n .object({\n ...eventCommon,\n ...category.emit,\n ...completeEvent,\n name: z.literal(\"transformNodes\"),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\n/*\n * SESSION PHASE EVENTS\n */\n\nconst event_session__cancellationThrown = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"cancellationThrown\"),\n args: z.object({\n kind: z.union([\n z.literal(\"CancellationTokenObject\"),\n z.literal(\"ThrotledCancellationToken\"),\n ]),\n }),\n })\n .strict();\n\nconst event_session__commandCanceled = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"commandCanceled\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n command: z.string(),\n }),\n })\n .strict();\n\nconst event_session__commandError = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"commandError\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n command: z.string(),\n message: z.string(),\n }),\n })\n .strict();\n\nconst event_session__createConfiguredProject = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"createConfiguredProject\"),\n args: z.object({\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__createdDocumentRegistryBucket = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"createdDocumentRegistryBucket\"),\n args: z.object({\n configFilePath: absolutePath,\n key: z.string(),\n }),\n })\n .strict();\n\nconst event_session__documentRegistryBucketOverlap = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"documentRegistryBucketOverlap\"),\n args: z.object({\n path: absolutePath,\n key1: z.string(),\n key2: z.string(),\n }),\n })\n .strict();\n\nconst event_session__executeCommand = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"executeCommand\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n command: z.string(),\n }),\n })\n .strict();\n\nconst event_session__finishCachingPerDirectoryResolution = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"finishCachingPerDirectoryResolution\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n })\n .strict();\n\nconst event_session__getPackageJsonAutoImportProvider = z\n .object({\n ...eventCommon,\n ...category.session,\n ...completeEvent,\n name: z.literal(\"getPackageJsonAutoImportProvider\"),\n })\n .strict();\n\nconst event_session__getUnresolvedImports = z\n .object({\n ...eventCommon,\n ...category.session,\n ...completeEvent,\n name: z.literal(\"getUnresolvedImports\"),\n args: z.object({\n count: z.number().int().nonnegative(),\n }),\n })\n .strict();\n\nconst event_session__loadConfiguredProject = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"loadConfiguredProject\"),\n args: z.object({\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__regionSemanticCheck = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"regionSemanticCheck\"),\n args: z.object({\n file: absolutePath,\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__request = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"request\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n command: z.string(),\n }),\n })\n .strict();\n\nconst event_session__response = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"response\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n command: z.string(),\n success: z.boolean(),\n }),\n })\n .strict();\n\nconst event_session__semanticCheck = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"semanticCheck\"),\n args: z.object({\n file: absolutePath,\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__stepAction = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"stepAction\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n seq: z.number().int().nonnegative(),\n }),\n })\n .strict();\n\nconst event_session__stepCanceled = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"stepCanceled\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n early: z.literal(true).optional(),\n }),\n })\n .strict();\n\nconst event_session__stepError = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"stepError\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n message: z.string(),\n }),\n })\n .strict();\n\nconst event_session__suggestionCheck = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"suggestionCheck\"),\n args: z.object({\n file: absolutePath,\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__syntacticCheck = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"syntacticCheck\"),\n args: z.object({\n file: absolutePath,\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__updateGraph = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"updateGraph\"),\n args: z.object({\n name: z.string(),\n kind: z.union([\n z.literal(0), //\"Inferred\n z.literal(1), // Configured\"\n z.literal(2), // \"Inferred\"\n z.literal(3), // \"External\"\n z.literal(4), // \"AutoImportProvider\"\n z.literal(5), // \"Auxiliary\"\n ]),\n }),\n })\n .strict();\n\n/*\n * TRACE EVENT UNION\n */\n\nexport const traceEvent = z.discriminatedUnion(\n \"name\",\n [\n event_metadata__TracingStartedInBrowser,\n event_metadata__process_name,\n event_metadata__thread_name,\n\n event_parse__createSourceFile,\n event_parse__parseJsonSourceFileConfigFileContent,\n\n event_program__createProgram,\n event_program__findSourceFile,\n event_program__processRootFiles,\n event_program__processTypeReferenceDirective,\n event_program__processTypeReferences,\n event_program__resolveLibrary,\n event_program__resolveModuleNamesWorker,\n event_program__resolveTypeReferenceDirectiveNamesWorker,\n event_program__shouldProgramCreateNewSourceFiles,\n event_program__tryReuseStructureFromOldProgram,\n\n event_bind__bindSourceFile,\n\n event_check__checkExpression,\n event_check__checkSourceFile,\n event_check__checkVariableDeclaration,\n event_check__checkDeferredNode,\n event_check__checkSourceFileNodes,\n\n event_checktypes__checkTypeParameterDeferred,\n event_checktypes__getVariancesWorker,\n event_checktypes__structuredTypeRelatedTo,\n\n ...depthLimits,\n\n event_emit__emit,\n event_emit__emitBuildInfo,\n event_emit__emitDeclarationFileOrBundle,\n event_emit__emitJsFileOrBundle,\n event_emit__transformNodes,\n\n event_session__cancellationThrown,\n event_session__commandCanceled,\n event_session__commandError,\n event_session__createConfiguredProject,\n event_session__createdDocumentRegistryBucket,\n event_session__documentRegistryBucketOverlap,\n event_session__executeCommand,\n event_session__finishCachingPerDirectoryResolution,\n event_session__getPackageJsonAutoImportProvider,\n event_session__getUnresolvedImports,\n event_session__loadConfiguredProject,\n event_session__regionSemanticCheck,\n event_session__request,\n event_session__response,\n event_session__semanticCheck,\n event_session__stepAction,\n event_session__stepCanceled,\n event_session__stepError,\n event_session__suggestionCheck,\n event_session__syntacticCheck,\n event_session__updateGraph,\n ],\n {\n // errorMap: (issue, ctx) => ({\n // \t// prettier-ignore\n // \tmessage: issue.code === \"invalid_union_discriminator\" ?\n // \t\t\t`Invalid discriminator value. Expected ${issue.options.map(opt => `'${String(opt)}'`).join(' | ')}, got '${ctx.data.type}'.`\n // \t\t\t: ctx.defaultError,\n // }),\n },\n);\n\nexport type TraceEvent = z.infer<typeof traceEvent>;\nexport const traceJsonSchema = z.array(traceEvent);\nexport type TraceJsonSchema = z.infer<typeof traceJsonSchema>;\n","export const CPU_PROFILE_FILENAME = \"tsc.cpuprofile\";\n","import type { ResolvedType } from \"./types-json\";\n\n/**\n * Think of a TypeRegistry like an object that you'd use to look up types by their ID.\n *\n */\nexport type TypeRegistry = ResolvedType[];\n\nconst ALL_LIFE_IS_SUFFERING_THAT_BASKS_IN_NOTHINGNESS___ALL_LIFE_IS_TEMPORARY___WHAT_LASTS_IS_CONSCIOUSNESS: [\n ResolvedType,\n] = [{ id: 0, recursionId: -1, flags: [] }];\n\nexport const createTypeRegistry = (typesJson: ResolvedType[]): TypeRegistry => {\n return ALL_LIFE_IS_SUFFERING_THAT_BASKS_IN_NOTHINGNESS___ALL_LIFE_IS_TEMPORARY___WHAT_LASTS_IS_CONSCIOUSNESS.concat(\n typesJson,\n );\n};\n","import type { SvgIconComponent } from \"@mui/icons-material\";\n\nimport AltRoute from \"@mui/icons-material/AltRoute\";\nimport Check from \"@mui/icons-material/Check\";\nimport Close from \"@mui/icons-material/Close\";\nimport Extension from \"@mui/icons-material/Extension\";\nimport FilterListAlt from \"@mui/icons-material/FilterListAlt\";\nimport FindReplace from \"@mui/icons-material/FindReplace\";\nimport Input from \"@mui/icons-material/Input\";\nimport JoinFull from \"@mui/icons-material/JoinFull\";\nimport JoinInner from \"@mui/icons-material/JoinInner\";\nimport Key from \"@mui/icons-material/Key\";\nimport Polyline from \"@mui/icons-material/Polyline\";\nimport QuestionMark from \"@mui/icons-material/QuestionMark\";\nimport Search from \"@mui/icons-material/Search\";\nimport SettingsBackupRestore from \"@mui/icons-material/SettingsBackupRestore\";\nimport SportsKabaddi from \"@mui/icons-material/SportsKabaddi\";\nimport TrackChanges from \"@mui/icons-material/TrackChanges\";\n\nimport { z } from \"zod/v4\";\nimport { location, typeId } from \"./utils\";\n\nexport const TYPES_JSON_FILENAME = \"types.json\";\n\nconst flag = z.enum([\n \"Any\",\n \"Unknown\",\n \"String\",\n \"Number\",\n \"Boolean\",\n \"Enum\",\n \"BigInt\",\n \"StringLiteral\",\n \"NumberLiteral\",\n \"BooleanLiteral\",\n \"EnumLiteral\",\n \"BigIntLiteral\",\n \"ESSymbol\",\n \"UniqueESSymbol\",\n \"Void\",\n \"Undefined\",\n \"Null\",\n \"Never\",\n \"TypeParameter\",\n \"Object\",\n \"Union\",\n \"Intersection\",\n \"Index\",\n \"IndexedAccess\",\n \"Conditional\",\n \"Substitution\",\n \"NonPrimitive\",\n \"TemplateLiteral\",\n \"StringMapping\",\n \"Reserved1\",\n \"Reserved2\",\n \"AnyOrUnknown\",\n \"Nullable\",\n \"Literal\",\n \"Unit\",\n \"Freshable\",\n \"StringOrNumberLiteral\",\n \"StringOrNumberLiteralOrUnique\",\n \"DefinitelyFalsy\",\n \"PossiblyFalsy\",\n \"Intrinsic\",\n \"StringLike\",\n \"NumberLike\",\n \"BigIntLike\",\n \"BooleanLike\",\n \"EnumLike\",\n \"ESSymbolLike\",\n \"VoidLike\",\n \"Primitive\",\n \"DefinitelyNonNullable\",\n \"DisjointDomains\",\n \"UnionOrIntersection\",\n \"StructuredType\",\n \"TypeVariable\",\n \"InstantiableNonPrimitive\",\n \"InstantiablePrimitive\",\n \"Instantiable\",\n \"StructuredOrInstantiable\",\n \"ObjectFlagsType\",\n \"Simplifiable\",\n \"Singleton\",\n \"Narrowable\",\n \"IncludesMask\",\n \"IncludesMissingType\",\n \"IncludesNonWideningType\",\n \"IncludesWildcard\",\n \"IncludesEmptyObject\",\n \"IncludesInstantiable\",\n \"IncludesConstrainedTypeVariable\",\n \"IncludesError\",\n \"NotPrimitiveUnion\",\n]);\n\nexport type Flag = z.infer<typeof flag>;\n\nconst typeRelations = {\n typeArguments: z.array(typeId).optional(),\n unionTypes: z.array(typeId).optional(),\n intersectionTypes: z.array(typeId).optional(),\n aliasTypeArguments: z.array(typeId).optional(),\n instantiatedType: typeId.optional(),\n substitutionBaseType: typeId.optional(),\n constraintType: typeId.optional(),\n indexedAccessObjectType: typeId.optional(),\n indexedAccessIndexType: typeId.optional(),\n conditionalCheckType: typeId.optional(),\n conditionalExtendsType: typeId.optional(),\n conditionalTrueType: typeId.optional(),\n conditionalFalseType: typeId.optional(),\n keyofType: typeId.optional(),\n aliasType: typeId.optional(),\n evolvingArrayElementType: typeId.optional(),\n evolvingArrayFinalType: typeId.optional(),\n reverseMappedSourceType: typeId.optional(),\n reverseMappedMappedType: typeId.optional(),\n reverseMappedConstraintType: typeId.optional(),\n};\n\nexport interface TypeRelationInfo {\n source: {\n title: string;\n description: string;\n unit: string;\n };\n target: {\n title: string;\n description: string;\n unit: string;\n };\n route: string;\n icon: SvgIconComponent;\n}\n\nexport const typeRelationOrder = [\n \"unionTypes\",\n \"intersectionTypes\",\n \"typeArguments\",\n \"instantiatedType\",\n \"aliasTypeArguments\",\n \"conditionalCheckType\",\n \"conditionalExtendsType\",\n \"conditionalFalseType\",\n \"conditionalTrueType\",\n \"indexedAccessObjectType\",\n \"indexedAccessIndexType\",\n \"keyofType\",\n \"reverseMappedSourceType\",\n \"reverseMappedMappedType\",\n \"reverseMappedConstraintType\",\n \"substitutionBaseType\",\n \"constraintType\",\n \"evolvingArrayElementType\",\n \"evolvingArrayFinalType\",\n \"aliasType\",\n] as const;\n\nexport const typeRelationInfo = {\n unionTypes: {\n source: {\n title: \"Union\",\n unit: \"union members\",\n description:\n \"Type whose union has the greatest number of distinct members (breadth of possible shapes).\",\n },\n target: {\n title: \"Union Member\",\n unit: \"unions\",\n description: \"The type most frequently included in unions.\",\n },\n route: \"union-types\",\n icon: JoinFull,\n },\n intersectionTypes: {\n source: {\n title: \"Intersection\",\n unit: \"intersections\",\n description:\n \"Type whose intersection combines the greatest number of constituent types (breadth of constraints).\",\n },\n target: {\n title: \"Intersection Member\",\n unit: \"intersections\",\n description: \"The type most frequently included in intersections.\",\n },\n route: \"intersection-types\",\n icon: JoinInner,\n },\n typeArguments: {\n source: {\n title: \"Type Arguments\",\n unit: \"type arguments\",\n description:\n \"Generic type with the largest number of supplied type arguments at its most complex instantiation.\",\n },\n target: {\n title: \"Type Argument\",\n unit: \"type arguments\",\n description:\n \"The type most frequently used as a type argument (indicating complex generic interactions).\",\n },\n icon: SportsKabaddi,\n route: \"type-arguments\",\n },\n instantiatedType: {\n source: {\n title: \"Instantiated\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Instantiated By\",\n unit: \"instantiations\",\n description:\n \"Type that was instantiated the most, indicating high reuse.\",\n },\n icon: Polyline,\n route: \"instantiated-type\",\n },\n aliasTypeArguments: {\n source: {\n title: \"Generic Argument\",\n unit: \"generic arguments\",\n description:\n \"Type alias pulling in the greatest number of distinct generic arguments through its resolution layers.\",\n },\n target: {\n title: \"Generic Arguments\",\n unit: \"alias type-arguments\",\n description:\n 'The types most often used as generic arguments. The TypeScript compiler calls this \"alias type-arguments.\" There are technically other kinds of types that can show up here, but it\\'s mostly generic type arguments.',\n },\n icon: Input,\n route: \"alias-type-arguments\",\n },\n conditionalCheckType: {\n source: {\n title: \"Conditional Check\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Conditional Check Condition\",\n unit: \"conditional checks\",\n description:\n \"Type most often used as the checked type in conditional types (the `T` in `T extends U ? A : B`).\",\n },\n icon: QuestionMark,\n route: \"conditional-check-type\",\n },\n conditionalExtendsType: {\n source: {\n title: \"Conditional Extends\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Conditional Extends\",\n unit: \"extends uses\",\n description:\n \"Type most frequently appearing on the `extends` side of conditional types (the `U` in `T extends U ? A : B`)), indicating common constraint relationships.\",\n },\n icon: Extension,\n route: \"conditional-extends-type\",\n },\n conditionalFalseType: {\n source: {\n title: \"Conditional False\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Conditional False Branch\",\n unit: \"false-branch uses\",\n description:\n \"Type that most often appears as the `false` branch result of conditional types. Indicates fallback/resolution patterns.\",\n },\n icon: Close,\n route: \"conditional-false-type\",\n },\n conditionalTrueType: {\n source: {\n title: \"Conditional True\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Conditional True Branch\",\n unit: \"true-branch uses\",\n description:\n \"Type that most often appears as the `true` branch result of conditional types. Indicates favored resolution outcomes.\",\n },\n icon: Check,\n route: \"conditional-true-type\",\n },\n indexedAccessObjectType: {\n source: {\n title: \"Indexed Access Object\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Object Indexed Access By\",\n unit: \"indexed-accesses\",\n description:\n \"Type most frequently used as the object operand in indexed access (e.g. `T[K]`), indicating dynamic property shape usage.\",\n },\n icon: Search,\n route: \"indexed-access-object-type\",\n },\n indexedAccessIndexType: {\n source: {\n title: \"Indexed Access Index\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Tuple Indexed Access By\",\n unit: \"indexed-accesses\",\n description:\n \"Type most frequently used as the index operand in indexed access of a tuple (e.g. `SomeTuple[K]`).\",\n },\n icon: Search,\n route: \"indexed-access-index-type\",\n },\n keyofType: {\n source: {\n title: \"Keyof\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Keyof Uses\",\n unit: \"keyof uses\",\n description:\n \"Type most frequently used within 'keyof' operations, often indicating dynamic property access patterns.\",\n },\n icon: Key,\n route: \"keyof-type\",\n },\n reverseMappedSourceType: {\n source: {\n title: \"Reverse Mapped Source\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Reverse-Map Source\",\n unit: \"reverse-mappings\",\n description:\n \"Type most commonly appearing as the source in reverse-mapped type transforms (utility mapped types in reverse).\",\n },\n icon: SettingsBackupRestore,\n route: \"reverse-mapped-source-type\",\n },\n reverseMappedMappedType: {\n source: {\n title: \"Reverse Mapped Mapped\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Reverse-Map Mapped By\",\n unit: \"reverse-mapped sources\",\n description:\n \"Type most commonly produced by reverse-mapped transformations.\",\n },\n icon: SettingsBackupRestore,\n route: \"reverse-mapped-mapped-type\",\n },\n reverseMappedConstraintType: {\n source: {\n title: \"Reverse Mapped Constraint\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Reverse-Map Constraints\",\n unit: \"reverse-mapping constraints\",\n description:\n \"Type that often serves as a constraint in reverse-mapped transformations, indicating mapped type bounds.\",\n },\n icon: SettingsBackupRestore,\n route: \"reverse-mapped-constraint-type\",\n },\n substitutionBaseType: {\n source: {\n title: \"Substitution Base\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Substitution Bases\",\n unit: \"substitution uses\",\n description:\n \"Type used as a substitution base during type substitution operations, signaling types that commonly serve as generic inference placeholders.\",\n },\n icon: FindReplace,\n route: \"substitution-base-type\",\n },\n constraintType: {\n source: {\n title: \"Constraint\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Generic Constraints\",\n unit: \"constraint uses\",\n description:\n \"Type most often appearing as a generic constraint (e.g. in `extends` clauses) when resolving generics and conditionals.\",\n },\n icon: FilterListAlt,\n route: \"constraint-type\",\n },\n evolvingArrayElementType: {\n source: {\n title: \"Evolving Array Element\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Evolving Array Element\",\n unit: \"array element uses\",\n description:\n \"Type most commonly used as the evolving array element during array widening/folding operations in inference.\",\n },\n icon: TrackChanges,\n route: \"evolving-array-element-type\",\n },\n evolvingArrayFinalType: {\n source: {\n title: \"Evolving Array Final\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Evolving Array Final\",\n unit: \"array final uses\",\n description:\n \"Type that frequently becomes the final element type after array evolution/widening, useful to spot common widened shapes.\",\n },\n icon: TrackChanges,\n route: \"evolving-array-final-type\",\n },\n aliasType: {\n source: {\n title: \"Alias\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Aliased As\",\n unit: \"alias uses\",\n description:\n \"Type most frequently used as an alias target, shows which aliases are heavily reused across the codebase.\",\n },\n icon: AltRoute,\n route: \"alias-type\",\n },\n} as const satisfies Record<keyof typeof typeRelations, TypeRelationInfo>;\n\nexport const resolvedType = z\n .object({\n id: typeId,\n flags: z.array(flag),\n\n recursionId: z.number().optional(),\n intrinsicName: z\n .enum([\n \"any\",\n \"error\",\n \"unresolved\",\n \"unknown\",\n \"true\",\n \"false\",\n \"never\",\n \"void\",\n \"symbol\",\n \"bigint\",\n \"null\",\n \"undefined\",\n \"intrinsic\",\n \"object\",\n \"boolean\",\n \"number\",\n \"string\",\n ])\n .optional(),\n\n firstDeclaration: location.optional(),\n referenceLocation: location.optional(),\n destructuringPattern: location.optional(),\n\n ...typeRelations,\n\n isTuple: z.literal(true).optional(),\n\n symbolName: z.string().optional(),\n display: z.string().optional(),\n })\n .strict();\n\nexport type ResolvedType = z.infer<typeof resolvedType>;\nexport const typesJsonSchema = z.array(resolvedType);\nexport type TypesJsonSchema = z.infer<typeof typesJsonSchema>;\n"],"mappings":"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CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,mBAAmB;CAC9B,YAAY;EACV,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,OAAO;EACP,MAAM;EACP;CACD,mBAAmB;EACjB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,OAAO;EACP,MAAM;EACP;CACD,eAAe;EACb,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,kBAAkB;EAChB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,oBAAoB;EAClB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,sBAAsB;EACpB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,wBAAwB;EACtB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,sBAAsB;EACpB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,qBAAqB;EACnB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,yBAAyB;EACvB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,wBAAwB;EACtB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,WAAW;EACT,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,yBAAyB;EACvB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,yBAAyB;EACvB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,6BAA6B;EAC3B,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,sBAAsB;EACpB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,gBAAgB;EACd,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,0BAA0B;EACxB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,wBAAwB;EACtB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,WAAW;EACT,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACF;AAED,MAAa,eAAe,EACzB,OAAO;CACN,IAAI;CACJ,OAAO,EAAE,MAAM,KAAK;CAEpB,aAAa,EAAE,QAAQ,CAAC,UAAU;CAClC,eAAe,EACZ,KAAK;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,CACD,UAAU;CAEb,kBAAkB,SAAS,UAAU;CACrC,mBAAmB,SAAS,UAAU;CACtC,sBAAsB,SAAS,UAAU;CAEzC,GAAG;CAEH,SAAS,EAAE,QAAQ,KAAK,CAAC,UAAU;CAEnC,YAAY,EAAE,QAAQ,CAAC,UAAU;CACjC,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC/B,CAAC,CACD,QAAQ;AAGX,MAAa,kBAAkB,EAAE,MAAM,aAAa"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/package-name.ts","../src/utils.ts","../src/trace-json.ts","../src/tsc-cpuprofile.ts","../src/type-registry.ts","../src/types-json.ts"],"sourcesContent":["export const packageNameRegex =\n /\\/node_modules\\/((?:[^@][^/]+)|(?:@[^/]+\\/[^/]+))/g;\n\nexport const extractPackageName = (path: string): string | null => {\n const pnpmSentinel = \"/node_modules/.pnpm/\";\n if (path.includes(pnpmSentinel)) {\n // go to the character immediately after the pnpm sentinel\n const startIndex = path.indexOf(pnpmSentinel) + pnpmSentinel.length;\n const endIndex = path.indexOf(\"/\", startIndex);\n if (endIndex === -1) {\n throw new Error(\n \"Invalid path format: no closing slash found after pnpm sentinel\",\n );\n }\n return path.substring(startIndex, endIndex).replace(\"+\", \"/\");\n }\n\n return path;\n};\n\n/**\n * Computes the relative path from one absolute path to another.\n *\n * @param from - The anchor directory (must be an absolute path).\n * @param to - The absolute path you want to relativize.\n * @returns A relative path from `from` to `to`.\n */\nexport function relativizePath(from: string, to: string): string {\n // Ensure both paths end with a slash if they're directories\n const fromURL = new URL(`file://${from.endsWith(\"/\") ? from : `${from}/}`}`);\n const toURL = new URL(`file://${to}`);\n\n const fromParts = fromURL.pathname.split(\"/\").filter(Boolean);\n const toParts = toURL.pathname.split(\"/\").filter(Boolean);\n\n // Find where they diverge\n let i = 0;\n while (\n i < fromParts.length &&\n i < toParts.length &&\n fromParts[i] === toParts[i]\n ) {\n i++;\n }\n\n const up = fromParts.length - i;\n const down = toParts.slice(i).join(\"/\");\n\n return `${\"../\".repeat(up)}${down}`;\n}\n","import { z } from \"zod/v4\";\n\nexport const CPU_PROFILE_FILENAME = \"tsc.cpuprofile\";\n\nexport const typeId = z.number().int().positive().or(z.literal(-1));\n\nexport type TypeId = z.infer<typeof typeId>;\n\nexport const position = z\n .object({\n line: typeId,\n character: z.number(),\n })\n .strict();\n\nexport const absolutePath = z.string();\n\nexport const location = z\n .object({\n path: absolutePath,\n start: position,\n end: position,\n })\n .strict();\n","import type { SvgIconComponent } from \"@mui/icons-material\";\nimport Air from \"@mui/icons-material/Air\";\nimport Calculate from \"@mui/icons-material/Calculate\";\nimport Diversity1 from \"@mui/icons-material/Diversity1\";\nimport Expand from \"@mui/icons-material/Expand\";\nimport Lightbulb from \"@mui/icons-material/Lightbulb\";\nimport RotateRight from \"@mui/icons-material/RotateRight\";\nimport SafetyDivider from \"@mui/icons-material/SafetyDivider\";\nimport SubdirectoryArrowRight from \"@mui/icons-material/SubdirectoryArrowRight\";\nimport { z } from \"zod/v4\";\nimport { absolutePath, typeId } from \"./utils\";\n\nexport const TRACE_JSON_FILENAME = \"trace.json\";\n\nexport const eventPhase = {\n begin: \"B\",\n end: \"E\",\n complete: \"X\",\n metadata: \"M\",\n instantGlobal: \"I\",\n // 'i' is instantThread (not currently used)\n} as const;\n\nexport const instantScope = {\n thread: \"t\",\n global: \"g\",\n process: \"p\",\n};\n\nconst durationEvent = {\n ph: z.union([z.literal(eventPhase.begin), z.literal(eventPhase.end)]),\n};\n\nconst completeEvent = {\n ph: z.literal(eventPhase.complete),\n dur: z.number().positive(),\n};\n\nconst instantEvent = {\n ph: z.literal(eventPhase.instantGlobal),\n};\n\nconst category = {\n parse: {\n cat: z.literal(\"parse\"),\n },\n program: {\n cat: z.literal(\"program\"),\n },\n bind: {\n cat: z.literal(\"bind\"),\n },\n check: {\n cat: z.literal(\"check\"),\n },\n checkTypes: {\n cat: z.literal(\"checkTypes\"),\n },\n emit: {\n cat: z.literal(\"emit\"),\n },\n session: {\n cat: z.literal(\"session\"),\n },\n};\n\nconst eventCommon = {\n pid: z.number().int().positive(),\n tid: z.number().int().positive(),\n ts: z.number().positive(),\n};\n\n/*\n * METADATA EVENTS\n */\n\nconst event_metadata__TracingStartedInBrowser = z\n .object({\n ...eventCommon,\n cat: z.literal(\"disabled-by-default-devtools.timeline\"),\n name: z.literal(\"TracingStartedInBrowser\"),\n ph: z.literal(eventPhase.metadata),\n })\n .strict();\n\nconst event_metadata__process_name = z\n .object({\n ...eventCommon,\n ph: z.literal(eventPhase.metadata),\n args: z.object({\n name: z.literal(\"tsc\"),\n }),\n cat: z.literal(\"__metadata\"),\n name: z.literal(\"process_name\"),\n })\n .strict();\n\nconst event_metadata__thread_name = z\n .object({\n ...eventCommon,\n name: z.literal(\"thread_name\"),\n cat: z.literal(\"__metadata\"),\n ph: z.literal(eventPhase.metadata),\n args: z.object({\n name: z.literal(\"Main\"),\n }),\n })\n .strict();\n\n/*\n * PARSE PHASE EVENTS\n */\n\nconst event_parse__createSourceFile = z\n .object({\n ...eventCommon,\n ...category.parse,\n ...durationEvent,\n name: z.literal(\"createSourceFile\"),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\nconst event_parse__parseJsonSourceFileConfigFileContent = z\n .object({\n ...eventCommon,\n ...category.parse,\n ...completeEvent,\n name: z.literal(\"parseJsonSourceFileConfigFileContent\"),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\n/*\n * PROGRAM PHASE EVENTS\n */\n\nconst event_program__createProgram = z\n .object({\n ...eventCommon,\n ...category.program,\n ...durationEvent,\n name: z.literal(\"createProgram\"),\n args: z.object({\n configFilePath: absolutePath, // path to the tsconfig.json file\n }),\n })\n .strict();\n\nconst event_program__findSourceFile = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"findSourceFile\"),\n dur: z.number(),\n args: z.object({\n fileName: absolutePath,\n fileIncludeKind: z.union([\n z.literal(\"RootFile\"),\n z.literal(\"Import\"),\n z.literal(\"TypeReferenceDirective\"),\n z.literal(\"LibFile\"),\n z.literal(\"LibReferenceDirective\"),\n z.literal(\"AutomaticTypeDirectiveFile\"),\n z.literal(\"ReferenceFile\"),\n ]),\n }),\n })\n .strict();\n\nconst event_program__processRootFiles = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"processRootFiles\"),\n dur: z.number(),\n args: z.object({ count: z.number().int().positive() }),\n })\n .strict();\n\nconst event_program__processTypeReferenceDirective = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"processTypeReferenceDirective\"),\n dur: z.number(),\n args: z.object({\n directive: z.string(),\n hasResolved: z.literal(true),\n refKind: z.number().int().positive(),\n refPath: absolutePath.optional(),\n }),\n })\n .strict();\n\nconst event_program__processTypeReferences = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"processTypeReferences\"),\n dur: z.number(),\n args: z.object({\n count: z.number().int().positive(),\n }),\n })\n .strict();\n\nconst event_program__resolveLibrary = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"resolveLibrary\"),\n args: z.object({\n resolveFrom: absolutePath,\n }),\n })\n .strict();\n\nconst event_program__resolveModuleNamesWorker = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"resolveModuleNamesWorker\"),\n args: z.object({\n containingFileName: absolutePath,\n }),\n })\n .strict();\n\nconst event_program__resolveTypeReferenceDirectiveNamesWorker = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"resolveTypeReferenceDirectiveNamesWorker\"),\n args: z.object({\n containingFileName: absolutePath,\n }),\n })\n .strict();\n\nconst event_program__shouldProgramCreateNewSourceFiles = z\n .object({\n ...eventCommon,\n ...category.program,\n ...instantEvent,\n name: z.literal(\"shouldProgramCreateNewSourceFiles\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n hasOldProgram: z.boolean(),\n }),\n })\n .strict();\n\nconst event_program__tryReuseStructureFromOldProgram = z\n .object({\n ...eventCommon,\n ...category.program,\n ...completeEvent,\n name: z.literal(\"tryReuseStructureFromOldProgram\"),\n dur: z.number(),\n args: z.object({}),\n })\n .strict();\n\n/*\n * BIND PHASE EVENTS\n */\n\nconst event_bind__bindSourceFile = z\n .object({\n ...eventCommon,\n ...category.bind,\n ...durationEvent,\n name: z.literal(\"bindSourceFile\"),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\n/*\n * CHECK PHASE EVENTS\n */\n\nconst event_check__checkExpression = z\n .object({\n ...eventCommon,\n ...category.check,\n ...completeEvent,\n name: z.literal(\"checkExpression\"),\n dur: z.number(),\n args: z.object({\n kind: z.number(),\n pos: z.number(),\n end: z.number(),\n path: absolutePath.optional(),\n }),\n })\n .strict();\n\nconst event_check__checkSourceFile = z\n .object({\n ...eventCommon,\n ...category.check,\n ...durationEvent,\n name: z.literal(\"checkSourceFile\"),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\nconst event_check__checkVariableDeclaration = z\n .object({\n ...eventCommon,\n ...category.check,\n ...completeEvent,\n name: z.literal(\"checkVariableDeclaration\"),\n dur: z.number(),\n args: z.object({\n kind: z.number(),\n pos: z.number(),\n end: z.number(),\n path: absolutePath,\n }),\n })\n .strict();\n\nconst event_check__checkDeferredNode = z\n .object({\n ...eventCommon,\n ...category.check,\n ...completeEvent,\n name: z.literal(\"checkDeferredNode\"),\n dur: z.number(),\n args: z.object({\n kind: z.number(),\n pos: z.number(),\n end: z.number(),\n path: absolutePath,\n }),\n })\n .strict();\n\nconst event_check__checkSourceFileNodes = z\n .object({\n ...eventCommon,\n ...category.check,\n ...completeEvent,\n name: z.literal(\"checkSourceFileNodes\"),\n dur: z.number(),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\n/*\n * CHECKTYPES PHASE EVENTS\n */\nconst event_checktypes__checkTypeParameterDeferred = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...completeEvent,\n name: z.literal(\"checkTypeParameterDeferred\"),\n dur: z.number(),\n args: z.object({\n parent: typeId,\n id: typeId,\n }),\n })\n .strict();\n\nconst event_checktypes__getVariancesWorker = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...completeEvent,\n name: z.literal(\"getVariancesWorker\"),\n dur: z.number(),\n args: z.object({\n arity: z.number().int().nonnegative(),\n id: z.number().int().positive(),\n results: z.object({\n variances: z.array(\n z.union([\n z.literal(\"[independent]\"),\n z.literal(\"[independent] (unreliable)\"),\n z.literal(\"[independent] (unmeasurable)\"),\n z.literal(\"[bivariant]\"),\n z.literal(\"[bivariant] (unreliable)\"),\n z.literal(\"[bivariant] (unmeasurable)\"),\n z.literal(\"in\"),\n z.literal(\"in (unreliable)\"),\n z.literal(\"in (unmeasurable)\"),\n z.literal(\"out\"),\n z.literal(\"out (unreliable)\"),\n z.literal(\"out (unmeasurable)\"),\n z.literal(\"in out\" /*burger*/),\n z.literal(\"in out (unreliable)\"),\n z.literal(\"in out (unmeasurable)\"),\n ]),\n ),\n }),\n }),\n })\n .strict();\n\nconst event_checktypes__structuredTypeRelatedTo = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...completeEvent,\n name: z.literal(\"structuredTypeRelatedTo\"),\n args: z.object({\n sourceId: typeId,\n targetId: typeId,\n }),\n })\n .strict();\n\n/*\n * CHECKTYPES PHASE DEPTH LIMIT EVENTS\n */\n\n/**\n * The `checkCrossProductUnion_DepthLimit` limit is hit when the cross-product of two types exceeds 100_000 combinations while expanding intersections into a union.\n *\n * This triggers the error `TS(2590) Expression produces a union type that is too complex to represent.`\n */\nexport const event_checktypes__checkCrossProductUnion_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"checkCrossProductUnion_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n typeIds: z.array(typeId),\n size: z.number().int().positive(),\n }),\n })\n .strict();\nexport type EventChecktypes__CheckCrossProductUnion_DepthLimit = z.infer<\n typeof event_checktypes__checkCrossProductUnion_DepthLimit\n>;\n\n/**\n * The `checkTypeRelatedTo_DepthLimit` limit is hit when a type relationship check overflows: either the checker reaches its recursion stack limit while comparing deeply nested (or expanding) types or it exhausts the relation-complexity budget.\n * in Node.js the maximum number of elements in a map is 2^24.\n * TypeScript therefore limits the number of entries an invocation of `checkTypeRelatedTo` can add to a relation to 1/8th of its remaining capacity.\n * This limit being hit means the relation will be recorded as failing.\n *\n * This triggers one of the following errors:\n * - `TS(2859) Excessive complexity comparing types '{0}' and '{1}'.`\n * - `TS(2321) Excessive stack depth comparing types '{0}' and '{1}'.`\n */\nexport const event_checktypes__checkTypeRelatedTo_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"checkTypeRelatedTo_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n sourceId: typeId,\n targetId: typeId,\n depth: z.number().int().positive(),\n targetDepth: z.number().int().positive(),\n }),\n })\n .strict();\nexport type EventChecktypes__CheckTypeRelatedTo_DepthLimit = z.infer<\n typeof event_checktypes__checkTypeRelatedTo_DepthLimit\n>;\n\n/**\n * The `getTypeAtFlowNode_DepthLimit` limit is hit when resolving the control flow type for a reference causes more than 2_000 recursions.\n * To avoid overflowing the call stack we report an error and disable further control flow analysis in the containing function or module body.\n *\n * This triggers the error `TS(2563) The containing function or module body is too large for control flow analysis.`\n */\nexport const event_checktypes__getTypeAtFlowNode_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"getTypeAtFlowNode_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n flowId: z.number().int().positive(),\n }),\n })\n .strict();\nexport type EventChecktypes__GetTypeAtFlowNode_DepthLimit = z.infer<\n typeof event_checktypes__getTypeAtFlowNode_DepthLimit\n>;\n\n/**\n * The `instantiateType_DepthLimit` is hit when more than 100 recursive type instantiations or 5_000_000 instantiations are caused by the same statement or expression.\n * There is a very high likelihood we're dealing with a combination of infinite generic types that perpetually generate new type identities, so TypeScript stops and throws this error.\n *\n * This triggers the error `TS(2589) Type instantiation is excessively deep and possibly infinite.`\n */\n\nexport const event_checktypes__instantiateType_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"instantiateType_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n typeId,\n instantiationDepth: z.number().int(),\n instantiationCount: z.number().int().positive(),\n }),\n })\n .strict();\nexport type EventChecktypes__InstantiateType_DepthLimit = z.infer<\n typeof event_checktypes__instantiateType_DepthLimit\n>;\n\n/**\n * The `recursiveTypeRelatedTo_DepthLimit` limit is hit when the sourceDepth or targetDepth of a type check exceeds 100 during recursive type comparison, indicating a runaway recursion from deeply nested generics or type instantiations.\n *\n * This is not currently considered a hard error by the compiler and therefore\n does not report to the user (unless you're a TypeSlayer user 😉).\n */\nexport const event_checktypes__recursiveTypeRelatedTo_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"recursiveTypeRelatedTo_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n sourceId: typeId,\n sourceIdStack: z.array(typeId),\n targetId: typeId,\n targetIdStack: z.array(typeId),\n depth: z.number().int().positive(),\n targetDepth: z.number().int().positive(),\n }),\n })\n .strict();\nexport type EventChecktypes__RecursiveTypeRelatedTo_DepthLimit = z.infer<\n typeof event_checktypes__recursiveTypeRelatedTo_DepthLimit\n>;\n\n/**\n * The `removeSubtypes_DepthLimit` limit is hit when subtype-reduction work becomes too large.\n * Specifically, when more than 100,000 pairwise constituent checks occur, the type checker will pause and estimate remaining work.\n * If that estimate exceeds 1_000_000 pairwise checks, the checker will halt and report this error.\n *\n * This triggers the error `TS(2590) Expression produces a union type that is too complex to represent.`\n *\n */\nexport const event_checktypes__removeSubtypes_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"removeSubtypes_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n typeIds: z.array(typeId),\n }),\n })\n .strict();\nexport type EventChecktypes__RemoveSubtypes_DepthLimit = z.infer<\n typeof event_checktypes__removeSubtypes_DepthLimit\n>;\n\n/**\n * The `traceUnionsOrIntersectionsTooLarge_DepthLimit` limit is hit when the product of a source and target type that will be part of a union will exceed 1_000_000 members when multiplied out.\n *\n * This is not currently considered a hard error by the compiler and therefore\n does not report to the user (unless you're a TypeSlayer user 😉).\n */\nexport const event_checktypes__traceUnionsOrIntersectionsTooLarge_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"traceUnionsOrIntersectionsTooLarge_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n sourceId: typeId,\n sourceSize: z.number().int().positive(),\n targetId: typeId,\n targetSize: z.number().int().positive(),\n pos: z.number().int().nonnegative().optional(),\n end: z.number().int().positive().optional(),\n }),\n })\n .strict();\nexport type EventChecktypes__TraceUnionsOrIntersectionsTooLarge_DepthLimit =\n z.infer<\n typeof event_checktypes__traceUnionsOrIntersectionsTooLarge_DepthLimit\n >;\n\n/**\n * The `typeRelatedToDiscriminatedType_DepthLimit` limit is hit when comparing a source object to a discriminated-union target type with more than 25 constituent types.\n * When this occurs, the type checker will just return `false` for the type comparison to avoid excessive computation.\n *\n * This is not currently considered a hard error by the compiler and therefore\n does not report to the user (unless you're a TypeSlayer user 😉).\n */\nexport const event_checktypes__typeRelatedToDiscriminatedType_DepthLimit = z\n .object({\n ...eventCommon,\n ...category.checkTypes,\n ...instantEvent,\n name: z.literal(\"typeRelatedToDiscriminatedType_DepthLimit\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n sourceId: typeId,\n targetId: typeId,\n numCombinations: z.number().int().positive(),\n }),\n })\n .strict();\n\nexport type EventChecktypes__TypeRelatedToDiscriminatedType_DepthLimit =\n z.infer<typeof event_checktypes__typeRelatedToDiscriminatedType_DepthLimit>;\n\nexport const depthLimits = [\n event_checktypes__checkCrossProductUnion_DepthLimit,\n event_checktypes__checkTypeRelatedTo_DepthLimit,\n event_checktypes__getTypeAtFlowNode_DepthLimit,\n event_checktypes__instantiateType_DepthLimit,\n event_checktypes__recursiveTypeRelatedTo_DepthLimit,\n event_checktypes__removeSubtypes_DepthLimit,\n event_checktypes__traceUnionsOrIntersectionsTooLarge_DepthLimit,\n event_checktypes__typeRelatedToDiscriminatedType_DepthLimit,\n];\n\nexport type DepthLimitNames =\n | EventChecktypes__CheckCrossProductUnion_DepthLimit[\"name\"]\n | EventChecktypes__CheckTypeRelatedTo_DepthLimit[\"name\"]\n | EventChecktypes__GetTypeAtFlowNode_DepthLimit[\"name\"]\n | EventChecktypes__InstantiateType_DepthLimit[\"name\"]\n | EventChecktypes__RecursiveTypeRelatedTo_DepthLimit[\"name\"]\n | EventChecktypes__RemoveSubtypes_DepthLimit[\"name\"]\n | EventChecktypes__TraceUnionsOrIntersectionsTooLarge_DepthLimit[\"name\"]\n | EventChecktypes__TypeRelatedToDiscriminatedType_DepthLimit[\"name\"];\n\nexport const depthLimitInfo = {\n instantiateType_DepthLimit: {\n title: \"Type Instantiation\",\n notFound: \"No Type Instantiation Limits Found\",\n route: \"instantiate-type-depth-limit\",\n icon: Lightbulb,\n },\n recursiveTypeRelatedTo_DepthLimit: {\n title: \"Recursive Relations\",\n notFound: \"No Recursive Relations Limits Found\",\n route: \"recursive-type-related-to-depth-limit\",\n icon: Diversity1,\n },\n typeRelatedToDiscriminatedType_DepthLimit: {\n title: \"Discrimination\",\n notFound: \"No Discriminated Type Limits Found\",\n route: \"type-related-to-discriminated-type-depth-limit\",\n icon: SafetyDivider,\n },\n checkCrossProductUnion_DepthLimit: {\n title: \"Cross-Product Union\",\n notFound: \"No Cross-Product Union Limits Found\",\n route: \"check-cross-product-union-depth-limit\",\n icon: Calculate,\n },\n checkTypeRelatedTo_DepthLimit: {\n title: \"Type Relation Depth\",\n notFound: \"No Type Relation Depth Limits Found\",\n route: \"check-type-related-to-depth-limit\",\n icon: RotateRight,\n },\n getTypeAtFlowNode_DepthLimit: {\n title: \"Flow Node Type\",\n notFound: \"No Flow Node Type Limits Found\",\n route: \"get-type-at-flow-node-depth-limit\",\n icon: Air,\n },\n removeSubtypes_DepthLimit: {\n title: \"Remove Subtypes\",\n notFound: \"No Remove Subtypes Limits Found\",\n route: \"remove-subtypes-depth-limit\",\n icon: SubdirectoryArrowRight,\n },\n traceUnionsOrIntersectionsTooLarge_DepthLimit: {\n title: \"Union/Intersection Size\",\n notFound: \"No Union/Intersection Size Limits Found\",\n route: \"trace-unions-or-intersections-too-large-depth-limit\",\n icon: Expand,\n },\n} satisfies Record<\n DepthLimitNames,\n {\n title: string;\n notFound: string;\n route: string;\n icon: SvgIconComponent;\n }\n>;\n\n/*\n * EMIT PHASE EVENTS\n */\n\nconst event_emit__emit = z\n .object({\n ...eventCommon,\n ...category.emit,\n ...durationEvent,\n name: z.literal(\"emit\"),\n args: z.object({}), // for some reason, this is empty\n })\n .strict();\n\nconst event_emit__emitBuildInfo = z\n .object({\n ...eventCommon,\n ...category.emit,\n ph: z.union([\n z.literal(eventPhase.begin),\n z.literal(eventPhase.end),\n z.literal(eventPhase.complete),\n ]),\n dur: z.number().positive().optional(),\n name: z.literal(\"emitBuildInfo\"),\n args: z.union([\n z.object({}),\n z.object({\n buildInfoPath: absolutePath,\n }),\n ]),\n })\n .strict();\n\nconst event_emit__emitDeclarationFileOrBundle = z\n .object({\n ...eventCommon,\n ...category.emit,\n ...completeEvent,\n name: z.literal(\"emitDeclarationFileOrBundle\"),\n dur: z.number(),\n args: z.object({\n declarationFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_emit__emitJsFileOrBundle = z\n .object({\n ...eventCommon,\n ...category.emit,\n ...completeEvent,\n name: z.literal(\"emitJsFileOrBundle\"),\n dur: z.number(),\n args: z.object({\n jsFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_emit__transformNodes = z\n .object({\n ...eventCommon,\n ...category.emit,\n ...completeEvent,\n name: z.literal(\"transformNodes\"),\n args: z.object({\n path: absolutePath,\n }),\n })\n .strict();\n\n/*\n * SESSION PHASE EVENTS\n */\n\nconst event_session__cancellationThrown = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"cancellationThrown\"),\n args: z.object({\n kind: z.union([\n z.literal(\"CancellationTokenObject\"),\n z.literal(\"ThrotledCancellationToken\"),\n ]),\n }),\n })\n .strict();\n\nconst event_session__commandCanceled = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"commandCanceled\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n command: z.string(),\n }),\n })\n .strict();\n\nconst event_session__commandError = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"commandError\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n command: z.string(),\n message: z.string(),\n }),\n })\n .strict();\n\nconst event_session__createConfiguredProject = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"createConfiguredProject\"),\n args: z.object({\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__createdDocumentRegistryBucket = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"createdDocumentRegistryBucket\"),\n args: z.object({\n configFilePath: absolutePath,\n key: z.string(),\n }),\n })\n .strict();\n\nconst event_session__documentRegistryBucketOverlap = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"documentRegistryBucketOverlap\"),\n args: z.object({\n path: absolutePath,\n key1: z.string(),\n key2: z.string(),\n }),\n })\n .strict();\n\nconst event_session__executeCommand = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"executeCommand\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n command: z.string(),\n }),\n })\n .strict();\n\nconst event_session__finishCachingPerDirectoryResolution = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"finishCachingPerDirectoryResolution\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n })\n .strict();\n\nconst event_session__getPackageJsonAutoImportProvider = z\n .object({\n ...eventCommon,\n ...category.session,\n ...completeEvent,\n name: z.literal(\"getPackageJsonAutoImportProvider\"),\n })\n .strict();\n\nconst event_session__getUnresolvedImports = z\n .object({\n ...eventCommon,\n ...category.session,\n ...completeEvent,\n name: z.literal(\"getUnresolvedImports\"),\n args: z.object({\n count: z.number().int().nonnegative(),\n }),\n })\n .strict();\n\nconst event_session__loadConfiguredProject = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"loadConfiguredProject\"),\n args: z.object({\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__regionSemanticCheck = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"regionSemanticCheck\"),\n args: z.object({\n file: absolutePath,\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__request = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"request\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n command: z.string(),\n }),\n })\n .strict();\n\nconst event_session__response = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"response\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n command: z.string(),\n success: z.boolean(),\n }),\n })\n .strict();\n\nconst event_session__semanticCheck = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"semanticCheck\"),\n args: z.object({\n file: absolutePath,\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__stepAction = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"stepAction\"),\n s: z.union([\n z.literal(instantScope.global),\n z.literal(instantScope.thread),\n z.literal(instantScope.process),\n ]),\n args: z.object({\n seq: z.number().int().nonnegative(),\n }),\n })\n .strict();\n\nconst event_session__stepCanceled = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"stepCanceled\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n early: z.literal(true).optional(),\n }),\n })\n .strict();\n\nconst event_session__stepError = z\n .object({\n ...eventCommon,\n ...category.session,\n ...instantEvent,\n name: z.literal(\"stepError\"),\n args: z.object({\n seq: z.number().int().nonnegative(),\n message: z.string(),\n }),\n })\n .strict();\n\nconst event_session__suggestionCheck = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"suggestionCheck\"),\n args: z.object({\n file: absolutePath,\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__syntacticCheck = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"syntacticCheck\"),\n args: z.object({\n file: absolutePath,\n configFilePath: absolutePath,\n }),\n })\n .strict();\n\nconst event_session__updateGraph = z\n .object({\n ...eventCommon,\n ...category.session,\n ...durationEvent,\n name: z.literal(\"updateGraph\"),\n args: z.object({\n name: z.string(),\n kind: z.union([\n z.literal(0), //\"Inferred\n z.literal(1), // Configured\"\n z.literal(2), // \"Inferred\"\n z.literal(3), // \"External\"\n z.literal(4), // \"AutoImportProvider\"\n z.literal(5), // \"Auxiliary\"\n ]),\n }),\n })\n .strict();\n\n/*\n * TRACE EVENT UNION\n */\n\nexport const traceEvent = z.discriminatedUnion(\n \"name\",\n [\n event_metadata__TracingStartedInBrowser,\n event_metadata__process_name,\n event_metadata__thread_name,\n\n event_parse__createSourceFile,\n event_parse__parseJsonSourceFileConfigFileContent,\n\n event_program__createProgram,\n event_program__findSourceFile,\n event_program__processRootFiles,\n event_program__processTypeReferenceDirective,\n event_program__processTypeReferences,\n event_program__resolveLibrary,\n event_program__resolveModuleNamesWorker,\n event_program__resolveTypeReferenceDirectiveNamesWorker,\n event_program__shouldProgramCreateNewSourceFiles,\n event_program__tryReuseStructureFromOldProgram,\n\n event_bind__bindSourceFile,\n\n event_check__checkExpression,\n event_check__checkSourceFile,\n event_check__checkVariableDeclaration,\n event_check__checkDeferredNode,\n event_check__checkSourceFileNodes,\n\n event_checktypes__checkTypeParameterDeferred,\n event_checktypes__getVariancesWorker,\n event_checktypes__structuredTypeRelatedTo,\n\n ...depthLimits,\n\n event_emit__emit,\n event_emit__emitBuildInfo,\n event_emit__emitDeclarationFileOrBundle,\n event_emit__emitJsFileOrBundle,\n event_emit__transformNodes,\n\n event_session__cancellationThrown,\n event_session__commandCanceled,\n event_session__commandError,\n event_session__createConfiguredProject,\n event_session__createdDocumentRegistryBucket,\n event_session__documentRegistryBucketOverlap,\n event_session__executeCommand,\n event_session__finishCachingPerDirectoryResolution,\n event_session__getPackageJsonAutoImportProvider,\n event_session__getUnresolvedImports,\n event_session__loadConfiguredProject,\n event_session__regionSemanticCheck,\n event_session__request,\n event_session__response,\n event_session__semanticCheck,\n event_session__stepAction,\n event_session__stepCanceled,\n event_session__stepError,\n event_session__suggestionCheck,\n event_session__syntacticCheck,\n event_session__updateGraph,\n ],\n {\n // errorMap: (issue, ctx) => ({\n // \t// prettier-ignore\n // \tmessage: issue.code === \"invalid_union_discriminator\" ?\n // \t\t\t`Invalid discriminator value. Expected ${issue.options.map(opt => `'${String(opt)}'`).join(' | ')}, got '${ctx.data.type}'.`\n // \t\t\t: ctx.defaultError,\n // }),\n },\n);\n\nexport type TraceEvent = z.infer<typeof traceEvent>;\nexport const traceJsonSchema = z.array(traceEvent);\nexport type TraceJsonSchema = z.infer<typeof traceJsonSchema>;\n","export const CPU_PROFILE_FILENAME = \"tsc.cpuprofile\";\n","import type { ResolvedType } from \"./types-json\";\n\n/**\n * Think of a TypeRegistry like an object that you'd use to look up types by their ID.\n *\n */\nexport type TypeRegistry = ResolvedType[];\n\nconst ALL_LIFE_IS_SUFFERING_THAT_BASKS_IN_NOTHINGNESS___ALL_LIFE_IS_TEMPORARY___WHAT_LASTS_IS_CONSCIOUSNESS: [\n ResolvedType,\n] = [{ id: 0, recursionId: -1, flags: [] }];\n\nexport const createTypeRegistry = (typesJson: ResolvedType[]): TypeRegistry => {\n return ALL_LIFE_IS_SUFFERING_THAT_BASKS_IN_NOTHINGNESS___ALL_LIFE_IS_TEMPORARY___WHAT_LASTS_IS_CONSCIOUSNESS.concat(\n typesJson,\n );\n};\n","import type { SvgIconComponent } from \"@mui/icons-material\";\n\nimport AltRoute from \"@mui/icons-material/AltRoute\";\nimport Check from \"@mui/icons-material/Check\";\nimport Close from \"@mui/icons-material/Close\";\nimport Extension from \"@mui/icons-material/Extension\";\nimport FilterListAlt from \"@mui/icons-material/FilterListAlt\";\nimport FindReplace from \"@mui/icons-material/FindReplace\";\nimport Input from \"@mui/icons-material/Input\";\nimport JoinFull from \"@mui/icons-material/JoinFull\";\nimport JoinInner from \"@mui/icons-material/JoinInner\";\nimport Key from \"@mui/icons-material/Key\";\nimport Polyline from \"@mui/icons-material/Polyline\";\nimport QuestionMark from \"@mui/icons-material/QuestionMark\";\nimport Search from \"@mui/icons-material/Search\";\nimport SettingsBackupRestore from \"@mui/icons-material/SettingsBackupRestore\";\nimport SportsKabaddi from \"@mui/icons-material/SportsKabaddi\";\nimport TrackChanges from \"@mui/icons-material/TrackChanges\";\n\nimport { z } from \"zod/v4\";\nimport { location, typeId } from \"./utils\";\n\nexport const TYPES_JSON_FILENAME = \"types.json\";\n\nconst flag = z.enum([\n \"Any\",\n \"Unknown\",\n \"String\",\n \"Number\",\n \"Boolean\",\n \"Enum\",\n \"BigInt\",\n \"StringLiteral\",\n \"NumberLiteral\",\n \"BooleanLiteral\",\n \"EnumLiteral\",\n \"BigIntLiteral\",\n \"ESSymbol\",\n \"UniqueESSymbol\",\n \"Void\",\n \"Undefined\",\n \"Null\",\n \"Never\",\n \"TypeParameter\",\n \"Object\",\n \"Union\",\n \"Intersection\",\n \"Index\",\n \"IndexedAccess\",\n \"Conditional\",\n \"Substitution\",\n \"NonPrimitive\",\n \"TemplateLiteral\",\n \"StringMapping\",\n \"Reserved1\",\n \"Reserved2\",\n \"AnyOrUnknown\",\n \"Nullable\",\n \"Literal\",\n \"Unit\",\n \"Freshable\",\n \"StringOrNumberLiteral\",\n \"StringOrNumberLiteralOrUnique\",\n \"DefinitelyFalsy\",\n \"PossiblyFalsy\",\n \"Intrinsic\",\n \"StringLike\",\n \"NumberLike\",\n \"BigIntLike\",\n \"BooleanLike\",\n \"EnumLike\",\n \"ESSymbolLike\",\n \"VoidLike\",\n \"Primitive\",\n \"DefinitelyNonNullable\",\n \"DisjointDomains\",\n \"UnionOrIntersection\",\n \"StructuredType\",\n \"TypeVariable\",\n \"InstantiableNonPrimitive\",\n \"InstantiablePrimitive\",\n \"Instantiable\",\n \"StructuredOrInstantiable\",\n \"ObjectFlagsType\",\n \"Simplifiable\",\n \"Singleton\",\n \"Narrowable\",\n \"IncludesMask\",\n \"IncludesMissingType\",\n \"IncludesNonWideningType\",\n \"IncludesWildcard\",\n \"IncludesEmptyObject\",\n \"IncludesInstantiable\",\n \"IncludesConstrainedTypeVariable\",\n \"IncludesError\",\n \"NotPrimitiveUnion\",\n]);\n\nexport type Flag = z.infer<typeof flag>;\n\nconst typeRelations = {\n typeArguments: z.array(typeId).optional(),\n unionTypes: z.array(typeId).optional(),\n intersectionTypes: z.array(typeId).optional(),\n aliasTypeArguments: z.array(typeId).optional(),\n instantiatedType: typeId.optional(),\n substitutionBaseType: typeId.optional(),\n constraintType: typeId.optional(),\n indexedAccessObjectType: typeId.optional(),\n indexedAccessIndexType: typeId.optional(),\n conditionalCheckType: typeId.optional(),\n conditionalExtendsType: typeId.optional(),\n conditionalTrueType: typeId.optional(),\n conditionalFalseType: typeId.optional(),\n keyofType: typeId.optional(),\n aliasType: typeId.optional(),\n evolvingArrayElementType: typeId.optional(),\n evolvingArrayFinalType: typeId.optional(),\n reverseMappedSourceType: typeId.optional(),\n reverseMappedMappedType: typeId.optional(),\n reverseMappedConstraintType: typeId.optional(),\n};\n\nexport interface TypeRelationInfo {\n source: {\n title: string;\n description: string;\n unit: string;\n };\n target: {\n title: string;\n description: string;\n unit: string;\n };\n route: string;\n icon: SvgIconComponent;\n}\n\nexport const typeRelationOrder = [\n \"unionTypes\",\n \"intersectionTypes\",\n \"typeArguments\",\n \"instantiatedType\",\n \"aliasTypeArguments\",\n \"conditionalCheckType\",\n \"conditionalExtendsType\",\n \"conditionalFalseType\",\n \"conditionalTrueType\",\n \"indexedAccessObjectType\",\n \"indexedAccessIndexType\",\n \"keyofType\",\n \"reverseMappedSourceType\",\n \"reverseMappedMappedType\",\n \"reverseMappedConstraintType\",\n \"substitutionBaseType\",\n \"constraintType\",\n \"evolvingArrayElementType\",\n \"evolvingArrayFinalType\",\n \"aliasType\",\n] as const;\n\nexport const typeRelationInfo = {\n unionTypes: {\n source: {\n title: \"Union\",\n unit: \"union members\",\n description:\n \"Type whose union has the greatest number of distinct members (breadth of possible shapes).\",\n },\n target: {\n title: \"Union Member\",\n unit: \"unions\",\n description: \"The type most frequently included in unions.\",\n },\n route: \"union-types\",\n icon: JoinFull,\n },\n intersectionTypes: {\n source: {\n title: \"Intersection\",\n unit: \"intersections\",\n description:\n \"Type whose intersection combines the greatest number of constituent types (breadth of constraints).\",\n },\n target: {\n title: \"Intersection Member\",\n unit: \"intersections\",\n description: \"The type most frequently included in intersections.\",\n },\n route: \"intersection-types\",\n icon: JoinInner,\n },\n typeArguments: {\n source: {\n title: \"Type Arguments\",\n unit: \"type arguments\",\n description:\n \"Generic type with the largest number of supplied type arguments at its most complex instantiation.\",\n },\n target: {\n title: \"Type Argument\",\n unit: \"type arguments\",\n description:\n \"The type most frequently used as a type argument (indicating complex generic interactions).\",\n },\n icon: SportsKabaddi,\n route: \"type-arguments\",\n },\n instantiatedType: {\n source: {\n title: \"Instantiated\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Instantiated By\",\n unit: \"instantiations\",\n description:\n \"Type that was instantiated the most, indicating high reuse.\",\n },\n icon: Polyline,\n route: \"instantiated-type\",\n },\n aliasTypeArguments: {\n source: {\n title: \"Generic Argument\",\n unit: \"generic arguments\",\n description:\n \"Type alias pulling in the greatest number of distinct generic arguments through its resolution layers.\",\n },\n target: {\n title: \"Generic Arguments\",\n unit: \"alias type-arguments\",\n description:\n 'The types most often used as generic arguments. The TypeScript compiler calls this \"alias type-arguments.\" There are technically other kinds of types that can show up here, but it\\'s mostly generic type arguments.',\n },\n icon: Input,\n route: \"alias-type-arguments\",\n },\n conditionalCheckType: {\n source: {\n title: \"Conditional Check\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Conditional Check Condition\",\n unit: \"conditional checks\",\n description:\n \"Type most often used as the checked type in conditional types (the `T` in `T extends U ? A : B`).\",\n },\n icon: QuestionMark,\n route: \"conditional-check-type\",\n },\n conditionalExtendsType: {\n source: {\n title: \"Conditional Extends\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Conditional Extends\",\n unit: \"extends uses\",\n description:\n \"Type most frequently appearing on the `extends` side of conditional types (the `U` in `T extends U ? A : B`)), indicating common constraint relationships.\",\n },\n icon: Extension,\n route: \"conditional-extends-type\",\n },\n conditionalFalseType: {\n source: {\n title: \"Conditional False\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Conditional False Branch\",\n unit: \"false-branch uses\",\n description:\n \"Type that most often appears as the `false` branch result of conditional types. Indicates fallback/resolution patterns.\",\n },\n icon: Close,\n route: \"conditional-false-type\",\n },\n conditionalTrueType: {\n source: {\n title: \"Conditional True\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Conditional True Branch\",\n unit: \"true-branch uses\",\n description:\n \"Type that most often appears as the `true` branch result of conditional types. Indicates favored resolution outcomes.\",\n },\n icon: Check,\n route: \"conditional-true-type\",\n },\n indexedAccessObjectType: {\n source: {\n title: \"Indexed Access Object\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Object Indexed Access By\",\n unit: \"indexed-accesses\",\n description:\n \"Type most frequently used as the object operand in indexed access (e.g. `T[K]`), indicating dynamic property shape usage.\",\n },\n icon: Search,\n route: \"indexed-access-object-type\",\n },\n indexedAccessIndexType: {\n source: {\n title: \"Indexed Access Index\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Tuple Indexed Access By\",\n unit: \"indexed-accesses\",\n description:\n \"Type most frequently used as the index operand in indexed access of a tuple (e.g. `SomeTuple[K]`).\",\n },\n icon: Search,\n route: \"indexed-access-index-type\",\n },\n keyofType: {\n source: {\n title: \"Keyof\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Keyof Uses\",\n unit: \"keyof uses\",\n description:\n \"Type most frequently used within 'keyof' operations, often indicating dynamic property access patterns.\",\n },\n icon: Key,\n route: \"keyof-type\",\n },\n reverseMappedSourceType: {\n source: {\n title: \"Reverse Mapped Source\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Reverse-Map Source\",\n unit: \"reverse-mappings\",\n description:\n \"Type most commonly appearing as the source in reverse-mapped type transforms (utility mapped types in reverse).\",\n },\n icon: SettingsBackupRestore,\n route: \"reverse-mapped-source-type\",\n },\n reverseMappedMappedType: {\n source: {\n title: \"Reverse Mapped Mapped\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Reverse-Map Mapped By\",\n unit: \"reverse-mapped sources\",\n description:\n \"Type most commonly produced by reverse-mapped transformations.\",\n },\n icon: SettingsBackupRestore,\n route: \"reverse-mapped-mapped-type\",\n },\n reverseMappedConstraintType: {\n source: {\n title: \"Reverse Mapped Constraint\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Reverse-Map Constraints\",\n unit: \"reverse-mapping constraints\",\n description:\n \"Type that often serves as a constraint in reverse-mapped transformations, indicating mapped type bounds.\",\n },\n icon: SettingsBackupRestore,\n route: \"reverse-mapped-constraint-type\",\n },\n substitutionBaseType: {\n source: {\n title: \"Substitution Base\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Substitution Bases\",\n unit: \"substitution uses\",\n description:\n \"Type used as a substitution base during type substitution operations, signaling types that commonly serve as generic inference placeholders.\",\n },\n icon: FindReplace,\n route: \"substitution-base-type\",\n },\n constraintType: {\n source: {\n title: \"Constraint\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Generic Constraints\",\n unit: \"constraint uses\",\n description:\n \"Type most often appearing as a generic constraint (e.g. in `extends` clauses) when resolving generics and conditionals.\",\n },\n icon: FilterListAlt,\n route: \"constraint-type\",\n },\n evolvingArrayElementType: {\n source: {\n title: \"Evolving Array Element\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Evolving Array Element\",\n unit: \"array element uses\",\n description:\n \"Type most commonly used as the evolving array element during array widening/folding operations in inference.\",\n },\n icon: TrackChanges,\n route: \"evolving-array-element-type\",\n },\n evolvingArrayFinalType: {\n source: {\n title: \"Evolving Array Final\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Evolving Array Final\",\n unit: \"array final uses\",\n description:\n \"Type that frequently becomes the final element type after array evolution/widening, useful to spot common widened shapes.\",\n },\n icon: TrackChanges,\n route: \"evolving-array-final-type\",\n },\n aliasType: {\n source: {\n title: \"Alias\",\n unit: \"\",\n description: \"\",\n },\n target: {\n title: \"Aliased As\",\n unit: \"alias uses\",\n description:\n \"Type most frequently used as an alias target, shows which aliases are heavily reused across the codebase.\",\n },\n icon: AltRoute,\n route: \"alias-type\",\n },\n} as const satisfies Record<keyof typeof typeRelations, TypeRelationInfo>;\n\nexport const resolvedType = z\n .object({\n id: typeId,\n flags: z.array(flag),\n\n recursionId: z.number().optional(),\n intrinsicName: z\n .enum([\n \"any\",\n \"error\",\n \"unresolved\",\n \"unknown\",\n \"true\",\n \"false\",\n \"never\",\n \"void\",\n \"symbol\",\n \"bigint\",\n \"null\",\n \"undefined\",\n \"intrinsic\",\n \"object\",\n \"boolean\",\n \"number\",\n \"string\",\n ])\n .optional(),\n\n firstDeclaration: location.optional(),\n referenceLocation: location.optional(),\n destructuringPattern: location.optional(),\n\n ...typeRelations,\n\n isTuple: z.literal(true).optional(),\n\n symbolName: z.string().optional(),\n display: z.string().optional(),\n })\n .strict();\n\nexport type ResolvedType = z.infer<typeof resolvedType>;\nexport const typesJsonSchema = z.array(resolvedType);\nexport type TypesJsonSchema = z.infer<typeof typesJsonSchema>;\n"],"mappings":"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ACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,MAAa,mBAAmB;CAC9B,YAAY;EACV,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,OAAO;EACP,MAAM;EACP;CACD,mBAAmB;EACjB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,OAAO;EACP,MAAM;EACP;CACD,eAAe;EACb,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,kBAAkB;EAChB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,oBAAoB;EAClB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,sBAAsB;EACpB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,wBAAwB;EACtB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,sBAAsB;EACpB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,qBAAqB;EACnB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,yBAAyB;EACvB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,wBAAwB;EACtB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,WAAW;EACT,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,yBAAyB;EACvB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,yBAAyB;EACvB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,6BAA6B;EAC3B,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,sBAAsB;EACpB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,gBAAgB;EACd,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,0BAA0B;EACxB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,wBAAwB;EACtB,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACD,WAAW;EACT,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,MAAM;EACN,OAAO;EACR;CACF;AAED,MAAa,eAAe,EACzB,OAAO;CACN,IAAI;CACJ,OAAO,EAAE,MAAM,KAAK;CAEpB,aAAa,EAAE,QAAQ,CAAC,UAAU;CAClC,eAAe,EACZ,KAAK;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,CACD,UAAU;CAEb,kBAAkB,SAAS,UAAU;CACrC,mBAAmB,SAAS,UAAU;CACtC,sBAAsB,SAAS,UAAU;CAEzC,GAAG;CAEH,SAAS,EAAE,QAAQ,KAAK,CAAC,UAAU;CAEnC,YAAY,EAAE,QAAQ,CAAC,UAAU;CACjC,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC/B,CAAC,CACD,QAAQ;AAGX,MAAa,kBAAkB,EAAE,MAAM,aAAa"}
|
package/dist/node.mjs
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
+
import { prettifyError } from "zod/v4";
|
|
1
2
|
import { readFile } from "node:fs/promises";
|
|
2
3
|
|
|
3
4
|
//#region src/grab-file.ts
|
|
4
5
|
const grabFile = async (filePath, validator) => {
|
|
5
|
-
console.log("grabFile:", filePath);
|
|
6
6
|
const json = await readSmallJson(filePath, "utf8");
|
|
7
7
|
const parsed = await validator.safeParseAsync(json);
|
|
8
|
-
if (!parsed.success) {
|
|
9
|
-
console.error("Error parsing file", {
|
|
10
|
-
filePath,
|
|
11
|
-
parsed
|
|
12
|
-
});
|
|
13
|
-
throw new Error(`Error parsing file ${filePath}`);
|
|
14
|
-
}
|
|
8
|
+
if (!parsed.success) throw new Error(`Error parsing file ${filePath}\n${prettifyError(parsed.error)}`);
|
|
15
9
|
return parsed.data;
|
|
16
10
|
};
|
|
17
11
|
const readSmallJson = async (filePath, encoding) => {
|
package/dist/node.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.mjs","names":[],"sources":["../src/grab-file.ts"],"sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport type
|
|
1
|
+
{"version":3,"file":"node.mjs","names":[],"sources":["../src/grab-file.ts"],"sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { type z, prettifyError } from \"zod/v4\";\n\nexport const grabFile = async <V extends z.ZodType>(\n filePath: string,\n validator: V,\n) => {\n const json = await readSmallJson(filePath, \"utf8\");\n const parsed = await validator.safeParseAsync(json);\n if (!parsed.success) {\n throw new Error(\n `Error parsing file ${filePath}\\n${prettifyError(parsed.error)}`,\n );\n }\n return parsed.data;\n};\n\nexport const readSmallJson = async (\n filePath: string,\n encoding: \"utf8\",\n): Promise<unknown> => {\n const fileString = await readFile(filePath, { encoding });\n const parsed = JSON.parse(fileString);\n return parsed;\n};\n"],"mappings":";;;;AAGA,MAAa,WAAW,OACtB,UACA,cACG;CACH,MAAM,OAAO,MAAM,cAAc,UAAU,OAAO;CAClD,MAAM,SAAS,MAAM,UAAU,eAAe,KAAK;AACnD,KAAI,CAAC,OAAO,QACV,OAAM,IAAI,MACR,sBAAsB,SAAS,IAAI,cAAc,OAAO,MAAM,GAC/D;AAEH,QAAO,OAAO;;AAGhB,MAAa,gBAAgB,OAC3B,UACA,aACqB;CACrB,MAAM,aAAa,MAAM,SAAS,UAAU,EAAE,UAAU,CAAC;AAEzD,QADe,KAAK,MAAM,WAAW"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typeslayer/validate",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.32",
|
|
4
4
|
"description": "Validation schemas and utilities for TypeScript compiler trace analysis",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"private": false,
|
|
@@ -28,20 +28,23 @@
|
|
|
28
28
|
"import": "./dist/node.mjs"
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
|
+
"bin": {
|
|
32
|
+
"typeslayer-validate": "./bin/typeslayer-validate.mjs"
|
|
33
|
+
},
|
|
31
34
|
"main": "./dist/index.mjs",
|
|
32
35
|
"types": "./dist/index.d.mts",
|
|
33
36
|
"dependencies": {
|
|
34
|
-
"@mui/icons-material": "7.3.
|
|
35
|
-
"@mui/material": "7.3.
|
|
36
|
-
"zod": "4.
|
|
37
|
+
"@mui/icons-material": "7.3.8",
|
|
38
|
+
"@mui/material": "7.3.8",
|
|
39
|
+
"zod": "4.3.6"
|
|
37
40
|
},
|
|
38
41
|
"devDependencies": {
|
|
39
42
|
"@arethetypeswrong/cli": "0.18.2",
|
|
40
|
-
"@types/node": "25.0
|
|
43
|
+
"@types/node": "25.3.0",
|
|
41
44
|
"@types/stream-json": "1.7.8",
|
|
42
|
-
"tsdown": "0.
|
|
45
|
+
"tsdown": "0.20.3",
|
|
43
46
|
"typescript": "5.9.3",
|
|
44
|
-
"vitest": "4.0.
|
|
47
|
+
"vitest": "4.0.18"
|
|
45
48
|
},
|
|
46
49
|
"scripts": {
|
|
47
50
|
"build": "tsdown",
|
package/src/grab-file.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
|
-
import type
|
|
2
|
+
import { type z, prettifyError } from "zod/v4";
|
|
3
3
|
|
|
4
4
|
export const grabFile = async <V extends z.ZodType>(
|
|
5
5
|
filePath: string,
|
|
6
6
|
validator: V,
|
|
7
7
|
) => {
|
|
8
|
-
console.log("grabFile:", filePath);
|
|
9
8
|
const json = await readSmallJson(filePath, "utf8");
|
|
10
9
|
const parsed = await validator.safeParseAsync(json);
|
|
11
10
|
if (!parsed.success) {
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
throw new Error(
|
|
12
|
+
`Error parsing file ${filePath}\n${prettifyError(parsed.error)}`,
|
|
13
|
+
);
|
|
14
14
|
}
|
|
15
15
|
return parsed.data;
|
|
16
16
|
};
|
package/src/utils.ts
CHANGED
|
@@ -6,15 +6,19 @@ export const typeId = z.number().int().positive().or(z.literal(-1));
|
|
|
6
6
|
|
|
7
7
|
export type TypeId = z.infer<typeof typeId>;
|
|
8
8
|
|
|
9
|
-
export const position = z
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
export const position = z
|
|
10
|
+
.object({
|
|
11
|
+
line: typeId,
|
|
12
|
+
character: z.number(),
|
|
13
|
+
})
|
|
14
|
+
.strict();
|
|
13
15
|
|
|
14
16
|
export const absolutePath = z.string();
|
|
15
17
|
|
|
16
|
-
export const location = z
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
export const location = z
|
|
19
|
+
.object({
|
|
20
|
+
path: absolutePath,
|
|
21
|
+
start: position,
|
|
22
|
+
end: position,
|
|
23
|
+
})
|
|
24
|
+
.strict();
|