@typeslayer/validate 0.1.30 → 0.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md 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 '@typeslayer/validate';
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 'fs';
17
- import { validateTraceJson } from '@typeslayer/validate/node';
25
+ import { createReadStream } from "fs";
26
+ import { validateTraceJson } from "@typeslayer/validate/node";
18
27
 
19
- const stream = createReadStream('trace.json');
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 '@typeslayer/validate';
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 '@typeslayer/validate';
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 '@typeslayer/validate';
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 'createSourceFile':
61
- console.log('Creating source file:', event.args.path);
68
+ case "createSourceFile":
69
+ console.log("Creating source file:", event.args.path);
62
70
  break;
63
71
  // ... other event types
64
72
  }
@@ -0,0 +1,102 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { resolve } from "node:path";
4
+ import process, { exit } from "node:process";
5
+ import {
6
+ TRACE_JSON_FILENAME,
7
+ TYPES_JSON_FILENAME,
8
+ traceJsonSchema,
9
+ typesJsonSchema,
10
+ } from "../dist/index.mjs";
11
+ import { grabFile } from "../dist/node.mjs";
12
+
13
+ const usage = () => {
14
+ console.log(`Usage:
15
+ npx @typeslayer/validate --trace ./trace.json
16
+ npx @typeslayer/validate --types ./types.json
17
+
18
+ Flags:
19
+ --trace <path> Validate a trace.json file
20
+ --types <path> Validate a types.json file
21
+ --help Show this help message`);
22
+ };
23
+
24
+ const parseArgs = argv => {
25
+ let tracePath;
26
+ let typesPath;
27
+
28
+ for (let i = 2; i < argv.length; i++) {
29
+ const arg = argv[i];
30
+ if (arg === "--help" || arg === "-h") {
31
+ return { help: true };
32
+ }
33
+ if (arg === "--trace") {
34
+ const value = argv[i + 1];
35
+ if (!value || value.startsWith("--")) {
36
+ throw new Error("Missing value for --trace");
37
+ }
38
+ tracePath = value;
39
+ i++;
40
+ continue;
41
+ }
42
+ if (arg === "--types") {
43
+ const value = argv[i + 1];
44
+ if (!value || value.startsWith("--")) {
45
+ throw new Error("Missing value for --types");
46
+ }
47
+ typesPath = value;
48
+ i++;
49
+ continue;
50
+ }
51
+ throw new Error(`Unknown argument: ${arg}`);
52
+ }
53
+
54
+ return { tracePath, typesPath, help: false };
55
+ };
56
+
57
+ const main = async () => {
58
+ let parsed;
59
+ try {
60
+ parsed = parseArgs(process.argv);
61
+ } catch (error) {
62
+ console.error(error instanceof Error ? error.message : String(error));
63
+ usage();
64
+ exit(1);
65
+ return;
66
+ }
67
+
68
+ if (parsed.help) {
69
+ usage();
70
+ return;
71
+ }
72
+
73
+ if (parsed.tracePath && parsed.typesPath) {
74
+ console.error("you can't use --trace and --types at the same time");
75
+ usage();
76
+ exit(1);
77
+ return;
78
+ }
79
+
80
+ if (!parsed.tracePath && !parsed.typesPath) {
81
+ console.error("Provide either --trace or --types.");
82
+ usage();
83
+ exit(1);
84
+ return;
85
+ }
86
+
87
+ if (parsed.tracePath) {
88
+ const filePath = resolve(parsed.tracePath);
89
+ await grabFile(filePath, traceJsonSchema);
90
+ console.log(`✅ Valid ${TRACE_JSON_FILENAME}: ${filePath}`);
91
+ return;
92
+ }
93
+
94
+ const filePath = resolve(parsed.typesPath);
95
+ await grabFile(filePath, typesJsonSchema);
96
+ console.log(`✅ Valid ${TYPES_JSON_FILENAME}: ${filePath}`);
97
+ };
98
+
99
+ main().catch(error => {
100
+ console.error(error instanceof Error ? error.message : String(error));
101
+ exit(1);
102
+ });
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod/v4";
2
- import * as _mui_material_SvgIcon19 from "@mui/material/SvgIcon";
3
- import * as _mui_material_OverridableComponent19 from "@mui/material/OverridableComponent";
2
+ import * as _mui_material_SvgIcon0 from "@mui/material/SvgIcon";
3
+ import * as _mui_material_OverridableComponent0 from "@mui/material/OverridableComponent";
4
4
  import { SvgIconComponent } from "@mui/icons-material";
5
5
 
6
6
  //#region src/package-name.d.ts
@@ -313,7 +313,7 @@ declare const depthLimitInfo: {
313
313
  title: string;
314
314
  notFound: string;
315
315
  route: string;
316
- icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
316
+ icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
317
317
  muiName: string;
318
318
  };
319
319
  };
@@ -321,7 +321,7 @@ declare const depthLimitInfo: {
321
321
  title: string;
322
322
  notFound: string;
323
323
  route: string;
324
- icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
324
+ icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
325
325
  muiName: string;
326
326
  };
327
327
  };
