@adguard/agtree 1.1.7 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -56,6 +56,7 @@ AGTree is a universal tool for working with adblock filter lists. It contains th
56
56
 
57
57
  - [Adblock rule converter][converter-url]
58
58
  - [Adblock rule parser][parser-url]
59
+ - [Adblock rule validator][validator-url]
59
60
  - [Compatibility tables][compatibility-tables-url]
60
61
 
61
62
  AGTree supports all syntaxes currently in use:
@@ -121,6 +122,7 @@ resources, please let us know.
121
122
  [mdn-css-selectors]: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors
122
123
  [new-issue-url]: https://github.com/AdguardTeam/tsurlfilter/issues/new
123
124
  [parser-url]: https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree/src/parser
125
+ [validator-url]: https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree/src/validator
124
126
  [ubo-filters]: https://github.com/gorhill/uBlock/wiki/Static-filter-syntax
125
127
  [ubo-procedural]: https://github.com/gorhill/uBlock/wiki/Procedural-cosmetic-filters
126
128
  [ubo-scriptlets]: https://github.com/gorhill/uBlock/wiki/Resources-Library#available-general-purpose-scriptlets
package/dist/agtree.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v1.1.7 (build date: Tue, 07 Nov 2023 14:17:46 GMT)
3
- * (c) 2023 AdGuard Software Ltd.
2
+ * AGTree v1.1.8 (build date: Wed, 24 Apr 2024 15:20:41 GMT)
3
+ * (c) 2024 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */
@@ -6306,6 +6306,11 @@ var data$U = { adg_os_any:{ name:"all",
6306
6306
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#all",
6307
6307
  negatable:false,
6308
6308
  block_only:false } };
6309
+ data$U.adg_os_any;
6310
+ data$U.adg_ext_any;
6311
+ data$U.adg_cb_ios;
6312
+ data$U.adg_cb_safari;
6313
+ data$U.ubo_ext_any;
6309
6314
 
