memorydetective 1.4.0 → 1.6.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.
- package/CHANGELOG.md +57 -0
- package/README.md +84 -11
- package/USAGE.md +105 -4
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.js +58 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/prompts.d.ts +26 -0
- package/dist/runtime/prompts.js +143 -0
- package/dist/runtime/prompts.js.map +1 -0
- package/dist/runtime/resources.d.ts +26 -0
- package/dist/runtime/resources.js +71 -0
- package/dist/runtime/resources.js.map +1 -0
- package/dist/runtime/staticAnalysisHints.d.ts +29 -0
- package/dist/runtime/staticAnalysisHints.js +209 -0
- package/dist/runtime/staticAnalysisHints.js.map +1 -0
- package/dist/tools/classifyCycle.d.ts +7 -0
- package/dist/tools/classifyCycle.js +173 -0
- package/dist/tools/classifyCycle.js.map +1 -1
- package/dist/tools/getInvestigationPlaybook.d.ts +4 -1
- package/dist/tools/getInvestigationPlaybook.js +3 -1
- package/dist/tools/getInvestigationPlaybook.js.map +1 -1
- package/dist/version.d.ts +1 -0
- package/dist/version.js +15 -0
- package/dist/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import { z } from "zod";
|
|
|
2
2
|
import { runLeaksAndParse } from "../runtime/leaks.js";
|
|
3
3
|
import { rootCyclesOnly, walkCycles } from "../parsers/leaksOutput.js";
|
|
4
4
|
import { pickPrimaryAppClass, suggestionsForClassification, } from "../runtime/suggestions.js";
|
|
5
|
+
import { getStaticAnalysisHint, } from "../runtime/staticAnalysisHints.js";
|
|
5
6
|
export const classifyCycleSchema = z.object({
|
|
6
7
|
path: z.string().min(1).describe("Absolute path to a `.memgraph` file."),
|
|
7
8
|
maxResults: z
|
|
@@ -304,6 +305,176 @@ export const PATTERNS = [
|
|
|
304
305
|
return null;
|
|
305
306
|
},
|
|
306
307
|
},
|
|
308
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
309
|
+
// v1.5 catalog completion — 3 patterns previously triaged from research
|
|
310
|
+
// (Core Animation animation/layer delegate quirks, Core Data FRC).
|
|
311
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
312
|
+
{
|
|
313
|
+
id: "coreanimation.animation-delegate-strong",
|
|
314
|
+
name: "CAAnimation retains its delegate (Apple's documented quirk)",
|
|
315
|
+
fixHint: "Unlike most Cocoa delegates, `CAAnimation.delegate` is **strong** — Apple documents this explicitly. When `self` is the delegate and also stores the animation (`self.layer.add(anim, forKey:)` keeps it alive), you get a cycle through the animation's internal handler. Either set the delegate to a `WeakProxy` wrapper, or assign `anim.delegate = nil` before the animation completes/in `deinit`, or use the closure-style `CAAnimationDelegate.animationDidStop` via a separate value-type proxy.",
|
|
316
|
+
match: (_root, allClasses) => {
|
|
317
|
+
const classes = Array.from(allClasses);
|
|
318
|
+
const hasAnim = classes.some((c) => c.includes("CABasicAnimation") ||
|
|
319
|
+
c.includes("CAKeyframeAnimation") ||
|
|
320
|
+
c.includes("CASpringAnimation") ||
|
|
321
|
+
c.includes("CAAnimationGroup") ||
|
|
322
|
+
c.includes("CAPropertyAnimation") ||
|
|
323
|
+
c.includes("CATransition") ||
|
|
324
|
+
c === "CAAnimation" ||
|
|
325
|
+
/\bCAAnimation\b/.test(c));
|
|
326
|
+
return hasAnim ? "high" : null;
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
id: "coreanimation.layer-delegate-cycle",
|
|
331
|
+
name: "Custom CALayer delegate pointing at non-UIView owner",
|
|
332
|
+
fixHint: "`CALayer.delegate` is **unowned(unsafe)** in headers but in practice keeps a strong reference until the layer is removed. UIKit's auto-pairing (UIView owns its layer; the layer's delegate is the view) avoids this — but **custom `CALayer` subclasses** (`CAShapeLayer`, `CAGradientLayer`, `CAEmitterLayer`) wired to a non-UIView delegate (a controller, a renderer object) leak. Either keep delegates on `UIView` boundaries only, or wrap the non-view delegate in a `WeakLayerDelegate` proxy and clear `layer.delegate = nil` in `deinit`.",
|
|
333
|
+
match: (_root, allClasses) => {
|
|
334
|
+
const classes = Array.from(allClasses);
|
|
335
|
+
const customLayer = classes.some((c) => c.includes("CAShapeLayer") ||
|
|
336
|
+
c.includes("CAGradientLayer") ||
|
|
337
|
+
c.includes("CAEmitterLayer") ||
|
|
338
|
+
c.includes("CAReplicatorLayer") ||
|
|
339
|
+
c.includes("CATextLayer") ||
|
|
340
|
+
c.includes("CATiledLayer") ||
|
|
341
|
+
c.includes("CAMetalLayer") ||
|
|
342
|
+
c.includes("CAEAGLLayer"));
|
|
343
|
+
const plainLayer = classes.some((c) => c === "CALayer" || /\bCALayer\b/.test(c));
|
|
344
|
+
const hasUIView = classes.some((c) => c.includes("UIView") || c.includes("UIViewController"));
|
|
345
|
+
// Custom layer subclass + cycle without UIView = strong indicator (no
|
|
346
|
+
// UIKit auto-weak pairing). Plain CALayer + no UIView = medium. Any
|
|
347
|
+
// CALayer alongside UIView is normal pairing — skip.
|
|
348
|
+
if (customLayer && !hasUIView)
|
|
349
|
+
return "high";
|
|
350
|
+
if (customLayer)
|
|
351
|
+
return "medium";
|
|
352
|
+
if (plainLayer && !hasUIView)
|
|
353
|
+
return "medium";
|
|
354
|
+
return null;
|
|
355
|
+
},
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
id: "coredata.fetchedresultscontroller-delegate",
|
|
359
|
+
name: "NSFetchedResultsController retains its delegate",
|
|
360
|
+
fixHint: "`NSFetchedResultsController.delegate` was historically strong (Apple-documented quirk; modern bridging declares it `weak` but the underlying ObjC contract still allows strong retain via the change-tracking machinery). When a `UIViewController` owns the FRC and is also its delegate, the FRC's internal change-tracker pins the VC. Set `frc.delegate = nil` in `viewWillDisappear` / `deinit`, or store the FRC behind a `WeakFRCDelegate` proxy that clears itself on the VC's deallocation signal.",
|
|
361
|
+
match: (_root, allClasses) => {
|
|
362
|
+
const classes = Array.from(allClasses);
|
|
363
|
+
const hasFrc = classes.some((c) => c.includes("NSFetchedResultsController") ||
|
|
364
|
+
c.includes("_PFFetchedResultsController") ||
|
|
365
|
+
c.includes("PFFetchedResultsController"));
|
|
366
|
+
return hasFrc ? "high" : null;
|
|
367
|
+
},
|
|
368
|
+
},
|
|
369
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
370
|
+
// v1.6 catalog expansion — 6 patterns for the Swift 6 / Observation /
|
|
371
|
+
// SwiftData / NavigationStack era. Sourced from Apple Developer Forums
|
|
372
|
+
// (#736110, #716804, #748042, #22795), Swift Forums (#64584, #77257),
|
|
373
|
+
// Donny Wals on the Observations API, and the Embrace WKWebView writeup.
|
|
374
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
375
|
+
{
|
|
376
|
+
id: "swiftui.observable-state-modal-leak",
|
|
377
|
+
name: "@Observable class held as @State across modal presentation",
|
|
378
|
+
fixHint: "Passing a reference type marked `@Observable` as `@State` to a modally-presented view can leak the model: SwiftUI's internal sheet-presentation infrastructure (around `_OptionalContent` / `_SheetPresentationModifier`) retains the value across dismiss cycles. Apple confirmed fixed in iOS 17.x, but reproduces in user code on older targets. Move the observable to `@StateObject`/`@State` on the *parent* and pass it down via `@Bindable`, or use the new `.sheet(item:)` form with a local-scope value type. Do not store the same `@Observable` model as `@State` inside the modal content view itself.",
|
|
379
|
+
match: (_root, allClasses) => {
|
|
380
|
+
const classes = Array.from(allClasses);
|
|
381
|
+
const hasObservable = classes.some((c) => c.includes("_$ObservationRegistrar") ||
|
|
382
|
+
c.includes("ObservationRegistrar") ||
|
|
383
|
+
c.includes("_ObservableType"));
|
|
384
|
+
const hasModal = classes.some((c) => c.includes("_OptionalContent") ||
|
|
385
|
+
c.includes("SheetPresentation") ||
|
|
386
|
+
c.includes("PresentedViewController") ||
|
|
387
|
+
c.includes("PresentationHostingController"));
|
|
388
|
+
if (hasObservable && hasModal)
|
|
389
|
+
return "high";
|
|
390
|
+
if (hasObservable)
|
|
391
|
+
return "low";
|
|
392
|
+
return null;
|
|
393
|
+
},
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
id: "swiftui.navigationpath-stored-in-viewmodel",
|
|
397
|
+
name: "NavigationPath retains every element ever pushed into it",
|
|
398
|
+
fixHint: "`NavigationPath` is a value type, but storing it on a class (typically a view-model exposed to the view) creates an append-only retention chain: every destination value pushed into the path is held until the entire path is replaced. Apple feedback `FB11643551` is still unfixed as of iOS 17. Either keep the path local to the view via `@State var path = NavigationPath()`, or, when you must persist it across view-model lifecycles, periodically reset it with `path = NavigationPath()` after `popToRoot()`-style navigations. Avoid storing destination view-model references *as* NavigationPath elements — store identifiers and resolve to view-models lazily.",
|
|
399
|
+
match: (_root, allClasses) => {
|
|
400
|
+
const classes = Array.from(allClasses);
|
|
401
|
+
const hasPath = classes.some((c) => c.includes("NavigationPath") ||
|
|
402
|
+
c.includes("AnyHashableStorageBase") ||
|
|
403
|
+
c.includes("NavigationStackStore"));
|
|
404
|
+
return hasPath ? "high" : null;
|
|
405
|
+
},
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
id: "concurrency.async-sequence-on-self",
|
|
409
|
+
name: "`for await` over an infinite AsyncSequence pins self via the consuming Task",
|
|
410
|
+
fixHint: "`for await value in someSequence { use(self) }` inside a `Task { }` stored on `self` creates a cycle that no `[weak self]` capture list can break: the iteration *itself* holds `self` strongly via the closure context the compiler synthesizes. If the sequence never terminates (infinite stream, NotificationCenter feed, AsyncChannel), the task never completes and `deinit` never fires. Fix by capturing only the values you need *outside* the loop body: `let tracker = self.tracker; Task { for await v in seq { await tracker.handle(v) } }`. For infinite sequences, store the Task as `private var observation: Task<Void, Never>?` and call `observation?.cancel()` in `deinit`.",
|
|
411
|
+
match: (_root, allClasses) => {
|
|
412
|
+
const classes = Array.from(allClasses);
|
|
413
|
+
const hasAsyncSeq = classes.some((c) => c.includes("AsyncSequence") ||
|
|
414
|
+
c.includes("AsyncMapSequence") ||
|
|
415
|
+
c.includes("AsyncFilterSequence") ||
|
|
416
|
+
c.includes("AsyncCompactMapSequence") ||
|
|
417
|
+
c.includes("AsyncIteratorProtocol"));
|
|
418
|
+
const hasTask = classes.some((c) => c.includes("_Concurrency.Task") || /\bTask<[^>]+>/.test(c));
|
|
419
|
+
if (hasAsyncSeq && hasTask)
|
|
420
|
+
return "high";
|
|
421
|
+
if (hasAsyncSeq)
|
|
422
|
+
return "medium";
|
|
423
|
+
return null;
|
|
424
|
+
},
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
id: "concurrency.notificationcenter-async-observer-task",
|
|
428
|
+
name: "`for await ... in NotificationCenter.notifications(named:)` retains self forever",
|
|
429
|
+
fixHint: "Special case of `concurrency.async-sequence-on-self` — `NotificationCenter.default.notifications(named:)` returns an `AsyncSequence` that never terminates implicitly, so the consuming Task never completes and pins whatever it touches. Even `[weak self]` doesn't help because the iteration itself holds the actor isolation context. Fix: explicitly cancel the Task in `deinit`/`onDisappear`, store it as `private var observation: Task<Void, Never>?`, and prefer `for await _ in seq { let me = self; await me?.handle() }` instead of capturing self via the loop body.",
|
|
430
|
+
match: (_root, allClasses) => {
|
|
431
|
+
const classes = Array.from(allClasses);
|
|
432
|
+
const hasNotifAsync = classes.some((c) => c.includes("NotificationCenter.Notifications") ||
|
|
433
|
+
c.includes("NSNotification.Notifications") ||
|
|
434
|
+
(c.includes("NotificationCenter") && c.includes("AsyncSequence")));
|
|
435
|
+
return hasNotifAsync ? "high" : null;
|
|
436
|
+
},
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
id: "swiftui.observations-closure-strong-self",
|
|
440
|
+
name: "Swift 6.2 `Observations { }` closure retains self",
|
|
441
|
+
fixHint: "The Swift 6.2 / Xcode 26 `Observations` API is the non-SwiftUI way to react to `@Observable` property changes. Each call to the closure happens whenever an observed property changes — internally `Observations` retains the closure to re-invoke it, and the closure usually captures `self` via property reads. Result: classic strong-closure cycle. Capture `[weak self]` inside the closure body just like you would for `Combine.sink` or `KVO.observe`. This pattern is *not* the same as inside SwiftUI body re-evaluation, where the dependency tracker manages closure lifetime for you. NEW API — ship classifier match at `confidence: probable` until validated against more real-world memgraphs.",
|
|
442
|
+
match: (_root, allClasses) => {
|
|
443
|
+
const classes = Array.from(allClasses);
|
|
444
|
+
const hasObservations = classes.some((c) => c.includes("Observations") &&
|
|
445
|
+
!c.includes("ObservationRegistrar") &&
|
|
446
|
+
!c.includes("ObservationTracking"));
|
|
447
|
+
const hasClosure = classes.some((c) => c.includes("Closure context"));
|
|
448
|
+
if (hasObservations && hasClosure)
|
|
449
|
+
return "high";
|
|
450
|
+
if (hasObservations)
|
|
451
|
+
return "medium";
|
|
452
|
+
return null;
|
|
453
|
+
},
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
id: "webkit.wkscriptmessagehandler-bridge",
|
|
457
|
+
name: "WKScriptMessageHandler bridge: handler ↔ webview ↔ contentController cycle",
|
|
458
|
+
fixHint: "`WKUserContentController.add(_:name:)` strong-retains its `WKScriptMessageHandler`. When the handler is also the *bridge* class that owns the `WKWebView` (typical pattern: a `WebViewBridge` exposes JS-callable methods to the page), you get a 3-link cycle: bridge → webView → configuration → userContentController → bridge. Fix: wrap the handler in a `WeakScriptMessageHandler` proxy class that holds the real handler weakly; or call `userContentController.removeScriptMessageHandler(forName:)` for every name added before the WKWebView is removed from its hierarchy. Setting the handler to `nil` is not enough — the strong retention is on the controller, not on the handler property.",
|
|
459
|
+
match: (_root, allClasses) => {
|
|
460
|
+
const classes = Array.from(allClasses);
|
|
461
|
+
const hasWK = classes.some((c) => c.includes("WKUserContentController") ||
|
|
462
|
+
c.includes("WKScriptMessageHandler") ||
|
|
463
|
+
c.includes("WKWebView") ||
|
|
464
|
+
c.includes("WKWebViewConfiguration"));
|
|
465
|
+
// Already covered by webkit.scriptmessage-handler-strong with broader
|
|
466
|
+
// signal; this pattern fires *additionally* when both the handler-named
|
|
467
|
+
// class AND the WKWebView appear in the same cycle (the "bridge" shape).
|
|
468
|
+
const hasHandler = classes.some((c) => c.includes("WKScriptMessageHandler") || /Bridge$|Handler$/.test(c));
|
|
469
|
+
const hasWebView = classes.some((c) => c.includes("WKWebView") || c.includes("WKWebViewConfiguration"));
|
|
470
|
+
// Only fire when all three signals coexist — that's the actual bridge
|
|
471
|
+
// shape. The broader `webkit.scriptmessage-handler-strong` (v1.4)
|
|
472
|
+
// already covers the "any WK class appears" case at medium/high.
|
|
473
|
+
if (hasWK && hasHandler && hasWebView)
|
|
474
|
+
return "high";
|
|
475
|
+
return null;
|
|
476
|
+
},
|
|
477
|
+
},
|
|
307
478
|
];
|
|
308
479
|
/** Pure: classify each ROOT CYCLE in the parsed report. */
|
|
309
480
|
export function classifyReport(report, maxResults = 20) {
|
|
@@ -322,12 +493,14 @@ export function classifyReport(report, maxResults = 20) {
|
|
|
322
493
|
for (const p of PATTERNS) {
|
|
323
494
|
const conf = p.match(root, allClasses);
|
|
324
495
|
if (conf) {
|
|
496
|
+
const hint = getStaticAnalysisHint(p.id);
|
|
325
497
|
matches.push({
|
|
326
498
|
patternId: p.id,
|
|
327
499
|
name: p.name,
|
|
328
500
|
confidence: conf,
|
|
329
501
|
reason: `Pattern ${p.id} matched`,
|
|
330
502
|
fixHint: p.fixHint,
|
|
503
|
+
...(hint ? { staticAnalysisHint: hint } : {}),
|
|
331
504
|
});
|
|
332
505
|
}
|
|
333
506
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classifyCycle.js","sourceRoot":"","sources":["../../src/tools/classifyCycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"classifyCycle.js","sourceRoot":"","sources":["../../src/tools/classifyCycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,10 +34,13 @@ export interface Playbook {
|
|
|
34
34
|
/** Pointers to alternative playbooks the agent might want next. */
|
|
35
35
|
seeAlso?: PlaybookKind[];
|
|
36
36
|
}
|
|
37
|
+
declare const PLAYBOOKS: Record<PlaybookKind, Playbook>;
|
|
37
38
|
export interface GetInvestigationPlaybookResult {
|
|
38
39
|
ok: boolean;
|
|
39
40
|
playbook: Playbook;
|
|
40
41
|
}
|
|
41
42
|
export declare function getInvestigationPlaybook(input: GetInvestigationPlaybookInput): Promise<GetInvestigationPlaybookResult>;
|
|
42
|
-
/** Exposed for tests. */
|
|
43
|
+
/** Exposed for tests + the prompts surface. */
|
|
43
44
|
export declare const PLAYBOOK_KINDS: PlaybookKind[];
|
|
45
|
+
/** Exposed for the prompts surface (see src/runtime/prompts.ts). */
|
|
46
|
+
export { PLAYBOOKS };
|
|
@@ -215,6 +215,8 @@ export async function getInvestigationPlaybook(input) {
|
|
|
215
215
|
}
|
|
216
216
|
return { ok: true, playbook };
|
|
217
217
|
}
|
|
218
|
-
/** Exposed for tests. */
|
|
218
|
+
/** Exposed for tests + the prompts surface. */
|
|
219
219
|
export const PLAYBOOK_KINDS = Object.keys(PLAYBOOKS);
|
|
220
|
+
/** Exposed for the prompts surface (see src/runtime/prompts.ts). */
|
|
221
|
+
export { PLAYBOOKS };
|
|
220
222
|
//# sourceMappingURL=getInvestigationPlaybook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInvestigationPlaybook.js","sourceRoot":"","sources":["../../src/tools/getInvestigationPlaybook.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"getInvestigationPlaybook.js","sourceRoot":"","sources":["../../src/tools/getInvestigationPlaybook.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VERSION: string;
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
// Single source of truth for the runtime version string. Reads from
|
|
5
|
+
// package.json so the CLI banner, the MCP server handshake, and any other
|
|
6
|
+
// surface that reports a version can never drift out of sync with the
|
|
7
|
+
// published artifact.
|
|
8
|
+
//
|
|
9
|
+
// Layout assumption: this file (compiled to dist/version.js) sits one level
|
|
10
|
+
// below package.json — true both at dev time (src/ ↔ package.json) and after
|
|
11
|
+
// `npm install` (node_modules/<pkg>/dist/ ↔ node_modules/<pkg>/package.json).
|
|
12
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
const pkg = JSON.parse(readFileSync(join(here, "..", "package.json"), "utf8"));
|
|
14
|
+
export const VERSION = pkg.version;
|
|
15
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,oEAAoE;AACpE,0EAA0E;AAC1E,sEAAsE;AACtE,sBAAsB;AACtB,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAChC,CAAC;AAEzB,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memorydetective",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "MCP server for iOS leak hunting and performance investigation. Reads .memgraph + .trace files, captures new ones via xctrace and leaks(1), classifies retain cycles.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|