From e53630eca896afc4a879dcd83337e8133b76abab Mon Sep 17 00:00:00 2001 From: jimmoffet Date: Mon, 11 Nov 2024 11:36:58 -0800 Subject: [PATCH 1/6] track costs wip --- TODO.md | 4 +++ backend/apps/rag/main.py | 33 ++++++++++++++++++- backend/main.py | 20 ++++++++--- src/lib/apis/rag/index.ts | 2 +- src/lib/apis/streaming/index.ts | 7 ++++ src/lib/components/chat/Chat.svelte | 9 ++++- .../chat/Messages/ResponseMessage.svelte | 17 ++++++++++ 7 files changed, 85 insertions(+), 7 deletions(-) diff --git a/TODO.md b/TODO.md index 457d22119..dc6fe5c11 100644 --- a/TODO.md +++ b/TODO.md @@ -6,6 +6,10 @@ - Cite sources in rag (do this for other models, too): - Allow bulk select even when nothing is tagged: - Models and docs need ownership and visibility in database, owner str, visibility [str] +- OpenAI embeddings via plugin? https://github.com/open-webui/open-webui/discussions/2288 +- Bigger exponential back off in embeddings, up to 10-20 minutes? Need to handle async failures/missing chunks. +- Cost controls like hashing doc entries using their text to avoid duplication +- Track costs and show them to users - gray out vision for custom models that don't have vision - Ability to share docs/models by pasting an email of another user ("This email is belongs to a sandbox user. They will now have access to the model" / "This email does not belong to a sandbox user"). Probably want comma separation... - Add http links to Doc upload options, seems mostly done diff --git a/backend/apps/rag/main.py b/backend/apps/rag/main.py index fe122e637..ebb56deeb 100644 --- a/backend/apps/rag/main.py +++ b/backend/apps/rag/main.py @@ -58,8 +58,9 @@ from apps.webui.models.documents import ( Documents, DocumentForm, - # DocumentResponse, + DocumentResponse, ) +from apps.webui.routers.documents import get_documents from apps.rag.utils import ( get_model_path, @@ -1210,6 +1211,36 @@ def store_text( ) +@app.get("/scan_database_docs") +async def scan_database_docs(user=Depends(get_admin_user)): + # Fetch all documents using the get_documents function + docs = await get_documents(user=user) + + for doc in docs: + try: + # Extract collection name and content from each DocumentResponse + collection_name = doc.collection_name + content = doc.content # This is the content attribute of DocumentResponse + # content = json.loads(content) + + log.info(f"Scanning {collection_name}") + log.info(f"Doc: {doc}") + log.info(f"Content: {content}") + + # Ensure the content is properly loaded for processing + if content and isinstance(content, str): + data = content # You can convert to the format needed for further processing + + # Here you could add your logic to split documents if needed + await sleep(60) + await store_data_in_vector_db(data, collection_name) + + except Exception as e: + log.exception(e) + + return {"status": "scan complete"} + + @app.get("/scan") async def scan_docs_dir(user=Depends(get_admin_user)): for dir in [DOCS_DIR, UPLOAD_DIR]: diff --git a/backend/main.py b/backend/main.py index 7451aab1a..7aedcb76d 100644 --- a/backend/main.py +++ b/backend/main.py @@ -412,6 +412,8 @@ async def dispatch(self, request: Request, call_next): f"\n{system_prompt}", data["messages"] ) + log.error(f"chat data is:\n{data}") + modified_body_bytes = json.dumps(data).encode("utf-8") # Replace the request body with the modified one @@ -446,7 +448,7 @@ async def dispatch(self, request: Request, call_next): if "text/event-stream" in content_type: return StreamingResponse( self.openai_stream_wrapper( - response.body_iterator, citations + response.body_iterator, citations, cost="4" ), ) if "application/x-ndjson" in content_type: @@ -461,8 +463,10 @@ async def dispatch(self, request: Request, call_next): async def _receive(self, body: bytes): return {"type": "http.request", "body": body, "more_body": False} - async def openai_stream_wrapper(self, original_generator, citations): - yield f"data: {json.dumps({'citations': citations})}\n\n" + async def openai_stream_wrapper(self, original_generator, citations, **kwargs): + initial_data = {"citations": citations, **kwargs} + log.warning(f"initial_data: {initial_data}") + yield f"data: {json.dumps(initial_data)}\n\n" async for data in original_generator: yield data @@ -632,7 +636,15 @@ async def update_embedding_function(request: Request, call_next): status_code=status.HTTP_400_BAD_REQUEST, content={"detail": f"Invalid WebSocket upgrade request: {e}"}, ) - response = await call_next(request) + + try: + response = await call_next(request) + except Exception as e: + log.error(f"Error processing request: {e}") + return RedirectResponse( + url=str(request.url), status_code=status.HTTP_307_TEMPORARY_REDIRECT + ) + if "/embedding/update" in request.url.path: webui_app.state.EMBEDDING_FUNCTION = rag_app.state.EMBEDDING_FUNCTION return response diff --git a/src/lib/apis/rag/index.ts b/src/lib/apis/rag/index.ts index ca68827a3..0e8492c63 100644 --- a/src/lib/apis/rag/index.ts +++ b/src/lib/apis/rag/index.ts @@ -336,7 +336,7 @@ export const queryCollection = async ( export const scanDocs = async (token: string) => { let error = null; - const res = await fetch(`${RAG_API_BASE_URL}/scan`, { + const res = await fetch(`${RAG_API_BASE_URL}/scan_database_docs`, { method: 'GET', headers: { Accept: 'application/json', diff --git a/src/lib/apis/streaming/index.ts b/src/lib/apis/streaming/index.ts index f91edad83..9ae19ab02 100644 --- a/src/lib/apis/streaming/index.ts +++ b/src/lib/apis/streaming/index.ts @@ -7,6 +7,8 @@ type TextStreamUpdate = { // eslint-disable-next-line @typescript-eslint/no-explicit-any citations?: any; // eslint-disable-next-line @typescript-eslint/no-explicit-any + cost?: any; + // eslint-disable-next-line @typescript-eslint/no-explicit-any error?: any; usage?: ResponseUsage; }; @@ -69,6 +71,11 @@ async function* openAIStreamToIterator( continue; } + if (parsedData.cost) { + yield { done: false, value: '', cost: parsedData.cost }; + continue; + } + yield { done: false, value: parsedData.choices?.[0]?.delta?.content ?? '', diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 8819a0428..d8592da36 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -953,7 +953,9 @@ let lastUsage = null; for await (const update of textStream) { - const { value, done, citations, error, usage } = update; + const { value, done, citations, cost, error, usage } = update; + console.log('update', update); + console.log('cost', cost); if (error) { await handleOpenAIError(error, null, model, responseMessage); break; @@ -984,6 +986,11 @@ continue; } + if (cost) { + responseMessage.cost = cost; + continue; + } + if (responseMessage.content == '' && value == '\n') { continue; } else { diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index c7ad576a8..41198b3c7 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -538,6 +538,23 @@ {/if} + {#if message.cost} +
+
+ +
+
+ {/if} + {#if message.citations}
{#each message.citations.reduce((acc, citation) => { From acb09b9a42d531989d5a64daa746ea78f3d1d12d Mon Sep 17 00:00:00 2001 From: jimmoffet Date: Thu, 14 Nov 2024 19:15:49 -0800 Subject: [PATCH 2/6] update batch embeddings --- backend/apps/rag/main.py | 34 ++++++++---- backend/apps/rag/utils.py | 23 +++++--- backend/config.py | 2 +- backend/data/config.json | 58 ++++++++++++++++----- backend/main.py | 18 +++++-- src/lib/apis/streaming/index.ts | 28 +++++----- src/lib/components/chat/Chat.svelte | 36 +++++++++++-- src/lib/components/chat/MessageInput.svelte | 5 ++ 8 files changed, 153 insertions(+), 51 deletions(-) diff --git a/backend/apps/rag/main.py b/backend/apps/rag/main.py index ebb56deeb..8f61c716d 100644 --- a/backend/apps/rag/main.py +++ b/backend/apps/rag/main.py @@ -314,7 +314,7 @@ async def update_embedding_config( form_data: EmbeddingModelUpdateForm, user=Depends(get_admin_user) ): log.info( - f"Updating embedding model: {app.state.config.RAG_EMBEDDING_MODEL} to {form_data.embedding_model}" + f"Updating embedding model from {app.state.config.RAG_EMBEDDING_MODEL} to {form_data.embedding_model}" ) try: app.state.config.RAG_EMBEDDING_ENGINE = form_data.embedding_engine @@ -324,11 +324,22 @@ async def update_embedding_config( if form_data.openai_config is not None: app.state.config.RAG_OPENAI_API_BASE_URL = form_data.openai_config.url app.state.config.RAG_OPENAI_API_KEY = form_data.openai_config.key - app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE = ( - form_data.openai_config.batch_size - if form_data.openai_config.batch_size - else 1 - ) + if form_data.openai_config.batch_size: + log.info( + f"Updating batch size from {app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE} to {form_data.openai_config.batch_size}" + ) + app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE = ( + form_data.openai_config.batch_size + ) + if app.state.config.RAG_EMBEDDING_ENGINE in ["openai"]: + if form_data.openai_config is not None: + if form_data.openai_config.batch_size: + log.info( + f"Updating batch size from {app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE} to {form_data.openai_config.batch_size}" + ) + app.state.config.RAG_EMBEDDING_OPENAI_BATCH_SIZE = ( + form_data.openai_config.batch_size + ) update_embedding_model(app.state.config.RAG_EMBEDDING_MODEL) @@ -957,8 +968,6 @@ async def store_docs_in_vector_db( embeddings = await compute_embeddings(texts) - log_and_print_summary(texts, embeddings, collection_name) - items_to_upsert: List[VectorItem] = [] for text, embedding, metadata in zip(texts, embeddings, metadatas): vector_item = VectorItem( @@ -971,6 +980,8 @@ async def store_docs_in_vector_db( VECTOR_CLIENT.upsert(collection_name, items_to_upsert) + log_and_print_summary(texts, embeddings, collection_name) + return True except Exception as e: log.exception(f"Error storing documents: {e}") @@ -1014,6 +1025,11 @@ async def compute_embeddings(texts): # Replace newlines embedding_texts = [text.replace("\n", " ") for text in texts] + + log.info(f"Computing embeddings for {len(embedding_texts)} texts") + log.debug( + f"First text: {embedding_texts[0][0:100]} \nAnd last text: {embedding_texts[-1][0:100]}" + ) return await embedding_func(embedding_texts) @@ -1025,7 +1041,7 @@ def log_and_print_summary(texts, embeddings, collection_name): log.info(f"Number of embeddings: {len(embeddings)} for {len(texts)} texts.") log.debug(f"First text: {texts[0]} \nAnd last text: {texts[-1]}") log.info(f"Estimated memory usage: {memory_usage / (1024 ** 2):.2f} MB") - log.warning(f"Adding {len(texts)} documents to collection {collection_name}") + log.info(f"Adding {len(texts)} documents to collection {collection_name}") def get_loader(filename: str, file_content_type: str, file_path: str): diff --git a/backend/apps/rag/utils.py b/backend/apps/rag/utils.py index 09025aece..41a98ccd4 100644 --- a/backend/apps/rag/utils.py +++ b/backend/apps/rag/utils.py @@ -246,14 +246,13 @@ async def generate_openai_batch_embeddings_async( try: if "azure.com" in url: initial_delay = 0.2 - max_retries = 10 + max_retries = 15 attempt = 0 retry_delay = initial_delay # Start with the initial delay while attempt <= max_retries: - log.debug( - f"Generating async OpenAI embeddings for {texts[0][0:25]}..." - + f"(Attempt {attempt + 1}/{max_retries + 1})" + log.info( + f"Attempting to sending batch of {len(texts)} texts to Azure OpenAI..." ) async with session.post( f"{url}/embeddings?api-version=2023-05-15", @@ -321,7 +320,9 @@ def get_embedding_function( openai_url, batch_size, ): - log.debug(f"Getting embedding function for {embedding_engine} & {embedding_model}") + log.debug( + f"Getting embedding function for {embedding_engine} & {embedding_model} with batch size {batch_size}" + ) embedding_engine = str(embedding_engine).strip() if embedding_engine == "": return lambda query: embedding_function.encode(query).tolist() @@ -434,6 +435,8 @@ async def get_rag_context( if context: log.info(f"Adding context from doc {idx+1} to relevant contexts") + log.info(f"context is: {context}") + log.info(f"doc is: {context}") relevant_contexts.append({**context, "source": doc}) else: log.warning(f"No context found for doc {idx+1}") @@ -455,9 +458,15 @@ async def get_rag_context( log.info(f"Context documents: {context['documents'][0]}") texts = [text for text in context["documents"][0] if text is not None] log.debug(f"Found texts: {texts[0]}") - context_string += "\n\n".join(texts) if "metadatas" in context: + for idx, metadata in enumerate(context["metadatas"][0]): + file_name = metadata["source"].split("/")[-1] + page_num = metadata.get("page", 1) + pre_string = f"\n{file_name}\n{page_num}\n" + post_string = f"\n" + texts[idx] = pre_string + texts[idx] + post_string + log.info("Adding citation from metadata") log.info(f"Metadata: {context['metadatas']}") citation = { @@ -466,6 +475,8 @@ async def get_rag_context( "metadata": context["metadatas"][0], } citations.append(citation) + + context_string += "\n\n".join(texts) log.info(f"Updated context string: {context_string[:100]}...") log.debug(f"Updated citations: {citations}") else: diff --git a/backend/config.py b/backend/config.py index f911b2d2a..c1023c2c4 100644 --- a/backend/config.py +++ b/backend/config.py @@ -853,7 +853,7 @@ class BannerModel(BaseModel): RAG_EMBEDDING_OPENAI_BATCH_SIZE = PersistentConfig( "RAG_EMBEDDING_OPENAI_BATCH_SIZE", "rag.embedding_openai_batch_size", - os.environ.get("RAG_EMBEDDING_OPENAI_BATCH_SIZE", 1), + os.environ.get("RAG_EMBEDDING_OPENAI_BATCH_SIZE", 100), ) RAG_RERANKING_MODEL = PersistentConfig( diff --git a/backend/data/config.json b/backend/data/config.json index 6c36c202e..d49702c70 100644 --- a/backend/data/config.json +++ b/backend/data/config.json @@ -4,31 +4,52 @@ "default_locale": "en-US", "prompt_suggestions": [ { - "title": ["Help me study", "vocabulary for a college entrance exam"], + "title": [ + "Help me study", + "vocabulary for a college entrance exam" + ], "content": "Help me study vocabulary: write a sentence for me to fill in the blank, and I'll try to pick the correct option." }, { - "title": ["Give me ideas", "for what to do with my kids' art"], + "title": [ + "Give me ideas", + "for what to do with my kids' art" + ], "content": "What are 5 creative things I could do with my kids' art? I don't want to throw them away, but it's also so much clutter." }, { - "title": ["Tell me a fun fact", "about the Roman Empire"], + "title": [ + "Tell me a fun fact", + "about the Roman Empire" + ], "content": "Tell me a random fun fact about the Roman Empire" }, { - "title": ["Show me a code snippet", "of a website's sticky header"], + "title": [ + "Show me a code snippet", + "of a website's sticky header" + ], "content": "Show me a code snippet of a website's sticky header in CSS and JavaScript." }, { - "title": ["Explain options trading", "if I'm familiar with buying and selling stocks"], + "title": [ + "Explain options trading", + "if I'm familiar with buying and selling stocks" + ], "content": "Explain options trading in simple terms if I'm familiar with buying and selling stocks." }, { - "title": ["Overcome procrastination", "give me tips"], + "title": [ + "Overcome procrastination", + "give me tips" + ], "content": "Could you start by asking me about instances when I procrastinate the most and then give me some suggestions to overcome it?" }, { - "title": ["Grammar check", "rewrite it for better readability "], + "title": [ + "Grammar check", + "rewrite it for better readability " + ], "content": "Check the following sentence for grammar and clarity: \"[sentence]\". Rewrite it for better readability while maintaining its original meaning." } ], @@ -43,16 +64,24 @@ "enable_community_sharing": true }, "ollama": { - "base_urls": ["http://localhost:11434"], + "base_urls": [ + "http://localhost:11434" + ], "enable": false }, "openai": { - "api_base_urls": ["http://localhost:9099"], - "api_keys": ["0p3n-w3bu!"] + "api_base_urls": [ + "http://localhost:9099" + ], + "api_keys": [ + "0p3n-w3bu!" + ] }, "model_filter": { "enable": false, - "list": [""] + "list": [ + "" + ] }, "webhook_url": "", "auth": { @@ -64,13 +93,14 @@ "rag": { "embedding_engine": "openai", "embedding_model": "text-embedding-3-small", - "embedding_openai_batch_size": 1, + "embedding_openai_batch_size": 191, "pdf_extract_images": false, "chunk_size": 1500, "chunk_overlap": 100, "template": "Use the following context as your learned knowledge, inside XML tags.\n\n [context]\n\n\nWhen answer to user:\n- If you don't know, just say that you don't know.\n- If you don't know when you are not sure, ask for clarification.\nAvoid mentioning that you obtained the information from the context.\nAnd answer according to the language of the user's question.\n\nGiven the context information, answer the query.\nQuery: [query]", "top_k": 5, "relevance_threshold": 0.0, - "enable_hybrid_search": false + "enable_hybrid_search": false, + "my_big_secret": "23ljb5kIpTJ%il2huhr4[=Dp%prA[kjh234o87hd27t_jHas%dfayf" } -} +} \ No newline at end of file diff --git a/backend/main.py b/backend/main.py index 7aedcb76d..da8793ee5 100644 --- a/backend/main.py +++ b/backend/main.py @@ -299,6 +299,8 @@ async def dispatch(self, request: Request, call_next): # TODO: make this a config var return_citations = True + cost = 0 + if request.method == "POST" and ( "/ollama/api/chat" in request.url.path or "/chat/completions" in request.url.path @@ -399,20 +401,25 @@ async def dispatch(self, request: Request, call_next): del data["docs"] - log.debug(f"rag_context: {rag_context}, citations: {citations}") + # log.debug(f"rag_context: {rag_context}, citations: {citations}") if context != "": system_prompt = rag_template( rag_app.state.config.RAG_TEMPLATE, context, prompt ) - log.info(system_prompt) + log.info(f"system_prompt: {system_prompt}") data["messages"] = add_or_update_system_message( f"\n{system_prompt}", data["messages"] ) - log.error(f"chat data is:\n{data}") + # log.error(f"chat data is:\n{data}") + + tokens = 0 + for message in data["messages"]: + tokens += len(message["content"].split()) + cost = tokens * 0.0000025 # input token cost modified_body_bytes = json.dumps(data).encode("utf-8") @@ -430,6 +437,8 @@ async def dispatch(self, request: Request, call_next): response = await call_next(request) + response.headers["X-Input-Cost"] = str(cost) + if request.method == "POST" and ( "/ollama/api/chat" in request.url.path or "/chat/completions" in request.url.path @@ -448,7 +457,7 @@ async def dispatch(self, request: Request, call_next): if "text/event-stream" in content_type: return StreamingResponse( self.openai_stream_wrapper( - response.body_iterator, citations, cost="4" + response.body_iterator, citations, cost=cost ), ) if "application/x-ndjson" in content_type: @@ -465,7 +474,6 @@ async def _receive(self, body: bytes): async def openai_stream_wrapper(self, original_generator, citations, **kwargs): initial_data = {"citations": citations, **kwargs} - log.warning(f"initial_data: {initial_data}") yield f"data: {json.dumps(initial_data)}\n\n" async for data in original_generator: yield data diff --git a/src/lib/apis/streaming/index.ts b/src/lib/apis/streaming/index.ts index 9ae19ab02..57d04014a 100644 --- a/src/lib/apis/streaming/index.ts +++ b/src/lib/apis/streaming/index.ts @@ -42,37 +42,39 @@ export async function createOpenAITextStream( async function* openAIStreamToIterator( reader: ReadableStreamDefaultReader ): AsyncGenerator { + var cost = 0.0; while (true) { const { value, done } = await reader.read(); + if (done) { - yield { done: true, value: '' }; + yield { done: true, value: '', cost: cost }; break; } if (!value) { continue; } const data = value.data; - if (data.startsWith('[DONE]')) { - yield { done: true, value: '' }; - break; - } try { const parsedData = JSON.parse(data); - console.log(parsedData); + // console.log('parsedData', parsedData); - if (parsedData.error) { - yield { done: true, value: '', error: parsedData.error }; + if (parsedData.cost) { + cost = parsedData.cost; + } + + if (data.startsWith('[DONE]')) { + yield { done: true, value: '', cost: cost }; break; } - if (parsedData.citations) { - yield { done: false, value: '', citations: parsedData.citations }; - continue; + if (parsedData.error) { + yield { done: true, value: '', error: parsedData.error, cost: cost }; + break; } - if (parsedData.cost) { - yield { done: false, value: '', cost: parsedData.cost }; + if (parsedData.citations) { + yield { done: false, value: '', citations: parsedData.citations, cost: cost }; continue; } diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index d8592da36..c08a92111 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -96,6 +96,8 @@ currentId: null }; + let currentDollarAmount = 0.0; + $: if (history.currentId !== null) { let _messages = []; @@ -489,7 +491,7 @@ }, []); } - console.log(userContext); + console.log('userContext:', userContext); } } } @@ -948,22 +950,37 @@ scrollToBottom(); + // get "X-Input-Cost" header from response + if (res && res.ok && res.headers) { + const inputCost = res.headers.get('x-input-cost'); + if (inputCost) { + currentDollarAmount += parseFloat(inputCost); + } + } + if (res && res.ok && res.body) { const textStream = await createOpenAITextStream(res.body, $settings.splitLargeChunks); let lastUsage = null; for await (const update of textStream) { const { value, done, citations, cost, error, usage } = update; - console.log('update', update); - console.log('cost', cost); if (error) { await handleOpenAIError(error, null, model, responseMessage); break; } + + console.log('update', update); + if (done || stopResponseFlag || _chatId !== $chatId) { responseMessage.done = true; messages = messages; + // console.log('cost on stop is:', cost); + + // if (cost) { + // currentDollarAmount += cost; + // } + if (stopResponseFlag) { controller.abort('User: Stop Response'); } else { @@ -1084,6 +1101,18 @@ scrollToBottom(); } + if (responseMessage.content) { + // get model name + const modelName = model.name ?? model.id; + console.log(`modelName: ${modelName}`); // i.e. FedRamp High Azure GPT 4 Omni + // count and log the number of words in the response + const tokens = Math.round(responseMessage.content.split(' ').length / 0.75); + console.log(`Response contains ${tokens} tokens`); + const tokenCost = tokens * 0.00001; + currentDollarAmount += tokenCost; + currentDollarAmount = Math.round(currentDollarAmount * 10000) / 10000; + } + if (messages.length == 2) { window.history.replaceState(history.state, '', `/c/${_chatId}`); @@ -1399,6 +1428,7 @@ bind:selectedToolIds bind:webSearchEnabled bind:atSelectedModel + dollarAmount={currentDollarAmount} availableToolIds={selectedModelIds.reduce((a, e, i, arr) => { const model = $models.find((m) => m.id === e); if (model?.info?.meta?.toolIds ?? false) { diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index ba288829b..36d989d1e 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -181,6 +181,8 @@ } }; + export let dollarAmount = 0.0; // Initial dollar amount + onMount(() => { window.setTimeout(() => chatTextAreaElement?.focus(), 0); @@ -1004,6 +1006,9 @@
{$i18n.t('LLMs can make mistakes. Verify important information.')} + ${dollarAmount}
From c664ef91619c74d51c5c2bffb85154bd60779050 Mon Sep 17 00:00:00 2001 From: jimmoffet Date: Thu, 14 Nov 2024 19:19:40 -0800 Subject: [PATCH 3/6] update batch embeddings --- backend/data/config.json | 55 ++++++++++------------------------------ 1 file changed, 13 insertions(+), 42 deletions(-) diff --git a/backend/data/config.json b/backend/data/config.json index d49702c70..4811a97f1 100644 --- a/backend/data/config.json +++ b/backend/data/config.json @@ -4,52 +4,31 @@ "default_locale": "en-US", "prompt_suggestions": [ { - "title": [ - "Help me study", - "vocabulary for a college entrance exam" - ], + "title": ["Help me study", "vocabulary for a college entrance exam"], "content": "Help me study vocabulary: write a sentence for me to fill in the blank, and I'll try to pick the correct option." }, { - "title": [ - "Give me ideas", - "for what to do with my kids' art" - ], + "title": ["Give me ideas", "for what to do with my kids' art"], "content": "What are 5 creative things I could do with my kids' art? I don't want to throw them away, but it's also so much clutter." }, { - "title": [ - "Tell me a fun fact", - "about the Roman Empire" - ], + "title": ["Tell me a fun fact", "about the Roman Empire"], "content": "Tell me a random fun fact about the Roman Empire" }, { - "title": [ - "Show me a code snippet", - "of a website's sticky header" - ], + "title": ["Show me a code snippet", "of a website's sticky header"], "content": "Show me a code snippet of a website's sticky header in CSS and JavaScript." }, { - "title": [ - "Explain options trading", - "if I'm familiar with buying and selling stocks" - ], + "title": ["Explain options trading", "if I'm familiar with buying and selling stocks"], "content": "Explain options trading in simple terms if I'm familiar with buying and selling stocks." }, { - "title": [ - "Overcome procrastination", - "give me tips" - ], + "title": ["Overcome procrastination", "give me tips"], "content": "Could you start by asking me about instances when I procrastinate the most and then give me some suggestions to overcome it?" }, { - "title": [ - "Grammar check", - "rewrite it for better readability " - ], + "title": ["Grammar check", "rewrite it for better readability "], "content": "Check the following sentence for grammar and clarity: \"[sentence]\". Rewrite it for better readability while maintaining its original meaning." } ], @@ -64,24 +43,16 @@ "enable_community_sharing": true }, "ollama": { - "base_urls": [ - "http://localhost:11434" - ], + "base_urls": ["http://localhost:11434"], "enable": false }, "openai": { - "api_base_urls": [ - "http://localhost:9099" - ], - "api_keys": [ - "0p3n-w3bu!" - ] + "api_base_urls": ["http://localhost:9099"], + "api_keys": ["0p3n-w3bu!"] }, "model_filter": { "enable": false, - "list": [ - "" - ] + "list": [""] }, "webhook_url": "", "auth": { @@ -101,6 +72,6 @@ "top_k": 5, "relevance_threshold": 0.0, "enable_hybrid_search": false, - "my_big_secret": "23ljb5kIpTJ%il2huhr4[=Dp%prA[kjh234o87hd27t_jHas%dfayf" + "my_big_secret": "23ljb5kIpTJ%il2huhr4[=Dp%prA[kjh234o87hd27t_jHas%dfayf" // fake secret to test gitleaks } -} \ No newline at end of file +} From 908eca4e1eca79f463741122c5aafe169ed7b8ef Mon Sep 17 00:00:00 2001 From: jimmoffet Date: Thu, 14 Nov 2024 21:12:31 -0800 Subject: [PATCH 4/6] pre-commit test --- .gitleaks.toml | 9 + .husky/pre-commit | 26 +- .secrets.baseline | 3382 ++++++++++++++++++ backend/apps/rag/pgvector_example.py | 2 +- backend/apps/rag/tests/test_vector_client.py | 2 +- backend/config.py | 5 - backend/data/config.json | 3 +- backend/main.py | 2 +- backend/requirements.txt | 1 + 9 files changed, 3417 insertions(+), 15 deletions(-) create mode 100644 .gitleaks.toml create mode 100644 .secrets.baseline diff --git a/.gitleaks.toml b/.gitleaks.toml new file mode 100644 index 000000000..1f8f9c92c --- /dev/null +++ b/.gitleaks.toml @@ -0,0 +1,9 @@ +title = "Gitleaks development" +[extend] +useDefault = true + +[allowlist] +paths = [ + '''.env''', + '''.secrets.baseline''' +] \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit index a357f9d84..189c6158e 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -2,13 +2,29 @@ git rm -r --cached build/ >/dev/null 2>&1 || true (while sleep 1; do printf '.'; done) & spinner_pid=$! -echo "Scanning all commits... 30-60s 💅🥱⏳" -# Run the gitleaks command -gitleaks detect -v +echo "Scanning commit... 30-60s 💅🥱⏳" + +# Exit on any error +set -e + +# Ensure cleanup happens even if script fails +cleanup() { + echo "Detected secrets in staged files!" + kill $spinner_pid +} + +if ! gitleaks protect --staged -v --redact; then + cleanup + exit 1 +fi + +if ! git diff --staged --name-only -z | xargs -0 detect-secrets-hook --baseline .secrets.baseline; then + cleanup + exit 1 +fi -# Once gitleaks completes, stop the animation kill $spinner_pid -# wait $spinner_pid 2>/dev/null + npm install npm run format npm run i18n:parse diff --git a/.secrets.baseline b/.secrets.baseline new file mode 100644 index 000000000..606664782 --- /dev/null +++ b/.secrets.baseline @@ -0,0 +1,3382 @@ +{ + "version": "1.4.0", + "plugins_used": [ + { + "name": "ArtifactoryDetector" + }, + { + "name": "AWSKeyDetector" + }, + { + "name": "AzureStorageKeyDetector" + }, + { + "name": "Base64HighEntropyString", + "limit": 4.5 + }, + { + "name": "BasicAuthDetector" + }, + { + "name": "CloudantDetector" + }, + { + "name": "DiscordBotTokenDetector" + }, + { + "name": "GitHubTokenDetector" + }, + { + "name": "HexHighEntropyString", + "limit": 3.0 + }, + { + "name": "IbmCloudIamDetector" + }, + { + "name": "IbmCosHmacDetector" + }, + { + "name": "JwtTokenDetector" + }, + { + "name": "KeywordDetector", + "keyword_exclude": "" + }, + { + "name": "MailchimpDetector" + }, + { + "name": "NpmDetector" + }, + { + "name": "PrivateKeyDetector" + }, + { + "name": "SendGridDetector" + }, + { + "name": "SlackDetector" + }, + { + "name": "SoftlayerDetector" + }, + { + "name": "SquareOAuthDetector" + }, + { + "name": "StripeDetector" + }, + { + "name": "TwilioKeyDetector" + } + ], + "filters_used": [ + { + "path": "detect_secrets.filters.allowlist.is_line_allowlisted" + }, + { + "path": "detect_secrets.filters.common.is_ignored_due_to_verification_policies", + "min_level": 2 + }, + { + "path": "detect_secrets.filters.heuristic.is_indirect_reference" + }, + { + "path": "detect_secrets.filters.heuristic.is_likely_id_string" + }, + { + "path": "detect_secrets.filters.heuristic.is_lock_file" + }, + { + "path": "detect_secrets.filters.heuristic.is_not_alphanumeric_string" + }, + { + "path": "detect_secrets.filters.heuristic.is_potential_uuid" + }, + { + "path": "detect_secrets.filters.heuristic.is_prefixed_with_dollar_sign" + }, + { + "path": "detect_secrets.filters.heuristic.is_sequential_string" + }, + { + "path": "detect_secrets.filters.heuristic.is_swagger_file" + }, + { + "path": "detect_secrets.filters.heuristic.is_templated_secret" + } + ], + "results": { + "backend/apps/webui/routers/auths.py": [ + { + "type": "Secret Keyword", + "filename": "backend/apps/webui/routers/auths.py", + "hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997", + "is_verified": false, + "line_number": 331 + } + ], + "backend/constants.py": [ + { + "type": "Secret Keyword", + "filename": "backend/constants.py", + "hashed_secret": "40c889477924de3df881960272cbeb7e62572a92", + "is_verified": false, + "line_number": 75 + } + ], + "backend/open-webui-pipelines/examples/pipelines/rag/haystack_pipeline.py": [ + { + "type": "Secret Keyword", + "filename": "backend/open-webui-pipelines/examples/pipelines/rag/haystack_pipeline.py", + "hashed_secret": "26adb00e3d2ce26c9d600cf5c2a8e02304380ad2", + "is_verified": false, + "line_number": 22 + } + ], + "backend/open-webui-pipelines/examples/pipelines/rag/llamaindex_pipeline.py": [ + { + "type": "Secret Keyword", + "filename": "backend/open-webui-pipelines/examples/pipelines/rag/llamaindex_pipeline.py", + "hashed_secret": "aecdccc1cf64595b34e0cc152d238daabb32183a", + "is_verified": false, + "line_number": 24 + } + ], + "cypress/support/e2e.ts": [ + { + "type": "Secret Keyword", + "filename": "cypress/support/e2e.ts", + "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", + "is_verified": false, + "line_number": 6 + } + ], + "docker-compose.yml": [ + { + "type": "Secret Keyword", + "filename": "docker-compose.yml", + "hashed_secret": "afc848c316af1a89d49826c5ae9d00ed769415f3", + "is_verified": false, + "line_number": 8 + } + ], + "src/lib/i18n/locales/ca-ES/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ca-ES/translation.json", + "hashed_secret": "44dbb3657a67f916682e00b9069d4b72e037da2f", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ca-ES/translation.json", + "hashed_secret": "217bd89b265fb28cfe1b0c8ad51e9429aa0c5193", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ca-ES/translation.json", + "hashed_secret": "0c60d2f5b480285d48df331c67f057ad3ee55411", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ca-ES/translation.json", + "hashed_secret": "12beb1456378f4ef87bc9d5bdf2b4bc66999d3d5", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ca-ES/translation.json", + "hashed_secret": "81c17248cb58aec9bcd7329497ed0f59e393efa1", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ca-ES/translation.json", + "hashed_secret": "c12b9cac8e7cc55d8f2e19e8806205e6fe7d67b8", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ca-ES/translation.json", + "hashed_secret": "b344f77c588ccb1e8d7cb8eed5772ac57f32bd4a", + "is_verified": false, + "line_number": 541 + } + ], + "src/lib/i18n/locales/ceb-PH/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ceb-PH/translation.json", + "hashed_secret": "30d9ce3f3bf174bc29d7953d8ad73609863f3731", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ceb-PH/translation.json", + "hashed_secret": "988542db8602f6677aa3f6c7d89e507403940767", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ceb-PH/translation.json", + "hashed_secret": "fe9ea82c23526c0923287b3d2c486d7d47969041", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ceb-PH/translation.json", + "hashed_secret": "940818c6f9574822bf8b0ae12bfeeff79ba48738", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ceb-PH/translation.json", + "hashed_secret": "dc806fa739d15f84c445ca61c95d009f53b05a74", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ceb-PH/translation.json", + "hashed_secret": "8be3c943b1609fffbfc51aad666d0a04adf83c9d", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/ceb-PH/translation.json", + "hashed_secret": "96d8960500da56c978c209069036791ce1984baf", + "is_verified": false, + "line_number": 540 + } + ], + "src/lib/i18n/locales/de-DE/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/de-DE/translation.json", + "hashed_secret": "fc577f211bd35093e4895b463caa53436fff1c96", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/de-DE/translation.json", + "hashed_secret": "478b138fb0ae8fce12f93f045bcca383eedc777d", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/de-DE/translation.json", + "hashed_secret": "f562caab01134c53120bd36dcda6d9d904760138", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/de-DE/translation.json", + "hashed_secret": "0719708d1cc814839bd818fdc27d446652f03383", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/de-DE/translation.json", + "hashed_secret": "cc5213bdfc29aa15f1e530b9676b724be010f434", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/de-DE/translation.json", + "hashed_secret": "d581acf570521e6ca3d667a0516642a93d26dc6b", + "is_verified": false, + "line_number": 540 + } + ], + "src/lib/i18n/locales/dg-DG/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/dg-DG/translation.json", + "hashed_secret": "49289db43e663a3df5e2c70714722ecc54895565", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/dg-DG/translation.json", + "hashed_secret": "c2d404cb7bad34de0af2136b8efa809ea96170fa", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/dg-DG/translation.json", + "hashed_secret": "4d5967896006c8a626ecef45e6312f6fc7d5b52f", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/dg-DG/translation.json", + "hashed_secret": "f4708d832818f41ddc8e845e999b133bd1b50a93", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/dg-DG/translation.json", + "hashed_secret": "2d99c4662bfa15c3037a03ef2b900f7f31d9059f", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/dg-DG/translation.json", + "hashed_secret": "9b0ca0e225ade9751c9a43289ab892be49e067fd", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/dg-DG/translation.json", + "hashed_secret": "a13be3d3c0a229c53f5167b726b504065cadf20a", + "is_verified": false, + "line_number": 540 + } + ], + "src/lib/i18n/locales/es-ES/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/es-ES/translation.json", + "hashed_secret": "4fc5ef3232218bf03f3b38b5c11704ba50901800", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/es-ES/translation.json", + "hashed_secret": "669d5f2cfc1ed9dcb3d01957ee0ce90bf207306a", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/es-ES/translation.json", + "hashed_secret": "51bdd24156132d44ca33a7760c30f2f4f8930ec6", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/es-ES/translation.json", + "hashed_secret": "eb9e8b4a699d6733b0f44ed3a85bbbfc397b09b7", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/es-ES/translation.json", + "hashed_secret": "1663419d4c5ab66c4b655b30adc9c030f2cfaed6", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/es-ES/translation.json", + "hashed_secret": "5a6d1c612954979ea99ee33dbb2d231b00f6ac0a", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/es-ES/translation.json", + "hashed_secret": "86c39ce3c9657f07ef9f7fd28b3e949fcce72691", + "is_verified": false, + "line_number": 541 + } + ], + "src/lib/i18n/locales/fi-FI/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fi-FI/translation.json", + "hashed_secret": "92651e851d1a520088933d6b71c6706fc9b7fffe", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fi-FI/translation.json", + "hashed_secret": "d37932fe41308c9dcfdbd1fcdcbb9327f5049e50", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fi-FI/translation.json", + "hashed_secret": "e2bd05b33960c216e57ed56d78343a18b85cf1af", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fi-FI/translation.json", + "hashed_secret": "a8ee11c1a5753965b8313a70ab536645222f358b", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fi-FI/translation.json", + "hashed_secret": "23ab1407e48805db207b5c230729bb0428209c73", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fi-FI/translation.json", + "hashed_secret": "1edab3c25a852fdf601720cb0d533c3ca4374779", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fi-FI/translation.json", + "hashed_secret": "e5af6990909684754b5596537eef1a934d73c85d", + "is_verified": false, + "line_number": 540 + } + ], + "src/lib/i18n/locales/fr-CA/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-CA/translation.json", + "hashed_secret": "4ad8d63169101cdbed62ae86f7bd8896fc591b22", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-CA/translation.json", + "hashed_secret": "88362d0d044cf4144e78f646e101110e3f44a9e5", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-CA/translation.json", + "hashed_secret": "f924297673a9a6a8f9362349954b1e5273549e28", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-CA/translation.json", + "hashed_secret": "9f4b33807e3f0e7a47fd5a90cf31214fee711c45", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-CA/translation.json", + "hashed_secret": "3a7138292007e17c98448b319ca6f2f6b63980f8", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-CA/translation.json", + "hashed_secret": "94e2f3ee14b92e2e675a8f6118d28738dbf5c6ba", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-CA/translation.json", + "hashed_secret": "bae8f42ef6afbb0a2e4669a4ff295888522670e9", + "is_verified": false, + "line_number": 541 + } + ], + "src/lib/i18n/locales/fr-FR/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-FR/translation.json", + "hashed_secret": "4ad8d63169101cdbed62ae86f7bd8896fc591b22", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-FR/translation.json", + "hashed_secret": "88362d0d044cf4144e78f646e101110e3f44a9e5", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-FR/translation.json", + "hashed_secret": "f924297673a9a6a8f9362349954b1e5273549e28", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-FR/translation.json", + "hashed_secret": "e78e9f85f01ac0f7eaf0a8cb7c2c82852178778c", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-FR/translation.json", + "hashed_secret": "3a7138292007e17c98448b319ca6f2f6b63980f8", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-FR/translation.json", + "hashed_secret": "94e2f3ee14b92e2e675a8f6118d28738dbf5c6ba", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/fr-FR/translation.json", + "hashed_secret": "86cdaf4f337e43aa199425493916912ac1d5a0da", + "is_verified": false, + "line_number": 541 + } + ], + "src/lib/i18n/locales/hr-HR/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/hr-HR/translation.json", + "hashed_secret": "e2d213323944fbf2a0067bc09fcb34d93ec22fda", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/hr-HR/translation.json", + "hashed_secret": "194c48e52d70a374349c5b325fc518439666fd6c", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/hr-HR/translation.json", + "hashed_secret": "e365da9fb84960679ef0e6a8b8a990d3ba808b5e", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/hr-HR/translation.json", + "hashed_secret": "9ec73158dcc1c601dd5e87a907b1cbd1e803bebf", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/hr-HR/translation.json", + "hashed_secret": "87a1b650d7fb5575bb2c10e9a80c26836981348e", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/hr-HR/translation.json", + "hashed_secret": "f45bd814e195ef24309fbbd1cc4511b69a1451df", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/hr-HR/translation.json", + "hashed_secret": "6cb64e0a8aff5f2585246653c4584cc2e02cf35d", + "is_verified": false, + "line_number": 541 + } + ], + "src/lib/i18n/locales/it-IT/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/it-IT/translation.json", + "hashed_secret": "25dadb7138d86f4c3797174d3c124b3357d064d5", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/it-IT/translation.json", + "hashed_secret": "a5c98294893b562a4e06e677107a46c83e7589b6", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/it-IT/translation.json", + "hashed_secret": "ece21a8f37cc46b1a336fca77a80ed6200eb1acb", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/it-IT/translation.json", + "hashed_secret": "c934463694c02aa07a75b545dd030e19e948ab9a", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/it-IT/translation.json", + "hashed_secret": "5f853a79c8827da72059fc29fce706391d81afe9", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/it-IT/translation.json", + "hashed_secret": "8be3c943b1609fffbfc51aad666d0a04adf83c9d", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/it-IT/translation.json", + "hashed_secret": "e91b54bf46f693b0ca8050e9b7075d9046a65333", + "is_verified": false, + "line_number": 541 + } + ], + "src/lib/i18n/locales/lt-LT/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/lt-LT/translation.json", + "hashed_secret": "ead7dc3e9f10f4aa80f064b560d98a1bda320943", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/lt-LT/translation.json", + "hashed_secret": "513a905817f321902a9b2a3d5be5c067c9f85fab", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/lt-LT/translation.json", + "hashed_secret": "413e90497c6e0425e84aa3f77e8e3ab17c5d28f5", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/lt-LT/translation.json", + "hashed_secret": "0b7481390586c070ea2078367e92ecc9acf06f00", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/lt-LT/translation.json", + "hashed_secret": "d9059bb1ce58832ba2af410f4dbe4ed2c728d7e9", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/lt-LT/translation.json", + "hashed_secret": "f8b0e1b941a91a57087dc263d246cc134f02cdb0", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/lt-LT/translation.json", + "hashed_secret": "bf888edcf1b4e0eaf59a32d4ee1be402b7e44e65", + "is_verified": false, + "line_number": 542 + } + ], + "src/lib/i18n/locales/nb-NO/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nb-NO/translation.json", + "hashed_secret": "5d2c53ac8d209e42563cc4f33c9b90eeb02a26c3", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nb-NO/translation.json", + "hashed_secret": "a6d1654d81f14e2cfbc16fcadaa6754641477982", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nb-NO/translation.json", + "hashed_secret": "f23a53dd9db2a3c65e960c65cc8db7efd1a4015c", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nb-NO/translation.json", + "hashed_secret": "a4fba20546ce124c635d65f7146554147672b8a7", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nb-NO/translation.json", + "hashed_secret": "56006cd615145c8627e3b342780b152336240893", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nb-NO/translation.json", + "hashed_secret": "0bcfb4cb7d7779094d3ae6d319be4f9ec248cf96", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nb-NO/translation.json", + "hashed_secret": "899cfdfef96d548732853f5626056f0909b4d519", + "is_verified": false, + "line_number": 540 + } + ], + "src/lib/i18n/locales/nl-NL/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nl-NL/translation.json", + "hashed_secret": "d585a10e917c7bf9ac1be23a9878a961ec9c1f33", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nl-NL/translation.json", + "hashed_secret": "2c9ea6a96dec0bc65ba9ac909a3fc7bd812e3e45", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nl-NL/translation.json", + "hashed_secret": "742ec1081ff21dbbdf145fb67ed884878dcfbe80", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nl-NL/translation.json", + "hashed_secret": "b9b1c7096445bae795e2e96567448e527cc6c427", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nl-NL/translation.json", + "hashed_secret": "725ea37296a54e6c29821550146e3165545b820a", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nl-NL/translation.json", + "hashed_secret": "8278b30ef12fdf2ca2aaa363ea2f2504f0543357", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/nl-NL/translation.json", + "hashed_secret": "60daa29ac7f2db6a4c4050d5beef0bcd0f5cec85", + "is_verified": false, + "line_number": 540 + } + ], + "src/lib/i18n/locales/pl-PL/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pl-PL/translation.json", + "hashed_secret": "f1a109b757cd5f9316fa63059ebf23db9641e2e4", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pl-PL/translation.json", + "hashed_secret": "198364dbe2b1d4f5945696323cf5a6b8fc84ca98", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pl-PL/translation.json", + "hashed_secret": "bec2674463af79a024f2a1225bc0754d64431dd1", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pl-PL/translation.json", + "hashed_secret": "84f847d7ae3c0a8e86c8367c80360164308ece4d", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pl-PL/translation.json", + "hashed_secret": "3744df92b2f0b7d5354caf8d431dea1af5d41fca", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pl-PL/translation.json", + "hashed_secret": "f6240c78d748397cfa3a1bf65767e2e127ba877c", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pl-PL/translation.json", + "hashed_secret": "f53baf16521b8a82f077c61bc7b3a7045c0ffa7c", + "is_verified": false, + "line_number": 542 + } + ], + "src/lib/i18n/locales/pt-BR/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-BR/translation.json", + "hashed_secret": "4307ac6814914760afcab08c898ee6b76c6058b2", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-BR/translation.json", + "hashed_secret": "256a78166d30210af682fdeab3588f1ffcad3cdd", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-BR/translation.json", + "hashed_secret": "d47ad93f8df2a3b04d7e35cd023ed0e66ef86d17", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-BR/translation.json", + "hashed_secret": "e243b03927e549622017861ff9672fc4dd3764f5", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-BR/translation.json", + "hashed_secret": "5bfe18ca5d4c81584399c794cf8ce4420b453173", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-BR/translation.json", + "hashed_secret": "deba0172511d5701d964202f4e5de698d5e07c67", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-BR/translation.json", + "hashed_secret": "a70dbf1ea1af652e4fd8ed9e96b1157ed0f29e8b", + "is_verified": false, + "line_number": 541 + } + ], + "src/lib/i18n/locales/pt-PT/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-PT/translation.json", + "hashed_secret": "4307ac6814914760afcab08c898ee6b76c6058b2", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-PT/translation.json", + "hashed_secret": "256a78166d30210af682fdeab3588f1ffcad3cdd", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-PT/translation.json", + "hashed_secret": "d47ad93f8df2a3b04d7e35cd023ed0e66ef86d17", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-PT/translation.json", + "hashed_secret": "eb7ffef24e643ad5bdda5aac9dbcd1f02ab077ad", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-PT/translation.json", + "hashed_secret": "5bfe18ca5d4c81584399c794cf8ce4420b453173", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-PT/translation.json", + "hashed_secret": "deba0172511d5701d964202f4e5de698d5e07c67", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/pt-PT/translation.json", + "hashed_secret": "a70dbf1ea1af652e4fd8ed9e96b1157ed0f29e8b", + "is_verified": false, + "line_number": 541 + } + ], + "src/lib/i18n/locales/sv-SE/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/sv-SE/translation.json", + "hashed_secret": "f3d05b32264e405f6d8baa1967ebab2f7ef8e8b4", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/sv-SE/translation.json", + "hashed_secret": "4c2af7d2c0d6f71be9f9c910133d9c959bcba08c", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/sv-SE/translation.json", + "hashed_secret": "f4f799c3cb7f2238af56b48e3ba91829b11665ab", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/sv-SE/translation.json", + "hashed_secret": "1716d41bf988306f05982b3fc00e3ca9579163ef", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/sv-SE/translation.json", + "hashed_secret": "df0f79b49286619492e46dd47da974c3b8b41019", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/sv-SE/translation.json", + "hashed_secret": "445b8b3e668d3f4b9979f9ef33accb33b062edd6", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/sv-SE/translation.json", + "hashed_secret": "e3a052ee9985491f0e9bb058113badde374bca8b", + "is_verified": false, + "line_number": 540 + } + ], + "src/lib/i18n/locales/tk-TM/transaltion.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tk-TM/transaltion.json", + "hashed_secret": "efb4b8e444e747394c752b696a343333061b9982", + "is_verified": false, + "line_number": 74 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tk-TM/transaltion.json", + "hashed_secret": "303b4269104583e143b52caa3648db07b4517db6", + "is_verified": false, + "line_number": 104 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tk-TM/transaltion.json", + "hashed_secret": "e57089080bf152d8d6b439a1c9e76af5bce06db4", + "is_verified": false, + "line_number": 124 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tk-TM/transaltion.json", + "hashed_secret": "06458a201e000edeb35860cb07610157efe7b1c8", + "is_verified": false, + "line_number": 366 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tk-TM/transaltion.json", + "hashed_secret": "c90bd6a44e4c888fbe1205f7ebfdd973c59a787c", + "is_verified": false, + "line_number": 409 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tk-TM/transaltion.json", + "hashed_secret": "f4c8951e9e9eabfce68e037d1334c0028dbf2b06", + "is_verified": false, + "line_number": 423 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tk-TM/transaltion.json", + "hashed_secret": "5117d7ae58fcb3981a8ccfb68c30f20824e7653e", + "is_verified": false, + "line_number": 465 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tk-TM/transaltion.json", + "hashed_secret": "7b3d5b0efcaaeda6402bb21265491d13d349c58f", + "is_verified": false, + "line_number": 699 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tk-TM/transaltion.json", + "hashed_secret": "d6108a97d4197064ad2463d427b22136065ee319", + "is_verified": false, + "line_number": 700 + } + ], + "src/lib/i18n/locales/tr-TR/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tr-TR/translation.json", + "hashed_secret": "1e1e42345bda267fc34efa9b53123880a9da2e4d", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tr-TR/translation.json", + "hashed_secret": "3235ff92b36a0244d91f5f11e754382490b08530", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tr-TR/translation.json", + "hashed_secret": "0ddfe39a0dd903e4ab010774e00846e711035d0b", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tr-TR/translation.json", + "hashed_secret": "01f05ebe3488e85773e8ffe887535d92491f010f", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tr-TR/translation.json", + "hashed_secret": "5e0558dbdc670ea7b1c535517c9562029350728c", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tr-TR/translation.json", + "hashed_secret": "eb2d1283068b1c5b684714357a4078791175df76", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/tr-TR/translation.json", + "hashed_secret": "5857841b0a59eb1a34759fe6c71a96f671e1de57", + "is_verified": false, + "line_number": 540 + } + ], + "src/lib/i18n/locales/vi-VN/translation.json": [ + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/vi-VN/translation.json", + "hashed_secret": "9df34e7207b5e80e4e531ab272b954b5444d59cd", + "is_verified": false, + "line_number": 82 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/vi-VN/translation.json", + "hashed_secret": "c96b1d82d576f85e20b6af0d06a3676019d083e6", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/vi-VN/translation.json", + "hashed_secret": "9a3c6341b168320eca9cbcb3b10b4da42f461ea3", + "is_verified": false, + "line_number": 133 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/vi-VN/translation.json", + "hashed_secret": "0876bd0c306e52183e4d88844e8a31ab7a186de0", + "is_verified": false, + "line_number": 216 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/vi-VN/translation.json", + "hashed_secret": "4267a600ceea3e437e47d941631a87bd7918ee6b", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/vi-VN/translation.json", + "hashed_secret": "888c9c47cfe0a0fb3c58896221597615a31a6ed1", + "is_verified": false, + "line_number": 367 + }, + { + "type": "Secret Keyword", + "filename": "src/lib/i18n/locales/vi-VN/translation.json", + "hashed_secret": "790b8a6b072738e8d4896c7cd1d8da96b27247a4", + "is_verified": false, + "line_number": 539 + } + ], + "static/pyodide/pyodide-lock.json": [ + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "007db6e79974bf844f32ea8096acc168d0789653", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "0128a4c6689fcdbc05a775f258dcd0d4103d41f0", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "01d52d8176878d26f757834d71c1e34ed21b0809", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "021d82b96563eb09e86ee5d3f2de0457b42a7074", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "030c6702b9644cb6733ddfc1a14fe913cfddac64", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "03e9dad5d107023ba2fdf2429f9adecb61d54568", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "04065965da3f831f60dfd08cf8c0fe1e25c1c2cf", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "042b69efa29ba5aed3f3668da66852931e0d9711", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "0551a592aa4ebdc476c837a3e985bd304cf5ab85", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "063b6d00dcae1e5f7bdb9fe4442beb4bc23e332c", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "0707699c61dee77db191aae9e625d2a4f53ca73f", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "0755f422803334f5e04caaba52437c80d6be4bb7", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "085d74f0f3bd2c57fe62f92f7e729b09de57bfae", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "094de74dc49e6873d0521ab4cf71c8a3eb735892", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "0b921e0f04e5a577bbdcdba63b2e9dc2c0301f06", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "0b96589c763005d77c0a1e77e4a42c7c86fdc5bf", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "0c1671f72d8f1d6187aff5e20c29680497d31d73", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "0c19f2f131d2a2b9f252699557c323728e4e0dd1", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "0ea5c5bedbd22e7df5b384c2d7796e201bfbca9f", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "0ed214abab3392debee3224aa146759476489d00", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "0f0eb4ab6ab3ec55c338fc7f901b72e6bb858a8b", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "10ab058be9c48c114b1207721de00c5a34a76dd6", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1142e5d06e15d2bd54f48f54f838a776858c048a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "12caa4803a5142f7fa7d28502f44db75c541c7af", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "12e17f3254c7fdf7413b208fd42a403e683696ad", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "13286080c0a55b52e1152a94224b7b570f12015a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1369f8757e5d6ad510b7ea6afbb9a2e3fa5de5e6", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "15b5d9f0df6addd1fa0a5941f5ed87d69fe8a368", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "16270e9258a598221b3ade21966beb026f3789c7", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "17b1d2616fd08969a5ae8a62fc594d79bb95308e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "17e848de2e97f34bab89b8f9164619f309439780", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "192c3d0686d73cf2707db3cde849939ae8de307b", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1a258c3339075ab14ab0235107a77c42e18d01ce", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1a575d2e15e9bfc7c7b97153e7fa3b3a3cbdad01", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1ab03428bc6b70029920832d9674a357252749c5", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1c02ce0a8699754cc2ba860ea5c184ab3b195cff", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1c52b4e5c9190bb976e63fa9b1b7ac44b69e74a2", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1ca51411e6ff89fdb837d1b9d25b8d40faa7165a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1da2d29ea53475b4aa616a9dd53945da0cbaf594", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1db67a9bfbfdb7ddb2ad1cb936cb62364cbbf933", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1ebb1f7af4b69287dbea7ea90f5131957b173039", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "1eee1afe6abcf6f68e252924d36852b650f8ead8", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "200b269fc9e1786025f673221103a2797f048475", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "2148df94c81b4c5109268707750eacfcb9e69086", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "21e8bd3724654ab3fa1a882573e7cd338fd704c3", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "23897578987c4061515b88baf9fa6c53be48c635", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "254d541a0ba31a9957aa403dd0ab9931b25c3152", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "25b4300959e2406c121dd782ba0dbcb69780509b", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "261d5c297db7a56c998bf070133deb11ad6f478e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "265034d567d64ea72874994aafe0a4174471f2e0", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "265bbd6dbd42bf8a7425bd3cf911a64b6165ff67", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "26b7c61edac707785ade5618d6f00c7ca0c24afd", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "26c6048122e509ec997e879ebb21c5223b3c2c8d", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "26cf4a5513874f2f6f3d18ce8f49af8f21a1cf47", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "270b76b6eb80c7aa1a430097d595d7b63940db16", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "27d1c751228b6c72821e616cccf3e2723283f7a8", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "298a4aeb79c7203cb29f362494ff45e671a7aefa", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "2995a1f8286b80bea3aa2bd0cc049b386d8a01fc", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "2b2c72e21bef8aed2c1b42aa345a273e3e1a27b0", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "2d5033a5d2832cd49787d448b7e6b60f4bcb1fd3", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "2d70820f06f97a309c1621490b1438630aec18ca", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "2dd014d9a590ed9db86c9e8b46e05bbbc2ea03bb", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "2e649f4b237d16cd4b2e928b1e503bcb2dbbea49", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "2f2eabd71ea0ef5157c462c54627d20173f2b644", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "302baf63d82c358295387a3fe68940b9c06a80a5", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "30d05b66d7bf907eebacf0127d8f5c245a74c398", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "30e2f59d32bc6950deeaadccae4e4266d8c5235f", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "30ee54f11602d510b41c43e0113f521b69a5220c", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "31fe88a014c1c017088bf9e605cff42e7af9b2b4", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "3239d865daf0b59938a97ecbcc91f57dbc2d1de7", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "3286f8d80085b9c9ed6a49a3b0e8bbebc1db048b", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "32ffc9fd03a73237aeea5cb0b60fb13aea9d2bcd", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "351305d8811efa3cc5234fa24b9e0762a817b674", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "352334f5e596e55f1fad62ade009c5d7f935171c", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "35caaf45ce5f3158373667547fc37bc1a504ccc0", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "361cd5793124a6747af1b0ddf4cc0be44050cd51", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "370aa59c765ae1f302a4f1766f684e702e8d0a94", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "37242c49d59e01ff734a1c323aae7ca1198cdbe9", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "3752ff66f6ae5fa5a036310c348e69dbc3509af0", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "37cbbb9cacb9490ae2a204d72056f4aa41b98f8d", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "387d680c59124bc82984f1586436b59538854f39", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "3a34f2dde266937c55fb224c8dda0439e6e10739", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "3a8f83e1b3c329449c9893ff160ed0ee130b4a67", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "3b3029373e0005ba1a3709faacc1e42487855747", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "3d90410b04f86130e35b35438f5ee254af2fe90f", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "3db5b15238dfb2b1a2f7dd4d22359e169f80edc2", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "3dd570c2b3c2c4efa7fb26fbd46c3f844483db19", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "3e090016bdde84eab22a7c35d2154a42bb456a75", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "3f8ffa0ebf6be703ded98ea951890fbc321bebc1", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "41f63cae923ee512fd8809c05718e16b6c75ba30", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "423e76550167bd77934e0c75641f35594ab66394", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "4418e2411c2458bbd26c907365cfecefb6c8d76a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "45701714fba5b1b9dd8626a768731a3c48aadd8c", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "47e1c13c451ff7919fea3090b1f422ea035cf0c9", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "494fdbf5adaddb33a9da94d0583273eac86d7080", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "4ae8924cd041549c277e5c54784116e993b009af", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "4c6add9b3477cacc03c68f3045b64e649e0ff36d", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "4cb604f16a6ab8f1978b9615a8f1f3e18c462d70", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "4e0664176238e6b0093600e9237f3614a8630940", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "4f978af718722ce902939b0858e6a2abbebfa0ca", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "50df3b92b6e0b86c007f9b307a35101173e02f84", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "514e7de9d7ca9c83c5a65cb8b49e09806e8c552c", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "51e763f7569f6fa4d490ca030fad287f2eb6f788", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5347f38dee5326593e81aa2f6eade3077868bac8", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "53632aa56bc29617dbf5e12997645689fe4d4ce1", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "54a06600d2c46dda14cdc7b5337234107e830e70", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "54acfc7e326e4862a1fa5e119d0da42f26b386b3", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "55b8975e59dfad8bb0ddd156b9ab57e37dbeb5cb", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "55c033ba72c4877b8b735bfa3352698a89cdfa76", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "56c4363f03f783640d9b67b8c5aa203ae0dc1686", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5877d0d6fc34342d53d35c295f50173f135af079", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5948a1cec8f540404235cbdca09973968117822e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "59d27b69bb413fbd36a9f3c391fe406b4ada6505", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "59ef38201c5ea770c36bced5ca4bb00b83bb3baa", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5a6f9041cf563d4700fd358ef50258c77d28d26b", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5af25e06860d1a59cde345e0684c167695d17fda", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5b1da116e7f4d00f457558752dfc6f04b25f8fe1", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5b84ebbabf0963b1ebc528538ced130b81747a11", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5bf5790de8304e17c9ec220d6f75e0f3f30995bd", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5ccad47b24ca879e152244e9bdadaa29058e3f31", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5e91a43ff557732c92f560ca9f78d604c32cd96e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5f255176b907c8f46cd603e5d02940e4b1c5ce9c", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "5fadbad85ab586509d2f0aee1169ad6b533ed869", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "60885830791e5828e2cc705c29247924bcc681cd", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "61653fc757362781c65f5f04355b59de9ea42832", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "62bceef78a8e7054f2dc1d32cfa0316f334f1018", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "643e77eeacef41d1873d1662875ffc70664b2e97", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "662f5cb21284618e5bc3d52dd3d842ca4af4471a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "669a77ec7d80359d6c1ca135c3b0e4fc4f551e9e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "698a33f49c4dc19d97886ac0049353d018e78043", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "6de48698d9fe8006e688e8d358745e1dc880b72a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "6ee86d7219abcbfcaeffc6e71d0d860296dce8e5", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "6fd0d2671f4f5f825ab87f5190e2006b615db6d9", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "709ed62ad1429d31ad3c0c715005e92789787320", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "70a5f7bb9bd2cc720e7d4b6c8bea2e0e805cd5e8", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "7195626b23e9c971171a92b00b1511d1445ddab3", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "7331db493518fdef3ff9f58096165d91503a8476", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "734d029062e63d4688cf7cf1d768966b9f6de534", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "73ff58db0df4f90090fae8ae45e33b6a977cd169", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "746883e0c28102d29a31bbd9273574af938a999e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "74c420b93a6b9427d20d741709c1c2f2d7858b82", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "74efa17aa1f0333441dd5a29a55b9a0a5d033972", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "74f3e90d6f80a3959ed6cfd7194ec5937fe8d6a2", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "755136c6506bbc3b41f17ae1d8eae9e4aa61e9ba", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "759e71c707ad2642901b50b1ed55480243ff7701", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "76337acce80b63aafa5c3c2c8b789e4ae3646b16", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "76fbb3441579d44aa8421029793312f812d0ef85", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "77286e2d855ff7c64c65c7dbd476c531d5a8f6e1", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "776259253cf27a262a1d7287c0f21eaf800502d1", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "785746499b3460e2729ec1eb70d467d8a0aaa177", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "78751ea5db1e7f768697d83ffb385baa04aa656a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "7876bee7951850903f5cca287972040447defd6c", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "790a06744fc5d6f30ad760e44d031e8f356d88a0", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "79d35832789b78a2ffe5985afa9a90433a678925", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "7a569f630281bcb0111e9a987bf806626a7ed6cb", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "7af98faacc4fee79ea9d3f1f2063c63266b52133", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "7b20a2acf6f3af7b54661fc5acd84271b748c662", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "7d4e78e61cadec82aa5700efbb1e5a64dc71ee56", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "7d96d2c3a1a4cb617936b4d381c582c7700b968c", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "7f14a4a61af714bb994cbe8e9dfbb0f718b10c26", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "80947b17e54eb7b0e98e5c853e56cb89fc9becd5", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "82a42cffab6dfb24962ec166fcf9e7c99f2abdc4", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "84656fd8a37dc88ac804791811a1d431bc864cd5", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8481a9ba4e047bb01a2ab0dfa23f6156959f651f", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "86bd9788988888c568f26d657ed09c5168200381", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "87a28aa89d2fb7cf426013512e1ab0e1aeaac2e0", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "87b97a6bb31e0bb47bfa8cd5d32d2fb814a0ccef", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "87e5f11252dcc0a630f9cf2d40aa3b0d94fc5288", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "88e50f701b3269ae26d820d6d1f18a6703e5ae3e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8a3a274f3813c45dbe07e2a115513846a2ea4c6d", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8aaddee6ac3414eed0a115fcb318780c4a4fb606", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8aca24adbd28dfb46262832d2175c684021d9d5c", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8c56edc77cfcbc477554d9bc4c6ad743bd03d550", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8c85b869bd224a625044c90c1425ca6709b1a69a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8c98cbd20c4e73b89fe6d696477a891ac5ad5ff7", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8cce2a6d9896e871cb7573bc2d7447ee9a12cddb", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8dbfc71e104272e5926d2d46240bfb588459f3f5", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8f4d941f5e70d4da8ea6832f7bc672f4db5df49e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8f7ab25b014f1ffdcb942fc26f17dd95847d34c9", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "8fa3c00773a6b3cb9ea3dabff8a531ac52b7bb4a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "9023ce23d9054c0dda192a06c40d91d56df77629", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "92758e10e99cf3f7d449033abadf33f5f8fba21a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "92ae7b2020135402b09d9ce334dfdf6e5a05926e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "9336c46a3eb56abdc78a7c5d8d6ff0e300412cbf", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "934c030f8f9a509cf650a20885701fd853a7667e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "94ec2a24474ec11edfa01900c30e39ca65d7ed73", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "96d86ff7a689dcf27c7c92e866d141d966c0fb8b", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "9733d9a586382fda19cf5c3b51e0edccda67b974", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "974a6970344c5deacbb279357bcf065a103c465a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "975f69d642706b0931b9ea953f0c3cfa755f0e42", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "97ace0630a5a32f9d803ad4f029bb52b2c4f5262", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "9904c32990792e98b9fdab614bafef5e889736de", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "9a3637b26d42f2017227d1dff3bb07ca5a274093", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "9ad7ac57115242c2af4db169ea62adc7e3aa3a6f", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "9c2f0fd8f4d18f4c89aa89ec3b5de31252e9b269", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "9f054310b94068a702a7135c194e4fe3f293981a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "9f6df3a90d9fcc1d06e29612b95c7f3616958a92", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a16a565c887ee0f777d512af47520f98ddb23ce6", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a1e1a2abbae9cbe9fec216b2017c7f278514767d", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a24fb87e8ef2b2c30e7e7e35c50e57c752849113", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a2719f8803e9168619b9c33fadc1add8d67f2fb4", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a2c6e581e572d9b13042cc88e4f0e961e68459d2", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a32daccfc2ea689f9dfb44227f32ec00ebe8f9d8", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a615297ba123cbc1c1c28df686cbf780fd4f43b5", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a62dda303a06f05c3b1087bfb73626551ab3b083", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a6b06cabe42ec597a14f56c86966b5efa282d73e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a6dbc155ac0a9d43627229f2bd6df550bea88b59", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a6e6e7bff74f7c25815a082f866b5fddff7abdcc", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a7358ff74697dd0fd4f5edeced52ad8e842e637e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a7ee797bdd65b4b4eb49d4f19eb0f3bf7ace529f", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "a8da24c9f37c06fdce7bd603083db01c227d945b", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "aa04b0554ff0f9fc541edf928f67eaf081ad7307", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "ace210f6ff2e8af8203d20b829a6d63db8b5962b", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "ad821878a77f0eb6ea87c1571616779023ea9017", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "ada67d44014c0f6b927e6073d9f01e6a3ec2dcbd", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "ae7fe665d6191f09dabd30970cc56392ec8ddd25", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "af4ed4143e4070b60242b935a5bb2691ae804caa", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "af7c2cae3cfd459bc49b95a23c29008d88581c5e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b1e4b33720db4376a5ea624e959c68146cc29c06", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b1efb09571844800353a840009a89610a5d1ac48", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b20259b3bced98348818a91443fda5654088a689", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b36e40f861a7d268c59ceb36e528f99d3d0b86ef", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b4e272478a1692431f3df692b5a31a20b32fa03f", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b5b923a3682d898cce2718dbb2341ec48f0a9bb1", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b6a6ceed8b43a6bbd9dfa5b001bf13a60e3f5306", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b7838c00cfb95e435f915e28beaa7257c055bd65", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b7b8201a45c2ebcb0728deea56a3659d7ff40100", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b92017102cf9801d44aa5ee793d6bb6a639efe6e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b9b07d9b585f9f6c5e5b75d81af0842b8cafeea1", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "b9b7fa21b020a1ca2534d071efd535c22d8843ac", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "bb47af91e3e3a2ac9ff2d008a57d992a365948de", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "bc576586d6db32323a132971d71b531c07d8ca4d", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "bc63c5c0ee3cc1d3aac0488a1b1ef1823d406648", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "bdd8fd0061a7b3ae446d4b90516043f48a2a7fac", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "be7713aa237a5c90f2115fcb2bdf1d0dfcab1180", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "be8996e2dd95e01ec6c2a307a81a9e6d633de5c8", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "bf768803abbf259d5a36d23936f05cd078713455", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "c018de719fb3c80fef04f50da29b7ddf1b7f2309", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "c04b27bd18deca286717d6efd6f17ce5b8149318", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "c0a074fbd8748e9b8b0e8e53ca4f8441126f9270", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "c1f960f45e4250bf9acb060302badc97c61b9ad6", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "c237dbf82eec8e51127e9150638138f57d799772", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "c3b84a331d12e1a6a2cd476b4cd62c118ff5061d", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "c3fb0084bd34d9cf7c303d055a5da99486760ab0", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "c59fbeb88d83e79c616561863c55657042ad47da", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "c9ef6c389fe208257ee781185f69ee484d0c23d8", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "cbc5bd1f4cda877467f5d81b2a92e16f564e7811", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "ccd5a63f2ed92f85f58a64eddf33d7fc53537115", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "cdb07db150ccb371e9f18e24e55c90d9793d420d", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "cf405f2aabe10ccb6264d5b16c37ab2613aab604", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "d0753a4bbbbbd2ba2f15039b690aa2d39e24c91d", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "d0f71460d0dcb1c77b59724c8405fc5ed51a9e96", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "d5ff9211fc43298aaedc401b4d06c1db42818d53", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "d6aa3864c6a844886c8d10a9c3572a272d9c7588", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "d7f8b8c315df7a4bd290e2fd624c0e08bcac4f9e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "d81ccd2e2eee698d2035d9eb232310ae6ef20c03", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "d8b24a5a0b970567b10b9eca2d3f1256d3d912e6", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "d93e24f89b5e5f47e8c1422977a28db452ee6db2", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "d9d139f1eafd1d32368790590169d1714f9d7b0a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "d9f1955a936ab4ab5488d61cd329d6d5fe3f60e1", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "da852670c29ac0df9eb7ac8e9ca69028e53c0dc4", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "daa6528daba791e3afa689fce6a805571aab249b", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "daef057ea344f8ad0c60d6c517c4b3877ab3e79e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "db2e05488367af3c805b188163728c756dad71e9", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "dcba8ae280c8ddccefa2e30854d009dd34360207", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "dd1c5cf97ecb2655193a2ee76b9201443445a0a0", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "dd35fee567d540fff45f6003070ae57da07c5cfc", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "dde5090e3b7d9580600b55d7b0a6fc5e70800f0e", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "df347b2ea28dff8f6559c9d90ad83251399435a3", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "dfa47f9404950a08e8636b2d42822febcb03fcd8", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e054d57018fb038fe828d5aac60580072dc2e1ff", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e19c8d02329feaa356624f3e6403ed948bea7ecd", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e2064ae3dbd6791445d000f723f3e769e85af361", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e2925b25d910cd31e61cd32870d691fb4a385a80", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e2df211f914246b7ddf3325c0df801dc394609b6", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e4562da0fdc795923a10a69aa42d3460efa40902", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e487a2828044b22227139280da5eac8bc7be2442", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e4c698725da4fcbca18418a72563cee44063d363", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e5a71f998efcd3fa03a4901a57d9cbb856e45253", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e6f139bb3e9dd1f452fb3e4cc7cef3e7bbb58325", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e88a4dbe3e0f6c466f2bb80a4c6284e87f97ae1d", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e8a709d5cfd94170840f0c5e3fdeb0d410896e61", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e8e03e3676950bbc7d5cc6f6a798204b51269c56", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e8e2b145de5c6d11a66f563e881b40f2d0386942", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "e9ddd38fdd53367fb1fd73389674d7fcbda77a7d", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "eb048a83f19540c1374e0d91aca7b78f6d096acb", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "ebdff8b0897405fb6177ac8a56bdda5587c812f8", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "ec0531429221482a5f8b8ed97e8399467caf37fb", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "efaa9672b44b8995fccd9cba6306349a18e50254", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f17a6b091fc1948913ad3185beb1f7982e711c9a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f194c6cc76b7222617a1fd4b4085974026e36c24", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f2660c981e9947e76bee556e847ab26664826915", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f27f6853fce0010c8a522be027164e953bda965a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f346e4900bda8a6c5a7d8bee39d94c719d92a625", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f349af313326323645af39eb5d3f80d4b6f4a43a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f690a9f194c41ef32bd14fa3fbbab76e6043050c", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f6a4afd3b84329c2ca2d11df3fc231af3316f1fc", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f6d4b991ad6f98d9f909f7062c5200f9d8c0c08c", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f70fb40cfc73e977a09a6a35239e20778ebe24e6", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f85eb42b166715194b50f310f489ace520a0ea48", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f903340921427ce6f27d37f8eefb2710ccc2dbcb", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f9910d0f640dd5047afdedd42e94a8a4eb1e659f", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "f9f7d58e11700162b8a0961756db5c959acd8e47", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "fa8df89aa739f3547ad658ac2f3e75673dd625e8", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "fad888fa9d7d00c30ad3ed01663402326170ece5", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "fda2fe8d5e53ac6f6df729f7d25defc591f17ac1", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "fdff18e69133d7a0ca798c1dec4662cd168b9a3a", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "ff2e961a438603ab2d5f0c3e418e6fb9acecc875", + "is_verified": false, + "line_number": 1 + }, + { + "type": "Hex High Entropy String", + "filename": "static/pyodide/pyodide-lock.json", + "hashed_secret": "ffd1c5c6b8db2241544f2702ffa52139ae8fe4c6", + "is_verified": false, + "line_number": 1 + } + ], + "workflow-archive/integration-test.yml": [ + { + "type": "Secret Keyword", + "filename": "workflow-archive/integration-test.yml", + "hashed_secret": "afc848c316af1a89d49826c5ae9d00ed769415f3", + "is_verified": false, + "line_number": 77 + }, + { + "type": "Secret Keyword", + "filename": "workflow-archive/integration-test.yml", + "hashed_secret": "dff6d4ff5dc357cf451d1855ab9cbda562645c9f", + "is_verified": false, + "line_number": 123 + }, + { + "type": "Basic Auth Credentials", + "filename": "workflow-archive/integration-test.yml", + "hashed_secret": "afc848c316af1a89d49826c5ae9d00ed769415f3", + "is_verified": false, + "line_number": 152 + } + ] + }, + "generated_at": "2024-11-15T04:49:12Z" +} diff --git a/backend/apps/rag/pgvector_example.py b/backend/apps/rag/pgvector_example.py index bd0fecc6d..b2b6b70db 100644 --- a/backend/apps/rag/pgvector_example.py +++ b/backend/apps/rag/pgvector_example.py @@ -200,7 +200,7 @@ # # HOST = "localhost" # # DATABASE = "postgres" # # USER = "postgres" -# # PASSWORD = "mysecretpassword" +# # PASSWORD = "mysecretpassword" # pragma: allowlist secret # # PORT = 5432 # # # Connect to Postgres and register the vector extension diff --git a/backend/apps/rag/tests/test_vector_client.py b/backend/apps/rag/tests/test_vector_client.py index 7a51d5460..d095541bb 100644 --- a/backend/apps/rag/tests/test_vector_client.py +++ b/backend/apps/rag/tests/test_vector_client.py @@ -17,7 +17,7 @@ async def initialize_client(): HOST = "localhost" DATABASE = "postgres" USER = "postgres" - PASSWORD = "mysecretpassword" + PASSWORD = "mysecretpassword" # pragma: allowlist secret PORT = 5432 if VECTOR_STORE == "postgres": return PGVectorClient( diff --git a/backend/config.py b/backend/config.py index c1023c2c4..8219b1f86 100644 --- a/backend/config.py +++ b/backend/config.py @@ -1165,11 +1165,6 @@ class BannerModel(BaseModel): REDIS_CLIENT = None CHROMA_CLIENT = None REDIS_VL_SCHEMA = None -# HOST = "localhost" -# DATABASE = "postgres" -# USER = "postgres" -# PASSWORD = "mysecretpassword" -# PORT = 5432 DATABASE_URL = os.environ.get("DATABASE_URL", f"sqlite:///{DATA_DIR}/webui.db") diff --git a/backend/data/config.json b/backend/data/config.json index 4811a97f1..8bc20073d 100644 --- a/backend/data/config.json +++ b/backend/data/config.json @@ -71,7 +71,6 @@ "template": "Use the following context as your learned knowledge, inside XML tags.\n\n [context]\n\n\nWhen answer to user:\n- If you don't know, just say that you don't know.\n- If you don't know when you are not sure, ask for clarification.\nAvoid mentioning that you obtained the information from the context.\nAnd answer according to the language of the user's question.\n\nGiven the context information, answer the query.\nQuery: [query]", "top_k": 5, "relevance_threshold": 0.0, - "enable_hybrid_search": false, - "my_big_secret": "23ljb5kIpTJ%il2huhr4[=Dp%prA[kjh234o87hd27t_jHas%dfayf" // fake secret to test gitleaks + "enable_hybrid_search": false } } diff --git a/backend/main.py b/backend/main.py index da8793ee5..8a7a04f2d 100644 --- a/backend/main.py +++ b/backend/main.py @@ -182,7 +182,7 @@ async def lifespan(app: FastAPI): app.state.MODELS = {} app.add_middleware( - SessionMiddleware, secret_key="your_secret_key", max_age=None + SessionMiddleware, secret_key=str(secrets.token_urlsafe(32)), max_age=None ) # TODO: fix max_age origins = ["*"] diff --git a/backend/requirements.txt b/backend/requirements.txt index 89fcf6e99..aabea723d 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -19,6 +19,7 @@ psycopg2-binary==2.9.9 pgvector==0.2.5 PyMySQL==1.1.1 bcrypt==4.1.3 +detect-secrets==1.5.0 boto3==1.34.110 From 036c444ae68259a525f4199564a22d8d5786f393 Mon Sep 17 00:00:00 2001 From: jimmoffet Date: Thu, 14 Nov 2024 21:52:36 -0800 Subject: [PATCH 5/6] scan --- src/lib/apis/rag/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/apis/rag/index.ts b/src/lib/apis/rag/index.ts index 0e8492c63..ca68827a3 100644 --- a/src/lib/apis/rag/index.ts +++ b/src/lib/apis/rag/index.ts @@ -336,7 +336,7 @@ export const queryCollection = async ( export const scanDocs = async (token: string) => { let error = null; - const res = await fetch(`${RAG_API_BASE_URL}/scan_database_docs`, { + const res = await fetch(`${RAG_API_BASE_URL}/scan`, { method: 'GET', headers: { Accept: 'application/json', From c6b461316d2a77200e065e85b90405db687aa1e0 Mon Sep 17 00:00:00 2001 From: jimmoffet Date: Thu, 14 Nov 2024 21:56:52 -0800 Subject: [PATCH 6/6] scan --- backend/data/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/data/config.json b/backend/data/config.json index 8bc20073d..d526de021 100644 --- a/backend/data/config.json +++ b/backend/data/config.json @@ -64,7 +64,7 @@ "rag": { "embedding_engine": "openai", "embedding_model": "text-embedding-3-small", - "embedding_openai_batch_size": 191, + "embedding_openai_batch_size": 200, "pdf_extract_images": false, "chunk_size": 1500, "chunk_overlap": 100,