SYMBOL INDEX (350 symbols across 101 files) FILE: .github/workflows/scripts/update-coverage-badge.mjs function getBadgeColor (line 7) | function getBadgeColor(percentage) { function main (line 16) | function main() { FILE: .github/workflows/scripts/verify-search-engine-configs.mjs function verify (line 143) | async function verify(errorTag, urls, headers, queryNames) { function main (line 184) | async function main() { FILE: build.mjs function getBooleanEnv (line 18) | function getBooleanEnv(val, defaultValue) { function parseCacheCompressionOption (line 34) | function parseCacheCompressionOption(envVal) { function parseThreadWorkerCount (line 50) | function parseThreadWorkerCount(envValue, cpuCount) { constant PRODUCTION_POOL_TIMEOUT_MS (line 70) | let PRODUCTION_POOL_TIMEOUT_MS = 2000 function resolveSassImplementation (line 88) | function resolveSassImplementation(mod) { function getSassImplementation (line 94) | async function getSassImplementation() { function deleteOldDir (line 115) | async function deleteOldDir() { function runWebpack (line 119) | async function runWebpack(isWithoutKatex, isWithoutTiktoken, minimal, so... function zipFolder (line 466) | async function zipFolder(dir) { function copyFiles (line 507) | async function copyFiles(entryPoints, targetDir) { function ensureDevCssPlaceholders (line 533) | async function ensureDevCssPlaceholders(cssFiles) { function finishOutput (line 548) | async function finishOutput(outputDirSuffix, sourceBuildDir = outdir) { function build (line 613) | async function build() { FILE: src/background/commands.mjs function registerCommands (line 4) | function registerCommands() { FILE: src/background/index.mjs constant RECONNECT_CONFIG (line 61) | const RECONNECT_CONFIG = { function setPortProxy (line 67) | function setPortProxy(port, proxyTabId) { function executeApi (line 348) | async function executeApi(session, port, config) { FILE: src/background/menus.mjs function refreshMenu (line 36) | function refreshMenu() { FILE: src/background/redact.mjs constant SENSITIVE_KEYWORDS (line 1) | const SENSITIVE_KEYWORDS = [ function isPromptOrSelectionLikeKey (line 12) | function isPromptOrSelectionLikeKey(lowerKey) { function redactSensitiveFields (line 24) | function redactSensitiveFields(obj, recursionDepth = 0, maxDepth = 5, se... FILE: src/components/ConfirmButton/index.jsx function ConfirmButton (line 10) | function ConfirmButton({ onConfirm, text }) { FILE: src/components/ConversationCard/index.jsx class ConversationItemData (line 42) | class ConversationItemData extends Object { method constructor (line 48) | constructor(type, content, done = false) { function ConversationCard (line 56) | function ConversationCard(props) { FILE: src/components/ConversationItem/index.jsx function AnswerTitle (line 9) | function AnswerTitle({ descName }) { function ConversationItem (line 19) | function ConversationItem({ type, content, descName, onRetry }) { FILE: src/components/CopyButton/index.jsx function CopyButton (line 12) | function CopyButton({ className, contentFn, size }) { FILE: src/components/DecisionCard/index.jsx function DecisionCard (line 9) | function DecisionCard(props) { FILE: src/components/DeleteButton/index.jsx function DeleteButton (line 12) | function DeleteButton({ onConfirm, size, text }) { FILE: src/components/FloatingToolbar/index.jsx function FloatingToolbar (line 13) | function FloatingToolbar(props) { FILE: src/components/InputBox/index.jsx function InputBox (line 7) | function InputBox({ onSubmit, enabled, postMessage, reverseResizeDir }) { FILE: src/components/MarkdownRender/Hyperlink.jsx function Hyperlink (line 4) | function Hyperlink({ href, children }) { FILE: src/components/MarkdownRender/Pre.jsx function Pre (line 6) | function Pre({ className, children }) { FILE: src/components/MarkdownRender/markdown-without-katex.jsx function MarkdownRender (line 111) | function MarkdownRender(props) { FILE: src/components/MarkdownRender/markdown.jsx function MarkdownRender (line 114) | function MarkdownRender(props) { FILE: src/components/ReadButton/index.jsx function ReadButton (line 15) | function ReadButton({ className, contentFn, size }) { FILE: src/config/index.mjs function getNavigatorLanguage (line 666) | function getNavigatorLanguage() { function isUsingChatgptWebModel (line 672) | function isUsingChatgptWebModel(configOrSession) { function isUsingClaudeWebModel (line 676) | function isUsingClaudeWebModel(configOrSession) { function isUsingMoonshotWebModel (line 680) | function isUsingMoonshotWebModel(configOrSession) { function isUsingBingWebModel (line 684) | function isUsingBingWebModel(configOrSession) { function isUsingMultiModeModel (line 688) | function isUsingMultiModeModel(configOrSession) { function isUsingGeminiWebModel (line 692) | function isUsingGeminiWebModel(configOrSession) { function isUsingChatgptApiModel (line 696) | function isUsingChatgptApiModel(configOrSession) { function isUsingGptCompletionApiModel (line 700) | function isUsingGptCompletionApiModel(configOrSession) { function isUsingOpenAiApiModel (line 704) | function isUsingOpenAiApiModel(configOrSession) { function isUsingClaudeApiModel (line 708) | function isUsingClaudeApiModel(configOrSession) { function isUsingMoonshotApiModel (line 712) | function isUsingMoonshotApiModel(configOrSession) { function isUsingDeepSeekApiModel (line 716) | function isUsingDeepSeekApiModel(configOrSession) { function isUsingOpenRouterApiModel (line 720) | function isUsingOpenRouterApiModel(configOrSession) { function isUsingAimlApiModel (line 724) | function isUsingAimlApiModel(configOrSession) { function isUsingChatGLMApiModel (line 728) | function isUsingChatGLMApiModel(configOrSession) { function isUsingOllamaApiModel (line 732) | function isUsingOllamaApiModel(configOrSession) { function isUsingAzureOpenAiApiModel (line 736) | function isUsingAzureOpenAiApiModel(configOrSession) { function isUsingGithubThirdPartyApiModel (line 740) | function isUsingGithubThirdPartyApiModel(configOrSession) { function isUsingCustomModel (line 744) | function isUsingCustomModel(configOrSession) { function isUsingCustomNameOnlyModel (line 751) | function isUsingCustomNameOnlyModel(configOrSession) { function getPreferredLanguageKey (line 755) | async function getPreferredLanguageKey() { function getUserConfig (line 765) | async function getUserConfig() { function setUserConfig (line 812) | async function setUserConfig(value) { function setAccessToken (line 816) | async function setAccessToken(accessToken) { constant TOKEN_DURATION (line 820) | const TOKEN_DURATION = 30 * 24 * 3600 * 1000 function clearOldAccessToken (line 822) | async function clearOldAccessToken() { FILE: src/config/language.mjs function getUserLanguage (line 14) | async function getUserLanguage() { function getUserLanguageNative (line 18) | async function getUserLanguageNative() { function getPreferredLanguage (line 22) | async function getPreferredLanguage() { function getPreferredLanguageNative (line 28) | async function getPreferredLanguageNative() { FILE: src/content-script/index.jsx function mountComponent (line 38) | async function mountComponent(siteName, siteConfig) { function getInput (line 177) | async function getInput(inputQuery) { function prepareForSelectionTools (line 270) | async function prepareForSelectionTools() { function prepareForSelectionToolsTouch (line 382) | async function prepareForSelectionToolsTouch() { function prepareForRightClickMenu (line 449) | async function prepareForRightClickMenu() { function prepareForStaticCard (line 521) | async function prepareForStaticCard() { function overwriteAccessToken (line 584) | async function overwriteAccessToken() { function getClaudeSessionKey (line 659) | async function getClaudeSessionKey() { function prepareForJumpBackNotification (line 677) | async function prepareForJumpBackNotification() { function ensureChatGptPortListenerRegistered (line 861) | function ensureChatGptPortListenerRegistered() { function run (line 917) | async function run() { function manageChatGptTabState (line 986) | async function manageChatGptTabState() { FILE: src/content-script/site-adapters/github/index.mjs function parseGitHubIssueData (line 27) | function parseGitHubIssueData() { function createChatGPtSummaryPrompt (line 83) | function createChatGPtSummaryPrompt(issueData, isIssue = true) { FILE: src/content-script/site-adapters/youtube/index.mjs function replaceHtmlEntities (line 5) | function replaceHtmlEntities(htmlString) { FILE: src/hooks/use-clamp-window-size.mjs function useClampWindowSize (line 3) | function useClampWindowSize(widthRange = [0, Infinity], heightRange = [0... FILE: src/hooks/use-config.mjs function useConfig (line 5) | function useConfig(initFn, ignoreSession = true) { FILE: src/hooks/use-theme.mjs function useTheme (line 4) | function useTheme() { FILE: src/hooks/use-window-size.mjs function useWindowSize (line 5) | function useWindowSize() { FILE: src/hooks/use-window-theme.mjs function useWindowTheme (line 3) | function useWindowTheme() { FILE: src/pages/IndependentPanel/App.jsx function App (line 20) | function App() { FILE: src/popup/Popup.jsx function Footer (line 23) | function Footer({ currentVersion, latestVersion }) { function Popup (line 60) | function Popup() { FILE: src/popup/sections/AdvancedPart.jsx function ApiParams (line 12) | function ApiParams({ config, updateConfig }) { function ApiUrl (line 68) | function ApiUrl({ config, updateConfig }) { function Others (line 126) | function Others({ config, updateConfig }) { function AdvancedPart (line 224) | function AdvancedPart({ config, updateConfig }) { FILE: src/popup/sections/ApiModes.jsx function ApiModes (line 33) | function ApiModes({ config, updateConfig }) { FILE: src/popup/sections/FeaturePages.jsx function FeaturePages (line 12) | function FeaturePages({ config, updateConfig }) { FILE: src/popup/sections/GeneralPart.jsx function isUsingSpecialCustomModel (line 41) | function isUsingSpecialCustomModel(configOrSession) { function GeneralPart (line 45) | function GeneralPart({ config, updateConfig, setTabIndex }) { FILE: src/popup/sections/ModulesPart.jsx function ModulesPart (line 13) | function ModulesPart({ config, updateConfig }) { FILE: src/popup/sections/SelectionTools.jsx function SelectionTools (line 20) | function SelectionTools({ config, updateConfig }) { FILE: src/popup/sections/SiteAdapters.jsx function SiteAdapters (line 23) | function SiteAdapters({ config, updateConfig }) { FILE: src/popup/sections/import-data-cleanup.mjs function prepareImportData (line 6) | function prepareImportData(data) { function importDataIntoStorage (line 26) | async function importDataIntoStorage(storageArea, data) { FILE: src/services/apis/aiml-api.mjs function generateAnswersWithAimlApi (line 9) | async function generateAnswersWithAimlApi(port, question, session, apiKe... FILE: src/services/apis/azure-openai-api.mjs function generateAnswersWithAzureOpenaiApi (line 13) | async function generateAnswersWithAzureOpenaiApi(port, question, session) { FILE: src/services/apis/bard-web.mjs function generateAnswersWithBardWebApi (line 10) | async function generateAnswersWithBardWebApi(port, question, session, co... FILE: src/services/apis/bing-web.mjs function generateAnswersWithBingWebApi (line 13) | async function generateAnswersWithBingWebApi( FILE: src/services/apis/chatglm-api.mjs function generateAnswersWithChatGLMApi (line 10) | async function generateAnswersWithChatGLMApi(port, question, session) { FILE: src/services/apis/chatgpt-web.mjs function request (line 14) | async function request(token, method, path, data) { function sendMessageFeedback (line 29) | async function sendMessageFeedback(token, data) { function setConversationProperty (line 33) | async function setConversationProperty(token, conversationId, propertyOb... function deleteConversation (line 37) | async function deleteConversation(token, conversationId) { function sendModerations (line 41) | async function sendModerations(token, question, conversationId, messageI... function getModels (line 50) | async function getModels(token) { function getRequirements (line 55) | async function getRequirements(accessToken) { function getArkoseToken (line 64) | async function getArkoseToken(config) { function generateProofToken (line 99) | function generateProofToken(seed, diff, userAgent) { function isNeedWebsocket (line 152) | async function isNeedWebsocket(accessToken) { function sendWebsocketConversation (line 158) | async function sendWebsocketConversation(accessToken, options) { function stopWebsocketConversation (line 165) | async function stopWebsocketConversation(accessToken, conversationId, ws... function registerWebsocket (line 182) | async function registerWebsocket(accessToken) { function generateAnswersWithChatgptWebApi (line 214) | async function generateAnswersWithChatgptWebApi(port, question, session,... FILE: src/services/apis/claude-api.mjs function generateAnswersWithClaudeApi (line 13) | async function generateAnswersWithClaudeApi(port, question, session) { FILE: src/services/apis/claude-web.mjs function generateAnswersWithClaudeWebApi (line 11) | async function generateAnswersWithClaudeWebApi(port, question, session, ... FILE: src/services/apis/custom-api.mjs function generateAnswersWithCustomApi (line 23) | async function generateAnswersWithCustomApi( FILE: src/services/apis/deepseek-api.mjs function generateAnswersWithDeepSeekApi (line 9) | async function generateAnswersWithDeepSeekApi(port, question, session, a... FILE: src/services/apis/moonshot-api.mjs function generateAnswersWithMoonshotCompletionApi (line 9) | async function generateAnswersWithMoonshotCompletionApi(port, question, ... FILE: src/services/apis/moonshot-web.mjs class MoonshotWeb (line 7) | class MoonshotWeb { method constructor (line 46) | constructor({ config, fetch }) { method models (line 58) | models() { method defaultModel (line 65) | defaultModel() { method sendMessage (line 78) | async sendMessage(message, { conversation = null, temporary = true, ..... method request (line 112) | request(endpoint, options) { method init (line 137) | async init() { method startConversation (line 181) | async startConversation(message, params = {}) { method getConversation (line 214) | async getConversation(id) { class Conversation (line 237) | class Conversation { method constructor (line 308) | constructor( method toJSON (line 341) | toJSON() { method retry (line 356) | async retry(params) { method sendMessage (line 366) | async sendMessage( method delete (line 453) | async delete() { method getMessages (line 469) | getMessages() { function errorHandle (line 482) | function errorHandle(msg) { class Message (line 511) | class Message { method constructor (line 519) | constructor( method toJSON (line 539) | toJSON() { method createdAt (line 547) | get createdAt() { method updatedAt (line 555) | get updatedAt() { method editedAt (line 563) | get editedAt() { method isBot (line 570) | get isBot() { function generateAnswersWithMoonshotWebApi (line 581) | async function generateAnswersWithMoonshotWebApi(port, question, session... FILE: src/services/apis/ollama-api.mjs function generateAnswersWithOllamaApi (line 10) | async function generateAnswersWithOllamaApi(port, question, session) { FILE: src/services/apis/openai-api.mjs function generateAnswersWithGptCompletionApi (line 17) | async function generateAnswersWithGptCompletionApi(port, question, sessi... function generateAnswersWithOpenAiApi (line 99) | async function generateAnswersWithOpenAiApi(port, question, session, api... function generateAnswersWithOpenAiApiCompat (line 112) | async function generateAnswersWithOpenAiApiCompat( FILE: src/services/apis/openai-token-params.mjs constant GPT5_CHAT_COMPLETIONS_MODEL_PATTERN (line 1) | const GPT5_CHAT_COMPLETIONS_MODEL_PATTERN = /^gpt-5([.-]|$)/ function shouldUseMaxCompletionTokens (line 3) | function shouldUseMaxCompletionTokens(provider, model) { function getChatCompletionsTokenParams (line 16) | function getChatCompletionsTokenParams(provider, model, maxResponseToken... FILE: src/services/apis/openrouter-api.mjs function generateAnswersWithOpenRouterApi (line 9) | async function generateAnswersWithOpenRouterApi(port, question, session,... FILE: src/services/apis/poe-web.mjs function generateAnswersWithPoeWebApi (line 10) | async function generateAnswersWithPoeWebApi(port, question, session, mod... FILE: src/services/apis/shared.mjs function setAbortController (line 18) | function setAbortController(port, onStop, onDisconnect) { function pushRecord (line 51) | function pushRecord(session, question, answer) { FILE: src/services/apis/waylaidwanderer-api.mjs function generateAnswersWithWaylaidwandererApi (line 11) | async function generateAnswersWithWaylaidwandererApi(port, question, ses... FILE: src/services/clients/bard/index.mjs class Bard (line 3) | class Bard { method constructor (line 6) | constructor(cookies) { method ParseResponse (line 10) | ParseResponse(text) { method GetRequestParams (line 65) | async GetRequestParams() { method ask (line 86) | async ask(prompt, conversationObj) { method send (line 90) | async send(prompt, conversationObj) { FILE: src/services/clients/bing/BingImageCreator.js class BingImageCreator (line 1) | class BingImageCreator { method constructor (line 6) | constructor(options) { method setOptions (line 14) | setOptions(options) { method getValidIPv4 (line 72) | static getValidIPv4(ip) { method fetchOptions (line 103) | get fetchOptions() { method decodeHtmlLite (line 159) | static decodeHtmlLite(html) { method removeHtmlTagLite (line 177) | static removeHtmlTagLite(html, tag, tagId) { method sleep (line 235) | static sleep(ms) { method genImagePage (line 254) | async genImagePage(prompt, messageId) { method pollingImgRequest (line 319) | async pollingImgRequest(pollingUrl, onProgress) { method genImageList (line 370) | async genImageList(prompt, messageId, removeSizeLimit, onProgress) { method createImageIframe (line 394) | createImageIframe(src, isDoc) { method rewriteHtml (line 408) | rewriteHtml(html) { method renderImageIframe (line 418) | renderImageIframe(containerHtml, resultHtml) { method genImageIframeSsr (line 443) | async genImageIframeSsr(prompt, messageId, onProgress) { method genImageIframeSsrLite (line 464) | async genImageIframeSsrLite(prompt, messageId, onProgress) { method genImageIframeCsr (line 479) | async genImageIframeCsr(prompt, messageId) { method inlineImagePattern (line 487) | static get inlineImagePattern() { method parseInlineGenerativeImage (line 500) | static parseInlineGenerativeImage(message) { FILE: src/services/clients/bing/index.mjs class BingAIClient (line 14) | class BingAIClient { method constructor (line 15) | constructor(options) { method setOptions (line 23) | setOptions(options) { method getValidIPv4 (line 47) | static getValidIPv4(ip) { method createNewConversation (line 74) | async createNewConversation() { method createWebSocketConnection (line 137) | async createWebSocketConnection(encryptedConversationSignature) { method cleanupWebSocketConnection (line 202) | static cleanupWebSocketConnection(ws) { method sendMessage (line 207) | async sendMessage(message, opts = {}) { method getMessagesForConversation (line 648) | static getMessagesForConversation(messages, parentMessageId) { FILE: src/services/clients/claude/index.mjs class Claude (line 13) | class Claude { method constructor (line 54) | constructor({ sessionKey, proxy, fetch }) { method models (line 89) | models() { method totalTokens (line 97) | totalTokens(model) { method defaultModel (line 111) | defaultModel() { method sendMessage (line 133) | async sendMessage(message, { conversation = null, temporary = true, ..... method request (line 163) | request(endpoint, options) { method init (line 188) | async init() { method getOrganizations (line 218) | async getOrganizations() { method clearConversations (line 247) | async clearConversations() { method startConversation (line 269) | async startConversation(message, params = {}) { method getConversation (line 327) | async getConversation(id) { method getConversations (line 340) | async getConversations() { method uploadFile (line 375) | async uploadFile(file) { class Conversation (line 431) | class Conversation { method constructor (line 508) | constructor( method toJSON (line 539) | toJSON() { method retry (line 555) | async retry(params) { method sendMessage (line 565) | async sendMessage( method rename (line 657) | async rename(title) { method delete (line 678) | async delete() { method getInfo (line 708) | async getInfo() { method getFiles (line 728) | getFiles() { method getMessages (line 739) | getMessages() { method #formatMessages (line 749) | #formatMessages(message_key) { function readStream (line 771) | async function readStream(response, progressCallback) { function readAsText (line 818) | async function readAsText(file) { function errorHandle (line 834) | function errorHandle(msg) { function uuid (line 847) | function uuid() { class Message (line 921) | class Message { method constructor (line 929) | constructor( method toJSON (line 949) | toJSON() { method createdAt (line 957) | get createdAt() { method updatedAt (line 965) | get updatedAt() { method editedAt (line 973) | get editedAt() { method isBot (line 980) | get isBot() { method sendFeedback (line 997) | async sendFeedback(type, reason = '') { FILE: src/services/clients/poe/index.mjs class PoeAiClient (line 16) | class PoeAiClient { method constructor (line 17) | constructor(chatId = null) { method ask (line 29) | async ask(message, model, onMessage, onComplete) { method close (line 47) | async close() { method getFormkey (line 54) | async getFormkey() { method getCredentials (line 67) | async getCredentials() { method subscribe (line 84) | async subscribe() { method makeRequest (line 107) | async makeRequest(request) { method getChatId (line 118) | async getChatId(bot) { method initBot (line 133) | async initBot(bot) { method breakMsg (line 163) | async breakMsg() { method sendMsg (line 170) | async sendMsg(query) { FILE: src/services/init-session.mjs function initSession (line 43) | function initSession({ FILE: src/services/wrappers.mjs function getChatGptAccessToken (line 12) | async function getChatGptAccessToken() { function getBingAccessToken (line 40) | async function getBingAccessToken() { function getBardCookies (line 44) | async function getBardCookies() { function getClaudeSessionKey (line 50) | async function getClaudeSessionKey() { function handlePortError (line 54) | function handlePortError(session, port, err) { function registerPortListener (line 96) | function registerPortListener(executor) { FILE: src/utils/change-children-font-size.mjs function changeChildrenFontSize (line 1) | function changeChildrenFontSize(element, size) { FILE: src/utils/create-element-at-position.mjs function createElementAtPosition (line 1) | function createElementAtPosition(x = 0, y = 0, zIndex = 2147483647) { FILE: src/utils/crop-text.mjs function cropText (line 31) | async function cropText( FILE: src/utils/ends-with-question-mark.mjs function endsWithQuestionMark (line 1) | function endsWithQuestionMark(question) { FILE: src/utils/eventsource-parser.mjs function createParser (line 3) | function createParser(onParse) { constant BOM (line 133) | const BOM = [239, 187, 191] function hasBom (line 134) | function hasBom(buffer) { FILE: src/utils/fetch-bg.mjs function fetchBg (line 8) | function fetchBg(input, init) { FILE: src/utils/fetch-sse.mjs function fetchSSE (line 3) | async function fetchSSE(resource, options) { FILE: src/utils/get-client-position.mjs function getClientPosition (line 1) | function getClientPosition(e) { FILE: src/utils/get-conversation-pairs.mjs function getConversationPairs (line 1) | function getConversationPairs(records, isCompletion) { FILE: src/utils/get-core-content-text.mjs function getArea (line 16) | function getArea(e) { function findLargestElement (line 21) | function findLargestElement(e) { function getTextFrom (line 46) | function getTextFrom(e) { function postProcessText (line 50) | function postProcessText(text) { function getCoreContentText (line 59) | function getCoreContentText() { FILE: src/utils/get-possible-element-by-query-selector.mjs function getPossibleElementByQuerySelector (line 1) | function getPossibleElementByQuerySelector(queryArray) { FILE: src/utils/is-edge.mjs function isEdge (line 1) | function isEdge() { FILE: src/utils/is-firefox.mjs function isFirefox (line 1) | function isFirefox() { FILE: src/utils/is-mobile.mjs function isMobile (line 3) | function isMobile() { FILE: src/utils/is-safari.mjs function isSafari (line 1) | function isSafari() { FILE: src/utils/jwt-token-generator.mjs function generateToken (line 6) | function generateToken(apiKey, timeoutSeconds) { function shouldRegenerateToken (line 31) | function shouldRegenerateToken() { function getToken (line 36) | function getToken(apiKey) { FILE: src/utils/limited-fetch.mjs function limitedFetch (line 3) | async function limitedFetch(url, maxBytes) { FILE: src/utils/model-name-convert.mjs function modelNameToDesc (line 3) | function modelNameToDesc(modelName, t, extraCustomModelName = '') { function modelNameToPresetPart (line 31) | function modelNameToPresetPart(modelName) { function modelNameToCustomPart (line 39) | function modelNameToCustomPart(modelName) { function modelNameToValue (line 47) | function modelNameToValue(modelName) { function getModelValue (line 53) | function getModelValue(configOrSession) { function isCustomModelName (line 60) | function isCustomModelName(modelName) { function modelNameToApiMode (line 64) | function modelNameToApiMode(modelName) { function apiModeToModelName (line 84) | function apiModeToModelName(apiMode) { function getApiModesFromConfig (line 96) | function getApiModesFromConfig(config, onlyActive) { function getApiModesStringArrayFromConfig (line 122) | function getApiModesStringArrayFromConfig(config, onlyActive) { function isApiModeSelected (line 126) | function isApiModeSelected(apiMode, configOrSession) { function isUsingModelName (line 134) | function isUsingModelName(modelName, configOrSession) { function getModelNameGroup (line 150) | function getModelNameGroup(modelName) { function getApiModeGroup (line 158) | function getApiModeGroup(apiMode) { function isInApiModeGroup (line 162) | function isInApiModeGroup(apiModeGroup, configOrSession) { FILE: src/utils/open-url.mjs function openUrl (line 3) | function openUrl(url) { FILE: src/utils/parse-float-with-clamp.mjs function parseFloatWithClamp (line 1) | function parseFloatWithClamp(value, defaultValue, min, max) { FILE: src/utils/parse-int-with-clamp.mjs function parseIntWithClamp (line 1) | function parseIntWithClamp(value, defaultValue, min, max) { FILE: src/utils/set-element-position-in-viewport.mjs function setElementPositionInViewport (line 1) | function setElementPositionInViewport(element, x = 0, y = 0) { FILE: src/utils/update-ref-height.mjs function updateRefHeight (line 1) | function updateRefHeight(ref) { FILE: src/utils/wait-for-element-to-exist-and-select.mjs function waitForElementToExistAndSelect (line 1) | function waitForElementToExistAndSelect(selector, timeout = 0) { FILE: tests/setup/browser-shim.mjs method addListener (line 6) | addListener(listener) { method removeListener (line 9) | removeListener(listener) { method hasListener (line 12) | hasListener(listener) { method _trigger (line 15) | _trigger(...args) { method _clear (line 20) | _clear() { method _size (line 23) | _size() { method get (line 63) | get(keys, callback) { method set (line 71) | set(items, callback) { method remove (line 79) | remove(keys, callback) { method clear (line 90) | clear(callback) { method query (line 101) | query(_queryInfo, callback) { method sendMessage (line 109) | sendMessage(_tabId, _message, optionsOrCallback, callback) { method create (line 125) | create(_createData, callback) { method update (line 133) | update(_windowId, _updateInfo, callback) { method sendMessage (line 146) | sendMessage(_message, optionsOrCallback, callback) { method getURL (line 159) | getURL(path) { method setStorage (line 195) | setStorage(values) { method replaceStorage (line 198) | replaceStorage(values) { method clearStorage (line 201) | clearStorage() { method getStorage (line 204) | getStorage() { method resetEvents (line 207) | resetEvents() { FILE: tests/setup/jsx-loader-hooks.mjs constant JSX_RE (line 8) | const JSX_RE = /<[A-Z][A-Za-z0-9]*[\s/>]/ constant CJS_REEXPORT (line 11) | const CJS_REEXPORT = new Set(['countries-list']) function load (line 13) | async function load(url, context, nextLoad) { FILE: tests/unit/config/user-config.test.mjs constant THIRTY_DAYS_MS (line 6) | const THIRTY_DAYS_MS = 30 * 24 * 3600 * 1000 FILE: tests/unit/helpers/port.mjs function createFakePort (line 1) | function createFakePort() { FILE: tests/unit/helpers/sse-response.mjs function createMockSseResponse (line 3) | function createMockSseResponse(chunks, options = {}) { FILE: tests/unit/popup/import-data-cleanup.test.mjs method set (line 78) | async set(data) { method remove (line 81) | async remove(keys) { method set (line 99) | async set() { method remove (line 103) | async remove(keys) { method set (line 120) | async set(data) { method remove (line 123) | async remove() { FILE: tests/unit/services/init-session.test.mjs constant UUID_RE (line 5) | const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}... FILE: tests/unit/services/local-session.test.mjs constant UUID_RE (line 13) | const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}... FILE: tests/unit/services/wrappers-register.test.mjs method addListener (line 10) | addListener(listener) { method removeListener (line 13) | removeListener(listener) { method getAll (line 20) | getAll(query, callback) { method get (line 28) | get(query, callback) { function triggerConnect (line 51) | function triggerConnect(port) { FILE: tests/unit/utils/basic-guards.test.mjs constant PARSE_INT_DEFAULT (line 8) | const PARSE_INT_DEFAULT = 5 constant PARSE_INT_MIN (line 9) | const PARSE_INT_MIN = 1 constant PARSE_INT_MAX (line 10) | const PARSE_INT_MAX = 10 FILE: tests/unit/utils/get-client-position.test.mjs method getBoundingClientRect (line 7) | getBoundingClientRect() { method getBoundingClientRect (line 17) | getBoundingClientRect() {