@@ -329,7 +329,7 @@ declare const depthLimitInfo: {
329
329
  title: string;
330
330
  notFound: string;
331
331
  route: string;
332
- icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
332
+ icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
333
333
  muiName: string;
334
334
  };
335
335
  };
@@ -337,7 +337,7 @@ declare const depthLimitInfo: {
337
337
  title: string;
338
338
  notFound: string;
339
339
  route: string;
340
- icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
340
+ icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
341
341
  muiName: string;
342
342
  };
343
343
  };
@@ -345,7 +345,7 @@ declare const depthLimitInfo: {
345
345
  title: string;
346
346
  notFound: string;
347
347
  route: string;
348
- icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
348
+ icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
349
349
  muiName: string;
350
350
  };
351
351
  };
@@ -353,7 +353,7 @@ declare const depthLimitInfo: {
353
353
  title: string;
354
354
  notFound: string;
355
355
  route: string;
356
- icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
356
+ icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
357
357
  muiName: string;
358
358
  };
359
359
  };
@@ -361,7 +361,7 @@ declare const depthLimitInfo: {
361
361
  title: string;
362
362
  notFound: string;
363
363
  route: string;
364
- icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
364
+ icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
365
365
  muiName: string;
366
366
  };
367
367
  };
@@ -369,7 +369,7 @@ declare const depthLimitInfo: {
369
369
  title: string;
370
370
  notFound: string;
371
371
  route: string;
372
- icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
372
+ icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
373
373
  muiName: string;
374
374
  };
375
375
  };
@@ -1794,7 +1794,7 @@ declare const typeRelationInfo: {
1794
1794
  readonly description: "The type most frequently included in unions.";
1795
1795
  };
1796
1796
  readonly route: "union-types";
1797
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1797
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1798
1798
  muiName: string;
1799
1799
  };
1800
1800
  };
@@ -1810,7 +1810,7 @@ declare const typeRelationInfo: {
1810
1810
  readonly description: "The type most frequently included in intersections.";
1811
1811
  };
1812
1812
  readonly route: "intersection-types";
1813
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1813
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1814
1814
  muiName: string;
1815
1815
  };
1816
1816
  };
@@ -1825,7 +1825,7 @@ declare const typeRelationInfo: {
1825
1825
  readonly unit: "type arguments";
1826
1826
  readonly description: "The type most frequently used as a type argument (indicating complex generic interactions).";
1827
1827
  };
1828
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1828
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1829
1829
  muiName: string;
1830
1830
  };
1831
1831
  readonly route: "type-arguments";
@@ -1841,7 +1841,7 @@ declare const typeRelationInfo: {
1841
1841
  readonly unit: "instantiations";
1842
1842
  readonly description: "Type that was instantiated the most, indicating high reuse.";
1843
1843
  };
1844
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1844
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1845
1845
  muiName: string;
1846
1846
  };
1847
1847
  readonly route: "instantiated-type";
@@ -1857,7 +1857,7 @@ declare const typeRelationInfo: {
1857
1857
  readonly unit: "alias type-arguments";
1858
1858
  readonly description: "The types most often used as generic arguments. The TypeScript compiler calls this \"alias type-arguments.\" There are technically other kinds of types that can show up here, but it's mostly generic type arguments.";
1859
1859
  };
1860
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1860
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1861
1861
  muiName: string;
1862
1862
  };
1863
1863
  readonly route: "alias-type-arguments";
@@ -1873,7 +1873,7 @@ declare const typeRelationInfo: {
1873
1873
  readonly unit: "conditional checks";
1874
1874
  readonly description: "Type most often used as the checked type in conditional types (the `T` in `T extends U ? A : B`).";
1875
1875
  };
1876
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1876
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1877
1877
  muiName: string;
1878
1878
  };
1879
1879
  readonly route: "conditional-check-type";
@@ -1889,7 +1889,7 @@ declare const typeRelationInfo: {
1889
1889
  readonly unit: "extends uses";
1890
1890
  readonly description: "Type most frequently appearing on the `extends` side of conditional types (the `U` in `T extends U ? A : B`)), indicating common constraint relationships.";
1891
1891
  };
1892
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1892
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1893
1893
  muiName: string;
1894
1894
  };
1895
1895
  readonly route: "conditional-extends-type";
@@ -1905,7 +1905,7 @@ declare const typeRelationInfo: {
1905
1905
  readonly unit: "false-branch uses";
1906
1906
  readonly description: "Type that most often appears as the `false` branch result of conditional types. Indicates fallback/resolution patterns.";
1907
1907
  };
1908
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1908
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1909
1909
  muiName: string;
1910
1910
  };
1911
1911
  readonly route: "conditional-false-type";
@@ -1921,7 +1921,7 @@ declare const typeRelationInfo: {
1921
1921
  readonly unit: "true-branch uses";
1922
1922
  readonly description: "Type that most often appears as the `true` branch result of conditional types. Indicates favored resolution outcomes.";
1923
1923
  };
1924
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1924
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1925
1925
  muiName: string;
1926
1926
  };
1927
1927
  readonly route: "conditional-true-type";
