@adguard/agtree 3.4.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/dist/ast-utils/clone.js +2 -2
  2. package/dist/ast-utils/modifiers.js +2 -2
  3. package/dist/ast-utils/network-rules.js +2 -2
  4. package/dist/ast-utils/scriptlets.js +2 -2
  5. package/dist/common/abp-snippet-injection-body-common.js +2 -2
  6. package/dist/common/agent-common.js +2 -2
  7. package/dist/common/ubo-html-filtering-body-common.js +40 -0
  8. package/dist/common/ubo-selector-common.js +2 -2
  9. package/dist/compatibility-tables/base.js +2 -2
  10. package/dist/compatibility-tables/compatibility-table-data.js +4 -4
  11. package/dist/compatibility-tables/modifiers.js +2 -2
  12. package/dist/compatibility-tables/platforms.js +2 -2
  13. package/dist/compatibility-tables/redirects.js +2 -2
  14. package/dist/compatibility-tables/schemas/base.js +2 -2
  15. package/dist/compatibility-tables/schemas/modifier.js +2 -2
  16. package/dist/compatibility-tables/schemas/platform.js +2 -2
  17. package/dist/compatibility-tables/schemas/redirect.js +2 -2
  18. package/dist/compatibility-tables/schemas/resource-type.js +2 -2
  19. package/dist/compatibility-tables/schemas/scriptlet.js +2 -2
  20. package/dist/compatibility-tables/scriptlets.js +2 -2
  21. package/dist/compatibility-tables/utils/platform-helpers.js +2 -2
  22. package/dist/compatibility-tables/utils/resource-type-helpers.js +2 -2
  23. package/dist/compatibility-tables/utils/zod-camelcase.js +2 -2
  24. package/dist/converter/base-interfaces/base-converter.js +2 -2
  25. package/dist/converter/base-interfaces/conversion-result.js +2 -2
  26. package/dist/converter/base-interfaces/rule-converter-base.js +2 -2
  27. package/dist/converter/comment/index.js +2 -2
  28. package/dist/converter/cosmetic/css.js +2 -2
  29. package/dist/converter/cosmetic/element-hiding.js +2 -2
  30. package/dist/converter/cosmetic/header-removal.js +24 -42
  31. package/dist/converter/cosmetic/html.js +580 -438
  32. package/dist/converter/cosmetic/index.js +3 -2
  33. package/dist/converter/cosmetic/rule-modifiers/adg.js +2 -2
  34. package/dist/converter/cosmetic/rule-modifiers/ubo.js +2 -2
  35. package/dist/converter/cosmetic/scriptlet.js +2 -2
  36. package/dist/converter/css/index.js +3 -2
  37. package/dist/converter/data/css.js +32 -54
  38. package/dist/converter/filter-list.js +2 -2
  39. package/dist/converter/index.js +2 -2
  40. package/dist/converter/misc/network-rule-modifier.js +2 -2
  41. package/dist/converter/network/index.js +2 -2
  42. package/dist/converter/raw-filter-list.js +2 -2
  43. package/dist/converter/raw-rule.js +6 -3
  44. package/dist/converter/rule.js +2 -2
  45. package/dist/errors/adblock-syntax-error.js +2 -2
  46. package/dist/errors/binary-schema-mismatch-error.js +2 -2
  47. package/dist/errors/not-implemented-error.js +2 -2
  48. package/dist/errors/rule-conversion-error.js +2 -2
  49. package/dist/generator/base-generator.js +2 -2
  50. package/dist/generator/comment/agent-comment-generator.js +2 -2
  51. package/dist/generator/comment/agent-generator.js +2 -2
  52. package/dist/generator/comment/comment-rule-generator.js +2 -2
  53. package/dist/generator/comment/config-comment-generator.js +2 -2
  54. package/dist/generator/comment/hint-comment-generator.js +2 -2
  55. package/dist/generator/comment/hint-generator.js +2 -2
  56. package/dist/generator/comment/metadata-comment-generator.js +2 -2
  57. package/dist/generator/comment/pre-processor-comment-generator.js +2 -2
  58. package/dist/generator/comment/simple-comment-generator.js +2 -2
  59. package/dist/generator/cosmetic/cosmetic-rule-body-generator.js +21 -6
  60. package/dist/generator/cosmetic/cosmetic-rule-generator.js +2 -2
  61. package/dist/generator/cosmetic/cosmetic-rule-pattern-generator.js +2 -2
  62. package/dist/generator/cosmetic/html-filtering-body/adg-html-filtering-body-generator.js +38 -0
  63. package/dist/generator/cosmetic/html-filtering-body/html-filtering-body-generator.js +32 -0
  64. package/dist/generator/cosmetic/html-filtering-body/ubo-html-filtering-body-generator.js +65 -0
  65. package/dist/generator/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-generator.js +2 -2
  66. package/dist/generator/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-generator.js +2 -2
  67. package/dist/generator/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-generator.js +2 -2
  68. package/dist/generator/cosmetic/selector/attribute-selector-generator.js +42 -0
  69. package/dist/generator/cosmetic/selector/class-selector-generator.js +26 -0
  70. package/dist/generator/cosmetic/selector/complex-selector-generator.js +71 -0
  71. package/dist/generator/cosmetic/selector/id-selector-generator.js +26 -0
  72. package/dist/generator/cosmetic/selector/pseudo-class-selector-generator.js +35 -0
  73. package/dist/generator/cosmetic/selector/selector-combinator-generator.js +30 -0
  74. package/dist/generator/cosmetic/selector/selector-list-generator.js +41 -0
  75. package/dist/generator/cosmetic/selector/type-selector-generator.js +25 -0
  76. package/dist/generator/css/adg-css-injection-generator.js +5 -6
  77. package/dist/generator/filterlist-generator.js +2 -2
  78. package/dist/generator/index.js +2 -2
  79. package/dist/generator/misc/domain-list-generator.js +2 -2
  80. package/dist/generator/misc/list-items-generator.js +2 -2
  81. package/dist/generator/misc/logical-expression-generator.js +2 -2
  82. package/dist/generator/misc/modifier-generator.js +2 -2
  83. package/dist/generator/misc/modifier-list-generator.js +2 -2
  84. package/dist/generator/misc/parameter-list-generator.js +2 -2
  85. package/dist/generator/misc/value-generator.js +2 -2
  86. package/dist/generator/network/host-rule-generator.js +2 -2
  87. package/dist/generator/network/network-rule-generator.js +2 -2
  88. package/dist/generator/rule-generator.js +2 -2
  89. package/dist/index.js +4 -14
  90. package/dist/nodes/index.js +2 -2
  91. package/dist/package.json.js +3 -3
  92. package/dist/parser/base-parser.js +2 -2
  93. package/dist/parser/comment/agent-comment-parser.js +2 -2
  94. package/dist/parser/comment/agent-parser.js +2 -2
  95. package/dist/parser/comment/comment-parser.js +2 -2
  96. package/dist/parser/comment/config-comment-parser.js +2 -2
  97. package/dist/parser/comment/hint-comment-parser.js +2 -2
  98. package/dist/parser/comment/hint-parser.js +2 -2
  99. package/dist/parser/comment/metadata-comment-parser.js +2 -2
  100. package/dist/parser/comment/preprocessor-parser.js +2 -2
  101. package/dist/parser/comment/simple-comment-parser.js +2 -2
  102. package/dist/parser/cosmetic/cosmetic-rule-parser.js +10 -21
  103. package/dist/parser/cosmetic/html-filtering-body/adg-html-filtering-body-parser.js +49 -0
  104. package/dist/parser/cosmetic/html-filtering-body/html-filtering-body-parser.js +70 -0
  105. package/dist/parser/cosmetic/html-filtering-body/ubo-html-filtering-body-parser.js +180 -0
  106. package/dist/parser/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-parser.js +2 -2
  107. package/dist/parser/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-parser.js +2 -2
  108. package/dist/parser/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-parser.js +2 -2
  109. package/dist/parser/cosmetic/selector/handlers/attribute-selector-handler.js +206 -0
  110. package/dist/parser/cosmetic/selector/handlers/class-selector-handler.js +48 -0
  111. package/dist/parser/cosmetic/selector/handlers/complex-selector-handler.js +67 -0
  112. package/dist/parser/cosmetic/selector/handlers/compound-selector-handler.js +97 -0
  113. package/dist/parser/cosmetic/selector/handlers/id-selector-handler.js +42 -0
  114. package/dist/parser/cosmetic/selector/handlers/pseudo-class-selector-handler.js +128 -0
  115. package/dist/parser/cosmetic/selector/handlers/type-selector-handler.js +58 -0
  116. package/dist/parser/cosmetic/selector/selector-list-parser.js +164 -0
  117. package/dist/parser/css/adg-css-injection-parser.js +4 -5
  118. package/dist/parser/css/balancing.js +2 -2
  119. package/dist/parser/css/constants.js +2 -2
  120. package/dist/parser/css/css-token-stream.js +41 -4
  121. package/dist/parser/css/ubo-selector-parser.js +2 -2
  122. package/dist/parser/filterlist-parser.js +2 -2
  123. package/dist/parser/index.js +2 -2
  124. package/dist/parser/misc/app-list-parser.js +2 -2
  125. package/dist/parser/misc/domain-list-parser.js +2 -2
  126. package/dist/parser/misc/list-items-parser.js +2 -2
  127. package/dist/parser/misc/logical-expression-parser.js +2 -2
  128. package/dist/parser/misc/method-list-parser.js +2 -2
  129. package/dist/parser/misc/modifier-list.js +9 -3
  130. package/dist/parser/misc/modifier-parser.js +2 -2
  131. package/dist/parser/misc/parameter-list-parser.js +2 -2
  132. package/dist/parser/misc/stealth-option-list-parser.js +2 -2
  133. package/dist/parser/misc/ubo-parameter-list-parser.js +2 -2
  134. package/dist/parser/misc/value-parser.js +2 -2
  135. package/dist/parser/network/host-rule-parser.js +2 -2
  136. package/dist/parser/network/network-rule-parser.js +2 -2
  137. package/dist/parser/options.js +3 -2
  138. package/dist/parser/rule-parser.js +2 -2
  139. package/dist/types/common/ubo-html-filtering-body-common.d.ts +12 -0
  140. package/dist/types/compatibility-tables/compatibility-table-data.d.ts +3 -3
  141. package/dist/types/compatibility-tables/schemas/redirect.d.ts +1 -1
  142. package/dist/types/compatibility-tables/schemas/scriptlet.d.ts +2 -2
  143. package/dist/types/converter/cosmetic/html.d.ts +167 -42
  144. package/dist/types/converter/data/css.d.ts +18 -6
  145. package/dist/types/generator/cosmetic/html-filtering-body/adg-html-filtering-body-generator.d.ts +17 -0
  146. package/dist/types/generator/cosmetic/html-filtering-body/html-filtering-body-generator.d.ts +17 -0
  147. package/dist/types/generator/cosmetic/html-filtering-body/ubo-html-filtering-body-generator.d.ts +30 -0
  148. package/dist/types/generator/cosmetic/selector/attribute-selector-generator.d.ts +15 -0
  149. package/dist/types/generator/cosmetic/selector/class-selector-generator.d.ts +15 -0
  150. package/dist/types/generator/cosmetic/selector/complex-selector-generator.d.ts +17 -0
  151. package/dist/types/generator/cosmetic/selector/id-selector-generator.d.ts +15 -0
  152. package/dist/types/generator/cosmetic/selector/pseudo-class-selector-generator.d.ts +15 -0
  153. package/dist/types/generator/cosmetic/selector/selector-combinator-generator.d.ts +15 -0
  154. package/dist/types/generator/cosmetic/selector/selector-list-generator.d.ts +17 -0
  155. package/dist/types/generator/cosmetic/selector/type-selector-generator.d.ts +15 -0
  156. package/dist/types/generator/css/adg-css-injection-generator.d.ts +1 -1
  157. package/dist/types/index.d.ts +3 -13
  158. package/dist/types/nodes/index.d.ts +159 -3
  159. package/dist/types/parser/cosmetic/html-filtering-body/adg-html-filtering-body-parser.d.ts +35 -0
  160. package/dist/types/parser/cosmetic/html-filtering-body/html-filtering-body-parser.d.ts +39 -0
  161. package/dist/types/parser/cosmetic/html-filtering-body/ubo-html-filtering-body-parser.d.ts +63 -0
  162. package/dist/types/parser/cosmetic/selector/context.d.ts +42 -0
  163. package/dist/types/parser/cosmetic/selector/handlers/attribute-selector-handler.d.ts +35 -0
  164. package/dist/types/parser/cosmetic/selector/handlers/class-selector-handler.d.ts +15 -0
  165. package/dist/types/parser/cosmetic/selector/handlers/complex-selector-handler.d.ts +20 -0
  166. package/dist/types/parser/cosmetic/selector/handlers/compound-selector-handler.d.ts +25 -0
  167. package/dist/types/parser/cosmetic/selector/handlers/id-selector-handler.d.ts +15 -0
  168. package/dist/types/parser/cosmetic/selector/handlers/pseudo-class-selector-handler.d.ts +15 -0
  169. package/dist/types/parser/cosmetic/selector/handlers/type-selector-handler.d.ts +15 -0
  170. package/dist/types/parser/cosmetic/selector/selector-list-parser.d.ts +38 -0
  171. package/dist/types/parser/css/adg-css-injection-parser.d.ts +0 -2
  172. package/dist/types/parser/css/css-token-stream.d.ts +18 -0
  173. package/dist/types/parser/network/network-rule-parser.d.ts +1 -1
  174. package/dist/types/parser/options.d.ts +5 -0
  175. package/dist/types/utils/constants.d.ts +1 -0
  176. package/dist/types/utils/index.d.ts +0 -6
  177. package/dist/types/utils/quotes.d.ts +44 -0
  178. package/dist/types/utils/regexp.d.ts +24 -0
  179. package/dist/utils/adblockers.js +2 -2
  180. package/dist/utils/bit-count.js +2 -2
  181. package/dist/utils/categorizer.js +2 -2
  182. package/dist/utils/clone.js +2 -2
  183. package/dist/utils/constants.js +6 -9
  184. package/dist/utils/cosmetic-rule-separator.js +2 -2
  185. package/dist/utils/deep-freeze.js +2 -2
  186. package/dist/utils/domain.js +2 -2
  187. package/dist/utils/error.js +2 -2
  188. package/dist/utils/index.js +2 -8
  189. package/dist/utils/logical-expression.js +2 -2
  190. package/dist/utils/multi-value-map.js +2 -2
  191. package/dist/utils/noop-modifier.js +2 -2
  192. package/dist/utils/position-provider.js +2 -2
  193. package/dist/utils/quotes.js +163 -10
  194. package/dist/utils/regexp.js +31 -2
  195. package/dist/utils/string.js +2 -2
  196. package/dist/utils/type-guards.js +3 -13
  197. package/dist/validator/constants.js +2 -2
  198. package/dist/validator/helpers.js +2 -2
  199. package/dist/validator/index.js +2 -2
  200. package/dist/validator/value.js +2 -2
  201. package/dist/version.js +2 -2
  202. package/package.json +8 -16
  203. package/dist/deserializer/base-deserializer.js +0 -29
  204. package/dist/deserializer/comment/agent-comment-deserializer.js +0 -79
  205. package/dist/deserializer/comment/agent-deserializer.js +0 -65
  206. package/dist/deserializer/comment/comment-rule-deserializer.js +0 -54
  207. package/dist/deserializer/comment/config-comment-deserializer.js +0 -111
  208. package/dist/deserializer/comment/hint-comment-deserializer.js +0 -72
  209. package/dist/deserializer/comment/hint-deserializer.js +0 -85
  210. package/dist/deserializer/comment/metadata-comment-deserializer.js +0 -69
  211. package/dist/deserializer/comment/pre-processor-comment-deserializer.js +0 -112
  212. package/dist/deserializer/comment/simple-comment-deserializer.js +0 -65
  213. package/dist/deserializer/cosmetic/cosmetic-rule-deserializer.js +0 -131
  214. package/dist/deserializer/cosmetic/css-injection-body-deserializer.js +0 -56
  215. package/dist/deserializer/cosmetic/element-hiding-body-deserializer.js +0 -48
  216. package/dist/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +0 -39
  217. package/dist/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +0 -40
  218. package/dist/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +0 -54
  219. package/dist/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +0 -38
  220. package/dist/deserializer/empty-rule-deserializer.js +0 -48
  221. package/dist/deserializer/filterlist-deserializer.js +0 -85
  222. package/dist/deserializer/index.js +0 -8
  223. package/dist/deserializer/invalid-rule-deserializer.js +0 -50
  224. package/dist/deserializer/invalid-rule-error-node-deserializer.js +0 -50
  225. package/dist/deserializer/misc/domain-list-deserializer.js +0 -64
  226. package/dist/deserializer/misc/list-item-deserializer.js +0 -69
  227. package/dist/deserializer/misc/list-items-deserializer.js +0 -30
  228. package/dist/deserializer/misc/logical-expression-deserializer.js +0 -196
  229. package/dist/deserializer/misc/modifier-deserializer.js +0 -87
  230. package/dist/deserializer/misc/modifier-list-deserializer.js +0 -61
  231. package/dist/deserializer/misc/parameter-list-deserializer.js +0 -64
  232. package/dist/deserializer/misc/value-deserializer.js +0 -50
  233. package/dist/deserializer/network/host-rule-deserializer.js +0 -67
  234. package/dist/deserializer/network/hostname-list-deserializer.js +0 -56
  235. package/dist/deserializer/network/network-rule-deserializer.js +0 -65
  236. package/dist/deserializer/rule-deserializer.js +0 -65
  237. package/dist/deserializer/syntax-deserialization-map.js +0 -21
  238. package/dist/marshalling-utils/comment/agent-comment-common.js +0 -21
  239. package/dist/marshalling-utils/comment/agent-common.js +0 -40
  240. package/dist/marshalling-utils/comment/config-comment-common.js +0 -54
  241. package/dist/marshalling-utils/comment/hint-comment-common.js +0 -22
  242. package/dist/marshalling-utils/comment/hint-common.js +0 -56
  243. package/dist/marshalling-utils/comment/metadata-comment-common.js +0 -41
  244. package/dist/marshalling-utils/comment/pre-processor-comment-common.js +0 -59
  245. package/dist/marshalling-utils/comment/simple-comment-common.js +0 -22
  246. package/dist/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +0 -61
  247. package/dist/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +0 -66
  248. package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +0 -24
  249. package/dist/marshalling-utils/cosmetic/body/element-hiding-body-common.js +0 -21
  250. package/dist/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +0 -114
  251. package/dist/marshalling-utils/cosmetic/cosmetic-rule-common.js +0 -46
  252. package/dist/marshalling-utils/empty-rule-common.js +0 -20
  253. package/dist/marshalling-utils/filter-list-common.js +0 -21
  254. package/dist/marshalling-utils/invalid-rule-common.js +0 -21
  255. package/dist/marshalling-utils/invalid-rule-error-node-common.js +0 -22
  256. package/dist/marshalling-utils/misc/binary-type-common.js +0 -54
  257. package/dist/marshalling-utils/misc/domain-list-common.js +0 -36
  258. package/dist/marshalling-utils/misc/host-rule-common.js +0 -24
  259. package/dist/marshalling-utils/misc/hostname-list-common.js +0 -21
  260. package/dist/marshalling-utils/misc/list-item-common.js +0 -22
  261. package/dist/marshalling-utils/misc/logical-expression-common.js +0 -83
  262. package/dist/marshalling-utils/misc/modifier-common.js +0 -231
  263. package/dist/marshalling-utils/misc/modifier-list-common.js +0 -21
  264. package/dist/marshalling-utils/misc/parameter-list-common.js +0 -21
  265. package/dist/marshalling-utils/misc/value-common.js +0 -22
  266. package/dist/marshalling-utils/network/network-rule-common.js +0 -24
  267. package/dist/marshalling-utils/syntax-serialization-map.js +0 -30
  268. package/dist/serializer/base-serializer.js +0 -29
  269. package/dist/serializer/comment/agent-comment-serializer.js +0 -74
  270. package/dist/serializer/comment/agent-serializer.js +0 -59
  271. package/dist/serializer/comment/comment-rule-serializer.js +0 -105
  272. package/dist/serializer/comment/config-comment-serializer.js +0 -82
  273. package/dist/serializer/comment/hint-comment-serializer.js +0 -65
  274. package/dist/serializer/comment/hint-serializer.js +0 -54
  275. package/dist/serializer/comment/metadata-comment-serializer.js +0 -73
  276. package/dist/serializer/comment/pre-processor-comment-serializer.js +0 -71
  277. package/dist/serializer/comment/simple-comment-serializer.js +0 -52
  278. package/dist/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +0 -36
  279. package/dist/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +0 -36
  280. package/dist/serializer/cosmetic/body/scriptlet-body-serializer.js +0 -50
  281. package/dist/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +0 -36
  282. package/dist/serializer/cosmetic/cosmetic-rule-serializer.js +0 -120
  283. package/dist/serializer/cosmetic/css-injection-body-serializer.js +0 -51
  284. package/dist/serializer/cosmetic/element-hiding-body-serializer.js +0 -40
  285. package/dist/serializer/empty-rule-serializer.js +0 -37
  286. package/dist/serializer/filterlist-serializer.js +0 -45
  287. package/dist/serializer/index.js +0 -7
  288. package/dist/serializer/invalid-rule-error-node-serializer.js +0 -41
  289. package/dist/serializer/invalid-rule-serializer.js +0 -40
  290. package/dist/serializer/misc/domain-list-serializer.js +0 -64
  291. package/dist/serializer/misc/list-item-serializer.js +0 -58
  292. package/dist/serializer/misc/list-items-serializer.js +0 -29
  293. package/dist/serializer/misc/logical-expression-serializer.js +0 -136
  294. package/dist/serializer/misc/modifier-list-serializer.js +0 -58
  295. package/dist/serializer/misc/modifier-serializer.js +0 -49
  296. package/dist/serializer/misc/parameter-list-serializer.js +0 -52
  297. package/dist/serializer/misc/value-serializer.js +0 -50
  298. package/dist/serializer/network/host-rule-serializer.js +0 -70
  299. package/dist/serializer/network/hostname-list-serializer.js +0 -53
  300. package/dist/serializer/network/network-rule-serializer.js +0 -54
  301. package/dist/serializer/rule-serializer.js +0 -61
  302. package/dist/types/deserializer/base-deserializer.d.ts +0 -15
  303. package/dist/types/deserializer/comment/agent-comment-deserializer.d.ts +0 -34
  304. package/dist/types/deserializer/comment/agent-deserializer.d.ts +0 -25
  305. package/dist/types/deserializer/comment/comment-rule-deserializer.d.ts +0 -16
  306. package/dist/types/deserializer/comment/config-comment-deserializer.d.ts +0 -27
  307. package/dist/types/deserializer/comment/hint-comment-deserializer.d.ts +0 -24
  308. package/dist/types/deserializer/comment/hint-deserializer.d.ts +0 -26
  309. package/dist/types/deserializer/comment/metadata-comment-deserializer.d.ts +0 -26
  310. package/dist/types/deserializer/comment/pre-processor-comment-deserializer.d.ts +0 -29
  311. package/dist/types/deserializer/comment/simple-comment-deserializer.d.ts +0 -26
  312. package/dist/types/deserializer/cosmetic/cosmetic-rule-deserializer.d.ts +0 -18
  313. package/dist/types/deserializer/cosmetic/css-injection-body-deserializer.d.ts +0 -15
  314. package/dist/types/deserializer/cosmetic/element-hiding-body-deserializer.d.ts +0 -16
  315. package/dist/types/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.d.ts +0 -17
  316. package/dist/types/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.d.ts +0 -18
  317. package/dist/types/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.d.ts +0 -19
  318. package/dist/types/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.d.ts +0 -17
  319. package/dist/types/deserializer/empty-rule-deserializer.d.ts +0 -16
  320. package/dist/types/deserializer/filterlist-deserializer.d.ts +0 -34
  321. package/dist/types/deserializer/index.d.ts +0 -2
  322. package/dist/types/deserializer/invalid-rule-deserializer.d.ts +0 -16
  323. package/dist/types/deserializer/invalid-rule-error-node-deserializer.d.ts +0 -16
  324. package/dist/types/deserializer/misc/domain-list-deserializer.d.ts +0 -15
  325. package/dist/types/deserializer/misc/list-item-deserializer.d.ts +0 -19
  326. package/dist/types/deserializer/misc/list-items-deserializer.d.ts +0 -16
  327. package/dist/types/deserializer/misc/logical-expression-deserializer.d.ts +0 -55
  328. package/dist/types/deserializer/misc/modifier-deserializer.d.ts +0 -18
  329. package/dist/types/deserializer/misc/modifier-list-deserializer.d.ts +0 -20
  330. package/dist/types/deserializer/misc/parameter-list-deserializer.d.ts +0 -18
  331. package/dist/types/deserializer/misc/value-deserializer.d.ts +0 -17
  332. package/dist/types/deserializer/network/host-rule-deserializer.d.ts +0 -18
  333. package/dist/types/deserializer/network/hostname-list-deserializer.d.ts +0 -15
  334. package/dist/types/deserializer/network/network-rule-deserializer.d.ts +0 -18
  335. package/dist/types/deserializer/rule-deserializer.d.ts +0 -17
  336. package/dist/types/deserializer/syntax-deserialization-map.d.ts +0 -2
  337. package/dist/types/marshalling-utils/comment/agent-comment-common.d.ts +0 -14
  338. package/dist/types/marshalling-utils/comment/agent-common.d.ts +0 -20
  339. package/dist/types/marshalling-utils/comment/config-comment-common.d.ts +0 -42
  340. package/dist/types/marshalling-utils/comment/hint-comment-common.d.ts +0 -15
  341. package/dist/types/marshalling-utils/comment/hint-common.d.ts +0 -33
  342. package/dist/types/marshalling-utils/comment/metadata-comment-common.d.ts +0 -21
  343. package/dist/types/marshalling-utils/comment/pre-processor-comment-common.d.ts +0 -37
  344. package/dist/types/marshalling-utils/comment/simple-comment-common.d.ts +0 -15
  345. package/dist/types/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.d.ts +0 -23
  346. package/dist/types/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.d.ts +0 -9
  347. package/dist/types/marshalling-utils/cosmetic/body/css-injection-body-common.d.ts +0 -17
  348. package/dist/types/marshalling-utils/cosmetic/body/element-hiding-body-common.d.ts +0 -14
  349. package/dist/types/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.d.ts +0 -9
  350. package/dist/types/marshalling-utils/cosmetic/cosmetic-rule-common.d.ts +0 -28
  351. package/dist/types/marshalling-utils/empty-rule-common.d.ts +0 -13
  352. package/dist/types/marshalling-utils/filter-list-common.d.ts +0 -14
  353. package/dist/types/marshalling-utils/invalid-rule-common.d.ts +0 -14
  354. package/dist/types/marshalling-utils/invalid-rule-error-node-common.d.ts +0 -15
  355. package/dist/types/marshalling-utils/misc/binary-type-common.d.ts +0 -57
  356. package/dist/types/marshalling-utils/misc/domain-list-common.d.ts +0 -24
  357. package/dist/types/marshalling-utils/misc/host-rule-common.d.ts +0 -18
  358. package/dist/types/marshalling-utils/misc/hostname-list-common.d.ts +0 -14
  359. package/dist/types/marshalling-utils/misc/list-item-common.d.ts +0 -15
  360. package/dist/types/marshalling-utils/misc/logical-expression-common.d.ts +0 -47
  361. package/dist/types/marshalling-utils/misc/modifier-common.d.ts +0 -41
  362. package/dist/types/marshalling-utils/misc/modifier-list-common.d.ts +0 -14
  363. package/dist/types/marshalling-utils/misc/parameter-list-common.d.ts +0 -14
  364. package/dist/types/marshalling-utils/misc/value-common.d.ts +0 -15
  365. package/dist/types/marshalling-utils/network/network-rule-common.d.ts +0 -18
  366. package/dist/types/marshalling-utils/syntax-serialization-map.d.ts +0 -2
  367. package/dist/types/serializer/base-serializer.d.ts +0 -15
  368. package/dist/types/serializer/comment/agent-comment-serializer.d.ts +0 -34
  369. package/dist/types/serializer/comment/agent-serializer.d.ts +0 -15
  370. package/dist/types/serializer/comment/comment-rule-serializer.d.ts +0 -68
  371. package/dist/types/serializer/comment/config-comment-serializer.d.ts +0 -25
  372. package/dist/types/serializer/comment/hint-comment-serializer.d.ts +0 -23
  373. package/dist/types/serializer/comment/hint-serializer.d.ts +0 -24
  374. package/dist/types/serializer/comment/metadata-comment-serializer.d.ts +0 -25
  375. package/dist/types/serializer/comment/pre-processor-comment-serializer.d.ts +0 -28
  376. package/dist/types/serializer/comment/simple-comment-serializer.d.ts +0 -24
  377. package/dist/types/serializer/cosmetic/body/abp-snippet-injection-body-serializer.d.ts +0 -25
  378. package/dist/types/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.d.ts +0 -25
  379. package/dist/types/serializer/cosmetic/body/scriptlet-body-serializer.d.ts +0 -17
  380. package/dist/types/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.d.ts +0 -25
  381. package/dist/types/serializer/cosmetic/cosmetic-rule-serializer.d.ts +0 -19
  382. package/dist/types/serializer/cosmetic/css-injection-body-serializer.d.ts +0 -15
  383. package/dist/types/serializer/cosmetic/element-hiding-body-serializer.d.ts +0 -15
  384. package/dist/types/serializer/empty-rule-serializer.d.ts +0 -15
  385. package/dist/types/serializer/filterlist-serializer.d.ts +0 -15
  386. package/dist/types/serializer/index.d.ts +0 -1
  387. package/dist/types/serializer/invalid-rule-error-node-serializer.d.ts +0 -15
  388. package/dist/types/serializer/invalid-rule-serializer.d.ts +0 -15
  389. package/dist/types/serializer/misc/domain-list-serializer.d.ts +0 -21
  390. package/dist/types/serializer/misc/list-item-serializer.d.ts +0 -16
  391. package/dist/types/serializer/misc/list-items-serializer.d.ts +0 -15
  392. package/dist/types/serializer/misc/logical-expression-serializer.d.ts +0 -52
  393. package/dist/types/serializer/misc/modifier-list-serializer.d.ts +0 -20
  394. package/dist/types/serializer/misc/modifier-serializer.d.ts +0 -18
  395. package/dist/types/serializer/misc/parameter-list-serializer.d.ts +0 -17
  396. package/dist/types/serializer/misc/value-serializer.d.ts +0 -17
  397. package/dist/types/serializer/network/host-rule-serializer.d.ts +0 -30
  398. package/dist/types/serializer/network/hostname-list-serializer.d.ts +0 -15
  399. package/dist/types/serializer/network/network-rule-serializer.d.ts +0 -18
  400. package/dist/types/serializer/rule-serializer.d.ts +0 -17
  401. package/dist/types/utils/binary-schema-version.d.ts +0 -9
  402. package/dist/types/utils/byte-buffer.d.ts +0 -54
  403. package/dist/types/utils/input-byte-buffer.d.ts +0 -146
  404. package/dist/types/utils/is-chromium.d.ts +0 -7
  405. package/dist/types/utils/output-byte-buffer.d.ts +0 -132
  406. package/dist/types/utils/storage-interface.d.ts +0 -23
  407. package/dist/types/utils/text-decoder-polyfill.d.ts +0 -14
  408. package/dist/types/utils/text-encoder-polyfill.d.ts +0 -18
  409. package/dist/utils/binary-schema-version.js +0 -17
  410. package/dist/utils/byte-buffer.js +0 -91
  411. package/dist/utils/input-byte-buffer.js +0 -266
  412. package/dist/utils/is-chromium.js +0 -20
  413. package/dist/utils/output-byte-buffer.js +0 -231
  414. package/dist/utils/text-decoder-polyfill.js +0 -107
  415. package/dist/utils/text-encoder-polyfill.js +0 -78
  416. /package/dist/types/generator/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-generator.d.ts +0 -0
  417. /package/dist/types/generator/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-generator.d.ts +0 -0
  418. /package/dist/types/generator/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-generator.d.ts +0 -0
  419. /package/dist/types/parser/cosmetic/{body → scriptlet-body}/abp-snippet-injection-body-parser.d.ts +0 -0
  420. /package/dist/types/parser/cosmetic/{body → scriptlet-body}/adg-scriptlet-injection-body-parser.d.ts +0 -0
  421. /package/dist/types/parser/cosmetic/{body → scriptlet-body}/ubo-scriptlet-injection-body-parser.d.ts +0 -0
