@ai-jshook/mcp 0.1.1

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 (271) hide show
  1. package/.env.example +38 -0
  2. package/CLAUDE.md +170 -0
  3. package/README.md +564 -0
  4. package/bun.lock +1484 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +57 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/modules/analyzer/AISummarizer.d.ts +41 -0
  10. package/dist/modules/analyzer/AISummarizer.d.ts.map +1 -0
  11. package/dist/modules/analyzer/AISummarizer.js +186 -0
  12. package/dist/modules/analyzer/AISummarizer.js.map +1 -0
  13. package/dist/modules/analyzer/CodeAnalyzer.d.ts +28 -0
  14. package/dist/modules/analyzer/CodeAnalyzer.d.ts.map +1 -0
  15. package/dist/modules/analyzer/CodeAnalyzer.js +1287 -0
  16. package/dist/modules/analyzer/CodeAnalyzer.js.map +1 -0
  17. package/dist/modules/analyzer/IntelligentAnalyzer.d.ts +114 -0
  18. package/dist/modules/analyzer/IntelligentAnalyzer.d.ts.map +1 -0
  19. package/dist/modules/analyzer/IntelligentAnalyzer.js +1176 -0
  20. package/dist/modules/analyzer/IntelligentAnalyzer.js.map +1 -0
  21. package/dist/modules/browser/BrowserModeManager.d.ts +31 -0
  22. package/dist/modules/browser/BrowserModeManager.d.ts.map +1 -0
  23. package/dist/modules/browser/BrowserModeManager.js +241 -0
  24. package/dist/modules/browser/BrowserModeManager.js.map +1 -0
  25. package/dist/modules/captcha/AICaptchaDetector.d.ts +32 -0
  26. package/dist/modules/captcha/AICaptchaDetector.d.ts.map +1 -0
  27. package/dist/modules/captcha/AICaptchaDetector.js +387 -0
  28. package/dist/modules/captcha/AICaptchaDetector.js.map +1 -0
  29. package/dist/modules/captcha/CaptchaDetector.d.ts +28 -0
  30. package/dist/modules/captcha/CaptchaDetector.d.ts.map +1 -0
  31. package/dist/modules/captcha/CaptchaDetector.js +513 -0
  32. package/dist/modules/captcha/CaptchaDetector.js.map +1 -0
  33. package/dist/modules/collector/CodeCache.d.ts +37 -0
  34. package/dist/modules/collector/CodeCache.d.ts.map +1 -0
  35. package/dist/modules/collector/CodeCache.js +188 -0
  36. package/dist/modules/collector/CodeCache.js.map +1 -0
  37. package/dist/modules/collector/CodeCollector.d.ts +107 -0
  38. package/dist/modules/collector/CodeCollector.d.ts.map +1 -0
  39. package/dist/modules/collector/CodeCollector.js +796 -0
  40. package/dist/modules/collector/CodeCollector.js.map +1 -0
  41. package/dist/modules/collector/CodeCompressor.d.ts +65 -0
  42. package/dist/modules/collector/CodeCompressor.d.ts.map +1 -0
  43. package/dist/modules/collector/CodeCompressor.js +245 -0
  44. package/dist/modules/collector/CodeCompressor.js.map +1 -0
  45. package/dist/modules/collector/DOMInspector.d.ts +51 -0
  46. package/dist/modules/collector/DOMInspector.d.ts.map +1 -0
  47. package/dist/modules/collector/DOMInspector.js +437 -0
  48. package/dist/modules/collector/DOMInspector.js.map +1 -0
  49. package/dist/modules/collector/PageController.d.ts +79 -0
  50. package/dist/modules/collector/PageController.d.ts.map +1 -0
  51. package/dist/modules/collector/PageController.js +287 -0
  52. package/dist/modules/collector/PageController.js.map +1 -0
  53. package/dist/modules/collector/SmartCodeCollector.d.ts +38 -0
  54. package/dist/modules/collector/SmartCodeCollector.d.ts.map +1 -0
  55. package/dist/modules/collector/SmartCodeCollector.js +208 -0
  56. package/dist/modules/collector/SmartCodeCollector.js.map +1 -0
  57. package/dist/modules/collector/StreamingCollector.d.ts +46 -0
  58. package/dist/modules/collector/StreamingCollector.d.ts.map +1 -0
  59. package/dist/modules/collector/StreamingCollector.js +127 -0
  60. package/dist/modules/collector/StreamingCollector.js.map +1 -0
  61. package/dist/modules/crypto/CryptoDetector.d.ts +22 -0
  62. package/dist/modules/crypto/CryptoDetector.d.ts.map +1 -0
  63. package/dist/modules/crypto/CryptoDetector.js +168 -0
  64. package/dist/modules/crypto/CryptoDetector.js.map +1 -0
  65. package/dist/modules/crypto/CryptoDetectorEnhanced.d.ts +31 -0
  66. package/dist/modules/crypto/CryptoDetectorEnhanced.d.ts.map +1 -0
  67. package/dist/modules/crypto/CryptoDetectorEnhanced.js +269 -0
  68. package/dist/modules/crypto/CryptoDetectorEnhanced.js.map +1 -0
  69. package/dist/modules/crypto/CryptoRules.d.ts +59 -0
  70. package/dist/modules/crypto/CryptoRules.d.ts.map +1 -0
  71. package/dist/modules/crypto/CryptoRules.js +234 -0
  72. package/dist/modules/crypto/CryptoRules.js.map +1 -0
  73. package/dist/modules/debugger/BlackboxManager.d.ts +14 -0
  74. package/dist/modules/debugger/BlackboxManager.d.ts.map +1 -0
  75. package/dist/modules/debugger/BlackboxManager.js +98 -0
  76. package/dist/modules/debugger/BlackboxManager.js.map +1 -0
  77. package/dist/modules/debugger/DebuggerManager.d.ts +138 -0
  78. package/dist/modules/debugger/DebuggerManager.d.ts.map +1 -0
  79. package/dist/modules/debugger/DebuggerManager.js +777 -0
  80. package/dist/modules/debugger/DebuggerManager.js.map +1 -0
  81. package/dist/modules/debugger/EventBreakpointManager.d.ts +30 -0
  82. package/dist/modules/debugger/EventBreakpointManager.d.ts.map +1 -0
  83. package/dist/modules/debugger/EventBreakpointManager.js +125 -0
  84. package/dist/modules/debugger/EventBreakpointManager.js.map +1 -0
  85. package/dist/modules/debugger/RuntimeInspector.d.ts +54 -0
  86. package/dist/modules/debugger/RuntimeInspector.d.ts.map +1 -0
  87. package/dist/modules/debugger/RuntimeInspector.js +277 -0
  88. package/dist/modules/debugger/RuntimeInspector.js.map +1 -0
  89. package/dist/modules/debugger/ScriptManager.d.ts +94 -0
  90. package/dist/modules/debugger/ScriptManager.d.ts.map +1 -0
  91. package/dist/modules/debugger/ScriptManager.js +433 -0
  92. package/dist/modules/debugger/ScriptManager.js.map +1 -0
  93. package/dist/modules/debugger/WatchExpressionManager.d.ts +52 -0
  94. package/dist/modules/debugger/WatchExpressionManager.d.ts.map +1 -0
  95. package/dist/modules/debugger/WatchExpressionManager.js +136 -0
  96. package/dist/modules/debugger/WatchExpressionManager.js.map +1 -0
  97. package/dist/modules/debugger/XHRBreakpointManager.d.ts +21 -0
  98. package/dist/modules/debugger/XHRBreakpointManager.d.ts.map +1 -0
  99. package/dist/modules/debugger/XHRBreakpointManager.js +81 -0
  100. package/dist/modules/debugger/XHRBreakpointManager.js.map +1 -0
  101. package/dist/modules/deobfuscator/ASTOptimizer.d.ts +12 -0
  102. package/dist/modules/deobfuscator/ASTOptimizer.d.ts.map +1 -0
  103. package/dist/modules/deobfuscator/ASTOptimizer.js +234 -0
  104. package/dist/modules/deobfuscator/ASTOptimizer.js.map +1 -0
  105. package/dist/modules/deobfuscator/AdvancedDeobfuscator.d.ts +52 -0
  106. package/dist/modules/deobfuscator/AdvancedDeobfuscator.d.ts.map +1 -0
  107. package/dist/modules/deobfuscator/AdvancedDeobfuscator.js +985 -0
  108. package/dist/modules/deobfuscator/AdvancedDeobfuscator.js.map +1 -0
  109. package/dist/modules/deobfuscator/Deobfuscator.d.ts +23 -0
  110. package/dist/modules/deobfuscator/Deobfuscator.d.ts.map +1 -0
  111. package/dist/modules/deobfuscator/Deobfuscator.js +487 -0
  112. package/dist/modules/deobfuscator/Deobfuscator.js.map +1 -0
  113. package/dist/modules/deobfuscator/JSVMPDeobfuscator.d.ts +19 -0
  114. package/dist/modules/deobfuscator/JSVMPDeobfuscator.d.ts.map +1 -0
  115. package/dist/modules/deobfuscator/JSVMPDeobfuscator.js +594 -0
  116. package/dist/modules/deobfuscator/JSVMPDeobfuscator.js.map +1 -0
  117. package/dist/modules/deobfuscator/JScramberDeobfuscator.d.ts +28 -0
  118. package/dist/modules/deobfuscator/JScramberDeobfuscator.d.ts.map +1 -0
  119. package/dist/modules/deobfuscator/JScramberDeobfuscator.js +239 -0
  120. package/dist/modules/deobfuscator/JScramberDeobfuscator.js.map +1 -0
  121. package/dist/modules/deobfuscator/PackerDeobfuscator.d.ts +38 -0
  122. package/dist/modules/deobfuscator/PackerDeobfuscator.d.ts.map +1 -0
  123. package/dist/modules/deobfuscator/PackerDeobfuscator.js +191 -0
  124. package/dist/modules/deobfuscator/PackerDeobfuscator.js.map +1 -0
  125. package/dist/modules/detector/ObfuscationDetector.d.ts +35 -0
  126. package/dist/modules/detector/ObfuscationDetector.d.ts.map +1 -0
  127. package/dist/modules/detector/ObfuscationDetector.js +278 -0
  128. package/dist/modules/detector/ObfuscationDetector.js.map +1 -0
  129. package/dist/modules/emulator/AIEnvironmentAnalyzer.d.ts +32 -0
  130. package/dist/modules/emulator/AIEnvironmentAnalyzer.d.ts.map +1 -0
  131. package/dist/modules/emulator/AIEnvironmentAnalyzer.js +548 -0
  132. package/dist/modules/emulator/AIEnvironmentAnalyzer.js.map +1 -0
  133. package/dist/modules/emulator/BrowserAPIDatabase.d.ts +34 -0
  134. package/dist/modules/emulator/BrowserAPIDatabase.d.ts.map +1 -0
  135. package/dist/modules/emulator/BrowserAPIDatabase.js +326 -0
  136. package/dist/modules/emulator/BrowserAPIDatabase.js.map +1 -0
  137. package/dist/modules/emulator/BrowserEnvironmentRules.d.ts +47 -0
  138. package/dist/modules/emulator/BrowserEnvironmentRules.d.ts.map +1 -0
  139. package/dist/modules/emulator/BrowserEnvironmentRules.js +493 -0
  140. package/dist/modules/emulator/BrowserEnvironmentRules.js.map +1 -0
  141. package/dist/modules/emulator/EnvironmentEmulator.d.ts +27 -0
  142. package/dist/modules/emulator/EnvironmentEmulator.d.ts.map +1 -0
  143. package/dist/modules/emulator/EnvironmentEmulator.js +1113 -0
  144. package/dist/modules/emulator/EnvironmentEmulator.js.map +1 -0
  145. package/dist/modules/emulator/EnvironmentEmulatorEnhanced.d.ts +26 -0
  146. package/dist/modules/emulator/EnvironmentEmulatorEnhanced.d.ts.map +1 -0
  147. package/dist/modules/emulator/EnvironmentEmulatorEnhanced.js +493 -0
  148. package/dist/modules/emulator/EnvironmentEmulatorEnhanced.js.map +1 -0
  149. package/dist/modules/emulator/templates/chrome-env.d.ts +260 -0
  150. package/dist/modules/emulator/templates/chrome-env.d.ts.map +1 -0
  151. package/dist/modules/emulator/templates/chrome-env.js +253 -0
  152. package/dist/modules/emulator/templates/chrome-env.js.map +1 -0
  153. package/dist/modules/hook/AIHookGenerator.d.ts +53 -0
  154. package/dist/modules/hook/AIHookGenerator.d.ts.map +1 -0
  155. package/dist/modules/hook/AIHookGenerator.js +353 -0
  156. package/dist/modules/hook/AIHookGenerator.js.map +1 -0
  157. package/dist/modules/hook/HookManager.d.ts +67 -0
  158. package/dist/modules/hook/HookManager.d.ts.map +1 -0
  159. package/dist/modules/hook/HookManager.js +1225 -0
  160. package/dist/modules/hook/HookManager.js.map +1 -0
  161. package/dist/modules/monitor/ConsoleMonitor.d.ts +140 -0
  162. package/dist/modules/monitor/ConsoleMonitor.d.ts.map +1 -0
  163. package/dist/modules/monitor/ConsoleMonitor.js +834 -0
  164. package/dist/modules/monitor/ConsoleMonitor.js.map +1 -0
  165. package/dist/modules/monitor/PerformanceMonitor.d.ts +65 -0
  166. package/dist/modules/monitor/PerformanceMonitor.d.ts.map +1 -0
  167. package/dist/modules/monitor/PerformanceMonitor.js +175 -0
  168. package/dist/modules/monitor/PerformanceMonitor.js.map +1 -0
  169. package/dist/modules/stealth/StealthScripts2025.d.ts +17 -0
  170. package/dist/modules/stealth/StealthScripts2025.d.ts.map +1 -0
  171. package/dist/modules/stealth/StealthScripts2025.js +274 -0
  172. package/dist/modules/stealth/StealthScripts2025.js.map +1 -0
  173. package/dist/modules/symbolic/JSVMPSymbolicExecutor.d.ts +69 -0
  174. package/dist/modules/symbolic/JSVMPSymbolicExecutor.d.ts.map +1 -0
  175. package/dist/modules/symbolic/JSVMPSymbolicExecutor.js +232 -0
  176. package/dist/modules/symbolic/JSVMPSymbolicExecutor.js.map +1 -0
  177. package/dist/modules/symbolic/SymbolicExecutor.d.ts +69 -0
  178. package/dist/modules/symbolic/SymbolicExecutor.d.ts.map +1 -0
  179. package/dist/modules/symbolic/SymbolicExecutor.js +346 -0
  180. package/dist/modules/symbolic/SymbolicExecutor.js.map +1 -0
  181. package/dist/server/AIHookToolDefinitions.d.ts +3 -0
  182. package/dist/server/AIHookToolDefinitions.d.ts.map +1 -0
  183. package/dist/server/AIHookToolDefinitions.js +284 -0
  184. package/dist/server/AIHookToolDefinitions.js.map +1 -0
  185. package/dist/server/AIHookToolHandlers.d.ts +50 -0
  186. package/dist/server/AIHookToolHandlers.d.ts.map +1 -0
  187. package/dist/server/AIHookToolHandlers.js +311 -0
  188. package/dist/server/AIHookToolHandlers.js.map +1 -0
  189. package/dist/server/AdvancedToolDefinitions.d.ts +3 -0
  190. package/dist/server/AdvancedToolDefinitions.d.ts.map +1 -0
  191. package/dist/server/AdvancedToolDefinitions.js +218 -0
  192. package/dist/server/AdvancedToolDefinitions.js.map +1 -0
  193. package/dist/server/AdvancedToolHandlers.d.ts +85 -0
  194. package/dist/server/AdvancedToolHandlers.d.ts.map +1 -0
  195. package/dist/server/AdvancedToolHandlers.js +431 -0
  196. package/dist/server/AdvancedToolHandlers.js.map +1 -0
  197. package/dist/server/BrowserToolDefinitions.d.ts +3 -0
  198. package/dist/server/BrowserToolDefinitions.d.ts.map +1 -0
  199. package/dist/server/BrowserToolDefinitions.js +841 -0
  200. package/dist/server/BrowserToolDefinitions.js.map +1 -0
  201. package/dist/server/BrowserToolHandlers.d.ts +290 -0
  202. package/dist/server/BrowserToolHandlers.d.ts.map +1 -0
  203. package/dist/server/BrowserToolHandlers.js +784 -0
  204. package/dist/server/BrowserToolHandlers.js.map +1 -0
  205. package/dist/server/CacheToolDefinitions.d.ts +3 -0
  206. package/dist/server/CacheToolDefinitions.d.ts.map +1 -0
  207. package/dist/server/CacheToolDefinitions.js +166 -0
  208. package/dist/server/CacheToolDefinitions.js.map +1 -0
  209. package/dist/server/DebuggerToolDefinitions.d.ts +3 -0
  210. package/dist/server/DebuggerToolDefinitions.d.ts.map +1 -0
  211. package/dist/server/DebuggerToolDefinitions.js +600 -0
  212. package/dist/server/DebuggerToolDefinitions.js.map +1 -0
  213. package/dist/server/DebuggerToolHandlers.d.ts +230 -0
  214. package/dist/server/DebuggerToolHandlers.d.ts.map +1 -0
  215. package/dist/server/DebuggerToolHandlers.js +935 -0
  216. package/dist/server/DebuggerToolHandlers.js.map +1 -0
  217. package/dist/server/MCPServer.d.ts +55 -0
  218. package/dist/server/MCPServer.d.ts.map +1 -0
  219. package/dist/server/MCPServer.js +1344 -0
  220. package/dist/server/MCPServer.js.map +1 -0
  221. package/dist/server/TokenBudgetToolDefinitions.d.ts +3 -0
  222. package/dist/server/TokenBudgetToolDefinitions.d.ts.map +1 -0
  223. package/dist/server/TokenBudgetToolDefinitions.js +114 -0
  224. package/dist/server/TokenBudgetToolDefinitions.js.map +1 -0
  225. package/dist/services/LLMService.d.ts +41 -0
  226. package/dist/services/LLMService.d.ts.map +1 -0
  227. package/dist/services/LLMService.js +792 -0
  228. package/dist/services/LLMService.js.map +1 -0
  229. package/dist/types/index.d.ts +527 -0
  230. package/dist/types/index.d.ts.map +1 -0
  231. package/dist/types/index.js +2 -0
  232. package/dist/types/index.js.map +1 -0
  233. package/dist/utils/AdaptiveDataSerializer.d.ts +27 -0
  234. package/dist/utils/AdaptiveDataSerializer.d.ts.map +1 -0
  235. package/dist/utils/AdaptiveDataSerializer.js +215 -0
  236. package/dist/utils/AdaptiveDataSerializer.js.map +1 -0
  237. package/dist/utils/CacheAdapters.d.ts +30 -0
  238. package/dist/utils/CacheAdapters.d.ts.map +1 -0
  239. package/dist/utils/CacheAdapters.js +83 -0
  240. package/dist/utils/CacheAdapters.js.map +1 -0
  241. package/dist/utils/TokenBudgetManager.d.ts +52 -0
  242. package/dist/utils/TokenBudgetManager.d.ts.map +1 -0
  243. package/dist/utils/TokenBudgetManager.js +190 -0
  244. package/dist/utils/TokenBudgetManager.js.map +1 -0
  245. package/dist/utils/UnifiedCacheManager.d.ts +55 -0
  246. package/dist/utils/UnifiedCacheManager.d.ts.map +1 -0
  247. package/dist/utils/UnifiedCacheManager.js +207 -0
  248. package/dist/utils/UnifiedCacheManager.js.map +1 -0
  249. package/dist/utils/cache.d.ts +13 -0
  250. package/dist/utils/cache.d.ts.map +1 -0
  251. package/dist/utils/cache.js +92 -0
  252. package/dist/utils/cache.js.map +1 -0
  253. package/dist/utils/config.d.ts +7 -0
  254. package/dist/utils/config.d.ts.map +1 -0
  255. package/dist/utils/config.js +93 -0
  256. package/dist/utils/config.js.map +1 -0
  257. package/dist/utils/detailedDataManager.d.ts +60 -0
  258. package/dist/utils/detailedDataManager.d.ts.map +1 -0
  259. package/dist/utils/detailedDataManager.js +204 -0
  260. package/dist/utils/detailedDataManager.js.map +1 -0
  261. package/dist/utils/logger.d.ts +16 -0
  262. package/dist/utils/logger.d.ts.map +1 -0
  263. package/dist/utils/logger.js +47 -0
  264. package/dist/utils/logger.js.map +1 -0
  265. package/dist/utils/parallel.d.ts +40 -0
  266. package/dist/utils/parallel.d.ts.map +1 -0
  267. package/dist/utils/parallel.js +148 -0
  268. package/dist/utils/parallel.js.map +1 -0
  269. package/package.json +94 -0
  270. package/server.json +39 -0
  271. package/tsconfig.dev.json +14 -0
