@adguard/agtree 3.2.5 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/dist/ast-utils/clone.js +1 -1
  2. package/dist/ast-utils/modifiers.js +1 -1
  3. package/dist/ast-utils/network-rules.js +1 -1
  4. package/dist/ast-utils/scriptlets.js +1 -1
  5. package/dist/common/abp-snippet-injection-body-common.js +1 -1
  6. package/dist/common/agent-common.js +1 -1
  7. package/dist/common/ubo-selector-common.js +1 -1
  8. package/dist/compatibility-tables/base.js +1 -1
  9. package/dist/compatibility-tables/compatibility-table-data.js +1 -1
  10. package/dist/compatibility-tables/modifiers.js +1 -1
  11. package/dist/compatibility-tables/platforms.js +1 -1
  12. package/dist/compatibility-tables/redirects.js +10 -6
  13. package/dist/compatibility-tables/schemas/base.js +1 -1
  14. package/dist/compatibility-tables/schemas/modifier.js +1 -1
  15. package/dist/compatibility-tables/schemas/platform.js +1 -1
  16. package/dist/compatibility-tables/schemas/redirect.js +1 -1
  17. package/dist/compatibility-tables/schemas/resource-type.js +1 -1
  18. package/dist/compatibility-tables/schemas/scriptlet.js +1 -1
  19. package/dist/compatibility-tables/scriptlets.js +1 -1
  20. package/dist/compatibility-tables/utils/platform-helpers.js +33 -1
  21. package/dist/compatibility-tables/utils/resource-type-helpers.js +1 -1
  22. package/dist/compatibility-tables/utils/zod-camelcase.js +1 -1
  23. package/dist/converter/base-interfaces/base-converter.js +1 -1
  24. package/dist/converter/base-interfaces/conversion-result.js +1 -1
  25. package/dist/converter/base-interfaces/rule-converter-base.js +1 -1
  26. package/dist/converter/comment/index.js +1 -1
  27. package/dist/converter/cosmetic/css.js +1 -1
  28. package/dist/converter/cosmetic/element-hiding.js +1 -1
  29. package/dist/converter/cosmetic/header-removal.js +1 -1
  30. package/dist/converter/cosmetic/html.js +1 -1
  31. package/dist/converter/cosmetic/index.js +1 -1
  32. package/dist/converter/cosmetic/rule-modifiers/adg.js +1 -1
  33. package/dist/converter/cosmetic/rule-modifiers/ubo.js +1 -8
  34. package/dist/converter/cosmetic/scriptlet.js +1 -8
  35. package/dist/converter/css/index.js +1 -1
  36. package/dist/converter/data/css.js +1 -1
  37. package/dist/converter/filter-list.js +1 -1
  38. package/dist/converter/index.js +1 -1
  39. package/dist/converter/misc/network-rule-modifier.js +1 -1
  40. package/dist/converter/network/index.js +1 -1
  41. package/dist/converter/raw-filter-list.js +1 -1
  42. package/dist/converter/raw-rule.js +1 -1
  43. package/dist/converter/rule.js +1 -1
  44. package/dist/deserializer/base-deserializer.js +1 -1
  45. package/dist/deserializer/comment/agent-comment-deserializer.js +1 -1
  46. package/dist/deserializer/comment/agent-deserializer.js +1 -1
  47. package/dist/deserializer/comment/comment-rule-deserializer.js +1 -1
  48. package/dist/deserializer/comment/config-comment-deserializer.js +1 -1
  49. package/dist/deserializer/comment/hint-comment-deserializer.js +1 -1
  50. package/dist/deserializer/comment/hint-deserializer.js +1 -1
  51. package/dist/deserializer/comment/metadata-comment-deserializer.js +1 -1
  52. package/dist/deserializer/comment/pre-processor-comment-deserializer.js +1 -1
  53. package/dist/deserializer/comment/simple-comment-deserializer.js +1 -1
  54. package/dist/deserializer/cosmetic/cosmetic-rule-deserializer.js +1 -1
  55. package/dist/deserializer/cosmetic/css-injection-body-deserializer.js +1 -1
  56. package/dist/deserializer/cosmetic/element-hiding-body-deserializer.js +1 -1
  57. package/dist/deserializer/cosmetic/scriptlet-body/abp-snippet-injection-body-deserializer.js +1 -1
  58. package/dist/deserializer/cosmetic/scriptlet-body/adg-scriptlet-injection-body-deserializer.js +1 -1
  59. package/dist/deserializer/cosmetic/scriptlet-body/scriptlet-body-deserializer.js +1 -1
  60. package/dist/deserializer/cosmetic/scriptlet-body/ubo-scriptlet-injection-body-deserializer.js +1 -1
  61. package/dist/deserializer/empty-rule-deserializer.js +1 -1
  62. package/dist/deserializer/filterlist-deserializer.js +1 -1
  63. package/dist/deserializer/index.js +1 -1
  64. package/dist/deserializer/invalid-rule-deserializer.js +1 -1
  65. package/dist/deserializer/invalid-rule-error-node-deserializer.js +1 -1
  66. package/dist/deserializer/misc/domain-list-deserializer.js +1 -1
  67. package/dist/deserializer/misc/list-item-deserializer.js +1 -1
  68. package/dist/deserializer/misc/list-items-deserializer.js +1 -1
  69. package/dist/deserializer/misc/logical-expression-deserializer.js +1 -1
  70. package/dist/deserializer/misc/modifier-deserializer.js +1 -1
  71. package/dist/deserializer/misc/modifier-list-deserializer.js +1 -1
  72. package/dist/deserializer/misc/parameter-list-deserializer.js +1 -1
  73. package/dist/deserializer/misc/value-deserializer.js +1 -1
  74. package/dist/deserializer/network/host-rule-deserializer.js +1 -1
  75. package/dist/deserializer/network/hostname-list-deserializer.js +1 -1
  76. package/dist/deserializer/network/network-rule-deserializer.js +1 -1
  77. package/dist/deserializer/rule-deserializer.js +1 -1
  78. package/dist/deserializer/syntax-deserialization-map.js +1 -1
  79. package/dist/errors/adblock-syntax-error.js +1 -1
  80. package/dist/errors/binary-schema-mismatch-error.js +1 -1
  81. package/dist/errors/not-implemented-error.js +1 -1
  82. package/dist/errors/rule-conversion-error.js +1 -1
  83. package/dist/generator/base-generator.js +1 -1
  84. package/dist/generator/comment/agent-comment-generator.js +1 -1
  85. package/dist/generator/comment/agent-generator.js +1 -1
  86. package/dist/generator/comment/comment-rule-generator.js +1 -1
  87. package/dist/generator/comment/config-comment-generator.js +1 -1
  88. package/dist/generator/comment/hint-comment-generator.js +1 -1
  89. package/dist/generator/comment/hint-generator.js +1 -1
  90. package/dist/generator/comment/metadata-comment-generator.js +1 -1
  91. package/dist/generator/comment/pre-processor-comment-generator.js +1 -1
  92. package/dist/generator/comment/simple-comment-generator.js +1 -1
  93. package/dist/generator/cosmetic/body/abp-snippet-injection-body-generator.js +1 -1
  94. package/dist/generator/cosmetic/body/adg-scriptlet-injection-body-generator.js +1 -1
  95. package/dist/generator/cosmetic/body/ubo-scriptlet-injection-body-generator.js +1 -1
  96. package/dist/generator/cosmetic/cosmetic-rule-body-generator.js +1 -1
  97. package/dist/generator/cosmetic/cosmetic-rule-generator.js +1 -1
  98. package/dist/generator/cosmetic/cosmetic-rule-pattern-generator.js +1 -1
  99. package/dist/generator/css/adg-css-injection-generator.js +1 -1
  100. package/dist/generator/filterlist-generator.js +1 -1
  101. package/dist/generator/index.js +1 -1
  102. package/dist/generator/misc/domain-list-generator.js +1 -1
  103. package/dist/generator/misc/list-items-generator.js +1 -1
  104. package/dist/generator/misc/logical-expression-generator.js +1 -1
  105. package/dist/generator/misc/modifier-generator.js +1 -1
  106. package/dist/generator/misc/modifier-list-generator.js +1 -1
  107. package/dist/generator/misc/parameter-list-generator.js +1 -1
  108. package/dist/generator/misc/value-generator.js +1 -1
  109. package/dist/generator/network/host-rule-generator.js +1 -1
  110. package/dist/generator/network/network-rule-generator.js +1 -1
  111. package/dist/generator/rule-generator.js +1 -1
  112. package/dist/index.js +1 -1
  113. package/dist/marshalling-utils/comment/agent-comment-common.js +1 -1
  114. package/dist/marshalling-utils/comment/agent-common.js +1 -1
  115. package/dist/marshalling-utils/comment/config-comment-common.js +1 -1
  116. package/dist/marshalling-utils/comment/hint-comment-common.js +1 -1
  117. package/dist/marshalling-utils/comment/hint-common.js +1 -1
  118. package/dist/marshalling-utils/comment/metadata-comment-common.js +1 -1
  119. package/dist/marshalling-utils/comment/pre-processor-comment-common.js +1 -1
  120. package/dist/marshalling-utils/comment/simple-comment-common.js +1 -1
  121. package/dist/marshalling-utils/cosmetic/body/abp-snippet-injection-body-common.js +1 -1
  122. package/dist/marshalling-utils/cosmetic/body/adg-scriptlet-injection-body-common.js +1 -1
  123. package/dist/marshalling-utils/cosmetic/body/css-injection-body-common.js +1 -1
  124. package/dist/marshalling-utils/cosmetic/body/element-hiding-body-common.js +1 -1
  125. package/dist/marshalling-utils/cosmetic/body/ubo-scriptlet-injection-body-common.js +1 -1
  126. package/dist/marshalling-utils/cosmetic/cosmetic-rule-common.js +1 -1
  127. package/dist/marshalling-utils/empty-rule-common.js +1 -1
  128. package/dist/marshalling-utils/filter-list-common.js +1 -1
  129. package/dist/marshalling-utils/invalid-rule-common.js +1 -1
  130. package/dist/marshalling-utils/invalid-rule-error-node-common.js +1 -1
  131. package/dist/marshalling-utils/misc/binary-type-common.js +1 -1
  132. package/dist/marshalling-utils/misc/domain-list-common.js +1 -1
  133. package/dist/marshalling-utils/misc/host-rule-common.js +1 -1
  134. package/dist/marshalling-utils/misc/hostname-list-common.js +1 -1
  135. package/dist/marshalling-utils/misc/list-item-common.js +1 -1
  136. package/dist/marshalling-utils/misc/logical-expression-common.js +1 -1
  137. package/dist/marshalling-utils/misc/modifier-common.js +1 -1
  138. package/dist/marshalling-utils/misc/modifier-list-common.js +1 -1
  139. package/dist/marshalling-utils/misc/parameter-list-common.js +1 -1
  140. package/dist/marshalling-utils/misc/value-common.js +1 -1
  141. package/dist/marshalling-utils/network/network-rule-common.js +1 -1
  142. package/dist/marshalling-utils/syntax-serialization-map.js +1 -1
  143. package/dist/nodes/index.js +1 -1
  144. package/dist/package.json.js +2 -2
  145. package/dist/parser/base-parser.js +1 -1
  146. package/dist/parser/comment/agent-comment-parser.js +1 -1
  147. package/dist/parser/comment/agent-parser.js +1 -1
  148. package/dist/parser/comment/comment-parser.js +1 -1
  149. package/dist/parser/comment/config-comment-parser.js +1 -1
  150. package/dist/parser/comment/hint-comment-parser.js +1 -1
  151. package/dist/parser/comment/hint-parser.js +1 -1
  152. package/dist/parser/comment/metadata-comment-parser.js +1 -1
  153. package/dist/parser/comment/preprocessor-parser.js +1 -1
  154. package/dist/parser/comment/simple-comment-parser.js +1 -1
  155. package/dist/parser/cosmetic/body/abp-snippet-injection-body-parser.js +1 -1
  156. package/dist/parser/cosmetic/body/adg-scriptlet-injection-body-parser.js +1 -1
  157. package/dist/parser/cosmetic/body/ubo-scriptlet-injection-body-parser.js +1 -1
  158. package/dist/parser/cosmetic/cosmetic-rule-parser.js +5 -3
  159. package/dist/parser/css/adg-css-injection-parser.js +1 -1
  160. package/dist/parser/css/balancing.js +1 -1
  161. package/dist/parser/css/constants.js +1 -1
  162. package/dist/parser/css/css-token-stream.js +1 -1
  163. package/dist/parser/css/ubo-selector-parser.js +1 -1
  164. package/dist/parser/filterlist-parser.js +1 -1
  165. package/dist/parser/index.js +1 -1
  166. package/dist/parser/misc/app-list-parser.js +1 -1
  167. package/dist/parser/misc/domain-list-parser.js +1 -1
  168. package/dist/parser/misc/list-items-parser.js +4 -2
  169. package/dist/parser/misc/logical-expression-parser.js +1 -1
  170. package/dist/parser/misc/method-list-parser.js +1 -1
  171. package/dist/parser/misc/modifier-list.js +51 -2
  172. package/dist/parser/misc/modifier-parser.js +1 -1
  173. package/dist/parser/misc/parameter-list-parser.js +1 -1
  174. package/dist/parser/misc/stealth-option-list-parser.js +1 -1
  175. package/dist/parser/misc/ubo-parameter-list-parser.js +1 -1
  176. package/dist/parser/misc/value-parser.js +1 -1
  177. package/dist/parser/network/host-rule-parser.js +1 -1
  178. package/dist/parser/network/network-rule-parser.js +1 -1
  179. package/dist/parser/options.js +1 -1
  180. package/dist/parser/rule-parser.js +1 -1
  181. package/dist/serializer/base-serializer.js +1 -1
  182. package/dist/serializer/comment/agent-comment-serializer.js +1 -1
  183. package/dist/serializer/comment/agent-serializer.js +1 -1
  184. package/dist/serializer/comment/comment-rule-serializer.js +1 -1
  185. package/dist/serializer/comment/config-comment-serializer.js +1 -1
  186. package/dist/serializer/comment/hint-comment-serializer.js +1 -1
  187. package/dist/serializer/comment/hint-serializer.js +1 -1
  188. package/dist/serializer/comment/metadata-comment-serializer.js +1 -1
  189. package/dist/serializer/comment/pre-processor-comment-serializer.js +1 -1
  190. package/dist/serializer/comment/simple-comment-serializer.js +1 -1
  191. package/dist/serializer/cosmetic/body/abp-snippet-injection-body-serializer.js +1 -1
  192. package/dist/serializer/cosmetic/body/adg-scriptlet-injection-body-serializer.js +1 -1
  193. package/dist/serializer/cosmetic/body/scriptlet-body-serializer.js +1 -1
  194. package/dist/serializer/cosmetic/body/ubo-scriptlet-injection-body-serializer.js +1 -1
  195. package/dist/serializer/cosmetic/cosmetic-rule-serializer.js +1 -1
  196. package/dist/serializer/cosmetic/css-injection-body-serializer.js +1 -1
  197. package/dist/serializer/cosmetic/element-hiding-body-serializer.js +1 -1
  198. package/dist/serializer/empty-rule-serializer.js +1 -1
  199. package/dist/serializer/filterlist-serializer.js +1 -1
  200. package/dist/serializer/index.js +1 -1
  201. package/dist/serializer/invalid-rule-error-node-serializer.js +1 -1
  202. package/dist/serializer/invalid-rule-serializer.js +1 -1
  203. package/dist/serializer/misc/domain-list-serializer.js +1 -1
  204. package/dist/serializer/misc/list-item-serializer.js +1 -1
  205. package/dist/serializer/misc/list-items-serializer.js +1 -1
  206. package/dist/serializer/misc/logical-expression-serializer.js +1 -1
  207. package/dist/serializer/misc/modifier-list-serializer.js +1 -1
  208. package/dist/serializer/misc/modifier-serializer.js +1 -1
  209. package/dist/serializer/misc/parameter-list-serializer.js +1 -1
  210. package/dist/serializer/misc/value-serializer.js +1 -1
  211. package/dist/serializer/network/host-rule-serializer.js +1 -1
  212. package/dist/serializer/network/hostname-list-serializer.js +1 -1
  213. package/dist/serializer/network/network-rule-serializer.js +1 -1
  214. package/dist/serializer/rule-serializer.js +1 -1
  215. package/dist/types/compatibility-tables/index.d.ts +2 -2
  216. package/dist/types/compatibility-tables/platforms.d.ts +1 -0
  217. package/dist/types/compatibility-tables/schemas/platform.d.ts +10 -0
  218. package/dist/types/compatibility-tables/utils/platform-helpers.d.ts +12 -2
  219. package/dist/types/utils/string.d.ts +15 -0
  220. package/dist/utils/adblockers.js +1 -1
  221. package/dist/utils/binary-schema-version.js +1 -1
  222. package/dist/utils/byte-buffer.js +1 -1
  223. package/dist/utils/categorizer.js +1 -1
  224. package/dist/utils/clone.js +1 -1
  225. package/dist/utils/constants.js +1 -1
  226. package/dist/utils/cosmetic-rule-separator.js +1 -1
  227. package/dist/utils/deep-freeze.js +1 -1
  228. package/dist/utils/domain.js +1 -1
  229. package/dist/utils/error.js +1 -1
  230. package/dist/utils/index.js +1 -1
  231. package/dist/utils/input-byte-buffer.js +1 -1
  232. package/dist/utils/is-chromium.js +1 -1
  233. package/dist/utils/logical-expression.js +1 -1
  234. package/dist/utils/multi-value-map.js +1 -1
  235. package/dist/utils/output-byte-buffer.js +1 -1
  236. package/dist/utils/position-provider.js +1 -1
  237. package/dist/utils/quotes.js +1 -1
  238. package/dist/utils/regexp.js +1 -1
  239. package/dist/utils/string.js +41 -1
  240. package/dist/utils/text-decoder-polyfill.js +1 -1
  241. package/dist/utils/text-encoder-polyfill.js +1 -1
  242. package/dist/utils/type-guards.js +1 -1
  243. package/dist/validator/constants.js +1 -1
  244. package/dist/validator/helpers.js +1 -1
  245. package/dist/validator/index.js +1 -1
  246. package/dist/validator/value.js +1 -1
  247. package/dist/version.js +1 -1
  248. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -7,7 +7,7 @@ export { scriptletsCompatibilityTable } from './scriptlets.js';