@@ -0,0 +1,15 @@
1
+ import { type SelectorListParserContext } from '../context.js';
2
+ /**
3
+ * Handles class selector parsing in selector list.
4
+ */
5
+ export declare class ClassSelectorHandler {
6
+ /**
7
+ * Handles class selector parsing by creating a class selector node
8
+ * and appending it to the current complex selector node.
9
+ *
10
+ * @param context Selector list parser context.
11
+ *
12
+ * @throws If the class selector is syntactically incorrect.
13
+ */
14
+ static handle(context: SelectorListParserContext): void;
15
+ }
@@ -0,0 +1,20 @@
1
+ import { type SelectorListParserContext } from '../context.js';
2
+ /**
3
+ * Handles complex selector parsing in selector list.
4
+ */
5
+ export declare class ComplexSelectorHandler {
6
+ /**
7
+ * Finishes the current complex selector by:
8
+ * 1. Finishing current compound selector node via {@link CompoundSelectorHandler},
9
+ * 2. Validating current complex selector node,
10
+ * 3. Appending current complex selector node to the selector list node,
11
+ * If `isEof` is `false`:
12
+ * 4. Constructing next complex selector node.
13
+ *
14
+ * @param context Selector list parser context.
15
+ * @param isEof Indicates whether the end of the file has been reached.
16
+ *
17
+ * @throws If the current compound / complex selector has no simple selectors / compound selectors.
18
+ */
19
+ static handle(context: SelectorListParserContext, isEof?: boolean): void;
20
+ }
@@ -0,0 +1,25 @@
1
+ import { type SelectorCombinatorValue } from '../../../../nodes/index.js';
2
+ import { type SelectorListParserContext } from '../context.js';
3
+ /**
4
+ * Handles compound selector parsing in selector list.
5
+ */
6
+ export declare class CompoundSelectorHandler {
7
+ /**
8
+ * Set of allowed symbols between selectors (combinators + comma, except <space> combinator).
9
+ *
10
+ * @see {@link SelectorCombinatorValue}
11
+ */
12
+ private static readonly ALLOWED_SYMBOLS_BETWEEN_SELECTORS;
13
+ /**
14
+ * Finishes the current compound selector by:
15
+ * 1. Validating current compound selector node,
16
+ * 2. Constructing selector combinator node (if provided),
17
+ * 3. Appending selector combinator node to the complex selector (if provided).
18
+ *
19
+ * @param context Selector list parser context.
20
+ * @param combinator Optional combinator string.
21
+ *
22
+ * @throws If the current compound selector has no simple selectors.
23
+ */
24
+ static handle(context: SelectorListParserContext, combinator?: SelectorCombinatorValue): void;
25
+ }
@@ -0,0 +1,15 @@
1
+ import { type SelectorListParserContext } from '../context.js';
2
+ /**
3
+ * Handles ID selector parsing in selector list.
4
+ */
5
+ export declare class IdSelectorHandler {
6
+ /**
7
+ * Handles ID selector parsing by creating an ID selector node
8
+ * and appending it to the current complex selector node.
9
+ *
10
+ * @param context Selector list parser context.
11
+ *
12
+ * @throws If the ID selector is syntactically incorrect.
13
+ */
14
+ static handle(context: SelectorListParserContext): void;
15
+ }
@@ -0,0 +1,15 @@
1
+ import { type SelectorListParserContext } from '../context.js';
2
+ /**
3
+ * Handles pseudo-class selector parsing in selector list.
4
+ */
5
+ export declare class PseudoClassSelectorHandler {
6
+ /**
7
+ * Handles pseudo-class selector parsing by creating a pseudo-class selector node
8
+ * and appending it to the current complex selector node.
9
+ *
10
+ * @param context Selector list parser context.
11
+ *
12
+ * @throws If the pseudo-class selector is syntactically incorrect.
13
+ */
14
+ static handle(context: SelectorListParserContext): void;
15
+ }
@@ -0,0 +1,15 @@
1
+ import { type SelectorListParserContext } from '../context.js';
2
+ /**
3
+ * Handles type selector parsing in selector list.
4
+ */
5
+ export declare class TypeSelectorHandler {
6
+ /**
7
+ * Handles type selector parsing by creating a type selector node
8
+ * and appending it to the current complex selector node.
9
+ *
10
+ * @param context Selector list parser context.
11
+ *
12
+ * @throws If the type selector is syntactically incorrect.
13
+ */
14
+ static handle(context: SelectorListParserContext): void;
15
+ }
@@ -0,0 +1,38 @@
1
+ import { type SelectorList } from '../../../nodes/index.js';
2
+ import { BaseParser } from '../../base-parser.js';
3
+ /**
4
+ * Class responsible for parsing selector lists.
5
+ *
6
+ * Please note that the parser will parse any selector list if it is syntactically correct.
7
+ * For example, it will parse this:
8
+ * ```adblock
9
+ * div[attr1="value1"] > h1[attr2="value2"], span[attr3="value3"]
10
+ * ```
11
+ *
12
+ * but it didn't check if the given attribute or pseudo-class is valid or not.
13
+ *
14
+ * @see {@link https://www.w3.org/TR/selectors-4/#selector-list}'
15
+ */
16
+ export declare class SelectorListParser extends BaseParser {
17
+ /**
18
+ * Common error messages used in the parser for unexpected tokens.
19
+ */
20
+ private static readonly UNEXPECTED_TOKEN_WITH_VALUE_ERROR;
21
+ /**
22
+ * Parses a selector list.
23
+ *
24
+ * @param raw Raw input to parse.
25
+ * @param options Global parser options.
26
+ * @param baseOffset Starting offset of the input. Node locations are calculated relative to this offset.
27
+ *
28
+ * @returns Node of the parsed selector list.
29
+ *
30
+ * @throws If the selector list is syntactically incorrect.
31
+ *
32
+ * @example
33
+ * ```
34
+ * div[attr1="value1"] > h1[attr2="value2"], span[attr3="value3"]
35
+ * ```
36
+ */
37
+ static parse(raw: string, options?: import("../../index.js").ParserOptions, baseOffset?: number): SelectorList;
38
+ }
@@ -3,8 +3,6 @@
3
3
  */
