@jshookmcp/jshook 0.3.3 → 0.3.4

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.
Files changed (311) hide show
  1. package/README.md +19 -4
  2. package/README.zh.md +19 -4
  3. package/dist/AntiCheatDetector-B-mz4DK_.mjs +1 -0
  4. package/dist/{BrowserSessionCoordinator-QIt3tetp.mjs → BrowserSessionCoordinator-Cdic8FsH.mjs} +1 -1
  5. package/dist/CodeAnalyzerDataFlow-a-NkwcaG.mjs +2 -0
  6. package/dist/CodeInjector-B099WO6x.mjs +1 -0
  7. package/dist/ConsoleMonitor-BZRqrBH-.mjs +306 -0
  8. package/dist/CpuEngine-BC8jayy9.mjs +1 -0
  9. package/dist/DartAotExecutor-B7WVTKsd.mjs +1 -0
  10. package/dist/DartAotLoader-BxdhW-K2.mjs +2 -0
  11. package/dist/DarwinAPI-DzojdfjF.mjs +1 -0
  12. package/dist/{DetailedDataManager-Z77fDl9Z.mjs → DetailedDataManager-Dgh402Gp.mjs} +2 -2
  13. package/dist/ExecutionSandbox-QbWQmzuC.mjs +45 -0
  14. package/dist/ExtensionManager.tools-D3h818Xs.mjs +1 -0
  15. package/dist/FingerprintManager-D9Zlr6be.mjs +1 -0
  16. package/dist/HardwareBreakpoint-C_lJ22bj.mjs +1 -0
  17. package/dist/HeapAnalyzer-bJbLvzp6.mjs +1 -0
  18. package/dist/HookPatternScanner-yx4vJ9sd.mjs +1 -0
  19. package/dist/InstrumentationSession-Cv1wikLA.mjs +1 -0
  20. package/dist/IntegrityScanner-BB7sw-SA.mjs +1 -0
  21. package/dist/JScramblerDeobfuscator-NVR5VatT.mjs +1 -0
  22. package/dist/MCPServer.activation.ttl-C2wOCMLV.mjs +1 -0
  23. package/dist/MCPServer.search.helpers-DlassAew.mjs +2 -0
  24. package/dist/MemoryController-CCsGuGJS.mjs +2 -0
  25. package/dist/{MemoryScanSession-zfoVZJB0.mjs → MemoryScanSession-BZ2A9Ph1.mjs} +1 -1
  26. package/dist/MemoryScanner-DAxsq7Sx.mjs +1 -0
  27. package/dist/NativeMemoryManager.impl-BIJzXMqH.mjs +1 -0
  28. package/dist/{NativeMemoryManager.utils-Bu8srMEF.mjs → NativeMemoryManager.utils-CMoul2an.mjs} +1 -1
  29. package/dist/PEAnalyzer-CB_kaTis.mjs +1 -0
  30. package/dist/PackerDeobfuscator-BpwGjxDL.mjs +7 -0
  31. package/dist/PointerChainEngine-B6SYv6ZM.mjs +1 -0
  32. package/dist/ProcessRegistry-C5W1Tkn9.mjs +1 -0
  33. package/dist/QuickJSSandbox-CIde-jzG.mjs +299 -0
  34. package/dist/{ResponseBuilder-nPXl_khE.mjs → ResponseBuilder-BLicSCjn.mjs} +1 -1
  35. package/dist/ReverseEvidenceGraph-DJzk0GQz.mjs +2 -0
  36. package/dist/ServerRuntimeState-DGXNv8Ji.mjs +1 -0
  37. package/dist/Speedhack-MGoeq1ZS.mjs +1 -0
  38. package/dist/StructureAnalyzer-CCTWAXR3.mjs +2 -0
  39. package/dist/ToolHandlerMap-C40EmuLT.mjs +1 -0
  40. package/dist/{ToolProbe-DQiREmNp.mjs → ToolProbe-B02GC3ZY.mjs} +1 -1
  41. package/dist/ToolRegistry-CzqQxFqf.mjs +1 -0
  42. package/dist/{ToolRouter.policy-UKBlFlbh.mjs → ToolRouter.policy-Bgb3S8jc.mjs} +2 -2
  43. package/dist/TraceRecorder-BfeCTQUj.mjs +407 -0
  44. package/dist/VMDeobfuscator-BHtkV850.mjs +1 -0
  45. package/dist/Win32API-G7QPyckq.mjs +1 -0
  46. package/dist/{Win32Debug-DwF8mQGm.mjs → Win32Debug-6yzmtv5b.mjs} +1 -1
  47. package/dist/allocation-track-CiI-CnaI.mjs +1 -0
  48. package/dist/analysis-CojUzwX-.mjs +27 -0
  49. package/dist/{antidebug-CsnpOR9z.mjs → antidebug-CgU84TE1.mjs} +1 -1
  50. package/dist/apk-DrPBsOq8.mjs +1 -0
  51. package/dist/artifactRetention-Bk6fW2uF.mjs +1 -0
  52. package/dist/artifacts-Bx9GLx4J.mjs +1 -0
  53. package/dist/ast-bridge-BlOrmVAv.mjs +1 -0
  54. package/dist/ast-utils-B9E5k_v1.mjs +1 -0
  55. package/dist/binary-instrument-DiE1BP0x.mjs +12 -0
  56. package/dist/boringssl-inspector-C6M3sOga.mjs +2 -0
  57. package/dist/browser-QDUu5ML9.mjs +29 -0
  58. package/dist/{canvas-396ieNv5.mjs → canvas-g5kmLdY-.mjs} +1098 -24
  59. package/dist/{capabilities-L1ax5EHS.mjs → capabilities-DwzyxL2w.mjs} +1 -1
  60. package/dist/cdp-session-Dy4OwMOP.mjs +1 -0
  61. package/dist/collector-Cld4i-E4.mjs +1 -0
  62. package/dist/config-5ODJ3Aj0.mjs +3 -0
  63. package/dist/constants-nvsLpSri.mjs +1 -0
  64. package/dist/coordination-C6y2gM9O.mjs +98 -0
  65. package/dist/coverage-and-block--cWjjEe5.mjs +1 -0
  66. package/dist/dart-inspector-D4IKxZ6u.mjs +0 -0
  67. package/dist/debugger-C2SpiXoO.mjs +1 -0
  68. package/dist/definitions-0mtilYzG.mjs +1 -0
  69. package/dist/definitions-9csunmeX.mjs +1 -0
  70. package/dist/definitions-B11MudW_.mjs +1 -0
  71. package/dist/definitions-BKpRDjcI.mjs +1 -0
  72. package/dist/definitions-BXE3H4re.mjs +1 -0
  73. package/dist/definitions-BlPHe5DX.mjs +1 -0
  74. package/dist/definitions-Bob4XMxI.mjs +27 -0
  75. package/dist/definitions-BpIQN2nm.mjs +1 -0
  76. package/dist/{definitions-Ym8niHDb.mjs → definitions-BvolWeSu.mjs} +1 -1
  77. package/dist/definitions-C-6j3Ejl.mjs +1 -0
  78. package/dist/definitions-C-AdFfFu.mjs +1 -0
  79. package/dist/definitions-CArdw_9T.mjs +1 -0
  80. package/dist/definitions-CCvIcRrT.mjs +1 -0
  81. package/dist/definitions-CJPE5PIl.mjs +1 -0
  82. package/dist/definitions-CbqeW06u.mjs +1 -0
  83. package/dist/definitions-Cexmkypg.mjs +1 -0
  84. package/dist/definitions-D1dxl8qt.mjs +1 -0
  85. package/dist/definitions-D3uT-ZbU.mjs +1 -0
  86. package/dist/definitions-DtOY5iUc.mjs +1 -0
  87. package/dist/{definitions-Cv5r8xwq.mjs → definitions-DvrYdDCJ2.mjs} +1 -1
  88. package/dist/definitions-ihxOqOC4.mjs +1 -0
  89. package/dist/deopt-trace-qnAcC931.mjs +17 -0
  90. package/dist/disasm-DoxSucGp.mjs +1 -0
  91. package/dist/dumpsys-parser-Du-5ruEe.mjs +2 -0
  92. package/dist/encoding-UMtwgy4M.mjs +2 -0
  93. package/dist/ensure-browser-core-BP70x0TB.mjs +285 -0
  94. package/dist/factory-BeND77hf.mjs +2 -0
  95. package/dist/graphql-CF7QKJME.mjs +68 -0
  96. package/dist/grpc-raw-Dp7ps2sv.mjs +1 -0
  97. package/dist/handlers--qCl9vNv.mjs +1 -0
  98. package/dist/handlers-BHIu1LqA.mjs +1 -0
  99. package/dist/{handlers-DB6xVVWq.mjs → handlers-BQ4K8Jbr.mjs} +1 -1
  100. package/dist/handlers-BxQv-wtf.mjs +8 -0
  101. package/dist/handlers-ByYG27-5.mjs +1 -0
  102. package/dist/handlers-C0I9-BtX.mjs +5 -0
  103. package/dist/{handlers-CWKBBjai.mjs → handlers-CL0Iokmw.mjs} +1 -1
  104. package/dist/handlers-CNbhIdSK.mjs +4 -0
  105. package/dist/handlers-CnTTSJFs.mjs +109 -0
  106. package/dist/handlers-CoDx6akJ2.mjs +49 -0
  107. package/dist/{handlers-BbLxNbbT.mjs → handlers-DASJI0Pn.mjs} +1 -1
  108. package/dist/handlers-DRKMaA-_.mjs +74 -0
  109. package/dist/handlers-Dalu0olz.mjs +2 -0
  110. package/dist/handlers-KY0g31ny.mjs +9 -0
  111. package/dist/handlers-oGo60aVv.mjs +1 -0
  112. package/dist/handlers.impl-BTXLw6Qc.mjs +1 -0
  113. package/dist/heap-sampling-BqdiU-5j.mjs +1 -0
  114. package/dist/{hooks-DPouiS7I.mjs → hooks-COK3t5rT.mjs} +51 -32
  115. package/dist/index.mjs +11 -11
  116. package/dist/logger-BGCcd-jJ.mjs +1 -0
  117. package/dist/macro-nUYUjKNZ.mjs +2 -0
  118. package/dist/maintenance-CfnE7ZKU.mjs +4 -0
  119. package/dist/manifest-7EOTUc0D.mjs +1 -0
  120. package/dist/manifest-B5ujuQmf.mjs +1 -0
  121. package/dist/manifest-BErXl3zn.mjs +1 -0
  122. package/dist/manifest-BKA-mD3J.mjs +1 -0
  123. package/dist/manifest-BUXj23bX.mjs +1 -0
  124. package/dist/manifest-BfXt9cau.mjs +1 -0
  125. package/dist/manifest-Bx-tpURK.mjs +1 -0
  126. package/dist/manifest-C0owVAdq.mjs +1 -0
  127. package/dist/manifest-C5XqYc9o.mjs +1 -0
  128. package/dist/manifest-CVKzLjsA.mjs +1 -0
  129. package/dist/manifest-CaeFjdhj.mjs +1 -0
  130. package/dist/manifest-CegBgip0.mjs +1 -0
  131. package/dist/manifest-CoJHqlgS.mjs +1 -0
  132. package/dist/manifest-D0dbtDqd.mjs +1 -0
  133. package/dist/manifest-D5Gr8ujd.mjs +12 -0
  134. package/dist/manifest-D82z-5og.mjs +1 -0
  135. package/dist/manifest-DA2afIwh.mjs +1 -0
  136. package/dist/manifest-DAbiFP5o.mjs +1 -0
  137. package/dist/manifest-DEY0s1O72.mjs +1 -0
  138. package/dist/manifest-DTOqNqiA.mjs +1 -0
  139. package/dist/manifest-DZ6ELNgX.mjs +1 -0
  140. package/dist/manifest-DjHkjddT.mjs +1 -0
  141. package/dist/manifest-DocA_itf2.mjs +1 -0
  142. package/dist/manifest-Dpnhvfq0.mjs +1 -0
  143. package/dist/manifest-DucPMG_a.mjs +1 -0
  144. package/dist/manifest-Dw5yYEac.mjs +1 -0
  145. package/dist/manifest-Ic_Cg66S.mjs +1 -0
  146. package/dist/manifest-JHaG6GMN.mjs +1 -0
  147. package/dist/manifest-QdkIzmYM.mjs +1 -0
  148. package/dist/manifest-YZqaCe25.mjs +1 -0
  149. package/dist/manifest-f0lUeXwq.mjs +1 -0
  150. package/dist/manifest-h-Ebisf8.mjs +1 -0
  151. package/dist/manifest-oOfTymBS.mjs +1 -0
  152. package/dist/manifest-qXqrO6KC.mjs +2 -0
  153. package/dist/mapsParser-DrJoeC0c.mjs +1 -0
  154. package/dist/modules-CC_ADmwi.mjs +333 -0
  155. package/dist/mojo-ipc-kVztXYw-.mjs +140 -0
  156. package/dist/native-D9ouskXO.mjs +961 -0
  157. package/dist/native-bridge-Dzd7hYoq.mjs +1 -0
  158. package/dist/network-C5Y-S87J.mjs +7 -0
  159. package/dist/one-gadget-CiWFE17F.mjs +1 -0
  160. package/dist/outputPaths-CHtELDyi.mjs +1 -0
  161. package/dist/parse-args-B6dwWc9k.mjs +1 -0
  162. package/dist/platform-BIXgJaM3.mjs +94 -0
  163. package/dist/process-aDIfLC0v.mjs +6 -0
  164. package/dist/proxy-DsHsQ1I4.mjs +2 -0
  165. package/dist/registry-7h8jJ9y9.mjs +1 -0
  166. package/dist/{registry-xB8Wgmyj.mjs → registry-DJDnkQW2.mjs} +1 -1
  167. package/dist/response-R8ghbZSb.mjs +1 -0
  168. package/dist/retry-policy-DtYv0kDi.mjs +1 -0
  169. package/dist/reverseEngineeringConfig-BhZLOa3C.mjs +1 -0
  170. package/dist/safeOutput-Dt4mfjXA.mjs +1 -0
  171. package/dist/{search-defaults-CJik67or.mjs → search-defaults-BBRJNAzC.mjs} +1 -1
  172. package/dist/server/search/EmbeddingWorker.d.mts +1 -0
  173. package/dist/server/search/EmbeddingWorker.mjs +1 -0
  174. package/dist/shared-BKtWZDGN.mjs +1 -0
  175. package/dist/sourcemap-2VIeVeKw.mjs +3 -0
  176. package/dist/streaming-DkpE3GGU.mjs +15 -0
  177. package/dist/syscall-DGZoYM_U.mjs +1 -0
  178. package/dist/transform-BJqsBC_-.mjs +105 -0
  179. package/dist/turbofan-graph-CbGHNVtl.mjs +1 -0
  180. package/dist/turbofan-inspect--NdCuYXi.mjs +23 -0
  181. package/dist/types-CWSvzmIh.mjs +1 -0
  182. package/dist/v8-inspector-CTJo08-K.mjs +297 -0
  183. package/dist/wasm-DX4Qm2Vs.mjs +235 -0
  184. package/dist/weakrefs-inspect-CnhaF-rN.mjs +57 -0
  185. package/dist/webgpu-D4-DxbxZ.mjs +6 -0
  186. package/dist/workflow-DHktRNF2.mjs +108 -0
  187. package/package.json +33 -27
  188. package/dist/AntiCheatDetector-CUpZBh5O.mjs +0 -1
  189. package/dist/CodeInjector-Btj9upnf.mjs +0 -1
  190. package/dist/ConsoleMonitor-DIjN5Afa.mjs +0 -306
  191. package/dist/DarwinAPI-BuMPGzHm.mjs +0 -1
  192. package/dist/ExtensionManager.tools-CIGOWViz.mjs +0 -1
  193. package/dist/FingerprintManager-BkDSsjjP.mjs +0 -1
  194. package/dist/HardwareBreakpoint-DMAMcPyB.mjs +0 -1
  195. package/dist/HeapAnalyzer-Yj348FYt.mjs +0 -1
  196. package/dist/InstrumentationSession-c5qZyp7d.mjs +0 -1
  197. package/dist/MCPServer.activation.ttl-CEGNBycZ.mjs +0 -1
  198. package/dist/MCPServer.search.helpers-Cs1JpKbu.mjs +0 -1
  199. package/dist/MemoryController-DjtgiING.mjs +0 -2
  200. package/dist/MemoryScanner-Dxd657li.mjs +0 -1
  201. package/dist/PEAnalyzer-CMu9Ua9T.mjs +0 -1
  202. package/dist/PointerChainEngine-CaSC1Mry.mjs +0 -1
  203. package/dist/ProcessRegistry-D5y1yuP2.mjs +0 -1
  204. package/dist/ReverseEvidenceGraph-BksOpsPs.mjs +0 -2
  205. package/dist/ServerRuntimeState-CgqBBwfd.mjs +0 -1
  206. package/dist/Speedhack-pwXTHxOY.mjs +0 -1
  207. package/dist/StructureAnalyzer-BseGzsSl.mjs +0 -2
  208. package/dist/ToolCatalog-DgmQXdsm.mjs +0 -1
  209. package/dist/ToolHandlerMap-7HWoIgQO.mjs +0 -1
  210. package/dist/ToolRegistry-eMZEBiR1.mjs +0 -1
  211. package/dist/TraceRecorder-B5ktv3nP.mjs +0 -272
  212. package/dist/VersionDetector-CmPJmaJg.mjs +0 -1
  213. package/dist/Win32API-DoP3MMHS.mjs +0 -1
  214. package/dist/WorkflowEngine-CldHG5b4.mjs +0 -1
  215. package/dist/analysis-C-ln0Brh.mjs +0 -6
  216. package/dist/artifactRetention-DkYKLOvi.mjs +0 -1
  217. package/dist/artifacts-D-4pSS_N.mjs +0 -1
  218. package/dist/binary-instrument-BeZ224mZ.mjs +0 -9
  219. package/dist/boringssl-inspector-ZOCkaipa.mjs +0 -2
  220. package/dist/browser-BUaB25bk.mjs +0 -11
  221. package/dist/collector-CB2syQEg.mjs +0 -1
  222. package/dist/constants-DMv3svps.mjs +0 -2
  223. package/dist/coordination-Dbohmj6D.mjs +0 -1
  224. package/dist/dart-inspector-LhEqRITQ.mjs +0 -0
  225. package/dist/debugger-CLzkObIO.mjs +0 -1
  226. package/dist/definitions-0hxnrDU72.mjs +0 -1
  227. package/dist/definitions-B3a9QC2t.mjs +0 -1
  228. package/dist/definitions-BOvju5t2.mjs +0 -1
  229. package/dist/definitions-CXj_cEVt.mjs +0 -1
  230. package/dist/definitions-Co6AvTjH.mjs +0 -1
  231. package/dist/definitions-DBYSxChX.mjs +0 -1
  232. package/dist/definitions-D_dTDX9B.mjs +0 -1
  233. package/dist/definitions-Db9t2ddh.mjs +0 -1
  234. package/dist/definitions-DbN2CjI2.mjs +0 -1
  235. package/dist/definitions-DlmmHmZc.mjs +0 -1
  236. package/dist/definitions-DnYpoGig.mjs +0 -1
  237. package/dist/definitions-DtZ6Ktx2.mjs +0 -1
  238. package/dist/definitions-DuIPS8gq.mjs +0 -1
  239. package/dist/definitions-DywfwPMb.mjs +0 -1
  240. package/dist/definitions-EGmqr85H.mjs +0 -1
  241. package/dist/definitions-Fetw_Cge.mjs +0 -26
  242. package/dist/definitions-LdkeuOeA.mjs +0 -1
  243. package/dist/definitions-cnG6tj17.mjs +0 -1
  244. package/dist/encoding-B4xZWErf.mjs +0 -2
  245. package/dist/ensure-browser-core-JHwDo5ql.mjs +0 -285
  246. package/dist/factory-BxNdBiZa.mjs +0 -1
  247. package/dist/graphql-GBWsZ9xC.mjs +0 -62
  248. package/dist/handlers-5nzR8B0a.mjs +0 -5
  249. package/dist/handlers-6iNsXOVT.mjs +0 -7
  250. package/dist/handlers-BZ8n6Hvf.mjs +0 -1
  251. package/dist/handlers-BbS4hssc.mjs +0 -4
  252. package/dist/handlers-CIKOP4aI.mjs +0 -2
  253. package/dist/handlers-Cmb6SoRC.mjs +0 -1
  254. package/dist/handlers-CrJsKnEI.mjs +0 -1
  255. package/dist/handlers-DOOCWUNR.mjs +0 -31
  256. package/dist/handlers-Z_B5aVaU.mjs +0 -54
  257. package/dist/handlers-gVscChvl.mjs +0 -1
  258. package/dist/handlers-xFvI9P_y.mjs +0 -1
  259. package/dist/handlers.impl-BsFTW6SD.mjs +0 -1
  260. package/dist/logger-CCikqqvj.mjs +0 -1
  261. package/dist/macro-p8kuJVcm.mjs +0 -2
  262. package/dist/maintenance-DAqADb6Z.mjs +0 -302
  263. package/dist/manifest-4lmM6MZR.mjs +0 -1
  264. package/dist/manifest-AxaxRSt6.mjs +0 -2
  265. package/dist/manifest-BIqRE1Qz.mjs +0 -1
  266. package/dist/manifest-Box-jWfr.mjs +0 -1
  267. package/dist/manifest-Bp33di0Q.mjs +0 -1
  268. package/dist/manifest-BvRX4nRP.mjs +0 -1
  269. package/dist/manifest-C6KoB1XE.mjs +0 -1
  270. package/dist/manifest-C7TdXCWY.mjs +0 -1
  271. package/dist/manifest-CM-n64K0.mjs +0 -1
  272. package/dist/manifest-CUokxCUN.mjs +0 -1
  273. package/dist/manifest-CWJS45iO.mjs +0 -1
  274. package/dist/manifest-Cdxdgo-D.mjs +0 -1
  275. package/dist/manifest-Cf6SmamD.mjs +0 -1
  276. package/dist/manifest-Cgxu2qdv.mjs +0 -1
  277. package/dist/manifest-CowGSURa2.mjs +0 -1
  278. package/dist/manifest-CsGIrh34.mjs +0 -1
  279. package/dist/manifest-CvDpVToN.mjs +0 -1
  280. package/dist/manifest-D8TL9RLE.mjs +0 -1
  281. package/dist/manifest-DIhtCBe6.mjs +0 -1
  282. package/dist/manifest-DJbruNOg.mjs +0 -1
  283. package/dist/manifest-DLGtZH-0.mjs +0 -1
  284. package/dist/manifest-DXHdPt2T.mjs +0 -1
  285. package/dist/manifest-Dg5ScOyW.mjs +0 -1
  286. package/dist/manifest-DzGoTS0R.mjs +0 -1
  287. package/dist/manifest-G2H52LKz.mjs +0 -131
  288. package/dist/manifest-P0Futrgb.mjs +0 -1
  289. package/dist/manifest-Qw7xgvjv.mjs +0 -1
  290. package/dist/manifest-W3qvVrP2.mjs +0 -1
  291. package/dist/manifest-dG6MuR1U.mjs +0 -1
  292. package/dist/manifest-nWXtgq5Y2.mjs +0 -1
  293. package/dist/manifest-vp1upSSq.mjs +0 -1
  294. package/dist/modules-DO3jXCgj.mjs +0 -333
  295. package/dist/mojo-ipc-Be-ccWrc.mjs +0 -9
  296. package/dist/native-g095qhpK.mjs +0 -961
  297. package/dist/network-Dvxm7eEI.mjs +0 -7
  298. package/dist/outputPaths-D2ddHrOJ.mjs +0 -2
  299. package/dist/parse-args-ngRrvF9e.mjs +0 -1
  300. package/dist/platform-DjWbuiF8.mjs +0 -93
  301. package/dist/process-Dq5I-KZW.mjs +0 -2
  302. package/dist/proxy-DPNgM7TE.mjs +0 -2
  303. package/dist/renderer-pid-7jbTR8f5.mjs +0 -1
  304. package/dist/response-B1RuVVfD.mjs +0 -1
  305. package/dist/sourcemap-DqEW15Ao.mjs +0 -1
  306. package/dist/streaming-Dbk4eStJ.mjs +0 -1
  307. package/dist/transform-D-peM3aO.mjs +0 -103
  308. package/dist/wasm-CZajRaad.mjs +0 -174
  309. package/dist/webcrack-phEfVt5y.mjs +0 -46
  310. package/dist/workflow-wkXb3x-U.mjs +0 -101
  311. /package/dist/{chunk-88NL7fhV.mjs → rolldown-runtime-88NL7fhV.mjs} +0 -0
