@jshookmcp/jshook 0.3.0 → 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-CTbB4Lcx.mjs → HookGeneratorBuilders.core.generators.storage-Bf1fbrNK.mjs} +66 -101
- 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-BRKeyt27.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-Dz9PYsCa.mjs → handlers-pVNpaw4A.mjs} +118 -904
- package/dist/handlers.impl-CD2_kOcC.mjs +1 -0
- package/dist/hooks-DDKppogd.mjs +600 -0
- package/dist/index.mjs +12 -5235
- 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 +50 -78
- package/dist/AntiCheatDetector-CqGDXmfc.mjs +0 -350
- package/dist/CacheAdapters-jJFy20G-.mjs +0 -80
- package/dist/CodeInjector-BdjRfNx7.mjs +0 -150
- package/dist/ConsoleMonitor-DykL3IAw.mjs +0 -2269
- package/dist/DarwinAPI-ETyy0xyo.mjs +0 -363
- package/dist/DetailedDataManager-HT49OrvF.mjs +0 -217
- package/dist/EventBus-DFKvADm3.mjs +0 -141
- package/dist/EvidenceGraphBridge-318Oi0Lf.mjs +0 -153
- package/dist/ExtensionManager-BDMsY2Dz.mjs +0 -721
- package/dist/FingerprintManager-BN4UQWnX.mjs +0 -96
- package/dist/HardwareBreakpoint-Cc2AFq1Y.mjs +0 -239
- package/dist/HeapAnalyzer-DruMgsgj.mjs +0 -284
- package/dist/InstrumentationSession-DLH0vd-z.mjs +0 -244
- package/dist/MemoryController-CMtviNW_.mjs +0 -167
- package/dist/MemoryScanSession-ITgb_NMi.mjs +0 -278
- package/dist/MemoryScanner-CiL7Z3ey.mjs +0 -428
- package/dist/NativeMemoryManager.impl-D9Lkovvn.mjs +0 -485
- package/dist/NativeMemoryManager.utils-BBlAixF5.mjs +0 -165
- package/dist/PEAnalyzer-DMQ44gen.mjs +0 -385
- package/dist/PageController-BPJNqqBN.mjs +0 -431
- package/dist/PointerChainEngine-K7wN8Z-w.mjs +0 -325
- package/dist/PrerequisiteError-TuyZIs6n.mjs +0 -20
- package/dist/ProcessRegistry-zGg12QbE.mjs +0 -74
- package/dist/ResponseBuilder-CJXWmWNw.mjs +0 -143
- package/dist/ReverseEvidenceGraph-C02-gXOh.mjs +0 -269
- package/dist/ScriptManager-ZuWD-0Jg.mjs +0 -3003
- package/dist/Speedhack-D-z0umeT.mjs +0 -156
- package/dist/StealthVerifier-BWmPgQsv.mjs +0 -135
- package/dist/StructureAnalyzer-Cav5AVSL.mjs +0 -429
- package/dist/ToolCatalog-5OJdMiF0.mjs +0 -582
- package/dist/ToolError-jh9whhMd.mjs +0 -15
- package/dist/ToolProbe-DbCFGyrg.mjs +0 -45
- package/dist/ToolRegistry-B9krbTtI.mjs +0 -180
- package/dist/ToolRouter.policy-BGDAGyeH.mjs +0 -344
- package/dist/TraceRecorder-B41Z5XBj.mjs +0 -1286
- package/dist/VersionDetector-K3V4vGsw.mjs +0 -104
- package/dist/Win32API-C2kjj0ze.mjs +0 -346
- package/dist/Win32Debug-CKrGOTpo.mjs +0 -274
- package/dist/WorkflowEngine-DJ6M4opp.mjs +0 -569
- package/dist/analysis-BHeJW2Nb.mjs +0 -1234
- package/dist/artifactRetention-CPXkUJXp.mjs +0 -598
- package/dist/artifacts-DkfosXH3.mjs +0 -59
- package/dist/authorization-schema-DRqyJMSk.mjs +0 -31
- package/dist/betterSqlite3-DLSBZodi.mjs +0 -74
- package/dist/binary-instrument--V3MAhJ4.mjs +0 -971
- package/dist/bind-helpers-ClV34xdn.mjs +0 -42
- package/dist/boringssl-inspector-Bo_LOLaS.mjs +0 -180
- package/dist/browser-Dx3_S2cG.mjs +0 -4369
- package/dist/capabilities-CcHlvWgK.mjs +0 -33
- package/dist/chunk-CjcI7cDX.mjs +0 -15
- package/dist/concurrency-Drev_Vz9.mjs +0 -41
- package/dist/constants-CDZLOoVv.mjs +0 -534
- package/dist/coordination-DgItD9DL.mjs +0 -259
- package/dist/debugger-RS3RSAqs.mjs +0 -1288
- package/dist/definitions-BEoYofW5.mjs +0 -47
- package/dist/definitions-BRaefg3u.mjs +0 -365
- package/dist/definitions-BbkvZkiv.mjs +0 -96
- package/dist/definitions-BtWSHJ3o.mjs +0 -17
- package/dist/definitions-C1gCHO0i.mjs +0 -43
- package/dist/definitions-CDOg_b-l.mjs +0 -138
- package/dist/definitions-CVPD9hzZ.mjs +0 -54
- package/dist/definitions-Cea8Lgl7.mjs +0 -94
- package/dist/definitions-DAgIyjxM.mjs +0 -10
- package/dist/definitions-DJA27nsL.mjs +0 -66
- package/dist/definitions-DKPFU3LW.mjs +0 -25
- package/dist/definitions-DPRpZQ96.mjs +0 -47
- package/dist/definitions-DUE5gmdn.mjs +0 -18
- package/dist/definitions-DYVjOtxa.mjs +0 -26
- package/dist/definitions-DcYLVLCo.mjs +0 -37
- package/dist/definitions-Pp5LI2H4.mjs +0 -27
- package/dist/definitions-j9KdHVNR.mjs +0 -14
- package/dist/definitions-uzkjBwa7.mjs +0 -258
- package/dist/definitions-va-AnLuQ.mjs +0 -28
- package/dist/encoding-DJeqHmpd.mjs +0 -1079
- package/dist/evidence-graph-bridge-DcYizFk2.mjs +0 -136
- package/dist/factory-C90tBff6.mjs +0 -575
- package/dist/flat-target-session-Dgax2Cy3.mjs +0 -29
- package/dist/formatAddress-nnMvEohD.mjs +0 -17
- package/dist/graphql-CoHrhweh.mjs +0 -1197
- package/dist/handlers-4jmR0nMs.mjs +0 -898
- package/dist/handlers-BAHPxcch.mjs +0 -789
- package/dist/handlers-BOs9b907.mjs +0 -2600
- package/dist/handlers-BWXEy6ef.mjs +0 -917
- package/dist/handlers-Bndn6QvE.mjs +0 -111
- package/dist/handlers-BqC4bD4s.mjs +0 -681
- package/dist/handlers-BtYq60bM2.mjs +0 -276
- package/dist/handlers-BzgcB4iv.mjs +0 -799
- package/dist/handlers-CRyRWj2b.mjs +0 -859
- package/dist/handlers-CVv2H1uq.mjs +0 -592
- package/dist/handlers-Dl5a7JS4.mjs +0 -572
- package/dist/handlers-Dx2d7jt7.mjs +0 -2537
- package/dist/handlers-HujRKC3b.mjs +0 -661
- package/dist/handlers.impl-XWXkQfyi.mjs +0 -807
- package/dist/hooks-B1B8NRHL.mjs +0 -898
- package/dist/logger-Dh_xb7_2.mjs +0 -93
- package/dist/maintenance-PRMkLVRW.mjs +0 -835
- package/dist/manifest-67Bok-Si.mjs +0 -58
- package/dist/manifest-6lNTMZAB2.mjs +0 -87
- package/dist/manifest-B2duEHiH.mjs +0 -90
- package/dist/manifest-B6EY9Vm8.mjs +0 -57
- package/dist/manifest-B6nKSbyY.mjs +0 -95
- package/dist/manifest-BL8AQNPF.mjs +0 -106
- package/dist/manifest-BSZvJJmV.mjs +0 -47
- package/dist/manifest-BU7qzUyX.mjs +0 -418
- package/dist/manifest-Bl62e8WK.mjs +0 -49
- package/dist/manifest-Bo5cXjdt.mjs +0 -82
- package/dist/manifest-BpS4gtUK.mjs +0 -1347
- package/dist/manifest-Bv65_e2W.mjs +0 -101
- package/dist/manifest-BytNIF4Z.mjs +0 -117
- package/dist/manifest-C-xtsjS3.mjs +0 -81
- package/dist/manifest-CDYl7OhA.mjs +0 -66
- package/dist/manifest-CRZ3xmkD.mjs +0 -61
- package/dist/manifest-CoW6u4Tp.mjs +0 -132
- package/dist/manifest-Cq5zN_8A.mjs +0 -50
- package/dist/manifest-D7YZM_2e.mjs +0 -194
- package/dist/manifest-DE_VrAeQ.mjs +0 -314
- package/dist/manifest-DGsXSCpT.mjs +0 -39
- package/dist/manifest-DJ2vfEuW.mjs +0 -156
- package/dist/manifest-DPXDYhEu.mjs +0 -80
- package/dist/manifest-Dd4fQb0a.mjs +0 -322
- package/dist/manifest-Deq6opGg.mjs +0 -223
- package/dist/manifest-DfJTafJK.mjs +0 -37
- package/dist/manifest-DgOdgN_j.mjs +0 -50
- package/dist/manifest-DlbMW4v4.mjs +0 -47
- package/dist/manifest-DmVfbH0w.mjs +0 -374
- package/dist/manifest-Dog6Ddjr.mjs +0 -109
- package/dist/manifest-DvgU5FWb.mjs +0 -58
- package/dist/manifest-HsfDBs7j.mjs +0 -50
- package/dist/manifest-I8oQHvCG.mjs +0 -186
- package/dist/manifest-NvH_a-av.mjs +0 -786
- package/dist/manifest-cEJU1v0Z.mjs +0 -129
- package/dist/manifest-wOl5XLB12.mjs +0 -112
- package/dist/modules-tZozf0LQ.mjs +0 -10635
- package/dist/mojo-ipc-DXNEXEqb.mjs +0 -640
- package/dist/network-CPVvwvFg.mjs +0 -3852
- package/dist/outputPaths-um7lCRY3.mjs +0 -1141
- package/dist/parse-args-B4cY5Vx5.mjs +0 -39
- package/dist/platform-CYeFoTWp.mjs +0 -2161
- package/dist/process-BTbgcVc6.mjs +0 -1306
- package/dist/proxy-r8YN6nP1.mjs +0 -192
- package/dist/registry-Bl8ZQW61.mjs +0 -34
- package/dist/response-CWhh2aLo.mjs +0 -34
- package/dist/shared-state-board-BoZnSoj-.mjs +0 -586
- package/dist/sourcemap-BIDHUVXy.mjs +0 -934
- package/dist/ssrf-policy-Dsqd-DTX.mjs +0 -166
- package/dist/streaming-Dal6utPp.mjs +0 -725
- package/dist/tool-builder-BHJp32mV.mjs +0 -186
- package/dist/transform-DRVgGG90.mjs +0 -1011
- package/dist/types-Bx92KJfT.mjs +0 -4
- package/dist/types-DDBWs9UP.mjs +0 -37
- package/dist/wasm-BYx5UOeG.mjs +0 -1044
- package/dist/webcrack-Be0_FccV.mjs +0 -747
- package/dist/workflow-BpuKEtvn.mjs +0 -725
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
//#region src/server/domains/shared/capabilities.ts
|
|
2
|
-
function capabilityEntry(options) {
|
|
3
|
-
return {
|
|
4
|
-
capability: options.capability,
|
|
5
|
-
status: options.status,
|
|
6
|
-
available: options.status === "available",
|
|
7
|
-
...options.reason ? { reason: options.reason } : {},
|
|
8
|
-
...options.fix ? { fix: options.fix } : {},
|
|
9
|
-
...options.details
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
function capabilityReport(tool, capabilities, extra = {}) {
|
|
13
|
-
return {
|
|
14
|
-
success: true,
|
|
15
|
-
tool,
|
|
16
|
-
capabilities: capabilities.map(capabilityEntry),
|
|
17
|
-
...extra
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
function capabilityFailure(tool, capability, reason, fix, extra = {}) {
|
|
21
|
-
return {
|
|
22
|
-
success: false,
|
|
23
|
-
tool,
|
|
24
|
-
capability,
|
|
25
|
-
status: "unavailable",
|
|
26
|
-
available: false,
|
|
27
|
-
reason,
|
|
28
|
-
...fix ? { fix } : {},
|
|
29
|
-
...extra
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
//#endregion
|
|
33
|
-
export { capabilityReport as n, capabilityFailure as t };
|
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,534 +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
|
-
int("SOURCEMAP_EXT_TIMEOUT_MS", 15e3);
|
|
479
|
-
/** Timeout for the V8 bytecode extraction subprocess helper. */
|
|
480
|
-
const V8_BYTECODE_SUBPROC_TIMEOUT_MS = int("V8_BYTECODE_SUBPROC_TIMEOUT_MS", 6e4);
|
|
481
|
-
const SYSCALL_TRACE_DURATION_DEFAULT_SEC = int("SYSCALL_TRACE_DURATION_DEFAULT_SEC", 10);
|
|
482
|
-
const SYSCALL_TRACE_DURATION_MIN_SEC = int("SYSCALL_TRACE_DURATION_MIN_SEC", 1);
|
|
483
|
-
const SYSCALL_TRACE_DURATION_MAX_SEC = int("SYSCALL_TRACE_DURATION_MAX_SEC", 300);
|
|
484
|
-
const SOURCEMAP_V4_RAW_FIELD_MAX_LEN = int("SOURCEMAP_V4_RAW_FIELD_MAX_LEN", 200);
|
|
485
|
-
const SOURCEMAP_V4_RETRY_DELAY_MS = int("SOURCEMAP_V4_RETRY_DELAY_MS", 250);
|
|
486
|
-
const WASM_DEAD_CODE_MIN_MATCHES = int("WASM_DEAD_CODE_MIN_MATCHES", 10);
|
|
487
|
-
const WASM_BITWISE_OPS_THRESHOLD = int("WASM_BITWISE_OPS_THRESHOLD", 20);
|
|
488
|
-
const WASM_VM_DISPATCH_MIN_LOOPS = int("WASM_VM_DISPATCH_MIN_LOOPS", 3);
|
|
489
|
-
const PROTO_TLS_MIN_RECORD_LEN = int("PROTO_TLS_MIN_RECORD_LEN", 4);
|
|
490
|
-
const PROTO_TLS_CONFIDENCE = float("PROTO_TLS_CONFIDENCE", .95);
|
|
491
|
-
const PROTO_WS_CONFIDENCE = float("PROTO_WS_CONFIDENCE", .85);
|
|
492
|
-
const PROTO_HTTP_CONFIDENCE = float("PROTO_HTTP_CONFIDENCE", .95);
|
|
493
|
-
const PROTO_SSH_CONFIDENCE = float("PROTO_SSH_CONFIDENCE", .95);
|
|
494
|
-
const BOT_DETECT_LIMIT_DEFAULT = int("BOT_DETECT_LIMIT_DEFAULT", 50);
|
|
495
|
-
int("BOT_DETECT_LIMIT_MIN", 1);
|
|
496
|
-
int("BOT_DETECT_LIMIT_MAX", 500);
|
|
497
|
-
/** Default per-command processing timeout inside the webhook command queue. */
|
|
498
|
-
const WEBHOOK_PROCESS_TIMEOUT_MS = int("WEBHOOK_PROCESS_TIMEOUT_MS", 1e4);
|
|
499
|
-
int("ORCHESTRATOR_STEP_TIMEOUT_MS", 1e4);
|
|
500
|
-
/** Default overall macro timeout (MacroRunner). */
|
|
501
|
-
const MACRO_DEFAULT_TIMEOUT_MS = int("MACRO_DEFAULT_TIMEOUT_MS", 12e4);
|
|
502
|
-
/** Default per-invocation timeout for built-in macro definitions. */
|
|
503
|
-
const MACRO_BUILTIN_TIMEOUT_MS = int("MACRO_BUILTIN_TIMEOUT_MS", 6e4);
|
|
504
|
-
/** Timeout for waiting on an iframe selector during frame resolution. */
|
|
505
|
-
const PAGE_FRAME_SELECTOR_TIMEOUT_MS = int("PAGE_FRAME_SELECTOR_TIMEOUT_MS", 1e4);
|
|
506
|
-
/** Timeout for waitForNetworkIdle in PageController. */
|
|
507
|
-
const PAGE_NETWORK_IDLE_TIMEOUT_MS = int("PAGE_NETWORK_IDLE_TIMEOUT_MS", 3e4);
|
|
508
|
-
/** Default limit for querySelectorAll results in DOMInspector. */
|
|
509
|
-
const DOM_QUERY_DEFAULT_LIMIT = int("DOM_QUERY_DEFAULT_LIMIT", 50);
|
|
510
|
-
/** Timeout for waitForElement (waitForSelector) in DOMInspector. */
|
|
511
|
-
const DOM_WAIT_ELEMENT_TIMEOUT_MS = int("DOM_WAIT_ELEMENT_TIMEOUT_MS", 3e4);
|
|
512
|
-
int("BROWSER_POOL_IDLE_TIMEOUT_MS", 3e5);
|
|
513
|
-
int("BROWSER_POOL_MAX_TABS", 10);
|
|
514
|
-
/** Default timeout for a single ICMP ping probe. */
|
|
515
|
-
const ICMP_PROBE_TIMEOUT_MS = int("ICMP_PROBE_TIMEOUT_MS", 5e3);
|
|
516
|
-
/** Default max hops for traceroute. */
|
|
517
|
-
const ICMP_TRACEROUTE_MAX_HOPS = int("ICMP_TRACEROUTE_MAX_HOPS", 30);
|
|
518
|
-
/** Default ICMP packet payload size in bytes. */
|
|
519
|
-
const ICMP_DEFAULT_PACKET_SIZE = int("ICMP_DEFAULT_PACKET_SIZE", 32);
|
|
520
|
-
int("ADB_VERSION_CHECK_TIMEOUT_MS", 5e3);
|
|
521
|
-
/** Timeout for page.goto when restoring a page snapshot. */
|
|
522
|
-
const COORDINATION_GOTO_TIMEOUT_MS = int("COORDINATION_GOTO_TIMEOUT_MS", 3e4);
|
|
523
|
-
/** Capacity of the ring-buffer audit trail for memory operations. */
|
|
524
|
-
const MEMORY_AUDIT_TRAIL_CAPACITY = int("MEMORY_AUDIT_TRAIL_CAPACITY", 5e3);
|
|
525
|
-
/** Timeout for process stop/continue signals during memory scan. */
|
|
526
|
-
const MEMORY_PROCESS_SIGNAL_TIMEOUT_MS = int("MEMORY_PROCESS_SIGNAL_TIMEOUT_MS", 2e3);
|
|
527
|
-
/** Timeout for shell probes during memory availability detection. */
|
|
528
|
-
const MEMORY_PROBE_CMD_TIMEOUT_MS = int("MEMORY_PROBE_CMD_TIMEOUT_MS", 5e3);
|
|
529
|
-
/** Timeout for vmmap and similar region enumeration subprocesses. */
|
|
530
|
-
const MEMORY_VMMAP_ENUM_TIMEOUT_MS = int("MEMORY_VMMAP_ENUM_TIMEOUT_MS", 15e3);
|
|
531
|
-
/** Timeout for PowerShell-based module listing subprocesses. */
|
|
532
|
-
const MEMORY_MODULES_TIMEOUT_MS = int("MEMORY_MODULES_TIMEOUT_MS", 3e4);
|
|
533
|
-
//#endregion
|
|
534
|
-
export { GHIDRA_BRIDGE_ENDPOINT as $, SEARCH_VECTOR_DYNAMIC_WEIGHT as $n, PREDICTIVE_CONFIDENCE_THRESHOLD as $t, CODE_CAVE_MIN_SIZE as A, SEARCH_CACHE_VECTOR_WEIGHT_TOLERANCE as An, WIN_DEBUG_PORT_POLL_ATTEMPTS as Ar, MEMORY_MAX_WRITE_BYTES as At, DOM_QUERY_DEFAULT_LIMIT as B, SEARCH_RECENCY_WINDOW_MS as Bn, WORKFLOW_JS_BUNDLE_MAX_SIZE_BYTES as Br, MEMORY_VMMAP_ENUM_TIMEOUT_MS as Bt, CAPTCHA_MAX_RETRIES as C, SCAN_UNKNOWN_INITIAL_MAX_ADDRESSES as Cn, WASM_BITWISE_OPS_THRESHOLD as Cr, MCP_HTTP_KEEPALIVE_TIMEOUT_MS as Ct, CAPTCHA_RESULT_TIMEOUT_MS as D, SEARCH_AFFINITY_TOP_N as Dn, WASM_VM_DISPATCH_MIN_LOOPS as Dr, MEMORY_DUMP_TIMEOUT_MS as Dt, CAPTCHA_POLL_INTERVAL_MS as E, SEARCH_AFFINITY_BOOST_FACTOR as En, WASM_TOOL_TIMEOUT_MS as Er, MEMORY_AVAILABILITY_CACHE_TTL_MS as Et, DEBUG_PORT_CANDIDATES as F, SEARCH_PARAM_TOKEN_WEIGHT as Fn, WORKER_POOL_MIN_WORKERS as Fr, MEMORY_PROTECTION_QUERY_TIMEOUT_MS as Ft, EXTERNAL_TOOL_FORCE_KILL_GRACE_MS as G, SEARCH_TIER_PENALTY as Gn, NETWORK_HAR_BODY_CONCURRENCY as Gt, ENABLE_INJECTION_TOOLS as H, SEARCH_RRF_K as Hn, WS_PAYLOAD_PREVIEW_LIMIT as Hr, MEMORY_WRITE_TIMEOUT_MS as Ht, DEFAULT_DEBUG_PORT as I, SEARCH_PREFIX_MATCH_MULTIPLIER as In, WORKFLOW_BUNDLE_CACHE_MAX_BYTES as Ir, MEMORY_READ_TIMEOUT_MS as It, EXTERNAL_TOOL_PROBE_CACHE_TTL_MS as J, SEARCH_TIER_PENALTY_WORKFLOW as Jn, PAGE_NETWORK_IDLE_TIMEOUT_MS as Jt, EXTERNAL_TOOL_MAX_STDERR_BYTES as K, SEARCH_TIER_PENALTY_FULL as Kn, NETWORK_REPLAY_MAX_REDIRECTS as Kt, DETAILED_DATA_DEFAULT_TTL_MS as L, SEARCH_QUERY_CACHE_CAPACITY as Ln, WORKFLOW_BUNDLE_CACHE_TTL_MS as Lr, MEMORY_SCAN_MAX_BUFFER_BYTES as Lt, COMPOUND_LONG_WINDOW_MS as M, SEARCH_DOMAIN_HUB_BOOST_MULTIPLIER as Mn, WORKER_POOL_IDLE_TIMEOUT_MS as Mr, MEMORY_PROBE_CMD_TIMEOUT_MS as Mt, COORDINATION_GOTO_TIMEOUT_MS as N, SEARCH_DOMAIN_HUB_THRESHOLD as Nn, WORKER_POOL_JOB_TIMEOUT_MS as Nr, MEMORY_PROCESS_SIGNAL_TIMEOUT_MS as Nt, CAPTCHA_SOLVER_BASE_URL as O, SEARCH_BM25_B as On, WATCH_EVAL_TIMEOUT_MS as Or, MEMORY_INJECT_TIMEOUT_MS as Ot, DEBUGGER_WAIT_FOR_PAUSED_TIMEOUT_MS as P, SEARCH_EXACT_NAME_MATCH_MULTIPLIER as Pn, WORKER_POOL_MAX_WORKERS as Pr, MEMORY_PROTECTION_PWSH_TIMEOUT_MS as Pt, FRIDA_TIMEOUT_MS as Q, SEARCH_VECTOR_COSINE_WEIGHT as Qn, POINTER_CHAIN_SCAN_CHUNK_SIZE as Qt, DETAILED_DATA_MAX_TTL_MS as R, SEARCH_RECENCY_MAX_BOOST as Rn, WORKFLOW_JS_BUNDLE_FETCH_TIMEOUT_MS as Rr, MEMORY_SCAN_MAX_RESULTS as Rt, CAPTCHA_DEFAULT_TIMEOUT_MS as S, SCAN_SESSION_TTL_MS as Sn, V8_BYTECODE_SUBPROC_TIMEOUT_MS as Sr, MCP_HTTP_HEADERS_TIMEOUT_MS as St, CAPTCHA_MIN_TIMEOUT_MS as T, SEARCH_AFFINITY_BASE_WEIGHT as Tn, WASM_OPTIMIZE_TIMEOUT_MS as Tr, MEMORY_AUDIT_TRAIL_CAPACITY as Tt, EXTENSION_GIT_CHECKOUT_TIMEOUT_MS as U, SEARCH_RRF_RESCALE_FACTOR as Un, WS_PAYLOAD_SAMPLE_LIMIT as Ur, MOJO_MONITOR_TIMEOUT_MS as Ut, DOM_WAIT_ELEMENT_TIMEOUT_MS as V, SEARCH_RRF_BM25_BLEND as Vn, WRITE_HISTORY_MAX as Vr, MEMORY_VMMAP_TIMEOUT_MS as Vt, EXTENSION_GIT_CLONE_TIMEOUT_MS as W, SEARCH_SYNONYM_EXPANSION_LIMIT as Wn, NATIVE_ADMIN_CHECK_TIMEOUT_MS as Wt, EXTERNAL_TOOL_TIMEOUT_MS as X, SEARCH_TRIGRAM_WEIGHT as Xn, POINTER_CHAIN_MAX_OFFSET as Xt, EXTERNAL_TOOL_PROBE_TIMEOUT_MS as Y, SEARCH_TRIGRAM_THRESHOLD as Yn, POINTER_CHAIN_MAX_DEPTH as Yt, FREEZE_DEFAULT_INTERVAL_MS as Z, SEARCH_VECTOR_BM25_SKIP_THRESHOLD as Zn, POINTER_CHAIN_MAX_RESULTS as Zt, BREAKPOINT_HIT_TIMEOUT_MS as _, SCAN_DISPLAY_RESULTS_LIMIT as _n, TRANSFORM_CRYPTO_POOL_MAX_OLD_GEN_MB as _r, JSVMP_MAX_ITERATIONS as _t, ACTIVATION_TTL_MINUTES as a, PROTO_HTTP_CONFIDENCE as an, SEARCH_WORKFLOW_DOMAIN_BOOST_MULTIPLIER as ar, GRAPHQL_MAX_SCHEMA_CHARS as at, CACHE_LOW_HIT_RATE_THRESHOLD as b, SCAN_POINTER_MAX_RESULTS as bn, TRANSFORM_WORKER_TIMEOUT_MS as br, MCP_COMPACT_SCHEMA as bt, ADB_WEBVIEW_HTTP_TIMEOUT_MS as c, PROTO_TLS_MIN_RECORD_LEN as cn, SOURCEMAP_V4_RETRY_DELAY_MS as cr, HEAP_SPRAY_THRESHOLD as ct, ANALYSIS_MAX_SAFE_RESPONSE_BYTES as d, RUNTIME_ERROR_WINDOW_MS as dn, STRUCT_VTABLE_MAX_FUNCTIONS as dr, HTTP_RATE_LIMIT_MAX_IPS as dt, PREDICTIVE_DECAY_FACTOR as en, SEARCH_VECTOR_ENABLED as er, GHIDRA_TIMEOUT_MS as et, ANALYSIS_MAX_SUMMARY_FILES as f, SANDBOX_EXEC_TIMEOUT_MS as fn, SYSCALL_TRACE_DURATION_DEFAULT_SEC as fr, ICMP_DEFAULT_PACKET_SIZE as ft, BOT_DETECT_LIMIT_DEFAULT as g, SANDBOX_TERMINATE_GRACE_MS as gn, TRANSFORM_CRYPTO_POOL_IDLE_TIMEOUT_MS as gr, JSVMP_DEOBFUSCATE_TIMEOUT_MS as gt, AUTOPRUNE_MANUAL_INACTIVITY_MS as h, SANDBOX_STACK_SIZE_MB as hn, TOKEN_BUDGET_MAX_TOKENS as hr, IDA_BRIDGE_ENDPOINT as ht, ACTIVATION_EVENT_HISTORY_MAX as i, PROCESS_LIST_MAX_BUFFER_BYTES as in, SEARCH_VECTOR_MODEL_ID as ir, GRAPHQL_MAX_QUERY_CHARS as it, COMPOUND_EVENT_WINDOW_MS as j, SEARCH_COVERAGE_PRECISION_FACTOR as jn, WIN_DEBUG_PORT_POLL_INTERVAL_MS as jr, MEMORY_MODULES_TIMEOUT_MS as jt, CAPTCHA_SUBMIT_TIMEOUT_MS as k, SEARCH_BM25_K1 as kn, WEBHOOK_PROCESS_TIMEOUT_MS as kr, MEMORY_MAX_READ_BYTES as kt, ADB_WEBVIEW_WS_TIMEOUT_MS as l, PROTO_WS_CONFIDENCE as ln, STRUCT_ANALYZE_DEFAULT_SIZE as lr, HEAP_SUSPICIOUS_BLOCK_SIZE as lt, AUTOPRUNE_CHECK_INTERVAL_MS as m, SANDBOX_MEMORY_LIMIT_MB as mn, SYSCALL_TRACE_DURATION_MIN_SEC as mr, ICMP_TRACEROUTE_MAX_HOPS as mt, ACTIVATION_COMPOUND_EVAL_EVERY as n, PREDICTIVE_MAX_SECOND_ORDER_KEYS as nn, SEARCH_VECTOR_LEARN_TOP_N as nr, GRAPHQL_MAX_GRAPH_NODES as nt, ADB_DEFAULT_TIMEOUT_MS as o, PROTO_SSH_CONFIDENCE as on, SHUTDOWN_TIMEOUT_MS as or, HEAP_ENUMERATE_MAX_BLOCKS as ot, AUTOPRUNE_AUTO_INACTIVITY_MS as p, SANDBOX_MAX_TIMEOUT_MS as pn, SYSCALL_TRACE_DURATION_MAX_SEC as pr, ICMP_PROBE_TIMEOUT_MS as pt, EXTERNAL_TOOL_MAX_STDOUT_BYTES as q, SEARCH_TIER_PENALTY_SEARCH as qn, PAGE_FRAME_SELECTOR_TIMEOUT_MS as qt, ACTIVATION_COOLDOWN_MS as r, PROCESS_LAUNCH_WAIT_MS as rn, SEARCH_VECTOR_LEARN_UP as rr, GRAPHQL_MAX_PREVIEW_CHARS as rt, ADB_SHELL_TIMEOUT_MS as s, PROTO_TLS_CONFIDENCE as sn, SOURCEMAP_V4_RAW_FIELD_MAX_LEN as sr, HEAP_SPRAY_SIZE_TOLERANCE as st, ACTIVATION_BOOST_WINDOW_MS as t, PREDICTIVE_MAX_HISTORY as tn, SEARCH_VECTOR_LEARN_DOWN as tr, GRAPHQL_MAX_GRAPH_EDGES as tt, ANALYSIS_MAX_SAFE_COLLECTED_BYTES as u, RUNTIME_ERROR_THRESHOLD as un, STRUCT_RTTI_MAX_STRING_LEN as ur, HTTP_CLEANUP_INTERVAL_MS as ut, BREAKPOINT_TRACE_MAX_HITS as v, SCAN_GROUP_MAX_PATTERN_SIZE as vn, TRANSFORM_CRYPTO_POOL_MAX_WORKERS as vr, MACRO_BUILTIN_TIMEOUT_MS as vt, CAPTCHA_MAX_TIMEOUT_MS as w, SCRIPTS_MAX_CAP as wn, WASM_DEAD_CODE_MIN_MATCHES as wr, MCP_HTTP_REQUEST_TIMEOUT_MS as wt, CAPTCHA_DEFAULT_RETRIES as x, SCAN_SESSION_MAX_COUNT as xn, UNIDBG_TIMEOUT_MS as xr, MCP_HTTP_FORCE_CLOSE_TIMEOUT_MS as xt, CACHE_GLOBAL_MAX_SIZE_BYTES as y, SCAN_MAX_RESULTS_PER_SCAN as yn, TRANSFORM_CRYPTO_POOL_MAX_YOUNG_GEN_MB as yr, MACRO_DEFAULT_TIMEOUT_MS as yt, DETAILED_DATA_SMART_THRESHOLD_BYTES as z, SEARCH_RECENCY_TRACKER_MAX as zn, WORKFLOW_JS_BUNDLE_MAX_REDIRECTS as zr, MEMORY_SCAN_TIMEOUT_MS as zt };
|