7
7
  export * from './types.js';
8
8
  export * from './platforms.js';
9
9
  export type { ProductRecords, RowByProduct, RowsByProduct, } from './base.js';
10
- export { parseRawPlatforms } from './schemas/index.js';
11
- export { isGenericPlatform, getPlatformId, getSpecificPlatformName, } from './utils/platform-helpers.js';
10
+ export { parseRawPlatforms, stringifyPlatforms as serializePlatforms } from './schemas/index.js';
11
+ export { isGenericPlatform, getPlatformId, getSpecificPlatformName, getHumanReadablePlatformName, } from './utils/platform-helpers.js';
12
12
  export { ResourceType, } from './schemas/resource-type.js';
13
13
  export { getResourceTypeModifier, isValidResourceType, } from './utils/resource-type-helpers.js';
@@ -47,3 +47,4 @@ export declare const GenericPlatform: {
47
47
  readonly Any: number;
48
48
  };
49
49
  export type GenericPlatform = typeof GenericPlatform[keyof typeof GenericPlatform];
50
+ export type AnyPlatform = SpecificPlatform | GenericPlatform;
@@ -10,6 +10,16 @@ import zod from 'zod';
10
10
  * @returns Platform bitmask.
11
11
  */
12
12
  export declare const parseRawPlatforms: (rawPlatforms: string) => number;
