@jshookmcp/jshook 0.2.0 → 0.2.2

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 (858) hide show
  1. package/README.md +4 -4
  2. package/README.zh.md +3 -3
  3. package/dist/packages/extension-sdk/src/bridges/shared.d.ts +40 -0
  4. package/dist/packages/extension-sdk/src/bridges/shared.js +196 -0
  5. package/dist/packages/extension-sdk/src/plugin.d.ts +42 -30
  6. package/dist/packages/extension-sdk/src/plugin.js +48 -16
  7. package/dist/src/config/search-defaults.d.ts +46 -0
  8. package/dist/src/config/search-defaults.js +151 -0
  9. package/dist/src/constants.d.ts +47 -15
  10. package/dist/src/constants.js +47 -17
  11. package/dist/src/index.js +61 -15
  12. package/dist/src/modules/analyzer/CodeAnalyzer.js +1 -0
  13. package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.js +4 -1
  14. package/dist/src/modules/analyzer/IntelligentAnalyzer.js +2 -1
  15. package/dist/src/modules/analyzer/PatternDetector.js +2 -1
  16. package/dist/src/modules/browser/BrowserDiscovery.js +24 -7
  17. package/dist/src/modules/browser/BrowserModeManager.d.ts +5 -1
  18. package/dist/src/modules/browser/BrowserModeManager.js +49 -6
  19. package/dist/src/modules/browser/CDPErrorMapper.d.ts +4 -0
  20. package/dist/src/modules/browser/CDPErrorMapper.js +82 -0
  21. package/dist/src/modules/browser/CamoufoxBrowserManager.d.ts +1 -0
  22. package/dist/src/modules/browser/CamoufoxBrowserManager.js +15 -5
  23. package/dist/src/modules/browser/HookHeartbeat.d.ts +38 -0
  24. package/dist/src/modules/browser/HookHeartbeat.js +76 -0
  25. package/dist/src/modules/browser/UnifiedBrowserManager.d.ts +2 -2
  26. package/dist/src/modules/browser/UnifiedBrowserManager.js +5 -2
  27. package/dist/src/modules/browser/index.d.ts +2 -2
  28. package/dist/src/modules/browser/index.js +2 -2
  29. package/dist/src/modules/captcha/AICaptchaDetector.js +7 -4
  30. package/dist/src/modules/captcha/CaptchaDetector.js +14 -3
  31. package/dist/src/modules/captcha/rules/captcha-keywords.js +2 -9
  32. package/dist/src/modules/captcha/rules/dom-rules.d.ts +28 -2
  33. package/dist/src/modules/captcha/rules/exclude-keywords.js +15 -2
  34. package/dist/src/modules/collector/CodeCache.d.ts +3 -0
  35. package/dist/src/modules/collector/CodeCache.js +9 -2
  36. package/dist/src/modules/collector/CodeCollector.d.ts +36 -1
  37. package/dist/src/modules/collector/CodeCollector.js +320 -32
  38. package/dist/src/modules/collector/CodeCollectorCollectInternal.js +36 -11
  39. package/dist/src/modules/collector/PageController.d.ts +14 -1
  40. package/dist/src/modules/collector/PageController.js +78 -4
  41. package/dist/src/modules/collector/PageScriptCollectors.d.ts +5 -2
  42. package/dist/src/modules/collector/PageScriptCollectors.js +37 -15
  43. package/dist/src/modules/crypto/CryptoDetector.js +5 -1
  44. package/dist/src/modules/debugger/DebuggerManager.impl.core.execution.js +7 -0
  45. package/dist/src/modules/debugger/DebuggerManager.impl.core.scope.js +1 -1
  46. package/dist/src/modules/deobfuscator/AdvancedDeobfuscator.ast.js +3 -2
  47. package/dist/src/modules/deobfuscator/Deobfuscator.js +4 -1
  48. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.js +1 -1
  49. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.js +5 -1
  50. package/dist/src/modules/deobfuscator/PackerDeobfuscator.js +8 -2
  51. package/dist/src/modules/deobfuscator/VMDeobfuscator.js +1 -0
  52. package/dist/src/modules/deobfuscator/webcrack.js +3 -1
  53. package/dist/src/modules/detector/ObfuscationDetector.d.ts +1 -1
  54. package/dist/src/modules/emulator/EmulatorCodeGen.js +1 -2
  55. package/dist/src/modules/emulator/EnvironmentEmulator.js +2 -2
  56. package/dist/src/modules/external/ExternalToolRunner.js +2 -6
  57. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.d.ts +15 -5
  58. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.js +43 -16
  59. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.dynamic.d.ts +9 -3
  60. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.dynamic.js +39 -15
  61. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.network.d.ts +6 -2
  62. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.network.js +6 -6
  63. package/dist/src/modules/monitor/NetworkMonitor.impl.d.ts +6 -2
  64. package/dist/src/modules/monitor/NetworkMonitor.impl.js +26 -10
  65. package/dist/src/modules/monitor/PerformanceMonitor.js +47 -10
  66. package/dist/src/modules/monitor/PlaywrightNetworkMonitor.d.ts +8 -2
  67. package/dist/src/modules/monitor/PlaywrightNetworkMonitor.js +39 -15
  68. package/dist/src/modules/process/LinuxProcessManager.d.ts +1 -1
  69. package/dist/src/modules/process/LinuxProcessManager.js +18 -8
  70. package/dist/src/modules/process/MacProcessManager.d.ts +1 -1
  71. package/dist/src/modules/process/MacProcessManager.js +17 -9
  72. package/dist/src/modules/process/MemoryManager.js +8 -4
  73. package/dist/src/modules/process/ProcessManager.impl.d.ts +1 -1
  74. package/dist/src/modules/process/ProcessManager.impl.js +4 -2
  75. package/dist/src/modules/process/memory/availability.js +15 -4
  76. package/dist/src/modules/process/memory/index.d.ts +1 -1
  77. package/dist/src/modules/process/memory/index.js +1 -1
  78. package/dist/src/modules/process/memory/injector.js +8 -2
  79. package/dist/src/modules/process/memory/monitor.js +1 -0
  80. package/dist/src/modules/process/memory/reader.js +17 -6
  81. package/dist/src/modules/process/memory/regions.dump.js +9 -3
  82. package/dist/src/modules/process/memory/regions.enumerate.js +11 -6
  83. package/dist/src/modules/process/memory/regions.modules.js +4 -1
  84. package/dist/src/modules/process/memory/regions.protection.js +10 -4
  85. package/dist/src/modules/process/memory/scanner.darwin.js +13 -5
  86. package/dist/src/modules/process/memory/scanner.js +11 -3
  87. package/dist/src/modules/process/memory/scanner.linux.js +5 -2
  88. package/dist/src/modules/process/memory/scanner.windows.js +4 -2
  89. package/dist/src/modules/process/memory/writer.js +15 -7
  90. package/dist/src/modules/security/ExecutionSandbox.js +2 -2
  91. package/dist/src/modules/stealth/CDPTimingProxy.d.ts +20 -0
  92. package/dist/src/modules/stealth/CDPTimingProxy.js +41 -0
  93. package/dist/src/modules/stealth/CDPTimingProxy.types.d.ts +7 -0
  94. package/dist/src/modules/stealth/CDPTimingProxy.types.js +6 -0
  95. package/dist/src/modules/stealth/FingerprintManager.d.ts +15 -0
  96. package/dist/src/modules/stealth/FingerprintManager.js +92 -0
  97. package/dist/src/modules/stealth/FingerprintManager.types.d.ts +16 -0
  98. package/dist/src/modules/stealth/StealthScripts.d.ts +1 -0
  99. package/dist/src/modules/stealth/StealthScripts.js +50 -8
  100. package/dist/src/modules/stealth/StealthVerifier.d.ts +18 -0
  101. package/dist/src/modules/stealth/StealthVerifier.js +145 -0
  102. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.d.ts +1 -1
  103. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.js +3 -3
  104. package/dist/src/modules/trace/TraceDB.d.ts +30 -0
  105. package/dist/src/modules/trace/TraceDB.js +221 -0
  106. package/dist/src/modules/trace/TraceDB.types.d.ts +37 -0
  107. package/dist/src/modules/trace/TraceRecorder.d.ts +32 -0
  108. package/dist/src/modules/trace/TraceRecorder.js +260 -0
  109. package/dist/src/modules/trace/TraceRecorder.types.d.ts +15 -0
  110. package/dist/src/native/AntiCheatDetector.d.ts +10 -0
  111. package/dist/src/native/AntiCheatDetector.js +211 -0
  112. package/dist/src/native/AntiCheatDetector.types.d.ts +22 -0
  113. package/dist/src/native/CodeInjector.d.ts +12 -0
  114. package/dist/src/native/CodeInjector.js +155 -0
  115. package/dist/src/native/CodeInjector.types.d.ts +15 -0
  116. package/dist/src/native/HardwareBreakpoint.d.ts +18 -0
  117. package/dist/src/native/HardwareBreakpoint.js +237 -0
  118. package/dist/src/native/HardwareBreakpoint.types.d.ts +53 -0
  119. package/dist/src/native/HeapAnalyzer.d.ts +18 -0
  120. package/dist/src/native/HeapAnalyzer.js +239 -0
  121. package/dist/src/native/HeapAnalyzer.types.d.ts +49 -0
  122. package/dist/src/native/HeapAnalyzer.types.js +9 -0
  123. package/dist/src/native/MemoryController.d.ts +17 -0
  124. package/dist/src/native/MemoryController.js +165 -0
  125. package/dist/src/native/MemoryController.types.d.ts +18 -0
  126. package/dist/src/native/MemoryScanSession.d.ts +24 -0
  127. package/dist/src/native/MemoryScanSession.js +140 -0
  128. package/dist/src/native/MemoryScanner.d.ts +45 -0
  129. package/dist/src/native/MemoryScanner.js +397 -0
  130. package/dist/src/native/NativeMemoryManager.availability.js +32 -1
  131. package/dist/src/native/NativeMemoryManager.impl.d.ts +2 -0
  132. package/dist/src/native/NativeMemoryManager.impl.js +108 -78
  133. package/dist/src/native/NativeMemoryManager.types.d.ts +24 -1
  134. package/dist/src/native/NativeMemoryManager.utils.js +48 -1
  135. package/dist/src/native/PEAnalyzer.d.ts +16 -0
  136. package/dist/src/native/PEAnalyzer.js +380 -0
  137. package/dist/src/native/PEAnalyzer.types.d.ts +77 -0
  138. package/dist/src/native/PEAnalyzer.types.js +16 -0
  139. package/dist/src/native/PointerChainEngine.d.ts +16 -0
  140. package/dist/src/native/PointerChainEngine.js +319 -0
  141. package/dist/src/native/PointerChainEngine.types.d.ts +39 -0
  142. package/dist/src/native/ScanComparators.d.ts +5 -0
  143. package/dist/src/native/ScanComparators.js +162 -0
  144. package/dist/src/native/Speedhack.d.ts +16 -0
  145. package/dist/src/native/Speedhack.js +159 -0
  146. package/dist/src/native/Speedhack.types.d.ts +8 -0
  147. package/dist/src/native/StructureAnalyzer.d.ts +31 -0
  148. package/dist/src/native/StructureAnalyzer.js +449 -0
  149. package/dist/src/native/StructureAnalyzer.types.d.ts +42 -0
  150. package/dist/src/native/Win32API.js +5 -2
  151. package/dist/src/native/Win32Debug.d.ts +112 -0
  152. package/dist/src/native/Win32Debug.js +284 -0
  153. package/dist/src/native/formatAddress.d.ts +2 -0
  154. package/dist/src/native/formatAddress.js +6 -0
  155. package/dist/src/native/platform/PlatformMemoryAPI.d.ts +14 -0
  156. package/dist/src/native/platform/darwin/DarwinAPI.d.ts +122 -0
  157. package/dist/src/native/platform/darwin/DarwinAPI.js +225 -0
  158. package/dist/src/native/platform/darwin/DarwinMemoryProvider.d.ts +17 -0
  159. package/dist/src/native/platform/darwin/DarwinMemoryProvider.js +230 -0
  160. package/dist/src/native/platform/darwin/index.d.ts +1 -0
  161. package/dist/src/native/platform/darwin/index.js +1 -0
  162. package/dist/src/native/platform/factory.d.ts +3 -0
  163. package/dist/src/native/platform/factory.js +31 -0
  164. package/dist/src/native/platform/index.d.ts +3 -0
  165. package/dist/src/native/platform/index.js +2 -0
  166. package/dist/src/native/platform/types.d.ts +50 -0
  167. package/dist/src/native/platform/types.js +12 -0
  168. package/dist/src/native/platform/win32/Win32MemoryProvider.d.ts +15 -0
  169. package/dist/src/native/platform/win32/Win32MemoryProvider.js +155 -0
  170. package/dist/src/native/platform/win32/index.d.ts +1 -0
  171. package/dist/src/native/platform/win32/index.js +1 -0
  172. package/dist/src/server/EventBus.d.ts +85 -0
  173. package/dist/src/server/EventBus.js +87 -0
  174. package/dist/src/server/MCPServer.activation.ttl.d.ts +11 -0
  175. package/dist/src/server/MCPServer.activation.ttl.js +100 -0
  176. package/dist/src/server/MCPServer.context.d.ts +54 -83
  177. package/dist/src/server/MCPServer.d.ts +43 -76
  178. package/dist/src/server/MCPServer.domain.js +4 -3
  179. package/dist/src/server/MCPServer.js +75 -81
  180. package/dist/src/server/MCPServer.registration.js +1 -3
  181. package/dist/src/server/MCPServer.search.handlers.activate.d.ts +8 -0
  182. package/dist/src/server/MCPServer.search.handlers.activate.js +37 -27
  183. package/dist/src/server/MCPServer.search.handlers.call.d.ts +3 -0
  184. package/dist/src/server/MCPServer.search.handlers.call.js +91 -0
  185. package/dist/src/server/MCPServer.search.handlers.domain.js +14 -4
  186. package/dist/src/server/MCPServer.search.handlers.route.js +63 -2
  187. package/dist/src/server/MCPServer.search.handlers.search.js +51 -69
  188. package/dist/src/server/MCPServer.search.helpers.d.ts +1 -1
  189. package/dist/src/server/MCPServer.search.helpers.js +12 -26
  190. package/dist/src/server/MCPServer.search.js +169 -122
  191. package/dist/src/server/MCPServer.search.validation.d.ts +1 -0
  192. package/dist/src/server/MCPServer.search.validation.js +13 -2
  193. package/dist/src/server/MCPServer.tools.d.ts +0 -1
  194. package/dist/src/server/MCPServer.tools.js +4 -68
  195. package/dist/src/server/MCPServer.transport.js +41 -9
  196. package/dist/src/server/ToolCallContextGuard.js +8 -1
  197. package/dist/src/server/ToolCatalog.d.ts +1 -2
  198. package/dist/src/server/ToolCatalog.js +23 -9
  199. package/dist/src/server/ToolExecutionRouter.js +2 -1
  200. package/dist/src/server/ToolHandlerMap.d.ts +1 -1
  201. package/dist/src/server/ToolHandlerMap.js +4 -2
  202. package/dist/src/server/ToolRouter.d.ts +10 -0
  203. package/dist/src/server/ToolRouter.js +271 -124
  204. package/dist/src/server/activation/ActivationController.d.ts +35 -0
  205. package/dist/src/server/activation/ActivationController.js +188 -0
  206. package/dist/src/server/activation/AutoPruner.d.ts +25 -0
  207. package/dist/src/server/activation/AutoPruner.js +73 -0
  208. package/dist/src/server/activation/CompoundConditionEngine.d.ts +38 -0
  209. package/dist/src/server/activation/CompoundConditionEngine.js +78 -0
  210. package/dist/src/server/activation/PredictiveBooster.d.ts +13 -0
  211. package/dist/src/server/activation/PredictiveBooster.js +68 -0
  212. package/dist/src/server/activation/types.d.ts +22 -0
  213. package/dist/src/server/domains/analysis/definitions.js +84 -0
  214. package/dist/src/server/domains/analysis/handlers.impl.js +80 -47
  215. package/dist/src/server/domains/analysis/handlers.web-tools.js +32 -13
  216. package/dist/src/server/domains/analysis/manifest.d.ts +66 -4
  217. package/dist/src/server/domains/analysis/manifest.js +47 -7
  218. package/dist/src/server/domains/antidebug/definitions.js +36 -0
  219. package/dist/src/server/domains/antidebug/handlers.js +9 -13
  220. package/dist/src/server/domains/antidebug/manifest.d.ts +54 -4
  221. package/dist/src/server/domains/antidebug/manifest.js +34 -8
  222. package/dist/src/server/domains/browser/definitions.d.ts +1 -1
  223. package/dist/src/server/domains/browser/definitions.js +1 -1
  224. package/dist/src/server/domains/browser/definitions.tools.advanced.js +10 -1
  225. package/dist/src/server/domains/browser/definitions.tools.behavior.js +107 -22
  226. package/dist/src/server/domains/browser/definitions.tools.page-core.js +5 -1
  227. package/dist/src/server/domains/browser/definitions.tools.runtime.js +34 -3
  228. package/dist/src/server/domains/browser/definitions.tools.security.js +117 -3
  229. package/dist/src/server/domains/browser/handlers/browser-control.d.ts +6 -0
  230. package/dist/src/server/domains/browser/handlers/browser-control.js +115 -33
  231. package/dist/src/server/domains/browser/handlers/camoufox-browser.js +6 -5
  232. package/dist/src/server/domains/browser/handlers/camoufox-flow.js +24 -15
  233. package/dist/src/server/domains/browser/handlers/captcha-handlers.js +5 -4
  234. package/dist/src/server/domains/browser/handlers/captcha-solver.js +25 -20
  235. package/dist/src/server/domains/browser/handlers/console-handlers.js +5 -4
  236. package/dist/src/server/domains/browser/handlers/detailed-data.js +3 -2
  237. package/dist/src/server/domains/browser/handlers/dom-query.js +8 -7
  238. package/dist/src/server/domains/browser/handlers/dom-search.js +4 -3
  239. package/dist/src/server/domains/browser/handlers/dom-style.js +3 -2
  240. package/dist/src/server/domains/browser/handlers/facade-initializer.js +3 -0
  241. package/dist/src/server/domains/browser/handlers/framework-state.js +24 -10
  242. package/dist/src/server/domains/browser/handlers/human-behavior.js +41 -35
  243. package/dist/src/server/domains/browser/handlers/indexeddb-dump.js +4 -3
  244. package/dist/src/server/domains/browser/handlers/js-heap.js +16 -9
  245. package/dist/src/server/domains/browser/handlers/page-data.js +6 -5
  246. package/dist/src/server/domains/browser/handlers/page-evaluation.js +28 -18
  247. package/dist/src/server/domains/browser/handlers/page-interaction.js +11 -10
  248. package/dist/src/server/domains/browser/handlers/page-navigation.js +5 -4
  249. package/dist/src/server/domains/browser/handlers/script-management.js +11 -9
  250. package/dist/src/server/domains/browser/handlers/stealth-injection.d.ts +26 -0
  251. package/dist/src/server/domains/browser/handlers/stealth-injection.js +127 -1
  252. package/dist/src/server/domains/browser/handlers/tab-workflow.js +1 -3
  253. package/dist/src/server/domains/browser/handlers.impl.d.ts +19 -1
  254. package/dist/src/server/domains/browser/handlers.impl.js +30 -10
  255. package/dist/src/server/domains/browser/manifest.d.ts +110 -4
  256. package/dist/src/server/domains/browser/manifest.js +138 -20
  257. package/dist/src/server/domains/coordination/definitions.d.ts +2 -0
  258. package/dist/src/server/domains/coordination/definitions.js +151 -0
  259. package/dist/src/server/domains/coordination/index.d.ts +34 -0
  260. package/dist/src/server/domains/coordination/index.js +145 -0
  261. package/dist/src/server/domains/coordination/manifest.d.ts +57 -0
  262. package/dist/src/server/domains/coordination/manifest.js +44 -0
  263. package/dist/src/server/domains/debugger/definitions.tools.js +1 -4
  264. package/dist/src/server/domains/debugger/handlers/blackbox-handlers.js +3 -2
  265. package/dist/src/server/domains/debugger/handlers/breakpoint-basic.js +7 -6
  266. package/dist/src/server/domains/debugger/handlers/breakpoint-exception.js +2 -1
  267. package/dist/src/server/domains/debugger/handlers/debugger-evaluate.js +4 -3
  268. package/dist/src/server/domains/debugger/handlers/debugger-state.js +2 -1
  269. package/dist/src/server/domains/debugger/handlers/event-breakpoint.js +6 -5
  270. package/dist/src/server/domains/debugger/handlers/scope-inspection.js +7 -6
  271. package/dist/src/server/domains/debugger/handlers/session-management.js +6 -5
  272. package/dist/src/server/domains/debugger/handlers/watch-expressions.js +5 -4
  273. package/dist/src/server/domains/debugger/handlers/xhr-breakpoint.js +4 -3
  274. package/dist/src/server/domains/debugger/manifest.d.ts +64 -4
  275. package/dist/src/server/domains/debugger/manifest.js +109 -21
  276. package/dist/src/server/domains/encoding/definitions.js +30 -0
  277. package/dist/src/server/domains/encoding/encoding-msgpack.d.ts +7 -0
  278. package/dist/src/server/domains/encoding/encoding-msgpack.js +266 -0
  279. package/dist/src/server/domains/encoding/encoding-protobuf.d.ts +10 -0
  280. package/dist/src/server/domains/encoding/encoding-protobuf.js +221 -0
  281. package/dist/src/server/domains/encoding/{handlers.impl.core.runtime.format.d.ts → handlers.base.d.ts} +22 -2
  282. package/dist/src/server/domains/encoding/{handlers.impl.core.runtime.analysis.js → handlers.base.js} +193 -10
  283. package/dist/src/server/domains/encoding/handlers.d.ts +1 -1
  284. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.d.ts +2 -2
  285. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.js +26 -44
  286. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.shared.d.ts +4 -1
  287. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.shared.js +12 -2
  288. package/dist/src/server/domains/encoding/handlers.js +1 -1
  289. package/dist/src/server/domains/encoding/manifest.d.ts +54 -4
  290. package/dist/src/server/domains/encoding/manifest.js +19 -5
  291. package/dist/src/server/domains/graphql/definitions.js +30 -0
  292. package/dist/src/server/domains/graphql/handlers.base.d.ts +39 -0
  293. package/dist/src/server/domains/graphql/handlers.base.js +240 -0
  294. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.base.d.ts +1 -38
  295. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.base.js +1 -239
  296. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.callgraph.d.ts +1 -9
  297. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.callgraph.js +1 -207
  298. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.extract.d.ts +1 -9
  299. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.extract.js +1 -228
  300. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.introspection.d.ts +1 -9
  301. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.introspection.js +1 -106
  302. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.replay.d.ts +27 -2
  303. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.replay.js +645 -14
  304. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.script-replace.d.ts +1 -9
  305. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.script-replace.js +1 -74
  306. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.shared.d.ts +1 -5
  307. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.shared.js +1 -5
  308. package/dist/src/server/domains/graphql/manifest.js +24 -6
  309. package/dist/src/server/domains/hooks/ai-handlers.js +21 -19
  310. package/dist/src/server/domains/hooks/definitions.js +60 -3
  311. package/dist/src/server/domains/hooks/manifest.d.ts +56 -4
  312. package/dist/src/server/domains/hooks/manifest.js +2 -1
  313. package/dist/src/server/domains/hooks/preset-handlers.js +6 -5
  314. package/dist/src/server/domains/macro/definitions.d.ts +2 -0
  315. package/dist/src/server/domains/macro/definitions.js +45 -0
  316. package/dist/src/server/domains/macro/handlers.d.ts +9 -0
  317. package/dist/src/server/domains/macro/handlers.js +82 -0
  318. package/dist/src/server/domains/macro/index.d.ts +2 -0
  319. package/dist/src/server/domains/macro/index.js +2 -0
  320. package/dist/src/server/domains/macro/manifest.d.ts +57 -0
  321. package/dist/src/server/domains/macro/manifest.js +36 -0
  322. package/dist/src/server/domains/maintenance/definitions.js +96 -330
  323. package/dist/src/server/domains/maintenance/handlers.extensions.js +30 -14
  324. package/dist/src/server/domains/maintenance/handlers.js +2 -0
  325. package/dist/src/server/domains/maintenance/index.d.ts +1 -1
  326. package/dist/src/server/domains/maintenance/index.js +1 -1
  327. package/dist/src/server/domains/maintenance/manifest.d.ts +100 -4
  328. package/dist/src/server/domains/maintenance/manifest.js +60 -11
  329. package/dist/src/server/domains/memory/definitions.d.ts +2 -0
  330. package/dist/src/server/domains/memory/definitions.js +561 -0
  331. package/dist/src/server/domains/memory/handlers.impl.d.ts +271 -0
  332. package/dist/src/server/domains/memory/handlers.impl.js +497 -0
  333. package/dist/src/server/domains/memory/index.d.ts +2 -0
  334. package/dist/src/server/domains/memory/index.js +2 -0
  335. package/dist/src/server/domains/memory/manifest.d.ts +7 -0
  336. package/dist/src/server/domains/memory/manifest.js +159 -0
  337. package/dist/src/server/domains/native-bridge/definitions.js +42 -2
  338. package/dist/src/server/domains/native-bridge/index.js +35 -8
  339. package/dist/src/server/domains/network/definitions.js +182 -7
  340. package/dist/src/server/domains/network/handlers.base.d.ts +167 -0
  341. package/dist/src/server/domains/network/handlers.base.js +1008 -0
  342. package/dist/src/server/domains/network/handlers.impl.core.runtime.replay.d.ts +2 -2
  343. package/dist/src/server/domains/network/handlers.impl.core.runtime.replay.js +52 -28
  344. package/dist/src/server/domains/network/har.js +6 -3
  345. package/dist/src/server/domains/network/manifest.js +132 -22
  346. package/dist/src/server/domains/network/replay.js +5 -2
  347. package/dist/src/server/domains/platform/definitions.js +30 -0
  348. package/dist/src/server/domains/platform/handlers/bridge-handlers.js +6 -17
  349. package/dist/src/server/domains/platform/handlers/electron-asar-helpers.js +3 -12
  350. package/dist/src/server/domains/platform/handlers/electron-handlers.js +8 -22
  351. package/dist/src/server/domains/platform/handlers/miniapp-handlers.js +4 -6
  352. package/dist/src/server/domains/platform/handlers/platform-utils.js +3 -6
  353. package/dist/src/server/domains/platform/manifest.d.ts +54 -4
  354. package/dist/src/server/domains/platform/manifest.js +19 -5
  355. package/dist/src/server/domains/process/definitions.js +156 -0
  356. package/dist/src/server/domains/process/handlers.base.d.ts +150 -0
  357. package/dist/src/server/domains/process/handlers.base.js +1022 -0
  358. package/dist/src/server/domains/process/handlers.impl.core.runtime.base.d.ts +1 -87
  359. package/dist/src/server/domains/process/handlers.impl.core.runtime.base.js +1 -404
  360. package/dist/src/server/domains/process/handlers.impl.core.runtime.inject.d.ts +2 -2
  361. package/dist/src/server/domains/process/handlers.impl.core.runtime.inject.js +11 -4
  362. package/dist/src/server/domains/process/handlers.impl.core.runtime.memory.d.ts +1 -60
  363. package/dist/src/server/domains/process/handlers.impl.core.runtime.memory.js +1 -613
  364. package/dist/src/server/domains/process/manifest.js +92 -28
  365. package/dist/src/server/domains/sandbox/definitions.d.ts +2 -0
  366. package/dist/src/server/domains/sandbox/definitions.js +35 -0
  367. package/dist/src/server/domains/sandbox/handlers.d.ts +7 -0
  368. package/dist/src/server/domains/sandbox/handlers.js +66 -0
  369. package/dist/src/server/domains/sandbox/index.d.ts +2 -0
  370. package/dist/src/server/domains/sandbox/index.js +2 -0
  371. package/dist/src/server/domains/sandbox/manifest.d.ts +57 -0
  372. package/dist/src/server/domains/sandbox/manifest.js +31 -0
  373. package/dist/src/server/domains/shared/parse-args.d.ts +14 -0
  374. package/dist/src/server/domains/shared/parse-args.js +50 -0
  375. package/dist/src/server/domains/sourcemap/definitions.js +30 -0
  376. package/dist/src/server/domains/sourcemap/handlers.d.ts +1 -1
  377. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-extension.js +2 -6
  378. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-main.js +1 -1
  379. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-parse-base.js +51 -32
  380. package/dist/src/server/domains/sourcemap/handlers.js +1 -1
  381. package/dist/src/server/domains/sourcemap/manifest.d.ts +54 -4
  382. package/dist/src/server/domains/sourcemap/manifest.js +29 -7
  383. package/dist/src/server/domains/streaming/definitions.js +41 -1
  384. package/dist/src/server/domains/streaming/handlers.d.ts +1 -1
  385. package/dist/src/server/domains/streaming/handlers.impl.streaming-sse.d.ts +3 -1
  386. package/dist/src/server/domains/streaming/handlers.impl.streaming-sse.js +20 -8
  387. package/dist/src/server/domains/streaming/handlers.impl.streaming-ws.js +7 -7
  388. package/dist/src/server/domains/streaming/handlers.js +1 -1
  389. package/dist/src/server/domains/streaming/manifest.d.ts +54 -4
  390. package/dist/src/server/domains/streaming/manifest.js +19 -5
  391. package/dist/src/server/domains/trace/definitions.d.ts +1 -0
  392. package/dist/src/server/domains/trace/definitions.js +1 -0
  393. package/dist/src/server/domains/trace/definitions.tools.d.ts +2 -0
  394. package/dist/src/server/domains/trace/definitions.tools.js +178 -0
  395. package/dist/src/server/domains/trace/handlers.d.ts +16 -0
  396. package/dist/src/server/domains/trace/handlers.js +300 -0
  397. package/dist/src/server/domains/trace/index.d.ts +1 -0
  398. package/dist/src/server/domains/trace/index.js +1 -0
  399. package/dist/src/server/domains/trace/manifest.d.ts +64 -0
  400. package/dist/src/server/domains/trace/manifest.js +48 -0
  401. package/dist/src/server/domains/transform/definitions.js +36 -0
  402. package/dist/src/server/domains/transform/handlers.d.ts +1 -1
  403. package/dist/src/server/domains/transform/handlers.impl.transform-base.d.ts +3 -1
  404. package/dist/src/server/domains/transform/handlers.impl.transform-base.js +4 -1
  405. package/dist/src/server/domains/transform/handlers.impl.transform-crypto.js +2 -1
  406. package/dist/src/server/domains/transform/handlers.impl.transform-ops.js +4 -6
  407. package/dist/src/server/domains/transform/handlers.js +1 -1
  408. package/dist/src/server/domains/transform/manifest.d.ts +54 -4
  409. package/dist/src/server/domains/transform/manifest.js +29 -7
  410. package/dist/src/server/domains/wasm/definitions.js +48 -0
  411. package/dist/src/server/domains/wasm/handlers.js +131 -56
  412. package/dist/src/server/domains/wasm/manifest.d.ts +54 -4
  413. package/dist/src/server/domains/wasm/manifest.js +14 -4
  414. package/dist/src/server/domains/workflow/definitions.js +62 -2
  415. package/dist/src/server/domains/workflow/handlers.d.ts +1 -1
  416. package/dist/src/server/domains/workflow/handlers.impl.workflow-account-bundle.js +109 -52
  417. package/dist/src/server/domains/workflow/handlers.impl.workflow-api.js +83 -49
  418. package/dist/src/server/domains/workflow/handlers.impl.workflow-base.js +18 -12
  419. package/dist/src/server/domains/workflow/handlers.impl.workflow-batch.js +32 -29
  420. package/dist/src/server/domains/workflow/handlers.js +1 -1
  421. package/dist/src/server/domains/workflow/manifest.d.ts +60 -4
  422. package/dist/src/server/domains/workflow/manifest.js +31 -5
  423. package/dist/src/server/extensions/ExtensionManager.integrity.js +2 -2
  424. package/dist/src/server/extensions/ExtensionManager.js +38 -7
  425. package/dist/src/server/extensions/plugin-config.d.ts +2 -1
  426. package/dist/src/server/extensions/plugin-config.js +11 -6
  427. package/dist/src/server/extensions/types.d.ts +2 -0
  428. package/dist/src/server/http/HttpMiddleware.js +4 -10
  429. package/dist/src/server/macros/MacroConfigLoader.d.ts +22 -0
  430. package/dist/src/server/macros/MacroConfigLoader.js +71 -0
  431. package/dist/src/server/macros/MacroRunner.d.ts +12 -0
  432. package/dist/src/server/macros/MacroRunner.js +118 -0
  433. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.d.ts +2 -0
  434. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.js +25 -0
  435. package/dist/src/server/macros/builtins/index.d.ts +5 -0
  436. package/dist/src/server/macros/builtins/index.js +7 -0
  437. package/dist/src/server/macros/builtins/unpacker-flow.d.ts +2 -0
  438. package/dist/src/server/macros/builtins/unpacker-flow.js +25 -0
  439. package/dist/src/server/macros/index.d.ts +3 -0
  440. package/dist/src/server/macros/index.js +3 -0
  441. package/dist/src/server/macros/types.d.ts +36 -0
  442. package/dist/src/server/observability/InstrumentationContract.js +4 -2
  443. package/dist/src/server/plugin-api.d.ts +1 -1
  444. package/dist/src/server/plugin-api.js +1 -0
  445. package/dist/src/server/plugins/PluginContract.d.ts +1 -1
  446. package/dist/src/server/plugins/PluginContract.js +1 -1
  447. package/dist/src/server/plugins/examples/minimal-plugin/manifest.js +2 -2
  448. package/dist/src/server/registry/contracts.d.ts +14 -2
  449. package/dist/src/server/registry/discovery.js +11 -3
  450. package/dist/src/server/registry/index.d.ts +1 -4
  451. package/dist/src/server/registry/index.js +17 -37
  452. package/dist/src/server/registry/types.d.ts +1 -1
  453. package/dist/src/server/registry/types.js +1 -1
  454. package/dist/src/server/sandbox/AutoCorrectionLoop.d.ts +6 -0
  455. package/dist/src/server/sandbox/AutoCorrectionLoop.js +17 -0
  456. package/dist/src/server/sandbox/DynamicToolRegistry.d.ts +17 -0
  457. package/dist/src/server/sandbox/DynamicToolRegistry.js +46 -0
  458. package/dist/src/server/sandbox/MCPBridge.d.ts +9 -0
  459. package/dist/src/server/sandbox/MCPBridge.js +43 -0
  460. package/dist/src/server/sandbox/QuickJSSandbox.d.ts +11 -0
  461. package/dist/src/server/sandbox/QuickJSSandbox.js +184 -0
  462. package/dist/src/server/sandbox/SandboxHelpers.d.ts +1 -0
  463. package/dist/src/server/sandbox/SandboxHelpers.js +251 -0
  464. package/dist/src/server/sandbox/SessionScratchpad.d.ts +9 -0
  465. package/dist/src/server/sandbox/SessionScratchpad.js +52 -0
  466. package/dist/src/server/sandbox/types.d.ts +14 -0
  467. package/dist/src/server/search/AffinityGraph.js +1 -1
  468. package/dist/src/server/search/BM25Scorer.d.ts +15 -2
  469. package/dist/src/server/search/BM25Scorer.js +63 -60
  470. package/dist/src/server/search/EmbeddingEngine.d.ts +11 -0
  471. package/dist/src/server/search/EmbeddingEngine.js +83 -0
  472. package/dist/src/server/search/EmbeddingWorker.js +51 -0
  473. package/dist/src/server/search/IntentBoost.d.ts +3 -3
  474. package/dist/src/server/search/IntentBoost.js +10 -54
  475. package/dist/src/server/search/SynonymExpander.d.ts +7 -0
  476. package/dist/src/server/search/SynonymExpander.js +97 -0
  477. package/dist/src/server/search/ToolSearchEngineImpl.d.ts +17 -3
  478. package/dist/src/server/search/ToolSearchEngineImpl.js +277 -28
  479. package/dist/src/server/search/TrigramIndex.d.ts +7 -0
  480. package/dist/src/server/search/TrigramIndex.js +40 -0
  481. package/dist/src/server/workflows/WorkflowContract.js +28 -7
  482. package/dist/src/server/workflows/WorkflowEngine.js +1 -1
  483. package/dist/src/server/workflows/examples/batch-register.workflow.js +23 -14
  484. package/dist/src/types/config.d.ts +31 -0
  485. package/dist/src/types/index.d.ts +1 -1
  486. package/dist/src/utils/DetailedDataManager.js +3 -0
  487. package/dist/src/utils/artifactRetention.js +23 -5
  488. package/dist/src/utils/artifacts.js +1 -3
  489. package/dist/src/utils/cliFastPath.js +7 -2
  490. package/dist/src/utils/concurrency.js +4 -2
  491. package/dist/src/utils/config.js +173 -10
  492. package/dist/src/utils/environmentDoctor.js +5 -3
  493. package/dist/src/utils/parallel.js +15 -5
  494. package/package.json +25 -5
  495. package/dist/src/server/MCPServer.boost.d.ts +0 -8
  496. package/dist/src/server/MCPServer.boost.js +0 -334
  497. package/dist/src/server/MCPServer.search.dynamicBoost.d.ts +0 -36
  498. package/dist/src/server/MCPServer.search.dynamicBoost.js +0 -163
  499. package/dist/src/server/domains/encoding/handlers.impl.core.d.ts +0 -1
  500. package/dist/src/server/domains/encoding/handlers.impl.core.js +0 -1
  501. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.analysis.d.ts +0 -24
  502. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.format.js +0 -191
  503. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.msgpack.d.ts +0 -10
  504. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.msgpack.js +0 -268
  505. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.parsers.d.ts +0 -1
  506. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.parsers.js +0 -1
  507. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.protobuf.d.ts +0 -13
  508. package/dist/src/server/domains/encoding/handlers.impl.core.runtime.protobuf.js +0 -204
  509. package/dist/src/server/domains/encoding/handlers.impl.d.ts +0 -1
  510. package/dist/src/server/domains/encoding/handlers.impl.js +0 -1
  511. package/dist/src/server/domains/network/handlers.impl.core.runtime.base.d.ts +0 -46
  512. package/dist/src/server/domains/network/handlers.impl.core.runtime.base.js +0 -186
  513. package/dist/src/server/domains/network/handlers.impl.core.runtime.console.d.ts +0 -46
  514. package/dist/src/server/domains/network/handlers.impl.core.runtime.console.js +0 -122
  515. package/dist/src/server/domains/network/handlers.impl.core.runtime.performance.d.ts +0 -63
  516. package/dist/src/server/domains/network/handlers.impl.core.runtime.performance.js +0 -264
  517. package/dist/src/server/domains/network/handlers.impl.core.runtime.requests.d.ts +0 -21
  518. package/dist/src/server/domains/network/handlers.impl.core.runtime.requests.js +0 -417
  519. package/dist/src/server/domains/sourcemap/handlers.impl.d.ts +0 -1
  520. package/dist/src/server/domains/sourcemap/handlers.impl.js +0 -1
  521. package/dist/src/server/domains/streaming/handlers.impl.d.ts +0 -1
  522. package/dist/src/server/domains/streaming/handlers.impl.js +0 -1
  523. package/dist/src/server/domains/transform/handlers.impl.d.ts +0 -1
  524. package/dist/src/server/domains/transform/handlers.impl.js +0 -1
  525. package/dist/src/server/domains/workflow/handlers.impl.d.ts +0 -1
  526. package/dist/src/server/domains/workflow/handlers.impl.js +0 -1
  527. package/dist/tests/constants.test.js +0 -104
  528. package/dist/tests/contracts/contracts.test.js +0 -125
  529. package/dist/tests/e2e/context-capture.d.ts +0 -2
  530. package/dist/tests/e2e/context-capture.js +0 -55
  531. package/dist/tests/e2e/full-tool-e2e.test.js +0 -108
  532. package/dist/tests/e2e/helpers/mcp-client.d.ts +0 -18
  533. package/dist/tests/e2e/helpers/mcp-client.js +0 -120
  534. package/dist/tests/e2e/helpers/schema-builder.d.ts +0 -6
  535. package/dist/tests/e2e/helpers/schema-builder.js +0 -108
  536. package/dist/tests/e2e/helpers/types.d.ts +0 -30
  537. package/dist/tests/e2e/overrides.d.ts +0 -2
  538. package/dist/tests/e2e/overrides.js +0 -149
  539. package/dist/tests/e2e/phases/analysis-phases.d.ts +0 -2
  540. package/dist/tests/e2e/phases/analysis-phases.js +0 -30
  541. package/dist/tests/e2e/phases/browser-phases.d.ts +0 -2
  542. package/dist/tests/e2e/phases/browser-phases.js +0 -59
  543. package/dist/tests/e2e/phases/debugger-phases.d.ts +0 -2
  544. package/dist/tests/e2e/phases/debugger-phases.js +0 -44
  545. package/dist/tests/e2e/phases/index.d.ts +0 -2
  546. package/dist/tests/e2e/phases/index.js +0 -15
  547. package/dist/tests/e2e/phases/maintenance-phases.d.ts +0 -3
  548. package/dist/tests/e2e/phases/maintenance-phases.js +0 -19
  549. package/dist/tests/e2e/phases/monitor-phases.d.ts +0 -2
  550. package/dist/tests/e2e/phases/monitor-phases.js +0 -52
  551. package/dist/tests/e2e/phases/system-phases.d.ts +0 -2
  552. package/dist/tests/e2e/phases/system-phases.js +0 -47
  553. package/dist/tests/e2e/skip-list.d.ts +0 -5
  554. package/dist/tests/e2e/skip-list.js +0 -17
  555. package/dist/tests/modules/analyzer/AISummarizer.test.js +0 -133
  556. package/dist/tests/modules/analyzer/CodeAnalyzer.test.js +0 -125
  557. package/dist/tests/modules/analyzer/IntelligentAnalyzer.test.js +0 -177
  558. package/dist/tests/modules/analyzer/PatternDetector.test.js +0 -149
  559. package/dist/tests/modules/analyzer/QualityAnalyzer.test.js +0 -85
  560. package/dist/tests/modules/analyzer/SecurityCodeAnalyzer.test.js +0 -82
  561. package/dist/tests/modules/browser/BrowserDiscovery.test.js +0 -72
  562. package/dist/tests/modules/browser/BrowserModeManager.test.js +0 -213
  563. package/dist/tests/modules/browser/CamoufoxBrowserManager.test.js +0 -74
  564. package/dist/tests/modules/browser/UnifiedBrowserManager.test.js +0 -190
  565. package/dist/tests/modules/captcha/AICaptchaDetector.test.js +0 -402
  566. package/dist/tests/modules/captcha/CaptchaDetector.test.d.ts +0 -1
  567. package/dist/tests/modules/captcha/CaptchaDetector.test.js +0 -218
  568. package/dist/tests/modules/captcha/CaptchaPolicy.test.d.ts +0 -1
  569. package/dist/tests/modules/captcha/CaptchaPolicy.test.js +0 -52
  570. package/dist/tests/modules/collector/CodeCache.test.d.ts +0 -1
  571. package/dist/tests/modules/collector/CodeCache.test.js +0 -86
  572. package/dist/tests/modules/collector/CodeCollector.test.d.ts +0 -1
  573. package/dist/tests/modules/collector/CodeCollector.test.js +0 -128
  574. package/dist/tests/modules/collector/CodeCompressor.test.d.ts +0 -1
  575. package/dist/tests/modules/collector/CodeCompressor.test.js +0 -69
  576. package/dist/tests/modules/collector/DOMInspector.test.d.ts +0 -1
  577. package/dist/tests/modules/collector/DOMInspector.test.js +0 -142
  578. package/dist/tests/modules/collector/PageController.test.d.ts +0 -1
  579. package/dist/tests/modules/collector/PageController.test.js +0 -73
  580. package/dist/tests/modules/collector/PageScriptCollectors.test.d.ts +0 -1
  581. package/dist/tests/modules/collector/PageScriptCollectors.test.js +0 -87
  582. package/dist/tests/modules/collector/SmartCodeCollector.test.d.ts +0 -1
  583. package/dist/tests/modules/collector/SmartCodeCollector.test.js +0 -93
  584. package/dist/tests/modules/collector/StreamingCollector.test.d.ts +0 -1
  585. package/dist/tests/modules/collector/StreamingCollector.test.js +0 -64
  586. package/dist/tests/modules/crypto/CryptoDetector.test.d.ts +0 -1
  587. package/dist/tests/modules/crypto/CryptoDetector.test.js +0 -61
  588. package/dist/tests/modules/crypto/CryptoRules.test.d.ts +0 -1
  589. package/dist/tests/modules/crypto/CryptoRules.test.js +0 -57
  590. package/dist/tests/modules/debugger/BlackboxManager.test.d.ts +0 -1
  591. package/dist/tests/modules/debugger/BlackboxManager.test.js +0 -58
  592. package/dist/tests/modules/debugger/DebuggerManager.test.d.ts +0 -1
  593. package/dist/tests/modules/debugger/DebuggerManager.test.js +0 -120
  594. package/dist/tests/modules/debugger/DebuggerSessionManager.test.d.ts +0 -1
  595. package/dist/tests/modules/debugger/DebuggerSessionManager.test.js +0 -130
  596. package/dist/tests/modules/debugger/EventBreakpointManager.test.d.ts +0 -1
  597. package/dist/tests/modules/debugger/EventBreakpointManager.test.js +0 -53
  598. package/dist/tests/modules/debugger/RuntimeInspector.test.d.ts +0 -1
  599. package/dist/tests/modules/debugger/RuntimeInspector.test.js +0 -98
  600. package/dist/tests/modules/debugger/ScriptManager.test.d.ts +0 -1
  601. package/dist/tests/modules/debugger/ScriptManager.test.js +0 -168
  602. package/dist/tests/modules/debugger/WatchExpressionManager.test.d.ts +0 -1
  603. package/dist/tests/modules/debugger/WatchExpressionManager.test.js +0 -61
  604. package/dist/tests/modules/debugger/XHRBreakpointManager.test.d.ts +0 -1
  605. package/dist/tests/modules/debugger/XHRBreakpointManager.test.js +0 -52
  606. package/dist/tests/modules/deobfuscator/ASTOptimizer.test.d.ts +0 -1
  607. package/dist/tests/modules/deobfuscator/ASTOptimizer.test.js +0 -49
  608. package/dist/tests/modules/deobfuscator/AdvancedDeobfuscator.test.d.ts +0 -1
  609. package/dist/tests/modules/deobfuscator/AdvancedDeobfuscator.test.js +0 -117
  610. package/dist/tests/modules/deobfuscator/Deobfuscator.test.d.ts +0 -1
  611. package/dist/tests/modules/deobfuscator/Deobfuscator.test.js +0 -134
  612. package/dist/tests/modules/deobfuscator/JSVMPDeobfuscator.test.d.ts +0 -1
  613. package/dist/tests/modules/deobfuscator/JSVMPDeobfuscator.test.js +0 -109
  614. package/dist/tests/modules/deobfuscator/JScramblerDeobfuscator.test.d.ts +0 -1
  615. package/dist/tests/modules/deobfuscator/JScramblerDeobfuscator.test.js +0 -74
  616. package/dist/tests/modules/deobfuscator/PackerDeobfuscator.test.d.ts +0 -1
  617. package/dist/tests/modules/deobfuscator/PackerDeobfuscator.test.js +0 -81
  618. package/dist/tests/modules/deobfuscator/VMDeobfuscator.test.d.ts +0 -1
  619. package/dist/tests/modules/deobfuscator/VMDeobfuscator.test.js +0 -78
  620. package/dist/tests/modules/deobfuscator/webcrack.test.d.ts +0 -1
  621. package/dist/tests/modules/deobfuscator/webcrack.test.js +0 -111
  622. package/dist/tests/modules/detector/ObfuscationDetector.test.d.ts +0 -1
  623. package/dist/tests/modules/detector/ObfuscationDetector.test.js +0 -69
  624. package/dist/tests/modules/emulator/AIEnvironmentAnalyzer.test.d.ts +0 -1
  625. package/dist/tests/modules/emulator/AIEnvironmentAnalyzer.test.js +0 -107
  626. package/dist/tests/modules/emulator/BrowserAPIDatabase.test.d.ts +0 -1
  627. package/dist/tests/modules/emulator/BrowserAPIDatabase.test.js +0 -48
  628. package/dist/tests/modules/emulator/BrowserEnvironmentRules.test.d.ts +0 -1
  629. package/dist/tests/modules/emulator/BrowserEnvironmentRules.test.js +0 -50
  630. package/dist/tests/modules/emulator/EmulatorCodeGen.test.d.ts +0 -1
  631. package/dist/tests/modules/emulator/EmulatorCodeGen.test.js +0 -51
  632. package/dist/tests/modules/emulator/EnvironmentEmulator.test.d.ts +0 -1
  633. package/dist/tests/modules/emulator/EnvironmentEmulator.test.js +0 -115
  634. package/dist/tests/modules/external/ExternalToolRunner.test.d.ts +0 -1
  635. package/dist/tests/modules/external/ExternalToolRunner.test.js +0 -159
  636. package/dist/tests/modules/external/ToolProbe.test.d.ts +0 -1
  637. package/dist/tests/modules/external/ToolProbe.test.js +0 -80
  638. package/dist/tests/modules/external/ToolRegistry.test.d.ts +0 -1
  639. package/dist/tests/modules/external/ToolRegistry.test.js +0 -71
  640. package/dist/tests/modules/hook/AIHookGenerator.test.d.ts +0 -1
  641. package/dist/tests/modules/hook/AIHookGenerator.test.js +0 -104
  642. package/dist/tests/modules/hook/HookGenerator.test.d.ts +0 -1
  643. package/dist/tests/modules/hook/HookGenerator.test.js +0 -38
  644. package/dist/tests/modules/hook/HookManager.test.d.ts +0 -1
  645. package/dist/tests/modules/hook/HookManager.test.js +0 -114
  646. package/dist/tests/modules/monitor/ConsoleMonitor.test.d.ts +0 -1
  647. package/dist/tests/modules/monitor/ConsoleMonitor.test.js +0 -291
  648. package/dist/tests/modules/monitor/NetworkMonitor.test.d.ts +0 -1
  649. package/dist/tests/modules/monitor/NetworkMonitor.test.js +0 -301
  650. package/dist/tests/modules/monitor/PerformanceMonitor.test.d.ts +0 -1
  651. package/dist/tests/modules/monitor/PerformanceMonitor.test.js +0 -204
  652. package/dist/tests/modules/monitor/PlaywrightNetworkMonitor.test.d.ts +0 -1
  653. package/dist/tests/modules/monitor/PlaywrightNetworkMonitor.test.js +0 -138
  654. package/dist/tests/modules/process/BaseMemoryManager.test.d.ts +0 -1
  655. package/dist/tests/modules/process/BaseMemoryManager.test.js +0 -81
  656. package/dist/tests/modules/process/LinuxProcessManager.test.d.ts +0 -1
  657. package/dist/tests/modules/process/LinuxProcessManager.test.js +0 -136
  658. package/dist/tests/modules/process/MacProcessManager.test.d.ts +0 -1
  659. package/dist/tests/modules/process/MacProcessManager.test.js +0 -144
  660. package/dist/tests/modules/process/MemoryManager.test.d.ts +0 -1
  661. package/dist/tests/modules/process/MemoryManager.test.js +0 -117
  662. package/dist/tests/modules/process/ProcessManager.test.d.ts +0 -1
  663. package/dist/tests/modules/process/ProcessManager.test.js +0 -159
  664. package/dist/tests/modules/process/memory/availability.test.d.ts +0 -1
  665. package/dist/tests/modules/process/memory/availability.test.js +0 -77
  666. package/dist/tests/modules/process/memory/injector.test.d.ts +0 -1
  667. package/dist/tests/modules/process/memory/injector.test.js +0 -62
  668. package/dist/tests/modules/process/memory/monitor.test.d.ts +0 -1
  669. package/dist/tests/modules/process/memory/monitor.test.js +0 -54
  670. package/dist/tests/modules/process/memory/nativeMemoryManager.test.d.ts +0 -1
  671. package/dist/tests/modules/process/memory/nativeMemoryManager.test.js +0 -127
  672. package/dist/tests/modules/process/memory/reader.test.d.ts +0 -1
  673. package/dist/tests/modules/process/memory/reader.test.js +0 -86
  674. package/dist/tests/modules/process/memory/regions.test.d.ts +0 -1
  675. package/dist/tests/modules/process/memory/regions.test.js +0 -81
  676. package/dist/tests/modules/process/memory/scanner.test.d.ts +0 -1
  677. package/dist/tests/modules/process/memory/scanner.test.js +0 -155
  678. package/dist/tests/modules/process/memory/writer.test.d.ts +0 -1
  679. package/dist/tests/modules/process/memory/writer.test.js +0 -81
  680. package/dist/tests/modules/process/memoryUtils.test.d.ts +0 -1
  681. package/dist/tests/modules/process/memoryUtils.test.js +0 -101
  682. package/dist/tests/modules/security/ExecutionSandbox.test.d.ts +0 -1
  683. package/dist/tests/modules/security/ExecutionSandbox.test.js +0 -122
  684. package/dist/tests/modules/security/RedactionService.test.d.ts +0 -1
  685. package/dist/tests/modules/security/RedactionService.test.js +0 -56
  686. package/dist/tests/modules/stealth/StealthScripts.test.d.ts +0 -1
  687. package/dist/tests/modules/stealth/StealthScripts.test.js +0 -67
  688. package/dist/tests/modules/symbolic/JSVMPSymbolicExecutor.test.d.ts +0 -1
  689. package/dist/tests/modules/symbolic/JSVMPSymbolicExecutor.test.js +0 -59
  690. package/dist/tests/modules/symbolic/SymbolicExecutor.test.d.ts +0 -1
  691. package/dist/tests/modules/symbolic/SymbolicExecutor.test.js +0 -45
  692. package/dist/tests/packages/extension-sdk/ExtensionBuilder.test.d.ts +0 -1
  693. package/dist/tests/packages/extension-sdk/ExtensionBuilder.test.js +0 -205
  694. package/dist/tests/server/ExtensionManagementHandlers.test.d.ts +0 -1
  695. package/dist/tests/server/ExtensionManagementHandlers.test.js +0 -238
  696. package/dist/tests/server/ExtensionManager.test.d.ts +0 -1
  697. package/dist/tests/server/ExtensionManager.test.js +0 -133
  698. package/dist/tests/server/MCPServer.boost.test.d.ts +0 -1
  699. package/dist/tests/server/MCPServer.boost.test.js +0 -543
  700. package/dist/tests/server/MCPServer.schema.test.d.ts +0 -1
  701. package/dist/tests/server/MCPServer.schema.test.js +0 -124
  702. package/dist/tests/server/MCPServer.search.test.d.ts +0 -1
  703. package/dist/tests/server/MCPServer.search.test.js +0 -723
  704. package/dist/tests/server/MCPServer.test.d.ts +0 -1
  705. package/dist/tests/server/MCPServer.test.js +0 -218
  706. package/dist/tests/server/ToolCallContextGuard.test.d.ts +0 -1
  707. package/dist/tests/server/ToolCallContextGuard.test.js +0 -114
  708. package/dist/tests/server/ToolCatalog.test.d.ts +0 -1
  709. package/dist/tests/server/ToolCatalog.test.js +0 -154
  710. package/dist/tests/server/ToolCatalog.tier.test.d.ts +0 -1
  711. package/dist/tests/server/ToolCatalog.tier.test.js +0 -97
  712. package/dist/tests/server/ToolExecutionRouter.test.d.ts +0 -1
  713. package/dist/tests/server/ToolExecutionRouter.test.js +0 -44
  714. package/dist/tests/server/ToolHandlerMap.test.d.ts +0 -1
  715. package/dist/tests/server/ToolHandlerMap.test.js +0 -75
  716. package/dist/tests/server/ToolSearch.test.d.ts +0 -1
  717. package/dist/tests/server/ToolSearch.test.js +0 -329
  718. package/dist/tests/server/discovery.test.d.ts +0 -1
  719. package/dist/tests/server/discovery.test.js +0 -64
  720. package/dist/tests/server/domains/analysis/handlers.test.d.ts +0 -1
  721. package/dist/tests/server/domains/analysis/handlers.test.js +0 -184
  722. package/dist/tests/server/domains/antidebug/handlers.test.d.ts +0 -1
  723. package/dist/tests/server/domains/antidebug/handlers.test.js +0 -66
  724. package/dist/tests/server/domains/browser/behavior-tools.test.d.ts +0 -1
  725. package/dist/tests/server/domains/browser/behavior-tools.test.js +0 -30
  726. package/dist/tests/server/domains/browser/browser-control.test.d.ts +0 -1
  727. package/dist/tests/server/domains/browser/browser-control.test.js +0 -74
  728. package/dist/tests/server/domains/browser/captcha-solver.test.d.ts +0 -1
  729. package/dist/tests/server/domains/browser/captcha-solver.test.js +0 -153
  730. package/dist/tests/server/domains/browser/handlers.test.d.ts +0 -1
  731. package/dist/tests/server/domains/browser/handlers.test.js +0 -287
  732. package/dist/tests/server/domains/browser/human-behavior.test.d.ts +0 -1
  733. package/dist/tests/server/domains/browser/human-behavior.test.js +0 -155
  734. package/dist/tests/server/domains/browser/page-evaluation.test.d.ts +0 -1
  735. package/dist/tests/server/domains/browser/page-evaluation.test.js +0 -38
  736. package/dist/tests/server/domains/browser/page-interaction.test.d.ts +0 -1
  737. package/dist/tests/server/domains/browser/page-interaction.test.js +0 -79
  738. package/dist/tests/server/domains/browser/page-navigation.test.d.ts +0 -1
  739. package/dist/tests/server/domains/browser/page-navigation.test.js +0 -55
  740. package/dist/tests/server/domains/browser/security-tools.test.d.ts +0 -1
  741. package/dist/tests/server/domains/browser/security-tools.test.js +0 -25
  742. package/dist/tests/server/domains/debugger/handlers.test.d.ts +0 -1
  743. package/dist/tests/server/domains/debugger/handlers.test.js +0 -181
  744. package/dist/tests/server/domains/encoding/analysis.test.d.ts +0 -1
  745. package/dist/tests/server/domains/encoding/analysis.test.js +0 -318
  746. package/dist/tests/server/domains/encoding/format.test.d.ts +0 -1
  747. package/dist/tests/server/domains/encoding/format.test.js +0 -433
  748. package/dist/tests/server/domains/encoding/handlers.test.d.ts +0 -1
  749. package/dist/tests/server/domains/encoding/handlers.test.js +0 -56
  750. package/dist/tests/server/domains/encoding/msgpack.test.d.ts +0 -1
  751. package/dist/tests/server/domains/encoding/msgpack.test.js +0 -420
  752. package/dist/tests/server/domains/encoding/protobuf.test.d.ts +0 -1
  753. package/dist/tests/server/domains/encoding/protobuf.test.js +0 -448
  754. package/dist/tests/server/domains/graphql/handlers.test.d.ts +0 -1
  755. package/dist/tests/server/domains/graphql/handlers.test.js +0 -87
  756. package/dist/tests/server/domains/hooks/preset-handlers.test.d.ts +0 -1
  757. package/dist/tests/server/domains/hooks/preset-handlers.test.js +0 -66
  758. package/dist/tests/server/domains/maintenance/handlers.test.d.ts +0 -1
  759. package/dist/tests/server/domains/maintenance/handlers.test.js +0 -79
  760. package/dist/tests/server/domains/native-bridge/handlers.test.d.ts +0 -1
  761. package/dist/tests/server/domains/native-bridge/handlers.test.js +0 -127
  762. package/dist/tests/server/domains/network/handlers.test.d.ts +0 -1
  763. package/dist/tests/server/domains/network/handlers.test.js +0 -102
  764. package/dist/tests/server/domains/network/replay.test.d.ts +0 -1
  765. package/dist/tests/server/domains/network/replay.test.js +0 -51
  766. package/dist/tests/server/domains/platform/handlers.test.d.ts +0 -1
  767. package/dist/tests/server/domains/platform/handlers.test.js +0 -108
  768. package/dist/tests/server/domains/process/handlers.inject.test.d.ts +0 -1
  769. package/dist/tests/server/domains/process/handlers.inject.test.js +0 -437
  770. package/dist/tests/server/domains/process/handlers.memory.test.d.ts +0 -1
  771. package/dist/tests/server/domains/process/handlers.memory.test.js +0 -184
  772. package/dist/tests/server/domains/process/handlers.test.d.ts +0 -1
  773. package/dist/tests/server/domains/process/handlers.test.js +0 -103
  774. package/dist/tests/server/domains/shared/response.test.d.ts +0 -1
  775. package/dist/tests/server/domains/shared/response.test.js +0 -38
  776. package/dist/tests/server/domains/sourcemap/common.test.d.ts +0 -1
  777. package/dist/tests/server/domains/sourcemap/common.test.js +0 -240
  778. package/dist/tests/server/domains/sourcemap/handlers.test.d.ts +0 -1
  779. package/dist/tests/server/domains/sourcemap/handlers.test.js +0 -91
  780. package/dist/tests/server/domains/sourcemap/parse-base.test.d.ts +0 -1
  781. package/dist/tests/server/domains/sourcemap/parse-base.test.js +0 -414
  782. package/dist/tests/server/domains/streaming/handlers.test.d.ts +0 -1
  783. package/dist/tests/server/domains/streaming/handlers.test.js +0 -106
  784. package/dist/tests/server/domains/transform/handlers.test.d.ts +0 -1
  785. package/dist/tests/server/domains/transform/handlers.test.js +0 -64
  786. package/dist/tests/server/domains/transform/transform-base.test.d.ts +0 -1
  787. package/dist/tests/server/domains/transform/transform-base.test.js +0 -176
  788. package/dist/tests/server/domains/transform/transform-ops.test.d.ts +0 -1
  789. package/dist/tests/server/domains/transform/transform-ops.test.js +0 -242
  790. package/dist/tests/server/domains/wasm/handlers.test.d.ts +0 -1
  791. package/dist/tests/server/domains/wasm/handlers.test.js +0 -107
  792. package/dist/tests/server/domains/workflow/batch-register.test.d.ts +0 -1
  793. package/dist/tests/server/domains/workflow/batch-register.test.js +0 -158
  794. package/dist/tests/server/domains/workflow/handlers.test.d.ts +0 -1
  795. package/dist/tests/server/domains/workflow/handlers.test.js +0 -258
  796. package/dist/tests/server/http/HttpMiddleware.test.d.ts +0 -1
  797. package/dist/tests/server/http/HttpMiddleware.test.js +0 -152
  798. package/dist/tests/services/LLMService.test.d.ts +0 -1
  799. package/dist/tests/services/LLMService.test.js +0 -274
  800. package/dist/tests/services/prompts.test.d.ts +0 -1
  801. package/dist/tests/services/prompts.test.js +0 -408
  802. package/dist/tests/setup.d.ts +0 -1
  803. package/dist/tests/setup.js +0 -12
  804. package/dist/tests/utils/AdaptiveDataSerializer.test.d.ts +0 -1
  805. package/dist/tests/utils/AdaptiveDataSerializer.test.js +0 -67
  806. package/dist/tests/utils/CacheAdapters.test.d.ts +0 -1
  807. package/dist/tests/utils/CacheAdapters.test.js +0 -91
  808. package/dist/tests/utils/DetailedDataManager.test.d.ts +0 -1
  809. package/dist/tests/utils/DetailedDataManager.test.js +0 -67
  810. package/dist/tests/utils/RingBuffer.test.d.ts +0 -1
  811. package/dist/tests/utils/RingBuffer.test.js +0 -50
  812. package/dist/tests/utils/TokenBudgetManager.test.d.ts +0 -1
  813. package/dist/tests/utils/TokenBudgetManager.test.js +0 -75
  814. package/dist/tests/utils/UnifiedCacheManager.test.d.ts +0 -1
  815. package/dist/tests/utils/UnifiedCacheManager.test.js +0 -114
  816. package/dist/tests/utils/WorkerPool.test.d.ts +0 -1
  817. package/dist/tests/utils/WorkerPool.test.js +0 -143
  818. package/dist/tests/utils/artifactRetention.test.d.ts +0 -1
  819. package/dist/tests/utils/artifactRetention.test.js +0 -50
  820. package/dist/tests/utils/artifacts.test.d.ts +0 -1
  821. package/dist/tests/utils/artifacts.test.js +0 -76
  822. package/dist/tests/utils/browserExecutable.test.d.ts +0 -1
  823. package/dist/tests/utils/browserExecutable.test.js +0 -69
  824. package/dist/tests/utils/cache.test.d.ts +0 -1
  825. package/dist/tests/utils/cache.test.js +0 -93
  826. package/dist/tests/utils/cliFastPath.test.d.ts +0 -1
  827. package/dist/tests/utils/cliFastPath.test.js +0 -30
  828. package/dist/tests/utils/concurrency.test.d.ts +0 -1
  829. package/dist/tests/utils/concurrency.test.js +0 -55
  830. package/dist/tests/utils/config.extended.test.d.ts +0 -1
  831. package/dist/tests/utils/config.extended.test.js +0 -46
  832. package/dist/tests/utils/config.noise.test.d.ts +0 -1
  833. package/dist/tests/utils/config.noise.test.js +0 -21
  834. package/dist/tests/utils/config.test.d.ts +0 -1
  835. package/dist/tests/utils/config.test.js +0 -71
  836. package/dist/tests/utils/environmentDoctor.test.d.ts +0 -1
  837. package/dist/tests/utils/environmentDoctor.test.js +0 -234
  838. package/dist/tests/utils/logger.test.d.ts +0 -1
  839. package/dist/tests/utils/logger.test.js +0 -66
  840. package/dist/tests/utils/outputPaths.test.d.ts +0 -1
  841. package/dist/tests/utils/outputPaths.test.js +0 -51
  842. package/dist/tests/utils/parallel.test.d.ts +0 -1
  843. package/dist/tests/utils/parallel.test.js +0 -74
  844. /package/dist/{tests/constants.test.d.ts → src/modules/stealth/FingerprintManager.types.js} +0 -0
  845. /package/dist/{tests/contracts/contracts.test.d.ts → src/modules/trace/TraceDB.types.js} +0 -0
  846. /package/dist/{tests/e2e/full-tool-e2e.test.d.ts → src/modules/trace/TraceRecorder.types.js} +0 -0
  847. /package/dist/{tests/e2e/helpers/types.js → src/native/AntiCheatDetector.types.js} +0 -0
  848. /package/dist/{tests/modules/analyzer/AISummarizer.test.d.ts → src/native/CodeInjector.types.js} +0 -0
  849. /package/dist/{tests/modules/analyzer/CodeAnalyzer.test.d.ts → src/native/HardwareBreakpoint.types.js} +0 -0
  850. /package/dist/{tests/modules/analyzer/IntelligentAnalyzer.test.d.ts → src/native/MemoryController.types.js} +0 -0
  851. /package/dist/{tests/modules/analyzer/PatternDetector.test.d.ts → src/native/PointerChainEngine.types.js} +0 -0
  852. /package/dist/{tests/modules/analyzer/QualityAnalyzer.test.d.ts → src/native/Speedhack.types.js} +0 -0
  853. /package/dist/{tests/modules/analyzer/SecurityCodeAnalyzer.test.d.ts → src/native/StructureAnalyzer.types.js} +0 -0
  854. /package/dist/{tests/modules/browser/BrowserDiscovery.test.d.ts → src/native/platform/PlatformMemoryAPI.js} +0 -0
  855. /package/dist/{tests/modules/browser/BrowserModeManager.test.d.ts → src/server/activation/types.js} +0 -0
  856. /package/dist/{tests/modules/browser/CamoufoxBrowserManager.test.d.ts → src/server/macros/types.js} +0 -0
  857. /package/dist/{tests/modules/browser/UnifiedBrowserManager.test.d.ts → src/server/sandbox/types.js} +0 -0
  858. /package/dist/{tests/modules/captcha/AICaptchaDetector.test.d.ts → src/server/search/EmbeddingWorker.d.ts} +0 -0
