@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,600 @@
1
+ export const debuggerTools = [
2
+ {
3
+ name: 'debugger_enable',
4
+ description: 'Enable the debugger (must be called before setting breakpoints)',
5
+ inputSchema: {
6
+ type: 'object',
7
+ properties: {},
8
+ },
9
+ },
10
+ {
11
+ name: 'debugger_disable',
12
+ description: 'Disable the debugger and clear all breakpoints',
13
+ inputSchema: {
14
+ type: 'object',
15
+ properties: {},
16
+ },
17
+ },
18
+ {
19
+ name: 'debugger_pause',
20
+ description: 'Pause execution at the next statement',
21
+ inputSchema: {
22
+ type: 'object',
23
+ properties: {},
24
+ },
25
+ },
26
+ {
27
+ name: 'debugger_resume',
28
+ description: 'Resume execution (continue)',
29
+ inputSchema: {
30
+ type: 'object',
31
+ properties: {},
32
+ },
33
+ },
34
+ {
35
+ name: 'debugger_step_into',
36
+ description: 'Step into the next function call',
37
+ inputSchema: {
38
+ type: 'object',
39
+ properties: {},
40
+ },
41
+ },
42
+ {
43
+ name: 'debugger_step_over',
44
+ description: 'Step over the next function call',
45
+ inputSchema: {
46
+ type: 'object',
47
+ properties: {},
48
+ },
49
+ },
50
+ {
51
+ name: 'debugger_step_out',
52
+ description: 'Step out of the current function',
53
+ inputSchema: {
54
+ type: 'object',
55
+ properties: {},
56
+ },
57
+ },
58
+ {
59
+ name: 'breakpoint_set',
60
+ description: 'Set a breakpoint at a specific location. Supports URL-based and scriptId-based breakpoints with optional conditions.',
61
+ inputSchema: {
62
+ type: 'object',
63
+ properties: {
64
+ url: {
65
+ type: 'string',
66
+ description: 'URL of the script (e.g., "app.js", "https://example.com/script.js")',
67
+ },
68
+ scriptId: {
69
+ type: 'string',
70
+ description: 'Script ID (alternative to URL, get from get_all_scripts)',
71
+ },
72
+ lineNumber: {
73
+ type: 'number',
74
+ description: 'Line number (0-based)',
75
+ },
76
+ columnNumber: {
77
+ type: 'number',
78
+ description: 'Column number (0-based, optional)',
79
+ },
80
+ condition: {
81
+ type: 'string',
82
+ description: 'Conditional breakpoint expression (e.g., "x > 100")',
83
+ },
84
+ },
85
+ required: ['lineNumber'],
86
+ },
87
+ },
88
+ {
89
+ name: 'breakpoint_remove',
90
+ description: 'Remove a breakpoint by its ID',
91
+ inputSchema: {
92
+ type: 'object',
93
+ properties: {
94
+ breakpointId: {
95
+ type: 'string',
96
+ description: 'Breakpoint ID (from breakpoint_set or breakpoint_list)',
97
+ },
98
+ },
99
+ required: ['breakpointId'],
100
+ },
101
+ },
102
+ {
103
+ name: 'breakpoint_list',
104
+ description: 'List all active breakpoints',
105
+ inputSchema: {
106
+ type: 'object',
107
+ properties: {},
108
+ },
109
+ },
110
+ {
111
+ name: 'get_call_stack',
112
+ description: 'Get the current call stack (only available when paused at a breakpoint)',
113
+ inputSchema: {
114
+ type: 'object',
115
+ properties: {},
116
+ },
117
+ },
118
+ {
119
+ name: 'debugger_evaluate',
120
+ description: 'Evaluate an expression in the context of the current call frame (only when paused)',
121
+ inputSchema: {
122
+ type: 'object',
123
+ properties: {
124
+ expression: {
125
+ type: 'string',
126
+ description: 'JavaScript expression to evaluate (e.g., "x + y", "user.name")',
127
+ },
128
+ callFrameId: {
129
+ type: 'string',
130
+ description: 'Call frame ID (optional - defaults to top frame)',
131
+ },
132
+ },
133
+ required: ['expression'],
134
+ },
135
+ },
136
+ {
137
+ name: 'debugger_evaluate_global',
138
+ description: 'Evaluate an expression in the global context (does not require paused state)',
139
+ inputSchema: {
140
+ type: 'object',
141
+ properties: {
142
+ expression: {
143
+ type: 'string',
144
+ description: 'JavaScript expression to evaluate',
145
+ },
146
+ },
147
+ required: ['expression'],
148
+ },
149
+ },
150
+ {
151
+ name: 'debugger_wait_for_paused',
152
+ description: 'Wait for the debugger to pause (useful after setting breakpoints and triggering code)',
153
+ inputSchema: {
154
+ type: 'object',
155
+ properties: {
156
+ timeout: {
157
+ type: 'number',
158
+ description: 'Timeout in milliseconds (default: 30000)',
159
+ default: 30000,
160
+ },
161
+ },
162
+ },
163
+ },
164
+ {
165
+ name: 'debugger_get_paused_state',
166
+ description: 'Get the current paused state (check if debugger is paused and why)',
167
+ inputSchema: {
168
+ type: 'object',
169
+ properties: {},
170
+ },
171
+ },
172
+ {
173
+ name: 'breakpoint_set_on_exception',
174
+ description: 'Pause on exceptions (all exceptions or only uncaught)',
175
+ inputSchema: {
176
+ type: 'object',
177
+ properties: {
178
+ state: {
179
+ type: 'string',
180
+ description: 'Exception pause state',
181
+ enum: ['none', 'uncaught', 'all'],
182
+ default: 'none',
183
+ },
184
+ },
185
+ required: ['state'],
186
+ },
187
+ },
188
+ {
189
+ name: 'get_object_properties',
190
+ description: 'Get all properties of an object (when paused, use objectId from variables)',
191
+ inputSchema: {
192
+ type: 'object',
193
+ properties: {
194
+ objectId: {
195
+ type: 'string',
196
+ description: 'Object ID (from get_scope_variables)',
197
+ },
198
+ },
199
+ required: ['objectId'],
200
+ },
201
+ },
202
+ {
203
+ name: 'get_scope_variables_enhanced',
204
+ description: `获取作用域变量(增强版 - 支持错误处理和对象展开)
205
+
206
+ ✨ 增强功能:
207
+ 1. 自动跳过无法访问的作用域(避免 "Could not find object" 错误)
208
+ 2. 支持展开对象属性(可选)
209
+ 3. 返回详细的错误信息和成功率
210
+ 4. 提供调用帧信息
211
+
212
+ 使用场景:
213
+ - 在断点处查看所有变量
214
+ - 调试复杂的作用域链
215
+ - 分析闭包变量
216
+
217
+ 示例:
218
+ get_scope_variables_enhanced() // 获取顶层帧的所有变量
219
+ get_scope_variables_enhanced(callFrameId="xxx", includeObjectProperties=true) // 展开对象`,
220
+ inputSchema: {
221
+ type: 'object',
222
+ properties: {
223
+ callFrameId: {
224
+ type: 'string',
225
+ description: '调用帧 ID(可选,不指定则使用顶层帧)',
226
+ },
227
+ includeObjectProperties: {
228
+ type: 'boolean',
229
+ description: '是否展开对象属性(默认 false)',
230
+ default: false,
231
+ },
232
+ maxDepth: {
233
+ type: 'number',
234
+ description: '对象属性展开的最大深度(默认 1)',
235
+ default: 1,
236
+ },
237
+ skipErrors: {
238
+ type: 'boolean',
239
+ description: '是否跳过错误的作用域(默认 true)',
240
+ default: true,
241
+ },
242
+ },
243
+ },
244
+ },
245
+ {
246
+ name: 'debugger_save_session',
247
+ description: `保存当前调试会话到文件
248
+
249
+ 保存内容:
250
+ - 所有断点(位置、条件)
251
+ - 异常断点设置
252
+ - 会话元数据
253
+
254
+ 用途:
255
+ - 保存调试配置以便后续使用
256
+ - 分享调试设置给团队成员
257
+ - 备份复杂的断点配置
258
+
259
+ 示例:
260
+ debugger_save_session() // 自动保存到 ./debugger-sessions/session-{timestamp}.json
261
+ debugger_save_session(filePath="my-debug-session.json", metadata={description: "Login flow debugging"})`,
262
+ inputSchema: {
263
+ type: 'object',
264
+ properties: {
265
+ filePath: {
266
+ type: 'string',
267
+ description: '保存路径(可选,默认保存到 ./debugger-sessions/)',
268
+ },
269
+ metadata: {
270
+ type: 'object',
271
+ description: '会话元数据(可选,如 description、tags 等)',
272
+ },
273
+ },
274
+ },
275
+ },
276
+ {
277
+ name: 'debugger_load_session',
278
+ description: `加载调试会话
279
+
280
+ 支持两种方式:
281
+ 1. 从文件加载:提供 filePath
282
+ 2. 从 JSON 加载:提供 sessionData
283
+
284
+ 加载后会:
285
+ - 清除现有断点
286
+ - 恢复保存的断点
287
+ - 恢复异常断点设置
288
+
289
+ 示例:
290
+ debugger_load_session(filePath="my-debug-session.json")
291
+ debugger_load_session(sessionData="{...}")`,
292
+ inputSchema: {
293
+ type: 'object',
294
+ properties: {
295
+ filePath: {
296
+ type: 'string',
297
+ description: '会话文件路径',
298
+ },
299
+ sessionData: {
300
+ type: 'string',
301
+ description: '会话 JSON 数据(字符串)',
302
+ },
303
+ },
304
+ },
305
+ },
306
+ {
307
+ name: 'debugger_export_session',
308
+ description: `导出当前调试会话为 JSON 对象
309
+
310
+ 返回包含所有断点和设置的 JSON 对象,可用于:
311
+ - 查看当前调试配置
312
+ - 复制到其他地方
313
+ - 手动编辑后重新导入
314
+
315
+ 示例:
316
+ debugger_export_session()
317
+ debugger_export_session(metadata={description: "API debugging session"})`,
318
+ inputSchema: {
319
+ type: 'object',
320
+ properties: {
321
+ metadata: {
322
+ type: 'object',
323
+ description: '会话元数据(可选)',
324
+ },
325
+ },
326
+ },
327
+ },
328
+ {
329
+ name: 'debugger_list_sessions',
330
+ description: `列出所有已保存的调试会话
331
+
332
+ 返回 ./debugger-sessions/ 目录下的所有会话文件,包括:
333
+ - 文件路径
334
+ - 创建时间
335
+ - 元数据
336
+
337
+ 用于:
338
+ - 查看可用的调试会话
339
+ - 选择要加载的会话
340
+
341
+ 示例:
342
+ debugger_list_sessions()`,
343
+ inputSchema: {
344
+ type: 'object',
345
+ properties: {},
346
+ },
347
+ },
348
+ {
349
+ name: 'watch_add',
350
+ description: `🆕 Add a watch expression to monitor variable values
351
+
352
+ Usage:
353
+ - Monitor key variables during debugging
354
+ - Automatically evaluate on each pause
355
+ - Track value changes over time
356
+
357
+ Example:
358
+ watch_add(expression="window.byted_acrawler", name="acrawler对象")`,
359
+ inputSchema: {
360
+ type: 'object',
361
+ properties: {
362
+ expression: {
363
+ type: 'string',
364
+ description: 'JavaScript expression to watch (e.g., "window.obj", "arguments[0]")',
365
+ },
366
+ name: {
367
+ type: 'string',
368
+ description: 'Optional friendly name for the watch expression',
369
+ },
370
+ },
371
+ required: ['expression'],
372
+ },
373
+ },
374
+ {
375
+ name: 'watch_remove',
376
+ description: 'Remove a watch expression by ID',
377
+ inputSchema: {
378
+ type: 'object',
379
+ properties: {
380
+ watchId: {
381
+ type: 'string',
382
+ description: 'Watch expression ID (from watch_add or watch_list)',
383
+ },
384
+ },
385
+ required: ['watchId'],
386
+ },
387
+ },
388
+ {
389
+ name: 'watch_list',
390
+ description: 'List all watch expressions',
391
+ inputSchema: {
392
+ type: 'object',
393
+ properties: {},
394
+ },
395
+ },
396
+ {
397
+ name: 'watch_evaluate_all',
398
+ description: `Evaluate all enabled watch expressions
399
+
400
+ Returns:
401
+ - Current values of all watch expressions
402
+ - Value change indicators
403
+ - Error information if evaluation fails
404
+
405
+ Best used when paused at a breakpoint.`,
406
+ inputSchema: {
407
+ type: 'object',
408
+ properties: {
409
+ callFrameId: {
410
+ type: 'string',
411
+ description: 'Optional call frame ID (from get_call_stack)',
412
+ },
413
+ },
414
+ },
415
+ },
416
+ {
417
+ name: 'watch_clear_all',
418
+ description: 'Clear all watch expressions',
419
+ inputSchema: {
420
+ type: 'object',
421
+ properties: {},
422
+ },
423
+ },
424
+ {
425
+ name: 'xhr_breakpoint_set',
426
+ description: `🆕 Set XHR/Fetch breakpoint (pause before network requests)
427
+
428
+ Usage:
429
+ - Intercept API calls
430
+ - Debug request parameter generation
431
+ - Trace network request logic
432
+
433
+ Supports wildcard patterns:
434
+ - "*api*" - matches any URL containing "api"
435
+ - "*/aweme/v1/*" - matches specific API path
436
+ - "*" - matches all requests
437
+
438
+ Example:
439
+ xhr_breakpoint_set(urlPattern="*aweme/v1/*")`,
440
+ inputSchema: {
441
+ type: 'object',
442
+ properties: {
443
+ urlPattern: {
444
+ type: 'string',
445
+ description: 'URL pattern (supports wildcards *)',
446
+ },
447
+ },
448
+ required: ['urlPattern'],
449
+ },
450
+ },
451
+ {
452
+ name: 'xhr_breakpoint_remove',
453
+ description: 'Remove XHR breakpoint by ID',
454
+ inputSchema: {
455
+ type: 'object',
456
+ properties: {
457
+ breakpointId: {
458
+ type: 'string',
459
+ description: 'XHR breakpoint ID',
460
+ },
461
+ },
462
+ required: ['breakpointId'],
463
+ },
464
+ },
465
+ {
466
+ name: 'xhr_breakpoint_list',
467
+ description: 'List all XHR breakpoints',
468
+ inputSchema: {
469
+ type: 'object',
470
+ properties: {},
471
+ },
472
+ },
473
+ {
474
+ name: 'event_breakpoint_set',
475
+ description: `🆕 Set event listener breakpoint (pause on event)
476
+
477
+ Common event names:
478
+ - Mouse: click, dblclick, mousedown, mouseup, mousemove
479
+ - Keyboard: keydown, keyup, keypress
480
+ - Timer: setTimeout, setInterval, requestAnimationFrame
481
+ - WebSocket: message, open, close, error
482
+
483
+ Example:
484
+ event_breakpoint_set(eventName="click")
485
+ event_breakpoint_set(eventName="setTimeout")`,
486
+ inputSchema: {
487
+ type: 'object',
488
+ properties: {
489
+ eventName: {
490
+ type: 'string',
491
+ description: 'Event name (e.g., "click", "setTimeout")',
492
+ },
493
+ targetName: {
494
+ type: 'string',
495
+ description: 'Optional target name (e.g., "WebSocket")',
496
+ },
497
+ },
498
+ required: ['eventName'],
499
+ },
500
+ },
501
+ {
502
+ name: 'event_breakpoint_set_category',
503
+ description: `Set breakpoints for entire event category
504
+
505
+ Categories:
506
+ - mouse: All mouse events (click, mousedown, etc.)
507
+ - keyboard: All keyboard events (keydown, keyup, etc.)
508
+ - timer: All timer events (setTimeout, setInterval, etc.)
509
+ - websocket: All WebSocket events (message, open, etc.)
510
+
511
+ Example:
512
+ event_breakpoint_set_category(category="mouse")`,
513
+ inputSchema: {
514
+ type: 'object',
515
+ properties: {
516
+ category: {
517
+ type: 'string',
518
+ enum: ['mouse', 'keyboard', 'timer', 'websocket'],
519
+ description: 'Event category',
520
+ },
521
+ },
522
+ required: ['category'],
523
+ },
524
+ },
525
+ {
526
+ name: 'event_breakpoint_remove',
527
+ description: 'Remove event breakpoint by ID',
528
+ inputSchema: {
529
+ type: 'object',
530
+ properties: {
531
+ breakpointId: {
532
+ type: 'string',
533
+ description: 'Event breakpoint ID',
534
+ },
535
+ },
536
+ required: ['breakpointId'],
537
+ },
538
+ },
539
+ {
540
+ name: 'event_breakpoint_list',
541
+ description: 'List all event breakpoints',
542
+ inputSchema: {
543
+ type: 'object',
544
+ properties: {},
545
+ },
546
+ },
547
+ {
548
+ name: 'blackbox_add',
549
+ description: `🆕 Blackbox scripts (skip during debugging)
550
+
551
+ Usage:
552
+ - Skip third-party library code
553
+ - Focus on business logic
554
+ - Improve debugging efficiency
555
+
556
+ Common patterns:
557
+ - "*jquery*.js" - jQuery
558
+ - "*react*.js" - React
559
+ - "*node_modules/*" - All npm packages
560
+ - "*webpack*" - Webpack bundles
561
+
562
+ Example:
563
+ blackbox_add(urlPattern="*node_modules/*")`,
564
+ inputSchema: {
565
+ type: 'object',
566
+ properties: {
567
+ urlPattern: {
568
+ type: 'string',
569
+ description: 'URL pattern to blackbox (supports wildcards *)',
570
+ },
571
+ },
572
+ required: ['urlPattern'],
573
+ },
574
+ },
575
+ {
576
+ name: 'blackbox_add_common',
577
+ description: `Blackbox all common libraries (one-click)
578
+
579
+ Includes:
580
+ - jquery, react, vue, angular
581
+ - lodash, underscore, moment
582
+ - webpack, node_modules, vendor bundles
583
+
584
+ Example:
585
+ blackbox_add_common()`,
586
+ inputSchema: {
587
+ type: 'object',
588
+ properties: {},
589
+ },
590
+ },
591
+ {
592
+ name: 'blackbox_list',
593
+ description: 'List all blackboxed patterns',
594
+ inputSchema: {
595
+ type: 'object',
596
+ properties: {},
597
+ },
598
+ },
599
+ ];
600
+ //# sourceMappingURL=DebuggerToolDefinitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebuggerToolDefinitions.js","sourceRoot":"","sources":["../../src/server/DebuggerToolDefinitions.ts"],"names":[],"mappings":"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"}