@jshookmcp/jshook 0.2.9 → 0.3.1
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/README.md +25 -50
- package/README.zh.md +25 -48
- package/dist/AntiCheatDetector-CGVGNfy5.mjs +1 -0
- package/dist/CacheAdapters-CdAxBmVW.mjs +1 -0
- package/dist/CodeInjector-BlgyqTOk.mjs +1 -0
- package/dist/ConsoleMonitor-Dkqc0HNi.mjs +490 -0
- package/dist/DOMInspector-BYY_EJ0C.mjs +95 -0
- package/dist/DarwinAPI-DC4HGGLl.mjs +1 -0
- package/dist/DetailedDataManager-BniBJlVv.mjs +1 -0
- package/dist/EventBus-DgciURGg.mjs +1 -0
- package/dist/EvidenceGraphBridge-BIfgB7HP.mjs +1 -0
- package/dist/ExtensionManager-erMpqcLk.mjs +1 -0
- package/dist/FingerprintManager-N7BZqjxP.mjs +1 -0
- package/dist/HardwareBreakpoint-OcJqNFVc.mjs +1 -0
- package/dist/HeapAnalyzer-CqAxZzeS.mjs +1 -0
- package/dist/{HookGeneratorBuilders.core.generators.storage-CtcdK78Q.mjs → HookGeneratorBuilders.core.generators.storage-Bf1fbrNK.mjs} +66 -174
- package/dist/InstrumentationSession-DxXs0sCp.mjs +1 -0
- package/dist/MCPServer.search.handlers.domain-DVbWL1bT.mjs +1 -0
- package/dist/MemoryController-BaqstM5w.mjs +2 -0
- package/dist/MemoryScanSession-CaxAjZJf.mjs +1 -0
- package/dist/MemoryScanner-BLYnMJy6.mjs +1 -0
- package/dist/NativeMemoryManager.impl-CI554XbY.mjs +1 -0
- package/dist/NativeMemoryManager.utils-DM4NC3FE.mjs +1 -0
- package/dist/PEAnalyzer-DJyaJTQJ.mjs +1 -0
- package/dist/PageController-D9jVkH0i.mjs +1 -0
- package/dist/PointerChainEngine-5nF9eNlu.mjs +1 -0
- package/dist/PrerequisiteError-Bl3dK8XA.mjs +1 -0
- package/dist/ProcessRegistry-Hf12LlR9.mjs +1 -0
- package/dist/ResponseBuilder-B2lu4KEl.mjs +1 -0
- package/dist/ReverseEvidenceGraph-B931HeoW.mjs +2 -0
- package/dist/ScriptManager-fgqiALgj.mjs +7 -0
- package/dist/Speedhack-l6s8L2Qw.mjs +1 -0
- package/dist/StealthVerifier-Dhbj4B4P.mjs +1 -0
- package/dist/StructureAnalyzer-A-WamfYE.mjs +2 -0
- package/dist/ToolCatalog-D_IKl1Hu.mjs +1 -0
- package/dist/ToolError-DWU_z7gp.mjs +1 -0
- package/dist/ToolProbe-xsfALmN3.mjs +1 -0
- package/dist/ToolRegistry-B0Zs-phN.mjs +1 -0
- package/dist/ToolRouter.policy-CFHoN_Lw.mjs +4 -0
- package/dist/TraceRecorder-Dd8jLXpi.mjs +272 -0
- package/dist/VersionDetector-DMoUWyNm.mjs +9 -0
- package/dist/Win32API-Bhi5xFBe.mjs +1 -0
- package/dist/Win32Debug-CQteFL4F.mjs +1 -0
- package/dist/WorkflowEngine-CxEp2WXH.mjs +1 -0
- package/dist/analysis-BuR-NgX8.mjs +5 -0
- package/dist/{antidebug-CqDTB_uk.mjs → antidebug-BOTZH6-0.mjs} +8 -259
- package/dist/artifactRetention-NBdncOEW.mjs +1 -0
- package/dist/artifacts-B5xQuEa_.mjs +1 -0
- package/dist/authorization-schema-B40obG1A.mjs +1 -0
- package/dist/betterSqlite3-CGaxz4AX.mjs +1 -0
- package/dist/binary-instrument-Cf9qqLlM.mjs +7 -0
- package/dist/bind-helpers-BlAOQrFQ.mjs +1 -0
- package/dist/boringssl-inspector-BST5vtKx.mjs +2 -0
- package/dist/browser-C4Le3xqA.mjs +11 -0
- package/dist/capabilities-DbYCv-HF.mjs +1 -0
- package/dist/chunk-C_pMuVsO.mjs +1 -0
- package/dist/collector-CKO8RPK8.mjs +1 -0
- package/dist/concurrency-CcK46d0h.mjs +1 -0
- package/dist/constants-Cp6hBrrx.mjs +1 -0
- package/dist/coordination-BbijHEHH.mjs +1 -0
- package/dist/debugger-CRJq_krh.mjs +1 -0
- package/dist/definitions-BGobEDQa.mjs +1 -0
- package/dist/definitions-BGwNSkVm.mjs +1 -0
- package/dist/definitions-BbxOUiP-.mjs +1 -0
- package/dist/definitions-CCP9gphV.mjs +1 -0
- package/dist/definitions-CIO9O-Sw.mjs +1 -0
- package/dist/definitions-CYFbewnd.mjs +1 -0
- package/dist/definitions-CdWEuIkI.mjs +1 -0
- package/dist/definitions-CoQFbggH.mjs +1 -0
- package/dist/definitions-CuJRsJ6N.mjs +1 -0
- package/dist/definitions-DI9YXsJk.mjs +1 -0
- package/dist/definitions-DJklW2sS.mjs +1 -0
- package/dist/definitions-DZ8uKusP.mjs +1 -0
- package/dist/definitions-Dds_zrWx.mjs +1 -0
- package/dist/definitions-Dgrg7f3D.mjs +1 -0
- package/dist/definitions-DtE0XLrT.mjs +1 -0
- package/dist/definitions-LaYTuwQd.mjs +26 -0
- package/dist/definitions-NoVp_9Pm.mjs +1 -0
- package/dist/definitions-OvGsfxdt.mjs +1 -0
- package/dist/definitions-jXPaVy4P.mjs +1 -0
- package/dist/encoding-DGcr6Aj_.mjs +2 -0
- package/dist/ensure-browser-core-Buls24LQ.mjs +1 -0
- package/dist/evidence-graph-bridge-B0yhGPcs.mjs +1 -0
- package/dist/factory-Cx_1LorX.mjs +1 -0
- package/dist/flat-target-session-CO5g78k3.mjs +1 -0
- package/dist/formatAddress-C7j2fDlM.mjs +1 -0
- package/dist/graphql-HLf3MS8H.mjs +62 -0
- package/dist/handlers-BLMa4X7l.mjs +54 -0
- package/dist/handlers-BP12ZsWc.mjs +4 -0
- package/dist/handlers-BZoPla6E.mjs +1 -0
- package/dist/handlers-BggKiVx9.mjs +2 -0
- package/dist/handlers-D3iev8g1.mjs +1 -0
- package/dist/handlers-D49r1-1P.mjs +1 -0
- package/dist/handlers-DCE45Ww8.mjs +2 -0
- package/dist/handlers-DW5AbYs5.mjs +5 -0
- package/dist/handlers-De5u62Ga2.mjs +1 -0
- package/dist/handlers-DmQzIc44.mjs +31 -0
- package/dist/handlers-DnJRGp7t.mjs +302 -0
- package/dist/handlers-Dv_runVv.mjs +2 -0
- package/dist/handlers-S9Ws0IGy.mjs +2 -0
- package/dist/{handlers-Bl8zkwz1.mjs → handlers-pVNpaw4A.mjs} +144 -841
- package/dist/handlers.impl-CD2_kOcC.mjs +1 -0
- package/dist/hooks-DDKppogd.mjs +600 -0
- package/dist/index.mjs +12 -5225
- package/dist/logger-sBC6IdRT.mjs +1 -0
- package/dist/maintenance-CutEO84j.mjs +1 -0
- package/dist/manifest-BFGxlDRh.mjs +123 -0
- package/dist/manifest-BPuE6oH2.mjs +1 -0
- package/dist/manifest-BXry5N09.mjs +1 -0
- package/dist/manifest-BeP_zJGb2.mjs +1 -0
- package/dist/manifest-C0g67k6U.mjs +1 -0
- package/dist/manifest-C1nZkTkO.mjs +1 -0
- package/dist/manifest-C7qV1z7F.mjs +1 -0
- package/dist/manifest-CDeUZGUZ.mjs +1 -0
- package/dist/manifest-CDiCtaQT.mjs +1 -0
- package/dist/manifest-CFn0359q2.mjs +1 -0
- package/dist/manifest-CGq4NpqH2.mjs +1 -0
- package/dist/manifest-CJMGt7Qy.mjs +1 -0
- package/dist/manifest-CRIJq4Hs.mjs +1 -0
- package/dist/manifest-C_hEIjSx.mjs +1 -0
- package/dist/manifest-CeQmtQOY.mjs +1 -0
- package/dist/manifest-Cq0j7GZt.mjs +1 -0
- package/dist/manifest-CtPmHAdn.mjs +1 -0
- package/dist/manifest-Cx2IVMUY.mjs +1 -0
- package/dist/manifest-D16xPXro.mjs +1 -0
- package/dist/manifest-D44TaRJU.mjs +1 -0
- package/dist/manifest-D610kxZr.mjs +2 -0
- package/dist/manifest-DC-SMF6b.mjs +1 -0
- package/dist/manifest-DD3rtxvV.mjs +1 -0
- package/dist/manifest-DKUorv5M.mjs +1 -0
- package/dist/manifest-DMJlcsTR.mjs +1 -0
- package/dist/manifest-DWUUWBz0.mjs +1 -0
- package/dist/manifest-De-6Wf2R.mjs +1 -0
- package/dist/manifest-Dgh0uDW-.mjs +1 -0
- package/dist/manifest-Dm0o3i2U.mjs +1 -0
- package/dist/manifest-DsVh7Y4U.mjs +1 -0
- package/dist/manifest-DtEFSRaq.mjs +1 -0
- package/dist/manifest-H-EpAyZQ.mjs +1 -0
- package/dist/manifest-ais9Afrw.mjs +1 -0
- package/dist/manifest-tmb54wmA.mjs +1 -0
- package/dist/manifest-yu2xiQqe.mjs +1 -0
- package/dist/manifest-zrbrpKCC.mjs +1 -0
- package/dist/matchesWildcardPattern-BGqLSmEs.mjs +1 -0
- package/dist/modules-p-PUNv9r.mjs +332 -0
- package/dist/mojo-ipc-VGlv3Qyp.mjs +9 -0
- package/dist/network-BjZ1Y-GB.mjs +7 -0
- package/dist/outputPaths-BonGThuc.mjs +2 -0
- package/dist/parse-args-Cuk7-xUt.mjs +1 -0
- package/dist/platform-C446Lf97.mjs +93 -0
- package/dist/playwright-cdp-fallback-BwVR-_T3.mjs +1 -0
- package/dist/process-C9f2A5zk.mjs +962 -0
- package/dist/proxy-CvRepxgV.mjs +1 -0
- package/dist/registry-DUHIPE-v.mjs +1 -0
- package/dist/response-C7rKQst4.mjs +1 -0
- package/dist/search-defaults-D2bY-rzH.mjs +1 -0
- package/dist/server/plugin-api.mjs +1 -293
- package/dist/shared-state-board-Cyg-xh_k.mjs +1 -0
- package/dist/sourcemap-D6Q1UuAp.mjs +1 -0
- package/dist/ssrf-policy-T96MR3r6.mjs +1 -0
- package/dist/streaming-CTX58tbb.mjs +1 -0
- package/dist/tool-builder-CI9914Tf.mjs +1 -0
- package/dist/transform-Cv9P2vVD.mjs +103 -0
- package/dist/types-CuyefmGT.mjs +1 -0
- package/dist/types-DtThH00r.mjs +1 -0
- package/dist/wasm-DaJa8J0V.mjs +174 -0
- package/dist/webcrack-CsLLJIs9.mjs +46 -0
- package/dist/workflow-CYIXtrWD.mjs +101 -0
- package/package.json +12 -7
- package/dist/AntiCheatDetector-BNk-EoBt.mjs +0 -244
- package/dist/CacheAdapters-CDe5WPSV.mjs +0 -80
- package/dist/CodeInjector-Cq8q01kp.mjs +0 -150
- package/dist/ConsoleMonitor-CPVQW1Y-.mjs +0 -2201
- package/dist/DarwinAPI-BNPxu0RH.mjs +0 -363
- package/dist/DetailedDataManager-BQQcxh64.mjs +0 -217
- package/dist/EventBus-DgPmwpeu.mjs +0 -141
- package/dist/EvidenceGraphBridge-SFesNera.mjs +0 -153
- package/dist/ExtensionManager-CWYgw0YW.mjs +0 -714
- package/dist/FingerprintManager-gzWtkKuf.mjs +0 -96
- package/dist/HardwareBreakpoint-B9gZCdFP.mjs +0 -239
- package/dist/HeapAnalyzer-BLDH0dCv.mjs +0 -284
- package/dist/InstrumentationSession-CvPC7Jwy.mjs +0 -244
- package/dist/MemoryController-CbVdCIJF.mjs +0 -167
- package/dist/MemoryScanSession-BsDZbLYm.mjs +0 -278
- package/dist/MemoryScanner-Bcpml6II.mjs +0 -425
- package/dist/NativeMemoryManager.impl-dZtA1ZGn.mjs +0 -482
- package/dist/NativeMemoryManager.utils-B-FjA2mJ.mjs +0 -165
- package/dist/PEAnalyzer-D1lzJ_VG.mjs +0 -385
- package/dist/PageController-Bqm2kZ_X.mjs +0 -417
- package/dist/PointerChainEngine-BOhyVsjx.mjs +0 -322
- package/dist/PrerequisiteError-Dl33Svkz.mjs +0 -20
- package/dist/ResponseBuilder-D3iFYx2N.mjs +0 -143
- package/dist/ReverseEvidenceGraph-Dlsk94LC.mjs +0 -269
- package/dist/ScriptManager-aHHq0X7U.mjs +0 -3000
- package/dist/Speedhack-CqdIFlQl.mjs +0 -156
- package/dist/StealthVerifier-Bo4T3bz8.mjs +0 -135
- package/dist/StructureAnalyzer-DhFaPvRO.mjs +0 -426
- package/dist/ToolCatalog-C0JGZoOm.mjs +0 -582
- package/dist/ToolError-jh9whhMd.mjs +0 -15
- package/dist/ToolProbe-oC7aPrkv.mjs +0 -45
- package/dist/ToolRegistry-BjaF4oNz.mjs +0 -131
- package/dist/ToolRouter.policy-BWV67ZK-.mjs +0 -304
- package/dist/TraceRecorder-DgxyVbdQ.mjs +0 -519
- package/dist/VersionDetector-CwVLVdDM.mjs +0 -104
- package/dist/Win32API-CePkipZY.mjs +0 -340
- package/dist/Win32Debug-BvKs-gxc.mjs +0 -274
- package/dist/WorkflowEngine-CuvkZtWu.mjs +0 -598
- package/dist/analysis-CL9uACt9.mjs +0 -463
- package/dist/artifactRetention-CFEprwPw.mjs +0 -591
- package/dist/artifacts-Bk2-_uPq.mjs +0 -59
- package/dist/betterSqlite3-0pqusHHH.mjs +0 -74
- package/dist/binary-instrument-CXfpx6fT.mjs +0 -979
- package/dist/bind-helpers-xFfRF-qm.mjs +0 -22
- package/dist/boringssl-inspector-BH2D3VKc.mjs +0 -180
- package/dist/browser-BpOr5PEx.mjs +0 -4082
- package/dist/chunk-CjcI7cDX.mjs +0 -15
- package/dist/concurrency-Bt0yv1kJ.mjs +0 -41
- package/dist/constants-B0OANIBL.mjs +0 -519
- package/dist/coordination-qUbyF8KU.mjs +0 -259
- package/dist/debugger-gnKxRSN0.mjs +0 -1271
- package/dist/definitions-6M-eejaT.mjs +0 -53
- package/dist/definitions-B18eyf0B.mjs +0 -18
- package/dist/definitions-B3QdlrHv.mjs +0 -34
- package/dist/definitions-B4rAvHNZ.mjs +0 -63
- package/dist/definitions-BB_4jnmy.mjs +0 -37
- package/dist/definitions-BMfYXoNC.mjs +0 -43
- package/dist/definitions-Beid2EB3.mjs +0 -27
- package/dist/definitions-C1UvM5Iy.mjs +0 -126
- package/dist/definitions-CXEI7QC72.mjs +0 -216
- package/dist/definitions-C_4r7Fo-2.mjs +0 -14
- package/dist/definitions-CkFDALoa.mjs +0 -26
- package/dist/definitions-Cke7zEb8.mjs +0 -94
- package/dist/definitions-ClJLzsJQ.mjs +0 -25
- package/dist/definitions-Cq-zroAU.mjs +0 -28
- package/dist/definitions-Cy3Sl6gV.mjs +0 -34
- package/dist/definitions-D3VsGcvz.mjs +0 -47
- package/dist/definitions-DVGfrn7y.mjs +0 -96
- package/dist/definitions-LKpC3-nL.mjs +0 -9
- package/dist/definitions-bAhHQJq9.mjs +0 -359
- package/dist/encoding-Bvz5jLRv.mjs +0 -1065
- package/dist/evidence-graph-bridge-C_fv9PuC.mjs +0 -135
- package/dist/factory-DxlGh9Xf.mjs +0 -575
- package/dist/formatAddress-DVkj9kpI.mjs +0 -17
- package/dist/graphql-DYWzJ29s.mjs +0 -1026
- package/dist/handlers-9sAbfIg-.mjs +0 -2552
- package/dist/handlers-C67ktuRN.mjs +0 -710
- package/dist/handlers-C87g8oCe.mjs +0 -276
- package/dist/handlers-CTsDAO6p.mjs +0 -681
- package/dist/handlers-Cgyg6c0U.mjs +0 -645
- package/dist/handlers-D6j6yka7.mjs +0 -2124
- package/dist/handlers-DdFzXLvF.mjs +0 -446
- package/dist/handlers-DeLOCd5m.mjs +0 -799
- package/dist/handlers-DlCJN4Td.mjs +0 -757
- package/dist/handlers-DxGIq15_2.mjs +0 -917
- package/dist/handlers-U6L4xhuF.mjs +0 -585
- package/dist/handlers-tB9Mp9ZK.mjs +0 -84
- package/dist/handlers-tiy7EIBp.mjs +0 -572
- package/dist/handlers.impl-DS0d9fUw.mjs +0 -761
- package/dist/hooks-CzCWByww.mjs +0 -898
- package/dist/logger-Dh_xb7_2.mjs +0 -93
- package/dist/maintenance-P7ePRXQC.mjs +0 -830
- package/dist/manifest-2ToTpjv8.mjs +0 -106
- package/dist/manifest-3g71z6Bg.mjs +0 -79
- package/dist/manifest-82baTv4U.mjs +0 -45
- package/dist/manifest-B3QVVeBS.mjs +0 -82
- package/dist/manifest-BB2J8IMJ.mjs +0 -149
- package/dist/manifest-BKbgbSiY.mjs +0 -60
- package/dist/manifest-Bcf-TJzH.mjs +0 -848
- package/dist/manifest-BmtZzQiQ2.mjs +0 -45
- package/dist/manifest-Bnd7kqEY.mjs +0 -55
- package/dist/manifest-BqQX6OQC2.mjs +0 -65
- package/dist/manifest-BqrQ4Tpj.mjs +0 -81
- package/dist/manifest-Br4RPFt5.mjs +0 -370
- package/dist/manifest-C5qDjysN.mjs +0 -107
- package/dist/manifest-C9RT5nk32.mjs +0 -34
- package/dist/manifest-CAhOuvSl.mjs +0 -204
- package/dist/manifest-CBYWCUBJ.mjs +0 -51
- package/dist/manifest-CFADCRa1.mjs +0 -37
- package/dist/manifest-CQVhavRF.mjs +0 -114
- package/dist/manifest-CT7zZBV1.mjs +0 -48
- package/dist/manifest-CV12bcrF.mjs +0 -121
- package/dist/manifest-CXsRWjjI.mjs +0 -224
- package/dist/manifest-CZLUCfG02.mjs +0 -95
- package/dist/manifest-D6phHKFd.mjs +0 -131
- package/dist/manifest-DCyjf4n2.mjs +0 -294
- package/dist/manifest-DHsnKgP6.mjs +0 -60
- package/dist/manifest-Df_dliIe.mjs +0 -55
- package/dist/manifest-Dh8WBmEW.mjs +0 -129
- package/dist/manifest-DhKRAT8_.mjs +0 -92
- package/dist/manifest-DlpTj4ic2.mjs +0 -193
- package/dist/manifest-DrbmZcFl2.mjs +0 -253
- package/dist/manifest-DuwHjUa5.mjs +0 -70
- package/dist/manifest-DzwvxPJX.mjs +0 -38
- package/dist/manifest-NXctwWQq.mjs +0 -68
- package/dist/manifest-Sc_0JQ13.mjs +0 -418
- package/dist/manifest-gZ4s_UtG.mjs +0 -96
- package/dist/manifest-qSleDqdO.mjs +0 -1023
- package/dist/modules-C184v-S9.mjs +0 -11365
- package/dist/mojo-ipc-B_H61Afw.mjs +0 -525
- package/dist/network-671Cw6hV.mjs +0 -3346
- package/dist/outputPaths-B1uGmrWZ.mjs +0 -1145
- package/dist/parse-args-BlRjqlkL.mjs +0 -39
- package/dist/platform-WmNn8Sxb.mjs +0 -2070
- package/dist/process-QcbIy5Zq.mjs +0 -1401
- package/dist/proxy-DqNs0bAd.mjs +0 -170
- package/dist/registry-D-6e18lB.mjs +0 -34
- package/dist/response-BQVP-xUn.mjs +0 -28
- package/dist/shared-state-board-DV-dpHFJ.mjs +0 -586
- package/dist/sourcemap-Dq8ez8vS.mjs +0 -650
- package/dist/ssrf-policy-ZaUfvhq7.mjs +0 -166
- package/dist/streaming-BUQ0VJsg.mjs +0 -725
- package/dist/tool-builder-DCbIC5Eo.mjs +0 -186
- package/dist/transform-CiYJfNX0.mjs +0 -1007
- package/dist/types-Bx92KJfT.mjs +0 -4
- package/dist/types-CPhOReNX.mjs +0 -37
- package/dist/wasm-DQTnHDs4.mjs +0 -531
- package/dist/workflow-f3xJOcjx.mjs +0 -725
package/dist/chunk-CjcI7cDX.mjs
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { createRequire } from "node:module";
|
|
2
|
-
//#region \0rolldown/runtime.js
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __exportAll = (all, no_symbols) => {
|
|
5
|
-
let target = {};
|
|
6
|
-
for (var name in all) __defProp(target, name, {
|
|
7
|
-
get: all[name],
|
|
8
|
-
enumerable: true
|
|
9
|
-
});
|
|
10
|
-
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
11
|
-
return target;
|
|
12
|
-
};
|
|
13
|
-
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
14
|
-
//#endregion
|
|
15
|
-
export { __require as n, __exportAll as t };
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
//#region src/utils/concurrency.ts
|
|
2
|
-
function pLimit(concurrency) {
|
|
3
|
-
if (concurrency < 1) throw new RangeError("concurrency must be >= 1");
|
|
4
|
-
let activeCount = 0;
|
|
5
|
-
const queue = [];
|
|
6
|
-
function next() {
|
|
7
|
-
if (queue.length > 0 && activeCount < concurrency) {
|
|
8
|
-
activeCount++;
|
|
9
|
-
queue.shift()();
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function run(fn) {
|
|
13
|
-
return new Promise((resolve, reject) => {
|
|
14
|
-
const execute = async () => {
|
|
15
|
-
try {
|
|
16
|
-
resolve(await fn());
|
|
17
|
-
} catch (err) {
|
|
18
|
-
reject(err);
|
|
19
|
-
} finally {
|
|
20
|
-
activeCount--;
|
|
21
|
-
next();
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
if (activeCount < concurrency) {
|
|
25
|
-
activeCount++;
|
|
26
|
-
execute();
|
|
27
|
-
} else queue.push(() => {
|
|
28
|
-
execute();
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
return run;
|
|
33
|
-
}
|
|
34
|
-
/** External CLI calls, HAR export, large file I/O */
|
|
35
|
-
const ioLimit = pLimit(parseInt(process.env.jshook_IO_CONCURRENCY || "4", 10));
|
|
36
|
-
/** CPU-heavy: AST parsing, deobfuscation, binary decoding */
|
|
37
|
-
const cpuLimit = pLimit(parseInt(process.env.jshook_CPU_CONCURRENCY || "2", 10));
|
|
38
|
-
/** CDP-heavy: heap snapshots, traces, profiling */
|
|
39
|
-
const cdpLimit = pLimit(parseInt(process.env.jshook_CDP_CONCURRENCY || "2", 10));
|
|
40
|
-
//#endregion
|
|
41
|
-
export { cpuLimit as n, ioLimit as r, cdpLimit as t };
|
|
@@ -1,519 +0,0 @@
|
|
|
1
|
-
import { cpus } from "node:os";
|
|
2
|
-
//#region src/constants.ts
|
|
3
|
-
/**
|
|
4
|
-
* Centralized runtime-tunable constants.
|
|
5
|
-
*
|
|
6
|
-
* Every value can be overridden via the corresponding env var (loaded from
|
|
7
|
-
* `.env` by `dotenv` at startup). Modules import from here instead of
|
|
8
|
-
* hard-coding magic numbers.
|
|
9
|
-
*/
|
|
10
|
-
const int = (key, fallback) => {
|
|
11
|
-
const v = process.env[key];
|
|
12
|
-
if (v === void 0 || v === "") return fallback;
|
|
13
|
-
const n = parseInt(v, 10);
|
|
14
|
-
return Number.isFinite(n) ? n : fallback;
|
|
15
|
-
};
|
|
16
|
-
const float = (key, fallback) => {
|
|
17
|
-
const v = process.env[key];
|
|
18
|
-
if (v === void 0 || v === "") return fallback;
|
|
19
|
-
const n = Number.parseFloat(v);
|
|
20
|
-
return Number.isFinite(n) ? n : fallback;
|
|
21
|
-
};
|
|
22
|
-
const bool = (key, fallback) => {
|
|
23
|
-
const v = process.env[key];
|
|
24
|
-
if (v === void 0 || v === "") return fallback;
|
|
25
|
-
const normalized = v.trim().toLowerCase();
|
|
26
|
-
if (normalized === "true" || normalized === "1") return true;
|
|
27
|
-
if (normalized === "false" || normalized === "0") return false;
|
|
28
|
-
return fallback;
|
|
29
|
-
};
|
|
30
|
-
const str = (key, fallback) => process.env[key] || fallback;
|
|
31
|
-
const list = (key, fallback) => {
|
|
32
|
-
const v = process.env[key];
|
|
33
|
-
if (!v) return fallback;
|
|
34
|
-
return v.split(",").map(Number).filter(Number.isFinite);
|
|
35
|
-
};
|
|
36
|
-
const csv = (key, fallback) => {
|
|
37
|
-
const v = process.env[key];
|
|
38
|
-
if (!v) return fallback;
|
|
39
|
-
const parsed = v.split(",").map((item) => item.trim().toLowerCase()).filter(Boolean);
|
|
40
|
-
return parsed.length > 0 ? parsed : fallback;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* Auto-sized int: accepts "auto" (case-insensitive) to derive the value from
|
|
44
|
-
* a supplier, otherwise behaves like `int(key, fallback)`.
|
|
45
|
-
*/
|
|
46
|
-
const autoInt = (key, fallback, autoSupplier) => {
|
|
47
|
-
const v = process.env[key];
|
|
48
|
-
if (v !== void 0 && v.trim().toLowerCase() === "auto") {
|
|
49
|
-
const derived = autoSupplier();
|
|
50
|
-
return Number.isFinite(derived) && derived > 0 ? Math.floor(derived) : fallback;
|
|
51
|
-
}
|
|
52
|
-
return int(key, fallback);
|
|
53
|
-
};
|
|
54
|
-
const cpuCount = () => {
|
|
55
|
-
try {
|
|
56
|
-
return cpus().length;
|
|
57
|
-
} catch {
|
|
58
|
-
return 4;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
/** Maximum time allowed for graceful shutdown before force-exiting. */
|
|
62
|
-
const SHUTDOWN_TIMEOUT_MS = int("SHUTDOWN_TIMEOUT_MS", 2e4);
|
|
63
|
-
/** Sliding window (ms) for counting runtime errors before entering degraded mode. */
|
|
64
|
-
const RUNTIME_ERROR_WINDOW_MS = int("RUNTIME_ERROR_WINDOW_MS", 6e4);
|
|
65
|
-
/** Max recoverable errors within the window before enabling degraded mode. */
|
|
66
|
-
const RUNTIME_ERROR_THRESHOLD = int("RUNTIME_ERROR_THRESHOLD", 8);
|
|
67
|
-
/** Ports scanned when looking for a CDP / Node debug listener. */
|
|
68
|
-
const DEBUG_PORT_CANDIDATES = list("DEBUG_PORT_CANDIDATES", [
|
|
69
|
-
9222,
|
|
70
|
-
9229,
|
|
71
|
-
9333,
|
|
72
|
-
2039
|
|
73
|
-
]);
|
|
74
|
-
/** Default port used when launching a process with `--remote-debugging-port`. */
|
|
75
|
-
const DEFAULT_DEBUG_PORT = int("DEFAULT_DEBUG_PORT", 9222);
|
|
76
|
-
/** Ghidra bridge REST endpoint. */
|
|
77
|
-
const GHIDRA_BRIDGE_ENDPOINT = str("GHIDRA_BRIDGE_URL", "http://127.0.0.1:18080");
|
|
78
|
-
/** IDA bridge REST endpoint. */
|
|
79
|
-
const IDA_BRIDGE_ENDPOINT = str("IDA_BRIDGE_URL", "http://127.0.0.1:18081");
|
|
80
|
-
/** Base URL for the configured external CAPTCHA solver service. */
|
|
81
|
-
const CAPTCHA_SOLVER_BASE_URL = process.env.CAPTCHA_SOLVER_BASE_URL?.trim() || process.env.CAPTCHA_2CAPTCHA_BASE_URL?.trim() || "";
|
|
82
|
-
process.env.EXTENSION_REGISTRY_BASE_URL?.trim();
|
|
83
|
-
const MCP_HTTP_REQUEST_TIMEOUT_MS = int("MCP_HTTP_REQUEST_TIMEOUT_MS", 3e4);
|
|
84
|
-
const MCP_HTTP_HEADERS_TIMEOUT_MS = int("MCP_HTTP_HEADERS_TIMEOUT_MS", 1e4);
|
|
85
|
-
const MCP_HTTP_KEEPALIVE_TIMEOUT_MS = int("MCP_HTTP_KEEPALIVE_TIMEOUT_MS", 6e4);
|
|
86
|
-
const MCP_HTTP_FORCE_CLOSE_TIMEOUT_MS = int("MCP_HTTP_FORCE_CLOSE_TIMEOUT_MS", 5e3);
|
|
87
|
-
const EXTERNAL_TOOL_TIMEOUT_MS = int("EXTERNAL_TOOL_TIMEOUT_MS", 3e4);
|
|
88
|
-
const EXTERNAL_TOOL_PROBE_TIMEOUT_MS = int("EXTERNAL_TOOL_PROBE_TIMEOUT_MS", 5e3);
|
|
89
|
-
const EXTERNAL_TOOL_PROBE_CACHE_TTL_MS = int("EXTERNAL_TOOL_PROBE_CACHE_TTL_MS", 6e4);
|
|
90
|
-
const EXTERNAL_TOOL_FORCE_KILL_GRACE_MS = int("EXTERNAL_TOOL_FORCE_KILL_GRACE_MS", 2e3);
|
|
91
|
-
const SANDBOX_EXEC_TIMEOUT_MS = int("SANDBOX_EXEC_TIMEOUT_MS", 5e3);
|
|
92
|
-
const SANDBOX_MEMORY_LIMIT_MB = int("SANDBOX_MEMORY_LIMIT_MB", 128);
|
|
93
|
-
const SANDBOX_STACK_SIZE_MB = int("SANDBOX_STACK_SIZE_MB", 4);
|
|
94
|
-
const SANDBOX_TERMINATE_GRACE_MS = int("SANDBOX_TERMINATE_GRACE_MS", 2e3);
|
|
95
|
-
int("SYMBOLIC_EXEC_MAX_PATHS", 100);
|
|
96
|
-
int("SYMBOLIC_EXEC_MAX_DEPTH", 50);
|
|
97
|
-
int("SYMBOLIC_EXEC_TIMEOUT_MS", 3e4);
|
|
98
|
-
const JSVMP_DEOBFUSCATE_TIMEOUT_MS = int("JSVMP_DEOBFUSCATE_TIMEOUT_MS", 3e4);
|
|
99
|
-
const JSVMP_MAX_ITERATIONS = int("JSVMP_MAX_ITERATIONS", 100);
|
|
100
|
-
int("JSVMP_SYMBOLIC_MAX_STEPS", 1e3);
|
|
101
|
-
int("JSVMP_SYMBOLIC_TIMEOUT_MS", 3e4);
|
|
102
|
-
const DEBUGGER_WAIT_FOR_PAUSED_TIMEOUT_MS = int("DEBUGGER_WAIT_FOR_PAUSED_TIMEOUT_MS", 3e4);
|
|
103
|
-
const WATCH_EVAL_TIMEOUT_MS = int("WATCH_EVAL_TIMEOUT_MS", 5e3);
|
|
104
|
-
const TRANSFORM_WORKER_TIMEOUT_MS = int("TRANSFORM_WORKER_TIMEOUT_MS", 15e3);
|
|
105
|
-
int("TRANSFORM_VM_SCRIPT_TIMEOUT_MS", 5e3);
|
|
106
|
-
const TRANSFORM_CRYPTO_POOL_MAX_WORKERS = int("TRANSFORM_CRYPTO_POOL_MAX_WORKERS", 4);
|
|
107
|
-
const TRANSFORM_CRYPTO_POOL_IDLE_TIMEOUT_MS = int("TRANSFORM_CRYPTO_POOL_IDLE_TIMEOUT_MS", 3e4);
|
|
108
|
-
const TRANSFORM_CRYPTO_POOL_MAX_OLD_GEN_MB = int("TRANSFORM_CRYPTO_POOL_MAX_OLD_GEN_MB", 64);
|
|
109
|
-
const TRANSFORM_CRYPTO_POOL_MAX_YOUNG_GEN_MB = int("TRANSFORM_CRYPTO_POOL_MAX_YOUNG_GEN_MB", 16);
|
|
110
|
-
int("EMULATOR_FETCH_GOTO_TIMEOUT_MS", 3e4);
|
|
111
|
-
const WASM_TOOL_TIMEOUT_MS = int("WASM_TOOL_TIMEOUT_MS", 6e4);
|
|
112
|
-
int("WASM_OFFLINE_RUN_TIMEOUT_MS", 1e4);
|
|
113
|
-
const WASM_OPTIMIZE_TIMEOUT_MS = int("WASM_OPTIMIZE_TIMEOUT_MS", 12e4);
|
|
114
|
-
int("MINIAPP_UNPACK_TIMEOUT_MS", 18e4);
|
|
115
|
-
const CAPTCHA_SUBMIT_TIMEOUT_MS = int("CAPTCHA_SUBMIT_TIMEOUT_MS", 15e3);
|
|
116
|
-
int("FETCH_ABORT_TIMEOUT_MS", 1e4);
|
|
117
|
-
const CAPTCHA_POLL_INTERVAL_MS = int("CAPTCHA_POLL_INTERVAL_MS", 5e3);
|
|
118
|
-
const CAPTCHA_RESULT_TIMEOUT_MS = int("CAPTCHA_RESULT_TIMEOUT_MS", 1e4);
|
|
119
|
-
const CAPTCHA_DEFAULT_TIMEOUT_MS = int("CAPTCHA_DEFAULT_TIMEOUT_MS", 18e4);
|
|
120
|
-
const CAPTCHA_MIN_TIMEOUT_MS = int("CAPTCHA_MIN_TIMEOUT_MS", 5e3);
|
|
121
|
-
const CAPTCHA_MAX_TIMEOUT_MS = int("CAPTCHA_MAX_TIMEOUT_MS", 6e5);
|
|
122
|
-
const CAPTCHA_MAX_RETRIES = int("CAPTCHA_MAX_RETRIES", 5);
|
|
123
|
-
const CAPTCHA_DEFAULT_RETRIES = int("CAPTCHA_DEFAULT_RETRIES", 2);
|
|
124
|
-
int("NETWORK_REPLAY_TIMEOUT_MS", 3e4);
|
|
125
|
-
int("NETWORK_REPLAY_MAX_BODY_BYTES", 512e3);
|
|
126
|
-
const NETWORK_REPLAY_MAX_REDIRECTS = int("NETWORK_REPLAY_MAX_REDIRECTS", 5);
|
|
127
|
-
const NETWORK_HAR_BODY_CONCURRENCY = int("NETWORK_HAR_BODY_CONCURRENCY", 4);
|
|
128
|
-
int("WORKFLOW_BATCH_MAX_ACCOUNTS", 50);
|
|
129
|
-
int("WORKFLOW_BATCH_MAX_CONCURRENCY", 1);
|
|
130
|
-
int("WORKFLOW_REGISTER_ACCOUNT_TIMEOUT_MS", 6e4);
|
|
131
|
-
int("WORKFLOW_ACTION_DELAY_MS", 1e3);
|
|
132
|
-
int("WORKFLOW_SETTLE_DELAY_MS", 2e3);
|
|
133
|
-
int("WORKFLOW_INPUT_DELAY_MS", 1500);
|
|
134
|
-
int("WORKFLOW_BATCH_MAX_RETRIES", 3);
|
|
135
|
-
int("WORKFLOW_BATCH_MAX_BACKOFF_MS", 3e4);
|
|
136
|
-
int("WORKFLOW_BATCH_MAX_TIMEOUT_MS", 3e5);
|
|
137
|
-
int("WORKFLOW_BATCH_RETRY_BACKOFF_MS", 2e3);
|
|
138
|
-
int("WORKFLOW_BATCH_TIMEOUT_PER_ACCOUNT_MS", 9e4);
|
|
139
|
-
const WORKFLOW_JS_BUNDLE_MAX_SIZE_BYTES = int("WORKFLOW_JS_BUNDLE_MAX_SIZE_BYTES", 20 * 1024 * 1024);
|
|
140
|
-
const WORKFLOW_JS_BUNDLE_MAX_REDIRECTS = int("WORKFLOW_JS_BUNDLE_MAX_REDIRECTS", 5);
|
|
141
|
-
const WORKFLOW_JS_BUNDLE_FETCH_TIMEOUT_MS = int("WORKFLOW_JS_BUNDLE_FETCH_TIMEOUT_MS", 3e4);
|
|
142
|
-
const WORKFLOW_BUNDLE_CACHE_TTL_MS = int("WORKFLOW_BUNDLE_CACHE_TTL_MS", 300 * 1e3);
|
|
143
|
-
const WORKFLOW_BUNDLE_CACHE_MAX_BYTES = int("WORKFLOW_BUNDLE_CACHE_MAX_BYTES", 100 * 1024 * 1024);
|
|
144
|
-
new Set(csv("SEARCH_WORKFLOW_BOOST_TIERS", ["workflow", "full"]));
|
|
145
|
-
const SEARCH_WORKFLOW_DOMAIN_BOOST_MULTIPLIER = float("SEARCH_WORKFLOW_DOMAIN_BOOST_MULTIPLIER", 1.5);
|
|
146
|
-
/**
|
|
147
|
-
* Default TTL (minutes) for domain activations via activate_domain and
|
|
148
|
-
* search auto-activation. 0 = no auto-expiry.
|
|
149
|
-
* Default: 30 minutes.
|
|
150
|
-
*/
|
|
151
|
-
const ACTIVATION_TTL_MINUTES = int("ACTIVATION_TTL_MINUTES", 30);
|
|
152
|
-
bool("SEARCH_AUTO_ACTIVATE_DOMAINS", true);
|
|
153
|
-
/**
|
|
154
|
-
* AutoPruner inactivity thresholds. Previously hardcoded as 5 / 15 / 60s which
|
|
155
|
-
* conflicted with ACTIVATION_TTL_MINUTES (30 min) — auto-activated domains
|
|
156
|
-
* were being pruned long before their declared TTL. Defaults now align with
|
|
157
|
-
* the TTL semantics:
|
|
158
|
-
* - AUTO_INACTIVITY_MS = 15 min (auto-activated, soft-evict before TTL cap)
|
|
159
|
-
* - MANUAL_INACTIVITY_MS = 30 min (manual activations live for the full TTL)
|
|
160
|
-
* - CHECK_INTERVAL_MS = 60 s (frequency of the prune sweep)
|
|
161
|
-
*/
|
|
162
|
-
const AUTOPRUNE_AUTO_INACTIVITY_MS = int("AUTOPRUNE_AUTO_INACTIVITY_MS", 15 * 6e4);
|
|
163
|
-
const AUTOPRUNE_MANUAL_INACTIVITY_MS = int("AUTOPRUNE_MANUAL_INACTIVITY_MS", 30 * 6e4);
|
|
164
|
-
const AUTOPRUNE_CHECK_INTERVAL_MS = int("AUTOPRUNE_CHECK_INTERVAL_MS", 6e4);
|
|
165
|
-
/**
|
|
166
|
-
* PredictiveBooster parameters.
|
|
167
|
-
* - PREDICTIVE_MAX_HISTORY: sliding-window size for recorded tool calls.
|
|
168
|
-
* Raised from 50 to match the median length of a multi-domain session.
|
|
169
|
-
* - PREDICTIVE_CONFIDENCE_THRESHOLD: minimum transition probability to
|
|
170
|
-
* emit a prediction. Slightly lowered to surface emerging patterns
|
|
171
|
-
* sooner, while higher-order weighting filters noise.
|
|
172
|
-
* - PREDICTIVE_DECAY_FACTOR: exponential decay applied to stored
|
|
173
|
-
* transition weights on each record; makes recent usage dominate.
|
|
174
|
-
*/
|
|
175
|
-
const PREDICTIVE_MAX_HISTORY = int("PREDICTIVE_MAX_HISTORY", 100);
|
|
176
|
-
const PREDICTIVE_CONFIDENCE_THRESHOLD = float("PREDICTIVE_CONFIDENCE_THRESHOLD", .25);
|
|
177
|
-
const PREDICTIVE_DECAY_FACTOR = float("PREDICTIVE_DECAY_FACTOR", .95);
|
|
178
|
-
/**
|
|
179
|
-
* ActivationController tuning.
|
|
180
|
-
* - ACTIVATION_COOLDOWN_MS: minimum interval between two boost attempts for
|
|
181
|
-
* the same domain; prevents feedback loops when several events match in a
|
|
182
|
-
* short window.
|
|
183
|
-
* - ACTIVATION_COMPOUND_EVAL_EVERY: number of tool calls between compound
|
|
184
|
-
* condition evaluations (was hardcoded to 5).
|
|
185
|
-
* - ACTIVATION_EVENT_HISTORY_MAX: sliding-window size for event pattern
|
|
186
|
-
* matching.
|
|
187
|
-
*/
|
|
188
|
-
const ACTIVATION_COOLDOWN_MS = int("ACTIVATION_COOLDOWN_MS", 3e4);
|
|
189
|
-
const ACTIVATION_COMPOUND_EVAL_EVERY = int("ACTIVATION_COMPOUND_EVAL_EVERY", 5);
|
|
190
|
-
const ACTIVATION_EVENT_HISTORY_MAX = int("ACTIVATION_EVENT_HISTORY_MAX", 200);
|
|
191
|
-
/**
|
|
192
|
-
* Sliding-window durations used when evaluating boost rules and compound
|
|
193
|
-
* conditions. Previously hardcoded at 60_000 / 120_000 / 300_000 across
|
|
194
|
-
* ActivationController / CompoundConditionEngine; centralised here so
|
|
195
|
-
* deployments can widen the windows for long-running debug sessions.
|
|
196
|
-
*/
|
|
197
|
-
const ACTIVATION_BOOST_WINDOW_MS = int("ACTIVATION_BOOST_WINDOW_MS", 6e4);
|
|
198
|
-
const COMPOUND_EVENT_WINDOW_MS = int("COMPOUND_EVENT_WINDOW_MS", 12e4);
|
|
199
|
-
const COMPOUND_LONG_WINDOW_MS = int("COMPOUND_LONG_WINDOW_MS", 3e5);
|
|
200
|
-
/**
|
|
201
|
-
* GraphBoost-inspired search enhancements (see GraphBoost paper §4).
|
|
202
|
-
*
|
|
203
|
-
* SEARCH_AFFINITY_BOOST_FACTOR: bonus applied to prefix-group neighbors of
|
|
204
|
-
* top search results. Mirrors §4.1.4 dependency hull expansion.
|
|
205
|
-
*
|
|
206
|
-
* SEARCH_AFFINITY_TOP_N: how many top results contribute affinity boosts.
|
|
207
|
-
*
|
|
208
|
-
* SEARCH_DOMAIN_HUB_THRESHOLD: if ≥ this many top-10 results share a domain,
|
|
209
|
-
* other tools in that domain receive a coherence boost.
|
|
210
|
-
*
|
|
211
|
-
* SEARCH_QUERY_CACHE_CAPACITY: LRU cache size for search results.
|
|
212
|
-
* Mirrors §4.3 CSAPC cross-session caching. Raised to 500 to match the
|
|
213
|
-
* 431+ tool catalog size and reduce warm-cache miss rate.
|
|
214
|
-
*/
|
|
215
|
-
const SEARCH_AFFINITY_BOOST_FACTOR = float("SEARCH_AFFINITY_BOOST_FACTOR", .36);
|
|
216
|
-
const SEARCH_AFFINITY_TOP_N = int("SEARCH_AFFINITY_TOP_N", 7);
|
|
217
|
-
const SEARCH_DOMAIN_HUB_THRESHOLD = int("SEARCH_DOMAIN_HUB_THRESHOLD", 6);
|
|
218
|
-
const SEARCH_QUERY_CACHE_CAPACITY = int("SEARCH_QUERY_CACHE_CAPACITY", 500);
|
|
219
|
-
/**
|
|
220
|
-
* Cache invalidation tolerance: cached entries are reusable while the
|
|
221
|
-
* live vector weight stays within this delta of the weight recorded
|
|
222
|
-
* when the entry was stored. Avoids flushing the full cache on every
|
|
223
|
-
* feedback tick (the previous epoch bump behavior).
|
|
224
|
-
*/
|
|
225
|
-
const SEARCH_CACHE_VECTOR_WEIGHT_TOLERANCE = float("SEARCH_CACHE_VECTOR_WEIGHT_TOLERANCE", .05);
|
|
226
|
-
/**
|
|
227
|
-
* Semantic search enhancements (synonym expansion, trigram fuzzy, RRF fusion).
|
|
228
|
-
*
|
|
229
|
-
* SEARCH_TRIGRAM_WEIGHT: weight of trigram Jaccard similarity as an RRF signal.
|
|
230
|
-
* SEARCH_TRIGRAM_THRESHOLD: minimum Jaccard score to enter the trigram ranking.
|
|
231
|
-
* SEARCH_RRF_K: smoothing constant for Reciprocal Rank Fusion (standard: 60).
|
|
232
|
-
* SEARCH_RRF_RESCALE_FACTOR: multiplier that maps RRF scores into the BM25
|
|
233
|
-
* magnitude range so downstream boosts (affinity, domain hub) stay comparable.
|
|
234
|
-
* SEARCH_RRF_BM25_BLEND: blend weight between the preserved BM25 score and
|
|
235
|
-
* the rescaled RRF score when they coexist for the same doc.
|
|
236
|
-
* SEARCH_SYNONYM_EXPANSION_LIMIT: max synonym tokens added per original query term.
|
|
237
|
-
* SEARCH_PARAM_TOKEN_WEIGHT: weight for tool parameter name tokens in the index.
|
|
238
|
-
*/
|
|
239
|
-
const SEARCH_TRIGRAM_WEIGHT = float("SEARCH_TRIGRAM_WEIGHT", .03);
|
|
240
|
-
const SEARCH_TRIGRAM_THRESHOLD = float("SEARCH_TRIGRAM_THRESHOLD", .15);
|
|
241
|
-
const SEARCH_RRF_K = int("SEARCH_RRF_K", 102);
|
|
242
|
-
const SEARCH_RRF_RESCALE_FACTOR = float("SEARCH_RRF_RESCALE_FACTOR", 2200);
|
|
243
|
-
const SEARCH_RRF_BM25_BLEND = float("SEARCH_RRF_BM25_BLEND", .76);
|
|
244
|
-
const SEARCH_SYNONYM_EXPANSION_LIMIT = int("SEARCH_SYNONYM_EXPANSION_LIMIT", 1);
|
|
245
|
-
const SEARCH_PARAM_TOKEN_WEIGHT = float("SEARCH_PARAM_TOKEN_WEIGHT", 3.4);
|
|
246
|
-
/**
|
|
247
|
-
* BM25 scoring parameters.
|
|
248
|
-
*
|
|
249
|
-
* SEARCH_BM25_K1: term frequency saturation (1.2-2.0 typical; higher = more tf weight).
|
|
250
|
-
* SEARCH_BM25_B: length normalization factor (0..1; 0.75 is the textbook default).
|
|
251
|
-
* The previous hardcoded value of 0.3 under-penalized long descriptions,
|
|
252
|
-
* allowing verbose tools to crowd the top results.
|
|
253
|
-
*/
|
|
254
|
-
const SEARCH_BM25_K1 = float("SEARCH_BM25_K1", .8);
|
|
255
|
-
const SEARCH_BM25_B = float("SEARCH_BM25_B", .65);
|
|
256
|
-
/**
|
|
257
|
-
* Dense vector search (Phase 8 — Hybrid Semantic Routing).
|
|
258
|
-
*
|
|
259
|
-
* SEARCH_VECTOR_ENABLED: master switch for embedding-based search signal.
|
|
260
|
-
* SEARCH_VECTOR_MODEL_ID: HuggingFace model used for embedding inference.
|
|
261
|
-
* SEARCH_VECTOR_COSINE_WEIGHT: initial weight of the vector cosine signal in RRF fusion.
|
|
262
|
-
* SEARCH_VECTOR_DYNAMIC_WEIGHT: when true, vector weight self-tunes based on tool-call feedback.
|
|
263
|
-
* SEARCH_VECTOR_LEARN_UP / DOWN: step sizes applied when the selected tool was
|
|
264
|
-
* inside / outside the vector top-N. The defaults trade convergence speed
|
|
265
|
-
* for stability.
|
|
266
|
-
* SEARCH_VECTOR_LEARN_TOP_N: rank threshold that separates "hit" from "miss".
|
|
267
|
-
*/
|
|
268
|
-
const SEARCH_VECTOR_ENABLED = bool("SEARCH_VECTOR_ENABLED", true);
|
|
269
|
-
const SEARCH_VECTOR_MODEL_ID = str("SEARCH_VECTOR_MODEL_ID", "Xenova/bge-micro-v2");
|
|
270
|
-
const SEARCH_VECTOR_COSINE_WEIGHT = float("SEARCH_VECTOR_COSINE_WEIGHT", .69);
|
|
271
|
-
const SEARCH_VECTOR_DYNAMIC_WEIGHT = bool("SEARCH_VECTOR_DYNAMIC_WEIGHT", true);
|
|
272
|
-
const SEARCH_VECTOR_LEARN_UP = float("SEARCH_VECTOR_LEARN_UP", .07);
|
|
273
|
-
const SEARCH_VECTOR_LEARN_DOWN = float("SEARCH_VECTOR_LEARN_DOWN", .02);
|
|
274
|
-
const SEARCH_VECTOR_LEARN_TOP_N = int("SEARCH_VECTOR_LEARN_TOP_N", 6);
|
|
275
|
-
/**
|
|
276
|
-
* SEARCH_VECTOR_BM25_SKIP_THRESHOLD: when the top BM25 score meets or exceeds
|
|
277
|
-
* this value, dense vector scoring is skipped — the text signal is already
|
|
278
|
-
* strong enough that embeddings rarely change the ranking.
|
|
279
|
-
* Set to 0 to always run vector scoring (original behavior).
|
|
280
|
-
*/
|
|
281
|
-
const SEARCH_VECTOR_BM25_SKIP_THRESHOLD = float("SEARCH_VECTOR_BM25_SKIP_THRESHOLD", 5);
|
|
282
|
-
/**
|
|
283
|
-
* Profile tier-aware ranking: tools whose domain is not visible under the
|
|
284
|
-
* caller's active tier (search ⊂ workflow ⊂ full) are not filtered out but
|
|
285
|
-
* downweighted by this multiplier (0..1). Setting to 1 disables the penalty.
|
|
286
|
-
*/
|
|
287
|
-
const SEARCH_TIER_PENALTY = float("SEARCH_TIER_PENALTY", .35);
|
|
288
|
-
/** Per-profile tier penalty overrides. When set, these take precedence over SEARCH_TIER_PENALTY. */
|
|
289
|
-
const SEARCH_TIER_PENALTY_SEARCH = float("SEARCH_TIER_PENALTY_SEARCH", .88);
|
|
290
|
-
const SEARCH_TIER_PENALTY_WORKFLOW = float("SEARCH_TIER_PENALTY_WORKFLOW", .52);
|
|
291
|
-
const SEARCH_TIER_PENALTY_FULL = float("SEARCH_TIER_PENALTY_FULL", .64);
|
|
292
|
-
/**
|
|
293
|
-
* Recency / frequency boost: tools invoked within SEARCH_RECENCY_WINDOW_MS
|
|
294
|
-
* receive a log-scaled boost up to SEARCH_RECENCY_MAX_BOOST. Helps user-
|
|
295
|
-
* preferred tools naturally surface.
|
|
296
|
-
*
|
|
297
|
-
* SEARCH_RECENCY_TRACKER_MAX caps the tracker map size to bound memory in
|
|
298
|
-
* long sessions; evicted entries are the oldest insertions (LRU).
|
|
299
|
-
*/
|
|
300
|
-
const SEARCH_RECENCY_WINDOW_MS = int("SEARCH_RECENCY_WINDOW_MS", 30 * 6e4);
|
|
301
|
-
const SEARCH_RECENCY_MAX_BOOST = float("SEARCH_RECENCY_MAX_BOOST", .75);
|
|
302
|
-
const SEARCH_RECENCY_TRACKER_MAX = int("SEARCH_RECENCY_TRACKER_MAX", 200);
|
|
303
|
-
/**
|
|
304
|
-
* Additional fine-grained scoring knobs. These used to be hardcoded; moving
|
|
305
|
-
* them to env lets downstream deployments tune ranking behaviour without
|
|
306
|
-
* rebuilding.
|
|
307
|
-
*
|
|
308
|
-
* SEARCH_EXACT_NAME_MATCH_MULTIPLIER — score multiplier when the query
|
|
309
|
-
* normalises to an exact tool name.
|
|
310
|
-
* SEARCH_DOMAIN_HUB_BOOST_MULTIPLIER — score multiplier applied to tools
|
|
311
|
-
* whose domain shows up ≥ SEARCH_DOMAIN_HUB_THRESHOLD times in the
|
|
312
|
-
* top-10.
|
|
313
|
-
* SEARCH_AFFINITY_BASE_WEIGHT — baseline edge weight used when building
|
|
314
|
-
* the prefix-group affinity graph (decayed by √|group|).
|
|
315
|
-
* SEARCH_COVERAGE_PRECISION_FACTOR — amplitude of the coverage × precision
|
|
316
|
-
* bonus applied when query tokens overlap a tool's name tokens.
|
|
317
|
-
* SEARCH_PREFIX_MATCH_MULTIPLIER — multiplier applied to BM25 postings
|
|
318
|
-
* reached via prefix expansion (non-exact tokens).
|
|
319
|
-
* PREDICTIVE_MAX_SECOND_ORDER_KEYS — upper bound on the second-order
|
|
320
|
-
* Markov table to keep memory usage predictable.
|
|
321
|
-
*/
|
|
322
|
-
const SEARCH_EXACT_NAME_MATCH_MULTIPLIER = float("SEARCH_EXACT_NAME_MATCH_MULTIPLIER", 5.8);
|
|
323
|
-
const SEARCH_DOMAIN_HUB_BOOST_MULTIPLIER = float("SEARCH_DOMAIN_HUB_BOOST_MULTIPLIER", 1.11);
|
|
324
|
-
const SEARCH_AFFINITY_BASE_WEIGHT = float("SEARCH_AFFINITY_BASE_WEIGHT", .1);
|
|
325
|
-
const SEARCH_COVERAGE_PRECISION_FACTOR = float("SEARCH_COVERAGE_PRECISION_FACTOR", .5);
|
|
326
|
-
const SEARCH_PREFIX_MATCH_MULTIPLIER = float("SEARCH_PREFIX_MATCH_MULTIPLIER", .32);
|
|
327
|
-
const PREDICTIVE_MAX_SECOND_ORDER_KEYS = int("PREDICTIVE_MAX_SECOND_ORDER_KEYS", 1e3);
|
|
328
|
-
const EXTENSION_GIT_CLONE_TIMEOUT_MS = int("EXTENSION_GIT_CLONE_TIMEOUT_MS", 6e4);
|
|
329
|
-
const EXTENSION_GIT_CHECKOUT_TIMEOUT_MS = int("EXTENSION_GIT_CHECKOUT_TIMEOUT_MS", 3e4);
|
|
330
|
-
const PROCESS_LIST_MAX_BUFFER_BYTES = int("PROCESS_LIST_MAX_BUFFER_BYTES", 1024 * 1024 * 10);
|
|
331
|
-
const EXTERNAL_TOOL_MAX_STDOUT_BYTES = int("EXTERNAL_TOOL_MAX_STDOUT_BYTES", 10 * 1024 * 1024);
|
|
332
|
-
const EXTERNAL_TOOL_MAX_STDERR_BYTES = int("EXTERNAL_TOOL_MAX_STDERR_BYTES", 1 * 1024 * 1024);
|
|
333
|
-
const GRAPHQL_MAX_PREVIEW_CHARS = int("GRAPHQL_MAX_PREVIEW_CHARS", 4e3);
|
|
334
|
-
const GRAPHQL_MAX_SCHEMA_CHARS = int("GRAPHQL_MAX_SCHEMA_CHARS", 12e4);
|
|
335
|
-
const GRAPHQL_MAX_QUERY_CHARS = int("GRAPHQL_MAX_QUERY_CHARS", 12e3);
|
|
336
|
-
const GRAPHQL_MAX_GRAPH_NODES = int("GRAPHQL_MAX_GRAPH_NODES", 2e3);
|
|
337
|
-
const GRAPHQL_MAX_GRAPH_EDGES = int("GRAPHQL_MAX_GRAPH_EDGES", 5e3);
|
|
338
|
-
const ANALYSIS_MAX_SUMMARY_FILES = int("ANALYSIS_MAX_SUMMARY_FILES", 40);
|
|
339
|
-
const ANALYSIS_MAX_SAFE_COLLECTED_BYTES = int("ANALYSIS_MAX_SAFE_COLLECTED_BYTES", 256 * 1024);
|
|
340
|
-
const ANALYSIS_MAX_SAFE_RESPONSE_BYTES = int("ANALYSIS_MAX_SAFE_RESPONSE_BYTES", 220 * 1024);
|
|
341
|
-
const WS_PAYLOAD_PREVIEW_LIMIT = int("WS_PAYLOAD_PREVIEW_LIMIT", 200);
|
|
342
|
-
const WS_PAYLOAD_SAMPLE_LIMIT = int("WS_PAYLOAD_SAMPLE_LIMIT", 2e3);
|
|
343
|
-
const SCRIPTS_MAX_CAP = int("SCRIPTS_MAX_CAP", 500);
|
|
344
|
-
const WORKER_POOL_MIN_WORKERS = int("WORKER_POOL_MIN_WORKERS", 2);
|
|
345
|
-
/**
|
|
346
|
-
* Worker pool ceiling. Accepts "auto" (case-insensitive) to derive a
|
|
347
|
-
* machine-tuned value: half of the available logical CPUs, bounded by
|
|
348
|
-
* [WORKER_POOL_MIN_WORKERS, 8]. Defaults to 4 when auto derivation fails.
|
|
349
|
-
*/
|
|
350
|
-
const WORKER_POOL_MAX_WORKERS = autoInt("WORKER_POOL_MAX_WORKERS", 4, () => {
|
|
351
|
-
const halved = Math.floor(cpuCount() / 2);
|
|
352
|
-
const minimum = int("WORKER_POOL_MIN_WORKERS", 2);
|
|
353
|
-
return Math.max(minimum, Math.min(8, halved));
|
|
354
|
-
});
|
|
355
|
-
const WORKER_POOL_IDLE_TIMEOUT_MS = int("WORKER_POOL_IDLE_TIMEOUT_MS", 3e4);
|
|
356
|
-
const WORKER_POOL_JOB_TIMEOUT_MS = int("WORKER_POOL_JOB_TIMEOUT_MS", 15e3);
|
|
357
|
-
int("PARALLEL_DEFAULT_CONCURRENCY", 3);
|
|
358
|
-
int("PARALLEL_DEFAULT_TIMEOUT_MS", 6e4);
|
|
359
|
-
int("PARALLEL_DEFAULT_MAX_RETRIES", 2);
|
|
360
|
-
int("PARALLEL_RETRY_BACKOFF_BASE_MS", 1e3);
|
|
361
|
-
const CACHE_GLOBAL_MAX_SIZE_BYTES = int("CACHE_GLOBAL_MAX_SIZE_BYTES", 500 * 1024 * 1024);
|
|
362
|
-
const CACHE_LOW_HIT_RATE_THRESHOLD = float("CACHE_LOW_HIT_RATE_THRESHOLD", .3);
|
|
363
|
-
const TOKEN_BUDGET_MAX_TOKENS = int("TOKEN_BUDGET_MAX_TOKENS", 2e5);
|
|
364
|
-
const DETAILED_DATA_DEFAULT_TTL_MS = int("DETAILED_DATA_DEFAULT_TTL_MS", 1800 * 1e3);
|
|
365
|
-
const DETAILED_DATA_MAX_TTL_MS = int("DETAILED_DATA_MAX_TTL_MS", 3600 * 1e3);
|
|
366
|
-
const DETAILED_DATA_SMART_THRESHOLD_BYTES = int("DETAILED_DATA_SMART_THRESHOLD_BYTES", 50 * 1024);
|
|
367
|
-
int("ADV_DEOBF_LLM_MAX_TOKENS", 3e3);
|
|
368
|
-
int("VM_DEOBF_LLM_MAX_TOKENS", 4e3);
|
|
369
|
-
int("DEOBF_LLM_MAX_TOKENS", 2e3);
|
|
370
|
-
int("CRYPTO_DETECT_LLM_MAX_TOKENS", 2e3);
|
|
371
|
-
const MEMORY_READ_TIMEOUT_MS = int("MEMORY_READ_TIMEOUT_MS", 1e4);
|
|
372
|
-
const MEMORY_MAX_READ_BYTES = int("MEMORY_MAX_READ_BYTES", 16 * 1024 * 1024);
|
|
373
|
-
const MEMORY_WRITE_TIMEOUT_MS = int("MEMORY_WRITE_TIMEOUT_MS", 1e4);
|
|
374
|
-
const MEMORY_MAX_WRITE_BYTES = int("MEMORY_MAX_WRITE_BYTES", 16 * 1024);
|
|
375
|
-
const MEMORY_DUMP_TIMEOUT_MS = int("MEMORY_DUMP_TIMEOUT_MS", 6e4);
|
|
376
|
-
const MEMORY_SCAN_TIMEOUT_MS = int("MEMORY_SCAN_TIMEOUT_MS", 12e4);
|
|
377
|
-
const MEMORY_SCAN_MAX_BUFFER_BYTES = int("MEMORY_SCAN_MAX_BUFFER_BYTES", 1024 * 1024 * 50);
|
|
378
|
-
const MEMORY_SCAN_MAX_RESULTS = int("MEMORY_SCAN_MAX_RESULTS", 1e4);
|
|
379
|
-
int("MEMORY_SCAN_MAX_REGIONS", 5e4);
|
|
380
|
-
int("MEMORY_SCAN_REGION_MAX_BYTES", 16777216);
|
|
381
|
-
const MEMORY_INJECT_TIMEOUT_MS = int("MEMORY_INJECT_TIMEOUT_MS", 3e4);
|
|
382
|
-
const ENABLE_INJECTION_TOOLS = bool("ENABLE_INJECTION_TOOLS", true);
|
|
383
|
-
int("MEMORY_MONITOR_INTERVAL_MS", 1e3);
|
|
384
|
-
const MEMORY_VMMAP_TIMEOUT_MS = int("MEMORY_VMMAP_TIMEOUT_MS", 15e3);
|
|
385
|
-
const MEMORY_PROTECTION_QUERY_TIMEOUT_MS = int("MEMORY_PROTECTION_QUERY_TIMEOUT_MS", 15e3);
|
|
386
|
-
const MEMORY_PROTECTION_PWSH_TIMEOUT_MS = int("MEMORY_PROTECTION_PWSH_TIMEOUT_MS", 3e4);
|
|
387
|
-
const NATIVE_ADMIN_CHECK_TIMEOUT_MS = int("NATIVE_ADMIN_CHECK_TIMEOUT_MS", 5e3);
|
|
388
|
-
int("NATIVE_SCAN_MAX_RESULTS", 1e4);
|
|
389
|
-
/** Launch wait after spawning a debug process (Linux/Mac). */
|
|
390
|
-
const PROCESS_LAUNCH_WAIT_MS = int("PROCESS_LAUNCH_WAIT_MS", 2e3);
|
|
391
|
-
/** Poll attempts when waiting for a debug port (Windows). */
|
|
392
|
-
const WIN_DEBUG_PORT_POLL_ATTEMPTS = int("WIN_DEBUG_PORT_POLL_ATTEMPTS", 20);
|
|
393
|
-
const WIN_DEBUG_PORT_POLL_INTERVAL_MS = int("WIN_DEBUG_PORT_POLL_INTERVAL_MS", 500);
|
|
394
|
-
int("PACKER_SANDBOX_TIMEOUT_MS", 3e3);
|
|
395
|
-
/** Minimum size to consider a run of 0x00/0xCC as a code cave. */
|
|
396
|
-
const CODE_CAVE_MIN_SIZE = int("CODE_CAVE_MIN_SIZE", 16);
|
|
397
|
-
/** Timeout waiting for a hardware breakpoint hit (ms). */
|
|
398
|
-
const BREAKPOINT_HIT_TIMEOUT_MS = int("BREAKPOINT_HIT_TIMEOUT_MS", 1e4);
|
|
399
|
-
/** Max hits collected during a breakpoint trace. */
|
|
400
|
-
const BREAKPOINT_TRACE_MAX_HITS = int("BREAKPOINT_TRACE_MAX_HITS", 100);
|
|
401
|
-
/** Max heap blocks enumerated per heap via Toolhelp32. */
|
|
402
|
-
const HEAP_ENUMERATE_MAX_BLOCKS = int("HEAP_ENUMERATE_MAX_BLOCKS", 1e4);
|
|
403
|
-
/** Block count threshold that signals a heap spray pattern. */
|
|
404
|
-
const HEAP_SPRAY_THRESHOLD = int("HEAP_SPRAY_THRESHOLD", 50);
|
|
405
|
-
/** Size rounding tolerance (bytes) when grouping blocks for spray detection. */
|
|
406
|
-
const HEAP_SPRAY_SIZE_TOLERANCE = int("HEAP_SPRAY_SIZE_TOLERANCE", 64);
|
|
407
|
-
/** Block sizes above this (bytes) are flagged as suspicious. */
|
|
408
|
-
const HEAP_SUSPICIOUS_BLOCK_SIZE = int("HEAP_SUSPICIOUS_BLOCK_SIZE", 10485760);
|
|
409
|
-
/** Default interval (ms) for memory freeze writes. */
|
|
410
|
-
const FREEZE_DEFAULT_INTERVAL_MS = int("FREEZE_DEFAULT_INTERVAL_MS", 100);
|
|
411
|
-
/** Max entries kept in the write-value undo history. */
|
|
412
|
-
const WRITE_HISTORY_MAX = int("WRITE_HISTORY_MAX", 200);
|
|
413
|
-
/** Max address matches stored per first-scan / group-scan. */
|
|
414
|
-
const SCAN_MAX_RESULTS_PER_SCAN = int("SCAN_MAX_RESULTS_PER_SCAN", 1e5);
|
|
415
|
-
/** Max addresses returned in a tool response (display limit). */
|
|
416
|
-
const SCAN_DISPLAY_RESULTS_LIMIT = int("SCAN_DISPLAY_RESULTS_LIMIT", 200);
|
|
417
|
-
/** Max addresses captured during an unknown-initial-value scan. */
|
|
418
|
-
const SCAN_UNKNOWN_INITIAL_MAX_ADDRESSES = int("SCAN_UNKNOWN_INITIAL_MAX_ADDRESSES", 5e5);
|
|
419
|
-
/** Max pointers returned by a pointer scan. */
|
|
420
|
-
const SCAN_POINTER_MAX_RESULTS = int("SCAN_POINTER_MAX_RESULTS", 5e3);
|
|
421
|
-
/** Max composite pattern size (bytes) for a group scan. */
|
|
422
|
-
const SCAN_GROUP_MAX_PATTERN_SIZE = int("SCAN_GROUP_MAX_PATTERN_SIZE", 256);
|
|
423
|
-
/** Max concurrent scan sessions. */
|
|
424
|
-
const SCAN_SESSION_MAX_COUNT = int("SCAN_SESSION_MAX_COUNT", 20);
|
|
425
|
-
/** Scan session inactivity TTL (ms). Default: 30 min. */
|
|
426
|
-
const SCAN_SESSION_TTL_MS = int("SCAN_SESSION_TTL_MS", 18e5);
|
|
427
|
-
/** Max BFS depth for multi-level pointer chain scanning. */
|
|
428
|
-
const POINTER_CHAIN_MAX_DEPTH = int("POINTER_CHAIN_MAX_DEPTH", 6);
|
|
429
|
-
/** Max offset (bytes) between pointer value and target to consider a match. */
|
|
430
|
-
const POINTER_CHAIN_MAX_OFFSET = int("POINTER_CHAIN_MAX_OFFSET", 4096);
|
|
431
|
-
/** Max chains returned by a pointer chain scan. */
|
|
432
|
-
const POINTER_CHAIN_MAX_RESULTS = int("POINTER_CHAIN_MAX_RESULTS", 500);
|
|
433
|
-
/** Chunk size (bytes) for reading memory during pointer chain scans. */
|
|
434
|
-
const POINTER_CHAIN_SCAN_CHUNK_SIZE = int("POINTER_CHAIN_SCAN_CHUNK_SIZE", 16777216);
|
|
435
|
-
/** Default byte range analyzed by the structure analyzer. */
|
|
436
|
-
const STRUCT_ANALYZE_DEFAULT_SIZE = int("STRUCT_ANALYZE_DEFAULT_SIZE", 256);
|
|
437
|
-
/** Max virtual functions enumerated per vtable. */
|
|
438
|
-
const STRUCT_VTABLE_MAX_FUNCTIONS = int("STRUCT_VTABLE_MAX_FUNCTIONS", 64);
|
|
439
|
-
/** Max RTTI/mangled name string length to read. */
|
|
440
|
-
const STRUCT_RTTI_MAX_STRING_LEN = int("STRUCT_RTTI_MAX_STRING_LEN", 256);
|
|
441
|
-
int("STRUCT_CSTRING_MAX_LEN", 256);
|
|
442
|
-
/** Timeout for a single Frida CLI invocation (spawn/attach/detach helpers). */
|
|
443
|
-
const FRIDA_TIMEOUT_MS = int("FRIDA_TIMEOUT_MS", 15e3);
|
|
444
|
-
/** Timeout for a Ghidra headless analyzer run (analyzeHeadless subprocess). */
|
|
445
|
-
const GHIDRA_TIMEOUT_MS = int("GHIDRA_TIMEOUT_MS", 12e4);
|
|
446
|
-
/**
|
|
447
|
-
* Timeout for a Unidbg subprocess invocation (spawn / call / trace).
|
|
448
|
-
* The handler layer used to duplicate this with a tighter 30s ceiling which
|
|
449
|
-
* caused premature failure when a module worked 31-59s. Unified here.
|
|
450
|
-
*/
|
|
451
|
-
const UNIDBG_TIMEOUT_MS = int("UNIDBG_TIMEOUT_MS", 6e4);
|
|
452
|
-
/** Default timeout for a generic `adb` CLI call. */
|
|
453
|
-
const ADB_DEFAULT_TIMEOUT_MS = int("ADB_DEFAULT_TIMEOUT_MS", 3e4);
|
|
454
|
-
/** Timeout for `adb shell` commands (may run longer than generic adb calls). */
|
|
455
|
-
const ADB_SHELL_TIMEOUT_MS = int("ADB_SHELL_TIMEOUT_MS", 6e4);
|
|
456
|
-
/** Timeout for an HTTP GET against an on-device WebView debugger endpoint. */
|
|
457
|
-
const ADB_WEBVIEW_HTTP_TIMEOUT_MS = int("ADB_WEBVIEW_HTTP_TIMEOUT_MS", 5e3);
|
|
458
|
-
/** Timeout for establishing a WebSocket to an on-device WebView. */
|
|
459
|
-
const ADB_WEBVIEW_WS_TIMEOUT_MS = int("ADB_WEBVIEW_WS_TIMEOUT_MS", 1e4);
|
|
460
|
-
/** Timeout for a Mojo-monitor helper subprocess. */
|
|
461
|
-
const MOJO_MONITOR_TIMEOUT_MS = int("MOJO_MONITOR_TIMEOUT_MS", 1e4);
|
|
462
|
-
/** TTL of the "native memory scan available" cache (platform probe). */
|
|
463
|
-
const MEMORY_AVAILABILITY_CACHE_TTL_MS = int("MEMORY_AVAILABILITY_CACHE_TTL_MS", 45e3);
|
|
464
|
-
/** Upper bound on the per-IP rate-limit map before GC kicks in. */
|
|
465
|
-
const HTTP_RATE_LIMIT_MAX_IPS = int("HTTP_RATE_LIMIT_MAX_IPS", 1e4);
|
|
466
|
-
/** Frequency of the HTTP transport's rate-limit + session cleanup sweep. */
|
|
467
|
-
const HTTP_CLEANUP_INTERVAL_MS = int("HTTP_CLEANUP_INTERVAL_MS", 5 * 6e4);
|
|
468
|
-
int("SSE_HEARTBEAT_MS", 3e4);
|
|
469
|
-
/**
|
|
470
|
-
* When true, strip parameter descriptions from registered tool schemas
|
|
471
|
-
* to reduce the tools/list payload. Full schemas remain available via
|
|
472
|
-
* the describe_tool meta-tool. Default: true for full profile.
|
|
473
|
-
*/
|
|
474
|
-
const MCP_COMPACT_SCHEMA = bool("MCP_COMPACT_SCHEMA", true);
|
|
475
|
-
/** Hard ceiling applied to user-supplied sandbox exec timeouts. */
|
|
476
|
-
const SANDBOX_MAX_TIMEOUT_MS = int("SANDBOX_MAX_TIMEOUT_MS", 3e4);
|
|
477
|
-
int("NATIVE_BRIDGE_TIMEOUT_MS", 15e3);
|
|
478
|
-
/** Timeout for the sourcemap-extension fetch helper. */
|
|
479
|
-
const SOURCEMAP_EXT_TIMEOUT_MS = int("SOURCEMAP_EXT_TIMEOUT_MS", 15e3);
|
|
480
|
-
/** Timeout for the V8 bytecode extraction subprocess helper. */
|
|
481
|
-
const V8_BYTECODE_SUBPROC_TIMEOUT_MS = int("V8_BYTECODE_SUBPROC_TIMEOUT_MS", 6e4);
|
|
482
|
-
/** Default per-command processing timeout inside the webhook command queue. */
|
|
483
|
-
const WEBHOOK_PROCESS_TIMEOUT_MS = int("WEBHOOK_PROCESS_TIMEOUT_MS", 1e4);
|
|
484
|
-
int("ORCHESTRATOR_STEP_TIMEOUT_MS", 1e4);
|
|
485
|
-
/** Default overall macro timeout (MacroRunner). */
|
|
486
|
-
const MACRO_DEFAULT_TIMEOUT_MS = int("MACRO_DEFAULT_TIMEOUT_MS", 12e4);
|
|
487
|
-
/** Default per-invocation timeout for built-in macro definitions. */
|
|
488
|
-
const MACRO_BUILTIN_TIMEOUT_MS = int("MACRO_BUILTIN_TIMEOUT_MS", 6e4);
|
|
489
|
-
/** Timeout for waiting on an iframe selector during frame resolution. */
|
|
490
|
-
const PAGE_FRAME_SELECTOR_TIMEOUT_MS = int("PAGE_FRAME_SELECTOR_TIMEOUT_MS", 1e4);
|
|
491
|
-
/** Timeout for waitForNetworkIdle in PageController. */
|
|
492
|
-
const PAGE_NETWORK_IDLE_TIMEOUT_MS = int("PAGE_NETWORK_IDLE_TIMEOUT_MS", 3e4);
|
|
493
|
-
/** Default limit for querySelectorAll results in DOMInspector. */
|
|
494
|
-
const DOM_QUERY_DEFAULT_LIMIT = int("DOM_QUERY_DEFAULT_LIMIT", 50);
|
|
495
|
-
/** Timeout for waitForElement (waitForSelector) in DOMInspector. */
|
|
496
|
-
const DOM_WAIT_ELEMENT_TIMEOUT_MS = int("DOM_WAIT_ELEMENT_TIMEOUT_MS", 3e4);
|
|
497
|
-
int("BROWSER_POOL_IDLE_TIMEOUT_MS", 3e5);
|
|
498
|
-
int("BROWSER_POOL_MAX_TABS", 10);
|
|
499
|
-
/** Default timeout for a single ICMP ping probe. */
|
|
500
|
-
const ICMP_PROBE_TIMEOUT_MS = int("ICMP_PROBE_TIMEOUT_MS", 5e3);
|
|
501
|
-
/** Default max hops for traceroute. */
|
|
502
|
-
const ICMP_TRACEROUTE_MAX_HOPS = int("ICMP_TRACEROUTE_MAX_HOPS", 30);
|
|
503
|
-
/** Default ICMP packet payload size in bytes. */
|
|
504
|
-
const ICMP_DEFAULT_PACKET_SIZE = int("ICMP_DEFAULT_PACKET_SIZE", 32);
|
|
505
|
-
int("ADB_VERSION_CHECK_TIMEOUT_MS", 5e3);
|
|
506
|
-
/** Timeout for page.goto when restoring a page snapshot. */
|
|
507
|
-
const COORDINATION_GOTO_TIMEOUT_MS = int("COORDINATION_GOTO_TIMEOUT_MS", 3e4);
|
|
508
|
-
/** Capacity of the ring-buffer audit trail for memory operations. */
|
|
509
|
-
const MEMORY_AUDIT_TRAIL_CAPACITY = int("MEMORY_AUDIT_TRAIL_CAPACITY", 5e3);
|
|
510
|
-
/** Timeout for process stop/continue signals during memory scan. */
|
|
511
|
-
const MEMORY_PROCESS_SIGNAL_TIMEOUT_MS = int("MEMORY_PROCESS_SIGNAL_TIMEOUT_MS", 2e3);
|
|
512
|
-
/** Timeout for shell probes during memory availability detection. */
|
|
513
|
-
const MEMORY_PROBE_CMD_TIMEOUT_MS = int("MEMORY_PROBE_CMD_TIMEOUT_MS", 5e3);
|
|
514
|
-
/** Timeout for vmmap and similar region enumeration subprocesses. */
|
|
515
|
-
const MEMORY_VMMAP_ENUM_TIMEOUT_MS = int("MEMORY_VMMAP_ENUM_TIMEOUT_MS", 15e3);
|
|
516
|
-
/** Timeout for PowerShell-based module listing subprocesses. */
|
|
517
|
-
const MEMORY_MODULES_TIMEOUT_MS = int("MEMORY_MODULES_TIMEOUT_MS", 3e4);
|
|
518
|
-
//#endregion
|
|
519
|
-
export { GHIDRA_TIMEOUT_MS as $, SEARCH_WORKFLOW_DOMAIN_BOOST_MULTIPLIER as $n, PREDICTIVE_DECAY_FACTOR as $t, COMPOUND_EVENT_WINDOW_MS as A, SEARCH_PREFIX_MATCH_MULTIPLIER as An, WS_PAYLOAD_SAMPLE_LIMIT as Ar, MEMORY_MODULES_TIMEOUT_MS as At, DOM_WAIT_ELEMENT_TIMEOUT_MS as B, SEARCH_TIER_PENALTY_FULL as Bn, MEMORY_VMMAP_TIMEOUT_MS as Bt, CAPTCHA_MAX_TIMEOUT_MS as C, SEARCH_BM25_K1 as Cn, WORKFLOW_BUNDLE_CACHE_MAX_BYTES as Cr, MCP_HTTP_REQUEST_TIMEOUT_MS as Ct, CAPTCHA_SOLVER_BASE_URL as D, SEARCH_DOMAIN_HUB_THRESHOLD as Dn, WORKFLOW_JS_BUNDLE_MAX_SIZE_BYTES as Dr, MEMORY_INJECT_TIMEOUT_MS as Dt, CAPTCHA_RESULT_TIMEOUT_MS as E, SEARCH_DOMAIN_HUB_BOOST_MULTIPLIER as En, WORKFLOW_JS_BUNDLE_MAX_REDIRECTS as Er, MEMORY_DUMP_TIMEOUT_MS as Et, DEFAULT_DEBUG_PORT as F, SEARCH_RRF_BM25_BLEND as Fn, MEMORY_READ_TIMEOUT_MS as Ft, EXTERNAL_TOOL_MAX_STDERR_BYTES as G, SEARCH_VECTOR_BM25_SKIP_THRESHOLD as Gn, NETWORK_REPLAY_MAX_REDIRECTS as Gt, EXTENSION_GIT_CHECKOUT_TIMEOUT_MS as H, SEARCH_TIER_PENALTY_WORKFLOW as Hn, MOJO_MONITOR_TIMEOUT_MS as Ht, DETAILED_DATA_DEFAULT_TTL_MS as I, SEARCH_RRF_K as In, MEMORY_SCAN_MAX_BUFFER_BYTES as It, EXTERNAL_TOOL_PROBE_TIMEOUT_MS as J, SEARCH_VECTOR_ENABLED as Jn, POINTER_CHAIN_MAX_DEPTH as Jt, EXTERNAL_TOOL_MAX_STDOUT_BYTES as K, SEARCH_VECTOR_COSINE_WEIGHT as Kn, PAGE_FRAME_SELECTOR_TIMEOUT_MS as Kt, DETAILED_DATA_MAX_TTL_MS as L, SEARCH_RRF_RESCALE_FACTOR as Ln, MEMORY_SCAN_MAX_RESULTS as Lt, COORDINATION_GOTO_TIMEOUT_MS as M, SEARCH_RECENCY_MAX_BOOST as Mn, MEMORY_PROCESS_SIGNAL_TIMEOUT_MS as Mt, DEBUGGER_WAIT_FOR_PAUSED_TIMEOUT_MS as N, SEARCH_RECENCY_TRACKER_MAX as Nn, MEMORY_PROTECTION_PWSH_TIMEOUT_MS as Nt, CAPTCHA_SUBMIT_TIMEOUT_MS as O, SEARCH_EXACT_NAME_MATCH_MULTIPLIER as On, WRITE_HISTORY_MAX as Or, MEMORY_MAX_READ_BYTES as Ot, DEBUG_PORT_CANDIDATES as P, SEARCH_RECENCY_WINDOW_MS as Pn, MEMORY_PROTECTION_QUERY_TIMEOUT_MS as Pt, GHIDRA_BRIDGE_ENDPOINT as Q, SEARCH_VECTOR_MODEL_ID as Qn, PREDICTIVE_CONFIDENCE_THRESHOLD as Qt, DETAILED_DATA_SMART_THRESHOLD_BYTES as R, SEARCH_SYNONYM_EXPANSION_LIMIT as Rn, MEMORY_SCAN_TIMEOUT_MS as Rt, CAPTCHA_MAX_RETRIES as S, SEARCH_BM25_B as Sn, WORKER_POOL_MIN_WORKERS as Sr, MCP_HTTP_KEEPALIVE_TIMEOUT_MS as St, CAPTCHA_POLL_INTERVAL_MS as T, SEARCH_COVERAGE_PRECISION_FACTOR as Tn, WORKFLOW_JS_BUNDLE_FETCH_TIMEOUT_MS as Tr, MEMORY_AVAILABILITY_CACHE_TTL_MS as Tt, EXTENSION_GIT_CLONE_TIMEOUT_MS as U, SEARCH_TRIGRAM_THRESHOLD as Un, NATIVE_ADMIN_CHECK_TIMEOUT_MS as Ut, ENABLE_INJECTION_TOOLS as V, SEARCH_TIER_PENALTY_SEARCH as Vn, MEMORY_WRITE_TIMEOUT_MS as Vt, EXTERNAL_TOOL_FORCE_KILL_GRACE_MS as W, SEARCH_TRIGRAM_WEIGHT as Wn, NETWORK_HAR_BODY_CONCURRENCY as Wt, FREEZE_DEFAULT_INTERVAL_MS as X, SEARCH_VECTOR_LEARN_TOP_N as Xn, POINTER_CHAIN_MAX_RESULTS as Xt, EXTERNAL_TOOL_TIMEOUT_MS as Y, SEARCH_VECTOR_LEARN_DOWN as Yn, POINTER_CHAIN_MAX_OFFSET as Yt, FRIDA_TIMEOUT_MS as Z, SEARCH_VECTOR_LEARN_UP as Zn, POINTER_CHAIN_SCAN_CHUNK_SIZE as Zt, BREAKPOINT_TRACE_MAX_HITS as _, SCAN_UNKNOWN_INITIAL_MAX_ADDRESSES as _n, WIN_DEBUG_PORT_POLL_ATTEMPTS as _r, MACRO_BUILTIN_TIMEOUT_MS as _t, ACTIVATION_TTL_MINUTES as a, RUNTIME_ERROR_WINDOW_MS as an, TOKEN_BUDGET_MAX_TOKENS as ar, HEAP_ENUMERATE_MAX_BLOCKS as at, CAPTCHA_DEFAULT_RETRIES as b, SEARCH_AFFINITY_BOOST_FACTOR as bn, WORKER_POOL_JOB_TIMEOUT_MS as br, MCP_HTTP_FORCE_CLOSE_TIMEOUT_MS as bt, ADB_WEBVIEW_HTTP_TIMEOUT_MS as c, SANDBOX_MEMORY_LIMIT_MB as cn, TRANSFORM_CRYPTO_POOL_MAX_WORKERS as cr, HEAP_SUSPICIOUS_BLOCK_SIZE as ct, ANALYSIS_MAX_SAFE_RESPONSE_BYTES as d, SCAN_DISPLAY_RESULTS_LIMIT as dn, UNIDBG_TIMEOUT_MS as dr, ICMP_DEFAULT_PACKET_SIZE as dt, PREDICTIVE_MAX_HISTORY as en, SHUTDOWN_TIMEOUT_MS as er, GRAPHQL_MAX_GRAPH_EDGES as et, ANALYSIS_MAX_SUMMARY_FILES as f, SCAN_GROUP_MAX_PATTERN_SIZE as fn, V8_BYTECODE_SUBPROC_TIMEOUT_MS as fr, ICMP_PROBE_TIMEOUT_MS as ft, BREAKPOINT_HIT_TIMEOUT_MS as g, SCAN_SESSION_TTL_MS as gn, WEBHOOK_PROCESS_TIMEOUT_MS as gr, JSVMP_MAX_ITERATIONS as gt, AUTOPRUNE_MANUAL_INACTIVITY_MS as h, SCAN_SESSION_MAX_COUNT as hn, WATCH_EVAL_TIMEOUT_MS as hr, JSVMP_DEOBFUSCATE_TIMEOUT_MS as ht, ACTIVATION_EVENT_HISTORY_MAX as i, RUNTIME_ERROR_THRESHOLD as in, STRUCT_VTABLE_MAX_FUNCTIONS as ir, GRAPHQL_MAX_SCHEMA_CHARS as it, COMPOUND_LONG_WINDOW_MS as j, SEARCH_QUERY_CACHE_CAPACITY as jn, MEMORY_PROBE_CMD_TIMEOUT_MS as jt, CODE_CAVE_MIN_SIZE as k, SEARCH_PARAM_TOKEN_WEIGHT as kn, WS_PAYLOAD_PREVIEW_LIMIT as kr, MEMORY_MAX_WRITE_BYTES as kt, ADB_WEBVIEW_WS_TIMEOUT_MS as l, SANDBOX_STACK_SIZE_MB as ln, TRANSFORM_CRYPTO_POOL_MAX_YOUNG_GEN_MB as lr, HTTP_CLEANUP_INTERVAL_MS as lt, AUTOPRUNE_CHECK_INTERVAL_MS as m, SCAN_POINTER_MAX_RESULTS as mn, WASM_TOOL_TIMEOUT_MS as mr, IDA_BRIDGE_ENDPOINT as mt, ACTIVATION_COMPOUND_EVAL_EVERY as n, PROCESS_LAUNCH_WAIT_MS as nn, STRUCT_ANALYZE_DEFAULT_SIZE as nr, GRAPHQL_MAX_PREVIEW_CHARS as nt, ADB_DEFAULT_TIMEOUT_MS as o, SANDBOX_EXEC_TIMEOUT_MS as on, TRANSFORM_CRYPTO_POOL_IDLE_TIMEOUT_MS as or, HEAP_SPRAY_SIZE_TOLERANCE as ot, AUTOPRUNE_AUTO_INACTIVITY_MS as p, SCAN_MAX_RESULTS_PER_SCAN as pn, WASM_OPTIMIZE_TIMEOUT_MS as pr, ICMP_TRACEROUTE_MAX_HOPS as pt, EXTERNAL_TOOL_PROBE_CACHE_TTL_MS as q, SEARCH_VECTOR_DYNAMIC_WEIGHT as qn, PAGE_NETWORK_IDLE_TIMEOUT_MS as qt, ACTIVATION_COOLDOWN_MS as r, PROCESS_LIST_MAX_BUFFER_BYTES as rn, STRUCT_RTTI_MAX_STRING_LEN as rr, GRAPHQL_MAX_QUERY_CHARS as rt, ADB_SHELL_TIMEOUT_MS as s, SANDBOX_MAX_TIMEOUT_MS as sn, TRANSFORM_CRYPTO_POOL_MAX_OLD_GEN_MB as sr, HEAP_SPRAY_THRESHOLD as st, ACTIVATION_BOOST_WINDOW_MS as t, PREDICTIVE_MAX_SECOND_ORDER_KEYS as tn, SOURCEMAP_EXT_TIMEOUT_MS as tr, GRAPHQL_MAX_GRAPH_NODES as tt, ANALYSIS_MAX_SAFE_COLLECTED_BYTES as u, SANDBOX_TERMINATE_GRACE_MS as un, TRANSFORM_WORKER_TIMEOUT_MS as ur, HTTP_RATE_LIMIT_MAX_IPS as ut, CACHE_GLOBAL_MAX_SIZE_BYTES as v, SCRIPTS_MAX_CAP as vn, WIN_DEBUG_PORT_POLL_INTERVAL_MS as vr, MACRO_DEFAULT_TIMEOUT_MS as vt, CAPTCHA_MIN_TIMEOUT_MS as w, SEARCH_CACHE_VECTOR_WEIGHT_TOLERANCE as wn, WORKFLOW_BUNDLE_CACHE_TTL_MS as wr, MEMORY_AUDIT_TRAIL_CAPACITY as wt, CAPTCHA_DEFAULT_TIMEOUT_MS as x, SEARCH_AFFINITY_TOP_N as xn, WORKER_POOL_MAX_WORKERS as xr, MCP_HTTP_HEADERS_TIMEOUT_MS as xt, CACHE_LOW_HIT_RATE_THRESHOLD as y, SEARCH_AFFINITY_BASE_WEIGHT as yn, WORKER_POOL_IDLE_TIMEOUT_MS as yr, MCP_COMPACT_SCHEMA as yt, DOM_QUERY_DEFAULT_LIMIT as z, SEARCH_TIER_PENALTY as zn, MEMORY_VMMAP_ENUM_TIMEOUT_MS as zt };
|