{"master":{"name":"ORES","descriptionmsg":"ores-desc","namemsg":"ores-name","license-name":"GPL-3.0-or-later","author":["Kunal Mehta","Amir Sarabadani","Ilias Sarantopoulos","Adam Roses Wight"],"url":"https:\/\/www.mediawiki.org\/wiki\/Extension:ORES","requires":{"MediaWiki":">= 1.47.0"},"APIMetaModules":{"ores":{"class":"ORES\\Hooks\\Api\\ApiQueryORES","services":["NamespaceInfo"]}},"ServiceWiringFiles":["includes\/ServiceWiring.php"],"Hooks":{"APIGetAllowedParams":"api","ApiQueryBaseBeforeQuery":"api","ApiQueryBaseAfterQuery":"api","ApiQueryBaseProcessRow":"api","ApiQueryWatchlistExtractOutputData":"api","BeforePageDisplay":"main","ChangesListSpecialPageStructuredFilters":"changeslist","ChangesListSpecialPageQuery":"changeslist","ContribsPager::getQueryInfo":"contributions","EnhancedChangesListModifyBlockLineData":"changeslist","EnhancedChangesListModifyLineData":"changeslist","GetPreferences":"preferences","LoadExtensionSchemaUpdates":"schema","OldChangesListRecentChangesLine":"changeslist","RecentChange_save":"main","RecentChangesPurgeQuery":"main","SpecialContributions::formatRow::flags":"contributions","ContributionsLineEnding":"contributions","SpecialContributions::getForm::filters":"contributions","AbuseFilter-computeVariable":"abusefilter","AbuseFilter-generateTitleVars":"abusefilter","AbuseFilter-builder":"abusefilter"},"HookHandlers":{"abusefilter":{"class":"ORES\\Hooks\\AbuseFilterHooks","services":["RevisionLookup","MainConfig","UserIdentityLookup","UserNameUtils","AbuseFilterVariablesManager","ORESService"]},"main":{"class":"ORES\\Hooks\\Hooks"},"schema":{"class":"ORES\\Hooks\\SchemaHooks"},"api":{"class":"ORES\\Hooks\\Api\\ApiHooksHandler","services":["ConnectionProvider"]},"changeslist":{"class":"ORES\\Hooks\\ChangesListHooksHandler"},"contributions":{"class":"ORES\\Hooks\\ContributionsHooksHandler"},"preferences":{"class":"ORES\\Hooks\\PreferencesHookHandler"},"recentchanges":{"class":"ORES\\Hooks\\RecentChangeSaveHookHandler"}},"JobClasses":{"ORESFetchScoreJob":"ORES\\Services\\FetchScoreJob"},"config":{"OresUiEnabled":{"value":true},"OresBaseUrl":{"value":"https:\/\/ores.wikimedia.org\/"},"OresUseLiftwing":{"description":"Whether to use LiftWing instead of ORES for fetching model predictions. With ORES deprecation this has been turned to true by default.","value":true},"OresLiftWingBaseUrl":{"description":"The base URL of the LiftWing service. This is only used if OresUseLiftwing. We set it by default to use the API Gateway endpoint which is publicly accessible and is modified by mediawiki deployments that run within the production WMF cluster and have access to the internal endpoint.","value":"https:\/\/api.wikimedia.org\/service\/lw\/inference\/"},"OresLiftWingAddHostHeader":{"description":"Whether to add the Host header to the LiftWing request. This is required for Lift Wing requests made using the internal endpoint within the WMF infrastructure.","value":false},"OresLiftWingMultilingualRevertRiskEnabled":{"description":"Whether the multilingual RevertRisk model in LiftWing is usable on the current wiki. This should only be enabled on the 47 Wikipedia projects listed at https:\/\/meta.wikimedia.org\/wiki\/Machine_learning_models\/Production\/Multilingual_revert_risk.","value":true},"OresLiftWingRevertRiskHosts":{"value":{"revertrisklanguageagnostic":"revertrisk-language-agnostic.revertrisk.wikimedia.org","revertrisklanguageagnostic-presave":"revertrisk-language-agnostic-pre-save.revertrisk.wikimedia.org","revertriskmultilingual":"revertrisk-multilingual.revertrisk.wikimedia.org","revertriskmultilingual-presave":"revertrisk-multilingual-pre-save.revertrisk.wikimedia.org"},"description":"Hostnames to use for requests to RevertRisk endpoints, keyed by model name. Only used if OresLiftWingAddHostHeader is true."},"OresFrontendBaseUrl":{"value":null},"OresExcludeBots":{"value":true},"ORESRevertRiskAbuseFilterIntegrationEnabled":{"description":"Whether to enable integration with revert risk scoring for unsaved edits.","value":true},"ORESDeveloperSetup":{"description":"Whether ORES is in a developer setup mode. Set to false in production.","value":false},"OresModels":{"value":{"damaging":{"enabled":true},"goodfaith":{"enabled":true},"reverted":{"enabled":false},"articlequality":{"enabled":false,"namespaces":[0],"cleanParent":true,"keepForever":true},"wp10":{"enabled":false,"namespaces":[0],"cleanParent":true,"keepForever":true},"draftquality":{"enabled":false,"namespaces":[0],"sources":["mw.new"]},"revertrisklanguageagnostic":{"enabled":false}}},"OresModelClasses":{"value":{"damaging":{"false":0,"true":1},"goodfaith":{"false":0,"true":1},"reverted":{"false":0,"true":1},"articlequality":{"Stub":0,"Start":1,"C":2,"B":3,"GA":4,"FA":5},"wp10":{"Stub":0,"Start":1,"C":2,"B":3,"GA":4,"FA":5},"draftquality":{"attack":0,"OK":1,"spam":2,"vandalism":3},"revertrisklanguageagnostic":{"false":0,"true":1}}},"OresFiltersThresholds":{"value":{"damaging":{"likelygood":{"min":0,"max":0.699},"maybebad":{"min":0.149,"max":1},"likelybad":{"min":0.629,"max":1},"verylikelybad":{"min":0.944,"max":1}},"goodfaith":{"likelygood":{"min":0.777,"max":1},"maybebad":{"min":0,"max":0.075},"likelybad":{"min":0,"max":0.647},"verylikelybad":false},"articlequality":{"Stub":{"min":0,"max":0.166},"Start":{"min":0.167,"max":0.333},"C":{"min":0.334,"max":0.499},"B":{"min":0.5,"max":0.666},"GA":{"min":0.667,"max":0.833},"FA":{"min":0.834,"max":1}},"wp10":{"Stub":{"min":0,"max":0.1666},"Start":{"min":0.1666,"max":0.3333},"C":{"min":0.3333,"max":0.5},"B":{"min":0.5,"max":0.6666},"GA":{"min":0.6666,"max":0.8333},"FA":{"min":0.8333,"max":1}},"revertrisklanguageagnostic":{"revertrisk":{"min":0.95,"max":1}}},"description":"Interval endpoints are calculated using a formula.\n\nTODO: Simplify the grammar and support lists of conditions to build a threshold.","merge_strategy":"array_plus_2d"},"OresModelVersions":{"value":{"models":{"damaging":{"version":"0.5.1"},"goodfaith":{"version":"0.5.1"},"reverted":{"version":"0.4.0"},"articlequality":{"version":"0.9.2"},"wp10":{"version":"0.9.2"},"draftquality":{"version":"0.2.1"},"revertrisklanguageagnostic":{"version":"3"}}}},"OresEnabledNamespaces":{"value":[]},"OresWikiId":{"value":null},"OresRevisionsPerBatch":{"value":30,"description":"Number of revisions to fetch scores for from the ORES API per request when the MediaWiki API is asked to score revisions which are not cached. Set to 0 to disable fetching (scores will still be fetched for new edits)."},"OresCacheVersion":{"value":1,"description":"Increment to invalidate the cached thresholds."},"OresAggregatedModels":{"value":["articlequality","wp10"],"description":"List of models which will have their predictions aggregated to one row."}},"RecentChangesFlags":{"damaging":{"letter":"ores-damaging-letter","title":"ores-damaging-title","legend":"ores-damaging-legend","class":"ores-damaging"}},"DefaultUserOptions":{"ores-damaging-flag-rc":false,"oresDamagingPref":"soft","rcOresDamagingPref":"soft","oresHighlight":false,"oresRCHideNonDamaging":false,"oresWatchlistHideNonDamaging":false},"SpecialPages":{"ORESModels":{"class":"ORES\\Specials\\SpecialORESModels","services":["ORESModelLookup","ORESThresholdLookup"]}},"ExtensionMessagesFiles":{"ORESAlias":"ORES.alias.php"},"repository":"https:\/\/gerrit.wikimedia.org\/r\/mediawiki\/extensions\/ORES"}}