@jshookmcp/jshook 0.2.2 → 0.2.5

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 (414) hide show
  1. package/LICENSE +661 -661
  2. package/README.md +15 -6
  3. package/README.zh.md +19 -4
  4. package/dist/native/scripts/linux/enum-windows.sh +12 -12
  5. package/dist/native/scripts/macos/enum-windows.applescript +22 -22
  6. package/dist/native/scripts/windows/enum-windows-by-class.ps1 +51 -51
  7. package/dist/native/scripts/windows/enum-windows.ps1 +44 -44
  8. package/dist/native/scripts/windows/inject-dll.ps1 +21 -21
  9. package/dist/packages/extension-sdk/src/bridges/shared.js +2 -2
  10. package/dist/packages/extension-sdk/src/plugin.d.ts +5 -0
  11. package/dist/packages/extension-sdk/src/plugin.js +119 -33
  12. package/dist/packages/extension-sdk/src/workflow.d.ts +156 -0
  13. package/dist/packages/extension-sdk/src/workflow.js +236 -0
  14. package/dist/src/config/search-defaults.js +161 -0
  15. package/dist/src/constants.d.ts +3 -0
  16. package/dist/src/constants.js +4 -1
  17. package/dist/src/index.d.ts +1 -1
  18. package/dist/src/index.js +13 -17
  19. package/dist/src/modules/analyzer/CodeAnalyzer.d.ts +1 -3
  20. package/dist/src/modules/analyzer/CodeAnalyzer.js +16 -28
  21. package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.d.ts +1 -2
  22. package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.js +1 -45
  23. package/dist/src/modules/analyzer/IntelligentAnalyzer.d.ts +1 -37
  24. package/dist/src/modules/analyzer/IntelligentAnalyzer.js +9 -142
  25. package/dist/src/modules/analyzer/PatternDetector.js +3 -3
  26. package/dist/src/modules/analyzer/PatternDetectorAuthPatterns.js +1 -1
  27. package/dist/src/modules/browser/BrowserDiscovery.d.ts +6 -5
  28. package/dist/src/modules/browser/BrowserDiscovery.js +3 -3
  29. package/dist/src/modules/browser/BrowserModeManager.d.ts +1 -1
  30. package/dist/src/modules/browser/BrowserModeManager.js +11 -10
  31. package/dist/src/modules/browser/TabRegistry.js +2 -2
  32. package/dist/src/modules/browser/UnifiedBrowserManager.d.ts +1 -0
  33. package/dist/src/modules/browser/UnifiedBrowserManager.js +19 -4
  34. package/dist/src/modules/captcha/AICaptchaDetector.d.ts +14 -23
  35. package/dist/src/modules/captcha/AICaptchaDetector.js +8 -202
  36. package/dist/src/modules/captcha/CaptchaDetector.d.ts +31 -17
  37. package/dist/src/modules/captcha/CaptchaDetector.js +1 -1
  38. package/dist/src/modules/collector/CodeCache.d.ts +2 -2
  39. package/dist/src/modules/collector/CodeCollector.d.ts +12 -9
  40. package/dist/src/modules/collector/CodeCollector.js +5 -6
  41. package/dist/src/modules/collector/DOMInspector.d.ts +3 -2
  42. package/dist/src/modules/collector/DOMInspector.js +49 -59
  43. package/dist/src/modules/collector/PageController.d.ts +17 -4
  44. package/dist/src/modules/collector/PageController.js +2 -5
  45. package/dist/src/modules/collector/PageScriptCollectors.js +3 -3
  46. package/dist/src/modules/crypto/CryptoDetector.d.ts +1 -4
  47. package/dist/src/modules/crypto/CryptoDetector.js +2 -42
  48. package/dist/src/modules/crypto/CryptoRules.js +1 -1
  49. package/dist/src/modules/debugger/BlackboxManager.js +1 -1
  50. package/dist/src/modules/debugger/DebuggerManager.impl.core.scope.js +1 -1
  51. package/dist/src/modules/debugger/ScriptManager.impl.extract-function-tree.js +5 -3
  52. package/dist/src/modules/debugger/WatchExpressionManager.js +1 -1
  53. package/dist/src/modules/deobfuscator/Deobfuscator.d.ts +1 -4
  54. package/dist/src/modules/deobfuscator/Deobfuscator.js +4 -39
  55. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.d.ts +0 -3
  56. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.js +2 -8
  57. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.d.ts +2 -3
  58. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.js +5 -57
  59. package/dist/src/modules/deobfuscator/JScramblerDeobfuscator.js +3 -4
  60. package/dist/src/modules/deobfuscator/PackerDeobfuscator.js +1 -1
  61. package/dist/src/modules/deobfuscator/VMDeobfuscator.d.ts +2 -10
  62. package/dist/src/modules/deobfuscator/VMDeobfuscator.js +3 -128
  63. package/dist/src/modules/deobfuscator/webcrack.js +15 -2
  64. package/dist/src/modules/emulator/AIEnvironmentAnalyzer.d.ts +5 -8
  65. package/dist/src/modules/emulator/AIEnvironmentAnalyzer.js +10 -102
  66. package/dist/src/modules/emulator/EnvironmentEmulator.d.ts +1 -5
  67. package/dist/src/modules/emulator/EnvironmentEmulator.js +7 -91
  68. package/dist/src/modules/emulator/EnvironmentEmulatorFetch.js +58 -61
  69. package/dist/src/modules/emulator/templates/chrome-env.d.ts +17 -7
  70. package/dist/src/modules/emulator/templates/chrome-env.js +14 -7
  71. package/dist/src/modules/external/ExternalToolRunner.d.ts +1 -1
  72. package/dist/src/modules/external/ExternalToolRunner.js +26 -23
  73. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.d.ts +13 -0
  74. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.js +42 -0
  75. package/dist/src/modules/monitor/FetchInterceptor.d.ts +46 -0
  76. package/dist/src/modules/monitor/FetchInterceptor.js +191 -0
  77. package/dist/src/modules/monitor/PerformanceMonitor.js +8 -7
  78. package/dist/src/modules/process/BaseMemoryManager.d.ts +1 -1
  79. package/dist/src/modules/process/LinuxProcessManager.js +4 -2
  80. package/dist/src/modules/process/MacProcessManager.js +1 -1
  81. package/dist/src/modules/process/MemoryManager.d.ts +1 -1
  82. package/dist/src/modules/process/MemoryManager.js +2 -2
  83. package/dist/src/modules/process/ProcessManager.impl.js +1 -1
  84. package/dist/src/modules/process/memory/AuditTrail.js +1 -1
  85. package/dist/src/modules/process/memory/reader.js +35 -3
  86. package/dist/src/modules/process/memory/regions.enumerate.js +1 -1
  87. package/dist/src/modules/process/memory/regions.protection.js +42 -9
  88. package/dist/src/modules/process/memory/scanner.d.ts +5 -1
  89. package/dist/src/modules/process/memory/scanner.darwin.js +57 -0
  90. package/dist/src/modules/process/memory/scanner.js +88 -4
  91. package/dist/src/modules/process/memory/writer.js +44 -4
  92. package/dist/src/modules/security/ExecutionSandbox.js +7 -8
  93. package/dist/src/modules/stealth/FingerprintManager.js +1 -1
  94. package/dist/src/modules/stealth/StealthScripts.d.ts +4 -2
  95. package/dist/src/modules/stealth/StealthScripts.js +53 -14
  96. package/dist/src/modules/stealth/StealthVerifier.d.ts +1 -1
  97. package/dist/src/modules/stealth/StealthVerifier.js +2 -4
  98. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.d.ts +14 -0
  99. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.js +181 -2
  100. package/dist/src/modules/trace/TraceDB.js +12 -6
  101. package/dist/src/modules/trace/TraceRecorder.js +1 -5
  102. package/dist/src/native/AntiCheatDetector.js +67 -16
  103. package/dist/src/native/CodeInjector.js +4 -4
  104. package/dist/src/native/HardwareBreakpoint.js +25 -16
  105. package/dist/src/native/HeapAnalyzer.js +2 -2
  106. package/dist/src/native/MemoryController.js +1 -1
  107. package/dist/src/native/MemoryScanSession.js +2 -2
  108. package/dist/src/native/MemoryScanner.js +4 -8
  109. package/dist/src/native/NativeMemoryManager.impl.js +2 -2
  110. package/dist/src/native/PEAnalyzer.js +14 -15
  111. package/dist/src/native/PointerChainEngine.js +2 -4
  112. package/dist/src/native/ScriptLoader.js +4 -9
  113. package/dist/src/native/Speedhack.js +1 -1
  114. package/dist/src/native/StructureAnalyzer.js +52 -33
  115. package/dist/src/native/Win32API.d.ts +1 -0
  116. package/dist/src/native/Win32API.js +13 -0
  117. package/dist/src/native/Win32Debug.js +19 -19
  118. package/dist/src/native/platform/darwin/DarwinAPI.d.ts +2 -0
  119. package/dist/src/native/platform/darwin/DarwinAPI.js +8 -0
  120. package/dist/src/native/platform/darwin/DarwinMemoryProvider.js +6 -1
  121. package/dist/src/server/MCPServer.context.d.ts +2 -1
  122. package/dist/src/server/MCPServer.d.ts +2 -1
  123. package/dist/src/server/MCPServer.domain.d.ts +1 -1
  124. package/dist/src/server/MCPServer.domain.js +81 -16
  125. package/dist/src/server/MCPServer.js +42 -14
  126. package/dist/src/server/MCPServer.resources.d.ts +2 -0
  127. package/dist/src/server/MCPServer.resources.js +91 -0
  128. package/dist/src/server/MCPServer.search.handlers.call.js +2 -1
  129. package/dist/src/server/MCPServer.search.helpers.js +2 -2
  130. package/dist/src/server/MCPServer.tools.js +1 -1
  131. package/dist/src/server/MCPServer.transport.js +12 -0
  132. package/dist/src/server/ToolCallContextGuard.d.ts +5 -0
  133. package/dist/src/server/ToolCallContextGuard.js +85 -0
  134. package/dist/src/server/ToolRouter.d.ts +26 -10
  135. package/dist/src/server/ToolRouter.intent.d.ts +26 -0
  136. package/dist/src/server/ToolRouter.intent.js +77 -0
  137. package/dist/src/server/ToolRouter.js +103 -284
  138. package/dist/src/server/ToolRouter.policy.d.ts +22 -0
  139. package/dist/src/server/ToolRouter.policy.js +163 -0
  140. package/dist/src/server/ToolRouter.probe.d.ts +17 -0
  141. package/dist/src/server/ToolRouter.probe.js +103 -0
  142. package/dist/src/server/ToolRouter.renderer.d.ts +9 -0
  143. package/dist/src/server/ToolRouter.renderer.js +52 -0
  144. package/dist/src/server/activation/ActivationController.js +15 -12
  145. package/dist/src/server/activation/CompoundConditionEngine.js +1 -1
  146. package/dist/src/server/activation/PredictiveBooster.js +1 -3
  147. package/dist/src/server/domains/analysis/definitions.js +155 -655
  148. package/dist/src/server/domains/analysis/handlers.impl.d.ts +8 -8
  149. package/dist/src/server/domains/analysis/handlers.impl.js +34 -28
  150. package/dist/src/server/domains/analysis/handlers.web-tools.js +4 -3
  151. package/dist/src/server/domains/analysis/manifest.js +6 -4
  152. package/dist/src/server/domains/antidebug/definitions.js +25 -111
  153. package/dist/src/server/domains/browser/definitions.tools.advanced.js +59 -88
  154. package/dist/src/server/domains/browser/definitions.tools.behavior.js +120 -227
  155. package/dist/src/server/domains/browser/definitions.tools.page-core.js +157 -386
  156. package/dist/src/server/domains/browser/definitions.tools.page-system.js +108 -250
  157. package/dist/src/server/domains/browser/definitions.tools.runtime.js +61 -174
  158. package/dist/src/server/domains/browser/definitions.tools.security.js +92 -237
  159. package/dist/src/server/domains/browser/handlers/camoufox-browser.js +3 -2
  160. package/dist/src/server/domains/browser/handlers/captcha-solver.js +3 -3
  161. package/dist/src/server/domains/browser/handlers/dom-query.js +2 -1
  162. package/dist/src/server/domains/browser/handlers/facade-initializer.d.ts +3 -3
  163. package/dist/src/server/domains/browser/handlers/facade-initializer.js +3 -3
  164. package/dist/src/server/domains/browser/handlers/framework-state.js +231 -3
  165. package/dist/src/server/domains/browser/handlers/indexeddb-dump.js +21 -20
  166. package/dist/src/server/domains/browser/handlers/script-management.js +1 -1
  167. package/dist/src/server/domains/browser/handlers/stealth-injection.js +8 -2
  168. package/dist/src/server/domains/browser/handlers.impl.d.ts +15 -12
  169. package/dist/src/server/domains/browser/handlers.impl.js +5 -6
  170. package/dist/src/server/domains/browser/manifest.js +37 -13
  171. package/dist/src/server/domains/coordination/definitions.js +50 -149
  172. package/dist/src/server/domains/coordination/index.d.ts +20 -1
  173. package/dist/src/server/domains/coordination/index.js +133 -0
  174. package/dist/src/server/domains/coordination/manifest.js +15 -0
  175. package/dist/src/server/domains/debugger/definitions.tools.advanced.js +72 -189
  176. package/dist/src/server/domains/debugger/definitions.tools.core.js +114 -288
  177. package/dist/src/server/domains/debugger/manifest.js +9 -2
  178. package/dist/src/server/domains/encoding/definitions.js +43 -153
  179. package/dist/src/server/domains/encoding/handlers.base.js +2 -2
  180. package/dist/src/server/domains/evidence/definitions.d.ts +2 -0
  181. package/dist/src/server/domains/evidence/definitions.js +42 -0
  182. package/dist/src/server/domains/evidence/handlers.d.ts +582 -0
  183. package/dist/src/server/domains/evidence/handlers.js +60 -0
  184. package/dist/src/server/domains/evidence/index.d.ts +2 -0
  185. package/dist/src/server/domains/evidence/index.js +2 -0
  186. package/dist/src/server/domains/evidence/manifest.d.ts +63 -0
  187. package/dist/src/server/domains/evidence/manifest.js +78 -0
  188. package/dist/src/server/domains/graphql/definitions.js +53 -141
  189. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.replay.js +92 -114
  190. package/dist/src/server/domains/hooks/ai-handlers.d.ts +0 -7
  191. package/dist/src/server/domains/hooks/ai-handlers.js +4 -70
  192. package/dist/src/server/domains/hooks/definitions.js +69 -335
  193. package/dist/src/server/domains/hooks/manifest.d.ts +1 -1
  194. package/dist/src/server/domains/hooks/manifest.js +1 -2
  195. package/dist/src/server/domains/instrumentation/definitions.d.ts +2 -0
  196. package/dist/src/server/domains/instrumentation/definitions.js +99 -0
  197. package/dist/src/server/domains/instrumentation/handlers.d.ts +78 -0
  198. package/dist/src/server/domains/instrumentation/handlers.js +206 -0
  199. package/dist/src/server/domains/instrumentation/index.d.ts +2 -0
  200. package/dist/src/server/domains/instrumentation/index.js +2 -0
  201. package/dist/src/server/domains/instrumentation/manifest.d.ts +63 -0
  202. package/dist/src/server/domains/instrumentation/manifest.js +114 -0
  203. package/dist/src/server/domains/macro/definitions.js +16 -43
  204. package/dist/src/server/domains/maintenance/definitions.js +60 -219
  205. package/dist/src/server/domains/maintenance/handlers.d.ts +2 -2
  206. package/dist/src/server/domains/maintenance/handlers.extensions.js +78 -20
  207. package/dist/src/server/domains/maintenance/handlers.js +2 -2
  208. package/dist/src/server/domains/memory/definitions.js +387 -559
  209. package/dist/src/server/domains/memory/handlers/hooks.d.ts +55 -0
  210. package/dist/src/server/domains/memory/handlers/hooks.js +115 -0
  211. package/dist/src/server/domains/memory/handlers/integrity.d.ts +77 -0
  212. package/dist/src/server/domains/memory/handlers/integrity.js +180 -0
  213. package/dist/src/server/domains/memory/handlers/pointer-chain.d.ts +29 -0
  214. package/dist/src/server/domains/memory/handlers/pointer-chain.js +82 -0
  215. package/dist/src/server/domains/memory/handlers/readwrite.d.ts +41 -0
  216. package/dist/src/server/domains/memory/handlers/readwrite.js +78 -0
  217. package/dist/src/server/domains/memory/handlers/scan.d.ts +35 -0
  218. package/dist/src/server/domains/memory/handlers/scan.js +97 -0
  219. package/dist/src/server/domains/memory/handlers/session.d.ts +23 -0
  220. package/dist/src/server/domains/memory/handlers/session.js +49 -0
  221. package/dist/src/server/domains/memory/handlers/structure.d.ts +29 -0
  222. package/dist/src/server/domains/memory/handlers/structure.js +74 -0
  223. package/dist/src/server/domains/memory/handlers.impl.d.ts +49 -54
  224. package/dist/src/server/domains/memory/handlers.impl.js +63 -494
  225. package/dist/src/server/domains/memory/manifest.js +236 -64
  226. package/dist/src/server/domains/native-bridge/definitions.js +54 -192
  227. package/dist/src/server/domains/native-bridge/index.d.ts +1 -0
  228. package/dist/src/server/domains/native-bridge/index.js +2 -1
  229. package/dist/src/server/domains/network/auth-extractor.js +1 -1
  230. package/dist/src/server/domains/network/definitions.js +175 -578
  231. package/dist/src/server/domains/network/handlers.base.core.d.ts +64 -0
  232. package/dist/src/server/domains/network/handlers.base.core.js +623 -0
  233. package/dist/src/server/domains/network/handlers.base.d.ts +2 -124
  234. package/dist/src/server/domains/network/handlers.base.js +3 -878
  235. package/dist/src/server/domains/network/handlers.base.performance.d.ts +63 -0
  236. package/dist/src/server/domains/network/handlers.base.performance.js +193 -0
  237. package/dist/src/server/domains/network/handlers.base.types.d.ts +42 -0
  238. package/dist/src/server/domains/network/handlers.base.types.js +89 -0
  239. package/dist/src/server/domains/network/handlers.impl.core.runtime.d.ts +1 -1
  240. package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.d.ts +21 -0
  241. package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.js +186 -0
  242. package/dist/src/server/domains/network/handlers.impl.core.runtime.js +1 -1
  243. package/dist/src/server/domains/network/manifest.js +15 -0
  244. package/dist/src/server/domains/network/replay.js +1 -4
  245. package/dist/src/server/domains/platform/definitions.js +121 -112
  246. package/dist/src/server/domains/platform/handlers/bridge-handlers.d.ts +5 -1
  247. package/dist/src/server/domains/platform/handlers/bridge-handlers.js +194 -5
  248. package/dist/src/server/domains/platform/handlers/electron-asar-helpers.js +26 -6
  249. package/dist/src/server/domains/platform/handlers/electron-dual-cdp.d.ts +3 -0
  250. package/dist/src/server/domains/platform/handlers/electron-dual-cdp.js +170 -0
  251. package/dist/src/server/domains/platform/handlers/electron-fuse-handler.d.ts +3 -0
  252. package/dist/src/server/domains/platform/handlers/electron-fuse-handler.js +193 -0
  253. package/dist/src/server/domains/platform/handlers/electron-handlers.d.ts +6 -0
  254. package/dist/src/server/domains/platform/handlers/electron-handlers.js +95 -2
  255. package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.d.ts +2 -0
  256. package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.js +370 -0
  257. package/dist/src/server/domains/platform/handlers/electron-userdata-handler.d.ts +2 -0
  258. package/dist/src/server/domains/platform/handlers/electron-userdata-handler.js +78 -0
  259. package/dist/src/server/domains/platform/handlers/miniapp-handlers.d.ts +1 -1
  260. package/dist/src/server/domains/platform/handlers/miniapp-handlers.js +4 -4
  261. package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.d.ts +2 -0
  262. package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.js +207 -0
  263. package/dist/src/server/domains/platform/handlers.d.ts +48 -0
  264. package/dist/src/server/domains/platform/handlers.js +29 -0
  265. package/dist/src/server/domains/platform/manifest.js +38 -0
  266. package/dist/src/server/domains/process/definitions.js +163 -647
  267. package/dist/src/server/domains/process/handlers.base.d.ts +3 -95
  268. package/dist/src/server/domains/process/handlers.base.js +7 -462
  269. package/dist/src/server/domains/process/handlers.base.process.d.ts +61 -0
  270. package/dist/src/server/domains/process/handlers.base.process.js +417 -0
  271. package/dist/src/server/domains/process/handlers.base.types.d.ts +57 -0
  272. package/dist/src/server/domains/process/handlers.base.types.js +50 -0
  273. package/dist/src/server/domains/process/handlers.impl.core.runtime.inject.js +19 -17
  274. package/dist/src/server/domains/process/manifest.js +6 -1
  275. package/dist/src/server/domains/sandbox/definitions.js +11 -33
  276. package/dist/src/server/domains/sandbox/handlers.js +8 -3
  277. package/dist/src/server/domains/shared/ResponseBuilder.d.ts +209 -0
  278. package/dist/src/server/domains/shared/ResponseBuilder.js +48 -0
  279. package/dist/src/server/domains/shared/modules.d.ts +0 -2
  280. package/dist/src/server/domains/shared/modules.js +0 -1
  281. package/dist/src/server/domains/sourcemap/definitions.js +27 -111
  282. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-common.js +7 -2
  283. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-main.js +1 -1
  284. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-parse-base.js +1 -1
  285. package/dist/src/server/domains/sourcemap/manifest.d.ts +1 -1
  286. package/dist/src/server/domains/sourcemap/manifest.js +1 -1
  287. package/dist/src/server/domains/streaming/definitions.js +36 -148
  288. package/dist/src/server/domains/streaming/handlers.impl.streaming-sse.js +163 -164
  289. package/dist/src/server/domains/streaming/handlers.impl.streaming-ws.js +1 -1
  290. package/dist/src/server/domains/trace/TraceSummarizer.d.ts +60 -0
  291. package/dist/src/server/domains/trace/TraceSummarizer.js +112 -0
  292. package/dist/src/server/domains/trace/definitions.tools.js +51 -176
  293. package/dist/src/server/domains/trace/handlers.d.ts +2 -1
  294. package/dist/src/server/domains/trace/handlers.js +62 -9
  295. package/dist/src/server/domains/trace/index.d.ts +2 -1
  296. package/dist/src/server/domains/trace/index.js +2 -1
  297. package/dist/src/server/domains/trace/manifest.js +18 -4
  298. package/dist/src/server/domains/transform/definitions.js +50 -210
  299. package/dist/src/server/domains/transform/handlers.impl.transform-base.js +6 -6
  300. package/dist/src/server/domains/transform/handlers.impl.transform-crypto.js +18 -19
  301. package/dist/src/server/domains/transform/manifest.d.ts +1 -1
  302. package/dist/src/server/domains/transform/manifest.js +1 -1
  303. package/dist/src/server/domains/wasm/definitions.js +55 -232
  304. package/dist/src/server/domains/wasm/handlers.js +3 -3
  305. package/dist/src/server/domains/workflow/definitions.js +144 -414
  306. package/dist/src/server/domains/workflow/handlers.impl.workflow-account-bundle.js +2 -2
  307. package/dist/src/server/domains/workflow/handlers.impl.workflow-base.d.ts +2 -0
  308. package/dist/src/server/domains/workflow/handlers.impl.workflow-base.js +126 -87
  309. package/dist/src/server/domains/workflow/handlers.impl.workflow-batch.js +5 -5
  310. package/dist/src/server/evidence/ReverseEvidenceGraph.d.ts +20 -0
  311. package/dist/src/server/evidence/ReverseEvidenceGraph.js +208 -0
  312. package/dist/src/server/evidence/index.d.ts +2 -0
  313. package/dist/src/server/evidence/index.js +1 -0
  314. package/dist/src/server/evidence/types.d.ts +22 -0
  315. package/dist/src/server/evidence/types.js +1 -0
  316. package/dist/src/server/extensions/ExtensionManager.d.ts +1 -0
  317. package/dist/src/server/extensions/ExtensionManager.discovery.js +72 -9
  318. package/dist/src/server/extensions/ExtensionManager.integrity.js +1 -1
  319. package/dist/src/server/extensions/ExtensionManager.js +193 -40
  320. package/dist/src/server/extensions/ExtensionManager.roots.d.ts +1 -1
  321. package/dist/src/server/extensions/ExtensionManager.roots.js +19 -9
  322. package/dist/src/server/extensions/plugin-config.js +1 -1
  323. package/dist/src/server/extensions/plugin-env.d.ts +1 -1
  324. package/dist/src/server/extensions/plugin-env.js +10 -4
  325. package/dist/src/server/extensions/types.d.ts +17 -0
  326. package/dist/src/server/extensions/types.js +1 -1
  327. package/dist/src/server/http/HttpMiddleware.js +1 -1
  328. package/dist/src/server/instrumentation/EvidenceGraphBridge.d.ts +13 -0
  329. package/dist/src/server/instrumentation/EvidenceGraphBridge.js +150 -0
  330. package/dist/src/server/instrumentation/InstrumentationSession.d.ts +60 -0
  331. package/dist/src/server/instrumentation/InstrumentationSession.js +269 -0
  332. package/dist/src/server/instrumentation/index.d.ts +2 -0
  333. package/dist/src/server/instrumentation/index.js +2 -0
  334. package/dist/src/server/instrumentation/types.d.ts +62 -0
  335. package/dist/src/server/instrumentation/types.js +7 -0
  336. package/dist/src/server/macros/MacroConfigLoader.d.ts +6 -5
  337. package/dist/src/server/macros/MacroConfigLoader.js +61 -59
  338. package/dist/src/server/macros/MacroRunner.js +6 -2
  339. package/dist/src/server/macros/builtins/index.d.ts +2 -3
  340. package/dist/src/server/macros/builtins/index.js +51 -7
  341. package/dist/src/server/plugins/PluginContract.d.ts +1 -1
  342. package/dist/src/server/registry/contracts.d.ts +7 -1
  343. package/dist/src/server/registry/discovery.js +5 -4
  344. package/dist/src/server/registry/ensure-browser-core.js +0 -3
  345. package/dist/src/server/registry/index.js +4 -4
  346. package/dist/src/server/registry/tool-builder.d.ts +46 -0
  347. package/dist/src/server/registry/tool-builder.js +105 -0
  348. package/dist/src/server/sandbox/MCPBridge.d.ts +9 -0
  349. package/dist/src/server/sandbox/MCPBridge.js +22 -0
  350. package/dist/src/server/sandbox/QuickJSSandbox.d.ts +4 -1
  351. package/dist/src/server/sandbox/QuickJSSandbox.js +162 -2
  352. package/dist/src/server/sandbox/types.d.ts +13 -0
  353. package/dist/src/server/search/AffinityGraph.d.ts +7 -1
  354. package/dist/src/server/search/AffinityGraph.js +24 -3
  355. package/dist/src/server/search/EmbeddingWorker.js +5 -3
  356. package/dist/src/server/search/FeedbackTracker.d.ts +9 -0
  357. package/dist/src/server/search/FeedbackTracker.js +26 -0
  358. package/dist/src/server/search/QueryNormalizer.d.ts +6 -0
  359. package/dist/src/server/search/QueryNormalizer.js +94 -0
  360. package/dist/src/server/search/ToolSearchEngineImpl.d.ts +2 -3
  361. package/dist/src/server/search/ToolSearchEngineImpl.js +38 -88
  362. package/dist/src/server/workflows/WorkflowContract.d.ts +24 -0
  363. package/dist/src/server/workflows/WorkflowContract.js +12 -0
  364. package/dist/src/server/workflows/WorkflowEngine.d.ts +1 -0
  365. package/dist/src/server/workflows/WorkflowEngine.js +136 -3
  366. package/dist/src/types/config.d.ts +0 -14
  367. package/dist/src/types/deobfuscator.d.ts +0 -1
  368. package/dist/src/types/index.d.ts +1 -1
  369. package/dist/src/utils/DetailedDataManager.js +2 -0
  370. package/dist/src/utils/RingBuffer.js +5 -5
  371. package/dist/src/utils/TokenBudgetManager.js +1 -1
  372. package/dist/src/utils/UnifiedCacheManager.d.ts +1 -1
  373. package/dist/src/utils/UnifiedCacheManager.js +3 -3
  374. package/dist/src/utils/artifactRetention.js +2 -2
  375. package/dist/src/utils/betterSqlite3.d.ts +11 -0
  376. package/dist/src/utils/betterSqlite3.js +88 -0
  377. package/dist/src/utils/browserExecutable.js +2 -2
  378. package/dist/src/utils/cliFastPath.js +17 -6
  379. package/dist/src/utils/config.js +4 -26
  380. package/dist/src/utils/environmentDoctor.js +138 -11
  381. package/dist/src/utils/outputPaths.js +16 -9
  382. package/dist/src/utils/parallel.js +1 -3
  383. package/package.json +76 -72
  384. package/scripts/postinstall.cjs +37 -37
  385. package/src/native/scripts/linux/enum-windows.sh +12 -12
  386. package/src/native/scripts/macos/enum-windows.applescript +22 -22
  387. package/src/native/scripts/windows/enum-windows-by-class.ps1 +51 -51
  388. package/src/native/scripts/windows/enum-windows.ps1 +44 -44
  389. package/src/native/scripts/windows/inject-dll.ps1 +21 -21
  390. package/workflows/.gitkeep +0 -0
  391. package/dist/src/modules/analyzer/AISummarizer.d.ts +0 -39
  392. package/dist/src/modules/analyzer/AISummarizer.js +0 -122
  393. package/dist/src/modules/hook/AIHookGenerator.d.ts +0 -52
  394. package/dist/src/modules/hook/AIHookGenerator.js +0 -360
  395. package/dist/src/modules/hook/AIHookGeneratorTemplates.d.ts +0 -9
  396. package/dist/src/modules/hook/AIHookGeneratorTemplates.js +0 -157
  397. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.d.ts +0 -2
  398. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.js +0 -25
  399. package/dist/src/server/macros/builtins/unpacker-flow.d.ts +0 -2
  400. package/dist/src/server/macros/builtins/unpacker-flow.js +0 -25
  401. package/dist/src/services/LLMService.d.ts +0 -37
  402. package/dist/src/services/LLMService.js +0 -233
  403. package/dist/src/services/prompts/analysis.d.ts +0 -9
  404. package/dist/src/services/prompts/analysis.js +0 -158
  405. package/dist/src/services/prompts/crypto.d.ts +0 -2
  406. package/dist/src/services/prompts/crypto.js +0 -108
  407. package/dist/src/services/prompts/deobfuscation.d.ts +0 -6
  408. package/dist/src/services/prompts/deobfuscation.js +0 -300
  409. package/dist/src/services/prompts/environment.d.ts +0 -16
  410. package/dist/src/services/prompts/environment.js +0 -372
  411. package/dist/src/services/prompts/intelligence.d.ts +0 -4
  412. package/dist/src/services/prompts/intelligence.js +0 -250
  413. package/dist/src/services/prompts/taint.d.ts +0 -2
  414. package/dist/src/services/prompts/taint.js +0 -54