13
+ /**
14
+ * Converts a platform bitmask back to a string representation.
15
+ * Prefers generic platforms over specific platforms where possible.
16
+ *
17
+ * @param bitmask Platform bitmask.
18
+ *
19
+ * @returns Platform string, e.g. 'adg_safari_any|adg_os_any' or 'adg_os_windows|adg_ext_chrome'.
20
+ * @throws Error if the bitmask is 0 or contains unknown platforms.
21
+ */
22
+ export declare const stringifyPlatforms: (bitmask: number) => string;
13
23
  /**
14
24
  * Platform schema.
15
25
  */
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @file Provides platform mapping and helper functions.
3
3
  */
4
- import { GenericPlatform, SpecificPlatform } from '../platforms.js';
4
+ import { type AnyPlatform, GenericPlatform, SpecificPlatform } from '../platforms.js';
5
5
  /**
6
6
  * Map of specific platforms string names to their corresponding enum values.
7
7
  */
@@ -23,7 +23,7 @@ export declare const GENERIC_PLATFORM_MAP: Map<string, GenericPlatform>;
23
23
  *
24
24
  * @returns True if the platform is a generic platform, false otherwise.
25
25
  */
26
- export declare const isGenericPlatform: (platform: number) => boolean;
26
+ export declare const isGenericPlatform: (platform: AnyPlatform) => boolean;
27
27
  /**
28
28
  * Returns the platform enum value for the given platform string name.
29
29
  *
@@ -42,3 +42,13 @@ export declare const getPlatformId: (platform: string) => SpecificPlatform | Gen
42
42
  * @throws Error if the platform is unknown.
43
43
  */
