@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
@@ -1,207 +1,79 @@
1
+ import { tool } from '../../registry/tool-builder.js';
1
2
  export const DEBUGGER_CORE_TOOLS = [
2
- {
3
- name: 'debugger_enable',
4
- description: 'Enable the debugger (must be called before setting breakpoints)',
5
- inputSchema: {
6
- type: 'object',
7
- properties: {},
8
- },
9
- },
10
- {
11
- name: 'debugger_disable',
12
- description: 'Disable the debugger and clear all breakpoints',
13
- inputSchema: {
14
- type: 'object',
15
- properties: {},
16
- },
17
- },
18
- {
19
- name: 'debugger_pause',
20
- description: 'Pause execution at the next statement',
21
- inputSchema: {
22
- type: 'object',
23
- properties: {},
24
- },
25
- },
26
- {
27
- name: 'debugger_resume',
28
- description: 'Resume execution (continue)',
29
- inputSchema: {
30
- type: 'object',
31
- properties: {},
32
- },
33
- },
34
- {
35
- name: 'debugger_step_into',
36
- description: 'Step into the next function call',
37
- inputSchema: {
38
- type: 'object',
39
- properties: {},
40
- },
41
- },
42
- {
43
- name: 'debugger_step_over',
44
- description: 'Step over the next function call',
45
- inputSchema: {
46
- type: 'object',
47
- properties: {},
48
- },
49
- },
50
- {
51
- name: 'debugger_step_out',
52
- description: 'Step out of the current function',
53
- inputSchema: {
54
- type: 'object',
55
- properties: {},
56
- },
57
- },
58
- {
59
- name: 'breakpoint_set',
60
- description: 'Set a breakpoint at a specific location. Supports URL-based and scriptId-based breakpoints with optional conditions.',
61
- inputSchema: {
62
- type: 'object',
63
- properties: {
64
- url: {
65
- type: 'string',
66
- description: 'URL of the script (e.g., "app.js", "https://cdn.example.com/app.js")',
67
- },
68
- scriptId: {
69
- type: 'string',
70
- description: 'Script ID (alternative to URL, get from get_all_scripts)',
71
- },
72
- lineNumber: {
73
- type: 'number',
74
- description: 'Line number (0-based)',
75
- },
76
- columnNumber: {
77
- type: 'number',
78
- description: 'Column number (0-based, optional)',
79
- },
80
- condition: {
81
- type: 'string',
82
- description: 'Conditional breakpoint expression (e.g., "x > 100")',
83
- },
84
- },
85
- required: ['lineNumber'],
86
- },
87
- },
88
- {
89
- name: 'breakpoint_remove',
90
- description: 'Remove a breakpoint by its ID',
91
- inputSchema: {
92
- type: 'object',
93
- properties: {
94
- breakpointId: {
95
- type: 'string',
96
- description: 'Breakpoint ID (from breakpoint_set or breakpoint_list)',
97
- },
98
- },
99
- required: ['breakpointId'],
100
- },
101
- },
102
- {
103
- name: 'breakpoint_list',
104
- description: 'List all active breakpoints',
105
- inputSchema: {
106
- type: 'object',
107
- properties: {},
108
- },
109
- },
110
- {
111
- name: 'get_call_stack',
112
- description: 'Get the current call stack (only available when paused at a breakpoint)',
113
- inputSchema: {
114
- type: 'object',
115
- properties: {},
116
- },
117
- },
118
- {
119
- name: 'debugger_evaluate',
120
- description: 'Evaluate an expression in the context of the current call frame (only when paused)',
121
- inputSchema: {
122
- type: 'object',
123
- properties: {
124
- expression: {
125
- type: 'string',
126
- description: 'JavaScript expression to evaluate (e.g., "x + y", "user.name")',
127
- },
128
- callFrameId: {
129
- type: 'string',
130
- description: 'Call frame ID (from get_call_stack, defaults to current frame)',
131
- },
132
- },
133
- required: ['expression'],
134
- },
135
- },
136
- {
137
- name: 'debugger_evaluate_global',
138
- description: 'Evaluate an expression in the global context (does not require paused state)',
139
- inputSchema: {
140
- type: 'object',
141
- properties: {
142
- expression: {
143
- type: 'string',
144
- description: 'JavaScript expression to evaluate',
145
- },
146
- },
147
- required: ['expression'],
148
- },
149
- },
150
- {
151
- name: 'debugger_wait_for_paused',
152
- description: 'Wait for the debugger to pause (useful after setting breakpoints and triggering code)',
153
- inputSchema: {
154
- type: 'object',
155
- properties: {
156
- timeout: {
157
- type: 'number',
158
- description: 'Timeout in milliseconds (default: 30000)',
159
- default: 30000,
160
- },
161
- },
162
- },
163
- },
164
- {
165
- name: 'debugger_get_paused_state',
166
- description: 'Get the current paused state (check if debugger is paused and why)',
167
- inputSchema: {
168
- type: 'object',
169
- properties: {},
170
- },
171
- },
172
- {
173
- name: 'breakpoint_set_on_exception',
174
- description: 'Pause on exceptions (all exceptions or only uncaught)',
175
- inputSchema: {
176
- type: 'object',
177
- properties: {
178
- state: {
179
- type: 'string',
180
- description: 'Exception pause state',
181
- enum: ['none', 'uncaught', 'all'],
182
- default: 'none',
183
- },
184
- },
185
- required: ['state'],
186
- },
187
- },
188
- {
189
- name: 'get_object_properties',
190
- description: 'Get all properties of an object (when paused, use objectId from variables)',
191
- inputSchema: {
192
- type: 'object',
193
- properties: {
194
- objectId: {
195
- type: 'string',
196
- description: 'Object ID (from get_scope_variables)',
197
- },
198
- },
199
- required: ['objectId'],
200
- },
201
- },
202
- {
203
- name: 'get_scope_variables_enhanced',
204
- description: `Enhanced scope variable inspection with deep object traversal.
3
+ tool('debugger_enable')
4
+ .desc('Enable the debugger (must be called before setting breakpoints)')
5
+ .idempotent()
6
+ .build(),
7
+ tool('debugger_disable')
8
+ .desc('Disable the debugger and clear all breakpoints')
9
+ .destructive()
10
+ .build(),
11
+ tool('debugger_pause').desc('Pause execution at the next statement').build(),
12
+ tool('debugger_resume').desc('Resume execution (continue)').build(),
13
+ tool('debugger_step_into').desc('Step into the next function call').build(),
14
+ tool('debugger_step_over').desc('Step over the next function call').build(),
15
+ tool('debugger_step_out').desc('Step out of the current function').build(),
16
+ tool('breakpoint_set')
17
+ .desc('Set a breakpoint at a specific location. Supports URL-based and scriptId-based breakpoints with optional conditions.')
18
+ .string('url', 'URL of the script (e.g., "app.js", "https://cdn.example.com/app.js")')
19
+ .string('scriptId', 'Script ID (alternative to URL, get from get_all_scripts)')
20
+ .number('lineNumber', 'Line number (0-based)')
21
+ .number('columnNumber', 'Column number (0-based, optional)')
22
+ .string('condition', 'Conditional breakpoint expression (e.g., "x > 100")')
23
+ .required('lineNumber')
24
+ .idempotent()
25
+ .build(),
26
+ tool('breakpoint_remove')
27
+ .desc('Remove a breakpoint by its ID')
28
+ .string('breakpointId', 'Breakpoint ID (from breakpoint_set or breakpoint_list)')
29
+ .required('breakpointId')
30
+ .idempotent()
31
+ .build(),
32
+ tool('breakpoint_list').desc('List all active breakpoints').readOnly().idempotent().build(),
33
+ tool('get_call_stack')
34
+ .desc('Get the current call stack (only available when paused at a breakpoint)')
35
+ .readOnly()
36
+ .idempotent()
37
+ .build(),
38
+ tool('debugger_evaluate')
39
+ .desc('Evaluate an expression in the context of the current call frame (only when paused)')
40
+ .string('expression', 'JavaScript expression to evaluate (e.g., "x + y", "user.name")')
41
+ .string('callFrameId', 'Call frame ID (from get_call_stack, defaults to current frame)')
42
+ .required('expression')
43
+ .openWorld()
44
+ .build(),
45
+ tool('debugger_evaluate_global')
46
+ .desc('Evaluate an expression in the global context (does not require paused state)')
47
+ .string('expression', 'JavaScript expression to evaluate')
48
+ .required('expression')
49
+ .openWorld()
50
+ .build(),
51
+ tool('debugger_wait_for_paused')
52
+ .desc('Wait for the debugger to pause (useful after setting breakpoints and triggering code)')
53
+ .number('timeout', 'Timeout in milliseconds (default: 30000)', { default: 30000 })
54
+ .readOnly()
55
+ .idempotent()
56
+ .build(),
57
+ tool('debugger_get_paused_state')
58
+ .desc('Get the current paused state (check if debugger is paused and why)')
59
+ .readOnly()
60
+ .idempotent()
61
+ .build(),
62
+ tool('breakpoint_set_on_exception')
63
+ .desc('Pause on exceptions (all exceptions or only uncaught)')
64
+ .enum('state', ['none', 'uncaught', 'all'], 'Exception pause state', { default: 'none' })
65
+ .required('state')
66
+ .idempotent()
67
+ .build(),
68
+ tool('get_object_properties')
69
+ .desc('Get all properties of an object (when paused, use objectId from variables)')
70
+ .string('objectId', 'Object ID (from get_scope_variables)')
71
+ .required('objectId')
72
+ .readOnly()
73
+ .idempotent()
74
+ .build(),
75
+ tool('get_scope_variables_enhanced')
76
+ .desc(`Enhanced scope variable inspection with deep object traversal.
205
77
 
206
78
  Improvements over get_scope_variables:
207
79
  1. Graceful error handling for "Could not find object" errors (retries with fallback)
@@ -216,35 +88,20 @@ Use cases:
216
88
 
217
89
  Examples:
218
90
  get_scope_variables_enhanced()
219
- get_scope_variables_enhanced(callFrameId="xxx", includeObjectProperties=true)`,
220
- inputSchema: {
221
- type: 'object',
222
- properties: {
223
- callFrameId: {
224
- type: 'string',
225
- description: 'Call frame ID (from get_call_stack, defaults to current frame)',
226
- },
227
- includeObjectProperties: {
228
- type: 'boolean',
229
- description: 'Expand object properties recursively (default: false)',
230
- default: false,
231
- },
232
- maxDepth: {
233
- type: 'number',
234
- description: 'Maximum traversal depth for nested objects (default: 1)',
235
- default: 1,
236
- },
237
- skipErrors: {
238
- type: 'boolean',
239
- description: 'Skip properties that throw errors during access (default: true)',
240
- default: true,
241
- },
242
- },
243
- },
244
- },
245
- {
246
- name: 'debugger_save_session',
247
- description: `Save the current debugging session to a JSON file for later restoration.
91
+ get_scope_variables_enhanced(callFrameId="xxx", includeObjectProperties=true)`)
92
+ .string('callFrameId', 'Call frame ID (from get_call_stack, defaults to current frame)')
93
+ .boolean('includeObjectProperties', 'Expand object properties recursively (default: false)', {
94
+ default: false,
95
+ })
96
+ .number('maxDepth', 'Maximum traversal depth for nested objects (default: 1)', { default: 1 })
97
+ .boolean('skipErrors', 'Skip properties that throw errors during access (default: true)', {
98
+ default: true,
99
+ })
100
+ .readOnly()
101
+ .idempotent()
102
+ .build(),
103
+ tool('debugger_save_session')
104
+ .desc(`Save the current debugging session to a JSON file for later restoration.
248
105
 
249
106
  Captures:
250
107
  - All active breakpoints (location, condition, action)
@@ -257,24 +114,13 @@ Saved to:
257
114
 
258
115
  Examples:
259
116
  debugger_save_session()
260
- debugger_save_session(filePath="my-debug-session.json", metadata={description: "Login flow debugging"})`,
261
- inputSchema: {
262
- type: 'object',
263
- properties: {
264
- filePath: {
265
- type: 'string',
266
- description: 'Output file path (defaults to ./debugger-sessions/<timestamp>.json)',
267
- },
268
- metadata: {
269
- type: 'object',
270
- description: 'Optional metadata to attach (e.g., description, tags)',
271
- },
272
- },
273
- },
274
- },
275
- {
276
- name: 'debugger_load_session',
277
- description: `Load a previously saved debugging session to restore breakpoints and watches.
117
+ debugger_save_session(filePath="my-debug-session.json", metadata={description: "Login flow debugging"})`)
118
+ .string('filePath', 'Output file path (defaults to ./debugger-sessions/<timestamp>.json)')
119
+ .object('metadata', {}, 'Optional metadata to attach (e.g., description, tags)')
120
+ .idempotent()
121
+ .build(),
122
+ tool('debugger_load_session')
123
+ .desc(`Load a previously saved debugging session to restore breakpoints and watches.
278
124
 
279
125
  Two input modes:
280
126
  1. File path: provide filePath to load from disk
@@ -287,24 +133,13 @@ Restores:
287
133
 
288
134
  Examples:
289
135
  debugger_load_session(filePath="my-debug-session.json")
290
- debugger_load_session(sessionData="{...}")`,
291
- inputSchema: {
292
- type: 'object',
293
- properties: {
294
- filePath: {
295
- type: 'string',
296
- description: 'Path to the saved session file',
297
- },
298
- sessionData: {
299
- type: 'string',
300
- description: 'Session JSON string (alternative to filePath)',
301
- },
302
- },
303
- },
304
- },
305
- {
306
- name: 'debugger_export_session',
307
- description: `Export the current debugging session as a JSON string for sharing or backup.
136
+ debugger_load_session(sessionData="{...}")`)
137
+ .string('filePath', 'Path to the saved session file')
138
+ .string('sessionData', 'Session JSON string (alternative to filePath)')
139
+ .idempotent()
140
+ .build(),
141
+ tool('debugger_export_session')
142
+ .desc(`Export the current debugging session as a JSON string for sharing or backup.
308
143
 
309
144
  Returns session data as JSON, including:
310
145
  - Active breakpoints
@@ -313,20 +148,13 @@ Returns session data as JSON, including:
313
148
 
314
149
  Examples:
315
150
  debugger_export_session()
316
- debugger_export_session(metadata={description: "API debugging session"})`,
317
- inputSchema: {
318
- type: 'object',
319
- properties: {
320
- metadata: {
321
- type: 'object',
322
- description: 'Optional metadata to include in the export',
323
- },
324
- },
325
- },
326
- },
327
- {
328
- name: 'debugger_list_sessions',
329
- description: `List all saved debugging sessions in the ./debugger-sessions/ directory.
151
+ debugger_export_session(metadata={description: "API debugging session"})`)
152
+ .object('metadata', {}, 'Optional metadata to include in the export')
153
+ .readOnly()
154
+ .idempotent()
155
+ .build(),
156
+ tool('debugger_list_sessions')
157
+ .desc(`List all saved debugging sessions in the ./debugger-sessions/ directory.
330
158
 
331
159
  Returns for each session:
332
160
  - File name and path
@@ -338,10 +166,8 @@ Use cases:
338
166
  - Clean up old sessions
339
167
 
340
168
  Examples:
341
- debugger_list_sessions()`,
342
- inputSchema: {
343
- type: 'object',
344
- properties: {},
345
- },
346
- },
169
+ debugger_list_sessions()`)
170
+ .readOnly()
171
+ .idempotent()
172
+ .build(),
347
173
  ];
