export function getContext() { return { accountStorage, chat, characters, groups, name1, name2, characterId: this_chid, groupId: selected_group, chatId: selected_group ? groups.find(x => x.id == selected_group)?.chat_id : (characters[this_chid]?.chat), getCurrentChatId, getRequestHeaders, reloadCurrentChat, renameChat, saveSettingsDebounced, onlineStatus: online_status, maxContext: Number(max_context), chatMetadata: chat_metadata, saveMetadataDebounced, streamingProcessor, eventSource, eventTypes: event_types, addOneMessage, deleteLastMessage, deleteMessage, generate: Generate, sendStreamingRequest, sendGenerationRequest, stopGeneration, tokenizers, getTextTokens, /** @deprecated Use getTokenCountAsync instead */ getTokenCount, getTokenCountAsync, extensionPrompts: extension_prompts, setExtensionPrompt, updateChatMetadata, saveChat: saveChatConditional, openCharacterChat, openGroupChat, saveMetadata, sendSystemMessage, activateSendButtons, deactivateSendButtons, saveReply, substituteParams, substituteParamsExtended, SlashCommandParser, SlashCommand, SlashCommandArgument, SlashCommandNamedArgument, ARGUMENT_TYPE, executeSlashCommandsWithOptions, /** @deprecated Use SlashCommandParser.addCommandObject() instead */ registerSlashCommand, /** @deprecated Use executeSlashCommandWithOptions instead */ executeSlashCommands, timestampToMoment, /** @deprecated Handlebars for extensions are no longer supported. */ registerHelper: () => { }, registerMacro: MacrosParser.registerMacro.bind(MacrosParser), unregisterMacro: MacrosParser.unregisterMacro.bind(MacrosParser), registerFunctionTool: ToolManager.registerFunctionTool.bind(ToolManager), unregisterFunctionTool: ToolManager.unregisterFunctionTool.bind(ToolManager), isToolCallingSupported: ToolManager.isToolCallingSupported.bind(ToolManager), canPerformToolCalls: ToolManager.canPerformToolCalls.bind(ToolManager), ToolManager, registerDebugFunction, /** @deprecated Use renderExtensionTemplateAsync instead. */ renderExtensionTemplate, renderExtensionTemplateAsync, registerDataBankScraper: ScraperManager.registerDataBankScraper.bind(ScraperManager), /** @deprecated Use callGenericPopup or Popup instead. */ callPopup, callGenericPopup, showLoader, hideLoader, mainApi: main_api, extensionSettings: extension_settings, ModuleWorkerWrapper, getTokenizerModel, generateQuietPrompt, generateRaw, writeExtensionField, getThumbnailUrl, selectCharacterById, messageFormatting, shouldSendOnEnter, isMobile, t, translate, getCurrentLocale, addLocaleData, tags, tagMap: tag_map, menuType: menu_type, createCharacterData: create_save, /** @deprecated Legacy snake-case naming, compatibility with old extensions */ event_types: event_types, Popup, POPUP_TYPE, POPUP_RESULT, chatCompletionSettings: oai_settings, textCompletionSettings: textgenerationwebui_settings, powerUserSettings: power_user, getCharacters, getCharacterCardFields, uuidv4, humanizedDateTime, updateMessageBlock, appendMediaToMessage, ensureMessageMediaIsArray, getMediaDisplay, getMediaIndex, swipe: { left: swipe_left, right: swipe_right, show: showSwipeButtons, hide: hideSwipeButtons, refresh: refreshSwipeButtons, isAllowed: () => isSwipingAllowed, }, variables: { local: { get: getLocalVariable, set: setLocalVariable, }, global: { get: getGlobalVariable, set: setGlobalVariable, }, }, loadWorldInfo, saveWorldInfo, reloadWorldInfoEditor: reloadEditor, updateWorldInfoList, convertCharacterBook, getWorldInfoPrompt, CONNECT_API_MAP, getTextGenServer, extractMessageFromData, getPresetManager, getChatCompletionModel, printMessages, clearChat, ChatCompletionService, TextCompletionService, ConnectionManagerRequestService, updateReasoningUI, parseReasoningFromString, unshallowCharacter, unshallowGroupMembers, openThirdPartyExtensionMenu, symbols: { ignore: IGNORE_SYMBOL, }, }; }