44
44
  export declare const getSpecificPlatformName: (platform: SpecificPlatform) => string;
45
+ /**
46
+ * Returns the human-readable platform name for the given platform enum value.
47
+ *
48
+ * @param platform Platform enum value.
49
+ *
50
+ * @returns Human-readable platform name, e.g., 'AdGuard for Windows'.
51
+ *
52
+ * @throws Error if the platform is unknown.
53
+ */
54
+ export declare const getHumanReadablePlatformName: (platform: AnyPlatform) => string;
@@ -78,6 +78,21 @@ export declare class StringUtils {
78
78
  * @returns Index or -1 if the character not found
79
79
  */
80
80
  static findUnescapedNonStringNonRegexChar(pattern: string, searchedCharacter: string, start?: number): number;
81
+ /**
82
+ * Finds the last occurrence of a character that is:
83
+ * - not part of any string literal ('literal' or "literal")
84
+ * - not part of any RegExp expression (/regexp/)
85
+ * - not preceded by an escape character.
86
+ *
87
+ * Searches backwards from the end of the pattern.
88
+ *
89
+ * @param pattern Source pattern.
90
+ * @param searchedCharacter Searched character.
91
+ * @param escapeCharacter Escape character, `\` by default.
92
+ *
93
+ * @returns Index of the character or -1 if the character not found.
94
+ */
95
+ static findLastUnescapedNonStringNonRegexChar(pattern: string, searchedCharacter: string, escapeCharacter?: string): number;
81
96
  /**
82
97
  * Finds the next occurrence of a character that:
83
98
  * - isn't part of any string literal ('literal' or "literal")
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -147,6 +147,46 @@ class StringUtils {
147
147
  }
148
148
  return -1;
149
149
  }
150
+ /**
151
+ * Finds the last occurrence of a character that is:
152
+ * - not part of any string literal ('literal' or "literal")
153
+ * - not part of any RegExp expression (/regexp/)
154
+ * - not preceded by an escape character.
155
+ *
156
+ * Searches backwards from the end of the pattern.
157
+ *
158
+ * @param pattern Source pattern.
159
+ * @param searchedCharacter Searched character.
160
+ * @param escapeCharacter Escape character, `\` by default.
161
+ *
162
+ * @returns Index of the character or -1 if the character not found.
163
+ */
164
+ static findLastUnescapedNonStringNonRegexChar(pattern, searchedCharacter, escapeCharacter = ESCAPE_CHARACTER) {
165
+ let open = null;
166
+ // Search backwards through the pattern
167
+ for (let i = pattern.length - 1; i >= 0; i -= 1) {
168
+ if ((pattern[i] === SINGLE_QUOTE_MARKER
169
+ || pattern[i] === DOUBLE_QUOTE_MARKER
170
+ || pattern[i] === REGEX_MARKER)
171
+ && pattern[i - 1] !== escapeCharacter) {
172
+ // When searching backwards,
173
+ // we close when we see the marker and are already inside,
174
+ // and open when we see it and are not inside.
175
+ if (open === pattern[i]) {
176
+ open = null;
177
+ }
178
+ else if (open === null) {
179
+ open = pattern[i];
180
+ }
181
+ }
182
+ else if (open === null
183
+ && pattern[i] === searchedCharacter
184
+ && pattern[i - 1] !== escapeCharacter) {
185
+ return i;
186
+ }
187
+ }
188
+ return -1;
189
+ }
150
190
  /**
151
191
  * Finds the next occurrence of a character that:
152
192
  * - isn't part of any string literal ('literal' or "literal")
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * AGTree v3.2.5 (build date: Wed, 12 Nov 2025 17:42:28 GMT)
2
+ * AGTree v3.3.1 (build date: Tue, 25 Nov 2025 05:36:56 GMT)
3
3
  * (c) 2025 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adguard/agtree",
3
- "version": "3.2.5",
3
+ "version": "3.3.1",
4
4
  "description": "Tool set for working with adblock filter lists",
5
5
  "keywords": [
6
6
  "adblock",