memorydetective 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeAbandonedMemory.js","sourceRoot":"","sources":["../../src/tools/analyzeAbandonedMemory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzeAbandonedMemory.js","sourceRoot":"","sources":["../../src/tools/analyzeAbandonedMemory.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,15 @@ export declare const analyzeAllocationsSchema: z.ZodObject<{
4
4
  tracePath: z.ZodString;
5
5
  topN: z.ZodDefault<z.ZodNumber>;
6
6
  minBytes: z.ZodDefault<z.ZodNumber>;
7
- outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both"]>>;
7
+ outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both", "verify-fix-table"]>>;
8
8
  }, "strip", z.ZodTypeAny, {
9
9
  tracePath: string;
10
10
  topN: number;
11
11
  minBytes: number;
12
- outputFormat?: "markdown" | "json" | "both" | undefined;
12
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
13
13
  }, {
14
14
  tracePath: string;
15
- outputFormat?: "markdown" | "json" | "both" | undefined;
15
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
16
16
  topN?: number | undefined;
17
17
  minBytes?: number | undefined;
18
18
  }>;
@@ -14,19 +14,19 @@ export declare const analyzeAnimationHitchesSchema: z.ZodObject<{
14
14
  startMs: number;
15
15
  endMs: number;
16
16
  }>>;