@@ -1,137 +1,184 @@
1
- import { z } from 'zod';
2
1
  import { logger } from '../utils/logger.js';
3
2
  import { asErrorResponse } from './domains/shared/response.js';
4
- import { ALL_DOMAINS } from './registry/index.js';
3
+ import { getAllDomains } from './registry/index.js';
4
+ import { buildZodShape } from './MCPServer.schema.js';
5
5
  export { buildSearchSignature, getSearchEngine } from './MCPServer.search.helpers.js';
6
6
  export { buildDomainDescription } from './MCPServer.search.helpers.js';
7
7
  import { buildDomainDescription } from './MCPServer.search.helpers.js';
8
8
  import { handleSearchTools } from './MCPServer.search.handlers.search.js';
9
- import { handleActivateTools, handleDeactivateTools } from './MCPServer.search.handlers.activate.js';
9
+ import { handleActivateTools, handleDeactivateTools, } from './MCPServer.search.handlers.activate.js';
10
10
  import { handleActivateDomain } from './MCPServer.search.handlers.domain.js';
11
11
  import { handleRouteTool, handleDescribeTool } from './MCPServer.search.handlers.route.js';
12
- import { handleExtensionsReload, handleExtensionsList } from './MCPServer.search.handlers.extensions.js';
13
- export function registerSearchMetaTools(ctx) {
14
- ctx.server.registerTool('search_tools', {
15
- description: buildDomainDescription(ctx),
16
- inputSchema: {
17
- query: z.string().describe('Search query: keywords, tool name, domain name, or description fragment'),
18
- top_k: z.number().optional().describe('Max results to return (default: 10, max: 30)'),
12
+ import { handleCallTool } from './MCPServer.search.handlers.call.js';
13
+ function buildMetaToolDefinitions(ctx) {
14
+ return [
15
+ {
16
+ name: 'search_tools',
17
+ description: buildDomainDescription(ctx),
18
+ inputSchema: {
19
+ type: 'object',
20
+ properties: {
21
+ query: {
22
+ type: 'string',
23
+ description: 'Search query: keywords, tool name, domain name, or description fragment',
24
+ },
25
+ top_k: { type: 'number', description: 'Max results to return (default: 10, max: 30)' },
26
+ },
27
+ required: ['query'],
28
+ },
29
+ handler: handleSearchTools,
30
+ },
31
+ {
32
+ name: 'route_tool',
33
+ description: 'One-stop tool router: accepts a natural language task description, returns recommended tools and next actions. ' +
34
+ 'Automatically detects workflow patterns, recommends activation order, and provides example arguments. ' +
35
+ 'Use this instead of search_tools when you want guided tool discovery with actionable next steps.',
36
+ inputSchema: {
37
+ type: 'object',
38
+ properties: {
39
+ task: {
40
+ type: 'string',
41
+ description: 'Natural language description of the task you want to accomplish',
42
+ },
43
+ context: {
44
+ type: 'object',
45
+ description: 'Optional context hints for routing',
46
+ properties: {
47
+ preferredDomain: {
48
+ type: 'string',
49
+ description: 'Domain preference (e.g., "browser", "network")',
50
+ },
51
+ autoActivate: {
52
+ type: 'boolean',
53
+ description: 'Whether to auto-activate recommended tools (default: true)',
54
+ },
55
+ maxRecommendations: {
56
+ type: 'number',
57
+ description: 'Maximum number of recommendations (default: 5)',
58
+ },
59
+ },
60
+ },
61
+ },
62
+ required: ['task'],
63
+ },
64
+ handler: handleRouteTool,
19
65
  },
20
- }, async (args) => {
21
- try {
22
- return await handleSearchTools(ctx, args);
23
- }
24
- catch (error) {
25
- logger.error('search_tools failed', error);
26
- return asErrorResponse(error);
27
- }
28
- });
29
- ctx.server.registerTool('route_tool', {
30
- description: 'One-stop tool router: accepts a natural language task description, returns recommended tools and next actions. ' +
31
- 'Automatically detects workflow patterns, recommends activation order, and provides example arguments. ' +
32
- 'Use this instead of search_tools when you want guided tool discovery with actionable next steps.',
33
- inputSchema: {
34
- task: z.string().describe('Natural language description of the task you want to accomplish'),
35
- context: z.object({
36
- preferredDomain: z.string().optional().describe('Domain preference (e.g., "browser", "network")'),
37
- autoActivate: z.boolean().optional().describe('Whether to auto-activate recommended tools (default: true)'),
38
- maxRecommendations: z.number().optional().describe('Maximum number of recommendations (default: 5)'),
39
- }).optional().describe('Optional context hints for routing'),
66
+ {
67
+ name: 'describe_tool',
68
+ description: 'Get detailed information about a specific tool, including its input schema. ' +
69
+ 'Use this to see the exact parameters a tool expects before calling it.',
70
+ inputSchema: {
71
+ type: 'object',
72
+ properties: {
73
+ name: { type: 'string', description: 'Tool name to describe' },
74
+ },
75
+ required: ['name'],
76
+ },
77
+ handler: handleDescribeTool,
40
78
  },
41
- }, async (args) => {
42
- try {
43
- return await handleRouteTool(ctx, args);
44
- }
45
- catch (error) {
46
- logger.error('route_tool failed', error);
47
- return asErrorResponse(error);
48
- }
49
- });
50
- ctx.server.registerTool('describe_tool', {
51
- description: 'Get detailed information about a specific tool, including its input schema. ' +
52
- 'Use this to see the exact parameters a tool expects before calling it.',
53
- inputSchema: {
54
- name: z.string().describe('Tool name to describe'),
79
+ {
80
+ name: 'activate_tools',
81
+ description: 'Dynamically register specific tools by name, regardless of current base tier. ' +
82
+ 'Use after search_tools to enable exactly the tools you need. ' +
83
+ 'In search-tier sessions this is usually enough; you do not need boost_profile just to use a few exact tools. ' +
84
+ 'Activated tools appear in the tool list immediately. ' +
85
+ 'If tools do not appear after activation, use call_tool to invoke them directly.',
86
+ inputSchema: {
87
+ type: 'object',
88
+ properties: {
89
+ names: {
90
+ type: 'array',
91
+ items: { type: 'string' },
92
+ description: 'Array of tool names to activate (from search_tools results)',
93
+ },
94
+ },
95
+ required: ['names'],
96
+ },
97
+ handler: handleActivateTools,
55
98
  },
56
- }, async (args) => {
57
- try {
58
- return await handleDescribeTool(ctx, args);
59
- }
60
- catch (error) {
61
- logger.error('describe_tool failed', error);
62
- return asErrorResponse(error);
63
- }
64
- });
65
- ctx.server.registerTool('activate_tools', {
66
- description: 'Dynamically register specific tools by name, regardless of current base tier. ' +
67
- 'Use after search_tools to enable exactly the tools you need. ' +
68
- 'In search-tier sessions this is usually enough; you do not need boost_profile just to use a few exact tools. ' +
69
- 'Activated tools appear in the tool list immediately.',
70
- inputSchema: {
71
- names: z.array(z.string()).describe('Array of tool names to activate (from search_tools results)'),
99
+ {
100
+ name: 'deactivate_tools',
101
+ description: 'Remove previously activated tools to free context. ' +
102
+ 'Only affects tools added via activate_tools, not base profile tools.',
103
+ inputSchema: {
104
+ type: 'object',
105
+ properties: {
106
+ names: {
107
+ type: 'array',
108
+ items: { type: 'string' },
109
+ description: 'Array of tool names to deactivate',
110
+ },
111
+ },
112
+ required: ['names'],
113
+ },
114
+ handler: handleDeactivateTools,
72
115
  },
73
- }, async (args) => {
74
- try {
75
- return await handleActivateTools(ctx, args);
76
- }
77
- catch (error) {
78
- logger.error('activate_tools failed', error);
79
- return asErrorResponse(error);
80
- }
81
- });
82
- ctx.server.registerTool('deactivate_tools', {
83
- description: 'Remove previously activated tools to free context. ' +
84
- 'Only affects tools added via activate_tools, not base profile tools.',
85
- inputSchema: {
86
- names: z.array(z.string()).describe('Array of tool names to deactivate'),
116
+ {
117
+ name: 'activate_domain',
118
+ description: `Activate all tools in a domain at once. ` +
119
+ `Domains: ${[...getAllDomains()].join(', ')}. ` +
120
+ `Use extensions_reload first to include external plugin/workflow domains.`,
121
+ inputSchema: {
122
+ type: 'object',
123
+ properties: {
124
+ domain: {
125
+ type: 'string',
126
+ description: 'Domain name to activate (e.g. "debugger", "network")',
127
+ },
128
+ ttlMinutes: {
129
+ type: 'number',
130
+ description: 'Auto-deactivate after N minutes (default: 30, set 0 for no expiry)',
131
+ },
132
+ },
133
+ required: ['domain'],
134
+ },
135
+ handler: handleActivateDomain,
87
136
  },
88
- }, async (args) => {
89
- try {
90
- return await handleDeactivateTools(ctx, args);
91
- }
92
- catch (error) {
93
- logger.error('deactivate_tools failed', error);
94
- return asErrorResponse(error);
95
- }
96
- });
97
- ctx.server.registerTool('activate_domain', {
98
- description: `Activate all tools in a domain at once. ` +
99
- `Domains: ${[...ALL_DOMAINS].join(', ')}. ` +
100
- `Use extensions_reload first to include external plugin/workflow domains.`,
101
- inputSchema: {
102
- domain: z.string().describe('Domain name to activate (e.g. "debugger", "network")'),
137
+ {
138
+ name: 'call_tool',
139
+ description: 'Execute any tool by name with auto-activation. ' +
140
+ 'Use this when activate_tools/activate_domain registered a tool but it does not appear in your tool list ' +
141
+ '(common for clients that do not support tools/list_changed notifications). ' +
142
+ "Accepts the tool name and its arguments object; returns the tool's native response.",
143
+ inputSchema: {
144
+ type: 'object',
145
+ properties: {
146
+ name: {
147
+ type: 'string',
148
+ description: 'The tool name to execute (from search_tools or describe_tool results)',
149
+ },
150
+ args: {
151
+ type: 'object',
152
+ description: 'Arguments object to pass to the tool',
153
+ additionalProperties: true,
154
+ },
155
+ },
156
+ required: ['name'],
157
+ },
158
+ handler: handleCallTool,
103
159
  },
104
- }, async (args) => {
105
- try {
106
- return await handleActivateDomain(ctx, args);
107
- }
108
- catch (error) {
109
- logger.error('activate_domain failed', error);
110
- return asErrorResponse(error);
111
- }
112
- });
113
- ctx.server.registerTool('extensions_list', {
114
- description: 'List dynamically loaded extensions from plugins/workflows directories. ' +
115
- 'Shows loaded plugins, extension workflows, extension tools, and active roots.',
116
- }, async () => {
117
- try {
118
- return await handleExtensionsList(ctx);
119
- }
120
- catch (error) {
121
- logger.error('extensions_list failed', error);
122
- return asErrorResponse(error);
123
- }
124
- });
125
- ctx.server.registerTool('extensions_reload', {
126
- description: 'Reload external extensions from plugins/ and workflows/ (or MCP_PLUGIN_ROOTS/MCP_WORKFLOW_ROOTS). ' +
127
- 'Dynamically registers extension tools and refreshes tool list.',
128
- }, async () => {
129
- try {
130
- return await handleExtensionsReload(ctx);
131
- }
132
- catch (error) {
133
- logger.error('extensions_reload failed', error);
134
- return asErrorResponse(error);
135
- }
136
- });
160
+ ];
161
+ }
162
+ export function registerSearchMetaTools(ctx) {
163
+ const defs = buildMetaToolDefinitions(ctx);
164
+ for (const def of defs) {
165
+ const shape = buildZodShape(def.inputSchema);
166
+ ctx.server.registerTool(def.name, {
167
+ description: def.description,
168
+ inputSchema: shape,
169
+ }, async (args) => {
170
+ try {
171
+ return await def.handler(ctx, args);
172
+ }
173
+ catch (error) {
174
+ logger.error(`${def.name} failed`, error);
175
+ return asErrorResponse(error);
176
+ }
177
+ });
178
+ ctx.metaToolsByName.set(def.name, {
179
+ name: def.name,
180
+ description: def.description.split('\n')[0] || def.description,
181
+ inputSchema: def.inputSchema,
182
+ });
183
+ }
137
184
  }
@@ -1,3 +1,4 @@
1
+ export declare function normalizeToolName(name: string): string;
1
2
  export declare function validateToolNameArray(args: Record<string, unknown>): {
2
3
  names: string[];
3
4
  error?: string;
@@ -1,3 +1,14 @@
1
+ export function normalizeToolName(name) {
2
+ const trimmed = name.trim();
3
+ if (!trimmed.startsWith('mcp__')) {
4
+ return trimmed;
5
+ }
6
+ const parts = trimmed.split('__');
7
+ if (parts.length < 3) {
8
+ return trimmed;
9
+ }
10
+ return parts.slice(2).join('__');
11
+ }
1
12
  export function validateToolNameArray(args) {
2
13
  const raw = args.names;
3
14
  if (!Array.isArray(raw)) {
@@ -5,10 +16,10 @@ export function validateToolNameArray(args) {
5
16
  }
6
17
  const names = [];
7
18
  for (const item of raw) {
8
- if (typeof item !== 'string' || item.length === 0) {
19
+ if (typeof item !== 'string' || item.trim().length === 0) {
9
20
  return { names: [], error: 'invalid tool name: expected non-empty string' };
10
21
  }
11
- names.push(item);
22
+ names.push(normalizeToolName(item));
12
23
  }
13
24
  return { names };
14
25
  }
@@ -2,4 +2,3 @@ import type { RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { Tool } from '@modelcontextprotocol/sdk/types.js';
3
3
  import type { MCPServerContext } from './MCPServer.context.js';
4
4
  export declare function registerSingleTool(ctx: MCPServerContext, toolDef: Tool): RegisteredTool;
5
- export declare function registerMetaTools(ctx: MCPServerContext): void;
@@ -2,7 +2,6 @@ import { z } from 'zod';
2
2
  import { logger } from '../utils/logger.js';
3
3
  import { asErrorResponse, toolErrorToResponse } from './domains/shared/response.js';
4
4
  import { ToolError } from '../errors/ToolError.js';
5
- import { getToolsForProfile } from './ToolCatalog.js';
6
5
  import { buildZodShape } from './MCPServer.schema.js';
7
6
  function handleToolError(toolName, error) {
8
7
  if (error instanceof ToolError) {
@@ -12,7 +11,10 @@ function handleToolError(toolName, error) {
12
11
  return asErrorResponse(error);
13
12
  }
14
13
  export function registerSingleTool(ctx, toolDef) {
15
- const shape = buildZodShape(toolDef.inputSchema);
14
+ const rawSchema = toolDef.inputSchema;
15
+ const shape = rawSchema && typeof rawSchema === 'object'
16
+ ? buildZodShape(rawSchema)
17
+ : {};
16
18
  const description = toolDef.description ?? toolDef.name;
17
19
  if (Object.keys(shape).length > 0) {
18
20
  return ctx.server.registerTool(toolDef.name, { description, inputSchema: shape }, async (args) => {
@@ -33,69 +35,3 @@ export function registerSingleTool(ctx, toolDef) {
33
35
  }
34
36
  });
35
37
  }
36
- export function registerMetaTools(ctx) {
37
- const searchCount = getToolsForProfile('search').length;
38
- const workflowCount = getToolsForProfile('workflow').length;
39
- const fullCount = getToolsForProfile('full').length;
40
- ctx.server.registerTool('boost_profile', {
41
- description: 'Optionally upgrade the active tool tier. Three tiers: search → workflow → full. ' +
42
- `search: maintenance only (${searchCount} tools) — use search_tools to discover and activate_tools to enable. ` +
43
- `workflow: + browser, core analysis, debugger, network, streaming, encoding, graphql, workflows (${workflowCount} tools) and higher ranking for workflow search results. ` +
44
- `full: + hooks, process, wasm, antidebug, platform, sourcemap, transform (${fullCount} tools). ` +
45
- 'Not required after search_tools for single-tool activation, because activate_tools can register exact matches directly across tiers. ' +
46
- 'Workflow-domain search ranking is configurable via SEARCH_WORKFLOW_BOOST_TIERS / SEARCH_WORKFLOW_DOMAIN_BOOST_MULTIPLIER. ' +
47
- 'Auto-expires after TTL (default per-tier: workflow=60min, full=30min). Call unboost_profile to downgrade.',
48
- inputSchema: {
49
- target: z.string().optional().describe('Target tier: "workflow" or "full" (default: next tier up)'),
50
- ttlMinutes: z
51
- .number()
52
- .optional()
53
- .describe('Auto-downgrade after N minutes (default: per-tier, set 0 to disable)'),
54
- },
55
- }, async (args) => {
56
- try {
57
- const target = args.target ?? undefined;
58
- const ttlMinutes = args.ttlMinutes;
59
- const result = await ctx.boostProfile(target, ttlMinutes);
60
- return {
61
- content: [
62
- {
63
- type: 'text',
64
- text: JSON.stringify(result),
65
- },
66
- ],
67
- };
68
- }
69
- catch (error) {
70
- logger.error('boost_profile failed', error);
71
- return asErrorResponse(error);
72
- }
73
- });
74
- ctx.server.registerTool('unboost_profile', {
75
- description: 'Downgrade to the previous tool tier (full → workflow → search). ' +
76
- 'Removes tools added by the last boost. Set target to drop directly to a specific tier.',
77
- inputSchema: {
78
- target: z
79
- .string()
80
- .optional()
81
- .describe('Drop directly to this tier ("search" or "workflow"). Default: previous tier.'),
82
- },
83
- }, async (args) => {
84
- try {
85
- const target = args.target ?? undefined;
86
- const result = await ctx.unboostProfile(target);
87
- return {
88
- content: [
89
- {
90
- type: 'text',
91
- text: JSON.stringify(result),
92
- },
93
- ],
94
- };
95
- }
96
- catch (error) {
97
- logger.error('unboost_profile failed', error);
98
- return asErrorResponse(error);
99
- }
100
- });
101
- }
@@ -3,11 +3,34 @@ import { randomUUID } from 'node:crypto';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
5
5
  import { MCP_HTTP_REQUEST_TIMEOUT_MS, MCP_HTTP_HEADERS_TIMEOUT_MS, MCP_HTTP_KEEPALIVE_TIMEOUT_MS, MCP_HTTP_FORCE_CLOSE_TIMEOUT_MS, } from '../constants.js';
6
- import { checkAuth, checkOrigin, checkRateLimit, readBodyWithLimit } from './http/HttpMiddleware.js';
6
+ import { checkAuth, checkOrigin, checkRateLimit, readBodyWithLimit, } from './http/HttpMiddleware.js';
7
7
  import { logger } from '../utils/logger.js';
8
8
  export async function startStdioTransport(ctx) {
9
9
  const transport = new StdioServerTransport();
10
10
  await ctx.server.connect(transport);
11
+ let shuttingDown = false;
12
+ const gracefulExit = async () => {
13
+ if (shuttingDown)
14
+ return;
15
+ shuttingDown = true;
16
+ logger.info('stdin closed — parent process gone, shutting down...');
17
+ try {
18
+ await closeServer(ctx);
19
+ }
20
+ catch {
21
+ }
22
+ process.exit(0);
23
+ };
24
+ process.stdin.on('end', gracefulExit);
25
+ process.stdin.on('close', gracefulExit);
26
+ process.stdout.on('error', (err) => {
27
+ if (err.code === 'EPIPE' || err.code === 'ERR_STREAM_DESTROYED') {
28
+ logger.info(`stdout error (${err.code}) — shutting down`);
29
+ closeServer(ctx)
30
+ .catch(() => { })
31
+ .finally(() => process.exit(0));
32
+ }
33
+ });
11
34
  logger.success('MCP stdio server started');
12
35
  }
13
36
  export async function startHttpTransport(ctx) {
@@ -36,7 +59,7 @@ export async function startHttpTransport(ctx) {
36
59
  if (!checkRateLimit(req, res, authenticated))
37
60
  return;
38
61
  if (req.method === 'GET' || req.method === 'DELETE') {
39
- transport.handleRequest(req, res);
62
+ void transport.handleRequest(req, res);
40
63
  return;
41
64
  }
42
65
  if (req.method === 'POST') {
@@ -76,11 +99,10 @@ function handleHealthCheck(ctx, res) {
76
99
  };
77
100
  if (verbose) {
78
101
  const budgetStats = ctx.tokenBudget.getStats();
79
- body.tier = ctx.currentTier;
102
+ body.tier = ctx.baseTier;
80
103
  body.baseTier = ctx.baseTier;
81
104
  body.enabledDomains = [...ctx.enabledDomains];
82
105
  body.registeredTools = ctx.selectedTools.length;
83
- body.boostedTools = ctx.boostedToolNames.size;
84
106
  body.activatedTools = ctx.activatedToolNames.size;
85
107
  body.tokenBudget = {
86
108
  usagePercentage: budgetStats.usagePercentage,
@@ -92,10 +114,10 @@ function handleHealthCheck(ctx, res) {
92
114
  res.end(JSON.stringify(body));
93
115
  }
94
116
  export async function closeServer(ctx) {
95
- if (ctx.boostTtlTimer) {
96
- clearTimeout(ctx.boostTtlTimer);
97
- ctx.boostTtlTimer = null;
117
+ for (const [, entry] of ctx.domainTtlEntries) {
118
+ clearTimeout(entry.timer);
98
119
  }
120
+ ctx.domainTtlEntries.clear();
99
121
  ctx.detailedData.shutdown();
100
122
  if (ctx.httpServer) {
101
123
  const httpServer = ctx.httpServer;
@@ -135,9 +157,19 @@ export async function closeServer(ctx) {
135
157
  ctx.debuggerManager = undefined;
136
158
  ctx.scriptManager = undefined;
137
159
  if (ctx.collector) {
138
- await ctx.collector.close();
160
+ try {
161
+ await ctx.collector.close();
162
+ }
163
+ catch (error) {
164
+ logger.warn('collector cleanup failed:', error);
165
+ }
139
166
  ctx.collector = undefined;
140
167
  }
141
- await ctx.server.close();
168
+ try {
169
+ await ctx.server.close();
170
+ }
171
+ catch (error) {
172
+ logger.warn('MCP server close failed:', error);
173
+ }
142
174
  logger.success('MCP server closed');
143
175
  }
@@ -52,6 +52,8 @@ export class ToolCallContextGuard {
52
52
  try {
53
53
  const parsed = JSON.parse(raw);
54
54
  if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
55
+ if ('_tabContext' in parsed)
56
+ return response;
55
57
  firstText.text = this.spliceTabContext(raw, meta);
56
58
  return response;
57
59
  }
@@ -64,7 +66,12 @@ export class ToolCallContextGuard {
64
66
  return response;
65
67
  }
66
68
  spliceTabContext(raw, meta) {
67
- const tabContext = { url: meta.url, title: meta.title, tabIndex: meta.tabIndex, pageId: meta.pageId };
69
+ const tabContext = {
70
+ url: meta.url,
71
+ title: meta.title,
72
+ tabIndex: meta.tabIndex,
73
+ pageId: meta.pageId,
74
+ };
68
75
  if (/\n\}\s*$/.test(raw)) {
69
76
  const prettyJson = JSON.stringify(tabContext, null, 2).replace(/\n/g, '\n ');
70
77
  return raw.replace(/\n\}\s*$/, `,\n "_tabContext": ${prettyJson}\n}`);
@@ -3,8 +3,7 @@ import type { ToolProfileId } from './registry/contracts.js';
3
3
  export type ToolDomain = string;
4
4
  export type ToolProfile = ToolProfileId;
5
5
  export declare const allTools: Tool[];
6
- export declare const TIER_ORDER: readonly ToolProfile[];
7
- export declare const TIER_DEFAULT_TTL: Readonly<Record<ToolProfile, number>>;
6
+ export declare const TIER_ORDER: readonly ["search", "workflow", "full"];
8
7
  export declare function getTierIndex(profile: ToolProfile): number;
9
8
  export declare function parseToolDomains(raw: string | undefined): string[] | null;
10
9
  export declare function getToolsByDomains(domains: string[]): Tool[];
@@ -1,4 +1,4 @@
1
- import { buildToolGroups, buildToolDomainMap, buildAllTools, buildProfileDomains, ALL_DOMAINS, } from './registry/index.js';
1
+ import { buildToolGroups, buildToolDomainMap, buildAllTools, buildProfileDomains, getAllDomains, getAllRegistrations, getRegistrationByName, } from './registry/index.js';
2
2
  let _toolGroups = null;
3
3
  let _toolDomainByName = null;
4
4
  let _profileDomains = null;
@@ -28,11 +28,6 @@ export const allTools = new Proxy([], {
28
28
  },
29
29
  });
30
30
  export const TIER_ORDER = ['search', 'workflow', 'full'];
31
- export const TIER_DEFAULT_TTL = {
32
- search: 0,
33
- workflow: 60,
34
- full: 30,
35
- };
36
31
  export function getTierIndex(profile) {
37
32
  return TIER_ORDER.indexOf(profile);
38
33
  }
@@ -47,13 +42,13 @@ export function parseToolDomains(raw) {
47
42
  if (!raw?.trim()) {
48
43
  return null;
49
44
  }
50
- const validDomains = ALL_DOMAINS;
45
+ const validDomains = getAllDomains();
51
46
  const parsed = raw
52
47
  .split(',')
53
48
  .map((item) => item.trim().toLowerCase())
54
49
  .filter(Boolean)
55
50
  .filter((item) => validDomains.has(item));
56
- return parsed.length > 0 ? (Array.from(new Set(parsed))) : null;
51
+ return parsed.length > 0 ? Array.from(new Set(parsed)) : null;
57
52
  }
58
53
  export function getToolsByDomains(domains) {
59
54
  const tools = domains.flatMap((domain) => getToolGroups()[domain] ?? []);
@@ -63,7 +58,17 @@ export function getToolsForProfile(profile) {
63
58
  const domains = getProfileDomainsMap()[profile];
64
59
  if (!domains)
65
60
  return [];
66
- return getToolsByDomains(domains);
61
+ const domainSet = new Set(domains);
62
+ const tools = [...getAllRegistrations()]
63
+ .filter((r) => {
64
+ if (!domainSet.has(r.domain))
65
+ return false;
66
+ if (r.profiles && !r.profiles.includes(profile))
67
+ return false;
68
+ return true;
69
+ })
70
+ .map((r) => r.tool);
71
+ return dedupeTools(tools);
67
72
  }
68
73
  export function getToolDomain(toolName) {
69
74
  return getToolDomainByName().get(toolName) ?? null;
@@ -72,6 +77,15 @@ export function getProfileDomains(profile) {
72
77
  return getProfileDomainsMap()[profile] ?? [];
73
78
  }
74
79
  export function getToolMinimalTier(toolName) {
80
+ const registration = getRegistrationByName(toolName);
81
+ if (registration?.profiles) {
82
+ for (const tier of TIER_ORDER) {
83
+ if (registration.profiles.includes(tier)) {
84
+ return tier;
85
+ }
86
+ }
87
+ return null;
88
+ }
75
89
  const domain = getToolDomain(toolName);
76
90
  if (!domain)
77
91
  return null;
@@ -1,3 +1,4 @@
1
+ import { ToolError } from '../errors/ToolError.js';
1
2
  export class ToolExecutionRouter {
2
3
  handlers;
3
4
  constructor(handlers) {
@@ -20,7 +21,7 @@ export class ToolExecutionRouter {
20
21
  async execute(toolName, args) {
21
22
  const handler = this.handlers.get(toolName);
22
23
  if (!handler) {
23
- throw new Error(`Unknown tool: ${toolName}`);
24
+ throw new ToolError('NOT_FOUND', `Unknown tool: ${toolName}`, { toolName });
24
25
  }
25
26
  return handler(args);
26
27
  }