@jshookmcp/jshook 0.2.3 → 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 (385) hide show
  1. package/README.md +14 -5
  2. package/README.zh.md +18 -3
  3. package/dist/packages/extension-sdk/src/bridges/shared.js +2 -2
  4. package/dist/packages/extension-sdk/src/plugin.d.ts +5 -0
  5. package/dist/packages/extension-sdk/src/plugin.js +119 -33
  6. package/dist/packages/extension-sdk/src/workflow.d.ts +156 -0
  7. package/dist/packages/extension-sdk/src/workflow.js +236 -0
  8. package/dist/src/config/search-defaults.js +161 -0
  9. package/dist/src/constants.d.ts +3 -0
  10. package/dist/src/constants.js +4 -1
  11. package/dist/src/index.d.ts +1 -1
  12. package/dist/src/index.js +13 -17
  13. package/dist/src/modules/analyzer/CodeAnalyzer.d.ts +1 -3
  14. package/dist/src/modules/analyzer/CodeAnalyzer.js +16 -28
  15. package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.d.ts +1 -2
  16. package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.js +1 -45
  17. package/dist/src/modules/analyzer/IntelligentAnalyzer.d.ts +1 -37
  18. package/dist/src/modules/analyzer/IntelligentAnalyzer.js +9 -142
  19. package/dist/src/modules/analyzer/PatternDetector.js +3 -3
  20. package/dist/src/modules/analyzer/PatternDetectorAuthPatterns.js +1 -1
  21. package/dist/src/modules/browser/BrowserDiscovery.js +2 -2
  22. package/dist/src/modules/browser/BrowserModeManager.js +11 -10
  23. package/dist/src/modules/browser/TabRegistry.js +2 -2
  24. package/dist/src/modules/browser/UnifiedBrowserManager.d.ts +1 -0
  25. package/dist/src/modules/browser/UnifiedBrowserManager.js +18 -3
  26. package/dist/src/modules/captcha/AICaptchaDetector.d.ts +1 -10
  27. package/dist/src/modules/captcha/AICaptchaDetector.js +7 -201
  28. package/dist/src/modules/collector/CodeCollector.js +4 -5
  29. package/dist/src/modules/collector/DOMInspector.js +48 -58
  30. package/dist/src/modules/collector/PageController.d.ts +17 -4
  31. package/dist/src/modules/collector/PageController.js +2 -5
  32. package/dist/src/modules/collector/PageScriptCollectors.js +3 -3
  33. package/dist/src/modules/crypto/CryptoDetector.d.ts +1 -4
  34. package/dist/src/modules/crypto/CryptoDetector.js +2 -42
  35. package/dist/src/modules/crypto/CryptoRules.js +1 -1
  36. package/dist/src/modules/debugger/BlackboxManager.js +1 -1
  37. package/dist/src/modules/debugger/DebuggerManager.impl.core.scope.js +1 -1
  38. package/dist/src/modules/debugger/ScriptManager.impl.extract-function-tree.js +4 -2
  39. package/dist/src/modules/debugger/WatchExpressionManager.js +1 -1
  40. package/dist/src/modules/deobfuscator/Deobfuscator.d.ts +1 -4
  41. package/dist/src/modules/deobfuscator/Deobfuscator.js +4 -39
  42. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.d.ts +0 -3
  43. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.js +2 -8
  44. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.d.ts +1 -2
  45. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.js +3 -55
  46. package/dist/src/modules/deobfuscator/JScramblerDeobfuscator.js +3 -4
  47. package/dist/src/modules/deobfuscator/VMDeobfuscator.d.ts +2 -10
  48. package/dist/src/modules/deobfuscator/VMDeobfuscator.js +3 -128
  49. package/dist/src/modules/deobfuscator/webcrack.js +15 -2
  50. package/dist/src/modules/emulator/AIEnvironmentAnalyzer.d.ts +5 -8
  51. package/dist/src/modules/emulator/AIEnvironmentAnalyzer.js +10 -102
  52. package/dist/src/modules/emulator/EnvironmentEmulator.d.ts +1 -5
  53. package/dist/src/modules/emulator/EnvironmentEmulator.js +7 -91
  54. package/dist/src/modules/emulator/EnvironmentEmulatorFetch.js +58 -61
  55. package/dist/src/modules/emulator/templates/chrome-env.d.ts +17 -7
  56. package/dist/src/modules/emulator/templates/chrome-env.js +14 -7
  57. package/dist/src/modules/external/ExternalToolRunner.js +25 -22
  58. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.compose.js +5 -5
  59. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.network.js +311 -311
  60. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.runtime.js +410 -410
  61. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.storage.js +122 -122
  62. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.d.ts +13 -0
  63. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.js +42 -0
  64. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.dynamic.js +194 -194
  65. package/dist/src/modules/monitor/FetchInterceptor.d.ts +46 -0
  66. package/dist/src/modules/monitor/FetchInterceptor.js +191 -0
  67. package/dist/src/modules/monitor/PerformanceMonitor.js +8 -7
  68. package/dist/src/modules/monitor/PlaywrightNetworkMonitor.js +62 -62
  69. package/dist/src/modules/process/BaseMemoryManager.d.ts +1 -1
  70. package/dist/src/modules/process/LinuxProcessManager.js +2 -0
  71. package/dist/src/modules/process/MacProcessManager.js +25 -25
  72. package/dist/src/modules/process/MemoryManager.d.ts +1 -1
  73. package/dist/src/modules/process/MemoryManager.js +2 -2
  74. package/dist/src/modules/process/memory/AuditTrail.js +1 -1
  75. package/dist/src/modules/process/memory/availability.js +49 -49
  76. package/dist/src/modules/process/memory/injector.js +185 -185
  77. package/dist/src/modules/process/memory/reader.js +85 -53
  78. package/dist/src/modules/process/memory/regions.dump.js +51 -51
  79. package/dist/src/modules/process/memory/regions.enumerate.js +108 -108
  80. package/dist/src/modules/process/memory/regions.modules.js +80 -80
  81. package/dist/src/modules/process/memory/regions.protection.js +148 -115
  82. package/dist/src/modules/process/memory/scanner.d.ts +5 -1
  83. package/dist/src/modules/process/memory/scanner.darwin.js +98 -41
  84. package/dist/src/modules/process/memory/scanner.js +88 -4
  85. package/dist/src/modules/process/memory/scanner.windows.js +124 -124
  86. package/dist/src/modules/process/memory/writer.js +98 -58
  87. package/dist/src/modules/security/ExecutionSandbox.js +51 -52
  88. package/dist/src/modules/stealth/FingerprintManager.js +1 -1
  89. package/dist/src/modules/stealth/StealthScripts.d.ts +1 -0
  90. package/dist/src/modules/stealth/StealthScripts.js +18 -13
  91. package/dist/src/modules/stealth/StealthVerifier.js +1 -3
  92. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.d.ts +14 -0
  93. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.js +181 -2
  94. package/dist/src/modules/trace/TraceDB.js +75 -69
  95. package/dist/src/modules/trace/TraceRecorder.js +1 -5
  96. package/dist/src/native/AntiCheatDetector.js +67 -16
  97. package/dist/src/native/CodeInjector.js +3 -3
  98. package/dist/src/native/HardwareBreakpoint.js +24 -15
  99. package/dist/src/native/HeapAnalyzer.js +2 -2
  100. package/dist/src/native/MemoryController.js +1 -1
  101. package/dist/src/native/MemoryScanSession.js +2 -2
  102. package/dist/src/native/MemoryScanner.js +4 -8
  103. package/dist/src/native/NativeMemoryManager.impl.js +2 -2
  104. package/dist/src/native/PEAnalyzer.js +14 -15
  105. package/dist/src/native/PointerChainEngine.js +2 -4
  106. package/dist/src/native/ScriptLoader.js +4 -9
  107. package/dist/src/native/Speedhack.js +1 -1
  108. package/dist/src/native/StructureAnalyzer.js +52 -33
  109. package/dist/src/native/Win32API.d.ts +1 -0
  110. package/dist/src/native/Win32API.js +13 -0
  111. package/dist/src/native/Win32Debug.js +19 -19
  112. package/dist/src/native/platform/darwin/DarwinAPI.d.ts +2 -0
  113. package/dist/src/native/platform/darwin/DarwinAPI.js +8 -0
  114. package/dist/src/native/platform/darwin/DarwinMemoryProvider.js +6 -1
  115. package/dist/src/server/MCPServer.context.d.ts +2 -1
  116. package/dist/src/server/MCPServer.d.ts +2 -1
  117. package/dist/src/server/MCPServer.domain.d.ts +1 -1
  118. package/dist/src/server/MCPServer.domain.js +81 -16
  119. package/dist/src/server/MCPServer.js +41 -14
  120. package/dist/src/server/MCPServer.resources.d.ts +2 -0
  121. package/dist/src/server/MCPServer.resources.js +91 -0
  122. package/dist/src/server/MCPServer.search.handlers.call.js +2 -1
  123. package/dist/src/server/MCPServer.search.helpers.js +1 -1
  124. package/dist/src/server/MCPServer.transport.js +12 -0
  125. package/dist/src/server/ToolCallContextGuard.js +8 -0
  126. package/dist/src/server/ToolRouter.d.ts +25 -9
  127. package/dist/src/server/ToolRouter.intent.d.ts +26 -0
  128. package/dist/src/server/ToolRouter.intent.js +77 -0
  129. package/dist/src/server/ToolRouter.js +103 -284
  130. package/dist/src/server/ToolRouter.policy.d.ts +22 -0
  131. package/dist/src/server/ToolRouter.policy.js +163 -0
  132. package/dist/src/server/ToolRouter.probe.d.ts +17 -0
  133. package/dist/src/server/ToolRouter.probe.js +103 -0
  134. package/dist/src/server/ToolRouter.renderer.d.ts +9 -0
  135. package/dist/src/server/ToolRouter.renderer.js +52 -0
  136. package/dist/src/server/activation/ActivationController.js +15 -12
  137. package/dist/src/server/activation/CompoundConditionEngine.js +1 -1
  138. package/dist/src/server/activation/PredictiveBooster.js +1 -3
  139. package/dist/src/server/domains/analysis/definitions.js +155 -655
  140. package/dist/src/server/domains/analysis/handlers.impl.js +26 -20
  141. package/dist/src/server/domains/analysis/handlers.web-tools.js +2 -1
  142. package/dist/src/server/domains/analysis/manifest.js +6 -4
  143. package/dist/src/server/domains/antidebug/definitions.js +25 -111
  144. package/dist/src/server/domains/browser/definitions.tools.advanced.js +59 -88
  145. package/dist/src/server/domains/browser/definitions.tools.behavior.js +120 -227
  146. package/dist/src/server/domains/browser/definitions.tools.page-core.js +210 -439
  147. package/dist/src/server/domains/browser/definitions.tools.page-system.js +108 -250
  148. package/dist/src/server/domains/browser/definitions.tools.runtime.js +98 -211
  149. package/dist/src/server/domains/browser/definitions.tools.security.js +194 -339
  150. package/dist/src/server/domains/browser/handlers/camoufox-browser.js +3 -2
  151. package/dist/src/server/domains/browser/handlers/captcha-solver.js +3 -3
  152. package/dist/src/server/domains/browser/handlers/dom-query.js +2 -1
  153. package/dist/src/server/domains/browser/handlers/framework-state.js +27 -9
  154. package/dist/src/server/domains/browser/handlers/indexeddb-dump.js +21 -20
  155. package/dist/src/server/domains/browser/handlers/script-management.js +1 -1
  156. package/dist/src/server/domains/browser/handlers.impl.d.ts +1 -2
  157. package/dist/src/server/domains/browser/handlers.impl.js +2 -3
  158. package/dist/src/server/domains/browser/manifest.js +37 -13
  159. package/dist/src/server/domains/coordination/definitions.js +50 -216
  160. package/dist/src/server/domains/coordination/index.d.ts +2 -1
  161. package/dist/src/server/domains/coordination/index.js +1 -0
  162. package/dist/src/server/domains/debugger/definitions.tools.advanced.js +72 -189
  163. package/dist/src/server/domains/debugger/definitions.tools.core.js +114 -288
  164. package/dist/src/server/domains/debugger/manifest.js +9 -2
  165. package/dist/src/server/domains/encoding/definitions.js +43 -153
  166. package/dist/src/server/domains/encoding/handlers.base.js +2 -2
  167. package/dist/src/server/domains/evidence/definitions.d.ts +2 -0
  168. package/dist/src/server/domains/evidence/definitions.js +42 -0
  169. package/dist/src/server/domains/evidence/handlers.d.ts +582 -0
  170. package/dist/src/server/domains/evidence/handlers.js +60 -0
  171. package/dist/src/server/domains/evidence/index.d.ts +2 -0
  172. package/dist/src/server/domains/evidence/index.js +2 -0
  173. package/dist/src/server/domains/evidence/manifest.d.ts +63 -0
  174. package/dist/src/server/domains/evidence/manifest.js +78 -0
  175. package/dist/src/server/domains/graphql/definitions.js +53 -141
  176. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.replay.js +92 -114
  177. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.shared.js +77 -77
  178. package/dist/src/server/domains/hooks/ai-handlers.d.ts +0 -7
  179. package/dist/src/server/domains/hooks/ai-handlers.js +1 -67
  180. package/dist/src/server/domains/hooks/definitions.js +69 -335
  181. package/dist/src/server/domains/hooks/manifest.d.ts +1 -1
  182. package/dist/src/server/domains/hooks/manifest.js +1 -2
  183. package/dist/src/server/domains/instrumentation/definitions.d.ts +2 -0
  184. package/dist/src/server/domains/instrumentation/definitions.js +99 -0
  185. package/dist/src/server/domains/instrumentation/handlers.d.ts +78 -0
  186. package/dist/src/server/domains/instrumentation/handlers.js +206 -0
  187. package/dist/src/server/domains/instrumentation/index.d.ts +2 -0
  188. package/dist/src/server/domains/instrumentation/index.js +2 -0
  189. package/dist/src/server/domains/instrumentation/manifest.d.ts +63 -0
  190. package/dist/src/server/domains/instrumentation/manifest.js +114 -0
  191. package/dist/src/server/domains/macro/definitions.js +16 -43
  192. package/dist/src/server/domains/maintenance/definitions.js +60 -219
  193. package/dist/src/server/domains/maintenance/handlers.extensions.js +78 -20
  194. package/dist/src/server/domains/memory/definitions.js +387 -559
  195. package/dist/src/server/domains/memory/handlers/hooks.d.ts +55 -0
  196. package/dist/src/server/domains/memory/handlers/hooks.js +115 -0
  197. package/dist/src/server/domains/memory/handlers/integrity.d.ts +77 -0
  198. package/dist/src/server/domains/memory/handlers/integrity.js +180 -0
  199. package/dist/src/server/domains/memory/handlers/pointer-chain.d.ts +29 -0
  200. package/dist/src/server/domains/memory/handlers/pointer-chain.js +82 -0
  201. package/dist/src/server/domains/memory/handlers/readwrite.d.ts +41 -0
  202. package/dist/src/server/domains/memory/handlers/readwrite.js +78 -0
  203. package/dist/src/server/domains/memory/handlers/scan.d.ts +35 -0
  204. package/dist/src/server/domains/memory/handlers/scan.js +97 -0
  205. package/dist/src/server/domains/memory/handlers/session.d.ts +23 -0
  206. package/dist/src/server/domains/memory/handlers/session.js +49 -0
  207. package/dist/src/server/domains/memory/handlers/structure.d.ts +29 -0
  208. package/dist/src/server/domains/memory/handlers/structure.js +74 -0
  209. package/dist/src/server/domains/memory/handlers.impl.d.ts +49 -54
  210. package/dist/src/server/domains/memory/handlers.impl.js +63 -494
  211. package/dist/src/server/domains/memory/manifest.js +236 -64
  212. package/dist/src/server/domains/native-bridge/definitions.js +54 -192
  213. package/dist/src/server/domains/native-bridge/index.d.ts +1 -0
  214. package/dist/src/server/domains/native-bridge/index.js +2 -1
  215. package/dist/src/server/domains/network/auth-extractor.js +1 -1
  216. package/dist/src/server/domains/network/definitions.js +175 -578
  217. package/dist/src/server/domains/network/handlers.base.core.d.ts +64 -0
  218. package/dist/src/server/domains/network/handlers.base.core.js +623 -0
  219. package/dist/src/server/domains/network/handlers.base.d.ts +2 -124
  220. package/dist/src/server/domains/network/handlers.base.js +3 -878
  221. package/dist/src/server/domains/network/handlers.base.performance.d.ts +63 -0
  222. package/dist/src/server/domains/network/handlers.base.performance.js +193 -0
  223. package/dist/src/server/domains/network/handlers.base.types.d.ts +42 -0
  224. package/dist/src/server/domains/network/handlers.base.types.js +89 -0
  225. package/dist/src/server/domains/network/handlers.impl.core.runtime.d.ts +1 -1
  226. package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.d.ts +21 -0
  227. package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.js +186 -0
  228. package/dist/src/server/domains/network/handlers.impl.core.runtime.js +1 -1
  229. package/dist/src/server/domains/network/manifest.js +15 -0
  230. package/dist/src/server/domains/network/replay.js +1 -4
  231. package/dist/src/server/domains/platform/definitions.js +121 -112
  232. package/dist/src/server/domains/platform/handlers/bridge-handlers.d.ts +4 -0
  233. package/dist/src/server/domains/platform/handlers/bridge-handlers.js +193 -4
  234. package/dist/src/server/domains/platform/handlers/electron-asar-helpers.js +26 -6
  235. package/dist/src/server/domains/platform/handlers/electron-dual-cdp.d.ts +3 -0
  236. package/dist/src/server/domains/platform/handlers/electron-dual-cdp.js +170 -0
  237. package/dist/src/server/domains/platform/handlers/electron-fuse-handler.d.ts +3 -0
  238. package/dist/src/server/domains/platform/handlers/electron-fuse-handler.js +193 -0
  239. package/dist/src/server/domains/platform/handlers/electron-handlers.d.ts +6 -0
  240. package/dist/src/server/domains/platform/handlers/electron-handlers.js +95 -2
  241. package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.d.ts +2 -0
  242. package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.js +370 -0
  243. package/dist/src/server/domains/platform/handlers/electron-userdata-handler.d.ts +2 -0
  244. package/dist/src/server/domains/platform/handlers/electron-userdata-handler.js +78 -0
  245. package/dist/src/server/domains/platform/handlers/miniapp-handlers.js +3 -3
  246. package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.d.ts +2 -0
  247. package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.js +207 -0
  248. package/dist/src/server/domains/platform/handlers.d.ts +48 -0
  249. package/dist/src/server/domains/platform/handlers.js +29 -0
  250. package/dist/src/server/domains/platform/manifest.js +38 -0
  251. package/dist/src/server/domains/process/definitions.js +163 -647
  252. package/dist/src/server/domains/process/handlers.base.d.ts +3 -95
  253. package/dist/src/server/domains/process/handlers.base.js +7 -462
  254. package/dist/src/server/domains/process/handlers.base.process.d.ts +61 -0
  255. package/dist/src/server/domains/process/handlers.base.process.js +417 -0
  256. package/dist/src/server/domains/process/handlers.base.types.d.ts +57 -0
  257. package/dist/src/server/domains/process/handlers.base.types.js +50 -0
  258. package/dist/src/server/domains/process/handlers.impl.core.runtime.inject.js +18 -16
  259. package/dist/src/server/domains/process/manifest.js +6 -1
  260. package/dist/src/server/domains/sandbox/definitions.js +11 -33
  261. package/dist/src/server/domains/sandbox/handlers.js +8 -3
  262. package/dist/src/server/domains/shared/ResponseBuilder.d.ts +209 -0
  263. package/dist/src/server/domains/shared/ResponseBuilder.js +48 -0
  264. package/dist/src/server/domains/shared/modules.d.ts +0 -2
  265. package/dist/src/server/domains/shared/modules.js +0 -1
  266. package/dist/src/server/domains/sourcemap/definitions.js +27 -111
  267. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-common.js +7 -2
  268. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-main.js +1 -1
  269. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-parse-base.js +1 -1
  270. package/dist/src/server/domains/sourcemap/manifest.d.ts +1 -1
  271. package/dist/src/server/domains/sourcemap/manifest.js +1 -1
  272. package/dist/src/server/domains/streaming/definitions.js +36 -148
  273. package/dist/src/server/domains/streaming/handlers.impl.streaming-sse.js +163 -164
  274. package/dist/src/server/domains/streaming/handlers.impl.streaming-ws.js +1 -1
  275. package/dist/src/server/domains/trace/TraceSummarizer.js +8 -5
  276. package/dist/src/server/domains/trace/definitions.tools.js +51 -206
  277. package/dist/src/server/domains/trace/handlers.js +10 -12
  278. package/dist/src/server/domains/trace/index.d.ts +2 -1
  279. package/dist/src/server/domains/trace/index.js +2 -1
  280. package/dist/src/server/domains/trace/manifest.js +15 -3
  281. package/dist/src/server/domains/transform/definitions.js +50 -210
  282. package/dist/src/server/domains/transform/handlers.impl.transform-base.js +108 -108
  283. package/dist/src/server/domains/transform/handlers.impl.transform-crypto.js +18 -19
  284. package/dist/src/server/domains/transform/manifest.d.ts +1 -1
  285. package/dist/src/server/domains/transform/manifest.js +1 -1
  286. package/dist/src/server/domains/wasm/definitions.js +55 -232
  287. package/dist/src/server/domains/wasm/handlers.js +1 -1
  288. package/dist/src/server/domains/workflow/definitions.js +144 -414
  289. package/dist/src/server/domains/workflow/handlers.impl.workflow-account-bundle.js +1 -1
  290. package/dist/src/server/domains/workflow/handlers.impl.workflow-api.js +51 -51
  291. package/dist/src/server/domains/workflow/handlers.impl.workflow-base.d.ts +2 -0
  292. package/dist/src/server/domains/workflow/handlers.impl.workflow-base.js +126 -87
  293. package/dist/src/server/domains/workflow/handlers.impl.workflow-batch.js +5 -5
  294. package/dist/src/server/evidence/ReverseEvidenceGraph.d.ts +20 -0
  295. package/dist/src/server/evidence/ReverseEvidenceGraph.js +208 -0
  296. package/dist/src/server/evidence/index.d.ts +2 -0
  297. package/dist/src/server/evidence/index.js +1 -0
  298. package/dist/src/server/evidence/types.d.ts +22 -0
  299. package/dist/src/server/evidence/types.js +1 -0
  300. package/dist/src/server/extensions/ExtensionManager.d.ts +1 -0
  301. package/dist/src/server/extensions/ExtensionManager.discovery.js +72 -9
  302. package/dist/src/server/extensions/ExtensionManager.integrity.js +1 -1
  303. package/dist/src/server/extensions/ExtensionManager.js +193 -40
  304. package/dist/src/server/extensions/ExtensionManager.roots.d.ts +1 -1
  305. package/dist/src/server/extensions/ExtensionManager.roots.js +4 -4
  306. package/dist/src/server/extensions/plugin-config.js +1 -1
  307. package/dist/src/server/extensions/plugin-env.d.ts +1 -1
  308. package/dist/src/server/extensions/plugin-env.js +10 -4
  309. package/dist/src/server/extensions/types.d.ts +17 -0
  310. package/dist/src/server/extensions/types.js +1 -1
  311. package/dist/src/server/instrumentation/EvidenceGraphBridge.d.ts +13 -0
  312. package/dist/src/server/instrumentation/EvidenceGraphBridge.js +150 -0
  313. package/dist/src/server/instrumentation/InstrumentationSession.d.ts +60 -0
  314. package/dist/src/server/instrumentation/InstrumentationSession.js +269 -0
  315. package/dist/src/server/instrumentation/index.d.ts +2 -0
  316. package/dist/src/server/instrumentation/index.js +2 -0
  317. package/dist/src/server/instrumentation/types.d.ts +62 -0
  318. package/dist/src/server/instrumentation/types.js +7 -0
  319. package/dist/src/server/macros/MacroConfigLoader.d.ts +6 -5
  320. package/dist/src/server/macros/MacroConfigLoader.js +61 -59
  321. package/dist/src/server/macros/MacroRunner.js +6 -2
  322. package/dist/src/server/macros/builtins/index.d.ts +2 -3
  323. package/dist/src/server/macros/builtins/index.js +51 -7
  324. package/dist/src/server/plugins/PluginContract.d.ts +1 -1
  325. package/dist/src/server/registry/contracts.d.ts +1 -1
  326. package/dist/src/server/registry/discovery.js +5 -4
  327. package/dist/src/server/registry/ensure-browser-core.js +0 -3
  328. package/dist/src/server/registry/index.js +4 -4
  329. package/dist/src/server/registry/tool-builder.d.ts +46 -0
  330. package/dist/src/server/registry/tool-builder.js +105 -0
  331. package/dist/src/server/sandbox/QuickJSSandbox.js +16 -5
  332. package/dist/src/server/sandbox/SandboxHelpers.js +250 -250
  333. package/dist/src/server/search/EmbeddingWorker.js +5 -3
  334. package/dist/src/server/search/FeedbackTracker.d.ts +9 -0
  335. package/dist/src/server/search/FeedbackTracker.js +26 -0
  336. package/dist/src/server/search/QueryNormalizer.d.ts +6 -0
  337. package/dist/src/server/search/QueryNormalizer.js +94 -0
  338. package/dist/src/server/search/ToolSearchEngineImpl.d.ts +2 -3
  339. package/dist/src/server/search/ToolSearchEngineImpl.js +38 -88
  340. package/dist/src/server/workflows/WorkflowContract.d.ts +24 -0
  341. package/dist/src/server/workflows/WorkflowContract.js +12 -0
  342. package/dist/src/server/workflows/WorkflowEngine.d.ts +1 -0
  343. package/dist/src/server/workflows/WorkflowEngine.js +136 -3
  344. package/dist/src/types/config.d.ts +0 -14
  345. package/dist/src/types/deobfuscator.d.ts +0 -1
  346. package/dist/src/types/index.d.ts +1 -1
  347. package/dist/src/utils/DetailedDataManager.js +2 -0
  348. package/dist/src/utils/RingBuffer.js +5 -5
  349. package/dist/src/utils/TokenBudgetManager.js +1 -1
  350. package/dist/src/utils/UnifiedCacheManager.js +1 -1
  351. package/dist/src/utils/artifactRetention.js +2 -2
  352. package/dist/src/utils/betterSqlite3.d.ts +11 -0
  353. package/dist/src/utils/betterSqlite3.js +88 -0
  354. package/dist/src/utils/browserExecutable.js +2 -2
  355. package/dist/src/utils/cliFastPath.js +5 -8
  356. package/dist/src/utils/config.js +4 -26
  357. package/dist/src/utils/environmentDoctor.js +138 -11
  358. package/dist/src/utils/outputPaths.js +16 -9
  359. package/dist/src/utils/parallel.js +1 -3
  360. package/package.json +74 -72
  361. package/workflows/.gitkeep +0 -0
  362. package/dist/src/modules/analyzer/AISummarizer.d.ts +0 -39
  363. package/dist/src/modules/analyzer/AISummarizer.js +0 -122
  364. package/dist/src/modules/hook/AIHookGenerator.d.ts +0 -52
  365. package/dist/src/modules/hook/AIHookGenerator.js +0 -360
  366. package/dist/src/modules/hook/AIHookGeneratorTemplates.d.ts +0 -9
  367. package/dist/src/modules/hook/AIHookGeneratorTemplates.js +0 -157
  368. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.d.ts +0 -2
  369. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.js +0 -25
  370. package/dist/src/server/macros/builtins/unpacker-flow.d.ts +0 -2
  371. package/dist/src/server/macros/builtins/unpacker-flow.js +0 -25
  372. package/dist/src/services/LLMService.d.ts +0 -37
  373. package/dist/src/services/LLMService.js +0 -233
  374. package/dist/src/services/prompts/analysis.d.ts +0 -9
  375. package/dist/src/services/prompts/analysis.js +0 -158
  376. package/dist/src/services/prompts/crypto.d.ts +0 -2
  377. package/dist/src/services/prompts/crypto.js +0 -108
  378. package/dist/src/services/prompts/deobfuscation.d.ts +0 -6
  379. package/dist/src/services/prompts/deobfuscation.js +0 -300
  380. package/dist/src/services/prompts/environment.d.ts +0 -16
  381. package/dist/src/services/prompts/environment.js +0 -372
  382. package/dist/src/services/prompts/intelligence.d.ts +0 -4
  383. package/dist/src/services/prompts/intelligence.js +0 -250
  384. package/dist/src/services/prompts/taint.d.ts +0 -2
  385. 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
  ];