6310
6315
  var data$T = { adg_os_any:{ name:"app",
6311
6316
  description:"The `$app` modifier lets you narrow the rule coverage down to a specific application or a list of applications.\nThe modifier's behavior and syntax perfectly match the corresponding basic rules `$app` modifier.",
@@ -6313,6 +6318,7 @@ var data$T = { adg_os_any:{ name:"app",
6313
6318
  assignable:true,
6314
6319
  negatable:false,
6315
6320
  value_format:"pipe_separated_apps" } };
6321
+ data$T.adg_os_any;
6316
6322
 
6317
6323
  var data$S = { adg_os_any:{ name:"badfilter",
6318
6324
  description:"The rules with the `$badfilter` modifier disable other basic rules to which they refer. It means that\nthe text of the disabled rule should match the text of the `$badfilter` rule (without the `$badfilter` modifier).",
@@ -6334,18 +6340,25 @@ var data$S = { adg_os_any:{ name:"badfilter",
6334
6340
  description:"The rules with the `$badfilter` modifier disable other basic rules to which they refer. It means that\nthe text of the disabled rule should match the text of the `$badfilter` rule (without the `$badfilter` modifier).",
6335
6341
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#badfilter",
6336
6342
  negatable:false } };
6343
+ data$S.adg_os_any;
6344
+ data$S.adg_ext_any;
6345
+ data$S.adg_cb_ios;
6346
+ data$S.adg_cb_safari;
6347
+ data$S.ubo_ext_any;
6337
6348
 
6338
6349
  var data$R = { ubo_ext_any:{ name:"cname",
6339
6350
  description:"When used in an exception filter,\nit will bypass blocking CNAME uncloaked requests for the current (specified) document.",
6340
6351
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#cname",
6341
6352
  negatable:false,
6342
6353
  exception_only:true } };
6354
+ data$R.ubo_ext_any;
6343
6355
 
6344
6356
  var data$Q = { adg_os_any:{ name:"content",
6345
6357
  description:"Disables HTML filtering and `$replace` rules on the pages that match the rule.",
6346
6358
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#content-modifier",
6347
6359
  negatable:false,
6348
6360
  exception_only:true } };
6361
+ data$Q.adg_os_any;
6349
6362
 
6350
6363
  var data$P = { adg_os_any:{ name:"cookie",
6351
6364
  description:"The `$cookie` modifier completely changes rule behavior.\nInstead of blocking a request, this modifier makes us suppress or modify the Cookie and Set-Cookie headers.",
@@ -6361,6 +6374,8 @@ var data$P = { adg_os_any:{ name:"cookie",
6361
6374
  negatable:false,
6362
6375
  value_optional:true,
6363
6376
  value_format:"^([^;=\\s]*?)((?:;(maxAge=\\d+;?)?|(sameSite=(lax|none|strict);?)?){1,3})(?<!;)$" } };
6377
+ data$P.adg_os_any;
6378
+ data$P.adg_ext_any;
6364
6379
 
6365
6380
  var data$O = { adg_os_any:{ name:"csp",
6366
6381
  description:"This modifier completely changes the rule behavior.\nIf it is applied to a rule, it will not block the matching request.\nThe response headers are going to be modified instead.",
@@ -6408,6 +6423,10 @@ var data$O = { adg_os_any:{ name:"csp",
6408
6423
  negatable:false,
6409
6424
  value_optional:true,
6410
6425
  value_format:"csp_value" } };
6426
+ data$O.adg_os_any;
6427
+ data$O.adg_ext_any;
6428
+ data$O.abp_ext_any;
6429
+ data$O.ubo_ext_any;
6411
6430
 
6412
6431
  var data$N = { adg_os_any:{ name:"denyallow",
6413
6432
  description:"The `$denyallow` modifier allows to avoid creating additional rules\nwhen it is needed to disable a certain rule for specific domains.\n`$denyallow` matches only target domains and not referrer domains.",
@@ -6444,6 +6463,11 @@ var data$N = { adg_os_any:{ name:"denyallow",
6444
6463
  assignable:true,
6445
6464
  negatable:false,
6446
6465
  value_format:"pipe_separated_denyallow_domains" } };
6466
+ data$N.adg_os_any;
6467
+ data$N.adg_ext_any;
6468
+ data$N.adg_cb_ios;
6469
+ data$N.adg_cb_safari;
6470
+ data$N.ubo_ext_any;
6447
6471
 
6448
6472
  var data$M = { adg_os_any:{ name:"document",
6449
6473
  description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",
@@ -6470,6 +6494,12 @@ var data$M = { adg_os_any:{ name:"document",
6470
6494
  description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",
6471
6495
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#document",
6472
6496
  negatable:false } };
6497
+ data$M.adg_os_any;
6498
+ data$M.adg_ext_any;
6499
+ data$M.adg_cb_ios;
6500
+ data$M.adg_cb_safari;
6501
+ data$M.abp_ext_any;
6502
+ data$M.ubo_ext_any;
6473
6503
 
6474
6504
  var data$L = { adg_any:{ name:"domain",
6475
6505
  aliases:[ "from" ],
@@ -6491,6 +6521,9 @@ var data$L = { adg_any:{ name:"domain",
6491
6521
  assignable:true,
6492
6522
  negatable:false,
6493
6523
  value_format:"pipe_separated_domains" } };
6524
+ data$L.adg_any;
6525
+ data$L.abp_any;
6526
+ data$L.ubo_any;
6494
6527
 
6495
6528
  var data$K = { adg_any:{ name:"elemhide",
6496
6529
  aliases:[ "ehide" ],
@@ -6510,6 +6543,9 @@ var data$K = { adg_any:{ name:"elemhide",
6510
6543
  exception_only:true,
6511
6544
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#elemhide-1",
6512
6545
  description:"Disables any cosmetic rules on the pages matching the rule." } };
6546
+ data$K.adg_any;
6547
+ data$K.abp_any;
6548
+ data$K.ubo_any;
6513
6549
 
6514
6550
  var data$J = { adg_os_any:{ name:"empty",
6515
6551
  description:"This modifier is deprecated in favor of the $redirect modifier.\nRules with `$empty` are still supported and being converted into `$redirect=nooptext` now\nbut the support shall be removed in the future.",
@@ -6527,6 +6563,9 @@ var data$J = { adg_os_any:{ name:"empty",
6527
6563
  description:"This modifier is deprecated in favor of the $redirect modifier.\nRules with `$empty` are supported and being converted into `$redirect=nooptext`.",
6528
6564
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#empty",
6529
6565
  negatable:false } };
6566
+ data$J.adg_os_any;
6567
+ data$J.adg_ext_any;
6568
+ data$J.ubo_ext_any;
6530
6569
 
6531
6570
  var data$I = { adg_any:{ name:"first-party",
6532
6571
  aliases:[ "1p",
@@ -6540,6 +6579,8 @@ var data$I = { adg_any:{ name:"first-party",
6540
6579
  description:"A restriction of first-party requests. Equal to `~third-party`.",
6541
6580
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#1p",
6542
6581
  negatable:false } };
6582
+ data$I.adg_any;
6583
+ data$I.ubo_any;
6543
6584
 
6544
6585
  var data$H = { adg_os_any:{ name:"extension",
6545
6586
  description:"Disables all userscripts on the pages matching this rule.",
@@ -6556,6 +6597,7 @@ var data$H = { adg_os_any:{ name:"extension",
6556
6597
  "badfilter" ],
6557
6598
  inverse_conflicts:true,
6558
6599
  exception_only:true } };
6600
+ data$H.adg_os_any;
6559
6601
 
6560
6602
  var data$G = { adg_any:{ name:"font",
6561
6603
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#font-modifier",
@@ -6566,6 +6608,9 @@ var data$G = { adg_any:{ name:"font",
6566
6608
  ubo_any:{ name:"font",
6567
6609
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options",
6568
6610
  description:"The rule corresponds to requests for fonts, e.g. `.woff` filename extension." } };
6611
+ data$G.adg_any;
6612
+ data$G.abp_any;
6613
+ data$G.ubo_any;
6569
6614
 
6570
6615
  var data$F = { adg_os_any:{ name:"genericblock",
6571
6616
  description:"Disables generic basic rules on pages that correspond to exception rule.",
@@ -6622,6 +6667,11 @@ var data$F = { adg_os_any:{ name:"genericblock",
6622
6667
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
6623
6668
  negatable:false,
6624
6669
  exception_only:true } };
6670
+ data$F.adg_os_any;
6671
+ data$F.adg_ext_any;
6672
+ data$F.adg_cb_ios;
6673
+ data$F.adg_cb_safari;
6674
+ data$F.abp_ext_any;
6625
6675
 
6626
6676
  var data$E = { adg_any:{ name:"generichide",
6627
6677
  aliases:[ "ghide" ],
@@ -6654,6 +6704,9 @@ var data$E = { adg_any:{ name:"generichide",
6654
6704
  inverse_conflicts:true,
6655
6705
  negatable:false,
6656
6706
  exception_only:true } };
6707
+ data$E.adg_any;
6708
+ data$E.ubo_any;
6709
+ data$E.abp_any;
6657
6710
 
6658
6711
  var data$D = { adg_os_any:{ name:"header",
6659
6712
  description:"The `$header` modifier allows matching the HTTP response\nhaving a specific header with (optionally) a specific value.",
@@ -6670,6 +6723,9 @@ var data$D = { adg_os_any:{ name:"header",
6670
6723
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#header",
6671
6724
  assignable:true,
6672
6725
  value_format:"(?xi)\n ^\n # header name\n [\\w-]+\n (\n :\n # header value: string or regexp\n (\\w+|\\/.+\\/)\n )?" } };
6726
+ data$D.adg_os_any;
6727
+ data$D.adg_ext_any;
6728
+ data$D.ubo_ext_any;
6673
6729
 
6674
6730
  var data$C = { adg_os_any:{ name:"hls",
6675
6731
  description:"The `$hls` rules modify the response of a matching request.\nThey are intended as a convenient way to remove segments from HLS playlists (RFC 8216).",
@@ -6686,6 +6742,7 @@ var data$C = { adg_os_any:{ name:"hls",
6686
6742
  negatable:false,
6687
6743
  value_optional:true,
6688
6744
  value_format:"(?xi)\n (\n # string pattern\n \\w+\n # or regexp pattern\n |\n # TODO: improve regexp pattern to invalidate unescaped `/`, `$`, and `,`\n \\/.+\\/\n # options\n ([ti]*)?\n )" } };
6745
+ data$C.adg_os_any;
6689
6746
 
6690
6747
  var data$B = { adg_any:{ name:"image",
6691
6748
  description:"The rule corresponds to images requests.",
@@ -6696,6 +6753,9 @@ var data$B = { adg_any:{ name:"image",
6696
6753
  ubo_any:{ name:"image",
6697
6754
  description:"The rule corresponds to images requests.",
6698
6755
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
6756
+ data$B.adg_any;
6757
+ data$B.abp_any;
6758
+ data$B.ubo_any;
6699
6759
 
6700
6760
  var data$A = { adg_any:{ name:"important",
6701
6761
  description:"The `$important` modifier applied to a rule increases its priority\nover any other rule without `$important` modifier. Even over basic exception rules.",
@@ -6705,6 +6765,8 @@ var data$A = { adg_any:{ name:"important",
6705
6765
  description:"The `$important` modifier applied to a rule increases its priority\nover any other rule without `$important` modifier. Even over basic exception rules.",
6706
6766
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#important",
6707
6767
  negatable:false } };
6768
+ data$A.adg_any;
6769
+ data$A.ubo_any;
6708
6770
 
6709
6771
  var data$z = { adg_os_any:{ name:"inline-font",
6710
6772
  description:"The `$inline-font` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-font` is converting into:\n```adblock\n||example.org^$csp=font-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
@@ -6715,6 +6777,9 @@ var data$z = { adg_os_any:{ name:"inline-font",
6715
6777
  ubo_ext_any:{ name:"inline-font",
6716
6778
  description:"The `$inline-font` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-font` is converting into:\n```adblock\n||example.org^$csp=font-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
6717
6779
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#inline-font" } };
6780
+ data$z.adg_os_any;
6781
+ data$z.adg_ext_any;
6782
+ data$z.ubo_ext_any;
6718
6783
 
6719
6784
  var data$y = { adg_os_any:{ name:"inline-script",
6720
6785
  description:"The `$inline-script` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-script` is converting into:\n```adblock\n||example.org^$csp=script-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
@@ -6725,6 +6790,9 @@ var data$y = { adg_os_any:{ name:"inline-script",
6725
6790
  ubo_ext_any:{ name:"inline-script",
6726
6791
  description:"The `$inline-script` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-script` is converting into:\n```adblock\n||example.org^$csp=script-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
6727
6792
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#inline-script" } };
6793
+ data$y.adg_os_any;
6794
+ data$y.adg_ext_any;
6795
+ data$y.ubo_ext_any;
6728
6796
 
6729
6797
  var data$x = { adg_os_any:{ name:"jsinject",
6730
6798
  description:"Forbids adding of javascript code to the page.",
@@ -6784,6 +6852,10 @@ var data$x = { adg_os_any:{ name:"jsinject",
6784
6852
  inverse_conflicts:true,
6785
6853
  negatable:false,
6786
6854
  exception_only:true } };
6855
+ data$x.adg_os_any;
6856
+ data$x.adg_ext_any;
6857
+ data$x.adg_cb_ios;
6858
+ data$x.adg_cb_safari;
6787
6859
 
6788
6860
  var data$w = { adg_os_any:{ name:"jsonprune",
6789
6861
  description:"The `$jsonprune` rules modify the response to a matching request\nby removing JSON items that match a modified JSONPath expression.\nThey do not modify responses which are not valid JSON documents.",
@@ -6792,6 +6864,7 @@ var data$w = { adg_os_any:{ name:"jsonprune",
6792
6864
  negatable:false,
6793
6865
  value_optional:true,
6794
6866
  value_format:"(?xi)\n ^\n # the expression always starts with a dollar sign (for root)\n # which should be escaped\n \\\\\n \\$\n \\.?\n # TODO: improve the expression to invalidate unescaped `$` and `,`\n .+\n $" } };
6867
+ data$w.adg_os_any;
6795
6868
 
6796
6869
  var data$v = { adg_any:{ name:"match-case",
6797
6870
  description:"This modifier defines a rule which applies only to addresses that match the case.\nDefault rules are case-insensitive.",
@@ -6802,6 +6875,9 @@ var data$v = { adg_any:{ name:"match-case",
6802
6875
  ubo_any:{ name:"match-case",
6803
6876
  description:"This modifier defines a rule which applies only to addresses that match the case.\nDefault rules are case-insensitive.",
6804
6877
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#match-case" } };
6878
+ data$v.adg_any;
6879
+ data$v.abp_any;
6880
+ data$v.ubo_any;
6805
6881
 
6806
6882
  var data$u = { adg_any:{ name:"media",
6807
6883
  description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",
@@ -6812,6 +6888,9 @@ var data$u = { adg_any:{ name:"media",
6812
6888
  ubo_any:{ name:"media",
6813
6889
  description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",
6814
6890
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
6891
+ data$u.adg_any;
6892
+ data$u.abp_any;
6893
+ data$u.ubo_any;
6815
6894
 
6816
6895
  var data$t = { adg_os_any:{ name:"method",
6817
6896
  description:"This modifier limits the rule scope to requests that use the specified set of HTTP methods.\nNegated methods are allowed.",
@@ -6831,6 +6910,9 @@ var data$t = { adg_os_any:{ name:"method",
6831
6910
  negatable:false,
6832
6911
  assignable:true,
6833
6912
  value_format:"pipe_separated_methods" } };
6913
+ data$t.adg_os_any;
6914
+ data$t.adg_ext_any;
6915
+ data$t.ubo_ext_any;
6834
6916
 
6835
6917
  var data$s = { adg_os_any:{ name:"mp4",
6836
6918
  description:"As a response to blocked request AdGuard returns a short video placeholder.\nRules with `$mp4` are still supported and being converted into `$redirect=noopmp4-1s` now\nbut the support shall be removed in the future.",
@@ -6848,6 +6930,9 @@ var data$s = { adg_os_any:{ name:"mp4",
6848
6930
  description:"As a response to blocked request a short video placeholder is returned.\nRules with `$mp4` are supported and being converted into `$redirect=noopmp4-1s`.",
6849
6931
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#mp4",
6850
6932
  negatable:false } };
6933
+ data$s.adg_os_any;
6934
+ data$s.adg_ext_any;
6935
+ data$s.ubo_ext_any;
6851
6936
 
6852
6937
  var data$r = { adg_os_any:{ name:"network",
6853
6938
  description:"This is basically a Firewall-kind of rules allowing to fully block\nor unblock access to a specified remote address.",
@@ -6856,6 +6941,7 @@ var data$r = { adg_os_any:{ name:"network",
6856
6941
  "important" ],
6857
6942
  inverse_conflicts:true,
6858
6943
  negatable:false } };
6944
+ data$r.adg_os_any;
6859
6945
 
6860
6946
  var data$q = { adg_os_any:{ name:"_",
6861
6947
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#noop-modifier",
@@ -6877,12 +6963,18 @@ var data$q = { adg_os_any:{ name:"_",
6877
6963
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#_-aka-noop",
6878
6964
  description:"The noop modifier does nothing and can be used solely to increase rules' readability.\nIt consists of a sequence of underscore characters (_) of any length\nand can appear in a rule as many times as needed.",
6879
6965
  negatable:false } };
6966
+ data$q.adg_os_any;
6967
+ data$q.adg_ext_any;
6968
+ data$q.adg_cb_ios;
6969
+ data$q.adg_cb_safari;
6970
+ data$q.ubo_ext_any;
6880
6971
 
6881
6972
  var data$p = { adg_any:{ name:"object-subrequest",
6882
6973
  description:"The `$object-subrequest` modifier is removed and is no longer supported.\nRules with it are considered as invalid.\nThe rule corresponds to requests by browser plugins (it is usually Flash).",
6883
6974
  docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#object-subrequest-modifier",
6884
6975
  removed:true,
6885
6976
  removal_message:"The `$object-subrequest` modifier is removed and is no longer supported.\nRules with it are considered as invalid." } };
6977
+ data$p.adg_any;
6886
6978
 
6887
6979
  var data$o = { adg_any:{ name:"object",
6888
6980
  description:"The rule corresponds to browser plugins resources, e.g. Java or Flash",
@@ -6893,6 +6985,9 @@ var data$o = { adg_any:{ name:"object",
6893
6985
  ubo_any:{ name:"object",
6894
6986
  description:"The rule corresponds to browser plugins resources, e.g. Java or Flash.",
6895
6987
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
6988
+ data$o.adg_any;
6989
+ data$o.abp_any;
6990
+ data$o.ubo_any;
6896
6991
 
6897
6992
  var data$n = { adg_any:{ name:"other",
6898
6993
  description:"The rule applies to requests for which the type has not been determined\nor does not match the types listed above.",
@@ -6903,6 +6998,9 @@ var data$n = { adg_any:{ name:"other",
6903
6998
  ubo_any:{ name:"other",
6904
6999
  description:"The rule applies to requests for which the type has not been determined\nor does not match the types listed above.",
6905
7000
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
7001
+ data$n.adg_any;
7002
+ data$n.abp_any;
7003
+ data$n.ubo_any;
6906
7004
 
6907
7005
  var data$m = { adg_os_any:{ name:"permissions",
6908
7006
  description:"For the requests matching a `$permissions` rule, ad blocker strengthens response's feature policy\nby adding additional feature policy equal to the `$permissions` modifier contents.\n`$permissions` rules are applied independently from any other rule type.",
@@ -6916,6 +7014,7 @@ var data$m = { adg_os_any:{ name:"permissions",
6916
7014
  negatable:false,
6917
7015
  value_optional:true,
6918
7016
  value_format:"permissions_value" } };
7017
+ data$m.adg_os_any;
6919
7018
 
6920
7019
  var data$l = { adg_any:{ name:"ping",
6921
7020
  description:"The rule corresponds to requests caused by either navigator.sendBeacon() or the ping attribute on links.",
@@ -6926,12 +7025,16 @@ var data$l = { adg_any:{ name:"ping",
6926
7025
  ubo_any:{ name:"ping",
6927
7026
  description:"The rule corresponds to requests caused by either navigator.sendBeacon() or the ping attribute on links.",
6928
7027
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
7028
+ data$l.adg_any;
7029
+ data$l.abp_any;
7030
+ data$l.ubo_any;
6929
7031
 
6930
7032
  var data$k = { ubo_ext_any:{ name:"popunder",
6931
7033
  description:"To block \"popunders\" windows/tabs where the original page redirects to an advertisement\nand the desired content loads in the newly created one.\nTo be used in the same manner as the popup filter option, except that it will block popunders.",
6932
7034
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#popunder",
6933
7035
  negatable:false,
6934
7036
  block_only:true } };
7037
+ data$k.ubo_ext_any;
6935
7038
 
6936
7039
  var data$j = { adg_any:{ name:"popup",
6937
7040
  description:"Pages opened in a new tab or window.\nNote: Filters will not block pop-ups by default, only if the `$popup` type option is specified.",
@@ -6945,6 +7048,9 @@ var data$j = { adg_any:{ name:"popup",
6945
7048
  description:"Pages opened in a new tab or window.\nNote: Filters will not block pop-ups by default, only if the `$popup` type option is specified.",
6946
7049
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
6947
7050
  negatable:false } };
7051
+ data$j.adg_any;
7052
+ data$j.abp_any;
7053
+ data$j.ubo_any;
6948
7054
 
6949
7055
  var data$i = { adg_os_any:{ name:"redirect-rule",
6950
7056
  description:"This is basically an alias to `$redirect`\nsince it has the same \"redirection\" values and the logic is almost similar.\nThe difference is that `$redirect-rule` is applied only in the case\nwhen the target request is blocked by a different basic rule.",
@@ -7036,6 +7142,9 @@ var data$i = { adg_os_any:{ name:"redirect-rule",
7036
7142
  assignable:true,
7037
7143
  negatable:false,
7038
7144
  value_format:"(?x)\n ^(\n 1x1\\.gif|\n 2x2\\.png|\n 3x2\\.png|\n 32x32\\.png|\n noop\\.css|\n noop\\.html|\n noopframe|\n noop\\.js|\n noop\\.txt|\n noop-0\\.1s\\.mp3|\n noop-0\\.5s\\.mp3|\n noop-1s\\.mp4|\n none|\n click2load\\.html|\n addthis_widget\\.js|\n amazon_ads\\.js|\n amazon_apstag\\.js|\n monkeybroker\\.js|\n doubleclick_instream_ad_status|\n google-analytics_ga\\.js|\n google-analytics_analytics\\.js|\n google-analytics_inpage_linkid\\.js|\n google-analytics_cx_api\\.js|\n google-ima\\.js|\n googletagservices_gpt\\.js|\n googletagmanager_gtm\\.js|\n googlesyndication_adsbygoogle\\.js|\n scorecardresearch_beacon\\.js|\n outbrain-widget\\.js|\n hd-main\\.js\n )\n (:[0-9]+)?$" } };
7145
+ data$i.adg_os_any;
7146
+ data$i.adg_ext_any;
7147
+ data$i.ubo_ext_any;
7039
7148
 
7040
7149
  var data$h = { adg_os_any:{ name:"redirect",
7041
7150
  description:"Used to redirect web requests to a local \"resource\".",
@@ -7064,6 +7173,10 @@ var data$h = { adg_os_any:{ name:"redirect",
7064
7173
  assignable:true,
7065
7174
  negatable:false,
7066
7175
  value_format:"(?x)\n # ABP resources always starts with the `abp-resource:` prefix\n ^abp-resource:\n # Possible resource names\n (\n blank-text|\n blank-css|\n blank-js|\n blank-html|\n blank-mp3|\n 1x1-transparent-gif|\n 2x2-transparent-png|\n 3x2-transparent-png|\n 32x32-transparent-png\n )$" } };
7176
+ data$h.adg_os_any;
7177
+ data$h.adg_ext_any;
7178
+ data$h.ubo_ext_any;
7179
+ data$h.abp_ext_any;
7067
7180
 
7068
7181
  var data$g = { adg_os_any:{ name:"referrerpolicy",
7069
7182
  description:"This modifier allows overriding of a page's referrer policy.",
@@ -7075,6 +7188,7 @@ var data$g = { adg_os_any:{ name:"referrerpolicy",
7075
7188
  negatable:false,
7076
7189
  value_optional:true,
7077
7190
  value_format:"referrerpolicy_value" } };
7191
+ data$g.adg_os_any;
7078
7192
 
7079
7193
  var data$f = { adg_os_any:{ name:"removeheader",
7080
7194
  description:"Rules with the `$removeheader` modifier are intended to remove headers from HTTP requests and responses.",
@@ -7130,6 +7244,8 @@ var data$f = { adg_os_any:{ name:"removeheader",
7130
7244
  negatable:false,
7131
7245
  value_optional:true,
7132
7246
  value_format:"(?xi)\n ^\n # Value may start with \"request:\"\n (request:)?\n\n # Forbidden header names\n (?!\n (\n access-control-allow-origin|\n access-control-allow-credentials|\n access-control-allow-headers|\n access-control-allow-methods|\n access-control-expose-headers|\n access-control-max-age|\n access-control-request-headers|\n access-control-request-method|\n origin|\n timing-allow-origin|\n allow|\n cross-origin-embedder-policy|\n cross-origin-opener-policy|\n cross-origin-resource-policy|\n content-security-policy|\n content-security-policy-report-only|\n expect-ct|\n feature-policy|\n origin-isolation|\n strict-transport-security|\n upgrade-insecure-requests|\n x-content-type-options|\n x-download-options|\n x-frame-options|\n x-permitted-cross-domain-policies|\n x-powered-by|\n x-xss-protection|\n public-key-pins|\n public-key-pins-report-only|\n sec-websocket-key|\n sec-websocket-extensions|\n sec-websocket-accept|\n sec-websocket-protocol|\n sec-websocket-version|\n p3p|\n sec-fetch-mode|\n sec-fetch-dest|\n sec-fetch-site|\n sec-fetch-user|\n referrer-policy|\n content-type|\n content-length|\n accept|\n accept-encoding|\n host|\n connection|\n transfer-encoding|\n upgrade\n )\n $)\n\n # Any other header name is allowed, if it matches the following regex\n [A-z0-9-]+\n $" } };
7247
+ data$f.adg_os_any;
7248
+ data$f.adg_ext_any;
7133
7249
 
7134
7250
  var data$e = { adg_os_any:{ name:"removeparam",
7135
7251
  description:"Rules with the `$removeparam` modifier are intended to strip query parameters from requests' URLs.",
@@ -7151,6 +7267,9 @@ var data$e = { adg_os_any:{ name:"removeparam",
7151
7267
  assignable:true,
7152
7268
  negatable:false,
7153
7269
  value_format:"(?xi)\n (\n # string pattern\n \\w+\n # or regexp pattern\n |\n \\/.+\\/\n # flags\n ([gimuy]+)?\n )" } };
7270
+ data$e.adg_os_any;
7271
+ data$e.adg_ext_any;
7272
+ data$e.ubo_ext_any;
7154
7273
 
7155
7274
  var data$d = { adg_os_any:{ name:"replace",
7156
7275
  description:"This modifier completely changes the rule behavior.\nIf it is applied, the rule will not block the request. The response is going to be modified instead.",
@@ -7189,6 +7308,8 @@ var data$d = { adg_os_any:{ name:"replace",
7189
7308
  assignable:true,
7190
7309
  negatable:false,
7191
7310
  value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+)?\n \\/\n # flags\n ([gimuy]*)?\n $" } };
7311
+ data$d.adg_os_any;
7312
+ data$d.adg_ext_firefox;
7192
7313
 
7193
7314
  var data$c = { adg_any:{ name:"script",
7194
7315
  description:"The rule corresponds to script requests, e.g. javascript, vbscript.",
@@ -7199,6 +7320,9 @@ var data$c = { adg_any:{ name:"script",
7199
7320
  ubo_any:{ name:"script",
7200
7321
  description:"The rule corresponds to script requests, e.g. javascript, vbscript.",
7201
7322
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
7323
+ data$c.adg_any;
7324
+ data$c.abp_any;
7325
+ data$c.ubo_any;
7202
7326
 
7203
7327
  var data$b = { adg_any:{ name:"specifichide",
7204
7328
  aliases:[ "shide" ],
@@ -7224,6 +7348,8 @@ var data$b = { adg_any:{ name:"specifichide",
7224
7348
  inverse_conflicts:true,
7225
7349
  negatable:false,
7226
7350
  exception_only:true } };
7351
+ data$b.adg_any;
7352
+ data$b.ubo_any;
7227
7353
 
7228
7354
  var data$a = { adg_os_any:{ name:"stealth",
7229
7355
  description:"Disables the Stealth Mode module for all corresponding pages and requests.",
@@ -7265,14 +7391,21 @@ var data$a = { adg_os_any:{ name:"stealth",
7265
7391
  exception_only:true,
7266
7392
  value_optional:true,
7267
7393
  value_format:"pipe_separated_stealth_options" } };
7394
+ data$a.adg_os_any;
7395
+ data$a.adg_ext_chrome;
7396
+ data$a.adg_ext_firefox;
7397
+ data$a.adg_ext_opera;
7398
+ data$a.adg_ext_edge;
7268
7399
 
7269
7400
  var data$9 = { ubo_any:{ name:"strict1p",
7270
7401
  description:"This new `strict1p` option can check for strict partyness.\nFor example, a network request qualifies as 1st-party if both the context and the request share the same hostname.",
7271
7402
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#strict1p" } };
7403
+ data$9.ubo_any;
7272
7404
 
7273
7405
  var data$8 = { ubo_any:{ name:"strict3p",
7274
7406
  description:"This new `strict3p` option can check for strict partyness.\nFor example, a network request qualifies as 3rd-party if the context and the request hostnames are different.",
7275
7407
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#strict3p" } };
7408
+ data$8.ubo_any;
7276
7409
 
7277
7410
  var data$7 = { adg_any:{ name:"stylesheet",
7278
7411
  description:"The rule corresponds to CSS files requests.",
@@ -7284,6 +7417,9 @@ var data$7 = { adg_any:{ name:"stylesheet",
7284
7417
  aliases:[ "css" ],
7285
7418
  description:"The rule corresponds to CSS files requests.",
7286
7419
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#css" } };
7420
+ data$7.adg_any;
7421
+ data$7.abp_any;
7422
+ data$7.ubo_any;
7287
7423
 
7288
7424
  var data$6 = { adg_any:{ name:"subdocument",
7289
7425
  description:"The rule corresponds to requests for built-in pages — HTML tags frame and iframe.",
@@ -7295,6 +7431,9 @@ var data$6 = { adg_any:{ name:"subdocument",
7295
7431
  aliases:[ "frame" ],
7296
7432
  description:"The rule corresponds to requests for built-in pages — HTML tags frame and iframe.",
7297
7433
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#frame" } };
7434
+ data$6.adg_any;
7435
+ data$6.abp_any;
7436
+ data$6.ubo_any;
7298
7437
 
7299
7438
  var data$5 = { adg_any:{ name:"third-party",
7300
7439
  aliases:[ "3p" ],
@@ -7307,6 +7446,9 @@ var data$5 = { adg_any:{ name:"third-party",
7307
7446
  abp_any:{ name:"third-party",
7308
7447
  description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",
7309
7448
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#party-requests" } };
7449
+ data$5.adg_any;
7450
+ data$5.ubo_any;
7451
+ data$5.abp_any;
7310
7452
 
7311
7453
  var data$4 = { ubo_ext_any:{ name:"to",
7312
7454
  description:"The main motivation of this option is\nto give static network filtering engine an equivalent of DNR's `requestDomains` and `excludedRequestDomains`.",
@@ -7314,6 +7456,7 @@ var data$4 = { ubo_ext_any:{ name:"to",
7314
7456
  assignable:true,
7315
7457
  negatable:false,
7316
7458
  value_format:"pipe_separated_domains" } };
7459
+ data$4.ubo_ext_any;
7317
7460
 
7318
7461
  var data$3 = { adg_any:{ name:"urlblock",
7319
7462
  description:"Disables blocking of all requests sent from the pages matching the rule.",
@@ -7329,6 +7472,7 @@ var data$3 = { adg_any:{ name:"urlblock",
7329
7472
  inverse_conflicts:true,
7330
7473
  negatable:false,
7331
7474
  exception_only:true } };
7475
+ data$3.adg_any;
7332
7476
 
7333
7477
  var data$2 = { adg_any:{ name:"webrtc",
7334
7478
  description:"The rule applies only to WebRTC connections.",
@@ -7344,6 +7488,9 @@ var data$2 = { adg_any:{ name:"webrtc",
7344
7488
  description:"The rule applies only to WebRTC connections.",
7345
7489
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
7346
7490
  version_added:"1.13.3" } };
7491
+ data$2.adg_any;
7492
+ data$2.ubo_any;
7493
+ data$2.abp_any;
7347
7494
 
7348
7495
  var data$1 = { adg_os_any:{ name:"websocket",
7349
7496
  description:"The rule applies only to WebSocket connections.",
@@ -7363,6 +7510,12 @@ var data$1 = { adg_os_any:{ name:"websocket",
7363
7510
  ubo_ext_any:{ name:"websocket",
7364
7511
  description:"The rule applies only to WebSocket connections.",
7365
7512
  docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
7513
+ data$1.adg_os_any;
7514
+ data$1.adg_ext_any;
7515
+ data$1.adg_cb_ios;
7516
+ data$1.adg_cb_safari;
7517
+ data$1.abp_ext_any;
7518
+ data$1.ubo_ext_any;
7366
7519
 
7367
7520
  var data = { adg_any:{ name:"xmlhttprequest",
7368
7521
  aliases:[ "xhr" ],
@@ -7375,6 +7528,9 @@ var data = { adg_any:{ name:"xmlhttprequest",
7375
7528
  aliases:[ "xmlhttprequest" ],
7376
7529
  description:"The rule applies only to ajax requests (requests sent via javascript object XMLHttpRequest).",
7377
7530
  docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#xhr" } };
7531
+ data.adg_any;
7532
+ data.abp_any;
7533
+ data.ubo_any;
7378
7534
 
7379
7535
  /**
7380
7536
  * @file Raw compatibility tables data reexport from yaml files.
@@ -7598,6 +7754,7 @@ const ALLOWED_CSP_DIRECTIVES = new Set([
7598
7754
  'child-src',
7599
7755
  'connect-src',
7600
7756
  'default-src',
7757
+ 'fenced-frame-src',
7601
7758
  'font-src',
7602
7759
  'form-action',
7603
7760
  'frame-ancestors',
@@ -7609,11 +7766,18 @@ const ALLOWED_CSP_DIRECTIVES = new Set([
7609
7766
  'object-src',
7610
7767
  'plugin-types',
7611
7768
  'prefetch-src',
7769
+ 'referrer',
7612
7770
  'report-to',
7613
7771
  'report-uri',
7772
+ 'require-trusted-types-for',
7614
7773
  'sandbox',
7615
7774
  'script-src',
7775
+ 'script-src-attr',
7776
+ 'script-src-elem',
7616
7777
  'style-src',
7778
+ 'style-src-attr',
7779
+ 'style-src-elem',
7780
+ 'trusted-types',
7617
7781
  'upgrade-insecure-requests',
7618
7782
  'worker-src',
7619
7783
  ]);
@@ -10585,7 +10749,7 @@ class LogicalExpressionUtils {
10585
10749
  }
10586
10750
  }
10587
10751
 
10588
- const version$1 = "1.1.7";
10752
+ const version$1 = "1.1.8";
10589
10753
 
10590
10754
  /**
10591
10755
  * @file AGTree version
package/dist/agtree.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * AGTree v1.1.7 (build date: Tue, 07 Nov 2023 14:17:46 GMT)
3
- * (c) 2023 AdGuard Software Ltd.
2
+ * AGTree v1.1.8 (build date: Wed, 24 Apr 2024 15:20:41 GMT)
3
+ * (c) 2024 Adguard Software Ltd.
4
4
  * Released under the MIT license
5
5
  * https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
6
6
  */