@petukhovart/agent-view 0.13.1 → 0.15.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +21 -21
- package/LICENSE +21 -21
- package/README.md +82 -3
- package/dist/cdp/transport.d.ts.map +1 -1
- package/dist/cdp/transport.js +154 -15
- package/dist/cdp/transport.js.map +1 -1
- package/dist/cdp/types.d.ts +56 -0
- package/dist/cdp/types.d.ts.map +1 -1
- package/dist/cdp/types.js.map +1 -1
- package/dist/cli/commands/click.d.ts +1 -0
- package/dist/cli/commands/click.d.ts.map +1 -1
- package/dist/cli/commands/click.js +2 -0
- package/dist/cli/commands/click.js.map +1 -1
- package/dist/cli/commands/coverage.d.ts +14 -0
- package/dist/cli/commands/coverage.d.ts.map +1 -0
- package/dist/cli/commands/coverage.js +34 -0
- package/dist/cli/commands/coverage.js.map +1 -0
- package/dist/cli/commands/heap.d.ts +14 -0
- package/dist/cli/commands/heap.d.ts.map +1 -0
- package/dist/cli/commands/heap.js +25 -0
- package/dist/cli/commands/heap.js.map +1 -0
- package/dist/cli/commands/listeners.d.ts +11 -0
- package/dist/cli/commands/listeners.d.ts.map +1 -0
- package/dist/cli/commands/listeners.js +34 -0
- package/dist/cli/commands/listeners.js.map +1 -0
- package/dist/cli/index.js +92 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/inspectors/coverage/index.d.ts +17 -0
- package/dist/inspectors/coverage/index.d.ts.map +1 -0
- package/dist/inspectors/coverage/index.js +62 -0
- package/dist/inspectors/coverage/index.js.map +1 -0
- package/dist/inspectors/format.d.ts +6 -0
- package/dist/inspectors/format.d.ts.map +1 -0
- package/dist/inspectors/format.js +17 -0
- package/dist/inspectors/format.js.map +1 -0
- package/dist/inspectors/heap/index.d.ts +65 -0
- package/dist/inspectors/heap/index.d.ts.map +1 -0
- package/dist/inspectors/heap/index.js +269 -0
- package/dist/inspectors/heap/index.js.map +1 -0
- package/dist/inspectors/listeners/index.d.ts +4 -0
- package/dist/inspectors/listeners/index.d.ts.map +1 -0
- package/dist/inspectors/listeners/index.js +30 -0
- package/dist/inspectors/listeners/index.js.map +1 -0
- package/dist/server/server.d.ts +21 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +150 -9
- package/dist/server/server.js.map +1 -1
- package/package.json +2 -1
- package/skills/verify/SKILL.md +163 -427
- package/skills/verify/references/commands.md +384 -0
- package/skills/verify/references/design-conformance.md +23 -0
- package/skills/verify/references/memory-leaks.md +94 -0
- package/dist/cdp/console-stream.d.ts +0 -35
- package/dist/cdp/console-stream.d.ts.map +0 -1
- package/dist/cdp/console-stream.js +0 -103
- package/dist/cdp/console-stream.js.map +0 -1
- package/dist/inspectors/dom.d.ts +0 -17
- package/dist/inspectors/dom.d.ts.map +0 -1
- package/dist/inspectors/dom.js +0 -131
- package/dist/inspectors/dom.js.map +0 -1
- package/dist/inspectors/scene/pixi.d.ts +0 -3
- package/dist/inspectors/scene/pixi.d.ts.map +0 -1
- package/dist/inspectors/scene/pixi.js +0 -52
- package/dist/inspectors/scene/pixi.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/inspectors/heap/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;AA+ChE,MAAM,QAAQ,GAAG,CAAC,CAAA;AAClB,MAAM,eAAe,GAAG,WAAW,CAAA;AAEnC,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,IAAY,EAAE,MAAc;IAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAA;IAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAA;IAC7B,MAAM,KAAK,GAAc;QACvB,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAClC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAClC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;QACvC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;QACvC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7B,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7B,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;QACvC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;QACvC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5C,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;QAClD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC;QACnD,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;QACvC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC;QAChD,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;KACzC,CAAA;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAA;IAC5C,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,cAAc,CAAA;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,CAAA;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;QACtD,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;QACjB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACtB,SAAS,IAAI,IAAI,CAAA;IACnB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAC/D,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CAAC,CAAY,EAAE,GAAW;IACxC,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IAChD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;gBAAE,OAAO,IAAI,CAAA;YACjD,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAA;YAC5E,OAAO,QAAQ,CAAC,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QACjD,CAAC;QACD,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAA;QACzC,KAAK,QAAQ,CAAC;QACd,KAAK,qBAAqB,CAAC;QAC3B,KAAK,eAAe;YAClB,OAAO,UAAU,CAAA;QACnB,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAA;QAC1B;YACE,OAAO,IAAI,IAAI,GAAG,CAAA;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;AACxC,CAAC;AAQD,SAAS,IAAI,CAAC,GAAW,EAAE,OAAoB;IAC7C,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3D,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7F,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAe;IAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACvC,OAAO,aAAa,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;UACnG,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAA;AACnF,CAAC;AAED,SAAS,WAAW,CAAC,OAA+B;IAClD,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QAClC,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;YAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QAAC,CAAC;IAC9E,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAe,EAAE,UAAuB,EAAE;IACtE,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACvG,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,sBAAsB,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAA;IAC7F,MAAM,KAAK,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAC1C,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CACtE,CAAC,CAAA;IACF,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAe,EAAE,CAAe,EAAE,UAAuB,EAAE;IACpF,MAAM,IAAI,GAA4C,EAAE,CAAA;IACxD,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;YAAE,SAAQ;QACjC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;QAC1D,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACtC,IAAI,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/E,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC9F,OAAO,8BAA8B,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,IAAI,KAAK,GAAG,CAAA;IACzE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU;UAC9F,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,QAAQ,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAA;IACpI,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,CAC3B,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EACrC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CACrF,CAAC,CAAA;IACF,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;AAC1C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,CAAe,EAAE,GAAW,EAAE,UAAyC,EAAE;IACvG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAA;IACjB,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,CAAA;IACnD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC5C,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE;QAC5B,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAAC,CAAC;QACpE,OAAO,CAAC,CAAA;IACV,CAAC,CAAA;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IACnE,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QACxD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAClD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAA;IAC/C,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC3C,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,QAAgB,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAU,CAAA;QAC9C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,CAAC,CAAA;IACD,qEAAqE;IACrE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAA;IAC1D,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,CAAA;QAChC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG;YAAE,SAAS,EAAE,CAAA;QACnC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAA;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;YAChE,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI;gBAAE,SAAQ;YACjD,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;YACnC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG;gBAAE,SAAQ;YACrD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;gBACnC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;gBAClC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAE/F,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,qBAAqB,GAAG,SAAS,CAAC,CAAC,IAAI,IAAI,CAAA;IACvE,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,GAAG,GAAG,KAAK,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,wCAAwC,CAAA;IAChH,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5F,MAAM,KAAK,GAAG;QACZ,GAAG,GAAG,KAAK,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,iBAAiB;QAC7D,GAAG,KAAK,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5E,CAAA;IACD,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CACjB,CAAY,EACZ,OAA6C,EAC7C,OAAiC,EACjC,IAAY,EACZ,SAAkE;IAElE,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,CAAA;IACnD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmC,CAAA;QACvD,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,CAAA;YAChC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAA;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;gBAChE,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI;oBAAE,SAAQ;gBACjD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAClD,IAAI,CAAC,IAAI;oBAAE,SAAQ;gBACnB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;gBACpD,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI;wBAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;gBACzD,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QACrF,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO;QAAE,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI;YAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;AAC5F,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAyB;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAA;IAC9D,OAAO,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,cAAc,CAAC,OAAoB;IAC1C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAA;AAC5D,CAAC;AAED,SAAS,KAAK,CAAC,MAAgB,EAAE,IAAgB;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACtF,MAAM,IAAI,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/G,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,KAAK,GAAG,KAAK;IACxC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { EventListenerInfo } from '../../cdp/types.js';
|
|
2
|
+
/** `label` echoes how the node was addressed, so the output names what it describes. */
|
|
3
|
+
export declare function formatListeners(label: string, listeners: EventListenerInfo[]): string;
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/inspectors/listeners/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAgB3D,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAcrF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
function flags(l) {
|
|
2
|
+
const set = [];
|
|
3
|
+
if (l.useCapture)
|
|
4
|
+
set.push('capture');
|
|
5
|
+
if (l.passive)
|
|
6
|
+
set.push('passive');
|
|
7
|
+
if (l.once)
|
|
8
|
+
set.push('once');
|
|
9
|
+
return set.length > 0 ? ` (${set.join(', ')})` : '';
|
|
10
|
+
}
|
|
11
|
+
/** `scriptId` is the fallback: a script parsed after the last scan has no URL yet. */
|
|
12
|
+
function location(l) {
|
|
13
|
+
const source = l.url || `scriptId:${l.scriptId}`;
|
|
14
|
+
return `${source}:${l.lineNumber + 1}:${l.columnNumber + 1}`;
|
|
15
|
+
}
|
|
16
|
+
/** `label` echoes how the node was addressed, so the output names what it describes. */
|
|
17
|
+
export function formatListeners(label, listeners) {
|
|
18
|
+
const lines = [label];
|
|
19
|
+
if (listeners.length === 0) {
|
|
20
|
+
lines.push(' (no listeners on this node)');
|
|
21
|
+
return lines.join('\n');
|
|
22
|
+
}
|
|
23
|
+
const sorted = [...listeners].sort((a, b) => a.type.localeCompare(b.type) || location(a).localeCompare(location(b)));
|
|
24
|
+
const width = Math.min(16, Math.max(...sorted.map((l) => l.type.length)));
|
|
25
|
+
for (const l of sorted) {
|
|
26
|
+
lines.push(` ${l.type.padEnd(width)} ${location(l)}${flags(l)}`);
|
|
27
|
+
}
|
|
28
|
+
return lines.join('\n');
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/inspectors/listeners/index.ts"],"names":[],"mappings":"AAEA,SAAS,KAAK,CAAC,CAAoB;IACjC,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,CAAC,CAAC,UAAU;QAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACrC,IAAI,CAAC,CAAC,OAAO;QAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClC,IAAI,CAAC,CAAC,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC5B,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;AACtD,CAAC;AAED,sFAAsF;AACtF,SAAS,QAAQ,CAAC,CAAoB;IACpC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAA;IAChD,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,EAAE,CAAA;AAC9D,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,SAA8B;IAC3E,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAA;IAErB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;QAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACzE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACpE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
package/dist/server/server.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export declare class AgentViewServer {
|
|
|
30
30
|
private idleTimer;
|
|
31
31
|
private sceneCache;
|
|
32
32
|
private domTextCache;
|
|
33
|
+
/** Named, insertion-ordered; dropped with the server. Raw JSON is never kept, only the parsed graph. */
|
|
34
|
+
private heapSnapshots;
|
|
33
35
|
private axTreeCache;
|
|
34
36
|
private portStates;
|
|
35
37
|
private token;
|
|
@@ -91,6 +93,25 @@ export declare class AgentViewServer {
|
|
|
91
93
|
*/
|
|
92
94
|
private armFileChooser;
|
|
93
95
|
private readTauriShimStatus;
|
|
96
|
+
/**
|
|
97
|
+
* Forward reachability. `--clear` opens a coverage window, the next call closes
|
|
98
|
+
* it and reports what ran inside — so a click can be attributed to the functions
|
|
99
|
+
* it actually executed. Purchases only positive answers: an empty delta proves
|
|
100
|
+
* that *this* action did not reach the code, never that nothing can.
|
|
101
|
+
*/
|
|
102
|
+
private handleCoverage;
|
|
103
|
+
/**
|
|
104
|
+
* Memory growth between named snapshots. `take` parses the snapshot inside
|
|
105
|
+
* the server and keeps only the graph, so the multi-hundred-MB JSON never
|
|
106
|
+
* reaches the CLI. `diff` without names compares the two most recent.
|
|
107
|
+
*/
|
|
108
|
+
private handleHeap;
|
|
109
|
+
/** `s1`, `s2`, … skipping names already taken by hand. */
|
|
110
|
+
private freeHeapSnapshotName;
|
|
111
|
+
/** Named snapshot, or the most recent one. Throws the user-facing error; the dispatcher turns it into `{ ok: false }`. */
|
|
112
|
+
private pickHeapSnapshot;
|
|
113
|
+
/** Which handlers are wired to a node, and where each was declared. */
|
|
114
|
+
private handleListeners;
|
|
94
115
|
private handleWait;
|
|
95
116
|
private captureScreenshotToFile;
|
|
96
117
|
private handleScreenshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAcA,OAAO,EAKL,KAAK,WAAW,EAEhB,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
|
package/dist/server/server.js
CHANGED
|
@@ -18,6 +18,10 @@ import { ConsoleStream } from '../cdp/_tests/console-stream.js';
|
|
|
18
18
|
import { NetworkStream } from '../cdp/network-stream.js';
|
|
19
19
|
import { formatNetworkList, formatNetworkDetail } from '../inspectors/network/index.js';
|
|
20
20
|
import { formatDialogStatus, describePolicy, describeArm } from '../inspectors/dialog/index.js';
|
|
21
|
+
import { formatCoverage } from '../inspectors/coverage/index.js';
|
|
22
|
+
import { formatListeners } from '../inspectors/listeners/index.js';
|
|
23
|
+
import { parseHeapSnapshot, describeSnapshot, formatSummary, formatDiff, formatRetainers, formatList } from '../inspectors/heap/index.js';
|
|
24
|
+
import { formatBytes } from '../inspectors/format.js';
|
|
21
25
|
import { buildTauriArmScript, buildTauriStatusScript, TauriShimResult } from './tauri-dialog-shim.js';
|
|
22
26
|
import { NetworkResourceType } from '../cdp/types.js';
|
|
23
27
|
import { AxTreeCache } from '../cdp/ax-cache.js';
|
|
@@ -163,6 +167,8 @@ export class AgentViewServer {
|
|
|
163
167
|
idleTimer = null;
|
|
164
168
|
sceneCache = new Map();
|
|
165
169
|
domTextCache = new Map();
|
|
170
|
+
/** Named, insertion-ordered; dropped with the server. Raw JSON is never kept, only the parsed graph. */
|
|
171
|
+
heapSnapshots = new Map();
|
|
166
172
|
axTreeCache = new AxTreeCache();
|
|
167
173
|
portStates = new Map();
|
|
168
174
|
token = '';
|
|
@@ -185,6 +191,9 @@ export class AgentViewServer {
|
|
|
185
191
|
logs: (req) => this.handleLogs(req),
|
|
186
192
|
upload: (req) => this.handleUpload(req),
|
|
187
193
|
dialog: (req) => this.handleDialog(req),
|
|
194
|
+
coverage: (req) => this.handleCoverage(req),
|
|
195
|
+
listeners: (req) => this.handleListeners(req),
|
|
196
|
+
heap: (req) => this.handleHeap(req),
|
|
188
197
|
stop: () => this.handleStop(),
|
|
189
198
|
};
|
|
190
199
|
streamingCommands = new Set(['watch']);
|
|
@@ -612,8 +621,11 @@ export class AgentViewServer {
|
|
|
612
621
|
const conn = await this.getPageSession(req, targetId);
|
|
613
622
|
const cacheKey = `${req.port}:${targetId}`;
|
|
614
623
|
const clicks = argBool(req.args, 'double') ? 2 : 1;
|
|
615
|
-
const
|
|
616
|
-
const
|
|
624
|
+
const right = argBool(req.args, 'right');
|
|
625
|
+
const clickOpts = clicks > 1 || right
|
|
626
|
+
? { ...(clicks > 1 ? { clicks } : {}), ...(right ? { button: MouseButton.Right } : {}) }
|
|
627
|
+
: undefined;
|
|
628
|
+
const verb = right ? 'Right-clicked' : clicks > 1 ? 'Double-clicked' : 'Clicked';
|
|
617
629
|
if (req.args.pos && typeof req.args.pos === 'object') {
|
|
618
630
|
const pos = req.args.pos;
|
|
619
631
|
const x = typeof pos.x === 'number' ? pos.x : 0;
|
|
@@ -878,6 +890,142 @@ export class AgentViewServer {
|
|
|
878
890
|
return { patched: false, armed: false, fired: [] };
|
|
879
891
|
}
|
|
880
892
|
}
|
|
893
|
+
/**
|
|
894
|
+
* Forward reachability. `--clear` opens a coverage window, the next call closes
|
|
895
|
+
* it and reports what ran inside — so a click can be attributed to the functions
|
|
896
|
+
* it actually executed. Purchases only positive answers: an empty delta proves
|
|
897
|
+
* that *this* action did not reach the code, never that nothing can.
|
|
898
|
+
*/
|
|
899
|
+
async handleCoverage(req) {
|
|
900
|
+
const target = await this.resolveTarget(req);
|
|
901
|
+
const conn = await this.getRuntimeSession(req, target);
|
|
902
|
+
if (argBool(req.args, 'clear')) {
|
|
903
|
+
await conn.startCoverage();
|
|
904
|
+
return { ok: true, data: 'Coverage window cleared' };
|
|
905
|
+
}
|
|
906
|
+
const scripts = await conn.takeCoverage();
|
|
907
|
+
if (scripts === null) {
|
|
908
|
+
return {
|
|
909
|
+
ok: false,
|
|
910
|
+
error: 'No coverage window open. Run `agent-view coverage --clear` before the action you want to attribute.',
|
|
911
|
+
};
|
|
912
|
+
}
|
|
913
|
+
const result = formatCoverage(scripts, {
|
|
914
|
+
filter: argStr(req.args, 'filter'),
|
|
915
|
+
file: argStr(req.args, 'file'),
|
|
916
|
+
all: argBool(req.args, 'all'),
|
|
917
|
+
maxLines: argNum(req.args, 'maxLines'),
|
|
918
|
+
});
|
|
919
|
+
if (argBool(req.args, 'count'))
|
|
920
|
+
return { ok: true, data: String(result.functions) };
|
|
921
|
+
return { ok: true, data: result.text };
|
|
922
|
+
}
|
|
923
|
+
/**
|
|
924
|
+
* Memory growth between named snapshots. `take` parses the snapshot inside
|
|
925
|
+
* the server and keeps only the graph, so the multi-hundred-MB JSON never
|
|
926
|
+
* reaches the CLI. `diff` without names compares the two most recent.
|
|
927
|
+
*/
|
|
928
|
+
async handleHeap(req) {
|
|
929
|
+
const action = argStr(req.args, 'action');
|
|
930
|
+
const listOptions = () => ({
|
|
931
|
+
filter: argStr(req.args, 'filter'),
|
|
932
|
+
detached: argBool(req.args, 'detached'),
|
|
933
|
+
maxLines: argNum(req.args, 'maxLines'),
|
|
934
|
+
});
|
|
935
|
+
switch (action) {
|
|
936
|
+
case 'take': {
|
|
937
|
+
const target = await this.resolveTarget(req);
|
|
938
|
+
const conn = await this.getRuntimeSession(req, target);
|
|
939
|
+
const name = argStr(req.args, 'name') ?? this.freeHeapSnapshotName();
|
|
940
|
+
const json = await conn.takeHeapSnapshot();
|
|
941
|
+
const label = `${target.type}:${target.title || target.url}`;
|
|
942
|
+
const snapshot = parseHeapSnapshot(json, name, label);
|
|
943
|
+
// Re-taking a name moves it to the end: "most recent" is insertion order, and `diff` defaults to the last two.
|
|
944
|
+
this.heapSnapshots.delete(name);
|
|
945
|
+
this.heapSnapshots.set(name, snapshot);
|
|
946
|
+
return { ok: true, data: describeSnapshot(snapshot) };
|
|
947
|
+
}
|
|
948
|
+
case 'summary':
|
|
949
|
+
return { ok: true, data: formatSummary(this.pickHeapSnapshot(argStr(req.args, 'name')), listOptions()) };
|
|
950
|
+
case 'diff': {
|
|
951
|
+
const names = argStrArray(req.args, 'names') ?? [...this.heapSnapshots.keys()].slice(-2);
|
|
952
|
+
if (names.length < 2) {
|
|
953
|
+
return { ok: false, error: 'heap diff needs two snapshots. Run `agent-view heap take` twice, or name them: `heap diff <a> <b>`.' };
|
|
954
|
+
}
|
|
955
|
+
const [a, b] = names.map((n) => this.pickHeapSnapshot(n));
|
|
956
|
+
return { ok: true, data: formatDiff(a, b, listOptions()) };
|
|
957
|
+
}
|
|
958
|
+
case 'retainers': {
|
|
959
|
+
const cls = argStr(req.args, 'class');
|
|
960
|
+
if (!cls)
|
|
961
|
+
return { ok: false, error: 'heap retainers requires a class name, as printed by `heap diff`' };
|
|
962
|
+
const snapshot = this.pickHeapSnapshot(argStr(req.args, 'name'));
|
|
963
|
+
return { ok: true, data: formatRetainers(snapshot, cls, listOptions()) };
|
|
964
|
+
}
|
|
965
|
+
case 'list':
|
|
966
|
+
return { ok: true, data: formatList([...this.heapSnapshots.values()]) };
|
|
967
|
+
case 'clear': {
|
|
968
|
+
const n = this.heapSnapshots.size;
|
|
969
|
+
this.heapSnapshots.clear();
|
|
970
|
+
return { ok: true, data: `Dropped ${n} heap snapshot${n === 1 ? '' : 's'}` };
|
|
971
|
+
}
|
|
972
|
+
default:
|
|
973
|
+
return { ok: false, error: `Unknown heap action: ${action}` };
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
/** `s1`, `s2`, … skipping names already taken by hand. */
|
|
977
|
+
freeHeapSnapshotName() {
|
|
978
|
+
for (let i = this.heapSnapshots.size + 1;; i++) {
|
|
979
|
+
if (!this.heapSnapshots.has(`s${i}`))
|
|
980
|
+
return `s${i}`;
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
/** Named snapshot, or the most recent one. Throws the user-facing error; the dispatcher turns it into `{ ok: false }`. */
|
|
984
|
+
pickHeapSnapshot(name) {
|
|
985
|
+
if (name === undefined) {
|
|
986
|
+
const last = [...this.heapSnapshots.values()].at(-1);
|
|
987
|
+
if (!last)
|
|
988
|
+
throw new Error('No heap snapshots taken. Run `agent-view heap take` first.');
|
|
989
|
+
return last;
|
|
990
|
+
}
|
|
991
|
+
const found = this.heapSnapshots.get(name);
|
|
992
|
+
if (!found) {
|
|
993
|
+
const taken = [...this.heapSnapshots.keys()].map(k => `"${k}"`).join(', ') || 'none';
|
|
994
|
+
throw new Error(`No heap snapshot named "${name}". Taken: ${taken}.`);
|
|
995
|
+
}
|
|
996
|
+
return found;
|
|
997
|
+
}
|
|
998
|
+
/** Which handlers are wired to a node, and where each was declared. */
|
|
999
|
+
async handleListeners(req) {
|
|
1000
|
+
const { targetId } = await this.resolveWindow(req);
|
|
1001
|
+
const conn = await this.getPageSession(req, targetId);
|
|
1002
|
+
const depth = argNum(req.args, 'depth') ?? 0;
|
|
1003
|
+
const selector = argStr(req.args, 'selector');
|
|
1004
|
+
if (selector) {
|
|
1005
|
+
const listeners = await conn.getEventListenersBySelector(selector, depth);
|
|
1006
|
+
if (listeners === null)
|
|
1007
|
+
return { ok: false, error: `No element matches selector "${selector}"` };
|
|
1008
|
+
return { ok: true, data: formatListeners(`"${selector}"`, listeners) };
|
|
1009
|
+
}
|
|
1010
|
+
const filter = argStr(req.args, 'filter');
|
|
1011
|
+
if (filter) {
|
|
1012
|
+
const found = await this.findByFilter(conn, filter, req, targetId);
|
|
1013
|
+
if (!found)
|
|
1014
|
+
return { ok: false, error: `No element found matching "${filter}"` };
|
|
1015
|
+
const listeners = await conn.getEventListeners(found.backendDOMNodeId, depth);
|
|
1016
|
+
return { ok: true, data: formatListeners(`"${found.name}"`, listeners) };
|
|
1017
|
+
}
|
|
1018
|
+
const ref = argNum(req.args, 'ref');
|
|
1019
|
+
if (ref === undefined) {
|
|
1020
|
+
return { ok: false, error: 'listeners requires --filter, --ref, or --selector' };
|
|
1021
|
+
}
|
|
1022
|
+
const entry = this.refStore.get(ref);
|
|
1023
|
+
if (!entry) {
|
|
1024
|
+
return { ok: false, error: `Invalid ref: ${ref}. Run \`agent-view dom\` to get fresh refs.` };
|
|
1025
|
+
}
|
|
1026
|
+
const listeners = await conn.getEventListeners(entry.backendDOMNodeId, depth);
|
|
1027
|
+
return { ok: true, data: formatListeners(`[ref=${ref}]`, listeners) };
|
|
1028
|
+
}
|
|
881
1029
|
async handleWait(req) {
|
|
882
1030
|
const filter = argStr(req.args, 'filter');
|
|
883
1031
|
if (!filter) {
|
|
@@ -1704,13 +1852,6 @@ function formatIdleFeed(file) {
|
|
|
1704
1852
|
'start with `agent-view logs start` — `logs tail` still reads the existing feed',
|
|
1705
1853
|
].join('\n');
|
|
1706
1854
|
}
|
|
1707
|
-
function formatBytes(bytes) {
|
|
1708
|
-
if (bytes < 1024)
|
|
1709
|
-
return `${bytes} B`;
|
|
1710
|
-
if (bytes < 1024 * 1024)
|
|
1711
|
-
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
1712
|
-
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
1713
|
-
}
|
|
1714
1855
|
function formatElapsed(ms) {
|
|
1715
1856
|
const total = Math.max(0, Math.round(ms / 1000));
|
|
1716
1857
|
const h = Math.floor(total / 3600);
|