@@ -26,8 +26,15 @@ const manifest = {
26
26
  profiles: ['workflow', 'full'],
27
27
  ensure,
28
28
  prerequisites: {
29
- debugger_enable: [{ condition: 'Browser must be launched', fix: 'Call browser_launch or browser_attach first' }],
30
- breakpoint_set: [{ condition: 'Browser must be launched', fix: 'Call browser_launch and debugger_enable first' }],
29
+ debugger_enable: [
30
+ { condition: 'Browser must be launched', fix: 'Call browser_launch or browser_attach first' },
31
+ ],
32
+ breakpoint_set: [
33
+ {
34
+ condition: 'Browser must be launched',
35
+ fix: 'Call browser_launch and debugger_enable first',
36
+ },
37
+ ],
31
38
  },
32
39
  registrations: [
33
40
  { tool: t('debugger_enable'), domain: DOMAIN, bind: b((h, a) => h.handleDebuggerEnable(a)) },
@@ -1,155 +1,45 @@
1
+ import { tool } from '../../registry/tool-builder.js';
1
2
  export const encodingTools = [
2
- {
3
- name: 'binary_detect_format',
4
- description: 'Detect binary payload format/encoding via magic bytes, encoding heuristics, and Shannon entropy.',
5
- inputSchema: {
6
- type: 'object',
7
- properties: {
8
- data: {
9
- type: 'string',
10
- description: 'Input payload string. For source=file, this is optional. For source=raw + requestId, this can be omitted.',
11
- },
12
- source: {
13
- type: 'string',
14
- enum: ['base64', 'hex', 'file', 'raw'],
15
- description: 'How to interpret input payload',
16
- },
17
- filePath: {
18
- type: 'string',
19
- description: 'File path when source=file (reads first 512 bytes)',
20
- },
21
- requestId: {
22
- type: 'string',
23
- description: 'Optional captured network requestId to resolve response body from active page context',
24
- },
25
- },
26
- required: ['source'],
27
- },
28
- annotations: {
29
- readOnlyHint: true,
30
- destructiveHint: false,
31
- idempotentHint: true,
32
- openWorldHint: false,
33
- },
34
- },
35
- {
36
- name: 'binary_decode',
37
- description: 'Decode binary payloads (base64/hex/url/protobuf/msgpack) into hex, utf8, or json output.',
38
- inputSchema: {
39
- type: 'object',
40
- properties: {
41
- data: {
42
- type: 'string',
43
- description: 'Input encoded payload',
44
- },
45
- encoding: {
46
- type: 'string',
47
- enum: ['base64', 'hex', 'url', 'protobuf', 'msgpack'],
48
- description: 'Declared input encoding/format',
49
- },
50
- outputFormat: {
51
- type: 'string',
52
- enum: ['hex', 'utf8', 'json'],
53
- description: 'Target output format',
54
- default: 'hex',
55
- },
56
- },
57
- required: ['data', 'encoding'],
58
- },
59
- annotations: {
60
- readOnlyHint: false,
61
- destructiveHint: false,
62
- idempotentHint: false,
63
- openWorldHint: false,
64
- },
65
- },
66
- {
67
- name: 'binary_encode',
68
- description: 'Encode utf8/hex/json input into base64/hex/url output.',
69
- inputSchema: {
70
- type: 'object',
71
- properties: {
72
- data: {
73
- type: 'string',
74
- description: 'Input payload',
75
- },
76
- inputFormat: {
77
- type: 'string',
78
- enum: ['utf8', 'hex', 'json'],
79
- description: 'How to parse input payload',
80
- },
81
- outputEncoding: {
82
- type: 'string',
83
- enum: ['base64', 'hex', 'url'],
84
- description: 'Desired output encoding',
85
- },
86
- },
87
- required: ['data', 'inputFormat', 'outputEncoding'],
88
- },
89
- annotations: {
90
- readOnlyHint: false,
91
- destructiveHint: false,
92
- idempotentHint: false,
93
- openWorldHint: false,
94
- },
95
- },
96
- {
97
- name: 'binary_entropy_analysis',
98
- description: 'Compute Shannon entropy + byte frequency distribution to assess plaintext/encoded/compressed/encrypted/random likelihood.',
99
- inputSchema: {
100
- type: 'object',
101
- properties: {
102
- data: {
103
- type: 'string',
104
- description: 'Input payload string (optional when source=file)',
105
- },
106
- source: {
107
- type: 'string',
108
- enum: ['base64', 'hex', 'raw', 'file'],
109
- description: 'How to interpret input payload',
110
- },
111
- filePath: {
112
- type: 'string',
113
- description: 'File path when source=file',
114
- },
115
- blockSize: {
116
- type: 'number',
117
- description: 'Block size for per-block entropy (default: 256)',
118
- default: 256,
119
- },
120
- },
121
- required: ['source'],
122
- },
123
- annotations: {
124
- readOnlyHint: true,
125
- destructiveHint: false,
126
- idempotentHint: true,
127
- openWorldHint: false,
128
- },
129
- },
130
- {
131
- name: 'protobuf_decode_raw',
132
- description: 'Decode base64 protobuf bytes without schema using wire-type aware recursive parser.',
133
- inputSchema: {
134
- type: 'object',
135
- properties: {
136
- data: {
137
- type: 'string',
138
- description: 'Base64-encoded protobuf payload',
139
- },
140
- maxDepth: {
141
- type: 'number',
142
- description: 'Maximum recursive decode depth (default: 5)',
143
- default: 5,
144
- },
145
- },
146
- required: ['data'],
147
- },
148
- annotations: {
149
- readOnlyHint: true,
150
- destructiveHint: false,
151
- idempotentHint: true,
152
- openWorldHint: false,
153
- },
154
- },
3
+ tool('binary_detect_format')
4
+ .desc('Detect binary payload format/encoding via magic bytes, encoding heuristics, and Shannon entropy')
5
+ .string('data', 'Input payload')
6
+ .enum('source', ['base64', 'hex', 'file', 'raw'], 'How to interpret input payload')
7
+ .string('filePath', 'File path when source=file')
8
+ .string('requestId', 'Captured network requestId to resolve response body')
9
+ .required('source')
10
+ .readOnly()
11
+ .idempotent()
12
+ .build(),
13
+ tool('binary_decode')
14
+ .desc('Decode binary payloads into hex, utf8, or json output')
15
+ .string('data', 'Input encoded payload')
16
+ .enum('encoding', ['base64', 'hex', 'url', 'protobuf', 'msgpack'], 'Declared input encoding')
17
+ .enum('outputFormat', ['hex', 'utf8', 'json'], 'Target output format', { default: 'hex' })
18
+ .required('data', 'encoding')
19
+ .build(),
20
+ tool('binary_encode')
21
+ .desc('Encode utf8/hex/json input into base64/hex/url output')
22
+ .string('data', 'Input payload')
23
+ .enum('inputFormat', ['utf8', 'hex', 'json'], 'How to parse input')
24
+ .enum('outputEncoding', ['base64', 'hex', 'url'], 'Desired output encoding')
25
+ .required('data', 'inputFormat', 'outputEncoding')
26
+ .build(),
27
+ tool('binary_entropy_analysis')
28
+ .desc('Compute Shannon entropy + byte frequency to assess plaintext/encoded/compressed/encrypted likelihood')
29
+ .string('data', 'Input payload')
30
+ .enum('source', ['base64', 'hex', 'raw', 'file'], 'How to interpret input payload')
31
+ .string('filePath', 'File path when source=file')
32
+ .number('blockSize', 'Block size for per-block entropy', { default: 256 })
33
+ .required('source')
34
+ .readOnly()
35
+ .idempotent()
36
+ .build(),
37
+ tool('protobuf_decode_raw')
38
+ .desc('Decode base64 protobuf bytes without schema using wire-type aware recursive parser')
39
+ .string('data', 'Base64-encoded protobuf payload')
40
+ .number('maxDepth', 'Maximum recursive decode depth', { default: 5 })
41
+ .required('data')
42
+ .readOnly()
43
+ .idempotent()
44
+ .build(),
155
45
  ];