{"master":{"name":"WikiLambda","author":["James D. Forrester","Genoveva Galarza","Lindsay Wardell","Daphne Smit","Julia Kieserman","Dani de Waal","David Martin","Simone Cuomo","Adesoji","Cory Massaro","Edmund Wright","Grace Choi","Vaughn Walters","Denny Vrande\u010di\u0107"],"url":"https:\/\/www.mediawiki.org\/wiki\/Extension:WikiLambda","descriptionmsg":"wikilambda-desc","license-name":"MIT","type":"other","requires":{"MediaWiki":">= 1.47.0","extensions":{"WikimediaMessages":"*","UniversalLanguageSelector":"*"}},"callback":"MediaWiki\\Extension\\WikiLambda\\HookHandler\\RepoHooks::registerExtension","ContentHandlers":{"zobject":{"class":"MediaWiki\\Extension\\WikiLambda\\ZObjectContent\\ZObjectContentHandler","services":["MainConfig","WikiLambdaZObjectStore","WikiLambdaMemcachedWrapper"]},"abstractwiki":{"class":"MediaWiki\\Extension\\WikiLambda\\AbstractContent\\AbstractWikiContentHandler","services":["MainConfig","AbstractWikiArticleStore","WikiLambdaWikidataEntityLookup"]}},"config":{"WikiLambdaEnableRepoMode":{"description":"If true, enable the 'repo' mode of WikiLambda that powers Wikifunctions, and so hosting Functions in the main namespace.","value":true},"WikiLambdaOrchestratorLocation":{"description":"Host and port of the function orchestrator.","value":"https:\/\/mediawiki-function-orchestrator-1:6254\/1\/v2\/evaluate"},"WikiLambdaObjectCaches":{"description":"An array of memcached services' configurations to use to store the results of Function calls and the values of ZObjects. If empty, items will instead be stored in the main MediaWiki cache.","value":[]},"WikiLambdaObjectCacheBroadcast":{"description":"A string of the mcrouter route to use for broadcasting cache updates.","value":null},"WikiLambdaEnableClientMode":{"description":"If true, enable the 'client' mode of WikiLambda, providing the {{#function:\u2026}} parser function to embed calls to Wikifunctions.","value":true},"WikiLambdaClientModeOffline":{"description":"If true, have the 'client' mode of WikiLambda emit a disabled state and use cached values, but not try to run new Functions calls.","value":false},"WikiLambdaClientTargetAPI":{"description":"API to target to make function calls (to allow testing against non-standard wikis).","value":"\/\/www.wikifunctions.org"},"WikiLambdaClientWikis":{"description":"List of client wikis for which the repo wiki will trigger updates.","value":[]},"WikiLambdaClientDefaultShowChanges":{"description":"Whether to show Wikifunctions edits on client wikis by default.","value":false},"WikiLambdaPersistBackendCache":{"description":"Whether to persist changed objects to backend cache","value":false},"WikiLambdaEnableAbstractMode":{"description":"If true, enable the 'abstract' mode of WikiLambda that powers Abstract Wikipedia, and so hosting Abstract Wiki content in the relevant namespace(s).","value":true},"WikiLambdaAbstractNamespaces":{"description":"Map of namespaces to Wikidata concept types to use for Abstract Wiki content.","merge_strategy":"provide_default","value":{"2300":["Abstract_Wikipedia","Q50081413"]}},"WikiLambdaEnableAbstractClientMode":{"description":"If true, enable the 'abstract client' mode of WikiLambda that enables integration of Abstract Wikipedia generated articles.","value":true},"WikiLambdaEnableAbstractClientModeIntegration":{"description":"If true (and WikiLambdaEnableAbstractClientMode is also true), Abstract Wikipedia generated content is rendered in place of opted-in missing local articles. Acts as a kill-switch for the integration behaviour, independent of the rest of abstract client mode.","value":true},"WikiLambdaAWArticleStoreBackend":{"description":"Storage backend for the Abstract Wikipedia article store. Either 'db' (RDBMS-backed; aw_article_sections on the virtual-awstorage domain) or 'mainstash' (MediaWiki MainStash; durable key\/value substrate with TTL cleanup, per T426873).","value":"mainstash"},"WikiLambdaAbstractWikiArticleStoreTopics":{"description":"Default list of Abstract Wikipedia Topic QIDs to update when the updateAbstractWikiArticleStore.php maintenance script is run without --topics. Overridden by --topics when that option is given.","value":[]},"WikiLambdaAbstractWikiArticleStoreLangs":{"description":"Default list of BCP-47 locale identifiers to update Abstract Wiki Articles for when the updateAbstractWikiArticleStore.php maintenance script is run without --langs. Overridden by --langs when that option is given.","value":[]},"WikiLambdaAbstractWikiIconUrl":{"description":"URL of the Abstract Wikipedia SVG icon uploaded to commons, to use it as decorator in the Abstract Wikipedia notice boxes","value":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/c\/c5\/Abstract-Wikipedia-favicon.svg"}},"ConfigRegistry":{"WikiLambda":"MediaWiki\\Config\\GlobalVarConfig::newInstance"},"HookHandlers":{"AbstractPageRenderingHandler":{"class":"MediaWiki\\Extension\\WikiLambda\\HookHandler\\AbstractPageRenderingHandler","services":["WikiLambdaMode","SpecialPageFactory","TitleFactory","AbstractWikiArticleStore","AbstractWikiConfigProvider"]},"WikiLambdaRepoHooks":{"class":"MediaWiki\\Extension\\WikiLambda\\HookHandler\\RepoHooks"},"WikiLambdaClientHooks":{"class":"MediaWiki\\Extension\\WikiLambda\\HookHandler\\ClientHooks","services":["MainConfig","WikiLambdaMode"]},"WikiLambdaClientChangeHooks":{"class":"MediaWiki\\Extension\\WikiLambda\\HookHandler\\ClientChangeHooks","services":["UserOptionsLookup","ConnectionProvider","MainConfig","LinkRenderer","WikiLambdaMode"]},"PageEditingHandler":{"class":"MediaWiki\\Extension\\WikiLambda\\HookHandler\\PageEditingHandler","services":["MainConfig","ConnectionProvider","WikiLambdaZObjectStore","WikiLambdaMode"]},"PagePostSaveHandler":{"class":"MediaWiki\\Extension\\WikiLambda\\HookHandler\\PagePostSaveHandler","services":["ConnectionProvider","WikiLambdaMode","WikiLambdaZObjectStore","JobQueueGroup"]},"PageRenderingHandler":{"class":"MediaWiki\\Extension\\WikiLambda\\HookHandler\\PageRenderingHandler","services":["MainConfig","UserOptionsLookup","LanguageNameUtils","LanguageFactory","WikiLambdaZObjectStore","WikiLambdaWikidataEntityLookup","WikiLambdaMode"]},"WikiLambdaCommunityConfigurationHooks":{"class":"MediaWiki\\Extension\\WikiLambda\\HookHandler\\CommunityConfigurationHooks","services":["WikiLambdaMode","RevisionStore"]},"ViewUrlCacheHandler":{"class":"MediaWiki\\Extension\\WikiLambda\\HookHandler\\ViewUrlCacheHandler","services":["MainConfig","HTMLCacheUpdater","LanguageNameUtils","UrlUtils","WikiLambdaMode"]}},"Hooks":{"PageSaveComplete":["WikiLambdaClientHooks","ViewUrlCacheHandler","WikiLambdaCommunityConfigurationHooks"],"PageDeleteComplete":["ViewUrlCacheHandler","WikiLambdaClientHooks"],"PageMoveComplete":"WikiLambdaClientHooks","ResourceLoaderRegisterModules":"WikiLambdaClientHooks","MakeGlobalVariablesScript":"WikiLambdaClientHooks","EnhancedChangesListModifyLineData":"WikiLambdaClientChangeHooks","EnhancedChangesListModifyBlockLineData":"WikiLambdaClientChangeHooks","OldChangesListRecentChangesLine":"WikiLambdaClientChangeHooks","ChangesListSpecialPageStructuredFilters":"WikiLambdaClientChangeHooks","ChangesListSpecialPageQuery":"WikiLambdaClientChangeHooks","GetPreferences":"WikiLambdaClientChangeHooks","LoadExtensionSchemaUpdates":"WikiLambdaRepoHooks","MediaWikiServices":"WikiLambdaRepoHooks","getUserPermissionsErrors":"PageEditingHandler","MultiContentSave":"PageEditingHandler","NamespaceIsMovable":"PageEditingHandler","RecentChange_save":"PagePostSaveHandler","HtmlPageLinkRendererEnd":"PageRenderingHandler","SkinTemplateNavigation::Universal":["PageRenderingHandler","AbstractPageRenderingHandler"],"SidebarBeforeOutput":"AbstractPageRenderingHandler","WebRequestPathInfoRouter":"PageRenderingHandler","BeforePageDisplay":"PageRenderingHandler","BeforeDisplayNoArticleText":["AbstractPageRenderingHandler","PageRenderingHandler"],"GetMagicVariableIDs":"PageRenderingHandler","ParserGetVariableValueSwitch":"PageRenderingHandler","SpecialStatsAddExtra":"PageRenderingHandler","ParserFirstCallInit":"PageRenderingHandler","SkinPageReadyConfig":"PageRenderingHandler","CommunityConfigurationProvider_initList":"WikiLambdaCommunityConfigurationHooks","SkinAddFooterLinks":"AbstractPageRenderingHandler","ShowMissingArticle":"AbstractPageRenderingHandler","Article::MissingArticleConditions":"AbstractPageRenderingHandler","InitializeArticleMaybeRedirect":"AbstractPageRenderingHandler","TitleIsAlwaysKnown":"AbstractPageRenderingHandler"},"ExtensionMessagesFiles":{"WikiLambdaAliases":"WikiLambda.alias.php","WikiLambdaMagic":"WikiLambda.i18n.magic.php"},"ForeignResourcesDir":"resources\/lib","APIModules":{"wikilambda_fetch":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiZObjectFetcher","wikilambda_edit":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiZObjectEditor","wikilambda_function_call":{"class":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiFunctionCall","services":["WikiLambdaOrchestratorRequest"]},"wikifunctions_run":{"class":"MediaWiki\\Extension\\WikiLambda\\PublicAPI\\PublicApiRun","services":["WikiLambdaOrchestratorRequest"]},"wikifunctions_html_sanitiser":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiWikifunctionsHTMLSanitiser","wikilambda_perform_test":{"class":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiPerformTest","services":["WikiLambdaOrchestratorRequest","WikiLambdaZObjectStore","JobQueueGroup"]},"wikilambda_supported_programming_languages":{"class":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiSupportedProgrammingLanguages","services":["WikiLambdaOrchestratorRequest"]},"abstractwiki_run_fragment":{"class":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiAbstractWikiRunFragment","services":["WikifunctionsLanguageFactory","AbstractWikiFragmentStore","AbstractWikiRequest"]},"abstractwiki_fetch_section":{"class":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiAbstractWikiFetchSection","services":["WikifunctionsLanguageFactory","AbstractWikiFragmentStore","ContentHandlerFactory","RevisionStore","TitleFactory"]}},"APIListModules":{"wikilambdasearch_labels":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiQueryZObjectLabels","wikilambdaload_zobjects":{"class":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiQueryZObjects","services":["LanguageFallback","LanguageNameUtils","TitleFactory"]},"wikilambdaload_zlanguages":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiQueryZLanguages","wikilambdafn_search":{"class":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiQueryZFunctionReference","services":["WikiLambdaZObjectStore"]},"wikilambdasearch_functions":{"class":"MediaWiki\\Extension\\WikiLambda\\ActionAPI\\ApiQueryFunctions","services":["LanguageFallback","WikiLambdaZObjectStore"]}},"RestModuleFiles":["includes\/RESTAPI\/wikifunctions.v0.json"],"SpecialPages":{"ViewAbstract":{"class":"MediaWiki\\Extension\\WikiLambda\\Special\\SpecialViewAbstract","services":["ContentRenderer","LanguageFactory","LanguageNameUtils","UrlUtils","WikiLambdaWikidataEntityLookup"]},"ViewObject":{"class":"MediaWiki\\Extension\\WikiLambda\\Special\\SpecialViewObject","services":["ContentRenderer","LanguageFactory","UrlUtils","WikiLambdaZObjectStore"]},"CreateAbstract":{"class":"MediaWiki\\Extension\\WikiLambda\\Special\\SpecialCreateAbstract","services":["RevisionStore","ContentHandlerFactory","WikiLambdaWikidataEntityLookup"]},"CreateObject":"MediaWiki\\Extension\\WikiLambda\\Special\\SpecialCreateObject","RunFunction":"MediaWiki\\Extension\\WikiLambda\\Special\\SpecialRunFunction","ListDuplicateObjectNames":{"class":"MediaWiki\\Extension\\WikiLambda\\Special\\SpecialListDuplicateObjectNames","services":["LanguageNameUtils","LinkBatchFactory"]},"ListObjectsByType":{"class":"MediaWiki\\Extension\\WikiLambda\\Special\\SpecialListObjectsByType","services":["WikiLambdaZObjectStore","LanguageFallback"]},"ListMissingLabels":{"class":"MediaWiki\\Extension\\WikiLambda\\Special\\SpecialListMissingLabels","services":["WikiLambdaZObjectStore","LanguageFallback"]},"ListFunctionsByTests":{"class":"MediaWiki\\Extension\\WikiLambda\\Special\\SpecialListFunctionsByTests","services":["WikiLambdaZObjectStore","LanguageFallback"]},"FunctionUsage":{"class":"MediaWiki\\Extension\\WikiLambda\\Special\\SpecialFunctionUsage","services":["WikifunctionsUsageStore","WikiLambdaZObjectStore"]},"PreviewAbstract":{"class":"MediaWiki\\Extension\\WikiLambda\\Special\\SpecialPreviewAbstract","services":["ContentRenderer","LanguageNameUtils","WikifunctionsLanguageFactory","AbstractWikiArticleStore","AbstractWikiConfigProvider","WikiLambdaWikidataEntityLookup","StatsFactory"]}},"TrackingCategories":["wikilambda-functioncall-error-category","wikilambda-functioncall-error-unknown-category","wikilambda-functioncall-error-nonfunction-category","wikilambda-functioncall-error-nonstring-category"],"ServiceWiringFiles":["includes\/ServiceWiring.php"],"attributes":{"VisualEditor":{"PluginModules":["ext.wikilambda.visualeditor"]},"CommunityConfiguration":{"Providers":{"WikifunctionsSuggestions":{"store":{"type":"wikipage","args":["MediaWiki:WikifunctionsSuggestions.json"]},"validator":{"type":"jsonschema","args":["MediaWiki\\Extension\\WikiLambda\\Config\\SuggestedFunctionsSchema"]},"type":"data"},"AbstractWikiSuggestedWikifunctions":{"store":{"type":"wikipage","args":["MediaWiki:AbstractWikiSuggestedWikifunctions.json"]},"validator":{"type":"jsonschema","args":["MediaWiki\\Extension\\WikiLambda\\Config\\AbstractSuggestedFunctionsSchema"]},"type":"data"},"AbstractWikiOptedInArticles":{"store":{"type":"wikipage","args":["MediaWiki:AbstractWikiOptedInArticles.json"]},"validator":{"type":"jsonschema","args":["MediaWiki\\Extension\\WikiLambda\\Config\\AbstractWikiOptedInArticlesSchema"]}}}}},"ParsoidModules":[{"name":"Wikifunctions","fragmentHandlers":[{"key":"function","handler":{"class":"MediaWiki\\Extension\\WikiLambda\\ParserFunction\\WikifunctionsPFragmentHandler","services":["MainConfig","JobQueueGroup","HttpRequestFactory","WikiLambdaPFragmentRenderer"]},"options":{"parserFunction":true,"hasAsyncContent":true}}]}],"RecentChangesFlags":{"wikifunctions-edit":{"letter":"wikilambda-recentchanges-edit-letter","title":"wikilambda-recentchanges-edit-title","legend":"wikilambda-recentchanges-edit-legend","grouping":"all"}},"DefaultUserOptions":{"rcshowwikifunctions":0,"wlshowwikifunctions":0},"JobClasses":{"cacheTesterResults":"MediaWiki\\Extension\\WikiLambda\\Jobs\\CacheTesterResultsJob","cacheAbstractContentFragment":"MediaWiki\\Extension\\WikiLambda\\Jobs\\CacheAbstractContentFragmentJob","updateImplementations":"MediaWiki\\Extension\\WikiLambda\\Jobs\\UpdateImplementationsJob","wikifunctionsClientFanOutQueue":"MediaWiki\\Extension\\WikiLambda\\Jobs\\WikifunctionsClientFanOutQueueJob","wikifunctionsClientUsageUpdate":"MediaWiki\\Extension\\WikiLambda\\Jobs\\WikifunctionsClientUsageUpdateJob","wikifunctionsClientRequest":"MediaWiki\\Extension\\WikiLambda\\Jobs\\WikifunctionsClientRequestJob","wikifunctionsRecentChangesInsert":"MediaWiki\\Extension\\WikiLambda\\Jobs\\WikifunctionsRecentChangesInsertJob","executeTestAndCache":"MediaWiki\\Extension\\WikiLambda\\Jobs\\ExecuteTestAndCacheJob"},"RecentChangeSources":{"wf":{"revision":true}},"DatabaseVirtualDomains":["virtual-awstorage","virtual-wikifunctions-usage"],"LogTypes":["abstractwiki"],"LogNames":{"abstractwiki":"wikilambda-abstract-log-name"},"LogHeaders":{"abstractwiki":"wikilambda-abstract-log-header"},"LogActionsHandlers":{"abstractwiki\/*":"MediaWiki\\Extension\\WikiLambda\\AbstractContent\\AbstractWikiLogFormatter"},"repository":"https:\/\/gerrit.wikimedia.org\/r\/mediawiki\/extensions\/WikiLambda"}}