@jshookmcp/jshook 0.2.2 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -661
- package/README.md +15 -6
- package/README.zh.md +19 -4
- package/dist/native/scripts/linux/enum-windows.sh +12 -12
- package/dist/native/scripts/macos/enum-windows.applescript +22 -22
- package/dist/native/scripts/windows/enum-windows-by-class.ps1 +51 -51
- package/dist/native/scripts/windows/enum-windows.ps1 +44 -44
- package/dist/native/scripts/windows/inject-dll.ps1 +21 -21
- package/dist/packages/extension-sdk/src/bridges/shared.js +2 -2
- package/dist/packages/extension-sdk/src/plugin.d.ts +5 -0
- package/dist/packages/extension-sdk/src/plugin.js +119 -33
- package/dist/packages/extension-sdk/src/workflow.d.ts +156 -0
- package/dist/packages/extension-sdk/src/workflow.js +236 -0
- package/dist/src/config/search-defaults.js +161 -0
- package/dist/src/constants.d.ts +3 -0
- package/dist/src/constants.js +4 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +13 -17
- package/dist/src/modules/analyzer/CodeAnalyzer.d.ts +1 -3
- package/dist/src/modules/analyzer/CodeAnalyzer.js +16 -28
- package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.d.ts +1 -2
- package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.js +1 -45
- package/dist/src/modules/analyzer/IntelligentAnalyzer.d.ts +1 -37
- package/dist/src/modules/analyzer/IntelligentAnalyzer.js +9 -142
- package/dist/src/modules/analyzer/PatternDetector.js +3 -3
- package/dist/src/modules/analyzer/PatternDetectorAuthPatterns.js +1 -1
- package/dist/src/modules/browser/BrowserDiscovery.d.ts +6 -5
- package/dist/src/modules/browser/BrowserDiscovery.js +3 -3
- package/dist/src/modules/browser/BrowserModeManager.d.ts +1 -1
- package/dist/src/modules/browser/BrowserModeManager.js +11 -10
- package/dist/src/modules/browser/TabRegistry.js +2 -2
- package/dist/src/modules/browser/UnifiedBrowserManager.d.ts +1 -0
- package/dist/src/modules/browser/UnifiedBrowserManager.js +19 -4
- package/dist/src/modules/captcha/AICaptchaDetector.d.ts +14 -23
- package/dist/src/modules/captcha/AICaptchaDetector.js +8 -202
- package/dist/src/modules/captcha/CaptchaDetector.d.ts +31 -17
- package/dist/src/modules/captcha/CaptchaDetector.js +1 -1
- package/dist/src/modules/collector/CodeCache.d.ts +2 -2
- package/dist/src/modules/collector/CodeCollector.d.ts +12 -9
- package/dist/src/modules/collector/CodeCollector.js +5 -6
- package/dist/src/modules/collector/DOMInspector.d.ts +3 -2
- package/dist/src/modules/collector/DOMInspector.js +49 -59
- package/dist/src/modules/collector/PageController.d.ts +17 -4
- package/dist/src/modules/collector/PageController.js +2 -5
- package/dist/src/modules/collector/PageScriptCollectors.js +3 -3
- package/dist/src/modules/crypto/CryptoDetector.d.ts +1 -4
- package/dist/src/modules/crypto/CryptoDetector.js +2 -42
- package/dist/src/modules/crypto/CryptoRules.js +1 -1
- package/dist/src/modules/debugger/BlackboxManager.js +1 -1
- package/dist/src/modules/debugger/DebuggerManager.impl.core.scope.js +1 -1
- package/dist/src/modules/debugger/ScriptManager.impl.extract-function-tree.js +5 -3
- package/dist/src/modules/debugger/WatchExpressionManager.js +1 -1
- package/dist/src/modules/deobfuscator/Deobfuscator.d.ts +1 -4
- package/dist/src/modules/deobfuscator/Deobfuscator.js +4 -39
- package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.d.ts +0 -3
- package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.js +2 -8
- package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.d.ts +2 -3
- package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.js +5 -57
- package/dist/src/modules/deobfuscator/JScramblerDeobfuscator.js +3 -4
- package/dist/src/modules/deobfuscator/PackerDeobfuscator.js +1 -1
- package/dist/src/modules/deobfuscator/VMDeobfuscator.d.ts +2 -10
- package/dist/src/modules/deobfuscator/VMDeobfuscator.js +3 -128
- package/dist/src/modules/deobfuscator/webcrack.js +15 -2
- package/dist/src/modules/emulator/AIEnvironmentAnalyzer.d.ts +5 -8
- package/dist/src/modules/emulator/AIEnvironmentAnalyzer.js +10 -102
- package/dist/src/modules/emulator/EnvironmentEmulator.d.ts +1 -5
- package/dist/src/modules/emulator/EnvironmentEmulator.js +7 -91
- package/dist/src/modules/emulator/EnvironmentEmulatorFetch.js +58 -61
- package/dist/src/modules/emulator/templates/chrome-env.d.ts +17 -7
- package/dist/src/modules/emulator/templates/chrome-env.js +14 -7
- package/dist/src/modules/external/ExternalToolRunner.d.ts +1 -1
- package/dist/src/modules/external/ExternalToolRunner.js +26 -23
- package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.d.ts +13 -0
- package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.js +42 -0
- package/dist/src/modules/monitor/FetchInterceptor.d.ts +46 -0
- package/dist/src/modules/monitor/FetchInterceptor.js +191 -0
- package/dist/src/modules/monitor/PerformanceMonitor.js +8 -7
- package/dist/src/modules/process/BaseMemoryManager.d.ts +1 -1
- package/dist/src/modules/process/LinuxProcessManager.js +4 -2
- package/dist/src/modules/process/MacProcessManager.js +1 -1
- package/dist/src/modules/process/MemoryManager.d.ts +1 -1
- package/dist/src/modules/process/MemoryManager.js +2 -2
- package/dist/src/modules/process/ProcessManager.impl.js +1 -1
- package/dist/src/modules/process/memory/AuditTrail.js +1 -1
- package/dist/src/modules/process/memory/reader.js +35 -3
- package/dist/src/modules/process/memory/regions.enumerate.js +1 -1
- package/dist/src/modules/process/memory/regions.protection.js +42 -9
- package/dist/src/modules/process/memory/scanner.d.ts +5 -1
- package/dist/src/modules/process/memory/scanner.darwin.js +57 -0
- package/dist/src/modules/process/memory/scanner.js +88 -4
- package/dist/src/modules/process/memory/writer.js +44 -4
- package/dist/src/modules/security/ExecutionSandbox.js +7 -8
- package/dist/src/modules/stealth/FingerprintManager.js +1 -1
- package/dist/src/modules/stealth/StealthScripts.d.ts +4 -2
- package/dist/src/modules/stealth/StealthScripts.js +53 -14
- package/dist/src/modules/stealth/StealthVerifier.d.ts +1 -1
- package/dist/src/modules/stealth/StealthVerifier.js +2 -4
- package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.d.ts +14 -0
- package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.js +181 -2
- package/dist/src/modules/trace/TraceDB.js +12 -6
- package/dist/src/modules/trace/TraceRecorder.js +1 -5
- package/dist/src/native/AntiCheatDetector.js +67 -16
- package/dist/src/native/CodeInjector.js +4 -4
- package/dist/src/native/HardwareBreakpoint.js +25 -16
- package/dist/src/native/HeapAnalyzer.js +2 -2
- package/dist/src/native/MemoryController.js +1 -1
- package/dist/src/native/MemoryScanSession.js +2 -2
- package/dist/src/native/MemoryScanner.js +4 -8
- package/dist/src/native/NativeMemoryManager.impl.js +2 -2
- package/dist/src/native/PEAnalyzer.js +14 -15
- package/dist/src/native/PointerChainEngine.js +2 -4
- package/dist/src/native/ScriptLoader.js +4 -9
- package/dist/src/native/Speedhack.js +1 -1
- package/dist/src/native/StructureAnalyzer.js +52 -33
- package/dist/src/native/Win32API.d.ts +1 -0
- package/dist/src/native/Win32API.js +13 -0
- package/dist/src/native/Win32Debug.js +19 -19
- package/dist/src/native/platform/darwin/DarwinAPI.d.ts +2 -0
- package/dist/src/native/platform/darwin/DarwinAPI.js +8 -0
- package/dist/src/native/platform/darwin/DarwinMemoryProvider.js +6 -1
- package/dist/src/server/MCPServer.context.d.ts +2 -1
- package/dist/src/server/MCPServer.d.ts +2 -1
- package/dist/src/server/MCPServer.domain.d.ts +1 -1
- package/dist/src/server/MCPServer.domain.js +81 -16
- package/dist/src/server/MCPServer.js +42 -14
- package/dist/src/server/MCPServer.resources.d.ts +2 -0
- package/dist/src/server/MCPServer.resources.js +91 -0
- package/dist/src/server/MCPServer.search.handlers.call.js +2 -1
- package/dist/src/server/MCPServer.search.helpers.js +2 -2
- package/dist/src/server/MCPServer.tools.js +1 -1
- package/dist/src/server/MCPServer.transport.js +12 -0
- package/dist/src/server/ToolCallContextGuard.d.ts +5 -0
- package/dist/src/server/ToolCallContextGuard.js +85 -0
- package/dist/src/server/ToolRouter.d.ts +26 -10
- package/dist/src/server/ToolRouter.intent.d.ts +26 -0
- package/dist/src/server/ToolRouter.intent.js +77 -0
- package/dist/src/server/ToolRouter.js +103 -284
- package/dist/src/server/ToolRouter.policy.d.ts +22 -0
- package/dist/src/server/ToolRouter.policy.js +163 -0
- package/dist/src/server/ToolRouter.probe.d.ts +17 -0
- package/dist/src/server/ToolRouter.probe.js +103 -0
- package/dist/src/server/ToolRouter.renderer.d.ts +9 -0
- package/dist/src/server/ToolRouter.renderer.js +52 -0
- package/dist/src/server/activation/ActivationController.js +15 -12
- package/dist/src/server/activation/CompoundConditionEngine.js +1 -1
- package/dist/src/server/activation/PredictiveBooster.js +1 -3
- package/dist/src/server/domains/analysis/definitions.js +155 -655
- package/dist/src/server/domains/analysis/handlers.impl.d.ts +8 -8
- package/dist/src/server/domains/analysis/handlers.impl.js +34 -28
- package/dist/src/server/domains/analysis/handlers.web-tools.js +4 -3
- package/dist/src/server/domains/analysis/manifest.js +6 -4
- package/dist/src/server/domains/antidebug/definitions.js +25 -111
- package/dist/src/server/domains/browser/definitions.tools.advanced.js +59 -88
- package/dist/src/server/domains/browser/definitions.tools.behavior.js +120 -227
- package/dist/src/server/domains/browser/definitions.tools.page-core.js +157 -386
- package/dist/src/server/domains/browser/definitions.tools.page-system.js +108 -250
- package/dist/src/server/domains/browser/definitions.tools.runtime.js +61 -174
- package/dist/src/server/domains/browser/definitions.tools.security.js +92 -237
- package/dist/src/server/domains/browser/handlers/camoufox-browser.js +3 -2
- package/dist/src/server/domains/browser/handlers/captcha-solver.js +3 -3
- package/dist/src/server/domains/browser/handlers/dom-query.js +2 -1
- package/dist/src/server/domains/browser/handlers/facade-initializer.d.ts +3 -3
- package/dist/src/server/domains/browser/handlers/facade-initializer.js +3 -3
- package/dist/src/server/domains/browser/handlers/framework-state.js +231 -3
- package/dist/src/server/domains/browser/handlers/indexeddb-dump.js +21 -20
- package/dist/src/server/domains/browser/handlers/script-management.js +1 -1
- package/dist/src/server/domains/browser/handlers/stealth-injection.js +8 -2
- package/dist/src/server/domains/browser/handlers.impl.d.ts +15 -12
- package/dist/src/server/domains/browser/handlers.impl.js +5 -6
- package/dist/src/server/domains/browser/manifest.js +37 -13
- package/dist/src/server/domains/coordination/definitions.js +50 -149
- package/dist/src/server/domains/coordination/index.d.ts +20 -1
- package/dist/src/server/domains/coordination/index.js +133 -0
- package/dist/src/server/domains/coordination/manifest.js +15 -0
- package/dist/src/server/domains/debugger/definitions.tools.advanced.js +72 -189
- package/dist/src/server/domains/debugger/definitions.tools.core.js +114 -288
- package/dist/src/server/domains/debugger/manifest.js +9 -2
- package/dist/src/server/domains/encoding/definitions.js +43 -153
- package/dist/src/server/domains/encoding/handlers.base.js +2 -2
- package/dist/src/server/domains/evidence/definitions.d.ts +2 -0
- package/dist/src/server/domains/evidence/definitions.js +42 -0
- package/dist/src/server/domains/evidence/handlers.d.ts +582 -0
- package/dist/src/server/domains/evidence/handlers.js +60 -0
- package/dist/src/server/domains/evidence/index.d.ts +2 -0
- package/dist/src/server/domains/evidence/index.js +2 -0
- package/dist/src/server/domains/evidence/manifest.d.ts +63 -0
- package/dist/src/server/domains/evidence/manifest.js +78 -0
- package/dist/src/server/domains/graphql/definitions.js +53 -141
- package/dist/src/server/domains/graphql/handlers.impl.core.runtime.replay.js +92 -114
- package/dist/src/server/domains/hooks/ai-handlers.d.ts +0 -7
- package/dist/src/server/domains/hooks/ai-handlers.js +4 -70
- package/dist/src/server/domains/hooks/definitions.js +69 -335
- package/dist/src/server/domains/hooks/manifest.d.ts +1 -1
- package/dist/src/server/domains/hooks/manifest.js +1 -2
- package/dist/src/server/domains/instrumentation/definitions.d.ts +2 -0
- package/dist/src/server/domains/instrumentation/definitions.js +99 -0
- package/dist/src/server/domains/instrumentation/handlers.d.ts +78 -0
- package/dist/src/server/domains/instrumentation/handlers.js +206 -0
- package/dist/src/server/domains/instrumentation/index.d.ts +2 -0
- package/dist/src/server/domains/instrumentation/index.js +2 -0
- package/dist/src/server/domains/instrumentation/manifest.d.ts +63 -0
- package/dist/src/server/domains/instrumentation/manifest.js +114 -0
- package/dist/src/server/domains/macro/definitions.js +16 -43
- package/dist/src/server/domains/maintenance/definitions.js +60 -219
- package/dist/src/server/domains/maintenance/handlers.d.ts +2 -2
- package/dist/src/server/domains/maintenance/handlers.extensions.js +78 -20
- package/dist/src/server/domains/maintenance/handlers.js +2 -2
- package/dist/src/server/domains/memory/definitions.js +387 -559
- package/dist/src/server/domains/memory/handlers/hooks.d.ts +55 -0
- package/dist/src/server/domains/memory/handlers/hooks.js +115 -0
- package/dist/src/server/domains/memory/handlers/integrity.d.ts +77 -0
- package/dist/src/server/domains/memory/handlers/integrity.js +180 -0
- package/dist/src/server/domains/memory/handlers/pointer-chain.d.ts +29 -0
- package/dist/src/server/domains/memory/handlers/pointer-chain.js +82 -0
- package/dist/src/server/domains/memory/handlers/readwrite.d.ts +41 -0
- package/dist/src/server/domains/memory/handlers/readwrite.js +78 -0
- package/dist/src/server/domains/memory/handlers/scan.d.ts +35 -0
- package/dist/src/server/domains/memory/handlers/scan.js +97 -0
- package/dist/src/server/domains/memory/handlers/session.d.ts +23 -0
- package/dist/src/server/domains/memory/handlers/session.js +49 -0
- package/dist/src/server/domains/memory/handlers/structure.d.ts +29 -0
- package/dist/src/server/domains/memory/handlers/structure.js +74 -0
- package/dist/src/server/domains/memory/handlers.impl.d.ts +49 -54
- package/dist/src/server/domains/memory/handlers.impl.js +63 -494
- package/dist/src/server/domains/memory/manifest.js +236 -64
- package/dist/src/server/domains/native-bridge/definitions.js +54 -192
- package/dist/src/server/domains/native-bridge/index.d.ts +1 -0
- package/dist/src/server/domains/native-bridge/index.js +2 -1
- package/dist/src/server/domains/network/auth-extractor.js +1 -1
- package/dist/src/server/domains/network/definitions.js +175 -578
- package/dist/src/server/domains/network/handlers.base.core.d.ts +64 -0
- package/dist/src/server/domains/network/handlers.base.core.js +623 -0
- package/dist/src/server/domains/network/handlers.base.d.ts +2 -124
- package/dist/src/server/domains/network/handlers.base.js +3 -878
- package/dist/src/server/domains/network/handlers.base.performance.d.ts +63 -0
- package/dist/src/server/domains/network/handlers.base.performance.js +193 -0
- package/dist/src/server/domains/network/handlers.base.types.d.ts +42 -0
- package/dist/src/server/domains/network/handlers.base.types.js +89 -0
- package/dist/src/server/domains/network/handlers.impl.core.runtime.d.ts +1 -1
- package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.d.ts +21 -0
- package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.js +186 -0
- package/dist/src/server/domains/network/handlers.impl.core.runtime.js +1 -1
- package/dist/src/server/domains/network/manifest.js +15 -0
- package/dist/src/server/domains/network/replay.js +1 -4
- package/dist/src/server/domains/platform/definitions.js +121 -112
- package/dist/src/server/domains/platform/handlers/bridge-handlers.d.ts +5 -1
- package/dist/src/server/domains/platform/handlers/bridge-handlers.js +194 -5
- package/dist/src/server/domains/platform/handlers/electron-asar-helpers.js +26 -6
- package/dist/src/server/domains/platform/handlers/electron-dual-cdp.d.ts +3 -0
- package/dist/src/server/domains/platform/handlers/electron-dual-cdp.js +170 -0
- package/dist/src/server/domains/platform/handlers/electron-fuse-handler.d.ts +3 -0
- package/dist/src/server/domains/platform/handlers/electron-fuse-handler.js +193 -0
- package/dist/src/server/domains/platform/handlers/electron-handlers.d.ts +6 -0
- package/dist/src/server/domains/platform/handlers/electron-handlers.js +95 -2
- package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.d.ts +2 -0
- package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.js +370 -0
- package/dist/src/server/domains/platform/handlers/electron-userdata-handler.d.ts +2 -0
- package/dist/src/server/domains/platform/handlers/electron-userdata-handler.js +78 -0
- package/dist/src/server/domains/platform/handlers/miniapp-handlers.d.ts +1 -1
- package/dist/src/server/domains/platform/handlers/miniapp-handlers.js +4 -4
- package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.d.ts +2 -0
- package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.js +207 -0
- package/dist/src/server/domains/platform/handlers.d.ts +48 -0
- package/dist/src/server/domains/platform/handlers.js +29 -0
- package/dist/src/server/domains/platform/manifest.js +38 -0
- package/dist/src/server/domains/process/definitions.js +163 -647
- package/dist/src/server/domains/process/handlers.base.d.ts +3 -95
- package/dist/src/server/domains/process/handlers.base.js +7 -462
- package/dist/src/server/domains/process/handlers.base.process.d.ts +61 -0
- package/dist/src/server/domains/process/handlers.base.process.js +417 -0
- package/dist/src/server/domains/process/handlers.base.types.d.ts +57 -0
- package/dist/src/server/domains/process/handlers.base.types.js +50 -0
- package/dist/src/server/domains/process/handlers.impl.core.runtime.inject.js +19 -17
- package/dist/src/server/domains/process/manifest.js +6 -1
- package/dist/src/server/domains/sandbox/definitions.js +11 -33
- package/dist/src/server/domains/sandbox/handlers.js +8 -3
- package/dist/src/server/domains/shared/ResponseBuilder.d.ts +209 -0
- package/dist/src/server/domains/shared/ResponseBuilder.js +48 -0
- package/dist/src/server/domains/shared/modules.d.ts +0 -2
- package/dist/src/server/domains/shared/modules.js +0 -1
- package/dist/src/server/domains/sourcemap/definitions.js +27 -111
- package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-common.js +7 -2
- package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-main.js +1 -1
- package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-parse-base.js +1 -1
- package/dist/src/server/domains/sourcemap/manifest.d.ts +1 -1
- package/dist/src/server/domains/sourcemap/manifest.js +1 -1
- package/dist/src/server/domains/streaming/definitions.js +36 -148
- package/dist/src/server/domains/streaming/handlers.impl.streaming-sse.js +163 -164
- package/dist/src/server/domains/streaming/handlers.impl.streaming-ws.js +1 -1
- package/dist/src/server/domains/trace/TraceSummarizer.d.ts +60 -0
- package/dist/src/server/domains/trace/TraceSummarizer.js +112 -0
- package/dist/src/server/domains/trace/definitions.tools.js +51 -176
- package/dist/src/server/domains/trace/handlers.d.ts +2 -1
- package/dist/src/server/domains/trace/handlers.js +62 -9
- package/dist/src/server/domains/trace/index.d.ts +2 -1
- package/dist/src/server/domains/trace/index.js +2 -1
- package/dist/src/server/domains/trace/manifest.js +18 -4
- package/dist/src/server/domains/transform/definitions.js +50 -210
- package/dist/src/server/domains/transform/handlers.impl.transform-base.js +6 -6
- package/dist/src/server/domains/transform/handlers.impl.transform-crypto.js +18 -19
- package/dist/src/server/domains/transform/manifest.d.ts +1 -1
- package/dist/src/server/domains/transform/manifest.js +1 -1
- package/dist/src/server/domains/wasm/definitions.js +55 -232
- package/dist/src/server/domains/wasm/handlers.js +3 -3
- package/dist/src/server/domains/workflow/definitions.js +144 -414
- package/dist/src/server/domains/workflow/handlers.impl.workflow-account-bundle.js +2 -2
- package/dist/src/server/domains/workflow/handlers.impl.workflow-base.d.ts +2 -0
- package/dist/src/server/domains/workflow/handlers.impl.workflow-base.js +126 -87
- package/dist/src/server/domains/workflow/handlers.impl.workflow-batch.js +5 -5
- package/dist/src/server/evidence/ReverseEvidenceGraph.d.ts +20 -0
- package/dist/src/server/evidence/ReverseEvidenceGraph.js +208 -0
- package/dist/src/server/evidence/index.d.ts +2 -0
- package/dist/src/server/evidence/index.js +1 -0
- package/dist/src/server/evidence/types.d.ts +22 -0
- package/dist/src/server/evidence/types.js +1 -0
- package/dist/src/server/extensions/ExtensionManager.d.ts +1 -0
- package/dist/src/server/extensions/ExtensionManager.discovery.js +72 -9
- package/dist/src/server/extensions/ExtensionManager.integrity.js +1 -1
- package/dist/src/server/extensions/ExtensionManager.js +193 -40
- package/dist/src/server/extensions/ExtensionManager.roots.d.ts +1 -1
- package/dist/src/server/extensions/ExtensionManager.roots.js +19 -9
- package/dist/src/server/extensions/plugin-config.js +1 -1
- package/dist/src/server/extensions/plugin-env.d.ts +1 -1
- package/dist/src/server/extensions/plugin-env.js +10 -4
- package/dist/src/server/extensions/types.d.ts +17 -0
- package/dist/src/server/extensions/types.js +1 -1
- package/dist/src/server/http/HttpMiddleware.js +1 -1
- package/dist/src/server/instrumentation/EvidenceGraphBridge.d.ts +13 -0
- package/dist/src/server/instrumentation/EvidenceGraphBridge.js +150 -0
- package/dist/src/server/instrumentation/InstrumentationSession.d.ts +60 -0
- package/dist/src/server/instrumentation/InstrumentationSession.js +269 -0
- package/dist/src/server/instrumentation/index.d.ts +2 -0
- package/dist/src/server/instrumentation/index.js +2 -0
- package/dist/src/server/instrumentation/types.d.ts +62 -0
- package/dist/src/server/instrumentation/types.js +7 -0
- package/dist/src/server/macros/MacroConfigLoader.d.ts +6 -5
- package/dist/src/server/macros/MacroConfigLoader.js +61 -59
- package/dist/src/server/macros/MacroRunner.js +6 -2
- package/dist/src/server/macros/builtins/index.d.ts +2 -3
- package/dist/src/server/macros/builtins/index.js +51 -7
- package/dist/src/server/plugins/PluginContract.d.ts +1 -1
- package/dist/src/server/registry/contracts.d.ts +7 -1
- package/dist/src/server/registry/discovery.js +5 -4
- package/dist/src/server/registry/ensure-browser-core.js +0 -3
- package/dist/src/server/registry/index.js +4 -4
- package/dist/src/server/registry/tool-builder.d.ts +46 -0
- package/dist/src/server/registry/tool-builder.js +105 -0
- package/dist/src/server/sandbox/MCPBridge.d.ts +9 -0
- package/dist/src/server/sandbox/MCPBridge.js +22 -0
- package/dist/src/server/sandbox/QuickJSSandbox.d.ts +4 -1
- package/dist/src/server/sandbox/QuickJSSandbox.js +162 -2
- package/dist/src/server/sandbox/types.d.ts +13 -0
- package/dist/src/server/search/AffinityGraph.d.ts +7 -1
- package/dist/src/server/search/AffinityGraph.js +24 -3
- package/dist/src/server/search/EmbeddingWorker.js +5 -3
- package/dist/src/server/search/FeedbackTracker.d.ts +9 -0
- package/dist/src/server/search/FeedbackTracker.js +26 -0
- package/dist/src/server/search/QueryNormalizer.d.ts +6 -0
- package/dist/src/server/search/QueryNormalizer.js +94 -0
- package/dist/src/server/search/ToolSearchEngineImpl.d.ts +2 -3
- package/dist/src/server/search/ToolSearchEngineImpl.js +38 -88
- package/dist/src/server/workflows/WorkflowContract.d.ts +24 -0
- package/dist/src/server/workflows/WorkflowContract.js +12 -0
- package/dist/src/server/workflows/WorkflowEngine.d.ts +1 -0
- package/dist/src/server/workflows/WorkflowEngine.js +136 -3
- package/dist/src/types/config.d.ts +0 -14
- package/dist/src/types/deobfuscator.d.ts +0 -1
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/utils/DetailedDataManager.js +2 -0
- package/dist/src/utils/RingBuffer.js +5 -5
- package/dist/src/utils/TokenBudgetManager.js +1 -1
- package/dist/src/utils/UnifiedCacheManager.d.ts +1 -1
- package/dist/src/utils/UnifiedCacheManager.js +3 -3
- package/dist/src/utils/artifactRetention.js +2 -2
- package/dist/src/utils/betterSqlite3.d.ts +11 -0
- package/dist/src/utils/betterSqlite3.js +88 -0
- package/dist/src/utils/browserExecutable.js +2 -2
- package/dist/src/utils/cliFastPath.js +17 -6
- package/dist/src/utils/config.js +4 -26
- package/dist/src/utils/environmentDoctor.js +138 -11
- package/dist/src/utils/outputPaths.js +16 -9
- package/dist/src/utils/parallel.js +1 -3
- package/package.json +76 -72
- package/scripts/postinstall.cjs +37 -37
- package/src/native/scripts/linux/enum-windows.sh +12 -12
- package/src/native/scripts/macos/enum-windows.applescript +22 -22
- package/src/native/scripts/windows/enum-windows-by-class.ps1 +51 -51
- package/src/native/scripts/windows/enum-windows.ps1 +44 -44
- package/src/native/scripts/windows/inject-dll.ps1 +21 -21
- package/workflows/.gitkeep +0 -0
- package/dist/src/modules/analyzer/AISummarizer.d.ts +0 -39
- package/dist/src/modules/analyzer/AISummarizer.js +0 -122
- package/dist/src/modules/hook/AIHookGenerator.d.ts +0 -52
- package/dist/src/modules/hook/AIHookGenerator.js +0 -360
- package/dist/src/modules/hook/AIHookGeneratorTemplates.d.ts +0 -9
- package/dist/src/modules/hook/AIHookGeneratorTemplates.js +0 -157
- package/dist/src/server/macros/builtins/deobfuscate-ast-flow.d.ts +0 -2
- package/dist/src/server/macros/builtins/deobfuscate-ast-flow.js +0 -25
- package/dist/src/server/macros/builtins/unpacker-flow.d.ts +0 -2
- package/dist/src/server/macros/builtins/unpacker-flow.js +0 -25
- package/dist/src/services/LLMService.d.ts +0 -37
- package/dist/src/services/LLMService.js +0 -233
- package/dist/src/services/prompts/analysis.d.ts +0 -9
- package/dist/src/services/prompts/analysis.js +0 -158
- package/dist/src/services/prompts/crypto.d.ts +0 -2
- package/dist/src/services/prompts/crypto.js +0 -108
- package/dist/src/services/prompts/deobfuscation.d.ts +0 -6
- package/dist/src/services/prompts/deobfuscation.js +0 -300
- package/dist/src/services/prompts/environment.d.ts +0 -16
- package/dist/src/services/prompts/environment.js +0 -372
- package/dist/src/services/prompts/intelligence.d.ts +0 -4
- package/dist/src/services/prompts/intelligence.js +0 -250
- package/dist/src/services/prompts/taint.d.ts +0 -2
- package/dist/src/services/prompts/taint.js +0 -54
|
@@ -1,580 +1,177 @@
|
|
|
1
|
+
import { tool } from '../../registry/tool-builder.js';
|
|
1
2
|
export const advancedTools = [
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
inputSchema: {
|
|
177
|
-
type: 'object',
|
|
178
|
-
properties: {
|
|
179
|
-
includeTimeline: {
|
|
180
|
-
type: 'boolean',
|
|
181
|
-
description: 'Include detailed timeline events',
|
|
182
|
-
default: false,
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
},
|
|
186
|
-
annotations: {
|
|
187
|
-
readOnlyHint: true,
|
|
188
|
-
destructiveHint: false,
|
|
189
|
-
idempotentHint: true,
|
|
190
|
-
openWorldHint: false,
|
|
191
|
-
},
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
name: 'performance_start_coverage',
|
|
195
|
-
description: 'Start JavaScript and CSS code coverage recording',
|
|
196
|
-
inputSchema: {
|
|
197
|
-
type: 'object',
|
|
198
|
-
properties: {},
|
|
199
|
-
},
|
|
200
|
-
annotations: {
|
|
201
|
-
readOnlyHint: false,
|
|
202
|
-
destructiveHint: false,
|
|
203
|
-
idempotentHint: false,
|
|
204
|
-
openWorldHint: false,
|
|
205
|
-
},
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
name: 'performance_stop_coverage',
|
|
209
|
-
description: 'Stop coverage recording and return coverage report',
|
|
210
|
-
inputSchema: {
|
|
211
|
-
type: 'object',
|
|
212
|
-
properties: {},
|
|
213
|
-
},
|
|
214
|
-
annotations: {
|
|
215
|
-
readOnlyHint: false,
|
|
216
|
-
destructiveHint: false,
|
|
217
|
-
idempotentHint: false,
|
|
218
|
-
openWorldHint: false,
|
|
219
|
-
},
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
name: 'performance_take_heap_snapshot',
|
|
223
|
-
description: 'Take a V8 heap memory snapshot',
|
|
224
|
-
inputSchema: {
|
|
225
|
-
type: 'object',
|
|
226
|
-
properties: {},
|
|
227
|
-
},
|
|
228
|
-
annotations: {
|
|
229
|
-
readOnlyHint: false,
|
|
230
|
-
destructiveHint: false,
|
|
231
|
-
idempotentHint: false,
|
|
232
|
-
openWorldHint: false,
|
|
233
|
-
},
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
name: 'performance_trace_start',
|
|
237
|
-
description: 'Start a Chrome Performance Trace recording using the CDP Tracing domain.\n\nCaptures timeline events (JS execution, layout, paint, rendering) that can be loaded in Chrome DevTools Performance tab.\n\nUSE THIS to:\n- Profile WASM execution performance\n- Find JavaScript performance bottlenecks\n- Analyze rendering and layout thrashing\n- Record screenshots during trace (set screenshots: true)\n\nCall performance_trace_stop to end recording and save the trace file.',
|
|
238
|
-
inputSchema: {
|
|
239
|
-
type: 'object',
|
|
240
|
-
properties: {
|
|
241
|
-
categories: {
|
|
242
|
-
type: 'array',
|
|
243
|
-
items: { type: 'string' },
|
|
244
|
-
description: 'Trace categories to include (default: devtools.timeline, v8.execute, blink.user_timing). Pass custom categories for specific tracing needs.',
|
|
245
|
-
},
|
|
246
|
-
screenshots: {
|
|
247
|
-
type: 'boolean',
|
|
248
|
-
description: 'Capture screenshots during tracing (increases trace file size). Default: false',
|
|
249
|
-
default: false,
|
|
250
|
-
},
|
|
251
|
-
},
|
|
252
|
-
},
|
|
253
|
-
annotations: {
|
|
254
|
-
readOnlyHint: false,
|
|
255
|
-
destructiveHint: false,
|
|
256
|
-
idempotentHint: false,
|
|
257
|
-
openWorldHint: false,
|
|
258
|
-
},
|
|
259
|
-
},
|
|
260
|
-
{
|
|
261
|
-
name: 'performance_trace_stop',
|
|
262
|
-
description: 'Stop a running Performance Trace and save the trace file.\n\nReturns the artifact path (loadable in Chrome DevTools Performance tab), event count, and file size.',
|
|
263
|
-
inputSchema: {
|
|
264
|
-
type: 'object',
|
|
265
|
-
properties: {
|
|
266
|
-
artifactPath: {
|
|
267
|
-
type: 'string',
|
|
268
|
-
description: 'Custom output file path. If omitted, auto-generates path in artifacts/traces/',
|
|
269
|
-
},
|
|
270
|
-
},
|
|
271
|
-
},
|
|
272
|
-
annotations: {
|
|
273
|
-
readOnlyHint: false,
|
|
274
|
-
destructiveHint: false,
|
|
275
|
-
idempotentHint: false,
|
|
276
|
-
openWorldHint: false,
|
|
277
|
-
},
|
|
278
|
-
},
|
|
279
|
-
{
|
|
280
|
-
name: 'profiler_cpu_start',
|
|
281
|
-
description: 'Start CDP CPU profiling.\n\nRecords a V8 CPU profile with call tree, hit counts, and time deltas. The result can be loaded in Chrome DevTools.\n\nCall profiler_cpu_stop to end and retrieve the profile.',
|
|
282
|
-
inputSchema: {
|
|
283
|
-
type: 'object',
|
|
284
|
-
properties: {},
|
|
285
|
-
},
|
|
286
|
-
annotations: {
|
|
287
|
-
readOnlyHint: false,
|
|
288
|
-
destructiveHint: false,
|
|
289
|
-
idempotentHint: false,
|
|
290
|
-
openWorldHint: false,
|
|
291
|
-
},
|
|
292
|
-
},
|
|
293
|
-
{
|
|
294
|
-
name: 'profiler_cpu_stop',
|
|
295
|
-
description: 'Stop CPU profiling, save the profile, and return top hot functions.',
|
|
296
|
-
inputSchema: {
|
|
297
|
-
type: 'object',
|
|
298
|
-
properties: {
|
|
299
|
-
artifactPath: {
|
|
300
|
-
type: 'string',
|
|
301
|
-
description: 'Custom output file path. If omitted, auto-generates path in artifacts/profiles/',
|
|
302
|
-
},
|
|
303
|
-
},
|
|
304
|
-
},
|
|
305
|
-
annotations: {
|
|
306
|
-
readOnlyHint: false,
|
|
307
|
-
destructiveHint: false,
|
|
308
|
-
idempotentHint: false,
|
|
309
|
-
openWorldHint: false,
|
|
310
|
-
},
|
|
311
|
-
},
|
|
312
|
-
{
|
|
313
|
-
name: 'profiler_heap_sampling_start',
|
|
314
|
-
description: 'Start V8 heap allocation sampling.\n\nTracks memory allocations over time. Useful for finding memory leaks and high-allocation code paths.\n\nCall profiler_heap_sampling_stop to end and retrieve the report.',
|
|
315
|
-
inputSchema: {
|
|
316
|
-
type: 'object',
|
|
317
|
-
properties: {
|
|
318
|
-
samplingInterval: {
|
|
319
|
-
type: 'number',
|
|
320
|
-
description: 'Sampling interval in bytes (default: 32768). Lower values = more detail but higher overhead.',
|
|
321
|
-
default: 32768,
|
|
322
|
-
},
|
|
323
|
-
},
|
|
324
|
-
},
|
|
325
|
-
annotations: {
|
|
326
|
-
readOnlyHint: false,
|
|
327
|
-
destructiveHint: false,
|
|
328
|
-
idempotentHint: false,
|
|
329
|
-
openWorldHint: false,
|
|
330
|
-
},
|
|
331
|
-
},
|
|
332
|
-
{
|
|
333
|
-
name: 'profiler_heap_sampling_stop',
|
|
334
|
-
description: 'Stop heap allocation sampling and return the top allocators.',
|
|
335
|
-
inputSchema: {
|
|
336
|
-
type: 'object',
|
|
337
|
-
properties: {
|
|
338
|
-
artifactPath: {
|
|
339
|
-
type: 'string',
|
|
340
|
-
description: 'Custom output file path. If omitted, auto-generates path in artifacts/profiles/',
|
|
341
|
-
},
|
|
342
|
-
topN: {
|
|
343
|
-
type: 'number',
|
|
344
|
-
description: 'Number of top allocators to return (default: 20)',
|
|
345
|
-
default: 20,
|
|
346
|
-
},
|
|
347
|
-
},
|
|
348
|
-
},
|
|
349
|
-
annotations: {
|
|
350
|
-
readOnlyHint: false,
|
|
351
|
-
destructiveHint: false,
|
|
352
|
-
idempotentHint: false,
|
|
353
|
-
openWorldHint: false,
|
|
354
|
-
},
|
|
355
|
-
},
|
|
356
|
-
{
|
|
357
|
-
name: 'console_get_exceptions',
|
|
358
|
-
description: 'Get captured uncaught exceptions from the page',
|
|
359
|
-
inputSchema: {
|
|
360
|
-
type: 'object',
|
|
361
|
-
properties: {
|
|
362
|
-
url: {
|
|
363
|
-
type: 'string',
|
|
364
|
-
description: 'Filter by URL substring',
|
|
365
|
-
},
|
|
366
|
-
limit: {
|
|
367
|
-
type: 'number',
|
|
368
|
-
description: 'Maximum number of exceptions to return',
|
|
369
|
-
default: 50,
|
|
370
|
-
},
|
|
371
|
-
},
|
|
372
|
-
},
|
|
373
|
-
annotations: {
|
|
374
|
-
readOnlyHint: true,
|
|
375
|
-
destructiveHint: false,
|
|
376
|
-
idempotentHint: false,
|
|
377
|
-
openWorldHint: false,
|
|
378
|
-
},
|
|
379
|
-
},
|
|
380
|
-
{
|
|
381
|
-
name: 'console_inject_script_monitor',
|
|
382
|
-
description: 'Inject a monitor that tracks dynamically created script elements. Use persistent: true to survive page navigations.',
|
|
383
|
-
inputSchema: {
|
|
384
|
-
type: 'object',
|
|
385
|
-
properties: {
|
|
386
|
-
persistent: {
|
|
387
|
-
type: 'boolean',
|
|
388
|
-
description: 'When true, monitor survives page navigations (uses evaluateOnNewDocument). Default: false.',
|
|
389
|
-
},
|
|
390
|
-
},
|
|
391
|
-
},
|
|
392
|
-
annotations: {
|
|
393
|
-
readOnlyHint: false,
|
|
394
|
-
destructiveHint: false,
|
|
395
|
-
idempotentHint: false,
|
|
396
|
-
openWorldHint: true,
|
|
397
|
-
},
|
|
398
|
-
},
|
|
399
|
-
{
|
|
400
|
-
name: 'console_inject_xhr_interceptor',
|
|
401
|
-
description: 'Inject an XHR interceptor to capture AJAX request/response data. Use persistent: true for the interceptor to survive page navigations.',
|
|
402
|
-
inputSchema: {
|
|
403
|
-
type: 'object',
|
|
404
|
-
properties: {
|
|
405
|
-
persistent: {
|
|
406
|
-
type: 'boolean',
|
|
407
|
-
description: 'When true, interceptor survives page navigations (uses evaluateOnNewDocument). Default: false.',
|
|
408
|
-
},
|
|
409
|
-
},
|
|
410
|
-
},
|
|
411
|
-
annotations: {
|
|
412
|
-
readOnlyHint: false,
|
|
413
|
-
destructiveHint: false,
|
|
414
|
-
idempotentHint: false,
|
|
415
|
-
openWorldHint: true,
|
|
416
|
-
},
|
|
417
|
-
},
|
|
418
|
-
{
|
|
419
|
-
name: 'console_inject_fetch_interceptor',
|
|
420
|
-
description: 'Inject a Fetch API interceptor to capture fetch request/response data including headers, body, and timing.\n\nUSE THIS when:\n- network_get_requests returns 0 results after page_navigate\n- The target page wraps fetch() internally (SPA, React, Vue apps)\n- You need to capture request signatures, tokens, or custom headers added by frontend JS\n- CDP network monitoring misses dynamically-constructed requests\n\nUse persistent: true to make the interceptor survive page navigations — no need to inject before page_navigate.',
|
|
421
|
-
inputSchema: {
|
|
422
|
-
type: 'object',
|
|
423
|
-
properties: {
|
|
424
|
-
persistent: {
|
|
425
|
-
type: 'boolean',
|
|
426
|
-
description: 'When true, interceptor survives page navigations (uses evaluateOnNewDocument). Default: false.',
|
|
427
|
-
},
|
|
428
|
-
},
|
|
429
|
-
},
|
|
430
|
-
annotations: {
|
|
431
|
-
readOnlyHint: false,
|
|
432
|
-
destructiveHint: false,
|
|
433
|
-
idempotentHint: false,
|
|
434
|
-
openWorldHint: true,
|
|
435
|
-
},
|
|
436
|
-
},
|
|
437
|
-
{
|
|
438
|
-
name: 'console_clear_injected_buffers',
|
|
439
|
-
description: 'Clear injected in-page monitoring buffers (XHR/Fetch queues and dynamic script records) without removing interceptors',
|
|
440
|
-
inputSchema: {
|
|
441
|
-
type: 'object',
|
|
442
|
-
properties: {},
|
|
443
|
-
},
|
|
444
|
-
annotations: {
|
|
445
|
-
readOnlyHint: false,
|
|
446
|
-
destructiveHint: false,
|
|
447
|
-
idempotentHint: false,
|
|
448
|
-
openWorldHint: false,
|
|
449
|
-
},
|
|
450
|
-
},
|
|
451
|
-
{
|
|
452
|
-
name: 'console_reset_injected_interceptors',
|
|
453
|
-
description: 'Reset injected interceptors/monitors to recover from stale hook state and allow clean reinjection',
|
|
454
|
-
inputSchema: {
|
|
455
|
-
type: 'object',
|
|
456
|
-
properties: {},
|
|
457
|
-
},
|
|
458
|
-
annotations: {
|
|
459
|
-
readOnlyHint: false,
|
|
460
|
-
destructiveHint: false,
|
|
461
|
-
idempotentHint: false,
|
|
462
|
-
openWorldHint: false,
|
|
463
|
-
},
|
|
464
|
-
},
|
|
465
|
-
{
|
|
466
|
-
name: 'console_inject_function_tracer',
|
|
467
|
-
description: 'Inject a Proxy-based function tracer to log all calls to a named function. Use persistent: true to survive page navigations.',
|
|
468
|
-
inputSchema: {
|
|
469
|
-
type: 'object',
|
|
470
|
-
properties: {
|
|
471
|
-
functionName: {
|
|
472
|
-
type: 'string',
|
|
473
|
-
description: 'Global function path to trace (e.g., "window.someFunction")',
|
|
474
|
-
},
|
|
475
|
-
persistent: {
|
|
476
|
-
type: 'boolean',
|
|
477
|
-
description: 'When true, tracer survives page navigations (uses evaluateOnNewDocument). Default: false.',
|
|
478
|
-
},
|
|
479
|
-
},
|
|
480
|
-
required: ['functionName'],
|
|
481
|
-
},
|
|
482
|
-
annotations: {
|
|
483
|
-
readOnlyHint: false,
|
|
484
|
-
destructiveHint: false,
|
|
485
|
-
idempotentHint: false,
|
|
486
|
-
openWorldHint: true,
|
|
487
|
-
},
|
|
488
|
-
},
|
|
489
|
-
{
|
|
490
|
-
name: 'network_extract_auth',
|
|
491
|
-
description: 'Scan all captured network requests and extract authentication credentials (tokens, cookies, API keys, signatures).\n\nReturns masked values (first 6 + last 4 chars) sorted by confidence.\nSources scanned: request headers, cookies, URL query params, JSON request body.\n\nUSE THIS after capturing traffic to automatically identify:\n- Bearer tokens / JWT tokens\n- Session cookies\n- Custom auth headers (X-Token, X-Signature, X-Api-Key)\n- Signing parameters in request body or query string',
|
|
492
|
-
inputSchema: {
|
|
493
|
-
type: 'object',
|
|
494
|
-
properties: {
|
|
495
|
-
minConfidence: {
|
|
496
|
-
type: 'number',
|
|
497
|
-
description: 'Minimum confidence threshold 0-1 (default: 0.4)',
|
|
498
|
-
default: 0.4,
|
|
499
|
-
},
|
|
500
|
-
},
|
|
501
|
-
},
|
|
502
|
-
annotations: {
|
|
503
|
-
readOnlyHint: false,
|
|
504
|
-
destructiveHint: false,
|
|
505
|
-
idempotentHint: false,
|
|
506
|
-
openWorldHint: false,
|
|
507
|
-
},
|
|
508
|
-
},
|
|
509
|
-
{
|
|
510
|
-
name: 'network_export_har',
|
|
511
|
-
description: 'Export all captured network traffic as a standard HAR 1.2 file.\n\nHAR (HTTP Archive) files can be opened in:\n- Chrome DevTools (Network tab → Import)\n- Fiddler, Charles Proxy, Wireshark\n- Online HAR viewers\n\nUSE THIS to:\n- Save a complete traffic snapshot for offline analysis\n- Share captured API calls with other tools\n- Reproduce a full session outside the browser',
|
|
512
|
-
inputSchema: {
|
|
513
|
-
type: 'object',
|
|
514
|
-
properties: {
|
|
515
|
-
outputPath: {
|
|
516
|
-
type: 'string',
|
|
517
|
-
description: 'File path to write the HAR file (optional). If omitted, returns HAR as JSON.',
|
|
518
|
-
},
|
|
519
|
-
includeBodies: {
|
|
520
|
-
type: 'boolean',
|
|
521
|
-
description: 'Include response bodies in the HAR (may be slow for large captures). Default: false',
|
|
522
|
-
default: false,
|
|
523
|
-
},
|
|
524
|
-
},
|
|
525
|
-
},
|
|
526
|
-
annotations: {
|
|
527
|
-
readOnlyHint: false,
|
|
528
|
-
destructiveHint: false,
|
|
529
|
-
idempotentHint: false,
|
|
530
|
-
openWorldHint: true,
|
|
531
|
-
},
|
|
532
|
-
},
|
|
533
|
-
{
|
|
534
|
-
name: 'network_replay_request',
|
|
535
|
-
description: 'Replay a previously captured network request with optional modifications.\n\nUSE THIS to:\n- Re-send an API call with modified headers (e.g., different auth token)\n- Test how a server responds to altered request bodies\n- Verify that a captured signature is still valid\n- Reproduce a specific API call without navigating again\n\nSecurity: dryRun=true (default) previews what will be sent without actually sending.\nSet dryRun=false to execute the actual request.',
|
|
536
|
-
inputSchema: {
|
|
537
|
-
type: 'object',
|
|
538
|
-
properties: {
|
|
539
|
-
requestId: {
|
|
540
|
-
type: 'string',
|
|
541
|
-
description: 'Request ID from network_get_requests to replay',
|
|
542
|
-
},
|
|
543
|
-
headerPatch: {
|
|
544
|
-
type: 'object',
|
|
545
|
-
description: 'Headers to add or override (key-value pairs)',
|
|
546
|
-
additionalProperties: { type: 'string' },
|
|
547
|
-
},
|
|
548
|
-
bodyPatch: {
|
|
549
|
-
type: 'string',
|
|
550
|
-
description: 'Replace the entire request body with this string',
|
|
551
|
-
},
|
|
552
|
-
methodOverride: {
|
|
553
|
-
type: 'string',
|
|
554
|
-
description: 'Override the HTTP method (e.g., change POST to GET)',
|
|
555
|
-
},
|
|
556
|
-
urlOverride: {
|
|
557
|
-
type: 'string',
|
|
558
|
-
description: 'Override the request URL',
|
|
559
|
-
},
|
|
560
|
-
timeoutMs: {
|
|
561
|
-
type: 'number',
|
|
562
|
-
description: 'Request timeout in milliseconds (default: 30000)',
|
|
563
|
-
default: 30000,
|
|
564
|
-
},
|
|
565
|
-
dryRun: {
|
|
566
|
-
type: 'boolean',
|
|
567
|
-
description: 'If true (default), only preview the request without sending. Set false to execute.',
|
|
568
|
-
default: true,
|
|
569
|
-
},
|
|
570
|
-
},
|
|
571
|
-
required: ['requestId'],
|
|
572
|
-
},
|
|
573
|
-
annotations: {
|
|
574
|
-
readOnlyHint: false,
|
|
575
|
-
destructiveHint: false,
|
|
576
|
-
idempotentHint: false,
|
|
577
|
-
openWorldHint: true,
|
|
578
|
-
},
|
|
579
|
-
},
|
|
3
|
+
tool('network_enable')
|
|
4
|
+
.desc('Enable network request monitoring. Must be called before page_navigate to capture requests.\n\nCorrect order:\n1. network_enable()\n2. page_navigate("https://example.com")\n3. network_get_requests()\n\nOr use enableNetworkMonitoring parameter on page_navigate.')
|
|
5
|
+
.boolean('enableExceptions', 'Also capture uncaught exceptions', { default: true })
|
|
6
|
+
.build(),
|
|
7
|
+
tool('network_disable').desc('Disable network request monitoring').destructive().build(),
|
|
8
|
+
tool('network_get_status')
|
|
9
|
+
.desc('Get network monitoring status (enabled, request count, response count)')
|
|
10
|
+
.readOnly()
|
|
11
|
+
.idempotent()
|
|
12
|
+
.build(),
|
|
13
|
+
tool('network_get_requests')
|
|
14
|
+
.desc('Get captured network requests. Large results (>25KB) automatically return a summary with detailId.\n\nPrerequisites:\n1. Call network_enable first\n2. Navigate to a page\n\nResponse fields:\n- requestId: unique request identifier\n- url: request URL\n- method: HTTP method (GET/POST)\n- headers: request headers\n- postData: POST body (if present)\n- timestamp: capture time\n- type: resource type (Document/Script/XHR)\n\nDefault behavior:\n- Static resources (Image/Font/Stylesheet/Media) are excluded when no filters are set\n- Results are sorted by type priority: XHR > Fetch > Document > Script > Other\n- Set any filter (url, method, etc.) to include all resource types\n\nBest practices:\n1. Use url filter to reduce result size\n2. Use offset+limit for pagination instead of multiple get_detailed_data calls\n3. Use get_detailed_data(detailId) for full data when summary is returned\n4. If 0 results returned, call console_inject_fetch_interceptor() then re-navigate to capture frontend-wrapped fetch/XHR calls')
|
|
15
|
+
.string('url', 'Filter by URL substring (e.g., "api" matches all API URLs)')
|
|
16
|
+
.string('urlRegex', 'Filter by URL regex pattern (e.g., "/api/(v[12]|auth)/"). Takes precedence over url substring.')
|
|
17
|
+
.string('method', 'Filter by HTTP method (GET, POST, PUT, DELETE)')
|
|
18
|
+
.number('sinceTimestamp', 'Only return requests after this epoch timestamp (milliseconds). Useful for incremental polling.')
|
|
19
|
+
.string('sinceRequestId', 'Only return requests after this requestId (exclusive). Useful for incremental retrieval.')
|
|
20
|
+
.number('tail', 'Return the last N requests (applied after all other filters). E.g., tail=5 returns the 5 most recent.')
|
|
21
|
+
.number('limit', 'Maximum number of results per page (default: 100, max: 1000)', {
|
|
22
|
+
default: 100,
|
|
23
|
+
})
|
|
24
|
+
.number('offset', 'Skip first N results for pagination (default: 0). Use page.nextOffset from previous response.', { default: 0 })
|
|
25
|
+
.boolean('autoEnable', 'Auto-enable network monitoring when currently disabled', {
|
|
26
|
+
default: true,
|
|
27
|
+
})
|
|
28
|
+
.boolean('enableExceptions', 'When autoEnable=true, also enable uncaught exception monitoring', { default: true })
|
|
29
|
+
.build(),
|
|
30
|
+
tool('network_get_response_body')
|
|
31
|
+
.desc('Get response body for a specific request. Auto-truncates responses >100KB. Use returnSummary=true for large files.')
|
|
32
|
+
.string('requestId', 'Request ID (from network_get_requests)')
|
|
33
|
+
.number('maxSize', 'Maximum response size in bytes', { default: 100000 })
|
|
34
|
+
.boolean('returnSummary', 'Return only size and preview instead of full body', {
|
|
35
|
+
default: false,
|
|
36
|
+
})
|
|
37
|
+
.number('retries', 'Retry count when response body is not yet available', { default: 3 })
|
|
38
|
+
.number('retryIntervalMs', 'Retry interval in milliseconds', { default: 500 })
|
|
39
|
+
.boolean('autoEnable', 'Auto-enable network monitoring when currently disabled', {
|
|
40
|
+
default: false,
|
|
41
|
+
})
|
|
42
|
+
.boolean('enableExceptions', 'When autoEnable=true, also enable uncaught exception monitoring', { default: true })
|
|
43
|
+
.required('requestId')
|
|
44
|
+
.build(),
|
|
45
|
+
tool('network_get_stats')
|
|
46
|
+
.desc('Get network statistics (total requests, response count, error rate, timing)')
|
|
47
|
+
.readOnly()
|
|
48
|
+
.idempotent()
|
|
49
|
+
.build(),
|
|
50
|
+
tool('performance_get_metrics')
|
|
51
|
+
.desc('Get page performance metrics (Web Vitals: FCP, LCP, FID, CLS)')
|
|
52
|
+
.boolean('includeTimeline', 'Include detailed timeline events', { default: false })
|
|
53
|
+
.readOnly()
|
|
54
|
+
.idempotent()
|
|
55
|
+
.build(),
|
|
56
|
+
tool('performance_start_coverage')
|
|
57
|
+
.desc('Start JavaScript and CSS code coverage recording')
|
|
58
|
+
.build(),
|
|
59
|
+
tool('performance_stop_coverage')
|
|
60
|
+
.desc('Stop coverage recording and return coverage report')
|
|
61
|
+
.build(),
|
|
62
|
+
tool('performance_take_heap_snapshot').desc('Take a V8 heap memory snapshot').build(),
|
|
63
|
+
tool('performance_trace_start')
|
|
64
|
+
.desc('Start a Chrome Performance Trace recording using the CDP Tracing domain.\n\nCaptures timeline events (JS execution, layout, paint, rendering) that can be loaded in Chrome DevTools Performance tab.\n\nUSE THIS to:\n- Profile WASM execution performance\n- Find JavaScript performance bottlenecks\n- Analyze rendering and layout thrashing\n- Record screenshots during trace (set screenshots: true)\n\nCall performance_trace_stop to end recording and save the trace file.')
|
|
65
|
+
.array('categories', { type: 'string' }, 'Trace categories to include (default: devtools.timeline, v8.execute, blink.user_timing). Pass custom categories for specific tracing needs.')
|
|
66
|
+
.boolean('screenshots', 'Capture screenshots during tracing (increases trace file size). Default: false', { default: false })
|
|
67
|
+
.build(),
|
|
68
|
+
tool('performance_trace_stop')
|
|
69
|
+
.desc('Stop a running Performance Trace and save the trace file.\n\nReturns the artifact path (loadable in Chrome DevTools Performance tab), event count, and file size.')
|
|
70
|
+
.string('artifactPath', 'Custom output file path. If omitted, auto-generates path in artifacts/traces/')
|
|
71
|
+
.build(),
|
|
72
|
+
tool('profiler_cpu_start')
|
|
73
|
+
.desc('Start CDP CPU profiling.\n\nRecords a V8 CPU profile with call tree, hit counts, and time deltas. The result can be loaded in Chrome DevTools.\n\nCall profiler_cpu_stop to end and retrieve the profile.')
|
|
74
|
+
.build(),
|
|
75
|
+
tool('profiler_cpu_stop')
|
|
76
|
+
.desc('Stop CPU profiling, save the profile, and return top hot functions.')
|
|
77
|
+
.string('artifactPath', 'Custom output file path. If omitted, auto-generates path in artifacts/profiles/')
|
|
78
|
+
.build(),
|
|
79
|
+
tool('profiler_heap_sampling_start')
|
|
80
|
+
.desc('Start V8 heap allocation sampling.\n\nTracks memory allocations over time. Useful for finding memory leaks and high-allocation code paths.\n\nCall profiler_heap_sampling_stop to end and retrieve the report.')
|
|
81
|
+
.number('samplingInterval', 'Sampling interval in bytes. Lower values = more detail but higher overhead.', { default: 32768 })
|
|
82
|
+
.build(),
|
|
83
|
+
tool('profiler_heap_sampling_stop')
|
|
84
|
+
.desc('Stop heap allocation sampling and return the top allocators.')
|
|
85
|
+
.string('artifactPath', 'Custom output file path. If omitted, auto-generates path in artifacts/profiles/')
|
|
86
|
+
.number('topN', 'Number of top allocators to return', { default: 20 })
|
|
87
|
+
.build(),
|
|
88
|
+
tool('console_get_exceptions')
|
|
89
|
+
.desc('Get captured uncaught exceptions from the page')
|
|
90
|
+
.string('url', 'Filter by URL substring')
|
|
91
|
+
.number('limit', 'Maximum number of exceptions to return', { default: 50 })
|
|
92
|
+
.readOnly()
|
|
93
|
+
.build(),
|
|
94
|
+
tool('console_inject_script_monitor')
|
|
95
|
+
.desc('Inject a monitor that tracks dynamically created script elements. Use persistent: true to survive page navigations.')
|
|
96
|
+
.boolean('persistent', 'When true, monitor survives page navigations (uses evaluateOnNewDocument). Default: false.')
|
|
97
|
+
.openWorld()
|
|
98
|
+
.build(),
|
|
99
|
+
tool('console_inject_xhr_interceptor')
|
|
100
|
+
.desc('Inject an XHR interceptor to capture AJAX request/response data. Use persistent: true for the interceptor to survive page navigations.')
|
|
101
|
+
.boolean('persistent', 'When true, interceptor survives page navigations (uses evaluateOnNewDocument). Default: false.')
|
|
102
|
+
.openWorld()
|
|
103
|
+
.build(),
|
|
104
|
+
tool('console_inject_fetch_interceptor')
|
|
105
|
+
.desc('Inject a Fetch API interceptor to capture fetch request/response data including headers, body, and timing.\n\nUSE THIS when:\n- network_get_requests returns 0 results after page_navigate\n- The target page wraps fetch() internally (SPA, React, Vue apps)\n- You need to capture request signatures, tokens, or custom headers added by frontend JS\n- CDP network monitoring misses dynamically-constructed requests\n\nUse persistent: true to make the interceptor survive page navigations — no need to inject before page_navigate.')
|
|
106
|
+
.boolean('persistent', 'When true, interceptor survives page navigations (uses evaluateOnNewDocument). Default: false.')
|
|
107
|
+
.openWorld()
|
|
108
|
+
.build(),
|
|
109
|
+
tool('console_clear_injected_buffers')
|
|
110
|
+
.desc('Clear injected in-page monitoring buffers (XHR/Fetch queues and dynamic script records) without removing interceptors')
|
|
111
|
+
.build(),
|
|
112
|
+
tool('console_reset_injected_interceptors')
|
|
113
|
+
.desc('Reset injected interceptors/monitors to recover from stale hook state and allow clean reinjection')
|
|
114
|
+
.build(),
|
|
115
|
+
tool('console_inject_function_tracer')
|
|
116
|
+
.desc('Inject a Proxy-based function tracer to log all calls to a named function. Use persistent: true to survive page navigations.')
|
|
117
|
+
.string('functionName', 'Global function path to trace (e.g., "window.someFunction")')
|
|
118
|
+
.boolean('persistent', 'When true, tracer survives page navigations (uses evaluateOnNewDocument). Default: false.')
|
|
119
|
+
.required('functionName')
|
|
120
|
+
.openWorld()
|
|
121
|
+
.build(),
|
|
122
|
+
tool('network_extract_auth')
|
|
123
|
+
.desc('Scan all captured network requests and extract authentication credentials (tokens, cookies, API keys, signatures).\n\nReturns masked values (first 6 + last 4 chars) sorted by confidence.\nSources scanned: request headers, cookies, URL query params, JSON request body.\n\nUSE THIS after capturing traffic to automatically identify:\n- Bearer tokens / JWT tokens\n- Session cookies\n- Custom auth headers (X-Token, X-Signature, X-Api-Key)\n- Signing parameters in request body or query string')
|
|
124
|
+
.number('minConfidence', 'Minimum confidence threshold 0-1', { default: 0.4 })
|
|
125
|
+
.build(),
|
|
126
|
+
tool('network_export_har')
|
|
127
|
+
.desc('Export all captured network traffic as a standard HAR 1.2 file.\n\nHAR (HTTP Archive) files can be opened in:\n- Chrome DevTools (Network tab → Import)\n- Fiddler, Charles Proxy, Wireshark\n- Online HAR viewers\n\nUSE THIS to:\n- Save a complete traffic snapshot for offline analysis\n- Share captured API calls with other tools\n- Reproduce a full session outside the browser')
|
|
128
|
+
.string('outputPath', 'File path to write the HAR file. If omitted, returns HAR as JSON.')
|
|
129
|
+
.boolean('includeBodies', 'Include response bodies in the HAR (may be slow for large captures). Default: false', { default: false })
|
|
130
|
+
.openWorld()
|
|
131
|
+
.build(),
|
|
132
|
+
tool('network_replay_request')
|
|
133
|
+
.desc('Replay a previously captured network request with optional modifications.\n\nUSE THIS to:\n- Re-send an API call with modified headers (e.g., different auth token)\n- Test how a server responds to altered request bodies\n- Verify that a captured signature is still valid\n- Reproduce a specific API call without navigating again\n\nSecurity: dryRun=true (default) previews what will be sent without actually sending.\nSet dryRun=false to execute the actual request.')
|
|
134
|
+
.string('requestId', 'Request ID from network_get_requests to replay')
|
|
135
|
+
.object('headerPatch', { additionalProperties: { type: 'string' } }, 'Headers to add or override (key-value pairs)')
|
|
136
|
+
.string('bodyPatch', 'Replace the entire request body with this string')
|
|
137
|
+
.string('methodOverride', 'Override the HTTP method (e.g., change POST to GET)')
|
|
138
|
+
.string('urlOverride', 'Override the request URL')
|
|
139
|
+
.number('timeoutMs', 'Request timeout in milliseconds', { default: 30000 })
|
|
140
|
+
.boolean('dryRun', 'If true (default), only preview the request without sending. Set false to execute.', { default: true })
|
|
141
|
+
.required('requestId')
|
|
142
|
+
.openWorld()
|
|
143
|
+
.build(),
|
|
144
|
+
tool('network_intercept_response')
|
|
145
|
+
.desc('Add response interception rules using CDP Fetch domain. Matched requests will receive a custom response instead of the real server response.\n\nUSE THIS to:\n- Override API responses (e.g., spoof subscription/paywall status)\n- Inject custom feature flags\n- Test error handling by returning specific error codes\n- Mock API endpoints during development\n\nSupports both single rule and batch mode. URL patterns support glob (* for segment, ** for any) and regex.\n\nPrerequisites: Browser must be launched and a page active.\n\nExample (single rule):\n urlPattern: "*api/subscription*"\n responseBody: \'{"status":"active","plan":"pro"}\'\n\nExample (batch):\n rules: [{urlPattern: "*api/status*", responseBody: "..."}, ...]')
|
|
146
|
+
.string('urlPattern', 'URL pattern to match (single rule mode). Supports glob (* = segment, ** = any) or regex.')
|
|
147
|
+
.enum('urlPatternType', ['glob', 'regex'], 'How to interpret urlPattern', { default: 'glob' })
|
|
148
|
+
.enum('stage', ['Request', 'Response'], 'Intercept stage. Response (default) intercepts after server responds.', { default: 'Response' })
|
|
149
|
+
.number('responseCode', 'HTTP status code to return', { default: 200 })
|
|
150
|
+
.object('responseHeaders', { additionalProperties: { type: 'string' } }, 'Custom response headers as key-value pairs.')
|
|
151
|
+
.string('responseBody', 'Custom response body string.')
|
|
152
|
+
.array('rules', {
|
|
153
|
+
type: 'object',
|
|
154
|
+
properties: {
|
|
155
|
+
urlPattern: { type: 'string' },
|
|
156
|
+
urlPatternType: { type: 'string', enum: ['glob', 'regex'] },
|
|
157
|
+
stage: { type: 'string', enum: ['Request', 'Response'] },
|
|
158
|
+
responseCode: { type: 'number' },
|
|
159
|
+
responseHeaders: { type: 'object', additionalProperties: { type: 'string' } },
|
|
160
|
+
responseBody: { type: 'string' },
|
|
161
|
+
},
|
|
162
|
+
required: ['urlPattern'],
|
|
163
|
+
}, 'Batch mode: array of rule objects')
|
|
164
|
+
.openWorld()
|
|
165
|
+
.build(),
|
|
166
|
+
tool('network_intercept_list')
|
|
167
|
+
.desc("List all active response interception rules with hit statistics.\n\nShows each rule's ID, URL pattern, response code, hit count, and creation time.\nUse this to monitor which rules are being triggered.")
|
|
168
|
+
.readOnly()
|
|
169
|
+
.idempotent()
|
|
170
|
+
.build(),
|
|
171
|
+
tool('network_intercept_disable')
|
|
172
|
+
.desc('Remove interception rules. Provide ruleId to remove a single rule, or all=true to disable all interception.\n\nWhen all rules are removed, the CDP Fetch domain is automatically disabled.')
|
|
173
|
+
.string('ruleId', 'ID of the rule to remove (from network_intercept_list)')
|
|
174
|
+
.boolean('all', 'Set to true to remove all rules and disable interception', { default: false })
|
|
175
|
+
.destructive()
|
|
176
|
+
.build(),
|
|
580
177
|
];
|