@jshookmcp/jshook 0.2.3 → 0.2.6

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 (583) 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 +171 -0
  7. package/dist/packages/extension-sdk/src/workflow.js +272 -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/BrowserPool.d.ts +49 -0
  24. package/dist/src/modules/browser/BrowserPool.js +288 -0
  25. package/dist/src/modules/browser/TabRegistry.js +2 -2
  26. package/dist/src/modules/browser/UnifiedBrowserManager.d.ts +1 -0
  27. package/dist/src/modules/browser/UnifiedBrowserManager.js +18 -3
  28. package/dist/src/modules/captcha/AICaptchaDetector.d.ts +1 -10
  29. package/dist/src/modules/captcha/AICaptchaDetector.js +7 -201
  30. package/dist/src/modules/collector/CodeCollector.js +4 -5
  31. package/dist/src/modules/collector/DOMInspector.js +48 -58
  32. package/dist/src/modules/collector/PageController.d.ts +17 -4
  33. package/dist/src/modules/collector/PageController.js +2 -5
  34. package/dist/src/modules/collector/PageScriptCollectors.js +3 -3
  35. package/dist/src/modules/crypto/CryptoDetector.d.ts +1 -4
  36. package/dist/src/modules/crypto/CryptoDetector.js +2 -42
  37. package/dist/src/modules/crypto/CryptoRules.js +1 -1
  38. package/dist/src/modules/debugger/BlackboxManager.js +1 -1
  39. package/dist/src/modules/debugger/DebuggerManager.impl.core.scope.js +1 -1
  40. package/dist/src/modules/debugger/ScriptManager.impl.extract-function-tree.js +4 -2
  41. package/dist/src/modules/debugger/WatchExpressionManager.js +1 -1
  42. package/dist/src/modules/deobfuscator/AdvancedDeobfuscator.d.ts +5 -0
  43. package/dist/src/modules/deobfuscator/AdvancedDeobfuscator.js +43 -2
  44. package/dist/src/modules/deobfuscator/Deobfuscator.d.ts +1 -4
  45. package/dist/src/modules/deobfuscator/Deobfuscator.js +9 -39
  46. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.d.ts +0 -3
  47. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.js +2 -8
  48. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.d.ts +1 -2
  49. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.js +3 -55
  50. package/dist/src/modules/deobfuscator/JScramblerDeobfuscator.js +3 -4
  51. package/dist/src/modules/deobfuscator/VMDeobfuscator.d.ts +2 -10
  52. package/dist/src/modules/deobfuscator/VMDeobfuscator.js +3 -128
  53. package/dist/src/modules/deobfuscator/webcrack.js +15 -2
  54. package/dist/src/modules/emulator/AIEnvironmentAnalyzer.d.ts +5 -8
  55. package/dist/src/modules/emulator/AIEnvironmentAnalyzer.js +10 -102
  56. package/dist/src/modules/emulator/EnvironmentEmulator.d.ts +1 -5
  57. package/dist/src/modules/emulator/EnvironmentEmulator.js +7 -91
  58. package/dist/src/modules/emulator/EnvironmentEmulatorFetch.js +58 -61
  59. package/dist/src/modules/emulator/templates/chrome-env.d.ts +17 -7
  60. package/dist/src/modules/emulator/templates/chrome-env.js +14 -7
  61. package/dist/src/modules/external/ExternalToolRunner.js +25 -22
  62. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.compose.js +5 -5
  63. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.network.js +311 -311
  64. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.runtime.js +410 -410
  65. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.storage.js +122 -122
  66. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.d.ts +13 -0
  67. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.js +42 -0
  68. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.dynamic.js +194 -194
  69. package/dist/src/modules/monitor/FetchInterceptor.d.ts +46 -0
  70. package/dist/src/modules/monitor/FetchInterceptor.js +191 -0
  71. package/dist/src/modules/monitor/PerformanceMonitor.js +8 -7
  72. package/dist/src/modules/monitor/PlaywrightNetworkMonitor.js +62 -62
  73. package/dist/src/modules/process/BaseMemoryManager.d.ts +1 -1
  74. package/dist/src/modules/process/LinuxProcessManager.js +2 -0
  75. package/dist/src/modules/process/MacProcessManager.js +25 -25
  76. package/dist/src/modules/process/MemoryManager.d.ts +1 -1
  77. package/dist/src/modules/process/MemoryManager.js +2 -2
  78. package/dist/src/modules/process/memory/AuditTrail.js +1 -1
  79. package/dist/src/modules/process/memory/availability.js +49 -49
  80. package/dist/src/modules/process/memory/injector.js +185 -185
  81. package/dist/src/modules/process/memory/reader.js +85 -53
  82. package/dist/src/modules/process/memory/regions.dump.js +51 -51
  83. package/dist/src/modules/process/memory/regions.enumerate.js +108 -108
  84. package/dist/src/modules/process/memory/regions.modules.js +80 -80
  85. package/dist/src/modules/process/memory/regions.protection.js +148 -115
  86. package/dist/src/modules/process/memory/scanner.d.ts +5 -1
  87. package/dist/src/modules/process/memory/scanner.darwin.js +98 -41
  88. package/dist/src/modules/process/memory/scanner.js +88 -4
  89. package/dist/src/modules/process/memory/scanner.windows.js +124 -124
  90. package/dist/src/modules/process/memory/writer.js +98 -58
  91. package/dist/src/modules/security/ExecutionSandbox.js +51 -52
  92. package/dist/src/modules/stealth/FingerprintManager.js +1 -1
  93. package/dist/src/modules/stealth/StealthScripts.d.ts +1 -0
  94. package/dist/src/modules/stealth/StealthScripts.js +18 -13
  95. package/dist/src/modules/stealth/StealthVerifier.js +1 -3
  96. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.d.ts +14 -0
  97. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.js +181 -2
  98. package/dist/src/modules/trace/TraceDB.js +75 -69
  99. package/dist/src/modules/trace/TraceRecorder.js +1 -5
  100. package/dist/src/native/AntiCheatDetector.js +67 -16
  101. package/dist/src/native/CodeInjector.js +3 -3
  102. package/dist/src/native/HardwareBreakpoint.js +24 -15
  103. package/dist/src/native/HeapAnalyzer.js +2 -2
  104. package/dist/src/native/MemoryController.js +1 -1
  105. package/dist/src/native/MemoryScanSession.js +2 -2
  106. package/dist/src/native/MemoryScanner.js +4 -8
  107. package/dist/src/native/NativeMemoryManager.impl.js +2 -2
  108. package/dist/src/native/PEAnalyzer.js +14 -15
  109. package/dist/src/native/PointerChainEngine.js +2 -4
  110. package/dist/src/native/ScriptLoader.js +4 -9
  111. package/dist/src/native/Speedhack.js +1 -1
  112. package/dist/src/native/StructureAnalyzer.js +52 -33
  113. package/dist/src/native/Win32API.d.ts +1 -0
  114. package/dist/src/native/Win32API.js +13 -0
  115. package/dist/src/native/Win32Debug.js +19 -19
  116. package/dist/src/native/platform/darwin/DarwinAPI.d.ts +2 -0
  117. package/dist/src/native/platform/darwin/DarwinAPI.js +8 -0
  118. package/dist/src/native/platform/darwin/DarwinMemoryProvider.js +6 -1
  119. package/dist/src/server/MCPServer.context.d.ts +3 -1
  120. package/dist/src/server/MCPServer.d.ts +2 -1
  121. package/dist/src/server/MCPServer.domain.d.ts +1 -1
  122. package/dist/src/server/MCPServer.domain.js +81 -16
  123. package/dist/src/server/MCPServer.js +41 -14
  124. package/dist/src/server/MCPServer.resources.d.ts +2 -0
  125. package/dist/src/server/MCPServer.resources.js +91 -0
  126. package/dist/src/server/MCPServer.search.handlers.call.js +2 -1
  127. package/dist/src/server/MCPServer.search.helpers.js +1 -1
  128. package/dist/src/server/MCPServer.transport.js +12 -0
  129. package/dist/src/server/ToolCallContextGuard.js +8 -0
  130. package/dist/src/server/ToolRouter.d.ts +25 -9
  131. package/dist/src/server/ToolRouter.intent.d.ts +26 -0
  132. package/dist/src/server/ToolRouter.intent.js +77 -0
  133. package/dist/src/server/ToolRouter.js +103 -284
  134. package/dist/src/server/ToolRouter.policy.d.ts +22 -0
  135. package/dist/src/server/ToolRouter.policy.js +163 -0
  136. package/dist/src/server/ToolRouter.probe.d.ts +17 -0
  137. package/dist/src/server/ToolRouter.probe.js +103 -0
  138. package/dist/src/server/ToolRouter.renderer.d.ts +9 -0
  139. package/dist/src/server/ToolRouter.renderer.js +52 -0
  140. package/dist/src/server/activation/ActivationController.js +15 -12
  141. package/dist/src/server/activation/CompoundConditionEngine.js +1 -1
  142. package/dist/src/server/activation/PredictiveBooster.js +1 -3
  143. package/dist/src/server/domains/analysis/definitions.js +155 -655
  144. package/dist/src/server/domains/analysis/handlers.impl.js +26 -20
  145. package/dist/src/server/domains/analysis/handlers.web-tools.js +2 -1
  146. package/dist/src/server/domains/analysis/manifest.js +6 -4
  147. package/dist/src/server/domains/antidebug/definitions.js +25 -111
  148. package/dist/src/server/domains/browser/definitions.tools.advanced.js +59 -88
  149. package/dist/src/server/domains/browser/definitions.tools.behavior.js +120 -227
  150. package/dist/src/server/domains/browser/definitions.tools.page-core.js +210 -439
  151. package/dist/src/server/domains/browser/definitions.tools.page-system.js +108 -250
  152. package/dist/src/server/domains/browser/definitions.tools.runtime.js +98 -211
  153. package/dist/src/server/domains/browser/definitions.tools.security.js +194 -339
  154. package/dist/src/server/domains/browser/handlers/camoufox-browser.js +3 -2
  155. package/dist/src/server/domains/browser/handlers/captcha-solver.js +3 -3
  156. package/dist/src/server/domains/browser/handlers/dom-query.js +2 -1
  157. package/dist/src/server/domains/browser/handlers/framework-state.js +27 -9
  158. package/dist/src/server/domains/browser/handlers/indexeddb-dump.js +21 -20
  159. package/dist/src/server/domains/browser/handlers/script-management.js +1 -1
  160. package/dist/src/server/domains/browser/handlers/stealth-injection.d.ts +1 -0
  161. package/dist/src/server/domains/browser/handlers/stealth-injection.js +3 -0
  162. package/dist/src/server/domains/browser/handlers.impl.d.ts +1 -2
  163. package/dist/src/server/domains/browser/handlers.impl.js +2 -3
  164. package/dist/src/server/domains/browser/manifest.js +37 -13
  165. package/dist/src/server/domains/coordination/definitions.js +50 -216
  166. package/dist/src/server/domains/coordination/index.d.ts +2 -1
  167. package/dist/src/server/domains/coordination/index.js +1 -0
  168. package/dist/src/server/domains/debugger/definitions.tools.advanced.js +72 -189
  169. package/dist/src/server/domains/debugger/definitions.tools.core.js +114 -288
  170. package/dist/src/server/domains/debugger/manifest.js +9 -2
  171. package/dist/src/server/domains/encoding/definitions.js +43 -153
  172. package/dist/src/server/domains/encoding/handlers.base.js +2 -2
  173. package/dist/src/server/domains/evidence/definitions.d.ts +2 -0
  174. package/dist/src/server/domains/evidence/definitions.js +42 -0
  175. package/dist/src/server/domains/evidence/handlers.d.ts +582 -0
  176. package/dist/src/server/domains/evidence/handlers.js +60 -0
  177. package/dist/src/server/domains/evidence/index.d.ts +2 -0
  178. package/dist/src/server/domains/evidence/index.js +2 -0
  179. package/dist/src/server/domains/evidence/manifest.d.ts +63 -0
  180. package/dist/src/server/domains/evidence/manifest.js +78 -0
  181. package/dist/src/server/domains/graphql/definitions.js +53 -141
  182. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.replay.js +92 -114
  183. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.shared.js +77 -77
  184. package/dist/src/server/domains/hooks/ai-handlers.d.ts +0 -7
  185. package/dist/src/server/domains/hooks/ai-handlers.js +1 -67
  186. package/dist/src/server/domains/hooks/definitions.js +69 -335
  187. package/dist/src/server/domains/hooks/manifest.d.ts +1 -1
  188. package/dist/src/server/domains/hooks/manifest.js +1 -2
  189. package/dist/src/server/domains/instrumentation/definitions.d.ts +2 -0
  190. package/dist/src/server/domains/instrumentation/definitions.js +99 -0
  191. package/dist/src/server/domains/instrumentation/handlers.d.ts +78 -0
  192. package/dist/src/server/domains/instrumentation/handlers.js +206 -0
  193. package/dist/src/server/domains/instrumentation/index.d.ts +2 -0
  194. package/dist/src/server/domains/instrumentation/index.js +2 -0
  195. package/dist/src/server/domains/instrumentation/manifest.d.ts +63 -0
  196. package/dist/src/server/domains/instrumentation/manifest.js +114 -0
  197. package/dist/src/server/domains/macro/definitions.js +16 -43
  198. package/dist/src/server/domains/maintenance/definitions.js +60 -219
  199. package/dist/src/server/domains/maintenance/handlers.extensions.js +78 -20
  200. package/dist/src/server/domains/memory/definitions.js +387 -559
  201. package/dist/src/server/domains/memory/handlers/hooks.d.ts +55 -0
  202. package/dist/src/server/domains/memory/handlers/hooks.js +115 -0
  203. package/dist/src/server/domains/memory/handlers/integrity.d.ts +77 -0
  204. package/dist/src/server/domains/memory/handlers/integrity.js +180 -0
  205. package/dist/src/server/domains/memory/handlers/pointer-chain.d.ts +29 -0
  206. package/dist/src/server/domains/memory/handlers/pointer-chain.js +82 -0
  207. package/dist/src/server/domains/memory/handlers/readwrite.d.ts +41 -0
  208. package/dist/src/server/domains/memory/handlers/readwrite.js +78 -0
  209. package/dist/src/server/domains/memory/handlers/scan.d.ts +35 -0
  210. package/dist/src/server/domains/memory/handlers/scan.js +97 -0
  211. package/dist/src/server/domains/memory/handlers/session.d.ts +23 -0
  212. package/dist/src/server/domains/memory/handlers/session.js +49 -0
  213. package/dist/src/server/domains/memory/handlers/structure.d.ts +29 -0
  214. package/dist/src/server/domains/memory/handlers/structure.js +74 -0
  215. package/dist/src/server/domains/memory/handlers.impl.d.ts +49 -54
  216. package/dist/src/server/domains/memory/handlers.impl.js +63 -494
  217. package/dist/src/server/domains/memory/manifest.js +236 -64
  218. package/dist/src/server/domains/native-bridge/definitions.js +54 -192
  219. package/dist/src/server/domains/native-bridge/index.d.ts +1 -0
  220. package/dist/src/server/domains/native-bridge/index.js +2 -1
  221. package/dist/src/server/domains/network/auth-extractor.js +1 -1
  222. package/dist/src/server/domains/network/definitions.js +175 -578
  223. package/dist/src/server/domains/network/handlers.base.core.d.ts +64 -0
  224. package/dist/src/server/domains/network/handlers.base.core.js +623 -0
  225. package/dist/src/server/domains/network/handlers.base.d.ts +2 -124
  226. package/dist/src/server/domains/network/handlers.base.js +3 -878
  227. package/dist/src/server/domains/network/handlers.base.performance.d.ts +63 -0
  228. package/dist/src/server/domains/network/handlers.base.performance.js +193 -0
  229. package/dist/src/server/domains/network/handlers.base.types.d.ts +42 -0
  230. package/dist/src/server/domains/network/handlers.base.types.js +89 -0
  231. package/dist/src/server/domains/network/handlers.impl.core.runtime.d.ts +1 -1
  232. package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.d.ts +21 -0
  233. package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.js +186 -0
  234. package/dist/src/server/domains/network/handlers.impl.core.runtime.js +1 -1
  235. package/dist/src/server/domains/network/manifest.js +15 -0
  236. package/dist/src/server/domains/network/replay.js +1 -4
  237. package/dist/src/server/domains/platform/definitions.js +121 -112
  238. package/dist/src/server/domains/platform/handlers/bridge-handlers.d.ts +4 -0
  239. package/dist/src/server/domains/platform/handlers/bridge-handlers.js +193 -4
  240. package/dist/src/server/domains/platform/handlers/electron-asar-helpers.js +26 -6
  241. package/dist/src/server/domains/platform/handlers/electron-dual-cdp.d.ts +3 -0
  242. package/dist/src/server/domains/platform/handlers/electron-dual-cdp.js +170 -0
  243. package/dist/src/server/domains/platform/handlers/electron-fuse-handler.d.ts +3 -0
  244. package/dist/src/server/domains/platform/handlers/electron-fuse-handler.js +193 -0
  245. package/dist/src/server/domains/platform/handlers/electron-handlers.d.ts +6 -0
  246. package/dist/src/server/domains/platform/handlers/electron-handlers.js +95 -2
  247. package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.d.ts +2 -0
  248. package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.js +370 -0
  249. package/dist/src/server/domains/platform/handlers/electron-userdata-handler.d.ts +2 -0
  250. package/dist/src/server/domains/platform/handlers/electron-userdata-handler.js +78 -0
  251. package/dist/src/server/domains/platform/handlers/miniapp-handlers.js +3 -3
  252. package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.d.ts +2 -0
  253. package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.js +207 -0
  254. package/dist/src/server/domains/platform/handlers.d.ts +48 -0
  255. package/dist/src/server/domains/platform/handlers.js +29 -0
  256. package/dist/src/server/domains/platform/manifest.js +38 -0
  257. package/dist/src/server/domains/process/definitions.js +163 -647
  258. package/dist/src/server/domains/process/handlers.base.d.ts +3 -95
  259. package/dist/src/server/domains/process/handlers.base.js +7 -462
  260. package/dist/src/server/domains/process/handlers.base.process.d.ts +61 -0
  261. package/dist/src/server/domains/process/handlers.base.process.js +417 -0
  262. package/dist/src/server/domains/process/handlers.base.types.d.ts +57 -0
  263. package/dist/src/server/domains/process/handlers.base.types.js +50 -0
  264. package/dist/src/server/domains/process/handlers.impl.core.runtime.inject.js +18 -16
  265. package/dist/src/server/domains/process/manifest.js +6 -1
  266. package/dist/src/server/domains/sandbox/definitions.js +11 -33
  267. package/dist/src/server/domains/sandbox/handlers.js +8 -3
  268. package/dist/src/server/domains/shared/ResponseBuilder.d.ts +209 -0
  269. package/dist/src/server/domains/shared/ResponseBuilder.js +48 -0
  270. package/dist/src/server/domains/shared/modules.d.ts +0 -2
  271. package/dist/src/server/domains/shared/modules.js +0 -1
  272. package/dist/src/server/domains/shared-state-board/definitions.d.ts +2 -0
  273. package/dist/src/server/domains/shared-state-board/definitions.js +78 -0
  274. package/dist/src/server/domains/shared-state-board/handlers.impl.d.ts +58 -0
  275. package/dist/src/server/domains/shared-state-board/handlers.impl.js +419 -0
  276. package/dist/src/server/domains/shared-state-board/index.d.ts +2 -0
  277. package/dist/src/server/domains/shared-state-board/index.js +2 -0
  278. package/dist/src/server/domains/shared-state-board/manifest.d.ts +57 -0
  279. package/dist/src/server/domains/shared-state-board/manifest.js +74 -0
  280. package/dist/src/server/domains/sourcemap/definitions.js +27 -111
  281. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-common.js +7 -2
  282. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-main.js +1 -1
  283. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-parse-base.js +1 -1
  284. package/dist/src/server/domains/sourcemap/manifest.d.ts +1 -1
  285. package/dist/src/server/domains/sourcemap/manifest.js +1 -1
  286. package/dist/src/server/domains/streaming/definitions.js +36 -148
  287. package/dist/src/server/domains/streaming/handlers.impl.streaming-sse.js +163 -164
  288. package/dist/src/server/domains/streaming/handlers.impl.streaming-ws.js +1 -1
  289. package/dist/src/server/domains/trace/TraceSummarizer.js +8 -5
  290. package/dist/src/server/domains/trace/definitions.tools.js +51 -206
  291. package/dist/src/server/domains/trace/handlers.js +10 -12
  292. package/dist/src/server/domains/trace/index.d.ts +2 -1
  293. package/dist/src/server/domains/trace/index.js +2 -1
  294. package/dist/src/server/domains/trace/manifest.js +15 -3
  295. package/dist/src/server/domains/transform/definitions.js +50 -210
  296. package/dist/src/server/domains/transform/handlers.impl.transform-base.js +108 -108
  297. package/dist/src/server/domains/transform/handlers.impl.transform-crypto.js +18 -19
  298. package/dist/src/server/domains/transform/manifest.d.ts +1 -1
  299. package/dist/src/server/domains/transform/manifest.js +1 -1
  300. package/dist/src/server/domains/wasm/definitions.js +55 -232
  301. package/dist/src/server/domains/wasm/handlers.js +1 -1
  302. package/dist/src/server/domains/workflow/definitions.js +144 -414
  303. package/dist/src/server/domains/workflow/handlers.impl.workflow-account-bundle.js +1 -1
  304. package/dist/src/server/domains/workflow/handlers.impl.workflow-api.js +51 -51
  305. package/dist/src/server/domains/workflow/handlers.impl.workflow-base.d.ts +2 -0
  306. package/dist/src/server/domains/workflow/handlers.impl.workflow-base.js +126 -87
  307. package/dist/src/server/domains/workflow/handlers.impl.workflow-batch.js +5 -5
  308. package/dist/src/server/evidence/ReverseEvidenceGraph.d.ts +20 -0
  309. package/dist/src/server/evidence/ReverseEvidenceGraph.js +208 -0
  310. package/dist/src/server/evidence/index.d.ts +2 -0
  311. package/dist/src/server/evidence/index.js +1 -0
  312. package/dist/src/server/evidence/types.d.ts +22 -0
  313. package/dist/src/server/evidence/types.js +1 -0
  314. package/dist/src/server/extensions/ExtensionManager.d.ts +1 -0
  315. package/dist/src/server/extensions/ExtensionManager.discovery.js +72 -9
  316. package/dist/src/server/extensions/ExtensionManager.integrity.js +1 -1
  317. package/dist/src/server/extensions/ExtensionManager.js +193 -40
  318. package/dist/src/server/extensions/ExtensionManager.roots.d.ts +1 -1
  319. package/dist/src/server/extensions/ExtensionManager.roots.js +4 -4
  320. package/dist/src/server/extensions/plugin-config.js +1 -1
  321. package/dist/src/server/extensions/plugin-env.d.ts +1 -1
  322. package/dist/src/server/extensions/plugin-env.js +10 -4
  323. package/dist/src/server/extensions/types.d.ts +17 -0
  324. package/dist/src/server/extensions/types.js +1 -1
  325. package/dist/src/server/http/SseStream.d.ts +21 -0
  326. package/dist/src/server/http/SseStream.js +129 -0
  327. package/dist/src/server/instrumentation/EvidenceGraphBridge.d.ts +13 -0
  328. package/dist/src/server/instrumentation/EvidenceGraphBridge.js +150 -0
  329. package/dist/src/server/instrumentation/InstrumentationSession.d.ts +60 -0
  330. package/dist/src/server/instrumentation/InstrumentationSession.js +269 -0
  331. package/dist/src/server/instrumentation/index.d.ts +2 -0
  332. package/dist/src/server/instrumentation/index.js +2 -0
  333. package/dist/src/server/instrumentation/types.d.ts +62 -0
  334. package/dist/src/server/instrumentation/types.js +7 -0
  335. package/dist/src/server/macros/MacroConfigLoader.d.ts +6 -5
  336. package/dist/src/server/macros/MacroConfigLoader.js +61 -59
  337. package/dist/src/server/macros/MacroRunner.js +6 -2
  338. package/dist/src/server/macros/builtins/index.d.ts +2 -3
  339. package/dist/src/server/macros/builtins/index.js +51 -7
  340. package/dist/src/server/plugins/PluginContract.d.ts +1 -1
  341. package/dist/src/server/registry/contracts.d.ts +1 -1
  342. package/dist/src/server/registry/discovery.js +5 -4
  343. package/dist/src/server/registry/ensure-browser-core.js +0 -3
  344. package/dist/src/server/registry/index.js +4 -4
  345. package/dist/src/server/registry/tool-builder.d.ts +46 -0
  346. package/dist/src/server/registry/tool-builder.js +105 -0
  347. package/dist/src/server/sandbox/QuickJSSandbox.js +16 -5
  348. package/dist/src/server/sandbox/SandboxHelpers.js +250 -250
  349. package/dist/src/server/search/EmbeddingWorker.js +5 -3
  350. package/dist/src/server/search/FeedbackTracker.d.ts +9 -0
  351. package/dist/src/server/search/FeedbackTracker.js +26 -0
  352. package/dist/src/server/search/QueryNormalizer.d.ts +6 -0
  353. package/dist/src/server/search/QueryNormalizer.js +94 -0
  354. package/dist/src/server/search/ToolSearchEngineImpl.d.ts +2 -3
  355. package/dist/src/server/search/ToolSearchEngineImpl.js +38 -88
  356. package/dist/src/server/teams/TeamManager.d.ts +43 -0
  357. package/dist/src/server/teams/TeamManager.js +238 -0
  358. package/dist/src/server/teams/index.d.ts +1 -0
  359. package/dist/src/server/teams/index.js +1 -0
  360. package/dist/src/server/workflows/WorkflowContract.d.ts +44 -4
  361. package/dist/src/server/workflows/WorkflowContract.js +52 -0
  362. package/dist/src/server/workflows/WorkflowEngine.d.ts +1 -0
  363. package/dist/src/server/workflows/WorkflowEngine.js +314 -4
  364. package/dist/src/types/config.d.ts +0 -14
  365. package/dist/src/types/deobfuscator.d.ts +1 -1
  366. package/dist/src/types/index.d.ts +1 -1
  367. package/dist/src/utils/DetailedDataManager.js +2 -0
  368. package/dist/src/utils/RingBuffer.js +5 -5
  369. package/dist/src/utils/TokenBudgetManager.js +1 -1
  370. package/dist/src/utils/UnifiedCacheManager.js +1 -1
  371. package/dist/src/utils/artifactRetention.js +2 -2
  372. package/dist/src/utils/betterSqlite3.d.ts +11 -0
  373. package/dist/src/utils/betterSqlite3.js +88 -0
  374. package/dist/src/utils/browserExecutable.js +2 -2
  375. package/dist/src/utils/cache/CachedDecorator.d.ts +8 -0
  376. package/dist/src/utils/cache/CachedDecorator.js +55 -0
  377. package/dist/src/utils/cache/PersistentCache.d.ts +33 -0
  378. package/dist/src/utils/cache/PersistentCache.js +246 -0
  379. package/dist/src/utils/cache/index.d.ts +2 -0
  380. package/dist/src/utils/cache/index.js +2 -0
  381. package/dist/src/utils/cliFastPath.js +5 -8
  382. package/dist/src/utils/config.js +4 -26
  383. package/dist/src/utils/environmentDoctor.js +138 -11
  384. package/dist/src/utils/outputPaths.js +16 -9
  385. package/dist/src/utils/parallel.js +1 -3
  386. package/package.json +82 -81
  387. package/scripts/postinstall.cjs +54 -27
  388. package/workflows/.gitkeep +0 -0
  389. package/workflows/anti-bot-diagnoser/.jshook-install.json +14 -0
  390. package/workflows/anti-bot-diagnoser/LICENSE +21 -0
  391. package/workflows/anti-bot-diagnoser/README.md +105 -0
  392. package/workflows/anti-bot-diagnoser/docs/agent-recipes.md +44 -0
  393. package/workflows/anti-bot-diagnoser/meta.yaml +6 -0
  394. package/workflows/anti-bot-diagnoser/package.json +22 -0
  395. package/workflows/anti-bot-diagnoser/tsconfig.json +15 -0
  396. package/workflows/anti-bot-diagnoser/workflow.ts +224 -0
  397. package/workflows/api-openapi-probe/.jshook-install.json +14 -0
  398. package/workflows/api-openapi-probe/meta.yaml +6 -0
  399. package/workflows/api-openapi-probe/package.json +22 -0
  400. package/workflows/api-openapi-probe/pnpm-lock.yaml +819 -0
  401. package/workflows/api-openapi-probe/tsconfig.json +15 -0
  402. package/workflows/api-openapi-probe/workflow.ts +40 -0
  403. package/workflows/api-probe-batch/.jshook-install.json +14 -0
  404. package/workflows/api-probe-batch/LICENSE +21 -0
  405. package/workflows/api-probe-batch/README.md +45 -0
  406. package/workflows/api-probe-batch/meta.yaml +4 -0
  407. package/workflows/api-probe-batch/package.json +23 -0
  408. package/workflows/api-probe-batch/tsconfig.json +16 -0
  409. package/workflows/api-probe-batch/workflow.ts +111 -0
  410. package/workflows/auth-bootstrap/.jshook-install.json +14 -0
  411. package/workflows/auth-bootstrap/LICENSE +21 -0
  412. package/workflows/auth-bootstrap/README.md +74 -0
  413. package/workflows/auth-bootstrap/meta.yaml +4 -0
  414. package/workflows/auth-bootstrap/package.json +23 -0
  415. package/workflows/auth-bootstrap/tsconfig.json +16 -0
  416. package/workflows/auth-bootstrap/workflow.ts +141 -0
  417. package/workflows/auth-extract/.jshook-install.json +14 -0
  418. package/workflows/auth-extract/meta.yaml +6 -0
  419. package/workflows/auth-extract/package.json +22 -0
  420. package/workflows/auth-extract/pnpm-lock.yaml +819 -0
  421. package/workflows/auth-extract/tsconfig.json +15 -0
  422. package/workflows/auth-extract/workflow.ts +36 -0
  423. package/workflows/auth-surface-mapper/.jshook-install.json +14 -0
  424. package/workflows/auth-surface-mapper/meta.yaml +6 -0
  425. package/workflows/auth-surface-mapper/package.json +22 -0
  426. package/workflows/auth-surface-mapper/pnpm-lock.yaml +819 -0
  427. package/workflows/auth-surface-mapper/tsconfig.json +15 -0
  428. package/workflows/auth-surface-mapper/workflow.ts +104 -0
  429. package/workflows/batch-register/.jshook-install.json +14 -0
  430. package/workflows/batch-register/LICENSE +21 -0
  431. package/workflows/batch-register/README.md +39 -0
  432. package/workflows/batch-register/meta.yaml +4 -0
  433. package/workflows/batch-register/package.json +23 -0
  434. package/workflows/batch-register/tsconfig.json +16 -0
  435. package/workflows/batch-register/workflow.ts +67 -0
  436. package/workflows/bundle-recovery/.jshook-install.json +14 -0
  437. package/workflows/bundle-recovery/LICENSE +21 -0
  438. package/workflows/bundle-recovery/README.md +105 -0
  439. package/workflows/bundle-recovery/docs/agent-recipes.md +44 -0
  440. package/workflows/bundle-recovery/meta.yaml +6 -0
  441. package/workflows/bundle-recovery/package.json +22 -0
  442. package/workflows/bundle-recovery/tsconfig.json +15 -0
  443. package/workflows/bundle-recovery/workflow.ts +179 -0
  444. package/workflows/challenge-detector/.jshook-install.json +14 -0
  445. package/workflows/challenge-detector/meta.yaml +14 -0
  446. package/workflows/challenge-detector/package.json +22 -0
  447. package/workflows/challenge-detector/pnpm-lock.yaml +819 -0
  448. package/workflows/challenge-detector/tsconfig.json +15 -0
  449. package/workflows/challenge-detector/workflow.ts +298 -0
  450. package/workflows/deobfuscation-pipeline/.jshook-install.json +14 -0
  451. package/workflows/deobfuscation-pipeline/meta.yaml +6 -0
  452. package/workflows/deobfuscation-pipeline/package.json +22 -0
  453. package/workflows/deobfuscation-pipeline/pnpm-lock.yaml +819 -0
  454. package/workflows/deobfuscation-pipeline/tsconfig.json +15 -0
  455. package/workflows/deobfuscation-pipeline/workflow.ts +119 -0
  456. package/workflows/electron-bridge-mapper/.jshook-install.json +14 -0
  457. package/workflows/electron-bridge-mapper/meta.yaml +6 -0
  458. package/workflows/electron-bridge-mapper/package.json +22 -0
  459. package/workflows/electron-bridge-mapper/pnpm-lock.yaml +819 -0
  460. package/workflows/electron-bridge-mapper/tsconfig.json +15 -0
  461. package/workflows/electron-bridge-mapper/workflow.ts +125 -0
  462. package/workflows/evidence-pack/.jshook-install.json +14 -0
  463. package/workflows/evidence-pack/LICENSE +21 -0
  464. package/workflows/evidence-pack/README.md +105 -0
  465. package/workflows/evidence-pack/docs/agent-recipes.md +44 -0
  466. package/workflows/evidence-pack/meta.yaml +6 -0
  467. package/workflows/evidence-pack/package.json +22 -0
  468. package/workflows/evidence-pack/tsconfig.json +15 -0
  469. package/workflows/evidence-pack/workflow.ts +154 -0
  470. package/workflows/js-bundle-search/.jshook-install.json +14 -0
  471. package/workflows/js-bundle-search/LICENSE +21 -0
  472. package/workflows/js-bundle-search/README.md +46 -0
  473. package/workflows/js-bundle-search/meta.yaml +4 -0
  474. package/workflows/js-bundle-search/package.json +23 -0
  475. package/workflows/js-bundle-search/tsconfig.json +16 -0
  476. package/workflows/js-bundle-search/workflow.ts +118 -0
  477. package/workflows/protocol-registry/.jshook-install.json +14 -0
  478. package/workflows/protocol-registry/meta.yaml +6 -0
  479. package/workflows/protocol-registry/package.json +22 -0
  480. package/workflows/protocol-registry/pnpm-lock.yaml +819 -0
  481. package/workflows/protocol-registry/tsconfig.json +15 -0
  482. package/workflows/protocol-registry/workflow.ts +107 -0
  483. package/workflows/qwen-mail-open-latest/meta.yaml +7 -0
  484. package/workflows/qwen-mail-open-latest/package.json +22 -0
  485. package/workflows/qwen-mail-open-latest/pnpm-lock.yaml +819 -0
  486. package/workflows/qwen-mail-open-latest/tsconfig.json +15 -0
  487. package/workflows/qwen-mail-open-latest/workflow.ts +77 -0
  488. package/workflows/register-account-flow/.jshook-install.json +14 -0
  489. package/workflows/register-account-flow/LICENSE +21 -0
  490. package/workflows/register-account-flow/README.md +64 -0
  491. package/workflows/register-account-flow/meta.yaml +4 -0
  492. package/workflows/register-account-flow/package.json +23 -0
  493. package/workflows/register-account-flow/tsconfig.json +16 -0
  494. package/workflows/register-account-flow/workflow.ts +127 -0
  495. package/workflows/replay-lab/.jshook-install.json +14 -0
  496. package/workflows/replay-lab/meta.yaml +6 -0
  497. package/workflows/replay-lab/package.json +22 -0
  498. package/workflows/replay-lab/pnpm-lock.yaml +819 -0
  499. package/workflows/replay-lab/tsconfig.json +15 -0
  500. package/workflows/replay-lab/workflow.ts +106 -0
  501. package/workflows/script-evidence-scan/.jshook-install.json +14 -0
  502. package/workflows/script-evidence-scan/LICENSE +21 -0
  503. package/workflows/script-evidence-scan/README.md +61 -0
  504. package/workflows/script-evidence-scan/meta.yaml +4 -0
  505. package/workflows/script-evidence-scan/package.json +23 -0
  506. package/workflows/script-evidence-scan/tsconfig.json +16 -0
  507. package/workflows/script-evidence-scan/workflow.ts +89 -0
  508. package/workflows/signature-hunter/.jshook-install.json +14 -0
  509. package/workflows/signature-hunter/LICENSE +21 -0
  510. package/workflows/signature-hunter/README.md +105 -0
  511. package/workflows/signature-hunter/docs/agent-recipes.md +44 -0
  512. package/workflows/signature-hunter/meta.yaml +6 -0
  513. package/workflows/signature-hunter/package.json +22 -0
  514. package/workflows/signature-hunter/tsconfig.json +15 -0
  515. package/workflows/signature-hunter/workflow.ts +170 -0
  516. package/workflows/signing-lineage/.jshook-install.json +14 -0
  517. package/workflows/signing-lineage/meta.yaml +6 -0
  518. package/workflows/signing-lineage/package.json +22 -0
  519. package/workflows/signing-lineage/pnpm-lock.yaml +819 -0
  520. package/workflows/signing-lineage/tsconfig.json +15 -0
  521. package/workflows/signing-lineage/workflow.ts +120 -0
  522. package/workflows/temp-mail-extract-link/.jshook-install.json +14 -0
  523. package/workflows/temp-mail-extract-link/LICENSE +21 -0
  524. package/workflows/temp-mail-extract-link/README.md +71 -0
  525. package/workflows/temp-mail-extract-link/meta.yaml +4 -0
  526. package/workflows/temp-mail-extract-link/package.json +23 -0
  527. package/workflows/temp-mail-extract-link/tsconfig.json +16 -0
  528. package/workflows/temp-mail-extract-link/workflow.ts +221 -0
  529. package/workflows/temp-mail-open-latest/.jshook-install.json +14 -0
  530. package/workflows/temp-mail-open-latest/LICENSE +21 -0
  531. package/workflows/temp-mail-open-latest/README.md +61 -0
  532. package/workflows/temp-mail-open-latest/meta.yaml +4 -0
  533. package/workflows/temp-mail-open-latest/package.json +23 -0
  534. package/workflows/temp-mail-open-latest/tsconfig.json +16 -0
  535. package/workflows/temp-mail-open-latest/workflow.ts +136 -0
  536. package/workflows/template/.jshook-install.json +14 -0
  537. package/workflows/template/LICENSE +21 -0
  538. package/workflows/template/README.md +45 -0
  539. package/workflows/template/docs/SKILL.md +111 -0
  540. package/workflows/template/meta.yaml +6 -0
  541. package/workflows/template/package.json +22 -0
  542. package/workflows/template/pnpm-lock.yaml +819 -0
  543. package/workflows/template/tsconfig.json +15 -0
  544. package/workflows/template/workflow.ts +73 -0
  545. package/workflows/web-api-capture-session/.jshook-install.json +14 -0
  546. package/workflows/web-api-capture-session/LICENSE +21 -0
  547. package/workflows/web-api-capture-session/README.md +64 -0
  548. package/workflows/web-api-capture-session/meta.yaml +4 -0
  549. package/workflows/web-api-capture-session/package.json +23 -0
  550. package/workflows/web-api-capture-session/tsconfig.json +16 -0
  551. package/workflows/web-api-capture-session/workflow.ts +124 -0
  552. package/workflows/ws-protocol-lifter/.jshook-install.json +14 -0
  553. package/workflows/ws-protocol-lifter/LICENSE +21 -0
  554. package/workflows/ws-protocol-lifter/README.md +105 -0
  555. package/workflows/ws-protocol-lifter/docs/agent-recipes.md +44 -0
  556. package/workflows/ws-protocol-lifter/meta.yaml +6 -0
  557. package/workflows/ws-protocol-lifter/package.json +22 -0
  558. package/workflows/ws-protocol-lifter/tsconfig.json +15 -0
  559. package/workflows/ws-protocol-lifter/workflow.ts +163 -0
  560. package/dist/src/modules/analyzer/AISummarizer.d.ts +0 -39
  561. package/dist/src/modules/analyzer/AISummarizer.js +0 -122
  562. package/dist/src/modules/hook/AIHookGenerator.d.ts +0 -52
  563. package/dist/src/modules/hook/AIHookGenerator.js +0 -360
  564. package/dist/src/modules/hook/AIHookGeneratorTemplates.d.ts +0 -9
  565. package/dist/src/modules/hook/AIHookGeneratorTemplates.js +0 -157
  566. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.d.ts +0 -2
  567. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.js +0 -25
  568. package/dist/src/server/macros/builtins/unpacker-flow.d.ts +0 -2
  569. package/dist/src/server/macros/builtins/unpacker-flow.js +0 -25
  570. package/dist/src/services/LLMService.d.ts +0 -37
  571. package/dist/src/services/LLMService.js +0 -233
  572. package/dist/src/services/prompts/analysis.d.ts +0 -9
  573. package/dist/src/services/prompts/analysis.js +0 -158
  574. package/dist/src/services/prompts/crypto.d.ts +0 -2
  575. package/dist/src/services/prompts/crypto.js +0 -108
  576. package/dist/src/services/prompts/deobfuscation.d.ts +0 -6
  577. package/dist/src/services/prompts/deobfuscation.js +0 -300
  578. package/dist/src/services/prompts/environment.d.ts +0 -16
  579. package/dist/src/services/prompts/environment.js +0 -372
  580. package/dist/src/services/prompts/intelligence.d.ts +0 -4
  581. package/dist/src/services/prompts/intelligence.js +0 -250
  582. package/dist/src/services/prompts/taint.d.ts +0 -2
  583. package/dist/src/services/prompts/taint.js +0 -54
@@ -0,0 +1,272 @@
1
+ export class WorkflowNodeBuilder {
2
+ id;
3
+ constructor(id) {
4
+ this.id = id;
5
+ }
6
+ }
7
+ export class ToolNodeBuilder extends WorkflowNodeBuilder {
8
+ toolName;
9
+ _input;
10
+ _retry;
11
+ _timeoutMs;
12
+ constructor(id, toolName) {
13
+ super(id);
14
+ this.toolName = toolName;
15
+ }
16
+ input(input) {
17
+ this._input = input;
18
+ return this;
19
+ }
20
+ retry(policy) {
21
+ this._retry = policy;
22
+ return this;
23
+ }
24
+ timeout(ms) {
25
+ this._timeoutMs = ms;
26
+ return this;
27
+ }
28
+ build() {
29
+ return {
30
+ kind: 'tool',
31
+ id: this.id,
32
+ toolName: this.toolName,
33
+ input: this._input,
34
+ retry: this._retry,
35
+ timeoutMs: this._timeoutMs,
36
+ };
37
+ }
38
+ }
39
+ class CompositeNodeBuilder extends WorkflowNodeBuilder {
40
+ _steps = [];
41
+ step(nodeBuilder) {
42
+ this._steps.push(nodeBuilder);
43
+ return this;
44
+ }
45
+ tool(id, toolName, config) {
46
+ const builder = new ToolNodeBuilder(id, toolName);
47
+ if (config) {
48
+ if (typeof config === 'function') {
49
+ config(builder);
50
+ }
51
+ else {
52
+ if (config.input)
53
+ builder.input(config.input);
54
+ if (config.retry)
55
+ builder.retry(config.retry);
56
+ if (config.timeoutMs !== undefined)
57
+ builder.timeout(config.timeoutMs);
58
+ }
59
+ }
60
+ this._steps.push(builder);
61
+ return this;
62
+ }
63
+ sequence(id, config) {
64
+ const builder = new SequenceNodeBuilder(id);
65
+ if (config)
66
+ config(builder);
67
+ this._steps.push(builder);
68
+ return this;
69
+ }
70
+ parallel(id, config) {
71
+ const builder = new ParallelNodeBuilder(id);
72
+ if (config)
73
+ config(builder);
74
+ this._steps.push(builder);
75
+ return this;
76
+ }
77
+ branch(id, predicateId, config) {
78
+ const builder = new BranchNodeBuilder(id, predicateId);
79
+ if (config)
80
+ config(builder);
81
+ this._steps.push(builder);
82
+ return this;
83
+ }
84
+ fallback(id, config) {
85
+ const builder = new FallbackNodeBuilder(id);
86
+ if (config)
87
+ config(builder);
88
+ this._steps.push(builder);
89
+ return this;
90
+ }
91
+ }
92
+ export class SequenceNodeBuilder extends CompositeNodeBuilder {
93
+ build() {
94
+ return {
95
+ kind: 'sequence',
96
+ id: this.id,
97
+ steps: this._steps.map((b) => b.build()),
98
+ };
99
+ }
100
+ }
101
+ export class ParallelNodeBuilder extends CompositeNodeBuilder {
102
+ _maxConcurrency = 4;
103
+ _failFast = false;
104
+ maxConcurrency(concurrency) {
105
+ this._maxConcurrency = concurrency;
106
+ return this;
107
+ }
108
+ failFast(ff) {
109
+ this._failFast = ff;
110
+ return this;
111
+ }
112
+ build() {
113
+ return {
114
+ kind: 'parallel',
115
+ id: this.id,
116
+ steps: this._steps.map((b) => b.build()),
117
+ maxConcurrency: this._maxConcurrency,
118
+ failFast: this._failFast,
119
+ };
120
+ }
121
+ }
122
+ export class BranchNodeBuilder extends WorkflowNodeBuilder {
123
+ predicateId;
124
+ _predicateFn;
125
+ _whenTrue;
126
+ _whenFalse;
127
+ constructor(id, predicateId) {
128
+ super(id);
129
+ this.predicateId = predicateId;
130
+ }
131
+ predicateFn(fn) {
132
+ this._predicateFn = fn;
133
+ return this;
134
+ }
135
+ whenTrue(nodeBuilder) {
136
+ this._whenTrue = nodeBuilder;
137
+ return this;
138
+ }
139
+ whenFalse(nodeBuilder) {
140
+ this._whenFalse = nodeBuilder;
141
+ return this;
142
+ }
143
+ build() {
144
+ if (!this._whenTrue) {
145
+ throw new Error(`BranchNode '${this.id}' requires a whenTrue step`);
146
+ }
147
+ return {
148
+ kind: 'branch',
149
+ id: this.id,
150
+ predicateId: this.predicateId,
151
+ predicateFn: this._predicateFn,
152
+ whenTrue: this._whenTrue.build(),
153
+ whenFalse: this._whenFalse ? this._whenFalse.build() : undefined,
154
+ };
155
+ }
156
+ }
157
+ export class FallbackNodeBuilder extends WorkflowNodeBuilder {
158
+ _primary;
159
+ _fallback;
160
+ primary(nodeBuilder) {
161
+ this._primary = nodeBuilder;
162
+ return this;
163
+ }
164
+ fallback(nodeBuilder) {
165
+ this._fallback = nodeBuilder;
166
+ return this;
167
+ }
168
+ build() {
169
+ if (!this._primary) {
170
+ throw new Error(`FallbackNode '${this.id}' requires a primary step`);
171
+ }
172
+ if (!this._fallback) {
173
+ throw new Error(`FallbackNode '${this.id}' requires a fallback step`);
174
+ }
175
+ return {
176
+ kind: 'fallback',
177
+ id: this.id,
178
+ primary: this._primary.build(),
179
+ fallback: this._fallback.build(),
180
+ };
181
+ }
182
+ }
183
+ export class WorkflowBuilder {
184
+ _id;
185
+ _displayName;
186
+ _description;
187
+ _tags;
188
+ _timeoutMs;
189
+ _defaultMaxConcurrency;
190
+ _route;
191
+ _buildFn;
192
+ _onStart;
193
+ _onFinish;
194
+ _onError;
195
+ constructor(id, displayName) {
196
+ this._id = id;
197
+ this._displayName = displayName;
198
+ }
199
+ description(desc) {
200
+ this._description = desc;
201
+ return this;
202
+ }
203
+ tags(tags) {
204
+ this._tags = tags;
205
+ return this;
206
+ }
207
+ timeoutMs(timeout) {
208
+ this._timeoutMs = timeout;
209
+ return this;
210
+ }
211
+ defaultMaxConcurrency(max) {
212
+ this._defaultMaxConcurrency = max;
213
+ return this;
214
+ }
215
+ route(route) {
216
+ this._route = route;
217
+ return this;
218
+ }
219
+ buildGraph(fn) {
220
+ this._buildFn = (ctx) => fn(ctx).build();
221
+ return this;
222
+ }
223
+ onStart(fn) {
224
+ this._onStart = fn;
225
+ return this;
226
+ }
227
+ onFinish(fn) {
228
+ this._onFinish = fn;
229
+ return this;
230
+ }
231
+ onError(fn) {
232
+ this._onError = fn;
233
+ return this;
234
+ }
235
+ build() {
236
+ if (!this._buildFn)
237
+ throw new Error(`WorkflowBuilder '${this._id}' needs a buildGraph() function.`);
238
+ return {
239
+ kind: 'workflow-contract',
240
+ version: 1,
241
+ id: this._id,
242
+ displayName: this._displayName,
243
+ description: this._description,
244
+ tags: this._tags,
245
+ timeoutMs: this._timeoutMs,
246
+ defaultMaxConcurrency: this._defaultMaxConcurrency,
247
+ route: this._route,
248
+ build: this._buildFn,
249
+ onStart: this._onStart,
250
+ onFinish: this._onFinish,
251
+ onError: this._onError,
252
+ };
253
+ }
254
+ }
255
+ export function createWorkflow(id, displayName) {
256
+ return new WorkflowBuilder(id, displayName);
257
+ }
258
+ export function toolNode(id, toolName) {
259
+ return new ToolNodeBuilder(id, toolName);
260
+ }
261
+ export function sequenceNode(id) {
262
+ return new SequenceNodeBuilder(id);
263
+ }
264
+ export function parallelNode(id) {
265
+ return new ParallelNodeBuilder(id);
266
+ }
267
+ export function branchNode(id, predicateId) {
268
+ return new BranchNodeBuilder(id, predicateId);
269
+ }
270
+ export function fallbackNode(id) {
271
+ return new FallbackNodeBuilder(id);
272
+ }
@@ -58,6 +58,14 @@ export const DEFAULT_QUERY_CATEGORY_PROFILE_CONFIGS = [
58
58
  { domain: 'browser', weight: 1.1 },
59
59
  ],
60
60
  },
61
+ {
62
+ pattern: '(?:reverse|mission|signature|hook|crypto|encrypt|websocket|\\bws\\b|protocol|bundle|webpack|deobfusc|stealth|fingerprint|evidence|\\bhar\\b|逆向|签名|加签|协议|反混淆|反检测|指纹|证据|报告)',
63
+ flags: 'i',
64
+ domainBoosts: [
65
+ { domain: 'workflow', weight: 1.8 },
66
+ { domain: 'analysis', weight: 1.1 },
67
+ ],
68
+ },
61
69
  ];
62
70
  export const DEFAULT_CJK_QUERY_ALIAS_CONFIGS = [
63
71
  { pattern: '工作流|流程编排|流程自动化|编排', tokens: ['workflow', 'flow', 'orchestration'] },
@@ -74,6 +82,14 @@ export const DEFAULT_CJK_QUERY_ALIAS_CONFIGS = [
74
82
  { pattern: '批量|并发', tokens: ['batch', 'parallel'] },
75
83
  { pattern: '令牌|凭证|鉴权|认证', tokens: ['token', 'auth', 'credential'] },
76
84
  { pattern: '提取|抽取|解析', tokens: ['extract', 'parse'] },
85
+ { pattern: '签名|加签|加密|hook', tokens: ['signature', 'crypto', 'hook', 'sign'] },
86
+ { pattern: '协议|消息|帧|handler', tokens: ['websocket', 'protocol', 'ws', 'handler'] },
87
+ { pattern: '打包|webpack|混淆|反混淆', tokens: ['bundle', 'webpack', 'deobfuscate', 'unpack'] },
88
+ {
89
+ pattern: '反爬|反检测|指纹|stealth',
90
+ tokens: ['antibot', 'stealth', 'fingerprint', 'detection'],
91
+ },
92
+ { pattern: '证据|取证|导出|报告|快照', tokens: ['evidence', 'export', 'report', 'forensic'] },
77
93
  { pattern: '多标签页|多标签|标签页', tokens: ['tab', 'multi'] },
78
94
  { pattern: '脚本库|脚本仓库', tokens: ['script', 'library'] },
79
95
  { pattern: '脚本', tokens: ['script'] },
@@ -81,6 +97,19 @@ export const DEFAULT_CJK_QUERY_ALIAS_CONFIGS = [
81
97
  { pattern: '导出', tokens: ['export'] },
82
98
  { pattern: '回放|重放', tokens: ['replay'] },
83
99
  { pattern: '请求', tokens: ['request'] },
100
+ { pattern: '鉴权面|认证面|授权面|凭证枚举', tokens: ['auth', 'surface', 'token', 'credential'] },
101
+ { pattern: '通道|通信|协议注册|协议枚举', tokens: ['protocol', 'channel', 'registry'] },
102
+ { pattern: '人机|挑战|风控|拦截页', tokens: ['challenge', 'captcha', 'cloudflare', 'turnstile'] },
103
+ {
104
+ pattern: '签名谱系|签名链路|加签链路|签名追踪',
105
+ tokens: ['signing', 'lineage', 'signature', 'trace'],
106
+ },
107
+ { pattern: '复现|重发|篡改|参数篡改', tokens: ['replay', 'tamper', 'request'] },
108
+ {
109
+ pattern: '反混淆链|反混淆管道|清洗|还原',
110
+ tokens: ['deobfuscate', 'pipeline', 'transform', 'ast'],
111
+ },
112
+ { pattern: '桌面应用|electron|nwjs|预加载', tokens: ['electron', 'bridge', 'preload', 'ipc'] },
84
113
  ];
85
114
  export const DEFAULT_INTENT_TOOL_BOOST_RULE_CONFIGS = [
86
115
  {
@@ -139,6 +168,138 @@ export const DEFAULT_INTENT_TOOL_BOOST_RULE_CONFIGS = [
139
168
  { tool: 'network_extract_auth', bonus: 18 },
140
169
  ],
141
170
  },
171
+ {
172
+ pattern: '(?:signature|crypto|encrypt|hash|hook|签名|加签|加密)',
173
+ flags: 'i',
174
+ boosts: [
175
+ { tool: 'run_extension_workflow', bonus: 40 },
176
+ { tool: 'list_extension_workflows', bonus: 24 },
177
+ { tool: 'search_in_scripts', bonus: 12 },
178
+ { tool: 'detect_crypto', bonus: 10 },
179
+ { tool: 'manage_hooks', bonus: 8 },
180
+ ],
181
+ },
182
+ {
183
+ pattern: '(?:websocket|\\bws\\b|protocol|socket|handler|协议|消息|帧)',
184
+ flags: 'i',
185
+ boosts: [
186
+ { tool: 'run_extension_workflow', bonus: 40 },
187
+ { tool: 'list_extension_workflows', bonus: 24 },
188
+ { tool: 'ws_monitor_enable', bonus: 12 },
189
+ { tool: 'ws_get_frames', bonus: 10 },
190
+ { tool: 'ws_get_connections', bonus: 8 },
191
+ ],
192
+ },
193
+ {
194
+ pattern: '(?:bundle|webpack|chunk|source.*map|deobfusc|源码|打包|混淆|反混淆)',
195
+ flags: 'i',
196
+ boosts: [
197
+ { tool: 'run_extension_workflow', bonus: 40 },
198
+ { tool: 'list_extension_workflows', bonus: 24 },
199
+ { tool: 'js_bundle_search', bonus: 14 },
200
+ { tool: 'collect_code', bonus: 10 },
201
+ { tool: 'source_map_extract', bonus: 8 },
202
+ ],
203
+ },
204
+ {
205
+ pattern: '(?:stealth|fingerprint|webdriver|antibot|bot.*detect|反爬|反检测|指纹)',
206
+ flags: 'i',
207
+ boosts: [
208
+ { tool: 'run_extension_workflow', bonus: 40 },
209
+ { tool: 'list_extension_workflows', bonus: 24 },
210
+ { tool: 'stealth_inject', bonus: 10 },
211
+ { tool: 'stealth_generate_fingerprint', bonus: 10 },
212
+ { tool: 'stealth_verify', bonus: 8 },
213
+ ],
214
+ },
215
+ {
216
+ pattern: '(?:evidence|export|har|report|snapshot|证据|导出|报告|快照|取证)',
217
+ flags: 'i',
218
+ boosts: [
219
+ { tool: 'run_extension_workflow', bonus: 40 },
220
+ { tool: 'list_extension_workflows', bonus: 24 },
221
+ { tool: 'evidence_query_url', bonus: 14 },
222
+ { tool: 'evidence_export_markdown', bonus: 12 },
223
+ { tool: 'evidence_export_json', bonus: 10 },
224
+ ],
225
+ },
226
+ {
227
+ pattern: '(?:auth.*surface|token.*enum|credential.*map|鉴权面|认证面|凭证枚举|jwt|csrf|api.?key|授权)',
228
+ flags: 'i',
229
+ boosts: [
230
+ { tool: 'run_extension_workflow', bonus: 40 },
231
+ { tool: 'list_extension_workflows', bonus: 24 },
232
+ { tool: 'network_extract_auth', bonus: 14 },
233
+ { tool: 'page_get_cookies', bonus: 8 },
234
+ ],
235
+ },
236
+ {
237
+ pattern: '(?:protocol.*registry|channel.*enum|通道枚举|协议注册|协议归类|SSE|EventSource|beacon|postMessage)',
238
+ flags: 'i',
239
+ boosts: [
240
+ { tool: 'run_extension_workflow', bonus: 40 },
241
+ { tool: 'list_extension_workflows', bonus: 24 },
242
+ { tool: 'ws_monitor_enable', bonus: 10 },
243
+ { tool: 'sse_monitor_enable', bonus: 10 },
244
+ { tool: 'network_get_requests', bonus: 8 },
245
+ ],
246
+ },
247
+ {
248
+ pattern: '(?:challenge|turnstile|cloudflare|hcaptcha|datadome|akamai|perimeterx|kasada|人机|挑战|风控|拦截页)',
249
+ flags: 'i',
250
+ boosts: [
251
+ { tool: 'run_extension_workflow', bonus: 40 },
252
+ { tool: 'list_extension_workflows', bonus: 24 },
253
+ { tool: 'captcha_detect', bonus: 14 },
254
+ { tool: 'stealth_verify', bonus: 10 },
255
+ ],
256
+ },
257
+ {
258
+ pattern: '(?:signing.*lineage|签名谱系|签名链路|加签链路|签名追踪|plaintext.*cipher|明文.*密文)',
259
+ flags: 'i',
260
+ boosts: [
261
+ { tool: 'run_extension_workflow', bonus: 40 },
262
+ { tool: 'list_extension_workflows', bonus: 24 },
263
+ { tool: 'detect_crypto', bonus: 12 },
264
+ { tool: 'extract_function_tree', bonus: 10 },
265
+ { tool: 'manage_hooks', bonus: 8 },
266
+ ],
267
+ },
268
+ {
269
+ pattern: '(?:replay.*lab|request.*replay|复现|重发|篡改|参数篡改|request.*tamper)',
270
+ flags: 'i',
271
+ boosts: [
272
+ { tool: 'run_extension_workflow', bonus: 40 },
273
+ { tool: 'list_extension_workflows', bonus: 24 },
274
+ { tool: 'network_replay_request', bonus: 14 },
275
+ { tool: 'instrumentation_network_replay', bonus: 12 },
276
+ { tool: 'network_export_har', bonus: 8 },
277
+ ],
278
+ },
279
+ {
280
+ pattern: '(?:deobfusc.*pipeline|反混淆链|反混淆管道|清洗|还原|ast.*transform|packer|unpack)',
281
+ flags: 'i',
282
+ boosts: [
283
+ { tool: 'run_extension_workflow', bonus: 40 },
284
+ { tool: 'list_extension_workflows', bonus: 24 },
285
+ { tool: 'webcrack_unpack', bonus: 14 },
286
+ { tool: 'ast_transform_apply', bonus: 12 },
287
+ { tool: 'deobfuscate', bonus: 10 },
288
+ { tool: 'detect_obfuscation', bonus: 8 },
289
+ ],
290
+ },
291
+ {
292
+ pattern: '(?:electron|nwjs|preload|ipc|asar|桌面应用|预加载|桥接|electron.*bridge)',
293
+ flags: 'i',
294
+ boosts: [
295
+ { tool: 'run_extension_workflow', bonus: 40 },
296
+ { tool: 'list_extension_workflows', bonus: 24 },
297
+ { tool: 'electron_inspect_app', bonus: 14 },
298
+ { tool: 'electron_ipc_sniff', bonus: 12 },
299
+ { tool: 'asar_search', bonus: 10 },
300
+ { tool: 'electron_check_fuses', bonus: 8 },
301
+ ],
302
+ },
142
303
  ];
143
304
  export const DEFAULT_SEARCH_CONFIG = {
144
305
  queryCategoryProfiles: DEFAULT_QUERY_CATEGORY_PROFILE_CONFIGS,
@@ -1,3 +1,6 @@
1
+ export declare const SHUTDOWN_TIMEOUT_MS: number;
2
+ export declare const RUNTIME_ERROR_WINDOW_MS: number;
3
+ export declare const RUNTIME_ERROR_THRESHOLD: number;
1
4
  export declare const DEBUG_PORT_CANDIDATES: number[];
2
5
  export declare const DEFAULT_DEBUG_PORT: number;
3
6
  export declare const GHIDRA_BRIDGE_ENDPOINT: string;
@@ -40,6 +40,9 @@ const csv = (key, fallback) => {
40
40
  .filter(Boolean);
41
41
  return parsed.length > 0 ? parsed : fallback;
42
42
  };
43
+ export const SHUTDOWN_TIMEOUT_MS = int('SHUTDOWN_TIMEOUT_MS', 10_000);
44
+ export const RUNTIME_ERROR_WINDOW_MS = int('RUNTIME_ERROR_WINDOW_MS', 60_000);
45
+ export const RUNTIME_ERROR_THRESHOLD = int('RUNTIME_ERROR_THRESHOLD', 5);
43
46
  export const DEBUG_PORT_CANDIDATES = list('DEBUG_PORT_CANDIDATES', [9222, 9229, 9333, 2039]);
44
47
  export const DEFAULT_DEBUG_PORT = int('DEFAULT_DEBUG_PORT', 9222);
45
48
  export const GHIDRA_BRIDGE_ENDPOINT = str('GHIDRA_BRIDGE_URL', 'http://127.0.0.1:18080');
@@ -146,7 +149,7 @@ export const PARALLEL_DEFAULT_TIMEOUT_MS = int('PARALLEL_DEFAULT_TIMEOUT_MS', 60
146
149
  export const PARALLEL_DEFAULT_MAX_RETRIES = int('PARALLEL_DEFAULT_MAX_RETRIES', 2);
147
150
  export const PARALLEL_RETRY_BACKOFF_BASE_MS = int('PARALLEL_RETRY_BACKOFF_BASE_MS', 1_000);
148
151
  export const CACHE_GLOBAL_MAX_SIZE_BYTES = int('CACHE_GLOBAL_MAX_SIZE_BYTES', 500 * 1024 * 1024);
149
- export const CACHE_LOW_HIT_RATE_THRESHOLD = parseFloat(process.env.CACHE_LOW_HIT_RATE_THRESHOLD || '0.3');
152
+ export const CACHE_LOW_HIT_RATE_THRESHOLD = float('CACHE_LOW_HIT_RATE_THRESHOLD', 0.3);
150
153
  export const TOKEN_BUDGET_MAX_TOKENS = int('TOKEN_BUDGET_MAX_TOKENS', 200_000);
151
154
  export const DETAILED_DATA_DEFAULT_TTL_MS = int('DETAILED_DATA_DEFAULT_TTL_MS', 30 * 60 * 1000);
152
155
  export const DETAILED_DATA_MAX_TTL_MS = int('DETAILED_DATA_MAX_TTL_MS', 60 * 60 * 1000);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ export declare function main(): Promise<void>;
package/dist/src/index.js CHANGED
@@ -5,7 +5,7 @@ import { logger } from './utils/logger.js';
5
5
  import { initRegistry } from './server/registry/index.js';
6
6
  import { resolveCliFastPath } from './utils/cliFastPath.js';
7
7
  import { cleanupArtifacts, getArtifactRetentionConfig, startArtifactRetentionScheduler, } from './utils/artifactRetention.js';
8
- const SHUTDOWN_TIMEOUT_MS = 10_000;
8
+ import { SHUTDOWN_TIMEOUT_MS, RUNTIME_ERROR_WINDOW_MS, RUNTIME_ERROR_THRESHOLD, } from './constants.js';
9
9
  const FATAL_ERROR_CODES = new Set([
10
10
  'ERR_WORKER_OUT_OF_MEMORY',
11
11
  'ERR_MEMORY_ALLOCATION_FAILED',
@@ -41,8 +41,16 @@ function formatUnknownError(input) {
41
41
  return String(input);
42
42
  }
43
43
  }
44
- async function main() {
44
+ export async function main() {
45
45
  try {
46
+ const cliFastPath = resolveCliFastPath(process.argv.slice(2), import.meta.url);
47
+ if (cliFastPath.handled) {
48
+ if (cliFastPath.output) {
49
+ process.stdout.write(cliFastPath.output);
50
+ }
51
+ process.exit(cliFastPath.exitCode);
52
+ return;
53
+ }
46
54
  const config = getConfig();
47
55
  logger.debug('Configuration loaded:', config);
48
56
  const validation = validateConfig(config);
@@ -50,12 +58,7 @@ async function main() {
50
58
  logger.error('Configuration validation failed:');
51
59
  validation.errors.forEach((error) => logger.error(` - ${error}`));
52
60
  process.exit(1);
53
- }
54
- if (config.llm.provider === 'openai' && !config.llm.openai?.apiKey) {
55
- logger.warn('OPENAI_API_KEY is not configured. AI-assisted tools may return configuration errors.');
56
- }
57
- if (config.llm.provider === 'anthropic' && !config.llm.anthropic?.apiKey) {
58
- logger.warn('ANTHROPIC_API_KEY is not configured. AI-assisted tools may return configuration errors.');
61
+ return;
59
62
  }
60
63
  const artifactRetention = getArtifactRetentionConfig();
61
64
  if (artifactRetention.cleanupOnStart && artifactRetention.enabled) {
@@ -68,8 +71,8 @@ async function main() {
68
71
  await initRegistry();
69
72
  const server = new MCPServer(config);
70
73
  const stopArtifactRetentionScheduler = startArtifactRetentionScheduler();
71
- const recoveryWindowMs = Math.max(1000, parseInt(process.env.RUNTIME_ERROR_WINDOW_MS ?? '60000', 10));
72
- const maxRecoverableErrors = Math.max(1, parseInt(process.env.RUNTIME_ERROR_THRESHOLD ?? '5', 10));
74
+ const recoveryWindowMs = Math.max(1000, RUNTIME_ERROR_WINDOW_MS);
75
+ const maxRecoverableErrors = Math.max(1, RUNTIME_ERROR_THRESHOLD);
73
76
  const runtimeRecovery = {
74
77
  windowStart: Date.now(),
75
78
  errorCount: 0,
@@ -175,11 +178,4 @@ async function main() {
175
178
  process.exit(1);
176
179
  }
177
180
  }
178
- const cliFastPath = resolveCliFastPath(process.argv.slice(2), import.meta.url);
179
- if (cliFastPath.handled) {
180
- if (cliFastPath.output) {
181
- process.stdout.write(cliFastPath.output);
182
- }
183
- process.exit(cliFastPath.exitCode);
184
- }
185
181
  void main();
@@ -1,8 +1,6 @@
1
1
  import type { UnderstandCodeOptions, UnderstandCodeResult } from '../../types/index.js';
2
- import { type LLMService } from '../../services/LLMService.js';
3
2
  export declare class CodeAnalyzer {
4
- private llm;
5
- constructor(llm: LLMService);
3
+ constructor(legacyDependency?: unknown);
6
4
  understand(options: UnderstandCodeOptions): Promise<UnderstandCodeResult>;
7
5
  private analyzeStructure;
8
6
  private aiAnalyze;
@@ -1,7 +1,5 @@
1
1
  import * as parser from '@babel/parser';
2
2
  import traverse from '@babel/traverse';
3
- import {} from '../../services/LLMService.js';
4
- import { generateCodeAnalysisPrompt } from '../../services/prompts/analysis.js';
5
3
  import { logger } from '../../utils/logger.js';
6
4
  import { identifySecurityRisks } from '../analyzer/SecurityCodeAnalyzer.js';
7
5
  import { calculateQualityScore, detectCodePatterns, analyzeComplexityMetrics, } from '../analyzer/QualityAnalyzer.js';
@@ -11,9 +9,8 @@ const isTraversablePath = (value) => typeof value === 'object' &&
11
9
  'traverse' in value &&
12
10
  typeof value.traverse === 'function';
13
11
  export class CodeAnalyzer {
14
- llm;
15
- constructor(llm) {
16
- this.llm = llm;
12
+ constructor(legacyDependency) {
13
+ void legacyDependency;
17
14
  }
18
15
  async understand(options) {
19
16
  logger.info('Starting code understanding...');
@@ -64,9 +61,8 @@ export class CodeAnalyzer {
64
61
  sourceType: 'module',
65
62
  plugins: ['jsx', 'typescript'],
66
63
  });
67
- const self = this;
68
64
  traverse(ast, {
69
- FunctionDeclaration(path) {
65
+ FunctionDeclaration: (path) => {
70
66
  const node = path.node;
71
67
  functions.push({
72
68
  name: node.id?.name || 'anonymous',
@@ -76,10 +72,10 @@ export class CodeAnalyzer {
76
72
  line: node.loc?.start.line || 0,
77
73
  column: node.loc?.start.column,
78
74
  },
79
- complexity: self.calculateComplexity(path),
75
+ complexity: this.calculateComplexity(path),
80
76
  });
81
77
  },
82
- FunctionExpression(path) {
78
+ FunctionExpression: (path) => {
83
79
  const node = path.node;
84
80
  const parent = path.parent;
85
81
  let name = 'anonymous';
@@ -91,16 +87,20 @@ export class CodeAnalyzer {
91
87
  }
92
88
  functions.push({
93
89
  name,
94
- params: node.params.map((p) => (p.type === 'Identifier' ? p.name : 'unknown')),
90
+ params: node.params.map((p) => {
91
+ if (p.type !== 'Identifier')
92
+ return 'unknown';
93
+ return p.name;
94
+ }),
95
95
  location: {
96
96
  file: 'current',
97
97
  line: node.loc?.start.line || 0,
98
98
  column: node.loc?.start.column,
99
99
  },
100
- complexity: self.calculateComplexity(path),
100
+ complexity: this.calculateComplexity(path),
101
101
  });
102
102
  },
103
- ArrowFunctionExpression(path) {
103
+ ArrowFunctionExpression: (path) => {
104
104
  const node = path.node;
105
105
  const parent = path.parent;
106
106
  let name = 'arrow';
@@ -115,7 +115,7 @@ export class CodeAnalyzer {
115
115
  line: node.loc?.start.line || 0,
116
116
  column: node.loc?.start.column,
117
117
  },
118
- complexity: self.calculateComplexity(path),
118
+ complexity: this.calculateComplexity(path),
119
119
  });
120
120
  },
121
121
  ClassDeclaration(path) {
@@ -172,20 +172,8 @@ export class CodeAnalyzer {
172
172
  callGraph,
173
173
  };
174
174
  }
175
- async aiAnalyze(code, focus) {
176
- try {
177
- const messages = generateCodeAnalysisPrompt(code, focus);
178
- const response = await this.llm.chat(messages, { temperature: 0.3, maxTokens: 2000 });
179
- const jsonMatch = response.content.match(/\{[\s\S]*\}/);
180
- if (jsonMatch) {
181
- return JSON.parse(jsonMatch[0]);
182
- }
183
- return { rawAnalysis: response.content };
184
- }
185
- catch (error) {
186
- logger.warn('AI analysis failed, using fallback', error);
187
- return {};
188
- }
175
+ async aiAnalyze(_code, _focus) {
176
+ return {};
189
177
  }
190
178
  detectTechStack(code, aiAnalysis) {
191
179
  const techStack = {
@@ -363,6 +351,6 @@ export class CodeAnalyzer {
363
351
  return complexity;
364
352
  }
365
353
  async analyzeDataFlow(code) {
366
- return analyzeDataFlowWithTaint(code, this.llm);
354
+ return analyzeDataFlowWithTaint(code);
367
355
  }
368
356
  }
@@ -1,3 +1,2 @@
1
1
  import type { DataFlow } from '../../types/index.js';
2
- import type { LLMService } from '../../services/LLMService.js';
3
- export declare function analyzeDataFlowWithTaint(code: string, llm?: LLMService): Promise<DataFlow>;
2
+ export declare function analyzeDataFlowWithTaint(code: string): Promise<DataFlow>;