@@ -1937,7 +1937,7 @@ declare const typeRelationInfo: {
1937
1937
  readonly unit: "indexed-accesses";
1938
1938
  readonly description: "Type most frequently used as the object operand in indexed access (e.g. `T[K]`), indicating dynamic property shape usage.";
1939
1939
  };
1940
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1940
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1941
1941
  muiName: string;
1942
1942
  };
1943
1943
  readonly route: "indexed-access-object-type";
@@ -1953,7 +1953,7 @@ declare const typeRelationInfo: {
1953
1953
  readonly unit: "indexed-accesses";
1954
1954
  readonly description: "Type most frequently used as the index operand in indexed access of a tuple (e.g. `SomeTuple[K]`).";
1955
1955
  };
1956
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1956
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1957
1957
  muiName: string;
1958
1958
  };
1959
1959
  readonly route: "indexed-access-index-type";
@@ -1969,7 +1969,7 @@ declare const typeRelationInfo: {
1969
1969
  readonly unit: "keyof uses";
1970
1970
  readonly description: "Type most frequently used within 'keyof' operations, often indicating dynamic property access patterns.";
1971
1971
  };
1972
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1972
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1973
1973
  muiName: string;
1974
1974
  };
1975
1975
  readonly route: "keyof-type";
@@ -1985,7 +1985,7 @@ declare const typeRelationInfo: {
1985
1985
  readonly unit: "reverse-mappings";
1986
1986
  readonly description: "Type most commonly appearing as the source in reverse-mapped type transforms (utility mapped types in reverse).";
1987
1987
  };
1988
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
1988
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
1989
1989
  muiName: string;
1990
1990
  };
1991
1991
  readonly route: "reverse-mapped-source-type";
@@ -2001,7 +2001,7 @@ declare const typeRelationInfo: {
2001
2001
  readonly unit: "reverse-mapped sources";
2002
2002
  readonly description: "Type most commonly produced by reverse-mapped transformations.";
2003
2003
  };
2004
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
2004
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
2005
2005
  muiName: string;
2006
2006
  };
2007
2007
  readonly route: "reverse-mapped-mapped-type";
@@ -2017,7 +2017,7 @@ declare const typeRelationInfo: {
2017
2017
  readonly unit: "reverse-mapping constraints";
2018
2018
  readonly description: "Type that often serves as a constraint in reverse-mapped transformations, indicating mapped type bounds.";
2019
2019
  };
2020
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
2020
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
2021
2021
  muiName: string;
2022
2022
  };
2023
2023
  readonly route: "reverse-mapped-constraint-type";
@@ -2033,7 +2033,7 @@ declare const typeRelationInfo: {
2033
2033
  readonly unit: "substitution uses";
2034
2034
  readonly description: "Type used as a substitution base during type substitution operations, signaling types that commonly serve as generic inference placeholders.";
2035
2035
  };
2036
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
2036
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
2037
2037
  muiName: string;
2038
2038
  };
2039
2039
  readonly route: "substitution-base-type";
@@ -2049,7 +2049,7 @@ declare const typeRelationInfo: {
2049
2049
  readonly unit: "constraint uses";
2050
2050
  readonly description: "Type most often appearing as a generic constraint (e.g. in `extends` clauses) when resolving generics and conditionals.";
2051
2051
  };
2052
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
2052
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
2053
2053
  muiName: string;
2054
2054
  };
2055
2055
  readonly route: "constraint-type";
@@ -2065,7 +2065,7 @@ declare const typeRelationInfo: {
2065
2065
  readonly unit: "array element uses";
2066
2066
  readonly description: "Type most commonly used as the evolving array element during array widening/folding operations in inference.";
2067
2067
  };
2068
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
2068
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
2069
2069
  muiName: string;
2070
2070
  };
2071
2071
  readonly route: "evolving-array-element-type";
@@ -2081,7 +2081,7 @@ declare const typeRelationInfo: {
2081
2081
  readonly unit: "array final uses";
2082
2082
  readonly description: "Type that frequently becomes the final element type after array evolution/widening, useful to spot common widened shapes.";
2083
2083
  };
2084
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
2084
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
2085
2085
  muiName: string;
2086
2086
  };
2087
2087
  readonly route: "evolving-array-final-type";
@@ -2097,7 +2097,7 @@ declare const typeRelationInfo: {
2097
2097
  readonly unit: "alias uses";
2098
2098
  readonly description: "Type most frequently used as an alias target, shows which aliases are heavily reused across the codebase.";
2099
2099
  };
2100
- readonly icon: _mui_material_OverridableComponent19.OverridableComponent<_mui_material_SvgIcon19.SvgIconTypeMap<{}, "svg">> & {
2100
+ readonly icon: _mui_material_OverridableComponent0.OverridableComponent<_mui_material_SvgIcon0.SvgIconTypeMap<{}, "svg">> & {
2101
2101
  muiName: string;
2102
2102
  };
2103
2103
  readonly route: "alias-type";
@@ -2226,34 +2226,34 @@ declare const resolvedType: z.ZodObject<{
2226
2226
  start: z.ZodObject<{
2227
2227
  line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
2228
2228
  character: z.ZodNumber;
2229
- }, z.core.$strip>;
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.$strip>;
2234
- }, z.core.$strip>>;
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.$strip>;
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.$strip>;
2245
- }, z.core.$strip>>;
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.$strip>;
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.$strip>;
2256
- }, z.core.$strip>>;
2255
+ }, z.core.$strict>;
2256
+ }, z.core.$strict>>;
2257
2257
  }, z.core.$strict>;