@@ -0,0 +1,50 @@
1
+ import type { PageController } from '../modules/collector/PageController.js';
2
+ export declare class AIHookToolHandlers {
3
+ private pageController;
4
+ private hookGenerator;
5
+ private injectedHooks;
6
+ constructor(pageController: PageController);
7
+ handleAIHookGenerate(args: Record<string, unknown>): Promise<{
8
+ content: {
9
+ type: string;
10
+ text: string;
11
+ }[];
12
+ }>;
13
+ handleAIHookInject(args: Record<string, unknown>): Promise<{
14
+ content: {
15
+ type: string;
16
+ text: string;
17
+ }[];
18
+ }>;
19
+ handleAIHookGetData(args: Record<string, unknown>): Promise<{
20
+ content: {
21
+ type: string;
22
+ text: string;
23
+ }[];
24
+ }>;
25
+ handleAIHookList(_args: Record<string, unknown>): Promise<{
26
+ content: {
27
+ type: string;
28
+ text: string;
29
+ }[];
30
+ }>;
31
+ handleAIHookClear(args: Record<string, unknown>): Promise<{
32
+ content: {
33
+ type: string;
34
+ text: string;
35
+ }[];
36
+ }>;
37
+ handleAIHookToggle(args: Record<string, unknown>): Promise<{
38
+ content: {
39
+ type: string;
40
+ text: string;
41
+ }[];
42
+ }>;
43
+ handleAIHookExport(args: Record<string, unknown>): Promise<{
44
+ content: {
45
+ type: string;
46
+ text: string;
47
+ }[];
48
+ }>;
49
+ }
50
+ //# sourceMappingURL=AIHookToolHandlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIHookToolHandlers.d.ts","sourceRoot":"","sources":["../../src/server/AIHookToolHandlers.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAG7E,qBAAa,kBAAkB;IAIjB,OAAO,CAAC,cAAc;IAHlC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,aAAa,CAAmE;gBAEpE,cAAc,EAAE,cAAc;IAO5C,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;IA2ClD,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;IAmDhD,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;IAuDjD,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;IA2C/C,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;IA2D/C,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;IAwChD,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;CA+CvD"}
@@ -0,0 +1,311 @@
1
+ import { AIHookGenerator } from '../modules/hook/AIHookGenerator.js';
2
+ import { logger } from '../utils/logger.js';
3
+ export class AIHookToolHandlers {
4
+ pageController;
5
+ hookGenerator;
6
+ injectedHooks = new Map();
7
+ constructor(pageController) {
8
+ this.pageController = pageController;
9
+ this.hookGenerator = new AIHookGenerator();
10
+ }
11
+ async handleAIHookGenerate(args) {
12
+ try {
13
+ const request = {
14
+ description: args.description,
15
+ target: args.target,
16
+ behavior: args.behavior,
17
+ condition: args.condition,
18
+ customCode: args.customCode,
19
+ };
20
+ const response = this.hookGenerator.generateHook(request);
21
+ return {
22
+ content: [{
23
+ type: 'text',
24
+ text: JSON.stringify({
25
+ success: response.success,
26
+ hookId: response.hookId,
27
+ generatedCode: response.generatedCode,
28
+ explanation: response.explanation,
29
+ injectionMethod: response.injectionMethod,
30
+ warnings: response.warnings,
31
+ usage: `使用 ai_hook_inject(hookId: "${response.hookId}") 来注入此Hook`,
32
+ }, null, 2),
33
+ }],
34
+ };
35
+ }
36
+ catch (error) {
37
+ logger.error('AI Hook generation failed', error);
38
+ return {
39
+ content: [{
40
+ type: 'text',
41
+ text: JSON.stringify({
42
+ success: false,
43
+ error: error instanceof Error ? error.message : String(error),
44
+ }, null, 2),
45
+ }],
46
+ };
47
+ }
48
+ }
49
+ async handleAIHookInject(args) {
50
+ try {
51
+ const hookId = args.hookId;
52
+ const code = args.code;
53
+ const method = args.method || 'evaluate';
54
+ const page = await this.pageController.getPage();
55
+ if (method === 'evaluateOnNewDocument') {
56
+ await page.evaluateOnNewDocument(code);
57
+ logger.info(`✅ Hook injected (evaluateOnNewDocument): ${hookId}`);
58
+ }
59
+ else {
60
+ await page.evaluate(code);
61
+ logger.info(`✅ Hook injected (evaluate): ${hookId}`);
62
+ }
63
+ this.injectedHooks.set(hookId, {
64
+ code,
65
+ injectionTime: Date.now(),
66
+ });
67
+ return {
68
+ content: [{
69
+ type: 'text',
70
+ text: JSON.stringify({
71
+ success: true,
72
+ hookId,
73
+ message: `Hook已注入 (方法: ${method})`,
74
+ injectionTime: new Date().toISOString(),
75
+ }, null, 2),
76
+ }],
77
+ };
78
+ }
79
+ catch (error) {
80
+ logger.error('Hook injection failed', error);
81
+ return {
82
+ content: [{
83
+ type: 'text',
84
+ text: JSON.stringify({
85
+ success: false,
86
+ error: error instanceof Error ? error.message : String(error),
87
+ }, null, 2),
88
+ }],
89
+ };
90
+ }
91
+ }
92
+ async handleAIHookGetData(args) {
93
+ try {
94
+ const hookId = args.hookId;
95
+ const page = await this.pageController.getPage();
96
+ const hookData = await page.evaluate((id) => {
97
+ if (!window.__aiHooks || !window.__aiHooks[id]) {
98
+ return null;
99
+ }
100
+ return {
101
+ hookId: id,
102
+ metadata: window.__aiHookMetadata?.[id],
103
+ records: window.__aiHooks[id],
104
+ totalRecords: window.__aiHooks[id].length,
105
+ };
106
+ }, hookId);
107
+ if (!hookData) {
108
+ return {
109
+ content: [{
110
+ type: 'text',
111
+ text: JSON.stringify({
112
+ success: false,
113
+ message: `Hook未找到或未捕获任何数据: ${hookId}`,
114
+ }, null, 2),
115
+ }],
116
+ };
117
+ }
118
+ return {
119
+ content: [{
120
+ type: 'text',
121
+ text: JSON.stringify({
122
+ success: true,
123
+ ...hookData,
124
+ }, null, 2),
125
+ }],
126
+ };
127
+ }
128
+ catch (error) {
129
+ logger.error('Failed to get hook data', error);
130
+ return {
131
+ content: [{
132
+ type: 'text',
133
+ text: JSON.stringify({
134
+ success: false,
135
+ error: error instanceof Error ? error.message : String(error),
136
+ }, null, 2),
137
+ }],
138
+ };
139
+ }
140
+ }
141
+ async handleAIHookList(_args) {
142
+ try {
143
+ const page = await this.pageController.getPage();
144
+ const allHooks = await page.evaluate(() => {
145
+ if (!window.__aiHookMetadata) {
146
+ return [];
147
+ }
148
+ return Object.keys(window.__aiHookMetadata).map(hookId => ({
149
+ hookId,
150
+ metadata: window.__aiHookMetadata[hookId],
151
+ recordCount: window.__aiHooks?.[hookId]?.length || 0,
152
+ }));
153
+ });
154
+ return {
155
+ content: [{
156
+ type: 'text',
157
+ text: JSON.stringify({
158
+ success: true,
159
+ totalHooks: allHooks.length,
160
+ hooks: allHooks,
161
+ }, null, 2),
162
+ }],
163
+ };
164
+ }
165
+ catch (error) {
166
+ logger.error('Failed to list hooks', error);
167
+ return {
168
+ content: [{
169
+ type: 'text',
170
+ text: JSON.stringify({
171
+ success: false,
172
+ error: error instanceof Error ? error.message : String(error),
173
+ }, null, 2),
174
+ }],
175
+ };
176
+ }
177
+ }
178
+ async handleAIHookClear(args) {
179
+ try {
180
+ const hookId = args.hookId;
181
+ const page = await this.pageController.getPage();
182
+ if (hookId) {
183
+ await page.evaluate((id) => {
184
+ if (window.__aiHooks && window.__aiHooks[id]) {
185
+ window.__aiHooks[id] = [];
186
+ }
187
+ }, hookId);
188
+ return {
189
+ content: [{
190
+ type: 'text',
191
+ text: JSON.stringify({
192
+ success: true,
193
+ message: `Hook数据已清除: ${hookId}`,
194
+ }, null, 2),
195
+ }],
196
+ };
197
+ }
198
+ else {
199
+ await page.evaluate(() => {
200
+ if (window.__aiHooks) {
201
+ for (const key in window.__aiHooks) {
202
+ window.__aiHooks[key] = [];
203
+ }
204
+ }
205
+ });
206
+ return {
207
+ content: [{
208
+ type: 'text',
209
+ text: JSON.stringify({
210
+ success: true,
211
+ message: '所有Hook数据已清除',
212
+ }, null, 2),
213
+ }],
214
+ };
215
+ }
216
+ }
217
+ catch (error) {
218
+ logger.error('Failed to clear hook data', error);
219
+ return {
220
+ content: [{
221
+ type: 'text',
222
+ text: JSON.stringify({
223
+ success: false,
224
+ error: error instanceof Error ? error.message : String(error),
225
+ }, null, 2),
226
+ }],
227
+ };
228
+ }
229
+ }
230
+ async handleAIHookToggle(args) {
231
+ try {
232
+ const hookId = args.hookId;
233
+ const enabled = args.enabled;
234
+ const page = await this.pageController.getPage();
235
+ await page.evaluate((id, enable) => {
236
+ if (window.__aiHookMetadata && window.__aiHookMetadata[id]) {
237
+ window.__aiHookMetadata[id].enabled = enable;
238
+ }
239
+ }, hookId, enabled);
240
+ return {
241
+ content: [{
242
+ type: 'text',
243
+ text: JSON.stringify({
244
+ success: true,
245
+ hookId,
246
+ enabled,
247
+ message: `Hook已${enabled ? '启用' : '禁用'}`,
248
+ }, null, 2),
249
+ }],
250
+ };
251
+ }
252
+ catch (error) {
253
+ logger.error('Failed to toggle hook', error);
254
+ return {
255
+ content: [{
256
+ type: 'text',
257
+ text: JSON.stringify({
258
+ success: false,
259
+ error: error instanceof Error ? error.message : String(error),
260
+ }, null, 2),
261
+ }],
262
+ };
263
+ }
264
+ }
265
+ async handleAIHookExport(args) {
266
+ try {
267
+ const hookId = args.hookId;
268
+ const format = args.format || 'json';
269
+ const page = await this.pageController.getPage();
270
+ const exportData = await page.evaluate((id) => {
271
+ if (id) {
272
+ return {
273
+ hookId: id,
274
+ metadata: window.__aiHookMetadata?.[id],
275
+ records: window.__aiHooks?.[id] || [],
276
+ };
277
+ }
278
+ else {
279
+ return {
280
+ metadata: window.__aiHookMetadata || {},
281
+ records: window.__aiHooks || {},
282
+ };
283
+ }
284
+ }, hookId);
285
+ return {
286
+ content: [{
287
+ type: 'text',
288
+ text: JSON.stringify({
289
+ success: true,
290
+ format,
291
+ data: exportData,
292
+ exportTime: new Date().toISOString(),
293
+ }, null, 2),
294
+ }],
295
+ };
296
+ }
297
+ catch (error) {
298
+ logger.error('Failed to export hook data', error);
299
+ return {
300
+ content: [{
301
+ type: 'text',
302
+ text: JSON.stringify({
303
+ success: false,
304
+ error: error instanceof Error ? error.message : String(error),
305
+ }, null, 2),
306
+ }],
307
+ };
308
+ }
309
+ }
310
+ }
311
+ //# sourceMappingURL=AIHookToolHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIHookToolHandlers.js","sourceRoot":"","sources":["../../src/server/AIHookToolHandlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ export declare const advancedTools: Tool[];
3
+ //# sourceMappingURL=AdvancedToolDefinitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancedToolDefinitions.d.ts","sourceRoot":"","sources":["../../src/server/AdvancedToolDefinitions.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,eAAO,MAAM,aAAa,EAAE,IAAI,EA4O/B,CAAC"}
@@ -0,0 +1,218 @@
1
+ export const advancedTools = [
2
+ {
3
+ name: 'network_enable',
4
+ description: `启用网络监控(监听所有HTTP请求和响应)
5
+
6
+ ⚠️ 重要:网络监控必须在页面加载前启用才能捕获请求!
7
+
8
+ 正确用法:
9
+ 1. network_enable()
10
+ 2. page_navigate("https://example.com")
11
+ 3. network_get_requests()
12
+
13
+ 错误用法:
14
+ 1. page_navigate("https://example.com") ❌ 请求不会被捕获
15
+ 2. network_enable()
16
+ 3. network_get_requests() // 返回空数组
17
+
18
+ 提示:也可以使用 page_navigate 的 enableNetworkMonitoring 参数自动启用`,
19
+ inputSchema: {
20
+ type: 'object',
21
+ properties: {
22
+ enableExceptions: {
23
+ type: 'boolean',
24
+ description: '是否同时启用异常监控',
25
+ default: true,
26
+ },
27
+ },
28
+ },
29
+ },
30
+ {
31
+ name: 'network_disable',
32
+ description: '禁用网络监控',
33
+ inputSchema: {
34
+ type: 'object',
35
+ properties: {},
36
+ },
37
+ },
38
+ {
39
+ name: 'network_get_status',
40
+ description: '获取网络监控状态(是否启用、请求数量等)',
41
+ inputSchema: {
42
+ type: 'object',
43
+ properties: {},
44
+ },
45
+ },
46
+ {
47
+ name: 'network_get_requests',
48
+ description: `获取已捕获的网络请求列表(支持过滤)
49
+
50
+ ⚠️ IMPORTANT: Large results (>50KB) automatically return summary + detailId.
51
+
52
+ 前置条件:
53
+ 1. 必须先调用 network_enable 启用网络监控
54
+ 2. 必须在启用监控后导航到页面
55
+
56
+ 返回数据包含:
57
+ - requestId: 请求ID(用于获取响应体)
58
+ - url: 请求URL
59
+ - method: HTTP方法(GET/POST等)
60
+ - headers: 请求头
61
+ - postData: POST数据(如果有)
62
+ - timestamp: 时间戳
63
+ - type: 资源类型(Document/Script/XHR等)
64
+
65
+ Best Practices:
66
+ 1. Use specific URL filter to reduce results
67
+ 2. Set reasonable limit (default: 50, max: 100)
68
+ 3. If getting summary, use get_detailed_data(detailId) for full data
69
+
70
+ 示例:
71
+ network_enable() → page_navigate("https://api.example.com") → network_get_requests(url="api", limit=20)`,
72
+ inputSchema: {
73
+ type: 'object',
74
+ properties: {
75
+ url: {
76
+ type: 'string',
77
+ description: 'URL过滤(包含匹配),例如 "api" 匹配所有包含api的URL',
78
+ },
79
+ method: {
80
+ type: 'string',
81
+ description: 'HTTP方法过滤(GET, POST, PUT, DELETE等)',
82
+ },
83
+ limit: {
84
+ type: 'number',
85
+ description: '返回的最大数量(默认50,推荐≤100以避免溢出)',
86
+ default: 50,
87
+ },
88
+ },
89
+ },
90
+ },
91
+ {
92
+ name: 'network_get_response_body',
93
+ description: '🆕 Get response body for a specific request. Auto-truncates large responses (>100KB) to avoid context overflow. Use returnSummary=true for large files.',
94
+ inputSchema: {
95
+ type: 'object',
96
+ properties: {
97
+ requestId: {
98
+ type: 'string',
99
+ description: 'Request ID (from network_get_requests)',
100
+ },
101
+ maxSize: {
102
+ type: 'number',
103
+ description: '🆕 Maximum response size in bytes (default: 100KB). Responses larger than this return summary only.',
104
+ default: 100000,
105
+ },
106
+ returnSummary: {
107
+ type: 'boolean',
108
+ description: '🆕 Return summary only (size, preview) instead of full body. Useful for large responses.',
109
+ default: false,
110
+ },
111
+ },
112
+ required: ['requestId'],
113
+ },
114
+ },
115
+ {
116
+ name: 'network_get_stats',
117
+ description: '获取网络统计信息(请求数、响应数、按方法/状态分组等)',
118
+ inputSchema: {
119
+ type: 'object',
120
+ properties: {},
121
+ },
122
+ },
123
+ {
124
+ name: 'performance_get_metrics',
125
+ description: '获取性能指标(Web Vitals: FCP, LCP, FID, CLS等)',
126
+ inputSchema: {
127
+ type: 'object',
128
+ properties: {
129
+ includeTimeline: {
130
+ type: 'boolean',
131
+ description: '是否包含详细的性能时间线',
132
+ default: false,
133
+ },
134
+ },
135
+ },
136
+ },
137
+ {
138
+ name: 'performance_start_coverage',
139
+ description: '启动代码覆盖率收集',
140
+ inputSchema: {
141
+ type: 'object',
142
+ properties: {},
143
+ },
144
+ },
145
+ {
146
+ name: 'performance_stop_coverage',
147
+ description: '停止代码覆盖率收集并获取结果',
148
+ inputSchema: {
149
+ type: 'object',
150
+ properties: {},
151
+ },
152
+ },
153
+ {
154
+ name: 'performance_take_heap_snapshot',
155
+ description: '获取堆快照(内存分析)',
156
+ inputSchema: {
157
+ type: 'object',
158
+ properties: {},
159
+ },
160
+ },
161
+ {
162
+ name: 'console_get_exceptions',
163
+ description: '获取捕获的异常列表',
164
+ inputSchema: {
165
+ type: 'object',
166
+ properties: {
167
+ url: {
168
+ type: 'string',
169
+ description: 'URL过滤(包含匹配)',
170
+ },
171
+ limit: {
172
+ type: 'number',
173
+ description: '返回的最大数量',
174
+ default: 50,
175
+ },
176
+ },
177
+ },
178
+ },
179
+ {
180
+ name: 'console_inject_script_monitor',
181
+ description: '注入动态脚本监控器(监听动态添加的script标签)',
182
+ inputSchema: {
183
+ type: 'object',
184
+ properties: {},
185
+ },
186
+ },
187
+ {
188
+ name: 'console_inject_xhr_interceptor',
189
+ description: '注入XHR拦截器(监控AJAX请求)',
190
+ inputSchema: {
191
+ type: 'object',
192
+ properties: {},
193
+ },
194
+ },
195
+ {
196
+ name: 'console_inject_fetch_interceptor',
197
+ description: '注入Fetch拦截器(监控Fetch请求)',
198
+ inputSchema: {
199
+ type: 'object',
200
+ properties: {},
201
+ },
202
+ },
203
+ {
204
+ name: 'console_inject_function_tracer',
205
+ description: '注入函数追踪器(使用Proxy监控函数调用)',
206
+ inputSchema: {
207
+ type: 'object',
208
+ properties: {
209
+ functionName: {
210
+ type: 'string',
211
+ description: '要追踪的函数名(如window.someFunction)',
212
+ },
213
+ },
214
+ required: ['functionName'],
215
+ },
216
+ },
217
+ ];
218
+ //# sourceMappingURL=AdvancedToolDefinitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancedToolDefinitions.js","sourceRoot":"","sources":["../../src/server/AdvancedToolDefinitions.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,aAAa,GAAW;IAGnC;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE;;;;;;;;;;;;;;wDAcuC;QACpD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,gBAAgB,EAAE;oBAChB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,YAAY;oBACzB,OAAO,EAAE,IAAI;iBACd;aACF;SACF;KACF;IAED;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IAED;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IAED;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;wGAuBuF;QACpG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2BAA2B;oBACxC,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;KACF;IAED;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,yJAAyJ;QACtK,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qGAAqG;oBAClH,OAAO,EAAE,MAAM;iBAChB;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,0FAA0F;oBACvG,OAAO,EAAE,KAAK;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IAED;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,6BAA6B;QAC1C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IAID;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,eAAe,EAAE;oBACf,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,cAAc;oBAC3B,OAAO,EAAE,KAAK;iBACf;aACF;SACF;KACF;IAED;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IAED;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IAED;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IAID;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,aAAa;iBAC3B;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,SAAS;oBACtB,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;KACF;IAED;QACE,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IAED;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IAED;QACE,IAAI,EAAE,kCAAkC;QACxC,WAAW,EAAE,uBAAuB;QACpC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IAED;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;aACF;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;KACF;CACF,CAAC"}