@typeslayer/validate 0.1.31 → 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 +24 -24
- 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
|
@@ -1693,8 +1693,6 @@ declare const CPU_PROFILE_FILENAME = "tsc.cpuprofile";
|
|
|
1693
1693
|
//#region src/types-json.d.ts
|
|
1694
1694
|
declare const TYPES_JSON_FILENAME = "types.json";
|
|
1695
1695
|
declare const flag: z.ZodEnum<{
|
|
1696
|
-
Union: "Union";
|
|
1697
|
-
Intersection: "Intersection";
|
|
1698
1696
|
Any: "Any";
|
|
1699
1697
|
Unknown: "Unknown";
|
|
1700
1698
|
String: "String";
|
|
@@ -1715,6 +1713,8 @@ declare const flag: z.ZodEnum<{
|
|
|
1715
1713
|
Never: "Never";
|
|
1716
1714
|
TypeParameter: "TypeParameter";
|
|
1717
1715
|
Object: "Object";
|
|
1716
|
+
Union: "Union";
|
|
1717
|
+
Intersection: "Intersection";
|
|
1718
1718
|
Index: "Index";
|
|
1719
1719
|
IndexedAccess: "IndexedAccess";
|
|
1720
1720
|
Conditional: "Conditional";
|
|
@@ -2129,8 +2129,6 @@ declare const resolvedType: z.ZodObject<{
|
|
|
2129
2129
|
reverseMappedConstraintType: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>>;
|
|
2130
2130
|
id: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2131
2131
|
flags: z.ZodArray<z.ZodEnum<{
|
|
2132
|
-
Union: "Union";
|
|
2133
|
-
Intersection: "Intersection";
|
|
2134
2132
|
Any: "Any";
|
|
2135
2133
|
Unknown: "Unknown";
|
|
2136
2134
|
String: "String";
|
|
@@ -2151,6 +2149,8 @@ declare const resolvedType: z.ZodObject<{
|
|
|
2151
2149
|
Never: "Never";
|
|
2152
2150
|
TypeParameter: "TypeParameter";
|
|
2153
2151
|
Object: "Object";
|
|
2152
|
+
Union: "Union";
|
|
2153
|
+
Intersection: "Intersection";
|
|
2154
2154
|
Index: "Index";
|
|
2155
2155
|
IndexedAccess: "IndexedAccess";
|
|
2156
2156
|
Conditional: "Conditional";
|
|
@@ -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<{
|
|
@@ -2282,8 +2282,6 @@ declare const typesJsonSchema: z.ZodArray<z.ZodObject<{
|
|
|
2282
2282
|
reverseMappedConstraintType: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>>;
|
|
2283
2283
|
id: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
|
|
2284
2284
|
flags: z.ZodArray<z.ZodEnum<{
|
|
2285
|
-
Union: "Union";
|
|
2286
|
-
Intersection: "Intersection";
|
|
2287
2285
|
Any: "Any";
|
|
2288
2286
|
Unknown: "Unknown";
|
|
2289
2287
|
String: "String";
|
|
@@ -2304,6 +2302,8 @@ declare const typesJsonSchema: z.ZodArray<z.ZodObject<{
|
|
|
2304
2302
|
Never: "Never";
|
|
2305
2303
|
TypeParameter: "TypeParameter";
|
|
2306
2304
|
Object: "Object";
|
|
2305
|
+
Union: "Union";
|
|
2306
|
+
Intersection: "Intersection";
|
|
2307
2307
|
Index: "Index";
|
|
2308
2308
|
IndexedAccess: "IndexedAccess";
|
|
2309
2309
|
Conditional: "Conditional";
|
|
@@ -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();
|