4
4
  import { type CssInjectionRuleBody } from '../../nodes/index.js';
5
5
  import { BaseParser } from '../base-parser.js';
6
- export declare const REMOVE_PROPERTY = "remove";
7
- export declare const REMOVE_VALUE = "true";
8
6
  export declare const ERROR_MESSAGES: {
9
7
  MEDIA_QUERY_LIST_IS_EMPTY: string;
10
8
  SELECTOR_LIST_IS_EMPTY: string;
@@ -192,6 +192,7 @@ export declare class CssTokenStream {
192
192
  hasAnySelectorExtendedCssNode(): boolean;
193
193
  /**
194
194
  * Strictly checks whether the token stream contains any Extended CSS elements, such as `:contains()`.
195
+ *
195
196
  * Some Extended CSS elements are natively supported by browsers, like `:has()`.
196
197
  * This method is used to check for Extended CSS elements that are not natively supported by browsers,
197
198
  * this is why it called "strict", because it strictly checks for Extended CSS elements.
@@ -199,6 +200,23 @@ export declare class CssTokenStream {
199
200
  * @returns `true` if the stream contains any Extended CSS elements, otherwise `false`.
200
201
  */
201
202
  hasAnySelectorExtendedCssNodeStrict(): boolean;
203
+ /**
204
+ * _Lightweight_ static check for native CSS pseudo-classes — `:has()`, `:is()`, `:not()`.
205
+ *
206
+ * This method uses `tokenizeExtended` directly with early stopping,
207
+ * avoiding the overhead of:
208
+ * - full tokenization with balance tracking;
209
+ * - storing all tokens in memory;
210
+ * - processing remaining tokens after a match is found.
211
+ *
212
+ * Use this method when you only need to detect native pseudo-classes
213
+ * and don't need the full `CssTokenStream` functionality.
214
+ *
215
+ * @param selector CSS selector string to check.
216
+ * @returns True if the selector contains `:has()`, `:is()`, or `:not()`,
217
+ * otherwise false.
218
+ */
219
+ static hasNativeCssPseudoClass(selector: string): boolean;
202
220
  /**
203
221
  * Checks whether the token stream contains any Extended CSS elements, such as `:has()`, `:contains()`, etc.
204
222
  *
@@ -27,5 +27,5 @@ export declare class NetworkRuleParser extends BaseParser {
27
27
  * @param rule Network rule to check
28
28
  * @returns The index of the separator character, or -1 if there is no separator
29
29
  */
30
- private static findNetworkRuleSeparatorIndex;
30
+ static findNetworkRuleSeparatorIndex(rule: string): number;
31
31
  }
@@ -40,6 +40,11 @@ export interface ParserOptions {
40
40
  * Whether to parse host rules.
41
41
  */
42
42
  parseHostRules?: boolean;
43
+ /**
44
+ * Whether to parse HTML filtering rule bodies.
45
+ * If `false`, HTML filtering rule `body` property will be plain string.
46
+ */
47
+ parseHtmlFilteringRuleBodies?: boolean;
43
48
  /**
44
49
  * Callback function to handle parse errors when tolerant mode is enabled.
45
50
  */
@@ -128,6 +128,7 @@ export declare const UBO_SCRIPTLET_MASK = "+js";
128
128
  export declare const UBO_SCRIPTLET_MASK_LEGACY = "script:inject";
129
129
  export declare const UBO_HTML_MASK = "^";
130
130
  export declare const UBO_MATCHES_PATH_OPERATOR = "matches-path";
131
+ export declare const UBO_RESPONSEHEADER_FN = "responseheader";
131
132
  export declare const ADG_PATH_MODIFIER = "path";
132
133
  export declare const ADG_DOMAINS_MODIFIER = "domain";
133
134
  export declare const ADG_APP_MODIFIER = "app";
@@ -1,5 +1,4 @@
1
1
  export { ADG_SCRIPTLET_MASK, AGLINT_COMMAND_PREFIX, COMMA_DOMAIN_LIST_SEPARATOR, NEGATION_MARKER, HINT_MARKER, IF, INCLUDE, MODIFIERS_SEPARATOR, MODIFIER_ASSIGN_OPERATOR, PIPE_MODIFIER_SEPARATOR, NETWORK_RULE_EXCEPTION_MARKER, NETWORK_RULE_SEPARATOR, PREPROCESSOR_MARKER, SAFARI_CB_AFFINITY, UBO_SCRIPTLET_MASK, COMMA, PIPE, } from './constants.js';
2
- export { BINARY_SCHEMA_VERSION } from './binary-schema-version.js';
3
2
  export { AdblockSyntax } from './adblockers.js';
4
3
  export { getBitCount } from './bit-count.js';
5
4
  export { type ReadonlyRecord } from './types.js';
@@ -9,9 +8,4 @@ export { type VariableTable, LogicalExpressionUtils } from './logical-expression
9
8
  export { ADBLOCK_URL_START, ADBLOCK_URL_START_REGEX, ADBLOCK_URL_SEPARATOR, ADBLOCK_URL_SEPARATOR_REGEX, ADBLOCK_WILDCARD, ADBLOCK_WILDCARD_REGEX, SPECIAL_REGEX_SYMBOLS, RegExpUtils, } from './regexp.js';
10
9
  export { QuoteType, QuoteUtils, } from './quotes.js';
11
10
  export { type Position, PositionProvider } from './position-provider.js';
12
- export { OutputByteBuffer } from './output-byte-buffer.js';
13
- export { InputByteBuffer } from './input-byte-buffer.js';
14
- export { ByteBuffer } from './byte-buffer.js';
15
- export { encodeIntoPolyfill, type TextEncoderPolyfillResult } from './text-encoder-polyfill.js';
16
- export { decodeTextPolyfill } from './text-decoder-polyfill.js';
17
11
  export { RuleCategorizer } from './categorizer.js';
@@ -91,4 +91,48 @@ export declare class QuoteUtils {
91
91
  * ['abc', 'def']: strings[] -> "'abc', 'def'": string
92
92
  */
93
93
  static quoteAndJoinStrings(strings: string[], quoteType?: QuoteType, separator?: string): string;
94
+ /**
95
+ * Convert `""` to `\"` within strings inside of attribute selectors,
96
+ * because it is not compatible with the standard CSS syntax.
97
+ *
98
+ * @param selector CSS selector string.
99
+ *
100
+ * @returns Escaped CSS selector.
101
+ *
102
+ * @note In the legacy syntax, `""` is used to escape double quotes, but it cannot be used
103
+ * in the standard CSS syntax, so we use conversion functions to handle this.
104
+ * @note This function is intended to be used on whole attribute selector or whole selector strings.
105
+ *
106
+ * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#tag-content}
107
+ * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#wildcard}
108
+ *
109
+ * @example
110
+ * ```ts
111
+ * QuoteUtils.escapeAttributeDoubleQuotes('[attr="value with "" quotes"]');
112
+ * QuoteUtils.escapeAttributeDoubleQuotes('div[attr="value with "" quotes"] > span');
113
+ * ```
114
+ */
115
+ static escapeAttributeDoubleQuotes(selector: string): string;
116
+ /**
117
+ * Convert escaped double quotes `\"` to `""` within strings inside of attribute selectors,
118
+ * because it is not compatible with the standard CSS syntax.
119
+ *
120
+ * @param selector CSS selector string.
121
+ *
122
+ * @returns Unescaped CSS selector.
123
+ *
124
+ * @note In the legacy syntax, `""` is used to escape double quotes, but it cannot be used
125
+ * in the standard CSS syntax, so we use conversion functions to handle this.
126
+ * @note This function is intended to be used on whole attribute selector or whole selector strings.
127
+ *
128
+ * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#tag-content}
129
+ * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#wildcard}
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * QuoteUtils.unescapeAttributeDoubleQuotes('[attr="value with \\" quotes"]');
134
+ * QuoteUtils.unescapeAttributeDoubleQuotes('div[attr="value with \\" quotes"] > span');
135
+ * ```
136
+ */
137
+ static unescapeAttributeDoubleQuotes(selector: string): string;
94
138
  }
@@ -72,4 +72,28 @@ export declare class RegExpUtils {
72
72
  * @see {@link https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules}
73
73
  */
74
74
  static patternToRegexp(pattern: string): string;
75
+ /**
76
+ * Creates a length-matching regular expression string: /^(?=.{min,max}$).*\/s
77
+ * Where:
78
+ * - (?=.{min,max}$) is a lookahead that ensures the string length is between min and max
79
+ * - .* matches any character (including newlines, due to the 's' flag)
80
+ *
81
+ * @param min Minimum length or `null` for no minimum (default to `0`).
82
+ * @param max Maximum length or `null` for no maximum (default to no maximum).
83
+ *
84
+ * @returns Length-matching regular expression string.
85
+ */
86
+ static getLengthRegexp(min: number | null, max: number | null): string;
87
+ /**
88
+ * Converts a glob pattern to a RegExp string with slashes and 's' flag.
89
+ *
90
+ * @param glob Glob pattern to convert.
91
+ *
92
+ * @returns RegExp string.
93
+ *
94
+ * @example
95
+ * // Returns '/^foo.*bar$/s'
96
+ * RegExpUtils.globToRegExp('foo*bar');
97
+ */
98
+ static globToRegExp(glob: string): string;
75
99
  }
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -26,11 +26,13 @@ const CARET = '^';
26
26
  const DOLLAR_SIGN = '$';
27
27
  const EQUALS = '=';
28
28
  const EXCLAMATION_MARK = '!';
29
+ const GREATER_THAN = '>';
29
30
  const HASHMARK = '#';
30
31
  const PIPE = '|';
31
32
  const PLUS = '+';
32
33
  const QUESTION_MARK = '?';
33
34
  const SLASH = '/';
35
+ const TILDE = '~';
34
36
  const UNDERSCORE = '_';
35
37
  // Escape characters
36
38
  const BACKSLASH = '\\';
@@ -200,6 +202,7 @@ const UBO_SCRIPTLET_MASK = '+js';
200
202
  const UBO_SCRIPTLET_MASK_LEGACY = 'script:inject';
201
203
  const UBO_HTML_MASK = '^';
202
204
  const UBO_MATCHES_PATH_OPERATOR = 'matches-path';
205
+ const UBO_RESPONSEHEADER_FN = 'responseheader';
203
206
  const ADG_PATH_MODIFIER = 'path';
204
207
  const ADG_DOMAINS_MODIFIER = 'domain';
205
208
  const ADG_APP_MODIFIER = 'app';
@@ -233,9 +236,6 @@ const COMMA_DOMAIN_LIST_SEPARATOR = ',';
233
236
  */
234
237
  const PIPE_MODIFIER_SEPARATOR = '|';
235
238
  const CSS_MEDIA_MARKER = '@media';
236
- const CSS_PSEUDO_MARKER = ':';
237
- const CSS_PSEUDO_OPEN = '(';
238
- const CSS_PSEUDO_CLOSE = ')';
239
239
  const CSS_NOT_PSEUDO = 'not';
240
240
  const CSS_BLOCK_OPEN = '{';
241
241
  const CSS_BLOCK_CLOSE = '}';
@@ -252,8 +252,5 @@ const PREPROCESSOR_SEPARATOR = ' ';
252
252
  const SAFARI_CB_AFFINITY = 'safari_cb_affinity';
253
253
  const IF = 'if';
254
254
  const INCLUDE = 'include';
255
- const NULL = 0;
256
- const UINT8_MAX = 255;
257
- const UINT16_MAX = 65535;
258
255
 
259
- export { ADG_APP_MODIFIER, ADG_DOMAINS_MODIFIER, ADG_PATH_MODIFIER, ADG_SCRIPTLET_MASK, ADG_URL_MODIFIER, AGLINT_COMMAND_PREFIX, AGLINT_CONFIG_COMMENT_MARKER, AMPERSAND, ASTERISK, AT_SIGN, BACKSLASH, BACKTICK_QUOTE, CAPITAL_LETTERS, CAPITAL_LETTER_A, CAPITAL_LETTER_B, CAPITAL_LETTER_C, CAPITAL_LETTER_D, CAPITAL_LETTER_E, CAPITAL_LETTER_F, CAPITAL_LETTER_G, CAPITAL_LETTER_H, CAPITAL_LETTER_I, CAPITAL_LETTER_J, CAPITAL_LETTER_K, CAPITAL_LETTER_L, CAPITAL_LETTER_M, CAPITAL_LETTER_N, CAPITAL_LETTER_O, CAPITAL_LETTER_P, CAPITAL_LETTER_Q, CAPITAL_LETTER_R, CAPITAL_LETTER_S, CAPITAL_LETTER_T, CAPITAL_LETTER_U, CAPITAL_LETTER_V, CAPITAL_LETTER_W, CAPITAL_LETTER_X, CAPITAL_LETTER_Y, CAPITAL_LETTER_Z, CARET, CLOSE_CURLY_BRACKET, CLOSE_PARENTHESIS, CLOSE_SQUARE_BRACKET, COLON, COMMA, COMMA_DOMAIN_LIST_SEPARATOR, CR, CRLF, CSS_BLOCK_CLOSE, CSS_BLOCK_OPEN, CSS_MEDIA_MARKER, CSS_NOT_PSEUDO, CSS_PSEUDO_CLOSE, CSS_PSEUDO_MARKER, CSS_PSEUDO_OPEN, DOLLAR_SIGN, DOT, DOUBLE_QUOTE, EMPTY, EQUALS, ESCAPE_CHARACTER, EXCLAMATION_MARK, FF, HASHMARK, HINT_MARKER, HINT_MARKER_LEN, IF, INCLUDE, LF, MODIFIERS_SEPARATOR, MODIFIER_ASSIGN_OPERATOR, NEGATION_MARKER, NETWORK_RULE_EXCEPTION_MARKER, NETWORK_RULE_EXCEPTION_MARKER_LEN, NETWORK_RULE_SEPARATOR, NEWLINE, NULL, NUMBERS, NUMBER_0, NUMBER_1, NUMBER_2, NUMBER_3, NUMBER_4, NUMBER_5, NUMBER_6, NUMBER_7, NUMBER_8, NUMBER_9, OPEN_CURLY_BRACKET, OPEN_PARENTHESIS, OPEN_SQUARE_BRACKET, PIPE, PIPE_MODIFIER_SEPARATOR, PLUS, PREPROCESSOR_MARKER, PREPROCESSOR_MARKER_LEN, PREPROCESSOR_SEPARATOR, QUESTION_MARK, REGEX_MARKER, SAFARI_CB_AFFINITY, SEMICOLON, SINGLE_QUOTE, SLASH, SMALL_LETTERS, SMALL_LETTER_A, SMALL_LETTER_B, SMALL_LETTER_C, SMALL_LETTER_D, SMALL_LETTER_E, SMALL_LETTER_F, SMALL_LETTER_G, SMALL_LETTER_H, SMALL_LETTER_I, SMALL_LETTER_J, SMALL_LETTER_K, SMALL_LETTER_L, SMALL_LETTER_M, SMALL_LETTER_N, SMALL_LETTER_O, SMALL_LETTER_P, SMALL_LETTER_Q, SMALL_LETTER_R, SMALL_LETTER_S, SMALL_LETTER_T, SMALL_LETTER_U, SMALL_LETTER_V, SMALL_LETTER_W, SMALL_LETTER_X, SMALL_LETTER_Y, SMALL_LETTER_Z, SPACE, TAB, UBO_HTML_MASK, UBO_MATCHES_PATH_OPERATOR, UBO_SCRIPTLET_MASK, UBO_SCRIPTLET_MASK_LEGACY, UINT16_MAX, UINT8_MAX, UNDERSCORE, WILDCARD };
256
+ export { ADG_APP_MODIFIER, ADG_DOMAINS_MODIFIER, ADG_PATH_MODIFIER, ADG_SCRIPTLET_MASK, ADG_URL_MODIFIER, AGLINT_COMMAND_PREFIX, AGLINT_CONFIG_COMMENT_MARKER, AMPERSAND, ASTERISK, AT_SIGN, BACKSLASH, BACKTICK_QUOTE, CAPITAL_LETTERS, CAPITAL_LETTER_A, CAPITAL_LETTER_B, CAPITAL_LETTER_C, CAPITAL_LETTER_D, CAPITAL_LETTER_E, CAPITAL_LETTER_F, CAPITAL_LETTER_G, CAPITAL_LETTER_H, CAPITAL_LETTER_I, CAPITAL_LETTER_J, CAPITAL_LETTER_K, CAPITAL_LETTER_L, CAPITAL_LETTER_M, CAPITAL_LETTER_N, CAPITAL_LETTER_O, CAPITAL_LETTER_P, CAPITAL_LETTER_Q, CAPITAL_LETTER_R, CAPITAL_LETTER_S, CAPITAL_LETTER_T, CAPITAL_LETTER_U, CAPITAL_LETTER_V, CAPITAL_LETTER_W, CAPITAL_LETTER_X, CAPITAL_LETTER_Y, CAPITAL_LETTER_Z, CARET, CLOSE_CURLY_BRACKET, CLOSE_PARENTHESIS, CLOSE_SQUARE_BRACKET, COLON, COMMA, COMMA_DOMAIN_LIST_SEPARATOR, CR, CRLF, CSS_BLOCK_CLOSE, CSS_BLOCK_OPEN, CSS_MEDIA_MARKER, CSS_NOT_PSEUDO, DOLLAR_SIGN, DOT, DOUBLE_QUOTE, EMPTY, EQUALS, ESCAPE_CHARACTER, EXCLAMATION_MARK, FF, GREATER_THAN, HASHMARK, HINT_MARKER, HINT_MARKER_LEN, IF, INCLUDE, LF, MODIFIERS_SEPARATOR, MODIFIER_ASSIGN_OPERATOR, NEGATION_MARKER, NETWORK_RULE_EXCEPTION_MARKER, NETWORK_RULE_EXCEPTION_MARKER_LEN, NETWORK_RULE_SEPARATOR, NEWLINE, NUMBERS, NUMBER_0, NUMBER_1, NUMBER_2, NUMBER_3, NUMBER_4, NUMBER_5, NUMBER_6, NUMBER_7, NUMBER_8, NUMBER_9, OPEN_CURLY_BRACKET, OPEN_PARENTHESIS, OPEN_SQUARE_BRACKET, PIPE, PIPE_MODIFIER_SEPARATOR, PLUS, PREPROCESSOR_MARKER, PREPROCESSOR_MARKER_LEN, PREPROCESSOR_SEPARATOR, QUESTION_MARK, REGEX_MARKER, SAFARI_CB_AFFINITY, SEMICOLON, SINGLE_QUOTE, SLASH, SMALL_LETTERS, SMALL_LETTER_A, SMALL_LETTER_B, SMALL_LETTER_C, SMALL_LETTER_D, SMALL_LETTER_E, SMALL_LETTER_F, SMALL_LETTER_G, SMALL_LETTER_H, SMALL_LETTER_I, SMALL_LETTER_J, SMALL_LETTER_K, SMALL_LETTER_L, SMALL_LETTER_M, SMALL_LETTER_N, SMALL_LETTER_O, SMALL_LETTER_P, SMALL_LETTER_Q, SMALL_LETTER_R, SMALL_LETTER_S, SMALL_LETTER_T, SMALL_LETTER_U, SMALL_LETTER_V, SMALL_LETTER_W, SMALL_LETTER_X, SMALL_LETTER_Y, SMALL_LETTER_Z, SPACE, TAB, TILDE, UBO_HTML_MASK, UBO_MATCHES_PATH_OPERATOR, UBO_RESPONSEHEADER_FN, UBO_SCRIPTLET_MASK, UBO_SCRIPTLET_MASK_LEGACY, UNDERSCORE, WILDCARD };
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,11 +1,10 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
7
7
  export { ADG_SCRIPTLET_MASK, AGLINT_COMMAND_PREFIX, COMMA, COMMA_DOMAIN_LIST_SEPARATOR, HINT_MARKER, IF, INCLUDE, MODIFIERS_SEPARATOR, MODIFIER_ASSIGN_OPERATOR, NEGATION_MARKER, NETWORK_RULE_EXCEPTION_MARKER, NETWORK_RULE_SEPARATOR, PIPE, PIPE_MODIFIER_SEPARATOR, PREPROCESSOR_MARKER, SAFARI_CB_AFFINITY, UBO_SCRIPTLET_MASK } from './constants.js';
8
- export { BINARY_SCHEMA_VERSION } from './binary-schema-version.js';
9
8
  export { AdblockSyntax } from './adblockers.js';
10
9
  export { getBitCount } from './bit-count.js';
11
10
  export { CosmeticRuleSeparatorUtils } from './cosmetic-rule-separator.js';
@@ -14,9 +13,4 @@ export { LogicalExpressionUtils } from './logical-expression.js';
14
13
  export { ADBLOCK_URL_SEPARATOR, ADBLOCK_URL_SEPARATOR_REGEX, ADBLOCK_URL_START, ADBLOCK_URL_START_REGEX, ADBLOCK_WILDCARD, ADBLOCK_WILDCARD_REGEX, RegExpUtils, SPECIAL_REGEX_SYMBOLS } from './regexp.js';
15
14
  export { QuoteType, QuoteUtils } from './quotes.js';
16
15
  export { PositionProvider } from './position-provider.js';
17
- export { OutputByteBuffer } from './output-byte-buffer.js';
18
- export { InputByteBuffer } from './input-byte-buffer.js';
19
- export { ByteBuffer } from './byte-buffer.js';
20
- export { encodeIntoPolyfill } from './text-encoder-polyfill.js';
21
- export { decodeTextPolyfill } from './text-decoder-polyfill.js';
22
16
  export { RuleCategorizer } from './categorizer.js';
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v3.4.1 (build date: Fri, 28 Nov 2025 11:48:53 GMT)
3
- * (c) 2025 Adguard Software Ltd.
2
+ * AGTree v4.0.0 (build date: Wed, 21 Jan 2026 17:25:36 GMT)
3
+ * (c) 2026 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */