@jshookmcp/jshook 0.2.9 → 0.3.0
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 +2 -2
- package/README.zh.md +2 -2
- package/dist/{AntiCheatDetector-BNk-EoBt.mjs → AntiCheatDetector-CqGDXmfc.mjs} +159 -53
- package/dist/{CodeInjector-Cq8q01kp.mjs → CodeInjector-BdjRfNx7.mjs} +5 -5
- package/dist/{ConsoleMonitor-CPVQW1Y-.mjs → ConsoleMonitor-DykL3IAw.mjs} +85 -17
- package/dist/{DetailedDataManager-BQQcxh64.mjs → DetailedDataManager-HT49OrvF.mjs} +1 -1
- package/dist/{ExtensionManager-CWYgw0YW.mjs → ExtensionManager-BDMsY2Dz.mjs} +15 -8
- package/dist/{HardwareBreakpoint-B9gZCdFP.mjs → HardwareBreakpoint-Cc2AFq1Y.mjs} +3 -3
- package/dist/{HeapAnalyzer-BLDH0dCv.mjs → HeapAnalyzer-DruMgsgj.mjs} +20 -20
- package/dist/{HookGeneratorBuilders.core.generators.storage-CtcdK78Q.mjs → HookGeneratorBuilders.core.generators.storage-CTbB4Lcx.mjs} +1 -74
- package/dist/{InstrumentationSession-CvPC7Jwy.mjs → InstrumentationSession-DLH0vd-z.mjs} +2 -2
- package/dist/{MemoryController-CbVdCIJF.mjs → MemoryController-CMtviNW_.mjs} +3 -3
- package/dist/{MemoryScanSession-BsDZbLYm.mjs → MemoryScanSession-ITgb_NMi.mjs} +2 -2
- package/dist/{MemoryScanner-Bcpml6II.mjs → MemoryScanner-CiL7Z3ey.mjs} +12 -9
- package/dist/{NativeMemoryManager.impl-dZtA1ZGn.mjs → NativeMemoryManager.impl-D9Lkovvn.mjs} +13 -10
- package/dist/{NativeMemoryManager.utils-B-FjA2mJ.mjs → NativeMemoryManager.utils-BBlAixF5.mjs} +1 -1
- package/dist/{PEAnalyzer-D1lzJ_VG.mjs → PEAnalyzer-DMQ44gen.mjs} +15 -15
- package/dist/{PageController-Bqm2kZ_X.mjs → PageController-BPJNqqBN.mjs} +18 -4
- package/dist/{PointerChainEngine-BOhyVsjx.mjs → PointerChainEngine-K7wN8Z-w.mjs} +10 -7
- package/dist/ProcessRegistry-zGg12QbE.mjs +74 -0
- package/dist/{ResponseBuilder-D3iFYx2N.mjs → ResponseBuilder-CJXWmWNw.mjs} +10 -10
- package/dist/{ScriptManager-aHHq0X7U.mjs → ScriptManager-ZuWD-0Jg.mjs} +195 -192
- package/dist/{Speedhack-CqdIFlQl.mjs → Speedhack-D-z0umeT.mjs} +2 -2
- package/dist/{StructureAnalyzer-DhFaPvRO.mjs → StructureAnalyzer-Cav5AVSL.mjs} +9 -6
- package/dist/{ToolCatalog-C0JGZoOm.mjs → ToolCatalog-5OJdMiF0.mjs} +81 -81
- package/dist/{ToolProbe-oC7aPrkv.mjs → ToolProbe-DbCFGyrg.mjs} +1 -1
- package/dist/{ToolRegistry-BjaF4oNz.mjs → ToolRegistry-B9krbTtI.mjs} +51 -2
- package/dist/{ToolRouter.policy-BWV67ZK-.mjs → ToolRouter.policy-BGDAGyeH.mjs} +60 -20
- package/dist/TraceRecorder-B41Z5XBj.mjs +1286 -0
- package/dist/{Win32API-CePkipZY.mjs → Win32API-C2kjj0ze.mjs} +18 -12
- package/dist/{Win32Debug-BvKs-gxc.mjs → Win32Debug-CKrGOTpo.mjs} +2 -2
- package/dist/{WorkflowEngine-CuvkZtWu.mjs → WorkflowEngine-DJ6M4opp.mjs} +226 -255
- package/dist/analysis-BHeJW2Nb.mjs +1234 -0
- package/dist/{antidebug-CqDTB_uk.mjs → antidebug-BRKeyt27.mjs} +3 -3
- package/dist/{artifactRetention-CFEprwPw.mjs → artifactRetention-CPXkUJXp.mjs} +13 -6
- package/dist/{artifacts-Bk2-_uPq.mjs → artifacts-DkfosXH3.mjs} +1 -1
- package/dist/authorization-schema-DRqyJMSk.mjs +31 -0
- package/dist/{binary-instrument-CXfpx6fT.mjs → binary-instrument--V3MAhJ4.mjs} +19 -27
- package/dist/bind-helpers-ClV34xdn.mjs +42 -0
- package/dist/{boringssl-inspector-BH2D3VKc.mjs → boringssl-inspector-Bo_LOLaS.mjs} +1 -1
- package/dist/{browser-BpOr5PEx.mjs → browser-Dx3_S2cG.mjs} +324 -37
- package/dist/capabilities-CcHlvWgK.mjs +33 -0
- package/dist/{constants-B0OANIBL.mjs → constants-CDZLOoVv.mjs} +18 -3
- package/dist/{coordination-qUbyF8KU.mjs → coordination-DgItD9DL.mjs} +2 -2
- package/dist/{debugger-gnKxRSN0.mjs → debugger-RS3RSAqs.mjs} +30 -13
- package/dist/definitions-BEoYofW5.mjs +47 -0
- package/dist/{definitions-bAhHQJq9.mjs → definitions-BRaefg3u.mjs} +11 -5
- package/dist/{definitions-DVGfrn7y.mjs → definitions-BbkvZkiv.mjs} +2 -2
- package/dist/definitions-BtWSHJ3o.mjs +17 -0
- package/dist/{definitions-BMfYXoNC.mjs → definitions-C1gCHO0i.mjs} +1 -1
- package/dist/{definitions-C1UvM5Iy.mjs → definitions-CDOg_b-l.mjs} +14 -2
- package/dist/definitions-CVPD9hzZ.mjs +54 -0
- package/dist/{definitions-Cke7zEb8.mjs → definitions-Cea8Lgl7.mjs} +1 -1
- package/dist/definitions-DAgIyjxM.mjs +10 -0
- package/dist/{definitions-B4rAvHNZ.mjs → definitions-DJA27nsL.mjs} +12 -9
- package/dist/{definitions-ClJLzsJQ.mjs → definitions-DKPFU3LW.mjs} +1 -1
- package/dist/{definitions-D3VsGcvz.mjs → definitions-DPRpZQ96.mjs} +7 -7
- package/dist/{definitions-B18eyf0B.mjs → definitions-DUE5gmdn.mjs} +1 -1
- package/dist/definitions-DYVjOtxa.mjs +26 -0
- package/dist/{definitions-BB_4jnmy.mjs → definitions-DcYLVLCo.mjs} +1 -1
- package/dist/{definitions-Beid2EB3.mjs → definitions-Pp5LI2H4.mjs} +1 -1
- package/dist/definitions-j9KdHVNR.mjs +14 -0
- package/dist/definitions-uzkjBwa7.mjs +258 -0
- package/dist/{definitions-Cq-zroAU.mjs → definitions-va-AnLuQ.mjs} +4 -4
- package/dist/{encoding-Bvz5jLRv.mjs → encoding-DJeqHmpd.mjs} +18 -4
- package/dist/{evidence-graph-bridge-C_fv9PuC.mjs → evidence-graph-bridge-DcYizFk2.mjs} +1 -0
- package/dist/{factory-DxlGh9Xf.mjs → factory-C90tBff6.mjs} +6 -6
- package/dist/flat-target-session-Dgax2Cy3.mjs +29 -0
- package/dist/{graphql-DYWzJ29s.mjs → graphql-CoHrhweh.mjs} +205 -34
- package/dist/{handlers-C67ktuRN.mjs → handlers-4jmR0nMs.mjs} +220 -32
- package/dist/{handlers-DlCJN4Td.mjs → handlers-BAHPxcch.mjs} +122 -90
- package/dist/{handlers-9sAbfIg-.mjs → handlers-BOs9b907.mjs} +849 -801
- package/dist/{handlers-DxGIq15_2.mjs → handlers-BWXEy6ef.mjs} +16 -16
- package/dist/{handlers-tB9Mp9ZK.mjs → handlers-Bndn6QvE.mjs} +31 -4
- package/dist/{handlers-CTsDAO6p.mjs → handlers-BqC4bD4s.mjs} +1 -1
- package/dist/{handlers-C87g8oCe.mjs → handlers-BtYq60bM2.mjs} +1 -1
- package/dist/{handlers-DeLOCd5m.mjs → handlers-BzgcB4iv.mjs} +17 -17
- package/dist/{handlers-Cgyg6c0U.mjs → handlers-CRyRWj2b.mjs} +237 -23
- package/dist/{handlers-U6L4xhuF.mjs → handlers-CVv2H1uq.mjs} +24 -17
- package/dist/{handlers-tiy7EIBp.mjs → handlers-Dl5a7JS4.mjs} +3 -3
- package/dist/{handlers-D6j6yka7.mjs → handlers-Dx2d7jt7.mjs} +1893 -1480
- package/dist/{handlers-Bl8zkwz1.mjs → handlers-Dz9PYsCa.mjs} +95 -6
- package/dist/handlers-HujRKC3b.mjs +661 -0
- package/dist/{handlers.impl-DS0d9fUw.mjs → handlers.impl-XWXkQfyi.mjs} +70 -24
- package/dist/{hooks-CzCWByww.mjs → hooks-B1B8NRHL.mjs} +3 -3
- package/dist/index.mjs +154 -144
- package/dist/{maintenance-P7ePRXQC.mjs → maintenance-PRMkLVRW.mjs} +35 -30
- package/dist/manifest-67Bok-Si.mjs +58 -0
- package/dist/{manifest-B3QVVeBS.mjs → manifest-6lNTMZAB2.mjs} +33 -28
- package/dist/manifest-B2duEHiH.mjs +90 -0
- package/dist/manifest-B6EY9Vm8.mjs +57 -0
- package/dist/{manifest-gZ4s_UtG.mjs → manifest-B6nKSbyY.mjs} +32 -33
- package/dist/{manifest-2ToTpjv8.mjs → manifest-BL8AQNPF.mjs} +31 -31
- package/dist/{manifest-DzwvxPJX.mjs → manifest-BSZvJJmV.mjs} +23 -14
- package/dist/{manifest-Sc_0JQ13.mjs → manifest-BU7qzUyX.mjs} +23 -23
- package/dist/{manifest-CT7zZBV1.mjs → manifest-Bl62e8WK.mjs} +24 -23
- package/dist/manifest-Bo5cXjdt.mjs +82 -0
- package/dist/manifest-BpS4gtUK.mjs +1347 -0
- package/dist/manifest-Bv65_e2W.mjs +101 -0
- package/dist/manifest-BytNIF4Z.mjs +117 -0
- package/dist/{manifest-BqrQ4Tpj.mjs → manifest-C-xtsjS3.mjs} +23 -23
- package/dist/{manifest-NXctwWQq.mjs → manifest-CDYl7OhA.mjs} +36 -38
- package/dist/manifest-CRZ3xmkD.mjs +61 -0
- package/dist/manifest-CoW6u4Tp.mjs +132 -0
- package/dist/manifest-Cq5zN_8A.mjs +50 -0
- package/dist/{manifest-CAhOuvSl.mjs → manifest-D7YZM_2e.mjs} +75 -85
- package/dist/{manifest-DCyjf4n2.mjs → manifest-DE_VrAeQ.mjs} +27 -7
- package/dist/manifest-DGsXSCpT.mjs +39 -0
- package/dist/{manifest-BB2J8IMJ.mjs → manifest-DJ2vfEuW.mjs} +48 -41
- package/dist/{manifest-3g71z6Bg.mjs → manifest-DPXDYhEu.mjs} +26 -25
- package/dist/manifest-Dd4fQb0a.mjs +322 -0
- package/dist/{manifest-CXsRWjjI.mjs → manifest-Deq6opGg.mjs} +95 -96
- package/dist/{manifest-C9RT5nk32.mjs → manifest-DfJTafJK.mjs} +14 -11
- package/dist/manifest-DgOdgN_j.mjs +50 -0
- package/dist/{manifest-BmtZzQiQ2.mjs → manifest-DlbMW4v4.mjs} +17 -15
- package/dist/{manifest-DrbmZcFl2.mjs → manifest-DmVfbH0w.mjs} +212 -91
- package/dist/manifest-Dog6Ddjr.mjs +109 -0
- package/dist/manifest-DvgU5FWb.mjs +58 -0
- package/dist/manifest-HsfDBs7j.mjs +50 -0
- package/dist/manifest-I8oQHvCG.mjs +186 -0
- package/dist/manifest-NvH_a-av.mjs +786 -0
- package/dist/{manifest-Dh8WBmEW.mjs → manifest-cEJU1v0Z.mjs} +24 -24
- package/dist/manifest-wOl5XLB12.mjs +112 -0
- package/dist/{modules-C184v-S9.mjs → modules-tZozf0LQ.mjs} +130 -860
- package/dist/{mojo-ipc-B_H61Afw.mjs → mojo-ipc-DXNEXEqb.mjs} +141 -26
- package/dist/{network-671Cw6hV.mjs → network-CPVvwvFg.mjs} +1329 -823
- package/dist/{outputPaths-B1uGmrWZ.mjs → outputPaths-um7lCRY3.mjs} +4 -8
- package/dist/{platform-WmNn8Sxb.mjs → platform-CYeFoTWp.mjs} +101 -10
- package/dist/{process-QcbIy5Zq.mjs → process-BTbgcVc6.mjs} +251 -346
- package/dist/{proxy-DqNs0bAd.mjs → proxy-r8YN6nP1.mjs} +30 -8
- package/dist/{registry-D-6e18lB.mjs → registry-Bl8ZQW61.mjs} +3 -3
- package/dist/{response-BQVP-xUn.mjs → response-CWhh2aLo.mjs} +7 -1
- package/dist/{shared-state-board-DV-dpHFJ.mjs → shared-state-board-BoZnSoj-.mjs} +2 -2
- package/dist/{sourcemap-Dq8ez8vS.mjs → sourcemap-BIDHUVXy.mjs} +350 -66
- package/dist/{streaming-BUQ0VJsg.mjs → streaming-Dal6utPp.mjs} +13 -13
- package/dist/{tool-builder-DCbIC5Eo.mjs → tool-builder-BHJp32mV.mjs} +1 -1
- package/dist/{transform-CiYJfNX0.mjs → transform-DRVgGG90.mjs} +18 -14
- package/dist/wasm-BYx5UOeG.mjs +1044 -0
- package/dist/webcrack-Be0_FccV.mjs +747 -0
- package/dist/{workflow-f3xJOcjx.mjs → workflow-BpuKEtvn.mjs} +8 -8
- package/package.json +76 -43
- package/dist/TraceRecorder-DgxyVbdQ.mjs +0 -519
- package/dist/analysis-CL9uACt9.mjs +0 -463
- package/dist/bind-helpers-xFfRF-qm.mjs +0 -22
- package/dist/definitions-6M-eejaT.mjs +0 -53
- package/dist/definitions-B3QdlrHv.mjs +0 -34
- 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-Cy3Sl6gV.mjs +0 -34
- package/dist/definitions-LKpC3-nL.mjs +0 -9
- package/dist/handlers-DdFzXLvF.mjs +0 -446
- package/dist/manifest-82baTv4U.mjs +0 -45
- package/dist/manifest-BKbgbSiY.mjs +0 -60
- package/dist/manifest-Bcf-TJzH.mjs +0 -848
- package/dist/manifest-Bnd7kqEY.mjs +0 -55
- package/dist/manifest-BqQX6OQC2.mjs +0 -65
- package/dist/manifest-Br4RPFt5.mjs +0 -370
- package/dist/manifest-C5qDjysN.mjs +0 -107
- package/dist/manifest-CBYWCUBJ.mjs +0 -51
- package/dist/manifest-CFADCRa1.mjs +0 -37
- package/dist/manifest-CQVhavRF.mjs +0 -114
- package/dist/manifest-CV12bcrF.mjs +0 -121
- package/dist/manifest-CZLUCfG02.mjs +0 -95
- package/dist/manifest-D6phHKFd.mjs +0 -131
- package/dist/manifest-DHsnKgP6.mjs +0 -60
- package/dist/manifest-Df_dliIe.mjs +0 -55
- package/dist/manifest-DhKRAT8_.mjs +0 -92
- package/dist/manifest-DlpTj4ic2.mjs +0 -193
- package/dist/manifest-DuwHjUa5.mjs +0 -70
- package/dist/manifest-qSleDqdO.mjs +0 -1023
- package/dist/wasm-DQTnHDs4.mjs +0 -531
- /package/dist/{CacheAdapters-CDe5WPSV.mjs → CacheAdapters-jJFy20G-.mjs} +0 -0
- /package/dist/{DarwinAPI-BNPxu0RH.mjs → DarwinAPI-ETyy0xyo.mjs} +0 -0
- /package/dist/{EventBus-DgPmwpeu.mjs → EventBus-DFKvADm3.mjs} +0 -0
- /package/dist/{EvidenceGraphBridge-SFesNera.mjs → EvidenceGraphBridge-318Oi0Lf.mjs} +0 -0
- /package/dist/{FingerprintManager-gzWtkKuf.mjs → FingerprintManager-BN4UQWnX.mjs} +0 -0
- /package/dist/{PrerequisiteError-Dl33Svkz.mjs → PrerequisiteError-TuyZIs6n.mjs} +0 -0
- /package/dist/{ReverseEvidenceGraph-Dlsk94LC.mjs → ReverseEvidenceGraph-C02-gXOh.mjs} +0 -0
- /package/dist/{StealthVerifier-Bo4T3bz8.mjs → StealthVerifier-BWmPgQsv.mjs} +0 -0
- /package/dist/{VersionDetector-CwVLVdDM.mjs → VersionDetector-K3V4vGsw.mjs} +0 -0
- /package/dist/{betterSqlite3-0pqusHHH.mjs → betterSqlite3-DLSBZodi.mjs} +0 -0
- /package/dist/{concurrency-Bt0yv1kJ.mjs → concurrency-Drev_Vz9.mjs} +0 -0
- /package/dist/{formatAddress-DVkj9kpI.mjs → formatAddress-nnMvEohD.mjs} +0 -0
- /package/dist/{parse-args-BlRjqlkL.mjs → parse-args-B4cY5Vx5.mjs} +0 -0
- /package/dist/{ssrf-policy-ZaUfvhq7.mjs → ssrf-policy-Dsqd-DTX.mjs} +0 -0
- /package/dist/{types-CPhOReNX.mjs → types-DDBWs9UP.mjs} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as toolLookup } from "./registry-
|
|
2
|
-
import {
|
|
3
|
-
import { t as tool } from "./tool-builder-
|
|
1
|
+
import { n as toolLookup } from "./registry-Bl8ZQW61.mjs";
|
|
2
|
+
import { n as defineMethodRegistrations } from "./bind-helpers-ClV34xdn.mjs";
|
|
3
|
+
import { t as tool } from "./tool-builder-BHJp32mV.mjs";
|
|
4
4
|
//#region src/server/domains/macro/definitions.ts
|
|
5
5
|
const macroTools = [tool("run_macro", (t) => t.desc("Execute a registered macro by ID with inline progress and atomic bailout").string("macroId", "Macro ID to execute").prop("inputOverrides", {
|
|
6
6
|
type: "object",
|
|
@@ -14,10 +14,20 @@ const macroTools = [tool("run_macro", (t) => t.desc("Execute a registered macro
|
|
|
14
14
|
//#region src/server/domains/macro/manifest.ts
|
|
15
15
|
const DOMAIN = "macro";
|
|
16
16
|
const DEP_KEY = "macroHandlers";
|
|
17
|
-
const
|
|
18
|
-
|
|
17
|
+
const registrations = defineMethodRegistrations({
|
|
18
|
+
domain: DOMAIN,
|
|
19
|
+
depKey: DEP_KEY,
|
|
20
|
+
lookup: toolLookup(macroTools),
|
|
21
|
+
entries: [{
|
|
22
|
+
tool: "run_macro",
|
|
23
|
+
method: "handleRunMacro"
|
|
24
|
+
}, {
|
|
25
|
+
tool: "list_macros",
|
|
26
|
+
method: "handleListMacros"
|
|
27
|
+
}]
|
|
28
|
+
});
|
|
19
29
|
async function ensure(ctx) {
|
|
20
|
-
const { MacroToolHandlers } = await import("./handlers-
|
|
30
|
+
const { MacroToolHandlers } = await import("./handlers-CVv2H1uq.mjs");
|
|
21
31
|
const existing = ctx.getDomainInstance(DEP_KEY);
|
|
22
32
|
if (existing) return existing;
|
|
23
33
|
const handlers = new MacroToolHandlers(ctx);
|
|
@@ -31,15 +41,7 @@ const manifest = {
|
|
|
31
41
|
depKey: DEP_KEY,
|
|
32
42
|
profiles: ["full"],
|
|
33
43
|
ensure,
|
|
34
|
-
registrations
|
|
35
|
-
tool: t("run_macro"),
|
|
36
|
-
domain: DOMAIN,
|
|
37
|
-
bind: b((h, a) => h.handleRunMacro(a))
|
|
38
|
-
}, {
|
|
39
|
-
tool: t("list_macros"),
|
|
40
|
-
domain: DOMAIN,
|
|
41
|
-
bind: b((h) => h.handleListMacros())
|
|
42
|
-
}]
|
|
44
|
+
registrations
|
|
43
45
|
};
|
|
44
46
|
//#endregion
|
|
45
47
|
export { manifest as default };
|
|
@@ -1,42 +1,129 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { i as asToolResponse } from "./response-CWhh2aLo.mjs";
|
|
2
|
+
import { n as toolLookup } from "./registry-Bl8ZQW61.mjs";
|
|
3
|
+
import { n as defineMethodRegistrations } from "./bind-helpers-ClV34xdn.mjs";
|
|
4
|
+
import { t as tool } from "./tool-builder-BHJp32mV.mjs";
|
|
4
5
|
//#region src/server/domains/protocol-analysis/definitions.ts
|
|
5
6
|
const protocolAnalysisTools = [
|
|
6
|
-
tool("payload_template_build", (t) => t.desc("Build a
|
|
7
|
-
tool("payload_mutate", (t) => t.desc("Apply deterministic byte-level mutations to a hex payload. Useful for protocol probing, boundary testing, and replay preparation.").string("hexPayload", "Source payload as a hex string").array("mutations", {
|
|
7
|
+
tool("payload_template_build", (t) => t.desc("Build a deterministic payload from field definitions.").array("fields", {
|
|
8
8
|
type: "object",
|
|
9
9
|
properties: {
|
|
10
|
+
name: {
|
|
11
|
+
type: "string",
|
|
12
|
+
description: "Field name"
|
|
13
|
+
},
|
|
14
|
+
type: {
|
|
15
|
+
type: "string",
|
|
16
|
+
enum: [
|
|
17
|
+
"u8",
|
|
18
|
+
"u16",
|
|
19
|
+
"u32",
|
|
20
|
+
"i8",
|
|
21
|
+
"i16",
|
|
22
|
+
"i32",
|
|
23
|
+
"string",
|
|
24
|
+
"bytes"
|
|
25
|
+
],
|
|
26
|
+
description: "Field type"
|
|
27
|
+
},
|
|
28
|
+
value: { description: "Numeric or string field value" },
|
|
29
|
+
encoding: {
|
|
30
|
+
type: "string",
|
|
31
|
+
enum: [
|
|
32
|
+
"utf8",
|
|
33
|
+
"ascii",
|
|
34
|
+
"hex",
|
|
35
|
+
"base64"
|
|
36
|
+
],
|
|
37
|
+
description: "String/bytes encoding override"
|
|
38
|
+
},
|
|
39
|
+
length: {
|
|
40
|
+
type: "number",
|
|
41
|
+
description: "Optional fixed length"
|
|
42
|
+
},
|
|
43
|
+
padByte: {
|
|
44
|
+
type: "number",
|
|
45
|
+
description: "Optional pad byte"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
required: [
|
|
49
|
+
"name",
|
|
50
|
+
"type",
|
|
51
|
+
"value"
|
|
52
|
+
]
|
|
53
|
+
}, "Field definitions in output order").enum("endian", ["big", "little"], "Integer byte order", { default: "big" }).required("fields").idempotent()),
|
|
54
|
+
tool("payload_mutate", (t) => t.desc("Apply deterministic byte-level mutations to a hex payload.").string("hexPayload", "Source payload as a hex string").array("mutations", {
|
|
55
|
+
type: "object",
|
|
56
|
+
properties: {
|
|
57
|
+
strategy: {
|
|
58
|
+
type: "string",
|
|
59
|
+
enum: [
|
|
60
|
+
"set_byte",
|
|
61
|
+
"flip_bit",
|
|
62
|
+
"overwrite_bytes",
|
|
63
|
+
"append_bytes",
|
|
64
|
+
"truncate",
|
|
65
|
+
"increment_integer"
|
|
66
|
+
],
|
|
67
|
+
description: "Mutation strategy"
|
|
68
|
+
},
|
|
10
69
|
offset: {
|
|
11
70
|
type: "number",
|
|
12
71
|
description: "Zero-based byte offset"
|
|
13
72
|
},
|
|
14
|
-
|
|
73
|
+
value: {
|
|
15
74
|
type: "number",
|
|
16
|
-
description: "
|
|
75
|
+
description: "Byte value for set_byte"
|
|
17
76
|
},
|
|
18
|
-
|
|
77
|
+
bit: {
|
|
78
|
+
type: "number",
|
|
79
|
+
description: "Bit index for flip_bit"
|
|
80
|
+
},
|
|
81
|
+
data: {
|
|
82
|
+
type: "string",
|
|
83
|
+
description: "Mutation data for overwrite/append"
|
|
84
|
+
},
|
|
85
|
+
encoding: {
|
|
19
86
|
type: "string",
|
|
20
87
|
enum: [
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"decrement_u8",
|
|
26
|
-
"replace_hex"
|
|
88
|
+
"utf8",
|
|
89
|
+
"ascii",
|
|
90
|
+
"hex",
|
|
91
|
+
"base64"
|
|
27
92
|
],
|
|
28
|
-
description: "
|
|
93
|
+
description: "Data encoding for overwrite/append"
|
|
29
94
|
},
|
|
30
|
-
|
|
95
|
+
length: {
|
|
96
|
+
type: "number",
|
|
97
|
+
description: "Target length for truncate"
|
|
98
|
+
},
|
|
99
|
+
width: {
|
|
100
|
+
type: "number",
|
|
101
|
+
enum: [
|
|
102
|
+
1,
|
|
103
|
+
2,
|
|
104
|
+
4
|
|
105
|
+
],
|
|
106
|
+
description: "Integer width in bytes"
|
|
107
|
+
},
|
|
108
|
+
delta: {
|
|
109
|
+
type: "number",
|
|
110
|
+
description: "Increment/decrement delta"
|
|
111
|
+
},
|
|
112
|
+
endian: {
|
|
31
113
|
type: "string",
|
|
32
|
-
|
|
114
|
+
enum: ["big", "little"],
|
|
115
|
+
description: "Integer byte order"
|
|
116
|
+
},
|
|
117
|
+
signed: {
|
|
118
|
+
type: "boolean",
|
|
119
|
+
description: "Treat increment target as signed"
|
|
33
120
|
}
|
|
34
121
|
},
|
|
35
|
-
required: ["
|
|
122
|
+
required: ["strategy"]
|
|
36
123
|
}, "Byte-level mutations to apply in order").required("hexPayload", "mutations")),
|
|
37
124
|
tool("ethernet_frame_build", (t) => t.desc("Build a deterministic Ethernet II frame from source/destination MAC addresses, EtherType, and payload bytes.").string("destinationMac", "Destination MAC address in colon, dash, dotted, or plain hex form").string("sourceMac", "Source MAC address in colon, dash, dotted, or plain hex form").string("etherType", "EtherType name (arp, ipv4, ipv6, vlan) or a 16-bit hex value such as 0800").string("payloadHex", "Frame payload as a hex string").required("destinationMac", "sourceMac", "etherType", "payloadHex").idempotent()),
|
|
38
125
|
tool("arp_build", (t) => t.desc("Build a deterministic ARP payload for Ethernet/IPv4 style address resolution packets.").enum("operation", ["request", "reply"], "ARP operation code", { default: "request" }).string("senderMac", "Sender hardware address").string("senderIp", "Sender IPv4 address").string("targetMac", "Target hardware address (use zeros for requests)", { default: "00:00:00:00:00:00" }).string("targetIp", "Target IPv4 address").number("hardwareType", "Hardware type number. Default: 1 (Ethernet)", { default: 1 }).string("protocolType", "Protocol type name (ipv4) or 16-bit hex value. Default: ipv4", { default: "ipv4" }).number("hardwareSize", "Hardware address size in bytes. Default: 6", { default: 6 }).number("protocolSize", "Protocol address size in bytes. Default: 4", { default: 4 }).required("senderMac", "senderIp", "targetIp").idempotent()),
|
|
39
|
-
tool("raw_ip_packet_build", (t) => t.desc("Build a deterministic
|
|
126
|
+
tool("raw_ip_packet_build", (t) => t.desc("Build a deterministic IPv4 or IPv6 packet.").enum("version", ["ipv4", "ipv6"], "IP version", { default: "ipv4" }).string("sourceIp", "Source IPv4/IPv6 address").string("destinationIp", "Destination IPv4/IPv6 address").string("protocol", "Protocol/next-header name (icmp, tcp, udp, icmpv6) or an 8-bit integer string/hex value").string("payloadHex", "Inner payload as a hex string", { default: "" }).number("ttl", "IPv4 TTL or IPv6 hop limit fallback. Default: 64", { default: 64 }).number("hopLimit", "Explicit IPv6 hop limit override").number("identification", "IPv4 identification field. Default: 0", { default: 0 }).boolean("dontFragment", "Set the IPv4 DF flag", { default: false }).boolean("moreFragments", "Set the IPv4 MF flag", { default: false }).number("fragmentOffset", "IPv4 fragment offset in 8-byte units. Default: 0", { default: 0 }).number("dscp", "IPv4 DSCP or IPv6 traffic-class DSCP value (0-63). Default: 0", { default: 0 }).number("ecn", "IPv4/IPv6 ECN bits (0-3). Default: 0", { default: 0 }).number("flowLabel", "IPv6 flow label (0-1048575). Default: 0", { default: 0 }).required("version", "sourceIp", "destinationIp", "protocol").idempotent()),
|
|
40
127
|
tool("icmp_echo_build", (t) => t.desc("Build a deterministic ICMPv4 echo request or reply payload with an automatically computed checksum.").enum("operation", ["request", "reply"], "ICMP echo operation", { default: "request" }).number("identifier", "ICMP echo identifier field. Default: 0", { default: 0 }).number("sequenceNumber", "ICMP echo sequence number field. Default: 0", { default: 0 }).string("payloadHex", "Optional ICMP payload as a hex string", { default: "" }).idempotent()),
|
|
41
128
|
tool("checksum_apply", (t) => t.desc("Apply a deterministic 16-bit Internet checksum across a payload slice, optionally zeroing and writing the checksum field back into the packet.").string("hexPayload", "Source payload as a hex string").number("startOffset", "Inclusive start offset for checksum range. Default: 0", { default: 0 }).number("endOffset", "Exclusive end offset for checksum range. Default: payload length").number("zeroOffset", "Optional checksum field offset to zero before calculation").number("zeroLength", "Checksum field width in bytes when zeroOffset is set. Default: 2", { default: 2 }).number("writeOffset", "Optional destination offset for writing the computed checksum. Defaults to zeroOffset when provided").enum("endian", ["big", "little"], "Byte order used when writing the checksum back", { default: "big" }).required("hexPayload").idempotent()),
|
|
42
129
|
tool("pcap_write", (t) => t.desc("Write a compact classic PCAP file from deterministic packet byte records.").string("path", "Destination path for the PCAP file").array("packets", {
|
|
@@ -66,7 +153,7 @@ const protocolAnalysisTools = [
|
|
|
66
153
|
type: "object",
|
|
67
154
|
description: "Pattern specification object",
|
|
68
155
|
additionalProperties: true
|
|
69
|
-
}).required("
|
|
156
|
+
}).required("spec").idempotent()),
|
|
70
157
|
tool("proto_auto_detect", (t) => t.desc("Auto-detect a protocol pattern from one or more hex payload samples").array("hexPayloads", { type: "string" }, "Hex payload samples").required("hexPayloads").query()),
|
|
71
158
|
tool("proto_export_schema", (t) => t.desc("Export a protocol pattern to a .proto-like schema definition").string("patternId", "Pattern ID to export").required("patternId").query()),
|
|
72
159
|
tool("proto_infer_fields", (t) => t.desc("Infer likely protocol fields from repeated hex payload samples").array("hexPayloads", { type: "string" }, "Hex payload samples").required("hexPayloads").query()),
|
|
@@ -103,106 +190,101 @@ const protocolAnalysisTools = [
|
|
|
103
190
|
type: "object",
|
|
104
191
|
description: "State machine definition with states and transitions",
|
|
105
192
|
additionalProperties: true
|
|
106
|
-
}).query())
|
|
193
|
+
}).query()),
|
|
194
|
+
tool("proto_fingerprint", (t) => t.desc("Identify protocol type from hex payload samples (TLS, HTTP, DNS, WebSocket, SSH).").array("hexPayloads", { type: "string" }, "Hex payload samples to fingerprint").boolean("includeKnownProtocols", "Match against known protocol signatures", { default: true }).boolean("includeFieldHints", "Suggest likely field boundaries", { default: true }).required("hexPayloads").query())
|
|
107
195
|
];
|
|
108
196
|
//#endregion
|
|
109
197
|
//#region src/server/domains/protocol-analysis/manifest.ts
|
|
110
198
|
const DOMAIN = "protocol-analysis";
|
|
111
199
|
const DEP_KEY = "protocolAnalysisHandlers";
|
|
112
|
-
const
|
|
113
|
-
const b = (invoke) => bindByDepKey(DEP_KEY, invoke);
|
|
114
|
-
async function ensure(ctx) {
|
|
115
|
-
const { ProtocolAnalysisHandlers } = await import("./handlers-D6j6yka7.mjs");
|
|
116
|
-
const existing = ctx.getDomainInstance(DEP_KEY);
|
|
117
|
-
if (existing) return existing;
|
|
118
|
-
const handlers = new ProtocolAnalysisHandlers(void 0, void 0, ctx.eventBus);
|
|
119
|
-
ctx.setDomainInstance(DEP_KEY, handlers);
|
|
120
|
-
return handlers;
|
|
121
|
-
}
|
|
122
|
-
const manifest = {
|
|
123
|
-
kind: "domain-manifest",
|
|
124
|
-
version: 1,
|
|
200
|
+
const registrations = defineMethodRegistrations({
|
|
125
201
|
domain: DOMAIN,
|
|
126
202
|
depKey: DEP_KEY,
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
203
|
+
lookup: toolLookup(protocolAnalysisTools),
|
|
204
|
+
wrapResult: asToolResponse,
|
|
205
|
+
entries: [
|
|
130
206
|
{
|
|
131
|
-
tool:
|
|
132
|
-
|
|
133
|
-
bind: b((handlers, args) => handlers.handleDefinePattern(args))
|
|
207
|
+
tool: "proto_define_pattern",
|
|
208
|
+
method: "handleDefinePattern"
|
|
134
209
|
},
|
|
135
210
|
{
|
|
136
|
-
tool:
|
|
137
|
-
|
|
138
|
-
bind: b((handlers, args) => handlers.handleAutoDetect(args))
|
|
211
|
+
tool: "proto_auto_detect",
|
|
212
|
+
method: "handleAutoDetect"
|
|
139
213
|
},
|
|
140
214
|
{
|
|
141
|
-
tool:
|
|
142
|
-
|
|
143
|
-
bind: b((handlers, args) => handlers.handleInferFields(args))
|
|
215
|
+
tool: "proto_infer_fields",
|
|
216
|
+
method: "handleInferFields"
|
|
144
217
|
},
|
|
145
218
|
{
|
|
146
|
-
tool:
|
|
147
|
-
|
|
148
|
-
bind: b((handlers, args) => handlers.handleInferStateMachine(args))
|
|
219
|
+
tool: "proto_infer_state_machine",
|
|
220
|
+
method: "handleInferStateMachine"
|
|
149
221
|
},
|
|
150
222
|
{
|
|
151
|
-
tool:
|
|
152
|
-
|
|
153
|
-
bind: b((handlers, args) => handlers.handleExportSchema(args))
|
|
223
|
+
tool: "proto_export_schema",
|
|
224
|
+
method: "handleExportSchema"
|
|
154
225
|
},
|
|
155
226
|
{
|
|
156
|
-
tool:
|
|
157
|
-
|
|
158
|
-
bind: b((handlers, args) => handlers.handleVisualizeState(args))
|
|
227
|
+
tool: "proto_visualize_state",
|
|
228
|
+
method: "handleVisualizeState"
|
|
159
229
|
},
|
|
160
230
|
{
|
|
161
|
-
tool:
|
|
162
|
-
|
|
163
|
-
bind: b((handlers, args) => handlers.handlePayloadTemplateBuild(args))
|
|
231
|
+
tool: "payload_template_build",
|
|
232
|
+
method: "handlePayloadTemplateBuild"
|
|
164
233
|
},
|
|
165
234
|
{
|
|
166
|
-
tool:
|
|
167
|
-
|
|
168
|
-
bind: b((handlers, args) => handlers.handlePayloadMutate(args))
|
|
235
|
+
tool: "payload_mutate",
|
|
236
|
+
method: "handlePayloadMutate"
|
|
169
237
|
},
|
|
170
238
|
{
|
|
171
|
-
tool:
|
|
172
|
-
|
|
173
|
-
bind: b((handlers, args) => handlers.handleEthernetFrameBuild(args))
|
|
239
|
+
tool: "ethernet_frame_build",
|
|
240
|
+
method: "handleEthernetFrameBuild"
|
|
174
241
|
},
|
|
175
242
|
{
|
|
176
|
-
tool:
|
|
177
|
-
|
|
178
|
-
bind: b((handlers, args) => handlers.handleArpBuild(args))
|
|
243
|
+
tool: "arp_build",
|
|
244
|
+
method: "handleArpBuild"
|
|
179
245
|
},
|
|
180
246
|
{
|
|
181
|
-
tool:
|
|
182
|
-
|
|
183
|
-
bind: b((handlers, args) => handlers.handleRawIpPacketBuild(args))
|
|
247
|
+
tool: "raw_ip_packet_build",
|
|
248
|
+
method: "handleRawIpPacketBuild"
|
|
184
249
|
},
|
|
185
250
|
{
|
|
186
|
-
tool:
|
|
187
|
-
|
|
188
|
-
bind: b((handlers, args) => handlers.handleIcmpEchoBuild(args))
|
|
251
|
+
tool: "icmp_echo_build",
|
|
252
|
+
method: "handleIcmpEchoBuild"
|
|
189
253
|
},
|
|
190
254
|
{
|
|
191
|
-
tool:
|
|
192
|
-
|
|
193
|
-
bind: b((handlers, args) => handlers.handleChecksumApply(args))
|
|
255
|
+
tool: "checksum_apply",
|
|
256
|
+
method: "handleChecksumApply"
|
|
194
257
|
},
|
|
195
258
|
{
|
|
196
|
-
tool:
|
|
197
|
-
|
|
198
|
-
bind: b((handlers, args) => handlers.handlePcapWrite(args))
|
|
259
|
+
tool: "pcap_write",
|
|
260
|
+
method: "handlePcapWrite"
|
|
199
261
|
},
|
|
200
262
|
{
|
|
201
|
-
tool:
|
|
202
|
-
|
|
203
|
-
|
|
263
|
+
tool: "pcap_read",
|
|
264
|
+
method: "handlePcapRead"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
tool: "proto_fingerprint",
|
|
268
|
+
method: "handleProtoFingerprint"
|
|
204
269
|
}
|
|
205
|
-
]
|
|
270
|
+
]
|
|
271
|
+
});
|
|
272
|
+
async function ensure(ctx) {
|
|
273
|
+
const { ProtocolAnalysisHandlers } = await import("./handlers-Dx2d7jt7.mjs");
|
|
274
|
+
const existing = ctx.getDomainInstance(DEP_KEY);
|
|
275
|
+
if (existing) return existing;
|
|
276
|
+
const handlers = new ProtocolAnalysisHandlers(void 0, void 0, ctx.eventBus);
|
|
277
|
+
ctx.setDomainInstance(DEP_KEY, handlers);
|
|
278
|
+
return handlers;
|
|
279
|
+
}
|
|
280
|
+
const manifest = {
|
|
281
|
+
kind: "domain-manifest",
|
|
282
|
+
version: 1,
|
|
283
|
+
domain: DOMAIN,
|
|
284
|
+
depKey: DEP_KEY,
|
|
285
|
+
profiles: ["full"],
|
|
286
|
+
ensure,
|
|
287
|
+
registrations,
|
|
206
288
|
prerequisites: {
|
|
207
289
|
proto_auto_detect: [{
|
|
208
290
|
condition: "At least one hex payload sample is required",
|
|
@@ -220,10 +302,16 @@ const manifest = {
|
|
|
220
302
|
/infer\s+(protocol|fields|state\s*machine)/i,
|
|
221
303
|
/proto.*export|proto.*schema|proto.*diagram/i,
|
|
222
304
|
/payload\s+(template|build|mutate)|packet\s+(template|mutate)/i,
|
|
223
|
-
/ethernet|arp|ipv4|ipv6|pcap|internet\s+checksum|raw\s+packet/i
|
|
305
|
+
/ethernet|arp|ipv4|ipv6|pcap|internet\s+checksum|raw\s+packet/i,
|
|
306
|
+
/(decode|payload|bytes?|hex|protobuf|msgpack).*(protocol|field|state\s*machine)/i,
|
|
307
|
+
/(base64|hex|protobuf|msgpack).*(payload|protocol|field|decode)/i,
|
|
308
|
+
/(crypto\s*harness|checksum|payload\s+rebuild|payload\s+template).*(protocol|payload|decode)/i,
|
|
309
|
+
/(无状态|纯算|确定性|解码|载荷|字节|报文).*(协议|字段|状态机)/i
|
|
224
310
|
],
|
|
225
311
|
priority: .6,
|
|
226
312
|
tools: [
|
|
313
|
+
"binary_detect_format",
|
|
314
|
+
"binary_decode",
|
|
227
315
|
"proto_auto_detect",
|
|
228
316
|
"proto_infer_fields",
|
|
229
317
|
"proto_define_pattern",
|
|
@@ -232,22 +320,55 @@ const manifest = {
|
|
|
232
320
|
"proto_visualize_state",
|
|
233
321
|
"payload_template_build",
|
|
234
322
|
"payload_mutate",
|
|
323
|
+
"checksum_apply",
|
|
324
|
+
"crypto_test_harness",
|
|
235
325
|
"ethernet_frame_build",
|
|
236
326
|
"arp_build",
|
|
237
327
|
"raw_ip_packet_build",
|
|
238
328
|
"icmp_echo_build",
|
|
239
|
-
"checksum_apply",
|
|
240
329
|
"pcap_write",
|
|
241
330
|
"pcap_read"
|
|
242
331
|
],
|
|
243
332
|
hint: "Capture or craft packet bytes -> build Ethernet/ARP/IP/ICMP headers -> apply deterministic checksums and payload mutations -> read/write compact PCAP files -> infer fields or state machines from resulting payloads"
|
|
244
333
|
},
|
|
245
|
-
toolDependencies: [
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
334
|
+
toolDependencies: [
|
|
335
|
+
{
|
|
336
|
+
from: "network_get_requests",
|
|
337
|
+
to: "binary_decode",
|
|
338
|
+
relation: "suggests",
|
|
339
|
+
weight: .9
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
from: "binary_decode",
|
|
343
|
+
to: "proto_auto_detect",
|
|
344
|
+
relation: "precedes",
|
|
345
|
+
weight: .95
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
from: "proto_auto_detect",
|
|
349
|
+
to: "proto_infer_fields",
|
|
350
|
+
relation: "precedes",
|
|
351
|
+
weight: .95
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
from: "proto_infer_fields",
|
|
355
|
+
to: "proto_infer_state_machine",
|
|
356
|
+
relation: "precedes",
|
|
357
|
+
weight: .9
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
from: "detect_crypto",
|
|
361
|
+
to: "crypto_test_harness",
|
|
362
|
+
relation: "suggests",
|
|
363
|
+
weight: .8
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
from: "network",
|
|
367
|
+
to: "protocol-analysis",
|
|
368
|
+
relation: "uses",
|
|
369
|
+
weight: .7
|
|
370
|
+
}
|
|
371
|
+
]
|
|
251
372
|
};
|
|
252
373
|
//#endregion
|
|
253
374
|
export { manifest as default };
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { n as toolLookup, t as ensureBrowserCore } from "./registry-Bl8ZQW61.mjs";
|
|
2
|
+
import { n as defineMethodRegistrations } from "./bind-helpers-ClV34xdn.mjs";
|
|
3
|
+
import { t as debuggerTools } from "./definitions-BbkvZkiv.mjs";
|
|
4
|
+
//#region src/server/domains/debugger/manifest.ts
|
|
5
|
+
const DOMAIN = "debugger";
|
|
6
|
+
const DEP_KEY = "debuggerHandlers";
|
|
7
|
+
const registrations = defineMethodRegistrations({
|
|
8
|
+
domain: DOMAIN,
|
|
9
|
+
depKey: DEP_KEY,
|
|
10
|
+
lookup: toolLookup(debuggerTools),
|
|
11
|
+
entries: [
|
|
12
|
+
{
|
|
13
|
+
tool: "debugger_lifecycle",
|
|
14
|
+
method: "handleDebuggerLifecycle"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
tool: "debugger_pause",
|
|
18
|
+
method: "handleDebuggerPause"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
tool: "debugger_resume",
|
|
22
|
+
method: "handleDebuggerResume"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
tool: "debugger_step",
|
|
26
|
+
method: "handleDebuggerStep"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
tool: "breakpoint",
|
|
30
|
+
method: "handleBreakpoint"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
tool: "get_call_stack",
|
|
34
|
+
method: "handleGetCallStack"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
tool: "debugger_evaluate",
|
|
38
|
+
method: "handleDebuggerEvaluateDispatch"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
tool: "debugger_wait_for_paused",
|
|
42
|
+
method: "handleDebuggerWaitForPaused"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
tool: "debugger_get_paused_state",
|
|
46
|
+
method: "handleDebuggerGetPausedState"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
tool: "get_object_properties",
|
|
50
|
+
method: "handleGetObjectProperties"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
tool: "get_scope_variables_enhanced",
|
|
54
|
+
method: "handleGetScopeVariablesEnhanced"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
tool: "debugger_session",
|
|
58
|
+
method: "handleDebuggerSession"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
tool: "watch",
|
|
62
|
+
method: "handleWatch"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
tool: "blackbox_add",
|
|
66
|
+
method: "handleBlackboxAdd"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
tool: "blackbox_add_common",
|
|
70
|
+
method: "handleBlackboxAddCommon"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
tool: "blackbox_list",
|
|
74
|
+
method: "handleBlackboxList"
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
});
|
|
78
|
+
async function ensure(ctx) {
|
|
79
|
+
const { DebuggerManager, RuntimeInspector } = await import("./modules-tZozf0LQ.mjs").then((n) => n.t);
|
|
80
|
+
const { DebuggerToolHandlers } = await import("./debugger-RS3RSAqs.mjs");
|
|
81
|
+
await ensureBrowserCore(ctx);
|
|
82
|
+
if (!ctx.debuggerManager || !ctx.runtimeInspector || !ctx.debuggerHandlers) {
|
|
83
|
+
if (!ctx.debuggerManager) ctx.debuggerManager = new DebuggerManager(ctx.collector);
|
|
84
|
+
if (!ctx.runtimeInspector) ctx.runtimeInspector = new RuntimeInspector(ctx.collector, ctx.debuggerManager);
|
|
85
|
+
if (!ctx.debuggerHandlers) ctx.debuggerHandlers = new DebuggerToolHandlers(ctx.debuggerManager, ctx.runtimeInspector, ctx.eventBus);
|
|
86
|
+
}
|
|
87
|
+
return ctx.debuggerHandlers;
|
|
88
|
+
}
|
|
89
|
+
const manifest = {
|
|
90
|
+
kind: "domain-manifest",
|
|
91
|
+
version: 1,
|
|
92
|
+
domain: DOMAIN,
|
|
93
|
+
depKey: DEP_KEY,
|
|
94
|
+
profiles: ["workflow", "full"],
|
|
95
|
+
ensure,
|
|
96
|
+
prerequisites: {
|
|
97
|
+
debugger_lifecycle: [{
|
|
98
|
+
condition: "Browser must be launched",
|
|
99
|
+
fix: "Call browser_launch or browser_attach first"
|
|
100
|
+
}],
|
|
101
|
+
breakpoint: [{
|
|
102
|
+
condition: "Browser must be launched",
|
|
103
|
+
fix: "Call browser_launch and debugger_lifecycle(enable) first"
|
|
104
|
+
}]
|
|
105
|
+
},
|
|
106
|
+
registrations
|
|
107
|
+
};
|
|
108
|
+
//#endregion
|
|
109
|
+
export { manifest as default };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { n as toolLookup } from "./registry-Bl8ZQW61.mjs";
|
|
2
|
+
import { n as defineMethodRegistrations } from "./bind-helpers-ClV34xdn.mjs";
|
|
3
|
+
import { t as graphqlTools } from "./definitions-Pp5LI2H4.mjs";
|
|
4
|
+
//#region src/server/domains/graphql/manifest.ts
|
|
5
|
+
const DOMAIN = "graphql";
|
|
6
|
+
const DEP_KEY = "graphqlHandlers";
|
|
7
|
+
const registrations = defineMethodRegistrations({
|
|
8
|
+
domain: DOMAIN,
|
|
9
|
+
depKey: DEP_KEY,
|
|
10
|
+
lookup: toolLookup(graphqlTools),
|
|
11
|
+
entries: [
|
|
12
|
+
{
|
|
13
|
+
tool: "call_graph_analyze",
|
|
14
|
+
method: "handleCallGraphAnalyze"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
tool: "script_replace_persist",
|
|
18
|
+
method: "handleScriptReplacePersist"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
tool: "graphql_introspect",
|
|
22
|
+
method: "handleGraphqlIntrospect"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
tool: "graphql_extract_queries",
|
|
26
|
+
method: "handleGraphqlExtractQueries"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
tool: "graphql_replay",
|
|
30
|
+
method: "handleGraphqlReplay"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
async function ensure(ctx) {
|
|
35
|
+
const { CodeCollector, ConsoleMonitor } = await import("./modules-tZozf0LQ.mjs").then((n) => n.t);
|
|
36
|
+
const { GraphQLToolHandlers } = await import("./graphql-CoHrhweh.mjs");
|
|
37
|
+
if (!ctx.collector) {
|
|
38
|
+
ctx.collector = new CodeCollector(ctx.config.puppeteer);
|
|
39
|
+
ctx.registerCaches();
|
|
40
|
+
}
|
|
41
|
+
if (!ctx.consoleMonitor) ctx.consoleMonitor = new ConsoleMonitor(ctx.collector);
|
|
42
|
+
if (!ctx.graphqlHandlers) ctx.graphqlHandlers = new GraphQLToolHandlers({
|
|
43
|
+
collector: ctx.collector,
|
|
44
|
+
consoleMonitor: ctx.consoleMonitor
|
|
45
|
+
});
|
|
46
|
+
return ctx.graphqlHandlers;
|
|
47
|
+
}
|
|
48
|
+
const manifest = {
|
|
49
|
+
kind: "domain-manifest",
|
|
50
|
+
version: 1,
|
|
51
|
+
domain: DOMAIN,
|
|
52
|
+
depKey: DEP_KEY,
|
|
53
|
+
profiles: ["workflow", "full"],
|
|
54
|
+
ensure,
|
|
55
|
+
registrations
|
|
56
|
+
};
|
|
57
|
+
//#endregion
|
|
58
|
+
export { manifest as default };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { n as toolLookup } from "./registry-Bl8ZQW61.mjs";
|
|
2
|
+
import { n as defineMethodRegistrations } from "./bind-helpers-ClV34xdn.mjs";
|
|
3
|
+
import { t as sourcemapTools } from "./definitions-DAgIyjxM.mjs";
|
|
4
|
+
//#region src/server/domains/sourcemap/manifest.ts
|
|
5
|
+
const DOMAIN = "sourcemap";
|
|
6
|
+
const DEP_KEY = "sourcemapHandlers";
|
|
7
|
+
const registrations = defineMethodRegistrations({
|
|
8
|
+
domain: DOMAIN,
|
|
9
|
+
depKey: DEP_KEY,
|
|
10
|
+
lookup: toolLookup(sourcemapTools),
|
|
11
|
+
entries: [
|
|
12
|
+
{
|
|
13
|
+
tool: "sourcemap_discover",
|
|
14
|
+
method: "handleSourcemapDiscover"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
tool: "sourcemap_fetch_and_parse",
|
|
18
|
+
method: "handleSourcemapFetchAndParse"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
tool: "sourcemap_reconstruct_tree",
|
|
22
|
+
method: "handleSourcemapReconstructTree"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
tool: "sourcemap_parse_v4",
|
|
26
|
+
method: "handleSourcemapParseV4"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
});
|
|
30
|
+
async function ensure(ctx) {
|
|
31
|
+
const { CodeCollector } = await import("./modules-tZozf0LQ.mjs").then((n) => n.t);
|
|
32
|
+
const { SourcemapToolHandlers } = await import("./sourcemap-BIDHUVXy.mjs");
|
|
33
|
+
if (!ctx.collector) {
|
|
34
|
+
ctx.collector = new CodeCollector(ctx.config.puppeteer);
|
|
35
|
+
ctx.registerCaches();
|
|
36
|
+
}
|
|
37
|
+
if (!ctx.sourcemapHandlers) ctx.sourcemapHandlers = new SourcemapToolHandlers(ctx.collector);
|
|
38
|
+
return ctx.sourcemapHandlers;
|
|
39
|
+
}
|
|
40
|
+
const manifest = {
|
|
41
|
+
kind: "domain-manifest",
|
|
42
|
+
version: 1,
|
|
43
|
+
domain: DOMAIN,
|
|
44
|
+
depKey: DEP_KEY,
|
|
45
|
+
profiles: ["full"],
|
|
46
|
+
ensure,
|
|
47
|
+
registrations
|
|
48
|
+
};
|
|
49
|
+
//#endregion
|
|
50
|
+
export { manifest as default };
|