@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,7 +1,7 @@
|
|
|
1
|
+
import { tool } from '../../registry/tool-builder.js';
|
|
1
2
|
export const browserSecurityStateTools = [
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
description: `Detect CAPTCHA on the current page using AI vision analysis.
|
|
3
|
+
tool('captcha_detect')
|
|
4
|
+
.desc(`Detect CAPTCHA on the current page using AI vision analysis.
|
|
5
5
|
|
|
6
6
|
Detection process:
|
|
7
7
|
1. Takes a screenshot and analyzes it with AI (Vision LLM)
|
|
@@ -27,15 +27,12 @@ Response fields:
|
|
|
27
27
|
Note:
|
|
28
28
|
When the configured MCP model cannot access vision directly, the detector saves a screenshot
|
|
29
29
|
to disk and returns screenshotPath together with prompt guidance in the reasoning field.
|
|
30
|
-
Use an external AI (GPT-4o, Claude 3) to analyze the saved screenshot if needed
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
{
|
|
37
|
-
name: 'captcha_wait',
|
|
38
|
-
description: `Wait for the user to manually solve a CAPTCHA.
|
|
30
|
+
Use an external AI (GPT-4o, Claude 3) to analyze the saved screenshot if needed.`)
|
|
31
|
+
.readOnly()
|
|
32
|
+
.idempotent()
|
|
33
|
+
.build(),
|
|
34
|
+
tool('captcha_wait')
|
|
35
|
+
.desc(`Wait for the user to manually solve a CAPTCHA.
|
|
39
36
|
|
|
40
37
|
Steps:
|
|
41
38
|
1. CAPTCHA is detected on the page
|
|
@@ -45,47 +42,26 @@ Steps:
|
|
|
45
42
|
|
|
46
43
|
Note: this tool does not switch browser modes on its own.
|
|
47
44
|
|
|
48
|
-
Timeout: default 300000ms (5 minutes)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
name: 'captcha_config',
|
|
62
|
-
description: `Configure CAPTCHA detection behavior.
|
|
45
|
+
Timeout: default 300000ms (5 minutes)`)
|
|
46
|
+
.number('timeout', 'Timeout in milliseconds (default: 300000 = 5 minutes)', { default: 300000 })
|
|
47
|
+
.readOnly()
|
|
48
|
+
.idempotent()
|
|
49
|
+
.openWorld()
|
|
50
|
+
.build(),
|
|
51
|
+
tool('captcha_config')
|
|
52
|
+
.desc(`Configure CAPTCHA detection behavior.
|
|
63
53
|
|
|
64
54
|
Parameters:
|
|
65
55
|
- autoDetectCaptcha: enable CAPTCHA auto-handling for browser-mode integrations that use these settings
|
|
66
56
|
- autoSwitchHeadless: allow supported integrations to switch to headed mode when CAPTCHA is detected
|
|
67
|
-
- captchaTimeout: timeout for waiting user to solve CAPTCHA in ms (default: 300000)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
autoSwitchHeadless: {
|
|
76
|
-
type: 'boolean',
|
|
77
|
-
description: 'Whether to automatically switch to headed mode when CAPTCHA detected',
|
|
78
|
-
},
|
|
79
|
-
captchaTimeout: {
|
|
80
|
-
type: 'number',
|
|
81
|
-
description: 'Timeout for waiting user to complete CAPTCHA (milliseconds)',
|
|
82
|
-
},
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
name: 'stealth_inject',
|
|
88
|
-
description: `Inject modern stealth scripts to bypass bot detection.
|
|
57
|
+
- captchaTimeout: timeout for waiting user to solve CAPTCHA in ms (default: 300000)`)
|
|
58
|
+
.boolean('autoDetectCaptcha', 'Whether to automatically detect CAPTCHA after navigation')
|
|
59
|
+
.boolean('autoSwitchHeadless', 'Whether to automatically switch to headed mode when CAPTCHA detected')
|
|
60
|
+
.number('captchaTimeout', 'Timeout for waiting user to complete CAPTCHA (milliseconds)')
|
|
61
|
+
.idempotent()
|
|
62
|
+
.build(),
|
|
63
|
+
tool('stealth_inject')
|
|
64
|
+
.desc(`Inject modern stealth scripts to bypass bot detection.
|
|
89
65
|
|
|
90
66
|
Anti-detection patches:
|
|
91
67
|
1. Hide navigator.webdriver flag
|
|
@@ -100,36 +76,22 @@ Anti-detection patches:
|
|
|
100
76
|
10. Fix Notification API
|
|
101
77
|
|
|
102
78
|
Compatible with undetected-chromedriver, puppeteer-extra-plugin-stealth, playwright-stealth.
|
|
103
|
-
Call after browser_launch for best results
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
name: 'stealth_set_user_agent',
|
|
111
|
-
description: `Set a realistic User-Agent and browser fingerprint for the target platform.
|
|
79
|
+
Call after browser_launch for best results.`)
|
|
80
|
+
.idempotent()
|
|
81
|
+
.build(),
|
|
82
|
+
tool('stealth_set_user_agent')
|
|
83
|
+
.desc(`Set a realistic User-Agent and browser fingerprint for the target platform.
|
|
112
84
|
|
|
113
85
|
Updates navigator.userAgent, navigator.platform, navigator.vendor,
|
|
114
86
|
navigator.hardwareConcurrency, and navigator.deviceMemory consistently
|
|
115
87
|
to avoid fingerprint inconsistencies.
|
|
116
88
|
|
|
117
|
-
UA strings are updated to Chrome 131 with platform-appropriate hardware profiles
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
description: 'Target platform',
|
|
124
|
-
enum: ['windows', 'mac', 'linux'],
|
|
125
|
-
default: 'windows',
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
},
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
name: 'stealth_configure_jitter',
|
|
132
|
-
description: `Configure CDP command timing jitter to mimic natural network latency.
|
|
89
|
+
UA strings are updated to Chrome 131 with platform-appropriate hardware profiles.`)
|
|
90
|
+
.enum('platform', ['windows', 'mac', 'linux'], 'Target platform', { default: 'windows' })
|
|
91
|
+
.idempotent()
|
|
92
|
+
.build(),
|
|
93
|
+
tool('stealth_configure_jitter')
|
|
94
|
+
.desc(`Configure CDP command timing jitter to mimic natural network latency.
|
|
133
95
|
|
|
134
96
|
Jitter adds random delays to CDP commands to prevent timing-based bot detection.
|
|
135
97
|
Default: 20-80ms uniform random delay on all CDP send() calls.
|
|
@@ -138,67 +100,27 @@ Parameters:
|
|
|
138
100
|
- enabled: turn jitter on/off
|
|
139
101
|
- minDelayMs: minimum delay in milliseconds
|
|
140
102
|
- maxDelayMs: maximum delay in milliseconds
|
|
141
|
-
- burstMode: skip jitter for time-critical operations (debugging, breakpoints)
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
minDelayMs: {
|
|
151
|
-
type: 'number',
|
|
152
|
-
description: 'Minimum delay (ms)',
|
|
153
|
-
default: 20,
|
|
154
|
-
},
|
|
155
|
-
maxDelayMs: {
|
|
156
|
-
type: 'number',
|
|
157
|
-
description: 'Maximum delay (ms)',
|
|
158
|
-
default: 80,
|
|
159
|
-
},
|
|
160
|
-
burstMode: {
|
|
161
|
-
type: 'boolean',
|
|
162
|
-
description: 'Skip jitter for time-critical ops',
|
|
163
|
-
default: false,
|
|
164
|
-
},
|
|
165
|
-
},
|
|
166
|
-
},
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
name: 'stealth_generate_fingerprint',
|
|
170
|
-
description: `Generate a realistic browser fingerprint using real-world datasets.
|
|
103
|
+
- burstMode: skip jitter for time-critical operations (debugging, breakpoints)`)
|
|
104
|
+
.boolean('enabled', 'Enable/disable jitter', { default: true })
|
|
105
|
+
.number('minDelayMs', 'Minimum delay (ms)', { default: 20 })
|
|
106
|
+
.number('maxDelayMs', 'Maximum delay (ms)', { default: 80 })
|
|
107
|
+
.boolean('burstMode', 'Skip jitter for time-critical ops', { default: false })
|
|
108
|
+
.idempotent()
|
|
109
|
+
.build(),
|
|
110
|
+
tool('stealth_generate_fingerprint')
|
|
111
|
+
.desc(`Generate a realistic browser fingerprint using real-world datasets.
|
|
171
112
|
|
|
172
113
|
Requires fingerprint-generator and fingerprint-injector packages (optional dependencies).
|
|
173
114
|
The generated fingerprint is cached per session and auto-applied on next stealth_inject.
|
|
174
115
|
|
|
175
116
|
Covers: screen resolution, WebGL params, fonts, codecs, AudioContext, navigator properties.
|
|
176
|
-
Falls back to built-in StealthScripts patches if packages are not installed
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
enum: ['windows', 'macos', 'linux'],
|
|
184
|
-
},
|
|
185
|
-
browser: {
|
|
186
|
-
type: 'string',
|
|
187
|
-
description: 'Target browser',
|
|
188
|
-
enum: ['chrome', 'firefox'],
|
|
189
|
-
default: 'chrome',
|
|
190
|
-
},
|
|
191
|
-
locale: {
|
|
192
|
-
type: 'string',
|
|
193
|
-
description: 'Locale string (e.g. en-US)',
|
|
194
|
-
default: 'en-US',
|
|
195
|
-
},
|
|
196
|
-
},
|
|
197
|
-
},
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
name: 'stealth_verify',
|
|
201
|
-
description: `Run offline anti-detection checks on the current page.
|
|
117
|
+
Falls back to built-in StealthScripts patches if packages are not installed.`)
|
|
118
|
+
.enum('os', ['windows', 'macos', 'linux'], 'Target OS for fingerprint')
|
|
119
|
+
.enum('browser', ['chrome', 'firefox'], 'Target browser', { default: 'chrome' })
|
|
120
|
+
.string('locale', 'Locale string (e.g. en-US)', { default: 'en-US' })
|
|
121
|
+
.build(),
|
|
122
|
+
tool('stealth_verify')
|
|
123
|
+
.desc(`Run offline anti-detection checks on the current page.
|
|
202
124
|
|
|
203
125
|
Verifies that stealth patches are working correctly by checking:
|
|
204
126
|
- navigator.webdriver absence
|
|
@@ -213,15 +135,12 @@ Verifies that stealth patches are working correctly by checking:
|
|
|
213
135
|
Returns a structured report with pass/fail for each check, an overall score (0-100),
|
|
214
136
|
and recommendations for improving detection evasion.
|
|
215
137
|
|
|
216
|
-
Best used after stealth_inject to verify patches are effective
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
{
|
|
223
|
-
name: 'browser_list_tabs',
|
|
224
|
-
description: `List all open tabs/pages in the connected browser.
|
|
138
|
+
Best used after stealth_inject to verify patches are effective.`)
|
|
139
|
+
.readOnly()
|
|
140
|
+
.idempotent()
|
|
141
|
+
.build(),
|
|
142
|
+
tool('browser_list_tabs')
|
|
143
|
+
.desc(`List all open tabs/pages in the connected browser.
|
|
225
144
|
|
|
226
145
|
Use this after browser_attach to see all available pages/tabs.
|
|
227
146
|
Returns index, URL, and title for each tab.
|
|
@@ -233,39 +152,18 @@ Workflow:
|
|
|
233
152
|
|
|
234
153
|
Can also connect and list in one call:
|
|
235
154
|
browser_list_tabs(browserURL="http://127.0.0.1:9222")
|
|
236
|
-
browser_list_tabs(autoConnect=true, channel="stable")
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
autoConnect: {
|
|
249
|
-
type: 'boolean',
|
|
250
|
-
description: 'Chrome 144+ only. Auto-detect the local Chrome debugging WebSocket from DevToolsActivePort. Requires remote debugging to be enabled at chrome://inspect/#remote-debugging, and Chrome may prompt you to manually approve this client.',
|
|
251
|
-
default: false,
|
|
252
|
-
},
|
|
253
|
-
channel: {
|
|
254
|
-
type: 'string',
|
|
255
|
-
description: 'Chrome channel used for autoConnect when userDataDir is not provided.',
|
|
256
|
-
enum: ['stable', 'beta', 'dev', 'canary'],
|
|
257
|
-
default: 'stable',
|
|
258
|
-
},
|
|
259
|
-
userDataDir: {
|
|
260
|
-
type: 'string',
|
|
261
|
-
description: 'Optional Chrome profile directory for autoConnect. If omitted, the default profile path for the selected channel is used.',
|
|
262
|
-
},
|
|
263
|
-
},
|
|
264
|
-
},
|
|
265
|
-
},
|
|
266
|
-
{
|
|
267
|
-
name: 'browser_select_tab',
|
|
268
|
-
description: `Switch the active tab/page by index or URL/title pattern.
|
|
155
|
+
browser_list_tabs(autoConnect=true, channel="stable")`)
|
|
156
|
+
.string('browserURL', 'Optional: connect to this browser URL before listing (e.g. http://127.0.0.1:9222)')
|
|
157
|
+
.string('wsEndpoint', 'Optional: connect to this browser WebSocket endpoint before listing.')
|
|
158
|
+
.boolean('autoConnect', 'Chrome 144+ only. Auto-detect the local Chrome debugging WebSocket from DevToolsActivePort. Requires remote debugging to be enabled at chrome://inspect/#remote-debugging, and Chrome may prompt you to manually approve this client.', { default: false })
|
|
159
|
+
.enum('channel', ['stable', 'beta', 'dev', 'canary'], 'Chrome channel used for autoConnect when userDataDir is not provided.', { default: 'stable' })
|
|
160
|
+
.string('userDataDir', 'Optional Chrome profile directory for autoConnect. If omitted, the default profile path for the selected channel is used.')
|
|
161
|
+
.readOnly()
|
|
162
|
+
.idempotent()
|
|
163
|
+
.openWorld()
|
|
164
|
+
.build(),
|
|
165
|
+
tool('browser_select_tab')
|
|
166
|
+
.desc(`Switch the active tab/page by index or URL/title pattern.
|
|
269
167
|
|
|
270
168
|
After browser_list_tabs, use this to activate a specific tab.
|
|
271
169
|
All subsequent page_* tools will operate on the selected tab.
|
|
@@ -273,69 +171,26 @@ All subsequent page_* tools will operate on the selected tab.
|
|
|
273
171
|
Examples:
|
|
274
172
|
- browser_select_tab(index=0) -> first tab
|
|
275
173
|
- browser_select_tab(urlPattern="qwen") -> tab whose URL contains "qwen"
|
|
276
|
-
- browser_select_tab(titlePattern="Mini Program") -> tab whose title contains "Mini Program"
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
inputSchema: {
|
|
299
|
-
type: 'object',
|
|
300
|
-
properties: {
|
|
301
|
-
framework: {
|
|
302
|
-
type: 'string',
|
|
303
|
-
description: 'Framework to target. auto = detect automatically.',
|
|
304
|
-
enum: ['auto', 'react', 'vue2', 'vue3'],
|
|
305
|
-
default: 'auto',
|
|
306
|
-
},
|
|
307
|
-
selector: {
|
|
308
|
-
type: 'string',
|
|
309
|
-
description: 'CSS selector of root element to inspect (default: #root, #app, [data-reactroot], body)',
|
|
310
|
-
},
|
|
311
|
-
maxDepth: {
|
|
312
|
-
type: 'number',
|
|
313
|
-
description: 'Maximum component tree depth to traverse',
|
|
314
|
-
default: 5,
|
|
315
|
-
},
|
|
316
|
-
},
|
|
317
|
-
},
|
|
318
|
-
},
|
|
319
|
-
{
|
|
320
|
-
name: 'indexeddb_dump',
|
|
321
|
-
description: 'Dump all IndexedDB databases and their contents. Useful for analyzing PWA data, stored tokens, or offline application state.',
|
|
322
|
-
inputSchema: {
|
|
323
|
-
type: 'object',
|
|
324
|
-
properties: {
|
|
325
|
-
database: {
|
|
326
|
-
type: 'string',
|
|
327
|
-
description: 'Specific database name to dump (default: all databases)',
|
|
328
|
-
},
|
|
329
|
-
store: {
|
|
330
|
-
type: 'string',
|
|
331
|
-
description: 'Specific object store to dump (default: all stores)',
|
|
332
|
-
},
|
|
333
|
-
maxRecords: {
|
|
334
|
-
type: 'number',
|
|
335
|
-
description: 'Maximum records per store to return',
|
|
336
|
-
default: 100,
|
|
337
|
-
},
|
|
338
|
-
},
|
|
339
|
-
},
|
|
340
|
-
},
|
|
174
|
+
- browser_select_tab(titlePattern="Mini Program") -> tab whose title contains "Mini Program"`)
|
|
175
|
+
.number('index', 'Tab index from browser_list_tabs (0-based)')
|
|
176
|
+
.string('urlPattern', 'Substring to match against tab URLs')
|
|
177
|
+
.string('titlePattern', 'Substring to match against tab titles')
|
|
178
|
+
.idempotent()
|
|
179
|
+
.build(),
|
|
180
|
+
tool('framework_state_extract')
|
|
181
|
+
.desc('Extract component state from the live page. Supports React, Vue 2/3, Svelte 3/4/5, Solid.js, and Preact. Also detects Next.js/Nuxt meta-framework metadata (routes, build info, payload). Useful for debugging frontend applications, reverse-engineering SPA state, and finding hidden data.')
|
|
182
|
+
.enum('framework', ['auto', 'react', 'vue2', 'vue3', 'svelte', 'solid', 'preact'], 'Framework to target. auto = detect automatically.', { default: 'auto' })
|
|
183
|
+
.string('selector', 'CSS selector of root element to inspect (default: #root, #app, [data-reactroot], body)')
|
|
184
|
+
.number('maxDepth', 'Maximum component tree depth to traverse', { default: 5 })
|
|
185
|
+
.readOnly()
|
|
186
|
+
.idempotent()
|
|
187
|
+
.build(),
|
|
188
|
+
tool('indexeddb_dump')
|
|
189
|
+
.desc('Dump all IndexedDB databases and their contents. Useful for analyzing PWA data, stored tokens, or offline application state.')
|
|
190
|
+
.string('database', 'Specific database name to dump (default: all databases)')
|
|
191
|
+
.string('store', 'Specific object store to dump (default: all stores)')
|
|
192
|
+
.number('maxRecords', 'Maximum records per store to return', { default: 100 })
|
|
193
|
+
.readOnly()
|
|
194
|
+
.idempotent()
|
|
195
|
+
.build(),
|
|
341
196
|
];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CamoufoxBrowserManager } from '../../../domains/shared/modules.js';
|
|
2
2
|
import { argString, argNumber, argBool } from '../../../domains/shared/parse-args.js';
|
|
3
|
+
import { formatBetterSqlite3Error, isBetterSqlite3RelatedError } from '../../../../utils/betterSqlite3.js';
|
|
3
4
|
import { logger } from '../../../../utils/logger.js';
|
|
4
5
|
async function checkCamoufoxDependencies() {
|
|
5
6
|
try {
|
|
@@ -8,8 +9,8 @@ async function checkCamoufoxDependencies() {
|
|
|
8
9
|
}
|
|
9
10
|
catch (error) {
|
|
10
11
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
11
|
-
if (
|
|
12
|
-
return `Camoufox requires
|
|
12
|
+
if (isBetterSqlite3RelatedError(error)) {
|
|
13
|
+
return `Camoufox requires the same native SQLite backend used by trace tooling. ${formatBetterSqlite3Error(error)}`;
|
|
13
14
|
}
|
|
14
15
|
if (errorMsg.includes("Cannot find package 'camoufox-js'")) {
|
|
15
16
|
return 'camoufox-js package is not installed. Run: pnpm add camoufox-js && npx camoufox-js fetch';
|
|
@@ -254,10 +254,10 @@ export async function handleWidgetChallengeSolve(args, collector) {
|
|
|
254
254
|
.__turnstile_callbacks;
|
|
255
255
|
if (origCallbacks) {
|
|
256
256
|
for (const [key, cb] of Object.entries(origCallbacks)) {
|
|
257
|
-
origCallbacks[key] = (
|
|
257
|
+
origCallbacks[key] = (captchaToken) => {
|
|
258
258
|
clearTimeout(timeout);
|
|
259
|
-
resolve(
|
|
260
|
-
cb(
|
|
259
|
+
resolve(captchaToken);
|
|
260
|
+
cb(captchaToken);
|
|
261
261
|
};
|
|
262
262
|
}
|
|
263
263
|
}
|
|
@@ -35,7 +35,8 @@ export class DOMQueryHandlers {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
async handleDOMGetStructure(args) {
|
|
38
|
-
const
|
|
38
|
+
const MAX_DOM_DEPTH = 4;
|
|
39
|
+
const maxDepth = Math.min(argNumber(args, 'maxDepth', 3), MAX_DOM_DEPTH);
|
|
39
40
|
const includeText = argBool(args, 'includeText', true);
|
|
40
41
|
const structure = await this.deps.domInspector.getStructure(maxDepth, includeText);
|
|
41
42
|
return {
|
|
@@ -3,9 +3,9 @@ import type { PageController } from '../../../domains/shared/modules.js';
|
|
|
3
3
|
import type { DOMInspector } from '../../../domains/shared/modules.js';
|
|
4
4
|
import type { ScriptManager } from '../../../domains/shared/modules.js';
|
|
5
5
|
import type { ConsoleMonitor } from '../../../domains/shared/modules.js';
|
|
6
|
-
import { AICaptchaDetector } from '../../../domains/shared/modules.js';
|
|
7
|
-
import { DetailedDataManager } from '../../../../utils/DetailedDataManager.js';
|
|
8
|
-
import { CamoufoxBrowserManager } from '../../../domains/shared/modules.js';
|
|
6
|
+
import { type AICaptchaDetector } from '../../../domains/shared/modules.js';
|
|
7
|
+
import { type DetailedDataManager } from '../../../../utils/DetailedDataManager.js';
|
|
8
|
+
import { type CamoufoxBrowserManager } from '../../../domains/shared/modules.js';
|
|
9
9
|
import { BrowserControlHandlers } from '../../../domains/browser/handlers/browser-control.js';
|
|
10
10
|
import { CamoufoxBrowserHandlers } from '../../../domains/browser/handlers/camoufox-browser.js';
|
|
11
11
|
import { PageNavigationHandlers } from '../../../domains/browser/handlers/page-navigation.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import {} from '../../../domains/shared/modules.js';
|
|
2
|
+
import {} from '../../../../utils/DetailedDataManager.js';
|
|
3
|
+
import {} from '../../../domains/shared/modules.js';
|
|
4
4
|
import { BrowserControlHandlers } from '../../../domains/browser/handlers/browser-control.js';
|
|
5
5
|
import { CamoufoxBrowserHandlers } from '../../../domains/browser/handlers/camoufox-browser.js';
|
|
6
6
|
import { PageNavigationHandlers } from '../../../domains/browser/handlers/page-navigation.js';
|