@@ -1,4 +1,22 @@
1
- import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-browser-core-JHwDo5ql.mjs";import{c as r,o as i,s as a,t as o}from"./parse-args-ngRrvF9e.mjs";import"./definitions-0hxnrDU72.mjs";var s=class{pageController;injectedHooks=new Map;constructor(e){this.pageController=e}hasAttachedTargetSession(){return this.pageController.hasAttachedTargetSession()}async evaluateInAttachedTarget(e){return await this.pageController.evaluateAttachedTarget(e,{returnByValue:!0,awaitPromise:!0})}async addPersistentScriptToManagedTargets(e,t){await this.pageController.addScriptToPageEvaluateOnNewDocument(t,{id:`ai-hook:${e}`}),await this.pageController.addPersistentScriptToManagedTargets(t,{id:`ai-hook:${e}`,evaluateNow:!0,targetTypes:[`page`,`iframe`]})}async handleAIHookInject(a){try{let o=r(a,`hookId`),s=r(a,`code`),c=i(a,`method`,`evaluate`);if(this.hasAttachedTargetSession())c===`evaluateOnNewDocument`?(await this.addPersistentScriptToManagedTargets(o,s),e.info(`Hook injected into attached target (evaluateOnNewDocument): ${o}`)):(await this.evaluateInAttachedTarget(s),e.info(`Hook injected into attached target (evaluate): ${o}`));else{let r=await this.pageController.getPage();c===`evaluateOnNewDocument`?(await n(r,s),e.info(`Hook injected (evaluateOnNewDocument): ${o}`)):(await t(r,s),e.info(`Hook injected (evaluate): ${o}`))}return this.injectedHooks.set(o,{code:s,injectionTime:Date.now()}),{content:[{type:`text`,text:JSON.stringify({success:!0,hookId:o,message:`Hook (: ${c})`,injectionTime:new Date().toISOString()},null,2)}]}}catch(t){return e.error(`Hook injection failed`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHookGetData(n){try{let e=r(n,`hookId`),i=this.hasAttachedTargetSession()?await this.evaluateInAttachedTarget(`(() => {
1
+ import{t as e}from"./logger-BGCcd-jJ.mjs";import{d as t,u as n}from"./ensure-browser-core-BP70x0TB.mjs";import{c as r,i,l as a,n as o,u as s}from"./parse-args-B6dwWc9k.mjs";import"./definitions-0mtilYzG.mjs";function c(e,t){if(t.maxMatches===void 0&&!t.unhookPredicate)return``;let n=typeof t.maxMatches==`number`?String(t.maxMatches):`undefined`,r=t.unhookPredicate?`__m.unhookPredicate = new Function('value', ${JSON.stringify(t.unhookPredicate)});`:``,i=JSON.stringify(e);return`(function(){
2
+ globalThis.__aiHookMetadata = globalThis.__aiHookMetadata || {};
3
+ var __m = globalThis.__aiHookMetadata[${i}] = globalThis.__aiHookMetadata[${i}] || {};
4
+ __m.matchCount = 0;
5
+ __m.maxMatches = ${n};
6
+ ${r}
7
+ globalThis.__aiHookUnhookGuard = globalThis.__aiHookUnhookGuard || function(id, value){
8
+ var m = globalThis.__aiHookMetadata && globalThis.__aiHookMetadata[id];
9
+ if (!m) return false;
10
+ m.matchCount = (m.matchCount || 0) + 1;
11
+ if (typeof m.maxMatches === 'number' && m.matchCount >= m.maxMatches) {
12
+ m.enabled = false; m.unhookedAt = (typeof performance!=='undefined'?performance.now():Date.now()); return true;
13
+ }
14
+ if (typeof m.unhookPredicate === 'function') {
15
+ try { if (m.unhookPredicate(value)) { m.enabled = false; m.unhookedAt = (typeof performance!=='undefined'?performance.now():Date.now()); return true; } } catch(e) {}
16
+ }
17
+ return false;
18
+ };
19
+ })();`}var l=class{pageController;injectedHooks=new Map;constructor(e){this.pageController=e}hasAttachedTargetSession(){return this.pageController.hasAttachedTargetSession()}async evaluateInAttachedTarget(e){return await this.pageController.evaluateAttachedTarget(e,{returnByValue:!0,awaitPromise:!0})}async addPersistentScriptToManagedTargets(e,t){await this.pageController.addScriptToPageEvaluateOnNewDocument(t,{id:`ai-hook:${e}`}),await this.pageController.addPersistentScriptToManagedTargets(t,{id:`ai-hook:${e}`,evaluateNow:!0,targetTypes:[`page`,`iframe`]})}async handleAIHookInject(a){try{let o=s(a,`hookId`),l=s(a,`code`),u=r(a,`method`,`evaluate`),d=i(a,`maxMatches`),f=c(o,{maxMatches:d,unhookPredicate:r(a,`unhookPredicate`)}),p=f?`${f}\n${l}`:l;if(this.hasAttachedTargetSession())u===`evaluateOnNewDocument`?(await this.addPersistentScriptToManagedTargets(o,p),e.info(`Hook injected into attached target (evaluateOnNewDocument): ${o}`)):(await this.evaluateInAttachedTarget(p),e.info(`Hook injected into attached target (evaluate): ${o}`));else{let r=await this.pageController.getPage();u===`evaluateOnNewDocument`?(await n(r,p),e.info(`Hook injected (evaluateOnNewDocument): ${o}`)):(await t(r,p),e.info(`Hook injected (evaluate): ${o}`))}return this.injectedHooks.set(o,{code:p,injectionTime:Date.now()}),{content:[{type:`text`,text:JSON.stringify({success:!0,hookId:o,message:`Hook (: ${u})`,unhookGuard:f===``?null:{maxMatches:d??null,enabled:!0},injectionTime:new Date().toISOString()},null,2)}]}}catch(t){return e.error(`Hook injection failed`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHookGetData(n){try{let e=s(n,`hookId`),r=this.hasAttachedTargetSession()?await this.evaluateInAttachedTarget(`(() => {
2
20
  const hookId = ${JSON.stringify(e)};
3
21
  const hooks = globalThis.__aiHooks;
4
22
  if (!hooks?.[hookId]) {
@@ -10,7 +28,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
10
28
  records: hooks[hookId],
11
29
  totalRecords: hooks[hookId].length,
12
30
  };
13
- })()`):await t(await this.pageController.getPage(),e=>window.__aiHooks?.[e]?{hookId:e,metadata:window.__aiHookMetadata?.[e],records:window.__aiHooks[e],totalRecords:window.__aiHooks[e].length}:null,e);return i?{content:[{type:`text`,text:JSON.stringify({success:!0,...i},null,2)}]}:{content:[{type:`text`,text:JSON.stringify({success:!1,message:`Hook: ${e}`},null,2)}]}}catch(t){return e.error(`Failed to get hook data`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHookList(n){try{let e=this.hasAttachedTargetSession()?await this.evaluateInAttachedTarget(`(() => {
31
+ })()`):await t(await this.pageController.getPage(),e=>window.__aiHooks?.[e]?{hookId:e,metadata:window.__aiHookMetadata?.[e],records:window.__aiHooks[e],totalRecords:window.__aiHooks[e].length}:null,e);return r?{content:[{type:`text`,text:JSON.stringify({success:!0,...r},null,2)}]}:{content:[{type:`text`,text:JSON.stringify({success:!1,message:`Hook: ${e}`},null,2)}]}}catch(t){return e.error(`Failed to get hook data`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHookList(n){try{let e=this.hasAttachedTargetSession()?await this.evaluateInAttachedTarget(`(() => {
14
32
  const metadata = globalThis.__aiHookMetadata;
15
33
  const hooks = globalThis.__aiHooks;
16
34
  if (!metadata) {
@@ -21,7 +39,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
21
39
  metadata: metadata[hookId],
22
40
  recordCount: hooks?.[hookId]?.length || 0,
23
41
  }));
24
- })()`):await t(await this.pageController.getPage(),()=>window.__aiHookMetadata?Object.keys(window.__aiHookMetadata).map(e=>({hookId:e,metadata:window.__aiHookMetadata[e],recordCount:window.__aiHooks?.[e]?.length||0})):[]);return{content:[{type:`text`,text:JSON.stringify({success:!0,totalHooks:e.length,hooks:e},null,2)}]}}catch(t){return e.error(`Failed to list hooks`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHookClear(n){try{let e=i(n,`hookId`);return e?(this.hasAttachedTargetSession()?await this.evaluateInAttachedTarget(`(() => {
42
+ })()`):await t(await this.pageController.getPage(),()=>window.__aiHookMetadata?Object.keys(window.__aiHookMetadata).map(e=>({hookId:e,metadata:window.__aiHookMetadata[e],recordCount:window.__aiHooks?.[e]?.length||0})):[]);return{content:[{type:`text`,text:JSON.stringify({success:!0,totalHooks:e.length,hooks:e},null,2)}]}}catch(t){return e.error(`Failed to list hooks`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHookClear(n){try{let e=r(n,`hookId`);return e?(this.hasAttachedTargetSession()?await this.evaluateInAttachedTarget(`(() => {
25
43
  const hookId = ${JSON.stringify(e)};
26
44
  if (globalThis.__aiHooks?.[hookId]) {
27
45
  globalThis.__aiHooks[hookId] = [];
@@ -34,14 +52,14 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
34
52
  }
35
53
  }
36
54
  return true;
37
- })()`):await t(await this.pageController.getPage(),()=>{if(window.__aiHooks)for(let e in window.__aiHooks)window.__aiHooks[e]=[]}),{content:[{type:`text`,text:JSON.stringify({success:!0,message:`Hook`},null,2)}]})}catch(t){return e.error(`Failed to clear hook data`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHookToggle(n){try{let e=r(n,`hookId`),i=o(n,`enabled`);return this.hasAttachedTargetSession()?await this.evaluateInAttachedTarget(`(() => {
55
+ })()`):await t(await this.pageController.getPage(),()=>{if(window.__aiHooks)for(let e in window.__aiHooks)window.__aiHooks[e]=[]}),{content:[{type:`text`,text:JSON.stringify({success:!0,message:`Hook`},null,2)}]})}catch(t){return e.error(`Failed to clear hook data`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHookToggle(n){try{let e=s(n,`hookId`),r=o(n,`enabled`);return this.hasAttachedTargetSession()?await this.evaluateInAttachedTarget(`(() => {
38
56
  const hookId = ${JSON.stringify(e)};
39
- const enabled = ${JSON.stringify(i)};
57
+ const enabled = ${JSON.stringify(r)};
40
58
  if (globalThis.__aiHookMetadata?.[hookId]) {
41
59
  globalThis.__aiHookMetadata[hookId].enabled = enabled;
42
60
  }
43
61
  return true;
44
- })()`):await t(await this.pageController.getPage(),(e,t)=>{window.__aiHookMetadata?.[e]&&(window.__aiHookMetadata[e].enabled=t)},e,i),{content:[{type:`text`,text:JSON.stringify({success:!0,hookId:e,enabled:i,message:`Hook`},null,2)}]}}catch(t){return e.error(`Failed to toggle hook`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHookExport(n){try{let e=i(n,`hookId`),r=i(n,`format`,`json`),a=this.hasAttachedTargetSession()?await this.evaluateInAttachedTarget(`(() => {
62
+ })()`):await t(await this.pageController.getPage(),(e,t)=>{window.__aiHookMetadata?.[e]&&(window.__aiHookMetadata[e].enabled=t)},e,r),{content:[{type:`text`,text:JSON.stringify({success:!0,hookId:e,enabled:r,message:`Hook`},null,2)}]}}catch(t){return e.error(`Failed to toggle hook`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHookExport(n){try{let e=r(n,`hookId`),i=r(n,`format`,`json`),a=this.hasAttachedTargetSession()?await this.evaluateInAttachedTarget(`(() => {
45
63
  const hookId = ${JSON.stringify(e)};
46
64
  if (hookId) {
47
65
  return {
@@ -54,15 +72,16 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
54
72
  metadata: globalThis.__aiHookMetadata || {},
55
73
  records: globalThis.__aiHooks || {},
56
74
  };
57
- })()`):await t(await this.pageController.getPage(),e=>e?{hookId:e,metadata:window.__aiHookMetadata?.[e],records:window.__aiHooks?.[e]||[]}:{metadata:window.__aiHookMetadata||{},records:window.__aiHooks||{}},e);return{content:[{type:`text`,text:JSON.stringify({success:!0,format:r,data:a,exportTime:new Date().toISOString()},null,2)}]}}catch(t){return e.error(`Failed to export hook data`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHook(e){let t=String(e.action??``);switch(t){case`inject`:return this.handleAIHookInject(e);case`get_data`:return this.handleAIHookGetData(e);case`list`:return this.handleAIHookList(e);case`clear`:return this.handleAIHookClear(e);case`toggle`:return this.handleAIHookToggle(e);case`export`:return this.handleAIHookExport(e);default:return{content:[{type:`text`,text:JSON.stringify({success:!1,error:`Unknown action: ${t}. Valid actions: inject, get_data, list, clear, toggle, export`})}]}}}};function c(e,t,n,r){let i=n?`const __stack = new Error().stack?.split('\\n').slice(1,4).join(' | ') || '';`:`const __stack = '';`,a=r?`console.log(__msg + (__stack ? ' | Stack: ' + __stack : ''));`:``;return`
75
+ })()`):await t(await this.pageController.getPage(),e=>e?{hookId:e,metadata:window.__aiHookMetadata?.[e],records:window.__aiHooks?.[e]||[]}:{metadata:window.__aiHookMetadata||{},records:window.__aiHooks||{}},e);return{content:[{type:`text`,text:JSON.stringify({success:!0,format:i,data:a,exportTime:new Date().toISOString()},null,2)}]}}catch(t){return e.error(`Failed to export hook data`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}async handleAIHook(e){let t=String(e.action??``);switch(t){case`inject`:return this.handleAIHookInject(e);case`get_data`:return this.handleAIHookGetData(e);case`list`:return this.handleAIHookList(e);case`clear`:return this.handleAIHookClear(e);case`toggle`:return this.handleAIHookToggle(e);case`export`:return this.handleAIHookExport(e);default:return{content:[{type:`text`,text:JSON.stringify({success:!1,error:`Unknown action: ${t}. Valid actions: inject, get_data, list, clear, toggle, export`})}]}}}};function u(e,t,n,r,i){let a=n?`const __stack = new Error().stack?.split('\\n').slice(1,4).join(' | ') || '';`:`const __stack = '';`,o=r?`console.log(__msg + (__stack ? ' | Stack: ' + __stack : ''));`:``;return`
58
76
  (function() {
59
77
  if (window.__hookPresets === undefined) window.__hookPresets = {};
60
78
  if (window.__hookPresets['${e}']) return;
61
- ${t.replace(/\{\{STACK_CODE\}\}/g,i).replace(/\{\{LOG_FN\}\}/g,a)}
79
+ ${i?`const __mutateReturn = function(__result) { return (${i}); };`:``}
80
+ ${t.replace(/\{\{STACK_CODE\}\}/g,a).replace(/\{\{LOG_FN\}\}/g,o)}
62
81
  window.__hookPresets['${e}'] = true;
63
82
  window.__aiHooks = window.__aiHooks || {};
64
83
  window.__aiHooks['preset-${e}'] = window.__aiHooks['preset-${e}'] || [];
65
- })();`}const l={eval:{description:` Hook eval() to capture dynamic code execution`,buildCode:(e,t)=>c(`eval`,`
84
+ })();`}const d={eval:{description:` Hook eval() to capture dynamic code execution`,buildCode:(e,t)=>u(`eval`,`
66
85
  const _orig = window.eval;
67
86
  window.eval = function(code) {
68
87
  {{STACK_CODE}}
@@ -70,7 +89,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
70
89
  {{LOG_FN}}
71
90
  window.__aiHooks['preset-eval'].push({ code: String(code).substring(0, 500), stack: __stack, ts: Date.now() });
72
91
  return _orig.call(this, code);
73
- };`,e,t)},"function-constructor":{description:` Hook new Function() to capture dynamic function creation`,buildCode:(e,t)=>c(`function-constructor`,`
92
+ };`,e,t)},"function-constructor":{description:` Hook new Function() to capture dynamic function creation`,buildCode:(e,t)=>u(`function-constructor`,`
74
93
  const _orig = Function;
75
94
  window.Function = function(...args) {
76
95
  {{STACK_CODE}}
@@ -84,7 +103,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
84
103
  });
85
104
  return _orig(...args);
86
105
  };
87
- window.Function.prototype = _orig.prototype;`,e,t)},"atob-btoa":{description:` Hook atob/btoa to capture Base64 encode/decode operations`,buildCode:(e,t)=>c(`atob-btoa`,`
106
+ window.Function.prototype = _orig.prototype;`,e,t)},"atob-btoa":{description:` Hook atob/btoa to capture Base64 encode/decode operations`,buildCode:(e,t)=>u(`atob-btoa`,`
88
107
  const _atob = window.atob.bind(window);
89
108
  const _btoa = window.btoa.bind(window);
90
109
  window.atob = function(s) {
@@ -116,7 +135,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
116
135
  ts: Date.now(),
117
136
  });
118
137
  return result;
119
- };`,e,t)},"crypto-subtle":{description:` Hook crypto.subtle.encrypt/decrypt to intercept WebCrypto operations`,buildCode:(e,t)=>c(`crypto-subtle`,`
138
+ };`,e,t)},"crypto-subtle":{description:` Hook crypto.subtle.encrypt/decrypt to intercept WebCrypto operations`,buildCode:(e,t)=>u(`crypto-subtle`,`
120
139
  if (window.crypto && window.crypto.subtle) {
121
140
  const _enc = window.crypto.subtle.encrypt.bind(window.crypto.subtle);
122
141
  const _dec = window.crypto.subtle.decrypt.bind(window.crypto.subtle);
@@ -146,7 +165,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
146
165
  });
147
166
  return _dec(algo, key, data);
148
167
  };
149
- }`,e,t)},"json-stringify":{description:` Hook JSON.stringify/parse to capture serialization activity`,buildCode:(e,t)=>c(`json-stringify`,`
168
+ }`,e,t)},"json-stringify":{description:` Hook JSON.stringify/parse to capture serialization activity`,buildCode:(e,t)=>u(`json-stringify`,`
150
169
  const _stringify = JSON.stringify;
151
170
  const _parse = JSON.parse;
152
171
  JSON.stringify = function(v, r, s) {
@@ -176,7 +195,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
176
195
  ts: Date.now(),
177
196
  });
178
197
  return result;
179
- };`,e,t)},"object-defineproperty":{description:` Hook Object.defineProperty to monitor property definitions`,buildCode:(e,t)=>c(`object-defineproperty`,`
198
+ };`,e,t)},"object-defineproperty":{description:` Hook Object.defineProperty to monitor property definitions`,buildCode:(e,t)=>u(`object-defineproperty`,`
180
199
  const _define = Object.defineProperty;
181
200
  Object.defineProperty = function(obj, prop, descriptor) {
182
201
  {{STACK_CODE}}
@@ -190,7 +209,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
190
209
  ts: Date.now(),
191
210
  });
192
211
  return _define(obj, prop, descriptor);
193
- };`,e,t)},settimeout:{description:` Hook setTimeout to capture timer callbacks and delays`,buildCode:(e,t)=>c(`settimeout`,`
212
+ };`,e,t)},settimeout:{description:` Hook setTimeout to capture timer callbacks and delays`,buildCode:(e,t)=>u(`settimeout`,`
194
213
  const _orig = window.setTimeout;
195
214
  window.setTimeout = function(fn, delay, ...args) {
196
215
  {{STACK_CODE}}
@@ -199,7 +218,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
199
218
  {{LOG_FN}}
200
219
  window.__aiHooks['preset-settimeout'].push({ delay, fn: fnStr, stack: __stack, ts: Date.now() });
201
220
  return _orig(fn, delay, ...args);
202
- };`,e,t)},setinterval:{description:` Hook setInterval to capture repeating timer callbacks`,buildCode:(e,t)=>c(`setinterval`,`
221
+ };`,e,t)},setinterval:{description:` Hook setInterval to capture repeating timer callbacks`,buildCode:(e,t)=>u(`setinterval`,`
203
222
  const _orig = window.setInterval;
204
223
  window.setInterval = function(fn, delay, ...args) {
205
224
  {{STACK_CODE}}
@@ -208,7 +227,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
208
227
  {{LOG_FN}}
209
228
  window.__aiHooks['preset-setinterval'].push({ delay, fn: fnStr, stack: __stack, ts: Date.now() });
210
229
  return _orig(fn, delay, ...args);
211
- };`,e,t)},addeventlistener:{description:` Hook addEventListener to trace event listener registrations`,buildCode:(e,t)=>c(`addeventlistener`,`
230
+ };`,e,t)},addeventlistener:{description:` Hook addEventListener to trace event listener registrations`,buildCode:(e,t)=>u(`addeventlistener`,`
212
231
  const _orig = EventTarget.prototype.addEventListener;
213
232
  EventTarget.prototype.addEventListener = function(type, listener, options) {
214
233
  {{STACK_CODE}}
@@ -222,7 +241,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
222
241
  ts: Date.now(),
223
242
  });
224
243
  return _orig.call(this, type, listener, options);
225
- };`,e,t)},postmessage:{description:` Hook postMessage to capture cross-origin and iframe messages`,buildCode:(e,t)=>c(`postmessage`,`
244
+ };`,e,t)},postmessage:{description:` Hook postMessage to capture cross-origin and iframe messages`,buildCode:(e,t)=>u(`postmessage`,`
226
245
  const _orig = window.postMessage.bind(window);
227
246
  window.postMessage = function(data, origin, transfer) {
228
247
  {{STACK_CODE}}
@@ -245,7 +264,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
245
264
  data: JSON.stringify(e.data||{}).substring(0,300),
246
265
  ts: Date.now(),
247
266
  });
248
- });`,e,t)},webassembly:{description:` Hook WebAssembly.instantiate/compile to detect WASM module loading`,buildCode:(e,t)=>c(`webassembly`,`
267
+ });`,e,t)},webassembly:{description:` Hook WebAssembly.instantiate/compile to detect WASM module loading`,buildCode:(e,t)=>u(`webassembly`,`
249
268
  if (typeof WebAssembly !== 'undefined') {
250
269
  const _inst = WebAssembly.instantiate;
251
270
  WebAssembly.instantiate = function(bufferSource, importObject) {
@@ -256,7 +275,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
256
275
  window.__aiHooks['preset-webassembly'].push({ fn:'instantiate', size, stack: __stack, ts: Date.now() });
257
276
  return _inst(bufferSource, importObject);
258
277
  };
259
- }`,e,t)},proxy:{description:` Hook Proxy constructor to detect proxy-based anti-debugging`,buildCode:(e,t)=>c(`proxy`,`
278
+ }`,e,t)},proxy:{description:` Hook Proxy constructor to detect proxy-based anti-debugging`,buildCode:(e,t)=>u(`proxy`,`
260
279
  const _Proxy = window.Proxy;
261
280
  window.Proxy = function(target, handler) {
262
281
  {{STACK_CODE}}
@@ -272,7 +291,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
272
291
  return new _Proxy(target, handler);
273
292
  };
274
293
  window.Proxy.prototype = _Proxy.prototype;
275
- window.Proxy.revocable = _Proxy.revocable;`,e,t)},reflect:{description:` Hook Reflect.apply to capture indirect function calls`,buildCode:(e,t)=>c(`reflect`,`
294
+ window.Proxy.revocable = _Proxy.revocable;`,e,t)},reflect:{description:` Hook Reflect.apply to capture indirect function calls`,buildCode:(e,t)=>u(`reflect`,`
276
295
  const _apply = Reflect.apply;
277
296
  Reflect.apply = function(target, thisArg, args) {
278
297
  {{STACK_CODE}}
@@ -286,7 +305,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
286
305
  ts: Date.now(),
287
306
  });
288
307
  return _apply(target, thisArg, args);
289
- };`,e,t)},"history-pushstate":{description:` Hook history.pushState/replaceState to trace SPA navigation`,buildCode:(e,t)=>c(`history-pushstate`,`
308
+ };`,e,t)},"history-pushstate":{description:` Hook history.pushState/replaceState to trace SPA navigation`,buildCode:(e,t)=>u(`history-pushstate`,`
290
309
  const _push = history.pushState.bind(history);
291
310
  const _replace = history.replaceState.bind(history);
292
311
  history.pushState = function(state, title, url) {
@@ -316,7 +335,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
316
335
  ts: Date.now(),
317
336
  });
318
337
  return _replace(state, title, url);
319
- };`,e,t)},"location-href":{description:` Hook location.href setter to intercept URL redirects`,buildCode:(e,t)=>c(`location-href`,`
338
+ };`,e,t)},"location-href":{description:` Hook location.href setter to intercept URL redirects`,buildCode:(e,t)=>u(`location-href`,`
320
339
  const _desc = Object.getOwnPropertyDescriptor(window.location, 'href') ||
321
340
  Object.getOwnPropertyDescriptor(Location.prototype, 'href');
322
341
  if (_desc && _desc.set) {
@@ -332,7 +351,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
332
351
  },
333
352
  configurable: true,
334
353
  });
335
- }`,e,t)},"navigator-useragent":{description:` Hook navigator.userAgent getter to detect UA fingerprinting`,buildCode:(e,t)=>c(`navigator-useragent`,`
354
+ }`,e,t)},"navigator-useragent":{description:` Hook navigator.userAgent getter to detect UA fingerprinting`,buildCode:(e,t)=>u(`navigator-useragent`,`
336
355
  const _desc = Object.getOwnPropertyDescriptor(Navigator.prototype, 'userAgent');
337
356
  if (_desc && _desc.get) {
338
357
  const _origGet = _desc.get;
@@ -352,7 +371,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
352
371
  },
353
372
  configurable: true,
354
373
  });
355
- }`,e,t)},eventsource:{description:` Hook EventSource to capture SSE connections`,buildCode:(e,t)=>c(`eventsource`,`
374
+ }`,e,t)},eventsource:{description:` Hook EventSource to capture SSE connections`,buildCode:(e,t)=>u(`eventsource`,`
356
375
  if (typeof EventSource !== 'undefined') {
357
376
  const _ES = EventSource;
358
377
  window.EventSource = function(url, opts) {
@@ -363,7 +382,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
363
382
  return new _ES(url, opts);
364
383
  };
365
384
  window.EventSource.prototype = _ES.prototype;
366
- }`,e,t)},"window-open":{description:` Hook window.open to capture popup and new tab creation`,buildCode:(e,t)=>c(`window-open`,`
385
+ }`,e,t)},"window-open":{description:` Hook window.open to capture popup and new tab creation`,buildCode:(e,t)=>u(`window-open`,`
367
386
  const _orig = window.open.bind(window);
368
387
  window.open = function(url, target, features) {
369
388
  {{STACK_CODE}}
@@ -377,7 +396,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
377
396
  ts: Date.now(),
378
397
  });
379
398
  return _orig(url, target, features);
380
- };`,e,t)},mutationobserver:{description:` Hook MutationObserver to track dynamic DOM mutation watchers`,buildCode:(e,t)=>c(`mutationobserver`,`
399
+ };`,e,t)},mutationobserver:{description:` Hook MutationObserver to track dynamic DOM mutation watchers`,buildCode:(e,t)=>u(`mutationobserver`,`
381
400
  const _MO = MutationObserver;
382
401
  window.MutationObserver = function(callback) {
383
402
  {{STACK_CODE}}
@@ -386,7 +405,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
386
405
  window.__aiHooks['preset-mutationobserver'].push({ stack: __stack, ts: Date.now() });
387
406
  return new _MO(callback);
388
407
  };
389
- window.MutationObserver.prototype = _MO.prototype;`,e,t)},formdata:{description:` Hook FormData.append to capture form data before submission`,buildCode:(e,t)=>c(`formdata`,`
408
+ window.MutationObserver.prototype = _MO.prototype;`,e,t)},formdata:{description:` Hook FormData.append to capture form data before submission`,buildCode:(e,t)=>u(`formdata`,`
390
409
  const _orig = FormData.prototype.append;
391
410
  FormData.prototype.append = function(name, value, filename) {
392
411
  {{STACK_CODE}}
@@ -400,7 +419,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
400
419
  ts: Date.now(),
401
420
  });
402
421
  return _orig.call(this, name, value, filename);
403
- };`,e,t)}},u={"anti-debug-bypass":{description:` Block anti-debugging: setInterval/setTimeout debugger traps, console.clear spam, timing attacks (performance.now freeze), outerWidth/outerHeight devtools detection`,buildCode:(e,t)=>c(`anti-debug-bypass`,`
422
+ };`,e,t)}},f={"anti-debug-bypass":{description:` Block anti-debugging: setInterval/setTimeout debugger traps, console.clear spam, timing attacks (performance.now freeze), outerWidth/outerHeight devtools detection`,buildCode:(e,t)=>u(`anti-debug-bypass`,`
404
423
  window.__aiHooks['preset-anti-debug-bypass'] = window.__aiHooks['preset-anti-debug-bypass'] || [];
405
424
  // 1. Block setInterval/setTimeout containing debugger/devtools
406
425
  const _si = window.setInterval;
@@ -444,7 +463,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
444
463
  // 4. Fix outerWidth/outerHeight DevTools size detection
445
464
  Object.defineProperty(window, 'outerWidth', { get: function() { return window.innerWidth; }, configurable: true });
446
465
  Object.defineProperty(window, 'outerHeight',
447
- { get: function() { return window.innerHeight; }, configurable: true });`,e,t)},"crypto-key-capture":{description:` Force extractable:true on all WebCrypto importKey calls and capture plaintext/ciphertext + key material for encrypt/decrypt/sign/verify`,buildCode:(e,t)=>c(`crypto-key-capture`,`
466
+ { get: function() { return window.innerHeight; }, configurable: true });`,e,t)},"crypto-key-capture":{description:` Force extractable:true on all WebCrypto importKey calls and capture plaintext/ciphertext + key material for encrypt/decrypt/sign/verify`,buildCode:(e,t)=>u(`crypto-key-capture`,`
448
467
  if (window.crypto && window.crypto.subtle) {
449
468
  const _subtle = window.crypto.subtle;
450
469
  const _importKey = _subtle.importKey.bind(_subtle);
@@ -537,7 +556,7 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
537
556
  });
538
557
  return result;
539
558
  };
540
- }`,e,t)},"webassembly-full":{description:` Hook WebAssembly.instantiate to log all import calls, export names, and memory creation`,buildCode:(e,t)=>c(`webassembly-full`,`
559
+ }`,e,t)},"webassembly-full":{description:` Hook WebAssembly.instantiate to log all import calls, export names, and memory creation`,buildCode:(e,t)=>u(`webassembly-full`,`
541
560
  if (typeof WebAssembly !== 'undefined') {
542
561
  const _inst = WebAssembly.instantiate;
543
562
  WebAssembly.instantiate = async function(bufferSource, importObject) {
@@ -597,4 +616,4 @@ import{t as e}from"./logger-CCikqqvj.mjs";import{d as t,u as n}from"./ensure-bro
597
616
  return new _Memory(descriptor);
598
617
  };
599
618
  WebAssembly.Memory.prototype = _Memory.prototype;
600
- }`,e,t)}},d={...l,...u},f=Object.entries(d).map(([e,t])=>({id:e,description:t.description}));var p=class{pageController;constructor(e){this.pageController=e}async handleHookPreset(t){try{let n=this.buildCustomPresetMap(t),r={...d,...n},s=[...f,...Object.entries(n).map(([e,t])=>({id:e,description:`${t.description} (custom)`}))];if(t.listPresets===!0)return{content:[{type:`text`,text:JSON.stringify({success:!0,totalPresets:s.length,presets:s},null,2)}]};let c=o(t,`captureStack`,!1),l=o(t,`logToConsole`,!0),u=i(t,`method`,`evaluate`),p=[];if(t.preset)p=[i(t,`preset`)];else if(Array.isArray(t.presets))p=a(t,`presets`);else return{content:[{type:`text`,text:JSON.stringify({success:!1,error:` Provide either preset (single) or presets (multiple), or set listPresets=true to list available presets`},null,2)}]};let m=p.filter(e=>!r[e]);if(m.length>0)return{content:[{type:`text`,text:JSON.stringify({success:!1,error:`: ${m.join(`, `)}`,availablePresets:s.map(e=>e.id)},null,2)}]};let h=await this.pageController.getPage(),g=[],_=[];for(let t of p)try{let n=r[t].buildCode(c,l);u===`evaluateOnNewDocument`?await h.evaluateOnNewDocument(n):await h.evaluate(n),g.push(t),e.info(` Hook preset injected: ${t}`)}catch(n){let r=n instanceof Error?n.message:String(n);_.push({preset:t,error:r}),e.error(` Failed to inject preset ${t}:`,n)}return{content:[{type:`text`,text:JSON.stringify({success:_.length===0,injected:g,failed:_,method:u,captureStack:c,message:` ${g.length}/${p.length} Hook`,usage:` ai_hook_get_data(hookId: "preset-<>") `},null,2)}]}}catch(t){return e.error(`Hook preset injection failed`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}buildCustomPresetMap(e){let t=[];e.customTemplate&&typeof e.customTemplate==`object`&&t.push(e.customTemplate),Array.isArray(e.customTemplates)&&t.push(...e.customTemplates);let n={};for(let e of t){let t=e.id?.trim(),r=e.body?.trim();if(!t||!r)throw Error(`Each custom template requires non-empty id and body`);if(d[t])throw Error(`Custom template id conflicts with built-in preset: ${t}`);n[t]={description:e.description?.trim()||`Custom inline preset: ${t}`,buildCode:(e,n)=>c(t,r,e,n)}}return n}};export{s as AIHookToolHandlers,p as HookPresetToolHandlers};
619
+ }`,e,t)}},p={...d,...f},m=Object.entries(p).map(([e,t])=>({id:e,description:t.description}));var h=class{pageController;constructor(e){this.pageController=e}async handleHookPreset(t){try{let n=this.buildCustomPresetMap(t),i={...p,...n},s=[...m,...Object.entries(n).map(([e,t])=>({id:e,description:`${t.description} (custom)`}))];if(t.listPresets===!0)return{content:[{type:`text`,text:JSON.stringify({success:!0,totalPresets:s.length,presets:s},null,2)}]};let c=o(t,`captureStack`,!1),l=o(t,`logToConsole`,!0),u=r(t,`method`,`evaluate`),d=[];if(t.preset)d=[r(t,`preset`)];else if(Array.isArray(t.presets))d=a(t,`presets`);else return{content:[{type:`text`,text:JSON.stringify({success:!1,error:` Provide either preset (single) or presets (multiple), or set listPresets=true to list available presets`},null,2)}]};let f=d.filter(e=>!i[e]);if(f.length>0)return{content:[{type:`text`,text:JSON.stringify({success:!1,error:`: ${f.join(`, `)}`,availablePresets:s.map(e=>e.id)},null,2)}]};let h=await this.pageController.getPage(),g=[],_=[];for(let t of d)try{let n=i[t].buildCode(c,l);u===`evaluateOnNewDocument`?await h.evaluateOnNewDocument(n):await h.evaluate(n),g.push(t),e.info(` Hook preset injected: ${t}`)}catch(n){let r=n instanceof Error?n.message:String(n);_.push({preset:t,error:r}),e.error(` Failed to inject preset ${t}:`,n)}return{content:[{type:`text`,text:JSON.stringify({success:_.length===0,injected:g,failed:_,method:u,captureStack:c,message:` ${g.length}/${d.length} Hook`,usage:` ai_hook_get_data(hookId: "preset-<>") `},null,2)}]}}catch(t){return e.error(`Hook preset injection failed`,t),{content:[{type:`text`,text:JSON.stringify({success:!1,error:t instanceof Error?t.message:String(t)},null,2)}]}}}buildCustomPresetMap(e){let t=[];e.customTemplate&&typeof e.customTemplate==`object`&&t.push(e.customTemplate),Array.isArray(e.customTemplates)&&t.push(...e.customTemplates);let n={};for(let e of t){let t=e.id?.trim(),r=e.body?.trim();if(!t||!r)throw Error(`Each custom template requires non-empty id and body`);if(p[t])throw Error(`Custom template id conflicts with built-in preset: ${t}`);let i=e.mutateReturn?.trim()||void 0;n[t]={description:e.description?.trim()||`Custom inline preset: ${t}`,buildCode:(e,n)=>u(t,r,e,n,i)}}return n}};export{l as AIHookToolHandlers,h as HookPresetToolHandlers};