@@ -1,7 +1,7 @@
1
+ import { tool } from '../../registry/tool-builder.js';
1
2
  export const browserSecurityStateTools = [
2
- {
3
- name: 'captcha_detect',
4
- description: `Detect CAPTCHA on the current page using AI vision analysis.
3
+ tool('captcha_detect')
4
+ .desc(`Detect CAPTCHA on the current page using AI vision analysis.
5
5
 
6
6
  Detection process:
7
7
  1. Takes a screenshot and analyzes it with AI (Vision LLM)
@@ -27,15 +27,12 @@ Response fields:
27
27
  Note:
28
28
  When the configured MCP model cannot access vision directly, the detector saves a screenshot
29
29
  to disk and returns screenshotPath together with prompt guidance in the reasoning field.
30
- Use an external AI (GPT-4o, Claude 3) to analyze the saved screenshot if needed.`,
31
- inputSchema: {
32
- type: 'object',
33
- properties: {},
34
- },
35
- },
36
- {
37
- name: 'captcha_wait',
38
- description: `Wait for the user to manually solve a CAPTCHA.
30
+ Use an external AI (GPT-4o, Claude 3) to analyze the saved screenshot if needed.`)
31
+ .readOnly()
32
+ .idempotent()
33
+ .build(),
34
+ tool('captcha_wait')
35
+ .desc(`Wait for the user to manually solve a CAPTCHA.
39
36
 
40
37
  Steps:
41
38
  1. CAPTCHA is detected on the page
@@ -45,47 +42,26 @@ Steps:
45
42
 
46
43
  Note: this tool does not switch browser modes on its own.
47
44
 
48
- Timeout: default 300000ms (5 minutes)`,
49
- inputSchema: {
50
- type: 'object',
51
- properties: {
52
- timeout: {
53
- type: 'number',
54
- description: 'Timeout in milliseconds (default: 300000 = 5 minutes)',
55
- default: 300000,
56
- },
57
- },
58
- },
59
- },
60
- {
61
- name: 'captcha_config',
62
- description: `Configure CAPTCHA detection behavior.
45
+ Timeout: default 300000ms (5 minutes)`)
46
+ .number('timeout', 'Timeout in milliseconds (default: 300000 = 5 minutes)', { default: 300000 })
47
+ .readOnly()
48
+ .idempotent()
49
+ .openWorld()
50
+ .build(),
51
+ tool('captcha_config')
52
+ .desc(`Configure CAPTCHA detection behavior.
63
53
 
64
54
  Parameters:
65
55
  - autoDetectCaptcha: enable CAPTCHA auto-handling for browser-mode integrations that use these settings
66
56
  - autoSwitchHeadless: allow supported integrations to switch to headed mode when CAPTCHA is detected
67
- - captchaTimeout: timeout for waiting user to solve CAPTCHA in ms (default: 300000)`,
68
- inputSchema: {
69
- type: 'object',
70
- properties: {
71
- autoDetectCaptcha: {
72
- type: 'boolean',
73
- description: 'Whether to automatically detect CAPTCHA after navigation',
74
- },
75
- autoSwitchHeadless: {
76
- type: 'boolean',
77
- description: 'Whether to automatically switch to headed mode when CAPTCHA detected',
78
- },
79
- captchaTimeout: {
80
- type: 'number',
81
- description: 'Timeout for waiting user to complete CAPTCHA (milliseconds)',
82
- },
83
- },
84
- },
85
- },
86
- {
87
- name: 'stealth_inject',
88
- description: `Inject modern stealth scripts to bypass bot detection.
57
+ - captchaTimeout: timeout for waiting user to solve CAPTCHA in ms (default: 300000)`)
58
+ .boolean('autoDetectCaptcha', 'Whether to automatically detect CAPTCHA after navigation')
59
+ .boolean('autoSwitchHeadless', 'Whether to automatically switch to headed mode when CAPTCHA detected')
60
+ .number('captchaTimeout', 'Timeout for waiting user to complete CAPTCHA (milliseconds)')
61
+ .idempotent()
62
+ .build(),
63
+ tool('stealth_inject')
64
+ .desc(`Inject modern stealth scripts to bypass bot detection.
89
65
 
90
66
  Anti-detection patches:
91
67
  1. Hide navigator.webdriver flag
@@ -100,36 +76,22 @@ Anti-detection patches:
100
76
  10. Fix Notification API
101
77
 
102
78
  Compatible with undetected-chromedriver, puppeteer-extra-plugin-stealth, playwright-stealth.
103
- Call after browser_launch for best results.`,
104
- inputSchema: {
105
- type: 'object',
106
- properties: {},
107
- },
108
- },
109
- {
110
- name: 'stealth_set_user_agent',
111
- description: `Set a realistic User-Agent and browser fingerprint for the target platform.
79
+ Call after browser_launch for best results.`)
80
+ .idempotent()
81
+ .build(),
82
+ tool('stealth_set_user_agent')
83
+ .desc(`Set a realistic User-Agent and browser fingerprint for the target platform.
112
84
 
113
85
  Updates navigator.userAgent, navigator.platform, navigator.vendor,
114
86
  navigator.hardwareConcurrency, and navigator.deviceMemory consistently
115
87
  to avoid fingerprint inconsistencies.
116
88
 
117
- UA strings are updated to Chrome 131 with platform-appropriate hardware profiles.`,
118
- inputSchema: {
119
- type: 'object',
120
- properties: {
121
- platform: {
122
- type: 'string',
123
- description: 'Target platform',
124
- enum: ['windows', 'mac', 'linux'],
125
- default: 'windows',
126
- },
127
- },
128
- },
129
- },
130
- {
131
- name: 'stealth_configure_jitter',
132
- description: `Configure CDP command timing jitter to mimic natural network latency.
89
+ UA strings are updated to Chrome 131 with platform-appropriate hardware profiles.`)
90
+ .enum('platform', ['windows', 'mac', 'linux'], 'Target platform', { default: 'windows' })
91
+ .idempotent()
92
+ .build(),
93
+ tool('stealth_configure_jitter')
94
+ .desc(`Configure CDP command timing jitter to mimic natural network latency.
133
95
 
134
96
  Jitter adds random delays to CDP commands to prevent timing-based bot detection.
135
97
  Default: 20-80ms uniform random delay on all CDP send() calls.
@@ -138,67 +100,27 @@ Parameters:
138
100
  - enabled: turn jitter on/off
139
101
  - minDelayMs: minimum delay in milliseconds
140
102
  - maxDelayMs: maximum delay in milliseconds
141
- - burstMode: skip jitter for time-critical operations (debugging, breakpoints)`,
142
- inputSchema: {
143
- type: 'object',
144
- properties: {
145
- enabled: {
146
- type: 'boolean',
147
- description: 'Enable/disable jitter',
148
- default: true,
149
- },
150
- minDelayMs: {
151
- type: 'number',
152
- description: 'Minimum delay (ms)',
153
- default: 20,
154
- },
155
- maxDelayMs: {
156
- type: 'number',
157
- description: 'Maximum delay (ms)',
158
- default: 80,
159
- },
160
- burstMode: {
161
- type: 'boolean',
162
- description: 'Skip jitter for time-critical ops',
163
- default: false,
164
- },
165
- },
166
- },
167
- },
168
- {
169
- name: 'stealth_generate_fingerprint',
170
- description: `Generate a realistic browser fingerprint using real-world datasets.
103
+ - burstMode: skip jitter for time-critical operations (debugging, breakpoints)`)
104
+ .boolean('enabled', 'Enable/disable jitter', { default: true })
105
+ .number('minDelayMs', 'Minimum delay (ms)', { default: 20 })
106
+ .number('maxDelayMs', 'Maximum delay (ms)', { default: 80 })
107
+ .boolean('burstMode', 'Skip jitter for time-critical ops', { default: false })
108
+ .idempotent()
109
+ .build(),
110
+ tool('stealth_generate_fingerprint')
111
+ .desc(`Generate a realistic browser fingerprint using real-world datasets.
171
112
 
172
113
  Requires fingerprint-generator and fingerprint-injector packages (optional dependencies).
173
114
  The generated fingerprint is cached per session and auto-applied on next stealth_inject.
174
115
 
175
116
  Covers: screen resolution, WebGL params, fonts, codecs, AudioContext, navigator properties.
176
- Falls back to built-in StealthScripts patches if packages are not installed.`,
177
- inputSchema: {
178
- type: 'object',
179
- properties: {
180
- os: {
181
- type: 'string',
182
- description: 'Target OS for fingerprint',
183
- enum: ['windows', 'macos', 'linux'],
184
- },
185
- browser: {
186
- type: 'string',
187
- description: 'Target browser',
188
- enum: ['chrome', 'firefox'],
189
- default: 'chrome',
190
- },
191
- locale: {
192
- type: 'string',
193
- description: 'Locale string (e.g. en-US)',
194
- default: 'en-US',
195
- },
196
- },
197
- },
198
- },
199
- {
200
- name: 'stealth_verify',
201
- description: `Run offline anti-detection checks on the current page.
117
+ Falls back to built-in StealthScripts patches if packages are not installed.`)
118
+ .enum('os', ['windows', 'macos', 'linux'], 'Target OS for fingerprint')
119
+ .enum('browser', ['chrome', 'firefox'], 'Target browser', { default: 'chrome' })
120
+ .string('locale', 'Locale string (e.g. en-US)', { default: 'en-US' })
121
+ .build(),
122
+ tool('stealth_verify')
123
+ .desc(`Run offline anti-detection checks on the current page.
202
124
 
203
125
  Verifies that stealth patches are working correctly by checking:
204
126
  - navigator.webdriver absence
@@ -213,15 +135,12 @@ Verifies that stealth patches are working correctly by checking:
213
135
  Returns a structured report with pass/fail for each check, an overall score (0-100),
214
136
  and recommendations for improving detection evasion.
215
137
 
216
- Best used after stealth_inject to verify patches are effective.`,
217
- inputSchema: {
218
- type: 'object',
219
- properties: {},
220
- },
221
- },
222
- {
223
- name: 'browser_list_tabs',
224
- description: `List all open tabs/pages in the connected browser.
138
+ Best used after stealth_inject to verify patches are effective.`)
139
+ .readOnly()
140
+ .idempotent()
141
+ .build(),
142
+ tool('browser_list_tabs')
143
+ .desc(`List all open tabs/pages in the connected browser.
225
144
 
226
145
  Use this after browser_attach to see all available pages/tabs.
227
146
  Returns index, URL, and title for each tab.
@@ -233,39 +152,18 @@ Workflow:
233
152
 
234
153
  Can also connect and list in one call:
235
154
  browser_list_tabs(browserURL="http://127.0.0.1:9222")
236
- browser_list_tabs(autoConnect=true, channel="stable")`,
237
- inputSchema: {
238
- type: 'object',
239
- properties: {
240
- browserURL: {
241
- type: 'string',
242
- description: 'Optional: connect to this browser URL before listing (e.g. http://127.0.0.1:9222)',
243
- },
244
- wsEndpoint: {
245
- type: 'string',
246
- description: 'Optional: connect to this browser WebSocket endpoint before listing.',
247
- },
248
- autoConnect: {
249
- type: 'boolean',
250
- description: 'Chrome 144+ only. Auto-detect the local Chrome debugging WebSocket from DevToolsActivePort. Requires remote debugging to be enabled at chrome://inspect/#remote-debugging, and Chrome may prompt you to manually approve this client.',
251
- default: false,
252
- },
253
- channel: {
254
- type: 'string',
255
- description: 'Chrome channel used for autoConnect when userDataDir is not provided.',
256
- enum: ['stable', 'beta', 'dev', 'canary'],
257
- default: 'stable',
258
- },
259
- userDataDir: {
260
- type: 'string',
261
- description: 'Optional Chrome profile directory for autoConnect. If omitted, the default profile path for the selected channel is used.',
262
- },
263
- },
264
- },
265
- },
266
- {
267
- name: 'browser_select_tab',
268
- description: `Switch the active tab/page by index or URL/title pattern.
155
+ browser_list_tabs(autoConnect=true, channel="stable")`)
156
+ .string('browserURL', 'Optional: connect to this browser URL before listing (e.g. http://127.0.0.1:9222)')
157
+ .string('wsEndpoint', 'Optional: connect to this browser WebSocket endpoint before listing.')
158
+ .boolean('autoConnect', 'Chrome 144+ only. Auto-detect the local Chrome debugging WebSocket from DevToolsActivePort. Requires remote debugging to be enabled at chrome://inspect/#remote-debugging, and Chrome may prompt you to manually approve this client.', { default: false })
159
+ .enum('channel', ['stable', 'beta', 'dev', 'canary'], 'Chrome channel used for autoConnect when userDataDir is not provided.', { default: 'stable' })
160
+ .string('userDataDir', 'Optional Chrome profile directory for autoConnect. If omitted, the default profile path for the selected channel is used.')
161
+ .readOnly()
162
+ .idempotent()
163
+ .openWorld()
164
+ .build(),
165
+ tool('browser_select_tab')
166
+ .desc(`Switch the active tab/page by index or URL/title pattern.
269
167
 
270
168
  After browser_list_tabs, use this to activate a specific tab.
271
169
  All subsequent page_* tools will operate on the selected tab.
@@ -273,69 +171,26 @@ All subsequent page_* tools will operate on the selected tab.
273
171
  Examples:
274
172
  - browser_select_tab(index=0) -> first tab
275
173
  - browser_select_tab(urlPattern="qwen") -> tab whose URL contains "qwen"
276
- - browser_select_tab(titlePattern="Mini Program") -> tab whose title contains "Mini Program"`,
277
- inputSchema: {
278
- type: 'object',
279
- properties: {
280
- index: {
281
- type: 'number',
282
- description: 'Tab index from browser_list_tabs (0-based)',
283
- },
284
- urlPattern: {
285
- type: 'string',
286
- description: 'Substring to match against tab URLs',
287
- },
288
- titlePattern: {
289
- type: 'string',
290
- description: 'Substring to match against tab titles',
291
- },
292
- },
293
- },
294
- },
295
- {
296
- name: 'framework_state_extract',
297
- description: 'Extract React/Vue component state from the live page. Useful for debugging frontend applications and finding hidden state.',
298
- inputSchema: {
299
- type: 'object',
300
- properties: {
301
- framework: {
302
- type: 'string',
303
- description: 'Framework to target. auto = detect automatically.',
304
- enum: ['auto', 'react', 'vue2', 'vue3'],
305
- default: 'auto',
306
- },
307
- selector: {
308
- type: 'string',
309
- description: 'CSS selector of root element to inspect (default: #root, #app, [data-reactroot], body)',
310
- },
311
- maxDepth: {
312
- type: 'number',
313
- description: 'Maximum component tree depth to traverse',
314
- default: 5,
315
- },
316
- },
317
- },
318
- },
319
- {
320
- name: 'indexeddb_dump',
321
- description: 'Dump all IndexedDB databases and their contents. Useful for analyzing PWA data, stored tokens, or offline application state.',
322
- inputSchema: {
323
- type: 'object',
324
- properties: {
325
- database: {
326
- type: 'string',
327
- description: 'Specific database name to dump (default: all databases)',
328
- },
329
- store: {
330
- type: 'string',
331
- description: 'Specific object store to dump (default: all stores)',
332
- },
333
- maxRecords: {
334
- type: 'number',
335
- description: 'Maximum records per store to return',
336
- default: 100,
337
- },
338
- },
339
- },
340
- },
174
+ - browser_select_tab(titlePattern="Mini Program") -> tab whose title contains "Mini Program"`)
175
+ .number('index', 'Tab index from browser_list_tabs (0-based)')
176
+ .string('urlPattern', 'Substring to match against tab URLs')
177
+ .string('titlePattern', 'Substring to match against tab titles')
178
+ .idempotent()
179
+ .build(),
180
+ tool('framework_state_extract')
181
+ .desc('Extract component state from the live page. Supports React, Vue 2/3, Svelte 3/4/5, Solid.js, and Preact. Also detects Next.js/Nuxt meta-framework metadata (routes, build info, payload). Useful for debugging frontend applications, reverse-engineering SPA state, and finding hidden data.')
182
+ .enum('framework', ['auto', 'react', 'vue2', 'vue3', 'svelte', 'solid', 'preact'], 'Framework to target. auto = detect automatically.', { default: 'auto' })
183
+ .string('selector', 'CSS selector of root element to inspect (default: #root, #app, [data-reactroot], body)')
184
+ .number('maxDepth', 'Maximum component tree depth to traverse', { default: 5 })
185
+ .readOnly()
186
+ .idempotent()
187
+ .build(),
188
+ tool('indexeddb_dump')
189
+ .desc('Dump all IndexedDB databases and their contents. Useful for analyzing PWA data, stored tokens, or offline application state.')
190
+ .string('database', 'Specific database name to dump (default: all databases)')
191
+ .string('store', 'Specific object store to dump (default: all stores)')
192
+ .number('maxRecords', 'Maximum records per store to return', { default: 100 })
193
+ .readOnly()
194
+ .idempotent()
195
+ .build(),
341
196
  ];
