@jshookmcp/jshook 0.2.8 → 0.3.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.
Files changed (162) hide show
  1. package/README.md +36 -5
  2. package/README.zh.md +36 -5
  3. package/dist/{AntiCheatDetector-S8VRj-dD.mjs → AntiCheatDetector-CqGDXmfc.mjs} +160 -54
  4. package/dist/{CodeInjector-4Z3ngPoX.mjs → CodeInjector-BdjRfNx7.mjs} +5 -5
  5. package/dist/ConsoleMonitor-DykL3IAw.mjs +2269 -0
  6. package/dist/{DarwinAPI-B8hg_yhz.mjs → DarwinAPI-ETyy0xyo.mjs} +1 -1
  7. package/dist/DetailedDataManager-HT49OrvF.mjs +217 -0
  8. package/dist/EventBus-DFKvADm3.mjs +141 -0
  9. package/dist/EvidenceGraphBridge-318Oi0Lf.mjs +153 -0
  10. package/dist/{ExtensionManager-D5-bO9D8.mjs → ExtensionManager-BDMsY2Dz.mjs} +27 -13
  11. package/dist/{FingerprintManager-BVxFJL2-.mjs → FingerprintManager-BN4UQWnX.mjs} +1 -1
  12. package/dist/{HardwareBreakpoint-DK1yjWkV.mjs → HardwareBreakpoint-Cc2AFq1Y.mjs} +3 -3
  13. package/dist/{HeapAnalyzer-CEbo10xU.mjs → HeapAnalyzer-DruMgsgj.mjs} +21 -21
  14. package/dist/HookGeneratorBuilders.core.generators.storage-CTbB4Lcx.mjs +566 -0
  15. package/dist/InstrumentationSession-DLH0vd-z.mjs +244 -0
  16. package/dist/{MemoryController-DdtnBdD4.mjs → MemoryController-CMtviNW_.mjs} +3 -3
  17. package/dist/{MemoryScanSession-RMixN3bX.mjs → MemoryScanSession-ITgb_NMi.mjs} +81 -78
  18. package/dist/{MemoryScanner-QjK4ld0B.mjs → MemoryScanner-CiL7Z3ey.mjs} +50 -21
  19. package/dist/{NativeMemoryManager.impl-CB6gJ0NM.mjs → NativeMemoryManager.impl-D9Lkovvn.mjs} +20 -56
  20. package/dist/{NativeMemoryManager.utils-BML4q1ry.mjs → NativeMemoryManager.utils-BBlAixF5.mjs} +1 -1
  21. package/dist/{PEAnalyzer-CK0xe0Fs.mjs → PEAnalyzer-DMQ44gen.mjs} +16 -16
  22. package/dist/PageController-BPJNqqBN.mjs +431 -0
  23. package/dist/{PointerChainEngine-Cd73qu5b.mjs → PointerChainEngine-K7wN8Z-w.mjs} +10 -7
  24. package/dist/PrerequisiteError-TuyZIs6n.mjs +20 -0
  25. package/dist/ProcessRegistry-zGg12QbE.mjs +74 -0
  26. package/dist/ResponseBuilder-CJXWmWNw.mjs +143 -0
  27. package/dist/ReverseEvidenceGraph-C02-gXOh.mjs +269 -0
  28. package/dist/ScriptManager-ZuWD-0Jg.mjs +3003 -0
  29. package/dist/{Speedhack-CeF0XmEz.mjs → Speedhack-D-z0umeT.mjs} +2 -2
  30. package/dist/{StructureAnalyzer-D4GkMduU.mjs → StructureAnalyzer-Cav5AVSL.mjs} +9 -6
  31. package/dist/ToolCatalog-5OJdMiF0.mjs +582 -0
  32. package/dist/ToolError-jh9whhMd.mjs +15 -0
  33. package/dist/ToolProbe-DbCFGyrg.mjs +45 -0
  34. package/dist/ToolRegistry-B9krbTtI.mjs +180 -0
  35. package/dist/ToolRouter.policy-BGDAGyeH.mjs +344 -0
  36. package/dist/TraceRecorder-B41Z5XBj.mjs +1286 -0
  37. package/dist/{Win32API-Bc0QnQsN.mjs → Win32API-C2kjj0ze.mjs} +19 -13
  38. package/dist/{Win32Debug-DUHt9XUn.mjs → Win32Debug-CKrGOTpo.mjs} +3 -3
  39. package/dist/WorkflowEngine-DJ6M4opp.mjs +569 -0
  40. package/dist/analysis-BHeJW2Nb.mjs +1234 -0
  41. package/dist/antidebug-BRKeyt27.mjs +1081 -0
  42. package/dist/artifactRetention-CPXkUJXp.mjs +598 -0
  43. package/dist/artifacts-DkfosXH3.mjs +59 -0
  44. package/dist/authorization-schema-DRqyJMSk.mjs +31 -0
  45. package/dist/betterSqlite3-DLSBZodi.mjs +74 -0
  46. package/dist/binary-instrument--V3MAhJ4.mjs +971 -0
  47. package/dist/bind-helpers-ClV34xdn.mjs +42 -0
  48. package/dist/boringssl-inspector-Bo_LOLaS.mjs +180 -0
  49. package/dist/browser-Dx3_S2cG.mjs +4369 -0
  50. package/dist/capabilities-CcHlvWgK.mjs +33 -0
  51. package/dist/concurrency-Drev_Vz9.mjs +41 -0
  52. package/dist/{constants-CCvsN80K.mjs → constants-CDZLOoVv.mjs} +105 -48
  53. package/dist/coordination-DgItD9DL.mjs +259 -0
  54. package/dist/debugger-RS3RSAqs.mjs +1288 -0
  55. package/dist/definitions-BEoYofW5.mjs +47 -0
  56. package/dist/definitions-BRaefg3u.mjs +365 -0
  57. package/dist/definitions-BbkvZkiv.mjs +96 -0
  58. package/dist/definitions-BtWSHJ3o.mjs +17 -0
  59. package/dist/definitions-C1gCHO0i.mjs +43 -0
  60. package/dist/definitions-CDOg_b-l.mjs +138 -0
  61. package/dist/definitions-CVPD9hzZ.mjs +54 -0
  62. package/dist/definitions-Cea8Lgl7.mjs +94 -0
  63. package/dist/definitions-DAgIyjxM.mjs +10 -0
  64. package/dist/definitions-DJA27nsL.mjs +66 -0
  65. package/dist/definitions-DKPFU3LW.mjs +25 -0
  66. package/dist/definitions-DPRpZQ96.mjs +47 -0
  67. package/dist/definitions-DUE5gmdn.mjs +18 -0
  68. package/dist/definitions-DYVjOtxa.mjs +26 -0
  69. package/dist/definitions-DcYLVLCo.mjs +37 -0
  70. package/dist/definitions-Pp5LI2H4.mjs +27 -0
  71. package/dist/definitions-j9KdHVNR.mjs +14 -0
  72. package/dist/definitions-uzkjBwa7.mjs +258 -0
  73. package/dist/definitions-va-AnLuQ.mjs +28 -0
  74. package/dist/encoding-DJeqHmpd.mjs +1079 -0
  75. package/dist/evidence-graph-bridge-DcYizFk2.mjs +136 -0
  76. package/dist/{factory-CibqTNC8.mjs → factory-C90tBff6.mjs} +41 -56
  77. package/dist/flat-target-session-Dgax2Cy3.mjs +29 -0
  78. package/dist/graphql-CoHrhweh.mjs +1197 -0
  79. package/dist/handlers-4jmR0nMs.mjs +898 -0
  80. package/dist/handlers-BAHPxcch.mjs +789 -0
  81. package/dist/handlers-BOs9b907.mjs +2600 -0
  82. package/dist/handlers-BWXEy6ef.mjs +917 -0
  83. package/dist/handlers-Bndn6QvE.mjs +111 -0
  84. package/dist/handlers-BqC4bD4s.mjs +681 -0
  85. package/dist/handlers-BtYq60bM2.mjs +276 -0
  86. package/dist/handlers-BzgcB4iv.mjs +799 -0
  87. package/dist/handlers-CRyRWj2b.mjs +859 -0
  88. package/dist/handlers-CVv2H1uq.mjs +592 -0
  89. package/dist/handlers-Dl5a7JS4.mjs +572 -0
  90. package/dist/handlers-Dx2d7jt7.mjs +2537 -0
  91. package/dist/handlers-Dz9PYsCa.mjs +2805 -0
  92. package/dist/handlers-HujRKC3b.mjs +661 -0
  93. package/dist/handlers.impl-XWXkQfyi.mjs +807 -0
  94. package/dist/hooks-B1B8NRHL.mjs +898 -0
  95. package/dist/index.mjs +491 -259
  96. package/dist/{logger-BmWzC2lM.mjs → logger-Dh_xb7_2.mjs} +14 -6
  97. package/dist/maintenance-PRMkLVRW.mjs +835 -0
  98. package/dist/manifest-67Bok-Si.mjs +58 -0
  99. package/dist/manifest-6lNTMZAB2.mjs +87 -0
  100. package/dist/manifest-B2duEHiH.mjs +90 -0
  101. package/dist/manifest-B6EY9Vm8.mjs +57 -0
  102. package/dist/manifest-B6nKSbyY.mjs +95 -0
  103. package/dist/manifest-BL8AQNPF.mjs +106 -0
  104. package/dist/manifest-BSZvJJmV.mjs +47 -0
  105. package/dist/manifest-BU7qzUyX.mjs +418 -0
  106. package/dist/manifest-Bl62e8WK.mjs +49 -0
  107. package/dist/manifest-Bo5cXjdt.mjs +82 -0
  108. package/dist/manifest-BpS4gtUK.mjs +1347 -0
  109. package/dist/manifest-Bv65_e2W.mjs +101 -0
  110. package/dist/manifest-BytNIF4Z.mjs +117 -0
  111. package/dist/manifest-C-xtsjS3.mjs +81 -0
  112. package/dist/manifest-CDYl7OhA.mjs +66 -0
  113. package/dist/manifest-CRZ3xmkD.mjs +61 -0
  114. package/dist/manifest-CoW6u4Tp.mjs +132 -0
  115. package/dist/manifest-Cq5zN_8A.mjs +50 -0
  116. package/dist/manifest-D7YZM_2e.mjs +194 -0
  117. package/dist/manifest-DE_VrAeQ.mjs +314 -0
  118. package/dist/manifest-DGsXSCpT.mjs +39 -0
  119. package/dist/manifest-DJ2vfEuW.mjs +156 -0
  120. package/dist/manifest-DPXDYhEu.mjs +80 -0
  121. package/dist/manifest-Dd4fQb0a.mjs +322 -0
  122. package/dist/manifest-Deq6opGg.mjs +223 -0
  123. package/dist/manifest-DfJTafJK.mjs +37 -0
  124. package/dist/manifest-DgOdgN_j.mjs +50 -0
  125. package/dist/manifest-DlbMW4v4.mjs +47 -0
  126. package/dist/manifest-DmVfbH0w.mjs +374 -0
  127. package/dist/manifest-Dog6Ddjr.mjs +109 -0
  128. package/dist/manifest-DvgU5FWb.mjs +58 -0
  129. package/dist/manifest-HsfDBs7j.mjs +50 -0
  130. package/dist/manifest-I8oQHvCG.mjs +186 -0
  131. package/dist/manifest-NvH_a-av.mjs +786 -0
  132. package/dist/manifest-cEJU1v0Z.mjs +129 -0
  133. package/dist/manifest-wOl5XLB12.mjs +112 -0
  134. package/dist/modules-tZozf0LQ.mjs +10635 -0
  135. package/dist/mojo-ipc-DXNEXEqb.mjs +640 -0
  136. package/dist/network-CPVvwvFg.mjs +3852 -0
  137. package/dist/{artifacts-BbdOMET5.mjs → outputPaths-um7lCRY3.mjs} +219 -216
  138. package/dist/parse-args-B4cY5Vx5.mjs +39 -0
  139. package/dist/platform-CYeFoTWp.mjs +2161 -0
  140. package/dist/process-BTbgcVc6.mjs +1306 -0
  141. package/dist/proxy-r8YN6nP1.mjs +192 -0
  142. package/dist/registry-Bl8ZQW61.mjs +34 -0
  143. package/dist/response-CWhh2aLo.mjs +34 -0
  144. package/dist/server/plugin-api.mjs +2 -2
  145. package/dist/shared-state-board-BoZnSoj-.mjs +586 -0
  146. package/dist/sourcemap-BIDHUVXy.mjs +934 -0
  147. package/dist/ssrf-policy-Dsqd-DTX.mjs +166 -0
  148. package/dist/streaming-Dal6utPp.mjs +725 -0
  149. package/dist/tool-builder-BHJp32mV.mjs +186 -0
  150. package/dist/transform-DRVgGG90.mjs +1011 -0
  151. package/dist/types-Bx92KJfT.mjs +4 -0
  152. package/dist/wasm-BYx5UOeG.mjs +1044 -0
  153. package/dist/webcrack-Be0_FccV.mjs +747 -0
  154. package/dist/workflow-BpuKEtvn.mjs +725 -0
  155. package/package.json +82 -49
  156. package/dist/ExtensionManager-CPTJhHFg.mjs +0 -2
  157. package/dist/ToolCatalog-Bq4V2sbJ.mjs +0 -67201
  158. package/dist/{CacheAdapters-CzFNpD9a.mjs → CacheAdapters-jJFy20G-.mjs} +0 -0
  159. package/dist/{StealthVerifier-BzBCFiwx.mjs → StealthVerifier-BWmPgQsv.mjs} +0 -0
  160. package/dist/{VersionDetector-CNXcvD46.mjs → VersionDetector-K3V4vGsw.mjs} +0 -0
  161. package/dist/{formatAddress-ChCSIRWT.mjs → formatAddress-nnMvEohD.mjs} +0 -0
  162. package/dist/{types-BBjOqye-.mjs → types-DDBWs9UP.mjs} +1 -1
