mirror of
				https://github.com/SillyTavern/SillyTavern.git
				synced 2025-06-05 21:59:27 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			239 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			239 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import {
 | 
						|
    activateSendButtons,
 | 
						|
    addOneMessage,
 | 
						|
    appendMediaToMessage,
 | 
						|
    callPopup,
 | 
						|
    characters,
 | 
						|
    chat,
 | 
						|
    chat_metadata,
 | 
						|
    CONNECT_API_MAP,
 | 
						|
    create_save,
 | 
						|
    deactivateSendButtons,
 | 
						|
    event_types,
 | 
						|
    eventSource,
 | 
						|
    extension_prompts,
 | 
						|
    extractMessageFromData,
 | 
						|
    Generate,
 | 
						|
    generateQuietPrompt,
 | 
						|
    getCharacters,
 | 
						|
    getCurrentChatId,
 | 
						|
    getRequestHeaders,
 | 
						|
    getThumbnailUrl,
 | 
						|
    main_api,
 | 
						|
    max_context,
 | 
						|
    menu_type,
 | 
						|
    messageFormatting,
 | 
						|
    name1,
 | 
						|
    name2,
 | 
						|
    online_status,
 | 
						|
    openCharacterChat,
 | 
						|
    reloadCurrentChat,
 | 
						|
    renameChat,
 | 
						|
    saveChatConditional,
 | 
						|
    saveMetadata,
 | 
						|
    saveReply,
 | 
						|
    saveSettingsDebounced,
 | 
						|
    selectCharacterById,
 | 
						|
    sendGenerationRequest,
 | 
						|
    sendStreamingRequest,
 | 
						|
    sendSystemMessage,
 | 
						|
    setExtensionPrompt,
 | 
						|
    stopGeneration,
 | 
						|
    streamingProcessor,
 | 
						|
    substituteParams,
 | 
						|
    substituteParamsExtended,
 | 
						|
    this_chid,
 | 
						|
    updateChatMetadata,
 | 
						|
    updateMessageBlock,
 | 
						|
    printMessages,
 | 
						|
    clearChat,
 | 
						|
    unshallowCharacter,
 | 
						|
    deleteLastMessage,
 | 
						|
    getCharacterCardFields,
 | 
						|
    swipe_right,
 | 
						|
    swipe_left,
 | 
						|
} from '../script.js';
 | 
						|
import {
 | 
						|
    extension_settings,
 | 
						|
    ModuleWorkerWrapper,
 | 
						|
    renderExtensionTemplate,
 | 
						|
    renderExtensionTemplateAsync,
 | 
						|
    writeExtensionField,
 | 
						|
} from './extensions.js';
 | 
						|
import { groups, openGroupChat, selected_group, unshallowGroupMembers } from './group-chats.js';
 | 
						|
import { addLocaleData, getCurrentLocale, t, translate } from './i18n.js';
 | 
						|
import { hideLoader, showLoader } from './loader.js';
 | 
						|
import { MacrosParser } from './macros.js';
 | 
						|
import { getChatCompletionModel, oai_settings } from './openai.js';
 | 
						|
import { callGenericPopup, Popup, POPUP_RESULT, POPUP_TYPE } from './popup.js';
 | 
						|
import { power_user, registerDebugFunction } from './power-user.js';
 | 
						|
import { getPresetManager } from './preset-manager.js';
 | 
						|
import { humanizedDateTime, isMobile, shouldSendOnEnter } from './RossAscends-mods.js';
 | 
						|
import { ScraperManager } from './scrapers.js';
 | 
						|
import { executeSlashCommands, executeSlashCommandsWithOptions, registerSlashCommand } from './slash-commands.js';
 | 
						|
import { SlashCommand } from './slash-commands/SlashCommand.js';
 | 
						|
import { ARGUMENT_TYPE, SlashCommandArgument, SlashCommandNamedArgument } from './slash-commands/SlashCommandArgument.js';
 | 
						|
import { SlashCommandParser } from './slash-commands/SlashCommandParser.js';
 | 
						|
import { tag_map, tags } from './tags.js';
 | 
						|
import { getTextGenServer, textgenerationwebui_settings } from './textgen-settings.js';
 | 
						|
import { tokenizers, getTextTokens, getTokenCount, getTokenCountAsync, getTokenizerModel } from './tokenizers.js';
 | 
						|
import { ToolManager } from './tool-calling.js';
 | 
						|
import { accountStorage } from './util/AccountStorage.js';
 | 
						|
import { timestampToMoment, uuidv4 } from './utils.js';
 | 
						|
import { getGlobalVariable, getLocalVariable, setGlobalVariable, setLocalVariable } from './variables.js';
 | 
						|
import { convertCharacterBook, getWorldInfoPrompt, loadWorldInfo, reloadEditor, saveWorldInfo, updateWorldInfoList } from './world-info.js';
 | 
						|
import { ChatCompletionService, TextCompletionService } from './custom-request.js';
 | 
						|
import { ConnectionManagerRequestService } from './extensions/shared.js';
 | 
						|
import { updateReasoningUI, parseReasoningFromString } from './reasoning.js';
 | 
						|
import { IGNORE_SYMBOL } from './constants.js';
 | 
						|
 | 
						|
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,
 | 
						|
        streamingProcessor,
 | 
						|
        eventSource,
 | 
						|
        eventTypes: event_types,
 | 
						|
        addOneMessage,
 | 
						|
        deleteLastMessage,
 | 
						|
        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,
 | 
						|
        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,
 | 
						|
        swipe: { left: swipe_left, right: swipe_right },
 | 
						|
        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,
 | 
						|
        symbols: {
 | 
						|
            ignore: IGNORE_SYMBOL,
 | 
						|
        },
 | 
						|
    };
 | 
						|
}
 | 
						|
 | 
						|
export default getContext;
 |