2258
2258
  type ResolvedType = z.infer<typeof resolvedType>;
2259
2259
  declare const typesJsonSchema: z.ZodArray<z.ZodObject<{
@@ -2379,34 +2379,34 @@ declare const typesJsonSchema: z.ZodArray<z.ZodObject<{
2379
2379
  start: z.ZodObject<{
2380
2380
  line: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<-1>]>;
2381
2381
  character: z.ZodNumber;
2382
- }, z.core.$strip>;
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.$strip>;
2387
- }, z.core.$strip>>;
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.$strip>;
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.$strip>;
2398
- }, z.core.$strip>>;
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.$strip>;
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.$strip>;
2409
- }, z.core.$strip>>;
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
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAa,mBACX;AAEF,MAAa,sBAAsB,SAAgC;CACjE,MAAM,eAAe;AACrB,KAAI,KAAK,SAAS,aAAa,EAAE;EAE/B,MAAM,aAAa,KAAK,QAAQ,aAAa,GAAG;EAChD,MAAM,WAAW,KAAK,QAAQ,KAAK,WAAW;AAC9C,MAAI,aAAa,GACf,OAAM,IAAI,MACR,kEACD;AAEH,SAAO,KAAK,UAAU,YAAY,SAAS,CAAC,QAAQ,KAAK,IAAI;;AAG/D,QAAO;;;;;;;;;AAUT,SAAgB,eAAe,MAAc,IAAoB;CAE/D,MAAM,UAAU,IAAI,IAAI,UAAU,KAAK,SAAS,IAAI,GAAG,OAAO,GAAG,KAAK,MAAM;CAC5E,MAAM,QAAQ,IAAI,IAAI,UAAU,KAAK;CAErC,MAAM,YAAY,QAAQ,SAAS,MAAM,IAAI,CAAC,OAAO,QAAQ;CAC7D,MAAM,UAAU,MAAM,SAAS,MAAM,IAAI,CAAC,OAAO,QAAQ;CAGzD,IAAI,IAAI;AACR,QACE,IAAI,UAAU,UACd,IAAI,QAAQ,UACZ,UAAU,OAAO,QAAQ,GAEzB;CAGF,MAAM,KAAK,UAAU,SAAS;CAC9B,MAAM,OAAO,QAAQ,MAAM,EAAE,CAAC,KAAK,IAAI;AAEvC,QAAO,GAAG,MAAM,OAAO,GAAG,GAAG;;;;;AC5C/B,MAAa,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC;AAInE,MAAa,WAAW,EAAE,OAAO;CAC/B,MAAM;CACN,WAAW,EAAE,QAAQ;CACtB,CAAC;AAEF,MAAa,eAAe,EAAE,QAAQ;AAEtC,MAAa,WAAW,EAAE,OAAO;CAC/B,MAAM;CACN,OAAO;CACP,KAAK;CACN,CAAC;;;;ACPF,MAAa,sBAAsB;AAEnC,MAAa,aAAa;CACxB,OAAO;CACP,KAAK;CACL,UAAU;CACV,UAAU;CACV,eAAe;CAEhB;AAED,MAAa,eAAe;CAC1B,QAAQ;CACR,QAAQ;CACR,SAAS;CACV;AAED,MAAM,gBAAgB,EACpB,IAAI,EAAE,MAAM,CAAC,EAAE,QAAQ,WAAW,MAAM,EAAE,EAAE,QAAQ,WAAW,IAAI,CAAC,CAAC,EACtE;AAED,MAAM,gBAAgB;CACpB,IAAI,EAAE,QAAQ,WAAW,SAAS;CAClC,KAAK,EAAE,QAAQ,CAAC,UAAU;CAC3B;AAED,MAAM,eAAe,EACnB,IAAI,EAAE,QAAQ,WAAW,cAAc,EACxC;AAED,MAAM,WAAW;CACf,OAAO,EACL,KAAK,EAAE,QAAQ,QAAQ,EACxB;CACD,SAAS,EACP,KAAK,EAAE,QAAQ,UAAU,EAC1B;CACD,MAAM,EACJ,KAAK,EAAE,QAAQ,OAAO,EACvB;CACD,OAAO,EACL,KAAK,EAAE,QAAQ,QAAQ,EACxB;CACD,YAAY,EACV,KAAK,EAAE,QAAQ,aAAa,EAC7B;CACD,MAAM,EACJ,KAAK,EAAE,QAAQ,OAAO,EACvB;CACD,SAAS,EACP,KAAK,EAAE,QAAQ,UAAU,EAC1B;CACF;AAED,MAAM,cAAc;CAClB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;CAChC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;CAChC,IAAI,EAAE,QAAQ,CAAC,UAAU;CAC1B;AAMD,MAAM,0CAA0C,EAC7C,OAAO;CACN,GAAG;CACH,KAAK,EAAE,QAAQ,wCAAwC;CACvD,MAAM,EAAE,QAAQ,0BAA0B;CAC1C,IAAI,EAAE,QAAQ,WAAW,SAAS;CACnC,CAAC,CACD,QAAQ;AAEX,MAAM,+BAA+B,EAClC,OAAO;CACN,GAAG;CACH,IAAI,EAAE,QAAQ,WAAW,SAAS;CAClC,MAAM,EAAE,OAAO,EACb,MAAM,EAAE,QAAQ,MAAM,EACvB,CAAC;CACF,KAAK,EAAE,QAAQ,aAAa;CAC5B,MAAM,EAAE,QAAQ,eAAe;CAChC,CAAC,CACD,QAAQ;AAEX,MAAM,8BAA8B,EACjC,OAAO;CACN,GAAG;CACH,MAAM,EAAE,QAAQ,cAAc;CAC9B,KAAK,EAAE,QAAQ,aAAa;CAC5B,IAAI,EAAE,QAAQ,WAAW,SAAS;CAClC,MAAM,EAAE,OAAO,EACb,MAAM,EAAE,QAAQ,OAAO,EACxB,CAAC;CACH,CAAC,CACD,QAAQ;AAMX,MAAM,gCAAgC,EACnC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,mBAAmB;CACnC,MAAM,EAAE,OAAO,EACb,MAAM,cACP,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,oDAAoD,EACvD,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,uCAAuC;CACvD,MAAM,EAAE,OAAO,EACb,MAAM,cACP,CAAC;CACH,CAAC,CACD,QAAQ;AAMX,MAAM,+BAA+B,EAClC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,gBAAgB;CAChC,MAAM,EAAE,OAAO,EACb,gBAAgB,cACjB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,gCAAgC,EACnC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,iBAAiB;CACjC,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO;EACb,UAAU;EACV,iBAAiB,EAAE,MAAM;GACvB,EAAE,QAAQ,WAAW;GACrB,EAAE,QAAQ,SAAS;GACnB,EAAE,QAAQ,yBAAyB;GACnC,EAAE,QAAQ,UAAU;GACpB,EAAE,QAAQ,wBAAwB;GAClC,EAAE,QAAQ,6BAA6B;GACvC,EAAE,QAAQ,gBAAgB;GAC3B,CAAC;EACH,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,kCAAkC,EACrC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,mBAAmB;CACnC,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;CACvD,CAAC,CACD,QAAQ;AAEX,MAAM,+CAA+C,EAClD,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,gCAAgC;CAChD,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO;EACb,WAAW,EAAE,QAAQ;EACrB,aAAa,EAAE,QAAQ,KAAK;EAC5B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EACpC,SAAS,aAAa,UAAU;EACjC,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,uCAAuC,EAC1C,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,wBAAwB;CACxC,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO,EACb,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,EACnC,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,gCAAgC,EACnC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,iBAAiB;CACjC,MAAM,EAAE,OAAO,EACb,aAAa,cACd,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,0CAA0C,EAC7C,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,2BAA2B;CAC3C,MAAM,EAAE,OAAO,EACb,oBAAoB,cACrB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,0DAA0D,EAC7D,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,2CAA2C;CAC3D,MAAM,EAAE,OAAO,EACb,oBAAoB,cACrB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,mDAAmD,EACtD,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,oCAAoC;CACpD,GAAG,EAAE,MAAM;EACT,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,QAAQ;EAChC,CAAC;CACF,MAAM,EAAE,OAAO,EACb,eAAe,EAAE,SAAS,EAC3B,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,iDAAiD,EACpD,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,kCAAkC;CAClD,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC,CACD,QAAQ;AAMX,MAAM,6BAA6B,EAChC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,iBAAiB;CACjC,MAAM,EAAE,OAAO,EACb,MAAM,cACP,CAAC;CACH,CAAC,CACD,QAAQ;AAMX,MAAM,+BAA+B,EAClC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,kBAAkB;CAClC,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO;EACb,MAAM,EAAE,QAAQ;EAChB,KAAK,EAAE,QAAQ;EACf,KAAK,EAAE,QAAQ;EACf,MAAM,aAAa,UAAU;EAC9B,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,+BAA+B,EAClC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,kBAAkB;CAClC,MAAM,EAAE,OAAO,EACb,MAAM,cACP,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,wCAAwC,EAC3C,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,2BAA2B;CAC3C,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO;EACb,MAAM,EAAE,QAAQ;EAChB,KAAK,EAAE,QAAQ;EACf,KAAK,EAAE,QAAQ;EACf,MAAM;EACP,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,iCAAiC,EACpC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,oBAAoB;CACpC,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO;EACb,MAAM,EAAE,QAAQ;EAChB,KAAK,EAAE,QAAQ;EACf,KAAK,EAAE,QAAQ;EACf,MAAM;EACP,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,oCAAoC,EACvC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,uBAAuB;CACvC,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO,EACb,MAAM,cACP,CAAC;CACH,CAAC,CACD,QAAQ;AAKX,MAAM,+CAA+C,EAClD,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,6BAA6B;CAC7C,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO;EACb,QAAQ;EACR,IAAI;EACL,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,uCAAuC,EAC1C,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,qBAAqB;CACrC,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO;EACb,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;EACrC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EAC/B,SAAS,EAAE,OAAO,EAChB,WAAW,EAAE,MACX,EAAE,MAAM;GACN,EAAE,QAAQ,gBAAgB;GAC1B,EAAE,QAAQ,6BAA6B;GACvC,EAAE,QAAQ,+BAA+B;GACzC,EAAE,QAAQ,cAAc;GACxB,EAAE,QAAQ,2BAA2B;GACrC,EAAE,QAAQ,6BAA6B;GACvC,EAAE,QAAQ,KAAK;GACf,EAAE,QAAQ,kBAAkB;GAC5B,EAAE,QAAQ,oBAAoB;GAC9B,EAAE,QAAQ,MAAM;GAChB,EAAE,QAAQ,mBAAmB;GAC7B,EAAE,QAAQ,qBAAqB;GAC/B,EAAE,QAAQ,SAAoB;GAC9B,EAAE,QAAQ,sBAAsB;GAChC,EAAE,QAAQ,wBAAwB;GACnC,CAAC,CACH,EACF,CAAC;EACH,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,4CAA4C,EAC/C,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,0BAA0B;CAC1C,MAAM,EAAE,OAAO;EACb,UAAU;EACV,UAAU;EACX,CAAC;CACH,CAAC,CACD,QAAQ;;;;;;AAWX,MAAa,sDAAsD,EAChE,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,oCAAoC;CACpD,GAAG,EAAE,MAAM;EACT,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,QAAQ;EAChC,CAAC;CACF,MAAM,EAAE,OAAO;EACb,SAAS,EAAE,MAAM,OAAO;EACxB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EAClC,CAAC;CACH,CAAC,CACD,QAAQ;;;;;;;;;;;AAeX,MAAa,kDAAkD,EAC5D,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,gCAAgC;CAChD,GAAG,EAAE,MAAM;EACT,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,QAAQ;EAChC,CAAC;CACF,MAAM,EAAE,OAAO;EACb,UAAU;EACV,UAAU;EACV,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EAClC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EACzC,CAAC;CACH,CAAC,CACD,QAAQ;;;;;;;AAWX,MAAa,iDAAiD,EAC3D,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,+BAA+B;CAC/C,GAAG,EAAE,MAAM;EACT,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,QAAQ;EAChC,CAAC;CACF,MAAM,EAAE,OAAO,EACb,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,EACpC,CAAC;CACH,CAAC,CACD,QAAQ;;;;;;;AAYX,MAAa,+CAA+C,EACzD,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,6BAA6B;CAC7C,GAAG,EAAE,MAAM;EACT,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,QAAQ;EAChC,CAAC;CACF,MAAM,EAAE,OAAO;EACb;EACA,oBAAoB,EAAE,QAAQ,CAAC,KAAK;EACpC,oBAAoB,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EAChD,CAAC;CACH,CAAC,CACD,QAAQ;;;;;;;AAWX,MAAa,sDAAsD,EAChE,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,oCAAoC;CACpD,GAAG,EAAE,MAAM;EACT,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,QAAQ;EAChC,CAAC;CACF,MAAM,EAAE,OAAO;EACb,UAAU;EACV,eAAe,EAAE,MAAM,OAAO;EAC9B,UAAU;EACV,eAAe,EAAE,MAAM,OAAO;EAC9B,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EAClC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EACzC,CAAC;CACH,CAAC,CACD,QAAQ;;;;;;;;;AAaX,MAAa,8CAA8C,EACxD,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,4BAA4B;CAC5C,GAAG,EAAE,MAAM;EACT,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,QAAQ;EAChC,CAAC;CACF,MAAM,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,OAAO,EACzB,CAAC;CACH,CAAC,CACD,QAAQ;;;;;;;AAWX,MAAa,kEAAkE,EAC5E,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,gDAAgD;CAChE,GAAG,EAAE,MAAM;EACT,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,QAAQ;EAChC,CAAC;CACF,MAAM,EAAE,OAAO;EACb,UAAU;EACV,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EACvC,UAAU;EACV,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EACvC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU;EAC9C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU;EAC5C,CAAC;CACH,CAAC,CACD,QAAQ;;;;;;;;AAaX,MAAa,8DAA8D,EACxE,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,4CAA4C;CAC5D,GAAG,EAAE,MAAM;EACT,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,QAAQ;EAChC,CAAC;CACF,MAAM,EAAE,OAAO;EACb,UAAU;EACV,UAAU;EACV,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;EAC7C,CAAC;CACH,CAAC,CACD,QAAQ;AAKX,MAAa,cAAc;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAYD,MAAa,iBAAiB;CAC5B,4BAA4B;EAC1B,OAAO;EACP,UAAU;EACV,OAAO;EACP,MAAM;EACP;CACD,mCAAmC;EACjC,OAAO;EACP,UAAU;EACV,OAAO;EACP,MAAM;EACP;CACD,2CAA2C;EACzC,OAAO;EACP,UAAU;EACV,OAAO;EACP,MAAM;EACP;CACD,mCAAmC;EACjC,OAAO;EACP,UAAU;EACV,OAAO;EACP,MAAM;EACP;CACD,+BAA+B;EAC7B,OAAO;EACP,UAAU;EACV,OAAO;EACP,MAAM;EACP;CACD,8BAA8B;EAC5B,OAAO;EACP,UAAU;EACV,OAAO;EACP,MAAM;EACP;CACD,2BAA2B;EACzB,OAAO;EACP,UAAU;EACV,OAAO;EACP,MAAM;EACP;CACD,+CAA+C;EAC7C,OAAO;EACP,UAAU;EACV,OAAO;EACP,MAAM;EACP;CACF;AAcD,MAAM,mBAAmB,EACtB,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,OAAO;CACvB,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC,CACD,QAAQ;AAEX,MAAM,4BAA4B,EAC/B,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,IAAI,EAAE,MAAM;EACV,EAAE,QAAQ,WAAW,MAAM;EAC3B,EAAE,QAAQ,WAAW,IAAI;EACzB,EAAE,QAAQ,WAAW,SAAS;EAC/B,CAAC;CACF,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;CACrC,MAAM,EAAE,QAAQ,gBAAgB;CAChC,MAAM,EAAE,MAAM,CACZ,EAAE,OAAO,EAAE,CAAC,EACZ,EAAE,OAAO,EACP,eAAe,cAChB,CAAC,CACH,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,0CAA0C,EAC7C,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,8BAA8B;CAC9C,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO,EACb,qBAAqB,cACtB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,iCAAiC,EACpC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,qBAAqB;CACrC,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,OAAO,EACb,YAAY,cACb,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,6BAA6B,EAChC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,iBAAiB;CACjC,MAAM,EAAE,OAAO,EACb,MAAM,cACP,CAAC;CACH,CAAC,CACD,QAAQ;AAMX,MAAM,oCAAoC,EACvC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,qBAAqB;CACrC,MAAM,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,CACZ,EAAE,QAAQ,0BAA0B,EACpC,EAAE,QAAQ,4BAA4B,CACvC,CAAC,EACH,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,iCAAiC,EACpC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,kBAAkB;CAClC,MAAM,EAAE,OAAO;EACb,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;EACnC,SAAS,EAAE,QAAQ;EACpB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,8BAA8B,EACjC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,eAAe;CAC/B,MAAM,EAAE,OAAO;EACb,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;EACnC,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,QAAQ;EACpB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,yCAAyC,EAC5C,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,0BAA0B;CAC1C,MAAM,EAAE,OAAO,EACb,gBAAgB,cACjB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,+CAA+C,EAClD,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,gCAAgC;CAChD,MAAM,EAAE,OAAO;EACb,gBAAgB;EAChB,KAAK,EAAE,QAAQ;EAChB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,+CAA+C,EAClD,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,gCAAgC;CAChD,MAAM,EAAE,OAAO;EACb,MAAM;EACN,MAAM,EAAE,QAAQ;EAChB,MAAM,EAAE,QAAQ;EACjB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,gCAAgC,EACnC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,iBAAiB;CACjC,MAAM,EAAE,OAAO;EACb,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;EACnC,SAAS,EAAE,QAAQ;EACpB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,qDAAqD,EACxD,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,sCAAsC;CACtD,GAAG,EAAE,MAAM;EACT,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,QAAQ;EAChC,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,kDAAkD,EACrD,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,mCAAmC;CACpD,CAAC,CACD,QAAQ;AAEX,MAAM,sCAAsC,EACzC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,uBAAuB;CACvC,MAAM,EAAE,OAAO,EACb,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,EACtC,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,uCAAuC,EAC1C,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,wBAAwB;CACxC,MAAM,EAAE,OAAO,EACb,gBAAgB,cACjB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,qCAAqC,EACxC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,sBAAsB;CACtC,MAAM,EAAE,OAAO;EACb,MAAM;EACN,gBAAgB;EACjB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,yBAAyB,EAC5B,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,UAAU;CAC1B,MAAM,EAAE,OAAO;EACb,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;EACnC,SAAS,EAAE,QAAQ;EACpB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,0BAA0B,EAC7B,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,WAAW;CAC3B,MAAM,EAAE,OAAO;EACb,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;EACnC,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,SAAS;EACrB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,+BAA+B,EAClC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,gBAAgB;CAChC,MAAM,EAAE,OAAO;EACb,MAAM;EACN,gBAAgB;EACjB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,4BAA4B,EAC/B,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,aAAa;CAC7B,GAAG,EAAE,MAAM;EACT,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,OAAO;EAC9B,EAAE,QAAQ,aAAa,QAAQ;EAChC,CAAC;CACF,MAAM,EAAE,OAAO,EACb,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,EACpC,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,8BAA8B,EACjC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,eAAe;CAC/B,MAAM,EAAE,OAAO;EACb,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;EACnC,OAAO,EAAE,QAAQ,KAAK,CAAC,UAAU;EAClC,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,2BAA2B,EAC9B,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,YAAY;CAC5B,MAAM,EAAE,OAAO;EACb,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;EACnC,SAAS,EAAE,QAAQ;EACpB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,iCAAiC,EACpC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,kBAAkB;CAClC,MAAM,EAAE,OAAO;EACb,MAAM;EACN,gBAAgB;EACjB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,gCAAgC,EACnC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,iBAAiB;CACjC,MAAM,EAAE,OAAO;EACb,MAAM;EACN,gBAAgB;EACjB,CAAC;CACH,CAAC,CACD,QAAQ;AAEX,MAAM,6BAA6B,EAChC,OAAO;CACN,GAAG;CACH,GAAG,SAAS;CACZ,GAAG;CACH,MAAM,EAAE,QAAQ,cAAc;CAC9B,MAAM,EAAE,OAAO;EACb,MAAM,EAAE,QAAQ;EAChB,MAAM,EAAE,MAAM;GACZ,EAAE,QAAQ,EAAE;GACZ,EAAE,QAAQ,EAAE;GACZ,EAAE,QAAQ,EAAE;GACZ,EAAE,QAAQ,EAAE;GACZ,EAAE,QAAQ,EAAE;GACZ,EAAE,QAAQ,EAAE;GACb,CAAC;EACH,CAAC;CACH,CAAC,CACD,QAAQ;AAMX,MAAa,aAAa,EAAE,mBAC1B,QACA;CACE;CACA;CACA;CAEA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CAEA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CAEA,GAAG;CAEH;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,EACD,EAOC,CACF;AAGD,MAAa,kBAAkB,EAAE,MAAM,WAAW;;;;ACxqClD,MAAa,uBAAuB;;;;ACQpC,MAAMA,wGAEF,CAAC;CAAE,IAAI;CAAG,aAAa;CAAI,OAAO,EAAE;CAAE,CAAC;AAE3C,MAAa,sBAAsB,cAA4C;AAC7E,QAAO,sGAAsG,OAC3G,UACD;;;;;ACOH,MAAa,sBAAsB;AAEnC,MAAM,OAAO,EAAE,KAAK;CAClB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AAIF,MAAM,gBAAgB;CACpB,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU;CACzC,YAAY,EAAE,MAAM,OAAO,CAAC,UAAU;CACtC,mBAAmB,EAAE,MAAM,OAAO,CAAC,UAAU;CAC7C,oBAAoB,EAAE,MAAM,OAAO,CAAC,UAAU;CAC9C,kBAAkB,OAAO,UAAU;CACnC,sBAAsB,OAAO,UAAU;CACvC,gBAAgB,OAAO,UAAU;CACjC,yBAAyB,OAAO,UAAU;CAC1C,wBAAwB,OAAO,UAAU;CACzC,sBAAsB,OAAO,UAAU;CACvC,wBAAwB,OAAO,UAAU;CACzC,qBAAqB,OAAO,UAAU;CACtC,sBAAsB,OAAO,UAAU;CACvC,WAAW,OAAO,UAAU;CAC5B,WAAW,OAAO,UAAU;CAC5B,0BAA0B,OAAO,UAAU;CAC3C,wBAAwB,OAAO,UAAU;CACzC,yBAAyB,OAAO,UAAU;CAC1C,yBAAyB,OAAO,UAAU;CAC1C,6BAA6B,OAAO,UAAU;CAC/C;AAiBD,MAAa,oBAAoB;CAC/B;CACA;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"}
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 { z } from \"zod/v4\";\n\nexport const grabFile = async <V extends z.ZodType>(\n filePath: string,\n validator: V,\n) => {\n console.log(\"grabFile:\", filePath);\n const json = await readSmallJson(filePath, \"utf8\");\n const parsed = await validator.safeParseAsync(json);\n if (!parsed.success) {\n console.error(\"Error parsing file\", { filePath, parsed });\n throw new Error(`Error parsing file ${filePath}`);\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;AACH,SAAQ,IAAI,aAAa,SAAS;CAClC,MAAM,OAAO,MAAM,cAAc,UAAU,OAAO;CAClD,MAAM,SAAS,MAAM,UAAU,eAAe,KAAK;AACnD,KAAI,CAAC,OAAO,SAAS;AACnB,UAAQ,MAAM,sBAAsB;GAAE;GAAU;GAAQ,CAAC;AACzD,QAAM,IAAI,MAAM,sBAAsB,WAAW;;AAEnD,QAAO,OAAO;;AAGhB,MAAa,gBAAgB,OAC3B,UACA,aACqB;CACrB,MAAM,aAAa,MAAM,SAAS,UAAU,EAAE,UAAU,CAAC;AAEzD,QADe,KAAK,MAAM,WAAW"}
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.30",
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.6",
35
- "@mui/material": "7.3.6",
36
- "zod": "4.2.1"
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.3",
43
+ "@types/node": "25.3.0",
41
44
  "@types/stream-json": "1.7.8",
42
- "tsdown": "0.18.3",
45
+ "tsdown": "0.20.3",
43
46
  "typescript": "5.9.3",
44
- "vitest": "4.0.16"
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 { z } from "zod/v4";
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
- console.error("Error parsing file", { filePath, parsed });
13
- throw new Error(`Error parsing file ${filePath}`);
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.object({
10
- line: typeId,
11
- character: z.number(),
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.object({
17
- path: absolutePath,
18
- start: position,
19
- end: position,
20
- });
18
+ export const location = z
19
+ .object({
20
+ path: absolutePath,
21
+ start: position,
22
+ end: position,
23
+ })
24
+ .strict();