@@ -0,0 +1,129 @@
1
+ import { i as asToolResponse } from "./response-CWhh2aLo.mjs";
2
+ import { n as toolLookup } from "./registry-Bl8ZQW61.mjs";
3
+ import { n as defineMethodRegistrations } from "./bind-helpers-ClV34xdn.mjs";
4
+ const skiaTools = [
5
+ {
6
+ name: "skia_detect_renderer",
7
+ description: "Detect the active Skia renderer backend from the current page context.",
8
+ inputSchema: {
9
+ type: "object",
10
+ properties: {},
11
+ required: []
12
+ }
13
+ },
14
+ {
15
+ name: "skia_extract_scene",
16
+ description: "Extract a lightweight Skia scene tree from the selected canvas.",
17
+ inputSchema: {
18
+ type: "object",
19
+ properties: { canvasId: { type: "string" } },
20
+ required: []
21
+ }
22
+ },
23
+ {
24
+ name: "skia_correlate_objects",
25
+ description: "Correlate requested Skia node identifiers with the extracted scene tree.",
26
+ inputSchema: {
27
+ type: "object",
28
+ properties: {
29
+ canvasId: {
30
+ type: "string",
31
+ description: "Optional canvas element ID to target for correlation."
32
+ },
33
+ skiaNodeIds: {
34
+ type: "array",
35
+ items: { type: "string" },
36
+ description: "Optional list of Skia node identifiers to correlate."
37
+ }
38
+ },
39
+ required: []
40
+ }
41
+ }
42
+ ];
43
+ //#endregion
44
+ //#region src/server/domains/skia-capture/manifest.ts
45
+ const DOMAIN = "skia-capture";
46
+ const DEP_KEY = "skiaCaptureHandlers";
47
+ const PROFILES = ["workflow", "full"];
48
+ const registrations = defineMethodRegistrations({
49
+ domain: DOMAIN,
50
+ depKey: DEP_KEY,
51
+ lookup: toolLookup(skiaTools),
52
+ wrapResult: asToolResponse,
53
+ entries: [
54
+ {
55
+ tool: "skia_detect_renderer",
56
+ method: "handleSkiaDetectRenderer"
57
+ },
58
+ {
59
+ tool: "skia_extract_scene",
60
+ method: "handleSkiaExtractScene"
61
+ },
62
+ {
63
+ tool: "skia_correlate_objects",
64
+ method: "handleSkiaCorrelateObjects"
65
+ }
66
+ ]
67
+ });
68
+ async function ensure(ctx) {
69
+ const { SkiaCaptureHandlers } = await import("./handlers-BqC4bD4s.mjs");
70
+ const existing = ctx.getDomainInstance(DEP_KEY);
71
+ if (existing) return existing;
72
+ const handlers = new SkiaCaptureHandlers({
73
+ pageController: ctx.pageController ?? null,
74
+ eventBus: ctx.eventBus
75
+ });
76
+ ctx.setDomainInstance(DEP_KEY, handlers);
77
+ return handlers;
78
+ }
79
+ const manifest = {
80
+ kind: "domain-manifest",
81
+ version: 1,
82
+ domain: DOMAIN,
83
+ depKey: DEP_KEY,
84
+ profiles: PROFILES,
85
+ registrations,
86
+ ensure,
87
+ workflowRule: {
88
+ patterns: [
89
+ /\b(skia|gpu|render(er)?|scene\s?(tree|graph)|draw\s?call|raster|paint|layer)\b/i,
90
+ /skia.*(render|detect|scene)/i,
91
+ /canvas.*skia/i,
92
+ /gpu.*backend/i
93
+ ],
94
+ priority: 78,
95
+ tools: [
96
+ "skia_detect_renderer",
97
+ "skia_extract_scene",
98
+ "skia_correlate_objects"
99
+ ],
100
+ hint: "Skia pipeline analysis: detect GPU backend → dump scene tree → correlate with JS objects."
101
+ },
102
+ prerequisites: {
103
+ skia_detect_renderer: [{
104
+ condition: "Browser must be running with CDP attached",
105
+ fix: "Call browser_launch or browser_attach first"
106
+ }],
107
+ skia_extract_scene: [{
108
+ condition: "Browser must be running with CDP attached",
109
+ fix: "Call browser_launch or browser_attach first"
110
+ }],
111
+ skia_correlate_objects: [{
112
+ condition: "V8 heap snapshot should be available for robust matching",
113
+ fix: "Run v8_heap_snapshot_capture before correlation"
114
+ }]
115
+ },
116
+ toolDependencies: [{
117
+ from: "canvas",
118
+ to: "skia-capture",
119
+ relation: "uses",
120
+ weight: .9
121
+ }, {
122
+ from: "skia_correlate_objects",
123
+ to: "v8_heap_snapshot_capture",
124
+ relation: "precedes",
125
+ weight: .6
126
+ }]
127
+ };
128
+ //#endregion
129
+ export { manifest as default };
@@ -0,0 +1,112 @@
1
+ import { n as toolLookup } from "./registry-Bl8ZQW61.mjs";
2
+ import { n as defineMethodRegistrations } from "./bind-helpers-ClV34xdn.mjs";
3
+ import { i as tokenBudgetTools, n as cacheTools, r as extensionTools, t as artifactTools } from "./definitions-DKPFU3LW.mjs";
4
+ //#region src/server/domains/maintenance/manifest.ts
5
+ const DOMAIN = "maintenance";
6
+ const DEP_KEY = "coreMaintenanceHandlers";
7
+ const EXT_DEP_KEY = "extensionManagementHandlers";
8
+ const coreToolDefinitions = [
9
+ ...tokenBudgetTools,
10
+ ...cacheTools,
11
+ ...artifactTools
12
+ ];
13
+ const extensionToolDefinitions = [...extensionTools];
14
+ const t = toolLookup([...coreToolDefinitions, ...extensionToolDefinitions]);
15
+ const coreRegistrations = defineMethodRegistrations({
16
+ domain: DOMAIN,
17
+ depKey: DEP_KEY,
18
+ lookup: t,
19
+ entries: [
20
+ {
21
+ tool: "get_token_budget_stats",
22
+ method: "handleGetTokenBudgetStats",
23
+ profiles: ["workflow", "full"]
24
+ },
25
+ {
26
+ tool: "manual_token_cleanup",
27
+ method: "handleManualTokenCleanup"
28
+ },
29
+ {
30
+ tool: "reset_token_budget",
31
+ method: "handleResetTokenBudget"
32
+ },
33
+ {
34
+ tool: "get_cache_stats",
35
+ method: "handleGetCacheStats",
36
+ profiles: ["workflow", "full"]
37
+ },
38
+ {
39
+ tool: "smart_cache_cleanup",
40
+ method: "handleSmartCacheCleanup",
41
+ mapArgs: (args) => [args.targetSize]
42
+ },
43
+ {
44
+ tool: "clear_all_caches",
45
+ method: "handleClearAllCaches"
46
+ },
47
+ {
48
+ tool: "cleanup_artifacts",
49
+ method: "handleCleanupArtifacts",
50
+ mapArgs: (args) => [{
51
+ retentionDays: args.retentionDays,
52
+ maxTotalBytes: args.maxTotalBytes,
53
+ dryRun: args.dryRun
54
+ }]
55
+ },
56
+ {
57
+ tool: "doctor_environment",
58
+ method: "handleEnvironmentDoctor",
59
+ mapArgs: (args) => [{ includeBridgeHealth: args.includeBridgeHealth }]
60
+ }
61
+ ]
62
+ });
63
+ const extensionRegistrations = defineMethodRegistrations({
64
+ domain: DOMAIN,
65
+ depKey: EXT_DEP_KEY,
66
+ lookup: t,
67
+ entries: [
68
+ {
69
+ tool: "list_extensions",
70
+ method: "handleListExtensions",
71
+ profiles: ["workflow", "full"]
72
+ },
73
+ {
74
+ tool: "reload_extensions",
75
+ method: "handleReloadExtensions"
76
+ },
77
+ {
78
+ tool: "browse_extension_registry",
79
+ method: "handleBrowseExtensionRegistry",
80
+ profiles: ["workflow", "full"],
81
+ mapArgs: (args) => [args.kind ?? "all"]
82
+ },
83
+ {
84
+ tool: "install_extension",
85
+ method: "handleInstallExtension",
86
+ mapArgs: (args) => [args.slug, args.targetDir]
87
+ }
88
+ ]
89
+ });
90
+ async function ensure(ctx) {
91
+ const { CoreMaintenanceHandlers, ExtensionManagementHandlers } = await import("./maintenance-PRMkLVRW.mjs");
92
+ if (!ctx.coreMaintenanceHandlers || !ctx.extensionManagementHandlers) {
93
+ if (!ctx.coreMaintenanceHandlers) ctx.coreMaintenanceHandlers = new CoreMaintenanceHandlers({
94
+ tokenBudget: ctx.tokenBudget,
95
+ unifiedCache: ctx.unifiedCache
96
+ });
97
+ if (!ctx.extensionManagementHandlers) ctx.extensionManagementHandlers = new ExtensionManagementHandlers(ctx);
98
+ }
99
+ return ctx.coreMaintenanceHandlers;
100
+ }
101
+ const manifest = {
102
+ kind: "domain-manifest",
103
+ version: 1,
104
+ domain: DOMAIN,
105
+ depKey: DEP_KEY,
106
+ secondaryDepKeys: ["extensionManagementHandlers"],
107
+ profiles: ["workflow", "full"],
108
+ ensure,
109
+ registrations: [...coreRegistrations, ...extensionRegistrations]
110
+ };
111
+ //#endregion
112
+ export { manifest as default };