@@ -1,5 +1,6 @@
1
1
  import { CamoufoxBrowserManager } from '../../../domains/shared/modules.js';
2
2
  import { argString, argNumber, argBool } from '../../../domains/shared/parse-args.js';
3
+ import { formatBetterSqlite3Error, isBetterSqlite3RelatedError } from '../../../../utils/betterSqlite3.js';
3
4
  import { logger } from '../../../../utils/logger.js';
4
5
  async function checkCamoufoxDependencies() {
5
6
  try {
@@ -8,8 +9,8 @@ async function checkCamoufoxDependencies() {
8
9
  }
9
10
  catch (error) {
10
11
  const errorMsg = error instanceof Error ? error.message : String(error);
11
- if (errorMsg.includes('better-sqlite3') || errorMsg.includes('bindings file')) {
12
- return `Camoufox requires native dependencies that are not installed. Run: pnpm add better-sqlite3 or npm rebuild better-sqlite3. Original error: ${errorMsg}`;
12
+ if (isBetterSqlite3RelatedError(error)) {
13
+ return `Camoufox requires the same native SQLite backend used by trace tooling. ${formatBetterSqlite3Error(error)}`;
13
14
  }
14
15
  if (errorMsg.includes("Cannot find package 'camoufox-js'")) {
15
16
  return 'camoufox-js package is not installed. Run: pnpm add camoufox-js && npx camoufox-js fetch';
@@ -254,10 +254,10 @@ export async function handleWidgetChallengeSolve(args, collector) {
254
254
  .__turnstile_callbacks;
255
255
  if (origCallbacks) {
256
256
  for (const [key, cb] of Object.entries(origCallbacks)) {
257
- origCallbacks[key] = (token) => {
257
+ origCallbacks[key] = (captchaToken) => {
258
258
  clearTimeout(timeout);
259
- resolve(token);
260
- cb(token);
259
+ resolve(captchaToken);
260
+ cb(captchaToken);
261
261
  };
262
262
  }
263
263
  }
@@ -35,7 +35,8 @@ export class DOMQueryHandlers {
35
35
  };
36
36
  }
37
37
  async handleDOMGetStructure(args) {
38
- const maxDepth = argNumber(args, 'maxDepth', 3);
38
+ const MAX_DOM_DEPTH = 4;
39
+ const maxDepth = Math.min(argNumber(args, 'maxDepth', 3), MAX_DOM_DEPTH);
39
40
  const includeText = argBool(args, 'includeText', true);
40
41
  const structure = await this.deps.domInspector.getStructure(maxDepth, includeText);
41
42
  return {
@@ -3,9 +3,9 @@ import type { PageController } from '../../../domains/shared/modules.js';
3
3
  import type { DOMInspector } from '../../../domains/shared/modules.js';
4
4
  import type { ScriptManager } from '../../../domains/shared/modules.js';
5
5
  import type { ConsoleMonitor } from '../../../domains/shared/modules.js';
6
- import { AICaptchaDetector } from '../../../domains/shared/modules.js';
7
- import { DetailedDataManager } from '../../../../utils/DetailedDataManager.js';
8
- import { CamoufoxBrowserManager } from '../../../domains/shared/modules.js';
6
+ import { type AICaptchaDetector } from '../../../domains/shared/modules.js';
7
+ import { type DetailedDataManager } from '../../../../utils/DetailedDataManager.js';
8
+ import { type CamoufoxBrowserManager } from '../../../domains/shared/modules.js';
9
9
  import { BrowserControlHandlers } from '../../../domains/browser/handlers/browser-control.js';
10
10
  import { CamoufoxBrowserHandlers } from '../../../domains/browser/handlers/camoufox-browser.js';
11
11
  import { PageNavigationHandlers } from '../../../domains/browser/handlers/page-navigation.js';
@@ -1,6 +1,6 @@
1
- import { AICaptchaDetector } from '../../../domains/shared/modules.js';
2
- import { DetailedDataManager } from '../../../../utils/DetailedDataManager.js';
3
- import { CamoufoxBrowserManager } from '../../../domains/shared/modules.js';
1
+ import {} from '../../../domains/shared/modules.js';
2
+ import {} from '../../../../utils/DetailedDataManager.js';
3
+ import {} from '../../../domains/shared/modules.js';
4
4
  import { BrowserControlHandlers } from '../../../domains/browser/handlers/browser-control.js';
5
5
  import { CamoufoxBrowserHandlers } from '../../../domains/browser/handlers/camoufox-browser.js';
6
6
  import { PageNavigationHandlers } from '../../../domains/browser/handlers/page-navigation.js';