@jshookmcp/jshook 0.3.2 → 0.3.3
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 +3 -3
- package/README.zh.md +3 -3
- package/dist/{AntiCheatDetector-B6d4Qe9D.mjs → AntiCheatDetector-CUpZBh5O.mjs} +1 -1
- package/dist/{BrowserSessionCoordinator-BJ-HOxo0.mjs → BrowserSessionCoordinator-QIt3tetp.mjs} +1 -1
- package/dist/CodeInjector-Btj9upnf.mjs +1 -0
- package/dist/{ConsoleMonitor-CxDJV15E.mjs → ConsoleMonitor-DIjN5Afa.mjs} +5 -5
- package/dist/{DarwinAPI-ZfQdpLNI.mjs → DarwinAPI-BuMPGzHm.mjs} +1 -1
- package/dist/DetailedDataManager-Z77fDl9Z.mjs +5 -0
- package/dist/ExtensionManager.tools-CIGOWViz.mjs +1 -0
- package/dist/{FingerprintManager-DT0EAUEo.mjs → FingerprintManager-BkDSsjjP.mjs} +1 -1
- package/dist/{HardwareBreakpoint-BUfPdp0f.mjs → HardwareBreakpoint-DMAMcPyB.mjs} +1 -1
- package/dist/{HeapAnalyzer-B_aqY8oj.mjs → HeapAnalyzer-Yj348FYt.mjs} +1 -1
- package/dist/{ExtensionManager.tools-oVMJgPcN.mjs → MCPServer.activation.ttl-CEGNBycZ.mjs} +1 -1
- package/dist/MCPServer.search.helpers-Cs1JpKbu.mjs +1 -0
- package/dist/MCPServer.search.validation-DnifPCCv.mjs +1 -0
- package/dist/{MemoryController-X1XNSn1n.mjs → MemoryController-DjtgiING.mjs} +1 -1
- package/dist/{MemoryScanSession-DG_F-PjE.mjs → MemoryScanSession-zfoVZJB0.mjs} +1 -1
- package/dist/MemoryScanner-Dxd657li.mjs +1 -0
- package/dist/{NativeMemoryManager.utils-BHy1P_jM.mjs → NativeMemoryManager.utils-Bu8srMEF.mjs} +1 -1
- package/dist/{PEAnalyzer-yWQaGrcx.mjs → PEAnalyzer-CMu9Ua9T.mjs} +1 -1
- package/dist/PointerChainEngine-CaSC1Mry.mjs +1 -0
- package/dist/{ProcessRegistry-C-bN48oR.mjs → ProcessRegistry-D5y1yuP2.mjs} +1 -1
- package/dist/{ReverseEvidenceGraph-BhSYYdiI.mjs → ReverseEvidenceGraph-BksOpsPs.mjs} +1 -1
- package/dist/ServerRuntimeState-CgqBBwfd.mjs +1 -0
- package/dist/{Speedhack-yseDPSZ9.mjs → Speedhack-pwXTHxOY.mjs} +1 -1
- package/dist/{StructureAnalyzer-C5lpuZkg.mjs → StructureAnalyzer-BseGzsSl.mjs} +2 -2
- package/dist/ToolCatalog-DgmQXdsm.mjs +1 -0
- package/dist/ToolHandlerMap-7HWoIgQO.mjs +1 -0
- package/dist/{ToolProbe-C7ZU2x7M.mjs → ToolProbe-DQiREmNp.mjs} +1 -1
- package/dist/{ToolRegistry-C5oB8KP8.mjs → ToolRegistry-eMZEBiR1.mjs} +1 -1
- package/dist/ToolRouter.policy-UKBlFlbh.mjs +4 -0
- package/dist/{TraceRecorder-BiJWBXHX.mjs → TraceRecorder-B5ktv3nP.mjs} +2 -2
- package/dist/VersionDetector-CmPJmaJg.mjs +1 -0
- package/dist/{Win32API-eUCF57l_.mjs → Win32API-DoP3MMHS.mjs} +1 -1
- package/dist/{Win32Debug-CYrIQBvr.mjs → Win32Debug-DwF8mQGm.mjs} +1 -1
- package/dist/{WorkflowEngine-D876meOO.mjs → WorkflowEngine-CldHG5b4.mjs} +1 -1
- package/dist/{analysis-D4swdMvq.mjs → analysis-C-ln0Brh.mjs} +3 -3
- package/dist/antidebug-CsnpOR9z.mjs +1 -0
- package/dist/{artifactRetention-BCPQASm7.mjs → artifactRetention-DkYKLOvi.mjs} +1 -1
- package/dist/{artifacts-CkodUM4j.mjs → artifacts-D-4pSS_N.mjs} +1 -1
- package/dist/{betterSqlite3-Brtq-SIQ.mjs → betterSqlite3-Bdo_ifuJ.mjs} +1 -1
- package/dist/binary-instrument-BeZ224mZ.mjs +9 -0
- package/dist/{boringssl-inspector-BBaJwwkU.mjs → boringssl-inspector-ZOCkaipa.mjs} +2 -2
- package/dist/browser-BUaB25bk.mjs +11 -0
- package/dist/{handlers-yo_xYzT8.mjs → canvas-396ieNv5.mjs} +22 -22
- package/dist/collector-CB2syQEg.mjs +1 -0
- package/dist/constants-DMv3svps.mjs +2 -0
- package/dist/coordination-Dbohmj6D.mjs +1 -0
- package/dist/dart-inspector-LhEqRITQ.mjs +0 -0
- package/dist/debugger-CLzkObIO.mjs +1 -0
- package/dist/{definitions-OeLvmlQy.mjs → definitions-0hxnrDU72.mjs} +1 -1
- package/dist/definitions-B3a9QC2t.mjs +1 -0
- package/dist/{definitions-Ibci7e_L.mjs → definitions-BOvju5t2.mjs} +1 -1
- package/dist/{definitions-D4g-MS10.mjs → definitions-CXj_cEVt.mjs} +1 -1
- package/dist/{definitions-C3qNgSn1.mjs → definitions-Co6AvTjH.mjs} +1 -1
- package/dist/{definitions-DxFNRQNK2.mjs → definitions-Cv5r8xwq.mjs} +1 -1
- package/dist/definitions-DBYSxChX.mjs +1 -0
- package/dist/{definitions-CQd7yCQH.mjs → definitions-D_dTDX9B.mjs} +1 -1
- package/dist/{definitions-l7TjdE6V.mjs → definitions-Db9t2ddh.mjs} +1 -1
- package/dist/{definitions-BWxBke3r.mjs → definitions-DbN2CjI2.mjs} +1 -1
- package/dist/{definitions-DAQm1Xar.mjs → definitions-DlmmHmZc.mjs} +1 -1
- package/dist/{definitions-Bf3H1EwV.mjs → definitions-DnYpoGig.mjs} +1 -1
- package/dist/{definitions-BYwATKc-.mjs → definitions-DtZ6Ktx2.mjs} +1 -1
- package/dist/{definitions-D5wl_8HN.mjs → definitions-DuIPS8gq.mjs} +1 -1
- package/dist/{definitions-RZYGD_Ey.mjs → definitions-DywfwPMb.mjs} +1 -1
- package/dist/definitions-EGmqr85H.mjs +1 -0
- package/dist/{definitions-bybDvnG0.mjs → definitions-Fetw_Cge.mjs} +3 -3
- package/dist/{definitions-CB6vmOer.mjs → definitions-LdkeuOeA.mjs} +1 -1
- package/dist/{definitions-B_83XfNQ.mjs → definitions-Ym8niHDb.mjs} +1 -1
- package/dist/{definitions-Cenu6mxo.mjs → definitions-aeRd5DAR.mjs} +1 -1
- package/dist/{definitions-CT8ln6GQ.mjs → definitions-cnG6tj17.mjs} +1 -1
- package/dist/{encoding-ycOaz8Vr.mjs → encoding-B4xZWErf.mjs} +2 -2
- package/dist/ensure-browser-core-JHwDo5ql.mjs +285 -0
- package/dist/{factory-CKr4fAE1.mjs → factory-BxNdBiZa.mjs} +1 -1
- package/dist/{graphql-B2TiPEow.mjs → graphql-GBWsZ9xC.mjs} +4 -4
- package/dist/{handlers-D5E40ssn.mjs → handlers-5nzR8B0a.mjs} +2 -2
- package/dist/handlers-6iNsXOVT.mjs +7 -0
- package/dist/{handlers-BpDlVVVU.mjs → handlers-BZ8n6Hvf.mjs} +1 -1
- package/dist/{handlers-0yKLRIfo.mjs → handlers-BbLxNbbT.mjs} +1 -1
- package/dist/{handlers-DGbdQAgD.mjs → handlers-BbS4hssc.mjs} +2 -2
- package/dist/{handlers-l8QIKqBj.mjs → handlers-CIKOP4aI.mjs} +2 -2
- package/dist/handlers-CWKBBjai.mjs +1 -0
- package/dist/{handlers-B62K4FTc.mjs → handlers-Cmb6SoRC.mjs} +1 -1
- package/dist/handlers-CrJsKnEI.mjs +1 -0
- package/dist/{antidebug-7L3ygj_9.mjs → handlers-DB6xVVWq.mjs} +2 -2
- package/dist/{handlers-CMJK7m1c.mjs → handlers-DOOCWUNR.mjs} +3 -3
- package/dist/{handlers-D2ZOul9p.mjs → handlers-Z_B5aVaU.mjs} +2 -2
- package/dist/handlers-gVscChvl.mjs +1 -0
- package/dist/handlers-xFvI9P_y.mjs +1 -0
- package/dist/{handlers.impl-D9Hh8Bgl.mjs → handlers.impl-BsFTW6SD.mjs} +1 -1
- package/dist/{hooks-D4XLfgtV.mjs → hooks-DPouiS7I.mjs} +9 -9
- package/dist/index.mjs +11 -11
- package/dist/macro-p8kuJVcm.mjs +2 -0
- package/dist/maintenance-DAqADb6Z.mjs +302 -0
- package/dist/manifest-4lmM6MZR.mjs +1 -0
- package/dist/{manifest-DujQqEQR.mjs → manifest-AxaxRSt6.mjs} +2 -2
- package/dist/{manifest-DYpn8w_h.mjs → manifest-BIqRE1Qz.mjs} +1 -1
- package/dist/manifest-Box-jWfr.mjs +1 -0
- package/dist/manifest-Bp33di0Q.mjs +1 -0
- package/dist/{manifest-CQH9FhwI.mjs → manifest-BvRX4nRP.mjs} +1 -1
- package/dist/{manifest-0Jpt_AQa.mjs → manifest-C6KoB1XE.mjs} +1 -1
- package/dist/manifest-C7TdXCWY.mjs +1 -0
- package/dist/manifest-CM-n64K0.mjs +1 -0
- package/dist/{manifest-nXHmtMSp2.mjs → manifest-CUokxCUN.mjs} +1 -1
- package/dist/manifest-CWJS45iO.mjs +1 -0
- package/dist/{manifest-LLdI5m4T.mjs → manifest-Cdxdgo-D.mjs} +1 -1
- package/dist/{manifest-D_obs5F4.mjs → manifest-Cf6SmamD.mjs} +1 -1
- package/dist/manifest-Cgxu2qdv.mjs +1 -0
- package/dist/{manifest-ztWJoXy4.mjs → manifest-CowGSURa2.mjs} +1 -1
- package/dist/{manifest-DYzWI8Xs.mjs → manifest-CsGIrh34.mjs} +1 -1
- package/dist/manifest-CvDpVToN.mjs +1 -0
- package/dist/manifest-D8TL9RLE.mjs +1 -0
- package/dist/{manifest-DCx6w2XV.mjs → manifest-DIhtCBe6.mjs} +1 -1
- package/dist/{manifest-D9jUUJAu.mjs → manifest-DJbruNOg.mjs} +1 -1
- package/dist/manifest-DLGtZH-0.mjs +1 -0
- package/dist/manifest-DXHdPt2T.mjs +1 -0
- package/dist/{manifest-B3fZbSWR.mjs → manifest-Dg5ScOyW.mjs} +1 -1
- package/dist/{manifest-xWfu6iLo.mjs → manifest-DzGoTS0R.mjs} +1 -1
- package/dist/manifest-G2H52LKz.mjs +131 -0
- package/dist/{manifest-CctIumog.mjs → manifest-P0Futrgb.mjs} +1 -1
- package/dist/{manifest-YgVd8Sgz.mjs → manifest-Qw7xgvjv.mjs} +1 -1
- package/dist/{manifest-QYbQXJn0.mjs → manifest-W3qvVrP2.mjs} +1 -1
- package/dist/manifest-dG6MuR1U.mjs +1 -0
- package/dist/manifest-nWXtgq5Y2.mjs +1 -0
- package/dist/{manifest-LG42zPLY2.mjs → manifest-vp1upSSq.mjs} +1 -1
- package/dist/{modules-BPBcSaM-.mjs → modules-DO3jXCgj.mjs} +10 -10
- package/dist/{mojo-ipc-BhwsdVUW.mjs → mojo-ipc-Be-ccWrc.mjs} +1 -1
- package/dist/native-g095qhpK.mjs +961 -0
- package/dist/network-Dvxm7eEI.mjs +7 -0
- package/dist/outputPaths-D2ddHrOJ.mjs +2 -0
- package/dist/{parse-args-Bw413PlW.mjs → parse-args-ngRrvF9e.mjs} +1 -1
- package/dist/platform-DjWbuiF8.mjs +93 -0
- package/dist/process-Dq5I-KZW.mjs +2 -0
- package/dist/proxy-DPNgM7TE.mjs +2 -0
- package/dist/{registry-DH4sc1dt.mjs → registry-xB8Wgmyj.mjs} +1 -1
- package/dist/{renderer-pid-9tJnZ_9N.mjs → renderer-pid-7jbTR8f5.mjs} +1 -1
- package/dist/search-defaults-CJik67or.mjs +1 -0
- package/dist/server/plugin-api.mjs +1 -1
- package/dist/sourcemap-DqEW15Ao.mjs +1 -0
- package/dist/streaming-Dbk4eStJ.mjs +1 -0
- package/dist/{transform-DOxzeWPB.mjs → transform-D-peM3aO.mjs} +2 -2
- package/dist/{wasm-CZ_HTfKR.mjs → wasm-CZajRaad.mjs} +6 -6
- package/dist/{webcrack-C1iYG_EX.mjs → webcrack-phEfVt5y.mjs} +3 -3
- package/dist/{workflow-BdwQmARn.mjs → workflow-wkXb3x-U.mjs} +3 -3
- package/package.json +2 -2
- package/dist/CodeInjector-Cll_7bLJ.mjs +0 -1
- package/dist/DOMInspector-C19J4zeq.mjs +0 -95
- package/dist/DetailedDataManager-DmQ1LT-W.mjs +0 -1
- package/dist/ExtensionManager-BD724zkO.mjs +0 -1
- package/dist/MCPServer.search.handlers.domain-BbS-6LnX.mjs +0 -1
- package/dist/MemoryScanner-g1_L1ub5.mjs +0 -1
- package/dist/NativeMemoryManager.impl-DniBe2wf.mjs +0 -1
- package/dist/NetworkMonitor-B_-au6aV.mjs +0 -185
- package/dist/PageController-Dfsm1_o7.mjs +0 -1
- package/dist/PointerChainEngine-BhCUkmxY.mjs +0 -1
- package/dist/PrerequisiteError-BjCQA-gK.mjs +0 -1
- package/dist/ScriptManager-LWGPTdvD.mjs +0 -7
- package/dist/ServerRuntimeState-D2bWHqEE.mjs +0 -1
- package/dist/ToolCatalog-CYdD9F5f.mjs +0 -1
- package/dist/ToolRouter.policy-CfhJczkt.mjs +0 -4
- package/dist/VersionDetector-CHT36Az0.mjs +0 -9
- package/dist/apk-packer-BqXcInnX.mjs +0 -1
- package/dist/binary-instrument-DU7V6TUM.mjs +0 -7
- package/dist/binary-secrets-PdMVoyt0.mjs +0 -1
- package/dist/browser-Qqco2rOT.mjs +0 -11
- package/dist/collector-Bpl6qy2L.mjs +0 -1
- package/dist/constants-BYj8Xek8.mjs +0 -1
- package/dist/coordination-CWXW1o8K.mjs +0 -1
- package/dist/dart-inspector-7AkPeZ_Q.mjs +0 -0
- package/dist/debugger-DyALjYMk.mjs +0 -1
- package/dist/definitions-BftdXgXI.mjs +0 -1
- package/dist/definitions-Bio5XJYy.mjs +0 -1
- package/dist/definitions-CMZRSy3k.mjs +0 -1
- package/dist/definitions-DP1vgxEY.mjs +0 -1
- package/dist/definitions-Tls8c0A0.mjs +0 -1
- package/dist/ensure-browser-core-DxWC-NTp.mjs +0 -1
- package/dist/flat-target-session-DvcQX7J5.mjs +0 -1
- package/dist/handlers-8zN_vBIz.mjs +0 -1
- package/dist/handlers-DHO3rjsW.mjs +0 -1
- package/dist/handlers-FJ80VzUI.mjs +0 -2
- package/dist/handlers-VHWrxbM_.mjs +0 -1
- package/dist/handlers-mPFiNPe8.mjs +0 -302
- package/dist/jadx-search-B_Yse0Zh.mjs +0 -5
- package/dist/maintenance-BUpIukhg.mjs +0 -1
- package/dist/manifest-B7NB2rh2.mjs +0 -1
- package/dist/manifest-BDi4nbH1.mjs +0 -1
- package/dist/manifest-BLDfkE7n.mjs +0 -1
- package/dist/manifest-BcXbB4gf.mjs +0 -1
- package/dist/manifest-Bdnc_vrc.mjs +0 -1
- package/dist/manifest-BuYKgCnp.mjs +0 -1
- package/dist/manifest-CBfNnGPV.mjs +0 -1
- package/dist/manifest-CPS1Xv69.mjs +0 -1
- package/dist/manifest-CRryuZF4.mjs +0 -1
- package/dist/manifest-CvTe5ZGV2.mjs +0 -1
- package/dist/manifest-D-5GH0DV.mjs +0 -1
- package/dist/manifest-D3Ssf3IC.mjs +0 -1
- package/dist/manifest-D5ck3NvC.mjs +0 -1
- package/dist/manifest-DG19q-Ld.mjs +0 -1
- package/dist/manifest-DLMlD0Zc.mjs +0 -1
- package/dist/manifest-DwL2ik8P.mjs +0 -1
- package/dist/manifest-ItF5P8A12.mjs +0 -1
- package/dist/manifest-KZphqIyX.mjs +0 -1
- package/dist/manifest-RcpX_MyZ.mjs +0 -123
- package/dist/manifest-Zy7Odg5J.mjs +0 -1
- package/dist/manifest-ff1H7Pdp.mjs +0 -1
- package/dist/manifest-iuhF6pTL2.mjs +0 -1
- package/dist/manifest-yC16OhL2.mjs +0 -1
- package/dist/matchesWildcardPattern-BAG6LvX5.mjs +0 -1
- package/dist/native-j8l473zn.mjs +0 -961
- package/dist/network-T0VRwNPd.mjs +0 -7
- package/dist/outputPaths-B4Ic4RZh.mjs +0 -2
- package/dist/platform-CzaQtISh.mjs +0 -93
- package/dist/playwright-cdp-fallback-DqFdx9-s.mjs +0 -1
- package/dist/process-CWhsCWrf.mjs +0 -2
- package/dist/proxy-DZFlDsG3.mjs +0 -2
- package/dist/search-defaults-lYBVn_3L.mjs +0 -1
- package/dist/shared-state-board-BSjXLUV1.mjs +0 -1
- package/dist/sourcemap-Dh3Ai_ur.mjs +0 -1
- package/dist/streaming-BcJ0B6ao.mjs +0 -1
- package/dist/types-D9EiE5o9.mjs +0 -1
- /package/dist/{CacheAdapters-CsNtQIR8.mjs → CacheAdapters-BlDrQg8f.mjs} +0 -0
- /package/dist/{EventBus-DL8iLA09.mjs → EventBus-Cm-t-B65.mjs} +0 -0
- /package/dist/{EvidenceGraphBridge-BtbwXsLC.mjs → EvidenceGraphBridge-DBDc0wUA.mjs} +0 -0
- /package/dist/{HookGeneratorBuilders.core.generators.storage-DzD6dIJd.mjs → HookGeneratorBuilders.core.generators.storage-CWaWpOHa.mjs} +0 -0
- /package/dist/{InstrumentationSession-D_G1ZPyd.mjs → InstrumentationSession-c5qZyp7d.mjs} +0 -0
- /package/dist/{ResponseBuilder-BfWP-uaT.mjs → ResponseBuilder-nPXl_khE.mjs} +0 -0
- /package/dist/{RingBuffer-Dm54ELKT.mjs → RingBuffer-B6RTHmij.mjs} +0 -0
- /package/dist/{StealthVerifier-BmcxfwSF.mjs → StealthVerifier-DMBrtkhN.mjs} +0 -0
- /package/dist/{ToolError-DWU_z7gp.mjs → ToolError-g3rjWzhx.mjs} +0 -0
- /package/dist/{authorization-schema-BOFwSXUN.mjs → authorization-schema-Jtikc5Yt.mjs} +0 -0
- /package/dist/{bind-helpers-m2U8glkF.mjs → bind-helpers-D0mGAOof.mjs} +0 -0
- /package/dist/{capabilities-CyXuKUl1.mjs → capabilities-L1ax5EHS.mjs} +0 -0
- /package/dist/{chunk-C_pMuVsO.mjs → chunk-88NL7fhV.mjs} +0 -0
- /package/dist/{concurrency-DCr8WQ2M.mjs → concurrency-Dehnw4JC.mjs} +0 -0
- /package/dist/{evidence-graph-bridge-CV_UdYqj.mjs → evidence-graph-bridge-eT9icP6a.mjs} +0 -0
- /package/dist/{formatAddress-vLA_hOJt.mjs → formatAddress-DAcw4Ckg.mjs} +0 -0
- /package/dist/{logger-sBC6IdRT.mjs → logger-CCikqqvj.mjs} +0 -0
- /package/dist/{response-C7rKQst4.mjs → response-B1RuVVfD.mjs} +0 -0
- /package/dist/{ssrf-policy-CsIJGkpd.mjs → ssrf-policy-B72vdy23.mjs} +0 -0
- /package/dist/{tool-builder-qif8M9-K.mjs → tool-builder-CpLh-UQd.mjs} +0 -0
- /package/dist/{types-Fz69RzbZ.mjs → types-BzPBzmVB.mjs} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Br as e,zr as t}from"./constants-BYj8Xek8.mjs";import{i as n}from"./artifacts-CkodUM4j.mjs";import{s as r}from"./PageController-Dfsm1_o7.mjs";import{n as i,t as a}from"./flat-target-session-DvcQX7J5.mjs";import"./definitions-BYwATKc-.mjs";import{dirname as o,resolve as s}from"node:path";import{mkdir as c,writeFile as l}from"node:fs/promises";const u=new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e,t]));function d(e){let t=(e&1)==1,n=e>>1;return t?-n:n}function f(e){let t=[],n=0;for(;n<e.length;){let r=0,i=0,a=!0;for(;a;){let t=e.charAt(n);if(!t)throw Error(`Unexpected end of VLQ segment: "${e}"`);n+=1;let o=u.get(t);if(o===void 0)throw Error(`Invalid VLQ base64 char "${t}" in segment "${e}"`);a=(o&32)!=0;let s=o&31;r+=s<<i,i+=5}t.push(d(r))}return t}function p(e){let t=[],n=0;for(;n<e.length;){let r=0,i=0,a=!0;for(;a;){let t=e.charAt(n);if(!t)throw Error(`Unexpected end of VLQ segment: "${e}"`);n+=1;let o=u.get(t);if(o===void 0)throw Error(`Invalid VLQ base64 char "${t}" in segment "${e}"`);a=(o&32)!=0;let s=o&31;r+=s<<i,i+=5}t.push(r)}return t}function m(e){if(!e)return[];let t=[],n=0,r=0,i=0,a=0,o=e.split(`;`);for(let e=0;e<o.length;e+=1){let s=o[e]??``,c=0;if(!s)continue;let l=s.split(`,`);for(let o of l){if(!o)continue;let s=f(o),l=s[0];if(l===void 0)continue;c+=l;let u={generatedLine:e+1,generatedColumn:c};s.length>=4&&(n+=s[1]??0,r+=s[2]??0,i+=s[3]??0,u.sourceIndex=n,u.originalLine=r+1,u.originalColumn=i,s.length>=5&&(a+=s[4]??0,u.nameIndex=a)),t.push(u)}}return t}function h(e){if(!e)return{mappingsCount:0,segmentCount:0};let t=0,n=0,r=!1;for(let i=0;i<e.length;i++){let a=e[i];a===`;`?(r&&t++,r=!1):a===`,`?n++:r||(r=!0,n++)}return r&&t++,{mappingsCount:t,segmentCount:n}}function g(e){return{content:[{type:`text`,text:JSON.stringify(e,null,2)}]}}function _(e,t){return g({success:!1,tool:e,error:t instanceof Error?t.message:String(t)})}function v(e){return typeof e==`object`&&e?e:{}}function y(e){return typeof e==`string`?e:void 0}function b(e){return/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(e)}function x(e,t){return typeof e==`boolean`?e:t}function S(e,t){if(typeof e!=`string`||e.trim().length===0)throw Error(`${t} is required`);return e.trim()}function C(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}async function w(e){if(e.detach)try{await e.detach()}catch{}}async function T(e,t,n){try{await e.send(t,n)}catch{}}async function E(e){await new Promise(t=>setTimeout(()=>t(),e))}var D=class{state;constructor(e){this.state=e}async handleExtensionListInstalled(e){let t=await(await this.state.collector.getActivePage()).createCDPSession();try{return g((await this.getExtensionTargets(t)).map(e=>({extensionId:e.extensionId,name:e.name,type:e.type,url:e.url})))}catch(e){return _(`extension_list_installed`,e)}finally{await w(t)}}async handleExtensionExecuteInContext(e){let t=S(e.extensionId,`extensionId`),n=S(e.code,`code`),r=x(e.returnByValue,!0),o=await(await this.state.collector.getActivePage()).createCDPSession(),s=null;try{let e=await this.getExtensionTargets(o,t);if(e.length===0)throw Error(`No background target found for extension: ${t}`);let i=this.pickPreferredExtensionTarget(e);s=await a(o,i.targetId);let c=await this.evaluateInAttachedTarget(s,n,r);return g({extensionId:t,target:{type:i.type,url:i.url,name:i.name},result:c.result,exceptionDetails:c.exceptionDetails})}catch(e){return _(`extension_execute_in_context`,e)}finally{s&&await i(o,s).catch(()=>void 0),await w(o)}}async getExtensionTargets(e,t){let n=v(await e.send(`Target.getTargets`)),r=Array.isArray(n.targetInfos)?n.targetInfos:[],i=new Set([`service_worker`,`background_page`]),a=[];for(let e of r){let n=v(e),r=y(n.targetId),o=y(n.type),s=y(n.url);if(!r||!o||!s||!i.has(o))continue;let c=this.extractExtensionId(s);if(!c||t&&c!==t)continue;let l=y(n.title)??``;a.push({targetId:r,extensionId:c,name:l||c,type:o,url:s})}return a.sort((e,t)=>{let n=e.type===`service_worker`?0:1,r=t.type===`service_worker`?0:1;return n===r?e.extensionId.localeCompare(t.extensionId):n-r}),a}pickPreferredExtensionTarget(e){return e.find(e=>e.type===`service_worker`)??e[0]}extractExtensionId(e){return e.match(/^chrome-extension:\/\/([a-p]{32})(?:\/|$)/i)?.[1]??null}async evaluateInAttachedTarget(e,t,n){let r=v(await e.send(`Runtime.evaluate`,{expression:t,returnByValue:n,awaitPromise:!0})),i=v(r.result);return{result:n&&i.value!==void 0?i.value:Object.keys(i).length>0?i:null,exceptionDetails:r.exceptionDetails===void 0?null:r.exceptionDetails}}};function O(e,t,n){return A(e,t,n).then(e=>{let t=m(e.map.mappings),n=new Set(t.map(e=>e.generatedLine));return{resolvedUrl:e.resolvedUrl,map:e.map,mappings:t,mappingsCount:n.size,segmentCount:t.length}})}function k(e,t,n){return A(e,t,n).then(e=>{let{mappingsCount:t,segmentCount:n}=h(e.map.mappings);return{resolvedUrl:e.resolvedUrl,map:e.map,mappingsCount:t,segmentCount:n}})}async function A(e,t,n){let r=F(e,t??``),i=``;i=r.startsWith(`data:`)?P(r):await M(r,n);let a;try{a=JSON.parse(i)}catch{throw Error(`Invalid SourceMap JSON: ${r}`)}return{resolvedUrl:r,map:j(a)}}function j(e){let t=v(e);if(t.version!==3)throw Error(`Only SourceMap version 3 is supported`);let n=y(t.mappings);if(n===void 0)throw Error(`SourceMap.mappings is required`);let r=(Array.isArray(t.sources)?t.sources:[]).map(e=>y(e)).filter(e=>typeof e==`string`),i=(Array.isArray(t.names)?t.names:[]).map(e=>y(e)).filter(e=>typeof e==`string`),a=y(t.sourceRoot),o;return Array.isArray(t.sourcesContent)&&(o=t.sourcesContent.map(e=>typeof e==`string`?e:null)),{version:3,sources:r,sourcesContent:o,mappings:n,names:i,sourceRoot:a}}async function M(e,t){N(e);{let t=new AbortController,n=setTimeout(()=>t.abort(),1e4);try{let n=await fetch(e,{signal:t.signal});if(!n.ok)throw Error(`HTTP ${n.status} ${n.statusText}`);return await n.text()}catch(t){if(t.name===`AbortError`)throw Error(`SourceMap fetch timed out after 10s: ${e}`,{cause:t})}finally{clearTimeout(n)}}let n=await r(await t.getActivePage(),async e=>{let t=new AbortController,n=setTimeout(()=>t.abort(),1e4);try{let n=await fetch(e,{signal:t.signal});return n.ok?await n.text():`__FETCH_ERROR__HTTP ${n.status} ${n.statusText}`}catch(e){return`__FETCH_ERROR__${e instanceof Error?e.message:String(e)}`}finally{clearTimeout(n)}},e);if(typeof n!=`string`)throw Error(`Failed to fetch SourceMap content`);if(n.startsWith(`__FETCH_ERROR__`))throw Error(n.slice(15)||`Failed to fetch SourceMap content`);return n}function N(e){let t;try{t=new URL(e)}catch{throw Error(`Invalid URL: ${e}`)}if(t.protocol!==`http:`&&t.protocol!==`https:`)throw Error(`Blocked: unsupported protocol "${t.protocol}"`);let n=t.hostname.toLowerCase(),r=[/^127\./,/^10\./,/^172\.(1[6-9]|2\d|3[01])\./,/^192\.168\./,/^0\./,/^169\.254\./,/^\[?::1\]?$/,/^\[?fe80:/i,/^\[?fc00:/i,/^\[?fd/i];if([`localhost`,`metadata.google.internal`,`metadata`].includes(n))throw Error(`SSRF blocked: hostname "${n}" is not allowed`);for(let e of r)if(e.test(n))throw Error(`SSRF blocked: protected/reserved IP "${n}" is not allowed`)}function P(e){let t=e.indexOf(`,`);if(t===-1)throw Error(`Invalid data URI source map`);let n=e.slice(0,t),r=e.slice(t+1);return/;base64/i.test(n)?Buffer.from(r,`base64`).toString(`utf-8`):decodeURIComponent(r)}function F(e,t){let n=e.trim();if(!n)return``;if(n.startsWith(`data:`)||b(n)||!t)return n;try{return new URL(n,t).toString()}catch{return n}}function I(e){let t=e.slice(-8192),n=/(?:\/\/[@#]\s*sourceMappingURL=([^\s]+)|\/\*[@#]\s*sourceMappingURL=([^*]+)\*\/)/g,r,i=null;for(;r=n.exec(t),r;){let e=(r[1]??r[2]??``).trim();e&&(i=e)}return i}function L(e,t){if(!e)return t;if(!t)return e;if(b(t)||t.startsWith(`/`))return t;if(b(e))try{let n=e.endsWith(`/`)?e:`${e}/`;return new URL(t,n).toString()}catch{return`${e.replace(/\/+$/g,``)}/${t.replace(/^\/+/g,``)}`}return`${e.replace(/\/+$/g,``)}/${t.replace(/^\/+/g,``)}`}function R(e,t){let n=e.trim();if(!n)return`source_${t+1}.js`;if(n.startsWith(`webpack://`)&&(n=n.slice(10)),n.startsWith(`data:`))return`inline/source_${t+1}.txt`;if(b(n))try{let e=new URL(n);n=`${e.hostname}${e.pathname}`}catch{n=n.replace(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//,``)}n=n.replace(/[?#].*$/g,``),n=n.replace(/^[A-Za-z]:[\\/]/,``),n=n.replace(/^\/+/,``);let r=n.split(/[\\/]+/).map(e=>z(e)).filter(e=>e!==``&&e!==`.`&&e!==`..`);return r.length===0?`source_${t+1}.js`:r.join(`/`)}function z(e){let t=Array.from(e,e=>{let t=e.codePointAt(0);return t!==void 0&&(t<=31||`<>:"|?*`.includes(e))?`_`:e}).join(``).replace(/\s+/g,` `).trim();return!t||t===`.`||t===`..`?`_`:t}function B(e){return e.replace(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//,``).replace(/[^a-zA-Z0-9_-]/g,`_`).replace(/_+/g,`_`).replace(/^_|_$/g,``).slice(0,48)}function V(e){let t=0;for(let n of e)n&&(t+=1+V(n.children));return t}var H=class{state;constructor(e){this.state=e}async handleSourcemapDiscover(t){let n=x(t.includeInline,!0),r=await(await this.state.collector.getActivePage()).createCDPSession(),i=new Map,a=e=>{let t=v(e),n=y(t.scriptId);if(!n)return;let r=y(t.url)??``,a=y(t.sourceMapURL)??``,o=i.get(n),s=a?F(a,r):o?.sourceMapUrl??``;i.set(n,{scriptId:n,scriptUrl:r||o?.scriptUrl||``,sourceMapUrl:s,isInline:s.startsWith(`data:`)})};try{r.on?.(`Debugger.scriptParsed`,a),await r.send(`Debugger.enable`),await E(e);for(let e of i.values())if(!e.sourceMapUrl&&!(!e.scriptId||!e.scriptUrl))try{let t=y(v(await r.send(`Debugger.getScriptSource`,{scriptId:e.scriptId})).scriptSource);if(!t)continue;let n=I(t);if(!n)continue;let i=F(n,e.scriptUrl);e.sourceMapUrl=i,e.isInline=i.startsWith(`data:`)}catch{continue}return g(Array.from(i.values()).filter(e=>e.sourceMapUrl.length>0).filter(e=>n||!e.isInline).toSorted((e,t)=>{let n=`${e.scriptUrl}|${e.scriptId}`,r=`${t.scriptUrl}|${t.scriptId}`;return n.localeCompare(r)}).map(e=>({scriptUrl:e.scriptUrl,sourceMapUrl:e.sourceMapUrl,isInline:e.isInline,scriptId:e.scriptId})))}catch(e){return _(`sourcemap_discover`,e)}finally{r.off?.(`Debugger.scriptParsed`,a),await T(r,`Debugger.disable`),await w(r)}}async handleSourcemapFetchAndParse(e){try{let t=await O(S(e.sourceMapUrl,`sourceMapUrl`),C(e.scriptUrl),this.state.collector),n={sources:t.map.sources,mappingsCount:t.mappingsCount,segmentCount:t.segmentCount};return Array.isArray(t.map.sourcesContent)&&(n.sourcesContent=t.map.sourcesContent),g(n)}catch(e){return _(`sourcemap_fetch_and_parse`,e)}}async handleSourcemapCoverage(e){try{let t=S(e.sourceMapUrl,`sourceMapUrl`),n=await O(t,C(e.scriptUrl),this.state.collector),r=new Map,i=new Map,a=0;for(let e=0;e<n.mappings.length;e+=1){let t=n.mappings[e];if(!t)continue;let o=n.mappings[e+1],s=1;if(o&&o.generatedLine===t.generatedLine&&(s=Math.max(o.generatedColumn-t.generatedColumn,1)),t?.sourceIndex===void 0){a+=s;continue}r.set(t.sourceIndex,(r.get(t.sourceIndex)??0)+s),i.set(t.sourceIndex,(i.get(t.sourceIndex)??0)+1)}let o=n.map.sources.map((e,t)=>{let a=r.get(t)??0,o=i.get(t)??0,s=n.map.sourcesContent?.[t],c=typeof s==`string`?Buffer.byteLength(s,`utf-8`):null,l=c===null?null:Math.max(c-a,0),u=c&&c>0?Number((a/c*100).toFixed(2)):null;return{source:e,generatedSegments:o,mappedBytes:a,coveredBytes:a,unmappedBytes:l,coveragePercent:u,coveredPercent:u,sourceContentBytes:c}}),s=o.reduce((e,t)=>e+(typeof t.coveredBytes==`number`?t.coveredBytes:0),0);return g({sourceMapUrl:t,resolvedUrl:n.resolvedUrl,totalMappings:n.segmentCount,mappedSourceCount:o.filter(e=>e.generatedSegments>0).length,coveredBytes:s,uncoveredGeneratedBytes:a,buckets:[{source:`[unmapped]`,generatedSegments:n.mappings.filter(e=>e.sourceIndex===void 0).length,coveredBytes:a}],sources:o})}catch(e){return _(`sourcemap_coverage`,e)}}async handleSourcemapLookup(e){try{let t=S(e.sourceMapUrl,`sourceMapUrl`),n=C(e.scriptUrl),r=Number(e.line),i=Number(e.column);if(!Number.isInteger(r)||r<1)throw Error(`line must be a positive integer`);if(!Number.isFinite(i)||i<0)throw Error(`column must be a non-negative number`);let a=await O(t,n,this.state.collector),o=a.mappings.find(e=>e.generatedLine===r&&e.generatedColumn===i);if(!o){let e=a.mappings.filter(e=>e.generatedLine===r&&e.generatedColumn<=i);o=e.length>0?e[e.length-1]:void 0}if(!o||o.sourceIndex===void 0)return g({success:!1,sourceMapUrl:t,resolvedUrl:a.resolvedUrl,generated:{line:r,column:i},error:`No original source mapping found for generated position`});let s=o.sourceIndex;return g({success:!0,sourceMapUrl:t,resolvedUrl:a.resolvedUrl,generated:{line:r,column:i},original:{source:a.map.sources[s]??null,line:o.originalLine??null,column:o.originalColumn??null,name:typeof o.nameIndex==`number`?a.map.names[o.nameIndex]??null:null,sourceIndex:s},matchType:o.generatedLine===r&&o.generatedColumn===i?`exact`:`closest-preceding`})}catch(e){return _(`sourcemap_lookup`,e)}}async handleSourcemapReconstructTree(e){try{let t=S(e.sourceMapUrl,`sourceMapUrl`),r=C(e.outputDir),i=await k(t,void 0,this.state.collector),a=await n({category:`reports`,toolName:`sourcemap-tree`,target:B(i.resolvedUrl),ext:`tmp`,...r?{customDir:r}:{}}),u=a.absolutePath.replace(/\.tmp$/i,``),d=a.displayPath.replace(/\.tmp$/i,``);await c(u,{recursive:!0});let f=[],p=0;for(let e=0;e<i.map.sources.length;e+=1){let t=i.map.sources[e]??``,n=L(i.map.sourceRoot,t),r=R(n,e),a=s(u,r),d=i.map.sourcesContent&&e<i.map.sourcesContent.length?i.map.sourcesContent[e]:null,m=typeof d==`string`?d:`/* source content missing in source map: ${n} */\n`;try{await c(o(a),{recursive:!0}),await l(a,m,`utf-8`),f.push(r)}catch{p+=1}}return g({outputDir:d,totalSources:i.map.sources.length,writtenFiles:f.length,skippedFiles:p,files:f})}catch(e){return _(`sourcemap_reconstruct_tree`,e)}}async handleSourcemapParseV4(e){let n=S(e.sourceMapUrl,`sourceMapUrl`),r=x(e.extractScopes,!0),i=x(e.extractDebugIds,!0);try{let a=await M(n,this.state.collector),o=JSON.parse(a),s=Array.isArray(o.names)?o.names.filter(e=>typeof e==`string`):[],c=Array.isArray(o.sources)?o.sources.filter(e=>typeof e==`string`):[],l={version:o.version,sources:c.length,names:s.length,mappings:typeof o.mappings==`string`?o.mappings.length:0,hasFile:typeof o.file==`string`,hasSourceRoot:typeof o.sourceRoot==`string`},u={success:!0,sourceMapUrl:n,version:o.version,v3Baseline:l};if(i&&typeof o.debugId==`string`){let e=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(o.debugId);u.debugId=o.debugId,u.debugIdValid=e}let d=typeof o.scopes==`string`?o.scopes:typeof o.x_scopes==`string`?o.x_scopes:void 0;if(r&&d)try{let e=U(d,s,c);u.isV4=!0,u.scopes=e,u.scopeCount=V(e.originalScopes),u.generatedRangeCount=e.generatedRanges.length}catch(e){u.success=!1,u.scopeDecodeError=e instanceof Error?e.message:String(e),u.rawScopesField=d.substring(0,t)+(d.length>t?`...`:``),u.isV4=!0}let f={};return o.x_scopeLines&&(f.x_scopeLines=o.x_scopeLines),o.x_namesIdx&&(f.x_namesIdx=o.x_namesIdx),o.x_computedBases&&(f.x_computedBases=o.x_computedBases),Object.keys(f).length>0&&(u.extensions=f),!d&&!o.debugId&&Object.keys(f).length===0&&(u.isV4=!1,u.note=`No v4 fields (scopes/debugId) found. This source map is v3 only.`),e.compareV3===!0&&(u.comparison={v3Only:[`version`,`sources`,`names`,`mappings`,`file`,`sourceRoot`],v4Only:Object.keys(u).filter(e=>![`success`,`sourceMapUrl`,`version`,`v3Baseline`,`comparison`].includes(e))}),g(u)}catch(e){return _(`sourcemap_parse_v4`,e)}}};function U(e,t,n){let r=e.split(`,`),i={value:0},a=[],o=0,s=0,c=0,l=0,u=0,d=0,m=e=>e>0&&e<=t.length?t[e-1]:void 0;function h(e){return e>=0&&e<r.length?r[e]:void 0}function g(e,n){let l=h(i.value++);if(!l?.startsWith(`B`))throw Error(`expected original scope start 'B', got "${l}"`);let u=p(l.slice(1)),d=f(l.slice(1)),m=0,_=u[m++]??0,v=n.line+(u[m++]??0),y=u[m++]??0,b=v===n.line?n.column+y:y,x;_&1&&(o+=d[m++]??0,x=t[o]);let S;_&2&&(s+=d[m++]??0,S=t[s]);let C={index:a.length,sourceIndex:e,start:{line:v,column:b},end:{line:v,column:b},name:x,kind:S,isStackFrame:(_&4)!=0,variables:[],children:[]};a.push(C);let w={line:v,column:b};for(;i.value<r.length;){let n=r[i.value]??``;if(n.startsWith(`D`)){i.value++;let e=f(n.slice(1));for(let n of e)c+=n,C.variables.push(t[c]??`<name:${c}>`);continue}if(n.startsWith(`B`)){let t=g(e,w);w={...t.end},C.children.push(t);continue}break}let T=h(i.value++);if(!T?.startsWith(`C`))throw Error(`expected original scope end 'C', got "${T}"`);let E=p(T.slice(1)),D=w.line+(E[0]??0),O=E[1]??0;return C.end={line:D,column:D===w.line?w.column+O:O},C}function _(e){let t=h(i.value++);if(!t?.startsWith(`E`))throw Error(`expected generated range start 'E', got "${t}"`);let n=p(t.slice(1)),a=f(t.slice(1)),o=0,s=n[o++]??0,c=(s&1)!=0,g=e.line+(c?n[o++]??0:0),v=n[o++]??0,y=g===e.line?e.column+v:v,b;s&2&&(d+=a[o++]??0,b=d);let x={start:{line:g,column:y},end:{line:g,column:y},isStackFrame:(s&4)!=0,isHidden:(s&8)!=0,definitionIndex:b,children:[]},S=new Map,C=0,w={line:g,column:y};for(;i.value<r.length;){let e=r[i.value]??``;if(e.startsWith(`G`)){i.value++,x.bindings=p(e.slice(1)).map(e=>m(e));continue}if(e.startsWith(`H`)){i.value++;let t=p(e.slice(1));x.bindings||=[];let n=0;C+=t[n++]??0;let r=C,a=[],o=S.get(r)??{line:x.start.line,column:x.start.column};for(;n<t.length;){let e=m(t[n++]??0),r=t[n++]??0,i=o.line+r,s=t[n++]??0,c=i===o.line?o.column+s:s;a.push({from:{line:i,column:c},expression:e}),o={line:i,column:c}}for(S.set(r,o);x.bindings.length<=r;)x.bindings.push(void 0);x.bindings[r]=a;continue}if(e.startsWith(`I`)){i.value++;let t=p(e.slice(1));x.callsite={sourceIndex:t[0]??0,line:t[1]??0,column:t[2]??0};continue}if(e.startsWith(`E`)){let e=_(w);w={...e.end},x.children.push(e);continue}break}let T=h(i.value++);if(!T?.startsWith(`F`))throw Error(`expected generated range end 'F', got "${T}"`);let E=p(T.slice(1)),D=E.length===2,O=w.line+(D?E[0]??0:0),k=E[+!!D]??0,A=O===w.line?w.column+k:k;return x.end={line:O,column:A},l=O,u=A,x}let v=Array.from({length:n.length},()=>null);for(let e=0;e<n.length&&i.value<r.length;e++){if((r[i.value]??``)===``){i.value++;continue}if(!(r[i.value]??``).startsWith(`B`))break;v[e]=g(e,{line:0,column:0}),(r[i.value]??``)===``&&i.value++}let y=[];for(;i.value<r.length;){if((r[i.value]??``)===``){i.value++;continue}y.push(_({line:l,column:u}))}return{originalScopes:v,generatedRanges:y}}var W=class{collector;extension;sourcemap;constructor(e){this.collector=e;let t={collector:e};this.extension=new D(t),this.sourcemap=new H(t)}handleExtensionListInstalled(e){return this.extension.handleExtensionListInstalled(e)}handleExtensionExecuteInContext(e){return this.extension.handleExtensionExecuteInContext(e)}handleSourcemapDiscover(e){return this.sourcemap.handleSourcemapDiscover(e)}handleSourcemapFetchAndParse(e){return this.sourcemap.handleSourcemapFetchAndParse(e)}handleSourcemapCoverage(e){return this.sourcemap.handleSourcemapCoverage(e)}handleSourcemapLookup(e){return this.sourcemap.handleSourcemapLookup(e)}handleSourcemapReconstructTree(e){return this.sourcemap.handleSourcemapReconstructTree(e)}handleSourcemapParseV4(e){return this.sourcemap.handleSourcemapParseV4(e)}};export{W as SourcemapToolHandlers};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./logger-sBC6IdRT.mjs";import{Ci as t,wi as n}from"./constants-BYj8Xek8.mjs";import{t as r}from"./RingBuffer-Dm54ELKT.mjs";import{o as i,s as a}from"./PageController-Dfsm1_o7.mjs";import"./definitions-RZYGD_Ey.mjs";function o(e){return{collector:e,wsSession:null,wsListeners:null,wsConfig:{enabled:!1,maxFrames:1e3},wsFramesByRequest:new Map,wsFrameOrder:new r(1e3),wsConnections:new Map,sseConfig:{maxEvents:2e3}}}function s(e){return{content:[{type:`text`,text:JSON.stringify(e,null,2)}]}}function c(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function l(e,t){let n;if(typeof e==`number`&&Number.isFinite(e))n=e;else if(typeof e==`string`){let t=Number(e.trim());Number.isFinite(t)&&(n=t)}return n===void 0&&(n=t.defaultValue),t.integer&&(n=Math.trunc(n)),n<t.min&&(n=t.min),n>t.max&&(n=t.max),n}function u(e){return e===`sent`||e===`received`||e===`all`?e:`all`}function d(e){try{return{regex:new RegExp(e)}}catch(e){return{error:e instanceof Error?e.message:String(e)}}}const f=e=>typeof e==`object`&&e?e:void 0,p=(e,t)=>{let n=f(e)?.[t];return typeof n==`string`?n:void 0},m=(e,t)=>{let n=f(e)?.[t];return typeof n==`number`?n:void 0},h=(e,t)=>{let n=f(e)?.[t];return f(n)};var g=class{s;constructor(e){this.s=e}async teardownWsSession(){if(this.s.wsSession&&this.s.wsListeners){try{this.s.wsSession.off(`Network.webSocketCreated`,this.s.wsListeners.created)}catch(t){e.debug(`[ws-teardown] Failed to remove webSocketCreated listener`,t)}try{this.s.wsSession.off(`Network.webSocketClosed`,this.s.wsListeners.closed)}catch(t){e.debug(`[ws-teardown] Failed to remove webSocketClosed listener`,t)}try{this.s.wsSession.off(`Network.webSocketHandshakeResponseReceived`,this.s.wsListeners.handshake)}catch(t){e.debug(`[ws-teardown] Failed to remove handshakeResponseReceived listener`,t)}try{this.s.wsSession.off(`Network.webSocketFrameSent`,this.s.wsListeners.frameSent)}catch(t){e.debug(`[ws-teardown] Failed to remove webSocketFrameSent listener`,t)}try{this.s.wsSession.off(`Network.webSocketFrameReceived`,this.s.wsListeners.frameReceived)}catch(t){e.debug(`[ws-teardown] Failed to remove webSocketFrameReceived listener`,t)}}if(this.s.wsSession)try{await this.s.wsSession.detach()}catch(t){e.debug(`[ws-teardown] Failed to detach CDP session`,t)}this.s.wsSession=null,this.s.wsListeners=null}handleWsFrame(e,r){let i=p(r,`requestId`);if(!i)return;if(!this.s.wsConnections.get(i)){if(this.s.wsConfig.urlFilter)return;this.s.wsConnections.set(i,{requestId:i,url:`unknown`,status:`open`,framesCount:0,createdTimestamp:Date.now()/1e3})}let a=this.s.wsConnections.get(i);if(!a||this.s.wsConfig.urlFilter&&a.url!==`unknown`&&!this.s.wsConfig.urlFilter.test(a.url))return;let o=h(r,`response`),s=m(o,`opcode`)??-1,c=p(o,`payloadData`)??``,l=c.length>t?`${c.slice(0,t)}…`:c,u=c.length>n?c.slice(0,n):c,d={requestId:i,timestamp:m(r,`timestamp`)??Date.now()/1e3,direction:e,opcode:s,payloadLength:c.length,payloadPreview:l,payloadSample:u,isBinary:s===2};this.appendWsFrame(i,d)}appendWsFrame(e,t){let n=this.s.wsFramesByRequest.get(e)??[];n.push(t),this.s.wsFramesByRequest.set(e,n);let r=this.s.wsConnections.get(e);r&&(r.framesCount+=1,r.status===`connecting`&&(r.status=`open`)),this.s.wsFrameOrder.push({requestId:e,frame:t}),this.enforceWsFrameLimit()}enforceWsFrameLimit(){for(;this.s.wsFrameOrder.length>this.s.wsConfig.maxFrames;){let e=this.s.wsFrameOrder.shift();if(!e)break;let t=this.s.wsFramesByRequest.get(e.requestId);t&&t.length>0&&(t.shift(),t.length===0?this.s.wsFramesByRequest.delete(e.requestId):this.s.wsFramesByRequest.set(e.requestId,t));let n=this.s.wsConnections.get(e.requestId);n&&(n.framesCount=Math.max(0,n.framesCount-1))}}getWsFrameStats(){let e=0,t=0;for(let n of this.s.wsFrameOrder)n.frame.direction===`sent`?e+=1:t+=1;return{total:this.s.wsFrameOrder.length,sent:e,received:t}}async handleWsMonitorEnable(e){let t=l(e.maxFrames,{defaultValue:1e3,min:1,max:2e4,integer:!0}),n=c(e.urlFilter),i;if(n){let e=d(n);if(e.error)return s({success:!1,error:`Invalid urlFilter regex: ${e.error}`});i=e.regex}await this.teardownWsSession(),this.s.wsFramesByRequest.clear(),this.s.wsFrameOrder=new r(t),this.s.wsConnections.clear();let a=await(await this.s.collector.getActivePage()).createCDPSession();await a.send(`Network.enable`);let o={created:e=>{let t=p(e,`requestId`),n=p(e,`url`);if(!t||!n||i&&!i.test(n))return;let r=this.s.wsConnections.get(t);this.s.wsConnections.set(t,{requestId:t,url:n,status:r?.status??`connecting`,framesCount:r?.framesCount??0,createdTimestamp:r?.createdTimestamp??Date.now()/1e3,closedTimestamp:r?.closedTimestamp,handshakeStatus:r?.handshakeStatus})},closed:e=>{let t=p(e,`requestId`);if(!t)return;let n=this.s.wsConnections.get(t);if(!n)return;n.status=`closed`;let r=m(e,`timestamp`);n.closedTimestamp=r===void 0?Date.now()/1e3:r},handshake:e=>{let t=p(e,`requestId`);if(!t)return;let n=this.s.wsConnections.get(t);if(!n)return;let r=m(h(e,`response`),`status`);r!==void 0&&(n.handshakeStatus=r,n.status=r>=100&&r<400?`open`:`error`)},frameSent:e=>{this.handleWsFrame(`sent`,e)},frameReceived:e=>{this.handleWsFrame(`received`,e)}};return a.on(`Network.webSocketCreated`,o.created),a.on(`Network.webSocketClosed`,o.closed),a.on(`Network.webSocketHandshakeResponseReceived`,o.handshake),a.on(`Network.webSocketFrameSent`,o.frameSent),a.on(`Network.webSocketFrameReceived`,o.frameReceived),this.s.wsSession=a,this.s.wsListeners=o,this.s.wsConfig={enabled:!0,maxFrames:t,urlFilterRaw:n,urlFilter:i},s({success:!0,message:`WebSocket monitor enabled`,config:{maxFrames:t,urlFilter:n??null},stats:{trackedConnections:this.s.wsConnections.size,capturedFrames:this.s.wsFrameOrder.length}})}async handleWsMonitorDisable(e){let t=this.getWsFrameStats(),n=Array.from(this.s.wsConnections.values()),r={success:!0,message:`WebSocket monitor disabled`,config:{maxFrames:this.s.wsConfig.maxFrames,urlFilter:this.s.wsConfig.urlFilterRaw??null},summary:{trackedConnections:n.length,activeConnections:n.filter(e=>e.status===`open`||e.status===`connecting`).length,closedConnections:n.filter(e=>e.status===`closed`).length,totalFrames:t.total,sentFrames:t.sent,receivedFrames:t.received}};return await this.teardownWsSession(),this.s.wsConfig={...this.s.wsConfig,enabled:!1},s(r)}async handleWsGetFrames(e){let t=u(e.direction),n=l(e.limit,{defaultValue:100,min:1,max:5e3,integer:!0}),r=l(e.offset,{defaultValue:0,min:0,max:2**53-1,integer:!0}),i=c(e.payloadFilter),a;if(i){let e=d(i);if(e.error)return s({success:!1,error:`Invalid payloadFilter regex: ${e.error}`});a=e.regex}let o=this.s.wsFrameOrder.toArray().map(e=>e.frame).filter(e=>t===`all`?!0:e.direction===t).filter(e=>a?a.test(e.payloadSample):!0),f=o.slice(r,r+n).map(e=>({requestId:e.requestId,timestamp:e.timestamp,direction:e.direction,opcode:e.opcode,payloadLength:e.payloadLength,payloadPreview:e.payloadPreview,isBinary:e.isBinary}));return s({success:!0,monitorEnabled:this.s.wsConfig.enabled,filters:{direction:t,payloadFilter:i??null},page:{offset:r,limit:n,returned:f.length,totalAfterFilter:o.length,hasMore:r+f.length<o.length,nextOffset:r+f.length<o.length?r+f.length:null},frames:f})}async handleWsGetConnections(e){let t=Array.from(this.s.wsConnections.values()).toSorted((e,t)=>e.createdTimestamp-t.createdTimestamp).map(e=>({requestId:e.requestId,url:e.url,status:e.status,framesCount:e.framesCount}));return s({success:!0,monitorEnabled:this.s.wsConfig.enabled,total:t.length,connections:t})}};function _(e){let t=window;t.__jshookSSEMonitor||={enabled:!0,patched:!1,maxEvents:e.maxEvents,urlFilterRaw:e.urlFilterRaw,events:[],sources:{}};let n=t.__jshookSSEMonitor;n.enabled=!0,n.maxEvents=e.maxEvents,n.urlFilterRaw=e.urlFilterRaw,n.events.length>n.maxEvents&&(n.events=n.events.slice(-n.maxEvents));let r=e=>{if(!n.urlFilterRaw)return!0;try{return new RegExp(n.urlFilterRaw).test(e)}catch{return!0}},i=e=>{if(typeof e==`string`)return e;if(e==null)return``;if(typeof e==`object`)try{return JSON.stringify(e)}catch{return`[unserializable]`}return String(e)},a=(e,t,a,o)=>{if(!n.enabled||!r(e))return;let s=i(a),c={sourceUrl:e,eventType:t,dataPreview:s.length>200?`${s.slice(0,200)}…`:s,dataLength:s.length,lastEventId:o,timestamp:Date.now()};for(n.events.push(c);n.events.length>n.maxEvents;)n.events.shift();let l=n.sources[e]??{url:e,status:`connecting`,eventCount:0};l.eventCount+=1,l.lastEventTimestamp=c.timestamp,n.sources[e]=l};if(t.EventSource===void 0)return{success:!1,error:`EventSource is not available in current page context`};if(!n.patched){let e=t.EventSource,i=function(t,i){let o=String(t),s=new e(t,i);if(r(o)){let e=n.sources[o]??{url:o,status:`connecting`,eventCount:0};n.sources[o]=e}s.addEventListener(`open`,()=>{let e=n.sources[o];e&&(e.status=`open`),a(o,`open`,``,null)}),s.addEventListener(`error`,()=>{let e=n.sources[o];e&&(e.status=`error`),a(o,`error`,``,null)}),s.addEventListener(`message`,e=>{let t=typeof e.lastEventId==`string`&&e.lastEventId.length>0?e.lastEventId:null;a(o,e.type||`message`,e.data,t)});let c=s.addEventListener.bind(s),l=(e,t,n)=>{c(e,t,n)};return Object.defineProperty(s,`addEventListener`,{value:(e,t,n)=>{if(e!==`message`&&e!==`open`&&e!==`error`&&t){l(e,n=>{let r=n,i=typeof r.lastEventId==`string`&&r.lastEventId.length>0?r.lastEventId:null;a(o,e,r.data,i),typeof t==`function`?t.call(s,n):t.handleEvent(n)},n);return}l(e,t,n)},configurable:!0,writable:!0}),s};i.prototype=e.prototype;try{Object.defineProperty(i,`CONNECTING`,{value:e.CONNECTING}),Object.defineProperty(i,`OPEN`,{value:e.OPEN}),Object.defineProperty(i,`CLOSED`,{value:e.CLOSED})}catch{}t.EventSource=i,n.originalEventSource=e,n.patched=!0}return{success:!0,message:`SSE monitor enabled`,patched:n.patched,urlFilter:n.urlFilterRaw,maxEvents:n.maxEvents,existingEvents:n.events.length}}var v=class{s;constructor(e){this.s=e}async enableSseInterceptor(e,t,n){let r=await this.s.collector.getActivePage();return n?.persistent?(await i(r,_,{maxEvents:e,urlFilterRaw:t}),{success:!0,message:`SSE monitor enabled (persistent — survives navigations)`,patched:!0,urlFilter:t,maxEvents:e,existingEvents:0}):await a(r,_,{maxEvents:e,urlFilterRaw:t})}async handleSseMonitorEnable(e){let t=l(e.maxEvents,{defaultValue:2e3,min:1,max:5e4,integer:!0}),n=c(e.urlFilter);if(n){let e=d(n);if(e.error)return s({success:!1,error:`Invalid urlFilter regex: ${e.error}`})}let r=e.persistent===!0,i=await this.enableSseInterceptor(t,n,{persistent:r});return i.success?(this.s.sseConfig={maxEvents:t,urlFilterRaw:n},s({success:!0,message:i.message,patched:i.patched,config:{maxEvents:this.s.sseConfig.maxEvents,urlFilter:this.s.sseConfig.urlFilterRaw??null},existingEvents:i.existingEvents})):s(i)}async handleSseGetEvents(e){let t=c(e.sourceUrl),n=c(e.eventType),r=l(e.limit,{defaultValue:100,min:1,max:5e3,integer:!0}),i=l(e.offset,{defaultValue:0,min:0,max:2**53-1,integer:!0});return s(await a(await this.s.collector.getActivePage(),e=>{let t=window.__jshookSSEMonitor;if(!t)return{success:!1,message:`SSE monitor is not enabled. Call sse_monitor_enable first.`};let n=t.events;e.sourceUrl&&(n=n.filter(t=>t.sourceUrl===e.sourceUrl)),e.eventType&&(n=n.filter(t=>t.eventType===e.eventType));let r=n.length,i=n.slice(e.offset,e.offset+e.limit);return{success:!0,filters:{sourceUrl:e.sourceUrl??null,eventType:e.eventType??null},page:{offset:e.offset,limit:e.limit,returned:i.length,totalAfterFilter:r,hasMore:e.offset+i.length<r,nextOffset:e.offset+i.length<r?e.offset+i.length:null},monitor:{enabled:t.enabled,patched:t.patched,maxEvents:t.maxEvents,urlFilter:t.urlFilterRaw??null,sourceCount:Object.keys(t.sources).length},events:i}},{sourceUrl:t,eventType:n,limit:r,offset:i}))}},y=class{collector;state;ws;sse;get wsConnections(){return this.state.wsConnections}get wsFrameOrder(){return this.state.wsFrameOrder}get wsConfig(){return this.state.wsConfig}get wsFramesByRequest(){return this.state.wsFramesByRequest}get sseConfig(){return this.state.sseConfig}constructor(e){this.collector=e,this.state=o(e),this.ws=new g(this.state),this.sse=new v(this.state)}handleWsMonitorDispatch=e=>String(e.action??``)===`disable`?this.ws.handleWsMonitorDisable(e):this.ws.handleWsMonitorEnable(e);handleWsMonitorEnable=e=>this.ws.handleWsMonitorEnable(e);handleWsMonitorDisable=e=>this.ws.handleWsMonitorDisable(e);handleWsGetFrames=e=>this.ws.handleWsGetFrames(e);handleWsGetConnections=e=>this.ws.handleWsGetConnections(e);handleSseMonitorEnable=e=>this.sse.handleSseMonitorEnable(e);handleSseGetEvents=e=>this.sse.handleSseGetEvents(e)};export{y as StreamingToolHandlers};
|
package/dist/types-D9EiE5o9.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./chunk-C_pMuVsO.mjs";import{exec as t,execFile as n}from"child_process";import{promisify as r}from"util";var i=e({execAsync:()=>a,execFileAsync:()=>o,executePowerShellScript:()=>c});const a=r(t),o=r(n);function s(){return process.platform===`win32`?`powershell.exe`:`powershell`}async function c(e,t={}){let n=[`-NoProfile`,`-ExecutionPolicy`,`Bypass`,`-EncodedCommand`,Buffer.from(e,`utf16le`).toString(`base64`)],{stdout:r,stderr:i}=await o(s(),n,{maxBuffer:t.maxBuffer??1024*1024,timeout:t.timeout,windowsHide:!0});return{stdout:String(r??``),stderr:String(i??``)}}export{i,o as n,c as r,a as t};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|