@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,326 @@
1
+ export class BrowserAPIDatabase {
2
+ apis = new Map();
3
+ constructor() {
4
+ this.initializeAPIs();
5
+ }
6
+ initializeAPIs() {
7
+ this.addAPI({
8
+ name: 'window',
9
+ path: 'window',
10
+ type: 'property',
11
+ returnType: 'Window',
12
+ description: 'Global window object',
13
+ antiCrawlImportance: 10,
14
+ });
15
+ this.addAPI({
16
+ name: 'self',
17
+ path: 'window.self',
18
+ type: 'property',
19
+ returnType: 'Window',
20
+ description: 'Reference to window itself',
21
+ antiCrawlImportance: 8,
22
+ });
23
+ this.addAPI({
24
+ name: 'top',
25
+ path: 'window.top',
26
+ type: 'property',
27
+ returnType: 'Window',
28
+ description: 'Topmost window',
29
+ antiCrawlImportance: 7,
30
+ });
31
+ this.addAPI({
32
+ name: 'parent',
33
+ path: 'window.parent',
34
+ type: 'property',
35
+ returnType: 'Window',
36
+ description: 'Parent window',
37
+ antiCrawlImportance: 7,
38
+ });
39
+ this.addAPI({
40
+ name: 'setTimeout',
41
+ path: 'window.setTimeout',
42
+ type: 'method',
43
+ returnType: 'number',
44
+ parameters: [
45
+ { name: 'callback', type: 'Function' },
46
+ { name: 'delay', type: 'number', optional: true, defaultValue: 0 },
47
+ ],
48
+ implementation: 'function(callback, delay) { return setTimeout(callback, delay); }',
49
+ antiCrawlImportance: 9,
50
+ });
51
+ this.addAPI({
52
+ name: 'setInterval',
53
+ path: 'window.setInterval',
54
+ type: 'method',
55
+ returnType: 'number',
56
+ parameters: [
57
+ { name: 'callback', type: 'Function' },
58
+ { name: 'delay', type: 'number', optional: true, defaultValue: 0 },
59
+ ],
60
+ implementation: 'function(callback, delay) { return setInterval(callback, delay); }',
61
+ antiCrawlImportance: 8,
62
+ });
63
+ this.addAPI({
64
+ name: 'clearTimeout',
65
+ path: 'window.clearTimeout',
66
+ type: 'method',
67
+ returnType: 'void',
68
+ parameters: [{ name: 'id', type: 'number' }],
69
+ implementation: 'function(id) { clearTimeout(id); }',
70
+ antiCrawlImportance: 7,
71
+ });
72
+ this.addAPI({
73
+ name: 'clearInterval',
74
+ path: 'window.clearInterval',
75
+ type: 'method',
76
+ returnType: 'void',
77
+ parameters: [{ name: 'id', type: 'number' }],
78
+ implementation: 'function(id) { clearInterval(id); }',
79
+ antiCrawlImportance: 7,
80
+ });
81
+ this.addAPI({
82
+ name: 'requestAnimationFrame',
83
+ path: 'window.requestAnimationFrame',
84
+ type: 'method',
85
+ returnType: 'number',
86
+ parameters: [{ name: 'callback', type: 'FrameRequestCallback' }],
87
+ implementation: 'function(callback) { return setTimeout(callback, 16); }',
88
+ antiCrawlImportance: 8,
89
+ });
90
+ this.addAPI({
91
+ name: 'cancelAnimationFrame',
92
+ path: 'window.cancelAnimationFrame',
93
+ type: 'method',
94
+ returnType: 'void',
95
+ parameters: [{ name: 'id', type: 'number' }],
96
+ implementation: 'function(id) { clearTimeout(id); }',
97
+ antiCrawlImportance: 7,
98
+ });
99
+ this.addAPI({
100
+ name: 'btoa',
101
+ path: 'window.btoa',
102
+ type: 'method',
103
+ returnType: 'string',
104
+ parameters: [{ name: 'data', type: 'string' }],
105
+ implementation: 'function(data) { return Buffer.from(data).toString("base64"); }',
106
+ antiCrawlImportance: 6,
107
+ });
108
+ this.addAPI({
109
+ name: 'atob',
110
+ path: 'window.atob',
111
+ type: 'method',
112
+ returnType: 'string',
113
+ parameters: [{ name: 'data', type: 'string' }],
114
+ implementation: 'function(data) { return Buffer.from(data, "base64").toString(); }',
115
+ antiCrawlImportance: 6,
116
+ });
117
+ this.addAPI({
118
+ name: 'plugins',
119
+ path: 'navigator.plugins',
120
+ type: 'property',
121
+ returnType: 'PluginArray',
122
+ description: 'Browser plugins',
123
+ antiCrawlImportance: 9,
124
+ });
125
+ this.addAPI({
126
+ name: 'mimeTypes',
127
+ path: 'navigator.mimeTypes',
128
+ type: 'property',
129
+ returnType: 'MimeTypeArray',
130
+ description: 'Supported MIME types',
131
+ antiCrawlImportance: 8,
132
+ });
133
+ this.addAPI({
134
+ name: 'permissions',
135
+ path: 'navigator.permissions',
136
+ type: 'property',
137
+ returnType: 'Permissions',
138
+ description: 'Permissions API',
139
+ antiCrawlImportance: 7,
140
+ browsers: ['chrome', 'firefox', 'edge'],
141
+ });
142
+ this.addAPI({
143
+ name: 'getBattery',
144
+ path: 'navigator.getBattery',
145
+ type: 'method',
146
+ returnType: 'Promise<BatteryManager>',
147
+ parameters: [],
148
+ implementation: 'function() { return Promise.resolve({}); }',
149
+ antiCrawlImportance: 5,
150
+ browsers: ['chrome', 'firefox', 'edge', 'opera'],
151
+ });
152
+ this.addAPI({
153
+ name: 'getGamepads',
154
+ path: 'navigator.getGamepads',
155
+ type: 'method',
156
+ returnType: 'Gamepad[]',
157
+ parameters: [],
158
+ implementation: 'function() { return []; }',
159
+ antiCrawlImportance: 3,
160
+ });
161
+ this.addAPI({
162
+ name: 'sendBeacon',
163
+ path: 'navigator.sendBeacon',
164
+ type: 'method',
165
+ returnType: 'boolean',
166
+ parameters: [
167
+ { name: 'url', type: 'string' },
168
+ { name: 'data', type: 'any', optional: true },
169
+ ],
170
+ implementation: 'function() { return true; }',
171
+ antiCrawlImportance: 6,
172
+ });
173
+ this.addAPI({
174
+ name: 'getElementById',
175
+ path: 'document.getElementById',
176
+ type: 'method',
177
+ returnType: 'HTMLElement | null',
178
+ parameters: [{ name: 'id', type: 'string' }],
179
+ implementation: 'function() { return null; }',
180
+ antiCrawlImportance: 7,
181
+ });
182
+ this.addAPI({
183
+ name: 'querySelector',
184
+ path: 'document.querySelector',
185
+ type: 'method',
186
+ returnType: 'Element | null',
187
+ parameters: [{ name: 'selector', type: 'string' }],
188
+ implementation: 'function() { return null; }',
189
+ antiCrawlImportance: 7,
190
+ });
191
+ this.addAPI({
192
+ name: 'querySelectorAll',
193
+ path: 'document.querySelectorAll',
194
+ type: 'method',
195
+ returnType: 'NodeList',
196
+ parameters: [{ name: 'selector', type: 'string' }],
197
+ implementation: 'function() { return []; }',
198
+ antiCrawlImportance: 7,
199
+ });
200
+ this.addAPI({
201
+ name: 'createElement',
202
+ path: 'document.createElement',
203
+ type: 'method',
204
+ returnType: 'HTMLElement',
205
+ parameters: [{ name: 'tagName', type: 'string' }],
206
+ implementation: 'function() { return {}; }',
207
+ antiCrawlImportance: 8,
208
+ });
209
+ this.addAPI({
210
+ name: 'createTextNode',
211
+ path: 'document.createTextNode',
212
+ type: 'method',
213
+ returnType: 'Text',
214
+ parameters: [{ name: 'data', type: 'string' }],
215
+ implementation: 'function() { return {}; }',
216
+ antiCrawlImportance: 6,
217
+ });
218
+ this.addAPI({
219
+ name: 'addEventListener',
220
+ path: 'document.addEventListener',
221
+ type: 'method',
222
+ returnType: 'void',
223
+ parameters: [
224
+ { name: 'type', type: 'string' },
225
+ { name: 'listener', type: 'EventListener' },
226
+ { name: 'options', type: 'boolean | AddEventListenerOptions', optional: true },
227
+ ],
228
+ implementation: 'function() {}',
229
+ antiCrawlImportance: 7,
230
+ });
231
+ this.addAPI({
232
+ name: 'log',
233
+ path: 'console.log',
234
+ type: 'method',
235
+ returnType: 'void',
236
+ parameters: [{ name: 'message', type: 'any' }],
237
+ implementation: 'function(...args) { console.log(...args); }',
238
+ antiCrawlImportance: 5,
239
+ });
240
+ this.addAPI({
241
+ name: 'warn',
242
+ path: 'console.warn',
243
+ type: 'method',
244
+ returnType: 'void',
245
+ parameters: [{ name: 'message', type: 'any' }],
246
+ implementation: 'function(...args) { console.warn(...args); }',
247
+ antiCrawlImportance: 4,
248
+ });
249
+ this.addAPI({
250
+ name: 'error',
251
+ path: 'console.error',
252
+ type: 'method',
253
+ returnType: 'void',
254
+ parameters: [{ name: 'message', type: 'any' }],
255
+ implementation: 'function(...args) { console.error(...args); }',
256
+ antiCrawlImportance: 4,
257
+ });
258
+ this.addAPI({
259
+ name: 'XMLHttpRequest',
260
+ path: 'XMLHttpRequest',
261
+ type: 'constructor',
262
+ returnType: 'XMLHttpRequest',
263
+ description: 'XMLHttpRequest constructor',
264
+ antiCrawlImportance: 9,
265
+ });
266
+ this.addAPI({
267
+ name: 'fetch',
268
+ path: 'window.fetch',
269
+ type: 'method',
270
+ returnType: 'Promise<Response>',
271
+ parameters: [
272
+ { name: 'input', type: 'RequestInfo' },
273
+ { name: 'init', type: 'RequestInit', optional: true },
274
+ ],
275
+ implementation: 'function() { return Promise.reject(new Error("Not implemented")); }',
276
+ antiCrawlImportance: 8,
277
+ });
278
+ this.addAPI({
279
+ name: 'getItem',
280
+ path: 'localStorage.getItem',
281
+ type: 'method',
282
+ returnType: 'string | null',
283
+ parameters: [{ name: 'key', type: 'string' }],
284
+ implementation: 'function() { return null; }',
285
+ antiCrawlImportance: 7,
286
+ });
287
+ this.addAPI({
288
+ name: 'setItem',
289
+ path: 'localStorage.setItem',
290
+ type: 'method',
291
+ returnType: 'void',
292
+ parameters: [
293
+ { name: 'key', type: 'string' },
294
+ { name: 'value', type: 'string' },
295
+ ],
296
+ implementation: 'function() {}',
297
+ antiCrawlImportance: 7,
298
+ });
299
+ }
300
+ addAPI(api) {
301
+ this.apis.set(api.path, api);
302
+ }
303
+ getAPI(path) {
304
+ return this.apis.get(path);
305
+ }
306
+ getAllAPIs() {
307
+ return Array.from(this.apis.values());
308
+ }
309
+ getAPIsByType(type) {
310
+ return this.getAllAPIs().filter(api => api.type === type);
311
+ }
312
+ searchAPIs(query) {
313
+ const lowerQuery = query.toLowerCase();
314
+ return this.getAllAPIs().filter(api => api.name.toLowerCase().includes(lowerQuery) ||
315
+ api.path.toLowerCase().includes(lowerQuery) ||
316
+ api.description?.toLowerCase().includes(lowerQuery));
317
+ }
318
+ exportToJSON() {
319
+ return JSON.stringify(Array.from(this.apis.entries()), null, 2);
320
+ }
321
+ loadFromJSON(json) {
322
+ const data = JSON.parse(json);
323
+ this.apis = new Map(data);
324
+ }
325
+ }
326
+ //# sourceMappingURL=BrowserAPIDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserAPIDatabase.js","sourceRoot":"","sources":["../../../src/modules/emulator/BrowserAPIDatabase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ export type BrowserType = 'chrome' | 'firefox' | 'safari' | 'edge' | 'opera';
2
+ export type EnvironmentCategory = 'window' | 'document' | 'navigator' | 'location' | 'screen' | 'performance' | 'console' | 'storage' | 'crypto' | 'other';
3
+ export interface EnvironmentRule {
4
+ path: string;
5
+ category: EnvironmentCategory;
6
+ type: 'string' | 'number' | 'boolean' | 'object' | 'array' | 'function' | 'undefined' | 'null';
7
+ defaultValue?: any | ((browser: BrowserType, version: string) => any);
8
+ readonly?: boolean;
9
+ required?: boolean;
10
+ description?: string;
11
+ browsers?: BrowserType[];
12
+ minVersion?: Record<BrowserType, string>;
13
+ antiCrawlImportance?: number;
14
+ }
15
+ export interface BrowserConfig {
16
+ type: BrowserType;
17
+ version: string;
18
+ userAgent: string;
19
+ platform: string;
20
+ vendor: string;
21
+ language: string;
22
+ languages: string[];
23
+ hardwareConcurrency: number;
24
+ deviceMemory: number;
25
+ maxTouchPoints: number;
26
+ screenWidth: number;
27
+ screenHeight: number;
28
+ colorDepth: number;
29
+ pixelRatio: number;
30
+ }
31
+ export declare class BrowserEnvironmentRulesManager {
32
+ private rules;
33
+ private browserConfigs;
34
+ constructor();
35
+ private initializeDefaultRules;
36
+ private initializeDefaultBrowserConfigs;
37
+ addRule(rule: EnvironmentRule): void;
38
+ getRule(path: string): EnvironmentRule | undefined;
39
+ getAllRules(): EnvironmentRule[];
40
+ getRulesByCategory(category: EnvironmentCategory): EnvironmentRule[];
41
+ private generateUserAgent;
42
+ private getPlatform;
43
+ private getVendor;
44
+ exportToJSON(): string;
45
+ loadFromJSON(json: string): void;
46
+ }
47
+ //# sourceMappingURL=BrowserEnvironmentRules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserEnvironmentRules.d.ts","sourceRoot":"","sources":["../../../src/modules/emulator/BrowserEnvironmentRules.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAK7E,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,GACR,UAAU,GACV,WAAW,GACX,UAAU,GACV,QAAQ,GACR,aAAa,GACb,SAAS,GACT,SAAS,GACT,QAAQ,GACR,OAAO,CAAC;AAKZ,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,EAAE,mBAAmB,CAAC;IAG9B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IAG/F,YAAY,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC;IAGtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IAGzB,UAAU,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAGzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAKD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,qBAAa,8BAA8B;IACzC,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,cAAc,CAA8C;;IAUpE,OAAO,CAAC,sBAAsB;IAod9B,OAAO,CAAC,+BAA+B;IA2CvC,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAOpC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAOlD,WAAW,IAAI,eAAe,EAAE;IAOhC,kBAAkB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,eAAe,EAAE;IAOpE,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,SAAS;IAQjB,YAAY,IAAI,MAAM;IAWtB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CASjC"}