17
- outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both"]>>;
17
+ outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both", "verify-fix-table"]>>;
18
18
  }, "strip", z.ZodTypeAny, {
19
19
  tracePath: string;
20
20
  topN: number;
21
21
  minDurationMs: number;
22
- outputFormat?: "markdown" | "json" | "both" | undefined;
22
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
23
23
  timeRangeMs?: {
24
24
  startMs: number;
25
25
  endMs: number;
26
26
  } | undefined;
27
27
  }, {
28
28
  tracePath: string;
29
- outputFormat?: "markdown" | "json" | "both" | undefined;
29
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
30
30
  topN?: number | undefined;
31
31
  minDurationMs?: number | undefined;
32
32
  timeRangeMs?: {
@@ -1,13 +1,13 @@
1
1
  import { z } from "zod";
2
2
  export declare const analyzeAppLaunchSchema: z.ZodObject<{
3
3
  tracePath: z.ZodString;
4
- outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both"]>>;
4
+ outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both", "verify-fix-table"]>>;
5
5
  }, "strip", z.ZodTypeAny, {
6
6
  tracePath: string;
7
- outputFormat?: "markdown" | "json" | "both" | undefined;
7
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
8
8
  }, {
9
9
  tracePath: string;
10
- outputFormat?: "markdown" | "json" | "both" | undefined;
10
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
11
11
  }>;
12
12
  export type AnalyzeAppLaunchInput = z.infer<typeof analyzeAppLaunchSchema>;
13
13
  export interface PhaseEntry {
@@ -15,12 +15,12 @@ export declare const analyzeHangsSchema: z.ZodObject<{
15
15
  endMs: number;
16
16
  }>>;
17
17
  topFramesByHangStartNs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
18
- outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both"]>>;
18
+ outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both", "verify-fix-table"]>>;
19
19
  }, "strip", z.ZodTypeAny, {
20
20
  tracePath: string;
21
21
  topN: number;
22
22
  minDurationMs: number;
23
- outputFormat?: "markdown" | "json" | "both" | undefined;
23
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
24
24
  timeRangeMs?: {
25
25
  startMs: number;
26
26
  endMs: number;
@@ -28,7 +28,7 @@ export declare const analyzeHangsSchema: z.ZodObject<{
28
28
  topFramesByHangStartNs?: Record<string, string> | undefined;
29
29
  }, {
30
30
  tracePath: string;
31
- outputFormat?: "markdown" | "json" | "both" | undefined;
31
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
32
32
  topN?: number | undefined;
33
33
  minDurationMs?: number | undefined;
34
34
  timeRangeMs?: {
@@ -8,21 +8,21 @@ export declare const analyzeMemgraphSchema: z.ZodObject<{
8
8
  verbosity: z.ZodDefault<z.ZodEnum<["compact", "normal", "full"]>>;
9
9
  maxClassesInChain: z.ZodDefault<z.ZodNumber>;
10
10
  referenceTreeTopN: z.ZodDefault<z.ZodNumber>;
11
- outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both"]>>;
11
+ outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both", "verify-fix-table"]>>;
12
12
  }, "strip", z.ZodTypeAny, {
13
13
  path: string;
14
14
  fullChains: boolean;
15
15
  verbosity: "compact" | "normal" | "full";
16
16
  maxClassesInChain: number;
17
17
  referenceTreeTopN: number;
18
- outputFormat?: "markdown" | "json" | "both" | undefined;
18
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
19
19
  }, {
20
20
  path: string;
21
21
  fullChains?: boolean | undefined;
22
22
  verbosity?: "compact" | "normal" | "full" | undefined;
23
23
  maxClassesInChain?: number | undefined;
24
24
  referenceTreeTopN?: number | undefined;
25
- outputFormat?: "markdown" | "json" | "both" | undefined;
25
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
26
26
  }>;
27
27
  export type AnalyzeMemgraphInput = z.infer<typeof analyzeMemgraphSchema>;
28
28
  export interface CycleSummary {
@@ -77,8 +77,27 @@ export interface AnalyzeMemgraphResult {
77
77
  * not formal leaks; they are reachable-but-suspicious and worth diffing
78
78
  * against a baseline via `analyzeAbandonedMemory(before, after)` for
79
79
  * the verdict.
80
+ *
81
+ * **Raw view.** Includes framework noise (NSMutableDictionary, CFString,
82
+ * libMainThreadChecker bss, etc.) that grows with normal app activity
83
+ * and is rarely the actionable leak. Useful for cache-bloat or
84
+ * collection-explosion investigations.
80
85
  */
81
86
  abandonedMemoryTop?: ReferenceTreeEntry[];
87
+ /**
88
+ * Same top-N reference-tree analysis as `abandonedMemoryTop` but filtered
89
+ * to actionable classes only. Foundation collection types (NSMutableDictionary,
90
+ * CFString, ...), ObjC runtime metadata (Class.data, OBJC_METACLASS_),
91
+ * Apple-framework static-data sections (__DATA __bss / __data / __common),
92
+ * Stack of thread / non-object / VM region rows, and the `<<TOTAL>>`
93
+ * summary are all excluded. The remaining list surfaces AV*, KVO*,
94
+ * SwiftUI app-level types, user-named classes, and other classes the
95
+ * fix would actually live in. New in v1.10.
96
+ *
97
+ * Use this list for the "what should I worry about?" question; use
98
+ * `abandonedMemoryTop` for "what's the full heap distribution?".
99
+ */
100
+ abandonedMemorySuspects?: ReferenceTreeEntry[];
82
101
  }
83
102
  /**
84
103
  * Pure function: take a `leaks` stdout string and a source path, produce a structured analysis.
@@ -3,7 +3,7 @@ import { existsSync } from "node:fs";
3
3
  import { resolve as resolvePath } from "node:path";
4
4
  import { runCommand } from "../runtime/exec.js";
5
5
  import { parseLeaksOutput, rootCyclesOnly } from "../parsers/leaksOutput.js";
6
- import { parseReferenceTreeText, } from "../parsers/referenceTree.js";
6
+ import { parseReferenceTreeText, isFrameworkNoise, } from "../parsers/referenceTree.js";
7
7
  import { outputFormatField } from "../runtime/responseFormatter.js";
8
8
  import { shortenForVerbosity, } from "../parsers/shortenClassName.js";
9
9
  import { suggestionClassifyCycle, suggestionReachableFromCycle, } from "../runtime/suggestions.js";
@@ -151,9 +151,23 @@ export async function analyzeMemgraph(input) {
151
151
  // a workflow.
152
152
  const topN = input.referenceTreeTopN ?? 20;
153
153
  if (summary.totals.leakCount === 0 && topN > 0) {
154
- const abandonedMemoryTop = await captureReferenceTreeTop(path, topN);
155
- if (abandonedMemoryTop.length > 0) {
156
- summary.abandonedMemoryTop = abandonedMemoryTop;
154
+ // Capture a much larger pool than `topN` so that after filtering for
155
+ // the actionable view (`abandonedMemorySuspects`), we still have enough
156
+ // entries to surface the user-relevant classes that would otherwise
157
+ // be ranked below framework noise in the raw view. The notelet
158
+ // investigation showed AVPlayerItem at raw rank ~82 in a ~200-class
159
+ // heap; 10x of a 20-element default reliably surfaces classes ranked
160
+ // outside the raw top 20 after the noise filter trims the leaders.
161
+ const captureTopN = Math.max(topN, topN * 10, 200);
162
+ const rawTop = await captureReferenceTreeTop(path, captureTopN);
163
+ if (rawTop.length > 0) {
164
+ // Raw view: first `topN` entries unchanged from existing behavior.
165
+ summary.abandonedMemoryTop = rawTop.slice(0, topN);
166
+ // Filtered view: drop framework noise, keep ranking, then trim to topN.
167
+ const filtered = rawTop.filter((e) => !isFrameworkNoise(e.className));
168
+ if (filtered.length > 0) {
169
+ summary.abandonedMemorySuspects = filtered.slice(0, topN);
170
+ }
157
171
  }
158
172
  }
159
173
  return summary;
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeMemgraph.js","sourceRoot":"","sources":["../../src/tools/analyzeMemgraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzeMemgraph.js","sourceRoot":"","sources":["../../src/tools/analyzeMemgraph.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,14 @@ import type { DataStatus } from "../types.js";
3
3
  export declare const analyzeTimeProfileSchema: z.ZodObject<{
4
4
  tracePath: z.ZodString;
5
5
  topN: z.ZodDefault<z.ZodNumber>;
6
- outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both"]>>;
6
+ outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both", "verify-fix-table"]>>;
7
7
  }, "strip", z.ZodTypeAny, {
8
8
  tracePath: string;
9
9
  topN: number;
10
- outputFormat?: "markdown" | "json" | "both" | undefined;
10
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
11
11
  }, {
12
12
  tracePath: string;
13
- outputFormat?: "markdown" | "json" | "both" | undefined;
13
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
14
14
  topN?: number | undefined;
15
15
  }>;
16
16
  export type AnalyzeTimeProfileInput = z.infer<typeof analyzeTimeProfileSchema>;
@@ -37,20 +37,20 @@ export declare const cleanupTracesShape: {
37
37
  readonly olderThanDays: z.ZodOptional<z.ZodNumber>;
38
38
  readonly dryRun: z.ZodDefault<z.ZodBoolean>;
39
39
  readonly root: z.ZodOptional<z.ZodString>;
40
- readonly outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both"]>>;
40
+ readonly outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both", "verify-fix-table"]>>;
41
41
  };
42
42
  export declare const cleanupTracesSchema: z.ZodObject<{
43
43
  readonly olderThanDays: z.ZodOptional<z.ZodNumber>;
44
44
  readonly dryRun: z.ZodDefault<z.ZodBoolean>;
45
45
  readonly root: z.ZodOptional<z.ZodString>;
46
- readonly outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both"]>>;
46
+ readonly outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both", "verify-fix-table"]>>;
47
47
  }, "strip", z.ZodTypeAny, {
48
48
  dryRun: boolean;
49
- outputFormat?: "markdown" | "json" | "both" | undefined;
49
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
50
50
  olderThanDays?: number | undefined;
51
51
  root?: string | undefined;
52
52
  }, {
53
- outputFormat?: "markdown" | "json" | "both" | undefined;
53
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
54
54
  olderThanDays?: number | undefined;
55
55
  dryRun?: boolean | undefined;
56
56
  root?: string | undefined;
@@ -1,17 +1,18 @@
1
1
  import { z } from "zod";
2
+ import { type ReferenceTreeEntry } from "../parsers/referenceTree.js";
2
3
  import type { LeaksReport } from "../types.js";
3
4
  export declare const diffMemgraphsSchema: z.ZodObject<{
4
5
  before: z.ZodString;
5
6
  after: z.ZodString;
6
- outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both"]>>;
7
+ outputFormat: z.ZodOptional<z.ZodEnum<["markdown", "json", "both", "verify-fix-table"]>>;
7
8
  }, "strip", z.ZodTypeAny, {
8
9
  after: string;
9
10
  before: string;
10
- outputFormat?: "markdown" | "json" | "both" | undefined;
11
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
11
12
  }, {
12
13
  after: string;
13
14
  before: string;
14
- outputFormat?: "markdown" | "json" | "both" | undefined;
15
+ outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined;
15
16
  }>;
16
17
  export type DiffMemgraphsInput = z.infer<typeof diffMemgraphsSchema>;
17
18
  export interface CycleSignature {
@@ -26,6 +27,15 @@ export interface CycleDiffEntry {
26
27
  afterCount: number;
27
28
  delta: number;
28
29
  }
30
+ export interface ReferenceTreeDiffEntry {
31
+ className: string;
32
+ before: number;
33
+ after: number;
34
+ delta: number;
35
+ beforeBytes: number;
36
+ afterBytes: number;
37
+ bytesDelta: number;
38
+ }
29
39
  export interface DiffMemgraphsResult {
30
40
  ok: boolean;
31
41
  before: {
@@ -39,16 +49,24 @@ export interface DiffMemgraphsResult {
39
49
  totals: {
40
50
  leakCountDelta: number;
41
51
  bytesLeakedDelta: number;
52
+ /**
53
+ * Net instance-count delta from the reference-tree (heap-wide) view.
54
+ * Sum of all `referenceTreeChanges` deltas. Useful for "did the heap
55
+ * shrink overall?" without scrolling per-class. New in v1.11.
56
+ */
57
+ referenceTreeInstanceDelta?: number;
58
+ /** Net bytes delta from the reference-tree view. New in v1.11. */
59
+ referenceTreeBytesDelta?: number;
42
60
  };
43
61
  classCounts: {
44
- /** Classes whose count went up (potential new leaks). */
62
+ /** Classes whose count went up (potential new leaks). Cycle-based view. */
45
63
  increased: Array<{
46
64
  className: string;
47
65
  before: number;
48
66
  after: number;
49
67
  delta: number;
50
68
  }>;
51
- /** Classes whose count went down (fixed leaks or just gone). */
69
+ /** Classes whose count went down (fixed leaks or just gone). Cycle-based view. */
52
70
  decreased: Array<{
53
71
  className: string;
54
72
  before: number;
@@ -56,15 +74,50 @@ export interface DiffMemgraphsResult {
56
74
  delta: number;
57
75
  }>;
58
76
  };
77
+ /**
78
+ * Heap-wide class-count changes from the reference-tree pass. Populated
79
+ * even when `leakCount` is 0 in both snapshots (which is exactly when
80
+ * cycle-only `classCounts` returns empty and the user wants this view).
81
+ * Includes framework noise (NSMutableDictionary, CFString, etc.); see
82
+ * `actionableReferenceTreeChanges` for the filtered view. New in v1.11.
83
+ */
84
+ referenceTreeChanges?: {
85
+ increased: ReferenceTreeDiffEntry[];
86
+ decreased: ReferenceTreeDiffEntry[];
87
+ };
88
+ /**
89
+ * `referenceTreeChanges` with framework noise filtered out via
90
+ * `isFrameworkNoise`. Surfaces AV / KVO / app-level classes for the
91
+ * verify-fix loop without scrolling past Foundation collection growth.
92
+ * New in v1.11.
93
+ */
94
+ actionableReferenceTreeChanges?: {
95
+ increased: ReferenceTreeDiffEntry[];
96
+ decreased: ReferenceTreeDiffEntry[];
97
+ };
59
98
  cycles: {
60
99
  /** ROOT CYCLE signatures present only in `after`. */
61
100
  newInAfter: CycleDiffEntry[];
62
101
  /** Signatures present only in `before` (cycle disappeared). */
63
102
  goneFromBefore: CycleDiffEntry[];
64
- /** Signatures present in both count change is what matters. */
103
+ /** Signatures present in both; count change is what matters. */
65
104
  persisted: CycleDiffEntry[];
66
105
  };
67
106
  }
68
107
  /** Pure: compare two parsed reports and return a structured diff. */
69
108
  export declare function diffReports(before: LeaksReport, after: LeaksReport, beforePath: string, afterPath: string): DiffMemgraphsResult;
109
+ /**
110
+ * Pure: diff two reference-tree entry lists by class name and return
111
+ * increased / decreased buckets. Each entry carries before/after counts,
112
+ * bytes, and delta values. Sorted: increased by delta desc, decreased by
113
+ * delta asc (most-negative first).
114
+ *
115
+ * Returns null when both inputs are empty. The async wrapper uses this
116
+ * absence to suppress the `referenceTreeChanges` field on the result so
117
+ * cycle-only callers see no change vs v1.10. New in v1.11.
118
+ */
119
+ export declare function diffReferenceTrees(before: ReferenceTreeEntry[], after: ReferenceTreeEntry[]): {
120
+ increased: ReferenceTreeDiffEntry[];
121
+ decreased: ReferenceTreeDiffEntry[];
122
+ } | null;
70
123
  export declare function diffMemgraphs(input: DiffMemgraphsInput): Promise<DiffMemgraphsResult>;
@@ -1,6 +1,8 @@
1
1
  import { z } from "zod";
2
+ import { runCommand } from "../runtime/exec.js";
2
3
  import { runLeaksAndParse } from "../runtime/leaks.js";
3
4
  import { rootCyclesOnly } from "../parsers/leaksOutput.js";
5
+ import { parseReferenceTreeText, isFrameworkNoise, } from "../parsers/referenceTree.js";
4
6
  import { countByClass } from "./countAlive.js";
5
7
  import { outputFormatField } from "../runtime/responseFormatter.js";
6
8
  export const diffMemgraphsSchema = z.object({
@@ -104,11 +106,106 @@ export function diffReports(before, after, beforePath, afterPath) {
104
106
  cycles: { newInAfter, goneFromBefore, persisted },
105
107
  };
106
108
  }
109
+ /**
110
+ * Pure: diff two reference-tree entry lists by class name and return
111
+ * increased / decreased buckets. Each entry carries before/after counts,
112
+ * bytes, and delta values. Sorted: increased by delta desc, decreased by
113
+ * delta asc (most-negative first).
114
+ *
115
+ * Returns null when both inputs are empty. The async wrapper uses this
116
+ * absence to suppress the `referenceTreeChanges` field on the result so
117
+ * cycle-only callers see no change vs v1.10. New in v1.11.
118
+ */
119
+ export function diffReferenceTrees(before, after) {
120
+ if (before.length === 0 && after.length === 0)
121
+ return null;
122
+ const beforeByClass = new Map(before.map((e) => [e.className, e]));
123
+ const afterByClass = new Map(after.map((e) => [e.className, e]));
124
+ const allClasses = new Set([
125
+ ...beforeByClass.keys(),
126
+ ...afterByClass.keys(),
127
+ ]);
128
+ const increased = [];
129
+ const decreased = [];
130
+ for (const cls of allClasses) {
131
+ const b = beforeByClass.get(cls);
132
+ const a = afterByClass.get(cls);
133
+ const beforeCount = b?.instanceCount ?? 0;
134
+ const afterCount = a?.instanceCount ?? 0;
135
+ const delta = afterCount - beforeCount;
136
+ if (delta === 0)
137
+ continue;
138
+ const beforeBytes = b?.totalBytes ?? 0;
139
+ const afterBytes = a?.totalBytes ?? 0;
140
+ const entry = {
141
+ className: cls,
142
+ before: beforeCount,
143
+ after: afterCount,
144
+ delta,
145
+ beforeBytes,
146
+ afterBytes,
147
+ bytesDelta: afterBytes - beforeBytes,
148
+ };
149
+ if (delta > 0)
150
+ increased.push(entry);
151
+ else
152
+ decreased.push(entry);
153
+ }
154
+ increased.sort((x, y) => y.delta - x.delta || y.bytesDelta - x.bytesDelta);
155
+ decreased.sort((x, y) => x.delta - y.delta || x.bytesDelta - y.bytesDelta);
156
+ return { increased, decreased };
157
+ }
158
+ /**
159
+ * Wide capture pool for the reference-tree pass. Mirrors analyzeMemgraph's
160
+ * 10x heuristic from v1.10: the actionable view filters out framework
161
+ * noise (NSMutableDictionary, CFString, libMainThreadChecker bss, etc.)
162
+ * so we need enough headroom for app-level classes ranked below the
163
+ * noise leaders to survive into the post-filter top.
164
+ */
165
+ const REFERENCE_TREE_DIFF_TOPN = 1000;
166
+ /** Spawn `leaks --referenceTree --groupByType --noContent` against a
167
+ * `.memgraph` and return parsed entries. Failure is non-fatal: returns
168
+ * an empty array so the cycle-side diff still completes. */
169
+ async function captureReferenceTree(path) {
170
+ const result = await runCommand("leaks", ["--referenceTree", "--groupByType", "--noContent", path], { timeoutMs: 5 * 60_000 });
171
+ if (result.code !== 0 && result.code !== 1) {
172
+ return [];
173
+ }
174
+ return parseReferenceTreeText(result.stdout, REFERENCE_TREE_DIFF_TOPN);
175
+ }
107
176
  export async function diffMemgraphs(input) {
108
- const [{ report: before, resolvedPath: bp }, { report: after, resolvedPath: ap }] = await Promise.all([
177
+ const [{ report: before, resolvedPath: bp }, { report: after, resolvedPath: ap }, beforeRefTree, afterRefTree,] = await Promise.all([
109
178
  runLeaksAndParse(input.before),
110
179
  runLeaksAndParse(input.after),
180
+ captureReferenceTree(input.before),
181
+ captureReferenceTree(input.after),
111
182
  ]);
112
- return diffReports(before, after, bp, ap);
183
+ const result = diffReports(before, after, bp, ap);
184
+ const referenceTreeChanges = diffReferenceTrees(beforeRefTree, afterRefTree);
185
+ if (referenceTreeChanges) {
186
+ result.referenceTreeChanges = referenceTreeChanges;
187
+ // Actionable view: same diff with framework noise filtered out. Same
188
+ // ordering preserved (no re-rank). Provides the verify-fix view for
189
+ // the notelet-shape case where AVPlayerItem 342 to 0 needs to surface
190
+ // above NSMutableDictionary 12k to 11k noise.
191
+ result.actionableReferenceTreeChanges = {
192
+ increased: referenceTreeChanges.increased.filter((e) => !isFrameworkNoise(e.className)),
193
+ decreased: referenceTreeChanges.decreased.filter((e) => !isFrameworkNoise(e.className)),
194
+ };
195
+ // Heap-wide totals so callers can branch on a single number.
196
+ let instanceDelta = 0;
197
+ let bytesDelta = 0;
198
+ for (const e of referenceTreeChanges.increased) {
199
+ instanceDelta += e.delta;
200
+ bytesDelta += e.bytesDelta;
201
+ }
202
+ for (const e of referenceTreeChanges.decreased) {
203
+ instanceDelta += e.delta;
204
+ bytesDelta += e.bytesDelta;
205
+ }
206
+ result.totals.referenceTreeInstanceDelta = instanceDelta;
207
+ result.totals.referenceTreeBytesDelta = bytesDelta;
208
+ }
209
+ return result;
113
210
  }
114
211
  //# sourceMappingURL=diffMemgraphs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diffMemgraphs.js","sourceRoot":"","sources":["../../src/tools/diffMemgraphs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,mDAAmD,CAAC;IAChE,YAAY,EAAE,iBAAiB;CAChC,CAAC,CAAC;AA0CH,SAAS,WAAW,CAAC,IAAe,EAAE,aAAa,GAAG,CAAC;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,CAAC,CAAY,EAAE,KAAa,EAAQ,EAAE;QACpD,IAAI,KAAK,IAAI,aAAa;YAAE,OAAO;QACnC,IAAI,CAAC,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ;YAAE,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrD,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,YAAY,CAAC,GAAmB;IACvC,OAAO,GAAG,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACpD,CAAC;AAOD,SAAS,YAAY,CAAC,MAAmB;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,WAAW,CACzB,MAAmB,EACnB,KAAkB,EAClB,UAAkB,EAClB,SAAiB;IAEjB,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3E,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,MAAM,cAAc,GAAqB,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAqB,EAAE,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAE,CAAC,SAAS,CAAC;QAChC,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QACjC,MAAM,KAAK,GAAmB;YAC5B,SAAS,EAAE,GAAG;YACd,WAAW;YACX,UAAU;YACV,KAAK,EAAE,UAAU,GAAG,WAAW;SAChC,CAAC;QACF,IAAI,CAAC,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YACxC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QACzB,GAAG,iBAAiB,CAAC,IAAI,EAAE;QAC3B,GAAG,gBAAgB,CAAC,IAAI,EAAE;KAC3B,CAAC,CAAC;IACH,MAAM,SAAS,GAAoD,EAAE,CAAC;IACtE,MAAM,SAAS,GAAoD,EAAE,CAAC;IACtE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aACzE,IAAI,KAAK,GAAG,CAAC;YAChB,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5C,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAE5C,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;QAChE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;QAC7D,MAAM,EAAE;YACN,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS;YAChE,gBAAgB,EACd,KAAK,CAAC,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB;SACjE;QACD,WAAW,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;QACrC,MAAM,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE;KAClD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAyB;IAEzB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,GAC/E,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;KAC9B,CAAC,CAAC;IACL,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"diffMemgraphs.js","sourceRoot":"","sources":["../../src/tools/diffMemgraphs.ts"],"names":[],"mappings":"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"}