@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,229 +1,122 @@
1
+ import { tool } from '../../registry/tool-builder.js';
1
2
  export const behaviorTools = [
2
- {
3
- name: 'human_mouse',
4
- description: 'Move the mouse along a natural Bezier curve path with random jitter.\n\n' +
5
- 'Simulates human-like mouse movement using cubic Bezier curves with:\n' +
6
- '- Non-linear speed (ease-in-out)\n' +
7
- '- Configurable jitter/noise\n' +
8
- '- Viewport-clamped trajectory\n\n' +
9
- 'Use this before page_click for anti-bot bypass on browser-check or widget challenges.\n\n' +
10
- 'Example:\n' +
11
- ' human_mouse({ toX: 500, toY: 300, durationMs: 800 })',
12
- inputSchema: {
13
- type: 'object',
14
- properties: {
15
- fromX: {
16
- type: 'number',
17
- description: 'Start X coordinate (default: current mouse position or 0)',
18
- },
19
- fromY: {
20
- type: 'number',
21
- description: 'Start Y coordinate (default: current mouse position or 0)',
22
- },
23
- toX: { type: 'number', description: 'Target X coordinate' },
24
- toY: { type: 'number', description: 'Target Y coordinate' },
25
- selector: {
26
- type: 'string',
27
- description: 'CSS selector to move to (alternative to toX/toY — auto-resolves element center)',
28
- },
29
- durationMs: {
30
- type: 'number',
31
- description: 'Movement duration in ms (default: 600)',
32
- default: 600,
33
- },
34
- steps: {
35
- type: 'integer',
36
- description: 'Number of intermediate points (default: 24)',
37
- default: 24,
38
- },
39
- jitterPx: {
40
- type: 'number',
41
- description: 'Max random offset per step in pixels (default: 1.5)',
42
- default: 1.5,
43
- },
44
- curve: {
45
- type: 'string',
46
- enum: ['ease', 'linear', 'ease-in', 'ease-out'],
47
- description: 'Speed curve (default: ease)',
48
- default: 'ease',
49
- },
50
- click: {
51
- type: 'boolean',
52
- description: 'Click at destination after movement (default: false)',
53
- default: false,
54
- },
55
- },
56
- },
57
- },
58
- {
59
- name: 'human_scroll',
60
- description: 'Scroll the page with human-like behavior: variable speed, micro-pauses, and deceleration.\n\n' +
61
- 'Simulates natural scrolling patterns:\n' +
62
- '- Segmented scroll with random segment sizes\n' +
63
- '- Brief pauses between segments\n' +
64
- '- Velocity deceleration near the end\n\n' +
65
- 'Example:\n' +
66
- ' human_scroll({ distance: 1000, direction: "down", durationMs: 2000 })',
67
- inputSchema: {
68
- type: 'object',
69
- properties: {
70
- distance: {
71
- type: 'number',
72
- description: 'Total scroll distance in pixels (default: 500)',
73
- default: 500,
74
- },
75
- direction: {
76
- type: 'string',
77
- enum: ['up', 'down', 'left', 'right'],
78
- description: 'Scroll direction (default: down)',
79
- default: 'down',
80
- },
81
- durationMs: {
82
- type: 'number',
83
- description: 'Total scroll duration in ms (default: 1500)',
84
- default: 1500,
85
- },
86
- segments: {
87
- type: 'integer',
88
- description: 'Number of scroll segments (default: 8)',
89
- default: 8,
90
- },
91
- pauseMs: {
92
- type: 'number',
93
- description: 'Average pause between segments in ms (default: 80)',
94
- default: 80,
95
- },
96
- jitter: {
97
- type: 'number',
98
- description: 'Random variation factor 0-1 (default: 0.3)',
99
- default: 0.3,
100
- },
101
- selector: {
102
- type: 'string',
103
- description: 'CSS selector of scrollable container (default: window)',
104
- },
105
- },
106
- },
107
- },
108
- {
109
- name: 'human_typing',
110
- description: 'Type text with human-like patterns: variable speed, occasional typos, and natural corrections.\n\n' +
111
- 'Features:\n' +
112
- '- Per-character random delay based on WPM\n' +
113
- '- Configurable typo rate with auto-correction (backspace + retype)\n' +
114
- '- Word boundary pauses\n' +
115
- '- Shift key simulation for uppercase\n\n' +
116
- 'Use this instead of page_type for anti-bot bypass.\n\n' +
117
- 'Example:\n' +
118
- ' human_typing({ selector: "#email", text: "user@example.com", wpm: 80 })',
119
- inputSchema: {
120
- type: 'object',
121
- properties: {
122
- selector: { type: 'string', description: 'CSS selector of the input field' },
123
- text: { type: 'string', description: 'Text to type' },
124
- wpm: { type: 'integer', description: 'Words per minute (default: 90)', default: 90 },
125
- errorRate: {
126
- type: 'number',
127
- description: 'Probability of typo per character 0-0.2 (default: 0.02)',
128
- default: 0.02,
129
- },
130
- correctDelayMs: {
131
- type: 'number',
132
- description: 'Delay before correcting a typo in ms (default: 200)',
133
- default: 200,
134
- },
135
- clearFirst: {
136
- type: 'boolean',
137
- description: 'Clear existing value before typing (default: false)',
138
- default: false,
139
- },
140
- },
141
- required: ['selector', 'text'],
142
- },
143
- },
144
- {
145
- name: 'captcha_vision_solve',
146
- description: 'Attempt to solve a CAPTCHA using an external solving service or AI vision.\n\n' +
147
- 'Public contract:\n' +
148
- '- `mode: "external_service"` routes to the configured solver backend\n' +
149
- '- `mode: "manual"` waits for the user to solve manually\n\n' +
150
- 'Automatically detects the challenge class (`image` or `widget`) if `challengeType` is omitted.\n\n' +
151
- 'Example:\n' +
152
- ' captcha_vision_solve({ mode: "external_service", apiKey: "..." })',
153
- inputSchema: {
154
- type: 'object',
155
- properties: {
156
- mode: {
157
- type: 'string',
158
- enum: ['external_service', 'manual'],
159
- description: 'Solver mode (default: from config or "manual")',
160
- },
161
- provider: {
162
- type: 'string',
163
- description: 'Deprecated legacy external-service override; avoid in new callers',
164
- },
165
- apiKey: {
166
- type: 'string',
167
- description: 'External solver API key (default: from CAPTCHA_API_KEY env)',
168
- },
169
- challengeType: {
170
- type: 'string',
171
- enum: ['image', 'widget', 'browser_check', 'auto'],
172
- description: 'Generic challenge type hint (default: auto-detect)',
173
- default: 'auto',
174
- },
175
- typeHint: {
176
- type: 'string',
177
- description: 'Deprecated legacy alias for challengeType; avoid in new callers',
178
- },
179
- siteKey: { type: 'string', description: 'Widget site key (auto-extracted if omitted)' },
180
- pageUrl: { type: 'string', description: 'Page URL for context (auto-detected if omitted)' },
181
- timeoutMs: {
182
- type: 'number',
183
- description: 'Max solve time in ms (default: 180000)',
184
- default: 180000,
185
- },
186
- maxRetries: { type: 'integer', description: 'Max retry attempts (default: 2)', default: 2 },
187
- },
188
- },
189
- },
190
- {
191
- name: 'widget_challenge_solve',
192
- description: 'Solve an embedded widget challenge.\n\n' +
193
- 'Strategy:\n' +
194
- '1. Detect the widget and extract siteKey\n' +
195
- '2. Send to the configured external solver service (or hook the page callback to extract token)\n' +
196
- '3. Inject the solved token back into the page\n' +
197
- '4. Trigger callback to proceed\n\n' +
198
- 'Requires either external solver credentials or uses the built-in hook approach.\n\n' +
199
- 'Example:\n' +
200
- ' widget_challenge_solve({ mode: "external_service" })',
201
- inputSchema: {
202
- type: 'object',
203
- properties: {
204
- siteKey: { type: 'string', description: 'Widget site key (auto-detected if omitted)' },
205
- pageUrl: { type: 'string', description: 'Page URL (auto-detected if omitted)' },
206
- mode: {
207
- type: 'string',
208
- enum: ['external_service', 'hook', 'manual'],
209
- description: 'Solving mode (default: from config or "manual")',
210
- },
211
- provider: {
212
- type: 'string',
213
- description: 'Deprecated legacy external-service override; avoid in new callers',
214
- },
215
- apiKey: { type: 'string', description: 'External solver API key' },
216
- timeoutMs: {
217
- type: 'number',
218
- description: 'Max solve time in ms (default: 120000)',
219
- default: 120000,
220
- },
221
- injectToken: {
222
- type: 'boolean',
223
- description: 'Auto-inject solved token into page (default: true)',
224
- default: true,
225
- },
226
- },
227
- },
228
- },
3
+ tool('human_mouse')
4
+ .desc(`Move the mouse along a natural Bezier curve path with random jitter.
5
+
6
+ Simulates human-like mouse movement using cubic Bezier curves with:
7
+ - Non-linear speed (ease-in-out)
8
+ - Configurable jitter/noise
9
+ - Viewport-clamped trajectory
10
+
11
+ Use this before page_click for anti-bot bypass on browser-check or widget challenges.
12
+
13
+ Example:
14
+ human_mouse({ toX: 500, toY: 300, durationMs: 800 })`)
15
+ .number('fromX', 'Start X coordinate (default: current mouse position or 0)')
16
+ .number('fromY', 'Start Y coordinate (default: current mouse position or 0)')
17
+ .number('toX', 'Target X coordinate')
18
+ .number('toY', 'Target Y coordinate')
19
+ .string('selector', 'CSS selector to move to (alternative to toX/toY — auto-resolves element center)')
20
+ .number('durationMs', 'Movement duration in ms (default: 600)', { default: 600 })
21
+ .number('steps', 'Number of intermediate points (default: 24)', { default: 24 })
22
+ .number('jitterPx', 'Max random offset per step in pixels (default: 1.5)', { default: 1.5 })
23
+ .enum('curve', ['ease', 'linear', 'ease-in', 'ease-out'], 'Speed curve (default: ease)', {
24
+ default: 'ease',
25
+ })
26
+ .boolean('click', 'Click at destination after movement (default: false)', { default: false })
27
+ .openWorld()
28
+ .build(),
29
+ tool('human_scroll')
30
+ .desc(`Scroll the page with human-like behavior: variable speed, micro-pauses, and deceleration.
31
+
32
+ Simulates natural scrolling patterns:
33
+ - Segmented scroll with random segment sizes
34
+ - Brief pauses between segments
35
+ - Velocity deceleration near the end
36
+
37
+ Example:
38
+ human_scroll({ distance: 1000, direction: "down", durationMs: 2000 })`)
39
+ .number('distance', 'Total scroll distance in pixels (default: 500)', { default: 500 })
40
+ .enum('direction', ['up', 'down', 'left', 'right'], 'Scroll direction (default: down)', {
41
+ default: 'down',
42
+ })
43
+ .number('durationMs', 'Total scroll duration in ms (default: 1500)', { default: 1500 })
44
+ .number('segments', 'Number of scroll segments (default: 8)', { default: 8 })
45
+ .number('pauseMs', 'Average pause between segments in ms (default: 80)', { default: 80 })
46
+ .number('jitter', 'Random variation factor 0-1 (default: 0.3)', { default: 0.3 })
47
+ .string('selector', 'CSS selector of scrollable container (default: window)')
48
+ .openWorld()
49
+ .build(),
50
+ tool('human_typing')
51
+ .desc(`Type text with human-like patterns: variable speed, occasional typos, and natural corrections.
52
+
53
+ Features:
54
+ - Per-character random delay based on WPM
55
+ - Configurable typo rate with auto-correction (backspace + retype)
56
+ - Word boundary pauses
57
+ - Shift key simulation for uppercase
58
+
59
+ Use this instead of page_type for anti-bot bypass.
60
+
61
+ Example:
62
+ human_typing({ selector: "#email", text: "user@example.com", wpm: 80 })`)
63
+ .string('selector', 'CSS selector of the input field')
64
+ .string('text', 'Text to type')
65
+ .number('wpm', 'Words per minute (default: 90)', { default: 90 })
66
+ .number('errorRate', 'Probability of typo per character 0-0.2 (default: 0.02)', {
67
+ default: 0.02,
68
+ })
69
+ .number('correctDelayMs', 'Delay before correcting a typo in ms (default: 200)', {
70
+ default: 200,
71
+ })
72
+ .boolean('clearFirst', 'Clear existing value before typing (default: false)', {
73
+ default: false,
74
+ })
75
+ .required('selector', 'text')
76
+ .openWorld()
77
+ .build(),
78
+ tool('captcha_vision_solve')
79
+ .desc(`Attempt to solve a CAPTCHA using an external solving service or AI vision.
80
+
81
+ Public contract:
82
+ - \`mode: "external_service"\` routes to the configured solver backend
83
+ - \`mode: "manual"\` waits for the user to solve manually
84
+
85
+ Automatically detects the challenge class (\`image\` or \`widget\`) if \`challengeType\` is omitted.
86
+
87
+ Example:
88
+ captcha_vision_solve({ mode: "external_service", apiKey: "..." })`)
89
+ .enum('mode', ['external_service', 'manual'], 'Solver mode (default: from config or "manual")')
90
+ .string('provider', 'Deprecated legacy external-service override; avoid in new callers')
91
+ .string('apiKey', 'External solver API key (default: from CAPTCHA_API_KEY env)')
92
+ .enum('challengeType', ['image', 'widget', 'browser_check', 'auto'], 'Generic challenge type hint (default: auto-detect)', { default: 'auto' })
93
+ .string('typeHint', 'Deprecated legacy alias for challengeType; avoid in new callers')
94
+ .string('siteKey', 'Widget site key (auto-extracted if omitted)')
95
+ .string('pageUrl', 'Page URL for context (auto-detected if omitted)')
96
+ .number('timeoutMs', 'Max solve time in ms (default: 180000)', { default: 180000 })
97
+ .number('maxRetries', 'Max retry attempts (default: 2)', { default: 2 })
98
+ .openWorld()
99
+ .build(),
100
+ tool('widget_challenge_solve')
101
+ .desc(`Solve an embedded widget challenge.
102
+
103
+ Strategy:
104
+ 1. Detect the widget and extract siteKey
105
+ 2. Send to the configured external solver service (or hook the page callback to extract token)
106
+ 3. Inject the solved token back into the page
107
+ 4. Trigger callback to proceed
108
+
109
+ Requires either external solver credentials or uses the built-in hook approach.
110
+
111
+ Example:
112
+ widget_challenge_solve({ mode: "external_service" })`)
113
+ .string('siteKey', 'Widget site key (auto-detected if omitted)')
114
+ .string('pageUrl', 'Page URL (auto-detected if omitted)')
115
+ .enum('mode', ['external_service', 'hook', 'manual'], 'Solving mode (default: from config or "manual")')
116
+ .string('provider', 'Deprecated legacy external-service override; avoid in new callers')
117
+ .string('apiKey', 'External solver API key')
118
+ .number('timeoutMs', 'Max solve time in ms (default: 120000)', { default: 120000 })
119
+ .boolean('injectToken', 'Auto-inject solved token into page (default: true)', { default: true })
120
+ .openWorld()
121
+ .build(),
229
122
  ];