@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,493 @@
1
+ export class BrowserEnvironmentRulesManager {
2
+ rules = new Map();
3
+ browserConfigs = new Map();
4
+ constructor() {
5
+ this.initializeDefaultRules();
6
+ this.initializeDefaultBrowserConfigs();
7
+ }
8
+ initializeDefaultRules() {
9
+ this.addRule({
10
+ path: 'navigator.userAgent',
11
+ category: 'navigator',
12
+ type: 'string',
13
+ required: true,
14
+ antiCrawlImportance: 10,
15
+ description: 'User agent string',
16
+ defaultValue: (browser, version) => this.generateUserAgent(browser, version),
17
+ });
18
+ this.addRule({
19
+ path: 'navigator.platform',
20
+ category: 'navigator',
21
+ type: 'string',
22
+ required: true,
23
+ antiCrawlImportance: 9,
24
+ defaultValue: (browser) => this.getPlatform(browser),
25
+ });
26
+ this.addRule({
27
+ path: 'navigator.vendor',
28
+ category: 'navigator',
29
+ type: 'string',
30
+ required: true,
31
+ antiCrawlImportance: 8,
32
+ defaultValue: (browser) => this.getVendor(browser),
33
+ });
34
+ this.addRule({
35
+ path: 'navigator.language',
36
+ category: 'navigator',
37
+ type: 'string',
38
+ required: true,
39
+ antiCrawlImportance: 7,
40
+ defaultValue: 'zh-CN',
41
+ });
42
+ this.addRule({
43
+ path: 'navigator.languages',
44
+ category: 'navigator',
45
+ type: 'array',
46
+ required: true,
47
+ antiCrawlImportance: 7,
48
+ defaultValue: ['zh-CN', 'zh', 'en-US', 'en'],
49
+ });
50
+ this.addRule({
51
+ path: 'navigator.hardwareConcurrency',
52
+ category: 'navigator',
53
+ type: 'number',
54
+ required: true,
55
+ antiCrawlImportance: 6,
56
+ defaultValue: 8,
57
+ });
58
+ this.addRule({
59
+ path: 'navigator.deviceMemory',
60
+ category: 'navigator',
61
+ type: 'number',
62
+ required: true,
63
+ antiCrawlImportance: 6,
64
+ defaultValue: 8,
65
+ browsers: ['chrome', 'edge', 'opera'],
66
+ });
67
+ this.addRule({
68
+ path: 'navigator.maxTouchPoints',
69
+ category: 'navigator',
70
+ type: 'number',
71
+ required: true,
72
+ antiCrawlImportance: 5,
73
+ defaultValue: 0,
74
+ });
75
+ this.addRule({
76
+ path: 'navigator.webdriver',
77
+ category: 'navigator',
78
+ type: 'boolean',
79
+ required: true,
80
+ antiCrawlImportance: 10,
81
+ defaultValue: false,
82
+ description: 'Critical for anti-detection',
83
+ });
84
+ this.addRule({
85
+ path: 'navigator.cookieEnabled',
86
+ category: 'navigator',
87
+ type: 'boolean',
88
+ required: true,
89
+ antiCrawlImportance: 7,
90
+ defaultValue: true,
91
+ });
92
+ this.addRule({
93
+ path: 'navigator.onLine',
94
+ category: 'navigator',
95
+ type: 'boolean',
96
+ required: true,
97
+ antiCrawlImportance: 4,
98
+ defaultValue: true,
99
+ });
100
+ this.addRule({
101
+ path: 'navigator.doNotTrack',
102
+ category: 'navigator',
103
+ type: 'string',
104
+ required: false,
105
+ antiCrawlImportance: 3,
106
+ defaultValue: null,
107
+ });
108
+ this.addRule({
109
+ path: 'navigator.pdfViewerEnabled',
110
+ category: 'navigator',
111
+ type: 'boolean',
112
+ required: false,
113
+ antiCrawlImportance: 4,
114
+ defaultValue: true,
115
+ browsers: ['chrome', 'edge', 'opera'],
116
+ });
117
+ this.addRule({
118
+ path: 'screen.width',
119
+ category: 'screen',
120
+ type: 'number',
121
+ required: true,
122
+ antiCrawlImportance: 8,
123
+ defaultValue: 1920,
124
+ });
125
+ this.addRule({
126
+ path: 'screen.height',
127
+ category: 'screen',
128
+ type: 'number',
129
+ required: true,
130
+ antiCrawlImportance: 8,
131
+ defaultValue: 1080,
132
+ });
133
+ this.addRule({
134
+ path: 'screen.availWidth',
135
+ category: 'screen',
136
+ type: 'number',
137
+ required: true,
138
+ antiCrawlImportance: 7,
139
+ defaultValue: 1920,
140
+ });
141
+ this.addRule({
142
+ path: 'screen.availHeight',
143
+ category: 'screen',
144
+ type: 'number',
145
+ required: true,
146
+ antiCrawlImportance: 7,
147
+ defaultValue: 1040,
148
+ });
149
+ this.addRule({
150
+ path: 'screen.colorDepth',
151
+ category: 'screen',
152
+ type: 'number',
153
+ required: true,
154
+ antiCrawlImportance: 6,
155
+ defaultValue: 24,
156
+ });
157
+ this.addRule({
158
+ path: 'screen.pixelDepth',
159
+ category: 'screen',
160
+ type: 'number',
161
+ required: true,
162
+ antiCrawlImportance: 6,
163
+ defaultValue: 24,
164
+ });
165
+ this.addRule({
166
+ path: 'window.innerWidth',
167
+ category: 'window',
168
+ type: 'number',
169
+ required: true,
170
+ antiCrawlImportance: 7,
171
+ defaultValue: 1920,
172
+ });
173
+ this.addRule({
174
+ path: 'window.innerHeight',
175
+ category: 'window',
176
+ type: 'number',
177
+ required: true,
178
+ antiCrawlImportance: 7,
179
+ defaultValue: 1080,
180
+ });
181
+ this.addRule({
182
+ path: 'window.outerWidth',
183
+ category: 'window',
184
+ type: 'number',
185
+ required: true,
186
+ antiCrawlImportance: 6,
187
+ defaultValue: 1920,
188
+ });
189
+ this.addRule({
190
+ path: 'window.outerHeight',
191
+ category: 'window',
192
+ type: 'number',
193
+ required: true,
194
+ antiCrawlImportance: 6,
195
+ defaultValue: 1080,
196
+ });
197
+ this.addRule({
198
+ path: 'window.devicePixelRatio',
199
+ category: 'window',
200
+ type: 'number',
201
+ required: true,
202
+ antiCrawlImportance: 7,
203
+ defaultValue: 1,
204
+ });
205
+ this.addRule({
206
+ path: 'window.screenX',
207
+ category: 'window',
208
+ type: 'number',
209
+ required: true,
210
+ antiCrawlImportance: 4,
211
+ defaultValue: 0,
212
+ });
213
+ this.addRule({
214
+ path: 'window.screenY',
215
+ category: 'window',
216
+ type: 'number',
217
+ required: true,
218
+ antiCrawlImportance: 4,
219
+ defaultValue: 0,
220
+ });
221
+ this.addRule({
222
+ path: 'location.href',
223
+ category: 'location',
224
+ type: 'string',
225
+ required: true,
226
+ antiCrawlImportance: 8,
227
+ defaultValue: 'https://www.example.com/',
228
+ });
229
+ this.addRule({
230
+ path: 'location.protocol',
231
+ category: 'location',
232
+ type: 'string',
233
+ required: true,
234
+ antiCrawlImportance: 7,
235
+ defaultValue: 'https:',
236
+ });
237
+ this.addRule({
238
+ path: 'location.host',
239
+ category: 'location',
240
+ type: 'string',
241
+ required: true,
242
+ antiCrawlImportance: 8,
243
+ defaultValue: 'www.example.com',
244
+ });
245
+ this.addRule({
246
+ path: 'location.hostname',
247
+ category: 'location',
248
+ type: 'string',
249
+ required: true,
250
+ antiCrawlImportance: 8,
251
+ defaultValue: 'www.example.com',
252
+ });
253
+ this.addRule({
254
+ path: 'location.port',
255
+ category: 'location',
256
+ type: 'string',
257
+ required: true,
258
+ antiCrawlImportance: 6,
259
+ defaultValue: '',
260
+ });
261
+ this.addRule({
262
+ path: 'location.pathname',
263
+ category: 'location',
264
+ type: 'string',
265
+ required: true,
266
+ antiCrawlImportance: 7,
267
+ defaultValue: '/',
268
+ });
269
+ this.addRule({
270
+ path: 'location.search',
271
+ category: 'location',
272
+ type: 'string',
273
+ required: true,
274
+ antiCrawlImportance: 6,
275
+ defaultValue: '',
276
+ });
277
+ this.addRule({
278
+ path: 'location.hash',
279
+ category: 'location',
280
+ type: 'string',
281
+ required: true,
282
+ antiCrawlImportance: 5,
283
+ defaultValue: '',
284
+ });
285
+ this.addRule({
286
+ path: 'location.origin',
287
+ category: 'location',
288
+ type: 'string',
289
+ required: true,
290
+ antiCrawlImportance: 8,
291
+ defaultValue: 'https://www.example.com',
292
+ });
293
+ this.addRule({
294
+ path: 'document.title',
295
+ category: 'document',
296
+ type: 'string',
297
+ required: true,
298
+ antiCrawlImportance: 5,
299
+ defaultValue: '',
300
+ });
301
+ this.addRule({
302
+ path: 'document.URL',
303
+ category: 'document',
304
+ type: 'string',
305
+ required: true,
306
+ antiCrawlImportance: 8,
307
+ defaultValue: 'https://www.example.com/',
308
+ });
309
+ this.addRule({
310
+ path: 'document.domain',
311
+ category: 'document',
312
+ type: 'string',
313
+ required: true,
314
+ antiCrawlImportance: 8,
315
+ defaultValue: 'www.example.com',
316
+ });
317
+ this.addRule({
318
+ path: 'document.referrer',
319
+ category: 'document',
320
+ type: 'string',
321
+ required: true,
322
+ antiCrawlImportance: 7,
323
+ defaultValue: '',
324
+ });
325
+ this.addRule({
326
+ path: 'document.cookie',
327
+ category: 'document',
328
+ type: 'string',
329
+ required: true,
330
+ antiCrawlImportance: 9,
331
+ defaultValue: '',
332
+ });
333
+ this.addRule({
334
+ path: 'document.readyState',
335
+ category: 'document',
336
+ type: 'string',
337
+ required: true,
338
+ antiCrawlImportance: 6,
339
+ defaultValue: 'complete',
340
+ });
341
+ this.addRule({
342
+ path: 'document.characterSet',
343
+ category: 'document',
344
+ type: 'string',
345
+ required: true,
346
+ antiCrawlImportance: 5,
347
+ defaultValue: 'UTF-8',
348
+ });
349
+ this.addRule({
350
+ path: 'document.hidden',
351
+ category: 'document',
352
+ type: 'boolean',
353
+ required: true,
354
+ antiCrawlImportance: 6,
355
+ defaultValue: false,
356
+ });
357
+ this.addRule({
358
+ path: 'document.visibilityState',
359
+ category: 'document',
360
+ type: 'string',
361
+ required: true,
362
+ antiCrawlImportance: 6,
363
+ defaultValue: 'visible',
364
+ });
365
+ this.addRule({
366
+ path: 'performance.timing.navigationStart',
367
+ category: 'performance',
368
+ type: 'number',
369
+ required: false,
370
+ antiCrawlImportance: 5,
371
+ defaultValue: () => Date.now() - Math.random() * 10000,
372
+ });
373
+ this.addRule({
374
+ path: 'performance.timing.loadEventEnd',
375
+ category: 'performance',
376
+ type: 'number',
377
+ required: false,
378
+ antiCrawlImportance: 4,
379
+ defaultValue: () => Date.now() - Math.random() * 5000,
380
+ });
381
+ this.addRule({
382
+ path: 'localStorage',
383
+ category: 'storage',
384
+ type: 'object',
385
+ required: true,
386
+ antiCrawlImportance: 7,
387
+ defaultValue: {},
388
+ });
389
+ this.addRule({
390
+ path: 'sessionStorage',
391
+ category: 'storage',
392
+ type: 'object',
393
+ required: true,
394
+ antiCrawlImportance: 7,
395
+ defaultValue: {},
396
+ });
397
+ this.addRule({
398
+ path: 'crypto.subtle',
399
+ category: 'crypto',
400
+ type: 'object',
401
+ required: false,
402
+ antiCrawlImportance: 6,
403
+ defaultValue: {},
404
+ browsers: ['chrome', 'firefox', 'safari', 'edge'],
405
+ });
406
+ this.addRule({
407
+ path: 'crypto.getRandomValues',
408
+ category: 'crypto',
409
+ type: 'function',
410
+ required: false,
411
+ antiCrawlImportance: 7,
412
+ defaultValue: function (array) { return array; },
413
+ });
414
+ }
415
+ initializeDefaultBrowserConfigs() {
416
+ this.browserConfigs.set('chrome', {
417
+ type: 'chrome',
418
+ version: '120.0.0.0',
419
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
420
+ platform: 'Win32',
421
+ vendor: 'Google Inc.',
422
+ language: 'zh-CN',
423
+ languages: ['zh-CN', 'zh', 'en-US', 'en'],
424
+ hardwareConcurrency: 8,
425
+ deviceMemory: 8,
426
+ maxTouchPoints: 0,
427
+ screenWidth: 1920,
428
+ screenHeight: 1080,
429
+ colorDepth: 24,
430
+ pixelRatio: 1,
431
+ });
432
+ this.browserConfigs.set('firefox', {
433
+ type: 'firefox',
434
+ version: '121.0',
435
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0',
436
+ platform: 'Win32',
437
+ vendor: '',
438
+ language: 'zh-CN',
439
+ languages: ['zh-CN', 'zh', 'en-US', 'en'],
440
+ hardwareConcurrency: 8,
441
+ deviceMemory: 8,
442
+ maxTouchPoints: 0,
443
+ screenWidth: 1920,
444
+ screenHeight: 1080,
445
+ colorDepth: 24,
446
+ pixelRatio: 1,
447
+ });
448
+ }
449
+ addRule(rule) {
450
+ this.rules.set(rule.path, rule);
451
+ }
452
+ getRule(path) {
453
+ return this.rules.get(path);
454
+ }
455
+ getAllRules() {
456
+ return Array.from(this.rules.values());
457
+ }
458
+ getRulesByCategory(category) {
459
+ return this.getAllRules().filter(rule => rule.category === category);
460
+ }
461
+ generateUserAgent(browser, version) {
462
+ const config = this.browserConfigs.get(browser);
463
+ if (config) {
464
+ return config.userAgent.replace(/\d+\.\d+\.\d+\.\d+/, version);
465
+ }
466
+ return '';
467
+ }
468
+ getPlatform(browser) {
469
+ const config = this.browserConfigs.get(browser);
470
+ return config?.platform || 'Win32';
471
+ }
472
+ getVendor(browser) {
473
+ const config = this.browserConfigs.get(browser);
474
+ return config?.vendor || '';
475
+ }
476
+ exportToJSON() {
477
+ const data = {
478
+ rules: Array.from(this.rules.entries()),
479
+ browserConfigs: Array.from(this.browserConfigs.entries()),
480
+ };
481
+ return JSON.stringify(data, null, 2);
482
+ }
483
+ loadFromJSON(json) {
484
+ const data = JSON.parse(json);
485
+ if (data.rules) {
486
+ this.rules = new Map(data.rules);
487
+ }
488
+ if (data.browserConfigs) {
489
+ this.browserConfigs = new Map(data.browserConfigs);
490
+ }
491
+ }
492
+ }
493
+ //# sourceMappingURL=BrowserEnvironmentRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserEnvironmentRules.js","sourceRoot":"","sources":["../../../src/modules/emulator/BrowserEnvironmentRules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { EnvironmentEmulatorOptions, EnvironmentEmulatorResult } from '../../types/index.js';
2
+ import type { LLMService } from '../../services/LLMService.js';
3
+ export declare class EnvironmentEmulator {
4
+ private browser?;
5
+ private llm?;
6
+ constructor(llm?: LLMService);
7
+ analyze(options: EnvironmentEmulatorOptions): Promise<EnvironmentEmulatorResult>;
8
+ private detectEnvironmentVariables;
9
+ private getMemberExpressionPath;
10
+ private detectWithRegex;
11
+ private buildManifestFromTemplate;
12
+ private getValueFromTemplate;
13
+ private fetchRealEnvironment;
14
+ private identifyMissingAPIs;
15
+ private getSuggestionForMissingAPI;
16
+ private generateEmulationCode;
17
+ private generateNodeJSCode;
18
+ private generatePythonCode;
19
+ private categorizeManifest;
20
+ private formatValue;
21
+ private formatValueForJS;
22
+ private generateRecommendations;
23
+ private generateMissingAPIImplementationsWithAI;
24
+ private inferMissingVariablesWithAI;
25
+ cleanup(): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=EnvironmentEmulator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvironmentEmulator.d.ts","sourceRoot":"","sources":["../../../src/modules/emulator/EnvironmentEmulator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EAI1B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAU/D,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,GAAG,CAAC,CAAa;gBAEb,GAAG,CAAC,EAAE,UAAU;IAUtB,OAAO,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA8FtF,OAAO,CAAC,0BAA0B;IA0ElC,OAAO,CAAC,uBAAuB;IA8B/B,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,yBAAyB;IA8BjC,OAAO,CAAC,oBAAoB;YA4Bd,oBAAoB;IA2XlC,OAAO,CAAC,mBAAmB;IAyC3B,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,kBAAkB;IAqI1B,OAAO,CAAC,kBAAkB;IAsL1B,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,gBAAgB;IA0ExB,OAAO,CAAC,uBAAuB;YAqBjB,uCAAuC;YA8EvC,2BAA2B;IAuGnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}