Blame Raw
Cohee · 51ad27fb · · 309 lines (10.5 KB)
3 contributors
1import {
2 activateSendButtons,
3 addOneMessage,
4 appendMediaToMessage,
5 callPopup,
6 characters,
7 chat,
8 chat_metadata,
9 CONNECT_API_MAP,
10 create_save,
11 deactivateSendButtons,
12 event_types,
13 eventSource,
14 extension_prompts,
15 extractMessageFromData,
16 Generate,
17 generateQuietPrompt,
18 getCharacters,
19 getCurrentChatId,
20 getRequestHeaders,
21 getThumbnailUrl,
22 main_api,
23 max_context,
24 menu_type,
25 messageFormatting,
26 name1,
27 name2,
28 online_status,
29 openCharacterChat,
30 reloadCurrentChat,
31 renameChat,
32 saveChatConditional,
33 saveMetadata,
34 saveReply,
35 saveSettingsDebounced,
36 selectCharacterById,
37 sendGenerationRequest,
38 sendStreamingRequest,
39 sendSystemMessage,
40 setExtensionPrompt,
41 stopGeneration,
42 streamingProcessor,
43 substituteParams,
44 substituteParamsExtended,
45 this_chid,
46 updateChatMetadata,
47 updateMessageBlock,
48 printMessages,
49 clearChat,
50 unshallowCharacter,
51 deleteLastMessage,
52 getCharacterCardFields,
53 swipe_right,
54 swipe_left,
55 generateRaw,
56 generateRawData,
57 showSwipeButtons,
58 hideSwipeButtons,
59 deleteMessage,
60 refreshSwipeButtons,
61 swipe,
62 isSwipingAllowed,
63 swipeState,
64 ensureMessageMediaIsArray,
65 getMediaDisplay,
66 getMediaIndex,
67 scrollChatToBottom,
68 scrollOnMediaLoad,
69 getOneCharacter,
70 getCharacterSource,
71} from '../script.js';
72import {
73 extension_settings,
74 getExtensionManifest,
75 ModuleWorkerWrapper,
76 openThirdPartyExtensionMenu,
77 renderExtensionTemplate,
78 renderExtensionTemplateAsync,
79 saveMetadataDebounced,
80 UNSET_VALUE,
81 writeExtensionField,
82 writeExtensionFieldBulk,
83} from './extensions.js';
84import { groups, openGroupChat, selected_group, unshallowGroupMembers } from './group-chats.js';
85import { addLocaleData, getCurrentLocale, t, translate } from './i18n.js';
86import { hideLoader, showLoader } from './loader.js';
87import { loader } from './action-loader.js';
88import { MacrosParser } from './macros.js';
89import { getChatCompletionModel, oai_settings } from './openai.js';
90import { callGenericPopup, Popup, POPUP_RESULT, POPUP_TYPE } from './popup.js';
91import { power_user, registerDebugFunction } from './power-user.js';
92import { getPresetManager } from './preset-manager.js';
93import { humanizedDateTime, isMobile, shouldSendOnEnter } from './RossAscends-mods.js';
94import { ScraperManager } from './scrapers.js';
95import { executeSlashCommands, executeSlashCommandsWithOptions, registerSlashCommand } from './slash-commands.js';
96import { SlashCommand } from './slash-commands/SlashCommand.js';
97import { ARGUMENT_TYPE, SlashCommandArgument, SlashCommandNamedArgument } from './slash-commands/SlashCommandArgument.js';
98import { SlashCommandEnumValue } from './slash-commands/SlashCommandEnumValue.js';
99import { SlashCommandParser } from './slash-commands/SlashCommandParser.js';
100import { tag_map, tags, importTags } from './tags.js';
101import { getTextGenServer, textgenerationwebui_settings } from './textgen-settings.js';
102import { tokenizers, getTextTokens, getTokenCount, getTokenCountAsync, getTokenizerModel } from './tokenizers.js';
103import { ToolManager } from './tool-calling.js';
104import { accountStorage } from './util/AccountStorage.js';
105import { timestampToMoment, uuidv4, importFromExternalUrl } from './utils.js';
106import { addGlobalVariable, addLocalVariable, decrementGlobalVariable, decrementLocalVariable, deleteGlobalVariable, deleteLocalVariable, existsGlobalVariable, existsLocalVariable, getGlobalVariable, getLocalVariable, incrementGlobalVariable, incrementLocalVariable, setGlobalVariable, setLocalVariable } from './variables.js';
107import { convertCharacterBook, getWorldInfoPrompt, loadWorldInfo, reloadEditor, saveWorldInfo, updateWorldInfoList, world_names } from './world-info.js';
108import { ChatCompletionService, TextCompletionService } from './custom-request.js';
109import { ConnectionManagerRequestService } from './extensions/shared.js';
110import { updateReasoningUI, parseReasoningFromString, getReasoningTemplateByName } from './reasoning.js';
111import { IGNORE_SYMBOL } from './constants.js';
112import { macros } from './macros/macro-system.js';
113
114export function getContext() {
115 return {
116 accountStorage,
117 chat,
118 characters,
119 groups,
120 name1,
121 name2,
122 characterId: this_chid,
123 groupId: selected_group,
124 chatId: selected_group
125 ? groups.find(x => x.id == selected_group)?.chat_id
126 : (characters[this_chid]?.chat),
127 getCurrentChatId,
128 getRequestHeaders,
129 reloadCurrentChat,
130 renameChat,
131 saveSettingsDebounced,
132 onlineStatus: online_status,
133 maxContext: Number(max_context),
134 chatMetadata: chat_metadata,
135 saveMetadataDebounced,
136 streamingProcessor,
137 eventSource,
138 eventTypes: event_types,
139 addOneMessage,
140 deleteLastMessage,
141 deleteMessage,
142 generate: Generate,
143 sendStreamingRequest,
144 sendGenerationRequest,
145 stopGeneration,
146 tokenizers,
147 getTextTokens,
148 /** @deprecated Use getTokenCountAsync instead */
149 getTokenCount,
150 getTokenCountAsync,
151 extensionPrompts: extension_prompts,
152 setExtensionPrompt,
153 updateChatMetadata,
154 saveChat: saveChatConditional,
155 openCharacterChat,
156 openGroupChat,
157 saveMetadata,
158 sendSystemMessage,
159 activateSendButtons,
160 deactivateSendButtons,
161 saveReply,
162 substituteParams,
163 substituteParamsExtended,
164 SlashCommandParser,
165 SlashCommand,
166 SlashCommandArgument,
167 SlashCommandNamedArgument,
168 SlashCommandEnumValue,
169 ARGUMENT_TYPE,
170 executeSlashCommandsWithOptions,
171 /** @deprecated Use SlashCommandParser.addCommandObject() instead */
172 registerSlashCommand,
173 /** @deprecated Use executeSlashCommandWithOptions instead */
174 executeSlashCommands,
175 timestampToMoment,
176 /** @deprecated Handlebars for extensions are no longer supported. */
177 registerHelper: () => { },
178 /** @deprecated Use `macros.register(name, { handler, description })` from scripts/macros/macro-system.js instead. */
179 registerMacro: MacrosParser.registerMacro.bind(MacrosParser),
180 /** @deprecated Use `macros.registry.unregisterMacro(name)` from scripts/macros/macro-system.js instead. */
181 unregisterMacro: MacrosParser.unregisterMacro.bind(MacrosParser),
182 registerFunctionTool: ToolManager.registerFunctionTool.bind(ToolManager),
183 unregisterFunctionTool: ToolManager.unregisterFunctionTool.bind(ToolManager),
184 isToolCallingSupported: ToolManager.isToolCallingSupported.bind(ToolManager),
185 canPerformToolCalls: ToolManager.canPerformToolCalls.bind(ToolManager),
186 ToolManager,
187 registerDebugFunction,
188 /** @deprecated Use renderExtensionTemplateAsync instead. */
189 renderExtensionTemplate,
190 renderExtensionTemplateAsync,
191 registerDataBankScraper: ScraperManager.registerDataBankScraper.bind(ScraperManager),
192 /** @deprecated Use callGenericPopup or Popup instead. */
193 callPopup,
194 callGenericPopup,
195 /** @deprecated Use loader.show instead. */
196 showLoader,
197 /** @deprecated Use loader.hide instead. */
198 hideLoader,
199 mainApi: main_api,
200 extensionSettings: extension_settings,
201 ModuleWorkerWrapper,
202 getTokenizerModel,
203 generateQuietPrompt,
204 generateRaw,
205 generateRawData,
206 writeExtensionField,
207 writeExtensionFieldBulk,
208 getThumbnailUrl,
209 selectCharacterById,
210 messageFormatting,
211 shouldSendOnEnter,
212 isMobile,
213 t,
214 translate,
215 getCurrentLocale,
216 addLocaleData,
217 tags,
218 tagMap: tag_map,
219 menuType: menu_type,
220 createCharacterData: create_save,
221 /** @deprecated Legacy snake-case naming, compatibility with old extensions */
222 event_types: event_types,
223 Popup,
224 POPUP_TYPE,
225 POPUP_RESULT,
226 chatCompletionSettings: oai_settings,
227 textCompletionSettings: textgenerationwebui_settings,
228 powerUserSettings: power_user,
229 getCharacters,
230 getOneCharacter,
231 getCharacterCardFields,
232 getCharacterSource,
233 importFromExternalUrl,
234 importTags,
235 uuidv4,
236 humanizedDateTime,
237 updateMessageBlock,
238 appendMediaToMessage,
239 ensureMessageMediaIsArray,
240 getMediaDisplay,
241 getMediaIndex,
242 scrollChatToBottom,
243 scrollOnMediaLoad,
244 macros,
245 loader,
246 swipe: {
247 left: swipe_left,
248 right: swipe_right,
249 to: swipe,
250 show: showSwipeButtons,
251 hide: hideSwipeButtons,
252 refresh: refreshSwipeButtons,
253 isAllowed: isSwipingAllowed,
254 state: () => swipeState,
255 },
256 variables: {
257 local: {
258 get: getLocalVariable,
259 set: setLocalVariable,
260 del: deleteLocalVariable,
261 add: addLocalVariable,
262 inc: incrementLocalVariable,
263 dec: decrementLocalVariable,
264 has: existsLocalVariable,
265 },
266 global: {
267 get: getGlobalVariable,
268 set: setGlobalVariable,
269 del: deleteGlobalVariable,
270 add: addGlobalVariable,
271 inc: incrementGlobalVariable,
272 dec: decrementGlobalVariable,
273 has: existsGlobalVariable,
274 },
275 },
276 loadWorldInfo,
277 saveWorldInfo,
278 reloadWorldInfoEditor: reloadEditor,
279 updateWorldInfoList,
280 convertCharacterBook,
281 getWorldInfoPrompt,
282 getWorldInfoNames: () => Array.isArray(world_names) ? [...world_names] : [],
283 CONNECT_API_MAP,
284 getTextGenServer,
285 extractMessageFromData,
286 getPresetManager,
287 getChatCompletionModel,
288 printMessages,
289 clearChat,
290 ChatCompletionService,
291 TextCompletionService,
292 ConnectionManagerRequestService,
293 updateReasoningUI,
294 parseReasoningFromString,
295 getReasoningTemplateByName,
296 unshallowCharacter,
297 unshallowGroupMembers,
298 getExtensionManifest,
299 openThirdPartyExtensionMenu,
300 symbols: {
301 ignore: IGNORE_SYMBOL,
302 },
303 constants: {
304 unset: UNSET_VALUE,
305 },
306 };
307}
308
309export default getContext;